diff --git a/pytorch-deeprl-DDPG-EIIE.ipynb b/pytorch-deeprl-DDPG-EIIE.ipynb index 83d2546..2d4d165 100644 --- a/pytorch-deeprl-DDPG-EIIE.ipynb +++ b/pytorch-deeprl-DDPG-EIIE.ipynb @@ -22,12 +22,12 @@ "\n", "This contains some minor modifications from https://github.com/ShangtongZhang/DeepRL.git\n", "\n", - "The notebook triesHere I try DPPG with the [EIIE model](https://arxiv.org/pdf/1706.10059.pdf)" + "The notebook tries DPPG with the [EIIE model](https://arxiv.org/pdf/1706.10059.pdf)" ] }, { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "metadata": { "ExecuteTime": { "end_time": "2018-02-18T03:51:12.766648Z", @@ -47,11 +47,11 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": { "ExecuteTime": { - "end_time": "2018-02-18T03:51:13.451860Z", - "start_time": "2018-02-18T03:51:12.767984Z" + "end_time": "2018-02-18T04:17:19.759030Z", + "start_time": "2018-02-18T04:17:19.073537Z" } }, "outputs": [ @@ -92,11 +92,11 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "metadata": { "ExecuteTime": { - "end_time": "2018-02-18T03:51:13.476038Z", - "start_time": "2018-02-18T03:51:13.453569Z" + "end_time": "2018-02-18T04:17:19.782913Z", + "start_time": "2018-02-18T04:17:19.760809Z" } }, "outputs": [], @@ -122,11 +122,11 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "metadata": { "ExecuteTime": { - "end_time": "2018-02-18T03:51:13.494185Z", - "start_time": "2018-02-18T03:51:13.477785Z" + "end_time": "2018-02-18T04:17:19.800422Z", + "start_time": "2018-02-18T04:17:19.784459Z" } }, "outputs": [], @@ -139,11 +139,11 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": { "ExecuteTime": { - "end_time": "2018-02-18T03:51:13.516176Z", - "start_time": "2018-02-18T03:51:13.495988Z" + "end_time": "2018-02-18T04:17:19.821740Z", + "start_time": "2018-02-18T04:17:19.802089Z" } }, "outputs": [], @@ -162,11 +162,11 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": { "ExecuteTime": { - "end_time": "2018-02-18T03:51:14.219274Z", - "start_time": "2018-02-18T03:51:13.517818Z" + "end_time": "2018-02-18T04:17:20.556518Z", + "start_time": "2018-02-18T04:17:19.823440Z" } }, "outputs": [ @@ -182,7 +182,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "tensorboard --logdir runs/ddpg-20180218_03-51-13\n" + "tensorboard --logdir runs/ddpg-20180218_04-17-19\n" ] } ], @@ -219,11 +219,11 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "metadata": { "ExecuteTime": { - "end_time": "2018-02-18T03:51:14.324714Z", - "start_time": "2018-02-18T03:51:14.220933Z" + "end_time": "2018-02-18T04:17:20.662344Z", + "start_time": "2018-02-18T04:17:20.558427Z" } }, "outputs": [], @@ -250,11 +250,11 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "metadata": { "ExecuteTime": { - "end_time": "2018-02-18T03:51:14.374245Z", - "start_time": "2018-02-18T03:51:14.326324Z" + "end_time": "2018-02-18T04:17:20.714280Z", + "start_time": "2018-02-18T04:17:20.663961Z" } }, "outputs": [], @@ -289,11 +289,11 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "metadata": { "ExecuteTime": { - "end_time": "2018-02-18T03:51:14.433698Z", - "start_time": "2018-02-18T03:51:14.375805Z" + "end_time": "2018-02-18T04:17:20.789541Z", + "start_time": "2018-02-18T04:17:20.720354Z" } }, "outputs": [ @@ -303,7 +303,7 @@ "((4, 51, 3), (4, 51, 3))" ] }, - "execution_count": 9, + "execution_count": 8, "metadata": {}, "output_type": "execute_result" } @@ -339,11 +339,11 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "metadata": { "ExecuteTime": { - "end_time": "2018-02-18T03:51:14.523437Z", - "start_time": "2018-02-18T03:51:14.435252Z" + "end_time": "2018-02-18T04:17:20.889722Z", + "start_time": "2018-02-18T04:17:20.791765Z" } }, "outputs": [], @@ -407,11 +407,11 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "metadata": { "ExecuteTime": { - "end_time": "2018-02-18T03:51:14.719921Z", - "start_time": "2018-02-18T03:51:14.524958Z" + "end_time": "2018-02-18T04:17:21.096145Z", + "start_time": "2018-02-18T04:17:20.891709Z" } }, "outputs": [], @@ -439,11 +439,11 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "metadata": { "ExecuteTime": { - "end_time": "2018-02-18T03:51:15.396526Z", - "start_time": "2018-02-18T03:51:14.721584Z" + "end_time": "2018-02-18T04:17:21.773425Z", + "start_time": "2018-02-18T04:17:21.097592Z" } }, "outputs": [], @@ -590,11 +590,11 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 12, "metadata": { "ExecuteTime": { - "end_time": "2018-02-18T03:51:15.425657Z", - "start_time": "2018-02-18T03:51:15.398196Z" + "end_time": "2018-02-18T04:17:21.800978Z", + "start_time": "2018-02-18T04:17:21.775028Z" } }, "outputs": [], @@ -608,11 +608,11 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 13, "metadata": { "ExecuteTime": { - "end_time": "2018-02-18T03:51:15.453747Z", - "start_time": "2018-02-18T03:51:15.427324Z" + "end_time": "2018-02-18T04:17:21.828158Z", + "start_time": "2018-02-18T04:17:21.802639Z" } }, "outputs": [ @@ -622,7 +622,7 @@ "((4, 51, 3), 4)" ] }, - "execution_count": 14, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -633,11 +633,11 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 14, "metadata": { "ExecuteTime": { - "end_time": "2018-02-18T03:51:15.922257Z", - "start_time": "2018-02-18T03:51:15.455487Z" + "end_time": "2018-02-18T04:17:22.305055Z", + "start_time": "2018-02-18T04:17:21.829611Z" } }, "outputs": [], @@ -791,21 +791,21 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 15, "metadata": { "ExecuteTime": { - "end_time": "2018-02-18T03:51:16.055517Z", - "start_time": "2018-02-18T03:51:15.923879Z" + "end_time": "2018-02-18T04:17:22.435654Z", + "start_time": "2018-02-18T04:17:22.306691Z" } }, "outputs": [ { "data": { "text/plain": [ - "<__main__.DDPGAgent at 0x7f85932e1128>" + "<__main__.DDPGAgent at 0x7f018857f320>" ] }, - "execution_count": 16, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -815,21 +815,21 @@ "config.task_fn = task_fn\n", "task = config.task_fn()\n", "config.actor_network_fn = lambda: DeterministicActorNet(\n", - " task.state_dim, task.action_dim, action_gate=None, action_scale=1.0, non_linear=F.relu, batch_norm=False, gpu=False)\n", + " task.state_dim, task.action_dim, action_gate=lambda x:F.tanh(10*x), action_scale=1.0, non_linear=F.relu, batch_norm=False, gpu=False)\n", "config.critic_network_fn = lambda: DeterministicCriticNet(\n", " task.state_dim, task.action_dim, non_linear=F.relu, batch_norm=False, gpu=False)\n", "config.network_fn = lambda: DisjointActorCriticNet(config.actor_network_fn, config.critic_network_fn)\n", "config.actor_optimizer_fn = lambda params: torch.optim.Adam(params, lr=4e-5)\n", "config.critic_optimizer_fn =\\\n", " lambda params: torch.optim.Adam(params, lr=5e-4, weight_decay=0.001)\n", - "config.replay_fn = lambda: HighDimActionReplay(memory_size=6000, batch_size=256)\n", + "config.replay_fn = lambda: HighDimActionReplay(memory_size=600, batch_size=64)\n", "config.random_process_fn = \\\n", " lambda: OrnsteinUhlenbeckProcess(size=task.action_dim, theta=0.15, sigma=0.2, sigma_min=0.002, n_steps_annealing=5000)\n", - "config.discount = 0.99\n", + "config.discount = 0.0\n", "\n", "config.min_memory_size = 50\n", "config.target_network_mix = 0.001\n", - "config.max_steps = 30000\n", + "config.max_steps = 300000\n", "config.max_episode_length = 3000\n", "config.target_network_mix = 0.01\n", "config.noise_decay_interval = 100000\n", @@ -866,11 +866,11 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 16, "metadata": { "ExecuteTime": { - "end_time": "2018-02-18T03:52:11.470822Z", - "start_time": "2018-02-18T03:51:16.056969Z" + "end_time": "2018-02-18T04:22:56.328930Z", + "start_time": "2018-02-18T04:17:22.437048Z" }, "scrolled": true }, @@ -879,43 +879,529 @@ "name": "stderr", "output_type": "stream", "text": [ - "INFO:gym:episode 1, reward -8.115249, avg reward -8.115249, total steps 128, episode step 128\n", - "[2018-02-18 11:51:18,767] episode 1, reward -8.115249, avg reward -8.115249, total steps 128, episode step 128\n", - "INFO:gym:episode 2, reward -3.552628, avg reward -5.833938, total steps 256, episode step 128\n", - "[2018-02-18 11:51:22,549] episode 2, reward -3.552628, avg reward -5.833938, total steps 256, episode step 128\n", - "INFO:gym:episode 3, reward -5.093787, avg reward -5.587221, total steps 384, episode step 128\n", - "[2018-02-18 11:51:26,522] episode 3, reward -5.093787, avg reward -5.587221, total steps 384, episode step 128\n", - "INFO:gym:episode 4, reward 2.544553, avg reward -3.554278, total steps 512, episode step 128\n", - "[2018-02-18 11:51:30,645] episode 4, reward 2.544553, avg reward -3.554278, total steps 512, episode step 128\n", - "INFO:gym:episode 5, reward -4.206874, avg reward -3.684797, total steps 640, episode step 128\n", - "[2018-02-18 11:51:34,361] episode 5, reward -4.206874, avg reward -3.684797, total steps 640, episode step 128\n", - "INFO:gym:episode 6, reward 5.720145, avg reward -2.117306, total steps 768, episode step 128\n", - "[2018-02-18 11:51:38,152] episode 6, reward 5.720145, avg reward -2.117306, total steps 768, episode step 128\n", - "INFO:gym:episode 7, reward -2.951262, avg reward -2.236443, total steps 896, episode step 128\n", - "[2018-02-18 11:51:42,273] episode 7, reward -2.951262, avg reward -2.236443, total steps 896, episode step 128\n", - "INFO:gym:episode 8, reward 1.038389, avg reward -1.827089, total steps 1024, episode step 128\n", - "[2018-02-18 11:51:46,433] episode 8, reward 1.038389, avg reward -1.827089, total steps 1024, episode step 128\n", - "INFO:gym:episode 9, reward -0.926363, avg reward -1.727008, total steps 1152, episode step 128\n", - "[2018-02-18 11:51:50,411] episode 9, reward -0.926363, avg reward -1.727008, total steps 1152, episode step 128\n", - "INFO:gym:episode 10, reward -2.510553, avg reward -1.805363, total steps 1280, episode step 128\n", - "[2018-02-18 11:51:54,385] episode 10, reward -2.510553, avg reward -1.805363, total steps 1280, episode step 128\n", + "INFO:gym:episode 1, reward -2.619847, avg reward -2.619847, total steps 128, episode step 128\n", + "[2018-02-18 12:17:23,612] episode 1, reward -2.619847, avg reward -2.619847, total steps 128, episode step 128\n", + "INFO:gym:episode 2, reward -1.999464, avg reward -2.309656, total steps 256, episode step 128\n", + "[2018-02-18 12:17:25,182] episode 2, reward -1.999464, avg reward -2.309656, total steps 256, episode step 128\n", + "INFO:gym:episode 3, reward 10.790957, avg reward 2.057215, total steps 384, episode step 128\n", + "[2018-02-18 12:17:27,012] episode 3, reward 10.790957, avg reward 2.057215, total steps 384, episode step 128\n", + "INFO:gym:episode 4, reward -0.981176, avg reward 1.297617, total steps 512, episode step 128\n", + "[2018-02-18 12:17:28,741] episode 4, reward -0.981176, avg reward 1.297617, total steps 512, episode step 128\n", + "INFO:gym:episode 5, reward -0.239965, avg reward 0.990101, total steps 640, episode step 128\n", + "[2018-02-18 12:17:30,432] episode 5, reward -0.239965, avg reward 0.990101, total steps 640, episode step 128\n", + "INFO:gym:episode 6, reward 1.678788, avg reward 1.104882, total steps 768, episode step 128\n", + "[2018-02-18 12:17:32,106] episode 6, reward 1.678788, avg reward 1.104882, total steps 768, episode step 128\n", + "INFO:gym:episode 7, reward 0.233001, avg reward 0.980328, total steps 896, episode step 128\n", + "[2018-02-18 12:17:33,796] episode 7, reward 0.233001, avg reward 0.980328, total steps 896, episode step 128\n", + "INFO:gym:episode 8, reward -0.621795, avg reward 0.780062, total steps 1024, episode step 128\n", + "[2018-02-18 12:17:35,318] episode 8, reward -0.621795, avg reward 0.780062, total steps 1024, episode step 128\n", + "INFO:gym:episode 9, reward -1.948382, avg reward 0.476902, total steps 1152, episode step 128\n", + "[2018-02-18 12:17:36,908] episode 9, reward -1.948382, avg reward 0.476902, total steps 1152, episode step 128\n", + "INFO:gym:episode 10, reward 2.563096, avg reward 0.685521, total steps 1280, episode step 128\n", + "[2018-02-18 12:17:38,401] episode 10, reward 2.563096, avg reward 0.685521, total steps 1280, episode step 128\n", "INFO:gym:Testing...\n", - "[2018-02-18 11:51:54,386] Testing...\n", - "INFO:gym:Avg reward 4.341221(0.000000)\n", - "[2018-02-18 11:51:54,736] Avg reward 4.341221(0.000000)\n", - "INFO:gym:episode 11, reward -3.834703, avg reward -1.989848, total steps 1408, episode step 128\n", - "[2018-02-18 11:51:58,937] episode 11, reward -3.834703, avg reward -1.989848, total steps 1408, episode step 128\n", - "INFO:gym:episode 12, reward -4.881766, avg reward -2.230841, total steps 1536, episode step 128\n", - "[2018-02-18 11:52:03,509] episode 12, reward -4.881766, avg reward -2.230841, total steps 1536, episode step 128\n", - "INFO:gym:episode 13, reward -1.254320, avg reward -2.155724, total steps 1664, episode step 128\n", - "[2018-02-18 11:52:07,350] episode 13, reward -1.254320, avg reward -2.155724, total steps 1664, episode step 128\n" + "[2018-02-18 12:17:38,404] Testing...\n", + "INFO:gym:Avg reward -0.513339(0.000000)\n", + "[2018-02-18 12:17:38,735] Avg reward -0.513339(0.000000)\n", + "INFO:gym:episode 11, reward -2.636031, avg reward 0.383562, total steps 1408, episode step 128\n", + "[2018-02-18 12:17:40,314] episode 11, reward -2.636031, avg reward 0.383562, total steps 1408, episode step 128\n", + "INFO:gym:episode 12, reward -7.393868, avg reward -0.264557, total steps 1536, episode step 128\n", + "[2018-02-18 12:17:41,876] episode 12, reward -7.393868, avg reward -0.264557, total steps 1536, episode step 128\n", + "INFO:gym:episode 13, reward -0.480512, avg reward -0.281169, total steps 1664, episode step 128\n", + "[2018-02-18 12:17:43,665] episode 13, reward -0.480512, avg reward -0.281169, total steps 1664, episode step 128\n", + "INFO:gym:episode 14, reward -0.895783, avg reward -0.325070, total steps 1792, episode step 128\n", + "[2018-02-18 12:17:45,656] episode 14, reward -0.895783, avg reward -0.325070, total steps 1792, episode step 128\n", + "INFO:gym:episode 15, reward 10.617606, avg reward 0.404442, total steps 1920, episode step 128\n", + "[2018-02-18 12:17:47,421] episode 15, reward 10.617606, avg reward 0.404442, total steps 1920, episode step 128\n", + "INFO:gym:episode 16, reward 9.345918, avg reward 0.963284, total steps 2048, episode step 128\n", + "[2018-02-18 12:17:49,045] episode 16, reward 9.345918, avg reward 0.963284, total steps 2048, episode step 128\n", + "INFO:gym:episode 17, reward -2.432893, avg reward 0.763509, total steps 2176, episode step 128\n", + "[2018-02-18 12:17:50,555] episode 17, reward -2.432893, avg reward 0.763509, total steps 2176, episode step 128\n", + "INFO:gym:episode 18, reward 0.563222, avg reward 0.752382, total steps 2304, episode step 128\n", + "[2018-02-18 12:17:52,053] episode 18, reward 0.563222, avg reward 0.752382, total steps 2304, episode step 128\n", + "INFO:gym:episode 19, reward 1.158754, avg reward 0.773770, total steps 2432, episode step 128\n", + "[2018-02-18 12:17:53,662] episode 19, reward 1.158754, avg reward 0.773770, total steps 2432, episode step 128\n", + "INFO:gym:episode 20, reward 0.302159, avg reward 0.750189, total steps 2560, episode step 128\n", + "[2018-02-18 12:17:55,232] episode 20, reward 0.302159, avg reward 0.750189, total steps 2560, episode step 128\n", + "INFO:gym:Testing...\n", + "[2018-02-18 12:17:55,233] Testing...\n", + "INFO:gym:Avg reward 7.642766(0.000000)\n", + "[2018-02-18 12:17:55,593] Avg reward 7.642766(0.000000)\n", + "INFO:gym:episode 21, reward -2.543160, avg reward 0.593363, total steps 2688, episode step 128\n", + "[2018-02-18 12:17:57,115] episode 21, reward -2.543160, avg reward 0.593363, total steps 2688, episode step 128\n", + "INFO:gym:episode 22, reward 0.518715, avg reward 0.589970, total steps 2816, episode step 128\n", + "[2018-02-18 12:17:58,625] episode 22, reward 0.518715, avg reward 0.589970, total steps 2816, episode step 128\n", + "INFO:gym:episode 23, reward 1.521444, avg reward 0.630469, total steps 2944, episode step 128\n", + "[2018-02-18 12:18:00,113] episode 23, reward 1.521444, avg reward 0.630469, total steps 2944, episode step 128\n", + "INFO:gym:episode 24, reward 1.299604, avg reward 0.658349, total steps 3072, episode step 128\n", + "[2018-02-18 12:18:01,610] episode 24, reward 1.299604, avg reward 0.658349, total steps 3072, episode step 128\n", + "INFO:gym:episode 25, reward -2.327059, avg reward 0.538933, total steps 3200, episode step 128\n", + "[2018-02-18 12:18:03,156] episode 25, reward -2.327059, avg reward 0.538933, total steps 3200, episode step 128\n", + "INFO:gym:episode 26, reward 0.640676, avg reward 0.542846, total steps 3328, episode step 128\n", + "[2018-02-18 12:18:04,657] episode 26, reward 0.640676, avg reward 0.542846, total steps 3328, episode step 128\n", + "INFO:gym:episode 27, reward -2.378361, avg reward 0.434653, total steps 3456, episode step 128\n", + "[2018-02-18 12:18:06,166] episode 27, reward -2.378361, avg reward 0.434653, total steps 3456, episode step 128\n", + "INFO:gym:episode 28, reward -0.087511, avg reward 0.416005, total steps 3584, episode step 128\n", + "[2018-02-18 12:18:07,673] episode 28, reward -0.087511, avg reward 0.416005, total steps 3584, episode step 128\n", + "INFO:gym:episode 29, reward -11.512462, avg reward 0.004678, total steps 3712, episode step 128\n", + "[2018-02-18 12:18:09,203] episode 29, reward -11.512462, avg reward 0.004678, total steps 3712, episode step 128\n", + "INFO:gym:episode 30, reward -2.738324, avg reward -0.086755, total steps 3840, episode step 128\n", + "[2018-02-18 12:18:10,708] episode 30, reward -2.738324, avg reward -0.086755, total steps 3840, episode step 128\n", + "INFO:gym:Testing...\n", + "[2018-02-18 12:18:10,709] Testing...\n", + "INFO:gym:Avg reward 1.062225(0.000000)\n", + "[2018-02-18 12:18:11,050] Avg reward 1.062225(0.000000)\n", + "INFO:gym:episode 31, reward -0.212386, avg reward -0.090808, total steps 3968, episode step 128\n", + "[2018-02-18 12:18:12,544] episode 31, reward -0.212386, avg reward -0.090808, total steps 3968, episode step 128\n", + "INFO:gym:episode 32, reward -1.106921, avg reward -0.122561, total steps 4096, episode step 128\n", + "[2018-02-18 12:18:14,034] episode 32, reward -1.106921, avg reward -0.122561, total steps 4096, episode step 128\n", + "INFO:gym:episode 33, reward -0.094995, avg reward -0.121726, total steps 4224, episode step 128\n", + "[2018-02-18 12:18:15,843] episode 33, reward -0.094995, avg reward -0.121726, total steps 4224, episode step 128\n", + "INFO:gym:episode 34, reward -1.215132, avg reward -0.153885, total steps 4352, episode step 128\n", + "[2018-02-18 12:18:17,378] episode 34, reward -1.215132, avg reward -0.153885, total steps 4352, episode step 128\n", + "INFO:gym:episode 35, reward 0.433453, avg reward -0.137104, total steps 4480, episode step 128\n", + "[2018-02-18 12:18:18,910] episode 35, reward 0.433453, avg reward -0.137104, total steps 4480, episode step 128\n", + "INFO:gym:episode 36, reward -1.352608, avg reward -0.170868, total steps 4608, episode step 128\n", + "[2018-02-18 12:18:20,429] episode 36, reward -1.352608, avg reward -0.170868, total steps 4608, episode step 128\n", + "INFO:gym:episode 37, reward 0.758299, avg reward -0.145755, total steps 4736, episode step 128\n", + "[2018-02-18 12:18:21,918] episode 37, reward 0.758299, avg reward -0.145755, total steps 4736, episode step 128\n", + "INFO:gym:episode 38, reward 1.158640, avg reward -0.111429, total steps 4864, episode step 128\n", + "[2018-02-18 12:18:23,446] episode 38, reward 1.158640, avg reward -0.111429, total steps 4864, episode step 128\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:gym:episode 39, reward -0.326193, avg reward -0.116936, total steps 4992, episode step 128\n", + "[2018-02-18 12:18:24,962] episode 39, reward -0.326193, avg reward -0.116936, total steps 4992, episode step 128\n", + "INFO:gym:episode 40, reward -3.394726, avg reward -0.198881, total steps 5120, episode step 128\n", + "[2018-02-18 12:18:26,452] episode 40, reward -3.394726, avg reward -0.198881, total steps 5120, episode step 128\n", + "INFO:gym:Testing...\n", + "[2018-02-18 12:18:26,454] Testing...\n", + "INFO:gym:Avg reward -2.860835(0.000000)\n", + "[2018-02-18 12:18:26,836] Avg reward -2.860835(0.000000)\n", + "INFO:gym:episode 41, reward 0.574458, avg reward -0.180019, total steps 5248, episode step 128\n", + "[2018-02-18 12:18:28,329] episode 41, reward 0.574458, avg reward -0.180019, total steps 5248, episode step 128\n", + "INFO:gym:episode 42, reward -1.428520, avg reward -0.209745, total steps 5376, episode step 128\n", + "[2018-02-18 12:18:29,832] episode 42, reward -1.428520, avg reward -0.209745, total steps 5376, episode step 128\n", + "INFO:gym:episode 43, reward 3.522437, avg reward -0.122950, total steps 5504, episode step 128\n", + "[2018-02-18 12:18:31,309] episode 43, reward 3.522437, avg reward -0.122950, total steps 5504, episode step 128\n", + "INFO:gym:episode 44, reward -0.923798, avg reward -0.141151, total steps 5632, episode step 128\n", + "[2018-02-18 12:18:32,793] episode 44, reward -0.923798, avg reward -0.141151, total steps 5632, episode step 128\n", + "INFO:gym:episode 45, reward -0.825903, avg reward -0.156368, total steps 5760, episode step 128\n", + "[2018-02-18 12:18:34,355] episode 45, reward -0.825903, avg reward -0.156368, total steps 5760, episode step 128\n", + "INFO:gym:episode 46, reward 3.391804, avg reward -0.079234, total steps 5888, episode step 128\n", + "[2018-02-18 12:18:35,864] episode 46, reward 3.391804, avg reward -0.079234, total steps 5888, episode step 128\n", + "INFO:gym:episode 47, reward 1.441987, avg reward -0.046867, total steps 6016, episode step 128\n", + "[2018-02-18 12:18:37,398] episode 47, reward 1.441987, avg reward -0.046867, total steps 6016, episode step 128\n", + "INFO:gym:episode 48, reward -0.230142, avg reward -0.050685, total steps 6144, episode step 128\n", + "[2018-02-18 12:18:38,934] episode 48, reward -0.230142, avg reward -0.050685, total steps 6144, episode step 128\n", + "INFO:gym:episode 49, reward 0.905848, avg reward -0.031164, total steps 6272, episode step 128\n", + "[2018-02-18 12:18:40,483] episode 49, reward 0.905848, avg reward -0.031164, total steps 6272, episode step 128\n", + "INFO:gym:episode 50, reward -1.450968, avg reward -0.059560, total steps 6400, episode step 128\n", + "[2018-02-18 12:18:41,974] episode 50, reward -1.450968, avg reward -0.059560, total steps 6400, episode step 128\n", + "INFO:gym:Testing...\n", + "[2018-02-18 12:18:41,975] Testing...\n", + "INFO:gym:Avg reward 0.425465(0.000000)\n", + "[2018-02-18 12:18:42,320] Avg reward 0.425465(0.000000)\n", + "INFO:gym:episode 51, reward -0.491853, avg reward -0.068037, total steps 6528, episode step 128\n", + "[2018-02-18 12:18:43,848] episode 51, reward -0.491853, avg reward -0.068037, total steps 6528, episode step 128\n", + "INFO:gym:episode 52, reward -1.914599, avg reward -0.103548, total steps 6656, episode step 128\n", + "[2018-02-18 12:18:45,753] episode 52, reward -1.914599, avg reward -0.103548, total steps 6656, episode step 128\n", + "INFO:gym:episode 53, reward 0.623373, avg reward -0.089832, total steps 6784, episode step 128\n", + "[2018-02-18 12:18:47,669] episode 53, reward 0.623373, avg reward -0.089832, total steps 6784, episode step 128\n", + "INFO:gym:episode 54, reward -1.099906, avg reward -0.108537, total steps 6912, episode step 128\n", + "[2018-02-18 12:18:49,341] episode 54, reward -1.099906, avg reward -0.108537, total steps 6912, episode step 128\n", + "INFO:gym:episode 55, reward 1.123982, avg reward -0.086128, total steps 7040, episode step 128\n", + "[2018-02-18 12:18:51,018] episode 55, reward 1.123982, avg reward -0.086128, total steps 7040, episode step 128\n", + "INFO:gym:episode 56, reward -2.682209, avg reward -0.132486, total steps 7168, episode step 128\n", + "[2018-02-18 12:18:52,636] episode 56, reward -2.682209, avg reward -0.132486, total steps 7168, episode step 128\n", + "INFO:gym:episode 57, reward -1.868997, avg reward -0.162951, total steps 7296, episode step 128\n", + "[2018-02-18 12:18:54,156] episode 57, reward -1.868997, avg reward -0.162951, total steps 7296, episode step 128\n", + "INFO:gym:episode 58, reward 1.025899, avg reward -0.142454, total steps 7424, episode step 128\n", + "[2018-02-18 12:18:55,662] episode 58, reward 1.025899, avg reward -0.142454, total steps 7424, episode step 128\n", + "INFO:gym:episode 59, reward 2.346899, avg reward -0.100262, total steps 7552, episode step 128\n", + "[2018-02-18 12:18:57,234] episode 59, reward 2.346899, avg reward -0.100262, total steps 7552, episode step 128\n", + "INFO:gym:episode 60, reward 0.126349, avg reward -0.096485, total steps 7680, episode step 128\n", + "[2018-02-18 12:18:58,874] episode 60, reward 0.126349, avg reward -0.096485, total steps 7680, episode step 128\n", + "INFO:gym:Testing...\n", + "[2018-02-18 12:18:58,876] Testing...\n", + "INFO:gym:Avg reward 2.202969(0.000000)\n", + "[2018-02-18 12:18:59,212] Avg reward 2.202969(0.000000)\n", + "INFO:gym:episode 61, reward 0.295336, avg reward -0.090061, total steps 7808, episode step 128\n", + "[2018-02-18 12:19:00,762] episode 61, reward 0.295336, avg reward -0.090061, total steps 7808, episode step 128\n", + "INFO:gym:episode 62, reward -0.040263, avg reward -0.089258, total steps 7936, episode step 128\n", + "[2018-02-18 12:19:02,458] episode 62, reward -0.040263, avg reward -0.089258, total steps 7936, episode step 128\n", + "INFO:gym:episode 63, reward -2.023453, avg reward -0.119960, total steps 8064, episode step 128\n", + "[2018-02-18 12:19:04,124] episode 63, reward -2.023453, avg reward -0.119960, total steps 8064, episode step 128\n", + "INFO:gym:episode 64, reward 0.462565, avg reward -0.110858, total steps 8192, episode step 128\n", + "[2018-02-18 12:19:05,786] episode 64, reward 0.462565, avg reward -0.110858, total steps 8192, episode step 128\n", + "INFO:gym:episode 65, reward -1.088341, avg reward -0.125896, total steps 8320, episode step 128\n", + "[2018-02-18 12:19:07,346] episode 65, reward -1.088341, avg reward -0.125896, total steps 8320, episode step 128\n", + "INFO:gym:episode 66, reward -1.504547, avg reward -0.146785, total steps 8448, episode step 128\n", + "[2018-02-18 12:19:08,919] episode 66, reward -1.504547, avg reward -0.146785, total steps 8448, episode step 128\n", + "INFO:gym:episode 67, reward 6.196642, avg reward -0.052107, total steps 8576, episode step 128\n", + "[2018-02-18 12:19:10,444] episode 67, reward 6.196642, avg reward -0.052107, total steps 8576, episode step 128\n", + "INFO:gym:episode 68, reward -0.503365, avg reward -0.058743, total steps 8704, episode step 128\n", + "[2018-02-18 12:19:12,031] episode 68, reward -0.503365, avg reward -0.058743, total steps 8704, episode step 128\n", + "INFO:gym:episode 69, reward -1.021337, avg reward -0.072693, total steps 8832, episode step 128\n", + "[2018-02-18 12:19:13,559] episode 69, reward -1.021337, avg reward -0.072693, total steps 8832, episode step 128\n", + "INFO:gym:episode 70, reward 1.229449, avg reward -0.054091, total steps 8960, episode step 128\n", + "[2018-02-18 12:19:15,087] episode 70, reward 1.229449, avg reward -0.054091, total steps 8960, episode step 128\n", + "INFO:gym:Testing...\n", + "[2018-02-18 12:19:15,088] Testing...\n", + "INFO:gym:Avg reward -0.214653(0.000000)\n", + "[2018-02-18 12:19:15,434] Avg reward -0.214653(0.000000)\n", + "INFO:gym:episode 71, reward -0.260960, avg reward -0.057005, total steps 9088, episode step 128\n", + "[2018-02-18 12:19:17,188] episode 71, reward -0.260960, avg reward -0.057005, total steps 9088, episode step 128\n", + "INFO:gym:episode 72, reward -3.549557, avg reward -0.105513, total steps 9216, episode step 128\n", + "[2018-02-18 12:19:18,830] episode 72, reward -3.549557, avg reward -0.105513, total steps 9216, episode step 128\n", + "INFO:gym:episode 73, reward 4.977230, avg reward -0.035886, total steps 9344, episode step 128\n", + "[2018-02-18 12:19:20,369] episode 73, reward 4.977230, avg reward -0.035886, total steps 9344, episode step 128\n", + "INFO:gym:episode 74, reward -0.019315, avg reward -0.035662, total steps 9472, episode step 128\n", + "[2018-02-18 12:19:21,929] episode 74, reward -0.019315, avg reward -0.035662, total steps 9472, episode step 128\n", + "INFO:gym:episode 75, reward 1.846471, avg reward -0.010567, total steps 9600, episode step 128\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[2018-02-18 12:19:23,452] episode 75, reward 1.846471, avg reward -0.010567, total steps 9600, episode step 128\n", + "INFO:gym:episode 76, reward 1.350787, avg reward 0.007345, total steps 9728, episode step 128\n", + "[2018-02-18 12:19:24,980] episode 76, reward 1.350787, avg reward 0.007345, total steps 9728, episode step 128\n", + "INFO:gym:episode 77, reward 0.329597, avg reward 0.011531, total steps 9856, episode step 128\n", + "[2018-02-18 12:19:26,560] episode 77, reward 0.329597, avg reward 0.011531, total steps 9856, episode step 128\n", + "INFO:gym:episode 78, reward -2.049539, avg reward -0.014893, total steps 9984, episode step 128\n", + "[2018-02-18 12:19:28,139] episode 78, reward -2.049539, avg reward -0.014893, total steps 9984, episode step 128\n", + "INFO:gym:episode 79, reward 1.024536, avg reward -0.001736, total steps 10112, episode step 128\n", + "[2018-02-18 12:19:29,660] episode 79, reward 1.024536, avg reward -0.001736, total steps 10112, episode step 128\n", + "INFO:gym:episode 80, reward -1.830390, avg reward -0.024594, total steps 10240, episode step 128\n", + "[2018-02-18 12:19:31,184] episode 80, reward -1.830390, avg reward -0.024594, total steps 10240, episode step 128\n", + "INFO:gym:Testing...\n", + "[2018-02-18 12:19:31,185] Testing...\n", + "INFO:gym:Avg reward 1.697901(0.000000)\n", + "[2018-02-18 12:19:31,522] Avg reward 1.697901(0.000000)\n", + "INFO:gym:episode 81, reward 1.676006, avg reward -0.003599, total steps 10368, episode step 128\n", + "[2018-02-18 12:19:33,067] episode 81, reward 1.676006, avg reward -0.003599, total steps 10368, episode step 128\n", + "INFO:gym:episode 82, reward -0.135516, avg reward -0.005208, total steps 10496, episode step 128\n", + "[2018-02-18 12:19:34,629] episode 82, reward -0.135516, avg reward -0.005208, total steps 10496, episode step 128\n", + "INFO:gym:episode 83, reward -0.928407, avg reward -0.016331, total steps 10624, episode step 128\n", + "[2018-02-18 12:19:36,193] episode 83, reward -0.928407, avg reward -0.016331, total steps 10624, episode step 128\n", + "INFO:gym:episode 84, reward 0.060391, avg reward -0.015417, total steps 10752, episode step 128\n", + "[2018-02-18 12:19:37,774] episode 84, reward 0.060391, avg reward -0.015417, total steps 10752, episode step 128\n", + "INFO:gym:episode 85, reward -1.858519, avg reward -0.037101, total steps 10880, episode step 128\n", + "[2018-02-18 12:19:39,341] episode 85, reward -1.858519, avg reward -0.037101, total steps 10880, episode step 128\n", + "INFO:gym:episode 86, reward -0.305965, avg reward -0.040227, total steps 11008, episode step 128\n", + "[2018-02-18 12:19:40,858] episode 86, reward -0.305965, avg reward -0.040227, total steps 11008, episode step 128\n", + "INFO:gym:episode 87, reward 4.467722, avg reward 0.011588, total steps 11136, episode step 128\n", + "[2018-02-18 12:19:42,339] episode 87, reward 4.467722, avg reward 0.011588, total steps 11136, episode step 128\n", + "INFO:gym:episode 88, reward -0.735331, avg reward 0.003100, total steps 11264, episode step 128\n", + "[2018-02-18 12:19:43,818] episode 88, reward -0.735331, avg reward 0.003100, total steps 11264, episode step 128\n", + "INFO:gym:episode 89, reward -0.024462, avg reward 0.002791, total steps 11392, episode step 128\n", + "[2018-02-18 12:19:45,331] episode 89, reward -0.024462, avg reward 0.002791, total steps 11392, episode step 128\n", + "INFO:gym:episode 90, reward 0.899196, avg reward 0.012751, total steps 11520, episode step 128\n", + "[2018-02-18 12:19:46,878] episode 90, reward 0.899196, avg reward 0.012751, total steps 11520, episode step 128\n", + "INFO:gym:Testing...\n", + "[2018-02-18 12:19:46,879] Testing...\n", + "INFO:gym:Avg reward -2.060046(0.000000)\n", + "[2018-02-18 12:19:47,240] Avg reward -2.060046(0.000000)\n", + "INFO:gym:episode 91, reward -0.886024, avg reward 0.002874, total steps 11648, episode step 128\n", + "[2018-02-18 12:19:49,037] episode 91, reward -0.886024, avg reward 0.002874, total steps 11648, episode step 128\n", + "INFO:gym:episode 92, reward -0.711506, avg reward -0.004891, total steps 11776, episode step 128\n", + "[2018-02-18 12:19:50,590] episode 92, reward -0.711506, avg reward -0.004891, total steps 11776, episode step 128\n", + "INFO:gym:episode 93, reward 0.971364, avg reward 0.005607, total steps 11904, episode step 128\n", + "[2018-02-18 12:19:52,087] episode 93, reward 0.971364, avg reward 0.005607, total steps 11904, episode step 128\n", + "INFO:gym:episode 94, reward -4.360596, avg reward -0.040842, total steps 12032, episode step 128\n", + "[2018-02-18 12:19:53,653] episode 94, reward -4.360596, avg reward -0.040842, total steps 12032, episode step 128\n", + "INFO:gym:episode 95, reward -0.569764, avg reward -0.046410, total steps 12160, episode step 128\n", + "[2018-02-18 12:19:55,165] episode 95, reward -0.569764, avg reward -0.046410, total steps 12160, episode step 128\n", + "INFO:gym:episode 96, reward -0.975675, avg reward -0.056090, total steps 12288, episode step 128\n", + "[2018-02-18 12:19:56,676] episode 96, reward -0.975675, avg reward -0.056090, total steps 12288, episode step 128\n", + "INFO:gym:episode 97, reward 0.948560, avg reward -0.045733, total steps 12416, episode step 128\n", + "[2018-02-18 12:19:58,194] episode 97, reward 0.948560, avg reward -0.045733, total steps 12416, episode step 128\n", + "INFO:gym:episode 98, reward 1.397954, avg reward -0.031001, total steps 12544, episode step 128\n", + "[2018-02-18 12:19:59,685] episode 98, reward 1.397954, avg reward -0.031001, total steps 12544, episode step 128\n", + "INFO:gym:episode 99, reward -2.005198, avg reward -0.050943, total steps 12672, episode step 128\n", + "[2018-02-18 12:20:01,166] episode 99, reward -2.005198, avg reward -0.050943, total steps 12672, episode step 128\n", + "INFO:gym:episode 100, reward -0.351100, avg reward -0.053944, total steps 12800, episode step 128\n", + "[2018-02-18 12:20:02,643] episode 100, reward -0.351100, avg reward -0.053944, total steps 12800, episode step 128\n", + "INFO:gym:Testing...\n", + "[2018-02-18 12:20:02,644] Testing...\n", + "INFO:gym:Avg reward 9.039469(0.000000)\n", + "[2018-02-18 12:20:02,987] Avg reward 9.039469(0.000000)\n", + "INFO:gym:episode 101, reward 4.207313, avg reward 0.014327, total steps 12928, episode step 128\n", + "[2018-02-18 12:20:04,482] episode 101, reward 4.207313, avg reward 0.014327, total steps 12928, episode step 128\n", + "INFO:gym:episode 102, reward -0.371848, avg reward 0.030604, total steps 13056, episode step 128\n", + "[2018-02-18 12:20:05,957] episode 102, reward -0.371848, avg reward 0.030604, total steps 13056, episode step 128\n", + "INFO:gym:episode 103, reward 0.680228, avg reward -0.070504, total steps 13184, episode step 128\n", + "[2018-02-18 12:20:07,449] episode 103, reward 0.680228, avg reward -0.070504, total steps 13184, episode step 128\n", + "INFO:gym:episode 104, reward 0.427476, avg reward -0.056417, total steps 13312, episode step 128\n", + "[2018-02-18 12:20:08,936] episode 104, reward 0.427476, avg reward -0.056417, total steps 13312, episode step 128\n", + "INFO:gym:episode 105, reward -1.333653, avg reward -0.067354, total steps 13440, episode step 128\n", + "[2018-02-18 12:20:10,430] episode 105, reward -1.333653, avg reward -0.067354, total steps 13440, episode step 128\n", + "INFO:gym:episode 106, reward -2.442343, avg reward -0.108565, total steps 13568, episode step 128\n", + "[2018-02-18 12:20:11,912] episode 106, reward -2.442343, avg reward -0.108565, total steps 13568, episode step 128\n", + "INFO:gym:episode 107, reward 2.336617, avg reward -0.087529, total steps 13696, episode step 128\n", + "[2018-02-18 12:20:13,386] episode 107, reward 2.336617, avg reward -0.087529, total steps 13696, episode step 128\n", + "INFO:gym:episode 108, reward 0.294275, avg reward -0.078368, total steps 13824, episode step 128\n", + "[2018-02-18 12:20:14,872] episode 108, reward 0.294275, avg reward -0.078368, total steps 13824, episode step 128\n", + "INFO:gym:episode 109, reward 0.833091, avg reward -0.050554, total steps 13952, episode step 128\n", + "[2018-02-18 12:20:16,374] episode 109, reward 0.833091, avg reward -0.050554, total steps 13952, episode step 128\n", + "INFO:gym:episode 110, reward -2.357911, avg reward -0.099764, total steps 14080, episode step 128\n", + "[2018-02-18 12:20:17,954] episode 110, reward -2.357911, avg reward -0.099764, total steps 14080, episode step 128\n", + "INFO:gym:Testing...\n", + "[2018-02-18 12:20:17,957] Testing...\n", + "INFO:gym:Avg reward 0.836717(0.000000)\n", + "[2018-02-18 12:20:18,293] Avg reward 0.836717(0.000000)\n", + "INFO:gym:episode 111, reward 0.652286, avg reward -0.066881, total steps 14208, episode step 128\n", + "[2018-02-18 12:20:20,385] episode 111, reward 0.652286, avg reward -0.066881, total steps 14208, episode step 128\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:gym:episode 112, reward 5.621803, avg reward 0.063276, total steps 14336, episode step 128\n", + "[2018-02-18 12:20:22,015] episode 112, reward 5.621803, avg reward 0.063276, total steps 14336, episode step 128\n", + "INFO:gym:episode 113, reward -0.190665, avg reward 0.066175, total steps 14464, episode step 128\n", + "[2018-02-18 12:20:23,625] episode 113, reward -0.190665, avg reward 0.066175, total steps 14464, episode step 128\n", + "INFO:gym:episode 114, reward 2.654551, avg reward 0.101678, total steps 14592, episode step 128\n", + "[2018-02-18 12:20:25,167] episode 114, reward 2.654551, avg reward 0.101678, total steps 14592, episode step 128\n", + "INFO:gym:episode 115, reward -1.142102, avg reward -0.015919, total steps 14720, episode step 128\n", + "[2018-02-18 12:20:26,771] episode 115, reward -1.142102, avg reward -0.015919, total steps 14720, episode step 128\n", + "INFO:gym:episode 116, reward -0.039021, avg reward -0.109769, total steps 14848, episode step 128\n", + "[2018-02-18 12:20:28,316] episode 116, reward -0.039021, avg reward -0.109769, total steps 14848, episode step 128\n", + "INFO:gym:episode 117, reward -0.449929, avg reward -0.089939, total steps 14976, episode step 128\n", + "[2018-02-18 12:20:29,871] episode 117, reward -0.449929, avg reward -0.089939, total steps 14976, episode step 128\n", + "INFO:gym:episode 118, reward 2.805636, avg reward -0.067515, total steps 15104, episode step 128\n", + "[2018-02-18 12:20:31,379] episode 118, reward 2.805636, avg reward -0.067515, total steps 15104, episode step 128\n", + "INFO:gym:episode 119, reward 16.507400, avg reward 0.085972, total steps 15232, episode step 128\n", + "[2018-02-18 12:20:32,966] episode 119, reward 16.507400, avg reward 0.085972, total steps 15232, episode step 128\n", + "INFO:gym:episode 120, reward -0.990302, avg reward 0.073047, total steps 15360, episode step 128\n", + "[2018-02-18 12:20:34,528] episode 120, reward -0.990302, avg reward 0.073047, total steps 15360, episode step 128\n", + "INFO:gym:Testing...\n", + "[2018-02-18 12:20:34,530] Testing...\n", + "INFO:gym:Avg reward 1.404012(0.000000)\n", + "[2018-02-18 12:20:34,869] Avg reward 1.404012(0.000000)\n", + "INFO:gym:episode 121, reward 1.443445, avg reward 0.112913, total steps 15488, episode step 128\n", + "[2018-02-18 12:20:36,399] episode 121, reward 1.443445, avg reward 0.112913, total steps 15488, episode step 128\n", + "INFO:gym:episode 122, reward 0.619256, avg reward 0.113919, total steps 15616, episode step 128\n", + "[2018-02-18 12:20:37,883] episode 122, reward 0.619256, avg reward 0.113919, total steps 15616, episode step 128\n", + "INFO:gym:episode 123, reward -0.269896, avg reward 0.096005, total steps 15744, episode step 128\n", + "[2018-02-18 12:20:39,461] episode 123, reward -0.269896, avg reward 0.096005, total steps 15744, episode step 128\n", + "INFO:gym:episode 124, reward -0.539602, avg reward 0.077613, total steps 15872, episode step 128\n", + "[2018-02-18 12:20:40,942] episode 124, reward -0.539602, avg reward 0.077613, total steps 15872, episode step 128\n", + "INFO:gym:episode 125, reward 2.084386, avg reward 0.121728, total steps 16000, episode step 128\n", + "[2018-02-18 12:20:42,535] episode 125, reward 2.084386, avg reward 0.121728, total steps 16000, episode step 128\n", + "INFO:gym:episode 126, reward -0.651519, avg reward 0.108806, total steps 16128, episode step 128\n", + "[2018-02-18 12:20:44,082] episode 126, reward -0.651519, avg reward 0.108806, total steps 16128, episode step 128\n", + "INFO:gym:episode 127, reward 1.004876, avg reward 0.142638, total steps 16256, episode step 128\n", + "[2018-02-18 12:20:45,724] episode 127, reward 1.004876, avg reward 0.142638, total steps 16256, episode step 128\n", + "INFO:gym:episode 128, reward 1.055114, avg reward 0.154064, total steps 16384, episode step 128\n", + "[2018-02-18 12:20:47,269] episode 128, reward 1.055114, avg reward 0.154064, total steps 16384, episode step 128\n", + "INFO:gym:episode 129, reward -7.162461, avg reward 0.197564, total steps 16512, episode step 128\n", + "[2018-02-18 12:20:48,767] episode 129, reward -7.162461, avg reward 0.197564, total steps 16512, episode step 128\n", + "INFO:gym:episode 130, reward -2.021598, avg reward 0.204731, total steps 16640, episode step 128\n", + "[2018-02-18 12:20:50,543] episode 130, reward -2.021598, avg reward 0.204731, total steps 16640, episode step 128\n", + "INFO:gym:Testing...\n", + "[2018-02-18 12:20:50,544] Testing...\n", + "INFO:gym:Avg reward -4.157008(0.000000)\n", + "[2018-02-18 12:20:50,912] Avg reward -4.157008(0.000000)\n", + "INFO:gym:episode 131, reward -1.799782, avg reward 0.188858, total steps 16768, episode step 128\n", + "[2018-02-18 12:20:52,552] episode 131, reward -1.799782, avg reward 0.188858, total steps 16768, episode step 128\n", + "INFO:gym:episode 132, reward -5.413950, avg reward 0.145787, total steps 16896, episode step 128\n", + "[2018-02-18 12:20:54,084] episode 132, reward -5.413950, avg reward 0.145787, total steps 16896, episode step 128\n", + "INFO:gym:episode 133, reward 1.737700, avg reward 0.164114, total steps 17024, episode step 128\n", + "[2018-02-18 12:20:55,699] episode 133, reward 1.737700, avg reward 0.164114, total steps 17024, episode step 128\n", + "INFO:gym:episode 134, reward 2.104993, avg reward 0.197315, total steps 17152, episode step 128\n", + "[2018-02-18 12:20:57,433] episode 134, reward 2.104993, avg reward 0.197315, total steps 17152, episode step 128\n", + "INFO:gym:episode 135, reward -1.112002, avg reward 0.181861, total steps 17280, episode step 128\n", + "[2018-02-18 12:20:59,090] episode 135, reward -1.112002, avg reward 0.181861, total steps 17280, episode step 128\n", + "INFO:gym:episode 136, reward -0.246680, avg reward 0.192920, total steps 17408, episode step 128\n", + "[2018-02-18 12:21:00,598] episode 136, reward -0.246680, avg reward 0.192920, total steps 17408, episode step 128\n", + "INFO:gym:episode 137, reward -1.953242, avg reward 0.165805, total steps 17536, episode step 128\n", + "[2018-02-18 12:21:02,207] episode 137, reward -1.953242, avg reward 0.165805, total steps 17536, episode step 128\n", + "INFO:gym:episode 138, reward 6.060940, avg reward 0.214828, total steps 17664, episode step 128\n", + "[2018-02-18 12:21:03,933] episode 138, reward 6.060940, avg reward 0.214828, total steps 17664, episode step 128\n", + "INFO:gym:episode 139, reward -1.017018, avg reward 0.207920, total steps 17792, episode step 128\n", + "[2018-02-18 12:21:05,646] episode 139, reward -1.017018, avg reward 0.207920, total steps 17792, episode step 128\n", + "INFO:gym:episode 140, reward 2.279651, avg reward 0.264663, total steps 17920, episode step 128\n", + "[2018-02-18 12:21:07,288] episode 140, reward 2.279651, avg reward 0.264663, total steps 17920, episode step 128\n", + "INFO:gym:Testing...\n", + "[2018-02-18 12:21:07,289] Testing...\n", + "INFO:gym:Avg reward 8.981081(0.000000)\n", + "[2018-02-18 12:21:07,625] Avg reward 8.981081(0.000000)\n", + "INFO:gym:episode 141, reward -0.530024, avg reward 0.253618, total steps 18048, episode step 128\n", + "[2018-02-18 12:21:09,194] episode 141, reward -0.530024, avg reward 0.253618, total steps 18048, episode step 128\n", + "INFO:gym:episode 142, reward -0.889159, avg reward 0.259012, total steps 18176, episode step 128\n", + "[2018-02-18 12:21:10,859] episode 142, reward -0.889159, avg reward 0.259012, total steps 18176, episode step 128\n", + "INFO:gym:episode 143, reward -1.858496, avg reward 0.205203, total steps 18304, episode step 128\n", + "[2018-02-18 12:21:12,412] episode 143, reward -1.858496, avg reward 0.205203, total steps 18304, episode step 128\n", + "INFO:gym:episode 144, reward 1.331106, avg reward 0.227752, total steps 18432, episode step 128\n", + "[2018-02-18 12:21:13,999] episode 144, reward 1.331106, avg reward 0.227752, total steps 18432, episode step 128\n", + "INFO:gym:episode 145, reward 16.119956, avg reward 0.397210, total steps 18560, episode step 128\n", + "[2018-02-18 12:21:15,520] episode 145, reward 16.119956, avg reward 0.397210, total steps 18560, episode step 128\n", + "INFO:gym:episode 146, reward -0.638257, avg reward 0.356910, total steps 18688, episode step 128\n", + "[2018-02-18 12:21:17,226] episode 146, reward -0.638257, avg reward 0.356910, total steps 18688, episode step 128\n", + "INFO:gym:episode 147, reward 1.355265, avg reward 0.356043, total steps 18816, episode step 128\n", + "[2018-02-18 12:21:18,779] episode 147, reward 1.355265, avg reward 0.356043, total steps 18816, episode step 128\n", + "INFO:gym:episode 148, reward 5.325092, avg reward 0.411595, total steps 18944, episode step 128\n", + "[2018-02-18 12:21:20,401] episode 148, reward 5.325092, avg reward 0.411595, total steps 18944, episode step 128\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "INFO:gym:episode 149, reward 1.865440, avg reward 0.421191, total steps 19072, episode step 128\n", + "[2018-02-18 12:21:22,312] episode 149, reward 1.865440, avg reward 0.421191, total steps 19072, episode step 128\n", + "INFO:gym:episode 150, reward -2.786057, avg reward 0.407840, total steps 19200, episode step 128\n", + "[2018-02-18 12:21:23,891] episode 150, reward -2.786057, avg reward 0.407840, total steps 19200, episode step 128\n", + "INFO:gym:Testing...\n", + "[2018-02-18 12:21:23,892] Testing...\n", + "INFO:gym:Avg reward -1.317960(0.000000)\n", + "[2018-02-18 12:21:24,218] Avg reward -1.317960(0.000000)\n", + "INFO:gym:episode 151, reward -0.926880, avg reward 0.403490, total steps 19328, episode step 128\n", + "[2018-02-18 12:21:25,888] episode 151, reward -0.926880, avg reward 0.403490, total steps 19328, episode step 128\n", + "INFO:gym:episode 152, reward -3.127227, avg reward 0.391363, total steps 19456, episode step 128\n", + "[2018-02-18 12:21:27,615] episode 152, reward -3.127227, avg reward 0.391363, total steps 19456, episode step 128\n", + "INFO:gym:episode 153, reward -0.566721, avg reward 0.379462, total steps 19584, episode step 128\n", + "[2018-02-18 12:21:29,249] episode 153, reward -0.566721, avg reward 0.379462, total steps 19584, episode step 128\n", + "INFO:gym:episode 154, reward 5.358226, avg reward 0.444044, total steps 19712, episode step 128\n", + "[2018-02-18 12:21:30,775] episode 154, reward 5.358226, avg reward 0.444044, total steps 19712, episode step 128\n", + "INFO:gym:episode 155, reward 9.443920, avg reward 0.527243, total steps 19840, episode step 128\n", + "[2018-02-18 12:21:32,281] episode 155, reward 9.443920, avg reward 0.527243, total steps 19840, episode step 128\n", + "INFO:gym:episode 156, reward 0.297437, avg reward 0.557040, total steps 19968, episode step 128\n", + "[2018-02-18 12:21:33,803] episode 156, reward 0.297437, avg reward 0.557040, total steps 19968, episode step 128\n", + "INFO:gym:episode 157, reward -1.287230, avg reward 0.562857, total steps 20096, episode step 128\n", + "[2018-02-18 12:21:35,302] episode 157, reward -1.287230, avg reward 0.562857, total steps 20096, episode step 128\n", + "INFO:gym:episode 158, reward -0.658627, avg reward 0.546012, total steps 20224, episode step 128\n", + "[2018-02-18 12:21:36,846] episode 158, reward -0.658627, avg reward 0.546012, total steps 20224, episode step 128\n", + "INFO:gym:episode 159, reward 3.484665, avg reward 0.557390, total steps 20352, episode step 128\n", + "[2018-02-18 12:21:38,453] episode 159, reward 3.484665, avg reward 0.557390, total steps 20352, episode step 128\n", + "INFO:gym:episode 160, reward -0.934614, avg reward 0.546780, total steps 20480, episode step 128\n", + "[2018-02-18 12:21:40,083] episode 160, reward -0.934614, avg reward 0.546780, total steps 20480, episode step 128\n", + "INFO:gym:Testing...\n", + "[2018-02-18 12:21:40,085] Testing...\n", + "INFO:gym:Avg reward 0.590179(0.000000)\n", + "[2018-02-18 12:21:40,403] Avg reward 0.590179(0.000000)\n", + "INFO:gym:episode 161, reward -0.587783, avg reward 0.537949, total steps 20608, episode step 128\n", + "[2018-02-18 12:21:42,012] episode 161, reward -0.587783, avg reward 0.537949, total steps 20608, episode step 128\n", + "INFO:gym:episode 162, reward -3.285407, avg reward 0.505497, total steps 20736, episode step 128\n", + "[2018-02-18 12:21:43,518] episode 162, reward -3.285407, avg reward 0.505497, total steps 20736, episode step 128\n", + "INFO:gym:episode 163, reward 1.132661, avg reward 0.537059, total steps 20864, episode step 128\n", + "[2018-02-18 12:21:45,013] episode 163, reward 1.132661, avg reward 0.537059, total steps 20864, episode step 128\n", + "INFO:gym:episode 164, reward 0.265597, avg reward 0.535089, total steps 20992, episode step 128\n", + "[2018-02-18 12:21:46,530] episode 164, reward 0.265597, avg reward 0.535089, total steps 20992, episode step 128\n", + "INFO:gym:episode 165, reward -0.153621, avg reward 0.544436, total steps 21120, episode step 128\n", + "[2018-02-18 12:21:48,130] episode 165, reward -0.153621, avg reward 0.544436, total steps 21120, episode step 128\n", + "INFO:gym:episode 166, reward 1.013564, avg reward 0.569617, total steps 21248, episode step 128\n", + "[2018-02-18 12:21:49,658] episode 166, reward 1.013564, avg reward 0.569617, total steps 21248, episode step 128\n", + "INFO:gym:episode 167, reward -0.586334, avg reward 0.501787, total steps 21376, episode step 128\n", + "[2018-02-18 12:21:51,257] episode 167, reward -0.586334, avg reward 0.501787, total steps 21376, episode step 128\n", + "INFO:gym:episode 168, reward -2.174554, avg reward 0.485076, total steps 21504, episode step 128\n", + "[2018-02-18 12:21:53,249] episode 168, reward -2.174554, avg reward 0.485076, total steps 21504, episode step 128\n", + "INFO:gym:episode 169, reward -2.059731, avg reward 0.474692, total steps 21632, episode step 128\n", + "[2018-02-18 12:21:54,768] episode 169, reward -2.059731, avg reward 0.474692, total steps 21632, episode step 128\n", + "INFO:gym:episode 170, reward -2.375514, avg reward 0.438642, total steps 21760, episode step 128\n", + "[2018-02-18 12:21:56,260] episode 170, reward -2.375514, avg reward 0.438642, total steps 21760, episode step 128\n", + "INFO:gym:Testing...\n", + "[2018-02-18 12:21:56,261] Testing...\n", + "INFO:gym:Avg reward 2.783662(0.000000)\n", + "[2018-02-18 12:21:56,575] Avg reward 2.783662(0.000000)\n", + "INFO:gym:episode 171, reward 1.244900, avg reward 0.453701, total steps 21888, episode step 128\n", + "[2018-02-18 12:21:58,100] episode 171, reward 1.244900, avg reward 0.453701, total steps 21888, episode step 128\n", + "INFO:gym:episode 172, reward -1.551407, avg reward 0.473682, total steps 22016, episode step 128\n", + "[2018-02-18 12:21:59,594] episode 172, reward -1.551407, avg reward 0.473682, total steps 22016, episode step 128\n", + "INFO:gym:episode 173, reward 1.748623, avg reward 0.441396, total steps 22144, episode step 128\n", + "[2018-02-18 12:22:01,106] episode 173, reward 1.748623, avg reward 0.441396, total steps 22144, episode step 128\n", + "INFO:gym:episode 174, reward 2.199741, avg reward 0.463587, total steps 22272, episode step 128\n", + "[2018-02-18 12:22:02,605] episode 174, reward 2.199741, avg reward 0.463587, total steps 22272, episode step 128\n", + "INFO:gym:episode 175, reward 1.002941, avg reward 0.455151, total steps 22400, episode step 128\n", + "[2018-02-18 12:22:04,171] episode 175, reward 1.002941, avg reward 0.455151, total steps 22400, episode step 128\n", + "INFO:gym:episode 176, reward -1.873195, avg reward 0.422911, total steps 22528, episode step 128\n", + "[2018-02-18 12:22:05,697] episode 176, reward -1.873195, avg reward 0.422911, total steps 22528, episode step 128\n", + "INFO:gym:episode 177, reward -3.388680, avg reward 0.385729, total steps 22656, episode step 128\n", + "[2018-02-18 12:22:07,201] episode 177, reward -3.388680, avg reward 0.385729, total steps 22656, episode step 128\n", + "INFO:gym:episode 178, reward 1.012051, avg reward 0.416345, total steps 22784, episode step 128\n", + "[2018-02-18 12:22:08,713] episode 178, reward 1.012051, avg reward 0.416345, total steps 22784, episode step 128\n", + "INFO:gym:episode 179, reward 2.773738, avg reward 0.433837, total steps 22912, episode step 128\n", + "[2018-02-18 12:22:10,253] episode 179, reward 2.773738, avg reward 0.433837, total steps 22912, episode step 128\n", + "INFO:gym:episode 180, reward 0.734301, avg reward 0.459484, total steps 23040, episode step 128\n", + "[2018-02-18 12:22:11,789] episode 180, reward 0.734301, avg reward 0.459484, total steps 23040, episode step 128\n", + "INFO:gym:Testing...\n", + "[2018-02-18 12:22:11,790] Testing...\n", + "INFO:gym:Avg reward -1.809071(0.000000)\n", + "[2018-02-18 12:22:12,124] Avg reward -1.809071(0.000000)\n", + "INFO:gym:episode 181, reward 0.387745, avg reward 0.446601, total steps 23168, episode step 128\n", + "[2018-02-18 12:22:13,656] episode 181, reward 0.387745, avg reward 0.446601, total steps 23168, episode step 128\n", + "INFO:gym:episode 182, reward 2.103570, avg reward 0.468992, total steps 23296, episode step 128\n", + "[2018-02-18 12:22:15,172] episode 182, reward 2.103570, avg reward 0.468992, total steps 23296, episode step 128\n", + "INFO:gym:episode 183, reward 2.338004, avg reward 0.501656, total steps 23424, episode step 128\n", + "[2018-02-18 12:22:16,728] episode 183, reward 2.338004, avg reward 0.501656, total steps 23424, episode step 128\n", + "INFO:gym:episode 184, reward -1.378085, avg reward 0.487271, total steps 23552, episode step 128\n", + "[2018-02-18 12:22:18,468] episode 184, reward -1.378085, avg reward 0.487271, total steps 23552, episode step 128\n", + "INFO:gym:episode 185, reward -0.977837, avg reward 0.496078, total steps 23680, episode step 128\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[2018-02-18 12:22:20,045] episode 185, reward -0.977837, avg reward 0.496078, total steps 23680, episode step 128\n", + "INFO:gym:episode 186, reward 2.855603, avg reward 0.527694, total steps 23808, episode step 128\n", + "[2018-02-18 12:22:21,604] episode 186, reward 2.855603, avg reward 0.527694, total steps 23808, episode step 128\n", + "INFO:gym:episode 187, reward -5.260425, avg reward 0.430412, total steps 23936, episode step 128\n", + "[2018-02-18 12:22:23,381] episode 187, reward -5.260425, avg reward 0.430412, total steps 23936, episode step 128\n", + "INFO:gym:episode 188, reward 1.272381, avg reward 0.450489, total steps 24064, episode step 128\n", + "[2018-02-18 12:22:24,892] episode 188, reward 1.272381, avg reward 0.450489, total steps 24064, episode step 128\n", + "INFO:gym:episode 189, reward -0.647869, avg reward 0.444255, total steps 24192, episode step 128\n", + "[2018-02-18 12:22:26,416] episode 189, reward -0.647869, avg reward 0.444255, total steps 24192, episode step 128\n", + "INFO:gym:episode 190, reward -1.252730, avg reward 0.422736, total steps 24320, episode step 128\n", + "[2018-02-18 12:22:27,961] episode 190, reward -1.252730, avg reward 0.422736, total steps 24320, episode step 128\n", + "INFO:gym:Testing...\n", + "[2018-02-18 12:22:27,962] Testing...\n", + "INFO:gym:Avg reward -1.917486(0.000000)\n", + "[2018-02-18 12:22:28,273] Avg reward -1.917486(0.000000)\n", + "INFO:gym:episode 191, reward 0.494505, avg reward 0.436541, total steps 24448, episode step 128\n", + "[2018-02-18 12:22:29,897] episode 191, reward 0.494505, avg reward 0.436541, total steps 24448, episode step 128\n", + "INFO:gym:episode 192, reward 0.018323, avg reward 0.443840, total steps 24576, episode step 128\n", + "[2018-02-18 12:22:31,456] episode 192, reward 0.018323, avg reward 0.443840, total steps 24576, episode step 128\n", + "INFO:gym:episode 193, reward 0.917302, avg reward 0.443299, total steps 24704, episode step 128\n", + "[2018-02-18 12:22:33,426] episode 193, reward 0.917302, avg reward 0.443299, total steps 24704, episode step 128\n", + "INFO:gym:episode 194, reward 1.341905, avg reward 0.500324, total steps 24832, episode step 128\n", + "[2018-02-18 12:22:35,355] episode 194, reward 1.341905, avg reward 0.500324, total steps 24832, episode step 128\n", + "INFO:gym:episode 195, reward 1.356423, avg reward 0.519586, total steps 24960, episode step 128\n", + "[2018-02-18 12:22:37,381] episode 195, reward 1.356423, avg reward 0.519586, total steps 24960, episode step 128\n", + "INFO:gym:episode 196, reward -2.505588, avg reward 0.504287, total steps 25088, episode step 128\n", + "[2018-02-18 12:22:39,454] episode 196, reward -2.505588, avg reward 0.504287, total steps 25088, episode step 128\n", + "INFO:gym:episode 197, reward -0.428208, avg reward 0.490519, total steps 25216, episode step 128\n", + "[2018-02-18 12:22:41,619] episode 197, reward -0.428208, avg reward 0.490519, total steps 25216, episode step 128\n", + "INFO:gym:episode 198, reward -0.632833, avg reward 0.470211, total steps 25344, episode step 128\n", + "[2018-02-18 12:22:43,627] episode 198, reward -0.632833, avg reward 0.470211, total steps 25344, episode step 128\n", + "INFO:gym:episode 199, reward 0.500249, avg reward 0.495266, total steps 25472, episode step 128\n", + "[2018-02-18 12:22:45,695] episode 199, reward 0.500249, avg reward 0.495266, total steps 25472, episode step 128\n", + "INFO:gym:episode 200, reward -1.232525, avg reward 0.486451, total steps 25600, episode step 128\n", + "[2018-02-18 12:22:47,996] episode 200, reward -1.232525, avg reward 0.486451, total steps 25600, episode step 128\n", + "INFO:gym:Testing...\n", + "[2018-02-18 12:22:48,001] Testing...\n", + "INFO:gym:Avg reward -1.883266(0.000000)\n", + "[2018-02-18 12:22:48,482] Avg reward -1.883266(0.000000)\n", + "INFO:gym:episode 201, reward -0.281478, avg reward 0.441563, total steps 25728, episode step 128\n", + "[2018-02-18 12:22:50,532] episode 201, reward -0.281478, avg reward 0.441563, total steps 25728, episode step 128\n", + "INFO:gym:episode 202, reward -1.679641, avg reward 0.428485, total steps 25856, episode step 128\n", + "[2018-02-18 12:22:52,582] episode 202, reward -1.679641, avg reward 0.428485, total steps 25856, episode step 128\n", + "INFO:gym:episode 203, reward -1.753342, avg reward 0.404150, total steps 25984, episode step 128\n", + "[2018-02-18 12:22:55,219] episode 203, reward -1.753342, avg reward 0.404150, total steps 25984, episode step 128\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "data/DDPGAgent-ddpg-20180218_03-51-13-model-PortfolioEnv.bin\n" + "data/DDPGAgent-ddpg-20180218_04-17-19-model-PortfolioEnv.bin\n" ] }, { @@ -925,12 +1411,12 @@ "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mKeyboardInterrupt\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0msave_ddpg\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0magent\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 7\u001b[0;31m \u001b[0;32mraise\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0me\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0magent\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtask\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_plot\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0magent\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtask\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_plot2\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mrun_episodes\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0magent\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 5\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mKeyboardInterrupt\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0msave_ddpg\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0magent\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mKeyboardInterrupt\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0msave_ddpg\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0magent\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 7\u001b[0;31m \u001b[0;32mraise\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0me\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0magent\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtask\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_plot\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0magent\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mtask\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_plot2\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0mrun_episodes\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0magent\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 5\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mKeyboardInterrupt\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0me\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 6\u001b[0m \u001b[0msave_ddpg\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0magent\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/media/oldhome/wassname/Documents/projects/rl-portfolio-gh/rl-portfolio-management-gh/DeepRL/utils/misc.py\u001b[0m in \u001b[0;36mrun_episodes\u001b[0;34m(agent)\u001b[0m\n\u001b[1;32m 20\u001b[0m \u001b[0;32mwhile\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 21\u001b[0m \u001b[0mep\u001b[0m \u001b[0;34m+=\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 22\u001b[0;31m \u001b[0mreward\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstep\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0magent\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mepisode\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 23\u001b[0m \u001b[0mrewards\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mreward\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 24\u001b[0m \u001b[0msteps\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstep\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m\u001b[0m in \u001b[0;36mepisode\u001b[0;34m(self, deterministic, video_recorder)\u001b[0m\n\u001b[1;32m 98\u001b[0m \u001b[0mactions\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mactor\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpredict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstates\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;32mFalse\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 99\u001b[0m \u001b[0mvar_actions\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mVariable\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mactions\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrequires_grad\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 100\u001b[0;31m \u001b[0mq\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcritic\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpredict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mstates\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvar_actions\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 101\u001b[0m \u001b[0mq\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbackward\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtorch\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mones\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mq\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msize\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 102\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m\u001b[0m in \u001b[0;36mpredict\u001b[0;34m(self, x, action)\u001b[0m\n\u001b[1;32m 112\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 113\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mpredict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maction\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 114\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mforward\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0maction\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;32m\u001b[0m in \u001b[0;36mforward\u001b[0;34m(self, x, action)\u001b[0m\n\u001b[1;32m 102\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbatch_norm\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 103\u001b[0m \u001b[0mphi0\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbn1\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mphi0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 104\u001b[0;31m \u001b[0mphi1\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnon_linear\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mconv2\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mphi0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 105\u001b[0m \u001b[0mh\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtorch\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcat\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mphi1\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mw0\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0maction\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 106\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbatch_norm\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m\u001b[0m in \u001b[0;36mepisode\u001b[0;34m(self, deterministic, video_recorder)\u001b[0m\n\u001b[1;32m 80\u001b[0m \u001b[0mexperiences\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mreplay\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msample\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 81\u001b[0m \u001b[0mstates\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mactions\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrewards\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnext_states\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mterminals\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mexperiences\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 82\u001b[0;31m \u001b[0mq_next\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mtarget_critic\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpredict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnext_states\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtarget_actor\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpredict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mnext_states\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 83\u001b[0m \u001b[0mterminals\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcritic\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mto_torch_variable\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mterminals\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0munsqueeze\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 84\u001b[0m \u001b[0mrewards\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcritic\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mto_torch_variable\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mrewards\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0munsqueeze\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m\u001b[0m in \u001b[0;36mpredict\u001b[0;34m(self, x, to_numpy)\u001b[0m\n\u001b[1;32m 61\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 62\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mpredict\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mto_numpy\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mTrue\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 63\u001b[0;31m \u001b[0my\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mforward\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 64\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mto_numpy\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 65\u001b[0m \u001b[0my\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcpu\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mdata\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnumpy\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m\u001b[0m in \u001b[0;36mforward\u001b[0;34m(self, x)\u001b[0m\n\u001b[1;32m 47\u001b[0m \u001b[0mh\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbn2\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mh\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 48\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 49\u001b[0;31m \u001b[0maction\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mconv3\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mh\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 50\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 51\u001b[0m \u001b[0;31m# add cash_bias before we softmax\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/.pyenv/versions/3.5.3/envs/jupyter3/lib/python3.5/site-packages/torch/nn/modules/module.py\u001b[0m in \u001b[0;36m__call__\u001b[0;34m(self, *input, **kwargs)\u001b[0m\n\u001b[1;32m 323\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mhook\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_forward_pre_hooks\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 324\u001b[0m \u001b[0mhook\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minput\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 325\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mforward\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0minput\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 326\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mhook\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_forward_hooks\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mvalues\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 327\u001b[0m \u001b[0mhook_result\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mhook\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minput\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mresult\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/.pyenv/versions/3.5.3/envs/jupyter3/lib/python3.5/site-packages/torch/nn/modules/conv.py\u001b[0m in \u001b[0;36mforward\u001b[0;34m(self, input)\u001b[0m\n\u001b[1;32m 275\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mforward\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minput\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 276\u001b[0m return F.conv2d(input, self.weight, self.bias, self.stride,\n\u001b[0;32m--> 277\u001b[0;31m self.padding, self.dilation, self.groups)\n\u001b[0m\u001b[1;32m 278\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 279\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m~/.pyenv/versions/3.5.3/envs/jupyter3/lib/python3.5/site-packages/torch/nn/functional.py\u001b[0m in \u001b[0;36mconv2d\u001b[0;34m(input, weight, bias, stride, padding, dilation, groups)\u001b[0m\n\u001b[1;32m 88\u001b[0m \u001b[0m_pair\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mgroups\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtorch\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbackends\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcudnn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mbenchmark\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 89\u001b[0m torch.backends.cudnn.deterministic, torch.backends.cudnn.enabled)\n\u001b[0;32m---> 90\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mf\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minput\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mweight\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbias\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 91\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 92\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", @@ -957,11 +1443,11 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 17, "metadata": { "ExecuteTime": { - "end_time": "2018-02-18T03:52:12.309597Z", - "start_time": "2018-02-18T03:52:12.145761Z" + "end_time": "2018-02-18T04:22:57.341879Z", + "start_time": "2018-02-18T04:22:57.057185Z" } }, "outputs": [ @@ -1748,7 +2234,7 @@ { "data": { "text/html": [ - "
" + "" ], "text/plain": [ "" @@ -1758,35 +2244,14 @@ "output_type": "display_data" }, { - "ename": "KeyError", - "evalue": "'step'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m~/.pyenv/versions/3.5.3/envs/jupyter3/lib/python3.5/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36mget_loc\u001b[0;34m(self, key, method, tolerance)\u001b[0m\n\u001b[1;32m 2441\u001b[0m \u001b[0;32mtry\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2442\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2443\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc (pandas/_libs/index.c:5280)\u001b[0;34m()\u001b[0m\n", - "\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc (pandas/_libs/index.c:5126)\u001b[0;34m()\u001b[0m\n", - "\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item (pandas/_libs/hashtable.c:20523)\u001b[0;34m()\u001b[0m\n", - "\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item (pandas/_libs/hashtable.c:20477)\u001b[0;34m()\u001b[0m\n", - "\u001b[0;31mKeyError\u001b[0m: 'step'", - "\nDuring handling of the above exception, another exception occurred:\n", - "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfigure\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mdf_online\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mload_stats_ddpg\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0magent\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 4\u001b[0;31m \u001b[0msns\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mregplot\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"step\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;34m\"rewards\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mdf_online\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0morder\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;32m~/.pyenv/versions/3.5.3/envs/jupyter3/lib/python3.5/site-packages/seaborn/regression.py\u001b[0m in \u001b[0;36mregplot\u001b[0;34m(x, y, data, x_estimator, x_bins, x_ci, scatter, fit_reg, ci, n_boot, units, order, logistic, lowess, robust, logx, x_partial, y_partial, truncate, dropna, x_jitter, y_jitter, label, color, marker, scatter_kws, line_kws, ax)\u001b[0m\n\u001b[1;32m 780\u001b[0m \u001b[0morder\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlogistic\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlowess\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrobust\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mlogx\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 781\u001b[0m \u001b[0mx_partial\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my_partial\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtruncate\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdropna\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 782\u001b[0;31m x_jitter, y_jitter, color, label)\n\u001b[0m\u001b[1;32m 783\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 784\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0max\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.pyenv/versions/3.5.3/envs/jupyter3/lib/python3.5/site-packages/seaborn/regression.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, x, y, data, x_estimator, x_bins, x_ci, scatter, fit_reg, ci, n_boot, units, order, logistic, lowess, robust, logx, x_partial, y_partial, truncate, dropna, x_jitter, y_jitter, color, label)\u001b[0m\n\u001b[1;32m 105\u001b[0m \u001b[0;31m# Extract the data vals from the arguments or passed dataframe\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 106\u001b[0m self.establish_variables(data, x=x, y=y, units=units,\n\u001b[0;32m--> 107\u001b[0;31m x_partial=x_partial, y_partial=y_partial)\n\u001b[0m\u001b[1;32m 108\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 109\u001b[0m \u001b[0;31m# Drop null observations\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.pyenv/versions/3.5.3/envs/jupyter3/lib/python3.5/site-packages/seaborn/regression.py\u001b[0m in \u001b[0;36mestablish_variables\u001b[0;34m(self, data, **kws)\u001b[0m\n\u001b[1;32m 50\u001b[0m \u001b[0;32mfor\u001b[0m \u001b[0mvar\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mval\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mkws\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 51\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mval\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mstring_types\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 52\u001b[0;31m \u001b[0msetattr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvar\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mdata\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mval\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 53\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 54\u001b[0m \u001b[0msetattr\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvar\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mval\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.pyenv/versions/3.5.3/envs/jupyter3/lib/python3.5/site-packages/pandas/core/frame.py\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 1962\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_getitem_multilevel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1963\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1964\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_getitem_column\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1965\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1966\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_getitem_column\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.pyenv/versions/3.5.3/envs/jupyter3/lib/python3.5/site-packages/pandas/core/frame.py\u001b[0m in \u001b[0;36m_getitem_column\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 1969\u001b[0m \u001b[0;31m# get column\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1970\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mis_unique\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1971\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_item_cache\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1972\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1973\u001b[0m \u001b[0;31m# duplicate columns & possible reduce dimensionality\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.pyenv/versions/3.5.3/envs/jupyter3/lib/python3.5/site-packages/pandas/core/generic.py\u001b[0m in \u001b[0;36m_get_item_cache\u001b[0;34m(self, item)\u001b[0m\n\u001b[1;32m 1643\u001b[0m \u001b[0mres\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcache\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1644\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mres\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1645\u001b[0;31m \u001b[0mvalues\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_data\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1646\u001b[0m \u001b[0mres\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_box_item_values\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalues\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1647\u001b[0m \u001b[0mcache\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mres\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.pyenv/versions/3.5.3/envs/jupyter3/lib/python3.5/site-packages/pandas/core/internals.py\u001b[0m in \u001b[0;36mget\u001b[0;34m(self, item, fastpath)\u001b[0m\n\u001b[1;32m 3588\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3589\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0misnull\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 3590\u001b[0;31m \u001b[0mloc\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 3591\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3592\u001b[0m \u001b[0mindexer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0misnull\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/.pyenv/versions/3.5.3/envs/jupyter3/lib/python3.5/site-packages/pandas/core/indexes/base.py\u001b[0m in \u001b[0;36mget_loc\u001b[0;34m(self, key, method, tolerance)\u001b[0m\n\u001b[1;32m 2442\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2443\u001b[0m \u001b[0;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2444\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_maybe_cast_indexer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2445\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2446\u001b[0m \u001b[0mindexer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_indexer\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmethod\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmethod\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtolerance\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtolerance\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc (pandas/_libs/index.c:5280)\u001b[0;34m()\u001b[0m\n", - "\u001b[0;32mpandas/_libs/index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc (pandas/_libs/index.c:5126)\u001b[0;34m()\u001b[0m\n", - "\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item (pandas/_libs/hashtable.c:20523)\u001b[0;34m()\u001b[0m\n", - "\u001b[0;32mpandas/_libs/hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item (pandas/_libs/hashtable.c:20477)\u001b[0;34m()\u001b[0m\n", - "\u001b[0;31mKeyError\u001b[0m: 'step'" - ] + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ @@ -1798,81 +2263,33 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "metadata": { "ExecuteTime": { "end_time": "2018-02-18T03:52:33.864995Z", "start_time": "2018-02-18T03:52:33.810095Z" } }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
rewards
episodes
04.341221
\n", - "
" - ], - "text/plain": [ - " rewards\n", - "episodes \n", - "0 4.341221" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [] }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 18, "metadata": { "ExecuteTime": { - "end_time": "2018-02-18T03:53:05.316144Z", - "start_time": "2018-02-18T03:53:05.265436Z" + "end_time": "2018-02-18T04:22:58.650713Z", + "start_time": "2018-02-18T04:22:58.616505Z" } }, "outputs": [ { "data": { "text/plain": [ - "(1.0117879, nan)" + "(1.0117679, 1.4864513370237722)" ] }, - "execution_count": 21, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -1906,7 +2323,7 @@ } }, "source": [ - "# Test - NOT WORKING YET" + "# Test" ] }, { @@ -1923,11 +2340,11 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 19, "metadata": { "ExecuteTime": { - "end_time": "2018-02-18T03:53:11.984255Z", - "start_time": "2018-02-18T03:53:11.841318Z" + "end_time": "2018-02-18T04:23:00.192596Z", + "start_time": "2018-02-18T04:23:00.088671Z" } }, "outputs": [], @@ -1983,18 +2400,18 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 20, "metadata": { "ExecuteTime": { - "end_time": "2018-02-18T03:53:12.452701Z", - "start_time": "2018-02-18T03:53:12.077835Z" + "end_time": "2018-02-18T04:23:00.996170Z", + "start_time": "2018-02-18T04:23:00.601690Z" } }, "outputs": [], "source": [ "# use test env\n", "df_test = pd.read_hdf('./data/poloniex_30m.hf',key='test')\n", - "test_steps=3000\n", + "test_steps=5000\n", "env_test = task_fn_test()\n", "agent.task = env_test\n", "agent.config.max_episode_length = test_steps\n", @@ -2011,29 +2428,15 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": null, "metadata": { "ExecuteTime": { - "end_time": "2018-02-18T03:53:12.500751Z", - "start_time": "2018-02-18T03:53:12.472709Z" + "end_time": "2018-02-18T04:01:49.504199Z", + "start_time": "2018-02-18T04:01:49.467708Z" } }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "env = task.unwrapped\n", - "env.src" - ] + "outputs": [], + "source": [] }, { "cell_type": "code", @@ -2049,11 +2452,11 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 21, "metadata": { "ExecuteTime": { - "end_time": "2018-02-18T03:53:15.658475Z", - "start_time": "2018-02-18T03:53:13.088230Z" + "end_time": "2018-02-18T04:23:04.684495Z", + "start_time": "2018-02-18T04:23:01.960691Z" } }, "outputs": [ @@ -2069,9 +2472,9 @@ "name": "stdout", "output_type": "stream", "text": [ + "ONS\n", "RMR\n", - "BestSoFar\n", - "ONS\n" + "BestSoFar\n" ] }, { @@ -2857,799 +3260,7 @@ { "data": { "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "application/javascript": [ - "/* Put everything inside the global mpl namespace */\n", - "window.mpl = {};\n", - "\n", - "\n", - "mpl.get_websocket_type = function() {\n", - " if (typeof(WebSocket) !== 'undefined') {\n", - " return WebSocket;\n", - " } else if (typeof(MozWebSocket) !== 'undefined') {\n", - " return MozWebSocket;\n", - " } else {\n", - " alert('Your browser does not have WebSocket support.' +\n", - " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", - " 'Firefox 4 and 5 are also supported but you ' +\n", - " 'have to enable WebSockets in about:config.');\n", - " };\n", - "}\n", - "\n", - "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", - " this.id = figure_id;\n", - "\n", - " this.ws = websocket;\n", - "\n", - " this.supports_binary = (this.ws.binaryType != undefined);\n", - "\n", - " if (!this.supports_binary) {\n", - " var warnings = document.getElementById(\"mpl-warnings\");\n", - " if (warnings) {\n", - " warnings.style.display = 'block';\n", - " warnings.textContent = (\n", - " \"This browser does not support binary websocket messages. \" +\n", - " \"Performance may be slow.\");\n", - " }\n", - " }\n", - "\n", - " this.imageObj = new Image();\n", - "\n", - " this.context = undefined;\n", - " this.message = undefined;\n", - " this.canvas = undefined;\n", - " this.rubberband_canvas = undefined;\n", - " this.rubberband_context = undefined;\n", - " this.format_dropdown = undefined;\n", - "\n", - " this.image_mode = 'full';\n", - "\n", - " this.root = $('
');\n", - " this._root_extra_style(this.root)\n", - " this.root.attr('style', 'display: inline-block');\n", - "\n", - " $(parent_element).append(this.root);\n", - "\n", - " this._init_header(this);\n", - " this._init_canvas(this);\n", - " this._init_toolbar(this);\n", - "\n", - " var fig = this;\n", - "\n", - " this.waiting = false;\n", - "\n", - " this.ws.onopen = function () {\n", - " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", - " fig.send_message(\"send_image_mode\", {});\n", - " if (mpl.ratio != 1) {\n", - " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", - " }\n", - " fig.send_message(\"refresh\", {});\n", - " }\n", - "\n", - " this.imageObj.onload = function() {\n", - " if (fig.image_mode == 'full') {\n", - " // Full images could contain transparency (where diff images\n", - " // almost always do), so we need to clear the canvas so that\n", - " // there is no ghosting.\n", - " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", - " }\n", - " fig.context.drawImage(fig.imageObj, 0, 0);\n", - " };\n", - "\n", - " this.imageObj.onunload = function() {\n", - " fig.ws.close();\n", - " }\n", - "\n", - " this.ws.onmessage = this._make_on_message_function(this);\n", - "\n", - " this.ondownload = ondownload;\n", - "}\n", - "\n", - "mpl.figure.prototype._init_header = function() {\n", - " var titlebar = $(\n", - " '
');\n", - " var titletext = $(\n", - " '
');\n", - " titlebar.append(titletext)\n", - " this.root.append(titlebar);\n", - " this.header = titletext[0];\n", - "}\n", - "\n", - "\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", - "\n", - "}\n", - "\n", - "\n", - "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", - "\n", - "}\n", - "\n", - "mpl.figure.prototype._init_canvas = function() {\n", - " var fig = this;\n", - "\n", - " var canvas_div = $('
');\n", - "\n", - " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", - "\n", - " function canvas_keyboard_event(event) {\n", - " return fig.key_event(event, event['data']);\n", - " }\n", - "\n", - " canvas_div.keydown('key_press', canvas_keyboard_event);\n", - " canvas_div.keyup('key_release', canvas_keyboard_event);\n", - " this.canvas_div = canvas_div\n", - " this._canvas_extra_style(canvas_div)\n", - " this.root.append(canvas_div);\n", - "\n", - " var canvas = $('');\n", - " canvas.addClass('mpl-canvas');\n", - " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", - "\n", - " this.canvas = canvas[0];\n", - " this.context = canvas[0].getContext(\"2d\");\n", - "\n", - " var backingStore = this.context.backingStorePixelRatio ||\n", - "\tthis.context.webkitBackingStorePixelRatio ||\n", - "\tthis.context.mozBackingStorePixelRatio ||\n", - "\tthis.context.msBackingStorePixelRatio ||\n", - "\tthis.context.oBackingStorePixelRatio ||\n", - "\tthis.context.backingStorePixelRatio || 1;\n", - "\n", - " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n", - "\n", - " var rubberband = $('');\n", - " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", - "\n", - " var pass_mouse_events = true;\n", - "\n", - " canvas_div.resizable({\n", - " start: function(event, ui) {\n", - " pass_mouse_events = false;\n", - " },\n", - " resize: function(event, ui) {\n", - " fig.request_resize(ui.size.width, ui.size.height);\n", - " },\n", - " stop: function(event, ui) {\n", - " pass_mouse_events = true;\n", - " fig.request_resize(ui.size.width, ui.size.height);\n", - " },\n", - " });\n", - "\n", - " function mouse_event_fn(event) {\n", - " if (pass_mouse_events)\n", - " return fig.mouse_event(event, event['data']);\n", - " }\n", - "\n", - " rubberband.mousedown('button_press', mouse_event_fn);\n", - " rubberband.mouseup('button_release', mouse_event_fn);\n", - " // Throttle sequential mouse events to 1 every 20ms.\n", - " rubberband.mousemove('motion_notify', mouse_event_fn);\n", - "\n", - " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", - " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", - "\n", - " canvas_div.on(\"wheel\", function (event) {\n", - " event = event.originalEvent;\n", - " event['data'] = 'scroll'\n", - " if (event.deltaY < 0) {\n", - " event.step = 1;\n", - " } else {\n", - " event.step = -1;\n", - " }\n", - " mouse_event_fn(event);\n", - " });\n", - "\n", - " canvas_div.append(canvas);\n", - " canvas_div.append(rubberband);\n", - "\n", - " this.rubberband = rubberband;\n", - " this.rubberband_canvas = rubberband[0];\n", - " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", - " this.rubberband_context.strokeStyle = \"#000000\";\n", - "\n", - " this._resize_canvas = function(width, height) {\n", - " // Keep the size of the canvas, canvas container, and rubber band\n", - " // canvas in synch.\n", - " canvas_div.css('width', width)\n", - " canvas_div.css('height', height)\n", - "\n", - " canvas.attr('width', width * mpl.ratio);\n", - " canvas.attr('height', height * mpl.ratio);\n", - " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n", - "\n", - " rubberband.attr('width', width);\n", - " rubberband.attr('height', height);\n", - " }\n", - "\n", - " // Set the figure to an initial 600x600px, this will subsequently be updated\n", - " // upon first draw.\n", - " this._resize_canvas(600, 600);\n", - "\n", - " // Disable right mouse context menu.\n", - " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", - " return false;\n", - " });\n", - "\n", - " function set_focus () {\n", - " canvas.focus();\n", - " canvas_div.focus();\n", - " }\n", - "\n", - " window.setTimeout(set_focus, 100);\n", - "}\n", - "\n", - "mpl.figure.prototype._init_toolbar = function() {\n", - " var fig = this;\n", - "\n", - " var nav_element = $('
')\n", - " nav_element.attr('style', 'width: 100%');\n", - " this.root.append(nav_element);\n", - "\n", - " // Define a callback function for later on.\n", - " function toolbar_event(event) {\n", - " return fig.toolbar_button_onclick(event['data']);\n", - " }\n", - " function toolbar_mouse_event(event) {\n", - " return fig.toolbar_button_onmouseover(event['data']);\n", - " }\n", - "\n", - " for(var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " // put a spacer in here.\n", - " continue;\n", - " }\n", - " var button = $('