diff --git a/mjx/training_apg.ipynb b/mjx/training_apg.ipynb
index dc4d4567..3fecdb95 100644
--- a/mjx/training_apg.ipynb
+++ b/mjx/training_apg.ipynb
@@ -141,7 +141,7 @@
{
"data": {
"text/html": [
- "
 |
"
+ " |
"
],
"text/plain": [
""
@@ -171,17 +171,17 @@
},
{
"cell_type": "code",
- "execution_count": 4,
+ "execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"# Rendering Rollouts\n",
"def render_rollout(reset_fn, step_fn, \n",
" inference_fn, env, \n",
- " n_steps = 250, camera=None,\n",
+ " n_steps = 200, camera=None,\n",
" seed=0):\n",
" rng = jax.random.key(seed)\n",
- " render_every = 2\n",
+ " render_every = 3\n",
" state = reset_fn(rng)\n",
" rollout = [state.pipeline_state]\n",
"\n",
@@ -192,7 +192,9 @@
" if i % render_every == 0:\n",
" rollout.append(state.pipeline_state)\n",
"\n",
- " media.show_video(env.render(rollout, camera=camera), fps=1.0 / (env.dt*render_every))"
+ " media.show_video(env.render(rollout, camera=camera), \n",
+ " fps=1.0 / (env.dt*render_every),\n",
+ " codec='gif')"
]
},
{
@@ -278,7 +280,7 @@
{
"data": {
"text/html": [
- " |
"
+ " |
"
],
"text/plain": [
""
@@ -660,7 +662,7 @@
},
{
"data": {
- "image/png": "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",
+ "image/png": "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",
"text/plain": [
""
]
@@ -694,16 +696,13 @@
},
{
"cell_type": "code",
- "execution_count": 10,
+ "execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
- " |
"
+ " |
"
],
"text/plain": [
""
@@ -722,13 +721,60 @@
" jax.jit(demo_env.reset),\n",
" jax.jit(demo_env.step),\n",
" jax.jit(make_inference_fn(params)),\n",
- " demo_env\n",
+ " demo_env,\n",
+ " n_steps=200\n",
")\n",
"\n",
"model_path = '/tmp/trotting_2hz_policy'\n",
"model.save_params(model_path, params)"
]
},
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**A note on sample efficiency**\n",
+ "\n",
+ "Above, we train using epochs * horizon_length * num_envs = 1.024e6 total simulator steps. Let's compare with PPO, using ten times more samples:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "train_fn = functools.partial(\n",
+ " ppo.train, num_timesteps=10_000_000, num_evals=10, reward_scaling=0.1,\n",
+ " episode_length=1000, normalize_observations=True, action_repeat=1,\n",
+ " unroll_length=10, num_minibatches=32, num_updates_per_batch=8,\n",
+ " discounting=0.97, learning_rate=3e-4, entropy_cost=1e-3, num_envs=1024,\n",
+ " batch_size=1024, seed=0)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "x_data = []\n",
+ "y_data = []\n",
+ "ydataerr = []\n",
+ "env = envs.get_environment(\"trotting_anymal\", step_k = 13)\n",
+ "\n",
+ "def progress(num_steps, metrics):\n",
+ " x_data.append(num_steps)\n",
+ " y_data.append(metrics['eval/episode_reward'])\n",
+ " ydataerr.append(metrics['eval/episode_reward_std'])\n",
+ "\n",
+ "make_inference_fn, params, _= train_fn(environment=env, progress_fn=progress)\n",
+ "\n",
+ "plt.errorbar(x_data, y_data, yerr=ydataerr)\n",
+ "plt.xlabel('# environment steps')\n",
+ "plt.ylabel('reward per episode')"
+ ]
+ },
{
"cell_type": "markdown",
"metadata": {},
@@ -765,7 +811,7 @@
},
{
"cell_type": "code",
- "execution_count": 11,
+ "execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
@@ -1130,7 +1176,7 @@
},
{
"cell_type": "code",
- "execution_count": 20,
+ "execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
@@ -1153,7 +1199,7 @@
" hidden_layer_sizes=(128, 64)\n",
")\n",
"\n",
- "epochs = 999\n",
+ "epochs = 499\n",
"\n",
"train_fn = functools.partial(apg.train,\n",
" episode_length=1000,\n",
@@ -1170,7 +1216,7 @@
},
{
"cell_type": "code",
- "execution_count": 21,
+ "execution_count": 14,
"metadata": {},
"outputs": [
{
@@ -1179,13 +1225,13 @@
""
]
},
- "execution_count": 21,
+ "execution_count": 14,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
- "image/png": "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oqLUuXNnPfvss3K5XF7jSktLdeONNyomJkbJycl67LHHThuzadMm5ebmKioqSu3atdPUqVNlGNxj6Gw2lh3W6u0HFRZi0diBXCQPABDcfDaR4l//+pcaGhr0+uuvq0uXLtq8ebPGjh2ro0eP6sUXX5Qkud1ujRw5Um3atNGqVat08OBB3XfffTIMQ7NmzZIkORwODRs2TIMHD9a6deu0bds2jRkzRjExMZo4caKvyg9oc491Zf7tynZq1zrK5GoAAPAtn4WZ6667Ttddd53neWZmprZu3aq5c+d6wsyyZcv07bffqqysTGlpaZKkl156SWPGjNG0adMUFxend955R7W1tVqwYIGsVquys7O1bds2zZw5U/n5+bJYuAjcyX6oqNI/tuyTJD2cS1cGABD8mnXOjN1uV2Jiouf5mjVrlJ2d7QkykjRixAg5nU4VFRV5xuTm5spqtXqN2bNnj0pKSpqt9kDx2vLGq/0O75airBRuKgkACH7NFma2b9+uWbNm6eGHH/asKy8vV0qK972CEhISFBERofLy8rOOOf78+JhTOZ1OORwOr6Ul2H24Rn/esFuS9MigziZXAwBA8zjvMDNlyhRZLJYfXb766iuv1+zZs0fXXXedbrvtNj344INe2850mMgwDK/1p445Pvn3bIeYpk+frvj4eM+Snp5+vh8zIL25slj1DYb6ZCapZ4cEs8sBAKBZnPecmQkTJuiOO+740TGdOnXyPN6zZ48GDx6sPn36aN68eV7jbDabvvjiC691lZWVqqur83RfbDbbaR2YiooKSTqtY3Pc5MmTlZ+f73nucDiCPtAcOurSki/LJEnjBtOVAQC0HOcdZpKTk5WcnHxOY3fv3q3BgwcrJydH8+fPV0iIdyOoT58+mjZtmvbu3avU1FRJjZOCrVarcnJyPGOefvppuVwuRUREeMakpaV5haaTWa1Wrzk2LcGC1SWqqXMru12c+nc5+59PdESYSn47shkrAwDAt3w2Z2bPnj0aNGiQ0tPT9eKLL2r//v0qLy/36rIMHz5c3bp10z333KMNGzbok08+0aRJkzR27FjFxcVJkkaPHi2r1aoxY8Zo8+bNWrp0qQoKCjiT6SRHnPVauLpEkjRuUBe+FwBAi+KzU7OXLVumH374QT/88IPat2/vte34nJfQ0FB9+OGHGjdunPr166eoqCiNHj3ac+q2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aIQZAAAQ0AgzAAAgoBFmAABAQCPMAACAgEaYAQAAAS3M7AKag2EYkiSHw2FyJQAA4Fwd328f34+fTYsIM1VVVZKk9PR0kysBAADnq6qqSvHx8WfdbjF+Ku4EgYaGBu3Zs0exsbGyWCxN+t4Oh0Pp6ekqKytTXFxck743TuB7bh58z82D77l58D03D19+z4ZhqKqqSmlpaQoJOfvMmBbRmQkJCVH79u19+jPi4uL4x9IM+J6bB99z8+B7bh58z83DV9/zj3VkjmMCMAAACGiEGQAAENAIMxfJarXq2WefldVqNbuUoMb33Dz4npsH33Pz4HtuHv7wPbeICcAAACB40ZkBAAABjTADAAACGmEGAAAENMIMAAAIaISZizBnzhxlZGQoMjJSOTk5WrlypdklBZXp06fr6quvVmxsrNq2baubb75ZW7duNbusoDd9+nRZLBbl5eWZXUpQ2r17t+6++24lJSUpOjpaV155pYqKiswuK6jU19frV7/6lTIyMhQVFaXMzExNnTpVDQ0NZpcW0FasWKEbb7xRaWlpslgs+vOf/+y13TAMTZkyRWlpaYqKitKgQYO0ZcuWZqmNMHOB3nvvPeXl5emZZ57Rhg0bNGDAAF1//fUqLS01u7SgsXz5co0fP15r165VYWGh6uvrNXz4cB09etTs0oLWunXrNG/ePF1++eVmlxKUKisr1a9fP4WHh+ujjz7St99+q5deekmtW7c2u7Sg8vzzz+u1117T7Nmz9d1332nGjBl64YUXNGvWLLNLC2hHjx7VFVdcodmzZ59x+4wZMzRz5kzNnj1b69atk81m07Bhwzz3R/QpAxfkmmuuMR5++GGvdZdeeqnx1FNPmVRR8KuoqDAkGcuXLze7lKBUVVVlZGVlGYWFhUZubq7x+OOPm11S0HnyySeN/v37m11G0Bs5cqRx//33e6275ZZbjLvvvtukioKPJGPp0qWe5w0NDYbNZjN++9vfetbV1tYa8fHxxmuvvebzeujMXACXy6WioiINHz7ca/3w4cO1evVqk6oKfna7XZKUmJhociXBafz48Ro5cqSGDh1qdilB64MPPlCvXr102223qW3bturZs6feeOMNs8sKOv3799cnn3yibdu2SZK+/vprrVq1Sj//+c9Nrix47dixQ+Xl5V77RavVqtzc3GbZL7aIG002tQMHDsjtdislJcVrfUpKisrLy02qKrgZhqH8/Hz1799f2dnZZpcTdJYsWaL169dr3bp1ZpcS1IqLizV37lzl5+fr6aef1pdffqnHHntMVqtV9957r9nlBY0nn3xSdrtdl156qUJDQ+V2uzVt2jTdeeedZpcWtI7v+860X9y5c6fPfz5h5iJYLBav54ZhnLYOTWPChAn65ptvtGrVKrNLCTplZWV6/PHHtWzZMkVGRppdTlBraGhQr169VFBQIEnq2bOntmzZorlz5xJmmtB7772nRYsWafHixerevbs2btyovLw8paWl6b777jO7vKBm1n6RMHMBkpOTFRoaeloXpqKi4rRUiov36KOP6oMPPtCKFSvUvn17s8sJOkVFRaqoqFBOTo5nndvt1ooVKzR79mw5nU6FhoaaWGHwSE1NVbdu3bzWXXbZZXr//fdNqig4/fKXv9RTTz2lO+64Q5LUo0cP7dy5U9OnTyfM+IjNZpPU2KFJTU31rG+u/SJzZi5ARESEcnJyVFhY6LW+sLBQffv2Namq4GMYhiZMmKA//elP+vTTT5WRkWF2SUFpyJAh2rRpkzZu3OhZevXqpbvuuksbN24kyDShfv36nXZ5gW3btqljx44mVRScqqurFRLivXsLDQ3l1GwfysjIkM1m89ovulwuLV++vFn2i3RmLlB+fr7uuece9erVS3369NG8efNUWlqqhx9+2OzSgsb48eO1ePFi/eUvf1FsbKynExYfH6+oqCiTqwsesbGxp81DiomJUVJSEvOTmtgvfvEL9e3bVwUFBRo1apS+/PJLzZs3T/PmzTO7tKBy4403atq0aerQoYO6d++uDRs2aObMmbr//vvNLi2gHTlyRD/88IPn+Y4dO7Rx40YlJiaqQ4cOysvLU0FBgbKyspSVlaWCggJFR0dr9OjRvi/O5+dLBbFXX33V6NixoxEREWFcddVVnDLcxCSdcZk/f77ZpQU9Ts32nb/+9a9Gdna2YbVajUsvvdSYN2+e2SUFHYfDYTz++ONGhw4djMjISCMzM9N45plnDKfTaXZpAe2zzz474+/k++67zzCMxtOzn332WcNmsxlWq9UYOHCgsWnTpmapzWIYhuH7yAQAAOAbzJkBAAABjTADAAACGmEGAAAENMIMAAAIaIQZAAAQ0AgzAAAgoBFmAABAQCPMAACAgEaYAQAAAY0wAwAAAhphBgAABDTCDAAACGj/H3/3zqbe7px0AAAAAElFTkSuQmCC",
+ "image/png": "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oMb33DL4nlsG33PL4HtuGa3hew6JCcAAACB40TMDAAACGmEGAAAENMIMAAAIaIQZAAAQ0Agzl+APf/iDsrKyFBMTo9zcXH3++edmlxRUZs2apSuvvFIJCQlKS0vTzTffrO3bt5tdVtCbNWuWwsLClJeXZ3YpQenAgQO68847lZKSori4OPXr10+FhYVmlxVU6uvr9Ytf/EJZWVmKjY1V165dNXPmTHk8HrNLC2ifffaZxo4dq4yMDIWFhendd9/1ed4wDD3zzDPKyMhQbGyshg0bps2bN7dIbYSZi7R06VLl5eXpySef1Pr163XNNdfoRz/6kfbt22d2aUFj5cqVuv/++/XFF1+ooKBA9fX1GjVqlKqqqswuLWitXbtWCxYs0GWXXWZ2KUGpvLxcV199taKiovSPf/xDW7Zs0Ysvvqi2bduaXVpQef755/XKK69o3rx52rp1q2bPnq0XXnhBc+fONbu0gFZVVaXLL79c8+bNO+3zs2fP1pw5czRv3jytXbtWNptNI0eO9O6P6FcGLsoPf/hD47777vM51rNnT+OJJ54wqaLgV1ZWZkgyVq5caXYpQamiosLIzs42CgoKjKFDhxoPPfSQ2SUFnccff9wYMmSI2WUEvdGjRxs/+9nPfI7dcsstxp133mlSRcFHkrFs2TLvY4/HY9hsNuO5557zHqutrTWsVqvxyiuv+L0eemYugsvlUmFhoUaNGuVzfNSoUVq9erVJVQU/u90uSUpOTja5kuB0//33a/To0RoxYoTZpQSt999/XwMGDNCtt96qtLQ09e/fX6+99prZZQWdIUOG6OOPP9aOHTskSRs2bNCqVat00003mVxZ8CouLlZpaanPedFisWjo0KEtcl4MiY0mm9uRI0fkdruVnp7uczw9PV2lpaUmVRXcDMPQtGnTNGTIEOXk5JhdTtBZsmSJvv76a61du9bsUoLa7t27NX/+fE2bNk0///nP9dVXX+nBBx+UxWLRT3/6U7PLCxqPP/647Ha7evbsqYiICLndbj377LO6/fbbzS4taDWd+053Xty7d6/ffz5h5hKEhYX5PDYM45RjaB4PPPCAvvnmG61atcrsUoJOSUmJHnroIS1fvlwxMTFmlxPUPB6PBgwYoPz8fElS//79tXnzZs2fP58w04yWLl2qRYsWafHixerTp4+KioqUl5enjIwMTZo0yezygppZ50XCzEVITU1VRETEKb0wZWVlp6RSXLqpU6fq/fff12effaaOHTuaXU7QKSwsVFlZmXJzc73H3G63PvvsM82bN09Op1MREREmVhg82rdvr969e/sc69Wrl/7617+aVFFwevTRR/XEE0/otttukyT17dtXe/fu1axZswgzfmKz2SQ19NC0b9/ee7ylzovMmbkI0dHRys3NVUFBgc/xgoICDR482KSqgo9hGHrggQf0t7/9TZ988omysrLMLikoDR8+XBs3blRRUZH3NmDAAN1xxx0qKioiyDSjq6+++pTlBXbs2KHOnTubVFFwqq6uVni47+ktIiKCS7P9KCsrSzabzee86HK5tHLlyhY5L9Izc5GmTZumiRMnasCAARo0aJAWLFigffv26b777jO7tKBx//33a/HixXrvvfeUkJDg7QmzWq2KjY01ubrgkZCQcMo8pPj4eKWkpDA/qZk9/PDDGjx4sPLz8zV+/Hh99dVXWrBggRYsWGB2aUFl7NixevbZZ9WpUyf16dNH69ev15w5c/Szn/3M7NICWmVlpXbu3Ol9XFxcrKKiIiUnJ6tTp07Ky8tTfn6+srOzlZ2drfz8fMXFxWnChAn+L87v10sFsd///vdG586djejoaOOKK67gkuFmJum0tzfeeMPs0oIel2b7z//8z/8YOTk5hsViMXr27GksWLDA7JKCjsPhMB566CGjU6dORkxMjNG1a1fjySefNJxOp9mlBbRPP/30tL+TJ02aZBhGw+XZTz/9tGGz2QyLxWJce+21xsaNG1uktjDDMAz/RyYAAAD/YM4MAAAIaIQZAAAQ0AgzAAAgoBFmAABAQCPMAACAgEaYAQAAAY0wAwAAAhphBgAABDTCDAAACGiEGQAAENAIMwAAIKARZgAAQED7/4oGACO2L6rqAAAAAElFTkSuQmCC",
"text/plain": [
""
]
@@ -1210,7 +1256,7 @@
"params = model.load_params(model_path)\n",
"baseline_inference_fn = make_inference_fn(params)\n",
"\n",
- "env_kwargs = dict(target_vel=1, step_k=13, \n",
+ "env_kwargs = dict(target_vel=0.75, step_k=13, \n",
" baseline_inference_fn=baseline_inference_fn)\n",
"\n",
"env = envs.get_environment(\"anymal\", **env_kwargs)\n",
@@ -1225,16 +1271,13 @@
},
{
"cell_type": "code",
- "execution_count": 24,
+ "execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
- " |
"
+ " |
"
],
"text/plain": [
""
@@ -1258,6 +1301,52 @@
" camera=\"track\"\n",
")"
]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "**A note on sample efficiency**\n",
+ "\n",
+ "Let's compare with PPO, again using 1e7 samples:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "train_fn = functools.partial(\n",
+ " ppo.train, num_timesteps=10_000_000, num_evals=10, reward_scaling=0.1,\n",
+ " episode_length=1000, normalize_observations=True, action_repeat=1,\n",
+ " unroll_length=10, num_minibatches=32, num_updates_per_batch=8,\n",
+ " discounting=0.97, learning_rate=3e-4, entropy_cost=1e-3, num_envs=1024,\n",
+ " batch_size=1024, seed=0)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "x_data = []\n",
+ "y_data = []\n",
+ "ydataerr = []\n",
+ "env = envs.get_environment(\"trotting_anymal\", step_k = 13)\n",
+ "\n",
+ "def progress(num_steps, metrics):\n",
+ " x_data.append(num_steps)\n",
+ " y_data.append(metrics['eval/episode_reward'])\n",
+ " ydataerr.append(metrics['eval/episode_reward_std'])\n",
+ "\n",
+ "make_inference_fn, params, _= train_fn(environment=env, progress_fn=progress)\n",
+ "\n",
+ "plt.errorbar(x_data, y_data, yerr=ydataerr)\n",
+ "plt.xlabel('# environment steps')\n",
+ "plt.ylabel('reward per episode')"
+ ]
}
],
"metadata": {