{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Running basic experiments" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this notebook, we will show you how to setup an experiment using a predifined simultated arm environment and use its default configuration. We will then run it and see how to plot the results. \n", "We assume that you have already installed explauto on your computer (see the [installation section](http://flowersteam.github.io/explauto/installation.html)) and that everything works as expected. We also assume that you are familiar with the scientific grounding behind the library (see our [short introduction](http://flowersteam.github.io/explauto/about.html))." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Setup an experiment" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Thanks to explauto, setting up an experiment is really simple. You only have to instantiate the [Experiment](http://flowersteam.github.io/explauto/explauto.experiment.html) class.\n", "The easiest way to do that is use the from_settings factory. This method automatically creates and setups an experiment using the default settings. You only have to choose:\n", "* the experimental [Environment](http://flowersteam.github.io/explauto/explauto.environment.html),\n", "* the type of babbling (motor vs goal),\n", "* the [InterestModel](http://flowersteam.github.io/explauto/explauto.interestmodel.html),\n", "* and the [SensorimotorModel](http://flowersteam.github.io/explauto/explauto.sensorimotormodel.html)." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ ">" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from explauto.experiment import Experiment\n", "\n", "Experiment.from_settings" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can check the documentation of the [from_settings()](http://flowersteam.github.io/explauto/explauto.experiment.html#explauto.experiment.experiment.Experiment.from_settings) class method for details." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Finding the available environments" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As shown on the documentation, you must specify the environment and models using their name. This API has been chosen so you can have really compact code and can easily switch from one environment (or model) to another.\n", "\n", "Yet, you need to know which environments are available (this may depend on your installation of explauto). To do that, you can directly acess the available environments dictionary from the environment package. It is constructed as follows:\n", "```python\n", "{env_name: (env_cls, env_configs, env_testcases)}\n", "```\n", "where env_class is the class implementing the environment, env_configs are the available configurations for that environment and env_testcases is a function generating test cases for learning performance evaluation. " ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Available environments: ['pypot', 'pendulum', 'simple_arm']\n" ] } ], "source": [ "from explauto.environment import environments\n", "\n", "print 'Available environments: {}'.format(environments.keys())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "You can see here, that on this installation of explauto two environments are available:\n", "* the pendulum\n", "* the simple arm\n", "* the npendulum (beta)\n", "\n", "We will use the simple arm for this tutorial. It consists in the simulation of a $n$ degrees-of-freedom (DoF) arm with movements limited to a 2D plan, as detailled in [this tutorial](http://nbviewer.ipython.org/github/flowersteam/explauto/blob/master/notebook/setting_basic_experiment.ipynb).\n", "\n", "Each available environment comes with a set of predefined configurations. A default configuration will always be defined." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Available configurations for the simple arm environment: ['mid_dimensional', 'default', 'high_dim_high_s_range', 'low_dimensional', 'high_dimensional']\n" ] } ], "source": [ "env_cls, env_configs, testcases_generator = environments['simple_arm']\n", "print 'Available configurations for the simple arm environment: {}'.format(env_configs.keys())" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Default configuration for the simple arm:\n", "\ts_mins: [-0.5 -1. ]\n", "\tm_mins: [-1.04719755 -1.04719755 -1.04719755]\n", "\tnoise: 0.02\n", "\tm_maxs: [ 1.04719755 1.04719755 1.04719755]\n", "\ts_maxs: [ 1. 1.]\n", "\tlength_ratio: 3.0\n" ] } ], "source": [ "default_config = env_configs['default']\n", "\n", "print 'Default configuration for the simple arm:'\n", "for config_key, value in default_config.items():\n", " print '\\t{}: {}'.format(config_key, value)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Finding the available models" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can use the same trick for the interest and sensorimotor models." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Available interest models: ['discretized_progress', 'tree', 'random', 'gmm_progress_beta', 'misc_random']\n", "Available sensorimotor models: ['LWLR-BFGS', 'nearest_neighbor', 'WNN', 'LWLR-CMAES']\n" ] } ], "source": [ "from explauto.interest_model import interest_models\n", "from explauto.sensorimotor_model import sensorimotor_models\n", "\n", "print 'Available interest models: {}'.format(interest_models.keys())\n", "print 'Available sensorimotor models: {}'.format(sensorimotor_models.keys())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Instantiating the experiment" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Once you chose your environments and models you can directly instantiate the [Experiment](http://flowersteam.github.io/explauto/explauto.experiment.html#explauto.experiment.experiment.Experiment) class using the convenience method [from_settings](http://flowersteam.github.io/explauto/explauto.experiment.html#explauto.experiment.experiment.Experiment.from_settings). In this example, we chose to do motor babbling." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from explauto.experiment import Experiment, make_settings\n", "\n", "s = make_settings(environment='simple_arm',\n", " babbling_mode='motor', \n", " interest_model='random',\n", " sensorimotor_model='nearest_neighbor')\n", "\n", "expe = Experiment.from_settings(s)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The next step is to define at which iteration the learning should be evaluated. Note that by default your experiment will run until reaching the last evaluation.\n", "Let's say we will evaluate at iteration steps: 1, 10, 20, 30, 100, and 200." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [], "source": [ "expe.evaluate_at([1, 10, 20, 30, 100, 200, 300, 400], s.default_testcases)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Running the experiment" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And now that the experiment is set up, you can run it! As we have defined evaluation steps, the experiment will run for 200 iterations (the last evaluation step).\n", "\n", "Be aware that this step may actually run for a while." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING:explauto.agent.agent:Sensorimotor model not bootstrapped yet\n" ] } ], "source": [ "expe.run()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Plotting results" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that your experiment is done, you want to plot the results.\n", "\n", "For instance, you can plot the learning curve thanks to:" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Populating the interactive namespace from numpy and matplotlib\n" ] }, { "data": { "image/png": "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\nAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%pylab inline\n", "\n", "ax = axes()\n", "expe.log.plot_learning_curve(ax)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can also plot projection of the reached points of the sensorimotor space thanks to:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nRVEmMf8/BdiDtenxjvQAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ax = axes()\n", "expe.log.scatter_plot(ax, [('sensori', [0, 1]), ], color='green')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Exercise" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Run the same experiment using goal babbling instead for motor babbling." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Solution\n", "%load exercise_solutions/setting_basic_experiment__goal_babbling.py" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false }, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Compare the results and try to understand why you can not really see any difference between motor and goal babbling in this case. This will be discussed in the next tutorial." ] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.6" } }, "nbformat": 4, "nbformat_minor": 0 }