diff --git a/AAS-18-290_6DOF_journal/Run/Run_4km_terminal/optimize_4km.ipynb b/AAS-18-290_6DOF_journal/Run/Run_4km_terminal/optimize_4km.ipynb
new file mode 100644
index 0000000..bb1a28f
--- /dev/null
+++ b/AAS-18-290_6DOF_journal/Run/Run_4km_terminal/optimize_4km.ipynb
@@ -0,0 +1,56507 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The autoreload extension is already loaded. To reload it, use:\n",
+ " %reload_ext autoreload\n",
+ "/Users/briangaudet/Study/Subjects/MachineLearning/Projects/AAS_TEST/RUN/AAS-18-290_6DOF_manuscript/Run/Run_4km_terminal\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy as np\n",
+ "import os,sys\n",
+ "\n",
+ "\n",
+ "sys.path.append('../..')\n",
+ "sys.path.append('../../../RL_lib/Agents/PPO')\n",
+ "sys.path.append('../../../RL_lib/Utils')\n",
+ "\n",
+ "%load_ext autoreload\n",
+ "%load_ext autoreload\n",
+ "%autoreload 2\n",
+ "%matplotlib nbagg\n",
+ "import os\n",
+ "print(os.getcwd())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ ""
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "%%html\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Optimize Policy"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "6dof dynamics model\n",
+ "Quaternion_attitude\n",
+ "Thruster Config Shape: (4, 6) 4\n",
+ "Inertia Tensor: [[2000. 0. 0.]\n",
+ " [ 0. 2000. 0.]\n",
+ " [ 0. 0. 3200.]]\n",
+ "Lander Model: \n",
+ " - apf_v0: 70\n",
+ " - apf_vf1: [ 0. 0. -2.]\n",
+ " - apf_vf2: [ 0. 0. -1.]\n",
+ " - apf_atarg: 15.0\n",
+ " - apf_tau1: 20\n",
+ " - apf_tau2: 100.0\n",
+ "Reward_terminal\n",
+ "queue fixed\n",
+ "Flat Constraint\n",
+ "Attitude Constraint\n"
+ ]
+ },
+ {
+ "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 = $('');\n",
+ " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+ " 'ui-button-icon-only');\n",
+ " button.attr('role', 'button');\n",
+ " button.attr('aria-disabled', 'false');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ "\n",
+ " var icon_img = $('');\n",
+ " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+ " icon_img.addClass(image);\n",
+ " icon_img.addClass('ui-corner-all');\n",
+ "\n",
+ " var tooltip_span = $('');\n",
+ " tooltip_span.addClass('ui-button-text');\n",
+ " tooltip_span.html(tooltip);\n",
+ "\n",
+ " button.append(icon_img);\n",
+ " button.append(tooltip_span);\n",
+ "\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker_span = $('');\n",
+ "\n",
+ " var fmt_picker = $('');\n",
+ " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+ " fmt_picker_span.append(fmt_picker);\n",
+ " nav_element.append(fmt_picker_span);\n",
+ " this.format_dropdown = fmt_picker[0];\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = $(\n",
+ " '', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+ " fmt_picker.append(option)\n",
+ " }\n",
+ "\n",
+ " // Add hover states to the ui-buttons\n",
+ " $( \".ui-button\" ).hover(\n",
+ " function() { $(this).addClass(\"ui-state-hover\");},\n",
+ " function() { $(this).removeClass(\"ui-state-hover\");}\n",
+ " );\n",
+ "\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function(type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function() {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1]);\n",
+ " fig.send_message(\"refresh\", {});\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+ " var x0 = msg['x0'] / mpl.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+ " var x1 = msg['x1'] / mpl.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0, 0, fig.canvas.width, fig.canvas.height);\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+ " var cursor = msg['cursor'];\n",
+ " switch(cursor)\n",
+ " {\n",
+ " case 0:\n",
+ " cursor = 'pointer';\n",
+ " break;\n",
+ " case 1:\n",
+ " cursor = 'default';\n",
+ " break;\n",
+ " case 2:\n",
+ " cursor = 'crosshair';\n",
+ " break;\n",
+ " case 3:\n",
+ " cursor = 'move';\n",
+ " break;\n",
+ " }\n",
+ " fig.rubberband_canvas.style.cursor = cursor;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message(\"ack\", {});\n",
+ "}\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " evt.data.type = \"image/png\";\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " evt.data);\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig[\"handle_\" + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function(e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e)\n",
+ " e = window.event;\n",
+ " if (e.target)\n",
+ " targ = e.target;\n",
+ " else if (e.srcElement)\n",
+ " targ = e.srcElement;\n",
+ " if (targ.nodeType == 3) // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ "\n",
+ " // jQuery normalizes the pageX and pageY\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " // offset() returns the position of the element relative to the document\n",
+ " var x = e.pageX - $(targ).offset().left;\n",
+ " var y = e.pageY - $(targ).offset().top;\n",
+ "\n",
+ " return {\"x\": x, \"y\": y};\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * http://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys (original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object')\n",
+ " obj[key] = original[key]\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+ " var canvas_pos = mpl.findpos(event)\n",
+ "\n",
+ " if (name === 'button_press')\n",
+ " {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * mpl.ratio;\n",
+ " var y = canvas_pos.y * mpl.ratio;\n",
+ "\n",
+ " this.send_message(name, {x: x, y: y, button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function(event, name) {\n",
+ "\n",
+ " // Prevent repeat events\n",
+ " if (name == 'key_press')\n",
+ " {\n",
+ " if (event.which === this._key)\n",
+ " return;\n",
+ " else\n",
+ " this._key = event.which;\n",
+ " }\n",
+ " if (name == 'key_release')\n",
+ " this._key = null;\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.which != 17)\n",
+ " value += \"ctrl+\";\n",
+ " if (event.altKey && event.which != 18)\n",
+ " value += \"alt+\";\n",
+ " if (event.shiftKey && event.which != 16)\n",
+ " value += \"shift+\";\n",
+ "\n",
+ " value += 'k';\n",
+ " value += event.which.toString();\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, {key: value,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+ " if (name == 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message(\"toolbar_button\", {name: name});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.close = function() {\n",
+ " comm.close()\n",
+ " };\n",
+ " ws.send = function(m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function(msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
+ " ws.onmessage(msg['content']['data'])\n",
+ " });\n",
+ " return ws;\n",
+ "}\n",
+ "\n",
+ "mpl.mpl_figure_comm = function(comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = $(\"#\" + id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm)\n",
+ "\n",
+ " function ondownload(figure, format) {\n",
+ " window.open(figure.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy,\n",
+ " ondownload,\n",
+ " element.get(0));\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element.get(0);\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error(\"Failed to find cell for figure\", id, fig);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var output_index = fig.cell_info[2]\n",
+ " var cell = fig.cell_info[0];\n",
+ "\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+ " var width = fig.canvas.width/mpl.ratio\n",
+ " fig.root.unbind('remove')\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable()\n",
+ " $(fig.parent_element).html('');\n",
+ " fig.close_ws(fig, msg);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width/mpl.ratio\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] = '';\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message(\"ack\", {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () { fig.push_to_output() }, 1000);\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) { continue; };\n",
+ "\n",
+ " var button = $('');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = $('');\n",
+ " var button = $('');\n",
+ " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+ " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+ " buttongrp.append(button);\n",
+ " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+ " titlebar.prepend(buttongrp);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function(el){\n",
+ " var fig = this\n",
+ " el.on(\"remove\", function(){\n",
+ "\tfig.close_ws(fig, {});\n",
+ " });\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+ " // this is important to make the div 'focusable\n",
+ " el.attr('tabindex', 0)\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " }\n",
+ " else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " var manager = IPython.notebook.keyboard_manager;\n",
+ " if (!manager)\n",
+ " manager = IPython.keyboard_manager;\n",
+ "\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which == 13) {\n",
+ " this.canvas_div.blur();\n",
+ " event.shiftKey = false;\n",
+ " // Send a \"J\" for go to next cell\n",
+ " event.which = 74;\n",
+ " event.keyCode = 74;\n",
+ " manager.command_mode();\n",
+ " manager.handle_keydown(event);\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.find_output_cell = function(html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i=0; i= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] == html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel != null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "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 = $('');\n",
+ " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+ " 'ui-button-icon-only');\n",
+ " button.attr('role', 'button');\n",
+ " button.attr('aria-disabled', 'false');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ "\n",
+ " var icon_img = $('');\n",
+ " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+ " icon_img.addClass(image);\n",
+ " icon_img.addClass('ui-corner-all');\n",
+ "\n",
+ " var tooltip_span = $('');\n",
+ " tooltip_span.addClass('ui-button-text');\n",
+ " tooltip_span.html(tooltip);\n",
+ "\n",
+ " button.append(icon_img);\n",
+ " button.append(tooltip_span);\n",
+ "\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker_span = $('');\n",
+ "\n",
+ " var fmt_picker = $('');\n",
+ " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+ " fmt_picker_span.append(fmt_picker);\n",
+ " nav_element.append(fmt_picker_span);\n",
+ " this.format_dropdown = fmt_picker[0];\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = $(\n",
+ " '', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+ " fmt_picker.append(option)\n",
+ " }\n",
+ "\n",
+ " // Add hover states to the ui-buttons\n",
+ " $( \".ui-button\" ).hover(\n",
+ " function() { $(this).addClass(\"ui-state-hover\");},\n",
+ " function() { $(this).removeClass(\"ui-state-hover\");}\n",
+ " );\n",
+ "\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function(type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function() {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1]);\n",
+ " fig.send_message(\"refresh\", {});\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+ " var x0 = msg['x0'] / mpl.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+ " var x1 = msg['x1'] / mpl.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0, 0, fig.canvas.width, fig.canvas.height);\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+ " var cursor = msg['cursor'];\n",
+ " switch(cursor)\n",
+ " {\n",
+ " case 0:\n",
+ " cursor = 'pointer';\n",
+ " break;\n",
+ " case 1:\n",
+ " cursor = 'default';\n",
+ " break;\n",
+ " case 2:\n",
+ " cursor = 'crosshair';\n",
+ " break;\n",
+ " case 3:\n",
+ " cursor = 'move';\n",
+ " break;\n",
+ " }\n",
+ " fig.rubberband_canvas.style.cursor = cursor;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message(\"ack\", {});\n",
+ "}\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " evt.data.type = \"image/png\";\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " evt.data);\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig[\"handle_\" + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function(e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e)\n",
+ " e = window.event;\n",
+ " if (e.target)\n",
+ " targ = e.target;\n",
+ " else if (e.srcElement)\n",
+ " targ = e.srcElement;\n",
+ " if (targ.nodeType == 3) // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ "\n",
+ " // jQuery normalizes the pageX and pageY\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " // offset() returns the position of the element relative to the document\n",
+ " var x = e.pageX - $(targ).offset().left;\n",
+ " var y = e.pageY - $(targ).offset().top;\n",
+ "\n",
+ " return {\"x\": x, \"y\": y};\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * http://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys (original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object')\n",
+ " obj[key] = original[key]\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+ " var canvas_pos = mpl.findpos(event)\n",
+ "\n",
+ " if (name === 'button_press')\n",
+ " {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * mpl.ratio;\n",
+ " var y = canvas_pos.y * mpl.ratio;\n",
+ "\n",
+ " this.send_message(name, {x: x, y: y, button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function(event, name) {\n",
+ "\n",
+ " // Prevent repeat events\n",
+ " if (name == 'key_press')\n",
+ " {\n",
+ " if (event.which === this._key)\n",
+ " return;\n",
+ " else\n",
+ " this._key = event.which;\n",
+ " }\n",
+ " if (name == 'key_release')\n",
+ " this._key = null;\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.which != 17)\n",
+ " value += \"ctrl+\";\n",
+ " if (event.altKey && event.which != 18)\n",
+ " value += \"alt+\";\n",
+ " if (event.shiftKey && event.which != 16)\n",
+ " value += \"shift+\";\n",
+ "\n",
+ " value += 'k';\n",
+ " value += event.which.toString();\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, {key: value,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+ " if (name == 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message(\"toolbar_button\", {name: name});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.close = function() {\n",
+ " comm.close()\n",
+ " };\n",
+ " ws.send = function(m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function(msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
+ " ws.onmessage(msg['content']['data'])\n",
+ " });\n",
+ " return ws;\n",
+ "}\n",
+ "\n",
+ "mpl.mpl_figure_comm = function(comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = $(\"#\" + id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm)\n",
+ "\n",
+ " function ondownload(figure, format) {\n",
+ " window.open(figure.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy,\n",
+ " ondownload,\n",
+ " element.get(0));\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element.get(0);\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error(\"Failed to find cell for figure\", id, fig);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var output_index = fig.cell_info[2]\n",
+ " var cell = fig.cell_info[0];\n",
+ "\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+ " var width = fig.canvas.width/mpl.ratio\n",
+ " fig.root.unbind('remove')\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable()\n",
+ " $(fig.parent_element).html('');\n",
+ " fig.close_ws(fig, msg);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width/mpl.ratio\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] = '';\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message(\"ack\", {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () { fig.push_to_output() }, 1000);\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) { continue; };\n",
+ "\n",
+ " var button = $('');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = $('');\n",
+ " var button = $('');\n",
+ " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+ " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+ " buttongrp.append(button);\n",
+ " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+ " titlebar.prepend(buttongrp);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function(el){\n",
+ " var fig = this\n",
+ " el.on(\"remove\", function(){\n",
+ "\tfig.close_ws(fig, {});\n",
+ " });\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+ " // this is important to make the div 'focusable\n",
+ " el.attr('tabindex', 0)\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " }\n",
+ " else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " var manager = IPython.notebook.keyboard_manager;\n",
+ " if (!manager)\n",
+ " manager = IPython.keyboard_manager;\n",
+ "\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which == 13) {\n",
+ " this.canvas_div.blur();\n",
+ " event.shiftKey = false;\n",
+ " // Send a \"J\" for go to next cell\n",
+ " event.which = 74;\n",
+ " event.keyCode = 74;\n",
+ " manager.command_mode();\n",
+ " manager.handle_keydown(event);\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.find_output_cell = function(html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i=0; i= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] == html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel != null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "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 = $('');\n",
+ " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+ " 'ui-button-icon-only');\n",
+ " button.attr('role', 'button');\n",
+ " button.attr('aria-disabled', 'false');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ "\n",
+ " var icon_img = $('');\n",
+ " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+ " icon_img.addClass(image);\n",
+ " icon_img.addClass('ui-corner-all');\n",
+ "\n",
+ " var tooltip_span = $('');\n",
+ " tooltip_span.addClass('ui-button-text');\n",
+ " tooltip_span.html(tooltip);\n",
+ "\n",
+ " button.append(icon_img);\n",
+ " button.append(tooltip_span);\n",
+ "\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker_span = $('');\n",
+ "\n",
+ " var fmt_picker = $('');\n",
+ " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+ " fmt_picker_span.append(fmt_picker);\n",
+ " nav_element.append(fmt_picker_span);\n",
+ " this.format_dropdown = fmt_picker[0];\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = $(\n",
+ " '', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+ " fmt_picker.append(option)\n",
+ " }\n",
+ "\n",
+ " // Add hover states to the ui-buttons\n",
+ " $( \".ui-button\" ).hover(\n",
+ " function() { $(this).addClass(\"ui-state-hover\");},\n",
+ " function() { $(this).removeClass(\"ui-state-hover\");}\n",
+ " );\n",
+ "\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function(type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function() {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1]);\n",
+ " fig.send_message(\"refresh\", {});\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+ " var x0 = msg['x0'] / mpl.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+ " var x1 = msg['x1'] / mpl.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0, 0, fig.canvas.width, fig.canvas.height);\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+ " var cursor = msg['cursor'];\n",
+ " switch(cursor)\n",
+ " {\n",
+ " case 0:\n",
+ " cursor = 'pointer';\n",
+ " break;\n",
+ " case 1:\n",
+ " cursor = 'default';\n",
+ " break;\n",
+ " case 2:\n",
+ " cursor = 'crosshair';\n",
+ " break;\n",
+ " case 3:\n",
+ " cursor = 'move';\n",
+ " break;\n",
+ " }\n",
+ " fig.rubberband_canvas.style.cursor = cursor;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message(\"ack\", {});\n",
+ "}\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " evt.data.type = \"image/png\";\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " evt.data);\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig[\"handle_\" + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function(e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e)\n",
+ " e = window.event;\n",
+ " if (e.target)\n",
+ " targ = e.target;\n",
+ " else if (e.srcElement)\n",
+ " targ = e.srcElement;\n",
+ " if (targ.nodeType == 3) // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ "\n",
+ " // jQuery normalizes the pageX and pageY\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " // offset() returns the position of the element relative to the document\n",
+ " var x = e.pageX - $(targ).offset().left;\n",
+ " var y = e.pageY - $(targ).offset().top;\n",
+ "\n",
+ " return {\"x\": x, \"y\": y};\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * http://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys (original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object')\n",
+ " obj[key] = original[key]\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+ " var canvas_pos = mpl.findpos(event)\n",
+ "\n",
+ " if (name === 'button_press')\n",
+ " {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * mpl.ratio;\n",
+ " var y = canvas_pos.y * mpl.ratio;\n",
+ "\n",
+ " this.send_message(name, {x: x, y: y, button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function(event, name) {\n",
+ "\n",
+ " // Prevent repeat events\n",
+ " if (name == 'key_press')\n",
+ " {\n",
+ " if (event.which === this._key)\n",
+ " return;\n",
+ " else\n",
+ " this._key = event.which;\n",
+ " }\n",
+ " if (name == 'key_release')\n",
+ " this._key = null;\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.which != 17)\n",
+ " value += \"ctrl+\";\n",
+ " if (event.altKey && event.which != 18)\n",
+ " value += \"alt+\";\n",
+ " if (event.shiftKey && event.which != 16)\n",
+ " value += \"shift+\";\n",
+ "\n",
+ " value += 'k';\n",
+ " value += event.which.toString();\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, {key: value,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+ " if (name == 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message(\"toolbar_button\", {name: name});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.close = function() {\n",
+ " comm.close()\n",
+ " };\n",
+ " ws.send = function(m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function(msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
+ " ws.onmessage(msg['content']['data'])\n",
+ " });\n",
+ " return ws;\n",
+ "}\n",
+ "\n",
+ "mpl.mpl_figure_comm = function(comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = $(\"#\" + id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm)\n",
+ "\n",
+ " function ondownload(figure, format) {\n",
+ " window.open(figure.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy,\n",
+ " ondownload,\n",
+ " element.get(0));\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element.get(0);\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error(\"Failed to find cell for figure\", id, fig);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var output_index = fig.cell_info[2]\n",
+ " var cell = fig.cell_info[0];\n",
+ "\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+ " var width = fig.canvas.width/mpl.ratio\n",
+ " fig.root.unbind('remove')\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable()\n",
+ " $(fig.parent_element).html('');\n",
+ " fig.close_ws(fig, msg);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width/mpl.ratio\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] = '';\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message(\"ack\", {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () { fig.push_to_output() }, 1000);\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) { continue; };\n",
+ "\n",
+ " var button = $('');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = $('');\n",
+ " var button = $('');\n",
+ " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+ " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+ " buttongrp.append(button);\n",
+ " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+ " titlebar.prepend(buttongrp);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function(el){\n",
+ " var fig = this\n",
+ " el.on(\"remove\", function(){\n",
+ "\tfig.close_ws(fig, {});\n",
+ " });\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+ " // this is important to make the div 'focusable\n",
+ " el.attr('tabindex', 0)\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " }\n",
+ " else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " var manager = IPython.notebook.keyboard_manager;\n",
+ " if (!manager)\n",
+ " manager = IPython.keyboard_manager;\n",
+ "\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which == 13) {\n",
+ " this.canvas_div.blur();\n",
+ " event.shiftKey = false;\n",
+ " // Send a \"J\" for go to next cell\n",
+ " event.which = 74;\n",
+ " event.keyCode = 74;\n",
+ " manager.command_mode();\n",
+ " manager.handle_keydown(event);\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.find_output_cell = function(html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i=0; i= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] == html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel != null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "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 = $('');\n",
+ " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+ " 'ui-button-icon-only');\n",
+ " button.attr('role', 'button');\n",
+ " button.attr('aria-disabled', 'false');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ "\n",
+ " var icon_img = $('');\n",
+ " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+ " icon_img.addClass(image);\n",
+ " icon_img.addClass('ui-corner-all');\n",
+ "\n",
+ " var tooltip_span = $('');\n",
+ " tooltip_span.addClass('ui-button-text');\n",
+ " tooltip_span.html(tooltip);\n",
+ "\n",
+ " button.append(icon_img);\n",
+ " button.append(tooltip_span);\n",
+ "\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker_span = $('');\n",
+ "\n",
+ " var fmt_picker = $('');\n",
+ " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+ " fmt_picker_span.append(fmt_picker);\n",
+ " nav_element.append(fmt_picker_span);\n",
+ " this.format_dropdown = fmt_picker[0];\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = $(\n",
+ " '', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+ " fmt_picker.append(option)\n",
+ " }\n",
+ "\n",
+ " // Add hover states to the ui-buttons\n",
+ " $( \".ui-button\" ).hover(\n",
+ " function() { $(this).addClass(\"ui-state-hover\");},\n",
+ " function() { $(this).removeClass(\"ui-state-hover\");}\n",
+ " );\n",
+ "\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function(type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function() {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1]);\n",
+ " fig.send_message(\"refresh\", {});\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+ " var x0 = msg['x0'] / mpl.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+ " var x1 = msg['x1'] / mpl.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0, 0, fig.canvas.width, fig.canvas.height);\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+ " var cursor = msg['cursor'];\n",
+ " switch(cursor)\n",
+ " {\n",
+ " case 0:\n",
+ " cursor = 'pointer';\n",
+ " break;\n",
+ " case 1:\n",
+ " cursor = 'default';\n",
+ " break;\n",
+ " case 2:\n",
+ " cursor = 'crosshair';\n",
+ " break;\n",
+ " case 3:\n",
+ " cursor = 'move';\n",
+ " break;\n",
+ " }\n",
+ " fig.rubberband_canvas.style.cursor = cursor;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message(\"ack\", {});\n",
+ "}\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " evt.data.type = \"image/png\";\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " evt.data);\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig[\"handle_\" + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function(e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e)\n",
+ " e = window.event;\n",
+ " if (e.target)\n",
+ " targ = e.target;\n",
+ " else if (e.srcElement)\n",
+ " targ = e.srcElement;\n",
+ " if (targ.nodeType == 3) // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ "\n",
+ " // jQuery normalizes the pageX and pageY\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " // offset() returns the position of the element relative to the document\n",
+ " var x = e.pageX - $(targ).offset().left;\n",
+ " var y = e.pageY - $(targ).offset().top;\n",
+ "\n",
+ " return {\"x\": x, \"y\": y};\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * http://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys (original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object')\n",
+ " obj[key] = original[key]\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+ " var canvas_pos = mpl.findpos(event)\n",
+ "\n",
+ " if (name === 'button_press')\n",
+ " {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * mpl.ratio;\n",
+ " var y = canvas_pos.y * mpl.ratio;\n",
+ "\n",
+ " this.send_message(name, {x: x, y: y, button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function(event, name) {\n",
+ "\n",
+ " // Prevent repeat events\n",
+ " if (name == 'key_press')\n",
+ " {\n",
+ " if (event.which === this._key)\n",
+ " return;\n",
+ " else\n",
+ " this._key = event.which;\n",
+ " }\n",
+ " if (name == 'key_release')\n",
+ " this._key = null;\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.which != 17)\n",
+ " value += \"ctrl+\";\n",
+ " if (event.altKey && event.which != 18)\n",
+ " value += \"alt+\";\n",
+ " if (event.shiftKey && event.which != 16)\n",
+ " value += \"shift+\";\n",
+ "\n",
+ " value += 'k';\n",
+ " value += event.which.toString();\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, {key: value,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+ " if (name == 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message(\"toolbar_button\", {name: name});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.close = function() {\n",
+ " comm.close()\n",
+ " };\n",
+ " ws.send = function(m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function(msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
+ " ws.onmessage(msg['content']['data'])\n",
+ " });\n",
+ " return ws;\n",
+ "}\n",
+ "\n",
+ "mpl.mpl_figure_comm = function(comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = $(\"#\" + id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm)\n",
+ "\n",
+ " function ondownload(figure, format) {\n",
+ " window.open(figure.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy,\n",
+ " ondownload,\n",
+ " element.get(0));\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element.get(0);\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error(\"Failed to find cell for figure\", id, fig);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var output_index = fig.cell_info[2]\n",
+ " var cell = fig.cell_info[0];\n",
+ "\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+ " var width = fig.canvas.width/mpl.ratio\n",
+ " fig.root.unbind('remove')\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable()\n",
+ " $(fig.parent_element).html('');\n",
+ " fig.close_ws(fig, msg);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width/mpl.ratio\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] = '';\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message(\"ack\", {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () { fig.push_to_output() }, 1000);\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) { continue; };\n",
+ "\n",
+ " var button = $('');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = $('');\n",
+ " var button = $('');\n",
+ " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+ " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+ " buttongrp.append(button);\n",
+ " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+ " titlebar.prepend(buttongrp);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function(el){\n",
+ " var fig = this\n",
+ " el.on(\"remove\", function(){\n",
+ "\tfig.close_ws(fig, {});\n",
+ " });\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+ " // this is important to make the div 'focusable\n",
+ " el.attr('tabindex', 0)\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " }\n",
+ " else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " var manager = IPython.notebook.keyboard_manager;\n",
+ " if (!manager)\n",
+ " manager = IPython.keyboard_manager;\n",
+ "\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which == 13) {\n",
+ " this.canvas_div.blur();\n",
+ " event.shiftKey = false;\n",
+ " // Send a \"J\" for go to next cell\n",
+ " event.which = 74;\n",
+ " event.keyCode = 74;\n",
+ " manager.command_mode();\n",
+ " manager.handle_keydown(event);\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.find_output_cell = function(html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i=0; i= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] == html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel != null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "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 = $('');\n",
+ " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+ " 'ui-button-icon-only');\n",
+ " button.attr('role', 'button');\n",
+ " button.attr('aria-disabled', 'false');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ "\n",
+ " var icon_img = $('');\n",
+ " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+ " icon_img.addClass(image);\n",
+ " icon_img.addClass('ui-corner-all');\n",
+ "\n",
+ " var tooltip_span = $('');\n",
+ " tooltip_span.addClass('ui-button-text');\n",
+ " tooltip_span.html(tooltip);\n",
+ "\n",
+ " button.append(icon_img);\n",
+ " button.append(tooltip_span);\n",
+ "\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker_span = $('');\n",
+ "\n",
+ " var fmt_picker = $('');\n",
+ " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+ " fmt_picker_span.append(fmt_picker);\n",
+ " nav_element.append(fmt_picker_span);\n",
+ " this.format_dropdown = fmt_picker[0];\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = $(\n",
+ " '', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+ " fmt_picker.append(option)\n",
+ " }\n",
+ "\n",
+ " // Add hover states to the ui-buttons\n",
+ " $( \".ui-button\" ).hover(\n",
+ " function() { $(this).addClass(\"ui-state-hover\");},\n",
+ " function() { $(this).removeClass(\"ui-state-hover\");}\n",
+ " );\n",
+ "\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function(type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function() {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1]);\n",
+ " fig.send_message(\"refresh\", {});\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+ " var x0 = msg['x0'] / mpl.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+ " var x1 = msg['x1'] / mpl.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0, 0, fig.canvas.width, fig.canvas.height);\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+ " var cursor = msg['cursor'];\n",
+ " switch(cursor)\n",
+ " {\n",
+ " case 0:\n",
+ " cursor = 'pointer';\n",
+ " break;\n",
+ " case 1:\n",
+ " cursor = 'default';\n",
+ " break;\n",
+ " case 2:\n",
+ " cursor = 'crosshair';\n",
+ " break;\n",
+ " case 3:\n",
+ " cursor = 'move';\n",
+ " break;\n",
+ " }\n",
+ " fig.rubberband_canvas.style.cursor = cursor;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message(\"ack\", {});\n",
+ "}\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " evt.data.type = \"image/png\";\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " evt.data);\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig[\"handle_\" + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function(e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e)\n",
+ " e = window.event;\n",
+ " if (e.target)\n",
+ " targ = e.target;\n",
+ " else if (e.srcElement)\n",
+ " targ = e.srcElement;\n",
+ " if (targ.nodeType == 3) // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ "\n",
+ " // jQuery normalizes the pageX and pageY\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " // offset() returns the position of the element relative to the document\n",
+ " var x = e.pageX - $(targ).offset().left;\n",
+ " var y = e.pageY - $(targ).offset().top;\n",
+ "\n",
+ " return {\"x\": x, \"y\": y};\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * http://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys (original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object')\n",
+ " obj[key] = original[key]\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+ " var canvas_pos = mpl.findpos(event)\n",
+ "\n",
+ " if (name === 'button_press')\n",
+ " {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * mpl.ratio;\n",
+ " var y = canvas_pos.y * mpl.ratio;\n",
+ "\n",
+ " this.send_message(name, {x: x, y: y, button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function(event, name) {\n",
+ "\n",
+ " // Prevent repeat events\n",
+ " if (name == 'key_press')\n",
+ " {\n",
+ " if (event.which === this._key)\n",
+ " return;\n",
+ " else\n",
+ " this._key = event.which;\n",
+ " }\n",
+ " if (name == 'key_release')\n",
+ " this._key = null;\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.which != 17)\n",
+ " value += \"ctrl+\";\n",
+ " if (event.altKey && event.which != 18)\n",
+ " value += \"alt+\";\n",
+ " if (event.shiftKey && event.which != 16)\n",
+ " value += \"shift+\";\n",
+ "\n",
+ " value += 'k';\n",
+ " value += event.which.toString();\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, {key: value,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+ " if (name == 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message(\"toolbar_button\", {name: name});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.close = function() {\n",
+ " comm.close()\n",
+ " };\n",
+ " ws.send = function(m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function(msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
+ " ws.onmessage(msg['content']['data'])\n",
+ " });\n",
+ " return ws;\n",
+ "}\n",
+ "\n",
+ "mpl.mpl_figure_comm = function(comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = $(\"#\" + id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm)\n",
+ "\n",
+ " function ondownload(figure, format) {\n",
+ " window.open(figure.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy,\n",
+ " ondownload,\n",
+ " element.get(0));\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element.get(0);\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error(\"Failed to find cell for figure\", id, fig);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var output_index = fig.cell_info[2]\n",
+ " var cell = fig.cell_info[0];\n",
+ "\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+ " var width = fig.canvas.width/mpl.ratio\n",
+ " fig.root.unbind('remove')\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable()\n",
+ " $(fig.parent_element).html('');\n",
+ " fig.close_ws(fig, msg);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width/mpl.ratio\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] = '';\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message(\"ack\", {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () { fig.push_to_output() }, 1000);\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) { continue; };\n",
+ "\n",
+ " var button = $('');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = $('');\n",
+ " var button = $('');\n",
+ " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+ " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+ " buttongrp.append(button);\n",
+ " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+ " titlebar.prepend(buttongrp);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function(el){\n",
+ " var fig = this\n",
+ " el.on(\"remove\", function(){\n",
+ "\tfig.close_ws(fig, {});\n",
+ " });\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+ " // this is important to make the div 'focusable\n",
+ " el.attr('tabindex', 0)\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " }\n",
+ " else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " var manager = IPython.notebook.keyboard_manager;\n",
+ " if (!manager)\n",
+ " manager = IPython.keyboard_manager;\n",
+ "\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which == 13) {\n",
+ " this.canvas_div.blur();\n",
+ " event.shiftKey = false;\n",
+ " // Send a \"J\" for go to next cell\n",
+ " event.which = 74;\n",
+ " event.keyCode = 74;\n",
+ " manager.command_mode();\n",
+ " manager.handle_keydown(event);\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.find_output_cell = function(html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i=0; i= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] == html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel != null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "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 = $('');\n",
+ " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+ " 'ui-button-icon-only');\n",
+ " button.attr('role', 'button');\n",
+ " button.attr('aria-disabled', 'false');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ "\n",
+ " var icon_img = $('');\n",
+ " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+ " icon_img.addClass(image);\n",
+ " icon_img.addClass('ui-corner-all');\n",
+ "\n",
+ " var tooltip_span = $('');\n",
+ " tooltip_span.addClass('ui-button-text');\n",
+ " tooltip_span.html(tooltip);\n",
+ "\n",
+ " button.append(icon_img);\n",
+ " button.append(tooltip_span);\n",
+ "\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker_span = $('');\n",
+ "\n",
+ " var fmt_picker = $('');\n",
+ " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+ " fmt_picker_span.append(fmt_picker);\n",
+ " nav_element.append(fmt_picker_span);\n",
+ " this.format_dropdown = fmt_picker[0];\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = $(\n",
+ " '', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+ " fmt_picker.append(option)\n",
+ " }\n",
+ "\n",
+ " // Add hover states to the ui-buttons\n",
+ " $( \".ui-button\" ).hover(\n",
+ " function() { $(this).addClass(\"ui-state-hover\");},\n",
+ " function() { $(this).removeClass(\"ui-state-hover\");}\n",
+ " );\n",
+ "\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function(type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function() {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1]);\n",
+ " fig.send_message(\"refresh\", {});\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+ " var x0 = msg['x0'] / mpl.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+ " var x1 = msg['x1'] / mpl.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0, 0, fig.canvas.width, fig.canvas.height);\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+ " var cursor = msg['cursor'];\n",
+ " switch(cursor)\n",
+ " {\n",
+ " case 0:\n",
+ " cursor = 'pointer';\n",
+ " break;\n",
+ " case 1:\n",
+ " cursor = 'default';\n",
+ " break;\n",
+ " case 2:\n",
+ " cursor = 'crosshair';\n",
+ " break;\n",
+ " case 3:\n",
+ " cursor = 'move';\n",
+ " break;\n",
+ " }\n",
+ " fig.rubberband_canvas.style.cursor = cursor;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message(\"ack\", {});\n",
+ "}\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " evt.data.type = \"image/png\";\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " evt.data);\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig[\"handle_\" + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function(e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e)\n",
+ " e = window.event;\n",
+ " if (e.target)\n",
+ " targ = e.target;\n",
+ " else if (e.srcElement)\n",
+ " targ = e.srcElement;\n",
+ " if (targ.nodeType == 3) // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ "\n",
+ " // jQuery normalizes the pageX and pageY\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " // offset() returns the position of the element relative to the document\n",
+ " var x = e.pageX - $(targ).offset().left;\n",
+ " var y = e.pageY - $(targ).offset().top;\n",
+ "\n",
+ " return {\"x\": x, \"y\": y};\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * http://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys (original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object')\n",
+ " obj[key] = original[key]\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+ " var canvas_pos = mpl.findpos(event)\n",
+ "\n",
+ " if (name === 'button_press')\n",
+ " {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * mpl.ratio;\n",
+ " var y = canvas_pos.y * mpl.ratio;\n",
+ "\n",
+ " this.send_message(name, {x: x, y: y, button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function(event, name) {\n",
+ "\n",
+ " // Prevent repeat events\n",
+ " if (name == 'key_press')\n",
+ " {\n",
+ " if (event.which === this._key)\n",
+ " return;\n",
+ " else\n",
+ " this._key = event.which;\n",
+ " }\n",
+ " if (name == 'key_release')\n",
+ " this._key = null;\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.which != 17)\n",
+ " value += \"ctrl+\";\n",
+ " if (event.altKey && event.which != 18)\n",
+ " value += \"alt+\";\n",
+ " if (event.shiftKey && event.which != 16)\n",
+ " value += \"shift+\";\n",
+ "\n",
+ " value += 'k';\n",
+ " value += event.which.toString();\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, {key: value,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+ " if (name == 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message(\"toolbar_button\", {name: name});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.close = function() {\n",
+ " comm.close()\n",
+ " };\n",
+ " ws.send = function(m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function(msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
+ " ws.onmessage(msg['content']['data'])\n",
+ " });\n",
+ " return ws;\n",
+ "}\n",
+ "\n",
+ "mpl.mpl_figure_comm = function(comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = $(\"#\" + id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm)\n",
+ "\n",
+ " function ondownload(figure, format) {\n",
+ " window.open(figure.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy,\n",
+ " ondownload,\n",
+ " element.get(0));\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element.get(0);\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error(\"Failed to find cell for figure\", id, fig);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var output_index = fig.cell_info[2]\n",
+ " var cell = fig.cell_info[0];\n",
+ "\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+ " var width = fig.canvas.width/mpl.ratio\n",
+ " fig.root.unbind('remove')\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable()\n",
+ " $(fig.parent_element).html('');\n",
+ " fig.close_ws(fig, msg);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width/mpl.ratio\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] = '';\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message(\"ack\", {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () { fig.push_to_output() }, 1000);\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) { continue; };\n",
+ "\n",
+ " var button = $('');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = $('');\n",
+ " var button = $('');\n",
+ " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+ " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+ " buttongrp.append(button);\n",
+ " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+ " titlebar.prepend(buttongrp);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function(el){\n",
+ " var fig = this\n",
+ " el.on(\"remove\", function(){\n",
+ "\tfig.close_ws(fig, {});\n",
+ " });\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+ " // this is important to make the div 'focusable\n",
+ " el.attr('tabindex', 0)\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " }\n",
+ " else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " var manager = IPython.notebook.keyboard_manager;\n",
+ " if (!manager)\n",
+ " manager = IPython.keyboard_manager;\n",
+ "\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which == 13) {\n",
+ " this.canvas_div.blur();\n",
+ " event.shiftKey = false;\n",
+ " // Send a \"J\" for go to next cell\n",
+ " event.which = 74;\n",
+ " event.keyCode = 74;\n",
+ " manager.command_mode();\n",
+ " manager.handle_keydown(event);\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.find_output_cell = function(html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i=0; i= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] == html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel != null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "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 = $('');\n",
+ " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+ " 'ui-button-icon-only');\n",
+ " button.attr('role', 'button');\n",
+ " button.attr('aria-disabled', 'false');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ "\n",
+ " var icon_img = $('');\n",
+ " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+ " icon_img.addClass(image);\n",
+ " icon_img.addClass('ui-corner-all');\n",
+ "\n",
+ " var tooltip_span = $('');\n",
+ " tooltip_span.addClass('ui-button-text');\n",
+ " tooltip_span.html(tooltip);\n",
+ "\n",
+ " button.append(icon_img);\n",
+ " button.append(tooltip_span);\n",
+ "\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker_span = $('');\n",
+ "\n",
+ " var fmt_picker = $('');\n",
+ " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+ " fmt_picker_span.append(fmt_picker);\n",
+ " nav_element.append(fmt_picker_span);\n",
+ " this.format_dropdown = fmt_picker[0];\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = $(\n",
+ " '', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+ " fmt_picker.append(option)\n",
+ " }\n",
+ "\n",
+ " // Add hover states to the ui-buttons\n",
+ " $( \".ui-button\" ).hover(\n",
+ " function() { $(this).addClass(\"ui-state-hover\");},\n",
+ " function() { $(this).removeClass(\"ui-state-hover\");}\n",
+ " );\n",
+ "\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function(type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function() {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1]);\n",
+ " fig.send_message(\"refresh\", {});\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+ " var x0 = msg['x0'] / mpl.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+ " var x1 = msg['x1'] / mpl.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0, 0, fig.canvas.width, fig.canvas.height);\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+ " var cursor = msg['cursor'];\n",
+ " switch(cursor)\n",
+ " {\n",
+ " case 0:\n",
+ " cursor = 'pointer';\n",
+ " break;\n",
+ " case 1:\n",
+ " cursor = 'default';\n",
+ " break;\n",
+ " case 2:\n",
+ " cursor = 'crosshair';\n",
+ " break;\n",
+ " case 3:\n",
+ " cursor = 'move';\n",
+ " break;\n",
+ " }\n",
+ " fig.rubberband_canvas.style.cursor = cursor;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message(\"ack\", {});\n",
+ "}\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " evt.data.type = \"image/png\";\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " evt.data);\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig[\"handle_\" + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function(e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e)\n",
+ " e = window.event;\n",
+ " if (e.target)\n",
+ " targ = e.target;\n",
+ " else if (e.srcElement)\n",
+ " targ = e.srcElement;\n",
+ " if (targ.nodeType == 3) // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ "\n",
+ " // jQuery normalizes the pageX and pageY\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " // offset() returns the position of the element relative to the document\n",
+ " var x = e.pageX - $(targ).offset().left;\n",
+ " var y = e.pageY - $(targ).offset().top;\n",
+ "\n",
+ " return {\"x\": x, \"y\": y};\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * http://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys (original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object')\n",
+ " obj[key] = original[key]\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+ " var canvas_pos = mpl.findpos(event)\n",
+ "\n",
+ " if (name === 'button_press')\n",
+ " {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * mpl.ratio;\n",
+ " var y = canvas_pos.y * mpl.ratio;\n",
+ "\n",
+ " this.send_message(name, {x: x, y: y, button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function(event, name) {\n",
+ "\n",
+ " // Prevent repeat events\n",
+ " if (name == 'key_press')\n",
+ " {\n",
+ " if (event.which === this._key)\n",
+ " return;\n",
+ " else\n",
+ " this._key = event.which;\n",
+ " }\n",
+ " if (name == 'key_release')\n",
+ " this._key = null;\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.which != 17)\n",
+ " value += \"ctrl+\";\n",
+ " if (event.altKey && event.which != 18)\n",
+ " value += \"alt+\";\n",
+ " if (event.shiftKey && event.which != 16)\n",
+ " value += \"shift+\";\n",
+ "\n",
+ " value += 'k';\n",
+ " value += event.which.toString();\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, {key: value,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+ " if (name == 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message(\"toolbar_button\", {name: name});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.close = function() {\n",
+ " comm.close()\n",
+ " };\n",
+ " ws.send = function(m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function(msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
+ " ws.onmessage(msg['content']['data'])\n",
+ " });\n",
+ " return ws;\n",
+ "}\n",
+ "\n",
+ "mpl.mpl_figure_comm = function(comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = $(\"#\" + id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm)\n",
+ "\n",
+ " function ondownload(figure, format) {\n",
+ " window.open(figure.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy,\n",
+ " ondownload,\n",
+ " element.get(0));\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element.get(0);\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error(\"Failed to find cell for figure\", id, fig);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var output_index = fig.cell_info[2]\n",
+ " var cell = fig.cell_info[0];\n",
+ "\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+ " var width = fig.canvas.width/mpl.ratio\n",
+ " fig.root.unbind('remove')\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable()\n",
+ " $(fig.parent_element).html('');\n",
+ " fig.close_ws(fig, msg);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width/mpl.ratio\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] = '';\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message(\"ack\", {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () { fig.push_to_output() }, 1000);\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) { continue; };\n",
+ "\n",
+ " var button = $('');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = $('');\n",
+ " var button = $('');\n",
+ " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+ " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+ " buttongrp.append(button);\n",
+ " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+ " titlebar.prepend(buttongrp);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function(el){\n",
+ " var fig = this\n",
+ " el.on(\"remove\", function(){\n",
+ "\tfig.close_ws(fig, {});\n",
+ " });\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+ " // this is important to make the div 'focusable\n",
+ " el.attr('tabindex', 0)\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " }\n",
+ " else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " var manager = IPython.notebook.keyboard_manager;\n",
+ " if (!manager)\n",
+ " manager = IPython.keyboard_manager;\n",
+ "\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which == 13) {\n",
+ " this.canvas_div.blur();\n",
+ " event.shiftKey = false;\n",
+ " // Send a \"J\" for go to next cell\n",
+ " event.which = 74;\n",
+ " event.keyCode = 74;\n",
+ " manager.command_mode();\n",
+ " manager.handle_keydown(event);\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.find_output_cell = function(html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i=0; i= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] == html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel != null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ ""
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "lander env att 2 fixed\n",
+ "Landing_icgen:\n",
+ " downrange : (0, 2000, -70, -10)\n",
+ " crossrange : (-1000, 1000, -30, 30)\n",
+ " altitude : (2300, 2400, -90, -70)\n",
+ "PPO Policy 1\n",
+ "Policy Params -- h1: 120, h2: 69, h3: 40, lr: 0.000108, logvar_speed: 8\n",
+ "[[-1.]\n",
+ " [ 0.]\n",
+ " [ 1.]]\n",
+ "10\n",
+ "Actor Test Mode: False\n",
+ "clip param: 0.1\n",
+ "Value Params -- h1: 120, h2: 24, h3: 5, lr: 0.00204\n",
+ "Value Function: cliprange = 0.5 network_scale = 10\n",
+ "*** ATT VIO TYPE CNT: [0. 0. 1.]\n",
+ "*** SCALER WARMUP COMPLETE *** \n",
+ "[2.20911373e+01 2.31365820e+01 5.78573131e+00 6.54662891e-02\n",
+ " 1.99318157e-01 1.86455899e-01 1.32832512e-01 8.34887608e-01\n",
+ " 6.86590455e-01 1.13673173e-02 3.98478143e+00 4.70297807e+01]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 57. 45.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 75. 127.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 100. 202.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 124. 279.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 152. 352.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 175. 429.]\n",
+ "kl = 0.0021941157 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.60469085 0.60731274 0.60162914 0.6086916 ]\n",
+ "FIT: 5.812522553549601 2.9582019577946848 4.246934516618538 0.26053045074179576\n",
+ "Update Cnt = 0 ET = 67.4 Stats: Mean, Std, Min, Max\n",
+ "r_f | 920.8 -11.0 2177.0 | 586.4 579.2 87.7 | -210.7 -1074.2 1874.9 | 1970.5 1065.1 2351.4\n",
+ "v_f | -38.80 0.13 -83.16 | 16.87 17.67 6.20 | -70.64 -34.24 -97.65 | -2.78 33.06 -70.50\n",
+ "r_i | 1004.3 -11.2 2350.0 | 581.2 578.2 28.4 | 0.7 -997.0 2300.0 | 1996.2 998.8 2400.0\n",
+ "v_i | -41.02 -0.18 -80.14 | 16.74 17.33 5.76 | -69.85 -29.99 -90.00 | -10.01 29.98 -70.00\n",
+ "norm_rf | 2492.5 | 248.7 | 1896.8 | 3153.4\n",
+ "norm_vf | 94.70 | 9.43 | 73.34 | 117.77\n",
+ "gs_f | 2.3 | 1.3 | 1.0 | 14.9\n",
+ "thrust | 1849 391 4095 | 3713 3130 2357 | -13641 -14966 201 | 16463 13608 15513\n",
+ "norm_thrust | 6573 | 2504 | 3464 | 18953\n",
+ "fuel | 7 | 3 | 2 | 20\n",
+ "rewards | -114.14 | 6.52 | -175.08 | -105.33\n",
+ "fuel_rewards | -0.19 | 0.08 | -0.52 | -0.05\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 2.10 | 1.01 | 0.97 | 7.79\n",
+ "norm_af | 1.68 | 0.22 | 1.38 | 2.58\n",
+ "norm_wf | 2.08 | 0.85 | 0.14 | 4.65\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -9.70 | 5.37 | -65.66 | -3.93\n",
+ "att_penalty | -100.00 | 0.00 | -100.00 | -100.00\n",
+ "attitude | 0.01 0.43 -0.08 | 0.54 0.60 0.65 | -3.11 -1.53 -2.02 | 3.12 1.45 2.22\n",
+ "w | 0.04 -0.44 0.00 | 0.80 0.97 0.01 | -3.30 -4.53 -0.13 | 3.77 2.59 0.17\n",
+ "a_f | 0.04 -0.06 | 1.02 1.35 | -1.53 -2.02 | 1.45 2.22\n",
+ "w_f | 0.31 -0.91 0.00 | 1.23 1.62 0.03 | -3.30 -4.53 -0.13 | 3.77 2.59 0.17\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 2487.49 | 248.66 | 1891.80 | 3148.36\n",
+ "tracking_rewards | -4.26 | 2.55 | -16.53 | -0.62\n",
+ "steps | 11 | 5 | 3 | 30\n",
+ "***** Episode 0, Mean R = -114.1 Std R = 6.5 Min R = -175.1\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.0209\n",
+ "ExplainedVarOld: -0.209\n",
+ "KL: 0.00219\n",
+ "PolicyEntropy: 3.67\n",
+ "PolicyLoss: -0.00798\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 1.2e+04\n",
+ "ValFuncLoss: 9.06\n",
+ "Variance: 0.609\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 215. 489.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 246. 559.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 284. 621.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 314. 691.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 352. 755.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 380. 827.]\n",
+ "kl = 0.0015612795 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.6021907 0.60877675 0.59681094 0.61204636]\n",
+ "FIT: 5.83983687246354 2.4080009475721647 4.220479774053318 0.21398502693845206\n",
+ "***** Episode 1102, Mean R = -114.1 Std R = 6.2 Min R = -164.9\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: -0.000476\n",
+ "ExplainedVarOld: -0.0179\n",
+ "KL: 0.00156\n",
+ "PolicyEntropy: 3.67\n",
+ "PolicyLoss: -0.00647\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 2.4e+04\n",
+ "ValFuncLoss: 4.46\n",
+ "Variance: 0.612\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 420. 888.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 447. 962.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 489. 1021.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 528. 1082.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 571. 1139.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 604. 1208.]\n",
+ "kl = 0.0020212026 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.601205 0.6078285 0.591411 0.6148649]\n",
+ "FIT: 5.774556673820143 2.127766349763668 4.218323300271014 0.20698149625964923\n",
+ "***** Episode 2225, Mean R = -114.4 Std R = 5.9 Min R = -157.6\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.000266\n",
+ "ExplainedVarOld: -0.000948\n",
+ "KL: 0.00202\n",
+ "PolicyEntropy: 3.66\n",
+ "PolicyLoss: -0.00709\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 3.6e+04\n",
+ "ValFuncLoss: 2.77\n",
+ "Variance: 0.615\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 636. 1277.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 673. 1341.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 706. 1409.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 740. 1476.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 773. 1544.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 808. 1610.]\n",
+ "kl = 0.0008195254 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.5993742 0.6087238 0.5867747 0.616959 ]\n",
+ "FIT: 5.694932705584857 2.4973570908168115 4.187755787189747 0.2074828081183352\n",
+ "***** Episode 3333, Mean R = -114.7 Std R = 6.8 Min R = -158.0\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.000969\n",
+ "ExplainedVarOld: -0.000188\n",
+ "KL: 0.00082\n",
+ "PolicyEntropy: 3.65\n",
+ "PolicyLoss: -0.00403\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 4.8e+04\n",
+ "ValFuncLoss: 1.55\n",
+ "Variance: 0.617\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 830. 1689.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 862. 1757.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 893. 1826.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 928. 1892.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 964. 1957.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 995. 2029.]\n",
+ "kl = 0.0006742936 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.5999385 0.60835975 0.58375597 0.6188853 ]\n",
+ "FIT: 5.708494406380937 3.0565299661437013 4.146424252237949 0.20799153316626176\n",
+ "***** Episode 4411, Mean R = -115.2 Std R = 6.8 Min R = -179.3\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.158\n",
+ "ExplainedVarOld: 0.00143\n",
+ "KL: 0.000674\n",
+ "PolicyEntropy: 3.65\n",
+ "PolicyLoss: -0.00396\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 6.01e+04\n",
+ "ValFuncLoss: 0.838\n",
+ "Variance: 0.619\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1028. 2096.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1061. 2164.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1096. 2230.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1128. 2298.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1157. 2370.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1193. 2435.]\n",
+ "kl = 0.000718144 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.5992059 0.6080659 0.5800156 0.620394 ]\n",
+ "FIT: 5.698612393456751 2.5401123844511613 4.139514609768153 0.20572720392094018\n",
+ "***** Episode 5437, Mean R = -114.9 Std R = 6.4 Min R = -156.4\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.462\n",
+ "ExplainedVarOld: 0.166\n",
+ "KL: 0.000718\n",
+ "PolicyEntropy: 3.64\n",
+ "PolicyLoss: -0.00428\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 7.21e+04\n",
+ "ValFuncLoss: 0.452\n",
+ "Variance: 0.62\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1222. 2506.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1257. 2571.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1285. 2643.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1316. 2713.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1350. 2780.]\n",
+ "kl = 0.0008592612 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.59687066 0.60634923 0.5757184 0.62212074]\n",
+ "FIT: 5.649151882535467 1.6743148593945463 4.0902713629896414 0.20436619672741455\n",
+ "***** Episode 6461, Mean R = -115.4 Std R = 6.9 Min R = -158.2\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.533\n",
+ "ExplainedVarOld: 0.386\n",
+ "KL: 0.000859\n",
+ "PolicyEntropy: 3.63\n",
+ "PolicyLoss: -0.00554\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 8.41e+04\n",
+ "ValFuncLoss: 0.388\n",
+ "Variance: 0.622\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1376. 2854.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1406. 2924.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1432. 2998.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1464. 3066.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1496. 3134.]\n",
+ "kl = 0.0012364808 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.5952693 0.6045466 0.5718434 0.6216616]\n",
+ "FIT: 5.713146015929184 1.8779855678066901 4.077626419779749 0.2093269810528785\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 7444, Mean R = -115.9 Std R = 7.5 Min R = -159.7\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.574\n",
+ "ExplainedVarOld: 0.524\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: 3.62\n",
+ "PolicyLoss: -0.00635\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 9.61e+04\n",
+ "ValFuncLoss: 0.344\n",
+ "Variance: 0.622\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1526. 3204.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1560. 3270.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1584. 3347.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1611. 3420.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1641. 3490.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1666. 3566.]\n",
+ "kl = 0.0026859262 beta = 0.02962962962962963 lr_mult = 1.0\n",
+ "var: [0.5925377 0.60394746 0.5682584 0.62028563]\n",
+ "FIT: 5.678681293112308 2.0026316363951437 4.011018208580169 0.20800243521570272\n",
+ "***** Episode 8403, Mean R = -116.0 Std R = 7.5 Min R = -174.8\n",
+ "Beta: 0.0296\n",
+ "ExplainedVarNew: 0.571\n",
+ "ExplainedVarOld: 0.533\n",
+ "KL: 0.00269\n",
+ "PolicyEntropy: 3.61\n",
+ "PolicyLoss: -0.00644\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 1.08e+05\n",
+ "ValFuncLoss: 0.377\n",
+ "Variance: 0.62\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1689. 3645.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1706. 3728.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1734. 3800.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1751. 3885.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1774. 3962.]\n",
+ "kl = 0.0007620302 beta = 0.02962962962962963 lr_mult = 1.0\n",
+ "var: [0.5910194 0.60264504 0.5652962 0.6204889 ]\n",
+ "FIT: 5.748727203144213 1.9420137756762395 3.9132624524506667 0.20424836005311256\n",
+ "***** Episode 9318, Mean R = -116.7 Std R = 7.8 Min R = -159.1\n",
+ "Beta: 0.0296\n",
+ "ExplainedVarNew: 0.57\n",
+ "ExplainedVarOld: 0.529\n",
+ "KL: 0.000762\n",
+ "PolicyEntropy: 3.6\n",
+ "PolicyLoss: -0.00431\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 1.2e+05\n",
+ "ValFuncLoss: 0.41\n",
+ "Variance: 0.62\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1798. 4041.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1821. 4118.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1843. 4196.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1862. 4277.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1881. 4358.]\n",
+ "kl = 0.00074813305 beta = 0.02962962962962963 lr_mult = 1.0\n",
+ "var: [0.58973247 0.59991693 0.5619915 0.6207001 ]\n",
+ "FIT: 5.748656841928898 2.3031648904199624 3.918152869670841 0.20667401393796062\n",
+ "Update Cnt = 10 ET = 356.7 Stats: Mean, Std, Min, Max\n",
+ "r_f | 903.7 7.1 2155.9 | 580.5 582.5 112.6 | -389.9 -1114.2 1548.2 | 1981.8 1169.5 2359.2\n",
+ "v_f | -37.40 -0.04 -83.47 | 17.48 17.86 6.37 | -74.40 -35.21 -102.55 | 7.61 37.05 -70.32\n",
+ "r_i | 993.9 7.1 2350.1 | 575.4 580.4 29.1 | 0.1 -1000.0 2300.0 | 1999.7 999.9 2400.0\n",
+ "v_i | -40.15 -0.24 -79.97 | 17.32 17.38 5.81 | -70.00 -30.00 -90.00 | -10.00 30.00 -70.00\n",
+ "norm_rf | 2467.5 | 256.0 | 1554.4 | 3181.3\n",
+ "norm_vf | 94.57 | 9.34 | 71.49 | 121.35\n",
+ "gs_f | 2.4 | 1.6 | 1.0 | 80.7\n",
+ "thrust | 2146 296 4051 | 3604 3084 2294 | -16338 -14999 153 | 16995 18361 17774\n",
+ "norm_thrust | 6535 | 2482 | 3464 | 20000\n",
+ "fuel | 8 | 4 | 2 | 35\n",
+ "rewards | -115.34 | 7.01 | -179.33 | -105.27\n",
+ "fuel_rewards | -0.21 | 0.10 | -0.92 | -0.05\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 2.16 | 1.07 | 0.96 | 8.30\n",
+ "norm_af | 1.68 | 0.22 | 1.38 | 2.45\n",
+ "norm_wf | 1.75 | 0.73 | 0.04 | 4.96\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -10.30 | 5.36 | -62.60 | -3.93\n",
+ "att_penalty | -100.00 | 0.00 | -100.00 | -100.00\n",
+ "attitude | -0.02 0.47 -0.03 | 0.51 0.59 0.64 | -3.13 -1.51 -2.07 | 3.14 1.48 2.03\n",
+ "w | 0.06 -0.26 0.00 | 0.72 0.85 0.01 | -3.21 -4.40 -0.18 | 4.37 2.99 0.17\n",
+ "a_f | 0.24 0.04 | 1.03 1.32 | -1.51 -2.07 | 1.48 2.03\n",
+ "w_f | 0.25 -0.41 0.00 | 1.08 1.48 0.02 | -3.21 -4.40 -0.15 | 4.36 2.99 0.17\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 2462.46 | 256.00 | 1549.43 | 3176.31\n",
+ "tracking_rewards | -4.83 | 3.25 | -27.19 | -0.47\n",
+ "steps | 12 | 6 | 3 | 45\n",
+ "***** Episode 10151, Mean R = -117.1 Std R = 8.0 Min R = -174.0\n",
+ "Beta: 0.0296\n",
+ "ExplainedVarNew: 0.593\n",
+ "ExplainedVarOld: 0.538\n",
+ "KL: 0.000748\n",
+ "PolicyEntropy: 3.58\n",
+ "PolicyLoss: -0.00419\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 1.32e+05\n",
+ "ValFuncLoss: 0.392\n",
+ "Variance: 0.621\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1904. 4435.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1925. 4514.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1943. 4596.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1957. 4684.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1972. 4769.]\n",
+ "kl = 0.0006495393 beta = 0.02962962962962963 lr_mult = 1.0\n",
+ "var: [0.588808 0.59868664 0.5595911 0.61955965]\n",
+ "FIT: 5.711100578461055 2.055282043249481 3.8717040993303686 0.20998742184241617\n",
+ "***** Episode 10980, Mean R = -117.4 Std R = 7.9 Min R = -163.2\n",
+ "Beta: 0.0296\n",
+ "ExplainedVarNew: 0.607\n",
+ "ExplainedVarOld: 0.554\n",
+ "KL: 0.00065\n",
+ "PolicyEntropy: 3.57\n",
+ "PolicyLoss: -0.00381\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 1.44e+05\n",
+ "ValFuncLoss: 0.394\n",
+ "Variance: 0.62\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 1991. 4851.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2008. 4934.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2024. 5018.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2040. 5103.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2061. 5184.]\n",
+ "kl = 0.00070713944 beta = 0.02962962962962963 lr_mult = 1.0\n",
+ "var: [0.5873851 0.5961986 0.55679303 0.61942136]\n",
+ "FIT: 5.748517558370698 2.3527798035634997 3.827662510818721 0.20439494878996725\n",
+ "***** Episode 11778, Mean R = -117.2 Std R = 7.6 Min R = -166.8\n",
+ "Beta: 0.0296\n",
+ "ExplainedVarNew: 0.584\n",
+ "ExplainedVarOld: 0.533\n",
+ "KL: 0.000707\n",
+ "PolicyEntropy: 3.56\n",
+ "PolicyLoss: -0.00429\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 1.56e+05\n",
+ "ValFuncLoss: 0.422\n",
+ "Variance: 0.619\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2081. 5265.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2105. 5342.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2121. 5426.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2142. 5505.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2166. 5582.]\n",
+ "kl = 0.000824491 beta = 0.02962962962962963 lr_mult = 1.0\n",
+ "var: [0.5865413 0.5938812 0.5542529 0.6196252]\n",
+ "FIT: 5.830975875237867 2.198328054388178 3.804824867865721 0.20993543329096961\n",
+ "***** Episode 12553, Mean R = -118.1 Std R = 9.3 Min R = -179.3\n",
+ "Beta: 0.0296\n",
+ "ExplainedVarNew: 0.589\n",
+ "ExplainedVarOld: 0.541\n",
+ "KL: 0.000824\n",
+ "PolicyEntropy: 3.55\n",
+ "PolicyLoss: -0.00414\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 1.68e+05\n",
+ "ValFuncLoss: 0.424\n",
+ "Variance: 0.62\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2182. 5666.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2203. 5745.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2221. 5827.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2244. 5904.]\n",
+ "kl = 0.0005912189 beta = 0.02962962962962963 lr_mult = 1.0\n",
+ "var: [0.5857576 0.5911553 0.552033 0.6184403]\n",
+ "FIT: 5.646485032593864 2.317839650096012 3.7075942526423 0.20945617828701604\n",
+ "***** Episode 13307, Mean R = -118.3 Std R = 8.3 Min R = -165.6\n",
+ "Beta: 0.0296\n",
+ "ExplainedVarNew: 0.577\n",
+ "ExplainedVarOld: 0.52\n",
+ "KL: 0.000591\n",
+ "PolicyEntropy: 3.54\n",
+ "PolicyLoss: -0.00387\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 1.8e+05\n",
+ "ValFuncLoss: 0.481\n",
+ "Variance: 0.618\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2257. 5991.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2279. 6069.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2293. 6156.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2314. 6235.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2329. 6320.]\n",
+ "kl = 0.00069462176 beta = 0.02962962962962963 lr_mult = 1.0\n",
+ "var: [0.5854275 0.5880281 0.5494111 0.61771894]\n",
+ "FIT: 5.625912218551084 2.0564050286882893 3.7289996614925585 0.2084650453021096\n",
+ "***** Episode 14015, Mean R = -118.7 Std R = 8.4 Min R = -158.3\n",
+ "Beta: 0.0296\n",
+ "ExplainedVarNew: 0.596\n",
+ "ExplainedVarOld: 0.547\n",
+ "KL: 0.000695\n",
+ "PolicyEntropy: 3.53\n",
+ "PolicyLoss: -0.00396\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 1.92e+05\n",
+ "ValFuncLoss: 0.453\n",
+ "Variance: 0.618\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2345. 6405.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2360. 6490.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2384. 6566.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2405. 6645.]\n",
+ "kl = 0.0007051072 beta = 0.02962962962962963 lr_mult = 1.0\n",
+ "var: [0.58433807 0.58701366 0.5471785 0.61786765]\n",
+ "FIT: 5.798076347301528 2.0857636345634294 3.6890089380463125 0.20872470205412263\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 14719, Mean R = -119.0 Std R = 8.9 Min R = -170.9\n",
+ "Beta: 0.0296\n",
+ "ExplainedVarNew: 0.59\n",
+ "ExplainedVarOld: 0.541\n",
+ "KL: 0.000705\n",
+ "PolicyEntropy: 3.52\n",
+ "PolicyLoss: -0.00375\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 2.04e+05\n",
+ "ValFuncLoss: 0.478\n",
+ "Variance: 0.618\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2421. 6730.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2435. 6816.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2457. 6894.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2472. 6979.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2489. 7062.]\n",
+ "kl = 0.0006844206 beta = 0.02962962962962963 lr_mult = 1.0\n",
+ "var: [0.58347964 0.58482385 0.5455981 0.6150939 ]\n",
+ "FIT: 5.782928591370707 2.243996504450003 3.634832327346109 0.209694035538338\n",
+ "***** Episode 15404, Mean R = -119.4 Std R = 9.4 Min R = -179.3\n",
+ "Beta: 0.0296\n",
+ "ExplainedVarNew: 0.613\n",
+ "ExplainedVarOld: 0.551\n",
+ "KL: 0.000684\n",
+ "PolicyEntropy: 3.51\n",
+ "PolicyLoss: -0.00377\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 2.16e+05\n",
+ "ValFuncLoss: 0.459\n",
+ "Variance: 0.615\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2504. 7147.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2519. 7232.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2532. 7319.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2541. 7410.]\n",
+ "kl = 0.00055523135 beta = 0.02962962962962963 lr_mult = 1.0\n",
+ "var: [0.5830673 0.58319825 0.5441076 0.6134985 ]\n",
+ "FIT: 5.691256591433505 2.364382772713764 3.6022225775263723 0.21099639777509538\n",
+ "***** Episode 16060, Mean R = -119.4 Std R = 8.7 Min R = -172.4\n",
+ "Beta: 0.0296\n",
+ "ExplainedVarNew: 0.598\n",
+ "ExplainedVarOld: 0.544\n",
+ "KL: 0.000555\n",
+ "PolicyEntropy: 3.5\n",
+ "PolicyLoss: -0.00364\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 2.28e+05\n",
+ "ValFuncLoss: 0.496\n",
+ "Variance: 0.613\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2556. 7496.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2568. 7584.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2582. 7670.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2587. 7765.]\n",
+ "kl = 0.0006449927 beta = 0.02962962962962963 lr_mult = 1.0\n",
+ "var: [0.5826276 0.5805308 0.5419701 0.60929614]\n",
+ "FIT: 5.63479387954612 2.113123368829704 3.571053226094236 0.21144485434849175\n",
+ "***** Episode 16706, Mean R = -120.0 Std R = 9.0 Min R = -170.5\n",
+ "Beta: 0.0296\n",
+ "ExplainedVarNew: 0.614\n",
+ "ExplainedVarOld: 0.551\n",
+ "KL: 0.000645\n",
+ "PolicyEntropy: 3.48\n",
+ "PolicyLoss: -0.00375\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 2.4e+05\n",
+ "ValFuncLoss: 0.478\n",
+ "Variance: 0.609\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2603. 7849.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2619. 7933.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2631. 8021.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2639. 8113.]\n",
+ "kl = 0.0005608482 beta = 0.02962962962962963 lr_mult = 1.0\n",
+ "var: [0.58230096 0.5792935 0.5409197 0.607838 ]\n",
+ "FIT: 5.641922174464735 2.574550507555371 3.50095069590312 0.212707622194254\n",
+ "Update Cnt = 20 ET = 359.4 Stats: Mean, Std, Min, Max\n",
+ "r_f | 873.5 -9.4 2068.9 | 587.8 582.4 150.5 | -453.1 -1167.2 1274.5 | 1988.4 1222.3 2352.7\n",
+ "v_f | -37.46 -0.22 -85.02 | 17.56 17.83 6.50 | -75.24 -37.61 -107.11 | 1.09 37.33 -70.66\n",
+ "r_i | 1002.3 -10.4 2349.9 | 576.9 579.1 29.2 | 0.4 -998.9 2300.0 | 1999.7 999.1 2400.0\n",
+ "v_i | -40.38 -0.09 -79.95 | 17.33 17.27 5.72 | -69.98 -29.99 -90.00 | -10.00 29.99 -70.00\n",
+ "norm_rf | 2381.5 | 281.5 | 1376.4 | 3189.2\n",
+ "norm_vf | 95.98 | 9.41 | 72.42 | 122.69\n",
+ "gs_f | 2.5 | 1.7 | 1.0 | 36.3\n",
+ "thrust | 1581 -0 4137 | 3579 3032 2215 | -16019 -14509 154 | 16807 15947 17907\n",
+ "norm_thrust | 6396 | 2367 | 3464 | 19769\n",
+ "fuel | 11 | 5 | 2 | 40\n",
+ "rewards | -118.78 | 8.82 | -179.33 | -105.99\n",
+ "fuel_rewards | -0.28 | 0.14 | -1.05 | -0.05\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 2.14 | 1.06 | 0.96 | 8.83\n",
+ "norm_af | 1.66 | 0.21 | 1.37 | 2.40\n",
+ "norm_wf | 1.54 | 0.65 | 0.03 | 4.25\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -11.42 | 6.32 | -58.24 | -3.93\n",
+ "att_penalty | -100.00 | 0.00 | -100.00 | -100.00\n",
+ "attitude | -0.03 0.35 0.05 | 0.53 0.61 0.62 | -3.13 -1.50 -1.92 | 3.13 1.47 1.99\n",
+ "w | 0.14 -0.32 0.00 | 0.63 0.71 0.01 | -2.83 -4.15 -0.15 | 3.44 2.66 0.18\n",
+ "a_f | -0.13 0.40 | 1.01 1.27 | -1.50 -1.92 | 1.47 1.99\n",
+ "w_f | 0.47 -0.72 0.00 | 0.85 1.16 0.02 | -2.83 -4.15 -0.15 | 3.39 2.66 0.18\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 2376.49 | 281.49 | 1371.40 | 3184.17\n",
+ "tracking_rewards | -7.08 | 4.61 | -42.13 | -0.59\n",
+ "steps | 17 | 9 | 3 | 58\n",
+ "***** Episode 17329, Mean R = -121.3 Std R = 10.1 Min R = -175.6\n",
+ "Beta: 0.0296\n",
+ "ExplainedVarNew: 0.616\n",
+ "ExplainedVarOld: 0.56\n",
+ "KL: 0.000561\n",
+ "PolicyEntropy: 3.48\n",
+ "PolicyLoss: -0.00358\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 2.52e+05\n",
+ "ValFuncLoss: 0.487\n",
+ "Variance: 0.608\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2651. 8201.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2666. 8286.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2678. 8374.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2692. 8461.]\n",
+ "kl = 0.00043274235 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.5816657 0.57560706 0.5390519 0.60627484]\n",
+ "FIT: 5.679013121655611 2.3303473720111962 3.448581598480695 0.21364316302439923\n",
+ "***** Episode 17908, Mean R = -120.8 Std R = 9.6 Min R = -164.8\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.602\n",
+ "ExplainedVarOld: 0.536\n",
+ "KL: 0.000433\n",
+ "PolicyEntropy: 3.46\n",
+ "PolicyLoss: -0.00363\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 2.64e+05\n",
+ "ValFuncLoss: 0.541\n",
+ "Variance: 0.606\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2698. 8555.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2706. 8647.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2719. 8734.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2730. 8824.]\n",
+ "kl = 0.0013596223 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.5798988 0.5718449 0.5373073 0.6049156]\n",
+ "FIT: 5.700411106452799 2.201418325503229 3.4445921135082247 0.21012822064998743\n",
+ "***** Episode 18477, Mean R = -120.6 Std R = 8.7 Min R = -166.0\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.611\n",
+ "ExplainedVarOld: 0.541\n",
+ "KL: 0.00136\n",
+ "PolicyEntropy: 3.45\n",
+ "PolicyLoss: -0.00499\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 2.76e+05\n",
+ "ValFuncLoss: 0.512\n",
+ "Variance: 0.605\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2739. 8915.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2747. 9007.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2762. 9093.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2771. 9185.]\n",
+ "kl = 0.0016394617 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.58016753 0.56777227 0.53652316 0.60169417]\n",
+ "FIT: 5.699291862998324 2.1727696568013086 3.316533182820218 0.2173060408037064\n",
+ "***** Episode 19044, Mean R = -122.8 Std R = 10.0 Min R = -179.1\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.638\n",
+ "ExplainedVarOld: 0.579\n",
+ "KL: 0.00164\n",
+ "PolicyEntropy: 3.43\n",
+ "PolicyLoss: -0.00498\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 2.88e+05\n",
+ "ValFuncLoss: 0.521\n",
+ "Variance: 0.602\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2781. 9275.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2790. 9366.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2804. 9452.]\n",
+ "kl = 0.0013816943 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.5829858 0.5649853 0.5353371 0.5984152]\n",
+ "FIT: 5.666275738990483 2.244101330518204 3.2699699343105793 0.21866770858712714\n",
+ "***** Episode 19553, Mean R = -122.5 Std R = 10.3 Min R = -177.1\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.616\n",
+ "ExplainedVarOld: 0.56\n",
+ "KL: 0.00138\n",
+ "PolicyEntropy: 3.43\n",
+ "PolicyLoss: -0.0052\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 3e+05\n",
+ "ValFuncLoss: 0.552\n",
+ "Variance: 0.598\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2809. 9547.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2822. 9634.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2830. 9726.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2838. 9818.]\n",
+ "kl = 0.0013051375 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.5853358 0.56056345 0.534013 0.59621763]\n",
+ "FIT: 5.596341916530525 2.5556701940878903 3.156908359780528 0.21915591189155875\n",
+ "***** Episode 20048, Mean R = -124.1 Std R = 10.1 Min R = -160.3\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.636\n",
+ "ExplainedVarOld: 0.576\n",
+ "KL: 0.00131\n",
+ "PolicyEntropy: 3.42\n",
+ "PolicyLoss: -0.00511\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 3.12e+05\n",
+ "ValFuncLoss: 0.568\n",
+ "Variance: 0.596\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2840. 9916.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2846. 10010.]\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "*** ATT VIO TYPE CNT: [ 0. 2857. 10099.]\n",
+ "kl = 0.0011840381 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.5860935 0.55636644 0.53312385 0.59141195]\n",
+ "FIT: 5.633702618046725 2.8021222342491106 3.0919866980959196 0.2260774904803072\n",
+ "***** Episode 20502, Mean R = -126.2 Std R = 11.7 Min R = -177.8\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.638\n",
+ "ExplainedVarOld: 0.579\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: 3.4\n",
+ "PolicyLoss: -0.00519\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 3.24e+05\n",
+ "ValFuncLoss: 0.576\n",
+ "Variance: 0.591\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2866. 10190.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2875. 10281.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2885. 10371.]\n",
+ "kl = 0.0011801443 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.5865591 0.55231375 0.5319318 0.5878849 ]\n",
+ "FIT: 5.586214879065085 2.7987931995976716 3.056136489464901 0.22194654274245595\n",
+ "***** Episode 20927, Mean R = -125.5 Std R = 10.6 Min R = -173.6\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.649\n",
+ "ExplainedVarOld: 0.582\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: 3.39\n",
+ "PolicyLoss: -0.00507\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 3.36e+05\n",
+ "ValFuncLoss: 0.57\n",
+ "Variance: 0.588\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2894. 10462.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2901. 10555.]\n",
+ "kl = 0.000971396 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.5882395 0.5491952 0.5321981 0.58371294]\n",
+ "FIT: 5.726820288052273 2.3813860336796404 2.923553824330264 0.22772125626690948\n",
+ "***** Episode 21347, Mean R = -127.8 Std R = 12.7 Min R = -178.3\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.655\n",
+ "ExplainedVarOld: 0.574\n",
+ "KL: 0.000971\n",
+ "PolicyEntropy: 3.38\n",
+ "PolicyLoss: -0.0046\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 3.48e+05\n",
+ "ValFuncLoss: 0.6\n",
+ "Variance: 0.588\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2908. 10648.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2914. 10742.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2918. 10838.]\n",
+ "kl = 0.0008035814 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.58784115 0.54498017 0.5322237 0.5782258 ]\n",
+ "FIT: 5.691386323050749 2.633427865660206 2.8539288032454087 0.23165956480921898\n",
+ "***** Episode 21730, Mean R = -128.9 Std R = 12.5 Min R = -173.9\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.651\n",
+ "ExplainedVarOld: 0.562\n",
+ "KL: 0.000804\n",
+ "PolicyEntropy: 3.36\n",
+ "PolicyLoss: -0.0048\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 3.6e+05\n",
+ "ValFuncLoss: 0.608\n",
+ "Variance: 0.588\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2933. 10923.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2940. 11016.]\n",
+ "kl = 0.0009171111 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.58849806 0.54172254 0.5319557 0.57422054]\n",
+ "FIT: 5.550731345193727 2.091900290195039 2.8290436577563605 0.2302037840061007\n",
+ "Update Cnt = 30 ET = 355.4 Stats: Mean, Std, Min, Max\n",
+ "r_f | 813.0 12.1 1911.2 | 590.8 585.8 228.2 | -697.5 -1257.7 940.0 | 1970.4 1226.6 2335.5\n",
+ "v_f | -37.15 -0.40 -87.51 | 17.65 17.78 6.94 | -75.21 -40.84 -112.55 | 5.66 40.07 -71.53\n",
+ "r_i | 1005.5 7.7 2350.1 | 575.5 577.5 28.6 | 0.5 -998.9 2300.1 | 1999.7 999.7 2400.0\n",
+ "v_i | -40.23 -0.21 -80.05 | 17.20 17.20 5.76 | -69.98 -29.99 -89.99 | -10.01 30.00 -70.00\n",
+ "norm_rf | 2225.4 | 324.6 | 1099.2 | 3087.2\n",
+ "norm_vf | 98.09 | 9.62 | 73.04 | 129.73\n",
+ "gs_f | 2.6 | 2.4 | 1.0 | 104.6\n",
+ "thrust | 1085 -35 4346 | 3500 3037 2162 | -15558 -14722 174 | 16082 15117 16589\n",
+ "norm_thrust | 6397 | 2300 | 3464 | 18968\n",
+ "fuel | 16 | 8 | 2 | 58\n",
+ "rewards | -124.38 | 11.17 | -184.04 | -105.29\n",
+ "fuel_rewards | -0.43 | 0.21 | -1.50 | -0.06\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 2.15 | 1.05 | 0.94 | 8.88\n",
+ "norm_af | 1.64 | 0.19 | 1.37 | 2.38\n",
+ "norm_wf | 1.32 | 0.55 | 0.02 | 4.28\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -12.53 | 6.77 | -60.31 | -3.97\n",
+ "att_penalty | -100.00 | 0.00 | -100.00 | -100.00\n",
+ "attitude | -0.03 0.24 0.06 | 0.51 0.60 0.59 | -3.13 -1.46 -1.96 | 3.13 1.43 1.75\n",
+ "w | 0.12 -0.28 0.00 | 0.58 0.58 0.01 | -2.41 -3.79 -0.11 | 3.22 2.13 0.18\n",
+ "a_f | -0.41 0.66 | 0.89 1.15 | -1.46 -1.96 | 1.43 1.75\n",
+ "w_f | 0.50 -0.76 0.00 | 0.70 0.85 0.02 | -2.11 -3.79 -0.11 | 3.22 2.01 0.18\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 2220.44 | 324.60 | 1094.20 | 3082.24\n",
+ "tracking_rewards | -11.41 | 7.33 | -53.64 | -0.82\n",
+ "steps | 26 | 13 | 3 | 80\n",
+ "***** Episode 22091, Mean R = -129.5 Std R = 12.5 Min R = -184.0\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.677\n",
+ "ExplainedVarOld: 0.605\n",
+ "KL: 0.000917\n",
+ "PolicyEntropy: 3.35\n",
+ "PolicyLoss: -0.00456\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 3.72e+05\n",
+ "ValFuncLoss: 0.564\n",
+ "Variance: 0.588\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2950. 11106.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2954. 11202.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2964. 11292.]\n",
+ "kl = 0.0006961902 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.58840173 0.5372755 0.53168035 0.5694019 ]\n",
+ "FIT: 5.550104361788662 2.435272073902849 2.6992245958127157 0.2350949092832893\n",
+ "***** Episode 22443, Mean R = -131.9 Std R = 13.6 Min R = -207.3\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.68\n",
+ "ExplainedVarOld: 0.601\n",
+ "KL: 0.000696\n",
+ "PolicyEntropy: 3.33\n",
+ "PolicyLoss: -0.00433\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 3.84e+05\n",
+ "ValFuncLoss: 0.597\n",
+ "Variance: 0.588\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2969. 11387.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2974. 11482.]\n",
+ "kl = 0.00060423015 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.5880534 0.53343624 0.5315927 0.56506747]\n",
+ "FIT: 5.590720403187598 2.5947093235945027 2.5553615727000527 0.2391611981995947\n",
+ "***** Episode 22762, Mean R = -134.6 Std R = 15.8 Min R = -202.4\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.678\n",
+ "ExplainedVarOld: 0.571\n",
+ "KL: 0.000604\n",
+ "PolicyEntropy: 3.31\n",
+ "PolicyLoss: -0.00407\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 3.96e+05\n",
+ "ValFuncLoss: 0.609\n",
+ "Variance: 0.588\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2979. 11577.]\n",
+ "kl = 0.0007352287 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.5872511 0.53083116 0.53197825 0.5609324 ]\n",
+ "FIT: 5.583351354983248 2.240178290295449 2.5401355341804677 0.24233200444565645\n",
+ "***** Episode 23046, Mean R = -135.4 Std R = 14.9 Min R = -193.0\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.695\n",
+ "ExplainedVarOld: 0.596\n",
+ "KL: 0.000735\n",
+ "PolicyEntropy: 3.3\n",
+ "PolicyLoss: -0.00413\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 4.08e+05\n",
+ "ValFuncLoss: 0.575\n",
+ "Variance: 0.587\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2986. 11670.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2991. 11765.]\n",
+ "kl = 0.0007653858 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.5870605 0.52849394 0.5327401 0.558056 ]\n",
+ "FIT: 5.640995706883011 2.3861743984597545 2.438165733084011 0.24284060125147222\n",
+ "***** Episode 23325, Mean R = -137.6 Std R = 15.5 Min R = -192.3\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.715\n",
+ "ExplainedVarOld: 0.637\n",
+ "KL: 0.000765\n",
+ "PolicyEntropy: 3.29\n",
+ "PolicyLoss: -0.00427\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 4.2e+05\n",
+ "ValFuncLoss: 0.549\n",
+ "Variance: 0.587\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2994. 11862.]\n",
+ "*** ATT VIO TYPE CNT: [ 0. 2997. 11959.]\n",
+ "kl = 0.00090687734 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.5841883 0.5253681 0.5322062 0.55288845]\n",
+ "FIT: 5.539180961011893 2.514820524615153 2.323756514381758 0.25037624459573365\n",
+ "***** Episode 23582, Mean R = -140.7 Std R = 16.6 Min R = -202.6\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.708\n",
+ "ExplainedVarOld: 0.613\n",
+ "KL: 0.000907\n",
+ "PolicyEntropy: 3.27\n",
+ "PolicyLoss: -0.00386\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 4.32e+05\n",
+ "ValFuncLoss: 0.56\n",
+ "Variance: 0.584\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 3000. 12056.]\n",
+ "kl = 0.00076730223 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.5823865 0.5220167 0.53319407 0.5489394 ]\n",
+ "FIT: 5.62074267559927 2.6407246727996685 2.2689878763558764 0.25667490793396397\n",
+ "***** Episode 23817, Mean R = -143.7 Std R = 17.5 Min R = -198.9\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.725\n",
+ "ExplainedVarOld: 0.638\n",
+ "KL: 0.000767\n",
+ "PolicyEntropy: 3.26\n",
+ "PolicyLoss: -0.00392\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 4.44e+05\n",
+ "ValFuncLoss: 0.531\n",
+ "Variance: 0.582\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "*** ATT VIO TYPE CNT: [ 0. 3006. 12150.]\n",
+ "kl = 0.0008123503 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.5812549 0.5204856 0.5333877 0.54491603]\n",
+ "FIT: 5.654443822652094 3.0384477943755845 2.1719853581970856 0.2667961901099004\n",
+ "***** Episode 24039, Mean R = -150.7 Std R = 20.3 Min R = -226.1\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.753\n",
+ "ExplainedVarOld: 0.658\n",
+ "KL: 0.000812\n",
+ "PolicyEntropy: 3.24\n",
+ "PolicyLoss: -0.0039\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 4.56e+05\n",
+ "ValFuncLoss: 0.472\n",
+ "Variance: 0.581\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 3009. 12247.]\n",
+ "kl = 0.0006947866 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.5815733 0.51884466 0.5364186 0.5422163 ]\n",
+ "FIT: 5.646275600555836 2.7608681741648335 2.0536300273914545 0.26481320384729595\n",
+ "***** Episode 24236, Mean R = -153.0 Std R = 19.5 Min R = -215.2\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.777\n",
+ "ExplainedVarOld: 0.689\n",
+ "KL: 0.000695\n",
+ "PolicyEntropy: 3.24\n",
+ "PolicyLoss: -0.00382\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 4.68e+05\n",
+ "ValFuncLoss: 0.434\n",
+ "Variance: 0.582\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 3011. 12345.]\n",
+ "kl = 0.00061436306 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.5836744 0.51626635 0.53750217 0.5385018 ]\n",
+ "FIT: 5.687105043951169 2.687489118355612 2.000438975837157 0.26924626120487116\n",
+ "***** Episode 24417, Mean R = -156.8 Std R = 21.8 Min R = -228.4\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.755\n",
+ "ExplainedVarOld: 0.63\n",
+ "KL: 0.000614\n",
+ "PolicyEntropy: 3.24\n",
+ "PolicyLoss: -0.00372\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 4.81e+05\n",
+ "ValFuncLoss: 0.453\n",
+ "Variance: 0.584\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 3014. 12442.]\n",
+ "kl = 0.00057237316 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.5826444 0.5143517 0.53826475 0.5364716 ]\n",
+ "FIT: 5.539477308082501 2.737528277388698 1.894136498878401 0.27972771446339667\n",
+ "Update Cnt = 40 ET = 356.1 Stats: Mean, Std, Min, Max\n",
+ "r_f | 646.5 14.7 1447.4 | 621.7 615.0 422.3 | -1031.3 -1526.2 -3.7 | 1957.4 1546.9 2308.5\n",
+ "v_f | -35.45 0.39 -93.65 | 18.37 18.01 8.31 | -78.07 -47.49 -118.92 | 8.93 42.25 -72.53\n",
+ "r_i | 1001.6 -0.5 2349.7 | 578.6 580.7 28.8 | 0.0 -999.7 2300.0 | 1999.8 997.0 2400.0\n",
+ "v_i | -39.96 -0.23 -80.15 | 17.23 17.37 5.77 | -69.95 -29.91 -89.99 | -10.05 29.97 -70.00\n",
+ "norm_rf | 1804.6 | 446.5 | 325.4 | 2978.3\n",
+ "norm_vf | 103.18 | 10.52 | 75.63 | 137.07\n",
+ "gs_f | 3.0 | 3.2 | 1.0 | 112.4\n",
+ "thrust | 818 140 4667 | 3287 2808 2114 | -15278 -14739 187 | 14576 14327 16633\n",
+ "norm_thrust | 6374 | 2237 | 3464 | 18940\n",
+ "fuel | 32 | 15 | 3 | 96\n",
+ "rewards | -142.45 | 19.99 | -236.06 | -107.56\n",
+ "fuel_rewards | -0.84 | 0.38 | -2.50 | -0.08\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 2.15 | 1.05 | 0.95 | 8.09\n",
+ "norm_af | 1.65 | 0.19 | 1.08 | 2.23\n",
+ "norm_wf | 1.08 | 0.45 | 0.03 | 3.16\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -15.14 | 8.24 | -59.39 | -4.13\n",
+ "att_penalty | -99.87 | 3.61 | -100.00 | 0.00\n",
+ "attitude | -0.01 0.16 0.02 | 0.48 0.57 0.53 | -3.13 -1.46 -1.68 | 3.13 1.43 1.78\n",
+ "w | 0.05 -0.18 0.00 | 0.53 0.49 0.01 | -2.17 -2.99 -0.12 | 2.56 1.82 0.14\n",
+ "a_f | -0.71 0.62 | 0.74 1.15 | -1.46 -1.68 | 1.43 1.78\n",
+ "w_f | 0.32 -0.71 0.00 | 0.60 0.63 0.02 | -1.68 -2.99 -0.12 | 2.55 1.55 0.14\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 1799.63 | 446.54 | 320.41 | 2973.34\n",
+ "tracking_rewards | -26.59 | 16.17 | -108.84 | -0.94\n",
+ "steps | 52 | 23 | 4 | 135\n",
+ "***** Episode 24588, Mean R = -161.2 Std R = 26.0 Min R = -236.1\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.724\n",
+ "ExplainedVarOld: 0.583\n",
+ "KL: 0.000572\n",
+ "PolicyEntropy: 3.23\n",
+ "PolicyLoss: -0.00324\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 4.93e+05\n",
+ "ValFuncLoss: 0.506\n",
+ "Variance: 0.583\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 3019. 12537.]\n",
+ "kl = 0.0005278724 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.58333844 0.51236594 0.53863347 0.53357404]\n",
+ "FIT: 5.709808677820259 2.79194727647648 1.8294887993811828 0.2812554507955087\n",
+ "***** Episode 24744, Mean R = -165.7 Std R = 25.2 Min R = -227.1\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.759\n",
+ "ExplainedVarOld: 0.638\n",
+ "KL: 0.000528\n",
+ "PolicyEntropy: 3.22\n",
+ "PolicyLoss: -0.00308\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 5.05e+05\n",
+ "ValFuncLoss: 0.446\n",
+ "Variance: 0.583\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 3025. 12631.]\n",
+ "kl = 0.00054655713 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.58480054 0.51137143 0.5393571 0.53020173]\n",
+ "FIT: 5.602390847499839 2.5500251364804436 1.7811369143658784 0.276855932892575\n",
+ "***** Episode 24888, Mean R = -165.5 Std R = 26.0 Min R = -231.3\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.72\n",
+ "ExplainedVarOld: 0.553\n",
+ "KL: 0.000547\n",
+ "PolicyEntropy: 3.22\n",
+ "PolicyLoss: -0.00303\n",
+ "Steps: 1.2e+04\n",
+ "TotalSteps: 5.17e+05\n",
+ "ValFuncLoss: 0.489\n",
+ "Variance: 0.585\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 3029. 12727.]\n",
+ "kl = 0.0006729728 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.58342993 0.50862324 0.54049766 0.5277638 ]\n",
+ "FIT: 5.789722495548556 2.5273888478596396 1.6869183806794417 0.27542966397407376\n",
+ "***** Episode 25029, Mean R = -163.2 Std R = 35.0 Min R = -257.1\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.684\n",
+ "ExplainedVarOld: 0.498\n",
+ "KL: 0.000673\n",
+ "PolicyEntropy: 3.21\n",
+ "PolicyLoss: -0.00315\n",
+ "Steps: 1.21e+04\n",
+ "TotalSteps: 5.29e+05\n",
+ "ValFuncLoss: 0.548\n",
+ "Variance: 0.583\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00064885116 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.5808772 0.50747323 0.5423281 0.5239199 ]\n",
+ "FIT: 5.594635116828741 2.3503825023078706 1.5830529037455503 0.27952736912363924\n",
+ "***** Episode 25164, Mean R = -168.2 Std R = 34.5 Min R = -260.0\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.686\n",
+ "ExplainedVarOld: 0.485\n",
+ "KL: 0.000649\n",
+ "PolicyEntropy: 3.2\n",
+ "PolicyLoss: -0.00307\n",
+ "Steps: 1.21e+04\n",
+ "TotalSteps: 5.41e+05\n",
+ "ValFuncLoss: 0.512\n",
+ "Variance: 0.581\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 3036. 12821.]\n",
+ "kl = 0.0005307162 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.581833 0.50522196 0.54359007 0.52243173]\n",
+ "FIT: 5.762789426102617 2.324710073517245 1.4162352925016979 0.28485815734763664\n",
+ "***** Episode 25286, Mean R = -159.4 Std R = 41.7 Min R = -246.2\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.62\n",
+ "ExplainedVarOld: 0.386\n",
+ "KL: 0.000531\n",
+ "PolicyEntropy: 3.19\n",
+ "PolicyLoss: -0.00264\n",
+ "Steps: 1.26e+04\n",
+ "TotalSteps: 5.53e+05\n",
+ "ValFuncLoss: 0.579\n",
+ "Variance: 0.582\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00042428361 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.58066046 0.5042146 0.54509044 0.51860034]\n",
+ "FIT: 5.583015590064581 2.167191728365527 1.2452340294063546 0.28581768101749283\n",
+ "***** Episode 25407, Mean R = -150.9 Std R = 45.6 Min R = -236.6\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.555\n",
+ "ExplainedVarOld: 0.204\n",
+ "KL: 0.000424\n",
+ "PolicyEntropy: 3.18\n",
+ "PolicyLoss: -0.00261\n",
+ "Steps: 1.36e+04\n",
+ "TotalSteps: 5.67e+05\n",
+ "ValFuncLoss: 0.551\n",
+ "Variance: 0.581\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 3041. 12916.]\n",
+ "kl = 0.0011760097 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.58014673 0.5022943 0.54520476 0.51424664]\n",
+ "FIT: 5.593743561458446 1.993054673978186 1.2019568849694469 0.27627662025536015\n",
+ "***** Episode 25528, Mean R = -146.6 Std R = 49.9 Min R = -262.8\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.553\n",
+ "ExplainedVarOld: 0.279\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: 3.17\n",
+ "PolicyLoss: -0.00348\n",
+ "Steps: 1.36e+04\n",
+ "TotalSteps: 5.81e+05\n",
+ "ValFuncLoss: 0.516\n",
+ "Variance: 0.58\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009068707 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5821403 0.4990023 0.5449415 0.5111843]\n",
+ "FIT: 5.621268039054588 1.9857877168108697 0.9447899345714658 0.26789434962055464\n",
+ "***** Episode 25649, Mean R = -124.0 Std R = 47.0 Min R = -254.2\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.534\n",
+ "ExplainedVarOld: 0.0678\n",
+ "KL: 0.000907\n",
+ "PolicyEntropy: 3.16\n",
+ "PolicyLoss: -0.00296\n",
+ "Steps: 1.47e+04\n",
+ "TotalSteps: 5.95e+05\n",
+ "ValFuncLoss: 0.34\n",
+ "Variance: 0.582\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008675042 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.58299565 0.49577346 0.5460666 0.50942975]\n",
+ "FIT: 5.593016443698133 1.8617436954043804 0.9049423353295479 0.2691678014818708\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 25770, Mean R = -120.4 Std R = 43.4 Min R = -230.5\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.562\n",
+ "ExplainedVarOld: 0.0159\n",
+ "KL: 0.000868\n",
+ "PolicyEntropy: 3.16\n",
+ "PolicyLoss: -0.00259\n",
+ "Steps: 1.48e+04\n",
+ "TotalSteps: 6.1e+05\n",
+ "ValFuncLoss: 0.254\n",
+ "Variance: 0.583\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00094774726 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.58421654 0.4939797 0.5459145 0.5073063 ]\n",
+ "FIT: 5.582373855728104 1.7529929291843596 0.8486492027870872 0.2595539777614519\n",
+ "Update Cnt = 50 ET = 388.0 Stats: Mean, Std, Min, Max\n",
+ "r_f | 369.4 51.6 463.8 | 700.3 704.0 525.2 | -1334.1 -1611.3 -6.0 | 2144.9 1813.0 2282.1\n",
+ "v_f | -30.54 3.01 -103.15 | 20.50 18.94 8.97 | -86.02 -40.91 -123.75 | 29.44 56.11 -75.66\n",
+ "r_i | 1002.0 -8.4 2350.4 | 577.0 575.3 29.0 | 0.8 -997.4 2300.3 | 2000.0 999.8 2400.0\n",
+ "v_i | -40.21 -0.40 -80.02 | 17.36 17.44 5.80 | -69.90 -29.99 -89.99 | -10.02 29.95 -70.00\n",
+ "norm_rf | 1161.5 | 516.7 | 42.3 | 2917.9\n",
+ "norm_vf | 111.00 | 10.92 | 77.52 | 148.87\n",
+ "gs_f | 3.7 | 3.8 | 1.1 | 62.3\n",
+ "thrust | 899 338 5051 | 2869 2512 2042 | -13689 -14432 179 | 14021 15199 15975\n",
+ "norm_thrust | 6356 | 2179 | 3464 | 18519\n",
+ "fuel | 64 | 19 | 3 | 124\n",
+ "rewards | -148.51 | 44.09 | -262.82 | -69.81\n",
+ "fuel_rewards | -1.67 | 0.48 | -3.21 | -0.09\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 2.11 | 1.00 | 0.97 | 7.80\n",
+ "norm_af | 1.34 | 0.50 | 0.06 | 2.17\n",
+ "norm_wf | 0.81 | 0.40 | 0.01 | 2.60\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -13.14 | 10.62 | -102.99 | 0.00\n",
+ "att_penalty | -65.38 | 47.58 | -100.00 | 0.00\n",
+ "attitude | 0.00 0.15 -0.03 | 0.42 0.48 0.45 | -3.07 -1.43 -1.59 | 3.03 1.43 1.68\n",
+ "w | 0.02 -0.08 -0.00 | 0.50 0.43 0.01 | -2.02 -2.65 -0.13 | 2.64 1.72 0.17\n",
+ "a_f | -0.59 0.34 | 0.71 1.04 | -1.43 -1.59 | 1.43 1.68\n",
+ "w_f | 0.15 -0.45 -0.00 | 0.56 0.54 0.02 | -1.76 -2.59 -0.13 | 2.08 1.28 0.17\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 1156.57 | 516.48 | 104.16 | 2912.90\n",
+ "tracking_rewards | -68.33 | 26.08 | -155.19 | -1.61\n",
+ "steps | 104 | 28 | 5 | 162\n",
+ "***** Episode 25891, Mean R = -113.4 Std R = 42.3 Min R = -259.1\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.472\n",
+ "ExplainedVarOld: 0.00305\n",
+ "KL: 0.000948\n",
+ "PolicyEntropy: 3.15\n",
+ "PolicyLoss: -0.00261\n",
+ "Steps: 1.48e+04\n",
+ "TotalSteps: 6.25e+05\n",
+ "ValFuncLoss: 0.258\n",
+ "Variance: 0.584\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00069345016 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.58377665 0.49280012 0.5458352 0.50497776]\n",
+ "FIT: 5.3492568447011895 1.6725030839166426 0.7254112194955425 0.25349605174117557\n",
+ "***** Episode 26012, Mean R = -101.9 Std R = 29.8 Min R = -212.7\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.544\n",
+ "ExplainedVarOld: -0.226\n",
+ "KL: 0.000693\n",
+ "PolicyEntropy: 3.14\n",
+ "PolicyLoss: -0.00223\n",
+ "Steps: 1.56e+04\n",
+ "TotalSteps: 6.4e+05\n",
+ "ValFuncLoss: 0.0948\n",
+ "Variance: 0.584\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008953878 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.58850473 0.49154994 0.5446609 0.50219077]\n",
+ "FIT: 5.559305176458587 1.6783589780806933 0.710519235210018 0.25147546944546123\n",
+ "***** Episode 26133, Mean R = -100.2 Std R = 31.3 Min R = -254.5\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.61\n",
+ "ExplainedVarOld: -0.144\n",
+ "KL: 0.000895\n",
+ "PolicyEntropy: 3.14\n",
+ "PolicyLoss: -0.00217\n",
+ "Steps: 1.55e+04\n",
+ "TotalSteps: 6.56e+05\n",
+ "ValFuncLoss: 0.0701\n",
+ "Variance: 0.589\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00066630595 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.59079397 0.4902095 0.54312897 0.5006763 ]\n",
+ "FIT: 5.563181978028082 1.5622480398923713 0.7114043405391217 0.24397227652407877\n",
+ "***** Episode 26254, Mean R = -101.2 Std R = 27.9 Min R = -251.2\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.715\n",
+ "ExplainedVarOld: 0.0157\n",
+ "KL: 0.000666\n",
+ "PolicyEntropy: 3.13\n",
+ "PolicyLoss: -0.00213\n",
+ "Steps: 1.57e+04\n",
+ "TotalSteps: 6.72e+05\n",
+ "ValFuncLoss: 0.041\n",
+ "Variance: 0.591\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00057453575 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5904819 0.49094373 0.5429401 0.49909422]\n",
+ "FIT: 5.434896817115729 1.4630512042821808 0.6937512421817634 0.23565973062030202\n",
+ "***** Episode 26375, Mean R = -99.6 Std R = 27.2 Min R = -210.6\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.675\n",
+ "ExplainedVarOld: 0.119\n",
+ "KL: 0.000575\n",
+ "PolicyEntropy: 3.13\n",
+ "PolicyLoss: -0.00183\n",
+ "Steps: 1.58e+04\n",
+ "TotalSteps: 6.87e+05\n",
+ "ValFuncLoss: 0.0479\n",
+ "Variance: 0.59\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008937271 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5903699 0.4912392 0.54345435 0.49893618]\n",
+ "FIT: 5.258606174537696 1.4550973427263454 0.6582089294452539 0.22972300540940688\n",
+ "***** Episode 26496, Mean R = -94.3 Std R = 17.8 Min R = -170.5\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.757\n",
+ "ExplainedVarOld: 0.41\n",
+ "KL: 0.000894\n",
+ "PolicyEntropy: 3.13\n",
+ "PolicyLoss: -0.00197\n",
+ "Steps: 1.58e+04\n",
+ "TotalSteps: 7.03e+05\n",
+ "ValFuncLoss: 0.0185\n",
+ "Variance: 0.59\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008619214 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.58804613 0.49005985 0.5408018 0.49893433]\n",
+ "FIT: 5.260782226959779 1.3804049851278972 0.6553854610209308 0.2278596899525617\n",
+ "***** Episode 26617, Mean R = -95.2 Std R = 18.4 Min R = -192.2\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.676\n",
+ "ExplainedVarOld: 0.324\n",
+ "KL: 0.000862\n",
+ "PolicyEntropy: 3.12\n",
+ "PolicyLoss: -0.0022\n",
+ "Steps: 1.6e+04\n",
+ "TotalSteps: 7.19e+05\n",
+ "ValFuncLoss: 0.0234\n",
+ "Variance: 0.588\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00061594014 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5866775 0.48871443 0.5399344 0.4987208 ]\n",
+ "FIT: 5.273258879424258 1.3444968525377892 0.648135236875372 0.22520906394807427\n",
+ "***** Episode 26738, Mean R = -95.2 Std R = 19.0 Min R = -205.4\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.932\n",
+ "ExplainedVarOld: 0.624\n",
+ "KL: 0.000616\n",
+ "PolicyEntropy: 3.11\n",
+ "PolicyLoss: -0.00184\n",
+ "Steps: 1.62e+04\n",
+ "TotalSteps: 7.35e+05\n",
+ "ValFuncLoss: 0.00412\n",
+ "Variance: 0.587\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0006927454 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5862596 0.48852628 0.54076123 0.49927622]\n",
+ "FIT: 5.277176375174231 1.28104786742217 0.6422613887393832 0.22304381811585042\n",
+ "***** Episode 26859, Mean R = -94.0 Std R = 18.6 Min R = -203.6\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.854\n",
+ "ExplainedVarOld: 0.48\n",
+ "KL: 0.000693\n",
+ "PolicyEntropy: 3.12\n",
+ "PolicyLoss: -0.00166\n",
+ "Steps: 1.61e+04\n",
+ "TotalSteps: 7.51e+05\n",
+ "ValFuncLoss: 0.00842\n",
+ "Variance: 0.586\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00073292677 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5863889 0.48841175 0.53870016 0.49835595]\n",
+ "FIT: 1.5124965405544937 1.3384721912574773 0.6443984758774934 0.21849520932529443\n",
+ "***** Episode 26980, Mean R = -94.1 Std R = 14.4 Min R = -136.7\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.958\n",
+ "ExplainedVarOld: 0.869\n",
+ "KL: 0.000733\n",
+ "PolicyEntropy: 3.11\n",
+ "PolicyLoss: -0.00199\n",
+ "Steps: 1.6e+04\n",
+ "TotalSteps: 7.67e+05\n",
+ "ValFuncLoss: 0.00171\n",
+ "Variance: 0.586\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010731412 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5821968 0.48919845 0.5366735 0.49934033]\n",
+ "FIT: 1.2716347493898734 1.2588455141932344 0.618945181438118 0.2146287451573916\n",
+ "Update Cnt = 60 ET = 463.6 Stats: Mean, Std, Min, Max\n",
+ "r_f | 314.3 129.8 9.2 | 755.8 752.7 107.6 | -1450.7 -1643.3 -5.8 | 2203.6 2027.4 2242.8\n",
+ "v_f | -19.61 8.50 -101.00 | 20.50 17.92 8.48 | -74.42 -38.25 -124.19 | 40.45 51.08 -64.32\n",
+ "r_i | 1014.8 -4.1 2350.9 | 577.3 585.8 29.2 | 15.4 -999.6 2300.0 | 1998.7 997.2 2399.9\n",
+ "v_i | -39.32 0.35 -79.79 | 16.91 17.38 5.81 | -69.95 -29.97 -89.96 | -10.01 29.99 -70.00\n",
+ "norm_rf | 1012.1 | 490.8 | 59.5 | 2495.4\n",
+ "norm_vf | 106.61 | 10.27 | 72.12 | 137.01\n",
+ "gs_f | 5.2 | 7.3 | 1.3 | 113.4\n",
+ "thrust | 1468 624 5635 | 2206 2038 2017 | -12361 -11685 246 | 13455 13909 17544\n",
+ "norm_thrust | 6520 | 2206 | 3464 | 19802\n",
+ "fuel | 83 | 11 | 6 | 132\n",
+ "rewards | -96.69 | 23.19 | -254.54 | -67.32\n",
+ "fuel_rewards | -2.15 | 0.29 | -3.39 | -0.17\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 2.13 | 0.98 | 0.95 | 8.15\n",
+ "norm_af | 0.55 | 0.34 | 0.01 | 1.98\n",
+ "norm_wf | 0.54 | 0.28 | 0.02 | 1.79\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -1.76 | 4.10 | -39.23 | 0.00\n",
+ "att_penalty | -2.73 | 16.29 | -100.00 | 0.00\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "attitude | 0.04 0.25 -0.09 | 0.34 0.33 0.32 | -2.31 -1.40 -1.47 | 1.84 1.39 1.45\n",
+ "w | -0.00 -0.03 0.00 | 0.46 0.39 0.01 | -2.06 -1.84 -0.12 | 2.16 1.83 0.14\n",
+ "a_f | 0.05 -0.03 | 0.46 0.45 | -1.40 -1.47 | 1.39 1.45\n",
+ "w_f | 0.02 -0.04 0.00 | 0.46 0.40 0.02 | -1.32 -1.28 -0.09 | 1.54 1.71 0.13\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 1007.44 | 490.07 | 99.61 | 2490.41\n",
+ "tracking_rewards | -90.05 | 15.85 | -146.47 | -4.36\n",
+ "steps | 131 | 11 | 9 | 167\n",
+ "***** Episode 27101, Mean R = -91.3 Std R = 17.4 Min R = -153.3\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.908\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: 3.1\n",
+ "PolicyLoss: -0.00206\n",
+ "Steps: 1.62e+04\n",
+ "TotalSteps: 7.84e+05\n",
+ "ValFuncLoss: 0.000804\n",
+ "Variance: 0.582\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00069848436 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5790213 0.4901932 0.53485453 0.49925444]\n",
+ "FIT: 1.1960763033754218 1.2065815165282578 0.6308067936144844 0.21116282464635097\n",
+ "***** Episode 27222, Mean R = -93.8 Std R = 17.1 Min R = -138.0\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.941\n",
+ "KL: 0.000698\n",
+ "PolicyEntropy: 3.1\n",
+ "PolicyLoss: -0.00157\n",
+ "Steps: 1.64e+04\n",
+ "TotalSteps: 8e+05\n",
+ "ValFuncLoss: 0.000671\n",
+ "Variance: 0.579\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00091490115 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.57654655 0.4903031 0.5349879 0.49938086]\n",
+ "FIT: 1.1701698078909892 1.231250429610945 0.609982504955955 0.20623803775135713\n",
+ "***** Episode 27343, Mean R = -90.6 Std R = 15.9 Min R = -131.7\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.949\n",
+ "KL: 0.000915\n",
+ "PolicyEntropy: 3.09\n",
+ "PolicyLoss: -0.00217\n",
+ "Steps: 1.64e+04\n",
+ "TotalSteps: 8.16e+05\n",
+ "ValFuncLoss: 0.000531\n",
+ "Variance: 0.577\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012164032 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5798215 0.49061158 0.53495026 0.49896887]\n",
+ "FIT: 5.256931169430515 1.2756110780553667 0.615418048432367 0.2050955269665965\n",
+ "***** Episode 27464, Mean R = -91.8 Std R = 18.0 Min R = -180.1\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.779\n",
+ "ExplainedVarOld: 0.647\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: 3.1\n",
+ "PolicyLoss: -0.00172\n",
+ "Steps: 1.65e+04\n",
+ "TotalSteps: 8.33e+05\n",
+ "ValFuncLoss: 0.0114\n",
+ "Variance: 0.58\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009890494 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.58076185 0.49168935 0.5360116 0.49874237]\n",
+ "FIT: 1.147364588278618 1.2313111787126254 0.5988280706901651 0.20224691560435715\n",
+ "***** Episode 27585, Mean R = -90.0 Std R = 14.1 Min R = -126.8\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.957\n",
+ "ExplainedVarOld: 0.94\n",
+ "KL: 0.000989\n",
+ "PolicyEntropy: 3.1\n",
+ "PolicyLoss: -0.00218\n",
+ "Steps: 1.66e+04\n",
+ "TotalSteps: 8.49e+05\n",
+ "ValFuncLoss: 0.00176\n",
+ "Variance: 0.581\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0007697635 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5832883 0.4905426 0.5382267 0.49866152]\n",
+ "FIT: 5.283518439442524 1.1823490473852423 0.610984154904158 0.2028154382184877\n",
+ "***** Episode 27706, Mean R = -92.2 Std R = 21.5 Min R = -251.0\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.916\n",
+ "ExplainedVarOld: 0.653\n",
+ "KL: 0.00077\n",
+ "PolicyEntropy: 3.11\n",
+ "PolicyLoss: -0.00174\n",
+ "Steps: 1.66e+04\n",
+ "TotalSteps: 8.66e+05\n",
+ "ValFuncLoss: 0.00497\n",
+ "Variance: 0.583\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00079923775 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.58647245 0.4895699 0.53963256 0.4991106 ]\n",
+ "FIT: 1.1993208497249246 1.1226155340319737 0.5870640261441806 0.19820449704822654\n",
+ "***** Episode 27827, Mean R = -90.2 Std R = 18.1 Min R = -143.4\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.918\n",
+ "KL: 0.000799\n",
+ "PolicyEntropy: 3.12\n",
+ "PolicyLoss: -0.0015\n",
+ "Steps: 1.69e+04\n",
+ "TotalSteps: 8.83e+05\n",
+ "ValFuncLoss: 0.000576\n",
+ "Variance: 0.586\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009276127 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5832042 0.48945272 0.5420658 0.5011355 ]\n",
+ "FIT: 1.165958293861799 1.16094226739887 0.5967957217475367 0.19810572004563892\n",
+ "***** Episode 27948, Mean R = -90.7 Std R = 17.2 Min R = -153.0\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.965\n",
+ "KL: 0.000928\n",
+ "PolicyEntropy: 3.12\n",
+ "PolicyLoss: -0.00241\n",
+ "Steps: 1.67e+04\n",
+ "TotalSteps: 9e+05\n",
+ "ValFuncLoss: 0.000335\n",
+ "Variance: 0.583\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010000096 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.58585674 0.49023578 0.5416796 0.50197756]\n",
+ "FIT: 1.1121495394304486 1.1657887847789574 0.6009106320786515 0.19821412906947716\n",
+ "***** Episode 28069, Mean R = -90.8 Std R = 15.8 Min R = -143.5\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.97\n",
+ "KL: 0.001\n",
+ "PolicyEntropy: 3.13\n",
+ "PolicyLoss: -0.00243\n",
+ "Steps: 1.66e+04\n",
+ "TotalSteps: 9.16e+05\n",
+ "ValFuncLoss: 0.000255\n",
+ "Variance: 0.586\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.001151818 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5869891 0.4914609 0.54250205 0.5029109 ]\n",
+ "FIT: 1.1445136444486226 1.1442465803453155 0.5752450636726385 0.19293655063212659\n",
+ "***** Episode 28190, Mean R = -89.6 Std R = 17.3 Min R = -147.1\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00115\n",
+ "PolicyEntropy: 3.13\n",
+ "PolicyLoss: -0.00242\n",
+ "Steps: 1.72e+04\n",
+ "TotalSteps: 9.33e+05\n",
+ "ValFuncLoss: 0.000211\n",
+ "Variance: 0.587\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011010261 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.58602774 0.49315938 0.54214746 0.50391686]\n",
+ "FIT: 1.5448795163934579 1.1731595234450731 0.5809156528195573 0.19306793724632848\n",
+ "Update Cnt = 70 ET = 482.4 Stats: Mean, Std, Min, Max\n",
+ "r_f | 282.3 143.3 -2.3 | 732.6 703.5 3.1 | -1726.5 -1771.9 -5.5 | 2263.5 1836.6 94.2\n",
+ "v_f | -17.48 8.60 -93.97 | 18.00 15.91 9.78 | -65.47 -36.88 -116.48 | 29.95 46.66 -56.65\n",
+ "r_i | 1014.9 6.7 2351.7 | 578.8 580.1 28.1 | 3.0 -999.6 2300.0 | 1995.7 999.7 2399.9\n",
+ "v_i | -39.86 0.24 -79.66 | 17.15 16.83 5.80 | -69.90 -29.91 -89.99 | -10.17 29.98 -70.03\n",
+ "norm_rf | 953.3 | 472.4 | 9.6 | 2582.0\n",
+ "norm_vf | 98.77 | 11.26 | 57.53 | 129.62\n",
+ "gs_f | 5.2 | 8.1 | 1.4 | 208.0\n",
+ "thrust | 1583 609 6183 | 1877 1835 2146 | -10014 -12489 743 | 13580 11941 18543\n",
+ "norm_thrust | 6874 | 2313 | 3464 | 18854\n",
+ "fuel | 92 | 13 | 63 | 150\n",
+ "rewards | -90.98 | 17.37 | -251.02 | -62.87\n",
+ "fuel_rewards | -2.38 | 0.34 | -3.89 | -1.64\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 2.12 | 0.97 | 0.99 | 6.47\n",
+ "norm_af | 0.41 | 0.22 | 0.02 | 1.71\n",
+ "norm_wf | 0.49 | 0.26 | 0.01 | 1.40\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.17 | 1.09 | -19.79 | 0.00\n",
+ "att_penalty | -0.17 | 4.06 | -100.00 | 0.00\n",
+ "attitude | 0.04 0.25 -0.08 | 0.27 0.26 0.26 | -1.43 -1.01 -1.32 | 1.26 1.40 1.38\n",
+ "w | -0.00 -0.02 0.00 | 0.44 0.38 0.01 | -2.00 -1.77 -0.07 | 1.95 1.55 0.10\n",
+ "a_f | 0.15 -0.04 | 0.31 0.31 | -1.00 -1.04 | 1.40 1.38\n",
+ "w_f | 0.02 -0.01 0.00 | 0.41 0.37 0.02 | -1.18 -1.11 -0.07 | 1.25 1.16 0.10\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 948.50 | 472.02 | 76.30 | 2576.97\n",
+ "tracking_rewards | -88.27 | 16.51 | -150.64 | -59.98\n",
+ "steps | 138 | 12 | 114 | 186\n",
+ "***** Episode 28311, Mean R = -90.1 Std R = 17.4 Min R = -129.5\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.97\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: 3.14\n",
+ "PolicyLoss: -0.00262\n",
+ "Steps: 1.7e+04\n",
+ "TotalSteps: 9.5e+05\n",
+ "ValFuncLoss: 0.00026\n",
+ "Variance: 0.586\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010957541 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.58595324 0.49403152 0.54107034 0.50522894]\n",
+ "FIT: 1.052919786367065 1.1122875388174176 0.56363934656232 0.18952993297369783\n",
+ "***** Episode 28432, Mean R = -89.3 Std R = 16.5 Min R = -148.5\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.964\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: 3.14\n",
+ "PolicyLoss: -0.00225\n",
+ "Steps: 1.75e+04\n",
+ "TotalSteps: 9.68e+05\n",
+ "ValFuncLoss: 0.000266\n",
+ "Variance: 0.586\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0013172241 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.58485216 0.4955742 0.54122096 0.5042874 ]\n",
+ "FIT: 5.406112208520318 1.1179669432718924 0.5936332965949699 0.19393607193124074\n",
+ "***** Episode 28553, Mean R = -93.0 Std R = 19.9 Min R = -188.6\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.805\n",
+ "ExplainedVarOld: 0.66\n",
+ "KL: 0.00132\n",
+ "PolicyEntropy: 3.14\n",
+ "PolicyLoss: -0.00163\n",
+ "Steps: 1.72e+04\n",
+ "TotalSteps: 9.85e+05\n",
+ "ValFuncLoss: 0.0103\n",
+ "Variance: 0.585\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012453616 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.586696 0.4974378 0.542128 0.50638473]\n",
+ "FIT: 1.0962343779338768 1.1349943731791525 0.5716022288667787 0.1901679866172518\n",
+ "***** Episode 28674, Mean R = -90.5 Std R = 18.0 Min R = -130.6\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00125\n",
+ "PolicyEntropy: 3.15\n",
+ "PolicyLoss: -0.00339\n",
+ "Steps: 1.74e+04\n",
+ "TotalSteps: 1e+06\n",
+ "ValFuncLoss: 0.000376\n",
+ "Variance: 0.587\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010098949 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5881267 0.49984232 0.5434658 0.5080659 ]\n",
+ "FIT: 1.0054877882278437 1.0944949422127457 0.5470663257994175 0.18803434429354193\n",
+ "***** Episode 28795, Mean R = -87.6 Std R = 16.3 Min R = -138.5\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: 3.16\n",
+ "PolicyLoss: -0.003\n",
+ "Steps: 1.76e+04\n",
+ "TotalSteps: 1.02e+06\n",
+ "ValFuncLoss: 0.000269\n",
+ "Variance: 0.588\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013950396 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5882086 0.50380975 0.5437084 0.5111156 ]\n",
+ "FIT: 1.0499011678907861 1.1349397963604964 0.5453467537459511 0.18867767206927988\n",
+ "***** Episode 28916, Mean R = -88.8 Std R = 17.0 Min R = -146.9\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.0014\n",
+ "PolicyEntropy: 3.18\n",
+ "PolicyLoss: -0.00349\n",
+ "Steps: 1.79e+04\n",
+ "TotalSteps: 1.04e+06\n",
+ "ValFuncLoss: 0.000193\n",
+ "Variance: 0.588\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0014449247 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.58915997 0.5061786 0.54423493 0.5143232 ]\n",
+ "FIT: 1.128087795358217 1.1086843796504073 0.5331900799561845 0.18753562793990278\n",
+ "***** Episode 29037, Mean R = -86.7 Std R = 16.5 Min R = -138.6\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00144\n",
+ "PolicyEntropy: 3.19\n",
+ "PolicyLoss: -0.00383\n",
+ "Steps: 1.78e+04\n",
+ "TotalSteps: 1.06e+06\n",
+ "ValFuncLoss: 0.00013\n",
+ "Variance: 0.589\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.001334987 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.59109795 0.5074285 0.54581326 0.51447874]\n",
+ "FIT: 1.0947325441529576 0.9957292584676244 0.5162776148266249 0.18465987431547756\n",
+ "***** Episode 29158, Mean R = -86.8 Std R = 18.6 Min R = -155.9\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00133\n",
+ "PolicyEntropy: 3.2\n",
+ "PolicyLoss: -0.00345\n",
+ "Steps: 1.85e+04\n",
+ "TotalSteps: 1.07e+06\n",
+ "ValFuncLoss: 0.000207\n",
+ "Variance: 0.591\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011478724 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5910409 0.5077899 0.54781675 0.5166451 ]\n",
+ "FIT: 0.9183321295106548 1.060098659648591 0.4908907679338086 0.17811032692450032\n",
+ "***** Episode 29279, Mean R = -82.5 Std R = 17.0 Min R = -142.7\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00115\n",
+ "PolicyEntropy: 3.21\n",
+ "PolicyLoss: -0.00371\n",
+ "Steps: 1.85e+04\n",
+ "TotalSteps: 1.09e+06\n",
+ "ValFuncLoss: 0.000179\n",
+ "Variance: 0.591\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011204742 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.59029466 0.5074933 0.54855067 0.5189361 ]\n",
+ "FIT: 1.0525029506561145 1.882300291048302 0.49770759150704585 0.18330109925685825\n",
+ "***** Episode 29400, Mean R = -84.9 Std R = 15.9 Min R = -145.7\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.971\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: 3.21\n",
+ "PolicyLoss: -0.003\n",
+ "Steps: 1.87e+04\n",
+ "TotalSteps: 1.11e+06\n",
+ "ValFuncLoss: 0.000164\n",
+ "Variance: 0.59\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011052162 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5913009 0.5083535 0.5494464 0.5205533]\n",
+ "FIT: 0.9588028706569356 2.062575701396714 0.4878006332162027 0.18478534275127023\n",
+ "Update Cnt = 80 ET = 522.5 Stats: Mean, Std, Min, Max\n",
+ "r_f | 263.5 160.0 -1.9 | 635.6 649.0 2.5 | -1470.9 -1397.4 -5.5 | 1822.1 1721.5 73.2\n",
+ "v_f | -15.23 8.69 -82.26 | 14.56 12.68 14.20 | -62.02 -40.48 -113.68 | 30.78 44.49 -10.68\n",
+ "r_i | 1011.6 -6.7 2350.0 | 573.3 571.6 29.3 | 0.6 -998.1 2300.0 | 1998.2 999.7 2400.0\n",
+ "v_i | -40.56 0.79 -79.95 | 17.61 17.52 5.75 | -69.89 -29.83 -89.98 | -10.04 29.88 -70.02\n",
+ "norm_rf | 864.7 | 415.3 | 18.4 | 2099.5\n",
+ "norm_vf | 86.16 | 14.98 | 17.96 | 123.26\n",
+ "gs_f | 5.3 | 9.0 | 0.3 | 203.9\n",
+ "thrust | 1652 533 7008 | 1919 1889 2392 | -9564 -11743 801 | 12292 14404 19195\n",
+ "norm_thrust | 7660 | 2534 | 3464 | 20000\n",
+ "fuel | 111 | 21 | 70 | 251\n",
+ "rewards | -87.46 | 17.67 | -188.57 | -51.39\n",
+ "fuel_rewards | -2.86 | 0.54 | -6.47 | -1.81\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 2.07 | 0.99 | 0.31 | 8.19\n",
+ "norm_af | 0.35 | 0.20 | 0.01 | 1.89\n",
+ "norm_wf | 0.48 | 0.26 | 0.02 | 1.67\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.64 | -14.67 | 0.00\n",
+ "att_penalty | -0.08 | 2.87 | -100.00 | 0.00\n",
+ "attitude | 0.04 0.24 -0.06 | 0.27 0.24 0.24 | -2.40 -1.38 -1.26 | 1.21 1.21 1.29\n",
+ "w | -0.00 -0.02 0.00 | 0.44 0.39 0.01 | -1.89 -1.65 -0.07 | 1.85 1.64 0.09\n",
+ "a_f | 0.12 -0.03 | 0.27 0.27 | -1.38 -0.97 | 1.01 1.29\n",
+ "w_f | 0.02 -0.01 0.00 | 0.42 0.36 0.02 | -1.59 -1.39 -0.07 | 1.52 1.28 0.08\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 859.91 | 414.87 | 75.92 | 2094.55\n",
+ "tracking_rewards | -84.44 | 17.41 | -156.04 | -47.44\n",
+ "steps | 149 | 18 | 117 | 275\n",
+ "***** Episode 29521, Mean R = -84.4 Std R = 18.2 Min R = -161.9\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: 3.22\n",
+ "PolicyLoss: -0.00359\n",
+ "Steps: 1.91e+04\n",
+ "TotalSteps: 1.13e+06\n",
+ "ValFuncLoss: 0.000163\n",
+ "Variance: 0.591\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0007073162 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.59372586 0.5076783 0.5504414 0.52137285]\n",
+ "FIT: 5.22315497802203 3.895533421436033 0.48475484745757463 0.18991161690998667\n",
+ "***** Episode 29642, Mean R = -87.1 Std R = 28.2 Min R = -275.0\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.868\n",
+ "ExplainedVarOld: 0.601\n",
+ "KL: 0.000707\n",
+ "PolicyEntropy: 3.23\n",
+ "PolicyLoss: -0.00132\n",
+ "Steps: 1.98e+04\n",
+ "TotalSteps: 1.15e+06\n",
+ "ValFuncLoss: 0.00529\n",
+ "Variance: 0.594\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010325497 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.59739494 0.50850123 0.55163443 0.5225564 ]\n",
+ "FIT: 0.9120568821196768 1.1664475502401872 0.47355045361043707 0.18133680957004053\n",
+ "***** Episode 29763, Mean R = -83.1 Std R = 16.7 Min R = -143.0\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: 3.24\n",
+ "PolicyLoss: -0.00401\n",
+ "Steps: 1.92e+04\n",
+ "TotalSteps: 1.17e+06\n",
+ "ValFuncLoss: 0.000198\n",
+ "Variance: 0.597\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.001023453 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.59759 0.50942177 0.55347157 0.5246123 ]\n",
+ "FIT: 1.0802954525413369 1.7750381871788314 0.47305383862617506 0.18353102019018339\n",
+ "***** Episode 29884, Mean R = -84.3 Std R = 18.7 Min R = -181.7\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.967\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: 3.25\n",
+ "PolicyLoss: -0.00316\n",
+ "Steps: 1.96e+04\n",
+ "TotalSteps: 1.19e+06\n",
+ "ValFuncLoss: 0.000163\n",
+ "Variance: 0.598\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.001245888 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.597923 0.5100396 0.5560889 0.5274606]\n",
+ "FIT: 0.9200203671811968 2.905025653372176 0.45486466694954036 0.1846509143427029\n",
+ "***** Episode 30005, Mean R = -82.7 Std R = 24.3 Min R = -254.0\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.907\n",
+ "KL: 0.00125\n",
+ "PolicyEntropy: 3.26\n",
+ "PolicyLoss: -0.0021\n",
+ "Steps: 2e+04\n",
+ "TotalSteps: 1.21e+06\n",
+ "ValFuncLoss: 0.000184\n",
+ "Variance: 0.598\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0013005506 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5951012 0.50982475 0.5561794 0.52980053]\n",
+ "FIT: 1.266076926106315 2.905721797379321 0.45945842589005115 0.18331143844528194\n",
+ "***** Episode 30126, Mean R = -83.5 Std R = 22.3 Min R = -241.5\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.969\n",
+ "KL: 0.0013\n",
+ "PolicyEntropy: 3.26\n",
+ "PolicyLoss: -0.00286\n",
+ "Steps: 2e+04\n",
+ "TotalSteps: 1.23e+06\n",
+ "ValFuncLoss: 0.0003\n",
+ "Variance: 0.595\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013145447 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.596603 0.5092564 0.5541586 0.5299318]\n",
+ "FIT: 0.9075950324649911 1.9268358244712427 0.42829029138544583 0.18117131405018155\n",
+ "***** Episode 30247, Mean R = -81.3 Std R = 20.7 Min R = -180.2\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.951\n",
+ "KL: 0.00131\n",
+ "PolicyEntropy: 3.26\n",
+ "PolicyLoss: -0.00248\n",
+ "Steps: 2.09e+04\n",
+ "TotalSteps: 1.25e+06\n",
+ "ValFuncLoss: 0.000236\n",
+ "Variance: 0.597\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00069514354 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.59874594 0.50998574 0.5542113 0.5300444 ]\n",
+ "FIT: 5.245199881547025 5.350762222034689 0.4433283551450021 0.1893252584046223\n",
+ "***** Episode 30368, Mean R = -87.4 Std R = 32.8 Min R = -255.9\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.806\n",
+ "ExplainedVarOld: 0.422\n",
+ "KL: 0.000695\n",
+ "PolicyEntropy: 3.26\n",
+ "PolicyLoss: -0.00191\n",
+ "Steps: 2.18e+04\n",
+ "TotalSteps: 1.27e+06\n",
+ "ValFuncLoss: 0.00925\n",
+ "Variance: 0.599\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010591389 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5976556 0.5107105 0.5524274 0.5305473]\n",
+ "FIT: 1.0281963878819507 4.649707367343568 0.4236523166927998 0.18738753081645262\n",
+ "***** Episode 30489, Mean R = -83.0 Std R = 31.2 Min R = -295.8\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.818\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: 3.26\n",
+ "PolicyLoss: -0.00216\n",
+ "Steps: 2.17e+04\n",
+ "TotalSteps: 1.29e+06\n",
+ "ValFuncLoss: 0.000392\n",
+ "Variance: 0.598\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009869122 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5934452 0.5122345 0.5512643 0.53058255]\n",
+ "FIT: 0.9119223856679609 4.180454620412475 0.42116968289748064 0.19389166036291053\n",
+ "***** Episode 30610, Mean R = -88.4 Std R = 38.1 Min R = -275.3\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.878\n",
+ "KL: 0.000987\n",
+ "PolicyEntropy: 3.26\n",
+ "PolicyLoss: -0.00196\n",
+ "Steps: 2.34e+04\n",
+ "TotalSteps: 1.32e+06\n",
+ "ValFuncLoss: 0.0007\n",
+ "Variance: 0.593\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00096577016 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.59404767 0.5125184 0.5521699 0.5289343 ]\n",
+ "FIT: 1.1569867999111796 3.5924600274415184 0.42551609067325163 0.1935788777660907\n",
+ "Update Cnt = 90 ET = 609.3 Stats: Mean, Std, Min, Max\n",
+ "r_f | 251.7 108.7 25.8 | 524.2 505.3 150.6 | -1075.3 -1285.1 -5.2 | 1608.1 1531.7 1255.0\n",
+ "v_f | -10.86 6.57 -63.14 | 14.31 12.75 28.25 | -53.13 -54.92 -110.08 | 26.66 38.52 67.74\n",
+ "r_i | 986.7 -41.4 2349.3 | 586.5 563.8 28.8 | 6.7 -995.6 2300.0 | 1999.1 997.7 2399.5\n",
+ "v_i | -39.94 0.31 -80.15 | 17.43 17.24 5.75 | -70.00 -29.98 -90.00 | -10.04 29.98 -70.00\n",
+ "norm_rf | 713.1 | 346.6 | 42.7 | 1927.5\n",
+ "norm_vf | 70.44 | 18.75 | 7.79 | 115.04\n",
+ "gs_f | 4.5 | 6.1 | 0.3 | 130.2\n",
+ "thrust | 1626 375 7990 | 2200 2106 2618 | -12592 -13041 1020 | 14391 15555 19989\n",
+ "norm_thrust | 8674 | 2740 | 3464 | 20000\n",
+ "fuel | 146 | 52 | 77 | 462\n",
+ "rewards | -84.75 | 28.18 | -314.85 | -44.97\n",
+ "fuel_rewards | -3.76 | 1.34 | -11.93 | -1.99\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.86 | 0.89 | 0.02 | 7.70\n",
+ "norm_af | 0.34 | 0.19 | 0.00 | 1.44\n",
+ "norm_wf | 0.49 | 0.27 | 0.02 | 1.63\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.09 | 0.83 | -14.64 | 0.00\n",
+ "att_penalty | -0.25 | 4.97 | -100.00 | 0.00\n",
+ "attitude | 0.01 0.21 -0.04 | 0.29 0.25 0.24 | -1.84 -1.41 -1.38 | 1.65 1.08 1.39\n",
+ "w | -0.00 -0.02 0.00 | 0.45 0.41 0.01 | -2.02 -1.78 -0.07 | 2.26 1.78 0.09\n",
+ "a_f | 0.12 -0.02 | 0.26 0.27 | -1.41 -1.38 | 0.98 1.39\n",
+ "w_f | 0.00 0.02 0.00 | 0.41 0.38 0.02 | -1.50 -1.39 -0.06 | 1.53 1.14 0.09\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 708.14 | 346.47 | 59.02 | 1922.48\n",
+ "tracking_rewards | -80.66 | 26.70 | -304.17 | -40.10\n",
+ "steps | 173 | 48 | 117 | 494\n",
+ "***** Episode 30731, Mean R = -86.8 Std R = 38.1 Min R = -314.8\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.888\n",
+ "KL: 0.000966\n",
+ "PolicyEntropy: 3.26\n",
+ "PolicyLoss: -0.00204\n",
+ "Steps: 2.26e+04\n",
+ "TotalSteps: 1.34e+06\n",
+ "ValFuncLoss: 0.000604\n",
+ "Variance: 0.594\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008222256 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5930407 0.51246274 0.5526399 0.52845347]\n",
+ "FIT: 0.9003829768974985 3.3563403139901973 0.4257402187237402 0.1930947527479112\n",
+ "***** Episode 30852, Mean R = -89.0 Std R = 33.7 Min R = -234.0\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.976\n",
+ "ExplainedVarOld: 0.881\n",
+ "KL: 0.000822\n",
+ "PolicyEntropy: 3.25\n",
+ "PolicyLoss: -0.00191\n",
+ "Steps: 2.31e+04\n",
+ "TotalSteps: 1.36e+06\n",
+ "ValFuncLoss: 0.000667\n",
+ "Variance: 0.593\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008824499 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.59022427 0.51105356 0.54967284 0.52899086]\n",
+ "FIT: 1.2817633883625683 3.220113564068645 0.41519270494824834 0.1991680420340773\n",
+ "***** Episode 30973, Mean R = -93.5 Std R = 43.6 Min R = -258.9\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.974\n",
+ "ExplainedVarOld: 0.911\n",
+ "KL: 0.000882\n",
+ "PolicyEntropy: 3.24\n",
+ "PolicyLoss: -0.00227\n",
+ "Steps: 2.52e+04\n",
+ "TotalSteps: 1.39e+06\n",
+ "ValFuncLoss: 0.000815\n",
+ "Variance: 0.59\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010059152 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5873141 0.51062745 0.54809684 0.5293024 ]\n",
+ "FIT: 0.9379972293347189 3.2922557606112393 0.38695171523207783 0.18843588338950548\n",
+ "***** Episode 31094, Mean R = -85.5 Std R = 38.7 Min R = -268.6\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.934\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: 3.23\n",
+ "PolicyLoss: -0.00245\n",
+ "Steps: 2.45e+04\n",
+ "TotalSteps: 1.41e+06\n",
+ "ValFuncLoss: 0.000555\n",
+ "Variance: 0.587\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010566963 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.58733296 0.5105158 0.5484229 0.529356 ]\n",
+ "FIT: 1.0717095174029754 4.293809417924358 0.42087341704345543 0.20056357124050386\n",
+ "***** Episode 31215, Mean R = -95.2 Std R = 40.3 Min R = -239.5\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.976\n",
+ "ExplainedVarOld: 0.93\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: 3.23\n",
+ "PolicyLoss: -0.0019\n",
+ "Steps: 2.52e+04\n",
+ "TotalSteps: 1.44e+06\n",
+ "ValFuncLoss: 0.000773\n",
+ "Variance: 0.587\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00073722133 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5883213 0.5110128 0.5485026 0.53133225]\n",
+ "FIT: 5.250882856391357 4.602731939986915 0.3856167615332727 0.19518397526980316\n",
+ "***** Episode 31336, Mean R = -89.9 Std R = 45.1 Min R = -244.3\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.884\n",
+ "ExplainedVarOld: 0.771\n",
+ "KL: 0.000737\n",
+ "PolicyEntropy: 3.24\n",
+ "PolicyLoss: -0.00179\n",
+ "Steps: 2.61e+04\n",
+ "TotalSteps: 1.46e+06\n",
+ "ValFuncLoss: 0.00554\n",
+ "Variance: 0.588\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00086187554 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.58774024 0.51009834 0.548639 0.5323549 ]\n",
+ "FIT: 5.33266293789218 7.278773851311743 0.38385874843491186 0.19289731166630103\n",
+ "***** Episode 31457, Mean R = -90.7 Std R = 39.4 Min R = -210.0\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.879\n",
+ "ExplainedVarOld: 0.633\n",
+ "KL: 0.000862\n",
+ "PolicyEntropy: 3.24\n",
+ "PolicyLoss: -0.00162\n",
+ "Steps: 2.64e+04\n",
+ "TotalSteps: 1.49e+06\n",
+ "ValFuncLoss: 0.00582\n",
+ "Variance: 0.588\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009532044 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.58702385 0.5073315 0.5482769 0.53129244]\n",
+ "FIT: 1.1248390357210702 2.5106910908648126 0.3708604977293819 0.18231200029121122\n",
+ "***** Episode 31578, Mean R = -84.0 Std R = 35.8 Min R = -200.1\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.975\n",
+ "ExplainedVarOld: 0.94\n",
+ "KL: 0.000953\n",
+ "PolicyEntropy: 3.23\n",
+ "PolicyLoss: -0.00218\n",
+ "Steps: 2.52e+04\n",
+ "TotalSteps: 1.52e+06\n",
+ "ValFuncLoss: 0.000656\n",
+ "Variance: 0.587\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.00084552716 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.58400154 0.506159 0.54996467 0.5290601 ]\n",
+ "FIT: 5.401324811460848 4.217198010504532 0.4039927774912268 0.19469459949337753\n",
+ "***** Episode 31699, Mean R = -94.6 Std R = 44.1 Min R = -249.6\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.8\n",
+ "ExplainedVarOld: 0.512\n",
+ "KL: 0.000846\n",
+ "PolicyEntropy: 3.22\n",
+ "PolicyLoss: -0.00144\n",
+ "Steps: 2.61e+04\n",
+ "TotalSteps: 1.54e+06\n",
+ "ValFuncLoss: 0.0114\n",
+ "Variance: 0.584\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008712879 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.58245337 0.506728 0.55094796 0.52781695]\n",
+ "FIT: 5.4196861401267835 11.703819373311159 0.395899377804387 0.19323672538941752\n",
+ "***** Episode 31820, Mean R = -93.8 Std R = 46.9 Min R = -272.1\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.894\n",
+ "ExplainedVarOld: 0.758\n",
+ "KL: 0.000871\n",
+ "PolicyEntropy: 3.22\n",
+ "PolicyLoss: -0.00165\n",
+ "Steps: 2.66e+04\n",
+ "TotalSteps: 1.57e+06\n",
+ "ValFuncLoss: 0.00528\n",
+ "Variance: 0.582\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008789434 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5810124 0.50679815 0.5494651 0.5267195 ]\n",
+ "FIT: 5.2385220210993 4.742687838010328 0.41153167947971664 0.20594869885819597\n",
+ "Update Cnt = 100 ET = 752.3 Stats: Mean, Std, Min, Max\n",
+ "r_f | 219.7 72.8 154.2 | 385.8 395.6 341.4 | -961.4 -1040.7 -4.5 | 1390.3 1236.0 1316.7\n",
+ "v_f | -7.05 1.46 -36.23 | 16.59 15.64 43.69 | -51.23 -39.81 -102.53 | 32.33 42.62 70.03\n",
+ "r_i | 999.2 1.9 2349.1 | 566.8 582.8 28.6 | 4.7 -999.7 2300.2 | 1995.7 999.4 2399.9\n",
+ "v_i | -39.75 -0.11 -80.06 | 17.48 17.24 5.82 | -69.99 -29.94 -90.00 | -10.10 29.93 -70.02\n",
+ "norm_rf | 622.0 | 335.2 | 11.1 | 1547.9\n",
+ "norm_vf | 59.18 | 17.06 | 4.60 | 106.31\n",
+ "gs_f | 3.3 | 3.2 | 0.1 | 44.9\n",
+ "thrust | 1459 106 8817 | 2420 2328 2693 | -14890 -15289 296 | 14243 13415 19938\n",
+ "norm_thrust | 9514 | 2808 | 3464 | 20000\n",
+ "fuel | 197 | 85 | 93 | 469\n",
+ "rewards | -92.33 | 42.65 | -272.14 | -33.61\n",
+ "fuel_rewards | -5.08 | 2.18 | -12.10 | -2.42\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.40 | 0.87 | 0.01 | 4.90\n",
+ "norm_af | 0.33 | 0.20 | 0.01 | 1.91\n",
+ "norm_wf | 0.53 | 0.28 | 0.02 | 1.98\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.19 | 1.33 | -18.60 | 0.00\n",
+ "att_penalty | -0.58 | 7.58 | -100.00 | 0.00\n",
+ "attitude | 0.04 0.17 -0.00 | 0.30 0.25 0.24 | -1.60 -1.38 -1.41 | 2.18 1.40 1.38\n",
+ "w | 0.00 -0.01 0.00 | 0.47 0.43 0.01 | -2.19 -2.37 -0.08 | 2.09 2.04 0.16\n",
+ "a_f | 0.12 0.01 | 0.25 0.26 | -1.38 -1.41 | 1.40 1.38\n",
+ "w_f | -0.01 0.05 0.00 | 0.45 0.40 0.02 | -1.38 -1.70 -0.07 | 1.90 1.56 0.16\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 617.13 | 334.92 | 36.89 | 1542.90\n",
+ "tracking_rewards | -86.48 | 40.14 | -260.17 | -27.14\n",
+ "steps | 213 | 79 | 123 | 494\n",
+ "***** Episode 31941, Mean R = -107.1 Std R = 51.4 Min R = -247.6\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.895\n",
+ "ExplainedVarOld: 0.749\n",
+ "KL: 0.000879\n",
+ "PolicyEntropy: 3.21\n",
+ "PolicyLoss: -0.00156\n",
+ "Steps: 2.94e+04\n",
+ "TotalSteps: 1.6e+06\n",
+ "ValFuncLoss: 0.00549\n",
+ "Variance: 0.581\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00081342726 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.58287716 0.5067972 0.54958266 0.52656186]\n",
+ "FIT: 1.1347231074083626 2.1669139871910135 0.39179257357441327 0.19481492534672623\n",
+ "***** Episode 32062, Mean R = -97.3 Std R = 49.5 Min R = -267.5\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.966\n",
+ "ExplainedVarOld: 0.916\n",
+ "KL: 0.000813\n",
+ "PolicyEntropy: 3.22\n",
+ "PolicyLoss: -0.00176\n",
+ "Steps: 2.79e+04\n",
+ "TotalSteps: 1.63e+06\n",
+ "ValFuncLoss: 0.00132\n",
+ "Variance: 0.583\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0006330624 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.58484757 0.50729907 0.5515997 0.52783775]\n",
+ "FIT: 5.252364115826175 4.98563592596079 0.3801490064624785 0.1920482503412455\n",
+ "***** Episode 32183, Mean R = -95.4 Std R = 47.1 Min R = -252.6\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.96\n",
+ "ExplainedVarOld: 0.869\n",
+ "KL: 0.000633\n",
+ "PolicyEntropy: 3.23\n",
+ "PolicyLoss: -0.00148\n",
+ "Steps: 2.82e+04\n",
+ "TotalSteps: 1.65e+06\n",
+ "ValFuncLoss: 0.00192\n",
+ "Variance: 0.585\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0007611009 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5836416 0.50764304 0.55275816 0.5286554 ]\n",
+ "FIT: 1.0959502970126769 2.1013658444568977 0.36028923409977603 0.18647835957764777\n",
+ "***** Episode 32304, Mean R = -91.6 Std R = 42.7 Min R = -225.2\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.965\n",
+ "ExplainedVarOld: 0.903\n",
+ "KL: 0.000761\n",
+ "PolicyEntropy: 3.23\n",
+ "PolicyLoss: -0.00146\n",
+ "Steps: 2.84e+04\n",
+ "TotalSteps: 1.68e+06\n",
+ "ValFuncLoss: 0.00128\n",
+ "Variance: 0.584\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00071910105 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5842772 0.5081127 0.5531493 0.52866423]\n",
+ "FIT: 1.0811002892244284 3.124920658972053 0.3971849159403661 0.19486953455697859\n",
+ "***** Episode 32425, Mean R = -102.0 Std R = 49.9 Min R = -260.2\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.963\n",
+ "ExplainedVarOld: 0.858\n",
+ "KL: 0.000719\n",
+ "PolicyEntropy: 3.23\n",
+ "PolicyLoss: -0.00134\n",
+ "Steps: 2.89e+04\n",
+ "TotalSteps: 1.71e+06\n",
+ "ValFuncLoss: 0.0018\n",
+ "Variance: 0.584\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0006957243 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5846553 0.5090371 0.55354065 0.528868 ]\n",
+ "FIT: 5.296035105119097 6.705729908582677 0.3727389333532373 0.1891673883160714\n",
+ "***** Episode 32546, Mean R = -94.9 Std R = 47.9 Min R = -256.0\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.913\n",
+ "ExplainedVarOld: 0.759\n",
+ "KL: 0.000696\n",
+ "PolicyEntropy: 3.24\n",
+ "PolicyLoss: -0.00114\n",
+ "Steps: 2.87e+04\n",
+ "TotalSteps: 1.74e+06\n",
+ "ValFuncLoss: 0.00456\n",
+ "Variance: 0.585\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00084251113 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5854044 0.5096279 0.553925 0.52795464]\n",
+ "FIT: 5.259382766359362 8.073761618221944 0.39668242339758597 0.1919602605994428\n",
+ "***** Episode 32667, Mean R = -103.3 Std R = 52.6 Min R = -236.5\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.917\n",
+ "ExplainedVarOld: 0.834\n",
+ "KL: 0.000843\n",
+ "PolicyEntropy: 3.24\n",
+ "PolicyLoss: -0.00121\n",
+ "Steps: 2.94e+04\n",
+ "TotalSteps: 1.77e+06\n",
+ "ValFuncLoss: 0.00437\n",
+ "Variance: 0.585\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009036149 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5843998 0.5097528 0.5550127 0.52841276]\n",
+ "FIT: 5.243951514701358 4.4557373795586726 0.3796284235135767 0.18733699994476202\n",
+ "***** Episode 32788, Mean R = -96.4 Std R = 50.6 Min R = -304.4\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.958\n",
+ "ExplainedVarOld: 0.843\n",
+ "KL: 0.000904\n",
+ "PolicyEntropy: 3.24\n",
+ "PolicyLoss: -0.0015\n",
+ "Steps: 2.85e+04\n",
+ "TotalSteps: 1.8e+06\n",
+ "ValFuncLoss: 0.00261\n",
+ "Variance: 0.584\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0007791984 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5824691 0.5091119 0.5545514 0.5284741]\n",
+ "FIT: 5.3479008173852955 4.551626224074202 0.41055734158367796 0.19735676826670837\n",
+ "***** Episode 32909, Mean R = -105.9 Std R = 59.6 Min R = -305.0\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.922\n",
+ "ExplainedVarOld: 0.758\n",
+ "KL: 0.000779\n",
+ "PolicyEntropy: 3.23\n",
+ "PolicyLoss: -0.00124\n",
+ "Steps: 2.91e+04\n",
+ "TotalSteps: 1.83e+06\n",
+ "ValFuncLoss: 0.00484\n",
+ "Variance: 0.582\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00059782976 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5840956 0.5091213 0.5557223 0.5293208]\n",
+ "FIT: 5.473185705057555 9.427752818970266 0.3863237680863451 0.18930644368472296\n",
+ "***** Episode 33030, Mean R = -100.9 Std R = 56.4 Min R = -255.4\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.943\n",
+ "ExplainedVarOld: 0.858\n",
+ "KL: 0.000598\n",
+ "PolicyEntropy: 3.24\n",
+ "PolicyLoss: -0.00122\n",
+ "Steps: 2.95e+04\n",
+ "TotalSteps: 1.86e+06\n",
+ "ValFuncLoss: 0.00411\n",
+ "Variance: 0.584\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0007612461 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.58758414 0.50737756 0.5569036 0.53069955]\n",
+ "FIT: 5.247724625997101 6.62364712445451 0.38875199154084256 0.18777729921177963\n",
+ "Update Cnt = 110 ET = 842.0 Stats: Mean, Std, Min, Max\n",
+ "r_f | 185.6 40.5 265.6 | 311.2 298.5 426.8 | -866.0 -951.5 -4.2 | 1272.9 1056.0 1481.8\n",
+ "v_f | -4.66 -2.14 -20.72 | 18.51 15.11 46.99 | -54.55 -32.62 -98.12 | 32.64 39.72 61.35\n",
+ "r_i | 1008.7 21.4 2349.8 | 578.9 575.8 28.8 | 0.0 -999.0 2300.0 | 1999.9 999.2 2400.0\n",
+ "v_i | -40.06 -0.06 -80.06 | 17.29 17.54 5.86 | -69.96 -29.99 -90.00 | -10.02 29.94 -70.03\n",
+ "norm_rf | 588.7 | 358.1 | 11.6 | 1523.3\n",
+ "norm_vf | 54.66 | 15.73 | 3.42 | 107.08\n",
+ "gs_f | 3.1 | 4.4 | 0.0 | 98.7\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "thrust | 1397 -49 9148 | 2527 2399 2703 | -14082 -13866 334 | 16080 14760 19983\n",
+ "norm_thrust | 9855 | 2821 | 3464 | 20000\n",
+ "fuel | 228 | 93 | 102 | 486\n",
+ "rewards | -99.03 | 51.15 | -304.99 | -31.77\n",
+ "fuel_rewards | -5.89 | 2.39 | -12.53 | -2.63\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.08 | 0.83 | 0.02 | 4.57\n",
+ "norm_af | 0.31 | 0.19 | 0.01 | 1.90\n",
+ "norm_wf | 0.56 | 0.30 | 0.02 | 2.11\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.25 | 1.91 | -32.59 | 0.00\n",
+ "att_penalty | -0.74 | 8.59 | -100.00 | 0.00\n",
+ "attitude | 0.03 0.15 0.01 | 0.31 0.25 0.25 | -2.00 -1.32 -1.46 | 2.85 1.40 1.38\n",
+ "w | 0.00 -0.01 -0.00 | 0.47 0.44 0.01 | -2.10 -2.14 -0.14 | 1.98 2.26 0.15\n",
+ "a_f | 0.11 0.03 | 0.23 0.26 | -0.74 -1.46 | 1.40 1.38\n",
+ "w_f | -0.02 0.03 -0.00 | 0.47 0.43 0.02 | -1.64 -1.85 -0.14 | 1.70 1.48 0.13\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 583.77 | 357.94 | 14.34 | 1518.32\n",
+ "tracking_rewards | -92.15 | 47.88 | -270.38 | -26.28\n",
+ "steps | 238 | 87 | 127 | 510\n",
+ "***** Episode 33151, Mean R = -102.6 Std R = 51.5 Min R = -256.9\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.893\n",
+ "ExplainedVarOld: 0.633\n",
+ "KL: 0.000761\n",
+ "PolicyEntropy: 3.25\n",
+ "PolicyLoss: -0.00162\n",
+ "Steps: 2.98e+04\n",
+ "TotalSteps: 1.89e+06\n",
+ "ValFuncLoss: 0.00701\n",
+ "Variance: 0.588\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00062983914 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.58851874 0.5085845 0.5576255 0.5298488 ]\n",
+ "FIT: 5.268723646182384 4.099466795919035 0.3834956175995375 0.1908619390381059\n",
+ "***** Episode 33272, Mean R = -105.1 Std R = 59.1 Min R = -286.0\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.925\n",
+ "ExplainedVarOld: 0.768\n",
+ "KL: 0.00063\n",
+ "PolicyEntropy: 3.25\n",
+ "PolicyLoss: -0.00116\n",
+ "Steps: 3.1e+04\n",
+ "TotalSteps: 1.92e+06\n",
+ "ValFuncLoss: 0.0049\n",
+ "Variance: 0.589\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.000724697 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5858716 0.5097676 0.55839443 0.52859896]\n",
+ "FIT: 5.231896465278928 4.463123398489128 0.38750888918434384 0.18705342376604187\n",
+ "***** Episode 33393, Mean R = -101.5 Std R = 62.1 Min R = -270.8\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.851\n",
+ "ExplainedVarOld: 0.681\n",
+ "KL: 0.000725\n",
+ "PolicyEntropy: 3.25\n",
+ "PolicyLoss: -0.00126\n",
+ "Steps: 2.96e+04\n",
+ "TotalSteps: 1.95e+06\n",
+ "ValFuncLoss: 0.0113\n",
+ "Variance: 0.586\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00058613974 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.58361775 0.50980365 0.5584867 0.52850425]\n",
+ "FIT: 5.263090542851838 4.886378490457099 0.39852765301417725 0.1925229149833461\n",
+ "***** Episode 33514, Mean R = -107.7 Std R = 61.3 Min R = -313.8\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.937\n",
+ "ExplainedVarOld: 0.829\n",
+ "KL: 0.000586\n",
+ "PolicyEntropy: 3.24\n",
+ "PolicyLoss: -0.00115\n",
+ "Steps: 3.06e+04\n",
+ "TotalSteps: 1.98e+06\n",
+ "ValFuncLoss: 0.00413\n",
+ "Variance: 0.584\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0005511645 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5836071 0.5083878 0.56019133 0.52720815]\n",
+ "FIT: 5.25704547422106 8.723410393543148 0.39859999794924295 0.1938255961073889\n",
+ "***** Episode 33635, Mean R = -106.1 Std R = 66.6 Min R = -350.3\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.911\n",
+ "ExplainedVarOld: 0.787\n",
+ "KL: 0.000551\n",
+ "PolicyEntropy: 3.24\n",
+ "PolicyLoss: -0.00162\n",
+ "Steps: 3.01e+04\n",
+ "TotalSteps: 2.01e+06\n",
+ "ValFuncLoss: 0.00702\n",
+ "Variance: 0.584\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00062731426 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.58297664 0.5059737 0.5615215 0.5269875 ]\n",
+ "FIT: 5.270382936638161 5.187193675813777 0.37789263853459465 0.1826868832982588\n",
+ "***** Episode 33756, Mean R = -103.0 Std R = 53.6 Min R = -244.4\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.974\n",
+ "ExplainedVarOld: 0.869\n",
+ "KL: 0.000627\n",
+ "PolicyEntropy: 3.24\n",
+ "PolicyLoss: -0.00124\n",
+ "Steps: 3.09e+04\n",
+ "TotalSteps: 2.04e+06\n",
+ "ValFuncLoss: 0.00158\n",
+ "Variance: 0.583\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0005904293 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5807434 0.5034644 0.56266177 0.5257449 ]\n",
+ "FIT: 5.267417572814439 24.444509238267013 0.3878465972293583 0.18920008339223127\n",
+ "***** Episode 33877, Mean R = -108.7 Std R = 58.1 Min R = -296.9\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.94\n",
+ "ExplainedVarOld: 0.884\n",
+ "KL: 0.00059\n",
+ "PolicyEntropy: 3.23\n",
+ "PolicyLoss: -0.0012\n",
+ "Steps: 3.18e+04\n",
+ "TotalSteps: 2.07e+06\n",
+ "ValFuncLoss: 0.00395\n",
+ "Variance: 0.581\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00067541323 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5816658 0.50273085 0.5627639 0.52577233]\n",
+ "FIT: 5.26115798198746 5.751157201317545 0.3956552608233942 0.18590470040719134\n",
+ "***** Episode 33998, Mean R = -110.8 Std R = 61.2 Min R = -279.2\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.94\n",
+ "ExplainedVarOld: 0.814\n",
+ "KL: 0.000675\n",
+ "PolicyEntropy: 3.23\n",
+ "PolicyLoss: -0.00151\n",
+ "Steps: 3.18e+04\n",
+ "TotalSteps: 2.1e+06\n",
+ "ValFuncLoss: 0.00478\n",
+ "Variance: 0.582\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0005100912 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5841454 0.5046639 0.56251144 0.5253945 ]\n",
+ "FIT: 5.458531271065321 6.297495925017208 0.39211391995347783 0.1857405663354692\n",
+ "***** Episode 34119, Mean R = -107.4 Std R = 66.9 Min R = -291.7\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.905\n",
+ "ExplainedVarOld: 0.729\n",
+ "KL: 0.00051\n",
+ "PolicyEntropy: 3.24\n",
+ "PolicyLoss: -0.00128\n",
+ "Steps: 3.12e+04\n",
+ "TotalSteps: 2.13e+06\n",
+ "ValFuncLoss: 0.0084\n",
+ "Variance: 0.584\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0006918497 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5842485 0.50658756 0.5616328 0.5251259 ]\n",
+ "FIT: 5.271875125629616 6.735338836593321 0.39825882550173347 0.18111793224183528\n",
+ "***** Episode 34240, Mean R = -109.6 Std R = 60.1 Min R = -262.8\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.925\n",
+ "ExplainedVarOld: 0.855\n",
+ "KL: 0.000692\n",
+ "PolicyEntropy: 3.24\n",
+ "PolicyLoss: -0.00119\n",
+ "Steps: 3.11e+04\n",
+ "TotalSteps: 2.16e+06\n",
+ "ValFuncLoss: 0.00558\n",
+ "Variance: 0.584\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00052320625 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5818164 0.5076871 0.5586685 0.5228978]\n",
+ "FIT: 5.429495847423101 12.551904933637259 0.37929365679789406 0.1828832924652458\n",
+ "Update Cnt = 120 ET = 905.1 Stats: Mean, Std, Min, Max\n",
+ "r_f | 143.8 41.8 349.5 | 261.5 242.1 486.6 | -705.3 -869.3 -3.9 | 1719.7 1126.2 2004.2\n",
+ "v_f | -3.08 -3.39 -11.53 | 17.77 13.66 46.27 | -47.66 -38.63 -93.45 | 27.93 37.81 59.03\n",
+ "r_i | 993.4 -15.1 2350.1 | 588.9 566.3 28.8 | 0.1 -999.8 2300.0 | 1997.9 997.8 2400.0\n",
+ "v_i | -40.16 -0.16 -80.12 | 17.13 17.71 5.73 | -69.99 -29.97 -89.98 | -10.05 29.99 -70.01\n",
+ "norm_rf | 576.5 | 419.6 | 5.7 | 2775.4\n",
+ "norm_vf | 50.51 | 15.65 | 2.03 | 97.98\n",
+ "gs_f | 3.3 | 8.2 | 0.1 | 264.8\n",
+ "thrust | 1359 -85 9289 | 2583 2480 2725 | -14396 -14596 391 | 15140 15186 19973\n",
+ "norm_thrust | 10016 | 2843 | 3464 | 20000\n",
+ "fuel | 249 | 95 | 14 | 493\n",
+ "rewards | -106.59 | 61.58 | -350.27 | -29.18\n",
+ "fuel_rewards | -6.43 | 2.44 | -12.69 | -0.36\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 0.93 | 0.81 | 0.02 | 5.49\n",
+ "norm_af | 0.32 | 0.22 | 0.01 | 1.93\n",
+ "norm_wf | 0.56 | 0.31 | 0.02 | 2.14\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.44 | 2.30 | -31.15 | 0.00\n",
+ "att_penalty | -1.40 | 11.77 | -100.00 | 0.00\n",
+ "attitude | 0.06 0.14 0.02 | 0.32 0.26 0.25 | -1.66 -1.41 -1.53 | 3.10 1.32 1.46\n",
+ "w | 0.00 -0.01 0.00 | 0.47 0.44 0.01 | -2.18 -2.03 -0.09 | 1.98 2.36 0.25\n",
+ "a_f | 0.09 0.03 | 0.25 0.28 | -1.41 -1.53 | 1.32 1.46\n",
+ "w_f | -0.04 0.03 0.00 | 0.46 0.44 0.02 | -2.07 -1.60 -0.08 | 1.45 1.62 0.25\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 571.69 | 419.30 | 19.00 | 2770.39\n",
+ "tracking_rewards | -98.31 | 57.81 | -293.07 | -10.64\n",
+ "steps | 256 | 91 | 17 | 524\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 34361, Mean R = -106.0 Std R = 64.9 Min R = -289.2\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.896\n",
+ "ExplainedVarOld: 0.806\n",
+ "KL: 0.000523\n",
+ "PolicyEntropy: 3.23\n",
+ "PolicyLoss: -0.00115\n",
+ "Steps: 3.18e+04\n",
+ "TotalSteps: 2.2e+06\n",
+ "ValFuncLoss: 0.00813\n",
+ "Variance: 0.582\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008623328 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5797784 0.50541866 0.5591217 0.5204465 ]\n",
+ "FIT: 5.278069999612998 14.284609591093501 0.3934911602036174 0.18701344037022716\n",
+ "***** Episode 34482, Mean R = -117.9 Std R = 60.4 Min R = -253.2\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.944\n",
+ "ExplainedVarOld: 0.85\n",
+ "KL: 0.000862\n",
+ "PolicyEntropy: 3.21\n",
+ "PolicyLoss: -0.00176\n",
+ "Steps: 3.41e+04\n",
+ "TotalSteps: 2.23e+06\n",
+ "ValFuncLoss: 0.00424\n",
+ "Variance: 0.58\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00061516574 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.57632685 0.5025511 0.55952877 0.5196221 ]\n",
+ "FIT: 5.262693661075585 8.108526891789015 0.39700294434545735 0.18403515304462348\n",
+ "***** Episode 34603, Mean R = -115.3 Std R = 70.6 Min R = -328.2\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.93\n",
+ "ExplainedVarOld: 0.763\n",
+ "KL: 0.000615\n",
+ "PolicyEntropy: 3.2\n",
+ "PolicyLoss: -0.00118\n",
+ "Steps: 3.33e+04\n",
+ "TotalSteps: 2.26e+06\n",
+ "ValFuncLoss: 0.00615\n",
+ "Variance: 0.576\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.000600647 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.5743077 0.5032401 0.5606877 0.51860875]\n",
+ "FIT: 5.263056163169521 5.311079311340631 0.39322469642325425 0.18457015463184684\n",
+ "***** Episode 34724, Mean R = -111.9 Std R = 62.4 Min R = -267.7\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.947\n",
+ "ExplainedVarOld: 0.879\n",
+ "KL: 0.000601\n",
+ "PolicyEntropy: 3.2\n",
+ "PolicyLoss: -0.00112\n",
+ "Steps: 3.24e+04\n",
+ "TotalSteps: 2.3e+06\n",
+ "ValFuncLoss: 0.00363\n",
+ "Variance: 0.574\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0006864293 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.57322407 0.49999863 0.561644 0.5171242 ]\n",
+ "FIT: 5.2844506887157365 9.098619848794721 0.41218035069683046 0.18694297887736736\n",
+ "***** Episode 34845, Mean R = -117.4 Std R = 64.1 Min R = -313.5\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.882\n",
+ "ExplainedVarOld: 0.675\n",
+ "KL: 0.000686\n",
+ "PolicyEntropy: 3.19\n",
+ "PolicyLoss: -0.00129\n",
+ "Steps: 3.24e+04\n",
+ "TotalSteps: 2.33e+06\n",
+ "ValFuncLoss: 0.0107\n",
+ "Variance: 0.573\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0006601236 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.57187545 0.49827066 0.56141305 0.51670897]\n",
+ "FIT: 5.262920043469602 15.801712433671804 0.3764496964863564 0.17742205304629022\n",
+ "***** Episode 34966, Mean R = -106.7 Std R = 64.4 Min R = -273.1\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.956\n",
+ "ExplainedVarOld: 0.872\n",
+ "KL: 0.00066\n",
+ "PolicyEntropy: 3.18\n",
+ "PolicyLoss: -0.00138\n",
+ "Steps: 3.22e+04\n",
+ "TotalSteps: 2.36e+06\n",
+ "ValFuncLoss: 0.00324\n",
+ "Variance: 0.572\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00073089014 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.57214767 0.4979725 0.56222826 0.5157513 ]\n",
+ "FIT: 5.252930857347182 6.189995070637298 0.4073216830689479 0.1866281550605019\n",
+ "***** Episode 35087, Mean R = -121.6 Std R = 68.9 Min R = -309.8\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.888\n",
+ "ExplainedVarOld: 0.719\n",
+ "KL: 0.000731\n",
+ "PolicyEntropy: 3.18\n",
+ "PolicyLoss: -0.00144\n",
+ "Steps: 3.42e+04\n",
+ "TotalSteps: 2.39e+06\n",
+ "ValFuncLoss: 0.00903\n",
+ "Variance: 0.572\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00043363523 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.5734961 0.49666744 0.56126094 0.5140632 ]\n",
+ "FIT: 5.419910701900124 4.687936152043498 0.4091563786492239 0.18548482819125303\n",
+ "***** Episode 35208, Mean R = -117.4 Std R = 74.1 Min R = -421.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.897\n",
+ "ExplainedVarOld: 0.765\n",
+ "KL: 0.000434\n",
+ "PolicyEntropy: 3.18\n",
+ "PolicyLoss: -0.00105\n",
+ "Steps: 3.27e+04\n",
+ "TotalSteps: 2.43e+06\n",
+ "ValFuncLoss: 0.0078\n",
+ "Variance: 0.573\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0015547796 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.57356536 0.49655095 0.56173456 0.51025933]\n",
+ "FIT: 5.45441199498163 7.8116095577160465 0.41559144669575576 0.1837248988744666\n",
+ "***** Episode 35329, Mean R = -118.0 Std R = 74.4 Min R = -346.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.923\n",
+ "ExplainedVarOld: 0.853\n",
+ "KL: 0.00155\n",
+ "PolicyEntropy: 3.17\n",
+ "PolicyLoss: -0.00203\n",
+ "Steps: 3.24e+04\n",
+ "TotalSteps: 2.46e+06\n",
+ "ValFuncLoss: 0.00676\n",
+ "Variance: 0.574\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 3054. 13003.]\n",
+ "kl = 0.0010210423 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.5719824 0.4945876 0.56234384 0.50886434]\n",
+ "FIT: 5.3253453708796075 8.440124077832868 0.40509663922382516 0.18344864779053735\n",
+ "***** Episode 35450, Mean R = -122.7 Std R = 78.7 Min R = -448.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.959\n",
+ "ExplainedVarOld: 0.849\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: 3.16\n",
+ "PolicyLoss: -0.00172\n",
+ "Steps: 3.48e+04\n",
+ "TotalSteps: 2.49e+06\n",
+ "ValFuncLoss: 0.00342\n",
+ "Variance: 0.572\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013560989 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.5760152 0.49518546 0.5579717 0.5113214 ]\n",
+ "FIT: 5.538319136378716 9.535651380016002 0.4240926345129903 0.18585128897262138\n",
+ "Update Cnt = 130 ET = 977.0 Stats: Mean, Std, Min, Max\n",
+ "r_f | 122.1 23.6 438.8 | 225.3 201.0 522.6 | -649.3 -859.8 -4.0 | 1766.0 998.6 2116.3\n",
+ "v_f | -1.90 -3.75 -3.64 | 16.63 13.01 46.29 | -58.19 -37.51 -95.88 | 26.81 39.13 58.28\n",
+ "r_i | 995.7 21.1 2351.2 | 575.4 582.8 29.0 | 1.2 -999.2 2300.1 | 1999.5 998.4 2399.9\n",
+ "v_i | -39.72 0.05 -79.89 | 17.29 17.26 5.76 | -69.99 -29.96 -89.99 | -10.11 29.94 -70.02\n",
+ "norm_rf | 611.9 | 444.9 | 6.5 | 2511.6\n",
+ "norm_vf | 48.96 | 14.89 | 2.24 | 106.78\n",
+ "gs_f | 3.3 | 4.0 | 0.1 | 70.5\n",
+ "thrust | 1280 -100 9323 | 2570 2448 2730 | -14676 -15314 427 | 17740 15124 19980\n",
+ "norm_thrust | 10026 | 2847 | 3464 | 20000\n",
+ "fuel | 269 | 98 | 18 | 506\n",
+ "rewards | -117.88 | 69.44 | -448.18 | -26.17\n",
+ "fuel_rewards | -6.93 | 2.52 | -13.04 | -0.48\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 0.79 | 0.75 | 0.01 | 5.03\n",
+ "norm_af | 0.31 | 0.23 | 0.00 | 2.11\n",
+ "norm_wf | 0.57 | 0.31 | 0.03 | 2.23\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.51 | 2.43 | -36.29 | 0.00\n",
+ "att_penalty | -1.65 | 12.75 | -100.00 | 0.00\n",
+ "attitude | 0.07 0.13 0.02 | 0.33 0.25 0.25 | -1.86 -1.38 -1.64 | 2.36 1.42 1.41\n",
+ "w | -0.00 -0.01 0.00 | 0.47 0.44 0.02 | -2.16 -2.29 -0.13 | 2.24 2.46 0.13\n",
+ "a_f | 0.10 0.02 | 0.25 0.28 | -1.38 -1.64 | 1.42 1.41\n",
+ "w_f | -0.03 0.04 -0.00 | 0.48 0.43 0.02 | -1.58 -1.27 -0.11 | 1.49 1.88 0.12\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 607.23 | 444.49 | 12.51 | 2506.58\n",
+ "tracking_rewards | -108.79 | 65.70 | -339.25 | -10.23\n",
+ "steps | 276 | 98 | 16 | 568\n",
+ "***** Episode 35571, Mean R = -129.8 Std R = 71.7 Min R = -308.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.823\n",
+ "ExplainedVarOld: 0.719\n",
+ "KL: 0.00136\n",
+ "PolicyEntropy: 3.17\n",
+ "PolicyLoss: -0.00188\n",
+ "Steps: 3.52e+04\n",
+ "TotalSteps: 2.53e+06\n",
+ "ValFuncLoss: 0.0167\n",
+ "Variance: 0.576\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010697483 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.58056384 0.49519926 0.5560498 0.51292574]\n",
+ "FIT: 5.240921619694994 8.467721480430306 0.40477271117247837 0.17839222394601428\n",
+ "***** Episode 35692, Mean R = -116.4 Std R = 67.5 Min R = -289.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.943\n",
+ "ExplainedVarOld: 0.861\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: 3.17\n",
+ "PolicyLoss: -0.00125\n",
+ "Steps: 3.27e+04\n",
+ "TotalSteps: 2.56e+06\n",
+ "ValFuncLoss: 0.00487\n",
+ "Variance: 0.581\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0014384263 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.5787632 0.49501914 0.5576817 0.5151767 ]\n",
+ "FIT: 5.253932692614328 14.271005942376704 0.42979261363786986 0.1880523541898271\n",
+ "***** Episode 35813, Mean R = -129.6 Std R = 75.7 Min R = -371.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.93\n",
+ "ExplainedVarOld: 0.892\n",
+ "KL: 0.00144\n",
+ "PolicyEntropy: 3.18\n",
+ "PolicyLoss: -0.00155\n",
+ "Steps: 3.47e+04\n",
+ "TotalSteps: 2.6e+06\n",
+ "ValFuncLoss: 0.006\n",
+ "Variance: 0.579\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013595154 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.57887083 0.4951419 0.5582465 0.5173194 ]\n",
+ "FIT: 5.24736359361287 8.881906371382977 0.40096334210793 0.17715766155128052\n",
+ "***** Episode 35934, Mean R = -117.9 Std R = 71.2 Min R = -260.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.908\n",
+ "ExplainedVarOld: 0.81\n",
+ "KL: 0.00136\n",
+ "PolicyEntropy: 3.18\n",
+ "PolicyLoss: -0.00186\n",
+ "Steps: 3.36e+04\n",
+ "TotalSteps: 2.63e+06\n",
+ "ValFuncLoss: 0.00912\n",
+ "Variance: 0.579\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0010408215 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.57838273 0.49679762 0.5583349 0.5180771 ]\n",
+ "FIT: 5.271421634380825 41.21997492000649 0.4567584656112679 0.1907673501712281\n",
+ "***** Episode 36055, Mean R = -146.2 Std R = 83.8 Min R = -380.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.897\n",
+ "ExplainedVarOld: 0.747\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: 3.19\n",
+ "PolicyLoss: -0.00161\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 2.67e+06\n",
+ "ValFuncLoss: 0.0128\n",
+ "Variance: 0.578\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.001706174 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.5757256 0.49761984 0.5565019 0.5172453 ]\n",
+ "FIT: 5.22493746109282 6.317815868471935 0.4306543714411482 0.18378126788153124\n",
+ "***** Episode 36176, Mean R = -134.4 Std R = 73.6 Min R = -375.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.904\n",
+ "ExplainedVarOld: 0.801\n",
+ "KL: 0.00171\n",
+ "PolicyEntropy: 3.18\n",
+ "PolicyLoss: -0.00209\n",
+ "Steps: 3.59e+04\n",
+ "TotalSteps: 2.7e+06\n",
+ "ValFuncLoss: 0.0081\n",
+ "Variance: 0.576\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011606432 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.5723011 0.4968717 0.55514216 0.51628554]\n",
+ "FIT: 5.3175376647362125 83.74631588511498 0.43121513066896827 0.1844424418137295\n",
+ "***** Episode 36297, Mean R = -138.3 Std R = 80.2 Min R = -376.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.918\n",
+ "ExplainedVarOld: 0.823\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: 3.17\n",
+ "PolicyLoss: -0.00201\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 2.74e+06\n",
+ "ValFuncLoss: 0.00847\n",
+ "Variance: 0.572\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012741823 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.56911355 0.49623117 0.5547549 0.5174067 ]\n",
+ "FIT: 5.233583370279587 7.201924343047187 0.3934418047433376 0.1770775527844042\n",
+ "***** Episode 36418, Mean R = -121.3 Std R = 71.3 Min R = -415.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.921\n",
+ "ExplainedVarOld: 0.834\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: 3.16\n",
+ "PolicyLoss: -0.00168\n",
+ "Steps: 3.53e+04\n",
+ "TotalSteps: 2.78e+06\n",
+ "ValFuncLoss: 0.00564\n",
+ "Variance: 0.569\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011710292 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.56843626 0.4951079 0.5544797 0.51735556]\n",
+ "FIT: 5.49443012653803 12.480392637851422 0.4309448303940439 0.17864788309323024\n",
+ "***** Episode 36539, Mean R = -133.0 Std R = 81.4 Min R = -395.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.87\n",
+ "ExplainedVarOld: 0.693\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: 3.16\n",
+ "PolicyLoss: -0.00193\n",
+ "Steps: 3.56e+04\n",
+ "TotalSteps: 2.81e+06\n",
+ "ValFuncLoss: 0.0181\n",
+ "Variance: 0.568\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011150629 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.5649024 0.49418142 0.5548065 0.5147393 ]\n",
+ "FIT: 1.1054696785661287 4.639417466148073 0.42641373348894784 0.18204392554434537\n",
+ "***** Episode 36660, Mean R = -134.0 Std R = 82.2 Min R = -329.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.969\n",
+ "ExplainedVarOld: 0.924\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: 3.15\n",
+ "PolicyLoss: -0.00192\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 2.85e+06\n",
+ "ValFuncLoss: 0.0024\n",
+ "Variance: 0.565\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012031456 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.5592795 0.4938016 0.5550101 0.5148599]\n",
+ "FIT: 1.1526635967678938 6.361390875403713 0.4170665089755426 0.17547797838343482\n",
+ "Update Cnt = 140 ET = 1040.6 Stats: Mean, Std, Min, Max\n",
+ "r_f | 123.0 10.2 542.7 | 184.8 177.7 572.2 | -608.8 -1097.5 -3.5 | 971.1 1105.6 2162.0\n",
+ "v_f | -0.74 -3.65 4.18 | 15.86 11.82 45.15 | -71.09 -48.49 -90.79 | 25.43 39.13 61.52\n",
+ "r_i | 997.8 -8.4 2351.1 | 580.8 579.7 29.4 | 3.9 -999.6 2300.1 | 1994.1 997.1 2400.0\n",
+ "v_i | -39.93 -0.47 -79.76 | 17.09 17.39 5.62 | -69.98 -29.96 -89.97 | -10.02 29.99 -70.02\n",
+ "norm_rf | 670.6 | 503.2 | 4.6 | 2469.0\n",
+ "norm_vf | 47.28 | 15.01 | 1.33 | 102.27\n",
+ "gs_f | 3.7 | 4.1 | 0.1 | 74.8\n",
+ "thrust | 1248 -71 9376 | 2543 2428 2746 | -13862 -16952 250 | 16395 15958 19968\n",
+ "norm_thrust | 10052 | 2886 | 3464 | 20000\n",
+ "fuel | 285 | 96 | 14 | 530\n",
+ "rewards | -129.98 | 76.83 | -415.81 | -27.47\n",
+ "fuel_rewards | -7.36 | 2.46 | -13.66 | -0.37\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 0.69 | 0.74 | 0.01 | 3.36\n",
+ "norm_af | 0.31 | 0.23 | 0.01 | 1.86\n",
+ "norm_wf | 0.56 | 0.30 | 0.03 | 2.29\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.61 | 2.54 | -32.19 | 0.00\n",
+ "att_penalty | -1.98 | 13.94 | -100.00 | 0.00\n",
+ "attitude | 0.07 0.13 0.02 | 0.34 0.25 0.24 | -2.07 -1.38 -1.51 | 2.49 1.39 1.40\n",
+ "w | -0.00 -0.01 0.00 | 0.47 0.44 0.01 | -2.07 -2.01 -0.12 | 1.92 2.36 0.14\n",
+ "a_f | 0.10 0.01 | 0.24 0.28 | -1.38 -1.51 | 1.39 1.40\n",
+ "w_f | -0.02 0.02 0.00 | 0.46 0.43 0.02 | -2.03 -1.57 -0.12 | 1.33 2.28 0.14\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 666.00 | 502.74 | 4.63 | 2463.95\n",
+ "tracking_rewards | -120.02 | 73.52 | -391.81 | -8.49\n",
+ "steps | 292 | 98 | 15 | 601\n",
+ "***** Episode 36781, Mean R = -128.8 Std R = 74.4 Min R = -274.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.773\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: 3.14\n",
+ "PolicyLoss: -0.00162\n",
+ "Steps: 3.55e+04\n",
+ "TotalSteps: 2.88e+06\n",
+ "ValFuncLoss: 0.0015\n",
+ "Variance: 0.559\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011802798 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.5618807 0.49465412 0.55166805 0.5155291 ]\n",
+ "FIT: 5.26101310223108 7.68809177050832 0.4236490750840699 0.18041163491974554\n",
+ "***** Episode 36902, Mean R = -132.2 Std R = 90.5 Min R = -407.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.941\n",
+ "ExplainedVarOld: 0.819\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: 3.14\n",
+ "PolicyLoss: -0.00124\n",
+ "Steps: 3.6e+04\n",
+ "TotalSteps: 2.92e+06\n",
+ "ValFuncLoss: 0.00581\n",
+ "Variance: 0.562\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011151829 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.56435037 0.49468774 0.5523786 0.5150636 ]\n",
+ "FIT: 5.244418191600889 12.534000486561128 0.3772182944394397 0.16850867242394021\n",
+ "***** Episode 37023, Mean R = -111.4 Std R = 71.2 Min R = -321.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.957\n",
+ "ExplainedVarOld: 0.892\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: 3.14\n",
+ "PolicyLoss: -0.00164\n",
+ "Steps: 3.37e+04\n",
+ "TotalSteps: 2.95e+06\n",
+ "ValFuncLoss: 0.00316\n",
+ "Variance: 0.564\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011107577 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.5621179 0.49309605 0.550806 0.5151277 ]\n",
+ "FIT: 5.325705250549534 5.65334047315901 0.41142009614950964 0.17543022273798153\n",
+ "***** Episode 37144, Mean R = -123.2 Std R = 84.8 Min R = -406.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.906\n",
+ "ExplainedVarOld: 0.851\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: 3.13\n",
+ "PolicyLoss: -0.00141\n",
+ "Steps: 3.41e+04\n",
+ "TotalSteps: 2.99e+06\n",
+ "ValFuncLoss: 0.00799\n",
+ "Variance: 0.562\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010027688 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.5572933 0.49011022 0.551758 0.5148564 ]\n",
+ "FIT: 5.3978913354060625 8.035881295686028 0.4499726826181562 0.1824523338374229\n",
+ "***** Episode 37265, Mean R = -145.3 Std R = 90.3 Min R = -376.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.851\n",
+ "ExplainedVarOld: 0.758\n",
+ "KL: 0.001\n",
+ "PolicyEntropy: 3.12\n",
+ "PolicyLoss: -0.00183\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 3.02e+06\n",
+ "ValFuncLoss: 0.0157\n",
+ "Variance: 0.557\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.001395751 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.55527353 0.4870064 0.55365217 0.5145176 ]\n",
+ "FIT: 5.227247717343482 4.830540604443209 0.4235243001274118 0.17269220330867752\n",
+ "***** Episode 37386, Mean R = -130.5 Std R = 80.4 Min R = -314.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.962\n",
+ "ExplainedVarOld: 0.916\n",
+ "KL: 0.0014\n",
+ "PolicyEntropy: 3.11\n",
+ "PolicyLoss: -0.00173\n",
+ "Steps: 3.54e+04\n",
+ "TotalSteps: 3.06e+06\n",
+ "ValFuncLoss: 0.00304\n",
+ "Variance: 0.555\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012226 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.55613154 0.4854023 0.550844 0.5139452 ]\n",
+ "FIT: 1.1020623675166394 7.014164144652911 0.4094225508331188 0.17562973876890084\n",
+ "***** Episode 37507, Mean R = -131.9 Std R = 90.7 Min R = -331.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.943\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: 3.1\n",
+ "PolicyLoss: -0.00213\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 3.1e+06\n",
+ "ValFuncLoss: 0.0011\n",
+ "Variance: 0.556\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0015537413 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.55743724 0.48550555 0.55007666 0.5128029 ]\n",
+ "FIT: 5.244845494412796 8.464936427406338 0.42182636971766296 0.17776931737815388\n",
+ "***** Episode 37628, Mean R = -136.2 Std R = 88.9 Min R = -376.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.954\n",
+ "ExplainedVarOld: 0.834\n",
+ "KL: 0.00155\n",
+ "PolicyEntropy: 3.1\n",
+ "PolicyLoss: -0.00176\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 3.13e+06\n",
+ "ValFuncLoss: 0.00416\n",
+ "Variance: 0.557\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0011408536 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.56001014 0.48671013 0.55152005 0.51142883]\n",
+ "FIT: 5.30045156062799 13.4135990158284 0.4091790560417969 0.17143636475739527\n",
+ "***** Episode 37749, Mean R = -126.5 Std R = 90.7 Min R = -341.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.956\n",
+ "ExplainedVarOld: 0.902\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: 3.11\n",
+ "PolicyLoss: -0.00166\n",
+ "Steps: 3.55e+04\n",
+ "TotalSteps: 3.17e+06\n",
+ "ValFuncLoss: 0.00362\n",
+ "Variance: 0.56\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008392856 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.56241536 0.48926395 0.5519075 0.5128306 ]\n",
+ "FIT: 5.2598801663796895 32.63339488982138 0.4084261845754362 0.1745914854917963\n",
+ "***** Episode 37870, Mean R = -128.1 Std R = 90.5 Min R = -397.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.902\n",
+ "ExplainedVarOld: 0.809\n",
+ "KL: 0.000839\n",
+ "PolicyEntropy: 3.12\n",
+ "PolicyLoss: -0.00153\n",
+ "Steps: 3.59e+04\n",
+ "TotalSteps: 3.21e+06\n",
+ "ValFuncLoss: 0.00906\n",
+ "Variance: 0.562\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008468627 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.5610163 0.48940483 0.5497559 0.5130069 ]\n",
+ "FIT: 1.3584045696490492 33.48373258327589 0.40775074775554865 0.1756185685321895\n",
+ "Update Cnt = 150 ET = 1052.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | 100.6 22.4 477.0 | 193.4 168.2 569.6 | -569.3 -1016.4 -4.2 | 1929.9 1101.1 2112.8\n",
+ "v_f | -2.56 -3.78 -2.95 | 15.87 11.75 45.26 | -60.19 -36.97 -92.47 | 23.67 35.86 62.70\n",
+ "r_i | 978.5 3.8 2351.7 | 561.5 580.4 29.0 | 0.0 -998.2 2300.0 | 1999.4 996.7 2399.9\n",
+ "v_i | -39.67 0.54 -80.02 | 17.81 17.40 5.80 | -69.98 -29.92 -89.97 | -10.02 29.96 -70.05\n",
+ "norm_rf | 605.8 | 511.2 | 3.7 | 3000.6\n",
+ "norm_vf | 47.47 | 14.66 | 2.47 | 109.33\n",
+ "gs_f | 3.6 | 3.4 | 0.0 | 44.1\n",
+ "thrust | 1176 -110 9136 | 2496 2356 2757 | -13895 -14057 450 | 17659 17568 19970\n",
+ "norm_thrust | 9777 | 2942 | 3464 | 20000\n",
+ "fuel | 281 | 104 | 15 | 519\n",
+ "rewards | -128.98 | 87.62 | -407.56 | -27.03\n",
+ "fuel_rewards | -7.23 | 2.67 | -13.38 | -0.40\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 0.79 | 0.75 | 0.02 | 3.74\n",
+ "norm_af | 0.29 | 0.21 | 0.00 | 1.90\n",
+ "norm_wf | 0.54 | 0.29 | 0.02 | 1.92\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.53 | 2.49 | -34.84 | 0.00\n",
+ "att_penalty | -1.32 | 11.42 | -100.00 | 0.00\n",
+ "attitude | 0.05 0.12 0.02 | 0.34 0.24 0.24 | -2.76 -1.17 -1.42 | 2.51 1.39 1.42\n",
+ "w | 0.00 -0.01 -0.00 | 0.46 0.44 0.01 | -2.38 -2.21 -0.16 | 2.18 2.01 0.10\n",
+ "a_f | 0.08 0.03 | 0.23 0.25 | -1.17 -1.42 | 1.39 1.42\n",
+ "w_f | -0.00 0.03 -0.00 | 0.46 0.40 0.02 | -1.50 -1.27 -0.12 | 1.76 1.69 0.10\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 601.37 | 510.51 | 11.07 | 2995.56\n",
+ "tracking_rewards | -119.90 | 84.96 | -393.86 | -7.78\n",
+ "steps | 295 | 113 | 12 | 601\n",
+ "***** Episode 37991, Mean R = -124.6 Std R = 91.9 Min R = -395.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.961\n",
+ "ExplainedVarOld: 0.903\n",
+ "KL: 0.000847\n",
+ "PolicyEntropy: 3.12\n",
+ "PolicyLoss: -0.00145\n",
+ "Steps: 3.51e+04\n",
+ "TotalSteps: 3.24e+06\n",
+ "ValFuncLoss: 0.00298\n",
+ "Variance: 0.561\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.001044848 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.558586 0.48766637 0.5476585 0.51023155]\n",
+ "FIT: 5.255010977631328 11.499720714320592 0.44237886457533876 0.1769019357188062\n",
+ "***** Episode 38112, Mean R = -157.9 Std R = 104.4 Min R = -461.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.964\n",
+ "ExplainedVarOld: 0.896\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: 3.1\n",
+ "PolicyLoss: -0.0017\n",
+ "Steps: 4.16e+04\n",
+ "TotalSteps: 3.28e+06\n",
+ "ValFuncLoss: 0.00339\n",
+ "Variance: 0.559\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0016757951 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.55303615 0.48470536 0.5457326 0.5094159 ]\n",
+ "FIT: 5.2447342192590725 13.02101821915369 0.4041178270919671 0.17102969634269058\n",
+ "***** Episode 38233, Mean R = -133.0 Std R = 95.3 Min R = -394.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.937\n",
+ "ExplainedVarOld: 0.904\n",
+ "KL: 0.00168\n",
+ "PolicyEntropy: 3.08\n",
+ "PolicyLoss: -0.00213\n",
+ "Steps: 3.8e+04\n",
+ "TotalSteps: 3.32e+06\n",
+ "ValFuncLoss: 0.00469\n",
+ "Variance: 0.553\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012720309 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.5486636 0.4830197 0.54167783 0.5097376 ]\n",
+ "FIT: 1.3524701557406498 8.00330515138132 0.38092069160143105 0.1710923678953033\n",
+ "***** Episode 38354, Mean R = -122.0 Std R = 97.3 Min R = -411.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.977\n",
+ "ExplainedVarOld: 0.97\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: 3.06\n",
+ "PolicyLoss: -0.0022\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 3.36e+06\n",
+ "ValFuncLoss: 0.00162\n",
+ "Variance: 0.549\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009492889 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.5463484 0.48455527 0.5400364 0.5084672 ]\n",
+ "FIT: 5.225186524767992 7.8594167127771275 0.40103489103650486 0.172419927932513\n",
+ "***** Episode 38475, Mean R = -134.1 Std R = 102.0 Min R = -412.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.925\n",
+ "ExplainedVarOld: 0.823\n",
+ "KL: 0.000949\n",
+ "PolicyEntropy: 3.05\n",
+ "PolicyLoss: -0.00158\n",
+ "Steps: 3.85e+04\n",
+ "TotalSteps: 3.4e+06\n",
+ "ValFuncLoss: 0.00598\n",
+ "Variance: 0.546\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010626662 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.5456832 0.48482153 0.5409223 0.5089705 ]\n",
+ "FIT: 5.432860179868852 11.375301703697863 0.36587270887196144 0.16577817399581454\n",
+ "***** Episode 38596, Mean R = -114.6 Std R = 95.3 Min R = -354.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.961\n",
+ "ExplainedVarOld: 0.901\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: 3.06\n",
+ "PolicyLoss: -0.00168\n",
+ "Steps: 3.59e+04\n",
+ "TotalSteps: 3.43e+06\n",
+ "ValFuncLoss: 0.003\n",
+ "Variance: 0.546\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0014838816 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.5431179 0.48382032 0.5392 0.50812775]\n",
+ "FIT: 5.30512893875329 11.843702364926841 0.41102372620904026 0.1740185158274899\n",
+ "***** Episode 38717, Mean R = -142.5 Std R = 106.2 Min R = -414.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.957\n",
+ "ExplainedVarOld: 0.873\n",
+ "KL: 0.00148\n",
+ "PolicyEntropy: 3.04\n",
+ "PolicyLoss: -0.00161\n",
+ "Steps: 4.01e+04\n",
+ "TotalSteps: 3.47e+06\n",
+ "ValFuncLoss: 0.00338\n",
+ "Variance: 0.543\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011861732 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.5397971 0.4840265 0.5400399 0.5056551]\n",
+ "FIT: 5.242748752383703 15.710984275077449 0.39036339948177456 0.16890318788892655\n",
+ "***** Episode 38838, Mean R = -135.8 Std R = 104.6 Min R = -394.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.956\n",
+ "ExplainedVarOld: 0.836\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: 3.04\n",
+ "PolicyLoss: -0.00165\n",
+ "Steps: 4.01e+04\n",
+ "TotalSteps: 3.51e+06\n",
+ "ValFuncLoss: 0.00358\n",
+ "Variance: 0.54\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013419763 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.53711826 0.4813148 0.5392878 0.50421906]\n",
+ "FIT: 1.435737101490177 17.98693456762476 0.39432489422108685 0.17395836966857528\n",
+ "***** Episode 38959, Mean R = -129.0 Std R = 108.7 Min R = -459.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.952\n",
+ "KL: 0.00134\n",
+ "PolicyEntropy: 3.02\n",
+ "PolicyLoss: -0.00215\n",
+ "Steps: 3.78e+04\n",
+ "TotalSteps: 3.55e+06\n",
+ "ValFuncLoss: 0.00137\n",
+ "Variance: 0.539\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012083591 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.53504956 0.478017 0.537691 0.5025564 ]\n",
+ "FIT: 1.1992958046600108 7.07074465728544 0.4058631974092219 0.1726614241806873\n",
+ "***** Episode 39080, Mean R = -135.9 Std R = 116.6 Min R = -431.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.946\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: 3\n",
+ "PolicyLoss: -0.002\n",
+ "Steps: 3.86e+04\n",
+ "TotalSteps: 3.59e+06\n",
+ "ValFuncLoss: 0.00149\n",
+ "Variance: 0.538\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013983096 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.53466964 0.47648868 0.53698015 0.500226 ]\n",
+ "FIT: 5.247933387375163 21.98115821493299 0.38157999861903397 0.16570930268305112\n",
+ "Update Cnt = 160 ET = 1123.4 Stats: Mean, Std, Min, Max\n",
+ "r_f | 67.6 3.3 378.9 | 152.3 128.3 503.2 | -560.6 -646.2 -3.7 | 897.1 665.2 1771.1\n",
+ "v_f | -3.45 -2.68 -6.58 | 14.71 10.77 42.15 | -54.08 -33.85 -92.04 | 18.94 33.07 59.52\n",
+ "r_i | 998.9 -17.2 2351.3 | 571.3 567.4 28.6 | 4.1 -997.6 2300.0 | 1996.7 997.8 2399.9\n",
+ "v_i | -39.31 -0.32 -79.87 | 17.16 17.22 5.75 | -69.97 -29.99 -89.99 | -10.09 29.89 -70.04\n",
+ "norm_rf | 488.8 | 449.6 | 1.4 | 1782.7\n",
+ "norm_vf | 44.07 | 15.13 | 2.76 | 95.88\n",
+ "gs_f | 4.2 | 4.7 | 0.1 | 58.4\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "thrust | 1059 -43 8822 | 2439 2297 2773 | -15469 -16455 567 | 17568 17423 19988\n",
+ "norm_thrust | 9431 | 2987 | 3464 | 20000\n",
+ "fuel | 290 | 112 | 128 | 516\n",
+ "rewards | -132.36 | 105.03 | -461.56 | -26.29\n",
+ "fuel_rewards | -7.48 | 2.89 | -13.28 | -3.29\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 0.85 | 0.75 | 0.01 | 5.26\n",
+ "norm_af | 0.28 | 0.17 | 0.01 | 1.90\n",
+ "norm_wf | 0.53 | 0.28 | 0.01 | 1.75\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.52 | 2.43 | -31.93 | 0.00\n",
+ "att_penalty | -0.58 | 7.58 | -100.00 | 0.00\n",
+ "attitude | 0.05 0.11 0.01 | 0.35 0.24 0.23 | -2.04 -1.38 -1.43 | 2.07 1.35 1.36\n",
+ "w | 0.00 -0.01 0.00 | 0.45 0.43 0.01 | -2.14 -2.35 -0.13 | 2.03 2.23 0.10\n",
+ "a_f | 0.08 0.02 | 0.22 0.23 | -1.38 -1.43 | 0.77 0.70\n",
+ "w_f | -0.01 0.02 -0.00 | 0.44 0.41 0.02 | -1.43 -1.37 -0.12 | 1.56 1.24 0.09\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 484.81 | 448.55 | 4.43 | 1777.69\n",
+ "tracking_rewards | -123.78 | 102.29 | -446.79 | -20.43\n",
+ "steps | 317 | 133 | 124 | 601\n",
+ "***** Episode 39201, Mean R = -118.9 Std R = 111.1 Min R = -457.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.946\n",
+ "ExplainedVarOld: 0.904\n",
+ "KL: 0.0014\n",
+ "PolicyEntropy: 2.99\n",
+ "PolicyLoss: -0.00181\n",
+ "Steps: 3.57e+04\n",
+ "TotalSteps: 3.62e+06\n",
+ "ValFuncLoss: 0.00437\n",
+ "Variance: 0.537\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013887805 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.5347841 0.47502097 0.5345198 0.49830675]\n",
+ "FIT: 5.295253428386562 14.359035233471886 0.4094381031505484 0.17340652185664213\n",
+ "***** Episode 39322, Mean R = -131.2 Std R = 130.9 Min R = -429.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.937\n",
+ "ExplainedVarOld: 0.907\n",
+ "KL: 0.00139\n",
+ "PolicyEntropy: 2.98\n",
+ "PolicyLoss: -0.0022\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 3.66e+06\n",
+ "ValFuncLoss: 0.00595\n",
+ "Variance: 0.535\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.001376624 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.5328895 0.47322392 0.53341275 0.49735397]\n",
+ "FIT: 5.307112462202942 8.214315115757042 0.3708466437444838 0.1717318252630318\n",
+ "***** Episode 39443, Mean R = -122.8 Std R = 121.2 Min R = -501.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.93\n",
+ "ExplainedVarOld: 0.886\n",
+ "KL: 0.00138\n",
+ "PolicyEntropy: 2.97\n",
+ "PolicyLoss: -0.00185\n",
+ "Steps: 3.76e+04\n",
+ "TotalSteps: 3.7e+06\n",
+ "ValFuncLoss: 0.0059\n",
+ "Variance: 0.533\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013655929 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.52988243 0.47143227 0.53112733 0.49624762]\n",
+ "FIT: 1.4526038066525033 10.880232248137643 0.3495259801299489 0.16295614352999582\n",
+ "***** Episode 39564, Mean R = -111.4 Std R = 99.1 Min R = -453.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.968\n",
+ "ExplainedVarOld: 0.938\n",
+ "KL: 0.00137\n",
+ "PolicyEntropy: 2.96\n",
+ "PolicyLoss: -0.00209\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 3.73e+06\n",
+ "ValFuncLoss: 0.00173\n",
+ "Variance: 0.531\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0014722028 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.52839875 0.47091585 0.5288632 0.4950157 ]\n",
+ "FIT: 5.251631116042346 10.134514127163907 0.38607863983828855 0.17069927282248248\n",
+ "***** Episode 39685, Mean R = -134.8 Std R = 118.2 Min R = -456.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.887\n",
+ "ExplainedVarOld: 0.674\n",
+ "KL: 0.00147\n",
+ "PolicyEntropy: 2.94\n",
+ "PolicyLoss: -0.0016\n",
+ "Steps: 4.04e+04\n",
+ "TotalSteps: 3.77e+06\n",
+ "ValFuncLoss: 0.00888\n",
+ "Variance: 0.529\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0015976042 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.52606213 0.46839634 0.5280155 0.49465546]\n",
+ "FIT: 5.253071010324543 6.869127183061977 0.36140545205439706 0.16806929747342442\n",
+ "***** Episode 39806, Mean R = -118.9 Std R = 105.2 Min R = -407.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.919\n",
+ "ExplainedVarOld: 0.877\n",
+ "KL: 0.0016\n",
+ "PolicyEntropy: 2.93\n",
+ "PolicyLoss: -0.0018\n",
+ "Steps: 3.75e+04\n",
+ "TotalSteps: 3.81e+06\n",
+ "ValFuncLoss: 0.005\n",
+ "Variance: 0.528\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0014382873 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.52476877 0.4659828 0.5255523 0.4914373 ]\n",
+ "FIT: 5.286932630460654 24.02694277338705 0.337049756636593 0.16120715949926276\n",
+ "***** Episode 39927, Mean R = -111.5 Std R = 110.4 Min R = -399.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.924\n",
+ "ExplainedVarOld: 0.882\n",
+ "KL: 0.00144\n",
+ "PolicyEntropy: 2.91\n",
+ "PolicyLoss: -0.00208\n",
+ "Steps: 3.76e+04\n",
+ "TotalSteps: 3.85e+06\n",
+ "ValFuncLoss: 0.00444\n",
+ "Variance: 0.526\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013200952 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.5225798 0.4658244 0.5260005 0.49124557]\n",
+ "FIT: 5.26209361214824 18.083080969273585 0.24755053171191385 0.14536930227397013\n",
+ "***** Episode 40048, Mean R = -68.5 Std R = 59.1 Min R = -372.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.931\n",
+ "ExplainedVarOld: 0.714\n",
+ "KL: 0.00132\n",
+ "PolicyEntropy: 2.91\n",
+ "PolicyLoss: -0.00201\n",
+ "Steps: 3.02e+04\n",
+ "TotalSteps: 3.88e+06\n",
+ "ValFuncLoss: 0.00293\n",
+ "Variance: 0.526\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.001837899 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.5189642 0.46344584 0.52527183 0.48921973]\n",
+ "FIT: 5.418701953810296 3.8103297755642616 0.28523371095495326 0.15149641608047\n",
+ "***** Episode 40169, Mean R = -83.6 Std R = 76.3 Min R = -367.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.867\n",
+ "ExplainedVarOld: 0.628\n",
+ "KL: 0.00184\n",
+ "PolicyEntropy: 2.89\n",
+ "PolicyLoss: -0.00206\n",
+ "Steps: 3.23e+04\n",
+ "TotalSteps: 3.91e+06\n",
+ "ValFuncLoss: 0.00699\n",
+ "Variance: 0.525\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0014530357 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.5164188 0.45810354 0.523064 0.48647937]\n",
+ "FIT: 5.507395411688201 3.5427464487412075 0.29067521527903306 0.15698715676725652\n",
+ "***** Episode 40290, Mean R = -90.7 Std R = 83.2 Min R = -428.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.943\n",
+ "ExplainedVarOld: 0.855\n",
+ "KL: 0.00145\n",
+ "PolicyEntropy: 2.87\n",
+ "PolicyLoss: -0.00212\n",
+ "Steps: 3.47e+04\n",
+ "TotalSteps: 3.95e+06\n",
+ "ValFuncLoss: 0.00228\n",
+ "Variance: 0.523\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010800901 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.51379186 0.456215 0.5203286 0.4859809 ]\n",
+ "FIT: 1.601420798003131 2.179772754083795 0.27649604827499136 0.15270282577624322\n",
+ "Update Cnt = 170 ET = 1048.1 Stats: Mean, Std, Min, Max\n",
+ "r_f | 40.7 15.3 174.0 | 138.0 138.0 377.5 | -483.1 -1021.6 -4.0 | 796.1 1012.1 2317.1\n",
+ "v_f | -5.75 -2.02 -22.97 | 13.63 11.29 34.23 | -61.85 -32.49 -96.30 | 20.12 33.48 62.89\n",
+ "r_i | 957.3 13.5 2349.7 | 583.8 572.5 29.1 | 2.8 -999.7 2300.1 | 1997.6 999.8 2400.0\n",
+ "v_i | -40.09 -0.53 -80.09 | 17.16 17.35 5.67 | -69.99 -29.95 -89.99 | -10.05 29.99 -70.03\n",
+ "norm_rf | 286.4 | 361.5 | 2.1 | 2504.3\n",
+ "norm_vf | 41.46 | 18.17 | 2.52 | 108.42\n",
+ "gs_f | 4.2 | 6.4 | 0.0 | 126.5\n",
+ "thrust | 1096 -26 8500 | 2451 2333 2797 | -14484 -16535 608 | 18894 16991 19998\n",
+ "norm_thrust | 9126 | 3071 | 3464 | 20000\n",
+ "fuel | 262 | 111 | 7 | 527\n",
+ "rewards | -105.79 | 102.50 | -501.50 | -24.02\n",
+ "fuel_rewards | -6.76 | 2.87 | -13.59 | -0.18\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.14 | 0.75 | 0.01 | 4.74\n",
+ "norm_af | 0.30 | 0.21 | 0.02 | 1.93\n",
+ "norm_wf | 0.51 | 0.27 | 0.03 | 1.78\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.86 | 3.09 | -33.81 | 0.00\n",
+ "att_penalty | -1.16 | 10.69 | -100.00 | 0.00\n",
+ "attitude | 0.03 0.12 0.01 | 0.36 0.24 0.24 | -2.43 -1.38 -1.43 | 2.18 1.41 1.49\n",
+ "w | -0.00 -0.01 -0.00 | 0.45 0.41 0.01 | -2.08 -1.92 -0.14 | 1.85 1.88 0.13\n",
+ "a_f | 0.08 0.00 | 0.23 0.26 | -1.38 -1.43 | 1.41 1.49\n",
+ "w_f | -0.02 0.03 -0.00 | 0.42 0.39 0.02 | -1.73 -1.61 -0.13 | 1.57 1.07 0.12\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 283.45 | 360.07 | 8.02 | 2499.33\n",
+ "tracking_rewards | -97.02 | 99.69 | -489.50 | -2.80\n",
+ "steps | 296 | 146 | 5 | 601\n",
+ "***** Episode 40411, Mean R = -84.6 Std R = 73.5 Min R = -341.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.945\n",
+ "ExplainedVarOld: 0.827\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: 2.85\n",
+ "PolicyLoss: -0.00164\n",
+ "Steps: 3.41e+04\n",
+ "TotalSteps: 3.98e+06\n",
+ "ValFuncLoss: 0.00188\n",
+ "Variance: 0.52\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0015159261 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.5109348 0.45421806 0.5143848 0.48227853]\n",
+ "FIT: 1.4213715983562927 9.365214995921361 0.2885203213804067 0.1551445675926293\n",
+ "***** Episode 40532, Mean R = -89.8 Std R = 80.3 Min R = -437.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.962\n",
+ "ExplainedVarOld: 0.894\n",
+ "KL: 0.00152\n",
+ "PolicyEntropy: 2.82\n",
+ "PolicyLoss: -0.00202\n",
+ "Steps: 3.51e+04\n",
+ "TotalSteps: 4.02e+06\n",
+ "ValFuncLoss: 0.00146\n",
+ "Variance: 0.514\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0014401496 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.50656813 0.45189834 0.51147765 0.47885758]\n",
+ "FIT: 5.244608262166177 5.4590647446573275 0.26210656543714467 0.14863970311868088\n",
+ "***** Episode 40653, Mean R = -78.2 Std R = 73.2 Min R = -390.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.847\n",
+ "ExplainedVarOld: 0.618\n",
+ "KL: 0.00144\n",
+ "PolicyEntropy: 2.79\n",
+ "PolicyLoss: -0.00211\n",
+ "Steps: 3.33e+04\n",
+ "TotalSteps: 4.05e+06\n",
+ "ValFuncLoss: 0.00621\n",
+ "Variance: 0.511\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011945498 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.50131977 0.44994828 0.5110338 0.4761181 ]\n",
+ "FIT: 1.0458611798833144 1.2847551193252627 0.2386587205353123 0.14771095045687474\n",
+ "***** Episode 40774, Mean R = -68.6 Std R = 52.2 Min R = -297.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.968\n",
+ "ExplainedVarOld: 0.933\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: 2.77\n",
+ "PolicyLoss: -0.00184\n",
+ "Steps: 3.16e+04\n",
+ "TotalSteps: 4.08e+06\n",
+ "ValFuncLoss: 0.000737\n",
+ "Variance: 0.511\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011777182 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.49717677 0.44750524 0.5115819 0.47549954]\n",
+ "FIT: 5.233341336720928 2.3189562568018034 0.24624090478240904 0.14660400031273257\n",
+ "***** Episode 40895, Mean R = -74.0 Std R = 56.3 Min R = -293.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.783\n",
+ "ExplainedVarOld: 0.623\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: 2.76\n",
+ "PolicyLoss: -0.00245\n",
+ "Steps: 3.29e+04\n",
+ "TotalSteps: 4.11e+06\n",
+ "ValFuncLoss: 0.00775\n",
+ "Variance: 0.512\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0014368298 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.4910171 0.44562075 0.51039946 0.47518265]\n",
+ "FIT: 5.236700029647299 3.418984622050205 0.24840958309431305 0.14951875854137606\n",
+ "***** Episode 41016, Mean R = -71.6 Std R = 61.6 Min R = -320.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.944\n",
+ "ExplainedVarOld: 0.889\n",
+ "KL: 0.00144\n",
+ "PolicyEntropy: 2.74\n",
+ "PolicyLoss: -0.00234\n",
+ "Steps: 3.17e+04\n",
+ "TotalSteps: 4.15e+06\n",
+ "ValFuncLoss: 0.00164\n",
+ "Variance: 0.51\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0014854397 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.48817226 0.44345388 0.505029 0.4729658 ]\n",
+ "FIT: 5.233744500645561 2.439282806725128 0.23225988320086868 0.14577044270489214\n",
+ "***** Episode 41137, Mean R = -67.6 Std R = 52.5 Min R = -310.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.906\n",
+ "ExplainedVarOld: 0.806\n",
+ "KL: 0.00149\n",
+ "PolicyEntropy: 2.71\n",
+ "PolicyLoss: -0.00213\n",
+ "Steps: 3.19e+04\n",
+ "TotalSteps: 4.18e+06\n",
+ "ValFuncLoss: 0.00278\n",
+ "Variance: 0.505\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0015966854 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.48231003 0.4416128 0.5033928 0.46994567]\n",
+ "FIT: 1.4490334543879866 1.3056527858033005 0.23044899421283258 0.14824173192318024\n",
+ "***** Episode 41258, Mean R = -70.2 Std R = 48.3 Min R = -314.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.958\n",
+ "ExplainedVarOld: 0.93\n",
+ "KL: 0.0016\n",
+ "PolicyEntropy: 2.69\n",
+ "PolicyLoss: -0.0029\n",
+ "Steps: 3.35e+04\n",
+ "TotalSteps: 4.21e+06\n",
+ "ValFuncLoss: 0.000836\n",
+ "Variance: 0.503\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0014945938 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.47762454 0.4392008 0.5001471 0.46571314]\n",
+ "FIT: 1.2429482981427755 2.4809311022865215 0.2216627916443548 0.14576899727692058\n",
+ "***** Episode 41379, Mean R = -63.5 Std R = 49.5 Min R = -316.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.971\n",
+ "ExplainedVarOld: 0.906\n",
+ "KL: 0.00149\n",
+ "PolicyEntropy: 2.66\n",
+ "PolicyLoss: -0.0027\n",
+ "Steps: 3.14e+04\n",
+ "TotalSteps: 4.24e+06\n",
+ "ValFuncLoss: 0.000687\n",
+ "Variance: 0.5\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011740578 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.47583643 0.4381608 0.49672288 0.46485418]\n",
+ "FIT: 1.3125665769288317 1.0370263104492419 0.196708913626668 0.14029780875986264\n",
+ "***** Episode 41500, Mean R = -56.3 Std R = 32.8 Min R = -229.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.967\n",
+ "ExplainedVarOld: 0.94\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: 2.64\n",
+ "PolicyLoss: -0.00237\n",
+ "Steps: 3.09e+04\n",
+ "TotalSteps: 4.27e+06\n",
+ "ValFuncLoss: 0.000384\n",
+ "Variance: 0.497\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.001744427 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.47338545 0.43972617 0.49514166 0.46572074]\n",
+ "FIT: 5.2565074589068965 1.3951683774919963 0.20088109564091075 0.14005412596569702\n",
+ "Update Cnt = 180 ET = 940.2 Stats: Mean, Std, Min, Max\n",
+ "r_f | 48.2 21.3 60.4 | 146.8 125.0 235.5 | -600.8 -720.4 -3.9 | 1736.3 1030.5 2192.5\n",
+ "v_f | -6.27 -1.78 -29.80 | 12.50 10.57 24.29 | -58.60 -30.86 -89.78 | 19.39 31.91 60.04\n",
+ "r_i | 1004.4 16.0 2349.6 | 573.0 578.8 28.2 | 0.5 -998.3 2300.0 | 1998.2 999.1 2400.0\n",
+ "v_i | -39.46 -0.22 -79.71 | 17.42 17.17 5.70 | -69.96 -29.99 -89.96 | -10.04 29.95 -70.01\n",
+ "norm_rf | 172.2 | 263.5 | 0.9 | 2899.5\n",
+ "norm_vf | 38.82 | 16.77 | 2.19 | 108.56\n",
+ "gs_f | 4.3 | 6.7 | 0.1 | 138.1\n",
+ "thrust | 1174 -36 8579 | 2438 2350 2787 | -16573 -16589 1000 | 17604 18701 19902\n",
+ "norm_thrust | 9201 | 3094 | 3464 | 20000\n",
+ "fuel | 239 | 79 | 8 | 510\n",
+ "rewards | -69.69 | 56.76 | -437.76 | -25.50\n",
+ "fuel_rewards | -6.16 | 2.05 | -13.16 | -0.22\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.30 | 0.64 | 0.02 | 4.95\n",
+ "norm_af | 0.29 | 0.17 | 0.01 | 1.69\n",
+ "norm_wf | 0.50 | 0.28 | 0.01 | 1.48\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.52 | 2.30 | -23.07 | 0.00\n",
+ "att_penalty | -0.58 | 7.58 | -100.00 | 0.00\n",
+ "attitude | 0.01 0.13 0.01 | 0.36 0.23 0.23 | -2.01 -1.11 -1.41 | 2.59 1.34 1.39\n",
+ "w | 0.00 -0.01 -0.00 | 0.43 0.40 0.01 | -2.22 -2.22 -0.10 | 2.05 1.89 0.14\n",
+ "a_f | 0.09 0.00 | 0.21 0.25 | -0.60 -1.41 | 0.99 1.39\n",
+ "w_f | -0.03 0.05 -0.00 | 0.43 0.37 0.02 | -1.42 -1.24 -0.09 | 1.43 1.17 0.14\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 169.67 | 262.14 | 8.14 | 2894.48\n",
+ "tracking_rewards | -62.44 | 54.79 | -426.21 | -6.19\n",
+ "steps | 267 | 106 | 8 | 601\n",
+ "***** Episode 41621, Mean R = -57.1 Std R = 34.8 Min R = -231.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.927\n",
+ "ExplainedVarOld: 0.686\n",
+ "KL: 0.00174\n",
+ "PolicyEntropy: 2.64\n",
+ "PolicyLoss: -0.00219\n",
+ "Steps: 3.07e+04\n",
+ "TotalSteps: 4.3e+06\n",
+ "ValFuncLoss: 0.00233\n",
+ "Variance: 0.495\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013582122 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.4687119 0.44077572 0.493466 0.4643947 ]\n",
+ "FIT: 5.251964067441017 1.0768379902817005 0.19689276235631192 0.14221332181246826\n",
+ "***** Episode 41742, Mean R = -55.1 Std R = 29.4 Min R = -188.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.954\n",
+ "ExplainedVarOld: 0.84\n",
+ "KL: 0.00136\n",
+ "PolicyEntropy: 2.63\n",
+ "PolicyLoss: -0.0025\n",
+ "Steps: 2.99e+04\n",
+ "TotalSteps: 4.33e+06\n",
+ "ValFuncLoss: 0.000889\n",
+ "Variance: 0.493\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00124277 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.46571767 0.44088775 0.49136528 0.4630006 ]\n",
+ "FIT: 5.229998866354214 2.7571160706148072 0.19962905195142375 0.14327472220494136\n",
+ "***** Episode 41863, Mean R = -57.4 Std R = 44.1 Min R = -350.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.958\n",
+ "ExplainedVarOld: 0.786\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: 2.61\n",
+ "PolicyLoss: -0.00228\n",
+ "Steps: 3.11e+04\n",
+ "TotalSteps: 4.37e+06\n",
+ "ValFuncLoss: 0.000934\n",
+ "Variance: 0.491\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0016344344 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.46626502 0.4369987 0.48692578 0.4626508 ]\n",
+ "FIT: 1.5674073111668596 1.0211354149009821 0.19241800985679555 0.1396926638486077\n",
+ "***** Episode 41984, Mean R = -54.2 Std R = 36.5 Min R = -286.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.952\n",
+ "ExplainedVarOld: 0.879\n",
+ "KL: 0.00163\n",
+ "PolicyEntropy: 2.59\n",
+ "PolicyLoss: -0.00239\n",
+ "Steps: 3.01e+04\n",
+ "TotalSteps: 4.4e+06\n",
+ "ValFuncLoss: 0.00076\n",
+ "Variance: 0.487\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0015299872 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.46502018 0.43442446 0.48172897 0.45905218]\n",
+ "FIT: 1.248312685286809 1.2019688518223437 0.19235413033564397 0.14509117006340835\n",
+ "***** Episode 42105, Mean R = -55.9 Std R = 31.0 Min R = -227.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.971\n",
+ "ExplainedVarOld: 0.912\n",
+ "KL: 0.00153\n",
+ "PolicyEntropy: 2.57\n",
+ "PolicyLoss: -0.00286\n",
+ "Steps: 3.13e+04\n",
+ "TotalSteps: 4.43e+06\n",
+ "ValFuncLoss: 0.000344\n",
+ "Variance: 0.482\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.00200139 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.46545315 0.43398693 0.48084617 0.45692345]\n",
+ "FIT: 5.240245879955637 1.2796368350624725 0.17788962280706502 0.13913105765318323\n",
+ "***** Episode 42226, Mean R = -49.3 Std R = 27.1 Min R = -220.3\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.77\n",
+ "ExplainedVarOld: 0.542\n",
+ "KL: 0.002\n",
+ "PolicyEntropy: 2.56\n",
+ "PolicyLoss: -0.00187\n",
+ "Steps: 2.96e+04\n",
+ "TotalSteps: 4.46e+06\n",
+ "ValFuncLoss: 0.00537\n",
+ "Variance: 0.481\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0007103176 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.4648376 0.43382347 0.48260614 0.45553416]\n",
+ "FIT: 0.9709635541289559 1.1791102868172607 0.1679439975615095 0.1370372924634824\n",
+ "***** Episode 42347, Mean R = -48.1 Std R = 22.0 Min R = -185.2\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.966\n",
+ "ExplainedVarOld: 0.929\n",
+ "KL: 0.00071\n",
+ "PolicyEntropy: 2.56\n",
+ "PolicyLoss: -0.00185\n",
+ "Steps: 3.08e+04\n",
+ "TotalSteps: 4.49e+06\n",
+ "ValFuncLoss: 0.00027\n",
+ "Variance: 0.483\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00079666334 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.46262962 0.43222603 0.48236868 0.45390388]\n",
+ "FIT: 1.313402018154599 1.0793999755380759 0.1741846723703904 0.13855292988261253\n",
+ "***** Episode 42468, Mean R = -48.4 Std R = 27.2 Min R = -196.8\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.972\n",
+ "ExplainedVarOld: 0.922\n",
+ "KL: 0.000797\n",
+ "PolicyEntropy: 2.55\n",
+ "PolicyLoss: -0.00169\n",
+ "Steps: 2.94e+04\n",
+ "TotalSteps: 4.52e+06\n",
+ "ValFuncLoss: 0.000354\n",
+ "Variance: 0.482\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0004956017 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.46214163 0.43138424 0.48184067 0.45287514]\n",
+ "FIT: 1.500631647475687 1.2916032088340397 0.19678118595474992 0.14744146341520142\n",
+ "***** Episode 42589, Mean R = -56.7 Std R = 42.0 Min R = -290.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.956\n",
+ "ExplainedVarOld: 0.819\n",
+ "KL: 0.000496\n",
+ "PolicyEntropy: 2.54\n",
+ "PolicyLoss: -0.00147\n",
+ "Steps: 3.08e+04\n",
+ "TotalSteps: 4.55e+06\n",
+ "ValFuncLoss: 0.000891\n",
+ "Variance: 0.482\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012018731 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.4622034 0.4316203 0.4810341 0.4516233]\n",
+ "FIT: 5.483239896632102 1.1100376481599863 0.18359459551273366 0.14408215584569076\n",
+ "***** Episode 42710, Mean R = -54.1 Std R = 41.9 Min R = -292.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.78\n",
+ "ExplainedVarOld: 0.619\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: 2.54\n",
+ "PolicyLoss: -0.00168\n",
+ "Steps: 3.1e+04\n",
+ "TotalSteps: 4.58e+06\n",
+ "ValFuncLoss: 0.00562\n",
+ "Variance: 0.481\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.001780821 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.45839489 0.432049 0.4803686 0.4505243 ]\n",
+ "FIT: 1.4932582709281847 1.5228901572012707 0.16635550228983617 0.13999490671459563\n",
+ "Update Cnt = 190 ET = 880.1 Stats: Mean, Std, Min, Max\n",
+ "r_f | 51.8 10.8 31.1 | 104.2 93.8 178.1 | -254.0 -971.1 -2.9 | 1847.8 1037.7 2262.3\n",
+ "v_f | -6.29 -1.10 -28.83 | 10.89 9.89 17.36 | -62.49 -33.99 -89.54 | 25.89 30.17 56.03\n",
+ "r_i | 1005.8 16.2 2349.8 | 584.2 581.3 28.9 | 1.2 -997.8 2300.1 | 1997.6 999.4 2400.0\n",
+ "v_i | -39.45 -0.42 -79.88 | 17.24 16.95 5.80 | -69.89 -29.95 -89.97 | -10.02 29.92 -70.00\n",
+ "norm_rf | 124.8 | 198.9 | 6.2 | 3052.1\n",
+ "norm_vf | 34.95 | 12.96 | 5.27 | 110.06\n",
+ "gs_f | 4.1 | 5.7 | 0.0 | 82.5\n",
+ "thrust | 1244 -9 8794 | 2519 2395 2736 | -17639 -18430 757 | 18358 18054 19995\n",
+ "norm_thrust | 9431 | 3084 | 3464 | 20000\n",
+ "fuel | 231 | 57 | 7 | 516\n",
+ "rewards | -52.77 | 34.27 | -350.61 | -24.15\n",
+ "fuel_rewards | -5.96 | 1.47 | -13.31 | -0.19\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.37 | 0.58 | 0.01 | 5.20\n",
+ "norm_af | 0.28 | 0.16 | 0.01 | 1.98\n",
+ "norm_wf | 0.49 | 0.26 | 0.03 | 1.48\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.65 | 2.86 | -28.72 | 0.00\n",
+ "att_penalty | -0.41 | 6.41 | -100.00 | 0.00\n",
+ "attitude | -0.01 0.13 0.01 | 0.36 0.23 0.23 | -2.10 -1.16 -1.48 | 2.58 1.38 1.42\n",
+ "w | 0.00 -0.01 -0.00 | 0.42 0.40 0.01 | -1.97 -2.19 -0.11 | 2.08 1.65 0.11\n",
+ "a_f | 0.10 0.01 | 0.20 0.23 | -0.62 -1.48 | 1.38 1.42\n",
+ "w_f | -0.01 0.11 0.00 | 0.39 0.38 0.01 | -1.20 -1.22 -0.11 | 1.42 1.35 0.09\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 121.48 | 198.12 | 13.36 | 3047.11\n",
+ "tracking_rewards | -45.75 | 32.28 | -337.85 | -3.29\n",
+ "steps | 252 | 75 | 5 | 601\n",
+ "***** Episode 42831, Mean R = -48.5 Std R = 32.1 Min R = -251.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.873\n",
+ "ExplainedVarOld: 0.888\n",
+ "KL: 0.00178\n",
+ "PolicyEntropy: 2.53\n",
+ "PolicyLoss: -0.0026\n",
+ "Steps: 3.1e+04\n",
+ "TotalSteps: 4.61e+06\n",
+ "ValFuncLoss: 0.00134\n",
+ "Variance: 0.48\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0015527939 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.45474637 0.429318 0.4794834 0.44852918]\n",
+ "FIT: 1.4979122628916708 1.0409878420597847 0.16386165235171773 0.13797077239054664\n",
+ "***** Episode 42952, Mean R = -47.0 Std R = 25.4 Min R = -181.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.96\n",
+ "ExplainedVarOld: 0.815\n",
+ "KL: 0.00155\n",
+ "PolicyEntropy: 2.51\n",
+ "PolicyLoss: -0.00261\n",
+ "Steps: 3.02e+04\n",
+ "TotalSteps: 4.64e+06\n",
+ "ValFuncLoss: 0.000453\n",
+ "Variance: 0.479\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0014044249 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.45256191 0.43024638 0.47824 0.44796315]\n",
+ "FIT: 5.225545546131592 1.0539210229725482 0.16896259482722403 0.13904194039349727\n",
+ "***** Episode 43073, Mean R = -49.7 Std R = 32.0 Min R = -207.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.883\n",
+ "ExplainedVarOld: 0.732\n",
+ "KL: 0.0014\n",
+ "PolicyEntropy: 2.5\n",
+ "PolicyLoss: -0.00203\n",
+ "Steps: 3.09e+04\n",
+ "TotalSteps: 4.67e+06\n",
+ "ValFuncLoss: 0.00233\n",
+ "Variance: 0.478\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011177137 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.45100722 0.43149745 0.4756161 0.44585726]\n",
+ "FIT: 1.54341065323623 1.165875430677348 0.16898450256973402 0.1394434366498844\n",
+ "***** Episode 43194, Mean R = -48.5 Std R = 34.9 Min R = -281.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.944\n",
+ "ExplainedVarOld: 0.868\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: 2.49\n",
+ "PolicyLoss: -0.00207\n",
+ "Steps: 3.04e+04\n",
+ "TotalSteps: 4.7e+06\n",
+ "ValFuncLoss: 0.000677\n",
+ "Variance: 0.476\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0017414597 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.45021453 0.43156475 0.4711736 0.44384205]\n",
+ "FIT: 5.238157813476686 3.914703085836538 0.1843695792010295 0.14730225410153194\n",
+ "***** Episode 43315, Mean R = -56.7 Std R = 54.2 Min R = -417.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.936\n",
+ "ExplainedVarOld: 0.646\n",
+ "KL: 0.00174\n",
+ "PolicyEntropy: 2.47\n",
+ "PolicyLoss: -0.00234\n",
+ "Steps: 3.33e+04\n",
+ "TotalSteps: 4.73e+06\n",
+ "ValFuncLoss: 0.00299\n",
+ "Variance: 0.471\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011525528 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.44807988 0.4317927 0.47058487 0.43998358]\n",
+ "FIT: 1.0856969351917147 1.308869009042781 0.15993780437850788 0.14134615114870375\n",
+ "***** Episode 43436, Mean R = -47.1 Std R = 28.6 Min R = -213.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.964\n",
+ "ExplainedVarOld: 0.838\n",
+ "KL: 0.00115\n",
+ "PolicyEntropy: 2.46\n",
+ "PolicyLoss: -0.00211\n",
+ "Steps: 3.13e+04\n",
+ "TotalSteps: 4.77e+06\n",
+ "ValFuncLoss: 0.000385\n",
+ "Variance: 0.471\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0015807924 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.44313785 0.43286046 0.4681795 0.43377283]\n",
+ "FIT: 1.7719478179384303 1.1206302829927521 0.17670765665555754 0.1452327739616604\n",
+ "***** Episode 43557, Mean R = -52.0 Std R = 40.0 Min R = -256.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.971\n",
+ "ExplainedVarOld: 0.7\n",
+ "KL: 0.00158\n",
+ "PolicyEntropy: 2.43\n",
+ "PolicyLoss: -0.00215\n",
+ "Steps: 3.14e+04\n",
+ "TotalSteps: 4.8e+06\n",
+ "ValFuncLoss: 0.000546\n",
+ "Variance: 0.468\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012214961 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.44167703 0.4314167 0.46821004 0.43124825]\n",
+ "FIT: 5.251406362704564 1.7452074640779487 0.17788616391938591 0.1442551635749727\n",
+ "***** Episode 43678, Mean R = -54.6 Std R = 44.1 Min R = -234.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.863\n",
+ "ExplainedVarOld: 0.752\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: 2.42\n",
+ "PolicyLoss: -0.00208\n",
+ "Steps: 3.27e+04\n",
+ "TotalSteps: 4.83e+06\n",
+ "ValFuncLoss: 0.00259\n",
+ "Variance: 0.468\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013722512 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.4418536 0.4275936 0.46659926 0.43027106]\n",
+ "FIT: 1.0773957059452899 1.4210459615093722 0.1564817210084787 0.1407076987701649\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 43799, Mean R = -47.0 Std R = 29.2 Min R = -200.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.962\n",
+ "ExplainedVarOld: 0.904\n",
+ "KL: 0.00137\n",
+ "PolicyEntropy: 2.4\n",
+ "PolicyLoss: -0.00239\n",
+ "Steps: 3.17e+04\n",
+ "TotalSteps: 4.86e+06\n",
+ "ValFuncLoss: 0.000383\n",
+ "Variance: 0.467\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0020200447 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.44286662 0.42667732 0.46366903 0.42921144]\n",
+ "FIT: 5.227267234056181 1.0383846946650872 0.1680247460676258 0.1417074107554031\n",
+ "***** Episode 43920, Mean R = -51.0 Std R = 41.1 Min R = -273.1\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.707\n",
+ "ExplainedVarOld: 0.51\n",
+ "KL: 0.00202\n",
+ "PolicyEntropy: 2.4\n",
+ "PolicyLoss: -0.00222\n",
+ "Steps: 3.2e+04\n",
+ "TotalSteps: 4.89e+06\n",
+ "ValFuncLoss: 0.00846\n",
+ "Variance: 0.464\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00072012504 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.44176573 0.4287041 0.4611963 0.4282173 ]\n",
+ "FIT: 5.264104231489853 2.9267042426731154 0.18629421981895336 0.14958538085655318\n",
+ "Update Cnt = 200 ET = 923.3 Stats: Mean, Std, Min, Max\n",
+ "r_f | 43.3 -7.8 41.3 | 119.9 81.9 205.5 | -444.6 -960.9 -2.5 | 1916.5 752.3 2272.5\n",
+ "v_f | -4.95 0.19 -22.51 | 9.15 8.03 15.64 | -59.04 -30.35 -84.88 | 24.05 24.51 59.59\n",
+ "r_i | 997.6 -6.4 2350.8 | 573.9 574.5 29.1 | 1.0 -999.6 2300.1 | 1996.5 999.4 2399.9\n",
+ "v_i | -39.43 0.71 -80.19 | 17.09 17.03 5.56 | -69.96 -29.81 -89.95 | -10.02 29.97 -70.00\n",
+ "norm_rf | 109.4 | 234.5 | 1.4 | 3036.6\n",
+ "norm_vf | 28.26 | 11.19 | 2.91 | 99.64\n",
+ "gs_f | 4.1 | 4.9 | 0.2 | 85.8\n",
+ "thrust | 1243 -6 8922 | 2529 2415 2724 | -19666 -18109 940 | 18700 17624 19871\n",
+ "norm_thrust | 9559 | 3069 | 3464 | 20000\n",
+ "fuel | 243 | 62 | 8 | 534\n",
+ "rewards | -51.14 | 39.70 | -416.95 | -20.26\n",
+ "fuel_rewards | -6.27 | 1.58 | -13.76 | -0.24\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.33 | 0.62 | 0.01 | 5.31\n",
+ "norm_af | 0.28 | 0.17 | 0.01 | 1.71\n",
+ "norm_wf | 0.50 | 0.26 | 0.02 | 1.48\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.80 | 3.28 | -32.78 | 0.00\n",
+ "att_penalty | -0.66 | 8.10 | -100.00 | 0.00\n",
+ "attitude | -0.02 0.13 0.00 | 0.37 0.23 0.23 | -2.11 -1.30 -1.43 | 2.11 1.35 1.45\n",
+ "w | 0.00 -0.01 -0.00 | 0.41 0.40 0.01 | -2.04 -1.89 -0.09 | 2.27 1.82 0.08\n",
+ "a_f | 0.11 0.01 | 0.21 0.24 | -0.74 -1.43 | 0.98 1.45\n",
+ "w_f | 0.02 0.09 0.00 | 0.40 0.38 0.02 | -1.19 -1.17 -0.09 | 1.26 1.39 0.08\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 105.96 | 233.93 | 3.74 | 3031.61\n",
+ "tracking_rewards | -43.41 | 36.75 | -373.82 | -3.76\n",
+ "steps | 262 | 83 | 7 | 601\n",
+ "***** Episode 44041, Mean R = -57.8 Std R = 53.8 Min R = -310.2\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.833\n",
+ "ExplainedVarOld: 0.672\n",
+ "KL: 0.00072\n",
+ "PolicyEntropy: 2.39\n",
+ "PolicyLoss: -0.00116\n",
+ "Steps: 3.29e+04\n",
+ "TotalSteps: 4.93e+06\n",
+ "ValFuncLoss: 0.00583\n",
+ "Variance: 0.461\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0005006547 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.44205624 0.42887244 0.46150836 0.42759395]\n",
+ "FIT: 5.238861101798456 1.6825582635968275 0.1505766934703629 0.13595771319916491\n",
+ "***** Episode 44162, Mean R = -44.6 Std R = 29.9 Min R = -245.0\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.871\n",
+ "ExplainedVarOld: 0.769\n",
+ "KL: 0.000501\n",
+ "PolicyEntropy: 2.39\n",
+ "PolicyLoss: -0.00113\n",
+ "Steps: 3.09e+04\n",
+ "TotalSteps: 4.96e+06\n",
+ "ValFuncLoss: 0.00244\n",
+ "Variance: 0.462\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00044852935 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.44379652 0.42819282 0.46213162 0.42899567]\n",
+ "FIT: 5.224323828479975 2.078121406488339 0.17689839207120187 0.14751136169576556\n",
+ "***** Episode 44283, Mean R = -55.4 Std R = 47.2 Min R = -248.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.86\n",
+ "ExplainedVarOld: 0.728\n",
+ "KL: 0.000449\n",
+ "PolicyEntropy: 2.4\n",
+ "PolicyLoss: -0.00136\n",
+ "Steps: 3.33e+04\n",
+ "TotalSteps: 4.99e+06\n",
+ "ValFuncLoss: 0.00364\n",
+ "Variance: 0.462\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010085575 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.4419907 0.4304306 0.46338347 0.42888153]\n",
+ "FIT: 5.251583241426147 3.776605638706134 0.1888845608516035 0.14974148940941598\n",
+ "***** Episode 44404, Mean R = -59.2 Std R = 55.2 Min R = -332.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.878\n",
+ "ExplainedVarOld: 0.723\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: 2.4\n",
+ "PolicyLoss: -0.00168\n",
+ "Steps: 3.4e+04\n",
+ "TotalSteps: 5.02e+06\n",
+ "ValFuncLoss: 0.00517\n",
+ "Variance: 0.463\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013000286 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.44102725 0.43268996 0.46364263 0.42753613]\n",
+ "FIT: 5.359688746278655 1.9331876980191371 0.1744931080628513 0.14692043241038003\n",
+ "***** Episode 44525, Mean R = -55.2 Std R = 43.1 Min R = -219.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.893\n",
+ "ExplainedVarOld: 0.755\n",
+ "KL: 0.0013\n",
+ "PolicyEntropy: 2.4\n",
+ "PolicyLoss: -0.00179\n",
+ "Steps: 3.37e+04\n",
+ "TotalSteps: 5.06e+06\n",
+ "ValFuncLoss: 0.0025\n",
+ "Variance: 0.464\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0014235142 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.43841618 0.43455523 0.46386635 0.42543623]\n",
+ "FIT: 1.3913361120377328 1.2064120446406799 0.17916796468198648 0.14846661302632913\n",
+ "***** Episode 44646, Mean R = -57.4 Std R = 44.6 Min R = -240.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.951\n",
+ "ExplainedVarOld: 0.731\n",
+ "KL: 0.00142\n",
+ "PolicyEntropy: 2.39\n",
+ "PolicyLoss: -0.00213\n",
+ "Steps: 3.45e+04\n",
+ "TotalSteps: 5.09e+06\n",
+ "ValFuncLoss: 0.001\n",
+ "Variance: 0.464\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013553321 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.43986154 0.4345392 0.46373641 0.42373687]\n",
+ "FIT: 5.247140422040017 7.165416579094063 0.17385313793745916 0.1478138031586269\n",
+ "***** Episode 44767, Mean R = -53.4 Std R = 47.7 Min R = -342.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.919\n",
+ "ExplainedVarOld: 0.733\n",
+ "KL: 0.00136\n",
+ "PolicyEntropy: 2.39\n",
+ "PolicyLoss: -0.00196\n",
+ "Steps: 3.23e+04\n",
+ "TotalSteps: 5.12e+06\n",
+ "ValFuncLoss: 0.00312\n",
+ "Variance: 0.464\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011901637 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.4403959 0.43222654 0.4610706 0.4246467 ]\n",
+ "FIT: 5.233006885476589 1.8529339231505186 0.16985209704952978 0.1458943205540198\n",
+ "***** Episode 44888, Mean R = -53.4 Std R = 48.5 Min R = -262.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.89\n",
+ "ExplainedVarOld: 0.747\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: 2.39\n",
+ "PolicyLoss: -0.00162\n",
+ "Steps: 3.33e+04\n",
+ "TotalSteps: 5.16e+06\n",
+ "ValFuncLoss: 0.00271\n",
+ "Variance: 0.461\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012605008 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.44064185 0.43155393 0.4599403 0.42422873]\n",
+ "FIT: 5.239845887627648 8.301705112343681 0.17093130731943829 0.14548286156450943\n",
+ "***** Episode 45009, Mean R = -53.5 Std R = 53.9 Min R = -419.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.86\n",
+ "ExplainedVarOld: 0.446\n",
+ "KL: 0.00126\n",
+ "PolicyEntropy: 2.38\n",
+ "PolicyLoss: -0.002\n",
+ "Steps: 3.37e+04\n",
+ "TotalSteps: 5.19e+06\n",
+ "ValFuncLoss: 0.0044\n",
+ "Variance: 0.46\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010086707 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.43944424 0.4299597 0.45974517 0.42246777]\n",
+ "FIT: 0.9951917793004531 1.866535624408681 0.16039475790351398 0.14256907446716635\n",
+ "***** Episode 45130, Mean R = -49.4 Std R = 42.5 Min R = -307.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.97\n",
+ "ExplainedVarOld: 0.874\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: 2.37\n",
+ "PolicyLoss: -0.00172\n",
+ "Steps: 3.3e+04\n",
+ "TotalSteps: 5.22e+06\n",
+ "ValFuncLoss: 0.000462\n",
+ "Variance: 0.46\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013061013 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.43872297 0.42800945 0.46056658 0.42088377]\n",
+ "FIT: 5.387274094876582 2.72834586406737 0.1790966827550508 0.15158669494756505\n",
+ "Update Cnt = 210 ET = 975.2 Stats: Mean, Std, Min, Max\n",
+ "r_f | 35.6 -8.3 50.7 | 73.3 75.4 212.6 | -327.2 -980.9 -2.0 | 1709.8 950.2 2260.8\n",
+ "v_f | -4.27 0.64 -18.42 | 8.55 7.02 15.06 | -64.62 -30.23 -91.01 | 22.47 27.20 55.50\n",
+ "r_i | 1006.9 -16.7 2349.4 | 565.9 577.6 28.9 | 0.4 -997.3 2300.1 | 1999.5 999.5 2399.8\n",
+ "v_i | -39.96 -0.25 -80.08 | 16.80 17.80 5.80 | -69.96 -29.99 -89.99 | -10.12 29.95 -70.00\n",
+ "norm_rf | 106.5 | 220.9 | 1.4 | 2855.1\n",
+ "norm_vf | 24.20 | 11.02 | 2.14 | 111.86\n",
+ "gs_f | 3.8 | 4.3 | 0.1 | 49.5\n",
+ "thrust | 1220 43 8926 | 2516 2434 2730 | -17517 -17479 483 | 18516 18998 19974\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "norm_thrust | 9564 | 3065 | 3464 | 20000\n",
+ "fuel | 257 | 72 | 5 | 541\n",
+ "rewards | -53.97 | 47.03 | -419.26 | -21.52\n",
+ "fuel_rewards | -6.62 | 1.84 | -13.94 | -0.14\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.26 | 0.61 | 0.01 | 6.09\n",
+ "norm_af | 0.29 | 0.19 | 0.01 | 1.89\n",
+ "norm_wf | 0.47 | 0.26 | 0.02 | 1.72\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.88 | 3.81 | -77.39 | 0.00\n",
+ "att_penalty | -0.91 | 9.49 | -100.00 | 0.00\n",
+ "attitude | -0.04 0.13 -0.00 | 0.40 0.23 0.23 | -2.14 -1.25 -1.42 | 1.85 1.39 1.38\n",
+ "w | 0.00 -0.01 -0.00 | 0.41 0.39 0.01 | -2.17 -1.89 -0.11 | 2.12 1.64 0.10\n",
+ "a_f | 0.12 -0.00 | 0.22 0.24 | -1.25 -1.42 | 1.39 1.38\n",
+ "w_f | 0.01 0.10 -0.00 | 0.38 0.36 0.02 | -1.39 -1.12 -0.09 | 1.28 1.41 0.09\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 102.66 | 220.45 | 4.45 | 2850.10\n",
+ "tracking_rewards | -45.56 | 42.95 | -323.16 | -2.62\n",
+ "steps | 276 | 99 | 4 | 601\n",
+ "***** Episode 45251, Mean R = -58.1 Std R = 51.1 Min R = -269.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.949\n",
+ "ExplainedVarOld: 0.722\n",
+ "KL: 0.00131\n",
+ "PolicyEntropy: 2.36\n",
+ "PolicyLoss: -0.00188\n",
+ "Steps: 3.54e+04\n",
+ "TotalSteps: 5.26e+06\n",
+ "ValFuncLoss: 0.00152\n",
+ "Variance: 0.461\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0017541831 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.43960935 0.42888337 0.4605203 0.42016137]\n",
+ "FIT: 5.24591336917048 1.3600702943362715 0.15545507060389727 0.14180428576660986\n",
+ "***** Episode 45372, Mean R = -47.8 Std R = 34.0 Min R = -202.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.686\n",
+ "ExplainedVarOld: 0.568\n",
+ "KL: 0.00175\n",
+ "PolicyEntropy: 2.36\n",
+ "PolicyLoss: -0.00191\n",
+ "Steps: 3.19e+04\n",
+ "TotalSteps: 5.29e+06\n",
+ "ValFuncLoss: 0.00912\n",
+ "Variance: 0.461\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010177486 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.44139713 0.42848405 0.4567837 0.42198598]\n",
+ "FIT: 1.5899919765320274 3.313081332248312 0.15772942217174055 0.14407415278889643\n",
+ "***** Episode 45493, Mean R = -50.3 Std R = 41.7 Min R = -223.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.965\n",
+ "ExplainedVarOld: 0.886\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: 2.36\n",
+ "PolicyLoss: -0.00208\n",
+ "Steps: 3.41e+04\n",
+ "TotalSteps: 5.33e+06\n",
+ "ValFuncLoss: 0.00059\n",
+ "Variance: 0.457\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013143602 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.4382837 0.42668602 0.45464167 0.4210077 ]\n",
+ "FIT: 1.3533177648960624 5.027084108049995 0.18512780029368006 0.1533120902834046\n",
+ "***** Episode 45614, Mean R = -58.9 Std R = 51.9 Min R = -286.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.959\n",
+ "ExplainedVarOld: 0.745\n",
+ "KL: 0.00131\n",
+ "PolicyEntropy: 2.35\n",
+ "PolicyLoss: -0.00169\n",
+ "Steps: 3.43e+04\n",
+ "TotalSteps: 5.36e+06\n",
+ "ValFuncLoss: 0.00103\n",
+ "Variance: 0.455\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012154441 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.43629786 0.42468446 0.45226118 0.41947192]\n",
+ "FIT: 5.250308235426858 2.230480417914022 0.16908260029124308 0.14847216002160546\n",
+ "***** Episode 45735, Mean R = -55.2 Std R = 46.8 Min R = -248.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.923\n",
+ "ExplainedVarOld: 0.818\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: 2.33\n",
+ "PolicyLoss: -0.00178\n",
+ "Steps: 3.46e+04\n",
+ "TotalSteps: 5.39e+06\n",
+ "ValFuncLoss: 0.00214\n",
+ "Variance: 0.452\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011875241 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.43729937 0.42028165 0.45071736 0.41761506]\n",
+ "FIT: 1.1552477076059804 1.895279758527296 0.15651768791081022 0.1455441864335162\n",
+ "***** Episode 45856, Mean R = -51.9 Std R = 43.0 Min R = -244.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.943\n",
+ "ExplainedVarOld: 0.89\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: 2.31\n",
+ "PolicyLoss: -0.0021\n",
+ "Steps: 3.55e+04\n",
+ "TotalSteps: 5.43e+06\n",
+ "ValFuncLoss: 0.000953\n",
+ "Variance: 0.451\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012393934 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.43622828 0.4185222 0.44955283 0.41566542]\n",
+ "FIT: 5.230687360421496 2.024433069033651 0.17070704611627635 0.1482295293652726\n",
+ "***** Episode 45977, Mean R = -57.7 Std R = 48.8 Min R = -228.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.848\n",
+ "ExplainedVarOld: 0.694\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: 2.3\n",
+ "PolicyLoss: -0.00163\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.47e+06\n",
+ "ValFuncLoss: 0.00448\n",
+ "Variance: 0.45\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010395069 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.4346131 0.418811 0.44818336 0.41549426]\n",
+ "FIT: 5.233655892251425 1.561211818599167 0.15380690873391542 0.14222273084315773\n",
+ "***** Episode 46098, Mean R = -50.3 Std R = 46.9 Min R = -241.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.917\n",
+ "ExplainedVarOld: 0.836\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: 2.29\n",
+ "PolicyLoss: -0.00153\n",
+ "Steps: 3.5e+04\n",
+ "TotalSteps: 5.5e+06\n",
+ "ValFuncLoss: 0.00165\n",
+ "Variance: 0.448\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010271735 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.4336421 0.41761816 0.44813442 0.41282114]\n",
+ "FIT: 0.9039515646528528 1.6012201868895204 0.16098273095950438 0.14620983980282384\n",
+ "***** Episode 46219, Mean R = -52.2 Std R = 46.6 Min R = -250.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.97\n",
+ "ExplainedVarOld: 0.917\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: 2.28\n",
+ "PolicyLoss: -0.00225\n",
+ "Steps: 3.5e+04\n",
+ "TotalSteps: 5.54e+06\n",
+ "ValFuncLoss: 0.000593\n",
+ "Variance: 0.448\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.001504848 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.43276232 0.4166916 0.4474071 0.4124999 ]\n",
+ "FIT: 5.243494976881468 1.095579224754275 0.1634710601331458 0.146169481445724\n",
+ "***** Episode 46340, Mean R = -54.7 Std R = 49.2 Min R = -234.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.773\n",
+ "ExplainedVarOld: 0.609\n",
+ "KL: 0.0015\n",
+ "PolicyEntropy: 2.27\n",
+ "PolicyLoss: -0.00164\n",
+ "Steps: 3.54e+04\n",
+ "TotalSteps: 5.57e+06\n",
+ "ValFuncLoss: 0.00815\n",
+ "Variance: 0.447\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0015445753 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.4299829 0.41584274 0.44929236 0.41398075]\n",
+ "FIT: 5.225770637893555 2.8334411513310847 0.1607359375492551 0.1474111590300389\n",
+ "Update Cnt = 220 ET = 1022.3 Stats: Mean, Std, Min, Max\n",
+ "r_f | 35.5 -5.2 46.7 | 84.0 73.0 212.1 | -362.9 -343.5 -1.6 | 1881.2 1075.8 2285.8\n",
+ "v_f | -3.79 0.66 -14.51 | 7.27 5.60 12.62 | -64.24 -27.84 -89.36 | 18.48 22.33 50.52\n",
+ "r_i | 988.9 -0.8 2350.3 | 585.1 568.2 29.0 | 5.5 -999.1 2300.0 | 1996.8 994.6 2400.0\n",
+ "v_i | -39.92 -0.44 -80.03 | 16.94 17.32 5.79 | -69.97 -30.00 -89.98 | -10.06 29.97 -70.01\n",
+ "norm_rf | 94.2 | 228.0 | 1.2 | 2895.4\n",
+ "norm_vf | 19.28 | 9.85 | 1.61 | 112.08\n",
+ "gs_f | 3.4 | 5.6 | 0.0 | 147.5\n",
+ "thrust | 1181 47 8923 | 2535 2396 2758 | -19224 -18149 1473 | 18822 17572 19871\n",
+ "norm_thrust | 9553 | 3087 | 3464 | 20000\n",
+ "fuel | 268 | 76 | 7 | 537\n",
+ "rewards | -53.33 | 45.92 | -286.29 | -17.76\n",
+ "fuel_rewards | -6.90 | 1.96 | -13.84 | -0.17\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.25 | 0.65 | 0.01 | 3.78\n",
+ "norm_af | 0.28 | 0.17 | 0.01 | 1.65\n",
+ "norm_wf | 0.47 | 0.25 | 0.02 | 1.52\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.84 | 3.16 | -28.51 | 0.00\n",
+ "att_penalty | -0.74 | 8.59 | -100.00 | 0.00\n",
+ "attitude | 0.00 0.12 0.00 | 0.39 0.23 0.23 | -2.24 -1.21 -1.37 | 2.09 1.38 1.42\n",
+ "w | 0.00 -0.01 0.00 | 0.41 0.39 0.01 | -2.26 -2.28 -0.11 | 1.95 1.76 0.10\n",
+ "a_f | 0.11 0.02 | 0.22 0.22 | -0.76 -0.80 | 1.38 1.42\n",
+ "w_f | 0.03 0.11 0.00 | 0.37 0.37 0.01 | -1.30 -1.19 -0.09 | 1.22 1.21 0.10\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 90.02 | 227.75 | 2.65 | 2890.44\n",
+ "tracking_rewards | -44.85 | 43.18 | -270.65 | -3.29\n",
+ "steps | 288 | 110 | 5 | 601\n",
+ "***** Episode 46461, Mean R = -54.3 Std R = 46.6 Min R = -218.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.889\n",
+ "ExplainedVarOld: 0.747\n",
+ "KL: 0.00154\n",
+ "PolicyEntropy: 2.27\n",
+ "PolicyLoss: -0.00148\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 5.61e+06\n",
+ "ValFuncLoss: 0.00292\n",
+ "Variance: 0.449\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0016008894 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.43034977 0.41557485 0.44922915 0.4136798 ]\n",
+ "FIT: 5.2563628609898085 11.55036639878876 0.18126844442102824 0.1535215446271236\n",
+ "***** Episode 46582, Mean R = -64.9 Std R = 54.3 Min R = -240.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.811\n",
+ "ExplainedVarOld: 0.511\n",
+ "KL: 0.0016\n",
+ "PolicyEntropy: 2.27\n",
+ "PolicyLoss: -0.00214\n",
+ "Steps: 3.81e+04\n",
+ "TotalSteps: 5.65e+06\n",
+ "ValFuncLoss: 0.0088\n",
+ "Variance: 0.449\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012318292 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.431741 0.4151872 0.44708055 0.4135237 ]\n",
+ "FIT: 5.22873933146507 8.115482857011374 0.17334498931557907 0.1494983188543937\n",
+ "***** Episode 46703, Mean R = -60.1 Std R = 58.0 Min R = -301.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.97\n",
+ "ExplainedVarOld: 0.897\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: 2.27\n",
+ "PolicyLoss: -0.00188\n",
+ "Steps: 3.81e+04\n",
+ "TotalSteps: 5.69e+06\n",
+ "ValFuncLoss: 0.00109\n",
+ "Variance: 0.447\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009354383 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.43113524 0.41381416 0.4453145 0.412243 ]\n",
+ "FIT: 5.222117911374538 4.57103989989085 0.1577824797070296 0.14674649709335078\n",
+ "***** Episode 46824, Mean R = -53.3 Std R = 46.3 Min R = -247.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.839\n",
+ "ExplainedVarOld: 0.576\n",
+ "KL: 0.000935\n",
+ "PolicyEntropy: 2.26\n",
+ "PolicyLoss: -0.00167\n",
+ "Steps: 3.56e+04\n",
+ "TotalSteps: 5.72e+06\n",
+ "ValFuncLoss: 0.00481\n",
+ "Variance: 0.445\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0017361962 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.42943248 0.4131813 0.444169 0.40947774]\n",
+ "FIT: 5.247699585651701 4.768495732255259 0.1576868759010898 0.14400938457808088\n",
+ "***** Episode 46945, Mean R = -51.1 Std R = 41.3 Min R = -234.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.943\n",
+ "ExplainedVarOld: 0.688\n",
+ "KL: 0.00174\n",
+ "PolicyEntropy: 2.24\n",
+ "PolicyLoss: -0.00223\n",
+ "Steps: 3.32e+04\n",
+ "TotalSteps: 5.75e+06\n",
+ "ValFuncLoss: 0.00214\n",
+ "Variance: 0.444\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010218119 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.43125558 0.41212785 0.44289777 0.40897474]\n",
+ "FIT: 5.267166779933653 2.6159846098133714 0.1801561129807366 0.15314993588752804\n",
+ "***** Episode 47066, Mean R = -62.5 Std R = 62.9 Min R = -409.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.888\n",
+ "ExplainedVarOld: 0.75\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: 2.24\n",
+ "PolicyLoss: -0.00173\n",
+ "Steps: 3.79e+04\n",
+ "TotalSteps: 5.79e+06\n",
+ "ValFuncLoss: 0.00494\n",
+ "Variance: 0.443\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009994939 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.4303864 0.4104431 0.4433939 0.4084868]\n",
+ "FIT: 5.229598922545087 2.1317234133025202 0.171163899127144 0.14957543800217904\n",
+ "***** Episode 47187, Mean R = -59.1 Std R = 56.5 Min R = -294.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.858\n",
+ "ExplainedVarOld: 0.688\n",
+ "KL: 0.000999\n",
+ "PolicyEntropy: 2.23\n",
+ "PolicyLoss: -0.00179\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.83e+06\n",
+ "ValFuncLoss: 0.00508\n",
+ "Variance: 0.443\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012478282 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.43074062 0.40914768 0.44218627 0.40695202]\n",
+ "FIT: 1.3612830809851637 2.3192152092185876 0.15773810422526238 0.14797323728420506\n",
+ "***** Episode 47308, Mean R = -53.4 Std R = 48.0 Min R = -226.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.943\n",
+ "ExplainedVarOld: 0.681\n",
+ "KL: 0.00125\n",
+ "PolicyEntropy: 2.22\n",
+ "PolicyLoss: -0.0016\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 5.86e+06\n",
+ "ValFuncLoss: 0.0012\n",
+ "Variance: 0.442\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011676155 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.43243226 0.40822813 0.44327497 0.4073984 ]\n",
+ "FIT: 5.382315184698277 3.687140135725075 0.1647697477865815 0.14869629846437468\n",
+ "***** Episode 47429, Mean R = -56.7 Std R = 51.1 Min R = -254.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.819\n",
+ "ExplainedVarOld: 0.628\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: 2.23\n",
+ "PolicyLoss: -0.00171\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.9e+06\n",
+ "ValFuncLoss: 0.00632\n",
+ "Variance: 0.443\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011961357 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.43278596 0.40644732 0.44096103 0.40609366]\n",
+ "FIT: 5.233470479932297 2.0931630110440036 0.17300214556727003 0.15211554898756843\n",
+ "***** Episode 47550, Mean R = -60.1 Std R = 53.5 Min R = -255.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.881\n",
+ "ExplainedVarOld: 0.695\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: 2.22\n",
+ "PolicyLoss: -0.00154\n",
+ "Steps: 3.74e+04\n",
+ "TotalSteps: 5.94e+06\n",
+ "ValFuncLoss: 0.00447\n",
+ "Variance: 0.441\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011391991 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.43340263 0.4052267 0.43939555 0.40418473]\n",
+ "FIT: 5.233950284627118 3.2845792889631023 0.17850266048576097 0.15509850086676613\n",
+ "Update Cnt = 230 ET = 1090.9 Stats: Mean, Std, Min, Max\n",
+ "r_f | 31.3 -11.9 62.3 | 155.1 97.3 256.1 | -413.3 -1020.7 -1.3 | 1953.4 1021.2 2251.8\n",
+ "v_f | -3.24 0.12 -11.99 | 6.37 5.10 13.53 | -63.08 -32.85 -87.45 | 13.63 23.98 51.74\n",
+ "r_i | 1003.3 1.1 2350.2 | 582.2 566.2 28.7 | 1.3 -999.8 2300.1 | 1999.8 999.3 2400.0\n",
+ "v_i | -40.07 -0.72 -80.08 | 17.00 17.41 5.60 | -69.90 -29.99 -89.95 | -10.05 29.96 -70.02\n",
+ "norm_rf | 102.9 | 305.8 | 2.2 | 3050.1\n",
+ "norm_vf | 16.98 | 10.75 | 1.02 | 105.40\n",
+ "gs_f | 3.4 | 6.1 | 0.1 | 173.9\n",
+ "thrust | 1132 37 8823 | 2568 2396 2801 | -18883 -18135 695 | 18741 19395 19980\n",
+ "norm_thrust | 9462 | 3126 | 3464 | 20000\n",
+ "fuel | 281 | 88 | 7 | 547\n",
+ "rewards | -58.59 | 53.95 | -409.47 | -18.69\n",
+ "fuel_rewards | -7.25 | 2.27 | -14.10 | -0.21\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.17 | 0.67 | 0.02 | 4.75\n",
+ "norm_af | 0.28 | 0.21 | 0.01 | 1.90\n",
+ "norm_wf | 0.45 | 0.24 | 0.01 | 1.66\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -1.23 | 4.47 | -42.30 | 0.00\n",
+ "att_penalty | -1.57 | 12.43 | -100.00 | 0.00\n",
+ "attitude | 0.03 0.12 0.00 | 0.42 0.24 0.23 | -3.12 -1.40 -1.43 | 2.95 1.38 1.39\n",
+ "w | 0.00 -0.01 0.00 | 0.41 0.39 0.02 | -2.39 -2.33 -0.10 | 2.01 1.93 0.16\n",
+ "a_f | 0.10 0.03 | 0.23 0.25 | -1.40 -1.43 | 1.38 1.39\n",
+ "w_f | 0.00 0.06 0.00 | 0.36 0.35 0.02 | -1.21 -1.65 -0.08 | 1.15 1.42 0.16\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 98.74 | 305.59 | 3.66 | 3045.14\n",
+ "tracking_rewards | -48.54 | 49.48 | -288.74 | -4.28\n",
+ "steps | 306 | 128 | 6 | 601\n",
+ "***** Episode 47671, Mean R = -64.8 Std R = 61.7 Min R = -316.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.898\n",
+ "ExplainedVarOld: 0.695\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: 2.21\n",
+ "PolicyLoss: -0.0015\n",
+ "Steps: 3.98e+04\n",
+ "TotalSteps: 5.98e+06\n",
+ "ValFuncLoss: 0.00338\n",
+ "Variance: 0.439\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013878482 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.43600336 0.40528214 0.44065762 0.4022472 ]\n",
+ "FIT: 5.237464283759106 4.92093787150621 0.18065310042486069 0.15153676379658154\n",
+ "***** Episode 47792, Mean R = -64.5 Std R = 59.4 Min R = -277.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.764\n",
+ "ExplainedVarOld: 0.619\n",
+ "KL: 0.00139\n",
+ "PolicyEntropy: 2.21\n",
+ "PolicyLoss: -0.00241\n",
+ "Steps: 3.82e+04\n",
+ "TotalSteps: 6.02e+06\n",
+ "ValFuncLoss: 0.0123\n",
+ "Variance: 0.441\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008815766 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.43708363 0.4039091 0.4391434 0.39891782]\n",
+ "FIT: 1.616700091661498 7.096548930403149 0.165792993618928 0.14841577573593848\n",
+ "***** Episode 47913, Mean R = -58.3 Std R = 54.8 Min R = -248.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.955\n",
+ "ExplainedVarOld: 0.903\n",
+ "KL: 0.000882\n",
+ "PolicyEntropy: 2.2\n",
+ "PolicyLoss: -0.00194\n",
+ "Steps: 3.87e+04\n",
+ "TotalSteps: 6.06e+06\n",
+ "ValFuncLoss: 0.00105\n",
+ "Variance: 0.439\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00097022403 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.43618295 0.40255538 0.43672857 0.3985154 ]\n",
+ "FIT: 5.226805543289296 9.766807648214652 0.1695977387338902 0.1517747544630841\n",
+ "***** Episode 48034, Mean R = -60.2 Std R = 54.8 Min R = -301.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.863\n",
+ "ExplainedVarOld: 0.739\n",
+ "KL: 0.00097\n",
+ "PolicyEntropy: 2.19\n",
+ "PolicyLoss: -0.00159\n",
+ "Steps: 3.86e+04\n",
+ "TotalSteps: 6.09e+06\n",
+ "ValFuncLoss: 0.00405\n",
+ "Variance: 0.437\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010028442 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.43467918 0.4019906 0.43483424 0.39802065]\n",
+ "FIT: 1.310000037265128 1.1585493764839037 0.16150111245395568 0.1483733151058061\n",
+ "***** Episode 48155, Mean R = -57.0 Std R = 46.6 Min R = -202.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.939\n",
+ "ExplainedVarOld: 0.88\n",
+ "KL: 0.001\n",
+ "PolicyEntropy: 2.18\n",
+ "PolicyLoss: -0.00147\n",
+ "Steps: 3.82e+04\n",
+ "TotalSteps: 6.13e+06\n",
+ "ValFuncLoss: 0.00115\n",
+ "Variance: 0.435\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0019827923 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.43200386 0.40195397 0.43406892 0.39751413]\n",
+ "FIT: 5.249798589728933 3.201425585319441 0.16108293034433852 0.14693011569985143\n",
+ "***** Episode 48276, Mean R = -57.2 Std R = 50.7 Min R = -220.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.672\n",
+ "ExplainedVarOld: 0.485\n",
+ "KL: 0.00198\n",
+ "PolicyEntropy: 2.17\n",
+ "PolicyLoss: -0.00207\n",
+ "Steps: 3.81e+04\n",
+ "TotalSteps: 6.17e+06\n",
+ "ValFuncLoss: 0.0123\n",
+ "Variance: 0.434\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0006517183 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.42927784 0.40072718 0.43344063 0.3971991 ]\n",
+ "FIT: 1.291267851526515 2.223926477139869 0.1884509024398402 0.15777952117386637\n",
+ "***** Episode 48397, Mean R = -68.5 Std R = 60.6 Min R = -242.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.928\n",
+ "ExplainedVarOld: 0.891\n",
+ "KL: 0.000652\n",
+ "PolicyEntropy: 2.16\n",
+ "PolicyLoss: -0.00165\n",
+ "Steps: 3.98e+04\n",
+ "TotalSteps: 6.21e+06\n",
+ "ValFuncLoss: 0.00203\n",
+ "Variance: 0.433\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009960771 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.42922863 0.40151173 0.4330817 0.39760232]\n",
+ "FIT: 5.379798553433283 4.697456191817083 0.16541916034240622 0.14933776104503743\n",
+ "***** Episode 48518, Mean R = -59.4 Std R = 52.4 Min R = -242.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.842\n",
+ "ExplainedVarOld: 0.701\n",
+ "KL: 0.000996\n",
+ "PolicyEntropy: 2.16\n",
+ "PolicyLoss: -0.00171\n",
+ "Steps: 3.88e+04\n",
+ "TotalSteps: 6.25e+06\n",
+ "ValFuncLoss: 0.00493\n",
+ "Variance: 0.433\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011366504 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.43044147 0.40022966 0.4317567 0.39694962]\n",
+ "FIT: 5.234832509986029 2.7366759337974518 0.17209150694237307 0.1530791797072004\n",
+ "***** Episode 48639, Mean R = -63.2 Std R = 53.2 Min R = -233.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.783\n",
+ "ExplainedVarOld: 0.632\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: 2.15\n",
+ "PolicyLoss: -0.00188\n",
+ "Steps: 3.99e+04\n",
+ "TotalSteps: 6.29e+06\n",
+ "ValFuncLoss: 0.00741\n",
+ "Variance: 0.432\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010468474 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.4328263 0.39913303 0.43127716 0.39539802]\n",
+ "FIT: 1.1839605802948234 5.459706201053575 0.16262449161777875 0.15045387426571974\n",
+ "***** Episode 48760, Mean R = -59.3 Std R = 52.7 Min R = -251.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.944\n",
+ "ExplainedVarOld: 0.833\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: 2.15\n",
+ "PolicyLoss: -0.00156\n",
+ "Steps: 4e+04\n",
+ "TotalSteps: 6.33e+06\n",
+ "ValFuncLoss: 0.00117\n",
+ "Variance: 0.433\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011102648 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.4337337 0.4016501 0.43155774 0.39465424]\n",
+ "FIT: 5.230193343725912 2.150907482197002 0.15743094657655002 0.14741815627876895\n",
+ "Update Cnt = 240 ET = 1148.3 Stats: Mean, Std, Min, Max\n",
+ "r_f | 17.6 -7.7 47.6 | 86.0 74.1 204.0 | -532.3 -928.5 -1.2 | 1950.2 1025.5 2297.2\n",
+ "v_f | -2.87 0.28 -9.92 | 6.27 4.75 12.19 | -61.51 -26.03 -90.06 | 20.44 27.56 48.44\n",
+ "r_i | 1011.5 17.9 2350.1 | 569.4 572.0 28.9 | 1.1 -999.6 2300.0 | 1995.6 999.9 2400.0\n",
+ "v_i | -39.84 -0.18 -80.10 | 17.38 17.57 5.84 | -70.00 -29.93 -89.99 | -10.07 29.92 -70.00\n",
+ "norm_rf | 80.1 | 225.2 | 1.4 | 3069.9\n",
+ "norm_vf | 14.98 | 9.63 | 0.79 | 108.87\n",
+ "gs_f | 3.3 | 4.2 | 0.0 | 67.2\n",
+ "thrust | 1081 21 8751 | 2513 2343 2834 | -18499 -17855 596 | 18870 17811 19941\n",
+ "norm_thrust | 9363 | 3148 | 3464 | 20000\n",
+ "fuel | 292 | 92 | 7 | 545\n",
+ "rewards | -60.40 | 53.47 | -301.37 | -18.79\n",
+ "fuel_rewards | -7.53 | 2.38 | -14.05 | -0.18\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.09 | 0.67 | 0.01 | 4.33\n",
+ "norm_af | 0.27 | 0.19 | 0.01 | 1.88\n",
+ "norm_wf | 0.44 | 0.24 | 0.01 | 1.38\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -1.09 | 3.99 | -47.06 | 0.00\n",
+ "att_penalty | -0.99 | 9.91 | -100.00 | 0.00\n",
+ "attitude | 0.01 0.11 0.00 | 0.41 0.24 0.23 | -2.35 -1.38 -1.42 | 1.85 1.38 1.41\n",
+ "w | 0.00 -0.01 -0.00 | 0.41 0.39 0.01 | -2.07 -2.10 -0.14 | 2.27 1.77 0.10\n",
+ "a_f | 0.12 0.02 | 0.21 0.23 | -1.38 -1.42 | 1.38 1.41\n",
+ "w_f | -0.00 0.06 0.00 | 0.37 0.34 0.02 | -1.31 -1.30 -0.11 | 1.24 1.06 0.10\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 76.03 | 224.95 | 3.10 | 3064.87\n",
+ "tracking_rewards | -50.78 | 49.44 | -259.92 | -4.06\n",
+ "steps | 321 | 138 | 6 | 601\n",
+ "***** Episode 48881, Mean R = -56.5 Std R = 46.2 Min R = -181.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.854\n",
+ "ExplainedVarOld: 0.77\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: 2.16\n",
+ "PolicyLoss: -0.0016\n",
+ "Steps: 3.84e+04\n",
+ "TotalSteps: 6.37e+06\n",
+ "ValFuncLoss: 0.00337\n",
+ "Variance: 0.434\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009466225 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.43197218 0.40165085 0.43097177 0.39467496]\n",
+ "FIT: 5.230664340508653 7.50019975570537 0.1788233366925016 0.15684449120830266\n",
+ "***** Episode 49002, Mean R = -64.0 Std R = 58.8 Min R = -292.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.829\n",
+ "ExplainedVarOld: 0.682\n",
+ "KL: 0.000947\n",
+ "PolicyEntropy: 2.15\n",
+ "PolicyLoss: -0.00159\n",
+ "Steps: 3.93e+04\n",
+ "TotalSteps: 6.41e+06\n",
+ "ValFuncLoss: 0.00563\n",
+ "Variance: 0.432\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010375181 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.42966592 0.40115875 0.42904067 0.39246628]\n",
+ "FIT: 5.230398959599391 2.8026238783832005 0.16524983543470617 0.15222415451506247\n",
+ "***** Episode 49123, Mean R = -59.6 Std R = 51.7 Min R = -220.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.888\n",
+ "ExplainedVarOld: 0.759\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: 2.14\n",
+ "PolicyLoss: -0.00185\n",
+ "Steps: 3.93e+04\n",
+ "TotalSteps: 6.45e+06\n",
+ "ValFuncLoss: 0.00328\n",
+ "Variance: 0.43\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013588191 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.42853564 0.39920008 0.42470652 0.3896841 ]\n",
+ "FIT: 1.661382809506063 3.1764520268555727 0.1757322328239904 0.1583738551467904\n",
+ "***** Episode 49244, Mean R = -66.2 Std R = 55.9 Min R = -248.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.949\n",
+ "ExplainedVarOld: 0.886\n",
+ "KL: 0.00136\n",
+ "PolicyEntropy: 2.11\n",
+ "PolicyLoss: -0.00194\n",
+ "Steps: 4.11e+04\n",
+ "TotalSteps: 6.49e+06\n",
+ "ValFuncLoss: 0.00135\n",
+ "Variance: 0.429\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010496737 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.42639604 0.39505586 0.42267025 0.3879297 ]\n",
+ "FIT: 1.5983311655014114 2.92663944983429 0.16816032957561253 0.15546547484648202\n",
+ "***** Episode 49365, Mean R = -61.2 Std R = 55.4 Min R = -280.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.942\n",
+ "ExplainedVarOld: 0.9\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: 2.09\n",
+ "PolicyLoss: -0.00164\n",
+ "Steps: 3.97e+04\n",
+ "TotalSteps: 6.53e+06\n",
+ "ValFuncLoss: 0.00118\n",
+ "Variance: 0.426\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00094859727 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.42774704 0.39237368 0.4232657 0.38806862]\n",
+ "FIT: 1.201964026492145 5.7493278475151515 0.16686646091534454 0.15348218385444917\n",
+ "***** Episode 49486, Mean R = -60.4 Std R = 53.0 Min R = -285.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.962\n",
+ "ExplainedVarOld: 0.896\n",
+ "KL: 0.000949\n",
+ "PolicyEntropy: 2.08\n",
+ "PolicyLoss: -0.00186\n",
+ "Steps: 3.98e+04\n",
+ "TotalSteps: 6.57e+06\n",
+ "ValFuncLoss: 0.000916\n",
+ "Variance: 0.428\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00094677927 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.4273683 0.39137045 0.4252333 0.3890494 ]\n",
+ "FIT: 1.1232327346562128 2.4138510564841273 0.1476658712262502 0.1451490303548352\n",
+ "***** Episode 49607, Mean R = -50.9 Std R = 41.9 Min R = -220.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.96\n",
+ "ExplainedVarOld: 0.906\n",
+ "KL: 0.000947\n",
+ "PolicyEntropy: 2.09\n",
+ "PolicyLoss: -0.00184\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.6e+06\n",
+ "ValFuncLoss: 0.000661\n",
+ "Variance: 0.427\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013036123 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.42580143 0.3886604 0.42256814 0.38664898]\n",
+ "FIT: 1.6022986034915039 2.478856202295348 0.1719001854026252 0.15700972105199035\n",
+ "***** Episode 49728, Mean R = -66.2 Std R = 58.0 Min R = -274.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.939\n",
+ "ExplainedVarOld: 0.861\n",
+ "KL: 0.0013\n",
+ "PolicyEntropy: 2.07\n",
+ "PolicyLoss: -0.00185\n",
+ "Steps: 4.25e+04\n",
+ "TotalSteps: 6.65e+06\n",
+ "ValFuncLoss: 0.0014\n",
+ "Variance: 0.426\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009344658 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.42521545 0.38761407 0.42045408 0.38649324]\n",
+ "FIT: 5.234366282416858 1.9008620755787198 0.1586604935185689 0.15000399679512105\n",
+ "***** Episode 49849, Mean R = -57.4 Std R = 48.5 Min R = -235.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.809\n",
+ "ExplainedVarOld: 0.678\n",
+ "KL: 0.000934\n",
+ "PolicyEntropy: 2.06\n",
+ "PolicyLoss: -0.00155\n",
+ "Steps: 3.87e+04\n",
+ "TotalSteps: 6.68e+06\n",
+ "ValFuncLoss: 0.00524\n",
+ "Variance: 0.425\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0010963946 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.4222879 0.38798714 0.41820017 0.3870496 ]\n",
+ "FIT: 5.2337087673313425 2.231660393268065 0.16480638706231623 0.15244449691327144\n",
+ "***** Episode 49970, Mean R = -61.5 Std R = 51.6 Min R = -231.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.789\n",
+ "ExplainedVarOld: 0.63\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: 2.05\n",
+ "PolicyLoss: -0.00185\n",
+ "Steps: 3.97e+04\n",
+ "TotalSteps: 6.72e+06\n",
+ "ValFuncLoss: 0.00685\n",
+ "Variance: 0.422\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013331973 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.4199233 0.38781846 0.4169247 0.38598093]\n",
+ "FIT: 5.2349306348989195 10.0115151111223 0.16879144226573178 0.15278062662550262\n",
+ "Update Cnt = 250 ET = 1165.7 Stats: Mean, Std, Min, Max\n",
+ "r_f | 16.6 -5.8 51.0 | 111.1 60.8 198.9 | -450.2 -871.7 -1.1 | 1936.4 832.3 2300.9\n",
+ "v_f | -2.83 -0.01 -8.66 | 6.02 4.30 12.26 | -63.79 -19.79 -85.59 | 15.59 19.33 52.82\n",
+ "r_i | 1037.0 40.3 2348.6 | 571.6 588.1 28.7 | 1.5 -998.1 2300.0 | 1995.3 998.7 2399.8\n",
+ "v_i | -40.12 -0.03 -80.06 | 17.14 17.19 5.64 | -69.89 -29.96 -89.98 | -10.10 29.97 -70.01\n",
+ "norm_rf | 83.5 | 227.1 | 1.7 | 2941.1\n",
+ "norm_vf | 14.40 | 8.98 | 1.49 | 101.90\n",
+ "gs_f | 3.1 | 4.1 | 0.0 | 70.6\n",
+ "thrust | 1068 8 8734 | 2543 2392 2838 | -19453 -18591 718 | 18286 17951 19920\n",
+ "norm_thrust | 9364 | 3158 | 3464 | 20000\n",
+ "fuel | 298 | 97 | 7 | 548\n",
+ "rewards | -60.96 | 53.24 | -292.69 | -17.84\n",
+ "fuel_rewards | -7.69 | 2.49 | -14.12 | -0.21\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.05 | 0.65 | 0.01 | 3.73\n",
+ "norm_af | 0.27 | 0.18 | 0.00 | 1.63\n",
+ "norm_wf | 0.45 | 0.24 | 0.01 | 1.41\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -1.00 | 3.49 | -42.06 | 0.00\n",
+ "att_penalty | -0.74 | 8.59 | -100.00 | 0.00\n",
+ "attitude | -0.03 0.11 -0.00 | 0.44 0.24 0.24 | -2.02 -1.20 -1.41 | 2.34 1.39 1.38\n",
+ "w | 0.00 -0.01 -0.00 | 0.41 0.38 0.02 | -2.14 -2.05 -0.11 | 2.06 1.85 0.12\n",
+ "a_f | 0.11 0.00 | 0.21 0.23 | -0.81 -1.41 | 1.39 1.38\n",
+ "w_f | 0.00 0.04 -0.00 | 0.36 0.36 0.02 | -1.05 -1.15 -0.10 | 1.11 1.01 0.12\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 79.17 | 226.85 | 2.41 | 2936.13\n",
+ "tracking_rewards | -51.53 | 49.62 | -278.51 | -3.73\n",
+ "steps | 328 | 142 | 6 | 601\n",
+ "***** Episode 50091, Mean R = -62.1 Std R = 53.9 Min R = -254.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.845\n",
+ "ExplainedVarOld: 0.684\n",
+ "KL: 0.00133\n",
+ "PolicyEntropy: 2.03\n",
+ "PolicyLoss: -0.00158\n",
+ "Steps: 3.98e+04\n",
+ "TotalSteps: 6.76e+06\n",
+ "ValFuncLoss: 0.00514\n",
+ "Variance: 0.42\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00089087035 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.41787142 0.3853735 0.41606784 0.38468844]\n",
+ "FIT: 0.9681562522803243 2.912643933955379 0.1522024342106337 0.14948673106126478\n",
+ "***** Episode 50212, Mean R = -53.7 Std R = 49.9 Min R = -246.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.882\n",
+ "ExplainedVarOld: 0.671\n",
+ "KL: 0.000891\n",
+ "PolicyEntropy: 2.02\n",
+ "PolicyLoss: -0.00172\n",
+ "Steps: 3.84e+04\n",
+ "TotalSteps: 6.8e+06\n",
+ "ValFuncLoss: 0.00191\n",
+ "Variance: 0.418\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0014552438 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.41600817 0.38371873 0.4117718 0.38325483]\n",
+ "FIT: 5.389297947957528 2.0720323293110323 0.18164019216191885 0.1585903234668514\n",
+ "***** Episode 50333, Mean R = -73.0 Std R = 57.2 Min R = -236.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.846\n",
+ "ExplainedVarOld: 0.731\n",
+ "KL: 0.00146\n",
+ "PolicyEntropy: 1.99\n",
+ "PolicyLoss: -0.00199\n",
+ "Steps: 4.42e+04\n",
+ "TotalSteps: 6.85e+06\n",
+ "ValFuncLoss: 0.00407\n",
+ "Variance: 0.416\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00083838054 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.41467977 0.38204482 0.4102541 0.3804649 ]\n",
+ "FIT: 1.3238789016789463 1.838762054692875 0.16783321996642317 0.15553746095235432\n",
+ "***** Episode 50454, Mean R = -62.9 Std R = 59.5 Min R = -292.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.94\n",
+ "ExplainedVarOld: 0.868\n",
+ "KL: 0.000838\n",
+ "PolicyEntropy: 1.98\n",
+ "PolicyLoss: -0.00213\n",
+ "Steps: 4.13e+04\n",
+ "TotalSteps: 6.89e+06\n",
+ "ValFuncLoss: 0.0012\n",
+ "Variance: 0.415\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011205828 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.41158748 0.38057736 0.4094597 0.37931114]\n",
+ "FIT: 5.251277199387193 2.873682845999569 0.16919090938695613 0.1569182483459087\n",
+ "***** Episode 50575, Mean R = -62.0 Std R = 58.3 Min R = -320.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.919\n",
+ "ExplainedVarOld: 0.763\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: 1.96\n",
+ "PolicyLoss: -0.00206\n",
+ "Steps: 3.99e+04\n",
+ "TotalSteps: 6.93e+06\n",
+ "ValFuncLoss: 0.00219\n",
+ "Variance: 0.412\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011163602 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.40987435 0.37844574 0.40593952 0.37746668]\n",
+ "FIT: 5.232590240913927 3.04105793013914 0.1671431389448471 0.15439836486389946\n",
+ "***** Episode 50696, Mean R = -65.3 Std R = 52.9 Min R = -269.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.891\n",
+ "ExplainedVarOld: 0.825\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: 1.94\n",
+ "PolicyLoss: -0.00155\n",
+ "Steps: 4.27e+04\n",
+ "TotalSteps: 6.97e+06\n",
+ "ValFuncLoss: 0.00244\n",
+ "Variance: 0.41\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008308152 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.40676284 0.37730843 0.40235928 0.3761139 ]\n",
+ "FIT: 1.3547112040079166 2.024611981533015 0.15896669915909342 0.15209188654987774\n",
+ "***** Episode 50817, Mean R = -57.9 Std R = 52.4 Min R = -233.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.944\n",
+ "ExplainedVarOld: 0.893\n",
+ "KL: 0.000831\n",
+ "PolicyEntropy: 1.91\n",
+ "PolicyLoss: -0.0019\n",
+ "Steps: 3.94e+04\n",
+ "TotalSteps: 7.01e+06\n",
+ "ValFuncLoss: 0.00117\n",
+ "Variance: 0.407\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010988171 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.40483445 0.3738068 0.3986723 0.37532687]\n",
+ "FIT: 0.9165251377548385 1.8281088098586373 0.1445151029740811 0.1479147601426202\n",
+ "***** Episode 50938, Mean R = -52.4 Std R = 45.1 Min R = -266.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.938\n",
+ "ExplainedVarOld: 0.793\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: 1.89\n",
+ "PolicyLoss: -0.00204\n",
+ "Steps: 3.94e+04\n",
+ "TotalSteps: 7.05e+06\n",
+ "ValFuncLoss: 0.000943\n",
+ "Variance: 0.405\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013449244 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.40423983 0.371918 0.39839447 0.37136513]\n",
+ "FIT: 1.2138023635676811 3.2724853051006204 0.14627694889318568 0.14768157940768842\n",
+ "***** Episode 51059, Mean R = -53.2 Std R = 42.1 Min R = -198.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.947\n",
+ "ExplainedVarOld: 0.903\n",
+ "KL: 0.00134\n",
+ "PolicyEntropy: 1.87\n",
+ "PolicyLoss: -0.00178\n",
+ "Steps: 3.91e+04\n",
+ "TotalSteps: 7.09e+06\n",
+ "ValFuncLoss: 0.000804\n",
+ "Variance: 0.404\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011169524 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.4029955 0.3708951 0.39807346 0.37061578]\n",
+ "FIT: 5.228197218059194 2.1639189577895084 0.14862230431017595 0.14814112946628297\n",
+ "***** Episode 51180, Mean R = -53.0 Std R = 49.0 Min R = -271.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.784\n",
+ "ExplainedVarOld: 0.64\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: 1.86\n",
+ "PolicyLoss: -0.00168\n",
+ "Steps: 3.82e+04\n",
+ "TotalSteps: 7.13e+06\n",
+ "ValFuncLoss: 0.00518\n",
+ "Variance: 0.403\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0007671797 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.4015636 0.36920878 0.39579245 0.37112632]\n",
+ "FIT: 1.646937009948687 2.7795731627056415 0.14947147215905343 0.14967570633598623\n",
+ "Update Cnt = 260 ET = 1184.9 Stats: Mean, Std, Min, Max\n",
+ "r_f | 16.4 0.4 36.9 | 46.5 47.3 147.7 | -314.5 -234.9 -0.9 | 869.7 962.5 2258.8\n",
+ "v_f | -2.54 0.25 -8.77 | 5.53 3.71 9.47 | -57.71 -28.04 -84.86 | 17.23 23.50 52.31\n",
+ "r_i | 971.0 5.4 2349.7 | 581.2 573.4 28.9 | 4.5 -998.2 2300.0 | 1997.5 995.0 2399.8\n",
+ "v_i | -39.56 -0.67 -79.96 | 17.38 17.23 5.87 | -69.96 -29.98 -89.98 | -10.03 29.95 -70.00\n",
+ "norm_rf | 65.5 | 153.4 | 1.0 | 2373.2\n",
+ "norm_vf | 12.72 | 7.45 | 1.08 | 102.64\n",
+ "gs_f | 3.2 | 7.1 | 0.0 | 195.9\n",
+ "thrust | 1047 38 8695 | 2579 2358 2862 | -18785 -17422 1122 | 19014 18514 19932\n",
+ "norm_thrust | 9329 | 3173 | 3464 | 20000\n",
+ "fuel | 303 | 99 | 5 | 543\n",
+ "rewards | -59.03 | 51.89 | -320.58 | -16.05\n",
+ "fuel_rewards | -7.80 | 2.56 | -14.00 | -0.15\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.09 | 0.71 | 0.01 | 4.08\n",
+ "norm_af | 0.28 | 0.18 | 0.01 | 1.84\n",
+ "norm_wf | 0.42 | 0.23 | 0.01 | 1.27\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.91 | 3.43 | -37.95 | 0.00\n",
+ "att_penalty | -0.33 | 5.74 | -100.00 | 0.00\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "attitude | -0.02 0.11 -0.00 | 0.43 0.25 0.24 | -2.04 -1.35 -1.35 | 2.23 1.39 1.41\n",
+ "w | 0.00 -0.01 -0.00 | 0.39 0.37 0.01 | -2.31 -1.90 -0.08 | 2.15 1.70 0.08\n",
+ "a_f | 0.13 0.01 | 0.22 0.22 | -0.85 -1.35 | 1.39 1.41\n",
+ "w_f | -0.01 0.05 -0.00 | 0.35 0.33 0.01 | -1.11 -1.18 -0.08 | 1.20 1.01 0.08\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 61.21 | 153.20 | 3.33 | 2368.20\n",
+ "tracking_rewards | -49.99 | 48.51 | -285.21 | -2.85\n",
+ "steps | 334 | 149 | 5 | 601\n",
+ "***** Episode 51301, Mean R = -57.0 Std R = 45.4 Min R = -209.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.938\n",
+ "ExplainedVarOld: 0.888\n",
+ "KL: 0.000767\n",
+ "PolicyEntropy: 1.85\n",
+ "PolicyLoss: -0.00188\n",
+ "Steps: 4.14e+04\n",
+ "TotalSteps: 7.17e+06\n",
+ "ValFuncLoss: 0.000936\n",
+ "Variance: 0.402\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00095381093 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.4003116 0.36785963 0.39398733 0.37084168]\n",
+ "FIT: 0.8484862245614624 3.9350975171110067 0.139879983402753 0.14483802698539242\n",
+ "***** Episode 51422, Mean R = -49.8 Std R = 43.5 Min R = -201.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.947\n",
+ "ExplainedVarOld: 0.896\n",
+ "KL: 0.000954\n",
+ "PolicyEntropy: 1.84\n",
+ "PolicyLoss: -0.00189\n",
+ "Steps: 3.86e+04\n",
+ "TotalSteps: 7.21e+06\n",
+ "ValFuncLoss: 0.000745\n",
+ "Variance: 0.4\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013304849 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.39503044 0.36810595 0.39148146 0.3714494 ]\n",
+ "FIT: 5.237200820026242 1.9581684580865901 0.13788175012485074 0.1436046017484846\n",
+ "***** Episode 51543, Mean R = -48.8 Std R = 40.3 Min R = -170.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.871\n",
+ "ExplainedVarOld: 0.8\n",
+ "KL: 0.00133\n",
+ "PolicyEntropy: 1.82\n",
+ "PolicyLoss: -0.00221\n",
+ "Steps: 3.76e+04\n",
+ "TotalSteps: 7.24e+06\n",
+ "ValFuncLoss: 0.00229\n",
+ "Variance: 0.395\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0016092801 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.39309174 0.37023103 0.39153093 0.37141806]\n",
+ "FIT: 5.264626017245495 1.518632077463343 0.13740324566802237 0.14638714786419257\n",
+ "***** Episode 51664, Mean R = -48.2 Std R = 40.3 Min R = -237.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.816\n",
+ "ExplainedVarOld: 0.435\n",
+ "KL: 0.00161\n",
+ "PolicyEntropy: 1.82\n",
+ "PolicyLoss: -0.0014\n",
+ "Steps: 3.73e+04\n",
+ "TotalSteps: 7.28e+06\n",
+ "ValFuncLoss: 0.00397\n",
+ "Variance: 0.393\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013826779 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.3909677 0.36923215 0.391807 0.36882713]\n",
+ "FIT: 5.254198538972769 11.582454839163338 0.15592358186822222 0.15424800643686404\n",
+ "***** Episode 51785, Mean R = -58.6 Std R = 50.0 Min R = -303.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.788\n",
+ "ExplainedVarOld: 0.618\n",
+ "KL: 0.00138\n",
+ "PolicyEntropy: 1.81\n",
+ "PolicyLoss: -0.00139\n",
+ "Steps: 4.05e+04\n",
+ "TotalSteps: 7.32e+06\n",
+ "ValFuncLoss: 0.00512\n",
+ "Variance: 0.392\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011045835 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.39068064 0.36642337 0.39096817 0.36843014]\n",
+ "FIT: 0.897543497756302 7.972020761999279 0.1512983657282285 0.15368764477209476\n",
+ "***** Episode 51906, Mean R = -58.7 Std R = 48.7 Min R = -228.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.917\n",
+ "ExplainedVarOld: 0.864\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: 1.79\n",
+ "PolicyLoss: -0.00175\n",
+ "Steps: 4.27e+04\n",
+ "TotalSteps: 7.36e+06\n",
+ "ValFuncLoss: 0.00114\n",
+ "Variance: 0.391\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0007848105 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.38947698 0.36632955 0.3912725 0.36841407]\n",
+ "FIT: 5.253024032261043 3.219566880036145 0.15118723075389803 0.15144461403547668\n",
+ "***** Episode 52027, Mean R = -56.3 Std R = 47.0 Min R = -198.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.827\n",
+ "ExplainedVarOld: 0.679\n",
+ "KL: 0.000785\n",
+ "PolicyEntropy: 1.79\n",
+ "PolicyLoss: -0.0016\n",
+ "Steps: 4.01e+04\n",
+ "TotalSteps: 7.41e+06\n",
+ "ValFuncLoss: 0.00378\n",
+ "Variance: 0.391\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010457275 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.388866 0.36731127 0.39121383 0.36964732]\n",
+ "FIT: 5.275785589216177 1.2187332302844667 0.1293132625259339 0.14299316426207848\n",
+ "***** Episode 52148, Mean R = -45.9 Std R = 38.6 Min R = -243.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.794\n",
+ "ExplainedVarOld: 0.678\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: 1.8\n",
+ "PolicyLoss: -0.00149\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 7.44e+06\n",
+ "ValFuncLoss: 0.00368\n",
+ "Variance: 0.391\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013011391 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.38910806 0.36841834 0.39160672 0.37044877]\n",
+ "FIT: 5.210706199293896 10.550134221708802 0.14408127804653612 0.15029239653643398\n",
+ "***** Episode 52269, Mean R = -54.2 Std R = 45.3 Min R = -234.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.845\n",
+ "ExplainedVarOld: 0.573\n",
+ "KL: 0.0013\n",
+ "PolicyEntropy: 1.8\n",
+ "PolicyLoss: -0.00152\n",
+ "Steps: 4.1e+04\n",
+ "TotalSteps: 7.48e+06\n",
+ "ValFuncLoss: 0.00322\n",
+ "Variance: 0.392\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012063361 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.38793084 0.36849585 0.39122415 0.37124267]\n",
+ "FIT: 5.265941490555348 2.6627178359427535 0.156158741252696 0.1550496848750453\n",
+ "***** Episode 52390, Mean R = -60.1 Std R = 52.9 Min R = -262.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.78\n",
+ "ExplainedVarOld: 0.658\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: 1.8\n",
+ "PolicyLoss: -0.00198\n",
+ "Steps: 4.14e+04\n",
+ "TotalSteps: 7.52e+06\n",
+ "ValFuncLoss: 0.00603\n",
+ "Variance: 0.391\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00097588886 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.38603753 0.3687722 0.38949788 0.3703179 ]\n",
+ "FIT: 5.233252574216568 5.33141032853857 0.1538331951559152 0.15207682845092418\n",
+ "Update Cnt = 270 ET = 1165.1 Stats: Mean, Std, Min, Max\n",
+ "r_f | 19.0 1.5 25.6 | 75.7 48.9 138.9 | -460.8 -846.5 -1.1 | 1899.1 935.7 2250.5\n",
+ "v_f | -2.32 0.39 -8.75 | 4.97 3.41 7.50 | -57.30 -23.05 -83.93 | 13.80 24.37 44.65\n",
+ "r_i | 975.2 -19.2 2349.3 | 570.4 567.0 28.7 | 0.8 -1000.0 2300.0 | 1998.3 997.1 2400.0\n",
+ "v_i | -39.42 -0.03 -80.30 | 17.66 17.22 5.85 | -69.94 -29.98 -89.99 | -10.00 29.99 -70.00\n",
+ "norm_rf | 53.6 | 159.9 | 0.6 | 2972.1\n",
+ "norm_vf | 11.42 | 6.65 | 0.51 | 100.37\n",
+ "gs_f | 3.0 | 4.0 | 0.0 | 51.2\n",
+ "thrust | 1061 22 8730 | 2611 2397 2853 | -18385 -18729 1106 | 18261 17337 19953\n",
+ "norm_thrust | 9378 | 3175 | 3464 | 20000\n",
+ "fuel | 299 | 96 | 9 | 581\n",
+ "rewards | -53.86 | 46.79 | -350.68 | -16.59\n",
+ "fuel_rewards | -7.72 | 2.47 | -14.98 | -0.25\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.10 | 0.68 | 0.01 | 4.70\n",
+ "norm_af | 0.28 | 0.19 | 0.00 | 1.74\n",
+ "norm_wf | 0.42 | 0.23 | 0.04 | 1.77\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.95 | 4.28 | -69.57 | 0.00\n",
+ "att_penalty | -0.74 | 8.59 | -100.00 | 0.00\n",
+ "attitude | 0.03 0.11 0.00 | 0.42 0.25 0.24 | -1.98 -1.39 -1.41 | 2.54 1.41 1.38\n",
+ "w | 0.00 -0.01 0.00 | 0.38 0.37 0.01 | -2.08 -1.95 -0.09 | 2.06 1.98 0.12\n",
+ "a_f | 0.13 0.01 | 0.22 0.23 | -1.39 -1.41 | 1.41 1.38\n",
+ "w_f | -0.02 0.06 0.00 | 0.34 0.33 0.01 | -1.16 -0.96 -0.08 | 1.13 1.77 0.12\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 49.22 | 159.74 | 1.48 | 2967.07\n",
+ "tracking_rewards | -44.44 | 42.05 | -289.48 | -4.82\n",
+ "steps | 329 | 144 | 7 | 601\n",
+ "***** Episode 52511, Mean R = -57.9 Std R = 55.6 Min R = -350.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.887\n",
+ "ExplainedVarOld: 0.558\n",
+ "KL: 0.000976\n",
+ "PolicyEntropy: 1.79\n",
+ "PolicyLoss: -0.00164\n",
+ "Steps: 4.12e+04\n",
+ "TotalSteps: 7.57e+06\n",
+ "ValFuncLoss: 0.003\n",
+ "Variance: 0.389\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00079413154 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.38547966 0.36639795 0.38985062 0.36991712]\n",
+ "FIT: 5.307391518404611 4.981641322680945 0.1466984552643005 0.14947686848313052\n",
+ "***** Episode 52632, Mean R = -55.1 Std R = 47.6 Min R = -276.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.943\n",
+ "ExplainedVarOld: 0.781\n",
+ "KL: 0.000794\n",
+ "PolicyEntropy: 1.78\n",
+ "PolicyLoss: -0.00191\n",
+ "Steps: 4e+04\n",
+ "TotalSteps: 7.61e+06\n",
+ "ValFuncLoss: 0.00121\n",
+ "Variance: 0.39\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008552037 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.38452733 0.36452365 0.3889159 0.36942312]\n",
+ "FIT: 5.228295778162069 2.8327822070731523 0.1539086439910919 0.15445529612932107\n",
+ "***** Episode 52753, Mean R = -63.8 Std R = 49.4 Min R = -245.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.861\n",
+ "ExplainedVarOld: 0.729\n",
+ "KL: 0.000855\n",
+ "PolicyEntropy: 1.77\n",
+ "PolicyLoss: -0.00181\n",
+ "Steps: 4.52e+04\n",
+ "TotalSteps: 7.65e+06\n",
+ "ValFuncLoss: 0.00282\n",
+ "Variance: 0.389\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0011756163 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.3845443 0.36259833 0.38726953 0.3672356 ]\n",
+ "FIT: 5.219870598205749 2.5913324843434453 0.14780811038817354 0.14976767195752674\n",
+ "***** Episode 52874, Mean R = -59.2 Std R = 46.7 Min R = -218.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.8\n",
+ "ExplainedVarOld: 0.431\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: 1.76\n",
+ "PolicyLoss: -0.00182\n",
+ "Steps: 4.4e+04\n",
+ "TotalSteps: 7.7e+06\n",
+ "ValFuncLoss: 0.00564\n",
+ "Variance: 0.387\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011091603 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.38399658 0.3597481 0.3849311 0.36417514]\n",
+ "FIT: 1.1267360717185162 8.433780127133147 0.14080346332882074 0.1506787880690368\n",
+ "***** Episode 52995, Mean R = -54.3 Std R = 43.3 Min R = -231.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.921\n",
+ "ExplainedVarOld: 0.871\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: 1.73\n",
+ "PolicyLoss: -0.00177\n",
+ "Steps: 4.15e+04\n",
+ "TotalSteps: 7.74e+06\n",
+ "ValFuncLoss: 0.00104\n",
+ "Variance: 0.385\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009954034 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.38205814 0.35898674 0.3846036 0.36346057]\n",
+ "FIT: 5.213715947105862 1.2404879229222296 0.1535356693645686 0.1559299927658963\n",
+ "***** Episode 53116, Mean R = -63.0 Std R = 48.3 Min R = -212.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.855\n",
+ "ExplainedVarOld: 0.579\n",
+ "KL: 0.000995\n",
+ "PolicyEntropy: 1.72\n",
+ "PolicyLoss: -0.00157\n",
+ "Steps: 4.5e+04\n",
+ "TotalSteps: 7.78e+06\n",
+ "ValFuncLoss: 0.0033\n",
+ "Variance: 0.385\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009700528 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.3830397 0.357052 0.38276765 0.36255777]\n",
+ "FIT: 5.235551550203829 8.989121622994094 0.14250669522288564 0.150503196480342\n",
+ "***** Episode 53237, Mean R = -54.5 Std R = 44.7 Min R = -210.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.844\n",
+ "ExplainedVarOld: 0.743\n",
+ "KL: 0.00097\n",
+ "PolicyEntropy: 1.71\n",
+ "PolicyLoss: -0.00182\n",
+ "Steps: 4.11e+04\n",
+ "TotalSteps: 7.82e+06\n",
+ "ValFuncLoss: 0.00271\n",
+ "Variance: 0.383\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010812539 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.37972802 0.35388827 0.38346395 0.3622311 ]\n",
+ "FIT: 5.408325100304657 1.2641204979677008 0.13915119360083053 0.14918748813153027\n",
+ "***** Episode 53358, Mean R = -54.6 Std R = 41.2 Min R = -189.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.834\n",
+ "ExplainedVarOld: 0.763\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: 1.69\n",
+ "PolicyLoss: -0.00194\n",
+ "Steps: 4.15e+04\n",
+ "TotalSteps: 7.86e+06\n",
+ "ValFuncLoss: 0.00277\n",
+ "Variance: 0.383\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012303453 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.37529087 0.3505307 0.38138628 0.36075988]\n",
+ "FIT: 1.6820758911316342 2.275533105522878 0.14941216253087122 0.1550211772793955\n",
+ "***** Episode 53479, Mean R = -60.3 Std R = 50.9 Min R = -319.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.931\n",
+ "ExplainedVarOld: 0.825\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: 1.66\n",
+ "PolicyLoss: -0.00241\n",
+ "Steps: 4.44e+04\n",
+ "TotalSteps: 7.91e+06\n",
+ "ValFuncLoss: 0.00115\n",
+ "Variance: 0.381\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011940611 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.3763799 0.35139257 0.37885517 0.36128673]\n",
+ "FIT: 5.403468877639886 3.395950127885133 0.13685832643604448 0.14678991261112892\n",
+ "***** Episode 53600, Mean R = -53.7 Std R = 40.1 Min R = -233.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.754\n",
+ "ExplainedVarOld: 0.554\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: 1.66\n",
+ "PolicyLoss: -0.00229\n",
+ "Steps: 4.2e+04\n",
+ "TotalSteps: 7.95e+06\n",
+ "ValFuncLoss: 0.00595\n",
+ "Variance: 0.379\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008394704 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.37568405 0.35058287 0.37759173 0.3608976 ]\n",
+ "FIT: 1.5826159843781542 2.618247282143365 0.14669036129160687 0.15432269091822257\n",
+ "Update Cnt = 280 ET = 1259.2 Stats: Mean, Std, Min, Max\n",
+ "r_f | 13.4 3.0 27.3 | 50.1 50.8 142.4 | -562.7 -315.0 -1.0 | 1155.3 1040.1 2259.6\n",
+ "v_f | -1.72 0.24 -7.02 | 5.29 3.21 7.61 | -62.53 -17.64 -88.75 | 13.95 24.98 30.58\n",
+ "r_i | 1001.3 -12.4 2348.9 | 580.6 581.3 29.2 | 4.5 -998.8 2300.1 | 1997.6 1000.0 2400.0\n",
+ "v_i | -40.46 0.01 -80.02 | 17.82 17.45 5.86 | -69.92 -29.96 -89.98 | -10.08 29.94 -70.02\n",
+ "norm_rf | 49.7 | 154.4 | 1.2 | 2719.3\n",
+ "norm_vf | 10.02 | 6.94 | 0.37 | 110.24\n",
+ "gs_f | 2.9 | 4.4 | 0.0 | 86.6\n",
+ "thrust | 1025 16 8570 | 2622 2367 2899 | -18774 -19041 412 | 18568 16982 19971\n",
+ "norm_thrust | 9222 | 3213 | 3464 | 20000\n",
+ "fuel | 318 | 105 | 6 | 561\n",
+ "rewards | -57.82 | 46.22 | -319.23 | -15.87\n",
+ "fuel_rewards | -8.20 | 2.70 | -14.46 | -0.18\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.00 | 0.72 | 0.01 | 5.03\n",
+ "norm_af | 0.30 | 0.20 | 0.02 | 1.92\n",
+ "norm_wf | 0.42 | 0.23 | 0.01 | 1.44\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -1.22 | 4.26 | -42.90 | 0.00\n",
+ "att_penalty | -0.66 | 8.10 | -100.00 | 0.00\n",
+ "attitude | -0.00 0.10 -0.00 | 0.42 0.25 0.25 | -2.22 -1.30 -1.38 | 2.26 1.33 1.41\n",
+ "w | 0.00 -0.01 0.00 | 0.38 0.37 0.01 | -2.32 -2.19 -0.10 | 1.94 1.76 0.13\n",
+ "a_f | 0.12 0.02 | 0.23 0.25 | -0.93 -1.38 | 1.33 1.41\n",
+ "w_f | -0.01 0.04 0.00 | 0.32 0.34 0.02 | -1.29 -1.05 -0.09 | 1.01 1.08 0.13\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 45.18 | 154.28 | 1.52 | 2714.30\n",
+ "tracking_rewards | -47.74 | 41.90 | -263.58 | -4.19\n",
+ "steps | 355 | 159 | 7 | 601\n",
+ "***** Episode 53721, Mean R = -59.8 Std R = 47.3 Min R = -198.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.91\n",
+ "ExplainedVarOld: 0.82\n",
+ "KL: 0.000839\n",
+ "PolicyEntropy: 1.66\n",
+ "PolicyLoss: -0.00171\n",
+ "Steps: 4.47e+04\n",
+ "TotalSteps: 8e+06\n",
+ "ValFuncLoss: 0.00138\n",
+ "Variance: 0.378\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011408301 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.37380838 0.34850243 0.37690356 0.3605003 ]\n",
+ "FIT: 5.223439856505795 1.4078605408233147 0.14819166090782038 0.15410574580204034\n",
+ "***** Episode 53842, Mean R = -60.2 Std R = 54.9 Min R = -458.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.759\n",
+ "ExplainedVarOld: 0.596\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: 1.64\n",
+ "PolicyLoss: -0.00172\n",
+ "Steps: 4.42e+04\n",
+ "TotalSteps: 8.04e+06\n",
+ "ValFuncLoss: 0.00593\n",
+ "Variance: 0.377\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011557982 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.37193635 0.34891248 0.37445003 0.36020863]\n",
+ "FIT: 5.220506219688647 2.3565214893234803 0.12909334393889924 0.1467100514609449\n",
+ "***** Episode 53963, Mean R = -50.6 Std R = 36.8 Min R = -166.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.788\n",
+ "ExplainedVarOld: 0.688\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: 1.63\n",
+ "PolicyLoss: -0.00175\n",
+ "Steps: 4.18e+04\n",
+ "TotalSteps: 8.08e+06\n",
+ "ValFuncLoss: 0.00308\n",
+ "Variance: 0.374\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010554692 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.36971554 0.34735057 0.37121046 0.35924512]\n",
+ "FIT: 1.610515213404068 1.7598766577059832 0.13325282458009285 0.14923054268719438\n",
+ "***** Episode 54084, Mean R = -52.9 Std R = 43.3 Min R = -315.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.942\n",
+ "ExplainedVarOld: 0.897\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: 1.61\n",
+ "PolicyLoss: -0.00207\n",
+ "Steps: 4.24e+04\n",
+ "TotalSteps: 8.12e+06\n",
+ "ValFuncLoss: 0.000898\n",
+ "Variance: 0.371\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011282394 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.36680228 0.34566888 0.36807808 0.35990122]\n",
+ "FIT: 5.246374241052622 1.9938046965713785 0.12507383631049662 0.1450655818439124\n",
+ "***** Episode 54205, Mean R = -47.8 Std R = 34.7 Min R = -145.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.804\n",
+ "ExplainedVarOld: 0.731\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: 1.59\n",
+ "PolicyLoss: -0.00183\n",
+ "Steps: 4.05e+04\n",
+ "TotalSteps: 8.16e+06\n",
+ "ValFuncLoss: 0.00255\n",
+ "Variance: 0.368\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012383886 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.36793566 0.3447949 0.36906958 0.3598529 ]\n",
+ "FIT: 5.250486063614759 7.554404951268658 0.1428976835284111 0.14974359645231622\n",
+ "***** Episode 54326, Mean R = -55.6 Std R = 48.2 Min R = -236.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.738\n",
+ "ExplainedVarOld: 0.455\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: 1.59\n",
+ "PolicyLoss: -0.00149\n",
+ "Steps: 4.2e+04\n",
+ "TotalSteps: 8.21e+06\n",
+ "ValFuncLoss: 0.00924\n",
+ "Variance: 0.369\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011911375 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.36927888 0.344173 0.3685176 0.3599116 ]\n",
+ "FIT: 5.354269117067612 1.1997987739746854 0.12514786706582615 0.1439142403418005\n",
+ "***** Episode 54447, Mean R = -48.3 Std R = 38.6 Min R = -244.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.686\n",
+ "ExplainedVarOld: 0.575\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: 1.59\n",
+ "PolicyLoss: -0.00129\n",
+ "Steps: 4.14e+04\n",
+ "TotalSteps: 8.25e+06\n",
+ "ValFuncLoss: 0.00562\n",
+ "Variance: 0.369\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0011633487 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.36640188 0.3416773 0.36684942 0.36200833]\n",
+ "FIT: 5.251961710456104 4.6907188955548165 0.14078790757405554 0.1529456905156343\n",
+ "***** Episode 54568, Mean R = -57.0 Std R = 46.1 Min R = -239.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.741\n",
+ "ExplainedVarOld: 0.581\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: 1.58\n",
+ "PolicyLoss: -0.0018\n",
+ "Steps: 4.4e+04\n",
+ "TotalSteps: 8.29e+06\n",
+ "ValFuncLoss: 0.00624\n",
+ "Variance: 0.367\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010206344 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.36538577 0.34036732 0.36473575 0.3623014 ]\n",
+ "FIT: 5.245775195455116 2.0657879708508937 0.13059290771601165 0.147700584119293\n",
+ "***** Episode 54689, Mean R = -52.9 Std R = 40.6 Min R = -242.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.88\n",
+ "ExplainedVarOld: 0.66\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: 1.57\n",
+ "PolicyLoss: -0.00177\n",
+ "Steps: 4.31e+04\n",
+ "TotalSteps: 8.33e+06\n",
+ "ValFuncLoss: 0.00255\n",
+ "Variance: 0.365\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009003474 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.36356145 0.339451 0.36289757 0.3630285 ]\n",
+ "FIT: 5.22257872471503 1.4189566983181598 0.1402633415473437 0.1526622603839242\n",
+ "***** Episode 54810, Mean R = -58.0 Std R = 43.4 Min R = -209.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.778\n",
+ "ExplainedVarOld: 0.585\n",
+ "KL: 0.0009\n",
+ "PolicyEntropy: 1.56\n",
+ "PolicyLoss: -0.00144\n",
+ "Steps: 4.53e+04\n",
+ "TotalSteps: 8.38e+06\n",
+ "ValFuncLoss: 0.00404\n",
+ "Variance: 0.364\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0014144385 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.36344567 0.33641145 0.36430886 0.36217523]\n",
+ "FIT: 5.416686237444285 1.4520091889462947 0.13672976410694307 0.1530757537792576\n",
+ "Update Cnt = 290 ET = 1261.7 Stats: Mean, Std, Min, Max\n",
+ "r_f | 16.7 4.0 20.8 | 50.2 53.8 130.4 | -90.7 -540.0 -1.0 | 1537.9 1032.9 2277.0\n",
+ "v_f | -2.05 0.03 -6.49 | 4.51 3.04 6.99 | -57.35 -13.46 -82.96 | 17.17 28.85 14.29\n",
+ "r_i | 977.6 1.8 2350.9 | 580.3 573.3 29.4 | 3.5 -999.7 2300.0 | 1999.5 999.9 2399.9\n",
+ "v_i | -40.81 0.25 -80.00 | 17.12 17.50 5.82 | -69.98 -29.98 -89.97 | -10.08 29.92 -70.00\n",
+ "norm_rf | 41.5 | 146.4 | 0.1 | 2738.9\n",
+ "norm_vf | 9.28 | 6.22 | 1.02 | 101.50\n",
+ "gs_f | 2.7 | 4.4 | 0.0 | 66.6\n",
+ "thrust | 1028 3 8571 | 2652 2426 2879 | -19291 -18074 531 | 17991 17725 19982\n",
+ "norm_thrust | 9245 | 3202 | 3464 | 20000\n",
+ "fuel | 318 | 106 | 5 | 548\n",
+ "rewards | -53.91 | 43.62 | -458.32 | -15.61\n",
+ "fuel_rewards | -8.21 | 2.73 | -14.14 | -0.15\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.00 | 0.71 | 0.01 | 4.62\n",
+ "norm_af | 0.31 | 0.22 | 0.01 | 1.89\n",
+ "norm_wf | 0.40 | 0.22 | 0.01 | 1.32\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -1.19 | 3.92 | -46.22 | 0.00\n",
+ "att_penalty | -1.07 | 10.31 | -100.00 | 0.00\n",
+ "attitude | -0.02 0.10 -0.00 | 0.39 0.26 0.25 | -2.04 -1.41 -1.45 | 2.40 1.38 1.41\n",
+ "w | -0.00 -0.01 -0.00 | 0.37 0.37 0.01 | -1.94 -2.12 -0.09 | 2.16 1.72 0.09\n",
+ "a_f | 0.11 -0.01 | 0.26 0.25 | -1.41 -1.45 | 1.38 1.41\n",
+ "w_f | -0.01 0.04 -0.00 | 0.32 0.33 0.01 | -1.20 -1.07 -0.08 | 1.02 1.27 0.08\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 37.07 | 146.26 | 1.46 | 2733.94\n",
+ "tracking_rewards | -43.44 | 37.19 | -311.63 | -4.27\n",
+ "steps | 355 | 160 | 6 | 601\n",
+ "***** Episode 54931, Mean R = -55.8 Std R = 44.3 Min R = -225.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.672\n",
+ "ExplainedVarOld: 0.332\n",
+ "KL: 0.00141\n",
+ "PolicyEntropy: 1.55\n",
+ "PolicyLoss: -0.0017\n",
+ "Steps: 4.43e+04\n",
+ "TotalSteps: 8.42e+06\n",
+ "ValFuncLoss: 0.006\n",
+ "Variance: 0.364\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00085984956 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.3629442 0.33644906 0.36381072 0.36322033]\n",
+ "FIT: 1.3200943096616335 3.1874915810559914 0.13332524918190125 0.15310753182858705\n",
+ "***** Episode 55052, Mean R = -56.3 Std R = 42.8 Min R = -227.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.898\n",
+ "ExplainedVarOld: 0.812\n",
+ "KL: 0.00086\n",
+ "PolicyEntropy: 1.55\n",
+ "PolicyLoss: -0.00168\n",
+ "Steps: 4.59e+04\n",
+ "TotalSteps: 8.47e+06\n",
+ "ValFuncLoss: 0.0011\n",
+ "Variance: 0.364\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009994956 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.36297145 0.33414024 0.36227444 0.3613516 ]\n",
+ "FIT: 1.8544234539708464 1.5537877424768796 0.13802615743543512 0.15217497445384603\n",
+ "***** Episode 55173, Mean R = -56.7 Std R = 41.7 Min R = -197.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.916\n",
+ "ExplainedVarOld: 0.838\n",
+ "KL: 0.000999\n",
+ "PolicyEntropy: 1.53\n",
+ "PolicyLoss: -0.00205\n",
+ "Steps: 4.4e+04\n",
+ "TotalSteps: 8.51e+06\n",
+ "ValFuncLoss: 0.00114\n",
+ "Variance: 0.363\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.001082279 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.3629969 0.3324403 0.35976216 0.3615742 ]\n",
+ "FIT: 5.258789955147385 2.1080349915508187 0.12985781977125335 0.14879897608932233\n",
+ "***** Episode 55294, Mean R = -53.7 Std R = 39.7 Min R = -206.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.848\n",
+ "ExplainedVarOld: 0.685\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: 1.52\n",
+ "PolicyLoss: -0.00188\n",
+ "Steps: 4.45e+04\n",
+ "TotalSteps: 8.56e+06\n",
+ "ValFuncLoss: 0.00261\n",
+ "Variance: 0.363\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013198645 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.3602284 0.33190358 0.35675937 0.35932752]\n",
+ "FIT: 5.226776490598823 1.7178803348550213 0.12489350615531145 0.14457005587871344\n",
+ "***** Episode 55415, Mean R = -49.6 Std R = 39.0 Min R = -220.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.69\n",
+ "ExplainedVarOld: 0.525\n",
+ "KL: 0.00132\n",
+ "PolicyEntropy: 1.5\n",
+ "PolicyLoss: -0.00173\n",
+ "Steps: 4.27e+04\n",
+ "TotalSteps: 8.6e+06\n",
+ "ValFuncLoss: 0.00559\n",
+ "Variance: 0.36\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0014361046 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.35934493 0.32893658 0.35554808 0.35841495]\n",
+ "FIT: 5.2115346373071 3.054231798470408 0.12598618322841695 0.1468299574760535\n",
+ "***** Episode 55536, Mean R = -52.2 Std R = 36.5 Min R = -174.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.575\n",
+ "ExplainedVarOld: 0.468\n",
+ "KL: 0.00144\n",
+ "PolicyEntropy: 1.48\n",
+ "PolicyLoss: -0.00163\n",
+ "Steps: 4.48e+04\n",
+ "TotalSteps: 8.65e+06\n",
+ "ValFuncLoss: 0.00701\n",
+ "Variance: 0.359\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010071164 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.35857108 0.3277552 0.35275292 0.35775337]\n",
+ "FIT: 5.243552717272985 3.1101175698984727 0.1326826910165293 0.15168444422279648\n",
+ "***** Episode 55657, Mean R = -58.1 Std R = 41.9 Min R = -261.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.736\n",
+ "ExplainedVarOld: 0.512\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: 1.46\n",
+ "PolicyLoss: -0.0014\n",
+ "Steps: 4.8e+04\n",
+ "TotalSteps: 8.69e+06\n",
+ "ValFuncLoss: 0.00466\n",
+ "Variance: 0.359\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.000984353 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.35830924 0.32664582 0.35198554 0.35486516]\n",
+ "FIT: 5.327786461607392 4.277142061650929 0.12299047381921828 0.14747415226205657\n",
+ "***** Episode 55778, Mean R = -53.1 Std R = 37.4 Min R = -194.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.635\n",
+ "ExplainedVarOld: 0.468\n",
+ "KL: 0.000984\n",
+ "PolicyEntropy: 1.45\n",
+ "PolicyLoss: -0.00186\n",
+ "Steps: 4.6e+04\n",
+ "TotalSteps: 8.74e+06\n",
+ "ValFuncLoss: 0.00579\n",
+ "Variance: 0.358\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011956783 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.35854766 0.32440627 0.35035616 0.3534011 ]\n",
+ "FIT: 0.6290742420933035 1.33795312237239 0.12205887727464998 0.14864483779188808\n",
+ "***** Episode 55899, Mean R = -51.5 Std R = 35.9 Min R = -163.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.906\n",
+ "ExplainedVarOld: 0.849\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: 1.44\n",
+ "PolicyLoss: -0.00166\n",
+ "Steps: 4.59e+04\n",
+ "TotalSteps: 8.79e+06\n",
+ "ValFuncLoss: 0.000738\n",
+ "Variance: 0.359\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011066122 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.35630077 0.32272467 0.3490555 0.35320106]\n",
+ "FIT: 1.332638951122599 2.553007428032956 0.11458838120267874 0.14390269814359316\n",
+ "***** Episode 56020, Mean R = -45.3 Std R = 30.3 Min R = -175.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.916\n",
+ "ExplainedVarOld: 0.58\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: 1.42\n",
+ "PolicyLoss: -0.00213\n",
+ "Steps: 4.17e+04\n",
+ "TotalSteps: 8.83e+06\n",
+ "ValFuncLoss: 0.000681\n",
+ "Variance: 0.356\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012786575 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.3576726 0.32175252 0.34843615 0.3519237 ]\n",
+ "FIT: 5.353427478958525 2.199063160996366 0.1291220998767583 0.15028013319862674\n",
+ "Update Cnt = 300 ET = 1315.0 Stats: Mean, Std, Min, Max\n",
+ "r_f | 12.3 0.9 19.7 | 48.5 45.2 115.1 | -169.0 -948.2 -0.7 | 1529.2 836.2 2297.1\n",
+ "v_f | -2.03 0.07 -5.32 | 4.35 2.74 6.53 | -59.66 -11.20 -82.66 | 13.83 18.37 15.66\n",
+ "r_i | 1028.4 -10.6 2348.5 | 569.6 593.0 29.3 | 2.6 -997.2 2300.0 | 1999.2 999.1 2399.8\n",
+ "v_i | -40.19 0.12 -79.93 | 17.50 17.56 5.84 | -69.98 -29.96 -89.99 | -10.00 29.99 -70.02\n",
+ "norm_rf | 37.4 | 129.6 | 0.5 | 2796.9\n",
+ "norm_vf | 8.36 | 5.62 | 1.03 | 103.59\n",
+ "gs_f | 2.2 | 3.4 | 0.0 | 55.5\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "thrust | 966 9 8490 | 2623 2421 2881 | -18309 -17272 604 | 19341 17374 19846\n",
+ "norm_thrust | 9155 | 3200 | 3464 | 20000\n",
+ "fuel | 329 | 108 | 5 | 556\n",
+ "rewards | -52.97 | 39.30 | -261.30 | -14.98\n",
+ "fuel_rewards | -8.48 | 2.78 | -14.34 | -0.13\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 0.91 | 0.68 | 0.01 | 3.45\n",
+ "norm_af | 0.32 | 0.20 | 0.01 | 1.85\n",
+ "norm_wf | 0.40 | 0.21 | 0.02 | 1.32\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -1.18 | 4.11 | -47.61 | 0.00\n",
+ "att_penalty | -0.66 | 8.10 | -100.00 | 0.00\n",
+ "attitude | -0.02 0.10 -0.00 | 0.38 0.26 0.25 | -2.08 -1.41 -1.42 | 1.92 1.36 1.47\n",
+ "w | -0.00 -0.01 0.00 | 0.37 0.36 0.01 | -2.17 -2.10 -0.10 | 2.15 1.60 0.07\n",
+ "a_f | 0.13 -0.02 | 0.25 0.25 | -1.41 -1.42 | 1.14 1.47\n",
+ "w_f | 0.00 0.02 0.00 | 0.32 0.32 0.01 | -1.17 -0.96 -0.10 | 0.95 1.15 0.07\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 33.05 | 129.43 | 0.51 | 2791.92\n",
+ "tracking_rewards | -42.65 | 34.52 | -222.66 | -3.13\n",
+ "steps | 370 | 164 | 5 | 601\n",
+ "***** Episode 56141, Mean R = -53.4 Std R = 44.4 Min R = -210.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.768\n",
+ "ExplainedVarOld: 0.56\n",
+ "KL: 0.00128\n",
+ "PolicyEntropy: 1.42\n",
+ "PolicyLoss: -0.0019\n",
+ "Steps: 4.41e+04\n",
+ "TotalSteps: 8.87e+06\n",
+ "ValFuncLoss: 0.00498\n",
+ "Variance: 0.358\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011555038 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.3579422 0.3203412 0.34919477 0.35142526]\n",
+ "FIT: 1.077940400048123 1.6246339655479856 0.12123487577211399 0.1470480414370996\n",
+ "***** Episode 56262, Mean R = -51.2 Std R = 36.8 Min R = -182.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.848\n",
+ "ExplainedVarOld: 0.313\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: 1.41\n",
+ "PolicyLoss: -0.00155\n",
+ "Steps: 4.58e+04\n",
+ "TotalSteps: 8.92e+06\n",
+ "ValFuncLoss: 0.00154\n",
+ "Variance: 0.358\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010225087 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.35808474 0.3181033 0.35099712 0.34930784]\n",
+ "FIT: 5.253449414644846 1.6426636082461628 0.1265378186268636 0.1480516995490553\n",
+ "***** Episode 56383, Mean R = -50.8 Std R = 40.7 Min R = -240.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.625\n",
+ "ExplainedVarOld: 0.287\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: 1.4\n",
+ "PolicyLoss: -0.00207\n",
+ "Steps: 4.3e+04\n",
+ "TotalSteps: 8.96e+06\n",
+ "ValFuncLoss: 0.0103\n",
+ "Variance: 0.358\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012965756 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.35801062 0.3174481 0.35409978 0.3483261 ]\n",
+ "FIT: 5.312172351124498 1.5599077694319283 0.11974564232155491 0.14625333233875745\n",
+ "***** Episode 56504, Mean R = -49.9 Std R = 35.6 Min R = -219.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.719\n",
+ "ExplainedVarOld: 0.424\n",
+ "KL: 0.0013\n",
+ "PolicyEntropy: 1.41\n",
+ "PolicyLoss: -0.00154\n",
+ "Steps: 4.4e+04\n",
+ "TotalSteps: 9e+06\n",
+ "ValFuncLoss: 0.00602\n",
+ "Variance: 0.358\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009599614 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.35725483 0.31641757 0.35512736 0.34888753]\n",
+ "FIT: 5.237774418673315 1.8727291130700705 0.124291834331058 0.14804769606225618\n",
+ "***** Episode 56625, Mean R = -50.3 Std R = 37.6 Min R = -219.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.862\n",
+ "ExplainedVarOld: 0.616\n",
+ "KL: 0.00096\n",
+ "PolicyEntropy: 1.41\n",
+ "PolicyLoss: -0.00165\n",
+ "Steps: 4.29e+04\n",
+ "TotalSteps: 9.05e+06\n",
+ "ValFuncLoss: 0.00269\n",
+ "Variance: 0.357\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009908001 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.35581723 0.3142086 0.3535501 0.3482188 ]\n",
+ "FIT: 1.2138697876868016 3.603377231313691 0.11984003165255909 0.14839065208164942\n",
+ "***** Episode 56746, Mean R = -52.1 Std R = 35.0 Min R = -176.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.883\n",
+ "ExplainedVarOld: 0.821\n",
+ "KL: 0.000991\n",
+ "PolicyEntropy: 1.39\n",
+ "PolicyLoss: -0.00175\n",
+ "Steps: 4.74e+04\n",
+ "TotalSteps: 9.09e+06\n",
+ "ValFuncLoss: 0.000968\n",
+ "Variance: 0.356\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012091339 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.35458 0.31462052 0.34973618 0.34749404]\n",
+ "FIT: 1.4046359848603032 1.2946382216962957 0.12627607345912145 0.15199466103876197\n",
+ "***** Episode 56867, Mean R = -53.6 Std R = 39.4 Min R = -221.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.891\n",
+ "ExplainedVarOld: -0.0261\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: 1.37\n",
+ "PolicyLoss: -0.00142\n",
+ "Steps: 4.64e+04\n",
+ "TotalSteps: 9.14e+06\n",
+ "ValFuncLoss: 0.00101\n",
+ "Variance: 0.355\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009215767 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.3525456 0.315116 0.3490348 0.34789294]\n",
+ "FIT: 5.240296351411168 4.954649503452665 0.12556395725445066 0.15184919588124615\n",
+ "***** Episode 56988, Mean R = -55.3 Std R = 40.2 Min R = -251.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.767\n",
+ "ExplainedVarOld: 0.481\n",
+ "KL: 0.000922\n",
+ "PolicyEntropy: 1.37\n",
+ "PolicyLoss: -0.00151\n",
+ "Steps: 4.8e+04\n",
+ "TotalSteps: 9.19e+06\n",
+ "ValFuncLoss: 0.00393\n",
+ "Variance: 0.353\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011127142 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.34912616 0.31745023 0.34891114 0.3472979 ]\n",
+ "FIT: 5.255158048884347 3.0892303651016424 0.12740548415205788 0.14886425393687702\n",
+ "***** Episode 57109, Mean R = -51.7 Std R = 43.0 Min R = -257.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.841\n",
+ "ExplainedVarOld: 0.671\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: 1.37\n",
+ "PolicyLoss: -0.00192\n",
+ "Steps: 4.37e+04\n",
+ "TotalSteps: 9.23e+06\n",
+ "ValFuncLoss: 0.00442\n",
+ "Variance: 0.349\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011263352 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.3476203 0.31765434 0.34866467 0.3490412 ]\n",
+ "FIT: 5.227795104617981 1.3669422102923385 0.13000541030977839 0.1549482038080608\n",
+ "***** Episode 57230, Mean R = -58.3 Std R = 37.0 Min R = -190.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.713\n",
+ "ExplainedVarOld: 0.433\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: 1.37\n",
+ "PolicyLoss: -0.0015\n",
+ "Steps: 4.84e+04\n",
+ "TotalSteps: 9.28e+06\n",
+ "ValFuncLoss: 0.00574\n",
+ "Variance: 0.349\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012407503 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.34681797 0.3182048 0.34876353 0.3486178 ]\n",
+ "FIT: 5.368935856372114 1.5181111141365284 0.12250635116191172 0.1502514405993336\n",
+ "Update Cnt = 310 ET = 1345.3 Stats: Mean, Std, Min, Max\n",
+ "r_f | 8.5 -0.4 26.1 | 63.4 51.9 154.5 | -534.6 -964.6 -0.7 | 1779.3 944.8 2297.4\n",
+ "v_f | -1.93 0.04 -4.92 | 5.01 2.97 7.20 | -65.39 -25.18 -90.99 | 15.54 23.86 43.94\n",
+ "r_i | 1014.8 -17.4 2349.4 | 585.7 565.7 29.1 | 3.1 -998.9 2300.2 | 1999.9 998.0 2399.9\n",
+ "v_i | -40.71 0.12 -79.72 | 17.36 17.32 5.71 | -69.96 -29.99 -89.99 | -10.01 29.98 -70.02\n",
+ "norm_rf | 41.5 | 172.1 | 0.7 | 2924.5\n",
+ "norm_vf | 8.03 | 7.02 | 0.56 | 111.10\n",
+ "gs_f | 2.2 | 4.2 | 0.0 | 110.1\n",
+ "thrust | 959 8 8451 | 2653 2407 2896 | -19188 -18133 697 | 18138 17019 19937\n",
+ "norm_thrust | 9125 | 3209 | 3464 | 20000\n",
+ "fuel | 336 | 111 | 6 | 560\n",
+ "rewards | -52.88 | 38.66 | -257.07 | -14.05\n",
+ "fuel_rewards | -8.66 | 2.85 | -14.44 | -0.18\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 0.87 | 0.69 | 0.01 | 3.67\n",
+ "norm_af | 0.33 | 0.22 | 0.01 | 1.81\n",
+ "norm_wf | 0.38 | 0.21 | 0.01 | 1.24\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -1.11 | 3.58 | -33.45 | 0.00\n",
+ "att_penalty | -1.16 | 10.69 | -100.00 | 0.00\n",
+ "attitude | -0.03 0.10 -0.00 | 0.39 0.26 0.26 | -2.40 -1.41 -1.40 | 2.49 1.41 1.39\n",
+ "w | 0.00 -0.01 -0.00 | 0.36 0.36 0.01 | -2.10 -1.94 -0.11 | 1.95 1.63 0.10\n",
+ "a_f | 0.14 -0.00 | 0.28 0.26 | -1.41 -1.40 | 1.41 1.39\n",
+ "w_f | 0.00 0.01 -0.00 | 0.30 0.32 0.01 | -1.01 -1.07 -0.10 | 1.18 1.08 0.06\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 37.18 | 171.96 | 0.48 | 2919.47\n",
+ "tracking_rewards | -41.95 | 32.61 | -228.14 | -3.93\n",
+ "steps | 379 | 167 | 7 | 601\n",
+ "***** Episode 57351, Mean R = -55.4 Std R = 39.7 Min R = -188.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.628\n",
+ "ExplainedVarOld: 0.327\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: 1.36\n",
+ "PolicyLoss: -0.00165\n",
+ "Steps: 4.91e+04\n",
+ "TotalSteps: 9.33e+06\n",
+ "ValFuncLoss: 0.00698\n",
+ "Variance: 0.349\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0009779382 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.3443811 0.31693447 0.34827068 0.34575865]\n",
+ "FIT: 1.554647714477724 2.0662248967863506 0.11789558235137759 0.1479557450637757\n",
+ "***** Episode 57472, Mean R = -48.9 Std R = 36.7 Min R = -178.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.857\n",
+ "ExplainedVarOld: 0.806\n",
+ "KL: 0.000978\n",
+ "PolicyEntropy: 1.34\n",
+ "PolicyLoss: -0.00208\n",
+ "Steps: 4.47e+04\n",
+ "TotalSteps: 9.38e+06\n",
+ "ValFuncLoss: 0.00135\n",
+ "Variance: 0.348\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0007265614 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.34244603 0.31636658 0.34821406 0.3457508 ]\n",
+ "FIT: 1.4317060506607837 5.392919446915495 0.11691448131296474 0.14756893706493276\n",
+ "***** Episode 57593, Mean R = -48.8 Std R = 38.2 Min R = -272.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.923\n",
+ "ExplainedVarOld: 0.824\n",
+ "KL: 0.000727\n",
+ "PolicyEntropy: 1.34\n",
+ "PolicyLoss: -0.00193\n",
+ "Steps: 4.53e+04\n",
+ "TotalSteps: 9.42e+06\n",
+ "ValFuncLoss: 0.000758\n",
+ "Variance: 0.348\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012838214 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.34170508 0.31681374 0.34829113 0.34857306]\n",
+ "FIT: 5.227545396481151 1.2902109570864482 0.12169106023250408 0.15000328105574406\n",
+ "***** Episode 57714, Mean R = -52.1 Std R = 39.4 Min R = -244.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.772\n",
+ "ExplainedVarOld: 0.568\n",
+ "KL: 0.00128\n",
+ "PolicyEntropy: 1.34\n",
+ "PolicyLoss: -0.00183\n",
+ "Steps: 4.59e+04\n",
+ "TotalSteps: 9.47e+06\n",
+ "ValFuncLoss: 0.00388\n",
+ "Variance: 0.349\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011539827 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.34086195 0.31679553 0.34752768 0.349151 ]\n",
+ "FIT: 5.384408334444219 1.5382355617886527 0.11565321715911596 0.1472393877646603\n",
+ "***** Episode 57835, Mean R = -49.5 Std R = 32.8 Min R = -181.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.611\n",
+ "ExplainedVarOld: 0.497\n",
+ "KL: 0.00115\n",
+ "PolicyEntropy: 1.34\n",
+ "PolicyLoss: -0.00142\n",
+ "Steps: 4.61e+04\n",
+ "TotalSteps: 9.51e+06\n",
+ "ValFuncLoss: 0.00551\n",
+ "Variance: 0.349\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0007965336 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.3403919 0.31463718 0.34574974 0.345591 ]\n",
+ "FIT: 1.3099547103655873 1.9812488853513737 0.1259807544764412 0.1538266676982391\n",
+ "***** Episode 57956, Mean R = -54.9 Std R = 41.4 Min R = -289.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.928\n",
+ "ExplainedVarOld: 0.85\n",
+ "KL: 0.000797\n",
+ "PolicyEntropy: 1.32\n",
+ "PolicyLoss: -0.00196\n",
+ "Steps: 4.71e+04\n",
+ "TotalSteps: 9.56e+06\n",
+ "ValFuncLoss: 0.000822\n",
+ "Variance: 0.346\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00128288 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.3416282 0.31333923 0.3442902 0.34588808]\n",
+ "FIT: 5.485140955112213 2.6574239991686133 0.1262793491548187 0.14781877031763452\n",
+ "***** Episode 58077, Mean R = -52.7 Std R = 50.8 Min R = -363.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.731\n",
+ "ExplainedVarOld: 0.35\n",
+ "KL: 0.00128\n",
+ "PolicyEntropy: 1.31\n",
+ "PolicyLoss: -0.00198\n",
+ "Steps: 4.56e+04\n",
+ "TotalSteps: 9.61e+06\n",
+ "ValFuncLoss: 0.0115\n",
+ "Variance: 0.346\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012619887 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.338925 0.31224158 0.3426056 0.3440798 ]\n",
+ "FIT: 1.2545479338259706 1.8410510146913683 0.10992356177243796 0.14563873956096454\n",
+ "***** Episode 58198, Mean R = -49.0 Std R = 31.0 Min R = -133.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.845\n",
+ "ExplainedVarOld: 0.761\n",
+ "KL: 0.00126\n",
+ "PolicyEntropy: 1.29\n",
+ "PolicyLoss: -0.00213\n",
+ "Steps: 4.84e+04\n",
+ "TotalSteps: 9.65e+06\n",
+ "ValFuncLoss: 0.00107\n",
+ "Variance: 0.344\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00069276476 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.33744642 0.3116955 0.3415645 0.34228206]\n",
+ "FIT: 1.505504940806429 1.637178991412182 0.11312326909456269 0.1473123227337113\n",
+ "***** Episode 58319, Mean R = -48.7 Std R = 30.2 Min R = -130.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.9\n",
+ "ExplainedVarOld: 0.633\n",
+ "KL: 0.000693\n",
+ "PolicyEntropy: 1.28\n",
+ "PolicyLoss: -0.00151\n",
+ "Steps: 4.63e+04\n",
+ "TotalSteps: 9.7e+06\n",
+ "ValFuncLoss: 0.000763\n",
+ "Variance: 0.342\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010270462 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.33521208 0.3101451 0.34123388 0.3416193 ]\n",
+ "FIT: 0.8532599415126499 10.87678836003294 0.10830292825659456 0.1465765794051552\n",
+ "***** Episode 58440, Mean R = -44.9 Std R = 30.4 Min R = -150.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.901\n",
+ "ExplainedVarOld: 0.843\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: 1.26\n",
+ "PolicyLoss: -0.00189\n",
+ "Steps: 4.42e+04\n",
+ "TotalSteps: 9.74e+06\n",
+ "ValFuncLoss: 0.000674\n",
+ "Variance: 0.342\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "*** ATT VIO TYPE CNT: [ 0. 3074. 13083.]\n",
+ "kl = 0.0014737331 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.3338301 0.31001875 0.33992913 0.34231296]\n",
+ "FIT: 5.266422941102364 8.274590545473174 0.11633254297466179 0.14842087337518495\n",
+ "Update Cnt = 320 ET = 1363.0 Stats: Mean, Std, Min, Max\n",
+ "r_f | 7.5 -0.4 13.8 | 17.8 10.0 31.0 | -88.4 -92.5 -0.7 | 60.3 55.0 583.8\n",
+ "v_f | -1.44 -0.01 -4.35 | 3.72 2.70 4.35 | -14.07 -8.58 -20.97 | 15.50 27.29 7.83\n",
+ "r_i | 992.2 12.9 2350.7 | 585.4 572.3 28.9 | 2.5 -998.8 2300.2 | 1996.6 989.6 2399.9\n",
+ "v_i | -40.40 -0.59 -79.66 | 17.09 17.43 5.75 | -69.98 -29.99 -89.99 | -10.06 29.95 -70.04\n",
+ "norm_rf | 27.5 | 29.5 | 0.5 | 591.3\n",
+ "norm_vf | 7.17 | 3.09 | 0.89 | 28.05\n",
+ "gs_f | 2.0 | 3.1 | 0.0 | 79.1\n",
+ "thrust | 957 23 8451 | 2679 2432 2888 | -18345 -17156 562 | 17237 18259 19984\n",
+ "norm_thrust | 9135 | 3213 | 3464 | 20000\n",
+ "fuel | 339 | 108 | 230 | 557\n",
+ "rewards | -50.13 | 37.17 | -363.07 | -13.98\n",
+ "fuel_rewards | -8.73 | 2.79 | -14.36 | -5.93\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 0.87 | 0.68 | 0.01 | 3.46\n",
+ "norm_af | 0.34 | 0.22 | 0.01 | 1.93\n",
+ "norm_wf | 0.38 | 0.23 | 0.02 | 1.53\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.97 | 3.91 | -38.44 | 0.00\n",
+ "att_penalty | -0.66 | 8.10 | -100.00 | 0.00\n",
+ "attitude | -0.04 0.10 -0.00 | 0.37 0.26 0.26 | -2.27 -1.27 -1.53 | 1.62 1.34 1.43\n",
+ "w | -0.00 -0.01 -0.00 | 0.36 0.36 0.01 | -1.79 -2.00 -0.09 | 1.80 1.83 0.09\n",
+ "a_f | 0.16 -0.01 | 0.25 0.26 | -1.27 -1.53 | 1.27 1.43\n",
+ "w_f | -0.00 0.01 0.00 | 0.31 0.32 0.01 | -1.49 -1.22 -0.07 | 1.05 1.17 0.09\n",
+ "landing_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "landing_margin | 23.04 | 29.12 | 0.89 | 586.32\n",
+ "tracking_rewards | -39.77 | 31.16 | -268.34 | -7.61\n",
+ "steps | 382 | 165 | 201 | 601\n",
+ "***** Episode 58561, Mean R = -51.7 Std R = 34.8 Min R = -193.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.566\n",
+ "ExplainedVarOld: 0.335\n",
+ "KL: 0.00147\n",
+ "PolicyEntropy: 1.26\n",
+ "PolicyLoss: -0.00145\n",
+ "Steps: 4.81e+04\n",
+ "TotalSteps: 9.79e+06\n",
+ "ValFuncLoss: 0.00871\n",
+ "Variance: 0.342\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011256167 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.33190888 0.30965188 0.33923578 0.34262177]\n",
+ "FIT: 0.9235283605315054 1.4802187779541622 0.10995935099674026 0.14681541760755104\n",
+ "***** Episode 58682, Mean R = -48.5 Std R = 31.8 Min R = -135.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.843\n",
+ "ExplainedVarOld: 0.786\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: 1.25\n",
+ "PolicyLoss: -0.0024\n",
+ "Steps: 4.79e+04\n",
+ "TotalSteps: 9.84e+06\n",
+ "ValFuncLoss: 0.00113\n",
+ "Variance: 0.343\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00091123395 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.32862797 0.3091112 0.34075388 0.34130645]\n",
+ "FIT: 0.9155579886518767 2.2848332814907004 0.10761421239697926 0.14555296940478374\n",
+ "***** Episode 58803, Mean R = -43.9 Std R = 30.7 Min R = -160.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.9\n",
+ "ExplainedVarOld: 0.61\n",
+ "KL: 0.000911\n",
+ "PolicyEntropy: 1.24\n",
+ "PolicyLoss: -0.00182\n",
+ "Steps: 4.34e+04\n",
+ "TotalSteps: 9.88e+06\n",
+ "ValFuncLoss: 0.000765\n",
+ "Variance: 0.341\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010371747 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.32765755 0.30894718 0.3388452 0.34003833]\n",
+ "FIT: 5.242996287803835 2.672494335571603 0.11177246937946349 0.14839919095100618\n",
+ "***** Episode 58924, Mean R = -49.9 Std R = 32.9 Min R = -191.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.629\n",
+ "ExplainedVarOld: 0.466\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: 1.22\n",
+ "PolicyLoss: -0.00141\n",
+ "Steps: 4.85e+04\n",
+ "TotalSteps: 9.93e+06\n",
+ "ValFuncLoss: 0.00467\n",
+ "Variance: 0.34\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010558036 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.32948372 0.307589 0.3379965 0.34116262]\n",
+ "FIT: 5.273378801066356 1.735731024123349 0.11001083732825377 0.14639820236993495\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 59045, Mean R = -46.6 Std R = 34.5 Min R = -207.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.728\n",
+ "ExplainedVarOld: 0.513\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: 1.23\n",
+ "PolicyLoss: -0.00144\n",
+ "Steps: 4.57e+04\n",
+ "TotalSteps: 9.98e+06\n",
+ "ValFuncLoss: 0.00357\n",
+ "Variance: 0.341\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013083923 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.3277362 0.30784693 0.33609006 0.3373773 ]\n",
+ "FIT: 5.29966346378847 1.5520760042137467 0.11949126656925389 0.1532171502954097\n",
+ "***** Episode 59166, Mean R = -51.8 Std R = 36.6 Min R = -197.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.83\n",
+ "ExplainedVarOld: 0.623\n",
+ "KL: 0.00131\n",
+ "PolicyEntropy: 1.21\n",
+ "PolicyLoss: -0.00188\n",
+ "Steps: 4.66e+04\n",
+ "TotalSteps: 1e+07\n",
+ "ValFuncLoss: 0.00257\n",
+ "Variance: 0.337\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0016113489 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.3252298 0.30738828 0.33438545 0.33685833]\n",
+ "FIT: 5.245462338570715 1.8084524559208874 0.11019327053135387 0.14629277906436633\n",
+ "***** Episode 59287, Mean R = -48.3 Std R = 34.1 Min R = -200.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.677\n",
+ "ExplainedVarOld: 0.357\n",
+ "KL: 0.00161\n",
+ "PolicyEntropy: 1.19\n",
+ "PolicyLoss: -0.00204\n",
+ "Steps: 4.73e+04\n",
+ "TotalSteps: 1.01e+07\n",
+ "ValFuncLoss: 0.00671\n",
+ "Variance: 0.337\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011517687 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.32433936 0.30790225 0.3325911 0.33543578]\n",
+ "FIT: 1.4559187093925432 1.5547274110054186 0.10065578144388011 0.1430797694827188\n",
+ "***** Episode 59408, Mean R = -41.1 Std R = 28.4 Min R = -129.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.78\n",
+ "ExplainedVarOld: 0.777\n",
+ "KL: 0.00115\n",
+ "PolicyEntropy: 1.18\n",
+ "PolicyLoss: -0.0023\n",
+ "Steps: 4.3e+04\n",
+ "TotalSteps: 1.01e+07\n",
+ "ValFuncLoss: 0.00145\n",
+ "Variance: 0.335\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011891372 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.32372263 0.30633265 0.3315634 0.33212468]\n",
+ "FIT: 1.1188855050885889 2.42316770864484 0.1079899151235046 0.1490653886389852\n",
+ "***** Episode 59529, Mean R = -45.5 Std R = 34.4 Min R = -183.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.801\n",
+ "ExplainedVarOld: -0.267\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: 1.16\n",
+ "PolicyLoss: -0.0016\n",
+ "Steps: 4.5e+04\n",
+ "TotalSteps: 1.02e+07\n",
+ "ValFuncLoss: 0.00152\n",
+ "Variance: 0.332\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0014768327 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.32039398 0.3039495 0.3285385 0.3286702 ]\n",
+ "FIT: 1.330284095850886 1.9704367069185809 0.10081473662991253 0.14312465530455604\n",
+ "***** Episode 59650, Mean R = -42.9 Std R = 31.1 Min R = -177.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.905\n",
+ "ExplainedVarOld: 0.812\n",
+ "KL: 0.00148\n",
+ "PolicyEntropy: 1.12\n",
+ "PolicyLoss: -0.00254\n",
+ "Steps: 4.53e+04\n",
+ "TotalSteps: 1.02e+07\n",
+ "ValFuncLoss: 0.000679\n",
+ "Variance: 0.329\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011431002 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.3199262 0.30335385 0.33021533 0.3268903 ]\n",
+ "FIT: 5.225961001562645 1.761246940852855 0.11241394887454893 0.15035915220518375\n",
+ "Update Cnt = 330 ET = 1363.3 Stats: Mean, Std, Min, Max\n",
+ "r_f | 4.8 -2.5 12.7 | 29.1 18.2 50.0 | -692.2 -507.5 -0.6 | 46.1 35.0 1385.1\n",
+ "v_f | -1.19 -0.07 -3.52 | 3.59 2.64 3.89 | -14.62 -29.64 -14.86 | 13.12 15.95 29.65\n",
+ "r_i | 976.6 1.8 2350.4 | 575.1 565.6 29.0 | 3.6 -998.9 2300.1 | 1998.4 998.8 2399.8\n",
+ "v_i | -39.93 0.17 -80.06 | 17.32 17.15 5.93 | -69.92 -29.88 -89.98 | -10.08 29.89 -70.01\n",
+ "norm_rf | 24.1 | 57.3 | 0.3 | 1629.4\n",
+ "norm_vf | 6.29 | 3.04 | 0.55 | 38.60\n",
+ "gs_f | 1.8 | 2.1 | 0.0 | 21.6\n",
+ "thrust | 947 3 8473 | 2725 2525 2877 | -18675 -16864 817 | 17326 16385 19974\n",
+ "norm_thrust | 9184 | 3229 | 3464 | 20000\n",
+ "fuel | 341 | 109 | 230 | 553\n",
+ "rewards | -47.01 | 33.10 | -207.86 | -5.97\n",
+ "fuel_rewards | -8.79 | 2.81 | -14.24 | -5.91\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 0.89 | 0.70 | 0.01 | 3.27\n",
+ "norm_af | 0.34 | 0.21 | 0.01 | 1.78\n",
+ "norm_wf | 0.38 | 0.22 | 0.02 | 1.99\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.90 | 3.16 | -39.78 | 0.00\n",
+ "att_penalty | -0.58 | 7.58 | -100.00 | 0.00\n",
+ "attitude | -0.03 0.10 -0.00 | 0.37 0.27 0.27 | -2.30 -1.32 -1.42 | 2.27 1.39 1.42\n",
+ "w | -0.00 -0.01 -0.00 | 0.36 0.35 0.01 | -1.93 -1.94 -0.08 | 1.99 1.71 0.09\n",
+ "a_f | 0.14 0.00 | 0.26 0.27 | -0.88 -1.42 | 1.39 1.42\n",
+ "w_f | -0.00 0.01 0.00 | 0.31 0.31 0.02 | -1.19 -1.09 -0.08 | 1.71 1.19 0.08\n",
+ "landing_rewards | 0.01 | 0.29 | 0.00 | 10.00\n",
+ "landing_margin | 19.79 | 57.11 | 0.37 | 1624.44\n",
+ "tracking_rewards | -36.75 | 27.71 | -173.37 | -7.11\n",
+ "steps | 382 | 165 | 207 | 601\n",
+ "***** Episode 59771, Mean R = -51.6 Std R = 34.0 Min R = -185.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.625\n",
+ "ExplainedVarOld: 0.364\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: 1.12\n",
+ "PolicyLoss: -0.00131\n",
+ "Steps: 5e+04\n",
+ "TotalSteps: 1.03e+07\n",
+ "ValFuncLoss: 0.00695\n",
+ "Variance: 0.33\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012921083 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.3177581 0.30208847 0.32870877 0.32542524]\n",
+ "FIT: 5.240365762063355 2.0993792609759496 0.10822320484591264 0.14892588349693905\n",
+ "***** Episode 59892, Mean R = -50.5 Std R = 32.2 Min R = -179.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.553\n",
+ "ExplainedVarOld: 0.358\n",
+ "KL: 0.00129\n",
+ "PolicyEntropy: 1.1\n",
+ "PolicyLoss: -0.00142\n",
+ "Steps: 5.08e+04\n",
+ "TotalSteps: 1.03e+07\n",
+ "ValFuncLoss: 0.00769\n",
+ "Variance: 0.329\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011612086 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.31569532 0.30109894 0.32762042 0.32133195]\n",
+ "FIT: 0.9295171815405284 1.5815119938180737 0.09935953080013353 0.14485348539232643\n",
+ "***** Episode 60013, Mean R = -43.5 Std R = 27.3 Min R = -138.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.8\n",
+ "ExplainedVarOld: 0.601\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: 1.07\n",
+ "PolicyLoss: -0.00183\n",
+ "Steps: 4.69e+04\n",
+ "TotalSteps: 1.04e+07\n",
+ "ValFuncLoss: 0.00117\n",
+ "Variance: 0.328\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00091599196 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.31569615 0.29955924 0.32481134 0.32117823]\n",
+ "FIT: 5.232012351838971 2.998936262121269 0.11309386135617525 0.15167431057321618\n",
+ "***** Episode 60134, Mean R = -51.8 Std R = 37.3 Min R = -212.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.684\n",
+ "ExplainedVarOld: 0.397\n",
+ "KL: 0.000916\n",
+ "PolicyEntropy: 1.06\n",
+ "PolicyLoss: -0.00174\n",
+ "Steps: 4.98e+04\n",
+ "TotalSteps: 1.04e+07\n",
+ "ValFuncLoss: 0.00494\n",
+ "Variance: 0.325\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011718726 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.31411365 0.2990331 0.3253157 0.32006523]\n",
+ "FIT: 5.236205831865683 2.8910471802410584 0.11087316402322862 0.14985580177929642\n",
+ "***** Episode 60255, Mean R = -50.6 Std R = 38.2 Min R = -294.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.621\n",
+ "ExplainedVarOld: 0.435\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: 1.05\n",
+ "PolicyLoss: -0.00179\n",
+ "Steps: 4.88e+04\n",
+ "TotalSteps: 1.05e+07\n",
+ "ValFuncLoss: 0.00689\n",
+ "Variance: 0.325\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012277148 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.31284314 0.30026218 0.3244819 0.32001975]\n",
+ "FIT: 5.223769281091153 1.3671734672268983 0.09747031763168466 0.14231361581717125\n",
+ "***** Episode 60376, Mean R = -41.8 Std R = 30.5 Min R = -168.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.677\n",
+ "ExplainedVarOld: 0.411\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: 1.05\n",
+ "PolicyLoss: -0.00148\n",
+ "Steps: 4.58e+04\n",
+ "TotalSteps: 1.05e+07\n",
+ "ValFuncLoss: 0.00435\n",
+ "Variance: 0.324\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009813578 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.31281123 0.2997559 0.3241523 0.32051277]\n",
+ "FIT: 5.232092383467932 1.6785685605778684 0.10350238197876728 0.14539885007049072\n",
+ "***** Episode 60497, Mean R = -46.2 Std R = 29.6 Min R = -178.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.664\n",
+ "ExplainedVarOld: 0.404\n",
+ "KL: 0.000981\n",
+ "PolicyEntropy: 1.04\n",
+ "PolicyLoss: -0.00161\n",
+ "Steps: 4.72e+04\n",
+ "TotalSteps: 1.05e+07\n",
+ "ValFuncLoss: 0.00632\n",
+ "Variance: 0.324\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009435931 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.30992103 0.29733443 0.3220655 0.31976736]\n",
+ "FIT: 5.220525726091508 2.4402754349494735 0.10705814433046784 0.1488911871235998\n",
+ "***** Episode 60618, Mean R = -49.2 Std R = 35.4 Min R = -236.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.903\n",
+ "ExplainedVarOld: 0.531\n",
+ "KL: 0.000944\n",
+ "PolicyEntropy: 1.02\n",
+ "PolicyLoss: -0.00203\n",
+ "Steps: 4.95e+04\n",
+ "TotalSteps: 1.06e+07\n",
+ "ValFuncLoss: 0.00148\n",
+ "Variance: 0.322\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0008799192 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.3091908 0.29612693 0.32128522 0.31965265]\n",
+ "FIT: 5.244222688470381 1.7740584963258768 0.10459755947794738 0.14530850252245045\n",
+ "***** Episode 60739, Mean R = -46.9 Std R = 31.6 Min R = -196.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.635\n",
+ "ExplainedVarOld: 0.332\n",
+ "KL: 0.00088\n",
+ "PolicyEntropy: 1.01\n",
+ "PolicyLoss: -0.00169\n",
+ "Steps: 4.81e+04\n",
+ "TotalSteps: 1.06e+07\n",
+ "ValFuncLoss: 0.00676\n",
+ "Variance: 0.321\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008031471 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.30696994 0.2943786 0.32072818 0.31908745]\n",
+ "FIT: 1.012344080271628 3.732771125590939 0.10065984043882714 0.1484290184372278\n",
+ "***** Episode 60860, Mean R = -47.3 Std R = 28.7 Min R = -132.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.816\n",
+ "ExplainedVarOld: 0.72\n",
+ "KL: 0.000803\n",
+ "PolicyEntropy: 0.992\n",
+ "PolicyLoss: -0.00168\n",
+ "Steps: 5.1e+04\n",
+ "TotalSteps: 1.07e+07\n",
+ "ValFuncLoss: 0.000986\n",
+ "Variance: 0.321\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010060596 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.30753106 0.2929501 0.31883863 0.3181259 ]\n",
+ "FIT: 5.299581470504245 1.5517247017589615 0.09538654844769817 0.1427761238683139\n",
+ "Update Cnt = 340 ET = 1423.0 Stats: Mean, Std, Min, Max\n",
+ "r_f | 5.9 -2.8 17.5 | 49.6 45.6 110.9 | -48.1 -903.5 -0.6 | 1565.5 919.7 2232.1\n",
+ "v_f | -1.06 -0.08 -3.01 | 4.29 2.94 5.09 | -64.36 -26.23 -81.23 | 12.56 24.53 6.03\n",
+ "r_i | 973.5 10.7 2350.5 | 577.5 584.5 28.9 | 0.1 -996.6 2300.0 | 1996.2 999.4 2399.9\n",
+ "v_i | -39.89 0.28 -79.98 | 17.39 17.08 5.87 | -69.98 -29.98 -89.98 | -10.08 29.96 -70.03\n",
+ "norm_rf | 27.5 | 128.2 | 0.4 | 2780.5\n",
+ "norm_vf | 5.92 | 5.30 | 0.77 | 105.26\n",
+ "gs_f | 1.7 | 2.6 | 0.0 | 58.4\n",
+ "thrust | 908 -1 8364 | 2752 2539 2876 | -19429 -17052 679 | 17709 17189 19989\n",
+ "norm_thrust | 9088 | 3238 | 3464 | 20000\n",
+ "fuel | 353 | 111 | 6 | 555\n",
+ "rewards | -46.95 | 32.32 | -294.70 | -9.29\n",
+ "fuel_rewards | -9.10 | 2.87 | -14.30 | -0.17\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 0.80 | 0.69 | 0.02 | 3.52\n",
+ "norm_af | 0.36 | 0.24 | 0.02 | 1.77\n",
+ "norm_wf | 0.38 | 0.21 | 0.01 | 1.51\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.94 | 3.18 | -42.23 | 0.00\n",
+ "att_penalty | -0.99 | 9.91 | -100.00 | 0.00\n",
+ "attitude | -0.01 0.09 0.00 | 0.35 0.27 0.27 | -2.22 -1.24 -1.43 | 1.92 1.40 1.41\n",
+ "w | 0.00 -0.01 -0.00 | 0.36 0.35 0.01 | -1.94 -2.03 -0.10 | 1.71 1.88 0.09\n",
+ "a_f | 0.12 0.04 | 0.29 0.30 | -0.98 -1.43 | 1.40 1.41\n",
+ "w_f | 0.02 0.00 0.00 | 0.31 0.31 0.02 | -1.22 -1.01 -0.08 | 1.18 1.19 0.09\n",
+ "landing_rewards | 0.01 | 0.29 | 0.00 | 10.00\n",
+ "landing_margin | 23.29 | 128.05 | 0.01 | 2775.53\n",
+ "tracking_rewards | -35.93 | 26.42 | -275.92 | -5.13\n",
+ "steps | 400 | 169 | 7 | 601\n",
+ "***** Episode 60981, Mean R = -41.8 Std R = 28.5 Min R = -153.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.847\n",
+ "ExplainedVarOld: 0.489\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: 0.98\n",
+ "PolicyLoss: -0.00191\n",
+ "Steps: 4.58e+04\n",
+ "TotalSteps: 1.07e+07\n",
+ "ValFuncLoss: 0.00141\n",
+ "Variance: 0.319\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011725528 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.3067187 0.29128307 0.31608325 0.31584823]\n",
+ "FIT: 0.5673850538256799 1.8372285085185376 0.09216955121426323 0.14222803334361211\n",
+ "***** Episode 61102, Mean R = -40.3 Std R = 25.9 Min R = -117.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.879\n",
+ "ExplainedVarOld: 0.786\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: 0.956\n",
+ "PolicyLoss: -0.0021\n",
+ "Steps: 4.66e+04\n",
+ "TotalSteps: 1.08e+07\n",
+ "ValFuncLoss: 0.000541\n",
+ "Variance: 0.316\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013031223 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.30409145 0.28990552 0.31532583 0.312206 ]\n",
+ "FIT: 0.7998805812934479 1.9880616014814276 0.09486553385085793 0.147267266029945\n",
+ "***** Episode 61223, Mean R = -47.6 Std R = 25.3 Min R = -105.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.852\n",
+ "ExplainedVarOld: 0.814\n",
+ "KL: 0.0013\n",
+ "PolicyEntropy: 0.929\n",
+ "PolicyLoss: -0.00193\n",
+ "Steps: 5.43e+04\n",
+ "TotalSteps: 1.08e+07\n",
+ "ValFuncLoss: 0.000678\n",
+ "Variance: 0.315\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012410717 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.3040681 0.29031554 0.31477132 0.31079063]\n",
+ "FIT: 5.23850287659349 1.9485103528785999 0.09628316034513607 0.14599744534436418\n",
+ "***** Episode 61344, Mean R = -45.3 Std R = 27.9 Min R = -181.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.487\n",
+ "ExplainedVarOld: 0.419\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: 0.924\n",
+ "PolicyLoss: -0.00157\n",
+ "Steps: 5.05e+04\n",
+ "TotalSteps: 1.09e+07\n",
+ "ValFuncLoss: 0.00602\n",
+ "Variance: 0.315\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010060489 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.30263808 0.28911465 0.31279975 0.30757898]\n",
+ "FIT: 0.9033699479298157 1.4984624548949148 0.09273105459407437 0.14323058411734968\n",
+ "***** Episode 61465, Mean R = -42.1 Std R = 22.7 Min R = -97.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.869\n",
+ "ExplainedVarOld: 0.721\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: 0.898\n",
+ "PolicyLoss: -0.00189\n",
+ "Steps: 4.84e+04\n",
+ "TotalSteps: 1.09e+07\n",
+ "ValFuncLoss: 0.000642\n",
+ "Variance: 0.313\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013470108 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.2985165 0.28609702 0.3119266 0.306016 ]\n",
+ "FIT: 0.9983937535267127 5.913586261146208 0.09677718342765228 0.1478094386513061\n",
+ "***** Episode 61586, Mean R = -46.5 Std R = 27.9 Min R = -160.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.884\n",
+ "ExplainedVarOld: 0.853\n",
+ "KL: 0.00135\n",
+ "PolicyEntropy: 0.866\n",
+ "PolicyLoss: -0.00254\n",
+ "Steps: 5.16e+04\n",
+ "TotalSteps: 1.1e+07\n",
+ "ValFuncLoss: 0.000679\n",
+ "Variance: 0.312\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011341518 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.29646575 0.28343642 0.3096937 0.30459994]\n",
+ "FIT: 1.3016076014600486 1.478560079273203 0.0955712553642175 0.1461090989687423\n",
+ "***** Episode 61707, Mean R = -45.7 Std R = 28.4 Min R = -192.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.888\n",
+ "ExplainedVarOld: 0.832\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: 0.838\n",
+ "PolicyLoss: -0.00221\n",
+ "Steps: 5.08e+04\n",
+ "TotalSteps: 1.1e+07\n",
+ "ValFuncLoss: 0.000789\n",
+ "Variance: 0.31\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.001344537 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.2949536 0.28238767 0.3085004 0.30564547]\n",
+ "FIT: 5.363967045878988 1.75130053469013 0.08731658683007636 0.13941884539307314\n",
+ "***** Episode 61828, Mean R = -39.1 Std R = 26.7 Min R = -170.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.532\n",
+ "ExplainedVarOld: 0.399\n",
+ "KL: 0.00134\n",
+ "PolicyEntropy: 0.829\n",
+ "PolicyLoss: -0.0016\n",
+ "Steps: 4.78e+04\n",
+ "TotalSteps: 1.11e+07\n",
+ "ValFuncLoss: 0.0056\n",
+ "Variance: 0.309\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010867207 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.29361993 0.28071716 0.30654675 0.3065567 ]\n",
+ "FIT: 5.31307929231981 2.1186355393819336 0.0926495606416352 0.14359746646024513\n",
+ "***** Episode 61949, Mean R = -42.1 Std R = 27.7 Min R = -163.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.596\n",
+ "ExplainedVarOld: 0.362\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: 0.815\n",
+ "PolicyLoss: -0.00149\n",
+ "Steps: 4.82e+04\n",
+ "TotalSteps: 1.11e+07\n",
+ "ValFuncLoss: 0.00507\n",
+ "Variance: 0.307\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012055595 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.29121885 0.2764187 0.30507818 0.30482373]\n",
+ "FIT: 0.7083906504089591 1.5482390937944392 0.0872175908143215 0.14305637909287308\n",
+ "***** Episode 62070, Mean R = -41.8 Std R = 22.4 Min R = -122.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: -0.0415\n",
+ "ExplainedVarOld: 0.733\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: 0.781\n",
+ "PolicyLoss: -0.00215\n",
+ "Steps: 5.11e+04\n",
+ "TotalSteps: 1.12e+07\n",
+ "ValFuncLoss: 0.00476\n",
+ "Variance: 0.305\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009946065 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.28963053 0.275096 0.30282545 0.30361104]\n",
+ "FIT: 0.8386440786339654 1.5305769736920902 0.08347214094792002 0.140813538445212\n",
+ "Update Cnt = 350 ET = 1463.5 Stats: Mean, Std, Min, Max\n",
+ "r_f | 4.4 -3.5 10.6 | 16.0 11.9 13.6 | -65.6 -107.1 -0.4 | 112.8 32.8 61.2\n",
+ "v_f | -0.67 0.09 -2.06 | 3.29 2.66 2.90 | -14.56 -8.72 -11.10 | 13.26 12.86 6.90\n",
+ "r_i | 981.8 6.1 2349.8 | 580.8 570.1 28.7 | 5.0 -1000.0 2300.3 | 1999.6 997.3 2399.9\n",
+ "v_i | -39.86 -0.63 -79.76 | 17.32 17.50 5.83 | -69.96 -29.82 -89.98 | -10.03 29.98 -70.00\n",
+ "norm_rf | 20.5 | 17.5 | 0.3 | 136.1\n",
+ "norm_vf | 4.93 | 2.59 | 0.18 | 18.01\n",
+ "gs_f | 1.8 | 3.3 | 0.0 | 71.8\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "thrust | 890 25 8328 | 2683 2513 2843 | -18280 -18250 754 | 17521 16613 19997\n",
+ "norm_thrust | 9017 | 3232 | 3464 | 20000\n",
+ "fuel | 360 | 108 | 235 | 550\n",
+ "rewards | -42.83 | 26.13 | -192.09 | -6.57\n",
+ "fuel_rewards | -9.29 | 2.79 | -14.17 | -6.05\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 0.76 | 0.70 | 0.02 | 5.49\n",
+ "norm_af | 0.33 | 0.22 | 0.01 | 1.84\n",
+ "norm_wf | 0.36 | 0.20 | 0.00 | 1.39\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.66 | 2.25 | -17.37 | 0.00\n",
+ "att_penalty | -0.25 | 4.97 | -100.00 | 0.00\n",
+ "attitude | -0.01 0.09 0.00 | 0.36 0.26 0.27 | -2.04 -1.22 -1.43 | 2.20 1.39 1.38\n",
+ "w | 0.00 -0.01 0.00 | 0.35 0.34 0.01 | -1.89 -2.00 -0.08 | 1.95 1.86 0.10\n",
+ "a_f | 0.08 0.01 | 0.27 0.28 | -0.98 -1.43 | 1.39 1.38\n",
+ "w_f | 0.01 -0.01 -0.00 | 0.30 0.28 0.02 | -1.20 -1.26 -0.08 | 1.12 1.30 0.09\n",
+ "landing_rewards | 0.01 | 0.29 | 0.00 | 10.00\n",
+ "landing_margin | 16.43 | 16.75 | 0.08 | 131.07\n",
+ "tracking_rewards | -32.65 | 22.17 | -168.60 | -6.28\n",
+ "steps | 411 | 167 | 213 | 601\n",
+ "***** Episode 62191, Mean R = -37.9 Std R = 23.6 Min R = -140.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.852\n",
+ "ExplainedVarOld: 0.607\n",
+ "KL: 0.000995\n",
+ "PolicyEntropy: 0.759\n",
+ "PolicyLoss: -0.00177\n",
+ "Steps: 4.84e+04\n",
+ "TotalSteps: 1.12e+07\n",
+ "ValFuncLoss: 0.000587\n",
+ "Variance: 0.304\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011039411 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.2890905 0.27283287 0.30031028 0.30196464]\n",
+ "FIT: 1.003208746972744 1.7220321391727462 0.08121454763818546 0.13761988713113923\n",
+ "***** Episode 62312, Mean R = -35.3 Std R = 21.9 Min R = -117.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.879\n",
+ "ExplainedVarOld: 0.423\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: 0.735\n",
+ "PolicyLoss: -0.00141\n",
+ "Steps: 4.53e+04\n",
+ "TotalSteps: 1.13e+07\n",
+ "ValFuncLoss: 0.000528\n",
+ "Variance: 0.302\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011241591 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.28734457 0.27060667 0.29900053 0.29948157]\n",
+ "FIT: 1.0494393367822652 1.792693094984195 0.080448857161441 0.13858521568820792\n",
+ "***** Episode 62433, Mean R = -35.4 Std R = 23.6 Min R = -142.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.922\n",
+ "ExplainedVarOld: 0.869\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: 0.709\n",
+ "PolicyLoss: -0.00241\n",
+ "Steps: 4.61e+04\n",
+ "TotalSteps: 1.13e+07\n",
+ "ValFuncLoss: 0.000371\n",
+ "Variance: 0.299\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012210225 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.28617927 0.26850656 0.29660165 0.29880428]\n",
+ "FIT: 0.7158933918013947 1.686439952653671 0.07965457418200841 0.13816508824178442\n",
+ "***** Episode 62554, Mean R = -35.9 Std R = 21.6 Min R = -117.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.908\n",
+ "ExplainedVarOld: 0.878\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: 0.686\n",
+ "PolicyLoss: -0.00241\n",
+ "Steps: 4.73e+04\n",
+ "TotalSteps: 1.14e+07\n",
+ "ValFuncLoss: 0.000436\n",
+ "Variance: 0.299\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011252528 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.28652352 0.2680471 0.29452986 0.29662824]\n",
+ "FIT: 0.6489698938188373 1.5791037432731316 0.07610012540346715 0.13775584539955987\n",
+ "***** Episode 62675, Mean R = -35.6 Std R = 19.0 Min R = -102.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.891\n",
+ "ExplainedVarOld: 0.854\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: 0.672\n",
+ "PolicyLoss: -0.0023\n",
+ "Steps: 4.9e+04\n",
+ "TotalSteps: 1.14e+07\n",
+ "ValFuncLoss: 0.000391\n",
+ "Variance: 0.297\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012359808 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.2858397 0.2658442 0.29050803 0.2948934 ]\n",
+ "FIT: 0.7099416487463367 1.6031009263282703 0.0761525493847315 0.13772395602249\n",
+ "***** Episode 62796, Mean R = -34.8 Std R = 20.0 Min R = -120.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.916\n",
+ "ExplainedVarOld: 0.89\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: 0.641\n",
+ "PolicyLoss: -0.0027\n",
+ "Steps: 4.74e+04\n",
+ "TotalSteps: 1.15e+07\n",
+ "ValFuncLoss: 0.000395\n",
+ "Variance: 0.295\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0014635237 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.2835128 0.26189196 0.29045105 0.2940362 ]\n",
+ "FIT: 0.9456126673618903 1.7716457424744023 0.07270372980969905 0.1345699832393426\n",
+ "***** Episode 62917, Mean R = -32.2 Std R = 17.7 Min R = -81.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.888\n",
+ "ExplainedVarOld: 0.856\n",
+ "KL: 0.00146\n",
+ "PolicyEntropy: 0.615\n",
+ "PolicyLoss: -0.00229\n",
+ "Steps: 4.53e+04\n",
+ "TotalSteps: 1.15e+07\n",
+ "ValFuncLoss: 0.000456\n",
+ "Variance: 0.294\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0015221409 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.28142482 0.26052696 0.28858534 0.29145625]\n",
+ "FIT: 0.967685860637993 1.9957472408983692 0.06973878739418553 0.1360430251818528\n",
+ "***** Episode 63038, Mean R = -32.7 Std R = 18.0 Min R = -117.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.919\n",
+ "ExplainedVarOld: 0.887\n",
+ "KL: 0.00152\n",
+ "PolicyEntropy: 0.587\n",
+ "PolicyLoss: -0.00294\n",
+ "Steps: 4.86e+04\n",
+ "TotalSteps: 1.16e+07\n",
+ "ValFuncLoss: 0.000302\n",
+ "Variance: 0.291\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.000994948 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.2790895 0.2591016 0.2878528 0.2898452]\n",
+ "FIT: 0.7118491331834749 1.9028379282002268 0.07149742887118464 0.13528933302786572\n",
+ "***** Episode 63159, Mean R = -31.1 Std R = 20.2 Min R = -127.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.917\n",
+ "ExplainedVarOld: 0.862\n",
+ "KL: 0.000995\n",
+ "PolicyEntropy: 0.565\n",
+ "PolicyLoss: -0.00197\n",
+ "Steps: 4.48e+04\n",
+ "TotalSteps: 1.16e+07\n",
+ "ValFuncLoss: 0.000337\n",
+ "Variance: 0.29\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0016552113 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.27721947 0.25656334 0.287415 0.28616107]\n",
+ "FIT: 0.7499178092911402 2.1579351859606333 0.07163043575848423 0.1381811785555134\n",
+ "***** Episode 63280, Mean R = -33.1 Std R = 18.7 Min R = -98.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.902\n",
+ "ExplainedVarOld: 0.88\n",
+ "KL: 0.00166\n",
+ "PolicyEntropy: 0.534\n",
+ "PolicyLoss: -0.00225\n",
+ "Steps: 4.78e+04\n",
+ "TotalSteps: 1.17e+07\n",
+ "ValFuncLoss: 0.000359\n",
+ "Variance: 0.287\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00096625584 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.27630958 0.25475252 0.2847894 0.28518745]\n",
+ "FIT: 0.730276353224967 1.804850515672131 0.06681977950024925 0.13350187007321346\n",
+ "Update Cnt = 360 ET = 1375.3 Stats: Mean, Std, Min, Max\n",
+ "r_f | 6.4 -7.1 6.0 | 18.2 21.9 11.3 | -60.4 -170.1 -0.4 | 120.9 31.3 75.2\n",
+ "v_f | -0.20 -0.30 -1.89 | 2.37 2.31 2.29 | -13.38 -13.48 -10.19 | 11.66 16.05 6.28\n",
+ "r_i | 1004.6 -19.3 2350.5 | 576.9 574.8 28.7 | 0.8 -999.2 2300.1 | 1998.9 999.6 2400.0\n",
+ "v_i | -39.84 0.58 -79.64 | 17.16 17.34 5.69 | -69.98 -29.99 -89.99 | -10.01 29.97 -70.00\n",
+ "norm_rf | 20.2 | 25.6 | 0.3 | 184.9\n",
+ "norm_vf | 3.78 | 2.37 | 0.44 | 17.89\n",
+ "gs_f | 2.4 | 7.0 | 0.0 | 161.9\n",
+ "thrust | 962 -13 8505 | 2631 2498 2801 | -18841 -16800 764 | 16901 16921 19946\n",
+ "norm_thrust | 9142 | 3268 | 3464 | 20000\n",
+ "fuel | 341 | 97 | 236 | 545\n",
+ "rewards | -33.48 | 19.96 | -142.08 | -4.17\n",
+ "fuel_rewards | -8.80 | 2.49 | -14.05 | -6.09\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 0.79 | 0.65 | 0.02 | 4.70\n",
+ "norm_af | 0.26 | 0.19 | 0.01 | 1.40\n",
+ "norm_wf | 0.35 | 0.20 | 0.01 | 1.17\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.31 | 1.56 | -26.14 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | -0.01 0.10 0.01 | 0.35 0.24 0.24 | -1.98 -1.13 -1.30 | 1.80 1.29 1.20\n",
+ "w | 0.00 -0.01 0.00 | 0.34 0.33 0.01 | -2.18 -1.89 -0.08 | 1.84 1.66 0.09\n",
+ "a_f | 0.09 0.01 | 0.20 0.24 | -0.73 -0.99 | 0.95 1.10\n",
+ "w_f | 0.01 -0.01 0.00 | 0.29 0.28 0.01 | -0.83 -0.87 -0.07 | 1.17 0.89 0.08\n",
+ "landing_rewards | 0.03 | 0.57 | 0.00 | 10.00\n",
+ "landing_margin | 16.31 | 24.96 | -0.06 | 179.89\n",
+ "tracking_rewards | -24.40 | 17.39 | -108.39 | -5.31\n",
+ "steps | 384 | 151 | 213 | 601\n",
+ "***** Episode 63401, Mean R = -28.8 Std R = 16.7 Min R = -88.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.947\n",
+ "ExplainedVarOld: 0.908\n",
+ "KL: 0.000966\n",
+ "PolicyEntropy: 0.511\n",
+ "PolicyLoss: -0.0027\n",
+ "Steps: 4.36e+04\n",
+ "TotalSteps: 1.17e+07\n",
+ "ValFuncLoss: 0.000178\n",
+ "Variance: 0.285\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0013403025 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.27319896 0.25326422 0.28220522 0.28474087]\n",
+ "FIT: 0.6983325613667012 3.7781804787077293 0.0655248557679029 0.13263285963925564\n",
+ "***** Episode 63522, Mean R = -28.7 Std R = 14.5 Min R = -80.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.927\n",
+ "ExplainedVarOld: 0.913\n",
+ "KL: 0.00134\n",
+ "PolicyEntropy: 0.484\n",
+ "PolicyLoss: -0.00222\n",
+ "Steps: 4.44e+04\n",
+ "TotalSteps: 1.17e+07\n",
+ "ValFuncLoss: 0.000243\n",
+ "Variance: 0.285\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010787802 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.27156532 0.25221404 0.28039917 0.28539652]\n",
+ "FIT: 5.222485068103739 3.161635203437582 0.07383520077323505 0.13699219467828663\n",
+ "***** Episode 63643, Mean R = -32.1 Std R = 23.5 Min R = -168.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.711\n",
+ "ExplainedVarOld: 0.562\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: 0.469\n",
+ "PolicyLoss: -0.00153\n",
+ "Steps: 4.4e+04\n",
+ "TotalSteps: 1.18e+07\n",
+ "ValFuncLoss: 0.00325\n",
+ "Variance: 0.285\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012693772 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.26963216 0.25057727 0.2798961 0.28309616]\n",
+ "FIT: 0.77077879786387 1.6981471227884284 0.06900470785823476 0.13471217457629966\n",
+ "***** Episode 63764, Mean R = -30.0 Std R = 18.6 Min R = -141.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.753\n",
+ "ExplainedVarOld: 0.897\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: 0.446\n",
+ "PolicyLoss: -0.00294\n",
+ "Steps: 4.43e+04\n",
+ "TotalSteps: 1.18e+07\n",
+ "ValFuncLoss: 0.000968\n",
+ "Variance: 0.283\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0016096561 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.26700547 0.24786837 0.2774586 0.2819789 ]\n",
+ "FIT: 0.9001935176588451 1.6469407147210202 0.06552000302504071 0.1311888526164869\n",
+ "***** Episode 63885, Mean R = -27.2 Std R = 15.5 Min R = -92.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.945\n",
+ "ExplainedVarOld: 0.887\n",
+ "KL: 0.00161\n",
+ "PolicyEntropy: 0.412\n",
+ "PolicyLoss: -0.00269\n",
+ "Steps: 4.13e+04\n",
+ "TotalSteps: 1.19e+07\n",
+ "ValFuncLoss: 0.000186\n",
+ "Variance: 0.282\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012350447 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.26571262 0.24609222 0.27676448 0.28077802]\n",
+ "FIT: 1.1104511143441458 3.356781738341785 0.0638809998210124 0.13081340781575265\n",
+ "***** Episode 64006, Mean R = -27.2 Std R = 13.9 Min R = -89.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.956\n",
+ "ExplainedVarOld: 0.919\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: 0.394\n",
+ "PolicyLoss: -0.00295\n",
+ "Steps: 4.18e+04\n",
+ "TotalSteps: 1.19e+07\n",
+ "ValFuncLoss: 0.000189\n",
+ "Variance: 0.281\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0014871242 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.265328 0.24595259 0.27672344 0.2784334 ]\n",
+ "FIT: 0.8492188824694097 1.3173274849916878 0.059692734185990366 0.12749936266786913\n",
+ "***** Episode 64127, Mean R = -24.5 Std R = 11.4 Min R = -68.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.96\n",
+ "ExplainedVarOld: 0.914\n",
+ "KL: 0.00149\n",
+ "PolicyEntropy: 0.383\n",
+ "PolicyLoss: -0.00313\n",
+ "Steps: 4.02e+04\n",
+ "TotalSteps: 1.2e+07\n",
+ "ValFuncLoss: 0.000104\n",
+ "Variance: 0.278\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013176156 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.26469693 0.24456804 0.27573085 0.27709025]\n",
+ "FIT: 0.780490710796098 1.7594237058926447 0.0571151561978658 0.12713210370172262\n",
+ "***** Episode 64248, Mean R = -24.5 Std R = 11.2 Min R = -66.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.964\n",
+ "ExplainedVarOld: 0.94\n",
+ "KL: 0.00132\n",
+ "PolicyEntropy: 0.367\n",
+ "PolicyLoss: -0.0031\n",
+ "Steps: 4.2e+04\n",
+ "TotalSteps: 1.2e+07\n",
+ "ValFuncLoss: 0.000128\n",
+ "Variance: 0.277\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013200064 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.26378542 0.24324156 0.27329147 0.27482986]\n",
+ "FIT: 0.7411193024247149 1.6925804511225833 0.06139326138932982 0.13202261707139457\n",
+ "***** Episode 64369, Mean R = -27.0 Std R = 14.1 Min R = -99.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.955\n",
+ "ExplainedVarOld: 0.906\n",
+ "KL: 0.00132\n",
+ "PolicyEntropy: 0.341\n",
+ "PolicyLoss: -0.00274\n",
+ "Steps: 4.33e+04\n",
+ "TotalSteps: 1.2e+07\n",
+ "ValFuncLoss: 0.000162\n",
+ "Variance: 0.275\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013590758 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.26362562 0.24080528 0.27139473 0.27253824]\n",
+ "FIT: 0.8452200828574559 2.2170403770866223 0.05846925403148544 0.12964670529508632\n",
+ "***** Episode 64490, Mean R = -25.8 Std R = 13.4 Min R = -74.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.929\n",
+ "ExplainedVarOld: 0.896\n",
+ "KL: 0.00136\n",
+ "PolicyEntropy: 0.315\n",
+ "PolicyLoss: -0.00261\n",
+ "Steps: 4.33e+04\n",
+ "TotalSteps: 1.21e+07\n",
+ "ValFuncLoss: 0.000235\n",
+ "Variance: 0.273\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013481271 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.26214567 0.24056588 0.27070603 0.27005175]\n",
+ "FIT: 0.881373983195222 1.8472519876056395 0.06332508334849998 0.13437655815506674\n",
+ "Update Cnt = 370 ET = 1261.4 Stats: Mean, Std, Min, Max\n",
+ "r_f | 6.4 -5.6 4.4 | 54.8 20.5 58.8 | -46.9 -159.1 -0.3 | 1855.2 32.7 2027.6\n",
+ "v_f | 0.35 -0.42 -1.69 | 1.87 2.04 2.81 | -31.41 -24.36 -82.02 | 6.65 18.35 6.51\n",
+ "r_i | 1012.1 28.2 2349.2 | 569.6 572.4 29.3 | 0.9 -999.8 2300.0 | 1999.9 999.8 2400.0\n",
+ "v_i | -39.91 0.13 -79.85 | 17.47 16.94 5.73 | -69.96 -29.83 -90.00 | -10.13 29.95 -70.01\n",
+ "norm_rf | 17.5 | 81.6 | 0.1 | 2752.1\n",
+ "norm_vf | 2.93 | 3.18 | 0.27 | 91.15\n",
+ "gs_f | 2.3 | 2.8 | 0.0 | 37.5\n",
+ "thrust | 1058 -8 8736 | 2686 2520 2744 | -18732 -17686 1642 | 16989 15983 19991\n",
+ "norm_thrust | 9363 | 3294 | 3464 | 20000\n",
+ "fuel | 322 | 80 | 33 | 537\n",
+ "rewards | -27.48 | 15.67 | -168.85 | -4.08\n",
+ "fuel_rewards | -8.30 | 2.05 | -13.84 | -0.86\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 0.84 | 0.58 | 0.03 | 2.97\n",
+ "norm_af | 0.21 | 0.16 | 0.01 | 1.60\n",
+ "norm_wf | 0.32 | 0.18 | 0.02 | 1.23\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.29 | 1.49 | -20.25 | 0.00\n",
+ "att_penalty | -0.08 | 2.87 | -100.00 | 0.00\n",
+ "attitude | -0.03 0.10 0.00 | 0.36 0.23 0.23 | -1.99 -1.02 -1.38 | 1.76 1.18 1.28\n",
+ "w | 0.00 -0.01 -0.00 | 0.33 0.33 0.01 | -2.15 -1.76 -0.12 | 2.38 1.80 0.06\n",
+ "a_f | 0.09 0.01 | 0.16 0.19 | -0.80 -1.38 | 0.75 0.84\n",
+ "w_f | 0.00 -0.03 -0.00 | 0.26 0.25 0.01 | -1.06 -1.01 -0.09 | 0.96 0.89 0.06\n",
+ "landing_rewards | 0.06 | 0.76 | 0.00 | 10.00\n",
+ "landing_margin | 14.02 | 81.37 | -0.07 | 2747.11\n",
+ "tracking_rewards | -18.85 | 13.40 | -140.04 | -4.34\n",
+ "steps | 354 | 128 | 19 | 601\n",
+ "***** Episode 64611, Mean R = -27.8 Std R = 15.0 Min R = -84.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.933\n",
+ "ExplainedVarOld: 0.902\n",
+ "KL: 0.00135\n",
+ "PolicyEntropy: 0.296\n",
+ "PolicyLoss: -0.00251\n",
+ "Steps: 4.39e+04\n",
+ "TotalSteps: 1.21e+07\n",
+ "ValFuncLoss: 0.000244\n",
+ "Variance: 0.271\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011140463 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.25976858 0.24006294 0.27053443 0.26887506]\n",
+ "FIT: 0.6917682480049119 1.6828381007226898 0.06411829504235814 0.13374230847804344\n",
+ "***** Episode 64732, Mean R = -27.4 Std R = 20.0 Min R = -195.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.972\n",
+ "ExplainedVarOld: 0.898\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: 0.28\n",
+ "PolicyLoss: -0.00254\n",
+ "Steps: 4.18e+04\n",
+ "TotalSteps: 1.22e+07\n",
+ "ValFuncLoss: 0.000139\n",
+ "Variance: 0.271\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013725065 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.25902018 0.2389638 0.2699077 0.26892263]\n",
+ "FIT: 5.220809497484971 1.5030378898454442 0.06671875381974486 0.1368906441982738\n",
+ "***** Episode 64853, Mean R = -29.2 Std R = 18.6 Min R = -123.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.667\n",
+ "ExplainedVarOld: 0.5\n",
+ "KL: 0.00137\n",
+ "PolicyEntropy: 0.27\n",
+ "PolicyLoss: -0.00179\n",
+ "Steps: 4.26e+04\n",
+ "TotalSteps: 1.22e+07\n",
+ "ValFuncLoss: 0.00303\n",
+ "Variance: 0.27\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011602329 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.25746313 0.23629172 0.26854533 0.26669312]\n",
+ "FIT: 0.6300542287345356 1.8018567944639445 0.05982334500955429 0.13302627480437068\n",
+ "***** Episode 64974, Mean R = -25.9 Std R = 14.5 Min R = -111.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.898\n",
+ "ExplainedVarOld: 0.914\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: 0.24\n",
+ "PolicyLoss: -0.0027\n",
+ "Steps: 4.29e+04\n",
+ "TotalSteps: 1.23e+07\n",
+ "ValFuncLoss: 0.000402\n",
+ "Variance: 0.269\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013125876 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.2556316 0.23580247 0.2679349 0.26577765]\n",
+ "FIT: 1.9908545315963724 1.9742641670473418 0.05985185936918043 0.13094132795245222\n",
+ "***** Episode 65095, Mean R = -25.4 Std R = 15.8 Min R = -138.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.924\n",
+ "ExplainedVarOld: 0.661\n",
+ "KL: 0.00131\n",
+ "PolicyEntropy: 0.225\n",
+ "PolicyLoss: -0.00239\n",
+ "Steps: 4.13e+04\n",
+ "TotalSteps: 1.23e+07\n",
+ "ValFuncLoss: 0.000354\n",
+ "Variance: 0.268\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0013427306 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.25402477 0.23447953 0.26747736 0.26612553]\n",
+ "FIT: 5.249962385411767 1.8091418995789026 0.05784209006108182 0.1333574032001802\n",
+ "***** Episode 65216, Mean R = -26.4 Std R = 14.6 Min R = -113.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.734\n",
+ "ExplainedVarOld: 0.632\n",
+ "KL: 0.00134\n",
+ "PolicyEntropy: 0.213\n",
+ "PolicyLoss: -0.00186\n",
+ "Steps: 4.45e+04\n",
+ "TotalSteps: 1.23e+07\n",
+ "ValFuncLoss: 0.00174\n",
+ "Variance: 0.267\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013931005 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.25268847 0.23448455 0.2661199 0.26457706]\n",
+ "FIT: 0.5863021333386068 1.5837839838768148 0.05418303140467798 0.1281993385895921\n",
+ "***** Episode 65337, Mean R = -23.1 Std R = 10.1 Min R = -56.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.939\n",
+ "ExplainedVarOld: 0.895\n",
+ "KL: 0.00139\n",
+ "PolicyEntropy: 0.196\n",
+ "PolicyLoss: -0.00268\n",
+ "Steps: 4.14e+04\n",
+ "TotalSteps: 1.24e+07\n",
+ "ValFuncLoss: 0.000151\n",
+ "Variance: 0.266\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012344611 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.25249463 0.23359002 0.26602212 0.26431867]\n",
+ "FIT: 5.2232337672943565 1.6399254779227606 0.057225639260469065 0.13011495274033424\n",
+ "***** Episode 65458, Mean R = -24.4 Std R = 15.4 Min R = -137.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.944\n",
+ "ExplainedVarOld: 0.758\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: 0.19\n",
+ "PolicyLoss: -0.00161\n",
+ "Steps: 4.08e+04\n",
+ "TotalSteps: 1.24e+07\n",
+ "ValFuncLoss: 0.000647\n",
+ "Variance: 0.266\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011788472 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.2511576 0.2320158 0.2651344 0.2634124]\n",
+ "FIT: 0.6270561523057914 1.413283418943567 0.05292879510903372 0.125650816510085\n",
+ "***** Episode 65579, Mean R = -21.4 Std R = 10.9 Min R = -80.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.942\n",
+ "ExplainedVarOld: 0.671\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: 0.172\n",
+ "PolicyLoss: -0.00177\n",
+ "Steps: 3.83e+04\n",
+ "TotalSteps: 1.25e+07\n",
+ "ValFuncLoss: 0.000176\n",
+ "Variance: 0.265\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010300963 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.24961884 0.23067766 0.26235268 0.262011 ]\n",
+ "FIT: 0.5856038878033367 1.4971087942537138 0.05281615254228805 0.1278391979459422\n",
+ "***** Episode 65700, Mean R = -22.1 Std R = 11.6 Min R = -84.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.969\n",
+ "ExplainedVarOld: 0.928\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: 0.144\n",
+ "PolicyLoss: -0.00288\n",
+ "Steps: 3.99e+04\n",
+ "TotalSteps: 1.25e+07\n",
+ "ValFuncLoss: 9.11e-05\n",
+ "Variance: 0.262\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.001173292 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.24844843 0.22943226 0.25990131 0.2613792 ]\n",
+ "FIT: 0.622076427267264 1.327691071566136 0.05282302548597699 0.12917803242310996\n",
+ "Update Cnt = 380 ET = 1219.6 Stats: Mean, Std, Min, Max\n",
+ "r_f | 8.1 -6.0 7.1 | 84.1 35.1 106.3 | -88.6 -758.5 -0.2 | 1833.5 34.2 2279.6\n",
+ "v_f | 0.55 -0.43 -1.69 | 1.81 1.84 4.07 | -34.54 -24.30 -84.35 | 7.00 16.22 14.51\n",
+ "r_i | 1003.4 2.3 2349.7 | 575.4 578.4 29.2 | 0.5 -999.4 2300.1 | 1999.3 998.9 2400.0\n",
+ "v_i | -39.93 1.01 -80.07 | 17.51 17.59 5.64 | -69.98 -29.97 -89.99 | -10.04 29.98 -70.01\n",
+ "norm_rf | 19.6 | 139.2 | 0.1 | 2983.5\n",
+ "norm_vf | 2.65 | 4.43 | 0.38 | 94.26\n",
+ "gs_f | 2.8 | 4.0 | 0.1 | 58.1\n",
+ "thrust | 1097 -32 8828 | 2719 2662 2700 | -18803 -17372 1171 | 16932 17133 19982\n",
+ "norm_thrust | 9477 | 3329 | 3464 | 20000\n",
+ "fuel | 316 | 72 | 9 | 548\n",
+ "rewards | -24.78 | 14.89 | -195.47 | -3.02\n",
+ "fuel_rewards | -8.14 | 1.85 | -14.11 | -0.28\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 0.86 | 0.56 | 0.02 | 3.86\n",
+ "norm_af | 0.18 | 0.15 | 0.00 | 1.62\n",
+ "norm_wf | 0.32 | 0.19 | 0.00 | 1.89\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.21 | 1.87 | -51.15 | 0.00\n",
+ "att_penalty | -0.25 | 4.97 | -100.00 | 0.00\n",
+ "attitude | -0.01 0.11 0.00 | 0.39 0.22 0.23 | -2.20 -1.02 -1.43 | 1.80 1.11 1.33\n",
+ "w | 0.00 -0.01 0.00 | 0.32 0.33 0.01 | -2.54 -1.83 -0.10 | 1.84 1.79 0.10\n",
+ "a_f | 0.05 0.03 | 0.15 0.17 | -0.88 -1.43 | 0.90 0.99\n",
+ "w_f | -0.00 -0.02 0.00 | 0.27 0.26 0.01 | -1.63 -1.05 -0.09 | 0.92 0.94 0.10\n",
+ "landing_rewards | 0.19 | 1.37 | 0.00 | 10.00\n",
+ "landing_margin | 16.46 | 138.96 | -0.08 | 2978.49\n",
+ "tracking_rewards | -16.37 | 12.12 | -171.20 | -3.04\n",
+ "steps | 343 | 114 | 7 | 601\n",
+ "***** Episode 65821, Mean R = -22.5 Std R = 12.1 Min R = -69.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.966\n",
+ "ExplainedVarOld: 0.932\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: 0.122\n",
+ "PolicyLoss: -0.00249\n",
+ "Steps: 4.13e+04\n",
+ "TotalSteps: 1.25e+07\n",
+ "ValFuncLoss: 8.85e-05\n",
+ "Variance: 0.261\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010114429 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.24736373 0.2272867 0.25889304 0.2609037 ]\n",
+ "FIT: 1.331780438895302 2.0355119186360278 0.05829369845740687 0.13259323193595923\n",
+ "***** Episode 65942, Mean R = -25.2 Std R = 18.6 Min R = -157.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.964\n",
+ "ExplainedVarOld: 0.624\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: 0.102\n",
+ "PolicyLoss: -0.00211\n",
+ "Steps: 4.23e+04\n",
+ "TotalSteps: 1.26e+07\n",
+ "ValFuncLoss: 0.000192\n",
+ "Variance: 0.261\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0017331132 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.24492833 0.22517978 0.25786096 0.25982875]\n",
+ "FIT: 1.0717079491253079 1.7265885196456572 0.05153343540766345 0.12513414686642757\n",
+ "***** Episode 66063, Mean R = -21.3 Std R = 9.1 Min R = -54.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.964\n",
+ "ExplainedVarOld: 0.885\n",
+ "KL: 0.00173\n",
+ "PolicyEntropy: 0.075\n",
+ "PolicyLoss: -0.00278\n",
+ "Steps: 3.84e+04\n",
+ "TotalSteps: 1.26e+07\n",
+ "ValFuncLoss: 0.000115\n",
+ "Variance: 0.26\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013564432 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.2430972 0.22460906 0.2560204 0.25808373]\n",
+ "FIT: 1.1329743028812833 1.8875967504334075 0.0518780056697181 0.12911317109838824\n",
+ "***** Episode 66184, Mean R = -22.5 Std R = 11.3 Min R = -60.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.939\n",
+ "ExplainedVarOld: 0.903\n",
+ "KL: 0.00136\n",
+ "PolicyEntropy: 0.0511\n",
+ "PolicyLoss: -0.00311\n",
+ "Steps: 4.17e+04\n",
+ "TotalSteps: 1.27e+07\n",
+ "ValFuncLoss: 0.000165\n",
+ "Variance: 0.258\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012290792 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.24296732 0.22322264 0.25400388 0.25654843]\n",
+ "FIT: 1.389302446294506 1.6061714963315512 0.04696759286746862 0.12354209335503372\n",
+ "***** Episode 66305, Mean R = -19.5 Std R = 10.6 Min R = -66.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.967\n",
+ "ExplainedVarOld: 0.931\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: 0.0305\n",
+ "PolicyLoss: -0.00289\n",
+ "Steps: 3.94e+04\n",
+ "TotalSteps: 1.27e+07\n",
+ "ValFuncLoss: 9.12e-05\n",
+ "Variance: 0.257\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011546079 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.24202421 0.2215813 0.25355625 0.25445268]\n",
+ "FIT: 0.6380138540865801 1.630008660422186 0.055800220489719256 0.13133125373645774\n",
+ "***** Episode 66426, Mean R = -23.4 Std R = 13.5 Min R = -118.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.97\n",
+ "ExplainedVarOld: 0.872\n",
+ "KL: 0.00115\n",
+ "PolicyEntropy: 0.00926\n",
+ "PolicyLoss: -0.00312\n",
+ "Steps: 4.01e+04\n",
+ "TotalSteps: 1.27e+07\n",
+ "ValFuncLoss: 0.000103\n",
+ "Variance: 0.254\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010060689 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.23964594 0.21960013 0.25283885 0.25347218]\n",
+ "FIT: 1.6956019934389417 1.8487673030059462 0.051319401507628176 0.12716198722193678\n",
+ "***** Episode 66547, Mean R = -21.8 Std R = 12.7 Min R = -100.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.968\n",
+ "ExplainedVarOld: 0.902\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -0.0163\n",
+ "PolicyLoss: -0.00258\n",
+ "Steps: 4.01e+04\n",
+ "TotalSteps: 1.28e+07\n",
+ "ValFuncLoss: 0.000147\n",
+ "Variance: 0.253\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012628516 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.2393101 0.21947317 0.251854 0.25254667]\n",
+ "FIT: 0.5895534162924376 1.4370305766377365 0.050937404474101354 0.1293490057228998\n",
+ "***** Episode 66668, Mean R = -22.3 Std R = 10.8 Min R = -67.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.97\n",
+ "ExplainedVarOld: 0.913\n",
+ "KL: 0.00126\n",
+ "PolicyEntropy: -0.0258\n",
+ "PolicyLoss: -0.00277\n",
+ "Steps: 4.15e+04\n",
+ "TotalSteps: 1.28e+07\n",
+ "ValFuncLoss: 8.19e-05\n",
+ "Variance: 0.253\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0015851546 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.23980916 0.21831991 0.25087368 0.25168338]\n",
+ "FIT: 0.5524499496648047 1.4927198954401253 0.050291369538728564 0.12633309063252846\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 66789, Mean R = -20.7 Std R = 9.4 Min R = -61.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.908\n",
+ "KL: 0.00159\n",
+ "PolicyEntropy: -0.0363\n",
+ "PolicyLoss: -0.00249\n",
+ "Steps: 3.81e+04\n",
+ "TotalSteps: 1.29e+07\n",
+ "ValFuncLoss: 6.45e-05\n",
+ "Variance: 0.252\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011365691 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.23965202 0.21673222 0.2500005 0.2504835 ]\n",
+ "FIT: 0.6728801428609903 1.8684166751487976 0.04933658205127617 0.12679326548022307\n",
+ "***** Episode 66910, Mean R = -21.1 Std R = 10.5 Min R = -78.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.969\n",
+ "ExplainedVarOld: 0.951\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -0.0526\n",
+ "PolicyLoss: -0.0023\n",
+ "Steps: 4.05e+04\n",
+ "TotalSteps: 1.29e+07\n",
+ "ValFuncLoss: 8.9e-05\n",
+ "Variance: 0.25\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.001497649 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.23872155 0.21654195 0.24926068 0.25026467]\n",
+ "FIT: 1.121953680657602 1.5180599004426352 0.05286940016085909 0.12997008099212967\n",
+ "Update Cnt = 390 ET = 1183.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | 1.4 -3.4 1.2 | 8.2 17.9 5.9 | -89.7 -132.2 -0.2 | 44.8 40.9 88.5\n",
+ "v_f | 0.64 -0.32 -1.46 | 1.05 1.52 0.93 | -10.23 -9.88 -5.53 | 7.17 17.73 5.23\n",
+ "r_i | 1002.3 18.4 2350.8 | 572.6 572.5 28.8 | 4.4 -997.5 2300.2 | 1999.8 999.9 2399.8\n",
+ "v_i | -40.09 -0.61 -79.95 | 17.86 17.32 5.85 | -69.98 -29.98 -89.97 | -10.03 29.97 -70.00\n",
+ "norm_rf | 10.4 | 18.1 | 0.1 | 134.5\n",
+ "norm_vf | 2.22 | 1.41 | 0.45 | 18.03\n",
+ "gs_f | 2.9 | 4.0 | 0.0 | 74.9\n",
+ "thrust | 1140 17 8936 | 2774 2696 2644 | -19245 -16392 1756 | 17021 17153 19996\n",
+ "norm_thrust | 9594 | 3325 | 3464 | 20000\n",
+ "fuel | 310 | 64 | 249 | 524\n",
+ "rewards | -22.02 | 12.40 | -157.34 | -1.09\n",
+ "fuel_rewards | -7.99 | 1.65 | -13.50 | -6.43\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 0.93 | 0.51 | 0.03 | 2.82\n",
+ "norm_af | 0.16 | 0.12 | 0.01 | 1.34\n",
+ "norm_wf | 0.31 | 0.17 | 0.02 | 0.96\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.31 | 2.17 | -36.90 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.11 0.00 | 0.39 0.22 0.22 | -2.53 -1.26 -1.35 | 1.90 1.19 1.25\n",
+ "w | 0.00 -0.01 0.00 | 0.31 0.32 0.01 | -2.24 -1.99 -0.14 | 2.07 1.68 0.20\n",
+ "a_f | 0.04 0.03 | 0.13 0.14 | -0.60 -1.07 | 0.81 0.82\n",
+ "w_f | 0.00 -0.03 -0.00 | 0.25 0.26 0.01 | -0.89 -0.82 -0.11 | 0.80 0.92 0.20\n",
+ "landing_rewards | 0.20 | 1.39 | 0.00 | 10.00\n",
+ "landing_margin | 7.86 | 17.25 | -0.12 | 129.48\n",
+ "tracking_rewards | -13.92 | 10.26 | -128.93 | -2.97\n",
+ "steps | 332 | 101 | 225 | 601\n",
+ "***** Episode 67031, Mean R = -22.3 Std R = 13.8 Min R = -82.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.965\n",
+ "ExplainedVarOld: 0.822\n",
+ "KL: 0.0015\n",
+ "PolicyEntropy: -0.0612\n",
+ "PolicyLoss: -0.00332\n",
+ "Steps: 4.01e+04\n",
+ "TotalSteps: 1.29e+07\n",
+ "ValFuncLoss: 0.000136\n",
+ "Variance: 0.25\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012403342 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.23744449 0.21582365 0.24558826 0.24838778]\n",
+ "FIT: 0.6882554154124098 1.5516860959284193 0.048650862480659064 0.1276831112679017\n",
+ "***** Episode 67152, Mean R = -20.9 Std R = 9.0 Min R = -56.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.975\n",
+ "ExplainedVarOld: 0.945\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -0.0922\n",
+ "PolicyLoss: -0.00277\n",
+ "Steps: 4.01e+04\n",
+ "TotalSteps: 1.3e+07\n",
+ "ValFuncLoss: 7.28e-05\n",
+ "Variance: 0.248\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0016481765 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.23802036 0.21437557 0.24399433 0.24811786]\n",
+ "FIT: 5.222539177556797 1.966496191743525 0.04964741103853909 0.12421734618361661\n",
+ "***** Episode 67273, Mean R = -21.3 Std R = 17.8 Min R = -172.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.647\n",
+ "ExplainedVarOld: 0.416\n",
+ "KL: 0.00165\n",
+ "PolicyEntropy: -0.104\n",
+ "PolicyLoss: -0.00239\n",
+ "Steps: 4.02e+04\n",
+ "TotalSteps: 1.3e+07\n",
+ "ValFuncLoss: 0.00545\n",
+ "Variance: 0.248\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013063364 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.23683588 0.21294384 0.24209024 0.24707633]\n",
+ "FIT: 0.9580175880259371 1.5626905366330361 0.04625251903111889 0.12387591510070776\n",
+ "***** Episode 67394, Mean R = -19.5 Std R = 8.6 Min R = -57.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.935\n",
+ "ExplainedVarOld: 0.939\n",
+ "KL: 0.00131\n",
+ "PolicyEntropy: -0.128\n",
+ "PolicyLoss: -0.00252\n",
+ "Steps: 3.88e+04\n",
+ "TotalSteps: 1.31e+07\n",
+ "ValFuncLoss: 0.000201\n",
+ "Variance: 0.247\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0015988534 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.23531634 0.21241066 0.24182087 0.2464573 ]\n",
+ "FIT: 0.8662913038173172 1.819374306098794 0.04454956222313789 0.12313096704165141\n",
+ "***** Episode 67515, Mean R = -19.3 Std R = 8.3 Min R = -47.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.953\n",
+ "ExplainedVarOld: 0.919\n",
+ "KL: 0.0016\n",
+ "PolicyEntropy: -0.14\n",
+ "PolicyLoss: -0.00238\n",
+ "Steps: 4.02e+04\n",
+ "TotalSteps: 1.31e+07\n",
+ "ValFuncLoss: 0.000124\n",
+ "Variance: 0.246\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010348648 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.23467033 0.21013501 0.24107206 0.24392909]\n",
+ "FIT: 0.7152742376458507 1.4985282330442744 0.0478997184570872 0.12559535522811574\n",
+ "***** Episode 67636, Mean R = -20.4 Std R = 10.5 Min R = -68.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.974\n",
+ "ExplainedVarOld: 0.947\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -0.167\n",
+ "PolicyLoss: -0.00281\n",
+ "Steps: 3.97e+04\n",
+ "TotalSteps: 1.31e+07\n",
+ "ValFuncLoss: 8.45e-05\n",
+ "Variance: 0.244\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011668591 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.23193876 0.2091276 0.24008377 0.24367368]\n",
+ "FIT: 0.7114314332498449 1.907622742634755 0.04757617544308326 0.12615433054956335\n",
+ "***** Episode 67757, Mean R = -20.2 Std R = 10.1 Min R = -58.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.968\n",
+ "ExplainedVarOld: 0.939\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -0.189\n",
+ "PolicyLoss: -0.00299\n",
+ "Steps: 3.95e+04\n",
+ "TotalSteps: 1.32e+07\n",
+ "ValFuncLoss: 9.73e-05\n",
+ "Variance: 0.244\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.001366012 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.23037519 0.20878197 0.23905236 0.24162437]\n",
+ "FIT: 0.5124471133064058 1.6159919770494968 0.046066433216734995 0.12532901621701548\n",
+ "***** Episode 67878, Mean R = -19.3 Std R = 11.3 Min R = -74.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.966\n",
+ "ExplainedVarOld: 0.917\n",
+ "KL: 0.00137\n",
+ "PolicyEntropy: -0.21\n",
+ "PolicyLoss: -0.00285\n",
+ "Steps: 3.93e+04\n",
+ "TotalSteps: 1.32e+07\n",
+ "ValFuncLoss: 8.71e-05\n",
+ "Variance: 0.242\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010393112 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.23104127 0.2067531 0.2387098 0.24021307]\n",
+ "FIT: 0.5562650579860906 1.397540589803245 0.04523477087828393 0.12361145105165691\n",
+ "***** Episode 67999, Mean R = -18.7 Std R = 8.7 Min R = -51.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.974\n",
+ "ExplainedVarOld: 0.957\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -0.224\n",
+ "PolicyLoss: -0.00306\n",
+ "Steps: 3.84e+04\n",
+ "TotalSteps: 1.33e+07\n",
+ "ValFuncLoss: 6.56e-05\n",
+ "Variance: 0.24\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.001201383 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.23026687 0.20442808 0.2383497 0.23879316]\n",
+ "FIT: 0.6458065483559084 1.623707809083862 0.044279150363096015 0.1255876582152245\n",
+ "***** Episode 68120, Mean R = -19.0 Std R = 8.4 Min R = -49.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.968\n",
+ "ExplainedVarOld: 0.945\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: -0.246\n",
+ "PolicyLoss: -0.00267\n",
+ "Steps: 3.96e+04\n",
+ "TotalSteps: 1.33e+07\n",
+ "ValFuncLoss: 8.06e-05\n",
+ "Variance: 0.239\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013990416 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.22986121 0.20287162 0.23775357 0.23771414]\n",
+ "FIT: 0.7464884444693496 1.6896147946092008 0.04523928422692076 0.12612036178417882\n",
+ "Update Cnt = 400 ET = 1159.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | 2.1 -4.3 2.4 | 46.3 29.4 50.7 | -57.3 -822.3 -0.1 | 1594.3 43.5 1757.7\n",
+ "v_f | 0.52 -0.39 -1.49 | 2.14 1.30 2.43 | -67.80 -8.06 -80.30 | 8.04 14.77 6.24\n",
+ "r_i | 1000.7 2.6 2350.8 | 583.7 575.9 29.0 | 1.7 -999.2 2300.1 | 2000.0 999.7 2399.9\n",
+ "v_i | -40.54 0.02 -79.99 | 17.15 16.83 5.86 | -69.97 -29.93 -89.99 | -10.32 29.72 -70.03\n",
+ "norm_rf | 11.5 | 74.0 | 0.2 | 2511.4\n",
+ "norm_vf | 2.15 | 3.20 | 0.33 | 105.39\n",
+ "gs_f | 2.8 | 3.4 | 0.0 | 56.8\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "thrust | 1168 -2 8983 | 2807 2639 2618 | -18882 -16708 2000 | 16649 19339 19999\n",
+ "norm_thrust | 9628 | 3325 | 3464 | 20000\n",
+ "fuel | 306 | 58 | 64 | 527\n",
+ "rewards | -19.80 | 10.59 | -172.35 | -1.45\n",
+ "fuel_rewards | -7.89 | 1.49 | -13.57 | -1.67\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.00 | 0.55 | 0.02 | 3.71\n",
+ "norm_af | 0.14 | 0.12 | 0.00 | 1.48\n",
+ "norm_wf | 0.30 | 0.18 | 0.01 | 1.55\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.19 | 1.95 | -56.68 | 0.00\n",
+ "att_penalty | -0.08 | 2.87 | -100.00 | 0.00\n",
+ "attitude | 0.02 0.11 0.00 | 0.37 0.22 0.21 | -2.00 -1.05 -1.37 | 2.10 1.12 1.24\n",
+ "w | 0.00 -0.01 0.00 | 0.31 0.32 0.01 | -2.17 -2.09 -0.10 | 2.09 1.61 0.10\n",
+ "a_f | 0.01 0.02 | 0.12 0.13 | -0.81 -1.37 | 0.69 0.87\n",
+ "w_f | -0.02 -0.02 -0.00 | 0.25 0.25 0.01 | -1.53 -1.00 -0.10 | 0.88 1.00 0.10\n",
+ "landing_rewards | 0.31 | 1.72 | 0.00 | 10.00\n",
+ "landing_margin | 9.36 | 73.72 | -0.17 | 2506.41\n",
+ "tracking_rewards | -11.95 | 8.20 | -58.07 | -2.46\n",
+ "steps | 327 | 93 | 35 | 601\n",
+ "***** Episode 68241, Mean R = -19.5 Std R = 9.2 Min R = -56.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.963\n",
+ "ExplainedVarOld: 0.936\n",
+ "KL: 0.0014\n",
+ "PolicyEntropy: -0.263\n",
+ "PolicyLoss: -0.00286\n",
+ "Steps: 4.01e+04\n",
+ "TotalSteps: 1.33e+07\n",
+ "ValFuncLoss: 0.000106\n",
+ "Variance: 0.238\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00094962126 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.23002434 0.20198043 0.23669718 0.23620594]\n",
+ "FIT: 0.8711918951812412 1.3697905439303937 0.040840396290295955 0.12200325586131815\n",
+ "***** Episode 68362, Mean R = -17.7 Std R = 7.8 Min R = -52.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.971\n",
+ "ExplainedVarOld: 0.954\n",
+ "KL: 0.00095\n",
+ "PolicyEntropy: -0.277\n",
+ "PolicyLoss: -0.00261\n",
+ "Steps: 3.92e+04\n",
+ "TotalSteps: 1.34e+07\n",
+ "ValFuncLoss: 7.46e-05\n",
+ "Variance: 0.237\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.001156249 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.2300523 0.20125735 0.23631778 0.23508888]\n",
+ "FIT: 0.5434840855045127 1.5329286413934047 0.042378854666641805 0.12349807693357921\n",
+ "***** Episode 68483, Mean R = -18.1 Std R = 8.5 Min R = -64.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.954\n",
+ "ExplainedVarOld: 0.921\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -0.287\n",
+ "PolicyLoss: -0.00271\n",
+ "Steps: 3.96e+04\n",
+ "TotalSteps: 1.34e+07\n",
+ "ValFuncLoss: 9.42e-05\n",
+ "Variance: 0.236\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0016397106 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.22727805 0.20131359 0.23335946 0.23285645]\n",
+ "FIT: 0.5931471457521612 1.565420201798059 0.0436240452477622 0.12339900874349774\n",
+ "***** Episode 68604, Mean R = -18.6 Std R = 8.9 Min R = -54.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.967\n",
+ "ExplainedVarOld: 0.95\n",
+ "KL: 0.00164\n",
+ "PolicyEntropy: -0.321\n",
+ "PolicyLoss: -0.00296\n",
+ "Steps: 3.92e+04\n",
+ "TotalSteps: 1.35e+07\n",
+ "ValFuncLoss: 8.3e-05\n",
+ "Variance: 0.233\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012295331 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.22623914 0.20046908 0.2317366 0.23062278]\n",
+ "FIT: 0.514273111641048 1.5969303399020238 0.04146917512513126 0.12261292920637841\n",
+ "***** Episode 68725, Mean R = -17.7 Std R = 7.8 Min R = -44.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.962\n",
+ "ExplainedVarOld: 0.945\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -0.347\n",
+ "PolicyLoss: -0.00259\n",
+ "Steps: 3.94e+04\n",
+ "TotalSteps: 1.35e+07\n",
+ "ValFuncLoss: 8.05e-05\n",
+ "Variance: 0.232\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00145841 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.22512278 0.1993645 0.22797878 0.22964665]\n",
+ "FIT: 0.6061841346925729 1.3909743374472638 0.041250989518758434 0.12059060615501105\n",
+ "***** Episode 68846, Mean R = -17.3 Std R = 7.2 Min R = -40.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.973\n",
+ "ExplainedVarOld: 0.959\n",
+ "KL: 0.00146\n",
+ "PolicyEntropy: -0.378\n",
+ "PolicyLoss: -0.00323\n",
+ "Steps: 3.8e+04\n",
+ "TotalSteps: 1.35e+07\n",
+ "ValFuncLoss: 6.16e-05\n",
+ "Variance: 0.23\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011560154 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.22404195 0.19818601 0.22679321 0.22906859]\n",
+ "FIT: 1.0268207296037641 1.3682678952672784 0.04210430493852831 0.12329521811146628\n",
+ "***** Episode 68967, Mean R = -17.9 Std R = 8.6 Min R = -53.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.956\n",
+ "ExplainedVarOld: 0.882\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -0.396\n",
+ "PolicyLoss: -0.00282\n",
+ "Steps: 3.88e+04\n",
+ "TotalSteps: 1.36e+07\n",
+ "ValFuncLoss: 0.000115\n",
+ "Variance: 0.229\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010724934 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.22370651 0.19612622 0.2248713 0.22812833]\n",
+ "FIT: 0.6529543574533292 1.4316777475246039 0.04260860521439568 0.12294355475106988\n",
+ "***** Episode 69088, Mean R = -18.1 Std R = 8.3 Min R = -45.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.965\n",
+ "ExplainedVarOld: 0.95\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -0.421\n",
+ "PolicyLoss: -0.00245\n",
+ "Steps: 3.86e+04\n",
+ "TotalSteps: 1.36e+07\n",
+ "ValFuncLoss: 0.00012\n",
+ "Variance: 0.228\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010704777 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.223734 0.19642647 0.22475883 0.2277279 ]\n",
+ "FIT: 1.10411503784766 1.473444804233416 0.04195191159096575 0.12320227063264524\n",
+ "***** Episode 69209, Mean R = -17.4 Std R = 11.2 Min R = -83.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.966\n",
+ "ExplainedVarOld: 0.811\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -0.421\n",
+ "PolicyLoss: -0.00187\n",
+ "Steps: 3.83e+04\n",
+ "TotalSteps: 1.37e+07\n",
+ "ValFuncLoss: 0.000109\n",
+ "Variance: 0.228\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011309293 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.22336414 0.1975735 0.22326799 0.22695303]\n",
+ "FIT: 0.9511783787792673 1.5540415687016291 0.043073597038287094 0.12330764580733994\n",
+ "***** Episode 69330, Mean R = -18.1 Std R = 8.9 Min R = -58.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.974\n",
+ "ExplainedVarOld: 0.958\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -0.427\n",
+ "PolicyLoss: -0.00248\n",
+ "Steps: 3.81e+04\n",
+ "TotalSteps: 1.37e+07\n",
+ "ValFuncLoss: 9.41e-05\n",
+ "Variance: 0.227\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011849712 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.22188424 0.19659689 0.22229515 0.22488877]\n",
+ "FIT: 0.8702200549301086 1.5736558480398488 0.04273169047883276 0.12444800034288356\n",
+ "Update Cnt = 410 ET = 1148.1 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.5 -2.5 0.7 | 7.1 13.6 3.9 | -73.8 -116.6 -0.1 | 23.3 49.4 46.3\n",
+ "v_f | 0.39 -0.27 -1.38 | 0.82 1.09 0.86 | -4.54 -7.65 -5.68 | 10.59 15.97 6.87\n",
+ "r_i | 992.9 28.8 2349.8 | 578.4 573.6 28.7 | 1.7 -999.6 2300.0 | 1998.7 996.6 2400.0\n",
+ "v_i | -39.86 -0.65 -80.07 | 17.25 17.29 5.78 | -69.97 -29.92 -89.99 | -10.03 30.00 -70.00\n",
+ "norm_rf | 7.4 | 14.2 | 0.1 | 119.0\n",
+ "norm_vf | 1.91 | 1.03 | 0.26 | 16.10\n",
+ "gs_f | 3.2 | 3.0 | 0.0 | 25.7\n",
+ "thrust | 1162 19 9029 | 2829 2649 2582 | -17537 -16784 1005 | 16852 17226 19994\n",
+ "norm_thrust | 9669 | 3328 | 3464 | 20000\n",
+ "fuel | 303 | 52 | 253 | 526\n",
+ "rewards | -17.97 | 8.93 | -83.51 | 0.08\n",
+ "fuel_rewards | -7.80 | 1.35 | -13.57 | -6.52\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.09 | 0.54 | 0.03 | 3.29\n",
+ "norm_af | 0.13 | 0.10 | 0.00 | 1.11\n",
+ "norm_wf | 0.30 | 0.17 | 0.01 | 0.97\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.18 | 1.33 | -23.26 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.00 0.11 -0.00 | 0.36 0.22 0.21 | -2.36 -1.30 -1.12 | 1.69 1.16 1.33\n",
+ "w | 0.00 -0.01 0.00 | 0.30 0.31 0.01 | -2.28 -2.09 -0.08 | 1.95 1.88 0.19\n",
+ "a_f | -0.01 0.01 | 0.12 0.11 | -0.79 -0.89 | 1.11 0.77\n",
+ "w_f | -0.00 -0.02 0.00 | 0.24 0.24 0.01 | -0.83 -0.95 -0.07 | 0.79 0.70 0.18\n",
+ "landing_rewards | 0.46 | 2.10 | 0.00 | 10.00\n",
+ "landing_margin | 5.71 | 13.30 | -0.16 | 113.99\n",
+ "tracking_rewards | -10.45 | 7.33 | -62.48 | -2.12\n",
+ "steps | 322 | 85 | 238 | 601\n",
+ "***** Episode 69451, Mean R = -18.7 Std R = 11.2 Min R = -78.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.946\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -0.452\n",
+ "PolicyLoss: -0.0034\n",
+ "Steps: 4.08e+04\n",
+ "TotalSteps: 1.37e+07\n",
+ "ValFuncLoss: 6.96e-05\n",
+ "Variance: 0.225\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.001116464 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.22079153 0.19635883 0.22118811 0.2227195 ]\n",
+ "FIT: 0.5806327546883014 1.5422611361525513 0.04035092402201904 0.12258351649669146\n",
+ "***** Episode 69572, Mean R = -17.4 Std R = 8.5 Min R = -59.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.954\n",
+ "ExplainedVarOld: 0.907\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -0.473\n",
+ "PolicyLoss: -0.00299\n",
+ "Steps: 3.91e+04\n",
+ "TotalSteps: 1.38e+07\n",
+ "ValFuncLoss: 0.000102\n",
+ "Variance: 0.223\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013592864 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.21906538 0.19477168 0.2205246 0.22307962]\n",
+ "FIT: 0.7110278948336957 1.5622614811705904 0.0394536522678896 0.12325318603096774\n",
+ "***** Episode 69693, Mean R = -16.9 Std R = 8.5 Min R = -42.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.945\n",
+ "ExplainedVarOld: 0.919\n",
+ "KL: 0.00136\n",
+ "PolicyEntropy: -0.491\n",
+ "PolicyLoss: -0.00233\n",
+ "Steps: 4.01e+04\n",
+ "TotalSteps: 1.38e+07\n",
+ "ValFuncLoss: 0.000124\n",
+ "Variance: 0.223\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010830612 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.2180183 0.19442964 0.21937448 0.22199263]\n",
+ "FIT: 0.7512920242500163 2.026991535392787 0.04045788337181766 0.12313782100763715\n",
+ "***** Episode 69814, Mean R = -17.1 Std R = 8.9 Min R = -60.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.963\n",
+ "ExplainedVarOld: 0.901\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -0.507\n",
+ "PolicyLoss: -0.00264\n",
+ "Steps: 3.87e+04\n",
+ "TotalSteps: 1.39e+07\n",
+ "ValFuncLoss: 0.000102\n",
+ "Variance: 0.222\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012538368 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.21728353 0.19398458 0.21746017 0.21975674]\n",
+ "FIT: 0.6038633290280713 1.4888335094405252 0.03833145536107951 0.12148559445621984\n",
+ "***** Episode 69935, Mean R = -16.7 Std R = 9.4 Min R = -71.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.959\n",
+ "ExplainedVarOld: 0.931\n",
+ "KL: 0.00125\n",
+ "PolicyEntropy: -0.532\n",
+ "PolicyLoss: -0.00243\n",
+ "Steps: 3.98e+04\n",
+ "TotalSteps: 1.39e+07\n",
+ "ValFuncLoss: 9.77e-05\n",
+ "Variance: 0.22\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013925683 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.21719721 0.19374982 0.21723045 0.21933915]\n",
+ "FIT: 5.222598602488836 1.4826594915730398 0.04432650162692089 0.12348561150458479\n",
+ "***** Episode 70056, Mean R = -18.9 Std R = 12.2 Min R = -117.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.618\n",
+ "ExplainedVarOld: 0.425\n",
+ "KL: 0.00139\n",
+ "PolicyEntropy: -0.536\n",
+ "PolicyLoss: -0.00141\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 1.39e+07\n",
+ "ValFuncLoss: 0.00329\n",
+ "Variance: 0.219\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011796353 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.2173931 0.19217871 0.21729067 0.21920049]\n",
+ "FIT: 0.8871967236688934 1.7343717402834875 0.040430729020780425 0.12243245511997379\n",
+ "***** Episode 70177, Mean R = -17.2 Std R = 8.6 Min R = -43.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.89\n",
+ "ExplainedVarOld: 0.898\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -0.544\n",
+ "PolicyLoss: -0.00291\n",
+ "Steps: 3.89e+04\n",
+ "TotalSteps: 1.4e+07\n",
+ "ValFuncLoss: 0.000332\n",
+ "Variance: 0.219\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011274496 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.21816112 0.19126888 0.21557763 0.21783647]\n",
+ "FIT: 0.7696071616234491 1.4516109422654366 0.03787065552322833 0.12066519528595739\n",
+ "***** Episode 70298, Mean R = -16.2 Std R = 8.3 Min R = -46.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.962\n",
+ "ExplainedVarOld: 0.91\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -0.559\n",
+ "PolicyLoss: -0.00258\n",
+ "Steps: 3.87e+04\n",
+ "TotalSteps: 1.4e+07\n",
+ "ValFuncLoss: 9.72e-05\n",
+ "Variance: 0.218\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.001270317 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.21831116 0.1896541 0.21383941 0.21683146]\n",
+ "FIT: 0.6527649396123152 1.614847944392108 0.03993927790466398 0.12276721788406607\n",
+ "***** Episode 70419, Mean R = -16.8 Std R = 8.0 Min R = -47.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.976\n",
+ "ExplainedVarOld: 0.924\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -0.58\n",
+ "PolicyLoss: -0.00232\n",
+ "Steps: 3.82e+04\n",
+ "TotalSteps: 1.4e+07\n",
+ "ValFuncLoss: 5.84e-05\n",
+ "Variance: 0.218\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.001281623 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.21579471 0.18863286 0.21294637 0.2156571 ]\n",
+ "FIT: 0.5477422220661861 1.4485664553290978 0.03910049992312852 0.1235512895103276\n",
+ "***** Episode 70540, Mean R = -16.8 Std R = 7.6 Min R = -55.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.964\n",
+ "ExplainedVarOld: 0.924\n",
+ "KL: 0.00128\n",
+ "PolicyEntropy: -0.606\n",
+ "PolicyLoss: -0.00281\n",
+ "Steps: 3.88e+04\n",
+ "TotalSteps: 1.41e+07\n",
+ "ValFuncLoss: 8.61e-05\n",
+ "Variance: 0.216\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010475931 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.21356384 0.18723726 0.21188402 0.21402125]\n",
+ "FIT: 0.577808082200254 1.4815950432762026 0.038463130439819485 0.12327256936693191\n",
+ "Update Cnt = 420 ET = 1140.4 Stats: Mean, Std, Min, Max\n",
+ "r_f | 1.4 -3.1 2.5 | 47.6 24.4 63.4 | -56.1 -724.1 -0.1 | 1642.3 32.0 2202.6\n",
+ "v_f | 0.40 -0.28 -1.42 | 0.84 1.10 2.50 | -13.52 -10.97 -83.83 | 8.39 14.58 6.11\n",
+ "r_i | 1013.2 -28.5 2348.7 | 582.6 584.7 28.9 | 1.3 -997.8 2300.1 | 1998.0 999.5 2399.8\n",
+ "v_i | -40.07 -0.26 -79.90 | 17.03 17.37 5.75 | -69.97 -29.99 -89.97 | -10.17 30.00 -70.03\n",
+ "norm_rf | 9.4 | 82.5 | 0.1 | 2841.3\n",
+ "norm_vf | 1.89 | 2.62 | 0.29 | 84.93\n",
+ "gs_f | 3.6 | 5.1 | 0.0 | 114.8\n",
+ "thrust | 1169 12 9028 | 2774 2712 2563 | -18781 -17077 1714 | 16713 16330 19995\n",
+ "norm_thrust | 9666 | 3326 | 3464 | 20000\n",
+ "fuel | 302 | 51 | 15 | 521\n",
+ "rewards | -17.09 | 8.86 | -116.99 | 1.75\n",
+ "fuel_rewards | -7.78 | 1.31 | -13.44 | -0.43\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.10 | 0.55 | 0.03 | 6.23\n",
+ "norm_af | 0.13 | 0.11 | 0.00 | 1.49\n",
+ "norm_wf | 0.30 | 0.17 | 0.01 | 1.06\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.19 | 1.00 | -12.06 | 0.00\n",
+ "att_penalty | -0.08 | 2.87 | -100.00 | 0.00\n",
+ "attitude | 0.02 0.11 0.00 | 0.37 0.22 0.21 | -1.80 -1.12 -1.38 | 1.73 1.16 1.16\n",
+ "w | 0.00 -0.01 0.00 | 0.30 0.31 0.01 | -2.60 -2.05 -0.12 | 1.96 2.29 0.15\n",
+ "a_f | -0.01 0.01 | 0.12 0.12 | -0.57 -1.38 | 0.89 0.88\n",
+ "w_f | -0.01 -0.00 0.00 | 0.24 0.24 0.01 | -1.00 -0.99 -0.12 | 0.93 0.73 0.14\n",
+ "landing_rewards | 0.62 | 2.41 | 0.00 | 10.00\n",
+ "landing_margin | 7.77 | 82.28 | -0.14 | 2836.29\n",
+ "tracking_rewards | -9.66 | 6.89 | -53.84 | -1.29\n",
+ "steps | 321 | 82 | 10 | 601\n",
+ "***** Episode 70661, Mean R = -16.8 Std R = 7.6 Min R = -47.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.967\n",
+ "ExplainedVarOld: 0.939\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -0.637\n",
+ "PolicyLoss: -0.00278\n",
+ "Steps: 3.95e+04\n",
+ "TotalSteps: 1.41e+07\n",
+ "ValFuncLoss: 7.4e-05\n",
+ "Variance: 0.214\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009233362 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.21321766 0.185653 0.2106476 0.21338503]\n",
+ "FIT: 0.6303963490614684 1.57706470985489 0.039402320006142154 0.12345145225325149\n",
+ "***** Episode 70782, Mean R = -16.9 Std R = 8.0 Min R = -48.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.968\n",
+ "ExplainedVarOld: 0.952\n",
+ "KL: 0.000923\n",
+ "PolicyEntropy: -0.656\n",
+ "PolicyLoss: -0.00238\n",
+ "Steps: 3.92e+04\n",
+ "TotalSteps: 1.42e+07\n",
+ "ValFuncLoss: 6.82e-05\n",
+ "Variance: 0.213\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013536017 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.21199565 0.18472868 0.20917895 0.21181402]\n",
+ "FIT: 0.7571544799116822 1.8054644213971687 0.040251974063584516 0.12463253040927456\n",
+ "***** Episode 70903, Mean R = -17.5 Std R = 9.6 Min R = -51.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.968\n",
+ "ExplainedVarOld: 0.946\n",
+ "KL: 0.00135\n",
+ "PolicyEntropy: -0.681\n",
+ "PolicyLoss: -0.00288\n",
+ "Steps: 3.95e+04\n",
+ "TotalSteps: 1.42e+07\n",
+ "ValFuncLoss: 9.6e-05\n",
+ "Variance: 0.212\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.001003737 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.21120122 0.18349248 0.20856082 0.21051648]\n",
+ "FIT: 0.6245923409886089 1.5366747259010054 0.038496718028525376 0.12069847238549593\n",
+ "***** Episode 71024, Mean R = -16.0 Std R = 7.7 Min R = -43.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.969\n",
+ "ExplainedVarOld: 0.944\n",
+ "KL: 0.001\n",
+ "PolicyEntropy: -0.7\n",
+ "PolicyLoss: -0.00238\n",
+ "Steps: 3.76e+04\n",
+ "TotalSteps: 1.42e+07\n",
+ "ValFuncLoss: 7.86e-05\n",
+ "Variance: 0.211\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009671043 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.21035376 0.18298082 0.20707452 0.20916452]\n",
+ "FIT: 0.523374116673533 1.5675606397323931 0.03743382240275384 0.12345059360245271\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 71145, Mean R = -16.2 Std R = 8.9 Min R = -43.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.948\n",
+ "ExplainedVarOld: 0.932\n",
+ "KL: 0.000967\n",
+ "PolicyEntropy: -0.721\n",
+ "PolicyLoss: -0.00206\n",
+ "Steps: 4e+04\n",
+ "TotalSteps: 1.43e+07\n",
+ "ValFuncLoss: 0.00011\n",
+ "Variance: 0.21\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013198572 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.20823568 0.18282995 0.2077967 0.20764066]\n",
+ "FIT: 0.640515806625225 1.5282184028146784 0.03699976674929856 0.12023504992745744\n",
+ "***** Episode 71266, Mean R = -15.7 Std R = 7.9 Min R = -45.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.961\n",
+ "ExplainedVarOld: 0.947\n",
+ "KL: 0.00132\n",
+ "PolicyEntropy: -0.736\n",
+ "PolicyLoss: -0.00222\n",
+ "Steps: 3.86e+04\n",
+ "TotalSteps: 1.43e+07\n",
+ "ValFuncLoss: 8.46e-05\n",
+ "Variance: 0.208\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009890776 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.20797361 0.1821701 0.20713289 0.20521404]\n",
+ "FIT: 0.7148865339223324 1.6280264436066367 0.03693736986557074 0.12314163936573104\n",
+ "***** Episode 71387, Mean R = -15.7 Std R = 9.3 Min R = -62.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.957\n",
+ "ExplainedVarOld: 0.947\n",
+ "KL: 0.000989\n",
+ "PolicyEntropy: -0.756\n",
+ "PolicyLoss: -0.00227\n",
+ "Steps: 3.92e+04\n",
+ "TotalSteps: 1.44e+07\n",
+ "ValFuncLoss: 0.000112\n",
+ "Variance: 0.208\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0015614365 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.20639278 0.1811033 0.20626605 0.20438689]\n",
+ "FIT: 0.8030207186968243 1.5322688779272093 0.03715455704555501 0.12240775638992667\n",
+ "***** Episode 71508, Mean R = -16.1 Std R = 7.6 Min R = -49.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.962\n",
+ "ExplainedVarOld: 0.946\n",
+ "KL: 0.00156\n",
+ "PolicyEntropy: -0.777\n",
+ "PolicyLoss: -0.00268\n",
+ "Steps: 3.85e+04\n",
+ "TotalSteps: 1.44e+07\n",
+ "ValFuncLoss: 9.09e-05\n",
+ "Variance: 0.206\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012160197 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.20607322 0.18049997 0.20391607 0.20402394]\n",
+ "FIT: 0.7915670471158461 1.488692109797276 0.03751312010386275 0.12165318603317933\n",
+ "***** Episode 71629, Mean R = -15.8 Std R = 8.3 Min R = -47.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.959\n",
+ "ExplainedVarOld: 0.928\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -0.795\n",
+ "PolicyLoss: -0.00238\n",
+ "Steps: 3.8e+04\n",
+ "TotalSteps: 1.44e+07\n",
+ "ValFuncLoss: 0.000107\n",
+ "Variance: 0.206\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013390017 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.20504801 0.17917545 0.20329186 0.20270455]\n",
+ "FIT: 0.5924882302912005 1.8796637031889736 0.03497719099372658 0.12052486624637793\n",
+ "***** Episode 71750, Mean R = -15.0 Std R = 7.0 Min R = -42.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.955\n",
+ "ExplainedVarOld: 0.945\n",
+ "KL: 0.00134\n",
+ "PolicyEntropy: -0.817\n",
+ "PolicyLoss: -0.00236\n",
+ "Steps: 3.89e+04\n",
+ "TotalSteps: 1.45e+07\n",
+ "ValFuncLoss: 9.71e-05\n",
+ "Variance: 0.205\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00090827636 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.2050735 0.17798577 0.20274186 0.20183529]\n",
+ "FIT: 0.5861515647809079 1.518710105512335 0.03646594502151364 0.12046090582956936\n",
+ "Update Cnt = 430 ET = 1138.4 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.0 -2.0 0.5 | 5.1 12.7 3.0 | -43.1 -110.3 -0.1 | 20.3 33.5 41.3\n",
+ "v_f | 0.30 -0.29 -1.34 | 0.62 0.75 0.70 | -5.01 -8.36 -5.21 | 5.93 7.55 7.59\n",
+ "r_i | 992.0 -7.2 2349.5 | 572.5 577.8 28.7 | 0.7 -993.5 2300.2 | 1998.5 998.6 2399.9\n",
+ "v_i | -40.20 0.06 -79.98 | 17.29 17.14 5.67 | -69.97 -29.98 -89.98 | -10.01 29.97 -70.00\n",
+ "norm_rf | 6.3 | 12.7 | 0.1 | 111.3\n",
+ "norm_vf | 1.69 | 0.76 | 0.37 | 10.11\n",
+ "gs_f | 3.9 | 4.7 | 0.1 | 88.8\n",
+ "thrust | 1175 -1 9034 | 2782 2741 2532 | -17411 -16982 1969 | 16530 17087 20000\n",
+ "norm_thrust | 9674 | 3324 | 3464 | 20000\n",
+ "fuel | 301 | 50 | 254 | 537\n",
+ "rewards | -16.05 | 8.24 | -62.32 | 0.82\n",
+ "fuel_rewards | -7.76 | 1.28 | -13.85 | -6.55\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.15 | 0.52 | 0.03 | 3.11\n",
+ "norm_af | 0.12 | 0.10 | 0.00 | 1.14\n",
+ "norm_wf | 0.30 | 0.17 | 0.01 | 1.21\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.10 | 0.67 | -10.60 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.11 0.00 | 0.37 0.21 0.21 | -1.62 -1.02 -1.16 | 1.62 1.09 1.08\n",
+ "w | 0.00 -0.01 0.00 | 0.30 0.30 0.01 | -2.31 -2.02 -0.06 | 1.91 1.91 0.20\n",
+ "a_f | -0.01 0.00 | 0.11 0.11 | -0.87 -0.94 | 0.69 0.85\n",
+ "w_f | -0.02 -0.00 0.00 | 0.25 0.24 0.02 | -1.12 -0.87 -0.06 | 0.93 0.90 0.19\n",
+ "landing_rewards | 0.92 | 2.89 | 0.00 | 10.00\n",
+ "landing_margin | 4.80 | 11.79 | -0.12 | 106.29\n",
+ "tracking_rewards | -9.11 | 6.61 | -48.47 | -1.28\n",
+ "steps | 320 | 80 | 237 | 601\n",
+ "***** Episode 71871, Mean R = -15.7 Std R = 7.3 Min R = -36.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.971\n",
+ "ExplainedVarOld: 0.958\n",
+ "KL: 0.000908\n",
+ "PolicyEntropy: -0.831\n",
+ "PolicyLoss: -0.00218\n",
+ "Steps: 3.82e+04\n",
+ "TotalSteps: 1.45e+07\n",
+ "ValFuncLoss: 7.43e-05\n",
+ "Variance: 0.205\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011135506 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.20418131 0.17715235 0.20254886 0.20110069]\n",
+ "FIT: 0.7311885088239258 1.4922714272373891 0.03699073046304396 0.12320155879365817\n",
+ "***** Episode 71992, Mean R = -16.0 Std R = 9.0 Min R = -49.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.963\n",
+ "ExplainedVarOld: 0.951\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -0.844\n",
+ "PolicyLoss: -0.0023\n",
+ "Steps: 3.9e+04\n",
+ "TotalSteps: 1.45e+07\n",
+ "ValFuncLoss: 0.000105\n",
+ "Variance: 0.204\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010503532 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.20439011 0.17656754 0.20291844 0.20122617]\n",
+ "FIT: 5.234785107764166 1.7235519719516432 0.042571605325591864 0.12524006511782146\n",
+ "***** Episode 72113, Mean R = -18.0 Std R = 21.4 Min R = -229.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.793\n",
+ "ExplainedVarOld: 0.399\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -0.844\n",
+ "PolicyLoss: -0.00238\n",
+ "Steps: 3.91e+04\n",
+ "TotalSteps: 1.46e+07\n",
+ "ValFuncLoss: 0.00283\n",
+ "Variance: 0.204\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0014162922 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.20434368 0.17611022 0.20419753 0.20132844]\n",
+ "FIT: 5.416874590401474 1.488482200273887 0.0396105650213867 0.1208609909633144\n",
+ "***** Episode 72234, Mean R = -16.5 Std R = 16.9 Min R = -182.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.595\n",
+ "ExplainedVarOld: 0.208\n",
+ "KL: 0.00142\n",
+ "PolicyEntropy: -0.84\n",
+ "PolicyLoss: -0.00156\n",
+ "Steps: 3.84e+04\n",
+ "TotalSteps: 1.46e+07\n",
+ "ValFuncLoss: 0.00538\n",
+ "Variance: 0.204\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010570904 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.20272194 0.17513952 0.20353246 0.19947334]\n",
+ "FIT: 1.2642869091254538 1.774420226793935 0.03715836671931694 0.1252727705754539\n",
+ "***** Episode 72355, Mean R = -16.2 Std R = 9.4 Min R = -62.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.922\n",
+ "ExplainedVarOld: 0.803\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -0.866\n",
+ "PolicyLoss: -0.00299\n",
+ "Steps: 3.99e+04\n",
+ "TotalSteps: 1.47e+07\n",
+ "ValFuncLoss: 0.000204\n",
+ "Variance: 0.204\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008644639 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.2023385 0.174111 0.20246203 0.19830006]\n",
+ "FIT: 0.571511297705104 1.598241785714582 0.035439329212772264 0.12167320169704461\n",
+ "***** Episode 72476, Mean R = -15.2 Std R = 8.3 Min R = -47.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.936\n",
+ "ExplainedVarOld: 0.899\n",
+ "KL: 0.000864\n",
+ "PolicyEntropy: -0.885\n",
+ "PolicyLoss: -0.00227\n",
+ "Steps: 3.92e+04\n",
+ "TotalSteps: 1.47e+07\n",
+ "ValFuncLoss: 0.000145\n",
+ "Variance: 0.202\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009523694 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.20201428 0.17268057 0.2016754 0.1974826 ]\n",
+ "FIT: 0.9011325272335144 1.6465494202198778 0.03506199380477025 0.12053146835032683\n",
+ "***** Episode 72597, Mean R = -14.9 Std R = 8.3 Min R = -46.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.95\n",
+ "ExplainedVarOld: 0.905\n",
+ "KL: 0.000952\n",
+ "PolicyEntropy: -0.903\n",
+ "PolicyLoss: -0.0023\n",
+ "Steps: 3.8e+04\n",
+ "TotalSteps: 1.47e+07\n",
+ "ValFuncLoss: 0.000134\n",
+ "Variance: 0.202\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012050065 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.20082135 0.17089607 0.19991475 0.19750366]\n",
+ "FIT: 0.8989086073428476 1.5027650682254539 0.03676852827783987 0.12224713209722354\n",
+ "***** Episode 72718, Mean R = -15.5 Std R = 9.7 Min R = -59.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.951\n",
+ "ExplainedVarOld: 0.862\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -0.928\n",
+ "PolicyLoss: -0.00305\n",
+ "Steps: 3.86e+04\n",
+ "TotalSteps: 1.48e+07\n",
+ "ValFuncLoss: 0.000142\n",
+ "Variance: 0.201\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0012525656 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.1998184 0.16998659 0.19832599 0.19672301]\n",
+ "FIT: 0.6981376540328995 1.5735920792135316 0.0361645348934556 0.12140853303229782\n",
+ "***** Episode 72839, Mean R = -15.6 Std R = 8.2 Min R = -51.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.962\n",
+ "ExplainedVarOld: 0.938\n",
+ "KL: 0.00125\n",
+ "PolicyEntropy: -0.95\n",
+ "PolicyLoss: -0.00232\n",
+ "Steps: 3.87e+04\n",
+ "TotalSteps: 1.48e+07\n",
+ "ValFuncLoss: 9.71e-05\n",
+ "Variance: 0.2\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010671678 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.19889697 0.16930936 0.19823715 0.19512577]\n",
+ "FIT: 0.6773064852389559 1.5034724833784667 0.03537405750402725 0.12215131355198586\n",
+ "***** Episode 72960, Mean R = -15.2 Std R = 7.3 Min R = -42.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.957\n",
+ "ExplainedVarOld: 0.937\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -0.968\n",
+ "PolicyLoss: -0.00254\n",
+ "Steps: 3.88e+04\n",
+ "TotalSteps: 1.49e+07\n",
+ "ValFuncLoss: 9.16e-05\n",
+ "Variance: 0.199\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010961227 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.19636819 0.16906047 0.19718127 0.19360538]\n",
+ "FIT: 0.5276840445901989 1.7888494555830337 0.035162518778001674 0.12172354038653456\n",
+ "Update Cnt = 440 ET = 1132.9 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.4 -1.8 0.6 | 4.9 11.4 4.1 | -40.7 -99.9 -0.1 | 27.0 22.7 60.9\n",
+ "v_f | 0.17 -0.16 -1.26 | 0.65 1.02 0.68 | -4.62 -8.42 -5.85 | 9.46 14.08 5.85\n",
+ "r_i | 1021.3 -44.1 2350.9 | 580.4 582.7 28.3 | 1.8 -999.8 2300.1 | 1997.7 998.2 2400.0\n",
+ "v_i | -39.78 0.72 -80.10 | 17.38 17.57 5.77 | -69.93 -29.93 -89.98 | -10.03 30.00 -70.02\n",
+ "norm_rf | 5.9 | 11.8 | 0.0 | 101.0\n",
+ "norm_vf | 1.59 | 1.02 | 0.16 | 17.22\n",
+ "gs_f | 4.8 | 7.8 | 0.0 | 165.9\n",
+ "thrust | 1150 -15 9020 | 2798 2772 2534 | -18713 -17429 315 | 16741 17458 19998\n",
+ "norm_thrust | 9667 | 3341 | 3464 | 20000\n",
+ "fuel | 302 | 49 | 254 | 547\n",
+ "rewards | -15.84 | 11.52 | -229.72 | 1.21\n",
+ "fuel_rewards | -7.78 | 1.26 | -14.09 | -6.55\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.17 | 0.53 | 0.03 | 3.32\n",
+ "norm_af | 0.12 | 0.11 | 0.00 | 1.89\n",
+ "norm_wf | 0.29 | 0.16 | 0.01 | 1.61\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.22 | 2.26 | -63.47 | 0.00\n",
+ "att_penalty | -0.17 | 4.06 | -100.00 | 0.00\n",
+ "attitude | 0.01 0.11 0.00 | 0.39 0.21 0.21 | -2.70 -1.29 -1.22 | 1.97 1.24 1.43\n",
+ "w | 0.00 -0.01 0.00 | 0.29 0.30 0.01 | -2.27 -2.44 -0.15 | 1.94 1.92 0.16\n",
+ "a_f | -0.02 0.00 | 0.12 0.11 | -1.29 -0.50 | 0.94 1.43\n",
+ "w_f | -0.01 -0.01 0.00 | 0.24 0.23 0.02 | -1.37 -0.77 -0.14 | 1.58 0.91 0.16\n",
+ "landing_rewards | 1.27 | 3.33 | 0.00 | 10.00\n",
+ "landing_margin | 4.29 | 10.92 | -0.16 | 96.03\n",
+ "tracking_rewards | -8.95 | 6.81 | -56.72 | -1.29\n",
+ "steps | 321 | 80 | 241 | 601\n",
+ "***** Episode 73081, Mean R = -15.3 Std R = 7.4 Min R = -40.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.958\n",
+ "ExplainedVarOld: 0.944\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -0.995\n",
+ "PolicyLoss: -0.00236\n",
+ "Steps: 3.91e+04\n",
+ "TotalSteps: 1.49e+07\n",
+ "ValFuncLoss: 9.09e-05\n",
+ "Variance: 0.197\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010760885 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.19455346 0.16925998 0.19585517 0.19273978]\n",
+ "FIT: 1.011009394352323 1.4732701140650677 0.03720012866833223 0.12221939094613926\n",
+ "***** Episode 73202, Mean R = -14.8 Std R = 10.4 Min R = -77.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.952\n",
+ "ExplainedVarOld: 0.839\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -1.01\n",
+ "PolicyLoss: -0.00254\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 1.49e+07\n",
+ "ValFuncLoss: 0.000161\n",
+ "Variance: 0.196\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011615461 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.19420578 0.1679064 0.19477655 0.19200839]\n",
+ "FIT: 0.6532649523458522 1.7696395108867766 0.036548920806838324 0.12390629734693374\n",
+ "***** Episode 73323, Mean R = -15.9 Std R = 8.1 Min R = -40.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.963\n",
+ "ExplainedVarOld: 0.949\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -1.03\n",
+ "PolicyLoss: -0.00237\n",
+ "Steps: 3.86e+04\n",
+ "TotalSteps: 1.5e+07\n",
+ "ValFuncLoss: 0.000111\n",
+ "Variance: 0.195\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ " *** BROKE ***\n",
+ "kl = 0.004423091 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.1934735 0.16759907 0.19481984 0.19158609]\n",
+ "FIT: 0.7224309138236107 1.4286932891464617 0.0337894638902449 0.11875556919078434\n",
+ "***** Episode 73444, Mean R = -14.4 Std R = 6.9 Min R = -33.4\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.949\n",
+ "ExplainedVarOld: 0.932\n",
+ "KL: 0.00442\n",
+ "PolicyEntropy: -1.04\n",
+ "PolicyLoss: 0.00304\n",
+ "Steps: 3.75e+04\n",
+ "TotalSteps: 1.5e+07\n",
+ "ValFuncLoss: 0.000125\n",
+ "Variance: 0.195\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ " *** BROKE ***\n",
+ "kl = 0.0049183858 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.19319859 0.16757195 0.1948334 0.1914039 ]\n",
+ "FIT: 0.6330798566681962 1.592273571888786 0.034831350453014685 0.12381644833302885\n",
+ "***** Episode 73565, Mean R = -15.3 Std R = 8.1 Min R = -43.8\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.957\n",
+ "ExplainedVarOld: 0.943\n",
+ "KL: 0.00492\n",
+ "PolicyEntropy: -1.04\n",
+ "PolicyLoss: 0.00771\n",
+ "Steps: 4e+04\n",
+ "TotalSteps: 1.51e+07\n",
+ "ValFuncLoss: 9.6e-05\n",
+ "Variance: 0.195\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00068164093 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.19302998 0.16705416 0.19436839 0.19103487]\n",
+ "FIT: 0.48151841795593747 1.5396250427238924 0.03304078814475208 0.12036474603458415\n",
+ "***** Episode 73686, Mean R = -13.9 Std R = 7.5 Min R = -47.5\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.939\n",
+ "ExplainedVarOld: 0.915\n",
+ "KL: 0.000682\n",
+ "PolicyEntropy: -1.05\n",
+ "PolicyLoss: 0.00052\n",
+ "Steps: 3.83e+04\n",
+ "TotalSteps: 1.51e+07\n",
+ "ValFuncLoss: 0.000126\n",
+ "Variance: 0.194\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00047863892 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.192873 0.16639167 0.19444235 0.19061635]\n",
+ "FIT: 0.7098228662044298 1.5386225469348607 0.03635863268992434 0.12459396566138464\n",
+ "***** Episode 73807, Mean R = -15.4 Std R = 9.2 Min R = -60.0\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.953\n",
+ "ExplainedVarOld: 0.926\n",
+ "KL: 0.000479\n",
+ "PolicyEntropy: -1.06\n",
+ "PolicyLoss: -2.91e-06\n",
+ "Steps: 3.86e+04\n",
+ "TotalSteps: 1.51e+07\n",
+ "ValFuncLoss: 0.000141\n",
+ "Variance: 0.194\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00038613085 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.19136696 0.16598761 0.19401982 0.19001105]\n",
+ "FIT: 0.5944439667242662 1.5672140172282278 0.03450509744408012 0.11768727465303752\n",
+ "***** Episode 73928, Mean R = -14.2 Std R = 7.4 Min R = -38.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.955\n",
+ "ExplainedVarOld: 0.939\n",
+ "KL: 0.000386\n",
+ "PolicyEntropy: -1.07\n",
+ "PolicyLoss: -0.0014\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 1.52e+07\n",
+ "ValFuncLoss: 0.000126\n",
+ "Variance: 0.194\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011536727 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.19119307 0.16463487 0.1940923 0.18903574]\n",
+ "FIT: 0.5097183697463296 1.4776466468346359 0.03380055208873513 0.12423786474144377\n",
+ "***** Episode 74049, Mean R = -14.6 Std R = 8.8 Min R = -64.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.942\n",
+ "ExplainedVarOld: 0.911\n",
+ "KL: 0.00115\n",
+ "PolicyEntropy: -1.09\n",
+ "PolicyLoss: -0.00232\n",
+ "Steps: 3.99e+04\n",
+ "TotalSteps: 1.52e+07\n",
+ "ValFuncLoss: 0.000126\n",
+ "Variance: 0.194\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009260141 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.19068617 0.16358322 0.1932395 0.1875685 ]\n",
+ "FIT: 0.5572482770817565 1.5943612115348242 0.032013563088050534 0.11917479769979254\n",
+ "***** Episode 74170, Mean R = -13.5 Std R = 7.0 Min R = -32.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.94\n",
+ "ExplainedVarOld: 0.936\n",
+ "KL: 0.000926\n",
+ "PolicyEntropy: -1.11\n",
+ "PolicyLoss: -0.00161\n",
+ "Steps: 3.81e+04\n",
+ "TotalSteps: 1.52e+07\n",
+ "ValFuncLoss: 0.000127\n",
+ "Variance: 0.193\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010626338 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.19048782 0.16279201 0.19248547 0.18665825]\n",
+ "FIT: 0.7383251546378944 1.6032920066451737 0.03464817167320672 0.12130503333413385\n",
+ "Update Cnt = 450 ET = 1114.5 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -1.6 0.3 | 3.7 10.4 1.9 | -39.9 -91.9 -0.1 | 16.2 29.7 26.1\n",
+ "v_f | 0.15 -0.15 -1.25 | 0.52 0.51 0.65 | -7.09 -5.98 -6.53 | 5.18 4.13 6.78\n",
+ "r_i | 1009.4 -11.5 2350.1 | 574.2 577.1 28.8 | 4.3 -998.4 2300.1 | 1999.9 997.6 2399.7\n",
+ "v_i | -40.36 0.05 -80.04 | 17.65 17.39 5.73 | -69.97 -29.75 -90.00 | -10.01 29.98 -70.03\n",
+ "norm_rf | 4.9 | 10.2 | 0.2 | 91.9\n",
+ "norm_vf | 1.48 | 0.61 | 0.20 | 10.64\n",
+ "gs_f | 4.9 | 7.5 | 0.0 | 190.3\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "thrust | 1195 4 9094 | 2860 2771 2479 | -17967 -17951 1349 | 16652 16782 20000\n",
+ "norm_thrust | 9754 | 3316 | 3464 | 20000\n",
+ "fuel | 299 | 44 | 256 | 548\n",
+ "rewards | -14.58 | 8.34 | -77.25 | 1.39\n",
+ "fuel_rewards | -7.70 | 1.15 | -14.14 | -6.61\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.22 | 0.52 | 0.04 | 3.65\n",
+ "norm_af | 0.12 | 0.08 | 0.00 | 1.14\n",
+ "norm_wf | 0.28 | 0.15 | 0.01 | 1.09\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.13 | 0.98 | -23.10 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.11 0.00 | 0.38 0.22 0.21 | -1.80 -1.04 -1.22 | 1.89 1.12 1.19\n",
+ "w | -0.00 -0.01 0.00 | 0.28 0.29 0.01 | -2.05 -2.36 -0.09 | 1.90 2.02 0.17\n",
+ "a_f | -0.02 0.00 | 0.10 0.09 | -0.86 -0.92 | 0.66 0.78\n",
+ "w_f | -0.01 -0.01 -0.00 | 0.22 0.23 0.02 | -1.09 -0.89 -0.09 | 0.68 0.78 0.16\n",
+ "landing_rewards | 1.72 | 3.77 | 0.00 | 10.00\n",
+ "landing_margin | 3.40 | 9.42 | -0.15 | 86.93\n",
+ "tracking_rewards | -8.47 | 6.18 | -46.59 | -0.51\n",
+ "steps | 315 | 72 | 237 | 601\n",
+ "***** Episode 74291, Mean R = -13.9 Std R = 9.0 Min R = -39.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.941\n",
+ "ExplainedVarOld: 0.929\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -1.12\n",
+ "PolicyLoss: -0.00196\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 1.53e+07\n",
+ "ValFuncLoss: 0.000168\n",
+ "Variance: 0.192\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009958862 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.1899288 0.16253488 0.19194005 0.18724824]\n",
+ "FIT: 0.5769301553479959 1.5356701700329576 0.032197951650625396 0.1170138711791718\n",
+ "***** Episode 74412, Mean R = -13.0 Std R = 7.1 Min R = -34.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.938\n",
+ "ExplainedVarOld: 0.93\n",
+ "KL: 0.000996\n",
+ "PolicyEntropy: -1.13\n",
+ "PolicyLoss: -0.00156\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 1.53e+07\n",
+ "ValFuncLoss: 0.000145\n",
+ "Variance: 0.192\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008973933 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.18985184 0.161921 0.19078681 0.18709104]\n",
+ "FIT: 0.8438380380948742 1.5280198267905511 0.031831036896726804 0.11928811556995372\n",
+ "***** Episode 74533, Mean R = -13.0 Std R = 8.4 Min R = -51.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.927\n",
+ "ExplainedVarOld: 0.917\n",
+ "KL: 0.000897\n",
+ "PolicyEntropy: -1.14\n",
+ "PolicyLoss: -0.0018\n",
+ "Steps: 3.77e+04\n",
+ "TotalSteps: 1.54e+07\n",
+ "ValFuncLoss: 0.000194\n",
+ "Variance: 0.191\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010838131 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.18871573 0.1623801 0.18909112 0.1866927 ]\n",
+ "FIT: 0.5633414840834545 1.4992580174685932 0.033792078062068534 0.12470075558582362\n",
+ "***** Episode 74654, Mean R = -14.5 Std R = 7.8 Min R = -38.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.944\n",
+ "ExplainedVarOld: 0.928\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -1.15\n",
+ "PolicyLoss: -0.00196\n",
+ "Steps: 3.9e+04\n",
+ "TotalSteps: 1.54e+07\n",
+ "ValFuncLoss: 0.000127\n",
+ "Variance: 0.189\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010297955 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.1879499 0.16200927 0.18791468 0.18567164]\n",
+ "FIT: 0.6437593655532755 1.6508019520982375 0.033834228366263965 0.1191517850261877\n",
+ "***** Episode 74775, Mean R = -14.1 Std R = 6.8 Min R = -35.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.951\n",
+ "ExplainedVarOld: 0.944\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -1.17\n",
+ "PolicyLoss: -0.00186\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 1.54e+07\n",
+ "ValFuncLoss: 0.000126\n",
+ "Variance: 0.188\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010730794 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.18773048 0.16224144 0.18797497 0.18535456]\n",
+ "FIT: 0.6828322079144881 1.5002774834634731 0.03286505849492123 0.12087421566868414\n",
+ "***** Episode 74896, Mean R = -13.5 Std R = 8.9 Min R = -60.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.937\n",
+ "ExplainedVarOld: 0.87\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -1.17\n",
+ "PolicyLoss: -0.00185\n",
+ "Steps: 3.79e+04\n",
+ "TotalSteps: 1.55e+07\n",
+ "ValFuncLoss: 0.000161\n",
+ "Variance: 0.188\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010451322 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.18636048 0.16140734 0.18620867 0.18440017]\n",
+ "FIT: 0.6480813110903156 2.214719544546447 0.03264891352333355 0.12299232227163649\n",
+ "***** Episode 75017, Mean R = -13.9 Std R = 7.6 Min R = -46.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.939\n",
+ "ExplainedVarOld: 0.913\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -1.2\n",
+ "PolicyLoss: -0.00236\n",
+ "Steps: 3.91e+04\n",
+ "TotalSteps: 1.55e+07\n",
+ "ValFuncLoss: 0.000139\n",
+ "Variance: 0.186\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008307118 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.18654837 0.16105081 0.18478774 0.1830742 ]\n",
+ "FIT: 0.5850843267292127 1.5302491524230413 0.03307901906573088 0.12214314358872264\n",
+ "***** Episode 75138, Mean R = -14.2 Std R = 8.1 Min R = -40.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.942\n",
+ "ExplainedVarOld: 0.921\n",
+ "KL: 0.000831\n",
+ "PolicyEntropy: -1.22\n",
+ "PolicyLoss: -0.00176\n",
+ "Steps: 3.9e+04\n",
+ "TotalSteps: 1.55e+07\n",
+ "ValFuncLoss: 0.000138\n",
+ "Variance: 0.187\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009542931 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.18664223 0.16209738 0.18464364 0.18225016]\n",
+ "FIT: 0.6189088835743094 1.550542442521042 0.034107403881863535 0.12125899601155068\n",
+ "***** Episode 75259, Mean R = -14.2 Std R = 8.0 Min R = -42.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.951\n",
+ "ExplainedVarOld: 0.929\n",
+ "KL: 0.000954\n",
+ "PolicyEntropy: -1.21\n",
+ "PolicyLoss: -0.00202\n",
+ "Steps: 3.79e+04\n",
+ "TotalSteps: 1.56e+07\n",
+ "ValFuncLoss: 0.000139\n",
+ "Variance: 0.187\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010389611 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.18587747 0.16156915 0.18355578 0.18080166]\n",
+ "FIT: 0.6237081871357872 1.555304572115818 0.030318023004140594 0.11827602923519634\n",
+ "***** Episode 75380, Mean R = -12.5 Std R = 7.4 Min R = -29.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.924\n",
+ "ExplainedVarOld: 0.91\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -1.24\n",
+ "PolicyLoss: -0.00185\n",
+ "Steps: 3.78e+04\n",
+ "TotalSteps: 1.56e+07\n",
+ "ValFuncLoss: 0.000163\n",
+ "Variance: 0.186\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010767081 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.18454818 0.16077694 0.18270235 0.1798654 ]\n",
+ "FIT: 0.6445343907095099 3.4050158536406707 0.03028823741419057 0.11804910306253397\n",
+ "Update Cnt = 460 ET = 1107.1 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.2 -0.7 0.2 | 3.0 7.8 1.8 | -15.9 -73.4 -0.1 | 16.8 22.7 32.7\n",
+ "v_f | 0.03 -0.07 -1.26 | 0.43 0.40 0.60 | -2.45 -3.03 -6.24 | 3.27 2.20 4.80\n",
+ "r_i | 1017.1 20.7 2350.6 | 574.1 575.0 28.8 | 1.2 -998.5 2300.0 | 1996.8 999.3 2399.9\n",
+ "v_i | -39.63 -0.41 -80.12 | 17.25 17.21 5.62 | -70.00 -29.94 -89.97 | -10.12 30.00 -70.01\n",
+ "norm_rf | 4.1 | 7.5 | 0.1 | 73.5\n",
+ "norm_vf | 1.45 | 0.45 | 0.17 | 7.05\n",
+ "gs_f | 6.1 | 7.9 | 0.1 | 109.4\n",
+ "thrust | 1173 18 9118 | 2820 2776 2469 | -17605 -17076 1572 | 16921 17054 19999\n",
+ "norm_thrust | 9763 | 3312 | 3464 | 20000\n",
+ "fuel | 298 | 41 | 255 | 521\n",
+ "rewards | -13.50 | 7.82 | -60.91 | 2.28\n",
+ "fuel_rewards | -7.67 | 1.06 | -13.43 | -6.57\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.27 | 0.54 | 0.04 | 4.01\n",
+ "norm_af | 0.11 | 0.06 | 0.00 | 0.69\n",
+ "norm_wf | 0.28 | 0.15 | 0.01 | 0.95\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.13 | 0.79 | -14.62 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | -0.01 0.11 -0.00 | 0.38 0.21 0.21 | -1.84 -1.03 -1.16 | 2.01 1.10 1.22\n",
+ "w | -0.00 -0.01 -0.00 | 0.28 0.29 0.01 | -1.91 -2.42 -0.11 | 1.97 1.57 0.18\n",
+ "a_f | -0.02 -0.00 | 0.09 0.08 | -0.54 -0.29 | 0.61 0.53\n",
+ "w_f | 0.00 0.01 -0.00 | 0.22 0.22 0.02 | -0.85 -0.67 -0.09 | 0.79 0.81 0.18\n",
+ "landing_rewards | 2.21 | 4.15 | 0.00 | 10.00\n",
+ "landing_margin | 2.49 | 6.79 | -0.15 | 68.51\n",
+ "tracking_rewards | -7.91 | 5.53 | -39.41 | -0.63\n",
+ "steps | 314 | 68 | 240 | 601\n",
+ "***** Episode 75501, Mean R = -12.2 Std R = 7.5 Min R = -43.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.927\n",
+ "ExplainedVarOld: 0.884\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -1.26\n",
+ "PolicyLoss: -0.00193\n",
+ "Steps: 3.75e+04\n",
+ "TotalSteps: 1.57e+07\n",
+ "ValFuncLoss: 0.000143\n",
+ "Variance: 0.185\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0011878428 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.18435846 0.15995516 0.18248053 0.17870457]\n",
+ "FIT: 0.5599543159743283 1.5500708633010596 0.032470550693648306 0.11770483559296394\n",
+ "***** Episode 75622, Mean R = -13.5 Std R = 7.4 Min R = -40.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.947\n",
+ "ExplainedVarOld: 0.939\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -1.27\n",
+ "PolicyLoss: -0.00177\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 1.57e+07\n",
+ "ValFuncLoss: 0.000119\n",
+ "Variance: 0.184\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011375658 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.18399237 0.15981713 0.18073966 0.17762408]\n",
+ "FIT: 0.7314405027153086 2.0840824476784623 0.03228208219055411 0.12039461212176836\n",
+ "***** Episode 75743, Mean R = -13.7 Std R = 7.3 Min R = -40.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.947\n",
+ "ExplainedVarOld: 0.924\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -1.29\n",
+ "PolicyLoss: -0.00221\n",
+ "Steps: 3.83e+04\n",
+ "TotalSteps: 1.57e+07\n",
+ "ValFuncLoss: 0.000127\n",
+ "Variance: 0.184\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010915472 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.18367416 0.15983322 0.17869548 0.17727095]\n",
+ "FIT: 0.6982337013293699 1.587360705897947 0.028341378079530855 0.11545318705603934\n",
+ "***** Episode 75864, Mean R = -11.2 Std R = 7.8 Min R = -49.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.929\n",
+ "ExplainedVarOld: 0.92\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -1.3\n",
+ "PolicyLoss: -0.00155\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 1.58e+07\n",
+ "ValFuncLoss: 0.000151\n",
+ "Variance: 0.184\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009053749 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.18376638 0.15896742 0.17888588 0.17535341]\n",
+ "FIT: 0.9562223589586609 1.6391955488547292 0.03136720509878202 0.11749852931267771\n",
+ "***** Episode 75985, Mean R = -13.1 Std R = 8.0 Min R = -43.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.946\n",
+ "ExplainedVarOld: 0.915\n",
+ "KL: 0.000905\n",
+ "PolicyEntropy: -1.32\n",
+ "PolicyLoss: -0.00237\n",
+ "Steps: 3.77e+04\n",
+ "TotalSteps: 1.58e+07\n",
+ "ValFuncLoss: 0.000144\n",
+ "Variance: 0.184\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009750134 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.18275912 0.15868703 0.17796578 0.17398183]\n",
+ "FIT: 0.6400068211150515 1.7293587850033667 0.03474193319665106 0.12340474335935298\n",
+ "***** Episode 76106, Mean R = -14.6 Std R = 9.0 Min R = -50.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.944\n",
+ "ExplainedVarOld: 0.927\n",
+ "KL: 0.000975\n",
+ "PolicyEntropy: -1.34\n",
+ "PolicyLoss: -0.00245\n",
+ "Steps: 3.82e+04\n",
+ "TotalSteps: 1.58e+07\n",
+ "ValFuncLoss: 0.000173\n",
+ "Variance: 0.183\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00082257524 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.1820444 0.15856978 0.17767787 0.17315425]\n",
+ "FIT: 0.6327295768568688 1.5834706783522468 0.031797353062353574 0.11851203603448904\n",
+ "***** Episode 76227, Mean R = -12.9 Std R = 7.8 Min R = -36.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.941\n",
+ "ExplainedVarOld: 0.926\n",
+ "KL: 0.000823\n",
+ "PolicyEntropy: -1.35\n",
+ "PolicyLoss: -0.00189\n",
+ "Steps: 3.73e+04\n",
+ "TotalSteps: 1.59e+07\n",
+ "ValFuncLoss: 0.000154\n",
+ "Variance: 0.182\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008305913 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.18217295 0.15877835 0.17753328 0.1720789 ]\n",
+ "FIT: 0.5903114834601272 1.6812654883634834 0.030517759948641546 0.12049357187567412\n",
+ "***** Episode 76348, Mean R = -12.4 Std R = 8.3 Min R = -38.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.932\n",
+ "ExplainedVarOld: 0.912\n",
+ "KL: 0.000831\n",
+ "PolicyEntropy: -1.36\n",
+ "PolicyLoss: -0.00197\n",
+ "Steps: 3.81e+04\n",
+ "TotalSteps: 1.59e+07\n",
+ "ValFuncLoss: 0.000176\n",
+ "Variance: 0.182\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00082704617 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.18074144 0.15831125 0.1778015 0.17229557]\n",
+ "FIT: 0.5529907914779928 1.6739087238719281 0.03224061010485931 0.11910540021698389\n",
+ "***** Episode 76469, Mean R = -13.2 Std R = 7.7 Min R = -44.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.942\n",
+ "ExplainedVarOld: 0.93\n",
+ "KL: 0.000827\n",
+ "PolicyEntropy: -1.36\n",
+ "PolicyLoss: -0.00221\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 1.6e+07\n",
+ "ValFuncLoss: 0.000147\n",
+ "Variance: 0.181\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011648972 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.18110767 0.15760195 0.1774368 0.1727608 ]\n",
+ "FIT: 0.7518556679032024 1.5459924599080457 0.033369760522061434 0.12201471074137456\n",
+ "***** Episode 76590, Mean R = -13.2 Std R = 9.6 Min R = -44.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.944\n",
+ "ExplainedVarOld: 0.931\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -1.37\n",
+ "PolicyLoss: -0.00247\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 1.6e+07\n",
+ "ValFuncLoss: 0.000206\n",
+ "Variance: 0.181\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00087343523 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.18098478 0.1574323 0.17620721 0.17293845]\n",
+ "FIT: 0.6841282483248795 1.5657254959541136 0.030700250104026633 0.11406029003270408\n",
+ "Update Cnt = 470 ET = 1108.4 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.2 -1.2 0.2 | 3.0 9.0 2.2 | -26.5 -91.2 -0.1 | 15.2 23.6 41.7\n",
+ "v_f | -0.01 -0.06 -1.23 | 0.43 0.63 0.56 | -3.48 -5.57 -5.53 | 4.14 11.55 5.87\n",
+ "r_i | 1008.5 11.0 2348.7 | 586.6 576.4 28.9 | 0.0 -999.9 2300.1 | 1999.7 999.0 2399.9\n",
+ "v_i | -40.22 1.02 -80.48 | 17.64 17.45 5.81 | -69.99 -29.97 -89.98 | -10.07 29.98 -70.00\n",
+ "norm_rf | 4.0 | 8.9 | 0.1 | 91.5\n",
+ "norm_vf | 1.42 | 0.62 | 0.21 | 11.85\n",
+ "gs_f | 6.3 | 17.5 | 0.1 | 578.8\n",
+ "thrust | 1209 -27 9173 | 2852 2792 2436 | -16505 -17019 2000 | 16642 17812 19998\n",
+ "norm_thrust | 9825 | 3307 | 3464 | 20000\n",
+ "fuel | 295 | 37 | 255 | 521\n",
+ "rewards | -12.99 | 8.09 | -50.23 | 1.75\n",
+ "fuel_rewards | -7.61 | 0.95 | -13.42 | -6.57\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.32 | 0.54 | 0.03 | 3.70\n",
+ "norm_af | 0.11 | 0.08 | 0.01 | 0.97\n",
+ "norm_wf | 0.28 | 0.15 | 0.01 | 0.99\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.12 | 0.77 | -12.05 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.11 0.00 | 0.36 0.21 0.20 | -1.63 -1.16 -1.27 | 1.98 1.13 1.09\n",
+ "w | -0.00 -0.01 0.00 | 0.28 0.28 0.01 | -2.19 -2.45 -0.09 | 2.00 1.55 0.23\n",
+ "a_f | -0.02 -0.00 | 0.10 0.09 | -0.58 -0.88 | 0.89 0.68\n",
+ "w_f | -0.01 0.00 0.00 | 0.23 0.22 0.01 | -0.76 -0.78 -0.07 | 0.89 0.75 0.21\n",
+ "landing_rewards | 2.55 | 4.36 | 0.00 | 10.00\n",
+ "landing_margin | 2.45 | 8.31 | -0.18 | 86.55\n",
+ "tracking_rewards | -7.81 | 6.04 | -42.94 | -0.76\n",
+ "steps | 309 | 60 | 244 | 601\n",
+ "***** Episode 76711, Mean R = -12.2 Std R = 7.3 Min R = -36.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.936\n",
+ "ExplainedVarOld: 0.929\n",
+ "KL: 0.000873\n",
+ "PolicyEntropy: -1.37\n",
+ "PolicyLoss: -0.0019\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 1.6e+07\n",
+ "ValFuncLoss: 0.000167\n",
+ "Variance: 0.181\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010403327 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.1805169 0.15660217 0.1751169 0.17277917]\n",
+ "FIT: 0.7320936573260606 1.6292561835617643 0.03328014556838845 0.12250819326196616\n",
+ "***** Episode 76832, Mean R = -13.6 Std R = 10.0 Min R = -51.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.945\n",
+ "ExplainedVarOld: 0.927\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -1.39\n",
+ "PolicyLoss: -0.00222\n",
+ "Steps: 3.81e+04\n",
+ "TotalSteps: 1.61e+07\n",
+ "ValFuncLoss: 0.000221\n",
+ "Variance: 0.181\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.001078718 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.17973487 0.15692803 0.17491078 0.17300184]\n",
+ "FIT: 1.0167297666467132 1.5776010751491711 0.03159182907454883 0.12091347308761605\n",
+ "***** Episode 76953, Mean R = -13.1 Std R = 9.3 Min R = -76.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.934\n",
+ "ExplainedVarOld: 0.829\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -1.39\n",
+ "PolicyLoss: -0.0021\n",
+ "Steps: 3.83e+04\n",
+ "TotalSteps: 1.61e+07\n",
+ "ValFuncLoss: 0.000188\n",
+ "Variance: 0.18\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00083004835 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.17978194 0.15600973 0.17494333 0.1728477 ]\n",
+ "FIT: 0.5608007561846532 1.559531656606009 0.030324151855681356 0.11764844398673635\n",
+ "***** Episode 77074, Mean R = -12.1 Std R = 7.2 Min R = -40.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.919\n",
+ "ExplainedVarOld: 0.896\n",
+ "KL: 0.00083\n",
+ "PolicyEntropy: -1.4\n",
+ "PolicyLoss: -0.00218\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 1.61e+07\n",
+ "ValFuncLoss: 0.000223\n",
+ "Variance: 0.18\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010230294 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.18016033 0.15568647 0.17451331 0.17191282]\n",
+ "FIT: 0.5373367080090492 1.5385669420981056 0.03069916480159538 0.1198104246522176\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 77195, Mean R = -12.6 Std R = 7.9 Min R = -43.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.932\n",
+ "ExplainedVarOld: 0.856\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -1.4\n",
+ "PolicyLoss: -0.0019\n",
+ "Steps: 3.78e+04\n",
+ "TotalSteps: 1.62e+07\n",
+ "ValFuncLoss: 0.000147\n",
+ "Variance: 0.18\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.001017531 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.17912385 0.1548351 0.17432956 0.17057039]\n",
+ "FIT: 0.6245105686503033 1.5852981772733994 0.02994393171615962 0.11758304618309735\n",
+ "***** Episode 77316, Mean R = -12.3 Std R = 7.7 Min R = -36.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.935\n",
+ "ExplainedVarOld: 0.919\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -1.42\n",
+ "PolicyLoss: -0.00201\n",
+ "Steps: 3.78e+04\n",
+ "TotalSteps: 1.62e+07\n",
+ "ValFuncLoss: 0.000199\n",
+ "Variance: 0.179\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009984385 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.17809571 0.15511107 0.1734389 0.1702493 ]\n",
+ "FIT: 0.5519608321555316 1.5641898162850691 0.02849891776884795 0.11536484480782576\n",
+ "***** Episode 77437, Mean R = -11.0 Std R = 7.6 Min R = -37.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.924\n",
+ "ExplainedVarOld: 0.916\n",
+ "KL: 0.000998\n",
+ "PolicyEntropy: -1.44\n",
+ "PolicyLoss: -0.00181\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 1.63e+07\n",
+ "ValFuncLoss: 0.000176\n",
+ "Variance: 0.178\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012651249 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.17623697 0.1549871 0.17244598 0.16942374]\n",
+ "FIT: 0.5306827685783704 1.5105839771099003 0.03006508894825596 0.11757328872180312\n",
+ "***** Episode 77558, Mean R = -11.9 Std R = 8.2 Min R = -38.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.928\n",
+ "ExplainedVarOld: 0.909\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -1.46\n",
+ "PolicyLoss: -0.00209\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 1.63e+07\n",
+ "ValFuncLoss: 0.000215\n",
+ "Variance: 0.176\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00094977557 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.17576514 0.15363587 0.17158218 0.1691155 ]\n",
+ "FIT: 0.5886255527704117 1.676567126661334 0.031262349895283495 0.11912928574837621\n",
+ "***** Episode 77679, Mean R = -12.6 Std R = 7.8 Min R = -32.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.937\n",
+ "ExplainedVarOld: 0.928\n",
+ "KL: 0.00095\n",
+ "PolicyEntropy: -1.48\n",
+ "PolicyLoss: -0.00196\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 1.63e+07\n",
+ "ValFuncLoss: 0.00018\n",
+ "Variance: 0.176\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009802103 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.17529145 0.15408176 0.17224964 0.16874702]\n",
+ "FIT: 0.5365915428154798 1.5696963558844044 0.02768399294788459 0.11998803952763196\n",
+ "***** Episode 77800, Mean R = -10.9 Std R = 6.7 Min R = -31.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.921\n",
+ "ExplainedVarOld: 0.911\n",
+ "KL: 0.00098\n",
+ "PolicyEntropy: -1.47\n",
+ "PolicyLoss: -0.00167\n",
+ "Steps: 3.82e+04\n",
+ "TotalSteps: 1.64e+07\n",
+ "ValFuncLoss: 0.000164\n",
+ "Variance: 0.175\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010663716 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.17439899 0.15333477 0.17171595 0.16814117]\n",
+ "FIT: 0.5723674128098105 1.641933603353062 0.03128617470540815 0.1243518086129145\n",
+ "Update Cnt = 480 ET = 1100.3 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.4 -0.9 0.2 | 3.2 7.4 2.6 | -32.7 -84.6 -0.1 | 24.0 28.6 49.8\n",
+ "v_f | -0.03 -0.02 -1.18 | 0.42 0.70 0.49 | -4.56 -7.23 -3.44 | 5.08 10.94 3.41\n",
+ "r_i | 1011.0 -2.1 2349.2 | 582.8 582.5 28.5 | 2.1 -998.7 2300.0 | 1998.2 997.3 2400.0\n",
+ "v_i | -39.31 0.16 -80.17 | 17.37 17.39 5.68 | -69.94 -29.96 -89.99 | -10.08 29.89 -70.00\n",
+ "norm_rf | 3.8 | 7.7 | 0.1 | 86.9\n",
+ "norm_vf | 1.36 | 0.68 | 0.22 | 12.33\n",
+ "gs_f | 6.7 | 8.2 | 0.1 | 144.6\n",
+ "thrust | 1172 3 9154 | 2860 2813 2422 | -16926 -17679 1703 | 16575 16683 19994\n",
+ "norm_thrust | 9806 | 3312 | 3464 | 20000\n",
+ "fuel | 297 | 37 | 257 | 513\n",
+ "rewards | -12.30 | 8.22 | -76.88 | 2.47\n",
+ "fuel_rewards | -7.64 | 0.95 | -13.24 | -6.63\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.31 | 0.52 | 0.04 | 3.76\n",
+ "norm_af | 0.10 | 0.07 | 0.00 | 0.99\n",
+ "norm_wf | 0.28 | 0.15 | 0.01 | 1.04\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.13 | 1.21 | -36.77 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.11 0.00 | 0.38 0.21 0.21 | -2.27 -0.96 -1.17 | 2.13 1.13 1.12\n",
+ "w | -0.00 -0.01 0.00 | 0.28 0.28 0.01 | -2.34 -2.43 -0.11 | 2.15 1.57 0.16\n",
+ "a_f | -0.01 -0.00 | 0.09 0.08 | -0.51 -0.42 | 0.90 0.71\n",
+ "w_f | -0.01 0.00 0.00 | 0.23 0.22 0.01 | -0.94 -0.85 -0.09 | 0.86 0.86 0.14\n",
+ "landing_rewards | 3.05 | 4.60 | 0.00 | 10.00\n",
+ "landing_margin | 2.20 | 7.04 | -0.16 | 81.91\n",
+ "tracking_rewards | -7.58 | 5.65 | -49.22 | -0.52\n",
+ "steps | 311 | 60 | 244 | 601\n",
+ "***** Episode 77921, Mean R = -12.7 Std R = 9.0 Min R = -49.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.929\n",
+ "ExplainedVarOld: 0.885\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -1.49\n",
+ "PolicyLoss: -0.00194\n",
+ "Steps: 3.86e+04\n",
+ "TotalSteps: 1.64e+07\n",
+ "ValFuncLoss: 0.000181\n",
+ "Variance: 0.174\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010535219 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.174423 0.15256606 0.17115541 0.16755909]\n",
+ "FIT: 0.5516543721177756 1.6734894963219178 0.030916649279984245 0.11847417610403468\n",
+ "***** Episode 78042, Mean R = -12.4 Std R = 7.9 Min R = -44.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.933\n",
+ "ExplainedVarOld: 0.92\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -1.5\n",
+ "PolicyLoss: -0.00222\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 1.64e+07\n",
+ "ValFuncLoss: 0.000162\n",
+ "Variance: 0.174\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010023614 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.1742748 0.15273553 0.17090105 0.16646864]\n",
+ "FIT: 0.5393417673122851 1.5895125528037213 0.02881122353519369 0.1179745956730711\n",
+ "***** Episode 78163, Mean R = -11.4 Std R = 7.6 Min R = -37.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.921\n",
+ "ExplainedVarOld: 0.895\n",
+ "KL: 0.001\n",
+ "PolicyEntropy: -1.51\n",
+ "PolicyLoss: -0.00177\n",
+ "Steps: 3.75e+04\n",
+ "TotalSteps: 1.65e+07\n",
+ "ValFuncLoss: 0.000162\n",
+ "Variance: 0.174\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010262748 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.17388767 0.15183525 0.17004077 0.1663279 ]\n",
+ "FIT: 0.6052109902826756 1.5603684398257673 0.03125699098983829 0.12043810521240836\n",
+ "***** Episode 78284, Mean R = -12.9 Std R = 7.5 Min R = -35.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.94\n",
+ "ExplainedVarOld: 0.925\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -1.52\n",
+ "PolicyLoss: -0.00176\n",
+ "Steps: 3.73e+04\n",
+ "TotalSteps: 1.65e+07\n",
+ "ValFuncLoss: 0.000166\n",
+ "Variance: 0.174\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010462129 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.17357136 0.15157814 0.16968031 0.16565423]\n",
+ "FIT: 0.6612088976854696 1.6107201742873287 0.029841646814537836 0.12192102310488862\n",
+ "***** Episode 78405, Mean R = -12.3 Std R = 7.6 Min R = -39.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.934\n",
+ "ExplainedVarOld: 0.918\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -1.53\n",
+ "PolicyLoss: -0.00215\n",
+ "Steps: 3.82e+04\n",
+ "TotalSteps: 1.66e+07\n",
+ "ValFuncLoss: 0.000178\n",
+ "Variance: 0.174\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012226213 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.17359586 0.15076417 0.16896456 0.16481496]\n",
+ "FIT: 0.8719812414128452 1.6060161136714932 0.032073867240517605 0.12028013193164905\n",
+ "***** Episode 78526, Mean R = -13.2 Std R = 8.9 Min R = -52.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.934\n",
+ "ExplainedVarOld: 0.882\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -1.55\n",
+ "PolicyLoss: -0.00284\n",
+ "Steps: 3.75e+04\n",
+ "TotalSteps: 1.66e+07\n",
+ "ValFuncLoss: 0.000182\n",
+ "Variance: 0.174\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009149282 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.17428099 0.15192446 0.16859668 0.16497351]\n",
+ "FIT: 1.208377479045154 1.6530875656366695 0.031234593435697827 0.12060138032362692\n",
+ "***** Episode 78647, Mean R = -11.9 Std R = 11.2 Min R = -100.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.935\n",
+ "ExplainedVarOld: 0.802\n",
+ "KL: 0.000915\n",
+ "PolicyEntropy: -1.54\n",
+ "PolicyLoss: -0.00255\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 1.66e+07\n",
+ "ValFuncLoss: 0.000254\n",
+ "Variance: 0.174\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010501975 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.17273533 0.15233725 0.16744602 0.16473156]\n",
+ "FIT: 0.5602257533506253 1.6377472609143378 0.027404828422248402 0.11648907970239966\n",
+ "***** Episode 78768, Mean R = -10.3 Std R = 7.0 Min R = -32.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.921\n",
+ "ExplainedVarOld: 0.91\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -1.55\n",
+ "PolicyLoss: -0.00189\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 1.67e+07\n",
+ "ValFuncLoss: 0.000198\n",
+ "Variance: 0.173\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0009781878 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.17135605 0.15141141 0.16645363 0.16528457]\n",
+ "FIT: 0.6967663645174087 1.706269523684569 0.02758882329595708 0.11875819190558844\n",
+ "***** Episode 78889, Mean R = -10.7 Std R = 7.2 Min R = -35.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.918\n",
+ "ExplainedVarOld: 0.881\n",
+ "KL: 0.000978\n",
+ "PolicyEntropy: -1.57\n",
+ "PolicyLoss: -0.00231\n",
+ "Steps: 3.78e+04\n",
+ "TotalSteps: 1.67e+07\n",
+ "ValFuncLoss: 0.000187\n",
+ "Variance: 0.171\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010757521 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.16992937 0.15080214 0.16661695 0.16361363]\n",
+ "FIT: 0.7947500940688392 1.551338663867995 0.028426015161612382 0.11583468778330379\n",
+ "***** Episode 79010, Mean R = -11.1 Std R = 8.6 Min R = -47.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.926\n",
+ "ExplainedVarOld: 0.906\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -1.59\n",
+ "PolicyLoss: -0.00238\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 1.67e+07\n",
+ "ValFuncLoss: 0.000189\n",
+ "Variance: 0.17\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009705451 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.16880906 0.15017702 0.16581991 0.16285716]\n",
+ "FIT: 0.815147866527109 1.6711657391501715 0.031013264878099085 0.11928699444828193\n",
+ "Update Cnt = 490 ET = 1090.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.7 0.2 | 2.9 6.3 1.8 | -21.8 -89.7 -0.1 | 29.0 20.3 34.9\n",
+ "v_f | -0.02 -0.06 -1.23 | 0.48 0.39 0.54 | -9.50 -2.54 -5.07 | 4.90 4.92 8.29\n",
+ "r_i | 988.1 -4.8 2350.0 | 566.2 577.2 28.5 | 3.0 -999.3 2300.1 | 1999.0 999.0 2399.9\n",
+ "v_i | -40.01 -0.05 -80.13 | 17.09 16.74 5.71 | -69.97 -29.99 -89.97 | -10.09 29.98 -70.01\n",
+ "norm_rf | 3.1 | 6.5 | 0.1 | 90.7\n",
+ "norm_vf | 1.38 | 0.53 | 0.25 | 13.35\n",
+ "gs_f | 8.3 | 28.1 | 0.1 | 932.6\n",
+ "thrust | 1206 9 9171 | 2843 2817 2408 | -17684 -17609 1002 | 16940 16705 19996\n",
+ "norm_thrust | 9823 | 3300 | 3464 | 20000\n",
+ "fuel | 294 | 35 | 256 | 558\n",
+ "rewards | -11.82 | 8.32 | -100.67 | 2.94\n",
+ "fuel_rewards | -7.58 | 0.91 | -14.39 | -6.59\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.38 | 0.52 | 0.05 | 4.41\n",
+ "norm_af | 0.10 | 0.07 | 0.00 | 1.40\n",
+ "norm_wf | 0.26 | 0.14 | 0.01 | 0.76\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.19 | 1.56 | -42.96 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.11 0.00 | 0.37 0.21 0.20 | -1.60 -1.13 -1.14 | 2.11 1.13 1.22\n",
+ "w | -0.00 -0.01 0.00 | 0.28 0.27 0.01 | -2.07 -2.36 -0.08 | 2.36 1.60 0.18\n",
+ "a_f | -0.01 -0.01 | 0.09 0.09 | -0.39 -1.09 | 0.88 0.71\n",
+ "w_f | -0.00 0.00 0.00 | 0.21 0.21 0.01 | -0.72 -0.72 -0.07 | 0.67 0.71 0.17\n",
+ "landing_rewards | 3.34 | 4.72 | 0.00 | 10.00\n",
+ "landing_margin | 1.68 | 5.91 | -0.17 | 85.68\n",
+ "tracking_rewards | -7.39 | 5.75 | -43.33 | -0.07\n",
+ "steps | 308 | 57 | 244 | 601\n",
+ "***** Episode 79131, Mean R = -12.2 Std R = 8.3 Min R = -37.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.943\n",
+ "ExplainedVarOld: 0.92\n",
+ "KL: 0.000971\n",
+ "PolicyEntropy: -1.61\n",
+ "PolicyLoss: -0.00198\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 1.68e+07\n",
+ "ValFuncLoss: 0.000195\n",
+ "Variance: 0.169\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009148127 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.16758376 0.14934134 0.16543606 0.1621742 ]\n",
+ "FIT: 0.5990095927570743 1.625855181723476 0.028760536897904514 0.11842533237875602\n",
+ "***** Episode 79252, Mean R = -11.1 Std R = 7.1 Min R = -27.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.93\n",
+ "ExplainedVarOld: 0.916\n",
+ "KL: 0.000915\n",
+ "PolicyEntropy: -1.63\n",
+ "PolicyLoss: -0.00181\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 1.68e+07\n",
+ "ValFuncLoss: 0.000199\n",
+ "Variance: 0.168\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012805111 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.16762677 0.14912954 0.16593045 0.16197376]\n",
+ "FIT: 5.21163019519548 1.57835754152842 0.03389095031618146 0.11918772437123608\n",
+ "***** Episode 79373, Mean R = -13.2 Std R = 14.3 Min R = -146.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.714\n",
+ "ExplainedVarOld: 0.339\n",
+ "KL: 0.00128\n",
+ "PolicyEntropy: -1.63\n",
+ "PolicyLoss: -0.00204\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 1.69e+07\n",
+ "ValFuncLoss: 0.00322\n",
+ "Variance: 0.168\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009212786 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.1674832 0.14918226 0.16432706 0.16121058]\n",
+ "FIT: 0.5461757194353971 1.5861994154749635 0.028672535914400287 0.11378893383175856\n",
+ "***** Episode 79494, Mean R = -11.0 Std R = 7.4 Min R = -33.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.929\n",
+ "ExplainedVarOld: 0.919\n",
+ "KL: 0.000921\n",
+ "PolicyEntropy: -1.64\n",
+ "PolicyLoss: -0.00149\n",
+ "Steps: 3.6e+04\n",
+ "TotalSteps: 1.69e+07\n",
+ "ValFuncLoss: 0.000191\n",
+ "Variance: 0.167\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010168522 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.16683346 0.14856419 0.16413651 0.15962829]\n",
+ "FIT: 0.6305496208098266 1.636074010286766 0.028255818473763954 0.11783764782329369\n",
+ "***** Episode 79615, Mean R = -11.4 Std R = 7.0 Min R = -40.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.926\n",
+ "ExplainedVarOld: 0.912\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -1.66\n",
+ "PolicyLoss: -0.00168\n",
+ "Steps: 3.74e+04\n",
+ "TotalSteps: 1.69e+07\n",
+ "ValFuncLoss: 0.000163\n",
+ "Variance: 0.167\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.000968446 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.1665135 0.1485425 0.16412294 0.15863447]\n",
+ "FIT: 0.6746413955713488 1.56900884574147 0.030056228277084155 0.12041922782402172\n",
+ "***** Episode 79736, Mean R = -12.1 Std R = 7.3 Min R = -31.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.935\n",
+ "ExplainedVarOld: 0.925\n",
+ "KL: 0.000968\n",
+ "PolicyEntropy: -1.67\n",
+ "PolicyLoss: -0.00203\n",
+ "Steps: 3.74e+04\n",
+ "TotalSteps: 1.7e+07\n",
+ "ValFuncLoss: 0.00019\n",
+ "Variance: 0.167\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008797409 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.16554849 0.1473254 0.164548 0.15735908]\n",
+ "FIT: 0.5458316882234215 1.5123192305921316 0.027521081023369854 0.11772808794158966\n",
+ "***** Episode 79857, Mean R = -10.3 Std R = 8.2 Min R = -49.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.921\n",
+ "ExplainedVarOld: 0.889\n",
+ "KL: 0.00088\n",
+ "PolicyEntropy: -1.69\n",
+ "PolicyLoss: -0.0018\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 1.7e+07\n",
+ "ValFuncLoss: 0.000203\n",
+ "Variance: 0.166\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00084183365 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.16607103 0.14681195 0.16457741 0.15669088]\n",
+ "FIT: 0.5686335638875873 1.7280178131703445 0.030879970253716138 0.12237649379164516\n",
+ "***** Episode 79978, Mean R = -12.2 Std R = 7.9 Min R = -31.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.933\n",
+ "ExplainedVarOld: 0.928\n",
+ "KL: 0.000842\n",
+ "PolicyEntropy: -1.7\n",
+ "PolicyLoss: -0.00158\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 1.7e+07\n",
+ "ValFuncLoss: 0.000212\n",
+ "Variance: 0.166\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009876393 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.1654962 0.14667138 0.16434082 0.15610951]\n",
+ "FIT: 0.6550793362823476 1.634706198230922 0.029345397273602303 0.12122762904518646\n",
+ "***** Episode 80099, Mean R = -11.6 Std R = 7.7 Min R = -37.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.936\n",
+ "ExplainedVarOld: 0.925\n",
+ "KL: 0.000988\n",
+ "PolicyEntropy: -1.71\n",
+ "PolicyLoss: -0.00194\n",
+ "Steps: 3.77e+04\n",
+ "TotalSteps: 1.71e+07\n",
+ "ValFuncLoss: 0.000174\n",
+ "Variance: 0.165\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008377643 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.16505125 0.14593191 0.164291 0.15495007]\n",
+ "FIT: 0.5684214263957322 1.6801855496607319 0.031614376059862254 0.12055158388624305\n",
+ "***** Episode 80220, Mean R = -12.8 Std R = 7.5 Min R = -29.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.945\n",
+ "ExplainedVarOld: 0.935\n",
+ "KL: 0.000838\n",
+ "PolicyEntropy: -1.72\n",
+ "PolicyLoss: -0.00207\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 1.71e+07\n",
+ "ValFuncLoss: 0.000163\n",
+ "Variance: 0.165\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008972745 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.1638263 0.14544253 0.16511859 0.15379624]\n",
+ "FIT: 0.6648060012291281 1.7420679250768987 0.029284745218369646 0.1204052918469838\n",
+ "Update Cnt = 500 ET = 1086.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.7 0.1 | 2.6 5.5 1.6 | -26.1 -77.4 -0.1 | 20.5 14.2 34.9\n",
+ "v_f | -0.01 -0.07 -1.25 | 0.41 0.39 0.48 | -5.91 -5.62 -4.96 | 7.16 6.45 7.72\n",
+ "r_i | 985.6 -1.7 2350.3 | 591.8 586.0 28.7 | 0.1 -995.4 2300.0 | 1999.5 999.0 2399.9\n",
+ "v_i | -40.06 -0.58 -79.96 | 17.26 17.33 5.87 | -69.92 -29.91 -89.98 | -10.00 29.91 -70.03\n",
+ "norm_rf | 2.9 | 5.6 | 0.1 | 82.4\n",
+ "norm_vf | 1.37 | 0.50 | 0.24 | 11.67\n",
+ "gs_f | 8.2 | 12.9 | 0.2 | 201.0\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "thrust | 1215 26 9180 | 2871 2805 2377 | -17146 -17568 895 | 16500 16439 19998\n",
+ "norm_thrust | 9838 | 3275 | 3464 | 20000\n",
+ "fuel | 293 | 30 | 257 | 513\n",
+ "rewards | -11.68 | 8.69 | -146.29 | 2.07\n",
+ "fuel_rewards | -7.54 | 0.78 | -13.22 | -6.61\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.39 | 0.54 | 0.04 | 7.33\n",
+ "norm_af | 0.10 | 0.08 | 0.00 | 1.59\n",
+ "norm_wf | 0.26 | 0.15 | 0.00 | 1.44\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.10 | 0.67 | -11.79 | 0.00\n",
+ "att_penalty | -0.08 | 2.87 | -100.00 | 0.00\n",
+ "attitude | 0.01 0.11 -0.00 | 0.38 0.21 0.20 | -1.85 -1.12 -1.13 | 1.77 1.10 1.39\n",
+ "w | -0.00 -0.01 -0.00 | 0.27 0.27 0.01 | -1.89 -2.38 -0.13 | 2.01 1.64 0.13\n",
+ "a_f | -0.01 -0.00 | 0.09 0.09 | -0.78 -0.81 | 0.91 1.39\n",
+ "w_f | -0.01 0.00 -0.00 | 0.21 0.21 0.01 | -1.03 -1.19 -0.13 | 0.91 0.71 0.12\n",
+ "landing_rewards | 3.51 | 4.77 | 0.00 | 10.00\n",
+ "landing_margin | 1.40 | 5.11 | -0.18 | 77.36\n",
+ "tracking_rewards | -7.47 | 5.66 | -32.87 | -0.55\n",
+ "steps | 306 | 49 | 241 | 601\n",
+ "***** Episode 80341, Mean R = -11.2 Std R = 9.4 Min R = -51.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.931\n",
+ "ExplainedVarOld: 0.892\n",
+ "KL: 0.000897\n",
+ "PolicyEntropy: -1.73\n",
+ "PolicyLoss: -0.00239\n",
+ "Steps: 3.73e+04\n",
+ "TotalSteps: 1.72e+07\n",
+ "ValFuncLoss: 0.000194\n",
+ "Variance: 0.165\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008401525 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.16353363 0.14536187 0.16554411 0.15413056]\n",
+ "FIT: 0.6355716637329467 1.6628419466679933 0.02795057428519641 0.11654034843833232\n",
+ "***** Episode 80462, Mean R = -10.7 Std R = 7.3 Min R = -35.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.927\n",
+ "ExplainedVarOld: 0.919\n",
+ "KL: 0.00084\n",
+ "PolicyEntropy: -1.73\n",
+ "PolicyLoss: -0.0015\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 1.72e+07\n",
+ "ValFuncLoss: 0.000198\n",
+ "Variance: 0.166\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012248352 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.16286382 0.14498533 0.16592178 0.1543861 ]\n",
+ "FIT: 0.7209919876572419 1.720905031858026 0.03074881753878896 0.11752838104690928\n",
+ "***** Episode 80583, Mean R = -11.7 Std R = 9.0 Min R = -47.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.942\n",
+ "ExplainedVarOld: 0.912\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -1.73\n",
+ "PolicyLoss: -0.00269\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 1.72e+07\n",
+ "ValFuncLoss: 0.000199\n",
+ "Variance: 0.166\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.001564321 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.16245979 0.14504214 0.16559033 0.15421414]\n",
+ "FIT: 0.5141051200204735 1.5166749751349191 0.025976403897844648 0.11566279080291565\n",
+ "***** Episode 80704, Mean R = -9.5 Std R = 6.5 Min R = -28.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.917\n",
+ "ExplainedVarOld: 0.904\n",
+ "KL: 0.00156\n",
+ "PolicyEntropy: -1.74\n",
+ "PolicyLoss: 0.000178\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 1.73e+07\n",
+ "ValFuncLoss: 0.000198\n",
+ "Variance: 0.166\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011171574 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.16233577 0.1438709 0.16416945 0.15364607]\n",
+ "FIT: 0.7212231431896403 1.727807722539033 0.029696418410113945 0.11827255145705358\n",
+ "***** Episode 80825, Mean R = -11.8 Std R = 7.9 Min R = -38.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.942\n",
+ "ExplainedVarOld: 0.866\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -1.76\n",
+ "PolicyLoss: -0.00226\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 1.73e+07\n",
+ "ValFuncLoss: 0.000172\n",
+ "Variance: 0.164\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.001168139 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.16219805 0.14317572 0.16337624 0.15314059]\n",
+ "FIT: 0.6467103155006422 1.675659338260063 0.02984787721331088 0.1201081822406311\n",
+ "***** Episode 80946, Mean R = -11.6 Std R = 7.6 Min R = -43.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.939\n",
+ "ExplainedVarOld: 0.924\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -1.77\n",
+ "PolicyLoss: -0.00248\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 1.73e+07\n",
+ "ValFuncLoss: 0.000194\n",
+ "Variance: 0.163\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009512448 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.1609572 0.14315344 0.1640375 0.15279481]\n",
+ "FIT: 0.6460219399309409 1.7309104816168146 0.030154292393854462 0.11853403307964554\n",
+ "***** Episode 81067, Mean R = -11.9 Std R = 8.3 Min R = -39.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.939\n",
+ "ExplainedVarOld: 0.906\n",
+ "KL: 0.000951\n",
+ "PolicyEntropy: -1.78\n",
+ "PolicyLoss: -0.00171\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 1.74e+07\n",
+ "ValFuncLoss: 0.000173\n",
+ "Variance: 0.164\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0007689082 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.15988591 0.14337096 0.16344006 0.15172575]\n",
+ "FIT: 0.5810510698519508 1.642676430499388 0.02635506446304837 0.11810139450644101\n",
+ "***** Episode 81188, Mean R = -9.8 Std R = 7.8 Min R = -34.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.918\n",
+ "ExplainedVarOld: 0.908\n",
+ "KL: 0.000769\n",
+ "PolicyEntropy: -1.8\n",
+ "PolicyLoss: -0.00145\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 1.74e+07\n",
+ "ValFuncLoss: 0.000183\n",
+ "Variance: 0.163\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008590914 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.15882383 0.14316754 0.16284494 0.15148072]\n",
+ "FIT: 0.5977174879500476 4.766857934095159 0.028740756765764028 0.11765912928399878\n",
+ "***** Episode 81309, Mean R = -11.1 Std R = 7.4 Min R = -28.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.929\n",
+ "ExplainedVarOld: 0.917\n",
+ "KL: 0.000859\n",
+ "PolicyEntropy: -1.81\n",
+ "PolicyLoss: -0.00189\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 1.74e+07\n",
+ "ValFuncLoss: 0.000197\n",
+ "Variance: 0.163\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0007591511 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.15806627 0.14278397 0.16233593 0.15152551]\n",
+ "FIT: 0.5954590552858372 1.6166512560474646 0.0275691283880731 0.12017141034289144\n",
+ "***** Episode 81430, Mean R = -10.5 Std R = 7.6 Min R = -33.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.922\n",
+ "ExplainedVarOld: 0.906\n",
+ "KL: 0.000759\n",
+ "PolicyEntropy: -1.82\n",
+ "PolicyLoss: -0.00171\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 1.75e+07\n",
+ "ValFuncLoss: 0.000192\n",
+ "Variance: 0.162\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00094195653 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.1578159 0.14322232 0.16195685 0.15125343]\n",
+ "FIT: 0.5609687358883252 1.65579839813272 0.026608311415379955 0.11739780496164168\n",
+ "Update Cnt = 510 ET = 1082.9 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.2 0.0 | 2.4 3.4 0.7 | -7.0 -59.5 -0.1 | 24.4 9.9 19.7\n",
+ "v_f | 0.00 -0.04 -1.24 | 0.30 0.29 0.39 | -1.25 -1.86 -2.14 | 1.29 1.00 3.20\n",
+ "r_i | 1009.9 -20.6 2349.4 | 577.4 571.9 28.9 | 5.7 -999.8 2300.1 | 1999.4 999.5 2399.9\n",
+ "v_i | -39.88 -0.05 -80.20 | 17.42 17.66 5.74 | -69.99 -29.96 -89.99 | -10.05 29.97 -70.01\n",
+ "norm_rf | 2.4 | 3.5 | 0.0 | 60.5\n",
+ "norm_vf | 1.33 | 0.30 | 0.20 | 3.89\n",
+ "gs_f | 8.4 | 10.0 | 0.2 | 147.3\n",
+ "thrust | 1218 10 9225 | 2821 2868 2363 | -17013 -17516 1616 | 16825 16372 19999\n",
+ "norm_thrust | 9880 | 3276 | 3464 | 20000\n",
+ "fuel | 292 | 27 | 256 | 491\n",
+ "rewards | -10.85 | 7.79 | -47.04 | 2.22\n",
+ "fuel_rewards | -7.53 | 0.70 | -12.64 | -6.61\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.41 | 0.51 | 0.05 | 3.97\n",
+ "norm_af | 0.09 | 0.05 | 0.00 | 0.56\n",
+ "norm_wf | 0.26 | 0.15 | 0.01 | 1.16\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.08 | 0.61 | -10.90 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | -0.00 0.12 -0.00 | 0.37 0.21 0.21 | -1.70 -1.02 -1.17 | 1.81 1.10 1.12\n",
+ "w | 0.00 -0.01 -0.00 | 0.27 0.27 0.01 | -2.06 -2.40 -0.11 | 2.17 1.73 0.14\n",
+ "a_f | -0.01 -0.00 | 0.08 0.07 | -0.23 -0.51 | 0.36 0.41\n",
+ "w_f | 0.01 0.00 -0.00 | 0.21 0.21 0.01 | -0.87 -1.07 -0.11 | 0.65 0.75 0.14\n",
+ "landing_rewards | 4.05 | 4.91 | 0.00 | 10.00\n",
+ "landing_margin | 0.98 | 2.94 | -0.18 | 55.54\n",
+ "tracking_rewards | -7.29 | 5.59 | -49.15 | -0.23\n",
+ "steps | 304 | 46 | 238 | 601\n",
+ "***** Episode 81551, Mean R = -9.7 Std R = 7.8 Min R = -32.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.929\n",
+ "ExplainedVarOld: 0.917\n",
+ "KL: 0.000942\n",
+ "PolicyEntropy: -1.82\n",
+ "PolicyLoss: -0.00194\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 1.75e+07\n",
+ "ValFuncLoss: 0.000197\n",
+ "Variance: 0.162\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0010522484 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.15663111 0.1428337 0.16249636 0.15068166]\n",
+ "FIT: 0.5685255000048101 1.584606490564598 0.02739660251977009 0.11804454431366185\n",
+ "***** Episode 81672, Mean R = -10.3 Std R = 8.1 Min R = -42.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.928\n",
+ "ExplainedVarOld: 0.915\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -1.83\n",
+ "PolicyLoss: -0.00192\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 1.76e+07\n",
+ "ValFuncLoss: 0.000182\n",
+ "Variance: 0.162\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012456675 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.15521854 0.14240372 0.1612129 0.1493323 ]\n",
+ "FIT: 0.7854235552633426 1.6434589899518481 0.027696471288492088 0.12045495400697037\n",
+ "***** Episode 81793, Mean R = -10.6 Std R = 8.7 Min R = -45.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.938\n",
+ "ExplainedVarOld: 0.908\n",
+ "KL: 0.00125\n",
+ "PolicyEntropy: -1.86\n",
+ "PolicyLoss: -0.00265\n",
+ "Steps: 3.81e+04\n",
+ "TotalSteps: 1.76e+07\n",
+ "ValFuncLoss: 0.000166\n",
+ "Variance: 0.161\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010283391 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.15506807 0.14177929 0.16107652 0.14868903]\n",
+ "FIT: 0.5739502863491477 1.6044296533942723 0.026428944326584613 0.11852710873346818\n",
+ "***** Episode 81914, Mean R = -9.6 Std R = 8.4 Min R = -46.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.924\n",
+ "ExplainedVarOld: 0.905\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -1.87\n",
+ "PolicyLoss: -0.002\n",
+ "Steps: 3.74e+04\n",
+ "TotalSteps: 1.76e+07\n",
+ "ValFuncLoss: 0.000207\n",
+ "Variance: 0.161\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010244052 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.15428428 0.14094317 0.16078869 0.14819369]\n",
+ "FIT: 0.7550479691491554 1.7603291008824637 0.027094150299738724 0.11706951711710861\n",
+ "***** Episode 82035, Mean R = -10.3 Std R = 7.8 Min R = -53.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.93\n",
+ "ExplainedVarOld: 0.922\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -1.89\n",
+ "PolicyLoss: -0.00168\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 1.77e+07\n",
+ "ValFuncLoss: 0.000189\n",
+ "Variance: 0.161\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00076095894 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.15454096 0.1409188 0.15993387 0.1476041 ]\n",
+ "FIT: 0.6982919073979177 1.6969891586104295 0.027343896459793036 0.11678142268332935\n",
+ "***** Episode 82156, Mean R = -10.3 Std R = 8.6 Min R = -46.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.931\n",
+ "ExplainedVarOld: 0.903\n",
+ "KL: 0.000761\n",
+ "PolicyEntropy: -1.9\n",
+ "PolicyLoss: -0.00174\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 1.77e+07\n",
+ "ValFuncLoss: 0.000181\n",
+ "Variance: 0.16\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008475508 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.15384571 0.1414938 0.1592028 0.14716755]\n",
+ "FIT: 0.6437108655701612 1.624550249479722 0.02731349355105873 0.11903661281438599\n",
+ "***** Episode 82277, Mean R = -10.2 Std R = 8.2 Min R = -36.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.927\n",
+ "ExplainedVarOld: 0.918\n",
+ "KL: 0.000848\n",
+ "PolicyEntropy: -1.91\n",
+ "PolicyLoss: -0.00173\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 1.77e+07\n",
+ "ValFuncLoss: 0.000187\n",
+ "Variance: 0.159\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009930722 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.15398042 0.14084043 0.15761468 0.14738157]\n",
+ "FIT: 0.656111028889911 1.6457196720009892 0.028188749022332676 0.11899894420263621\n",
+ "***** Episode 82398, Mean R = -10.5 Std R = 7.9 Min R = -38.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.935\n",
+ "ExplainedVarOld: 0.927\n",
+ "KL: 0.000993\n",
+ "PolicyEntropy: -1.92\n",
+ "PolicyLoss: -0.00184\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 1.78e+07\n",
+ "ValFuncLoss: 0.000214\n",
+ "Variance: 0.158\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.000958563 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.15308258 0.14030942 0.15697297 0.14802039]\n",
+ "FIT: 0.5484706905492867 1.6537135341690512 0.026740488188606974 0.11683709458691256\n",
+ "***** Episode 82519, Mean R = -10.0 Std R = 6.8 Min R = -29.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.922\n",
+ "ExplainedVarOld: 0.905\n",
+ "KL: 0.000959\n",
+ "PolicyEntropy: -1.93\n",
+ "PolicyLoss: -0.00192\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 1.78e+07\n",
+ "ValFuncLoss: 0.000175\n",
+ "Variance: 0.157\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.000937745 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.15283294 0.14069614 0.15594289 0.1474815 ]\n",
+ "FIT: 0.6861337157329376 1.707035765070611 0.026500845360921118 0.11540608740302932\n",
+ "***** Episode 82640, Mean R = -9.6 Std R = 7.2 Min R = -31.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.931\n",
+ "ExplainedVarOld: 0.927\n",
+ "KL: 0.000938\n",
+ "PolicyEntropy: -1.94\n",
+ "PolicyLoss: -0.00153\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 1.79e+07\n",
+ "ValFuncLoss: 0.000177\n",
+ "Variance: 0.156\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00097129494 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.15207492 0.14066741 0.15582623 0.147938 ]\n",
+ "FIT: 0.5529651698476706 1.6600080235309245 0.02667671653402191 0.11970184993122371\n",
+ "Update Cnt = 520 ET = 1081.7 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.6 0.1 | 2.3 5.5 1.2 | -21.4 -83.0 -0.1 | 20.6 10.3 34.1\n",
+ "v_f | -0.02 -0.03 -1.27 | 0.30 0.42 0.37 | -1.06 -3.34 -3.42 | 4.22 10.18 1.82\n",
+ "r_i | 1009.2 48.4 2349.8 | 576.1 570.7 28.4 | 2.3 -999.4 2300.0 | 1998.6 999.2 2400.0\n",
+ "v_i | -39.09 -0.08 -79.88 | 17.53 17.40 5.75 | -69.84 -29.93 -89.99 | -10.03 29.98 -70.00\n",
+ "norm_rf | 2.5 | 5.6 | 0.1 | 83.3\n",
+ "norm_vf | 1.35 | 0.42 | 0.31 | 11.54\n",
+ "gs_f | 9.5 | 19.3 | 0.1 | 411.8\n",
+ "thrust | 1186 6 9196 | 2803 2794 2345 | -17236 -16941 1379 | 16651 16892 20000\n",
+ "norm_thrust | 9828 | 3248 | 3464 | 20000\n",
+ "fuel | 292 | 27 | 254 | 480\n",
+ "rewards | -10.12 | 7.96 | -53.78 | 2.51\n",
+ "fuel_rewards | -7.52 | 0.71 | -12.37 | -6.56\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.42 | 0.51 | 0.05 | 3.52\n",
+ "norm_af | 0.09 | 0.05 | 0.00 | 0.85\n",
+ "norm_wf | 0.25 | 0.14 | 0.01 | 0.82\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.09 | 0.68 | -10.15 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.00 0.11 -0.00 | 0.38 0.21 0.20 | -1.58 -0.98 -1.12 | 1.89 1.09 1.23\n",
+ "w | 0.00 -0.01 0.00 | 0.27 0.27 0.01 | -1.92 -2.42 -0.12 | 2.08 1.77 0.11\n",
+ "a_f | -0.01 -0.00 | 0.08 0.07 | -0.28 -0.26 | 0.51 0.68\n",
+ "w_f | -0.01 -0.00 -0.00 | 0.20 0.20 0.01 | -0.75 -0.61 -0.11 | 0.74 0.67 0.11\n",
+ "landing_rewards | 4.40 | 4.96 | 0.00 | 10.00\n",
+ "landing_margin | 1.09 | 5.16 | -0.18 | 78.28\n",
+ "tracking_rewards | -6.92 | 5.57 | -46.04 | 0.15\n",
+ "steps | 305 | 45 | 238 | 601\n",
+ "***** Episode 82761, Mean R = -9.8 Std R = 7.8 Min R = -31.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.926\n",
+ "ExplainedVarOld: 0.912\n",
+ "KL: 0.000971\n",
+ "PolicyEntropy: -1.94\n",
+ "PolicyLoss: -0.00228\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 1.79e+07\n",
+ "ValFuncLoss: 0.000175\n",
+ "Variance: 0.156\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008624338 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.15180412 0.1400546 0.15597184 0.14749505]\n",
+ "FIT: 0.7538454149435142 4.131728215229643 0.026842893988527197 0.11688807534851497\n",
+ "***** Episode 82882, Mean R = -9.8 Std R = 8.6 Min R = -47.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.926\n",
+ "ExplainedVarOld: 0.883\n",
+ "KL: 0.000862\n",
+ "PolicyEntropy: -1.95\n",
+ "PolicyLoss: -0.00237\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 1.79e+07\n",
+ "ValFuncLoss: 0.000194\n",
+ "Variance: 0.156\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008757438 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.15155979 0.13951492 0.15568735 0.1466215 ]\n",
+ "FIT: 0.5776692451650991 1.7980482321402191 0.02572537510645671 0.11823221283427973\n",
+ "***** Episode 83003, Mean R = -9.3 Std R = 7.2 Min R = -29.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.915\n",
+ "ExplainedVarOld: 0.901\n",
+ "KL: 0.000876\n",
+ "PolicyEntropy: -1.96\n",
+ "PolicyLoss: -0.00161\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 1.8e+07\n",
+ "ValFuncLoss: 0.00019\n",
+ "Variance: 0.156\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00085869606 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.15153936 0.13832471 0.1563266 0.14619392]\n",
+ "FIT: 0.6452508707302752 1.6977571380752126 0.025908038947246737 0.11775645403191927\n",
+ "***** Episode 83124, Mean R = -9.6 Std R = 7.8 Min R = -33.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.923\n",
+ "ExplainedVarOld: 0.913\n",
+ "KL: 0.000859\n",
+ "PolicyEntropy: -1.97\n",
+ "PolicyLoss: -0.0016\n",
+ "Steps: 3.75e+04\n",
+ "TotalSteps: 1.8e+07\n",
+ "ValFuncLoss: 0.000186\n",
+ "Variance: 0.156\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011067736 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.15082116 0.13800657 0.1565448 0.14505437]\n",
+ "FIT: 0.5933784804232325 1.5969683156811694 0.024941793829617337 0.11530354363102542\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 83245, Mean R = -8.7 Std R = 6.8 Min R = -30.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.924\n",
+ "ExplainedVarOld: 0.916\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -1.98\n",
+ "PolicyLoss: -0.00178\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 1.8e+07\n",
+ "ValFuncLoss: 0.00018\n",
+ "Variance: 0.157\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00084091554 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.14987181 0.13747683 0.15524541 0.14435756]\n",
+ "FIT: 0.5543698154248837 1.7587656309757949 0.026444257718427608 0.11551680612432146\n",
+ "***** Episode 83366, Mean R = -10.0 Std R = 6.7 Min R = -26.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.911\n",
+ "ExplainedVarOld: 0.901\n",
+ "KL: 0.000841\n",
+ "PolicyEntropy: -2\n",
+ "PolicyLoss: -0.00173\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 1.81e+07\n",
+ "ValFuncLoss: 0.000187\n",
+ "Variance: 0.155\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010117589 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.14981909 0.13769548 0.15484324 0.14368758]\n",
+ "FIT: 0.6551976911114229 1.660106174680006 0.026409210977563484 0.11482830685635546\n",
+ "***** Episode 83487, Mean R = -9.7 Std R = 8.0 Min R = -46.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.933\n",
+ "ExplainedVarOld: 0.924\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -2.01\n",
+ "PolicyLoss: -0.00162\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 1.81e+07\n",
+ "ValFuncLoss: 0.000178\n",
+ "Variance: 0.155\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0015652843 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.14971197 0.13672674 0.15394145 0.1426212 ]\n",
+ "FIT: 0.5370535856113545 1.816916406433796 0.026261692451400684 0.11369907330288306\n",
+ "***** Episode 83608, Mean R = -9.3 Std R = 7.8 Min R = -33.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.922\n",
+ "ExplainedVarOld: 0.912\n",
+ "KL: 0.00157\n",
+ "PolicyEntropy: -2.03\n",
+ "PolicyLoss: -1.59e-05\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 1.81e+07\n",
+ "ValFuncLoss: 0.000206\n",
+ "Variance: 0.154\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009109982 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.14972521 0.13647595 0.15408452 0.14282075]\n",
+ "FIT: 0.6286738422531108 1.7818481464406384 0.028228620657788014 0.12023797447380188\n",
+ "***** Episode 83729, Mean R = -10.4 Std R = 8.4 Min R = -46.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.945\n",
+ "ExplainedVarOld: 0.898\n",
+ "KL: 0.000911\n",
+ "PolicyEntropy: -2.03\n",
+ "PolicyLoss: -0.00259\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 1.82e+07\n",
+ "ValFuncLoss: 0.000185\n",
+ "Variance: 0.154\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008944812 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.15023576 0.13606438 0.153923 0.14196646]\n",
+ "FIT: 0.5121568679398247 1.6837003807006286 0.0262231179102902 0.11535614926508034\n",
+ "***** Episode 83850, Mean R = -9.3 Std R = 6.9 Min R = -30.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.914\n",
+ "ExplainedVarOld: 0.877\n",
+ "KL: 0.000894\n",
+ "PolicyEntropy: -2.04\n",
+ "PolicyLoss: -0.00199\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 1.82e+07\n",
+ "ValFuncLoss: 0.000213\n",
+ "Variance: 0.154\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00077697623 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.1506212 0.13500361 0.15481235 0.1417286 ]\n",
+ "FIT: 0.8444038687614492 1.6178713895749213 0.025623622686212034 0.1168964587887817\n",
+ "Update Cnt = 530 ET = 1074.3 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.2 -0.3 0.0 | 2.2 3.7 1.0 | -16.2 -72.2 -0.1 | 22.1 13.7 32.4\n",
+ "v_f | -0.03 -0.04 -1.27 | 0.43 0.30 0.39 | -11.71 -2.08 -2.19 | 0.99 4.93 6.56\n",
+ "r_i | 1025.6 11.8 2348.9 | 584.3 570.2 29.0 | 2.8 -998.9 2300.1 | 1997.1 998.7 2399.7\n",
+ "v_i | -38.85 0.21 -80.37 | 17.04 16.86 5.76 | -70.00 -29.94 -89.98 | -10.01 29.89 -70.01\n",
+ "norm_rf | 2.2 | 3.8 | 0.1 | 80.8\n",
+ "norm_vf | 1.35 | 0.47 | 0.13 | 14.30\n",
+ "gs_f | 10.2 | 17.8 | 0.1 | 371.0\n",
+ "thrust | 1186 -1 9239 | 2803 2791 2358 | -16882 -17069 1852 | 16611 16727 20000\n",
+ "norm_thrust | 9865 | 3262 | 3464 | 20000\n",
+ "fuel | 291 | 22 | 254 | 495\n",
+ "rewards | -9.53 | 7.62 | -47.13 | 2.96\n",
+ "fuel_rewards | -7.49 | 0.58 | -12.74 | -6.55\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.45 | 0.54 | 0.05 | 4.21\n",
+ "norm_af | 0.08 | 0.06 | 0.00 | 1.31\n",
+ "norm_wf | 0.24 | 0.13 | 0.01 | 0.95\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.70 | -16.86 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.11 0.00 | 0.36 0.20 0.20 | -1.76 -0.99 -1.17 | 2.39 1.16 1.26\n",
+ "w | -0.00 -0.01 0.00 | 0.26 0.26 0.01 | -1.81 -2.58 -0.11 | 2.19 1.60 0.11\n",
+ "a_f | -0.01 -0.01 | 0.08 0.07 | -0.24 -0.81 | 1.03 0.27\n",
+ "w_f | -0.00 -0.00 0.00 | 0.20 0.19 0.01 | -0.86 -0.68 -0.11 | 0.80 0.59 0.11\n",
+ "landing_rewards | 4.72 | 4.99 | 0.00 | 10.00\n",
+ "landing_margin | 0.76 | 3.41 | -0.17 | 75.81\n",
+ "tracking_rewards | -6.69 | 5.36 | -39.54 | -0.07\n",
+ "steps | 303 | 36 | 243 | 601\n",
+ "***** Episode 83971, Mean R = -9.2 Std R = 7.6 Min R = -40.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.935\n",
+ "ExplainedVarOld: 0.91\n",
+ "KL: 0.000777\n",
+ "PolicyEntropy: -2.04\n",
+ "PolicyLoss: -0.00171\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 1.83e+07\n",
+ "ValFuncLoss: 0.000188\n",
+ "Variance: 0.155\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.000841211 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.14954892 0.13450614 0.15455449 0.14155142]\n",
+ "FIT: 0.6434048487469328 1.674750231216476 0.024131367066139477 0.11713893563139917\n",
+ "***** Episode 84092, Mean R = -8.2 Std R = 7.3 Min R = -41.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.921\n",
+ "ExplainedVarOld: 0.914\n",
+ "KL: 0.000841\n",
+ "PolicyEntropy: -2.05\n",
+ "PolicyLoss: -0.00148\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 1.83e+07\n",
+ "ValFuncLoss: 0.000196\n",
+ "Variance: 0.155\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0015598744 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.14884053 0.13461469 0.15418881 0.1405664 ]\n",
+ "FIT: 0.5241780667562417 1.6591386858039376 0.025989712737499344 0.1176561833557236\n",
+ "***** Episode 84213, Mean R = -9.1 Std R = 7.7 Min R = -28.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.93\n",
+ "ExplainedVarOld: 0.922\n",
+ "KL: 0.00156\n",
+ "PolicyEntropy: -2.07\n",
+ "PolicyLoss: 3.07e-05\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 1.83e+07\n",
+ "ValFuncLoss: 0.000191\n",
+ "Variance: 0.154\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010661149 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.14874598 0.1338345 0.15389633 0.14019866]\n",
+ "FIT: 0.650283331371456 1.804015269214285 0.02597887317100874 0.11767882710176868\n",
+ "***** Episode 84334, Mean R = -8.9 Std R = 9.0 Min R = -41.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.94\n",
+ "ExplainedVarOld: 0.93\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -2.08\n",
+ "PolicyLoss: -0.00184\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 1.84e+07\n",
+ "ValFuncLoss: 0.000179\n",
+ "Variance: 0.154\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009158882 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.14832833 0.13308586 0.15474796 0.14046082]\n",
+ "FIT: 0.6676613076183789 1.5927102907759865 0.02552391155908991 0.11572510126589033\n",
+ "***** Episode 84455, Mean R = -8.7 Std R = 8.0 Min R = -45.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.949\n",
+ "ExplainedVarOld: 0.937\n",
+ "KL: 0.000916\n",
+ "PolicyEntropy: -2.08\n",
+ "PolicyLoss: -0.00176\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 1.84e+07\n",
+ "ValFuncLoss: 0.000157\n",
+ "Variance: 0.155\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008634988 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.14776924 0.13287467 0.15513222 0.13957627]\n",
+ "FIT: 0.4839577024849151 1.7454412431294917 0.025827966851117073 0.11877346814646915\n",
+ "***** Episode 84576, Mean R = -9.2 Std R = 7.8 Min R = -43.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.922\n",
+ "ExplainedVarOld: 0.902\n",
+ "KL: 0.000863\n",
+ "PolicyEntropy: -2.09\n",
+ "PolicyLoss: -0.00159\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 1.84e+07\n",
+ "ValFuncLoss: 0.000185\n",
+ "Variance: 0.155\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.000984044 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.14746219 0.13164228 0.15474011 0.13943198]\n",
+ "FIT: 0.5449254491114108 1.6930159045830984 0.02527414454800951 0.11586646878753946\n",
+ "***** Episode 84697, Mean R = -8.6 Std R = 7.2 Min R = -32.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.928\n",
+ "ExplainedVarOld: 0.908\n",
+ "KL: 0.000984\n",
+ "PolicyEntropy: -2.1\n",
+ "PolicyLoss: -0.0016\n",
+ "Steps: 3.6e+04\n",
+ "TotalSteps: 1.85e+07\n",
+ "ValFuncLoss: 0.000183\n",
+ "Variance: 0.155\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.000984929 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.14666007 0.13116108 0.15383875 0.1385242 ]\n",
+ "FIT: 0.6599844755625481 1.7569834959322417 0.026413826054179752 0.11794350041733925\n",
+ "***** Episode 84818, Mean R = -9.4 Std R = 7.7 Min R = -37.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.93\n",
+ "ExplainedVarOld: 0.92\n",
+ "KL: 0.000985\n",
+ "PolicyEntropy: -2.12\n",
+ "PolicyLoss: -0.0016\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 1.85e+07\n",
+ "ValFuncLoss: 0.000204\n",
+ "Variance: 0.154\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0008022559 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.14596069 0.13064525 0.15396453 0.1381711 ]\n",
+ "FIT: 0.6228798407525142 1.7170025034366951 0.02446249560217227 0.11496414409688857\n",
+ "***** Episode 84939, Mean R = -8.0 Std R = 7.3 Min R = -39.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.939\n",
+ "ExplainedVarOld: 0.925\n",
+ "KL: 0.000802\n",
+ "PolicyEntropy: -2.13\n",
+ "PolicyLoss: -0.00154\n",
+ "Steps: 3.57e+04\n",
+ "TotalSteps: 1.85e+07\n",
+ "ValFuncLoss: 0.000167\n",
+ "Variance: 0.154\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010970121 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.1465009 0.13065593 0.15299009 0.13714698]\n",
+ "FIT: 0.6331250075647192 1.683886971082674 0.024884085416225523 0.1162084649904368\n",
+ "***** Episode 85060, Mean R = -8.4 Std R = 7.5 Min R = -33.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.935\n",
+ "ExplainedVarOld: 0.913\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -2.14\n",
+ "PolicyLoss: -0.00205\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 1.86e+07\n",
+ "ValFuncLoss: 0.000167\n",
+ "Variance: 0.153\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00095552887 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.14533795 0.12982275 0.15312366 0.13720053]\n",
+ "FIT: 0.48114231698237114 1.6541814138899809 0.02558638437484126 0.11992672441827093\n",
+ "Update Cnt = 540 ET = 1057.9 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.3 -0.2 -0.0 | 2.1 3.4 0.6 | -7.9 -68.9 -0.1 | 23.8 13.1 18.1\n",
+ "v_f | -0.07 -0.02 -1.26 | 0.28 0.24 0.37 | -4.61 -1.84 -2.20 | 0.91 0.72 5.69\n",
+ "r_i | 948.5 10.1 2350.7 | 567.5 557.8 29.5 | 0.0 -999.3 2300.1 | 1996.9 998.0 2400.0\n",
+ "v_i | -40.31 0.27 -79.96 | 17.67 17.54 5.75 | -69.97 -29.98 -90.00 | -10.05 30.00 -70.01\n",
+ "norm_rf | 2.2 | 3.4 | 0.1 | 71.3\n",
+ "norm_vf | 1.33 | 0.33 | 0.25 | 7.56\n",
+ "gs_f | 11.0 | 36.4 | 0.2 | 1228.4\n",
+ "thrust | 1248 -2 9247 | 2860 2783 2294 | -17230 -17037 2000 | 16840 16043 19994\n",
+ "norm_thrust | 9892 | 3224 | 3464 | 20000\n",
+ "fuel | 289 | 23 | 256 | 500\n",
+ "rewards | -8.74 | 7.72 | -45.08 | 2.31\n",
+ "fuel_rewards | -7.44 | 0.59 | -12.88 | -6.61\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.48 | 0.55 | 0.05 | 4.61\n",
+ "norm_af | 0.08 | 0.05 | 0.00 | 0.73\n",
+ "norm_wf | 0.24 | 0.14 | 0.01 | 1.02\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.08 | 0.53 | -7.83 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | -0.01 0.11 -0.00 | 0.37 0.21 0.20 | -1.57 -0.94 -1.20 | 1.95 1.12 1.13\n",
+ "w | 0.00 -0.01 -0.00 | 0.26 0.26 0.01 | -2.37 -2.47 -0.10 | 2.15 1.57 0.10\n",
+ "a_f | -0.01 -0.00 | 0.07 0.07 | -0.25 -0.71 | 0.23 0.24\n",
+ "w_f | -0.02 -0.01 -0.00 | 0.20 0.19 0.01 | -0.95 -0.79 -0.09 | 0.59 0.89 0.09\n",
+ "landing_rewards | 5.58 | 4.97 | 0.00 | 10.00\n",
+ "landing_margin | 0.62 | 3.02 | -0.17 | 66.31\n",
+ "tracking_rewards | -6.80 | 5.44 | -39.46 | -0.35\n",
+ "steps | 300 | 37 | 244 | 601\n",
+ "***** Episode 85181, Mean R = -9.0 Std R = 7.4 Min R = -36.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.925\n",
+ "ExplainedVarOld: 0.87\n",
+ "KL: 0.000956\n",
+ "PolicyEntropy: -2.16\n",
+ "PolicyLoss: -0.00218\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 1.86e+07\n",
+ "ValFuncLoss: 0.00019\n",
+ "Variance: 0.153\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010963654 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.14497603 0.13000667 0.15313612 0.13689816]\n",
+ "FIT: 0.996849167672383 1.7798333112636544 0.0266800032502399 0.11734800315620568\n",
+ "***** Episode 85302, Mean R = -9.4 Std R = 9.9 Min R = -61.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.94\n",
+ "ExplainedVarOld: 0.91\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -2.16\n",
+ "PolicyLoss: -0.00235\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 1.87e+07\n",
+ "ValFuncLoss: 0.0002\n",
+ "Variance: 0.153\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0007905697 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.14453454 0.12901013 0.15336826 0.13639025]\n",
+ "FIT: 0.7712513646438968 1.7400282207085591 0.029248335485581003 0.12256386532556701\n",
+ "***** Episode 85423, Mean R = -11.0 Std R = 9.5 Min R = -58.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.948\n",
+ "ExplainedVarOld: 0.932\n",
+ "KL: 0.000791\n",
+ "PolicyEntropy: -2.17\n",
+ "PolicyLoss: -0.00196\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 1.87e+07\n",
+ "ValFuncLoss: 0.000183\n",
+ "Variance: 0.153\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012578683 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.14415394 0.12891966 0.15387474 0.13634026]\n",
+ "FIT: 5.210737520854266 1.7254161164616464 0.02887783549388118 0.11705094095894188\n",
+ "***** Episode 85544, Mean R = -10.1 Std R = 17.8 Min R = -183.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.861\n",
+ "ExplainedVarOld: 0.436\n",
+ "KL: 0.00126\n",
+ "PolicyEntropy: -2.17\n",
+ "PolicyLoss: -0.00217\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 1.87e+07\n",
+ "ValFuncLoss: 0.00173\n",
+ "Variance: 0.154\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011682424 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.14420302 0.12890829 0.15400028 0.13656297]\n",
+ "FIT: 5.208294255156685 1.5836397142165146 0.03019491873577485 0.12000726398940154\n",
+ "***** Episode 85665, Mean R = -10.8 Std R = 16.5 Min R = -168.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.802\n",
+ "ExplainedVarOld: 0.608\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -2.17\n",
+ "PolicyLoss: -0.00191\n",
+ "Steps: 3.73e+04\n",
+ "TotalSteps: 1.88e+07\n",
+ "ValFuncLoss: 0.00242\n",
+ "Variance: 0.154\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009312374 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.14293638 0.12849914 0.15410797 0.13673443]\n",
+ "FIT: 0.6267661642308168 1.6800879026775533 0.024572194347758827 0.1187693278012183\n",
+ "***** Episode 85786, Mean R = -8.0 Std R = 8.3 Min R = -60.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.939\n",
+ "ExplainedVarOld: 0.897\n",
+ "KL: 0.000931\n",
+ "PolicyEntropy: -2.18\n",
+ "PolicyLoss: -0.00258\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 1.88e+07\n",
+ "ValFuncLoss: 0.000188\n",
+ "Variance: 0.154\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010383937 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.14191051 0.12837689 0.15335582 0.1364247 ]\n",
+ "FIT: 0.708785477069953 1.7097444900119279 0.025007988967320798 0.11878207098265076\n",
+ "***** Episode 85907, Mean R = -8.9 Std R = 7.3 Min R = -32.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.913\n",
+ "ExplainedVarOld: 0.893\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -2.2\n",
+ "PolicyLoss: -0.0017\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 1.88e+07\n",
+ "ValFuncLoss: 0.000204\n",
+ "Variance: 0.153\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00076893804 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.14077613 0.12825559 0.1532563 0.13745013]\n",
+ "FIT: 0.5969416019881059 1.534199922932767 0.02622792839108948 0.12012115288485242\n",
+ "***** Episode 86028, Mean R = -9.5 Std R = 7.5 Min R = -31.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.927\n",
+ "ExplainedVarOld: 0.918\n",
+ "KL: 0.000769\n",
+ "PolicyEntropy: -2.2\n",
+ "PolicyLoss: -0.00139\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 1.89e+07\n",
+ "ValFuncLoss: 0.000179\n",
+ "Variance: 0.153\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011448757 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.14062105 0.12891717 0.15229501 0.13619901]\n",
+ "FIT: 0.43872248376595874 2.9236817068198864 0.024796165579602823 0.11687110448188166\n",
+ "***** Episode 86149, Mean R = -8.9 Std R = 6.7 Min R = -24.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.896\n",
+ "ExplainedVarOld: 0.884\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -2.21\n",
+ "PolicyLoss: -0.00211\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 1.89e+07\n",
+ "ValFuncLoss: 0.000195\n",
+ "Variance: 0.152\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00072864606 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.14027503 0.1283371 0.1511421 0.13652855]\n",
+ "FIT: 0.640369440675406 1.5824609967397487 0.024897797599359846 0.11505221470358208\n",
+ "***** Episode 86270, Mean R = -8.7 Std R = 8.0 Min R = -41.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.929\n",
+ "ExplainedVarOld: 0.916\n",
+ "KL: 0.000729\n",
+ "PolicyEntropy: -2.22\n",
+ "PolicyLoss: -0.00131\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 1.9e+07\n",
+ "ValFuncLoss: 0.000169\n",
+ "Variance: 0.151\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011249719 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.13985962 0.12895754 0.15073082 0.13627112]\n",
+ "FIT: 1.223458320080163 1.760327296839762 0.02798112056632501 0.11742976672482172\n",
+ "Update Cnt = 550 ET = 1080.0 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.2 -0.6 0.1 | 2.1 4.9 1.6 | -18.3 -83.6 -0.1 | 15.6 6.7 35.4\n",
+ "v_f | -0.05 -0.02 -1.25 | 0.52 0.38 0.36 | -11.68 -9.09 -2.04 | 1.63 3.04 3.04\n",
+ "r_i | 1021.3 -21.5 2348.7 | 586.0 583.6 28.8 | 2.3 -999.1 2300.0 | 1999.3 998.4 2400.0\n",
+ "v_i | -39.61 0.28 -80.08 | 16.93 17.41 5.84 | -69.90 -29.98 -90.00 | -10.01 29.97 -70.01\n",
+ "norm_rf | 2.4 | 5.1 | 0.0 | 83.8\n",
+ "norm_vf | 1.34 | 0.56 | 0.13 | 12.28\n",
+ "gs_f | 11.0 | 19.6 | 0.1 | 523.6\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "thrust | 1206 0 9220 | 2809 2901 2321 | -16315 -16336 1227 | 16533 16053 19999\n",
+ "norm_thrust | 9873 | 3266 | 3464 | 20000\n",
+ "fuel | 292 | 28 | 258 | 561\n",
+ "rewards | -9.52 | 10.81 | -183.78 | 2.56\n",
+ "fuel_rewards | -7.54 | 0.71 | -14.46 | -6.64\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.44 | 0.52 | 0.06 | 4.23\n",
+ "norm_af | 0.08 | 0.08 | 0.00 | 1.40\n",
+ "norm_wf | 0.25 | 0.14 | 0.01 | 1.67\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.17 | 1.85 | -33.19 | 0.00\n",
+ "att_penalty | -0.17 | 4.06 | -100.00 | 0.00\n",
+ "attitude | -0.00 0.11 -0.00 | 0.38 0.20 0.21 | -1.95 -1.23 -1.39 | 2.88 1.38 1.14\n",
+ "w | -0.00 -0.01 -0.00 | 0.26 0.26 0.02 | -2.08 -2.46 -0.22 | 2.19 1.75 0.29\n",
+ "a_f | -0.01 -0.00 | 0.08 0.08 | -0.43 -1.39 | 1.38 0.26\n",
+ "w_f | -0.00 -0.00 -0.00 | 0.20 0.21 0.02 | -0.60 -0.67 -0.21 | 1.60 1.16 0.29\n",
+ "landing_rewards | 5.21 | 5.00 | 0.00 | 10.00\n",
+ "landing_margin | 0.88 | 4.58 | -0.18 | 78.82\n",
+ "tracking_rewards | -6.86 | 5.56 | -50.64 | -0.22\n",
+ "steps | 305 | 42 | 243 | 601\n",
+ "***** Episode 86391, Mean R = -9.9 Std R = 9.8 Min R = -62.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.938\n",
+ "ExplainedVarOld: 0.82\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -2.23\n",
+ "PolicyLoss: -0.00272\n",
+ "Steps: 3.6e+04\n",
+ "TotalSteps: 1.9e+07\n",
+ "ValFuncLoss: 0.000241\n",
+ "Variance: 0.151\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009158462 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.13964516 0.12792689 0.1503247 0.13618822]\n",
+ "FIT: 0.5979629441821869 1.7533939413808644 0.026366415906224284 0.1205531680747847\n",
+ "***** Episode 86512, Mean R = -9.0 Std R = 8.6 Min R = -37.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.943\n",
+ "ExplainedVarOld: 0.929\n",
+ "KL: 0.000916\n",
+ "PolicyEntropy: -2.24\n",
+ "PolicyLoss: -0.00202\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 1.9e+07\n",
+ "ValFuncLoss: 0.000187\n",
+ "Variance: 0.15\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009940341 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.1393049 0.12684314 0.14924516 0.13598384]\n",
+ "FIT: 0.5268046906378073 1.7030485040741645 0.02479613294915702 0.11699390679591179\n",
+ "***** Episode 86633, Mean R = -8.5 Std R = 7.6 Min R = -30.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.935\n",
+ "ExplainedVarOld: 0.892\n",
+ "KL: 0.000994\n",
+ "PolicyEntropy: -2.26\n",
+ "PolicyLoss: -0.00214\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 1.91e+07\n",
+ "ValFuncLoss: 0.000173\n",
+ "Variance: 0.149\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009958004 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.13859725 0.12625569 0.14859502 0.13558874]\n",
+ "FIT: 0.5295638693702879 1.778305576388207 0.02517887015102315 0.1180890343861435\n",
+ "***** Episode 86754, Mean R = -8.7 Std R = 7.2 Min R = -30.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.934\n",
+ "ExplainedVarOld: 0.923\n",
+ "KL: 0.000996\n",
+ "PolicyEntropy: -2.27\n",
+ "PolicyLoss: -0.00163\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 1.91e+07\n",
+ "ValFuncLoss: 0.000169\n",
+ "Variance: 0.149\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008952681 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.13828847 0.12652259 0.14867513 0.13546002]\n",
+ "FIT: 0.5356710631651562 1.6960622160911114 0.025364557331081023 0.11772166805657115\n",
+ "***** Episode 86875, Mean R = -9.0 Std R = 7.8 Min R = -29.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.929\n",
+ "ExplainedVarOld: 0.921\n",
+ "KL: 0.000895\n",
+ "PolicyEntropy: -2.28\n",
+ "PolicyLoss: -0.00176\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 1.91e+07\n",
+ "ValFuncLoss: 0.000171\n",
+ "Variance: 0.149\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00084644725 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.13764258 0.1263486 0.14868112 0.13570052]\n",
+ "FIT: 0.5702446250850051 1.8115383133562477 0.0250436666202351 0.11569559963838937\n",
+ "***** Episode 86996, Mean R = -8.7 Std R = 6.6 Min R = -26.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.93\n",
+ "ExplainedVarOld: 0.916\n",
+ "KL: 0.000846\n",
+ "PolicyEntropy: -2.28\n",
+ "PolicyLoss: -0.00172\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 1.92e+07\n",
+ "ValFuncLoss: 0.000172\n",
+ "Variance: 0.149\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009820501 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.13639066 0.12610017 0.14837898 0.13539128]\n",
+ "FIT: 0.5833020054190109 1.7324418828511425 0.026123809263532426 0.11675207828464197\n",
+ "***** Episode 87117, Mean R = -9.2 Std R = 7.1 Min R = -28.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.926\n",
+ "ExplainedVarOld: 0.917\n",
+ "KL: 0.000982\n",
+ "PolicyEntropy: -2.29\n",
+ "PolicyLoss: -0.00169\n",
+ "Steps: 3.6e+04\n",
+ "TotalSteps: 1.92e+07\n",
+ "ValFuncLoss: 0.000231\n",
+ "Variance: 0.148\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010569991 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.13551949 0.12664077 0.14835308 0.13539 ]\n",
+ "FIT: 0.6645268085657152 1.651955215614379 0.02648074700774904 0.11786493213868997\n",
+ "***** Episode 87238, Mean R = -9.5 Std R = 7.5 Min R = -34.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.934\n",
+ "ExplainedVarOld: 0.919\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -2.3\n",
+ "PolicyLoss: -0.00183\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 1.92e+07\n",
+ "ValFuncLoss: 0.000185\n",
+ "Variance: 0.148\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008722239 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.13626361 0.12725486 0.14814325 0.13465387]\n",
+ "FIT: 0.8344183085984744 1.732423268791879 0.02590519956007961 0.1200614400920362\n",
+ "***** Episode 87359, Mean R = -9.1 Std R = 8.7 Min R = -50.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.94\n",
+ "ExplainedVarOld: 0.82\n",
+ "KL: 0.000872\n",
+ "PolicyEntropy: -2.29\n",
+ "PolicyLoss: -0.00227\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 1.93e+07\n",
+ "ValFuncLoss: 0.00017\n",
+ "Variance: 0.148\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012733391 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.13588041 0.12684684 0.14835113 0.1338796 ]\n",
+ "FIT: 0.5829510752679535 1.7448287796807014 0.024553437188467673 0.11691360768814829\n",
+ "***** Episode 87480, Mean R = -8.2 Std R = 7.6 Min R = -31.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.936\n",
+ "ExplainedVarOld: 0.924\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -2.3\n",
+ "PolicyLoss: 4.26e-05\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 1.93e+07\n",
+ "ValFuncLoss: 0.000165\n",
+ "Variance: 0.148\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012023853 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.13567744 0.12680988 0.14837404 0.13402507]\n",
+ "FIT: 5.268283299869583 1.8722188344479078 0.02714803477302693 0.11664338690709557\n",
+ "Update Cnt = 560 ET = 1076.7 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 0.0 | 1.8 3.0 0.9 | -5.2 -59.0 -0.1 | 17.7 7.5 29.7\n",
+ "v_f | 0.01 -0.01 -1.26 | 0.29 0.26 0.30 | -0.67 -1.57 -3.30 | 5.85 4.44 0.39\n",
+ "r_i | 985.7 20.8 2348.7 | 582.9 581.7 29.0 | 2.3 -998.9 2300.1 | 1991.3 998.8 2400.0\n",
+ "v_i | -39.92 0.05 -79.81 | 17.42 17.39 5.76 | -69.97 -29.93 -89.98 | -10.05 29.95 -70.00\n",
+ "norm_rf | 2.0 | 3.0 | 0.1 | 59.2\n",
+ "norm_vf | 1.32 | 0.32 | 0.23 | 8.06\n",
+ "gs_f | 11.1 | 15.6 | 0.1 | 331.1\n",
+ "thrust | 1231 5 9238 | 2860 2877 2287 | -15759 -17034 1132 | 16960 17020 19998\n",
+ "norm_thrust | 9899 | 3249 | 3464 | 20000\n",
+ "fuel | 291 | 22 | 256 | 498\n",
+ "rewards | -8.92 | 8.39 | -135.22 | 2.86\n",
+ "fuel_rewards | -7.49 | 0.57 | -12.84 | -6.60\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.45 | 0.53 | 0.06 | 5.04\n",
+ "norm_af | 0.08 | 0.07 | 0.00 | 1.78\n",
+ "norm_wf | 0.24 | 0.14 | 0.01 | 1.92\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.59 | -18.15 | 0.00\n",
+ "att_penalty | -0.08 | 2.87 | -100.00 | 0.00\n",
+ "attitude | -0.02 0.11 -0.00 | 0.38 0.21 0.21 | -1.72 -1.07 -1.04 | 2.71 1.26 1.42\n",
+ "w | -0.00 -0.01 -0.00 | 0.25 0.26 0.01 | -1.76 -2.47 -0.10 | 1.85 1.92 0.16\n",
+ "a_f | -0.01 -0.00 | 0.07 0.07 | -1.07 -0.21 | 0.27 1.42\n",
+ "w_f | -0.00 -0.01 -0.00 | 0.19 0.21 0.01 | -0.60 -1.91 -0.09 | 0.67 0.65 0.16\n",
+ "landing_rewards | 5.52 | 4.97 | 0.00 | 10.00\n",
+ "landing_margin | 0.54 | 2.51 | -0.18 | 54.18\n",
+ "tracking_rewards | -6.81 | 5.20 | -37.50 | 0.03\n",
+ "steps | 302 | 36 | 244 | 601\n",
+ "***** Episode 87601, Mean R = -9.3 Std R = 13.2 Min R = -135.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.9\n",
+ "ExplainedVarOld: 0.61\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: -2.3\n",
+ "PolicyLoss: -0.00131\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 1.94e+07\n",
+ "ValFuncLoss: 0.00102\n",
+ "Variance: 0.148\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0010167249 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.13510142 0.12683044 0.14834256 0.13476036]\n",
+ "FIT: 1.0639947514247794 1.791879873568072 0.02709881402128439 0.11816048402232335\n",
+ "***** Episode 87722, Mean R = -9.4 Std R = 9.3 Min R = -56.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.929\n",
+ "ExplainedVarOld: 0.751\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -2.3\n",
+ "PolicyLoss: -0.00223\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 1.94e+07\n",
+ "ValFuncLoss: 0.000241\n",
+ "Variance: 0.148\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011782945 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.13366154 0.12693112 0.14810632 0.13405907]\n",
+ "FIT: 0.7625028501890636 1.8085478765492915 0.026144593299716128 0.11647417982197139\n",
+ "***** Episode 87843, Mean R = -9.2 Std R = 8.6 Min R = -58.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.937\n",
+ "ExplainedVarOld: 0.912\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -2.32\n",
+ "PolicyLoss: -0.00177\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 1.94e+07\n",
+ "ValFuncLoss: 0.000192\n",
+ "Variance: 0.148\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013549459 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.1329823 0.12578984 0.14733578 0.13359998]\n",
+ "FIT: 0.619551094836476 1.6104246090452663 0.023827343274736804 0.11596458248262136\n",
+ "***** Episode 87964, Mean R = -7.7 Std R = 7.4 Min R = -40.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.923\n",
+ "ExplainedVarOld: 0.904\n",
+ "KL: 0.00135\n",
+ "PolicyEntropy: -2.34\n",
+ "PolicyLoss: -0.000899\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 1.95e+07\n",
+ "ValFuncLoss: 0.000185\n",
+ "Variance: 0.147\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008801878 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.13252886 0.12574375 0.14762877 0.13407128]\n",
+ "FIT: 0.6078943290496822 1.7376625206512497 0.027475996179244892 0.11761096837828791\n",
+ "***** Episode 88085, Mean R = -9.6 Std R = 8.5 Min R = -38.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.94\n",
+ "ExplainedVarOld: 0.926\n",
+ "KL: 0.00088\n",
+ "PolicyEntropy: -2.34\n",
+ "PolicyLoss: -0.00165\n",
+ "Steps: 3.59e+04\n",
+ "TotalSteps: 1.95e+07\n",
+ "ValFuncLoss: 0.000207\n",
+ "Variance: 0.148\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ " *** BROKE ***\n",
+ "kl = 0.0041922466 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.13176134 0.12604041 0.14737865 0.13402456]\n",
+ "FIT: 0.653780294392036 1.6909275923043632 0.023049490978701632 0.11718498709891799\n",
+ "***** Episode 88206, Mean R = -7.6 Std R = 7.4 Min R = -34.1\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.926\n",
+ "ExplainedVarOld: 0.917\n",
+ "KL: 0.00419\n",
+ "PolicyEntropy: -2.35\n",
+ "PolicyLoss: 0.00796\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 1.95e+07\n",
+ "ValFuncLoss: 0.00017\n",
+ "Variance: 0.147\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ " *** BROKE ***\n",
+ "kl = 0.00511963 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.13170083 0.12606154 0.14735182 0.134006 ]\n",
+ "FIT: 0.5351641681398632 1.6109934673758097 0.02256295845065834 0.11348213807319392\n",
+ "***** Episode 88327, Mean R = -6.9 Std R = 7.3 Min R = -25.1\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.912\n",
+ "ExplainedVarOld: 0.895\n",
+ "KL: 0.00512\n",
+ "PolicyEntropy: -2.35\n",
+ "PolicyLoss: 0.0152\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 1.96e+07\n",
+ "ValFuncLoss: 0.000187\n",
+ "Variance: 0.147\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00021099398 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.13165621 0.12605111 0.1471649 0.13408938]\n",
+ "FIT: 0.6627906895078561 1.766756431668913 0.024922231181368396 0.11442413881634751\n",
+ "***** Episode 88448, Mean R = -8.6 Std R = 7.9 Min R = -41.7\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.93\n",
+ "ExplainedVarOld: 0.918\n",
+ "KL: 0.000211\n",
+ "PolicyEntropy: -2.35\n",
+ "PolicyLoss: -0.000351\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 1.96e+07\n",
+ "ValFuncLoss: 0.000184\n",
+ "Variance: 0.147\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0004087165 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.13174929 0.12559953 0.1462256 0.13417806]\n",
+ "FIT: 0.6867317663650493 1.8364071079098003 0.025582131259272365 0.11638616764962913\n",
+ "***** Episode 88569, Mean R = -8.8 Std R = 7.5 Min R = -37.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.934\n",
+ "ExplainedVarOld: 0.927\n",
+ "KL: 0.000409\n",
+ "PolicyEntropy: -2.36\n",
+ "PolicyLoss: -0.00126\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 1.96e+07\n",
+ "ValFuncLoss: 0.000194\n",
+ "Variance: 0.146\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010931651 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.13068196 0.12537171 0.14572956 0.13297561]\n",
+ "FIT: 0.7331835433660578 1.7896515283077206 0.025682405095021295 0.11540716896774898\n",
+ "***** Episode 88690, Mean R = -9.1 Std R = 8.2 Min R = -48.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.93\n",
+ "ExplainedVarOld: 0.918\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -2.38\n",
+ "PolicyLoss: -0.00188\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 1.97e+07\n",
+ "ValFuncLoss: 0.000193\n",
+ "Variance: 0.146\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00080725213 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.13057175 0.12545612 0.14481053 0.1332216 ]\n",
+ "FIT: 0.7271136722425328 1.7356681896494732 0.02443160288545336 0.11730156902291014\n",
+ "Update Cnt = 570 ET = 1078.0 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.2 -0.5 -0.0 | 1.8 4.5 0.4 | -8.2 -95.6 -0.1 | 17.2 7.4 7.9\n",
+ "v_f | -0.01 -0.03 -1.27 | 0.24 0.21 0.29 | -0.67 -1.24 -2.11 | 1.35 0.85 1.12\n",
+ "r_i | 999.1 7.3 2349.8 | 577.5 576.7 27.9 | 2.1 -999.7 2300.3 | 1999.2 999.5 2399.9\n",
+ "v_i | -39.90 0.34 -80.12 | 17.19 16.96 5.79 | -69.92 -30.00 -90.00 | -10.07 29.95 -70.00\n",
+ "norm_rf | 2.0 | 4.5 | 0.0 | 97.4\n",
+ "norm_vf | 1.32 | 0.25 | 0.41 | 2.11\n",
+ "gs_f | 11.5 | 18.7 | 0.1 | 420.5\n",
+ "thrust | 1227 -5 9237 | 2848 2823 2294 | -16685 -17040 2000 | 17043 16969 19997\n",
+ "norm_thrust | 9881 | 3248 | 3464 | 20000\n",
+ "fuel | 290 | 23 | 256 | 501\n",
+ "rewards | -8.50 | 8.12 | -58.66 | 2.88\n",
+ "fuel_rewards | -7.48 | 0.59 | -12.91 | -6.58\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.47 | 0.53 | 0.04 | 4.68\n",
+ "norm_af | 0.08 | 0.04 | 0.00 | 0.38\n",
+ "norm_wf | 0.24 | 0.13 | 0.01 | 0.92\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.11 | 0.99 | -25.10 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.12 0.00 | 0.36 0.21 0.20 | -1.51 -1.00 -1.19 | 2.67 1.10 1.34\n",
+ "w | -0.00 -0.01 0.00 | 0.25 0.26 0.01 | -2.10 -2.47 -0.09 | 2.15 1.61 0.08\n",
+ "a_f | -0.01 -0.00 | 0.07 0.06 | -0.38 -0.18 | 0.21 0.30\n",
+ "w_f | -0.01 -0.00 0.00 | 0.19 0.19 0.01 | -0.72 -0.60 -0.07 | 0.64 0.77 0.07\n",
+ "landing_rewards | 5.68 | 4.95 | 0.00 | 10.00\n",
+ "landing_margin | 0.62 | 4.11 | -0.19 | 92.43\n",
+ "tracking_rewards | -6.59 | 5.70 | -50.48 | -0.11\n",
+ "steps | 302 | 37 | 241 | 601\n",
+ "***** Episode 88811, Mean R = -8.0 Std R = 8.5 Min R = -41.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.945\n",
+ "ExplainedVarOld: 0.926\n",
+ "KL: 0.000807\n",
+ "PolicyEntropy: -2.38\n",
+ "PolicyLoss: -0.00185\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 1.97e+07\n",
+ "ValFuncLoss: 0.000165\n",
+ "Variance: 0.145\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008987651 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12940387 0.12483498 0.14473824 0.13342504]\n",
+ "FIT: 0.582853461670424 1.7867159743452683 0.02556695012831122 0.11825340757734626\n",
+ "***** Episode 88932, Mean R = -9.2 Std R = 7.4 Min R = -35.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.93\n",
+ "ExplainedVarOld: 0.912\n",
+ "KL: 0.000899\n",
+ "PolicyEntropy: -2.4\n",
+ "PolicyLoss: -0.00156\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 1.98e+07\n",
+ "ValFuncLoss: 0.000179\n",
+ "Variance: 0.145\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010709484 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12908153 0.12461923 0.14417198 0.13378346]\n",
+ "FIT: 0.5934316272362261 1.7332349939330984 0.025173860347496732 0.11445758343669458\n",
+ "***** Episode 89053, Mean R = -8.8 Std R = 7.4 Min R = -30.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.936\n",
+ "ExplainedVarOld: 0.93\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -2.4\n",
+ "PolicyLoss: -0.00156\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 1.98e+07\n",
+ "ValFuncLoss: 0.000182\n",
+ "Variance: 0.144\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010537283 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12885378 0.12478218 0.14355573 0.1334651 ]\n",
+ "FIT: 0.7076728125601429 1.7748447364043427 0.024773445911214477 0.11704910749047957\n",
+ "***** Episode 89174, Mean R = -8.1 Std R = 7.9 Min R = -41.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.937\n",
+ "ExplainedVarOld: 0.921\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -2.41\n",
+ "PolicyLoss: -0.00193\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 1.98e+07\n",
+ "ValFuncLoss: 0.000202\n",
+ "Variance: 0.144\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011137878 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12832667 0.12461763 0.14382605 0.13341142]\n",
+ "FIT: 0.897983906265834 1.7716782353500278 0.02731332645258319 0.12225247280279068\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 89295, Mean R = -9.8 Std R = 9.2 Min R = -47.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.947\n",
+ "ExplainedVarOld: 0.876\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -2.41\n",
+ "PolicyLoss: -0.0022\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 1.99e+07\n",
+ "ValFuncLoss: 0.000185\n",
+ "Variance: 0.144\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009068291 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12827916 0.12477478 0.14284255 0.13213861]\n",
+ "FIT: 0.6616450310901542 1.7142787585936492 0.025211140745369124 0.11743704543354923\n",
+ "***** Episode 89416, Mean R = -8.4 Std R = 7.9 Min R = -38.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.944\n",
+ "ExplainedVarOld: 0.932\n",
+ "KL: 0.000907\n",
+ "PolicyEntropy: -2.43\n",
+ "PolicyLoss: -0.00199\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 1.99e+07\n",
+ "ValFuncLoss: 0.000185\n",
+ "Variance: 0.143\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009690932 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.1279635 0.12414271 0.14226389 0.13140196]\n",
+ "FIT: 0.7613156528864996 1.7466745118085023 0.02529257671701012 0.11776169128813935\n",
+ "***** Episode 89537, Mean R = -8.4 Std R = 7.7 Min R = -49.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.948\n",
+ "ExplainedVarOld: 0.936\n",
+ "KL: 0.000969\n",
+ "PolicyEntropy: -2.45\n",
+ "PolicyLoss: -0.00208\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 1.99e+07\n",
+ "ValFuncLoss: 0.000167\n",
+ "Variance: 0.142\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010093503 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12762603 0.12365957 0.14132948 0.13149159]\n",
+ "FIT: 0.5401660862256442 1.720989827421033 0.023101088382405127 0.11536114332991804\n",
+ "***** Episode 89658, Mean R = -7.4 Std R = 7.1 Min R = -29.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.927\n",
+ "ExplainedVarOld: 0.908\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -2.46\n",
+ "PolicyLoss: -0.00192\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2e+07\n",
+ "ValFuncLoss: 0.000177\n",
+ "Variance: 0.141\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010182487 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12747467 0.12365421 0.14051802 0.13141926]\n",
+ "FIT: 0.5897040404221685 1.7807087072607612 0.022635022032211575 0.11519006576347121\n",
+ "***** Episode 89779, Mean R = -7.1 Std R = 7.5 Min R = -38.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.926\n",
+ "ExplainedVarOld: 0.915\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -2.47\n",
+ "PolicyLoss: -0.00159\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 2e+07\n",
+ "ValFuncLoss: 0.000175\n",
+ "Variance: 0.141\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010258441 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12787719 0.12369661 0.14013673 0.13090564]\n",
+ "FIT: 1.0252602984110692 1.8023106241514282 0.0262548665092396 0.11730091080511074\n",
+ "***** Episode 89900, Mean R = -9.1 Std R = 8.6 Min R = -47.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.946\n",
+ "ExplainedVarOld: 0.915\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -2.47\n",
+ "PolicyLoss: -0.00228\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 2e+07\n",
+ "ValFuncLoss: 0.000178\n",
+ "Variance: 0.14\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00085988163 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12767497 0.12287419 0.13986242 0.13080806]\n",
+ "FIT: 0.8594428207647113 1.6801700187552584 0.024375532435820225 0.11601785430194372\n",
+ "Update Cnt = 580 ET = 1083.3 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.2 -0.3 0.0 | 1.8 2.7 1.0 | -5.1 -62.7 -0.1 | 16.9 8.8 27.8\n",
+ "v_f | 0.00 -0.02 -1.26 | 0.34 0.31 0.33 | -8.07 -5.69 -2.14 | 2.66 5.99 3.25\n",
+ "r_i | 1027.7 -25.2 2349.0 | 567.1 576.3 28.5 | 1.0 -999.1 2300.2 | 1999.5 997.5 2399.8\n",
+ "v_i | -39.08 -0.36 -79.82 | 17.42 17.97 5.60 | -69.98 -29.94 -89.99 | -10.05 29.98 -70.01\n",
+ "norm_rf | 1.9 | 2.8 | 0.1 | 68.8\n",
+ "norm_vf | 1.33 | 0.39 | 0.47 | 10.55\n",
+ "gs_f | 11.3 | 14.7 | 0.1 | 252.7\n",
+ "thrust | 1196 19 9219 | 2802 2886 2284 | -16674 -17089 2000 | 16711 16630 19999\n",
+ "norm_thrust | 9867 | 3234 | 3464 | 20000\n",
+ "fuel | 290 | 20 | 258 | 496\n",
+ "rewards | -8.47 | 7.92 | -62.09 | 2.53\n",
+ "fuel_rewards | -7.48 | 0.52 | -12.78 | -6.64\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.43 | 0.51 | 0.05 | 4.49\n",
+ "norm_af | 0.08 | 0.06 | 0.00 | 1.00\n",
+ "norm_wf | 0.24 | 0.13 | 0.01 | 1.12\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.11 | 1.09 | -20.71 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.00 0.12 0.00 | 0.37 0.20 0.20 | -1.88 -0.97 -1.32 | 2.29 1.12 1.05\n",
+ "w | 0.00 -0.01 0.00 | 0.25 0.26 0.01 | -1.98 -2.51 -0.10 | 1.92 1.81 0.17\n",
+ "a_f | -0.01 -0.00 | 0.07 0.07 | -0.58 -0.84 | 0.54 0.28\n",
+ "w_f | -0.01 -0.01 -0.00 | 0.19 0.20 0.01 | -0.74 -0.67 -0.10 | 0.66 0.81 0.17\n",
+ "landing_rewards | 5.76 | 4.94 | 0.00 | 10.00\n",
+ "landing_margin | 0.45 | 2.47 | -0.17 | 63.75\n",
+ "tracking_rewards | -6.64 | 5.58 | -50.83 | -0.10\n",
+ "steps | 302 | 32 | 243 | 601\n",
+ "***** Episode 90021, Mean R = -8.4 Std R = 7.8 Min R = -62.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.905\n",
+ "ExplainedVarOld: 0.743\n",
+ "KL: 0.00086\n",
+ "PolicyEntropy: -2.48\n",
+ "PolicyLoss: -0.00189\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 2.01e+07\n",
+ "ValFuncLoss: 0.000212\n",
+ "Variance: 0.14\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013048982 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12692778 0.12217771 0.13923304 0.1307977 ]\n",
+ "FIT: 0.6766618324023611 1.7341766063936284 0.025992351810749617 0.11905654849859276\n",
+ "***** Episode 90142, Mean R = -8.9 Std R = 7.9 Min R = -39.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.942\n",
+ "ExplainedVarOld: 0.932\n",
+ "KL: 0.0013\n",
+ "PolicyEntropy: -2.5\n",
+ "PolicyLoss: -0.00204\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 2.01e+07\n",
+ "ValFuncLoss: 0.000174\n",
+ "Variance: 0.139\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008625998 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.1261116 0.12191361 0.13893329 0.12955606]\n",
+ "FIT: 0.5006751985933849 1.699100139858197 0.024127807313210122 0.11792172246916471\n",
+ "***** Episode 90263, Mean R = -8.4 Std R = 6.8 Min R = -25.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.921\n",
+ "ExplainedVarOld: 0.907\n",
+ "KL: 0.000863\n",
+ "PolicyEntropy: -2.52\n",
+ "PolicyLoss: -0.00156\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 2.02e+07\n",
+ "ValFuncLoss: 0.000179\n",
+ "Variance: 0.139\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009182921 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12566954 0.12183806 0.13900371 0.1287887 ]\n",
+ "FIT: 1.0206579985288309 1.7229123329468403 0.026465881930256 0.12340684846433408\n",
+ "***** Episode 90384, Mean R = -9.4 Std R = 9.1 Min R = -60.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.938\n",
+ "ExplainedVarOld: 0.884\n",
+ "KL: 0.000918\n",
+ "PolicyEntropy: -2.53\n",
+ "PolicyLoss: -0.00241\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 2.02e+07\n",
+ "ValFuncLoss: 0.000214\n",
+ "Variance: 0.139\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010352893 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12589373 0.12133887 0.13810706 0.12841396]\n",
+ "FIT: 0.5314044432856906 1.7359587576188156 0.02315675675361158 0.11378426658844121\n",
+ "***** Episode 90505, Mean R = -7.4 Std R = 6.4 Min R = -23.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.912\n",
+ "ExplainedVarOld: 0.892\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -2.54\n",
+ "PolicyLoss: -0.00155\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 2.02e+07\n",
+ "ValFuncLoss: 0.00018\n",
+ "Variance: 0.138\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00073544635 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.1263208 0.12168504 0.13777743 0.12762882]\n",
+ "FIT: 0.5557474444779785 1.7077353634181578 0.02424804162234554 0.11743464456630258\n",
+ "***** Episode 90626, Mean R = -8.0 Std R = 7.4 Min R = -35.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.919\n",
+ "ExplainedVarOld: 0.82\n",
+ "KL: 0.000735\n",
+ "PolicyEntropy: -2.54\n",
+ "PolicyLoss: -0.00171\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 2.03e+07\n",
+ "ValFuncLoss: 0.000185\n",
+ "Variance: 0.138\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00093731016 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12659974 0.12009599 0.1369881 0.12749006]\n",
+ "FIT: 0.533696015407376 1.5678537457921848 0.023696902161724615 0.1194833920845037\n",
+ "***** Episode 90747, Mean R = -7.5 Std R = 6.7 Min R = -28.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.928\n",
+ "ExplainedVarOld: 0.915\n",
+ "KL: 0.000937\n",
+ "PolicyEntropy: -2.56\n",
+ "PolicyLoss: -0.00183\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 2.03e+07\n",
+ "ValFuncLoss: 0.00018\n",
+ "Variance: 0.137\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008928499 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.1262668 0.11989067 0.13661636 0.12766849]\n",
+ "FIT: 0.5132811339564064 1.6636875666830153 0.02251208137416039 0.11616745056008686\n",
+ "***** Episode 90868, Mean R = -6.9 Std R = 6.6 Min R = -32.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.929\n",
+ "ExplainedVarOld: 0.918\n",
+ "KL: 0.000893\n",
+ "PolicyEntropy: -2.56\n",
+ "PolicyLoss: -0.00176\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 2.03e+07\n",
+ "ValFuncLoss: 0.00016\n",
+ "Variance: 0.137\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0010306973 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12638433 0.12001324 0.1357154 0.12748004]\n",
+ "FIT: 0.8208453006451067 1.7679853376602361 0.02612341647144362 0.11551579745066086\n",
+ "***** Episode 90989, Mean R = -9.1 Std R = 8.0 Min R = -45.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.939\n",
+ "ExplainedVarOld: 0.919\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -2.57\n",
+ "PolicyLoss: -0.00189\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 2.04e+07\n",
+ "ValFuncLoss: 0.000207\n",
+ "Variance: 0.136\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010587549 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.1256347 0.12035738 0.13609245 0.12575148]\n",
+ "FIT: 0.6778239802090665 1.7780951366840685 0.024373342999921024 0.11647003433629247\n",
+ "***** Episode 91110, Mean R = -7.6 Std R = 8.2 Min R = -37.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.945\n",
+ "ExplainedVarOld: 0.896\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -2.58\n",
+ "PolicyLoss: -0.00203\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 2.04e+07\n",
+ "ValFuncLoss: 0.000177\n",
+ "Variance: 0.136\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010320366 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12538414 0.1197466 0.13471454 0.12451047]\n",
+ "FIT: 0.6474743927301483 1.7757848735175208 0.02464467418352314 0.12212931135113711\n",
+ "Update Cnt = 590 ET = 1074.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.2 -0.0 | 1.9 1.4 0.4 | -5.3 -7.5 -0.1 | 23.2 11.6 11.8\n",
+ "v_f | -0.01 -0.03 -1.23 | 0.23 0.20 0.27 | -1.68 -1.18 -1.99 | 1.15 1.11 1.55\n",
+ "r_i | 1016.9 3.3 2350.1 | 586.4 571.0 28.6 | 3.7 -998.7 2300.1 | 1999.8 998.7 2399.7\n",
+ "v_i | -39.49 -0.31 -79.90 | 17.26 17.60 5.82 | -69.93 -30.00 -89.99 | -10.05 29.92 -70.01\n",
+ "norm_rf | 1.8 | 1.7 | 0.0 | 23.3\n",
+ "norm_vf | 1.28 | 0.23 | 0.18 | 2.14\n",
+ "gs_f | 12.7 | 24.6 | 0.1 | 627.2\n",
+ "thrust | 1209 17 9228 | 2859 2859 2267 | -16932 -16615 2000 | 16415 16561 19999\n",
+ "norm_thrust | 9883 | 3231 | 3464 | 20000\n",
+ "fuel | 291 | 22 | 258 | 520\n",
+ "rewards | -8.19 | 7.56 | -60.60 | 3.03\n",
+ "fuel_rewards | -7.50 | 0.56 | -13.39 | -6.64\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.43 | 0.50 | 0.06 | 5.07\n",
+ "norm_af | 0.08 | 0.04 | 0.01 | 0.48\n",
+ "norm_wf | 0.24 | 0.13 | 0.01 | 0.80\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.09 | 0.93 | -21.87 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | -0.02 0.11 -0.00 | 0.39 0.21 0.21 | -1.82 -1.02 -1.29 | 2.20 1.12 1.11\n",
+ "w | -0.00 -0.01 -0.00 | 0.25 0.25 0.02 | -2.30 -2.47 -0.09 | 1.91 1.93 0.22\n",
+ "a_f | -0.01 -0.01 | 0.06 0.06 | -0.23 -0.39 | 0.29 0.29\n",
+ "w_f | 0.00 -0.01 -0.00 | 0.20 0.19 0.02 | -0.60 -0.58 -0.07 | 0.64 0.63 0.22\n",
+ "landing_rewards | 5.94 | 4.91 | 0.00 | 10.00\n",
+ "landing_margin | 0.34 | 1.14 | -0.19 | 18.32\n",
+ "tracking_rewards | -6.54 | 5.28 | -41.04 | -0.07\n",
+ "steps | 303 | 34 | 248 | 601\n",
+ "***** Episode 91231, Mean R = -8.7 Std R = 7.7 Min R = -34.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.934\n",
+ "ExplainedVarOld: 0.918\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -2.61\n",
+ "PolicyLoss: -0.00218\n",
+ "Steps: 3.78e+04\n",
+ "TotalSteps: 2.05e+07\n",
+ "ValFuncLoss: 0.000171\n",
+ "Variance: 0.135\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010789917 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12490699 0.11925576 0.13373907 0.12404291]\n",
+ "FIT: 0.6937676523403193 1.8312924565263013 0.02438449713190076 0.1154527498426247\n",
+ "***** Episode 91352, Mean R = -7.8 Std R = 7.6 Min R = -40.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.94\n",
+ "ExplainedVarOld: 0.931\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -2.63\n",
+ "PolicyLoss: -0.00178\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 2.05e+07\n",
+ "ValFuncLoss: 0.00017\n",
+ "Variance: 0.134\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00089421635 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.1248559 0.11879808 0.13334858 0.12360139]\n",
+ "FIT: 0.5799666285687962 1.7356806180602422 0.02347983117623238 0.11508115897406886\n",
+ "***** Episode 91473, Mean R = -7.7 Std R = 6.5 Min R = -26.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.935\n",
+ "ExplainedVarOld: 0.923\n",
+ "KL: 0.000894\n",
+ "PolicyEntropy: -2.64\n",
+ "PolicyLoss: -0.00193\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 2.05e+07\n",
+ "ValFuncLoss: 0.000164\n",
+ "Variance: 0.133\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010634818 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12554166 0.118145 0.13286147 0.12316155]\n",
+ "FIT: 0.6463930809006889 1.8186107641871085 0.02434610912736628 0.11676328284235668\n",
+ "***** Episode 91594, Mean R = -7.8 Std R = 8.1 Min R = -42.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.947\n",
+ "ExplainedVarOld: 0.931\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -2.65\n",
+ "PolicyLoss: -0.00195\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 2.06e+07\n",
+ "ValFuncLoss: 0.000161\n",
+ "Variance: 0.133\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00085786823 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12521172 0.11832581 0.13179691 0.12297454]\n",
+ "FIT: 0.7024012065598475 1.7717907434591795 0.023204548103013298 0.11754365652545172\n",
+ "***** Episode 91715, Mean R = -7.3 Std R = 8.3 Min R = -49.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.93\n",
+ "ExplainedVarOld: 0.914\n",
+ "KL: 0.000858\n",
+ "PolicyEntropy: -2.66\n",
+ "PolicyLoss: -0.00176\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 2.06e+07\n",
+ "ValFuncLoss: 0.000188\n",
+ "Variance: 0.132\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009947672 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12469335 0.11809243 0.13066979 0.12245058]\n",
+ "FIT: 0.49343082312736286 1.739018148211163 0.023947462137539552 0.11850274938795265\n",
+ "***** Episode 91836, Mean R = -8.0 Std R = 6.5 Min R = -24.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.93\n",
+ "ExplainedVarOld: 0.918\n",
+ "KL: 0.000995\n",
+ "PolicyEntropy: -2.68\n",
+ "PolicyLoss: -0.00164\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 2.06e+07\n",
+ "ValFuncLoss: 0.000203\n",
+ "Variance: 0.131\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011419344 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12474759 0.11754108 0.1298101 0.1216203 ]\n",
+ "FIT: 0.538149165124284 1.6409179609505726 0.02330049855393115 0.11424347021059199\n",
+ "***** Episode 91957, Mean R = -7.3 Std R = 6.7 Min R = -26.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.933\n",
+ "ExplainedVarOld: 0.924\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -2.7\n",
+ "PolicyLoss: -0.00191\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 2.07e+07\n",
+ "ValFuncLoss: 0.00016\n",
+ "Variance: 0.13\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009941779 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12423909 0.11691561 0.12907183 0.1209207 ]\n",
+ "FIT: 0.49465431672822974 1.7123693193458924 0.022748898331782428 0.11497789044298734\n",
+ "***** Episode 92078, Mean R = -6.9 Std R = 7.2 Min R = -34.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.922\n",
+ "ExplainedVarOld: 0.83\n",
+ "KL: 0.000994\n",
+ "PolicyEntropy: -2.72\n",
+ "PolicyLoss: -0.00226\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 2.07e+07\n",
+ "ValFuncLoss: 0.000169\n",
+ "Variance: 0.129\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009661387 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12413646 0.11661066 0.12854828 0.12111008]\n",
+ "FIT: 0.6536950346182845 1.6734046253357642 0.024014980291007782 0.118680533168622\n",
+ "***** Episode 92199, Mean R = -7.7 Std R = 7.8 Min R = -43.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.941\n",
+ "ExplainedVarOld: 0.93\n",
+ "KL: 0.000966\n",
+ "PolicyEntropy: -2.72\n",
+ "PolicyLoss: -0.00185\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 2.07e+07\n",
+ "ValFuncLoss: 0.000156\n",
+ "Variance: 0.129\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008613724 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12465174 0.11579144 0.12790346 0.12096764]\n",
+ "FIT: 0.6181984502568838 1.7717196103673314 0.02428161078905089 0.11566554282636068\n",
+ "***** Episode 92320, Mean R = -7.9 Std R = 7.6 Min R = -39.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.932\n",
+ "ExplainedVarOld: 0.925\n",
+ "KL: 0.000861\n",
+ "PolicyEntropy: -2.73\n",
+ "PolicyLoss: -0.00203\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 2.08e+07\n",
+ "ValFuncLoss: 0.00018\n",
+ "Variance: 0.128\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008755013 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12406776 0.1152565 0.12710813 0.1214008 ]\n",
+ "FIT: 0.563684043323484 1.897348586727465 0.023338187349402087 0.1171688026243383\n",
+ "Update Cnt = 600 ET = 1070.9 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.2 -0.0 | 1.9 2.0 0.2 | -5.1 -36.7 -0.1 | 22.9 4.3 7.2\n",
+ "v_f | -0.00 -0.02 -1.23 | 0.20 0.20 0.24 | -0.56 -2.31 -2.03 | 1.35 0.62 0.23\n",
+ "r_i | 1013.3 0.3 2349.7 | 572.4 566.9 29.1 | 2.7 -998.7 2300.0 | 1999.3 998.8 2400.0\n",
+ "v_i | -40.25 -0.16 -80.09 | 17.29 16.85 5.85 | -69.85 -29.99 -89.98 | -10.00 29.96 -70.02\n",
+ "norm_rf | 1.7 | 2.2 | 0.0 | 37.8\n",
+ "norm_vf | 1.26 | 0.22 | 0.33 | 2.68\n",
+ "gs_f | 12.5 | 14.1 | 0.1 | 175.3\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "thrust | 1238 13 9240 | 2827 2866 2246 | -16379 -17218 2000 | 16816 16695 19997\n",
+ "norm_thrust | 9887 | 3227 | 3464 | 20000\n",
+ "fuel | 290 | 20 | 256 | 490\n",
+ "rewards | -7.58 | 7.41 | -49.21 | 3.25\n",
+ "fuel_rewards | -7.47 | 0.51 | -12.64 | -6.59\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.48 | 0.54 | 0.06 | 4.30\n",
+ "norm_af | 0.07 | 0.04 | 0.00 | 0.43\n",
+ "norm_wf | 0.23 | 0.12 | 0.01 | 1.01\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.04 | 0.28 | -6.04 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | -0.01 0.12 -0.00 | 0.37 0.20 0.20 | -1.58 -0.96 -1.02 | 1.92 1.07 1.04\n",
+ "w | 0.00 -0.01 -0.00 | 0.25 0.25 0.01 | -1.84 -2.52 -0.08 | 2.07 1.60 0.17\n",
+ "a_f | -0.01 -0.00 | 0.06 0.06 | -0.23 -0.37 | 0.21 0.24\n",
+ "w_f | -0.01 -0.01 -0.00 | 0.18 0.18 0.01 | -0.68 -0.64 -0.07 | 0.57 0.91 0.17\n",
+ "landing_rewards | 6.31 | 4.83 | 0.00 | 10.00\n",
+ "landing_margin | 0.32 | 1.74 | -0.18 | 32.78\n",
+ "tracking_rewards | -6.38 | 5.30 | -41.31 | 0.31\n",
+ "steps | 302 | 32 | 243 | 601\n",
+ "***** Episode 92441, Mean R = -7.3 Std R = 7.4 Min R = -34.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.935\n",
+ "ExplainedVarOld: 0.925\n",
+ "KL: 0.000876\n",
+ "PolicyEntropy: -2.74\n",
+ "PolicyLoss: -0.00147\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.08e+07\n",
+ "ValFuncLoss: 0.000187\n",
+ "Variance: 0.127\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010563879 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12359291 0.11461738 0.12640904 0.12103838]\n",
+ "FIT: 0.5452350549762269 1.7582704551517951 0.023909652429127636 0.11575754683660434\n",
+ "***** Episode 92562, Mean R = -7.5 Std R = 7.3 Min R = -32.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.935\n",
+ "ExplainedVarOld: 0.924\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -2.76\n",
+ "PolicyLoss: -0.00193\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 2.09e+07\n",
+ "ValFuncLoss: 0.000176\n",
+ "Variance: 0.126\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.001081344 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12367968 0.11388388 0.12630947 0.12034433]\n",
+ "FIT: 0.7486127073863124 1.7694435490201748 0.024828540449452596 0.11631623211445222\n",
+ "***** Episode 92683, Mean R = -7.8 Std R = 8.4 Min R = -56.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.945\n",
+ "ExplainedVarOld: 0.929\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -2.77\n",
+ "PolicyLoss: -0.00194\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 2.09e+07\n",
+ "ValFuncLoss: 0.000178\n",
+ "Variance: 0.126\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009432259 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12318696 0.1135857 0.12604257 0.11977953]\n",
+ "FIT: 0.5792801317382507 1.829370221166359 0.024296396545573827 0.11812180543949137\n",
+ "***** Episode 92804, Mean R = -7.7 Std R = 7.1 Min R = -27.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.946\n",
+ "ExplainedVarOld: 0.93\n",
+ "KL: 0.000943\n",
+ "PolicyEntropy: -2.79\n",
+ "PolicyLoss: -0.00206\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.09e+07\n",
+ "ValFuncLoss: 0.000158\n",
+ "Variance: 0.126\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00088889734 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12309357 0.11282875 0.12611412 0.11978567]\n",
+ "FIT: 0.6325978833403763 1.8687089338992484 0.025403991207907747 0.1157340602915455\n",
+ "***** Episode 92925, Mean R = -8.6 Std R = 8.0 Min R = -41.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.933\n",
+ "ExplainedVarOld: 0.922\n",
+ "KL: 0.000889\n",
+ "PolicyEntropy: -2.79\n",
+ "PolicyLoss: -0.00158\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 2.1e+07\n",
+ "ValFuncLoss: 0.000182\n",
+ "Variance: 0.126\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00097077654 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.1228219 0.11207818 0.12575112 0.11925269]\n",
+ "FIT: 0.559798944112361 1.7520699817732495 0.022934018515897582 0.11379403513008612\n",
+ "***** Episode 93046, Mean R = -6.8 Std R = 6.7 Min R = -26.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.937\n",
+ "ExplainedVarOld: 0.925\n",
+ "KL: 0.000971\n",
+ "PolicyEntropy: -2.81\n",
+ "PolicyLoss: -0.00165\n",
+ "Steps: 3.59e+04\n",
+ "TotalSteps: 2.1e+07\n",
+ "ValFuncLoss: 0.000155\n",
+ "Variance: 0.126\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010247676 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12245498 0.11144552 0.12551586 0.11941884]\n",
+ "FIT: 0.6336390842231683 1.7478091473744535 0.024704492326661366 0.1154158140339613\n",
+ "***** Episode 93167, Mean R = -7.8 Std R = 8.0 Min R = -31.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.946\n",
+ "ExplainedVarOld: 0.941\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -2.82\n",
+ "PolicyLoss: -0.00197\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 2.1e+07\n",
+ "ValFuncLoss: 0.000176\n",
+ "Variance: 0.126\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00079964823 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12282234 0.11139418 0.12548032 0.11927862]\n",
+ "FIT: 0.6031862812291352 1.69717186244846 0.02350366512807522 0.11460190465133258\n",
+ "***** Episode 93288, Mean R = -7.5 Std R = 7.3 Min R = -33.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.925\n",
+ "ExplainedVarOld: 0.912\n",
+ "KL: 0.0008\n",
+ "PolicyEntropy: -2.82\n",
+ "PolicyLoss: -0.0016\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 2.11e+07\n",
+ "ValFuncLoss: 0.000193\n",
+ "Variance: 0.125\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0019315768 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12322218 0.1109817 0.12510358 0.11893272]\n",
+ "FIT: 0.5959215856488645 1.7320958353383225 0.022559301755311133 0.11493427964373698\n",
+ "***** Episode 93409, Mean R = -6.7 Std R = 6.9 Min R = -27.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.935\n",
+ "ExplainedVarOld: 0.92\n",
+ "KL: 0.00193\n",
+ "PolicyEntropy: -2.82\n",
+ "PolicyLoss: -0.000155\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 2.11e+07\n",
+ "ValFuncLoss: 0.000173\n",
+ "Variance: 0.125\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0016962187 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12332928 0.11104662 0.125604 0.1190578 ]\n",
+ "FIT: 0.6234660852285245 1.811402890893468 0.023731994446286542 0.11588907101356835\n",
+ "***** Episode 93530, Mean R = -7.7 Std R = 7.1 Min R = -36.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.934\n",
+ "ExplainedVarOld: 0.922\n",
+ "KL: 0.0017\n",
+ "PolicyEntropy: -2.82\n",
+ "PolicyLoss: 0.000113\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.11e+07\n",
+ "ValFuncLoss: 0.000175\n",
+ "Variance: 0.126\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010910059 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12305742 0.11072131 0.12476773 0.11866529]\n",
+ "FIT: 0.6295534300272023 1.7836028989108332 0.02372607812804847 0.11510780121233846\n",
+ "Update Cnt = 610 ET = 1064.0 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.2 -0.2 -0.0 | 1.5 1.4 0.0 | -4.6 -9.1 -0.1 | 21.3 6.6 0.7\n",
+ "v_f | -0.02 -0.01 -1.23 | 0.20 0.18 0.22 | -0.53 -0.76 -1.89 | 0.76 0.68 -0.05\n",
+ "r_i | 1017.4 15.6 2347.8 | 583.7 581.2 29.5 | 3.7 -999.8 2300.0 | 1999.7 998.4 2399.9\n",
+ "v_i | -40.59 -0.73 -80.22 | 17.54 17.32 5.86 | -69.92 -30.00 -89.99 | -10.05 29.84 -70.01\n",
+ "norm_rf | 1.6 | 1.3 | 0.1 | 21.7\n",
+ "norm_vf | 1.26 | 0.20 | 0.29 | 1.90\n",
+ "gs_f | 15.1 | 33.2 | 0.3 | 660.1\n",
+ "thrust | 1255 31 9258 | 2892 2802 2245 | -17565 -16757 2000 | 16615 17256 20000\n",
+ "norm_thrust | 9909 | 3220 | 3464 | 20000\n",
+ "fuel | 289 | 18 | 256 | 463\n",
+ "rewards | -7.60 | 7.46 | -56.15 | 2.83\n",
+ "fuel_rewards | -7.45 | 0.45 | -11.93 | -6.61\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.46 | 0.47 | 0.11 | 4.37\n",
+ "norm_af | 0.07 | 0.04 | 0.00 | 0.36\n",
+ "norm_wf | 0.23 | 0.12 | 0.01 | 0.70\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.46 | -8.00 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 -0.00 | 0.36 0.21 0.20 | -1.97 -1.07 -1.11 | 1.85 1.09 1.02\n",
+ "w | -0.00 -0.01 0.00 | 0.24 0.24 0.01 | -1.74 -2.48 -0.12 | 1.86 1.81 0.11\n",
+ "a_f | -0.01 -0.01 | 0.06 0.05 | -0.33 -0.21 | 0.22 0.15\n",
+ "w_f | -0.00 -0.01 0.00 | 0.18 0.18 0.01 | -0.63 -0.62 -0.08 | 0.54 0.59 0.11\n",
+ "landing_rewards | 6.36 | 4.81 | 0.00 | 10.00\n",
+ "landing_margin | 0.21 | 0.77 | -0.18 | 16.68\n",
+ "tracking_rewards | -6.44 | 5.50 | -48.22 | 0.06\n",
+ "steps | 300 | 28 | 241 | 601\n",
+ "***** Episode 93651, Mean R = -7.8 Std R = 7.4 Min R = -43.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.928\n",
+ "ExplainedVarOld: 0.91\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -2.83\n",
+ "PolicyLoss: -0.00157\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.12e+07\n",
+ "ValFuncLoss: 0.000181\n",
+ "Variance: 0.125\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0010107767 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12287694 0.11042724 0.12416446 0.11777321]\n",
+ "FIT: 0.5802338301100387 1.8893020477280509 0.024031942294276253 0.11713360625630471\n",
+ "***** Episode 93772, Mean R = -7.6 Std R = 7.4 Min R = -29.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.942\n",
+ "ExplainedVarOld: 0.926\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -2.85\n",
+ "PolicyLoss: -0.00178\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.12e+07\n",
+ "ValFuncLoss: 0.00016\n",
+ "Variance: 0.124\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009850111 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12283172 0.10949064 0.1240409 0.11729316]\n",
+ "FIT: 0.5286495595034391 1.768469430722864 0.02174564242087788 0.11276160869942226\n",
+ "***** Episode 93893, Mean R = -6.2 Std R = 6.8 Min R = -33.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.93\n",
+ "ExplainedVarOld: 0.922\n",
+ "KL: 0.000985\n",
+ "PolicyEntropy: -2.86\n",
+ "PolicyLoss: -0.00178\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 2.13e+07\n",
+ "ValFuncLoss: 0.000168\n",
+ "Variance: 0.124\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0007846726 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12240478 0.10916266 0.12365079 0.11701307]\n",
+ "FIT: 0.6154890466172576 1.7712040501362885 0.023751237768964838 0.11465718709089848\n",
+ "***** Episode 94014, Mean R = -7.3 Std R = 7.3 Min R = -31.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.943\n",
+ "ExplainedVarOld: 0.934\n",
+ "KL: 0.000785\n",
+ "PolicyEntropy: -2.88\n",
+ "PolicyLoss: -0.00161\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 2.13e+07\n",
+ "ValFuncLoss: 0.000175\n",
+ "Variance: 0.124\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011628076 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12267847 0.10880224 0.12366842 0.11673342]\n",
+ "FIT: 0.5756703502306305 1.68179887060847 0.020534493066345832 0.11242271384043023\n",
+ "***** Episode 94135, Mean R = -5.3 Std R = 6.7 Min R = -35.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.936\n",
+ "ExplainedVarOld: 0.924\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -2.88\n",
+ "PolicyLoss: -0.00206\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 2.13e+07\n",
+ "ValFuncLoss: 0.000141\n",
+ "Variance: 0.124\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008720148 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12296961 0.10844979 0.12423624 0.11652654]\n",
+ "FIT: 0.5700403129161874 1.6865732752294313 0.020681297692352652 0.11342229941798512\n",
+ "***** Episode 94256, Mean R = -5.6 Std R = 6.2 Min R = -34.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.937\n",
+ "ExplainedVarOld: 0.915\n",
+ "KL: 0.000872\n",
+ "PolicyEntropy: -2.88\n",
+ "PolicyLoss: -0.00214\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 2.14e+07\n",
+ "ValFuncLoss: 0.000136\n",
+ "Variance: 0.124\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00080505037 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12309228 0.10831811 0.124337 0.11625215]\n",
+ "FIT: 0.5887355800738463 1.7173643162977346 0.023013739719211522 0.11755955106380045\n",
+ "***** Episode 94377, Mean R = -7.2 Std R = 7.2 Min R = -24.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.936\n",
+ "ExplainedVarOld: 0.919\n",
+ "KL: 0.000805\n",
+ "PolicyEntropy: -2.88\n",
+ "PolicyLoss: -0.00174\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 2.14e+07\n",
+ "ValFuncLoss: 0.000163\n",
+ "Variance: 0.124\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010307753 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12239266 0.10847814 0.12439719 0.1158325 ]\n",
+ "FIT: 0.48841008395686575 1.6913063243189987 0.01996323967328757 0.11365512838181979\n",
+ "***** Episode 94498, Mean R = -5.0 Std R = 6.6 Min R = -24.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.933\n",
+ "ExplainedVarOld: 0.922\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -2.89\n",
+ "PolicyLoss: -0.00177\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.14e+07\n",
+ "ValFuncLoss: 0.00013\n",
+ "Variance: 0.124\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008569551 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12141982 0.1083975 0.12337575 0.11512858]\n",
+ "FIT: 0.6787343248362835 1.6576012343395599 0.023209465546392107 0.11609908677241597\n",
+ "***** Episode 94619, Mean R = -7.2 Std R = 7.0 Min R = -30.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.925\n",
+ "ExplainedVarOld: 0.909\n",
+ "KL: 0.000857\n",
+ "PolicyEntropy: -2.91\n",
+ "PolicyLoss: -0.00176\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.15e+07\n",
+ "ValFuncLoss: 0.000186\n",
+ "Variance: 0.123\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ " *** BROKE ***\n",
+ "kl = 0.0077262293 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.12100121 0.10820399 0.12314429 0.11485187]\n",
+ "FIT: 0.510096785777279 1.9069160497164195 0.021451249124181344 0.11357708617269358\n",
+ "***** Episode 94740, Mean R = -5.9 Std R = 7.1 Min R = -25.6\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.933\n",
+ "ExplainedVarOld: 0.92\n",
+ "KL: 0.00773\n",
+ "PolicyEntropy: -2.92\n",
+ "PolicyLoss: 0.0112\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.15e+07\n",
+ "ValFuncLoss: 0.000152\n",
+ "Variance: 0.123\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0007284084 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.12109493 0.10843552 0.12323026 0.11502251]\n",
+ "FIT: 0.6268824401743154 1.8669242393893344 0.025587911100063716 0.11952423407388496\n",
+ "Update Cnt = 620 ET = 1068.3 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.3 -0.2 -0.0 | 1.4 2.0 0.1 | -5.2 -52.6 -0.1 | 7.6 6.6 1.7\n",
+ "v_f | -0.04 -0.01 -1.22 | 0.20 0.17 0.22 | -0.72 -1.00 -1.87 | 0.99 0.89 -0.16\n",
+ "r_i | 1006.1 22.9 2350.3 | 577.4 579.3 28.4 | 2.4 -997.7 2300.2 | 1999.5 998.2 2399.8\n",
+ "v_i | -39.72 0.19 -79.69 | 17.61 17.10 5.74 | -69.95 -30.00 -90.00 | -10.03 29.97 -70.02\n",
+ "norm_rf | 1.6 | 1.8 | 0.0 | 53.1\n",
+ "norm_vf | 1.25 | 0.20 | 0.26 | 1.88\n",
+ "gs_f | 14.7 | 31.1 | 0.5 | 958.2\n",
+ "thrust | 1222 -1 9226 | 2828 2859 2214 | -16110 -17197 2000 | 16722 17080 20000\n",
+ "norm_thrust | 9868 | 3211 | 3464 | 20000\n",
+ "fuel | 289 | 17 | 257 | 455\n",
+ "rewards | -6.58 | 7.09 | -35.72 | 2.86\n",
+ "fuel_rewards | -7.45 | 0.43 | -11.73 | -6.63\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.50 | 0.53 | 0.07 | 5.56\n",
+ "norm_af | 0.07 | 0.04 | 0.00 | 0.33\n",
+ "norm_wf | 0.21 | 0.12 | 0.00 | 0.84\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.08 | 0.59 | -11.06 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | -0.01 0.11 -0.00 | 0.36 0.20 0.20 | -1.54 -1.02 -1.11 | 1.96 1.09 1.06\n",
+ "w | -0.00 -0.01 -0.00 | 0.24 0.24 0.01 | -1.76 -2.62 -0.08 | 1.86 1.41 0.07\n",
+ "a_f | -0.01 -0.00 | 0.06 0.05 | -0.21 -0.31 | 0.19 0.28\n",
+ "w_f | -0.00 -0.00 -0.00 | 0.18 0.17 0.01 | -0.55 -0.64 -0.06 | 0.73 0.60 0.07\n",
+ "landing_rewards | 7.02 | 4.57 | 0.00 | 10.00\n",
+ "landing_margin | 0.18 | 1.47 | -0.18 | 48.12\n",
+ "tracking_rewards | -6.07 | 4.91 | -35.24 | -0.01\n",
+ "steps | 301 | 27 | 245 | 601\n",
+ "***** Episode 94861, Mean R = -8.5 Std R = 7.7 Min R = -34.5\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.949\n",
+ "ExplainedVarOld: 0.926\n",
+ "KL: 0.000728\n",
+ "PolicyEntropy: -2.91\n",
+ "PolicyLoss: -0.000402\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 2.15e+07\n",
+ "ValFuncLoss: 0.00018\n",
+ "Variance: 0.123\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0005684799 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.12090409 0.10787637 0.12283722 0.1147275 ]\n",
+ "FIT: 0.5392168189538942 1.8317044868472092 0.023138527073147095 0.11644206613230237\n",
+ "***** Episode 94982, Mean R = -7.0 Std R = 7.1 Min R = -31.4\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.937\n",
+ "ExplainedVarOld: 0.91\n",
+ "KL: 0.000568\n",
+ "PolicyEntropy: -2.93\n",
+ "PolicyLoss: -0.00148\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 2.16e+07\n",
+ "ValFuncLoss: 0.000169\n",
+ "Variance: 0.123\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0004951707 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12074324 0.10774479 0.12256586 0.11453862]\n",
+ "FIT: 0.4943350815015094 1.768522675062092 0.021897117640044584 0.11416499940839657\n",
+ "***** Episode 95103, Mean R = -6.4 Std R = 6.7 Min R = -27.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.929\n",
+ "ExplainedVarOld: 0.912\n",
+ "KL: 0.000495\n",
+ "PolicyEntropy: -2.93\n",
+ "PolicyLoss: -0.00129\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.16e+07\n",
+ "ValFuncLoss: 0.000154\n",
+ "Variance: 0.123\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00094284 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12087734 0.10811944 0.12263332 0.11467344]\n",
+ "FIT: 0.49143939209819715 1.6876423462061563 0.02112454098693219 0.11502010984896101\n",
+ "***** Episode 95224, Mean R = -6.2 Std R = 6.2 Min R = -28.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.916\n",
+ "ExplainedVarOld: 0.902\n",
+ "KL: 0.000943\n",
+ "PolicyEntropy: -2.93\n",
+ "PolicyLoss: -0.00195\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 2.17e+07\n",
+ "ValFuncLoss: 0.000168\n",
+ "Variance: 0.123\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009557011 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12076361 0.10734592 0.12259239 0.11388399]\n",
+ "FIT: 0.8793623607548848 1.8495741169443807 0.02387781601843025 0.11851571171299956\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 95345, Mean R = -7.3 Std R = 8.1 Min R = -43.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.938\n",
+ "ExplainedVarOld: 0.877\n",
+ "KL: 0.000956\n",
+ "PolicyEntropy: -2.94\n",
+ "PolicyLoss: -0.00223\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 2.17e+07\n",
+ "ValFuncLoss: 0.000179\n",
+ "Variance: 0.123\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008588383 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12068867 0.10716073 0.12240349 0.11346207]\n",
+ "FIT: 0.5627318053075433 1.6469256191626935 0.02218721741370926 0.11559317080935605\n",
+ "***** Episode 95466, Mean R = -6.3 Std R = 6.6 Min R = -25.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.943\n",
+ "ExplainedVarOld: 0.931\n",
+ "KL: 0.000859\n",
+ "PolicyEntropy: -2.95\n",
+ "PolicyLoss: -0.00176\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.17e+07\n",
+ "ValFuncLoss: 0.000169\n",
+ "Variance: 0.122\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011453169 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12022849 0.10705017 0.1216661 0.11268901]\n",
+ "FIT: 0.540397046744866 1.5750329198863837 0.02177494665273422 0.11544704401562762\n",
+ "***** Episode 95587, Mean R = -6.3 Std R = 6.9 Min R = -28.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.916\n",
+ "ExplainedVarOld: 0.901\n",
+ "KL: 0.00115\n",
+ "PolicyEntropy: -2.97\n",
+ "PolicyLoss: -0.00196\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 2.18e+07\n",
+ "ValFuncLoss: 0.000175\n",
+ "Variance: 0.122\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009634432 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12105221 0.10676149 0.12215821 0.11327352]\n",
+ "FIT: 0.7821576856979673 1.8796533740615489 0.02358429939610572 0.11905478320542728\n",
+ "***** Episode 95708, Mean R = -7.0 Std R = 8.7 Min R = -49.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.942\n",
+ "ExplainedVarOld: 0.865\n",
+ "KL: 0.000963\n",
+ "PolicyEntropy: -2.95\n",
+ "PolicyLoss: -0.00243\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 2.18e+07\n",
+ "ValFuncLoss: 0.000169\n",
+ "Variance: 0.122\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00089936046 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.12013606 0.10635086 0.1216306 0.11309476]\n",
+ "FIT: 0.5914401993073117 1.90921827563946 0.023988425337148296 0.1169852140896205\n",
+ "***** Episode 95829, Mean R = -7.4 Std R = 7.0 Min R = -31.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.952\n",
+ "ExplainedVarOld: 0.939\n",
+ "KL: 0.000899\n",
+ "PolicyEntropy: -2.97\n",
+ "PolicyLoss: -0.00175\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.18e+07\n",
+ "ValFuncLoss: 0.000144\n",
+ "Variance: 0.122\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008331354 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11942511 0.10625222 0.12136132 0.11281286]\n",
+ "FIT: 0.6086982711889026 1.7502818213419562 0.022662330093292625 0.11518360228365063\n",
+ "***** Episode 95950, Mean R = -6.7 Std R = 6.5 Min R = -34.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.943\n",
+ "ExplainedVarOld: 0.925\n",
+ "KL: 0.000833\n",
+ "PolicyEntropy: -2.98\n",
+ "PolicyLoss: -0.00175\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 2.19e+07\n",
+ "ValFuncLoss: 0.000146\n",
+ "Variance: 0.121\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009398943 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11910243 0.10593031 0.12066013 0.11301832]\n",
+ "FIT: 0.6924827922697097 1.8661158372133686 0.023130123789291374 0.1152102286416747\n",
+ "Update Cnt = 630 ET = 1064.4 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.2 -0.0 | 1.5 1.6 0.6 | -4.0 -33.3 -0.1 | 8.7 6.2 20.2\n",
+ "v_f | -0.03 -0.03 -1.22 | 0.19 0.23 0.30 | -0.57 -4.67 -1.92 | 0.75 0.80 5.17\n",
+ "r_i | 997.7 -4.9 2349.8 | 570.8 578.9 28.5 | 0.1 -999.6 2300.4 | 1998.5 998.7 2400.0\n",
+ "v_i | -39.03 0.55 -80.07 | 17.08 17.85 5.73 | -69.88 -29.84 -89.99 | -10.24 29.96 -70.05\n",
+ "norm_rf | 1.6 | 1.6 | 0.0 | 34.9\n",
+ "norm_vf | 1.26 | 0.26 | 0.48 | 7.01\n",
+ "gs_f | 15.3 | 37.4 | 0.5 | 980.0\n",
+ "thrust | 1199 -10 9234 | 2804 2852 2226 | -16450 -16633 2000 | 16819 16904 19995\n",
+ "norm_thrust | 9869 | 3203 | 3464 | 20000\n",
+ "fuel | 289 | 19 | 257 | 494\n",
+ "rewards | -6.78 | 7.15 | -49.17 | 3.14\n",
+ "fuel_rewards | -7.45 | 0.48 | -12.74 | -6.62\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.51 | 0.55 | 0.06 | 4.80\n",
+ "norm_af | 0.07 | 0.04 | 0.00 | 0.82\n",
+ "norm_wf | 0.21 | 0.11 | 0.01 | 0.80\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.08 | 0.80 | -18.85 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.11 0.00 | 0.37 0.20 0.20 | -1.50 -1.03 -1.23 | 2.39 1.27 1.05\n",
+ "w | -0.00 -0.01 0.00 | 0.24 0.24 0.01 | -2.25 -2.51 -0.10 | 2.10 2.24 0.21\n",
+ "a_f | -0.01 -0.01 | 0.06 0.06 | -0.21 -0.82 | 0.23 0.18\n",
+ "w_f | 0.00 -0.00 0.00 | 0.17 0.17 0.01 | -0.53 -0.80 -0.10 | 0.61 0.66 0.21\n",
+ "landing_rewards | 6.86 | 4.64 | 0.00 | 10.00\n",
+ "landing_margin | 0.20 | 1.15 | -0.18 | 29.91\n",
+ "tracking_rewards | -6.11 | 5.03 | -33.08 | 0.07\n",
+ "steps | 301 | 29 | 245 | 601\n",
+ "***** Episode 96071, Mean R = -7.1 Std R = 7.2 Min R = -33.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.932\n",
+ "ExplainedVarOld: 0.922\n",
+ "KL: 0.00094\n",
+ "PolicyEntropy: -2.99\n",
+ "PolicyLoss: -0.00177\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.19e+07\n",
+ "ValFuncLoss: 0.000174\n",
+ "Variance: 0.121\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00084736326 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.1192205 0.10567964 0.12016757 0.11282157]\n",
+ "FIT: 0.6528629565055473 1.912383529107754 0.023616813060114032 0.11756228274549793\n",
+ "***** Episode 96192, Mean R = -7.1 Std R = 7.8 Min R = -43.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.949\n",
+ "ExplainedVarOld: 0.932\n",
+ "KL: 0.000847\n",
+ "PolicyEntropy: -3\n",
+ "PolicyLoss: -0.00178\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 2.19e+07\n",
+ "ValFuncLoss: 0.000154\n",
+ "Variance: 0.12\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009163758 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11910667 0.10542096 0.12020975 0.11259349]\n",
+ "FIT: 0.619742301440132 1.8772754583844777 0.022798167421708065 0.11428391365298357\n",
+ "***** Episode 96313, Mean R = -6.6 Std R = 7.1 Min R = -33.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.945\n",
+ "ExplainedVarOld: 0.932\n",
+ "KL: 0.000916\n",
+ "PolicyEntropy: -3\n",
+ "PolicyLoss: -0.00167\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.2e+07\n",
+ "ValFuncLoss: 0.000159\n",
+ "Variance: 0.12\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008279379 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.1192768 0.10520683 0.12049994 0.1129475 ]\n",
+ "FIT: 0.6075032155541868 1.7783903396034575 0.022337754497627562 0.1161862703585302\n",
+ "***** Episode 96434, Mean R = -6.6 Std R = 7.5 Min R = -32.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.94\n",
+ "ExplainedVarOld: 0.929\n",
+ "KL: 0.000828\n",
+ "PolicyEntropy: -3\n",
+ "PolicyLoss: -0.00156\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.2e+07\n",
+ "ValFuncLoss: 0.000153\n",
+ "Variance: 0.12\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009351857 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.1188281 0.10480154 0.1199784 0.1130304 ]\n",
+ "FIT: 0.7261975827380708 1.8341084792548448 0.023877883203093423 0.1163044292641931\n",
+ "***** Episode 96555, Mean R = -7.1 Std R = 7.7 Min R = -43.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.961\n",
+ "ExplainedVarOld: 0.952\n",
+ "KL: 0.000935\n",
+ "PolicyEntropy: -3.01\n",
+ "PolicyLoss: -0.00189\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.21e+07\n",
+ "ValFuncLoss: 0.00013\n",
+ "Variance: 0.12\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.001175779 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11826091 0.10392946 0.11967879 0.11260938]\n",
+ "FIT: 0.49799923112886885 1.7447718422649328 0.022257815517536528 0.11593755092155544\n",
+ "***** Episode 96676, Mean R = -6.5 Std R = 6.5 Min R = -26.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.937\n",
+ "ExplainedVarOld: 0.925\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -3.03\n",
+ "PolicyLoss: -0.00207\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 2.21e+07\n",
+ "ValFuncLoss: 0.000146\n",
+ "Variance: 0.12\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010045099 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.1183312 0.10362592 0.11930672 0.11243135]\n",
+ "FIT: 0.6056706985428524 1.7706891006443024 0.023065570885893772 0.1200911683050181\n",
+ "***** Episode 96797, Mean R = -6.9 Std R = 6.9 Min R = -28.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.956\n",
+ "ExplainedVarOld: 0.947\n",
+ "KL: 0.001\n",
+ "PolicyEntropy: -3.04\n",
+ "PolicyLoss: -0.00179\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.21e+07\n",
+ "ValFuncLoss: 0.000123\n",
+ "Variance: 0.119\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011818928 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11772742 0.10393851 0.11933631 0.11270382]\n",
+ "FIT: 5.248336416190564 3.327789785301722 0.027725209781711335 0.11897844967677612\n",
+ "***** Episode 96918, Mean R = -8.2 Std R = 19.1 Min R = -200.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.936\n",
+ "ExplainedVarOld: 0.742\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -3.04\n",
+ "PolicyLoss: -0.00248\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.22e+07\n",
+ "ValFuncLoss: 0.000829\n",
+ "Variance: 0.119\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0007845428 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11769282 0.10446546 0.11883774 0.11307018]\n",
+ "FIT: 0.9909707347148152 1.764863163181905 0.023861117189483794 0.11828093613237144\n",
+ "***** Episode 97039, Mean R = -7.3 Std R = 8.5 Min R = -55.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.928\n",
+ "ExplainedVarOld: 0.874\n",
+ "KL: 0.000785\n",
+ "PolicyEntropy: -3.03\n",
+ "PolicyLoss: -0.00263\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.22e+07\n",
+ "ValFuncLoss: 0.000213\n",
+ "Variance: 0.119\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00096949155 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11744124 0.10470824 0.11831159 0.11322078]\n",
+ "FIT: 0.5303776739098673 1.71873660324858 0.02288628596827419 0.11546882194090323\n",
+ "***** Episode 97160, Mean R = -6.8 Std R = 7.8 Min R = -35.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.937\n",
+ "ExplainedVarOld: 0.91\n",
+ "KL: 0.000969\n",
+ "PolicyEntropy: -3.04\n",
+ "PolicyLoss: -0.0021\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 2.22e+07\n",
+ "ValFuncLoss: 0.000166\n",
+ "Variance: 0.118\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010707219 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11582831 0.10428301 0.11805166 0.11306252]\n",
+ "FIT: 0.7557611727563849 1.7988702116314954 0.023074278431298927 0.11844402703016961\n",
+ "Update Cnt = 640 ET = 1077.6 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.2 -0.2 0.1 | 1.9 2.4 2.5 | -40.4 -46.8 -0.1 | 24.5 51.8 85.6\n",
+ "v_f | -0.03 -0.01 -1.22 | 0.27 0.44 0.28 | -0.94 -1.43 -3.41 | 6.38 13.35 4.79\n",
+ "r_i | 984.4 -5.0 2350.2 | 586.5 579.2 29.3 | 0.4 -997.3 2300.2 | 1995.3 999.4 2400.0\n",
+ "v_i | -38.87 -0.21 -80.21 | 17.45 17.34 5.87 | -69.98 -29.97 -90.00 | -10.03 29.98 -70.00\n",
+ "norm_rf | 1.6 | 3.6 | 0.1 | 108.0\n",
+ "norm_vf | 1.28 | 0.47 | 0.46 | 14.19\n",
+ "gs_f | 15.7 | 50.7 | 0.1 | 1672.0\n",
+ "thrust | 1196 14 9251 | 2879 2869 2223 | -16224 -16873 1127 | 16651 16411 19992\n",
+ "norm_thrust | 9902 | 3228 | 3464 | 20000\n",
+ "fuel | 290 | 21 | 254 | 536\n",
+ "rewards | -7.00 | 9.32 | -200.58 | 2.99\n",
+ "fuel_rewards | -7.48 | 0.54 | -13.83 | -6.55\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.51 | 0.56 | 0.06 | 6.44\n",
+ "norm_af | 0.07 | 0.06 | 0.00 | 1.48\n",
+ "norm_wf | 0.21 | 0.13 | 0.01 | 2.41\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.13 | 1.63 | -45.96 | 0.00\n",
+ "att_penalty | -0.08 | 2.87 | -100.00 | 0.00\n",
+ "attitude | 0.00 0.11 -0.00 | 0.38 0.21 0.20 | -3.13 -1.01 -1.29 | 3.14 1.19 1.44\n",
+ "w | -0.00 -0.01 0.00 | 0.24 0.24 0.02 | -1.73 -2.57 -0.08 | 2.37 1.69 0.28\n",
+ "a_f | -0.01 -0.00 | 0.06 0.07 | -0.42 -0.23 | 0.35 1.44\n",
+ "w_f | -0.01 -0.01 -0.00 | 0.18 0.17 0.02 | -0.57 -0.53 -0.06 | 2.37 0.58 0.26\n",
+ "landing_rewards | 7.06 | 4.56 | 0.00 | 10.00\n",
+ "landing_margin | 0.31 | 3.33 | -0.19 | 102.96\n",
+ "tracking_rewards | -6.37 | 5.47 | -45.53 | 0.22\n",
+ "steps | 302 | 32 | 242 | 601\n",
+ "***** Episode 97281, Mean R = -6.9 Std R = 7.2 Min R = -39.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.942\n",
+ "ExplainedVarOld: 0.913\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -3.06\n",
+ "PolicyLoss: -0.0023\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 2.23e+07\n",
+ "ValFuncLoss: 0.000157\n",
+ "Variance: 0.118\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013294767 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11486173 0.10334542 0.11825971 0.11248254]\n",
+ "FIT: 0.5877467491804986 1.8068859791985719 0.022405965741326722 0.11493655864264438\n",
+ "***** Episode 97402, Mean R = -6.2 Std R = 7.6 Min R = -32.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.955\n",
+ "ExplainedVarOld: 0.94\n",
+ "KL: 0.00133\n",
+ "PolicyEntropy: -3.08\n",
+ "PolicyLoss: -0.00195\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 2.23e+07\n",
+ "ValFuncLoss: 0.000126\n",
+ "Variance: 0.118\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011289053 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11412394 0.10247267 0.11841945 0.11200982]\n",
+ "FIT: 0.6093642827505406 1.8133114550486247 0.02300685934498065 0.11826878752797078\n",
+ "***** Episode 97523, Mean R = -6.5 Std R = 7.8 Min R = -33.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.954\n",
+ "ExplainedVarOld: 0.901\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -3.1\n",
+ "PolicyLoss: -0.00223\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 2.23e+07\n",
+ "ValFuncLoss: 0.000138\n",
+ "Variance: 0.118\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008093638 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11399667 0.10124087 0.11814289 0.11157982]\n",
+ "FIT: 0.6331822445392166 1.7552821351091012 0.022490565626501376 0.11468402350519163\n",
+ "***** Episode 97644, Mean R = -6.7 Std R = 6.5 Min R = -29.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.92\n",
+ "ExplainedVarOld: 0.898\n",
+ "KL: 0.000809\n",
+ "PolicyEntropy: -3.11\n",
+ "PolicyLoss: -0.00172\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 2.24e+07\n",
+ "ValFuncLoss: 0.000194\n",
+ "Variance: 0.118\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010542856 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11404365 0.10068281 0.11797207 0.111288 ]\n",
+ "FIT: 0.5007608535732145 1.8000338104607405 0.02292343761389013 0.11580183301987215\n",
+ "***** Episode 97765, Mean R = -6.6 Std R = 7.0 Min R = -29.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.957\n",
+ "ExplainedVarOld: 0.936\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -3.12\n",
+ "PolicyLoss: -0.00238\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 2.24e+07\n",
+ "ValFuncLoss: 0.000125\n",
+ "Variance: 0.118\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011131649 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11390474 0.10097089 0.11779941 0.11129224]\n",
+ "FIT: 0.6398988885937098 1.8892254914220012 0.022460723907332693 0.11359734497476064\n",
+ "***** Episode 97886, Mean R = -6.5 Std R = 6.6 Min R = -33.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.938\n",
+ "ExplainedVarOld: 0.925\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -3.12\n",
+ "PolicyLoss: -0.00175\n",
+ "Steps: 3.58e+04\n",
+ "TotalSteps: 2.25e+07\n",
+ "ValFuncLoss: 0.000158\n",
+ "Variance: 0.118\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.000948423 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11360193 0.10029373 0.11851405 0.11112721]\n",
+ "FIT: 0.6015703180592543 1.8327474259247074 0.023425251890501358 0.11593537109865414\n",
+ "***** Episode 98007, Mean R = -6.6 Std R = 8.1 Min R = -34.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.958\n",
+ "ExplainedVarOld: 0.95\n",
+ "KL: 0.000948\n",
+ "PolicyEntropy: -3.13\n",
+ "PolicyLoss: -0.00188\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.25e+07\n",
+ "ValFuncLoss: 0.000142\n",
+ "Variance: 0.119\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010890989 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11338235 0.10050581 0.11906112 0.11103336]\n",
+ "FIT: 0.6525618827552166 1.887650661701073 0.024595365286044356 0.11626078085957325\n",
+ "***** Episode 98128, Mean R = -7.4 Std R = 8.0 Min R = -42.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.957\n",
+ "ExplainedVarOld: 0.945\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -3.12\n",
+ "PolicyLoss: -0.00179\n",
+ "Steps: 3.59e+04\n",
+ "TotalSteps: 2.25e+07\n",
+ "ValFuncLoss: 0.000144\n",
+ "Variance: 0.119\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009067779 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.113557 0.09993438 0.1186315 0.11068024]\n",
+ "FIT: 0.6186406015814245 1.7622090529062115 0.02191576463846241 0.11507345350484045\n",
+ "***** Episode 98249, Mean R = -6.1 Std R = 6.7 Min R = -37.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.945\n",
+ "ExplainedVarOld: 0.938\n",
+ "KL: 0.000907\n",
+ "PolicyEntropy: -3.14\n",
+ "PolicyLoss: -0.00186\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 2.26e+07\n",
+ "ValFuncLoss: 0.000138\n",
+ "Variance: 0.119\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0016137098 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11398567 0.09950529 0.11838606 0.11039699]\n",
+ "FIT: 0.6178878589590029 1.6844934537631364 0.020919926336770357 0.11539119446684934\n",
+ "***** Episode 98370, Mean R = -5.6 Std R = 6.6 Min R = -29.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.936\n",
+ "ExplainedVarOld: 0.92\n",
+ "KL: 0.00161\n",
+ "PolicyEntropy: -3.14\n",
+ "PolicyLoss: 0.000177\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 2.26e+07\n",
+ "ValFuncLoss: 0.000139\n",
+ "Variance: 0.118\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00118507 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11373638 0.09910823 0.1175596 0.11018386]\n",
+ "FIT: 0.7353932861518679 1.7819307080833735 0.02223030524561906 0.11635264978788976\n",
+ "Update Cnt = 650 ET = 1082.4 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.3 -0.3 -0.0 | 1.3 2.9 0.4 | -4.6 -63.5 -0.1 | 7.0 4.7 10.6\n",
+ "v_f | -0.03 -0.00 -1.23 | 0.19 0.18 0.22 | -0.54 -2.46 -1.82 | 1.86 0.66 1.20\n",
+ "r_i | 984.2 -12.1 2350.9 | 565.1 582.6 28.4 | 0.7 -998.0 2300.0 | 1998.3 998.6 2400.0\n",
+ "v_i | -40.29 -0.97 -79.76 | 17.46 17.66 5.81 | -69.98 -29.99 -89.99 | -10.12 29.98 -70.00\n",
+ "norm_rf | 1.6 | 2.8 | 0.0 | 63.8\n",
+ "norm_vf | 1.26 | 0.19 | 0.64 | 2.75\n",
+ "gs_f | 14.8 | 15.4 | 0.1 | 233.1\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "thrust | 1248 41 9251 | 2849 2895 2185 | -15703 -16565 2000 | 16688 16372 19998\n",
+ "norm_thrust | 9909 | 3197 | 3464 | 20000\n",
+ "fuel | 289 | 18 | 256 | 483\n",
+ "rewards | -6.45 | 7.22 | -42.41 | 3.22\n",
+ "fuel_rewards | -7.46 | 0.46 | -12.44 | -6.60\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.49 | 0.52 | 0.08 | 4.66\n",
+ "norm_af | 0.06 | 0.04 | 0.00 | 0.70\n",
+ "norm_wf | 0.21 | 0.12 | 0.01 | 0.80\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.08 | 0.54 | -7.19 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 -0.00 | 0.36 0.20 0.20 | -1.48 -0.97 -1.12 | 1.85 1.10 1.04\n",
+ "w | -0.00 -0.01 0.00 | 0.24 0.23 0.01 | -1.67 -2.46 -0.10 | 2.08 1.55 0.18\n",
+ "a_f | -0.01 -0.01 | 0.06 0.05 | -0.47 -0.19 | 0.20 0.52\n",
+ "w_f | -0.00 -0.01 0.00 | 0.17 0.17 0.01 | -0.72 -0.78 -0.10 | 0.62 0.67 0.18\n",
+ "landing_rewards | 7.45 | 4.36 | 0.00 | 10.00\n",
+ "landing_margin | 0.21 | 2.47 | -0.18 | 58.78\n",
+ "tracking_rewards | -6.37 | 5.39 | -34.39 | 0.25\n",
+ "steps | 300 | 30 | 242 | 601\n",
+ "***** Episode 98491, Mean R = -6.3 Std R = 6.9 Min R = -29.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.934\n",
+ "ExplainedVarOld: 0.927\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -3.16\n",
+ "PolicyLoss: -0.00146\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 2.26e+07\n",
+ "ValFuncLoss: 0.000167\n",
+ "Variance: 0.118\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011649294 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11341631 0.09860969 0.11690635 0.11020825]\n",
+ "FIT: 0.5094763099041234 1.6907244514017303 0.020337942765830643 0.11569829199695275\n",
+ "***** Episode 98612, Mean R = -5.2 Std R = 6.0 Min R = -29.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.947\n",
+ "ExplainedVarOld: 0.94\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -3.17\n",
+ "PolicyLoss: -0.00208\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 2.27e+07\n",
+ "ValFuncLoss: 0.000105\n",
+ "Variance: 0.117\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008725586 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11268275 0.09840894 0.11714303 0.10984959]\n",
+ "FIT: 0.5596332115522352 1.7126848628556934 0.022342338813696346 0.11608535268102423\n",
+ "***** Episode 98733, Mean R = -6.8 Std R = 6.4 Min R = -28.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.93\n",
+ "ExplainedVarOld: 0.913\n",
+ "KL: 0.000873\n",
+ "PolicyEntropy: -3.18\n",
+ "PolicyLoss: -0.00191\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 2.27e+07\n",
+ "ValFuncLoss: 0.000191\n",
+ "Variance: 0.117\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.000729667 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11267673 0.0983554 0.11699242 0.10960525]\n",
+ "FIT: 0.6849948445537677 1.771610486851656 0.02286471086152933 0.11347823524710389\n",
+ "***** Episode 98854, Mean R = -6.5 Std R = 7.9 Min R = -43.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.935\n",
+ "ExplainedVarOld: 0.925\n",
+ "KL: 0.00073\n",
+ "PolicyEntropy: -3.18\n",
+ "PolicyLoss: -0.0016\n",
+ "Steps: 3.59e+04\n",
+ "TotalSteps: 2.27e+07\n",
+ "ValFuncLoss: 0.00018\n",
+ "Variance: 0.117\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00083908974 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11210632 0.09824187 0.11675858 0.10932268]\n",
+ "FIT: 0.569525224246047 1.6706933000160353 0.022146341655442794 0.11637982841499502\n",
+ "***** Episode 98975, Mean R = -6.5 Std R = 7.1 Min R = -34.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.939\n",
+ "ExplainedVarOld: 0.922\n",
+ "KL: 0.000839\n",
+ "PolicyEntropy: -3.19\n",
+ "PolicyLoss: -0.00199\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 2.28e+07\n",
+ "ValFuncLoss: 0.000146\n",
+ "Variance: 0.117\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009114553 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11155502 0.09793327 0.11623211 0.10908014]\n",
+ "FIT: 0.5571322446606477 1.6942364197305375 0.022470781397095393 0.11578036628141107\n",
+ "***** Episode 99096, Mean R = -6.6 Std R = 6.3 Min R = -32.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.946\n",
+ "ExplainedVarOld: 0.926\n",
+ "KL: 0.000911\n",
+ "PolicyEntropy: -3.21\n",
+ "PolicyLoss: -0.00172\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 2.28e+07\n",
+ "ValFuncLoss: 0.000135\n",
+ "Variance: 0.116\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009527898 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11185003 0.09857934 0.11668044 0.10858112]\n",
+ "FIT: 0.5926481286532047 1.8118519681502627 0.023449207163339307 0.11550273455311406\n",
+ "***** Episode 99217, Mean R = -6.7 Std R = 7.1 Min R = -32.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.952\n",
+ "ExplainedVarOld: 0.938\n",
+ "KL: 0.000953\n",
+ "PolicyEntropy: -3.2\n",
+ "PolicyLoss: -0.00173\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 2.29e+07\n",
+ "ValFuncLoss: 0.000159\n",
+ "Variance: 0.117\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009391896 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11169128 0.09905922 0.1162343 0.1082065 ]\n",
+ "FIT: 0.575545616900706 1.7775016253371467 0.02373665097128507 0.11713633699840889\n",
+ "***** Episode 99338, Mean R = -7.1 Std R = 7.2 Min R = -31.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.952\n",
+ "ExplainedVarOld: 0.942\n",
+ "KL: 0.000939\n",
+ "PolicyEntropy: -3.2\n",
+ "PolicyLoss: -0.00204\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.29e+07\n",
+ "ValFuncLoss: 0.000139\n",
+ "Variance: 0.116\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012986051 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.1113809 0.09890356 0.11616967 0.10793616]\n",
+ "FIT: 0.6832409522476043 1.8907436325599154 0.026574495914977795 0.11689566751050351\n",
+ "***** Episode 99459, Mean R = -8.5 Std R = 8.9 Min R = -35.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.955\n",
+ "ExplainedVarOld: 0.947\n",
+ "KL: 0.0013\n",
+ "PolicyEntropy: -3.21\n",
+ "PolicyLoss: -0.000978\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 2.29e+07\n",
+ "ValFuncLoss: 0.000169\n",
+ "Variance: 0.116\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00093875814 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11136614 0.09931265 0.11492462 0.10731795]\n",
+ "FIT: 0.5036008429767902 1.7615824682873558 0.02214348420044869 0.11556815921859728\n",
+ "***** Episode 99580, Mean R = -5.9 Std R = 6.8 Min R = -28.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.948\n",
+ "ExplainedVarOld: 0.936\n",
+ "KL: 0.000939\n",
+ "PolicyEntropy: -3.22\n",
+ "PolicyLoss: -0.00165\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 2.3e+07\n",
+ "ValFuncLoss: 0.000142\n",
+ "Variance: 0.115\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00094600976 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11122744 0.09957193 0.11500321 0.10773572]\n",
+ "FIT: 0.588328626428649 1.8858976540580759 0.022205414995547967 0.11483905012082585\n",
+ "Update Cnt = 660 ET = 1079.1 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.3 -0.1 -0.0 | 1.2 1.1 0.0 | -5.1 -6.2 -0.1 | 9.6 6.4 -0.0\n",
+ "v_f | -0.00 0.02 -1.23 | 0.18 0.15 0.19 | -0.62 -0.57 -1.79 | 0.99 0.71 -0.34\n",
+ "r_i | 1019.5 -0.2 2349.0 | 580.4 575.8 29.1 | 1.0 -999.8 2300.0 | 1998.6 999.9 2400.0\n",
+ "v_i | -40.04 -0.23 -80.08 | 17.37 17.74 5.79 | -69.96 -29.98 -89.98 | -10.07 29.95 -70.02\n",
+ "norm_rf | 1.4 | 0.9 | 0.0 | 9.8\n",
+ "norm_vf | 1.26 | 0.18 | 0.55 | 1.80\n",
+ "gs_f | 15.2 | 29.5 | 1.2 | 934.4\n",
+ "thrust | 1237 16 9262 | 2854 2895 2203 | -16256 -16723 2000 | 16938 16484 19999\n",
+ "norm_thrust | 9919 | 3212 | 3464 | 20000\n",
+ "fuel | 290 | 16 | 257 | 357\n",
+ "rewards | -6.57 | 7.22 | -43.66 | 3.21\n",
+ "fuel_rewards | -7.47 | 0.42 | -9.20 | -6.63\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.46 | 0.51 | 0.37 | 4.80\n",
+ "norm_af | 0.06 | 0.04 | 0.00 | 0.27\n",
+ "norm_wf | 0.20 | 0.12 | 0.01 | 0.71\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.48 | -8.74 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | -0.00 0.12 -0.00 | 0.36 0.20 0.20 | -1.68 -1.04 -1.06 | 1.52 1.06 1.08\n",
+ "w | -0.00 -0.01 -0.00 | 0.23 0.23 0.01 | -1.70 -2.41 -0.07 | 2.09 1.69 0.10\n",
+ "a_f | -0.01 -0.00 | 0.06 0.05 | -0.27 -0.18 | 0.25 0.19\n",
+ "w_f | -0.00 -0.00 -0.00 | 0.17 0.16 0.01 | -0.61 -0.60 -0.07 | 0.49 0.55 0.08\n",
+ "landing_rewards | 7.32 | 4.43 | 0.00 | 10.00\n",
+ "landing_margin | 0.09 | 0.45 | -0.19 | 4.83\n",
+ "tracking_rewards | -6.37 | 5.19 | -36.29 | 0.23\n",
+ "steps | 300 | 27 | 244 | 399\n",
+ "***** Episode 99701, Mean R = -5.8 Std R = 7.5 Min R = -31.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.957\n",
+ "ExplainedVarOld: 0.939\n",
+ "KL: 0.000946\n",
+ "PolicyEntropy: -3.22\n",
+ "PolicyLoss: -0.00191\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 2.3e+07\n",
+ "ValFuncLoss: 0.000126\n",
+ "Variance: 0.115\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0008622705 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11107954 0.10011073 0.11458211 0.10815169]\n",
+ "FIT: 0.8466985129638658 1.9480957172951818 0.02309674935812778 0.11935276792050718\n",
+ "***** Episode 99822, Mean R = -6.7 Std R = 8.8 Min R = -64.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.948\n",
+ "ExplainedVarOld: 0.904\n",
+ "KL: 0.000862\n",
+ "PolicyEntropy: -3.21\n",
+ "PolicyLoss: -0.00248\n",
+ "Steps: 3.75e+04\n",
+ "TotalSteps: 2.3e+07\n",
+ "ValFuncLoss: 0.000154\n",
+ "Variance: 0.115\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009578808 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11131106 0.10005525 0.11431587 0.10771599]\n",
+ "FIT: 0.5625503189705278 1.8407040952563398 0.0232439222095604 0.11834367798598254\n",
+ "***** Episode 99943, Mean R = -7.1 Std R = 7.0 Min R = -28.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.933\n",
+ "ExplainedVarOld: 0.913\n",
+ "KL: 0.000958\n",
+ "PolicyEntropy: -3.22\n",
+ "PolicyLoss: -0.00233\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.31e+07\n",
+ "ValFuncLoss: 0.000179\n",
+ "Variance: 0.114\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00097585673 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11139091 0.10022776 0.11383838 0.10763036]\n",
+ "FIT: 0.7061490435866994 1.9065905019561733 0.023526145653374797 0.117208424714333\n",
+ "***** Episode 100064, Mean R = -6.9 Std R = 7.3 Min R = -40.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.955\n",
+ "ExplainedVarOld: 0.936\n",
+ "KL: 0.000976\n",
+ "PolicyEntropy: -3.22\n",
+ "PolicyLoss: -0.00227\n",
+ "Steps: 3.59e+04\n",
+ "TotalSteps: 2.31e+07\n",
+ "ValFuncLoss: 0.000153\n",
+ "Variance: 0.114\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011179415 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11105359 0.0999254 0.1137814 0.10692515]\n",
+ "FIT: 0.569161736445983 1.7692706162854357 0.022175983011732625 0.11589046158048821\n",
+ "***** Episode 100185, Mean R = -5.7 Std R = 7.1 Min R = -30.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.967\n",
+ "ExplainedVarOld: 0.953\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -3.23\n",
+ "PolicyLoss: -0.00246\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 2.31e+07\n",
+ "ValFuncLoss: 9.51e-05\n",
+ "Variance: 0.114\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010401555 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11211279 0.09942239 0.11341036 0.10602558]\n",
+ "FIT: 0.6855362879450917 1.8308496710931013 0.022583505665955933 0.11580724762711049\n",
+ "***** Episode 100306, Mean R = -6.2 Std R = 7.1 Min R = -40.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.947\n",
+ "ExplainedVarOld: 0.909\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -3.24\n",
+ "PolicyLoss: -0.0025\n",
+ "Steps: 3.59e+04\n",
+ "TotalSteps: 2.32e+07\n",
+ "ValFuncLoss: 0.000139\n",
+ "Variance: 0.113\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011178 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11162526 0.09910448 0.11243114 0.10543713]\n",
+ "FIT: 0.733251658900286 1.8426430094606268 0.021321206920813855 0.11237530893767946\n",
+ "***** Episode 100427, Mean R = -5.3 Std R = 7.0 Min R = -35.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.959\n",
+ "ExplainedVarOld: 0.928\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -3.26\n",
+ "PolicyLoss: -0.00177\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 2.32e+07\n",
+ "ValFuncLoss: 0.000115\n",
+ "Variance: 0.112\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00123598 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11194254 0.09855537 0.11260425 0.10558051]\n",
+ "FIT: 0.6654873637086689 1.7691295806297889 0.02163827551589941 0.11383604117039268\n",
+ "***** Episode 100548, Mean R = -5.9 Std R = 7.0 Min R = -30.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.934\n",
+ "ExplainedVarOld: 0.913\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -3.26\n",
+ "PolicyLoss: -4.55e-05\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.33e+07\n",
+ "ValFuncLoss: 0.000168\n",
+ "Variance: 0.113\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010949606 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.1110383 0.09851687 0.1129486 0.1061394 ]\n",
+ "FIT: 0.5795865856106924 1.919145485324345 0.021710406398142604 0.11490013729172228\n",
+ "***** Episode 100669, Mean R = -6.1 Std R = 7.0 Min R = -29.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.936\n",
+ "ExplainedVarOld: 0.914\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -3.26\n",
+ "PolicyLoss: -0.002\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 2.33e+07\n",
+ "ValFuncLoss: 0.000159\n",
+ "Variance: 0.113\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010342745 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11040699 0.09846593 0.11214426 0.10581174]\n",
+ "FIT: 0.6046958941088559 1.8161593796329978 0.022968642142891654 0.11575944840437441\n",
+ "***** Episode 100790, Mean R = -6.7 Std R = 6.7 Min R = -26.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.949\n",
+ "ExplainedVarOld: 0.939\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -3.28\n",
+ "PolicyLoss: -0.00184\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 2.33e+07\n",
+ "ValFuncLoss: 0.000142\n",
+ "Variance: 0.112\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009712893 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11033005 0.09840067 0.11217111 0.10527857]\n",
+ "FIT: 0.5245234247772553 1.7672136856884717 0.021271016277594198 0.11899919054180226\n",
+ "Update Cnt = 670 ET = 1076.1 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.2 -0.2 -0.0 | 1.2 2.0 0.4 | -7.8 -57.5 -0.1 | 6.7 4.5 10.8\n",
+ "v_f | 0.02 0.03 -1.23 | 0.18 0.15 0.19 | -0.75 -1.41 -2.10 | 2.29 0.55 -0.07\n",
+ "r_i | 999.8 8.5 2349.4 | 581.6 595.5 28.8 | 0.2 -998.4 2300.1 | 1999.3 998.8 2399.8\n",
+ "v_i | -39.57 0.20 -80.15 | 16.98 17.37 5.80 | -69.92 -29.99 -90.00 | -10.00 29.86 -70.01\n",
+ "norm_rf | 1.5 | 1.9 | 0.1 | 58.4\n",
+ "norm_vf | 1.25 | 0.18 | 0.28 | 3.04\n",
+ "gs_f | 15.7 | 18.4 | 1.1 | 319.0\n",
+ "thrust | 1218 2 9244 | 2862 2871 2208 | -16058 -16434 1643 | 16793 17170 19999\n",
+ "norm_thrust | 9894 | 3216 | 3464 | 20000\n",
+ "fuel | 290 | 19 | 257 | 553\n",
+ "rewards | -6.21 | 7.21 | -64.19 | 3.33\n",
+ "fuel_rewards | -7.47 | 0.49 | -14.27 | -6.63\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.46 | 0.49 | 0.10 | 4.18\n",
+ "norm_af | 0.06 | 0.04 | 0.00 | 0.69\n",
+ "norm_wf | 0.20 | 0.11 | 0.01 | 1.06\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.08 | 0.79 | -15.99 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.00 0.12 -0.00 | 0.37 0.20 0.20 | -1.41 -0.95 -1.09 | 2.11 1.08 1.13\n",
+ "w | -0.00 -0.01 0.00 | 0.24 0.23 0.01 | -2.67 -2.49 -0.08 | 2.08 1.64 0.23\n",
+ "a_f | -0.01 -0.01 | 0.06 0.05 | -0.54 -0.21 | 0.24 0.57\n",
+ "w_f | -0.01 -0.01 0.00 | 0.16 0.16 0.02 | -1.02 -0.60 -0.07 | 0.57 0.60 0.23\n",
+ "landing_rewards | 7.56 | 4.29 | 0.00 | 10.00\n",
+ "landing_margin | 0.13 | 1.60 | -0.19 | 53.43\n",
+ "tracking_rewards | -6.22 | 5.14 | -33.93 | 0.54\n",
+ "steps | 301 | 28 | 246 | 601\n",
+ "***** Episode 100911, Mean R = -5.5 Std R = 6.7 Min R = -24.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.947\n",
+ "ExplainedVarOld: 0.925\n",
+ "KL: 0.000971\n",
+ "PolicyEntropy: -3.29\n",
+ "PolicyLoss: -0.00168\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 2.34e+07\n",
+ "ValFuncLoss: 0.000123\n",
+ "Variance: 0.112\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011028732 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.1099338 0.09871361 0.11212391 0.10485913]\n",
+ "FIT: 0.5113102040660261 1.76416549968889 0.02029229891122025 0.1154966567642911\n",
+ "***** Episode 101032, Mean R = -4.9 Std R = 5.4 Min R = -22.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.945\n",
+ "ExplainedVarOld: 0.939\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -3.29\n",
+ "PolicyLoss: -0.00163\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 2.34e+07\n",
+ "ValFuncLoss: 0.000111\n",
+ "Variance: 0.112\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010748415 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.10988608 0.0982828 0.1126614 0.10443322]\n",
+ "FIT: 0.7117964976378346 1.7389761549844451 0.02167390740965988 0.11617653911163311\n",
+ "***** Episode 101153, Mean R = -5.8 Std R = 6.9 Min R = -31.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.954\n",
+ "ExplainedVarOld: 0.937\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -3.3\n",
+ "PolicyLoss: -0.00204\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 2.34e+07\n",
+ "ValFuncLoss: 0.000125\n",
+ "Variance: 0.113\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010140871 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11043237 0.09878469 0.11199177 0.10482913]\n",
+ "FIT: 0.5932244998231995 1.8372630705805102 0.023099043784127048 0.11745809849704285\n",
+ "***** Episode 101274, Mean R = -6.8 Std R = 7.2 Min R = -33.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.943\n",
+ "ExplainedVarOld: 0.932\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -3.29\n",
+ "PolicyLoss: -0.00174\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.35e+07\n",
+ "ValFuncLoss: 0.000156\n",
+ "Variance: 0.112\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0008869538 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11081576 0.09871971 0.11172196 0.10420984]\n",
+ "FIT: 0.6491927847314983 1.8645584343369674 0.02428080001582217 0.11884139058361384\n",
+ "***** Episode 101395, Mean R = -7.4 Std R = 7.7 Min R = -33.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.948\n",
+ "ExplainedVarOld: 0.913\n",
+ "KL: 0.000887\n",
+ "PolicyEntropy: -3.29\n",
+ "PolicyLoss: -0.00233\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 2.35e+07\n",
+ "ValFuncLoss: 0.000225\n",
+ "Variance: 0.112\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0010724312 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11125669 0.09905005 0.11150374 0.10426056]\n",
+ "FIT: 5.247273304505435 1.8560149288905854 0.02677728968884961 0.11517085783000884\n",
+ "***** Episode 101516, Mean R = -7.8 Std R = 14.6 Min R = -146.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.657\n",
+ "ExplainedVarOld: 0.291\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -3.29\n",
+ "PolicyLoss: -0.0021\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.35e+07\n",
+ "ValFuncLoss: 0.00408\n",
+ "Variance: 0.112\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010005356 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11090834 0.09865469 0.11167754 0.10419285]\n",
+ "FIT: 0.5680479835566112 1.9308641554502273 0.023311765221327576 0.11821187260489763\n",
+ "***** Episode 101637, Mean R = -7.0 Std R = 7.4 Min R = -30.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.934\n",
+ "ExplainedVarOld: 0.923\n",
+ "KL: 0.001\n",
+ "PolicyEntropy: -3.29\n",
+ "PolicyLoss: -0.00184\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 2.36e+07\n",
+ "ValFuncLoss: 0.000183\n",
+ "Variance: 0.112\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0013363049 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11093608 0.09838033 0.11154936 0.10463057]\n",
+ "FIT: 0.5445586277289074 1.8036759823262571 0.02289114536328512 0.11476474084290163\n",
+ "***** Episode 101758, Mean R = -6.4 Std R = 6.9 Min R = -27.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.947\n",
+ "ExplainedVarOld: 0.93\n",
+ "KL: 0.00134\n",
+ "PolicyEntropy: -3.29\n",
+ "PolicyLoss: -0.000689\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 2.36e+07\n",
+ "ValFuncLoss: 0.000153\n",
+ "Variance: 0.112\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0012325257 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11042584 0.09814715 0.11133834 0.10499842]\n",
+ "FIT: 0.5946620351770154 1.9369413401602058 0.022582028506276223 0.11541778839673908\n",
+ "***** Episode 101879, Mean R = -6.4 Std R = 7.2 Min R = -33.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.951\n",
+ "ExplainedVarOld: 0.92\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -3.3\n",
+ "PolicyLoss: -0.00169\n",
+ "Steps: 3.6e+04\n",
+ "TotalSteps: 2.37e+07\n",
+ "ValFuncLoss: 0.000144\n",
+ "Variance: 0.111\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.00092677015 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.10954602 0.09810712 0.11103198 0.10455943]\n",
+ "FIT: 0.511638117658737 1.7204143150603721 0.019875556978704485 0.1163172409612531\n",
+ "***** Episode 102000, Mean R = -5.0 Std R = 6.1 Min R = -21.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.921\n",
+ "ExplainedVarOld: 0.908\n",
+ "KL: 0.000927\n",
+ "PolicyEntropy: -3.31\n",
+ "PolicyLoss: -0.00175\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.37e+07\n",
+ "ValFuncLoss: 0.000146\n",
+ "Variance: 0.111\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010476627 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.10892483 0.09802501 0.11065215 0.10460177]\n",
+ "FIT: 0.5109925642912971 1.7537229337475821 0.021683659359956524 0.11332114696079039\n",
+ "Update Cnt = 680 ET = 1083.0 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.2 -0.0 | 1.3 1.5 0.5 | -17.0 -31.4 -0.1 | 11.3 9.1 18.7\n",
+ "v_f | 0.02 0.01 -1.21 | 0.33 0.16 0.22 | -10.01 -0.93 -1.69 | 0.60 2.03 2.57\n",
+ "r_i | 994.5 7.6 2349.7 | 584.6 577.1 28.7 | 0.1 -996.5 2300.1 | 1995.1 998.9 2400.0\n",
+ "v_i | -40.26 0.21 -79.81 | 17.20 17.35 5.68 | -69.87 -29.85 -90.00 | -10.11 29.96 -70.05\n",
+ "norm_rf | 1.4 | 1.5 | 0.0 | 40.4\n",
+ "norm_vf | 1.24 | 0.32 | 0.41 | 10.38\n",
+ "gs_f | 16.3 | 24.2 | 0.4 | 541.1\n",
+ "thrust | 1244 1 9243 | 2874 2820 2192 | -16054 -16936 1370 | 16715 16218 19999\n",
+ "norm_thrust | 9891 | 3189 | 3464 | 20000\n",
+ "fuel | 289 | 17 | 258 | 480\n",
+ "rewards | -6.36 | 8.05 | -146.66 | 3.17\n",
+ "fuel_rewards | -7.46 | 0.44 | -12.38 | -6.65\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.48 | 0.52 | 0.12 | 4.93\n",
+ "norm_af | 0.06 | 0.06 | 0.00 | 1.74\n",
+ "norm_wf | 0.20 | 0.12 | 0.01 | 1.23\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.68 | -14.83 | 0.00\n",
+ "att_penalty | -0.08 | 2.87 | -100.00 | 0.00\n",
+ "attitude | -0.01 0.12 -0.00 | 0.37 0.21 0.20 | -1.63 -0.92 -1.38 | 2.20 1.09 1.04\n",
+ "w | -0.00 -0.01 -0.00 | 0.23 0.23 0.01 | -1.72 -2.38 -0.13 | 2.14 1.84 0.24\n",
+ "a_f | -0.01 -0.01 | 0.06 0.06 | -0.24 -1.38 | 1.06 0.56\n",
+ "w_f | -0.01 -0.01 -0.00 | 0.17 0.16 0.02 | -0.72 -0.60 -0.13 | 0.98 0.86 0.23\n",
+ "landing_rewards | 7.40 | 4.39 | 0.00 | 10.00\n",
+ "landing_margin | 0.12 | 1.14 | -0.19 | 35.36\n",
+ "tracking_rewards | -6.15 | 5.21 | -31.83 | 0.25\n",
+ "steps | 301 | 27 | 243 | 539\n",
+ "***** Episode 102121, Mean R = -6.1 Std R = 6.9 Min R = -27.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.933\n",
+ "ExplainedVarOld: 0.925\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -3.32\n",
+ "PolicyLoss: -0.000494\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 2.37e+07\n",
+ "ValFuncLoss: 0.000152\n",
+ "Variance: 0.111\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0007601621 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.10934969 0.09810298 0.11090671 0.10419545]\n",
+ "FIT: 0.581412298934972 1.7804766204168523 0.0216348105544384 0.11417073182486168\n",
+ "***** Episode 102242, Mean R = -5.8 Std R = 6.6 Min R = -28.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.948\n",
+ "ExplainedVarOld: 0.923\n",
+ "KL: 0.00076\n",
+ "PolicyEntropy: -3.32\n",
+ "PolicyLoss: -0.00218\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.38e+07\n",
+ "ValFuncLoss: 0.00013\n",
+ "Variance: 0.111\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011578095 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.10954913 0.09815373 0.11036362 0.10461531]\n",
+ "FIT: 0.5380042204109534 1.9285691803365859 0.02148241456485752 0.11491287708958837\n",
+ "***** Episode 102363, Mean R = -5.7 Std R = 6.4 Min R = -25.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.953\n",
+ "ExplainedVarOld: 0.939\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -3.32\n",
+ "PolicyLoss: -0.00182\n",
+ "Steps: 3.59e+04\n",
+ "TotalSteps: 2.38e+07\n",
+ "ValFuncLoss: 0.000116\n",
+ "Variance: 0.11\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009467626 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11003583 0.09849308 0.11018789 0.10410256]\n",
+ "FIT: 0.7445441293283528 1.8558721995574416 0.021403477410614297 0.11583493369640159\n",
+ "***** Episode 102484, Mean R = -5.7 Std R = 7.1 Min R = -54.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.942\n",
+ "ExplainedVarOld: 0.932\n",
+ "KL: 0.000947\n",
+ "PolicyEntropy: -3.32\n",
+ "PolicyLoss: -0.0018\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.38e+07\n",
+ "ValFuncLoss: 0.000146\n",
+ "Variance: 0.11\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011070528 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.10995537 0.09775393 0.10991501 0.10319486]\n",
+ "FIT: 0.5878854011176935 1.9864452270484192 0.02374961575408529 0.1189243731036606\n",
+ "***** Episode 102605, Mean R = -6.8 Std R = 7.9 Min R = -32.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.953\n",
+ "ExplainedVarOld: 0.936\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -3.34\n",
+ "PolicyLoss: -0.00217\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 2.39e+07\n",
+ "ValFuncLoss: 0.000151\n",
+ "Variance: 0.11\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011174985 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.1105189 0.09813229 0.10966079 0.10323679]\n",
+ "FIT: 5.291893154875959 2.0394087942424313 0.025436322289151686 0.11747306948737499\n",
+ "***** Episode 102726, Mean R = -7.0 Std R = 14.9 Min R = -148.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.86\n",
+ "ExplainedVarOld: 0.577\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -3.33\n",
+ "PolicyLoss: -0.00162\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 2.39e+07\n",
+ "ValFuncLoss: 0.00176\n",
+ "Variance: 0.111\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010196443 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11028892 0.09778988 0.10867407 0.1033845 ]\n",
+ "FIT: 0.6164719606619439 1.9111060277355891 0.021533125801439654 0.11649477937403446\n",
+ "***** Episode 102847, Mean R = -5.3 Std R = 6.4 Min R = -31.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.944\n",
+ "ExplainedVarOld: 0.952\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -3.34\n",
+ "PolicyLoss: -0.00216\n",
+ "Steps: 3.57e+04\n",
+ "TotalSteps: 2.39e+07\n",
+ "ValFuncLoss: 0.000159\n",
+ "Variance: 0.11\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010937223 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11067487 0.0980669 0.10813469 0.1028705 ]\n",
+ "FIT: 0.6191377182373811 1.7991401196796284 0.021913371477103354 0.11409849247763611\n",
+ "***** Episode 102968, Mean R = -5.9 Std R = 6.9 Min R = -29.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.943\n",
+ "ExplainedVarOld: 0.914\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -3.35\n",
+ "PolicyLoss: -0.00204\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.4e+07\n",
+ "ValFuncLoss: 0.000149\n",
+ "Variance: 0.111\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011593673 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11090848 0.0976747 0.10744985 0.10282109]\n",
+ "FIT: 0.5963799952000075 1.9047527286522237 0.02196418614949055 0.115977880318421\n",
+ "***** Episode 103089, Mean R = -5.7 Std R = 7.0 Min R = -34.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.959\n",
+ "ExplainedVarOld: 0.951\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -3.35\n",
+ "PolicyLoss: -0.00224\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 2.4e+07\n",
+ "ValFuncLoss: 0.000118\n",
+ "Variance: 0.111\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.001164806 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11063421 0.09753172 0.10748808 0.10145874]\n",
+ "FIT: 0.685486773706855 1.8640624957443837 0.023432122437484125 0.11834949878556626\n",
+ "***** Episode 103210, Mean R = -6.7 Std R = 8.2 Min R = -39.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.963\n",
+ "ExplainedVarOld: 0.944\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -3.37\n",
+ "PolicyLoss: -0.00197\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 2.41e+07\n",
+ "ValFuncLoss: 0.000117\n",
+ "Variance: 0.111\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0011680393 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11110645 0.09735516 0.10741433 0.10147671]\n",
+ "FIT: 0.4760155124054938 1.835781827077526 0.01922077948582191 0.11217425417277373\n",
+ "Update Cnt = 690 ET = 1066.0 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.2 -0.2 -0.0 | 1.5 1.2 0.6 | -18.3 -14.2 -0.1 | 9.0 7.5 19.8\n",
+ "v_f | -0.02 0.00 -1.22 | 0.37 0.14 0.19 | -11.74 -0.58 -1.96 | 0.71 0.55 0.85\n",
+ "r_i | 994.3 -31.0 2348.7 | 570.1 574.0 28.8 | 2.3 -998.1 2300.2 | 1999.5 996.3 2400.0\n",
+ "v_i | -40.56 0.10 -80.11 | 17.24 17.27 5.78 | -69.90 -29.98 -89.99 | -10.03 29.92 -70.01\n",
+ "norm_rf | 1.5 | 1.4 | 0.0 | 28.7\n",
+ "norm_vf | 1.25 | 0.35 | 0.54 | 11.78\n",
+ "gs_f | 23.3 | 203.3 | 0.2 | 7028.1\n",
+ "thrust | 1260 8 9268 | 2850 2892 2190 | -15521 -16844 1389 | 16539 16556 19999\n",
+ "norm_thrust | 9925 | 3204 | 3464 | 20000\n",
+ "fuel | 289 | 17 | 258 | 550\n",
+ "rewards | -5.88 | 8.09 | -148.27 | 3.13\n",
+ "fuel_rewards | -7.45 | 0.45 | -14.17 | -6.66\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.50 | 0.52 | 0.08 | 4.88\n",
+ "norm_af | 0.06 | 0.06 | 0.00 | 1.79\n",
+ "norm_wf | 0.20 | 0.12 | 0.01 | 1.58\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.10 | 1.02 | -22.74 | 0.00\n",
+ "att_penalty | -0.08 | 2.87 | -100.00 | 0.00\n",
+ "attitude | -0.01 0.12 -0.00 | 0.36 0.20 0.20 | -1.71 -0.91 -1.38 | 2.36 1.15 1.22\n",
+ "w | -0.00 -0.01 -0.00 | 0.24 0.23 0.01 | -2.77 -2.45 -0.09 | 2.20 1.39 0.28\n",
+ "a_f | -0.00 -0.01 | 0.06 0.06 | -0.18 -1.38 | 1.15 0.15\n",
+ "w_f | -0.01 -0.01 -0.00 | 0.17 0.16 0.02 | -0.66 -0.65 -0.08 | 1.22 0.99 0.25\n",
+ "landing_rewards | 7.89 | 4.08 | 0.00 | 10.00\n",
+ "landing_margin | 0.11 | 0.91 | -0.19 | 23.72\n",
+ "tracking_rewards | -6.15 | 5.18 | -46.67 | 0.12\n",
+ "steps | 300 | 26 | 247 | 601\n",
+ "***** Episode 103331, Mean R = -4.2 Std R = 4.8 Min R = -17.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.95\n",
+ "ExplainedVarOld: 0.942\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -3.37\n",
+ "PolicyLoss: -0.00218\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 2.41e+07\n",
+ "ValFuncLoss: 9.85e-05\n",
+ "Variance: 0.111\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010437776 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11116927 0.0976057 0.10727106 0.10115026]\n",
+ "FIT: 0.7453502525580307 1.8523403071426294 0.021211037095825936 0.11588769759316106\n",
+ "***** Episode 103452, Mean R = -5.4 Std R = 6.8 Min R = -35.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.953\n",
+ "ExplainedVarOld: 0.932\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -3.37\n",
+ "PolicyLoss: -0.00183\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 2.41e+07\n",
+ "ValFuncLoss: 0.000123\n",
+ "Variance: 0.111\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0009098687 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11118859 0.09746031 0.10720594 0.10094644]\n",
+ "FIT: 0.5559491288073846 1.8100952515226318 0.020235230050421427 0.11524602577848897\n",
+ "***** Episode 103573, Mean R = -5.2 Std R = 5.7 Min R = -24.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.929\n",
+ "ExplainedVarOld: 0.917\n",
+ "KL: 0.00091\n",
+ "PolicyEntropy: -3.38\n",
+ "PolicyLoss: -0.0016\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 2.42e+07\n",
+ "ValFuncLoss: 0.000143\n",
+ "Variance: 0.111\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ "kl = 0.0010399631 beta = 0.1 lr_mult = 1.0\n",
+ "var: [0.11142095 0.09708035 0.10653429 0.10115913]\n",
+ "FIT: 0.7095499675967955 2.003665611751624 0.022128869469504257 0.11440564110856276\n",
+ "***** Episode 103694, Mean R = -5.7 Std R = 7.6 Min R = -36.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.954\n",
+ "ExplainedVarOld: 0.944\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -3.38\n",
+ "PolicyLoss: -0.00208\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 2.42e+07\n",
+ "ValFuncLoss: 0.00013\n",
+ "Variance: 0.111\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ " *** BROKE ***\n",
+ "kl = 0.0053656036 beta = 0.06666666666666667 lr_mult = 1.0\n",
+ "var: [0.11114894 0.09676682 0.10625164 0.10125169]\n",
+ "FIT: 0.5738711335999812 1.9232024517936097 0.021173530017253174 0.11570710345539399\n",
+ "***** Episode 103815, Mean R = -5.7 Std R = 6.8 Min R = -27.7\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.944\n",
+ "ExplainedVarOld: 0.933\n",
+ "KL: 0.00537\n",
+ "PolicyEntropy: -3.39\n",
+ "PolicyLoss: 0.00716\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.42e+07\n",
+ "ValFuncLoss: 0.000134\n",
+ "Variance: 0.111\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ " *** BROKE ***\n",
+ "kl = 0.00611657 beta = 0.044444444444444446 lr_mult = 1.0\n",
+ "var: [0.11108939 0.09669876 0.10622457 0.10125384]\n",
+ "FIT: 0.6113757078040059 1.8465101133052733 0.02307704013152941 0.12111880993703544\n",
+ "***** Episode 103936, Mean R = -6.8 Std R = 6.9 Min R = -30.0\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.938\n",
+ "ExplainedVarOld: 0.927\n",
+ "KL: 0.00612\n",
+ "PolicyEntropy: -3.39\n",
+ "PolicyLoss: 0.0154\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 2.43e+07\n",
+ "ValFuncLoss: 0.000164\n",
+ "Variance: 0.111\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ " *** BROKE ***\n",
+ "kl = 0.005788095 beta = 0.02962962962962963 lr_mult = 1.0\n",
+ "var: [0.11103749 0.09663826 0.10619269 0.10124802]\n",
+ "FIT: 0.6210425770683657 1.844633806574953 0.021781534230020657 0.11524506155814995\n",
+ "***** Episode 104057, Mean R = -5.8 Std R = 6.8 Min R = -38.4\n",
+ "Beta: 0.0296\n",
+ "ExplainedVarNew: 0.943\n",
+ "ExplainedVarOld: 0.932\n",
+ "KL: 0.00579\n",
+ "PolicyEntropy: -3.39\n",
+ "PolicyLoss: 0.0199\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 2.43e+07\n",
+ "ValFuncLoss: 0.000149\n",
+ "Variance: 0.111\n",
+ "lr_multiplier: 1\n",
+ "\n",
+ "\n",
+ " *** BROKE ***\n",
+ "kl = 0.009039902 beta = 0.019753086419753086 lr_mult = 0.6666666666666666\n",
+ "var: [0.1110395 0.09658629 0.10612303 0.101218 ]\n",
+ "FIT: 0.6650207627883684 1.9340677082085325 0.02096897002364706 0.11407011056232519\n",
+ "***** Episode 104178, Mean R = -5.2 Std R = 7.0 Min R = -43.0\n",
+ "Beta: 0.0198\n",
+ "ExplainedVarNew: 0.94\n",
+ "ExplainedVarOld: 0.93\n",
+ "KL: 0.00904\n",
+ "PolicyEntropy: -3.39\n",
+ "PolicyLoss: 0.03\n",
+ "Steps: 3.6e+04\n",
+ "TotalSteps: 2.43e+07\n",
+ "ValFuncLoss: 0.000149\n",
+ "Variance: 0.111\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0011041 beta = 0.019753086419753086 lr_mult = 0.6666666666666666\n",
+ "var: [0.1111164 0.09648942 0.10613181 0.10125652]\n",
+ "FIT: 0.526228984129455 1.9738986281211868 0.02102003562962079 0.11654441831609216\n",
+ "***** Episode 104299, Mean R = -5.4 Std R = 6.7 Min R = -23.8\n",
+ "Beta: 0.0198\n",
+ "ExplainedVarNew: 0.95\n",
+ "ExplainedVarOld: 0.935\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -3.39\n",
+ "PolicyLoss: 0.00801\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.44e+07\n",
+ "ValFuncLoss: 0.000118\n",
+ "Variance: 0.111\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0014216715 beta = 0.019753086419753086 lr_mult = 0.6666666666666666\n",
+ "var: [0.11110729 0.09651098 0.10605221 0.10128281]\n",
+ "FIT: 0.6974516335389267 1.8786366129583547 0.022873844534186945 0.11593998376385185\n",
+ "***** Episode 104420, Mean R = -5.9 Std R = 8.2 Min R = -35.4\n",
+ "Beta: 0.0198\n",
+ "ExplainedVarNew: 0.959\n",
+ "ExplainedVarOld: 0.945\n",
+ "KL: 0.00142\n",
+ "PolicyEntropy: -3.39\n",
+ "PolicyLoss: 0.00907\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 2.44e+07\n",
+ "ValFuncLoss: 0.000137\n",
+ "Variance: 0.111\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0005236268 beta = 0.019753086419753086 lr_mult = 0.6666666666666666\n",
+ "var: [0.11106632 0.09649664 0.1060334 0.10131469]\n",
+ "FIT: 0.6166365754381282 1.8560696797546155 0.021317895162539048 0.11461480121431222\n",
+ "Update Cnt = 700 ET = 1056.2 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.2 -0.2 -0.0 | 1.3 1.1 0.0 | -3.7 -7.3 -0.1 | 7.5 4.9 -0.0\n",
+ "v_f | -0.01 -0.01 -1.20 | 0.17 0.15 0.18 | -0.63 -0.80 -1.73 | 0.59 1.01 -0.20\n",
+ "r_i | 1011.1 27.8 2349.3 | 564.6 576.7 29.5 | 1.6 -1000.0 2300.1 | 1999.1 997.8 2399.9\n",
+ "v_i | -39.62 -0.21 -80.11 | 17.29 17.07 5.74 | -70.00 -29.85 -90.00 | -10.18 29.89 -70.00\n",
+ "norm_rf | 1.4 | 1.0 | 0.0 | 7.9\n",
+ "norm_vf | 1.22 | 0.16 | 0.48 | 1.73\n",
+ "gs_f | 15.7 | 19.0 | 1.1 | 273.7\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "thrust | 1222 12 9255 | 2788 2867 2191 | -15829 -16385 2000 | 16489 17063 19998\n",
+ "norm_thrust | 9888 | 3189 | 3464 | 20000\n",
+ "fuel | 289 | 16 | 257 | 357\n",
+ "rewards | -5.68 | 6.91 | -42.97 | 3.20\n",
+ "fuel_rewards | -7.45 | 0.42 | -9.21 | -6.61\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.50 | 0.51 | 0.29 | 3.93\n",
+ "norm_af | 0.06 | 0.04 | 0.00 | 0.28\n",
+ "norm_wf | 0.20 | 0.11 | 0.01 | 0.63\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.03 | 0.43 | -11.30 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | -0.03 0.11 -0.00 | 0.37 0.20 0.20 | -1.44 -1.00 -1.06 | 1.68 1.05 1.02\n",
+ "w | -0.00 -0.01 -0.00 | 0.23 0.23 0.01 | -1.76 -2.47 -0.07 | 1.88 1.41 0.15\n",
+ "a_f | -0.01 -0.01 | 0.05 0.05 | -0.24 -0.24 | 0.20 0.27\n",
+ "w_f | -0.01 -0.00 -0.00 | 0.17 0.16 0.01 | -0.62 -0.51 -0.06 | 0.59 0.55 0.11\n",
+ "landing_rewards | 7.73 | 4.19 | 0.00 | 10.00\n",
+ "landing_margin | 0.07 | 0.40 | -0.19 | 3.85\n",
+ "tracking_rewards | -5.91 | 5.12 | -38.42 | 0.42\n",
+ "steps | 301 | 25 | 243 | 388\n",
+ "***** Episode 104541, Mean R = -5.7 Std R = 6.3 Min R = -24.4\n",
+ "Beta: 0.0198\n",
+ "ExplainedVarNew: 0.941\n",
+ "ExplainedVarOld: 0.932\n",
+ "KL: 0.000524\n",
+ "PolicyEntropy: -3.39\n",
+ "PolicyLoss: 0.00465\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 2.45e+07\n",
+ "ValFuncLoss: 0.000143\n",
+ "Variance: 0.111\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 9.6064934e-05 beta = 0.02962962962962963 lr_mult = 0.6666666666666666\n",
+ "var: [0.11084992 0.09634701 0.10596786 0.10117918]\n",
+ "FIT: 0.7188717436385311 1.9228352634961587 0.021773623664165617 0.11806304945095483\n",
+ "***** Episode 104662, Mean R = -5.7 Std R = 7.4 Min R = -38.3\n",
+ "Beta: 0.0296\n",
+ "ExplainedVarNew: 0.954\n",
+ "ExplainedVarOld: 0.676\n",
+ "KL: 9.61e-05\n",
+ "PolicyEntropy: -3.4\n",
+ "PolicyLoss: 3.86e-05\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.45e+07\n",
+ "ValFuncLoss: 0.000129\n",
+ "Variance: 0.111\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 7.938639e-05 beta = 0.044444444444444446 lr_mult = 0.6666666666666666\n",
+ "var: [0.11061978 0.09634106 0.10599475 0.10107639]\n",
+ "FIT: 0.6100095510309529 1.875609100957687 0.021153606352757055 0.1164282854827636\n",
+ "***** Episode 104783, Mean R = -5.6 Std R = 6.7 Min R = -28.9\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.941\n",
+ "ExplainedVarOld: 0.927\n",
+ "KL: 7.94e-05\n",
+ "PolicyEntropy: -3.4\n",
+ "PolicyLoss: -0.000532\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 2.45e+07\n",
+ "ValFuncLoss: 0.000136\n",
+ "Variance: 0.111\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.00023167847 beta = 0.06666666666666667 lr_mult = 0.6666666666666666\n",
+ "var: [0.11065378 0.09620717 0.10591697 0.10118113]\n",
+ "FIT: 0.5921373260501888 1.723832988125542 0.022990234495595195 0.11440040033753225\n",
+ "***** Episode 104904, Mean R = -6.3 Std R = 6.8 Min R = -27.9\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.952\n",
+ "ExplainedVarOld: 0.947\n",
+ "KL: 0.000232\n",
+ "PolicyEntropy: -3.4\n",
+ "PolicyLoss: -0.00087\n",
+ "Steps: 3.58e+04\n",
+ "TotalSteps: 2.46e+07\n",
+ "ValFuncLoss: 0.000151\n",
+ "Variance: 0.111\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0004094553 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.11054132 0.09617075 0.1053898 0.10136415]\n",
+ "FIT: 0.7174939387388798 2.0092080997349235 0.022078028238778715 0.1168773754936082\n",
+ "***** Episode 105025, Mean R = -5.6 Std R = 6.5 Min R = -37.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.96\n",
+ "ExplainedVarOld: 0.946\n",
+ "KL: 0.000409\n",
+ "PolicyEntropy: -3.41\n",
+ "PolicyLoss: -0.00114\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 2.46e+07\n",
+ "ValFuncLoss: 0.00011\n",
+ "Variance: 0.111\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0011976935 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.11065355 0.09538832 0.10501915 0.1012041 ]\n",
+ "FIT: 0.6019610252787284 1.9211844794651411 0.021694056304942165 0.11429331113756402\n",
+ "***** Episode 105146, Mean R = -5.9 Std R = 7.0 Min R = -28.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.947\n",
+ "ExplainedVarOld: 0.941\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: -3.42\n",
+ "PolicyLoss: -0.0018\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 2.46e+07\n",
+ "ValFuncLoss: 0.000143\n",
+ "Variance: 0.111\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0010308307 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.11066304 0.09441195 0.10475848 0.10086513]\n",
+ "FIT: 0.558286287137547 1.8418893587212541 0.02204730652212713 0.11520345098692267\n",
+ "***** Episode 105267, Mean R = -5.6 Std R = 6.7 Min R = -26.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.961\n",
+ "ExplainedVarOld: 0.955\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -3.44\n",
+ "PolicyLoss: -0.00158\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 2.47e+07\n",
+ "ValFuncLoss: 0.000109\n",
+ "Variance: 0.111\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.00089614146 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.11078672 0.09443989 0.10496629 0.10078878]\n",
+ "FIT: 5.224513203523335 1.6894723587401692 0.02545407181220551 0.12154379055181927\n",
+ "***** Episode 105388, Mean R = -7.3 Std R = 14.0 Min R = -142.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.949\n",
+ "ExplainedVarOld: 0.833\n",
+ "KL: 0.000896\n",
+ "PolicyEntropy: -3.43\n",
+ "PolicyLoss: -0.00196\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 2.47e+07\n",
+ "ValFuncLoss: 0.000543\n",
+ "Variance: 0.111\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.00085178553 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.11050109 0.09444121 0.10469376 0.10043173]\n",
+ "FIT: 0.7080624158062654 1.8670367521440727 0.023718208691135143 0.11913116478789901\n",
+ "***** Episode 105509, Mean R = -6.9 Std R = 8.6 Min R = -49.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.949\n",
+ "ExplainedVarOld: 0.939\n",
+ "KL: 0.000852\n",
+ "PolicyEntropy: -3.44\n",
+ "PolicyLoss: -0.00185\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 2.47e+07\n",
+ "ValFuncLoss: 0.000162\n",
+ "Variance: 0.111\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0010122475 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.11041721 0.09436471 0.10448589 0.10040187]\n",
+ "FIT: 0.5766137171938702 1.7873068811796289 0.020994376029705004 0.11615763733947106\n",
+ "***** Episode 105630, Mean R = -5.3 Std R = 6.5 Min R = -25.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.94\n",
+ "ExplainedVarOld: 0.925\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -3.45\n",
+ "PolicyLoss: -0.00213\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 2.48e+07\n",
+ "ValFuncLoss: 0.000142\n",
+ "Variance: 0.11\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0010249005 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.11010146 0.09405529 0.10446175 0.10070895]\n",
+ "FIT: 5.216038280185687 1.828367445717486 0.024847637918736506 0.11695606921984225\n",
+ "Update Cnt = 710 ET = 1068.2 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.2 -0.3 0.0 | 1.4 2.3 0.9 | -21.9 -42.5 -0.1 | 6.6 4.7 24.6\n",
+ "v_f | -0.00 -0.03 -1.19 | 0.31 0.26 0.36 | -7.58 -7.21 -1.70 | 1.04 0.71 7.58\n",
+ "r_i | 993.8 -12.5 2348.8 | 571.0 582.3 28.7 | 0.3 -995.3 2300.2 | 1998.0 998.9 2399.9\n",
+ "v_i | -39.88 -0.66 -80.07 | 17.38 17.57 5.74 | -69.89 -29.98 -89.99 | -10.02 29.96 -70.01\n",
+ "norm_rf | 1.5 | 2.4 | 0.1 | 51.1\n",
+ "norm_vf | 1.24 | 0.41 | 0.53 | 10.92\n",
+ "gs_f | 17.5 | 34.1 | 0.7 | 875.3\n",
+ "thrust | 1231 31 9244 | 2848 2861 2194 | -16111 -16638 2000 | 16561 16506 19999\n",
+ "norm_thrust | 9892 | 3200 | 3464 | 20000\n",
+ "fuel | 289 | 18 | 257 | 497\n",
+ "rewards | -6.07 | 8.93 | -142.56 | 3.57\n",
+ "fuel_rewards | -7.46 | 0.46 | -12.80 | -6.63\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.48 | 0.51 | 0.13 | 4.71\n",
+ "norm_af | 0.06 | 0.07 | 0.00 | 1.64\n",
+ "norm_wf | 0.20 | 0.12 | 0.01 | 1.58\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.49 | -7.79 | 0.00\n",
+ "att_penalty | -0.17 | 4.06 | -100.00 | 0.00\n",
+ "attitude | -0.01 0.11 -0.00 | 0.38 0.20 0.20 | -1.46 -1.02 -1.41 | 2.46 1.05 1.13\n",
+ "w | -0.00 -0.01 -0.00 | 0.24 0.23 0.01 | -1.75 -2.54 -0.11 | 2.19 1.91 0.20\n",
+ "a_f | -0.00 -0.01 | 0.06 0.07 | -0.20 -1.41 | 0.87 0.29\n",
+ "w_f | -0.00 -0.01 -0.00 | 0.16 0.17 0.02 | -0.58 -0.70 -0.10 | 0.51 1.54 0.20\n",
+ "landing_rewards | 7.75 | 4.17 | 0.00 | 10.00\n",
+ "landing_margin | 0.18 | 2.04 | -0.19 | 46.10\n",
+ "tracking_rewards | -6.13 | 5.32 | -41.67 | 0.56\n",
+ "steps | 301 | 28 | 246 | 601\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 105751, Mean R = -6.4 Std R = 14.2 Min R = -142.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.965\n",
+ "ExplainedVarOld: 0.812\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -3.45\n",
+ "PolicyLoss: -0.00182\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 2.48e+07\n",
+ "ValFuncLoss: 0.000391\n",
+ "Variance: 0.11\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0010463014 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10949831 0.09346772 0.10431255 0.10044774]\n",
+ "FIT: 0.5369950104320963 1.8065446843067565 0.021147357331868382 0.11963039214774271\n",
+ "***** Episode 105872, Mean R = -5.6 Std R = 6.4 Min R = -29.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.928\n",
+ "ExplainedVarOld: 0.906\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -3.46\n",
+ "PolicyLoss: -0.00199\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 2.49e+07\n",
+ "ValFuncLoss: 0.000209\n",
+ "Variance: 0.109\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0008953432 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10974114 0.09314069 0.10459805 0.1006878 ]\n",
+ "FIT: 0.4896945217411835 1.8508169400860204 0.02057046706598641 0.11471519299965874\n",
+ "***** Episode 105993, Mean R = -5.2 Std R = 6.1 Min R = -25.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.941\n",
+ "ExplainedVarOld: 0.912\n",
+ "KL: 0.000895\n",
+ "PolicyEntropy: -3.46\n",
+ "PolicyLoss: -0.00176\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.49e+07\n",
+ "ValFuncLoss: 0.000119\n",
+ "Variance: 0.11\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0009947348 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.1102252 0.09326602 0.10423111 0.10056888]\n",
+ "FIT: 0.526779895754178 1.854174571127252 0.02206888490764665 0.11587137185523821\n",
+ "***** Episode 106114, Mean R = -6.0 Std R = 6.5 Min R = -24.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.942\n",
+ "ExplainedVarOld: 0.932\n",
+ "KL: 0.000995\n",
+ "PolicyEntropy: -3.46\n",
+ "PolicyLoss: -0.00164\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 2.49e+07\n",
+ "ValFuncLoss: 0.000145\n",
+ "Variance: 0.11\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0012062513 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10915975 0.09255445 0.10319416 0.09957162]\n",
+ "FIT: 0.584423237003461 1.9038127616830183 0.021620823732543933 0.11426265191304011\n",
+ "***** Episode 106235, Mean R = -5.9 Std R = 6.8 Min R = -26.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.943\n",
+ "ExplainedVarOld: 0.935\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -3.5\n",
+ "PolicyLoss: -0.0018\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 2.5e+07\n",
+ "ValFuncLoss: 0.00015\n",
+ "Variance: 0.109\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0010651124 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.1087343 0.09214336 0.10248936 0.09877896]\n",
+ "FIT: 0.5728541524284879 1.9631235671144693 0.02278830934126289 0.1140291299781355\n",
+ "***** Episode 106356, Mean R = -6.5 Std R = 7.3 Min R = -29.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.946\n",
+ "ExplainedVarOld: 0.931\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -3.52\n",
+ "PolicyLoss: -0.00175\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.5e+07\n",
+ "ValFuncLoss: 0.000151\n",
+ "Variance: 0.109\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0009984865 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10853929 0.0913718 0.10216004 0.09876095]\n",
+ "FIT: 0.638284990766027 1.9952310722504858 0.026045161447319644 0.11847129265120289\n",
+ "***** Episode 106477, Mean R = -8.0 Std R = 8.3 Min R = -33.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.961\n",
+ "ExplainedVarOld: 0.956\n",
+ "KL: 0.000998\n",
+ "PolicyEntropy: -3.53\n",
+ "PolicyLoss: -0.00184\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.5e+07\n",
+ "ValFuncLoss: 0.000158\n",
+ "Variance: 0.109\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0009321933 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10871623 0.09106914 0.1017908 0.09859286]\n",
+ "FIT: 0.6278081438018857 1.938968716259863 0.02075799047836287 0.11447739805931642\n",
+ "***** Episode 106598, Mean R = -4.6 Std R = 6.3 Min R = -29.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.973\n",
+ "ExplainedVarOld: 0.96\n",
+ "KL: 0.000932\n",
+ "PolicyEntropy: -3.54\n",
+ "PolicyLoss: -0.0016\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.51e+07\n",
+ "ValFuncLoss: 7.36e-05\n",
+ "Variance: 0.109\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0012095242 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10911665 0.09085245 0.10111746 0.09841066]\n",
+ "FIT: 0.5624572389527975 1.8528024381126609 0.022967042961513997 0.11545200671704145\n",
+ "***** Episode 106719, Mean R = -5.8 Std R = 7.0 Min R = -28.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.967\n",
+ "ExplainedVarOld: 0.961\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -3.55\n",
+ "PolicyLoss: -0.0018\n",
+ "Steps: 3.58e+04\n",
+ "TotalSteps: 2.51e+07\n",
+ "ValFuncLoss: 0.000112\n",
+ "Variance: 0.109\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0010106469 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10852095 0.09090174 0.10126055 0.09832145]\n",
+ "FIT: 0.5812677241975489 1.9849797005510361 0.021412179085586125 0.1166441130639674\n",
+ "***** Episode 106840, Mean R = -5.6 Std R = 6.4 Min R = -24.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.943\n",
+ "ExplainedVarOld: 0.934\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -3.55\n",
+ "PolicyLoss: -0.00135\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 2.51e+07\n",
+ "ValFuncLoss: 0.000136\n",
+ "Variance: 0.109\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.00081855775 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10845462 0.09053217 0.10126096 0.09751191]\n",
+ "FIT: 0.5128709184891949 1.895275613349315 0.02001673011246693 0.11403364985421113\n",
+ "Update Cnt = 720 ET = 1075.9 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.2 2.0 0.1 | -4.5 -56.7 -0.1 | 8.1 7.4 2.3\n",
+ "v_f | -0.00 -0.04 -1.18 | 0.16 0.14 0.17 | -0.65 -0.86 -1.84 | 0.96 0.60 -0.19\n",
+ "r_i | 1024.7 -7.8 2349.1 | 585.2 573.5 28.5 | 0.2 -998.5 2300.0 | 1998.8 999.4 2399.9\n",
+ "v_i | -39.95 0.26 -79.93 | 17.64 17.19 5.82 | -70.00 -29.97 -89.98 | -10.08 29.79 -70.01\n",
+ "norm_rf | 1.4 | 1.8 | 0.1 | 57.0\n",
+ "norm_vf | 1.20 | 0.16 | 0.52 | 1.85\n",
+ "gs_f | 16.6 | 24.8 | 0.4 | 499.5\n",
+ "thrust | 1228 -0 9236 | 2823 2877 2183 | -16061 -16141 2000 | 16740 16655 19990\n",
+ "norm_thrust | 9882 | 3190 | 3464 | 20000\n",
+ "fuel | 290 | 16 | 257 | 470\n",
+ "rewards | -5.78 | 6.84 | -33.90 | 3.33\n",
+ "fuel_rewards | -7.47 | 0.42 | -12.10 | -6.63\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.49 | 0.52 | 0.12 | 4.79\n",
+ "norm_af | 0.06 | 0.04 | 0.00 | 0.26\n",
+ "norm_wf | 0.20 | 0.11 | 0.01 | 0.67\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.37 | -5.01 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.00 0.12 0.00 | 0.36 0.20 0.20 | -1.71 -0.96 -1.03 | 1.82 1.06 1.12\n",
+ "w | -0.00 -0.01 0.00 | 0.23 0.22 0.01 | -1.71 -2.50 -0.08 | 2.22 1.44 0.11\n",
+ "a_f | -0.01 -0.01 | 0.05 0.05 | -0.22 -0.18 | 0.18 0.20\n",
+ "w_f | -0.01 -0.02 0.00 | 0.16 0.16 0.01 | -0.65 -0.54 -0.06 | 0.48 0.45 0.10\n",
+ "landing_rewards | 7.88 | 4.09 | 0.00 | 10.00\n",
+ "landing_margin | 0.11 | 1.55 | -0.19 | 51.99\n",
+ "tracking_rewards | -6.14 | 5.16 | -35.45 | 0.45\n",
+ "steps | 302 | 27 | 245 | 601\n",
+ "***** Episode 106961, Mean R = -4.6 Std R = 6.4 Min R = -27.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.953\n",
+ "ExplainedVarOld: 0.942\n",
+ "KL: 0.000819\n",
+ "PolicyEntropy: -3.57\n",
+ "PolicyLoss: -0.00174\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 2.52e+07\n",
+ "ValFuncLoss: 0.000103\n",
+ "Variance: 0.108\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0010815333 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10777058 0.09077485 0.10067157 0.09690645]\n",
+ "FIT: 0.5798406868057091 1.7095541559362777 0.021392219324113664 0.11648547319276681\n",
+ "***** Episode 107082, Mean R = -5.5 Std R = 6.3 Min R = -26.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.944\n",
+ "ExplainedVarOld: 0.934\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -3.58\n",
+ "PolicyLoss: -0.00199\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 2.52e+07\n",
+ "ValFuncLoss: 0.000131\n",
+ "Variance: 0.108\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0008338345 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10778844 0.09109861 0.10042753 0.09717597]\n",
+ "FIT: 0.49979460280672244 1.8257589863449726 0.020663331698022248 0.11613102595562073\n",
+ "***** Episode 107203, Mean R = -5.2 Std R = 5.9 Min R = -20.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.94\n",
+ "ExplainedVarOld: 0.933\n",
+ "KL: 0.000834\n",
+ "PolicyEntropy: -3.58\n",
+ "PolicyLoss: -0.00144\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.53e+07\n",
+ "ValFuncLoss: 0.000127\n",
+ "Variance: 0.108\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0009671086 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.1084342 0.09122178 0.0998292 0.09684899]\n",
+ "FIT: 0.5309218184654009 1.8398910385051637 0.0222630846553515 0.11530310378866898\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 107324, Mean R = -6.1 Std R = 6.4 Min R = -31.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.953\n",
+ "ExplainedVarOld: 0.943\n",
+ "KL: 0.000967\n",
+ "PolicyEntropy: -3.58\n",
+ "PolicyLoss: -0.0016\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 2.53e+07\n",
+ "ValFuncLoss: 0.000123\n",
+ "Variance: 0.108\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0010599094 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10805635 0.09119064 0.09928916 0.09651548]\n",
+ "FIT: 0.6885296675358346 1.7967421070545506 0.020881114474834064 0.1140089641878947\n",
+ "***** Episode 107445, Mean R = -5.2 Std R = 6.6 Min R = -36.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.946\n",
+ "ExplainedVarOld: 0.897\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -3.59\n",
+ "PolicyLoss: -0.00186\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.53e+07\n",
+ "ValFuncLoss: 0.000132\n",
+ "Variance: 0.108\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0011087749 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10735206 0.09147815 0.09892421 0.0963449 ]\n",
+ "FIT: 0.6148758567922864 1.96962161403723 0.023014695207576492 0.1192670169666329\n",
+ "***** Episode 107566, Mean R = -6.4 Std R = 7.5 Min R = -36.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.952\n",
+ "ExplainedVarOld: 0.94\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -3.6\n",
+ "PolicyLoss: -0.00198\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 2.54e+07\n",
+ "ValFuncLoss: 0.00014\n",
+ "Variance: 0.107\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0008100436 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10659537 0.09118029 0.09864919 0.09660012]\n",
+ "FIT: 0.5953345061703328 1.8392228264486936 0.02253047728795536 0.11560613126030234\n",
+ "***** Episode 107687, Mean R = -6.1 Std R = 7.5 Min R = -27.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.957\n",
+ "ExplainedVarOld: 0.943\n",
+ "KL: 0.00081\n",
+ "PolicyEntropy: -3.61\n",
+ "PolicyLoss: -0.00197\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 2.54e+07\n",
+ "ValFuncLoss: 0.000131\n",
+ "Variance: 0.107\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0011116496 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10653348 0.09060334 0.09844753 0.09681777]\n",
+ "FIT: 5.210971427273477 1.827116721620552 0.02500876884525748 0.11754536118300304\n",
+ "***** Episode 107808, Mean R = -6.6 Std R = 13.5 Min R = -135.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.909\n",
+ "ExplainedVarOld: 0.466\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -3.62\n",
+ "PolicyLoss: -0.00188\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 2.54e+07\n",
+ "ValFuncLoss: 0.000989\n",
+ "Variance: 0.107\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0010753323 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10669138 0.09024669 0.09832405 0.09628847]\n",
+ "FIT: 0.5556707285957704 1.919162890896937 0.02140521829396131 0.11453145519636423\n",
+ "***** Episode 107929, Mean R = -5.3 Std R = 6.7 Min R = -26.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.943\n",
+ "ExplainedVarOld: 0.931\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -3.63\n",
+ "PolicyLoss: -0.00222\n",
+ "Steps: 3.6e+04\n",
+ "TotalSteps: 2.55e+07\n",
+ "ValFuncLoss: 0.000162\n",
+ "Variance: 0.107\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.00080483436 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10643051 0.09004802 0.09835239 0.09605893]\n",
+ "FIT: 0.581207566337337 1.9057440532274639 0.02196968264040306 0.11563880462140096\n",
+ "***** Episode 108050, Mean R = -5.7 Std R = 7.2 Min R = -27.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.944\n",
+ "ExplainedVarOld: 0.925\n",
+ "KL: 0.000805\n",
+ "PolicyEntropy: -3.63\n",
+ "PolicyLoss: -0.00188\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 2.55e+07\n",
+ "ValFuncLoss: 0.00015\n",
+ "Variance: 0.106\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.00085249735 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10638789 0.08972593 0.09818509 0.09610834]\n",
+ "FIT: 0.5320017912692544 1.856570410616643 0.020558610468344958 0.11276890978636214\n",
+ "Update Cnt = 730 ET = 1093.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.3 -0.3 -0.0 | 1.2 1.5 0.6 | -6.5 -32.6 -0.1 | 6.7 4.5 22.0\n",
+ "v_f | -0.02 -0.05 -1.17 | 0.21 0.18 0.26 | -4.97 -4.11 -1.72 | 0.72 0.50 5.95\n",
+ "r_i | 1024.3 -27.5 2348.8 | 574.1 574.1 29.1 | 4.2 -999.7 2300.0 | 1998.0 995.6 2400.0\n",
+ "v_i | -40.59 0.14 -79.91 | 17.03 17.46 5.77 | -70.00 -29.92 -89.98 | -10.02 29.97 -70.02\n",
+ "norm_rf | 1.4 | 1.4 | 0.0 | 39.9\n",
+ "norm_vf | 1.20 | 0.26 | 0.52 | 8.77\n",
+ "gs_f | 16.7 | 24.9 | 1.1 | 555.0\n",
+ "thrust | 1254 6 9262 | 2828 2874 2160 | -16191 -16097 2000 | 17002 16563 19997\n",
+ "norm_thrust | 9909 | 3177 | 3464 | 20000\n",
+ "fuel | 290 | 16 | 257 | 450\n",
+ "rewards | -5.70 | 7.66 | -135.62 | 3.39\n",
+ "fuel_rewards | -7.47 | 0.42 | -11.58 | -6.62\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.50 | 0.53 | 0.21 | 5.13\n",
+ "norm_af | 0.06 | 0.05 | 0.00 | 1.43\n",
+ "norm_wf | 0.20 | 0.11 | 0.00 | 1.66\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.67 | -12.51 | 0.00\n",
+ "att_penalty | -0.08 | 2.87 | -100.00 | 0.00\n",
+ "attitude | 0.01 0.12 0.00 | 0.37 0.20 0.20 | -1.71 -0.96 -1.38 | 2.38 1.08 1.02\n",
+ "w | -0.00 -0.01 -0.00 | 0.23 0.22 0.01 | -2.00 -2.47 -0.09 | 2.22 2.03 0.22\n",
+ "a_f | -0.01 -0.01 | 0.05 0.06 | -0.18 -1.38 | 0.36 0.16\n",
+ "w_f | -0.01 -0.01 0.00 | 0.16 0.16 0.01 | -0.55 -0.56 -0.08 | 0.48 1.61 0.22\n",
+ "landing_rewards | 7.90 | 4.07 | 0.00 | 10.00\n",
+ "landing_margin | 0.08 | 1.05 | -0.18 | 34.88\n",
+ "tracking_rewards | -5.97 | 4.89 | -30.20 | 0.32\n",
+ "steps | 301 | 26 | 247 | 508\n",
+ "***** Episode 108171, Mean R = -4.9 Std R = 5.9 Min R = -21.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.954\n",
+ "ExplainedVarOld: 0.943\n",
+ "KL: 0.000852\n",
+ "PolicyEntropy: -3.64\n",
+ "PolicyLoss: -0.00162\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 2.55e+07\n",
+ "ValFuncLoss: 0.000104\n",
+ "Variance: 0.106\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0010620179 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10593574 0.0895266 0.09790078 0.09583089]\n",
+ "FIT: 0.4840151591199949 1.8614938209762548 0.01937611938002043 0.11239723840352564\n",
+ "***** Episode 108292, Mean R = -4.2 Std R = 6.0 Min R = -24.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.931\n",
+ "ExplainedVarOld: 0.912\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -3.65\n",
+ "PolicyLoss: -0.00191\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.56e+07\n",
+ "ValFuncLoss: 0.000125\n",
+ "Variance: 0.106\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0009913162 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.1052022 0.08976281 0.09775475 0.09581564]\n",
+ "FIT: 0.632581670176755 1.9056989271271463 0.022085877637392407 0.11682719829062364\n",
+ "***** Episode 108413, Mean R = -5.8 Std R = 7.3 Min R = -38.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.95\n",
+ "ExplainedVarOld: 0.94\n",
+ "KL: 0.000991\n",
+ "PolicyEntropy: -3.66\n",
+ "PolicyLoss: -0.00161\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 2.56e+07\n",
+ "ValFuncLoss: 0.000133\n",
+ "Variance: 0.105\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0009882716 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10475538 0.08930992 0.09802501 0.09579657]\n",
+ "FIT: 0.641136497709255 1.96347993753621 0.023057038686249948 0.11588840406575664\n",
+ "***** Episode 108534, Mean R = -6.2 Std R = 7.5 Min R = -40.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.952\n",
+ "ExplainedVarOld: 0.943\n",
+ "KL: 0.000988\n",
+ "PolicyEntropy: -3.66\n",
+ "PolicyLoss: -0.00143\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.57e+07\n",
+ "ValFuncLoss: 0.000141\n",
+ "Variance: 0.105\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.001104508 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10462718 0.08888727 0.09810871 0.09502079]\n",
+ "FIT: 0.5564542995327254 1.8527538861935422 0.02112272506987604 0.11526328902352234\n",
+ "***** Episode 108655, Mean R = -5.1 Std R = 6.1 Min R = -21.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.957\n",
+ "ExplainedVarOld: 0.945\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -3.68\n",
+ "PolicyLoss: -0.00189\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 2.57e+07\n",
+ "ValFuncLoss: 0.000105\n",
+ "Variance: 0.105\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0010069099 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10396139 0.08922232 0.09813023 0.0945629 ]\n",
+ "FIT: 0.525059891199405 1.872171514871811 0.021409948864794942 0.11377187596856658\n",
+ "***** Episode 108776, Mean R = -5.5 Std R = 6.2 Min R = -27.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.943\n",
+ "ExplainedVarOld: 0.921\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -3.68\n",
+ "PolicyLoss: -0.00143\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 2.57e+07\n",
+ "ValFuncLoss: 0.000135\n",
+ "Variance: 0.104\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0010290948 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10340124 0.08935507 0.09842678 0.09469288]\n",
+ "FIT: 0.5813160629447289 1.9984140625245344 0.022300107435033637 0.11645013049769294\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 108897, Mean R = -5.7 Std R = 7.0 Min R = -34.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.961\n",
+ "ExplainedVarOld: 0.953\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -3.68\n",
+ "PolicyLoss: -0.002\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.58e+07\n",
+ "ValFuncLoss: 0.000115\n",
+ "Variance: 0.103\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0009731371 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.1029949 0.08913555 0.09831226 0.09465872]\n",
+ "FIT: 0.6194023889277928 1.9097726992033879 0.021546915814610497 0.11696614420177043\n",
+ "***** Episode 109018, Mean R = -5.5 Std R = 6.2 Min R = -24.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.948\n",
+ "ExplainedVarOld: 0.934\n",
+ "KL: 0.000973\n",
+ "PolicyEntropy: -3.69\n",
+ "PolicyLoss: -0.00182\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.58e+07\n",
+ "ValFuncLoss: 0.000129\n",
+ "Variance: 0.103\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.000926897 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10302592 0.08888649 0.09892358 0.09464058]\n",
+ "FIT: 0.6258077502214746 1.9879828084670559 0.02205650428492785 0.11510319460062297\n",
+ "***** Episode 109139, Mean R = -5.9 Std R = 7.2 Min R = -31.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.94\n",
+ "ExplainedVarOld: 0.926\n",
+ "KL: 0.000927\n",
+ "PolicyEntropy: -3.69\n",
+ "PolicyLoss: -0.00175\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 2.58e+07\n",
+ "ValFuncLoss: 0.000149\n",
+ "Variance: 0.103\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0008155002 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10322967 0.0889805 0.09907292 0.09473673]\n",
+ "FIT: 0.5791848271664395 1.8103279893120654 0.021488635064285725 0.11620935097154739\n",
+ "***** Episode 109260, Mean R = -5.4 Std R = 6.9 Min R = -25.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.959\n",
+ "ExplainedVarOld: 0.947\n",
+ "KL: 0.000816\n",
+ "PolicyEntropy: -3.68\n",
+ "PolicyLoss: -0.00152\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 2.59e+07\n",
+ "ValFuncLoss: 9.83e-05\n",
+ "Variance: 0.103\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.00083664834 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10334436 0.08867621 0.09875558 0.09489285]\n",
+ "FIT: 0.5721659130514964 1.8270844401349324 0.020017007846043537 0.11405853366803781\n",
+ "Update Cnt = 740 ET = 1107.3 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.2 -0.2 -0.0 | 1.1 1.1 0.0 | -4.4 -4.3 -0.1 | 5.9 5.8 -0.0\n",
+ "v_f | -0.03 -0.02 -1.13 | 0.16 0.13 0.16 | -0.65 -0.57 -1.65 | 1.00 0.70 -0.16\n",
+ "r_i | 992.3 10.0 2351.6 | 574.0 571.4 28.2 | 1.3 -999.4 2300.2 | 1995.3 998.6 2400.0\n",
+ "v_i | -40.21 -0.57 -79.98 | 17.45 17.35 5.70 | -69.91 -29.94 -89.98 | -10.02 29.96 -70.01\n",
+ "norm_rf | 1.4 | 0.9 | 0.1 | 6.7\n",
+ "norm_vf | 1.15 | 0.15 | 0.32 | 1.66\n",
+ "gs_f | 17.0 | 23.8 | 1.4 | 574.4\n",
+ "thrust | 1242 25 9249 | 2860 2796 2149 | -16060 -16103 2000 | 16554 16634 19997\n",
+ "norm_thrust | 9884 | 3162 | 3464 | 20000\n",
+ "fuel | 289 | 16 | 259 | 358\n",
+ "rewards | -5.37 | 6.73 | -40.94 | 3.15\n",
+ "fuel_rewards | -7.45 | 0.41 | -9.23 | -6.68\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.52 | 0.53 | 0.44 | 4.74\n",
+ "norm_af | 0.06 | 0.03 | 0.00 | 0.21\n",
+ "norm_wf | 0.20 | 0.11 | 0.01 | 0.70\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.04 | 0.44 | -9.72 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.00 0.12 -0.00 | 0.36 0.20 0.20 | -1.49 -1.01 -1.06 | 1.96 1.05 1.05\n",
+ "w | -0.00 -0.01 -0.00 | 0.23 0.22 0.01 | -1.73 -2.62 -0.07 | 2.41 1.33 0.12\n",
+ "a_f | -0.01 -0.01 | 0.05 0.04 | -0.20 -0.17 | 0.17 0.17\n",
+ "w_f | -0.01 -0.02 0.00 | 0.17 0.16 0.01 | -0.67 -0.55 -0.06 | 0.63 0.51 0.11\n",
+ "landing_rewards | 7.88 | 4.09 | 0.00 | 10.00\n",
+ "landing_margin | 0.05 | 0.36 | -0.18 | 3.58\n",
+ "tracking_rewards | -5.76 | 4.96 | -33.01 | 0.46\n",
+ "steps | 301 | 25 | 247 | 401\n",
+ "***** Episode 109381, Mean R = -4.3 Std R = 6.4 Min R = -24.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.956\n",
+ "ExplainedVarOld: 0.945\n",
+ "KL: 0.000837\n",
+ "PolicyEntropy: -3.69\n",
+ "PolicyLoss: -0.0018\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 2.59e+07\n",
+ "ValFuncLoss: 0.000101\n",
+ "Variance: 0.103\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.00086081034 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.1031255 0.08889865 0.09878778 0.09463435]\n",
+ "FIT: 0.5316560645737405 1.8619280120799406 0.021715223097226496 0.11381960350232061\n",
+ "***** Episode 109502, Mean R = -5.5 Std R = 6.7 Min R = -26.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.952\n",
+ "ExplainedVarOld: 0.946\n",
+ "KL: 0.000861\n",
+ "PolicyEntropy: -3.69\n",
+ "PolicyLoss: -0.00134\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 2.59e+07\n",
+ "ValFuncLoss: 0.000126\n",
+ "Variance: 0.103\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0010725916 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10313081 0.0888948 0.09889919 0.09466313]\n",
+ "FIT: 0.5883069049129307 1.967048867539907 0.02130164888737277 0.1143427227686683\n",
+ "***** Episode 109623, Mean R = -5.3 Std R = 6.5 Min R = -25.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.953\n",
+ "ExplainedVarOld: 0.932\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -3.69\n",
+ "PolicyLoss: -0.0018\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.6e+07\n",
+ "ValFuncLoss: 0.00012\n",
+ "Variance: 0.103\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0010191425 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.1026641 0.08874243 0.09830802 0.09456424]\n",
+ "FIT: 0.5325111794066558 1.8248936681519294 0.021652395953063664 0.11659547631824912\n",
+ "***** Episode 109744, Mean R = -5.8 Std R = 6.9 Min R = -31.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.935\n",
+ "ExplainedVarOld: 0.923\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -3.7\n",
+ "PolicyLoss: -0.00186\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.6e+07\n",
+ "ValFuncLoss: 0.000162\n",
+ "Variance: 0.103\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.00094978866 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10230016 0.08823692 0.09857518 0.09478197]\n",
+ "FIT: 0.6325540385116654 1.8389481578825189 0.020662357083161085 0.11584284941898074\n",
+ "***** Episode 109865, Mean R = -4.8 Std R = 6.5 Min R = -30.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.959\n",
+ "ExplainedVarOld: 0.944\n",
+ "KL: 0.00095\n",
+ "PolicyEntropy: -3.7\n",
+ "PolicyLoss: -0.00176\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 2.61e+07\n",
+ "ValFuncLoss: 0.000107\n",
+ "Variance: 0.102\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0008831422 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10242372 0.08791348 0.09812443 0.09494386]\n",
+ "FIT: 0.6934246399725983 1.9994227272122467 0.022858911966768456 0.1151559678994336\n",
+ "***** Episode 109986, Mean R = -5.9 Std R = 8.6 Min R = -45.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.956\n",
+ "ExplainedVarOld: 0.943\n",
+ "KL: 0.000883\n",
+ "PolicyEntropy: -3.71\n",
+ "PolicyLoss: -0.00209\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 2.61e+07\n",
+ "ValFuncLoss: 0.000143\n",
+ "Variance: 0.102\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0009717714 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10177017 0.08803057 0.09726699 0.09439091]\n",
+ "FIT: 0.737730960564266 1.947912098756059 0.02281514379425523 0.11614124824692379\n",
+ "***** Episode 110107, Mean R = -5.9 Std R = 7.6 Min R = -42.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.963\n",
+ "ExplainedVarOld: 0.947\n",
+ "KL: 0.000972\n",
+ "PolicyEntropy: -3.73\n",
+ "PolicyLoss: -0.00185\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 2.61e+07\n",
+ "ValFuncLoss: 0.000115\n",
+ "Variance: 0.102\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0015130547 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10154791 0.08831077 0.09640253 0.09411325]\n",
+ "FIT: 5.216096492836279 1.860522671895472 0.022446980081584394 0.11641956724823593\n",
+ "***** Episode 110228, Mean R = -5.2 Std R = 13.4 Min R = -140.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.91\n",
+ "ExplainedVarOld: 0.636\n",
+ "KL: 0.00151\n",
+ "PolicyEntropy: -3.74\n",
+ "PolicyLoss: -0.00166\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 2.62e+07\n",
+ "ValFuncLoss: 0.000945\n",
+ "Variance: 0.102\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.000954681 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10124554 0.08795395 0.09638085 0.0937281 ]\n",
+ "FIT: 0.6074835222674564 1.8587802442366674 0.021715553172672025 0.11507833261376436\n",
+ "***** Episode 110349, Mean R = -5.3 Std R = 6.7 Min R = -27.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.955\n",
+ "ExplainedVarOld: 0.937\n",
+ "KL: 0.000955\n",
+ "PolicyEntropy: -3.75\n",
+ "PolicyLoss: -0.00209\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 2.62e+07\n",
+ "ValFuncLoss: 0.000122\n",
+ "Variance: 0.101\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0010780017 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10091968 0.08769961 0.09626102 0.09352004]\n",
+ "FIT: 0.6297802748264226 1.9315482636379169 0.021001258179055984 0.11425059078463604\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 110470, Mean R = -5.0 Std R = 6.5 Min R = -30.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.95\n",
+ "ExplainedVarOld: 0.93\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -3.76\n",
+ "PolicyLoss: -0.00195\n",
+ "Steps: 3.60e+04\n",
+ "TotalSteps: 2.62e+07\n",
+ "ValFuncLoss: 0.000128\n",
+ "Variance: 0.101\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.001064339 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10036827 0.08745539 0.09610976 0.09396876]\n",
+ "FIT: 0.5525177796729247 1.8391416867635955 0.02045371249056629 0.11767252586208103\n",
+ "Update Cnt = 750 ET = 1090.5 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.2 -0.3 -0.0 | 1.1 1.2 0.5 | -4.3 -19.9 -0.1 | 5.9 3.8 16.7\n",
+ "v_f | -0.02 -0.03 -1.13 | 0.16 0.20 0.17 | -0.61 -5.28 -1.55 | 0.77 0.61 1.72\n",
+ "r_i | 990.6 -1.3 2350.1 | 571.7 577.9 28.4 | 1.6 -998.2 2300.1 | 1991.7 996.5 2399.8\n",
+ "v_i | -38.94 0.14 -79.98 | 17.19 17.38 5.82 | -69.95 -29.97 -89.98 | -10.06 29.92 -70.01\n",
+ "norm_rf | 1.4 | 1.1 | 0.0 | 26.5\n",
+ "norm_vf | 1.16 | 0.19 | 0.45 | 5.59\n",
+ "gs_f | 18.4 | 29.7 | 0.5 | 531.6\n",
+ "thrust | 1198 3 9257 | 2822 2821 2161 | -15745 -16403 2000 | 17035 16672 20000\n",
+ "norm_thrust | 9885 | 3163 | 3464 | 20000\n",
+ "fuel | 290 | 16 | 258 | 461\n",
+ "rewards | -5.35 | 7.84 | -140.38 | 3.25\n",
+ "fuel_rewards | -7.47 | 0.42 | -11.90 | -6.66\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.53 | 0.53 | 0.18 | 5.56\n",
+ "norm_af | 0.06 | 0.05 | 0.00 | 1.41\n",
+ "norm_wf | 0.19 | 0.12 | 0.01 | 1.98\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.65 | -11.93 | 0.00\n",
+ "att_penalty | -0.08 | 2.87 | -100.00 | 0.00\n",
+ "attitude | 0.00 0.11 -0.00 | 0.36 0.20 0.19 | -1.56 -0.92 -1.40 | 2.21 1.08 1.08\n",
+ "w | -0.00 -0.01 0.00 | 0.23 0.22 0.01 | -2.48 -2.37 -0.10 | 2.17 1.88 0.24\n",
+ "a_f | -0.01 -0.01 | 0.05 0.06 | -0.23 -1.40 | 0.21 0.18\n",
+ "w_f | -0.01 -0.02 0.00 | 0.16 0.16 0.01 | -0.88 -0.56 -0.09 | 0.56 1.75 0.24\n",
+ "landing_rewards | 8.00 | 4.00 | 0.00 | 10.00\n",
+ "landing_margin | 0.06 | 0.70 | -0.18 | 21.52\n",
+ "tracking_rewards | -5.73 | 5.20 | -44.59 | 0.41\n",
+ "steps | 302 | 26 | 248 | 507\n",
+ "***** Episode 110591, Mean R = -4.8 Std R = 6.2 Min R = -25.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.952\n",
+ "ExplainedVarOld: 0.941\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -3.77\n",
+ "PolicyLoss: -0.0019\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 2.63e+07\n",
+ "ValFuncLoss: 0.00011\n",
+ "Variance: 0.1\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0009152492 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10048022 0.08746175 0.09629361 0.09410106]\n",
+ "FIT: 0.5513590433208523 1.9220128839172985 0.021005706260581816 0.11465525342717721\n",
+ "***** Episode 110712, Mean R = -4.8 Std R = 6.3 Min R = -30.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.965\n",
+ "ExplainedVarOld: 0.95\n",
+ "KL: 0.000915\n",
+ "PolicyEntropy: -3.76\n",
+ "PolicyLoss: -0.00179\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.63e+07\n",
+ "ValFuncLoss: 8.8e-05\n",
+ "Variance: 0.1\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0008206065 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10064336 0.08792178 0.09595729 0.09364617]\n",
+ "FIT: 0.5749905707319473 1.9375729016775627 0.02175827651175658 0.11523051574272088\n",
+ "***** Episode 110833, Mean R = -5.4 Std R = 7.0 Min R = -30.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.954\n",
+ "ExplainedVarOld: 0.943\n",
+ "KL: 0.000821\n",
+ "PolicyEntropy: -3.76\n",
+ "PolicyLoss: -0.00172\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.64e+07\n",
+ "ValFuncLoss: 0.000126\n",
+ "Variance: 0.101\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0010006584 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10108815 0.08762036 0.0958222 0.09336393]\n",
+ "FIT: 0.626278730570174 2.0098264872016807 0.022864642380233852 0.11752172178006945\n",
+ "***** Episode 110954, Mean R = -5.9 Std R = 7.6 Min R = -30.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.958\n",
+ "ExplainedVarOld: 0.925\n",
+ "KL: 0.001\n",
+ "PolicyEntropy: -3.77\n",
+ "PolicyLoss: -0.00186\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.64e+07\n",
+ "ValFuncLoss: 0.000129\n",
+ "Variance: 0.101\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0008200036 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10083243 0.0874799 0.09642541 0.09384909]\n",
+ "FIT: 0.5672710802461863 1.8022701226088302 0.021029736030600137 0.11328925043606851\n",
+ "***** Episode 111075, Mean R = -5.0 Std R = 6.7 Min R = -25.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.953\n",
+ "ExplainedVarOld: 0.944\n",
+ "KL: 0.00082\n",
+ "PolicyEntropy: -3.76\n",
+ "PolicyLoss: -0.00186\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 2.64e+07\n",
+ "ValFuncLoss: 0.000114\n",
+ "Variance: 0.101\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0010710992 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10032884 0.08778387 0.09647702 0.09325422]\n",
+ "FIT: 0.5408770499318283 1.9466100535774367 0.020378156424925683 0.11500143206463717\n",
+ "***** Episode 111196, Mean R = -4.6 Std R = 6.4 Min R = -31.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.946\n",
+ "ExplainedVarOld: 0.932\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -3.77\n",
+ "PolicyLoss: -0.00205\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.65e+07\n",
+ "ValFuncLoss: 0.000123\n",
+ "Variance: 0.1\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.001174971 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10003572 0.08772621 0.09654255 0.09306444]\n",
+ "FIT: 0.6863707824862615 1.9789743208109902 0.02245449677346682 0.11412951233698836\n",
+ "***** Episode 111317, Mean R = -5.8 Std R = 7.7 Min R = -29.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.951\n",
+ "ExplainedVarOld: 0.935\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -3.77\n",
+ "PolicyLoss: -0.00189\n",
+ "Steps: 3.6e+04\n",
+ "TotalSteps: 2.65e+07\n",
+ "ValFuncLoss: 0.00014\n",
+ "Variance: 0.1\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.001178713 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10024296 0.08739005 0.09659875 0.09280301]\n",
+ "FIT: 0.6760215263032319 1.948580374277481 0.02006807188358618 0.11724555202197591\n",
+ "***** Episode 111438, Mean R = -4.3 Std R = 6.9 Min R = -41.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.967\n",
+ "ExplainedVarOld: 0.957\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -3.78\n",
+ "PolicyLoss: -0.0022\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 2.65e+07\n",
+ "ValFuncLoss: 7.89e-05\n",
+ "Variance: 0.1\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0008584078 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10011923 0.08698841 0.096535 0.09294444]\n",
+ "FIT: 0.6165908185801703 1.8671779781187876 0.021665751183794935 0.11409072114711909\n",
+ "***** Episode 111559, Mean R = -5.4 Std R = 6.3 Min R = -28.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.946\n",
+ "ExplainedVarOld: 0.938\n",
+ "KL: 0.000858\n",
+ "PolicyEntropy: -3.78\n",
+ "PolicyLoss: -0.0015\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 2.66e+07\n",
+ "ValFuncLoss: 0.000131\n",
+ "Variance: 0.1\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.00086592603 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10040309 0.08708825 0.09641533 0.09294257]\n",
+ "FIT: 0.5025986000339341 1.7929669983725691 0.020261084245685883 0.11311702750883271\n",
+ "***** Episode 111680, Mean R = -4.6 Std R = 5.8 Min R = -21.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.947\n",
+ "ExplainedVarOld: 0.937\n",
+ "KL: 0.000866\n",
+ "PolicyEntropy: -3.78\n",
+ "PolicyLoss: -0.00198\n",
+ "Steps: 3.6e+04\n",
+ "TotalSteps: 2.66e+07\n",
+ "ValFuncLoss: 0.000112\n",
+ "Variance: 0.1\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0008142656 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.1006344 0.08691417 0.09606541 0.09275519]\n",
+ "FIT: 0.5673766718683712 2.0196564627237183 0.021991333235394615 0.11380512689116129\n",
+ "Update Cnt = 760 ET = 1069.9 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.2 -0.2 -0.0 | 1.2 1.1 0.0 | -6.5 -6.8 -0.1 | 5.5 5.0 -0.0\n",
+ "v_f | -0.02 -0.02 -1.13 | 0.15 0.12 0.15 | -0.53 -0.58 -1.64 | 0.79 0.53 -0.06\n",
+ "r_i | 995.7 -9.0 2349.6 | 570.8 563.6 29.5 | 0.6 -996.4 2300.2 | 1998.2 998.1 2399.9\n",
+ "v_i | -40.19 -0.32 -80.25 | 17.67 17.45 5.88 | -70.00 -29.89 -89.96 | -10.04 29.99 -70.01\n",
+ "norm_rf | 1.4 | 0.9 | 0.0 | 7.1\n",
+ "norm_vf | 1.15 | 0.14 | 0.17 | 1.64\n",
+ "gs_f | 18.2 | 33.0 | 1.4 | 815.5\n",
+ "thrust | 1247 19 9271 | 2879 2799 2158 | -15892 -16157 2000 | 17426 16916 20000\n",
+ "norm_thrust | 9910 | 3176 | 3464 | 20000\n",
+ "fuel | 289 | 15 | 258 | 346\n",
+ "rewards | -5.14 | 6.83 | -41.44 | 3.64\n",
+ "fuel_rewards | -7.45 | 0.40 | -8.90 | -6.66\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.51 | 0.52 | 0.27 | 4.36\n",
+ "norm_af | 0.06 | 0.03 | 0.00 | 0.25\n",
+ "norm_wf | 0.19 | 0.10 | 0.00 | 0.61\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.53 | -7.85 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "attitude | -0.01 0.12 -0.00 | 0.35 0.20 0.19 | -1.63 -0.93 -1.06 | 1.59 1.05 1.13\n",
+ "w | -0.00 -0.01 -0.00 | 0.23 0.22 0.01 | -1.75 -2.53 -0.08 | 2.13 1.58 0.11\n",
+ "a_f | -0.01 -0.00 | 0.05 0.04 | -0.17 -0.18 | 0.22 0.20\n",
+ "w_f | -0.02 -0.02 -0.00 | 0.16 0.15 0.01 | -0.57 -0.53 -0.07 | 0.49 0.55 0.11\n",
+ "landing_rewards | 8.12 | 3.91 | 0.00 | 10.00\n",
+ "landing_margin | 0.04 | 0.34 | -0.18 | 3.64\n",
+ "tracking_rewards | -5.74 | 5.09 | -32.95 | 0.73\n",
+ "steps | 300 | 26 | 246 | 392\n",
+ "***** Episode 111801, Mean R = -5.6 Std R = 7.2 Min R = -24.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.952\n",
+ "ExplainedVarOld: 0.944\n",
+ "KL: 0.000814\n",
+ "PolicyEntropy: -3.78\n",
+ "PolicyLoss: -0.00165\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 2.66e+07\n",
+ "ValFuncLoss: 0.000131\n",
+ "Variance: 0.101\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0009176485 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10052539 0.08659558 0.09623679 0.09289791]\n",
+ "FIT: 0.4991255647137672 1.8978039601641046 0.0212404505618581 0.11457312064557879\n",
+ "***** Episode 111922, Mean R = -5.2 Std R = 6.3 Min R = -24.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.953\n",
+ "ExplainedVarOld: 0.944\n",
+ "KL: 0.000918\n",
+ "PolicyEntropy: -3.79\n",
+ "PolicyLoss: -0.00186\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 2.67e+07\n",
+ "ValFuncLoss: 0.000115\n",
+ "Variance: 0.101\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0007849396 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.10014998 0.08639439 0.09660129 0.09334257]\n",
+ "FIT: 0.6256423582540713 1.9497120216031287 0.022499955893743474 0.11751372956098438\n",
+ "***** Episode 112043, Mean R = -5.8 Std R = 6.9 Min R = -30.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.962\n",
+ "ExplainedVarOld: 0.954\n",
+ "KL: 0.000785\n",
+ "PolicyEntropy: -3.78\n",
+ "PolicyLoss: -0.00143\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.67e+07\n",
+ "ValFuncLoss: 0.000111\n",
+ "Variance: 0.1\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.00088287756 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09982891 0.08628033 0.09657681 0.09373992]\n",
+ "FIT: 0.5458878018527555 1.9425669626717108 0.02144954284235896 0.11682778995411541\n",
+ "***** Episode 112164, Mean R = -5.1 Std R = 6.7 Min R = -30.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.956\n",
+ "ExplainedVarOld: 0.938\n",
+ "KL: 0.000883\n",
+ "PolicyEntropy: -3.78\n",
+ "PolicyLoss: -0.00192\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.68e+07\n",
+ "ValFuncLoss: 0.00012\n",
+ "Variance: 0.0998\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.00086429704 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09952759 0.08621934 0.09690211 0.09401 ]\n",
+ "FIT: 0.5029107832482533 1.8079858669578395 0.01996851065631684 0.11362682214668661\n",
+ "***** Episode 112285, Mean R = -4.2 Std R = 5.7 Min R = -19.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.952\n",
+ "ExplainedVarOld: 0.937\n",
+ "KL: 0.000864\n",
+ "PolicyEntropy: -3.78\n",
+ "PolicyLoss: -0.00153\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.68e+07\n",
+ "ValFuncLoss: 9.41e-05\n",
+ "Variance: 0.0995\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.00085510674 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.0991695 0.08613114 0.09724937 0.09356234]\n",
+ "FIT: 0.5064753567451097 1.880937735398204 0.019653006001761567 0.11359875674127792\n",
+ "***** Episode 112406, Mean R = -4.2 Std R = 6.3 Min R = -29.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.942\n",
+ "ExplainedVarOld: 0.933\n",
+ "KL: 0.000855\n",
+ "PolicyEntropy: -3.79\n",
+ "PolicyLoss: -0.00145\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.68e+07\n",
+ "ValFuncLoss: 0.000112\n",
+ "Variance: 0.0992\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0007776938 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09877225 0.0862871 0.09682184 0.09353917]\n",
+ "FIT: 0.5710385603662765 1.9334630439638092 0.0206142887740604 0.1144460100406514\n",
+ "***** Episode 112527, Mean R = -4.7 Std R = 7.0 Min R = -33.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.954\n",
+ "ExplainedVarOld: 0.943\n",
+ "KL: 0.000778\n",
+ "PolicyEntropy: -3.79\n",
+ "PolicyLoss: -0.00152\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 2.69e+07\n",
+ "ValFuncLoss: 0.00011\n",
+ "Variance: 0.0988\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.000892487 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09833802 0.08630883 0.09654798 0.0934777 ]\n",
+ "FIT: 0.6446586491419413 1.9626867546065616 0.0221842795258765 0.11788749423282838\n",
+ "***** Episode 112648, Mean R = -6.0 Std R = 7.2 Min R = -39.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.948\n",
+ "ExplainedVarOld: 0.929\n",
+ "KL: 0.000892\n",
+ "PolicyEntropy: -3.8\n",
+ "PolicyLoss: -0.00173\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 2.69e+07\n",
+ "ValFuncLoss: 0.00015\n",
+ "Variance: 0.0983\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0008749964 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09837214 0.08647375 0.09655765 0.09360581]\n",
+ "FIT: 0.5208186453973281 1.7802103251657526 0.020637655951550177 0.11503387598278492\n",
+ "***** Episode 112769, Mean R = -4.6 Std R = 6.0 Min R = -23.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.957\n",
+ "ExplainedVarOld: 0.946\n",
+ "KL: 0.000875\n",
+ "PolicyEntropy: -3.8\n",
+ "PolicyLoss: -0.00206\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 2.69e+07\n",
+ "ValFuncLoss: 9.92e-05\n",
+ "Variance: 0.0984\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0010012623 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09786211 0.08605684 0.09642082 0.09304427]\n",
+ "FIT: 0.5372435406824523 1.7331289160054812 0.021266547051281715 0.11688560124991239\n",
+ "***** Episode 112890, Mean R = -5.2 Std R = 6.4 Min R = -23.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.947\n",
+ "ExplainedVarOld: 0.933\n",
+ "KL: 0.001\n",
+ "PolicyEntropy: -3.81\n",
+ "PolicyLoss: -0.00219\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 2.7e+07\n",
+ "ValFuncLoss: 0.00012\n",
+ "Variance: 0.0979\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0012266202 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09716689 0.08563251 0.09649876 0.09268685]\n",
+ "FIT: 0.5687201112412499 1.7836957696719467 0.02143717496780688 0.11555291274130174\n",
+ "Update Cnt = 770 ET = 1070.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.2 -0.3 -0.0 | 1.2 1.5 0.1 | -5.4 -36.1 -0.1 | 5.4 4.6 3.7\n",
+ "v_f | -0.01 -0.01 -1.12 | 0.15 0.13 0.15 | -0.42 -1.43 -1.65 | 1.11 0.42 -0.19\n",
+ "r_i | 1010.9 6.8 2349.2 | 564.5 572.3 28.3 | 1.1 -999.6 2300.0 | 1998.0 999.9 2399.9\n",
+ "v_i | -40.77 0.36 -80.23 | 17.57 17.19 5.75 | -69.85 -29.96 -89.96 | -10.06 29.92 -70.05\n",
+ "norm_rf | 1.4 | 1.3 | 0.0 | 36.5\n",
+ "norm_vf | 1.14 | 0.14 | 0.55 | 1.69\n",
+ "gs_f | 28.0 | 310.6 | 0.7 | 10736.8\n",
+ "thrust | 1260 -4 9260 | 2801 2839 2153 | -15572 -16201 2000 | 16585 16389 19996\n",
+ "norm_thrust | 9894 | 3159 | 3464 | 20000\n",
+ "fuel | 289 | 16 | 255 | 467\n",
+ "rewards | -5.03 | 6.57 | -39.29 | 3.24\n",
+ "fuel_rewards | -7.45 | 0.41 | -12.04 | -6.58\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.50 | 0.54 | 0.12 | 5.78\n",
+ "norm_af | 0.06 | 0.04 | 0.00 | 0.46\n",
+ "norm_wf | 0.19 | 0.11 | 0.00 | 0.70\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.40 | -6.05 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | -0.00 0.12 0.00 | 0.37 0.20 0.20 | -1.71 -0.93 -1.07 | 1.75 1.05 1.04\n",
+ "w | -0.00 -0.01 0.00 | 0.23 0.22 0.01 | -1.75 -2.47 -0.09 | 2.00 1.53 0.20\n",
+ "a_f | -0.01 -0.00 | 0.05 0.05 | -0.21 -0.42 | 0.20 0.15\n",
+ "w_f | -0.01 -0.01 0.00 | 0.16 0.15 0.01 | -0.66 -0.51 -0.08 | 0.49 0.45 0.19\n",
+ "landing_rewards | 8.05 | 3.96 | 0.00 | 10.00\n",
+ "landing_margin | 0.05 | 0.94 | -0.19 | 31.49\n",
+ "tracking_rewards | -5.59 | 4.75 | -31.11 | 0.53\n",
+ "steps | 300 | 26 | 248 | 601\n",
+ "***** Episode 113011, Mean R = -5.2 Std R = 6.8 Min R = -25.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.951\n",
+ "ExplainedVarOld: 0.939\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -3.83\n",
+ "PolicyLoss: -0.00187\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.7e+07\n",
+ "ValFuncLoss: 0.000118\n",
+ "Variance: 0.0972\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0010666241 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09659579 0.08522326 0.09656767 0.09280142]\n",
+ "FIT: 0.5687305012824976 1.8607639048630087 0.02189769869295535 0.11669006585622799\n",
+ "***** Episode 113132, Mean R = -5.2 Std R = 6.3 Min R = -25.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.967\n",
+ "ExplainedVarOld: 0.959\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -3.84\n",
+ "PolicyLoss: -0.00199\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.7e+07\n",
+ "ValFuncLoss: 8.89e-05\n",
+ "Variance: 0.0966\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0010968759 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.095897 0.08497762 0.09668195 0.09251906]\n",
+ "FIT: 0.5622396556979015 1.9189701588897723 0.020789385549129603 0.11412758088165621\n",
+ "***** Episode 113253, Mean R = -4.9 Std R = 6.8 Min R = -33.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.939\n",
+ "ExplainedVarOld: 0.929\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -3.85\n",
+ "PolicyLoss: -0.0019\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 2.71e+07\n",
+ "ValFuncLoss: 0.000136\n",
+ "Variance: 0.0967\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.00086884206 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09583559 0.08488237 0.09618974 0.09286487]\n",
+ "FIT: 0.7629248520025012 2.0013620828012835 0.02236670755540519 0.11665996985004148\n",
+ "***** Episode 113374, Mean R = -5.3 Std R = 7.2 Min R = -41.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.972\n",
+ "ExplainedVarOld: 0.961\n",
+ "KL: 0.000869\n",
+ "PolicyEntropy: -3.85\n",
+ "PolicyLoss: -0.00202\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.71e+07\n",
+ "ValFuncLoss: 9.18e-05\n",
+ "Variance: 0.0962\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0010188153 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09576841 0.08515344 0.09588816 0.09272655]\n",
+ "FIT: 0.5616323940430097 1.8580513384882156 0.021145505291463196 0.11388033412695321\n",
+ "***** Episode 113495, Mean R = -5.1 Std R = 6.7 Min R = -24.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.947\n",
+ "ExplainedVarOld: 0.945\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -3.86\n",
+ "PolicyLoss: -0.00172\n",
+ "Steps: 3.6e+04\n",
+ "TotalSteps: 2.72e+07\n",
+ "ValFuncLoss: 0.000129\n",
+ "Variance: 0.0959\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0010070697 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09594661 0.08533859 0.09576228 0.09299143]\n",
+ "FIT: 0.6797007602977969 1.862838773563547 0.021496691300434096 0.115577943785829\n",
+ "***** Episode 113616, Mean R = -5.4 Std R = 7.0 Min R = -42.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.952\n",
+ "ExplainedVarOld: 0.923\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -3.85\n",
+ "PolicyLoss: -0.00236\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 2.72e+07\n",
+ "ValFuncLoss: 0.000128\n",
+ "Variance: 0.0959\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.00087109435 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09625857 0.08521313 0.09584315 0.09292316]\n",
+ "FIT: 0.5595601943157698 2.0223069117856394 0.02109079900359997 0.11596229055519645\n",
+ "***** Episode 113737, Mean R = -5.0 Std R = 6.3 Min R = -25.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.958\n",
+ "ExplainedVarOld: 0.944\n",
+ "KL: 0.000871\n",
+ "PolicyEntropy: -3.85\n",
+ "PolicyLoss: -0.00181\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 2.72e+07\n",
+ "ValFuncLoss: 0.000101\n",
+ "Variance: 0.0963\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0011780374 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09635351 0.08529563 0.09570715 0.09243528]\n",
+ "FIT: 0.6126591651876295 1.991345352173783 0.02327081544786365 0.11876747375957092\n",
+ "***** Episode 113858, Mean R = -5.8 Std R = 6.8 Min R = -34.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.965\n",
+ "ExplainedVarOld: 0.949\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -3.85\n",
+ "PolicyLoss: -0.00231\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 2.73e+07\n",
+ "ValFuncLoss: 0.00012\n",
+ "Variance: 0.0964\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.00093599857 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09575618 0.0853311 0.09525716 0.09244498]\n",
+ "FIT: 0.6124130801835307 1.8758018929540037 0.021802348979105032 0.11638299294487754\n",
+ "***** Episode 113979, Mean R = -5.4 Std R = 6.3 Min R = -27.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.956\n",
+ "ExplainedVarOld: 0.944\n",
+ "KL: 0.000936\n",
+ "PolicyEntropy: -3.86\n",
+ "PolicyLoss: -0.00173\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 2.73e+07\n",
+ "ValFuncLoss: 0.000116\n",
+ "Variance: 0.0958\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.00077773 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09584215 0.08505967 0.09535132 0.0921959 ]\n",
+ "FIT: 0.5600854493572398 1.9399586728217768 0.0213618531863882 0.11885777712577322\n",
+ "***** Episode 114100, Mean R = -5.5 Std R = 5.8 Min R = -24.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.95\n",
+ "ExplainedVarOld: 0.937\n",
+ "KL: 0.000778\n",
+ "PolicyEntropy: -3.87\n",
+ "PolicyLoss: -0.00158\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 2.73e+07\n",
+ "ValFuncLoss: 0.000114\n",
+ "Variance: 0.0958\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.00096504745 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09612466 0.08504775 0.09535176 0.09221085]\n",
+ "FIT: 0.469188473403992 1.8703942768202155 0.018749417185100013 0.11185576578197477\n",
+ "Update Cnt = 780 ET = 1076.9 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.2 -0.0 | 1.1 1.1 0.0 | -5.4 -4.7 -0.1 | 5.2 4.5 -0.0\n",
+ "v_f | 0.01 -0.01 -1.11 | 0.14 0.13 0.15 | -0.42 -0.56 -1.65 | 0.66 0.90 -0.23\n",
+ "r_i | 1013.1 0.6 2349.3 | 584.6 570.9 29.0 | 0.4 -998.9 2300.1 | 1997.1 996.8 2399.8\n",
+ "v_i | -39.74 0.74 -80.03 | 17.12 17.28 5.72 | -69.92 -29.96 -89.99 | -10.12 30.00 -70.00\n",
+ "norm_rf | 1.3 | 0.9 | 0.1 | 6.3\n",
+ "norm_vf | 1.12 | 0.14 | 0.61 | 1.65\n",
+ "gs_f | 18.0 | 26.2 | 1.1 | 659.9\n",
+ "thrust | 1221 -17 9241 | 2822 2864 2157 | -16410 -16366 2000 | 17068 16757 19998\n",
+ "norm_thrust | 9881 | 3174 | 3464 | 20000\n",
+ "fuel | 290 | 16 | 260 | 351\n",
+ "rewards | -5.08 | 6.54 | -42.37 | 3.50\n",
+ "fuel_rewards | -7.48 | 0.41 | -9.03 | -6.70\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.50 | 0.55 | 0.36 | 6.36\n",
+ "norm_af | 0.06 | 0.04 | 0.00 | 0.27\n",
+ "norm_wf | 0.18 | 0.10 | 0.01 | 0.61\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.41 | -6.41 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | -0.02 0.12 -0.00 | 0.36 0.20 0.20 | -1.66 -0.94 -1.05 | 1.82 1.06 1.05\n",
+ "w | -0.00 -0.01 -0.00 | 0.22 0.22 0.01 | -1.89 -2.51 -0.09 | 2.04 1.45 0.13\n",
+ "a_f | -0.01 -0.00 | 0.05 0.04 | -0.20 -0.17 | 0.18 0.27\n",
+ "w_f | -0.02 -0.02 -0.00 | 0.15 0.15 0.01 | -0.60 -0.59 -0.08 | 0.50 0.51 0.12\n",
+ "landing_rewards | 8.25 | 3.80 | 0.00 | 10.00\n",
+ "landing_margin | 0.03 | 0.36 | -0.18 | 3.85\n",
+ "tracking_rewards | -5.80 | 5.18 | -43.72 | 0.68\n",
+ "steps | 302 | 26 | 248 | 386\n",
+ "***** Episode 114221, Mean R = -3.1 Std R = 5.7 Min R = -25.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.97\n",
+ "ExplainedVarOld: 0.965\n",
+ "KL: 0.000965\n",
+ "PolicyEntropy: -3.86\n",
+ "PolicyLoss: -0.00216\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 2.74e+07\n",
+ "ValFuncLoss: 6.08e-05\n",
+ "Variance: 0.0961\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0009467775 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09603474 0.08509276 0.09539987 0.09241844]\n",
+ "FIT: 0.5149964159943388 1.902213139393363 0.022306119273296704 0.11776562739261974\n",
+ "***** Episode 114342, Mean R = -5.9 Std R = 6.3 Min R = -28.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.949\n",
+ "ExplainedVarOld: 0.939\n",
+ "KL: 0.000947\n",
+ "PolicyEntropy: -3.86\n",
+ "PolicyLoss: -0.00163\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.74e+07\n",
+ "ValFuncLoss: 0.000129\n",
+ "Variance: 0.096\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0010282104 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09585111 0.08464657 0.09540378 0.09259894]\n",
+ "FIT: 0.6210463948250253 1.991556697489532 0.022291578299651137 0.11489720429267526\n",
+ "***** Episode 114463, Mean R = -5.4 Std R = 6.8 Min R = -30.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.962\n",
+ "ExplainedVarOld: 0.952\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -3.87\n",
+ "PolicyLoss: -0.00185\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 2.74e+07\n",
+ "ValFuncLoss: 0.000107\n",
+ "Variance: 0.0959\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0010232934 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09564684 0.0840776 0.09521025 0.09225694]\n",
+ "FIT: 0.6259017989117136 1.921269663880023 0.02259233785047664 0.11562647641378908\n",
+ "***** Episode 114584, Mean R = -5.9 Std R = 7.4 Min R = -28.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.951\n",
+ "ExplainedVarOld: 0.943\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -3.88\n",
+ "PolicyLoss: -0.0019\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 2.75e+07\n",
+ "ValFuncLoss: 0.000141\n",
+ "Variance: 0.0956\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0007381765 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09576504 0.08436137 0.09560553 0.09219372]\n",
+ "FIT: 0.5220703106801728 2.051108539103935 0.02097472604613654 0.11357098794852709\n",
+ "***** Episode 114705, Mean R = -4.6 Std R = 6.6 Min R = -29.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.956\n",
+ "ExplainedVarOld: 0.939\n",
+ "KL: 0.000738\n",
+ "PolicyEntropy: -3.87\n",
+ "PolicyLoss: -0.0018\n",
+ "Steps: 3.6e+04\n",
+ "TotalSteps: 2.75e+07\n",
+ "ValFuncLoss: 0.00011\n",
+ "Variance: 0.0958\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.001156743 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09510475 0.08425057 0.09508666 0.09188377]\n",
+ "FIT: 0.6022291236555124 1.9856844469917287 0.021783189559971723 0.11612867188455807\n",
+ "***** Episode 114826, Mean R = -5.0 Std R = 7.1 Min R = -37.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.966\n",
+ "ExplainedVarOld: 0.961\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -3.89\n",
+ "PolicyLoss: -0.00211\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.76e+07\n",
+ "ValFuncLoss: 9.98e-05\n",
+ "Variance: 0.0951\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0010085336 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09465789 0.08384003 0.0950826 0.0919603 ]\n",
+ "FIT: 0.5738880473991542 1.890826740020347 0.020748137183644877 0.11688206074907109\n",
+ "***** Episode 114947, Mean R = -4.5 Std R = 5.8 Min R = -21.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.965\n",
+ "ExplainedVarOld: 0.952\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -3.9\n",
+ "PolicyLoss: -0.00186\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 2.76e+07\n",
+ "ValFuncLoss: 8.48e-05\n",
+ "Variance: 0.0951\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0011682931 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09429796 0.08381957 0.09517206 0.09240884]\n",
+ "FIT: 0.5755350828392279 1.9969530769500614 0.021148349917738674 0.11679310443056937\n",
+ "***** Episode 115068, Mean R = -4.9 Std R = 6.8 Min R = -24.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.968\n",
+ "ExplainedVarOld: 0.958\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -3.9\n",
+ "PolicyLoss: -0.00204\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.76e+07\n",
+ "ValFuncLoss: 8.39e-05\n",
+ "Variance: 0.0952\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0010209065 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09348332 0.08388772 0.0950827 0.09219705]\n",
+ "FIT: 0.6708262683170638 2.053710678202872 0.01968795513812371 0.11543998149042403\n",
+ "***** Episode 115189, Mean R = -4.3 Std R = 5.6 Min R = -29.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.939\n",
+ "ExplainedVarOld: 0.938\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -3.91\n",
+ "PolicyLoss: -0.00186\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 2.77e+07\n",
+ "ValFuncLoss: 0.000138\n",
+ "Variance: 0.0951\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0012441284 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09277786 0.08417965 0.09473513 0.09219194]\n",
+ "FIT: 1.008789626077772 2.0483775563979947 0.02203882765869179 0.11722158751480544\n",
+ "***** Episode 115310, Mean R = -5.2 Std R = 8.0 Min R = -53.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.966\n",
+ "ExplainedVarOld: 0.931\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -3.92\n",
+ "PolicyLoss: -0.0022\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 2.77e+07\n",
+ "ValFuncLoss: 0.000108\n",
+ "Variance: 0.0947\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0008511429 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09240294 0.08420936 0.09449295 0.09243378]\n",
+ "FIT: 0.654658242446128 1.9391096468174764 0.022238508524148493 0.11670567963758614\n",
+ "Update Cnt = 790 ET = 1080.6 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.2 -0.0 | 1.1 1.0 0.0 | -4.1 -5.1 -0.1 | 4.7 5.2 -0.0\n",
+ "v_f | 0.01 -0.01 -1.10 | 0.15 0.13 0.14 | -0.51 -0.74 -1.59 | 1.16 0.67 -0.50\n",
+ "r_i | 979.5 3.3 2350.0 | 560.7 586.9 29.1 | 1.9 -997.7 2300.0 | 2000.0 995.4 2400.0\n",
+ "v_i | -39.61 -0.23 -79.81 | 17.33 17.48 5.80 | -69.80 -29.98 -89.93 | -10.01 29.67 -70.01\n",
+ "norm_rf | 1.3 | 0.8 | 0.1 | 6.0\n",
+ "norm_vf | 1.12 | 0.13 | 0.59 | 1.95\n",
+ "gs_f | 19.7 | 43.9 | 1.8 | 1293.3\n",
+ "thrust | 1223 14 9252 | 2822 2906 2137 | -15584 -16227 2000 | 17154 16250 19998\n",
+ "norm_thrust | 9900 | 3169 | 3464 | 20000\n",
+ "fuel | 290 | 16 | 259 | 347\n",
+ "rewards | -5.16 | 6.82 | -53.70 | 3.53\n",
+ "fuel_rewards | -7.48 | 0.40 | -8.95 | -6.67\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.50 | 0.50 | 0.36 | 4.38\n",
+ "norm_af | 0.06 | 0.03 | 0.00 | 0.23\n",
+ "norm_wf | 0.19 | 0.10 | 0.00 | 0.66\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.57 | -14.38 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | -0.00 0.12 -0.00 | 0.36 0.20 0.20 | -1.51 -1.04 -1.13 | 1.44 1.05 1.10\n",
+ "w | -0.00 -0.01 -0.00 | 0.22 0.22 0.01 | -1.75 -2.52 -0.09 | 2.19 1.51 0.09\n",
+ "a_f | -0.01 -0.00 | 0.05 0.04 | -0.21 -0.18 | 0.22 0.16\n",
+ "w_f | -0.01 -0.02 0.00 | 0.15 0.15 0.01 | -0.51 -0.60 -0.08 | 0.63 0.59 0.08\n",
+ "landing_rewards | 8.25 | 3.80 | 0.00 | 10.00\n",
+ "landing_margin | 0.02 | 0.29 | -0.19 | 3.18\n",
+ "tracking_rewards | -5.86 | 5.14 | -32.15 | 0.63\n",
+ "steps | 302 | 25 | 248 | 386\n",
+ "***** Episode 115431, Mean R = -5.9 Std R = 7.2 Min R = -37.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.945\n",
+ "ExplainedVarOld: 0.932\n",
+ "KL: 0.000851\n",
+ "PolicyEntropy: -3.92\n",
+ "PolicyLoss: -0.0018\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 2.77e+07\n",
+ "ValFuncLoss: 0.00015\n",
+ "Variance: 0.0945\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.001179362 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09191041 0.08399315 0.09436919 0.09220082]\n",
+ "FIT: 0.5934331248589617 1.9508482276462797 0.022329730206517878 0.11999416252237745\n",
+ "***** Episode 115552, Mean R = -5.8 Std R = 6.9 Min R = -27.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.956\n",
+ "ExplainedVarOld: 0.947\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -3.93\n",
+ "PolicyLoss: -0.00216\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 2.78e+07\n",
+ "ValFuncLoss: 0.000118\n",
+ "Variance: 0.0944\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0010360256 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09182537 0.08379761 0.09437165 0.09207219]\n",
+ "FIT: 0.6565249722452426 1.923326718635968 0.021373677900906565 0.11512624360378329\n",
+ "***** Episode 115673, Mean R = -4.9 Std R = 5.8 Min R = -21.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.966\n",
+ "ExplainedVarOld: 0.944\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -3.94\n",
+ "PolicyLoss: -0.00204\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.78e+07\n",
+ "ValFuncLoss: 0.000111\n",
+ "Variance: 0.0944\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0012436989 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09124022 0.08348371 0.09445918 0.0916689 ]\n",
+ "FIT: 0.5955944085100907 2.0431228395979377 0.0218254721793786 0.11827780619672126\n",
+ "***** Episode 115794, Mean R = -5.2 Std R = 6.9 Min R = -35.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.961\n",
+ "ExplainedVarOld: 0.945\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -3.95\n",
+ "PolicyLoss: -0.00216\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.78e+07\n",
+ "ValFuncLoss: 0.000111\n",
+ "Variance: 0.0945\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0011811455 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09105316 0.08330858 0.09432204 0.09170337]\n",
+ "FIT: 0.5666150120076804 1.9406690986940012 0.021551661052540014 0.1172983995260014\n",
+ "***** Episode 115915, Mean R = -4.9 Std R = 6.1 Min R = -30.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.969\n",
+ "ExplainedVarOld: 0.956\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -3.96\n",
+ "PolicyLoss: -0.00166\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 2.79e+07\n",
+ "ValFuncLoss: 8.45e-05\n",
+ "Variance: 0.0943\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0009111796 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09123231 0.08314244 0.09416822 0.09183664]\n",
+ "FIT: 0.6087412607922177 2.0300549859051946 0.02089047767561587 0.11697556116367197\n",
+ "***** Episode 116036, Mean R = -5.0 Std R = 6.1 Min R = -22.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.952\n",
+ "ExplainedVarOld: 0.929\n",
+ "KL: 0.000911\n",
+ "PolicyEntropy: -3.96\n",
+ "PolicyLoss: -0.00154\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.79e+07\n",
+ "ValFuncLoss: 0.000109\n",
+ "Variance: 0.0942\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.00095049443 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09107982 0.0833666 0.09438667 0.09183848]\n",
+ "FIT: 0.6525619912671357 2.114683569204344 0.023629895071939744 0.11889446911518298\n",
+ "***** Episode 116157, Mean R = -6.1 Std R = 8.0 Min R = -34.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.975\n",
+ "ExplainedVarOld: 0.965\n",
+ "KL: 0.00095\n",
+ "PolicyEntropy: -3.95\n",
+ "PolicyLoss: -0.00205\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 2.8e+07\n",
+ "ValFuncLoss: 8.73e-05\n",
+ "Variance: 0.0944\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0009297282 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09082697 0.08308327 0.09441105 0.09143159]\n",
+ "FIT: 0.6056219574704607 1.8954490605495837 0.02096911871798952 0.1163730090319887\n",
+ "***** Episode 116278, Mean R = -5.0 Std R = 6.9 Min R = -27.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.948\n",
+ "ExplainedVarOld: 0.94\n",
+ "KL: 0.00093\n",
+ "PolicyEntropy: -3.96\n",
+ "PolicyLoss: -0.002\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.8e+07\n",
+ "ValFuncLoss: 0.000119\n",
+ "Variance: 0.0944\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0008928994 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09042294 0.08283103 0.09407374 0.09136718]\n",
+ "FIT: 0.6166988573109771 1.962131403803977 0.021221100338064652 0.11529114550416682\n",
+ "***** Episode 116399, Mean R = -5.2 Std R = 6.4 Min R = -38.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.945\n",
+ "ExplainedVarOld: 0.931\n",
+ "KL: 0.000893\n",
+ "PolicyEntropy: -3.98\n",
+ "PolicyLoss: -0.00153\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.8e+07\n",
+ "ValFuncLoss: 0.000134\n",
+ "Variance: 0.0941\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.00093831297 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09059151 0.08300025 0.09418543 0.0909939 ]\n",
+ "FIT: 0.9764493737070231 2.103354201962027 0.020216657577243922 0.11413510214831066\n",
+ "***** Episode 116520, Mean R = -4.3 Std R = 7.0 Min R = -50.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.965\n",
+ "ExplainedVarOld: 0.932\n",
+ "KL: 0.000938\n",
+ "PolicyEntropy: -3.97\n",
+ "PolicyLoss: -0.00203\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.81e+07\n",
+ "ValFuncLoss: 0.000103\n",
+ "Variance: 0.0942\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.00096225366 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09065935 0.08328369 0.09399635 0.09095726]\n",
+ "FIT: 0.5842512371793227 2.002032009401053 0.02247843924946873 0.11400360298387774\n",
+ "Update Cnt = 800 ET = 1074.1 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.2 -0.0 | 1.1 1.1 0.0 | -4.8 -5.4 -0.1 | 5.4 5.5 -0.0\n",
+ "v_f | 0.02 -0.01 -1.11 | 0.15 0.13 0.14 | -0.55 -0.49 -1.51 | 0.80 2.00 -0.45\n",
+ "r_i | 1012.5 -9.9 2350.1 | 577.5 584.7 28.8 | 0.5 -997.1 2300.2 | 1999.4 997.3 2399.9\n",
+ "v_i | -40.39 -0.82 -80.15 | 17.61 17.37 5.67 | -69.94 -29.94 -89.99 | -10.09 29.99 -70.03\n",
+ "norm_rf | 1.3 | 0.9 | 0.0 | 6.5\n",
+ "norm_vf | 1.12 | 0.14 | 0.54 | 2.28\n",
+ "gs_f | 19.6 | 26.2 | 0.9 | 379.1\n",
+ "thrust | 1245 34 9248 | 2835 2883 2140 | -16054 -15925 2000 | 16594 16570 20000\n",
+ "norm_thrust | 9900 | 3164 | 3464 | 20000\n",
+ "fuel | 290 | 16 | 257 | 343\n",
+ "rewards | -5.22 | 6.81 | -50.34 | 3.28\n",
+ "fuel_rewards | -7.47 | 0.40 | -8.85 | -6.63\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.48 | 0.51 | 0.29 | 4.54\n",
+ "norm_af | 0.06 | 0.04 | 0.00 | 0.53\n",
+ "norm_wf | 0.19 | 0.11 | 0.01 | 0.65\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.48 | -10.45 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | -0.00 0.12 -0.00 | 0.37 0.20 0.20 | -1.55 -0.93 -1.14 | 1.49 1.07 1.03\n",
+ "w | -0.00 -0.01 -0.00 | 0.22 0.22 0.01 | -1.71 -2.56 -0.12 | 2.08 1.57 0.13\n",
+ "a_f | -0.00 -0.00 | 0.05 0.05 | -0.23 -0.24 | 0.19 0.47\n",
+ "w_f | -0.00 -0.02 -0.00 | 0.15 0.15 0.01 | -0.49 -0.55 -0.11 | 0.60 0.60 0.09\n",
+ "landing_rewards | 8.20 | 3.84 | 0.00 | 10.00\n",
+ "landing_margin | 0.02 | 0.32 | -0.19 | 4.12\n",
+ "tracking_rewards | -5.90 | 5.07 | -34.14 | 0.46\n",
+ "steps | 301 | 25 | 247 | 395\n",
+ "***** Episode 116641, Mean R = -5.8 Std R = 7.5 Min R = -35.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.951\n",
+ "ExplainedVarOld: 0.925\n",
+ "KL: 0.000962\n",
+ "PolicyEntropy: -3.97\n",
+ "PolicyLoss: -0.00178\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.81e+07\n",
+ "ValFuncLoss: 0.000129\n",
+ "Variance: 0.094\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0010179373 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09119646 0.08308182 0.09414101 0.09069747]\n",
+ "FIT: 0.5546450822813515 1.9295735583223794 0.022214010723479165 0.11853653641189738\n",
+ "***** Episode 116762, Mean R = -5.7 Std R = 6.5 Min R = -25.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.952\n",
+ "ExplainedVarOld: 0.936\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -3.97\n",
+ "PolicyLoss: -0.00186\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 2.81e+07\n",
+ "ValFuncLoss: 0.000128\n",
+ "Variance: 0.0941\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0018438626 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09129558 0.08322528 0.09376565 0.09028172]\n",
+ "FIT: 0.6184152496291179 1.8854120725302663 0.02149552435756457 0.12014965729924616\n",
+ "***** Episode 116883, Mean R = -4.9 Std R = 8.0 Min R = -43.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.936\n",
+ "ExplainedVarOld: -6.29\n",
+ "KL: 0.00184\n",
+ "PolicyEntropy: -3.98\n",
+ "PolicyLoss: -0.000677\n",
+ "Steps: 3.73e+04\n",
+ "TotalSteps: 2.82e+07\n",
+ "ValFuncLoss: 0.000163\n",
+ "Variance: 0.0938\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0008102644 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09114275 0.08271959 0.09370243 0.09015996]\n",
+ "FIT: 0.6179861631441281 2.0833981537365904 0.02194793350227322 0.11407796381446489\n",
+ "***** Episode 117004, Mean R = -4.9 Std R = 7.4 Min R = -29.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.965\n",
+ "ExplainedVarOld: 0.957\n",
+ "KL: 0.00081\n",
+ "PolicyEntropy: -3.99\n",
+ "PolicyLoss: -0.00179\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 2.82e+07\n",
+ "ValFuncLoss: 0.000122\n",
+ "Variance: 0.0937\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.00090025173 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09106056 0.08238615 0.09382415 0.0906742 ]\n",
+ "FIT: 0.6129111366820803 1.9404082210548772 0.020047853915083364 0.11622761995270117\n",
+ "***** Episode 117125, Mean R = -4.7 Std R = 6.4 Min R = -34.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.935\n",
+ "ExplainedVarOld: 0.928\n",
+ "KL: 0.0009\n",
+ "PolicyEntropy: -3.98\n",
+ "PolicyLoss: -0.00163\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 2.82e+07\n",
+ "ValFuncLoss: 0.000128\n",
+ "Variance: 0.0938\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0009834777 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09086934 0.08233025 0.09365153 0.09030315]\n",
+ "FIT: 0.5375755210039425 1.9724844495039335 0.021758842435071132 0.11610125879562147\n",
+ "***** Episode 117246, Mean R = -5.5 Std R = 6.4 Min R = -22.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.953\n",
+ "ExplainedVarOld: 0.942\n",
+ "KL: 0.000983\n",
+ "PolicyEntropy: -3.99\n",
+ "PolicyLoss: -0.00193\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 2.83e+07\n",
+ "ValFuncLoss: 0.000122\n",
+ "Variance: 0.0937\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0009947238 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09049531 0.08227976 0.0934975 0.09010993]\n",
+ "FIT: 0.5908845926848394 1.937661612074002 0.021872652934160946 0.11720122758894219\n",
+ "***** Episode 117367, Mean R = -5.2 Std R = 6.8 Min R = -32.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.96\n",
+ "ExplainedVarOld: 0.949\n",
+ "KL: 0.000995\n",
+ "PolicyEntropy: -4\n",
+ "PolicyLoss: -0.00189\n",
+ "Steps: 3.59e+04\n",
+ "TotalSteps: 2.83e+07\n",
+ "ValFuncLoss: 0.000108\n",
+ "Variance: 0.0935\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0010253765 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09038396 0.08256108 0.09336855 0.0903191 ]\n",
+ "FIT: 0.6256806562566739 2.071848844904596 0.02196224106084085 0.117525496350162\n",
+ "***** Episode 117488, Mean R = -5.2 Std R = 7.4 Min R = -31.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.965\n",
+ "ExplainedVarOld: 0.953\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -4\n",
+ "PolicyLoss: -0.00211\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 2.84e+07\n",
+ "ValFuncLoss: 0.0001\n",
+ "Variance: 0.0934\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.000862387 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.09018593 0.08227433 0.09308238 0.09017629]\n",
+ "FIT: 0.5627340720068582 1.9504364171417021 0.020816870370894292 0.11516180452799904\n",
+ "***** Episode 117609, Mean R = -4.4 Std R = 6.4 Min R = -33.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.958\n",
+ "ExplainedVarOld: 0.952\n",
+ "KL: 0.000862\n",
+ "PolicyEntropy: -4.01\n",
+ "PolicyLoss: -0.00166\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 2.84e+07\n",
+ "ValFuncLoss: 0.000101\n",
+ "Variance: 0.0931\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0011784381 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.08971397 0.08176591 0.09292813 0.08971312]\n",
+ "FIT: 0.5408392653713591 2.0015272953697654 0.02158916892862015 0.11768845326296155\n",
+ "***** Episode 117730, Mean R = -5.1 Std R = 7.0 Min R = -28.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.96\n",
+ "ExplainedVarOld: 0.945\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -4.03\n",
+ "PolicyLoss: -0.00138\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 2.84e+07\n",
+ "ValFuncLoss: 0.00011\n",
+ "Variance: 0.0929\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0010855508 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.08928888 0.08124518 0.09276643 0.08947144]\n",
+ "FIT: 0.46841573080974674 1.9001270620782003 0.019542596456312376 0.11482817590399184\n",
+ "Update Cnt = 810 ET = 1073.3 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.1 -0.0 | 1.4 1.3 0.5 | -4.9 -5.0 -0.1 | 25.1 30.6 12.8\n",
+ "v_f | 0.03 -0.01 -1.11 | 0.17 0.12 0.14 | -2.55 -0.62 -1.57 | 1.14 0.60 -0.45\n",
+ "r_i | 992.9 12.1 2350.8 | 568.8 566.7 28.5 | 3.8 -997.6 2300.0 | 1998.3 999.1 2400.0\n",
+ "v_i | -39.83 -0.36 -79.92 | 17.30 17.59 5.78 | -69.98 -29.96 -90.00 | -10.05 29.90 -70.01\n",
+ "norm_rf | 1.3 | 1.5 | 0.0 | 41.6\n",
+ "norm_vf | 1.13 | 0.15 | 0.57 | 3.03\n",
+ "gs_f | 18.1 | 25.6 | 0.4 | 585.1\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "thrust | 1227 18 9237 | 2793 2832 2135 | -15816 -16125 2000 | 16871 15896 19998\n",
+ "norm_thrust | 9870 | 3130 | 3464 | 20000\n",
+ "fuel | 289 | 18 | 256 | 551\n",
+ "rewards | -4.99 | 6.84 | -43.37 | 3.29\n",
+ "fuel_rewards | -7.46 | 0.46 | -14.21 | -6.62\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.50 | 0.53 | 0.14 | 5.07\n",
+ "norm_af | 0.06 | 0.04 | 0.00 | 0.96\n",
+ "norm_wf | 0.18 | 0.11 | 0.01 | 1.10\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.52 | -12.00 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | -0.01 0.12 -0.00 | 0.37 0.20 0.20 | -1.46 -1.10 -1.14 | 1.98 1.05 1.04\n",
+ "w | -0.00 -0.01 0.00 | 0.22 0.22 0.02 | -2.42 -2.46 -0.11 | 2.06 1.48 0.52\n",
+ "a_f | -0.01 -0.01 | 0.05 0.05 | -0.24 -0.53 | 0.80 0.23\n",
+ "w_f | -0.00 -0.01 0.00 | 0.15 0.15 0.02 | -0.67 -0.56 -0.10 | 0.91 0.67 0.50\n",
+ "landing_rewards | 8.17 | 3.87 | 0.00 | 10.00\n",
+ "landing_margin | 0.05 | 1.11 | -0.19 | 36.62\n",
+ "tracking_rewards | -5.65 | 5.09 | -30.87 | 0.63\n",
+ "steps | 302 | 27 | 247 | 601\n",
+ "***** Episode 117851, Mean R = -4.2 Std R = 5.7 Min R = -26.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.945\n",
+ "ExplainedVarOld: 0.932\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -4.04\n",
+ "PolicyLoss: -0.00156\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 2.85e+07\n",
+ "ValFuncLoss: 0.000114\n",
+ "Variance: 0.0928\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0009714932 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.08899366 0.08120932 0.09292807 0.08961734]\n",
+ "FIT: 0.5667942115916044 1.9068718975092152 0.019615461799281968 0.11342235211335916\n",
+ "***** Episode 117972, Mean R = -3.8 Std R = 5.8 Min R = -25.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.965\n",
+ "ExplainedVarOld: 0.952\n",
+ "KL: 0.000971\n",
+ "PolicyEntropy: -4.04\n",
+ "PolicyLoss: -0.00192\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 2.85e+07\n",
+ "ValFuncLoss: 7.4e-05\n",
+ "Variance: 0.0929\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0013135037 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.08880416 0.0807092 0.09269886 0.08957375]\n",
+ "FIT: 0.5233165697192816 1.9178460463995717 0.020293185565405658 0.116238721439825\n",
+ "***** Episode 118093, Mean R = -4.5 Std R = 6.4 Min R = -29.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.952\n",
+ "ExplainedVarOld: 0.94\n",
+ "KL: 0.00131\n",
+ "PolicyEntropy: -4.05\n",
+ "PolicyLoss: -0.00173\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.85e+07\n",
+ "ValFuncLoss: 0.000106\n",
+ "Variance: 0.0927\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.00092839566 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.08858237 0.08019763 0.09225158 0.08926598]\n",
+ "FIT: 0.6611757284367877 1.902351047143246 0.02220250858733325 0.1204023692304261\n",
+ "***** Episode 118214, Mean R = -5.5 Std R = 6.9 Min R = -42.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.966\n",
+ "ExplainedVarOld: 0.904\n",
+ "KL: 0.000928\n",
+ "PolicyEntropy: -4.07\n",
+ "PolicyLoss: -0.00231\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 2.86e+07\n",
+ "ValFuncLoss: 9.42e-05\n",
+ "Variance: 0.0923\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0010846452 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.08806349 0.07991217 0.09174472 0.08903234]\n",
+ "FIT: 0.5899207836027789 1.9868517427645176 0.02288556130088636 0.11607900889925005\n",
+ "***** Episode 118335, Mean R = -5.7 Std R = 6.6 Min R = -36.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.97\n",
+ "ExplainedVarOld: 0.96\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -4.09\n",
+ "PolicyLoss: -0.00163\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.86e+07\n",
+ "ValFuncLoss: 9.42e-05\n",
+ "Variance: 0.0917\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.00087334955 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.0878604 0.07985416 0.09163341 0.08887445]\n",
+ "FIT: 0.5831051790155145 1.968426747984341 0.022877659062260674 0.11707767851310814\n",
+ "***** Episode 118456, Mean R = -5.9 Std R = 6.7 Min R = -24.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.952\n",
+ "ExplainedVarOld: 0.935\n",
+ "KL: 0.000873\n",
+ "PolicyEntropy: -4.09\n",
+ "PolicyLoss: -0.0019\n",
+ "Steps: 3.59e+04\n",
+ "TotalSteps: 2.86e+07\n",
+ "ValFuncLoss: 0.000142\n",
+ "Variance: 0.0916\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.000870858 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.08766013 0.07988565 0.09174726 0.08888645]\n",
+ "FIT: 0.5123992261510522 2.036373196261389 0.021285429511216016 0.11710571479139838\n",
+ "***** Episode 118577, Mean R = -5.0 Std R = 6.5 Min R = -26.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.955\n",
+ "ExplainedVarOld: 0.947\n",
+ "KL: 0.000871\n",
+ "PolicyEntropy: -4.09\n",
+ "PolicyLoss: -0.00167\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 2.87e+07\n",
+ "ValFuncLoss: 0.000111\n",
+ "Variance: 0.0917\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0009907602 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.08820032 0.07941404 0.09159198 0.0893738 ]\n",
+ "FIT: 0.5868482530542282 1.9973607148947838 0.020690933770953452 0.11513811078422913\n",
+ "***** Episode 118698, Mean R = -4.6 Std R = 6.7 Min R = -29.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.949\n",
+ "ExplainedVarOld: 0.937\n",
+ "KL: 0.000991\n",
+ "PolicyEntropy: -4.09\n",
+ "PolicyLoss: -0.0018\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 2.87e+07\n",
+ "ValFuncLoss: 0.00012\n",
+ "Variance: 0.0916\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0012020044 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.08855146 0.07940353 0.09149256 0.08943265]\n",
+ "FIT: 0.591587645543614 1.989518526366176 0.0209581844860299 0.11358257881637956\n",
+ "***** Episode 118819, Mean R = -4.5 Std R = 6.8 Min R = -29.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.964\n",
+ "ExplainedVarOld: 0.953\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: -4.09\n",
+ "PolicyLoss: -0.00183\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 2.88e+07\n",
+ "ValFuncLoss: 9.46e-05\n",
+ "Variance: 0.0915\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ "kl = 0.0008725885 beta = 0.1 lr_mult = 0.6666666666666666\n",
+ "var: [0.08826698 0.07921834 0.090862 0.08875674]\n",
+ "FIT: 0.5956720417207958 2.277381120505653 0.022199011554652693 0.11776558178047059\n",
+ "***** Episode 118940, Mean R = -5.5 Std R = 6.7 Min R = -28.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.955\n",
+ "ExplainedVarOld: 0.938\n",
+ "KL: 0.000873\n",
+ "PolicyEntropy: -4.11\n",
+ "PolicyLoss: -0.00171\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.88e+07\n",
+ "ValFuncLoss: 0.000135\n",
+ "Variance: 0.0909\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ " *** BROKE ***\n",
+ "kl = 0.005520478 beta = 0.06666666666666667 lr_mult = 0.6666666666666666\n",
+ "var: [0.08831111 0.07871906 0.0905977 0.08830548]\n",
+ "FIT: 0.4763162504466698 1.8467148350911533 0.019736509892804954 0.1162255586692405\n",
+ "Update Cnt = 820 ET = 1076.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.1 -0.0 | 1.2 1.1 0.1 | -5.4 -5.7 -0.1 | 9.7 6.3 2.7\n",
+ "v_f | 0.04 -0.02 -1.11 | 0.14 0.13 0.15 | -0.52 -0.57 -1.57 | 0.72 1.41 0.27\n",
+ "r_i | 997.9 -1.4 2349.8 | 577.1 583.6 28.1 | 2.3 -1000.0 2300.1 | 1999.8 999.3 2399.7\n",
+ "v_i | -39.08 0.56 -80.14 | 17.06 17.17 5.98 | -69.96 -29.95 -89.98 | -10.04 29.82 -70.00\n",
+ "norm_rf | 1.3 | 1.0 | 0.0 | 11.2\n",
+ "norm_vf | 1.12 | 0.14 | 0.17 | 1.58\n",
+ "gs_f | 18.0 | 18.8 | 0.3 | 278.3\n",
+ "thrust | 1198 -12 9231 | 2826 2829 2148 | -15744 -16041 2000 | 17759 16172 19999\n",
+ "norm_thrust | 9863 | 3157 | 3464 | 20000\n",
+ "fuel | 290 | 17 | 258 | 508\n",
+ "rewards | -4.93 | 6.53 | -42.48 | 3.44\n",
+ "fuel_rewards | -7.47 | 0.43 | -13.10 | -6.66\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.50 | 0.53 | 0.22 | 4.67\n",
+ "norm_af | 0.05 | 0.03 | 0.00 | 0.42\n",
+ "norm_wf | 0.18 | 0.10 | 0.01 | 0.79\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.45 | -6.81 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.00 0.11 0.00 | 0.37 0.20 0.20 | -1.54 -0.90 -1.13 | 1.73 1.10 1.02\n",
+ "w | -0.00 -0.01 0.00 | 0.22 0.22 0.01 | -1.71 -2.48 -0.08 | 1.89 1.62 0.26\n",
+ "a_f | -0.01 -0.00 | 0.05 0.04 | -0.21 -0.16 | 0.28 0.32\n",
+ "w_f | -0.01 -0.02 0.00 | 0.14 0.15 0.02 | -0.61 -0.54 -0.07 | 0.61 0.47 0.25\n",
+ "landing_rewards | 8.29 | 3.77 | 0.00 | 10.00\n",
+ "landing_margin | 0.03 | 0.36 | -0.20 | 6.17\n",
+ "tracking_rewards | -5.70 | 4.87 | -34.66 | 0.61\n",
+ "steps | 302 | 27 | 250 | 601\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 119061, Mean R = -4.3 Std R = 5.6 Min R = -19.1\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.951\n",
+ "ExplainedVarOld: 0.936\n",
+ "KL: 0.00552\n",
+ "PolicyEntropy: -4.12\n",
+ "PolicyLoss: 0.00547\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.88e+07\n",
+ "ValFuncLoss: 0.000102\n",
+ "Variance: 0.0906\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ " *** BROKE ***\n",
+ "kl = 0.004810799 beta = 0.044444444444444446 lr_mult = 0.6666666666666666\n",
+ "var: [0.08833075 0.07869811 0.09061114 0.08828828]\n",
+ "FIT: 0.6646542790123264 2.055350439365871 0.02245050859617357 0.11567434136420261\n",
+ "***** Episode 119182, Mean R = -5.6 Std R = 7.3 Min R = -28.7\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.964\n",
+ "ExplainedVarOld: 0.952\n",
+ "KL: 0.00481\n",
+ "PolicyEntropy: -4.12\n",
+ "PolicyLoss: 0.0121\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 2.89e+07\n",
+ "ValFuncLoss: 9.9e-05\n",
+ "Variance: 0.0906\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ " *** BROKE ***\n",
+ "kl = 0.0061085313 beta = 0.02962962962962963 lr_mult = 0.6666666666666666\n",
+ "var: [0.08834398 0.07868595 0.09062244 0.08825585]\n",
+ "FIT: 0.5706282670058308 1.9136088086003482 0.022545593690231975 0.11946738089380163\n",
+ "***** Episode 119303, Mean R = -5.8 Std R = 6.5 Min R = -25.5\n",
+ "Beta: 0.0296\n",
+ "ExplainedVarNew: 0.954\n",
+ "ExplainedVarOld: 0.942\n",
+ "KL: 0.00611\n",
+ "PolicyEntropy: -4.12\n",
+ "PolicyLoss: 0.0179\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 2.89e+07\n",
+ "ValFuncLoss: 0.000131\n",
+ "Variance: 0.0906\n",
+ "lr_multiplier: 0.667\n",
+ "\n",
+ "\n",
+ " *** BROKE ***\n",
+ "kl = 0.005655751 beta = 0.019753086419753086 lr_mult = 0.4444444444444444\n",
+ "var: [0.08836123 0.07867768 0.09063499 0.08822827]\n",
+ "FIT: 0.7493219678073734 2.07562340051011 0.022587720874697532 0.11984914960867649\n",
+ "***** Episode 119424, Mean R = -5.6 Std R = 7.6 Min R = -44.2\n",
+ "Beta: 0.0198\n",
+ "ExplainedVarNew: 0.963\n",
+ "ExplainedVarOld: 0.95\n",
+ "KL: 0.00566\n",
+ "PolicyEntropy: -4.12\n",
+ "PolicyLoss: 0.02\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.89e+07\n",
+ "ValFuncLoss: 0.000113\n",
+ "Variance: 0.0906\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00039020786 beta = 0.02962962962962963 lr_mult = 0.4444444444444444\n",
+ "var: [0.08844942 0.07866669 0.09056024 0.08823452]\n",
+ "FIT: 0.5596452467800117 1.917604475943275 0.021835381074769258 0.1161145037344586\n",
+ "***** Episode 119545, Mean R = -5.1 Std R = 6.6 Min R = -25.6\n",
+ "Beta: 0.0296\n",
+ "ExplainedVarNew: 0.957\n",
+ "ExplainedVarOld: 0.946\n",
+ "KL: 0.00039\n",
+ "PolicyEntropy: -4.12\n",
+ "PolicyLoss: 0.00267\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.9e+07\n",
+ "ValFuncLoss: 0.00012\n",
+ "Variance: 0.0906\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00012230688 beta = 0.044444444444444446 lr_mult = 0.4444444444444444\n",
+ "var: [0.08847549 0.07865369 0.09054894 0.08819286]\n",
+ "FIT: 0.5775438287772725 2.0425713745470033 0.020678461599773216 0.11224598026133693\n",
+ "***** Episode 119666, Mean R = -4.5 Std R = 6.8 Min R = -29.5\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.954\n",
+ "ExplainedVarOld: 0.942\n",
+ "KL: 0.000122\n",
+ "PolicyEntropy: -4.12\n",
+ "PolicyLoss: -0.000487\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.9e+07\n",
+ "ValFuncLoss: 0.000108\n",
+ "Variance: 0.0905\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00021303301 beta = 0.06666666666666667 lr_mult = 0.4444444444444444\n",
+ "var: [0.08841912 0.07867604 0.09036731 0.08826236]\n",
+ "FIT: 0.5731291035257544 1.9358010828389165 0.02008555056584121 0.11463443445699448\n",
+ "***** Episode 119787, Mean R = -4.2 Std R = 5.9 Min R = -26.7\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.955\n",
+ "ExplainedVarOld: 0.942\n",
+ "KL: 0.000213\n",
+ "PolicyEntropy: -4.12\n",
+ "PolicyLoss: -0.000863\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 2.91e+07\n",
+ "ValFuncLoss: 0.000103\n",
+ "Variance: 0.0904\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00039321216 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08824947 0.07868706 0.09035587 0.08838339]\n",
+ "FIT: 0.5474109775727766 1.9707432421785533 0.02070192386729587 0.11680069814471479\n",
+ "***** Episode 119908, Mean R = -4.7 Std R = 6.0 Min R = -22.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.956\n",
+ "ExplainedVarOld: 0.944\n",
+ "KL: 0.000393\n",
+ "PolicyEntropy: -4.12\n",
+ "PolicyLoss: -0.00122\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 2.91e+07\n",
+ "ValFuncLoss: 0.0001\n",
+ "Variance: 0.0904\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009735344 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08851767 0.07869366 0.0905132 0.08841848]\n",
+ "FIT: 0.5968869629080417 2.0676131546346155 0.023185226284289852 0.12036980028786654\n",
+ "***** Episode 120029, Mean R = -6.0 Std R = 7.4 Min R = -34.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.967\n",
+ "ExplainedVarOld: 0.949\n",
+ "KL: 0.000974\n",
+ "PolicyEntropy: -4.12\n",
+ "PolicyLoss: -0.0017\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 2.91e+07\n",
+ "ValFuncLoss: 0.000107\n",
+ "Variance: 0.0905\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010893983 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08851954 0.07832745 0.09051318 0.08836989]\n",
+ "FIT: 0.6839008459197792 2.091991308987451 0.02193579935451757 0.11954869331627065\n",
+ "***** Episode 120150, Mean R = -5.2 Std R = 6.7 Min R = -30.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.968\n",
+ "ExplainedVarOld: 0.96\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -4.12\n",
+ "PolicyLoss: -0.00203\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.92e+07\n",
+ "ValFuncLoss: 9.18e-05\n",
+ "Variance: 0.0905\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010685832 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08848181 0.07830591 0.09020296 0.08832568]\n",
+ "FIT: 0.5966876110924728 2.019120959328047 0.022306648573853716 0.11520795050858579\n",
+ "Update Cnt = 830 ET = 1065.7 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.1 -0.0 | 1.1 1.1 0.0 | -4.0 -4.2 -0.1 | 6.8 3.9 -0.0\n",
+ "v_f | 0.01 -0.02 -1.10 | 0.14 0.12 0.14 | -0.59 -0.55 -1.66 | 0.66 0.58 -0.13\n",
+ "r_i | 1002.1 36.6 2348.8 | 579.7 576.8 29.0 | 5.9 -997.8 2300.0 | 1999.8 999.1 2400.0\n",
+ "v_i | -40.08 -0.27 -79.93 | 17.52 17.42 5.87 | -69.95 -29.94 -90.00 | -10.04 29.97 -70.01\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 7.0\n",
+ "norm_vf | 1.12 | 0.13 | 0.22 | 1.71\n",
+ "gs_f | 20.3 | 33.8 | 2.2 | 632.8\n",
+ "thrust | 1235 13 9239 | 2860 2900 2122 | -15943 -16491 2000 | 16565 16163 20000\n",
+ "norm_thrust | 9896 | 3170 | 3464 | 20000\n",
+ "fuel | 290 | 16 | 259 | 352\n",
+ "rewards | -5.22 | 6.84 | -44.16 | 3.37\n",
+ "fuel_rewards | -7.48 | 0.41 | -9.08 | -6.69\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.48 | 0.53 | 0.47 | 4.37\n",
+ "norm_af | 0.05 | 0.04 | 0.00 | 0.28\n",
+ "norm_wf | 0.18 | 0.10 | 0.01 | 0.62\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.06 | 0.48 | -8.58 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | -0.00 0.12 -0.00 | 0.37 0.21 0.20 | -1.45 -0.97 -1.06 | 1.67 1.05 1.09\n",
+ "w | -0.00 -0.01 0.00 | 0.22 0.22 0.01 | -1.67 -2.54 -0.07 | 2.24 1.55 0.13\n",
+ "a_f | -0.00 -0.01 | 0.05 0.04 | -0.22 -0.21 | 0.26 0.15\n",
+ "w_f | -0.01 -0.01 0.00 | 0.15 0.15 0.01 | -0.50 -0.49 -0.06 | 0.49 0.50 0.13\n",
+ "landing_rewards | 8.30 | 3.76 | 0.00 | 10.00\n",
+ "landing_margin | 0.01 | 0.29 | -0.19 | 2.78\n",
+ "tracking_rewards | -5.98 | 5.08 | -45.93 | 0.63\n",
+ "steps | 302 | 26 | 245 | 390\n",
+ "***** Episode 120271, Mean R = -5.4 Std R = 7.2 Min R = -35.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.958\n",
+ "ExplainedVarOld: 0.95\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -4.13\n",
+ "PolicyLoss: -0.00181\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 2.92e+07\n",
+ "ValFuncLoss: 0.000119\n",
+ "Variance: 0.0902\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010212975 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0882978 0.07819673 0.09013122 0.08851811]\n",
+ "FIT: 0.48595712862994844 1.8303902221959318 0.02047404345230927 0.11429442068142404\n",
+ "***** Episode 120392, Mean R = -4.4 Std R = 5.8 Min R = -26.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.954\n",
+ "ExplainedVarOld: 0.948\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -4.13\n",
+ "PolicyLoss: -0.00164\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 2.92e+07\n",
+ "ValFuncLoss: 0.000103\n",
+ "Variance: 0.0901\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010725503 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0880247 0.07795516 0.08992913 0.08843548]\n",
+ "FIT: 0.606515848640154 1.88555136552837 0.020617291522347404 0.11464669190742155\n",
+ "***** Episode 120513, Mean R = -4.4 Std R = 6.9 Min R = -28.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.957\n",
+ "ExplainedVarOld: 0.941\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -4.14\n",
+ "PolicyLoss: -0.00202\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.93e+07\n",
+ "ValFuncLoss: 0.000103\n",
+ "Variance: 0.0899\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0008771363 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08804587 0.07809303 0.08946108 0.08829696]\n",
+ "FIT: 0.6110301847607158 1.893492074890325 0.021148322980882713 0.1163834776068914\n",
+ "***** Episode 120634, Mean R = -4.2 Std R = 6.6 Min R = -30.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.975\n",
+ "ExplainedVarOld: 0.964\n",
+ "KL: 0.000877\n",
+ "PolicyEntropy: -4.14\n",
+ "PolicyLoss: -0.00169\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 2.93e+07\n",
+ "ValFuncLoss: 7.42e-05\n",
+ "Variance: 0.0895\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012065864 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08776738 0.07791672 0.08918763 0.08811727]\n",
+ "FIT: 0.5798285456211917 1.8641435761243306 0.020109278411310372 0.1155143520128312\n",
+ "***** Episode 120755, Mean R = -4.1 Std R = 6.1 Min R = -25.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.968\n",
+ "ExplainedVarOld: 0.954\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -4.16\n",
+ "PolicyLoss: -0.00185\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 2.93e+07\n",
+ "ValFuncLoss: 9.06e-05\n",
+ "Variance: 0.0892\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009398078 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08760665 0.0777638 0.08916125 0.08816516]\n",
+ "FIT: 0.7293334499695345 1.9643211673504117 0.020416205406359904 0.11914636787819173\n",
+ "***** Episode 120876, Mean R = -4.2 Std R = 7.0 Min R = -43.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.966\n",
+ "ExplainedVarOld: 0.919\n",
+ "KL: 0.00094\n",
+ "PolicyEntropy: -4.16\n",
+ "PolicyLoss: -0.00179\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 2.94e+07\n",
+ "ValFuncLoss: 8.4e-05\n",
+ "Variance: 0.0892\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011109535 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08777667 0.07758982 0.08942574 0.08793443]\n",
+ "FIT: 0.48134273267635785 1.9343786251278654 0.020188650006345756 0.11503436524712674\n",
+ "***** Episode 120997, Mean R = -4.3 Std R = 6.0 Min R = -22.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.957\n",
+ "ExplainedVarOld: 0.946\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -4.16\n",
+ "PolicyLoss: -0.00192\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 2.94e+07\n",
+ "ValFuncLoss: 9.45e-05\n",
+ "Variance: 0.0894\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00085475435 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08815165 0.07743036 0.08930708 0.08746257]\n",
+ "FIT: 0.5649581550970041 2.0455363849237367 0.0207174907574262 0.11454411692165659\n",
+ "***** Episode 121118, Mean R = -4.3 Std R = 6.0 Min R = -23.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.971\n",
+ "ExplainedVarOld: 0.963\n",
+ "KL: 0.000855\n",
+ "PolicyEntropy: -4.16\n",
+ "PolicyLoss: -0.00158\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.95e+07\n",
+ "ValFuncLoss: 7.64e-05\n",
+ "Variance: 0.0893\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010476062 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08816773 0.07770666 0.08884583 0.08701635]\n",
+ "FIT: 0.49972574795868013 1.8645051682412301 0.02102499139229058 0.11474255247820071\n",
+ "***** Episode 121239, Mean R = -5.0 Std R = 6.5 Min R = -25.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.954\n",
+ "ExplainedVarOld: 0.944\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -4.17\n",
+ "PolicyLoss: -0.00129\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.95e+07\n",
+ "ValFuncLoss: 0.000105\n",
+ "Variance: 0.0888\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.000909643 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08775032 0.07767843 0.08874768 0.08686398]\n",
+ "FIT: 0.5835368253716349 1.895884832541579 0.020541354837537773 0.11579509788162182\n",
+ "***** Episode 121360, Mean R = -4.6 Std R = 6.1 Min R = -21.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.951\n",
+ "ExplainedVarOld: 0.942\n",
+ "KL: 0.00091\n",
+ "PolicyEntropy: -4.18\n",
+ "PolicyLoss: -0.00146\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 2.95e+07\n",
+ "ValFuncLoss: 0.000113\n",
+ "Variance: 0.0887\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00086187676 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08760245 0.07749672 0.08804099 0.08650108]\n",
+ "FIT: 0.5427738120246931 1.9826101505365579 0.021487238716238425 0.11646151952365591\n",
+ "Update Cnt = 840 ET = 1071.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.2 -0.0 | 1.1 1.1 0.0 | -5.0 -5.3 -0.1 | 4.4 4.5 -0.0\n",
+ "v_f | -0.00 -0.02 -1.10 | 0.13 0.12 0.13 | -0.48 -0.65 -1.49 | 0.76 0.71 -0.58\n",
+ "r_i | 999.2 20.7 2349.3 | 581.4 564.0 28.8 | 1.2 -999.2 2300.0 | 1998.8 998.3 2400.0\n",
+ "v_i | -40.06 0.88 -80.18 | 17.16 17.49 5.75 | -69.99 -29.96 -90.00 | -10.01 30.00 -70.03\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 6.2\n",
+ "norm_vf | 1.11 | 0.13 | 0.63 | 1.59\n",
+ "gs_f | 20.0 | 27.1 | 1.8 | 568.9\n",
+ "thrust | 1236 -24 9252 | 2820 2801 2128 | -15399 -16103 2000 | 16884 16135 19998\n",
+ "norm_thrust | 9879 | 3139 | 3464 | 20000\n",
+ "fuel | 289 | 15 | 259 | 345\n",
+ "rewards | -4.46 | 6.39 | -43.57 | 3.43\n",
+ "fuel_rewards | -7.45 | 0.39 | -8.89 | -6.66\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.50 | 0.51 | 0.32 | 3.89\n",
+ "norm_af | 0.05 | 0.03 | 0.00 | 0.29\n",
+ "norm_wf | 0.17 | 0.10 | 0.01 | 0.66\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.03 | 0.43 | -8.95 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | -0.01 0.12 -0.00 | 0.36 0.20 0.19 | -1.57 -0.90 -1.12 | 1.72 1.04 0.98\n",
+ "w | -0.00 -0.01 -0.00 | 0.22 0.22 0.01 | -1.69 -2.47 -0.08 | 2.29 1.37 0.12\n",
+ "a_f | -0.01 -0.01 | 0.05 0.04 | -0.19 -0.29 | 0.15 0.14\n",
+ "w_f | -0.01 -0.01 -0.00 | 0.14 0.14 0.01 | -0.58 -0.60 -0.07 | 0.56 0.51 0.10\n",
+ "landing_rewards | 8.50 | 3.57 | 0.00 | 10.00\n",
+ "landing_margin | -0.00 | 0.26 | -0.19 | 3.19\n",
+ "tracking_rewards | -5.48 | 4.80 | -30.21 | 0.74\n",
+ "steps | 301 | 25 | 249 | 389\n",
+ "***** Episode 121481, Mean R = -5.1 Std R = 6.7 Min R = -30.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.953\n",
+ "ExplainedVarOld: 0.949\n",
+ "KL: 0.000862\n",
+ "PolicyEntropy: -4.19\n",
+ "PolicyLoss: -0.00122\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 2.96e+07\n",
+ "ValFuncLoss: 0.000121\n",
+ "Variance: 0.088\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011655656 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08713878 0.07750239 0.08799131 0.08641986]\n",
+ "FIT: 0.5597917120174578 1.7662081953417348 0.020163002745165522 0.11512758780905777\n",
+ "***** Episode 121602, Mean R = -4.4 Std R = 6.0 Min R = -24.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.955\n",
+ "ExplainedVarOld: 0.942\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -4.2\n",
+ "PolicyLoss: -0.00185\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.96e+07\n",
+ "ValFuncLoss: 9.84e-05\n",
+ "Variance: 0.088\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0008243606 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08690599 0.07756352 0.0877796 0.08649755]\n",
+ "FIT: 0.5070500022341936 1.8071815832655433 0.01961902517135389 0.11511974231346708\n",
+ "***** Episode 121723, Mean R = -4.1 Std R = 5.8 Min R = -21.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.941\n",
+ "ExplainedVarOld: 0.935\n",
+ "KL: 0.000824\n",
+ "PolicyEntropy: -4.2\n",
+ "PolicyLoss: -0.00118\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 2.96e+07\n",
+ "ValFuncLoss: 0.000119\n",
+ "Variance: 0.0878\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00093014404 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08694543 0.07746325 0.08770571 0.086446 ]\n",
+ "FIT: 0.7727304107629621 2.1074927333283062 0.021169445232339826 0.114579308644731\n",
+ "***** Episode 121844, Mean R = -4.9 Std R = 7.2 Min R = -31.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.949\n",
+ "ExplainedVarOld: 0.936\n",
+ "KL: 0.00093\n",
+ "PolicyEntropy: -4.21\n",
+ "PolicyLoss: -0.00167\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 2.97e+07\n",
+ "ValFuncLoss: 0.000128\n",
+ "Variance: 0.0877\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00077232876 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08693939 0.07720672 0.08774503 0.08651824]\n",
+ "FIT: 0.5463640160912429 2.0643046030187495 0.02257765634248446 0.11643281085994132\n",
+ "***** Episode 121965, Mean R = -5.7 Std R = 6.3 Min R = -23.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.955\n",
+ "ExplainedVarOld: 0.946\n",
+ "KL: 0.000772\n",
+ "PolicyEntropy: -4.21\n",
+ "PolicyLoss: -0.00137\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.97e+07\n",
+ "ValFuncLoss: 0.000126\n",
+ "Variance: 0.0877\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009902654 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08671473 0.07689488 0.0876612 0.0864973 ]\n",
+ "FIT: 0.5594134281830462 1.9153296107400206 0.02100302582347949 0.11859733627672658\n",
+ "***** Episode 122086, Mean R = -5.2 Std R = 5.9 Min R = -22.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.946\n",
+ "ExplainedVarOld: 0.933\n",
+ "KL: 0.00099\n",
+ "PolicyEntropy: -4.22\n",
+ "PolicyLoss: -0.00153\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 2.97e+07\n",
+ "ValFuncLoss: 0.000121\n",
+ "Variance: 0.0877\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0008601359 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08656992 0.07682537 0.08736088 0.08677102]\n",
+ "FIT: 0.52351794804216 2.0526844785138536 0.019468480610610624 0.11380414892581205\n",
+ "***** Episode 122207, Mean R = -3.8 Std R = 5.9 Min R = -21.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.959\n",
+ "ExplainedVarOld: 0.955\n",
+ "KL: 0.00086\n",
+ "PolicyEntropy: -4.22\n",
+ "PolicyLoss: -0.0016\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.98e+07\n",
+ "ValFuncLoss: 8.45e-05\n",
+ "Variance: 0.0874\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012016668 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08642043 0.07684372 0.08718833 0.0865414 ]\n",
+ "FIT: 0.5396929407634768 1.8845450388362834 0.018663082375262957 0.11555895301025208\n",
+ "***** Episode 122328, Mean R = -3.4 Std R = 5.6 Min R = -22.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.958\n",
+ "ExplainedVarOld: 0.946\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: -4.23\n",
+ "PolicyLoss: -0.00182\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 2.98e+07\n",
+ "ValFuncLoss: 7.9e-05\n",
+ "Variance: 0.0872\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0008737717 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08607192 0.07696883 0.08706012 0.08605396]\n",
+ "FIT: 0.521296992841002 2.0334356817133 0.01966897668689984 0.11396929691996864\n",
+ "***** Episode 122449, Mean R = -4.0 Std R = 6.5 Min R = -26.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.956\n",
+ "ExplainedVarOld: 0.945\n",
+ "KL: 0.000874\n",
+ "PolicyEntropy: -4.24\n",
+ "PolicyLoss: -0.00172\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 2.99e+07\n",
+ "ValFuncLoss: 9.55e-05\n",
+ "Variance: 0.0871\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001091554 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08572364 0.07693665 0.08653606 0.08603746]\n",
+ "FIT: 0.6150212893601837 2.0481304572553802 0.02095014983527488 0.11685885892930686\n",
+ "***** Episode 122570, Mean R = -4.8 Std R = 6.5 Min R = -27.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.959\n",
+ "ExplainedVarOld: 0.944\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -4.25\n",
+ "PolicyLoss: -0.00203\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 2.99e+07\n",
+ "ValFuncLoss: 9.78e-05\n",
+ "Variance: 0.0865\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00094261375 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08542597 0.0771017 0.0862148 0.08575483]\n",
+ "FIT: 0.5314035766521722 1.9325559805536545 0.021397492309892466 0.11679826821889819\n",
+ "Update Cnt = 850 ET = 1087.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.2 -0.0 | 1.1 1.1 0.0 | -5.0 -4.3 -0.1 | 7.0 4.4 -0.0\n",
+ "v_f | -0.00 -0.01 -1.10 | 0.14 0.12 0.13 | -0.52 -0.54 -1.51 | 0.80 0.43 -0.20\n",
+ "r_i | 1027.0 3.0 2349.5 | 569.8 574.1 28.7 | 0.4 -999.5 2300.1 | 1998.2 999.6 2400.0\n",
+ "v_i | -39.53 -0.25 -79.81 | 17.15 17.48 5.84 | -69.94 -30.00 -89.98 | -10.05 30.00 -70.02\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 7.1\n",
+ "norm_vf | 1.12 | 0.13 | 0.57 | 1.52\n",
+ "gs_f | 18.8 | 21.3 | 1.3 | 261.9\n",
+ "thrust | 1210 16 9230 | 2771 2799 2123 | -16370 -16194 2000 | 16665 17223 20000\n",
+ "norm_thrust | 9846 | 3120 | 3464 | 20000\n",
+ "fuel | 290 | 15 | 258 | 347\n",
+ "rewards | -4.49 | 6.21 | -31.13 | 3.85\n",
+ "fuel_rewards | -7.47 | 0.40 | -8.94 | -6.65\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.49 | 0.50 | 0.31 | 5.28\n",
+ "norm_af | 0.05 | 0.03 | 0.00 | 0.27\n",
+ "norm_wf | 0.18 | 0.10 | 0.01 | 0.63\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.46 | -8.40 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.00 0.11 -0.00 | 0.36 0.20 0.19 | -1.44 -0.88 -1.06 | 1.57 1.11 1.02\n",
+ "w | -0.00 -0.01 -0.00 | 0.22 0.22 0.01 | -1.76 -2.47 -0.10 | 2.36 1.25 0.16\n",
+ "a_f | -0.00 -0.00 | 0.05 0.04 | -0.19 -0.22 | 0.23 0.15\n",
+ "w_f | -0.01 -0.01 -0.00 | 0.14 0.14 0.01 | -0.57 -0.50 -0.07 | 0.47 0.60 0.11\n",
+ "landing_rewards | 8.33 | 3.73 | 0.00 | 10.00\n",
+ "landing_margin | 0.01 | 0.32 | -0.18 | 3.73\n",
+ "tracking_rewards | -5.30 | 4.59 | -29.80 | 0.87\n",
+ "steps | 303 | 25 | 246 | 390\n",
+ "***** Episode 122691, Mean R = -4.8 Std R = 5.9 Min R = -22.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.964\n",
+ "ExplainedVarOld: 0.953\n",
+ "KL: 0.000943\n",
+ "PolicyEntropy: -4.25\n",
+ "PolicyLoss: -0.00171\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 2.99e+07\n",
+ "ValFuncLoss: 0.000106\n",
+ "Variance: 0.0862\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009063252 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08545483 0.07732508 0.08624169 0.08566063]\n",
+ "FIT: 0.638335323298499 2.080415388366737 0.021273797631914573 0.11660112061316454\n",
+ "***** Episode 122812, Mean R = -4.9 Std R = 7.3 Min R = -34.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.959\n",
+ "ExplainedVarOld: 0.944\n",
+ "KL: 0.000906\n",
+ "PolicyEntropy: -4.25\n",
+ "PolicyLoss: -0.00168\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 3e+07\n",
+ "ValFuncLoss: 0.000103\n",
+ "Variance: 0.0862\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00093663036 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08551343 0.07753479 0.08597939 0.08560965]\n",
+ "FIT: 0.5369421947487371 1.9400844984519812 0.020116268642144813 0.11398657848506856\n",
+ "***** Episode 122933, Mean R = -4.0 Std R = 6.1 Min R = -24.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.965\n",
+ "ExplainedVarOld: 0.958\n",
+ "KL: 0.000937\n",
+ "PolicyEntropy: -4.25\n",
+ "PolicyLoss: -0.00178\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3e+07\n",
+ "ValFuncLoss: 8.96e-05\n",
+ "Variance: 0.086\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00092346215 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08560734 0.07760219 0.08585639 0.08561432]\n",
+ "FIT: 0.5344337478956398 1.96965955951427 0.021474277081060738 0.11585917726557005\n",
+ "***** Episode 123054, Mean R = -5.0 Std R = 6.9 Min R = -32.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.956\n",
+ "ExplainedVarOld: 0.947\n",
+ "KL: 0.000923\n",
+ "PolicyEntropy: -4.25\n",
+ "PolicyLoss: -0.00172\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3e+07\n",
+ "ValFuncLoss: 0.000119\n",
+ "Variance: 0.0859\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0007878958 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08567244 0.07750498 0.08572902 0.08581279]\n",
+ "FIT: 0.5314197346147225 2.0652740457066883 0.02123348611624329 0.11601537249505564\n",
+ "***** Episode 123175, Mean R = -5.1 Std R = 6.7 Min R = -27.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.949\n",
+ "ExplainedVarOld: 0.932\n",
+ "KL: 0.000788\n",
+ "PolicyEntropy: -4.25\n",
+ "PolicyLoss: -0.00154\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 3.01e+07\n",
+ "ValFuncLoss: 0.000117\n",
+ "Variance: 0.0858\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00091216597 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08550333 0.07733839 0.08538193 0.08582194]\n",
+ "FIT: 0.4878636436562565 1.944870037267303 0.019896233137127965 0.11434081161379465\n",
+ "***** Episode 123296, Mean R = -4.2 Std R = 5.8 Min R = -19.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.94\n",
+ "ExplainedVarOld: 0.929\n",
+ "KL: 0.000912\n",
+ "PolicyEntropy: -4.26\n",
+ "PolicyLoss: -0.00172\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.01e+07\n",
+ "ValFuncLoss: 0.000115\n",
+ "Variance: 0.0858\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011336353 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0854356 0.07720589 0.08511266 0.08548132]\n",
+ "FIT: 0.4884089201651176 2.007436566762481 0.021783401570324882 0.11859490390513808\n",
+ "***** Episode 123417, Mean R = -5.3 Std R = 6.3 Min R = -26.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.96\n",
+ "ExplainedVarOld: 0.949\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -4.27\n",
+ "PolicyLoss: -0.00205\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.01e+07\n",
+ "ValFuncLoss: 0.000102\n",
+ "Variance: 0.0855\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010578162 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08550505 0.07720549 0.08522817 0.08496457]\n",
+ "FIT: 0.5724576429496839 2.082797566621627 0.020384338664770137 0.11574489317216076\n",
+ "***** Episode 123538, Mean R = -4.3 Std R = 5.9 Min R = -25.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.963\n",
+ "ExplainedVarOld: 0.954\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -4.27\n",
+ "PolicyLoss: -0.00177\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.02e+07\n",
+ "ValFuncLoss: 8.1e-05\n",
+ "Variance: 0.0855\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011418774 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08578201 0.0773347 0.08553463 0.08491557]\n",
+ "FIT: 0.6060353099084095 2.0442663155060443 0.01931559485702503 0.11418052802516937\n",
+ "***** Episode 123659, Mean R = -3.5 Std R = 5.8 Min R = -29.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.965\n",
+ "ExplainedVarOld: 0.957\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -4.26\n",
+ "PolicyLoss: -0.00177\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.02e+07\n",
+ "ValFuncLoss: 7.26e-05\n",
+ "Variance: 0.0858\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.00091186294 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08596488 0.0776312 0.08593251 0.08494529]\n",
+ "FIT: 0.5861188265757938 1.8165300515796454 0.021668213341359047 0.11428957729606648\n",
+ "***** Episode 123780, Mean R = -5.1 Std R = 6.4 Min R = -31.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.954\n",
+ "ExplainedVarOld: 0.938\n",
+ "KL: 0.000912\n",
+ "PolicyEntropy: -4.25\n",
+ "PolicyLoss: -0.00171\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.03e+07\n",
+ "ValFuncLoss: 0.000113\n",
+ "Variance: 0.086\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0008515825 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0859253 0.07772795 0.08598685 0.08471004]\n",
+ "FIT: 0.5776418393470962 2.0590341896759163 0.022565489520497636 0.11764811839668944\n",
+ "Update Cnt = 860 ET = 1074.5 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.2 -0.0 | 1.1 1.2 0.0 | -5.8 -6.0 -0.1 | 5.5 6.4 -0.0\n",
+ "v_f | -0.00 -0.01 -1.10 | 0.14 0.13 0.14 | -0.52 -0.64 -1.50 | 0.95 0.70 -0.35\n",
+ "r_i | 1006.0 22.9 2350.3 | 576.0 572.7 28.5 | 6.5 -993.3 2300.1 | 1997.8 997.9 2399.8\n",
+ "v_i | -40.01 -0.12 -79.90 | 17.40 17.30 5.81 | -69.92 -29.99 -89.96 | -10.00 30.00 -70.01\n",
+ "norm_rf | 1.3 | 0.9 | 0.1 | 8.4\n",
+ "norm_vf | 1.12 | 0.13 | 0.49 | 1.61\n",
+ "gs_f | 20.8 | 25.0 | 1.7 | 264.1\n",
+ "thrust | 1231 9 9240 | 2824 2792 2113 | -16244 -16402 2000 | 16792 16434 20000\n",
+ "norm_thrust | 9868 | 3120 | 3464 | 20000\n",
+ "fuel | 289 | 15 | 260 | 345\n",
+ "rewards | -4.67 | 6.50 | -34.63 | 3.49\n",
+ "fuel_rewards | -7.46 | 0.39 | -8.89 | -6.71\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.48 | 0.48 | 0.32 | 3.79\n",
+ "norm_af | 0.05 | 0.03 | 0.00 | 0.27\n",
+ "norm_wf | 0.18 | 0.10 | 0.00 | 0.79\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.04 | 0.35 | -6.12 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | -0.00 0.12 -0.00 | 0.36 0.20 0.19 | -1.62 -0.89 -1.07 | 1.56 1.05 1.01\n",
+ "w | -0.00 -0.01 -0.00 | 0.22 0.22 0.01 | -1.71 -2.53 -0.08 | 2.18 1.51 0.10\n",
+ "a_f | -0.01 -0.00 | 0.05 0.04 | -0.20 -0.26 | 0.16 0.25\n",
+ "w_f | -0.01 -0.02 -0.00 | 0.14 0.14 0.01 | -0.59 -0.47 -0.07 | 0.78 0.48 0.10\n",
+ "landing_rewards | 8.36 | 3.71 | 0.00 | 10.00\n",
+ "landing_margin | 0.01 | 0.31 | -0.19 | 3.37\n",
+ "tracking_rewards | -5.53 | 4.80 | -31.31 | 0.57\n",
+ "steps | 302 | 25 | 247 | 391\n",
+ "***** Episode 123901, Mean R = -5.3 Std R = 7.3 Min R = -27.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.965\n",
+ "ExplainedVarOld: 0.959\n",
+ "KL: 0.000852\n",
+ "PolicyEntropy: -4.26\n",
+ "PolicyLoss: -0.00153\n",
+ "Steps: 3.59e+04\n",
+ "TotalSteps: 3.03e+07\n",
+ "ValFuncLoss: 0.000108\n",
+ "Variance: 0.086\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009800143 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08565757 0.07749786 0.08554919 0.08456812]\n",
+ "FIT: 0.5720268458410486 1.9131411452188634 0.02139830631912281 0.11326931894628468\n",
+ "***** Episode 124022, Mean R = -5.0 Std R = 6.9 Min R = -28.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.954\n",
+ "ExplainedVarOld: 0.945\n",
+ "KL: 0.00098\n",
+ "PolicyEntropy: -4.27\n",
+ "PolicyLoss: -0.00153\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.03e+07\n",
+ "ValFuncLoss: 0.000121\n",
+ "Variance: 0.0857\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011598606 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08548222 0.07758056 0.08528028 0.08446056]\n",
+ "FIT: 0.6647694745140139 2.059212656741456 0.02115312941394882 0.11780054915093027\n",
+ "***** Episode 124143, Mean R = -4.8 Std R = 6.1 Min R = -30.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.966\n",
+ "ExplainedVarOld: 0.931\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -4.27\n",
+ "PolicyLoss: -0.00207\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 3.04e+07\n",
+ "ValFuncLoss: 8.37e-05\n",
+ "Variance: 0.0855\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010450194 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08551265 0.07778783 0.08523493 0.08454121]\n",
+ "FIT: 0.5209909438868213 2.0341907152459306 0.020513469193005344 0.11445558279025152\n",
+ "***** Episode 124264, Mean R = -4.3 Std R = 5.7 Min R = -22.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.966\n",
+ "ExplainedVarOld: 0.959\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -4.27\n",
+ "PolicyLoss: -0.00163\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 3.04e+07\n",
+ "ValFuncLoss: 9.17e-05\n",
+ "Variance: 0.0855\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009544019 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08555228 0.07791837 0.08570196 0.08442447]\n",
+ "FIT: 0.6561948107267664 1.987167846620458 0.021945354041317425 0.11772008275218585\n",
+ "***** Episode 124385, Mean R = -5.1 Std R = 6.7 Min R = -41.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.965\n",
+ "ExplainedVarOld: 0.956\n",
+ "KL: 0.000954\n",
+ "PolicyEntropy: -4.26\n",
+ "PolicyLoss: -0.00201\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 3.04e+07\n",
+ "ValFuncLoss: 0.000101\n",
+ "Variance: 0.0857\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011741492 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0853636 0.07778732 0.08569419 0.08433667]\n",
+ "FIT: 0.5379068047930287 2.08971819638455 0.0211075919933171 0.11785434894544289\n",
+ "***** Episode 124506, Mean R = -4.7 Std R = 6.3 Min R = -22.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.965\n",
+ "ExplainedVarOld: 0.958\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -4.27\n",
+ "PolicyLoss: -0.00202\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 3.05e+07\n",
+ "ValFuncLoss: 8.9e-05\n",
+ "Variance: 0.0857\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009512781 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08539367 0.07779288 0.0860291 0.08468486]\n",
+ "FIT: 0.554670858681144 1.9142284176069386 0.021481702926602845 0.11852892139121074\n",
+ "***** Episode 124627, Mean R = -4.9 Std R = 6.2 Min R = -25.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.963\n",
+ "ExplainedVarOld: 0.95\n",
+ "KL: 0.000951\n",
+ "PolicyEntropy: -4.26\n",
+ "PolicyLoss: -0.00182\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 3.05e+07\n",
+ "ValFuncLoss: 9.2e-05\n",
+ "Variance: 0.086\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009857729 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08547512 0.07761047 0.08621256 0.08470722]\n",
+ "FIT: 0.6181573011100271 2.0785084510469103 0.02211647248214833 0.1178736142422142\n",
+ "***** Episode 124748, Mean R = -5.0 Std R = 6.4 Min R = -28.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.976\n",
+ "ExplainedVarOld: 0.965\n",
+ "KL: 0.000986\n",
+ "PolicyEntropy: -4.26\n",
+ "PolicyLoss: -0.00232\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 3.05e+07\n",
+ "ValFuncLoss: 7.05e-05\n",
+ "Variance: 0.0862\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00096820074 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08550587 0.07732718 0.08619896 0.08434236]\n",
+ "FIT: 0.5695997576901493 2.1012740394425657 0.020175282771238985 0.11465654901327108\n",
+ "***** Episode 124869, Mean R = -3.9 Std R = 6.5 Min R = -34.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.969\n",
+ "ExplainedVarOld: 0.962\n",
+ "KL: 0.000968\n",
+ "PolicyEntropy: -4.27\n",
+ "PolicyLoss: -0.00163\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.06e+07\n",
+ "ValFuncLoss: 7.47e-05\n",
+ "Variance: 0.0862\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0008927764 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08541004 0.07726224 0.08621299 0.0841693 ]\n",
+ "FIT: 0.5038514040196007 1.9968817794684655 0.02159492174761539 0.11493488704965654\n",
+ "***** Episode 124990, Mean R = -5.0 Std R = 6.5 Min R = -25.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.962\n",
+ "ExplainedVarOld: 0.951\n",
+ "KL: 0.000893\n",
+ "PolicyEntropy: -4.27\n",
+ "PolicyLoss: -0.00177\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.06e+07\n",
+ "ValFuncLoss: 9.34e-05\n",
+ "Variance: 0.0862\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00084165356 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08536409 0.07740031 0.08625707 0.08408336]\n",
+ "FIT: 0.5752724335476034 2.0891806799455797 0.020363604142928857 0.11740362681072593\n",
+ "Update Cnt = 870 ET = 1069.0 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.2 -0.2 -0.0 | 1.1 1.1 0.0 | -5.2 -4.0 -0.1 | 4.2 5.4 -0.0\n",
+ "v_f | -0.01 -0.00 -1.10 | 0.13 0.12 0.13 | -0.39 -0.51 -1.49 | 0.75 0.54 -0.23\n",
+ "r_i | 1008.4 -11.0 2350.3 | 581.3 587.0 28.9 | 5.4 -998.0 2300.1 | 1998.1 998.5 2400.0\n",
+ "v_i | -40.96 0.75 -80.10 | 17.22 17.43 5.78 | -69.99 -29.88 -89.97 | -10.07 29.98 -70.00\n",
+ "norm_rf | 1.3 | 0.8 | 0.1 | 6.4\n",
+ "norm_vf | 1.11 | 0.12 | 0.39 | 1.55\n",
+ "gs_f | 20.8 | 28.5 | 2.1 | 475.8\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "thrust | 1264 -17 9242 | 2866 2866 2115 | -15695 -16541 2000 | 16621 16032 20000\n",
+ "norm_thrust | 9897 | 3155 | 3464 | 20000\n",
+ "fuel | 290 | 15 | 257 | 344\n",
+ "rewards | -4.70 | 6.36 | -41.36 | 3.22\n",
+ "fuel_rewards | -7.46 | 0.37 | -8.88 | -6.62\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.47 | 0.46 | 0.32 | 4.57\n",
+ "norm_af | 0.05 | 0.03 | 0.00 | 0.28\n",
+ "norm_wf | 0.18 | 0.10 | 0.01 | 0.62\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.40 | -6.22 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.00 0.12 0.00 | 0.35 0.21 0.20 | -1.46 -0.95 -1.04 | 1.35 1.05 1.13\n",
+ "w | -0.00 -0.01 0.00 | 0.22 0.22 0.01 | -1.66 -2.53 -0.13 | 2.34 1.65 0.11\n",
+ "a_f | -0.01 -0.00 | 0.05 0.04 | -0.18 -0.25 | 0.18 0.23\n",
+ "w_f | -0.02 -0.02 0.00 | 0.14 0.14 0.01 | -0.54 -0.47 -0.12 | 0.49 0.44 0.11\n",
+ "landing_rewards | 8.61 | 3.46 | 0.00 | 10.00\n",
+ "landing_margin | -0.00 | 0.25 | -0.19 | 2.89\n",
+ "tracking_rewards | -5.79 | 4.94 | -33.22 | 0.65\n",
+ "steps | 301 | 25 | 245 | 381\n",
+ "***** Episode 125111, Mean R = -4.4 Std R = 6.2 Min R = -23.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.962\n",
+ "ExplainedVarOld: 0.951\n",
+ "KL: 0.000842\n",
+ "PolicyEntropy: -4.27\n",
+ "PolicyLoss: -0.00159\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 3.07e+07\n",
+ "ValFuncLoss: 0.000105\n",
+ "Variance: 0.0863\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010540636 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08515564 0.0771249 0.08615669 0.08381555]\n",
+ "FIT: 0.6626493989444907 2.043978999411088 0.0211399642543639 0.11557927023021065\n",
+ "***** Episode 125232, Mean R = -4.6 Std R = 7.0 Min R = -36.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.961\n",
+ "ExplainedVarOld: 0.946\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -4.28\n",
+ "PolicyLoss: -0.00208\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 3.07e+07\n",
+ "ValFuncLoss: 9.96e-05\n",
+ "Variance: 0.0862\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010057903 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08485647 0.07688276 0.08596816 0.08378457]\n",
+ "FIT: 0.5357297583597302 2.041338524786319 0.02065737684620139 0.11723516373558161\n",
+ "***** Episode 125353, Mean R = -4.6 Std R = 6.0 Min R = -29.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.954\n",
+ "ExplainedVarOld: 0.943\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -4.29\n",
+ "PolicyLoss: -0.00168\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.07e+07\n",
+ "ValFuncLoss: 0.000104\n",
+ "Variance: 0.086\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009472772 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08507777 0.07685738 0.08583111 0.08379885]\n",
+ "FIT: 0.5686685214941943 1.9445034082394446 0.019929104368775846 0.11687833631688163\n",
+ "***** Episode 125474, Mean R = -4.3 Std R = 5.5 Min R = -21.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.951\n",
+ "ExplainedVarOld: 0.94\n",
+ "KL: 0.000947\n",
+ "PolicyEntropy: -4.29\n",
+ "PolicyLoss: -0.00161\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.08e+07\n",
+ "ValFuncLoss: 9.83e-05\n",
+ "Variance: 0.0858\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009841113 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08521175 0.07691886 0.0855588 0.08368245]\n",
+ "FIT: 0.6192521955901806 1.9552591449503218 0.021384768412748487 0.11860932206098056\n",
+ "***** Episode 125595, Mean R = -5.1 Std R = 6.3 Min R = -29.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.953\n",
+ "ExplainedVarOld: 0.941\n",
+ "KL: 0.000984\n",
+ "PolicyEntropy: -4.29\n",
+ "PolicyLoss: -0.00191\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.08e+07\n",
+ "ValFuncLoss: 0.00011\n",
+ "Variance: 0.0856\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010239764 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08521646 0.07678855 0.08517224 0.08321399]\n",
+ "FIT: 0.6151900317072718 2.0756706259036175 0.023104054139275777 0.11664012318575995\n",
+ "***** Episode 125716, Mean R = -5.7 Std R = 6.7 Min R = -27.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.967\n",
+ "ExplainedVarOld: 0.957\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -4.3\n",
+ "PolicyLoss: -0.00174\n",
+ "Steps: 3.6e+04\n",
+ "TotalSteps: 3.08e+07\n",
+ "ValFuncLoss: 0.000102\n",
+ "Variance: 0.0852\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00093094533 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08544897 0.07673434 0.08514912 0.08317132]\n",
+ "FIT: 0.5981103747462899 2.137630995024027 0.02082257171039757 0.11521426054069307\n",
+ "***** Episode 125837, Mean R = -4.3 Std R = 6.8 Min R = -31.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.967\n",
+ "ExplainedVarOld: 0.957\n",
+ "KL: 0.000931\n",
+ "PolicyEntropy: -4.3\n",
+ "PolicyLoss: -0.00193\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.09e+07\n",
+ "ValFuncLoss: 8.65e-05\n",
+ "Variance: 0.0854\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009207631 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08542574 0.07675542 0.08539251 0.08331722]\n",
+ "FIT: 0.5694488017550524 2.0371643911574133 0.020036660514569708 0.11727145289068541\n",
+ "***** Episode 125958, Mean R = -4.1 Std R = 6.2 Min R = -30.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.972\n",
+ "ExplainedVarOld: 0.963\n",
+ "KL: 0.000921\n",
+ "PolicyEntropy: -4.3\n",
+ "PolicyLoss: -0.00182\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 3.09e+07\n",
+ "ValFuncLoss: 6.31e-05\n",
+ "Variance: 0.0854\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009770426 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08546078 0.0769786 0.08529931 0.08331684]\n",
+ "FIT: 0.5049195715343566 1.9967045403518415 0.021573728662821583 0.12010382938082978\n",
+ "***** Episode 126079, Mean R = -5.2 Std R = 6.4 Min R = -28.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.957\n",
+ "ExplainedVarOld: 0.944\n",
+ "KL: 0.000977\n",
+ "PolicyEntropy: -4.29\n",
+ "PolicyLoss: -0.00172\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 3.09e+07\n",
+ "ValFuncLoss: 0.00011\n",
+ "Variance: 0.0855\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011433525 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08516057 0.07717558 0.08512858 0.08312171]\n",
+ "FIT: 0.4623741940818676 1.9030778581258767 0.01974809912022356 0.11893710176926657\n",
+ "***** Episode 126200, Mean R = -4.2 Std R = 5.3 Min R = -25.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.952\n",
+ "ExplainedVarOld: 0.934\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -4.3\n",
+ "PolicyLoss: -0.00196\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.1e+07\n",
+ "ValFuncLoss: 9.54e-05\n",
+ "Variance: 0.0852\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010298946 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08514465 0.07702646 0.08530653 0.08295121]\n",
+ "FIT: 0.5434333230197699 2.014874458798362 0.020751429167245726 0.1139196796280793\n",
+ "Update Cnt = 880 ET = 1074.7 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.2 -0.0 | 1.1 1.1 0.0 | -4.3 -4.5 -0.1 | 3.9 5.5 -0.0\n",
+ "v_f | -0.00 -0.00 -1.08 | 0.14 0.13 0.12 | -0.37 -0.45 -1.42 | 1.39 1.00 -0.59\n",
+ "r_i | 985.4 -1.7 2348.5 | 574.2 587.3 28.5 | 3.9 -999.6 2300.1 | 1999.7 998.6 2399.8\n",
+ "v_i | -39.43 0.10 -79.70 | 17.40 17.44 5.72 | -70.00 -29.91 -89.99 | -10.02 29.94 -70.01\n",
+ "norm_rf | 1.3 | 0.9 | 0.0 | 6.5\n",
+ "norm_vf | 1.10 | 0.12 | 0.63 | 1.89\n",
+ "gs_f | 18.9 | 18.4 | 1.7 | 243.2\n",
+ "thrust | 1212 3 9242 | 2844 2821 2107 | -15678 -16552 2000 | 16540 16096 19999\n",
+ "norm_thrust | 9878 | 3130 | 3464 | 20000\n",
+ "fuel | 290 | 16 | 259 | 348\n",
+ "rewards | -4.64 | 6.24 | -36.86 | 3.40\n",
+ "fuel_rewards | -7.48 | 0.40 | -8.97 | -6.66\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.50 | 0.52 | 0.42 | 4.09\n",
+ "norm_af | 0.05 | 0.03 | 0.00 | 0.32\n",
+ "norm_wf | 0.18 | 0.10 | 0.01 | 0.78\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.03 | 0.30 | -6.98 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.11 -0.00 | 0.37 0.20 0.20 | -1.46 -0.96 -1.06 | 1.78 1.03 1.07\n",
+ "w | -0.00 -0.01 0.00 | 0.22 0.22 0.01 | -1.76 -2.55 -0.08 | 2.13 1.61 0.16\n",
+ "a_f | -0.01 -0.01 | 0.05 0.04 | -0.31 -0.17 | 0.19 0.24\n",
+ "w_f | -0.01 -0.02 0.00 | 0.15 0.15 0.02 | -0.45 -0.47 -0.08 | 0.78 0.46 0.16\n",
+ "landing_rewards | 8.40 | 3.66 | 0.00 | 10.00\n",
+ "landing_margin | 0.00 | 0.26 | -0.18 | 3.25\n",
+ "tracking_rewards | -5.53 | 4.85 | -30.31 | 0.59\n",
+ "steps | 302 | 25 | 251 | 384\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 126321, Mean R = -4.2 Std R = 5.7 Min R = -23.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.964\n",
+ "ExplainedVarOld: 0.958\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -4.3\n",
+ "PolicyLoss: -0.00162\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.1e+07\n",
+ "ValFuncLoss: 0.000112\n",
+ "Variance: 0.0853\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011228957 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08508207 0.07688367 0.08538135 0.08288462]\n",
+ "FIT: 0.48883762673598147 2.020278171035344 0.019760258202536934 0.1161134480228977\n",
+ "***** Episode 126442, Mean R = -3.8 Std R = 5.5 Min R = -21.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.962\n",
+ "ExplainedVarOld: 0.953\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -4.3\n",
+ "PolicyLoss: -0.00186\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 3.11e+07\n",
+ "ValFuncLoss: 8.32e-05\n",
+ "Variance: 0.0854\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010550959 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08511066 0.07660642 0.08516105 0.08282645]\n",
+ "FIT: 0.5075208143820382 1.8287852361474541 0.019620388561358608 0.11275719667663855\n",
+ "***** Episode 126563, Mean R = -4.1 Std R = 5.8 Min R = -25.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.944\n",
+ "ExplainedVarOld: 0.929\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -4.31\n",
+ "PolicyLoss: -0.00182\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.11e+07\n",
+ "ValFuncLoss: 0.000108\n",
+ "Variance: 0.0852\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010939797 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0849666 0.07648617 0.08514418 0.0827485 ]\n",
+ "FIT: 0.5337579173329534 1.8145198174486703 0.021289399586217953 0.11717854273322914\n",
+ "***** Episode 126684, Mean R = -4.9 Std R = 6.2 Min R = -21.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.955\n",
+ "ExplainedVarOld: 0.949\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -4.32\n",
+ "PolicyLoss: -0.00196\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.11e+07\n",
+ "ValFuncLoss: 0.000115\n",
+ "Variance: 0.0851\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00091399596 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08480502 0.07669859 0.08496279 0.08244479]\n",
+ "FIT: 0.48283342238752597 1.9751798793678643 0.02017669231501786 0.11538490846170306\n",
+ "***** Episode 126805, Mean R = -4.0 Std R = 5.5 Min R = -24.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.968\n",
+ "ExplainedVarOld: 0.951\n",
+ "KL: 0.000914\n",
+ "PolicyEntropy: -4.32\n",
+ "PolicyLoss: -0.00189\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 3.12e+07\n",
+ "ValFuncLoss: 7.22e-05\n",
+ "Variance: 0.085\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009810857 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08476615 0.07662204 0.08470188 0.08230682]\n",
+ "FIT: 0.5528003712054376 2.107033304463761 0.020223428103149282 0.11554978327407717\n",
+ "***** Episode 126926, Mean R = -4.4 Std R = 6.0 Min R = -32.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.954\n",
+ "ExplainedVarOld: 0.945\n",
+ "KL: 0.000981\n",
+ "PolicyEntropy: -4.33\n",
+ "PolicyLoss: -0.00169\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 3.12e+07\n",
+ "ValFuncLoss: 0.000103\n",
+ "Variance: 0.0848\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010523461 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0845371 0.07631002 0.0845267 0.08232128]\n",
+ "FIT: 0.4792871826624402 1.9486439746907511 0.01992425245437947 0.11568934210203788\n",
+ "***** Episode 127047, Mean R = -3.6 Std R = 5.6 Min R = -19.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.967\n",
+ "ExplainedVarOld: 0.961\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -4.34\n",
+ "PolicyLoss: -0.0019\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.12e+07\n",
+ "ValFuncLoss: 7.08e-05\n",
+ "Variance: 0.0845\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00082786765 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0844814 0.07595843 0.08420929 0.08212274]\n",
+ "FIT: 0.5210259807171503 2.1649326531340933 0.021164485810672887 0.11850861555551509\n",
+ "***** Episode 127168, Mean R = -4.7 Std R = 6.4 Min R = -26.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.96\n",
+ "ExplainedVarOld: 0.951\n",
+ "KL: 0.000828\n",
+ "PolicyEntropy: -4.35\n",
+ "PolicyLoss: -0.00165\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.13e+07\n",
+ "ValFuncLoss: 9.88e-05\n",
+ "Variance: 0.0845\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00095401 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08429156 0.07605594 0.08384635 0.08180603]\n",
+ "FIT: 0.5131074769052718 1.895772332207675 0.020729267083248987 0.11525443645316778\n",
+ "***** Episode 127289, Mean R = -4.4 Std R = 5.9 Min R = -17.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.964\n",
+ "ExplainedVarOld: 0.956\n",
+ "KL: 0.000954\n",
+ "PolicyEntropy: -4.36\n",
+ "PolicyLoss: -0.00168\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.13e+07\n",
+ "ValFuncLoss: 8.55e-05\n",
+ "Variance: 0.0843\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012251611 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08404327 0.07609657 0.08348235 0.08172785]\n",
+ "FIT: 0.5633893101971126 2.013746313666204 0.02086362396218655 0.11538468638958518\n",
+ "***** Episode 127410, Mean R = -4.1 Std R = 5.1 Min R = -25.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.975\n",
+ "ExplainedVarOld: 0.965\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -4.36\n",
+ "PolicyLoss: -0.00184\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 3.14e+07\n",
+ "ValFuncLoss: 6.37e-05\n",
+ "Variance: 0.084\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001013847 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08424196 0.07610795 0.08337987 0.08174032]\n",
+ "FIT: 0.520434572520569 2.0417322459870406 0.020857188141257615 0.11448632812964561\n",
+ "Update Cnt = 890 ET = 1070.6 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.2 -0.0 | 1.1 1.1 0.0 | -4.8 -4.3 -0.1 | 4.6 4.8 -0.0\n",
+ "v_f | -0.01 0.01 -1.08 | 0.13 0.11 0.13 | -0.42 -0.83 -1.47 | 0.53 0.44 -0.35\n",
+ "r_i | 978.0 26.5 2350.8 | 569.3 576.0 29.3 | 0.1 -998.7 2300.2 | 1994.7 996.1 2400.0\n",
+ "v_i | -39.30 0.01 -79.97 | 16.86 17.10 5.70 | -69.96 -30.00 -89.99 | -10.08 29.99 -70.01\n",
+ "norm_rf | 1.3 | 0.8 | 0.1 | 5.1\n",
+ "norm_vf | 1.09 | 0.12 | 0.50 | 1.49\n",
+ "gs_f | 20.3 | 23.8 | 2.0 | 508.6\n",
+ "thrust | 1211 6 9247 | 2796 2866 2100 | -15807 -16455 2000 | 16468 16415 19999\n",
+ "norm_thrust | 9877 | 3140 | 3464 | 20000\n",
+ "fuel | 290 | 16 | 259 | 351\n",
+ "rewards | -4.23 | 5.84 | -32.21 | 3.76\n",
+ "fuel_rewards | -7.47 | 0.40 | -9.05 | -6.68\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.53 | 0.54 | 0.36 | 5.03\n",
+ "norm_af | 0.05 | 0.03 | 0.00 | 0.24\n",
+ "norm_wf | 0.17 | 0.10 | 0.01 | 0.68\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.02 | 0.19 | -3.09 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | -0.00 0.11 -0.00 | 0.35 0.20 0.20 | -1.44 -0.92 -1.06 | 1.59 1.06 1.03\n",
+ "w | -0.00 -0.01 0.00 | 0.22 0.21 0.01 | -1.74 -2.43 -0.08 | 2.00 1.66 0.10\n",
+ "a_f | -0.00 -0.00 | 0.04 0.04 | -0.20 -0.22 | 0.17 0.12\n",
+ "w_f | -0.01 -0.02 0.00 | 0.14 0.14 0.01 | -0.65 -0.49 -0.08 | 0.52 0.43 0.09\n",
+ "landing_rewards | 8.64 | 3.43 | 0.00 | 10.00\n",
+ "landing_margin | -0.02 | 0.23 | -0.19 | 2.97\n",
+ "tracking_rewards | -5.37 | 4.57 | -27.62 | 0.67\n",
+ "steps | 302 | 25 | 249 | 382\n",
+ "***** Episode 127531, Mean R = -4.4 Std R = 6.2 Min R = -27.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.96\n",
+ "ExplainedVarOld: 0.955\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -4.36\n",
+ "PolicyLoss: -0.00171\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.14e+07\n",
+ "ValFuncLoss: 9.56e-05\n",
+ "Variance: 0.0842\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011242274 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08426922 0.0761895 0.08318315 0.08120734]\n",
+ "FIT: 0.5475935389685329 1.9395720075424032 0.02041191286083197 0.11564297681563122\n",
+ "***** Episode 127652, Mean R = -4.1 Std R = 5.8 Min R = -26.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.965\n",
+ "ExplainedVarOld: 0.953\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -4.37\n",
+ "PolicyLoss: -0.00191\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.14e+07\n",
+ "ValFuncLoss: 8.22e-05\n",
+ "Variance: 0.0843\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009177634 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08397921 0.07622868 0.08301957 0.08097739]\n",
+ "FIT: 0.672975607268223 1.9444830412282073 0.01993853935670747 0.11569638875626159\n",
+ "***** Episode 127773, Mean R = -3.9 Std R = 6.2 Min R = -38.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.968\n",
+ "ExplainedVarOld: 0.961\n",
+ "KL: 0.000918\n",
+ "PolicyEntropy: -4.38\n",
+ "PolicyLoss: -0.00169\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 3.15e+07\n",
+ "ValFuncLoss: 7.26e-05\n",
+ "Variance: 0.084\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00079343066 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08389933 0.07601922 0.08287267 0.08066873]\n",
+ "FIT: 0.6727084019751767 2.130091082757794 0.020140817756687815 0.11871273868144845\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 127894, Mean R = -4.1 Std R = 6.4 Min R = -31.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.962\n",
+ "ExplainedVarOld: 0.953\n",
+ "KL: 0.000793\n",
+ "PolicyEntropy: -4.39\n",
+ "PolicyLoss: -0.00157\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 3.15e+07\n",
+ "ValFuncLoss: 9.08e-05\n",
+ "Variance: 0.0839\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00093403633 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08410164 0.07621892 0.08266728 0.08072013]\n",
+ "FIT: 0.508594228050642 1.9679656912787107 0.020090702583503785 0.11635654203433941\n",
+ "***** Episode 128015, Mean R = -3.9 Std R = 6.0 Min R = -28.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.968\n",
+ "ExplainedVarOld: 0.959\n",
+ "KL: 0.000934\n",
+ "PolicyEntropy: -4.38\n",
+ "PolicyLoss: -0.00213\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.15e+07\n",
+ "ValFuncLoss: 8.39e-05\n",
+ "Variance: 0.0841\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010046505 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08393361 0.07610495 0.08247735 0.08062789]\n",
+ "FIT: 0.606798246675131 2.0991840515825335 0.022930225173532586 0.11864776472471603\n",
+ "***** Episode 128136, Mean R = -5.4 Std R = 7.2 Min R = -37.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.973\n",
+ "ExplainedVarOld: 0.965\n",
+ "KL: 0.001\n",
+ "PolicyEntropy: -4.39\n",
+ "PolicyLoss: -0.002\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 3.16e+07\n",
+ "ValFuncLoss: 9.22e-05\n",
+ "Variance: 0.0839\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012093756 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08351286 0.07599279 0.08221754 0.08048496]\n",
+ "FIT: 0.4977294041920062 1.914711594319496 0.01970699663105373 0.11541208225532762\n",
+ "***** Episode 128257, Mean R = -3.5 Std R = 5.2 Min R = -19.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.971\n",
+ "ExplainedVarOld: 0.957\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -4.4\n",
+ "PolicyLoss: -0.00209\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 3.16e+07\n",
+ "ValFuncLoss: 6.37e-05\n",
+ "Variance: 0.0835\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012141948 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08351628 0.07591406 0.08200787 0.08009477]\n",
+ "FIT: 0.5038443948675453 1.865016730068157 0.020846342391460125 0.11875938643918055\n",
+ "***** Episode 128378, Mean R = -4.5 Std R = 5.9 Min R = -31.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.962\n",
+ "ExplainedVarOld: 0.958\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -4.41\n",
+ "PolicyLoss: -0.0016\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 3.16e+07\n",
+ "ValFuncLoss: 9.08e-05\n",
+ "Variance: 0.0835\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009749878 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08354185 0.07597229 0.08163749 0.0799333 ]\n",
+ "FIT: 0.6007250801442129 1.9678630992501336 0.02190352491897876 0.11853731471256246\n",
+ "***** Episode 128499, Mean R = -5.3 Std R = 6.6 Min R = -28.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.962\n",
+ "ExplainedVarOld: 0.955\n",
+ "KL: 0.000975\n",
+ "PolicyEntropy: -4.42\n",
+ "PolicyLoss: -0.00172\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.17e+07\n",
+ "ValFuncLoss: 0.000124\n",
+ "Variance: 0.0835\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009963172 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08361433 0.07595003 0.08157005 0.07990198]\n",
+ "FIT: 0.574107209075923 2.15332947929696 0.021229327877387773 0.11810411693656774\n",
+ "***** Episode 128620, Mean R = -4.7 Std R = 6.8 Min R = -27.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.963\n",
+ "ExplainedVarOld: 0.955\n",
+ "KL: 0.000996\n",
+ "PolicyEntropy: -4.42\n",
+ "PolicyLoss: -0.00171\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.17e+07\n",
+ "ValFuncLoss: 9.36e-05\n",
+ "Variance: 0.0836\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010623483 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0838564 0.07632679 0.08134809 0.0797498 ]\n",
+ "FIT: 0.728603702100693 2.075365812840045 0.021663722346196443 0.11921499524246965\n",
+ "Update Cnt = 900 ET = 1076.3 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.2 -0.0 | 1.2 1.1 0.2 | -4.7 -9.0 -0.1 | 12.4 4.6 5.7\n",
+ "v_f | -0.01 -0.00 -1.07 | 0.15 0.15 0.13 | -0.72 -1.13 -1.44 | 2.70 2.86 -0.19\n",
+ "r_i | 1023.2 13.9 2347.8 | 578.3 578.5 28.9 | 1.7 -996.4 2300.0 | 1998.8 995.4 2399.9\n",
+ "v_i | -40.02 1.27 -79.89 | 17.67 17.10 5.87 | -70.00 -29.90 -90.00 | -10.03 29.97 -70.01\n",
+ "norm_rf | 1.3 | 1.0 | 0.1 | 16.4\n",
+ "norm_vf | 1.09 | 0.14 | 0.45 | 3.27\n",
+ "gs_f | 21.9 | 45.2 | 0.4 | 1129.1\n",
+ "thrust | 1224 -36 9225 | 2849 2843 2113 | -16128 -16284 2000 | 16894 16345 20000\n",
+ "norm_thrust | 9868 | 3142 | 3464 | 20000\n",
+ "fuel | 290 | 17 | 258 | 495\n",
+ "rewards | -4.41 | 6.37 | -40.42 | 3.39\n",
+ "fuel_rewards | -7.49 | 0.43 | -12.75 | -6.65\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.48 | 0.53 | 0.18 | 5.30\n",
+ "norm_af | 0.05 | 0.04 | 0.00 | 0.80\n",
+ "norm_wf | 0.17 | 0.10 | 0.01 | 1.22\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.06 | 0.38 | -6.43 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | -0.00 0.12 0.00 | 0.37 0.20 0.20 | -1.91 -0.95 -1.04 | 1.73 1.04 1.05\n",
+ "w | -0.00 -0.01 0.00 | 0.22 0.22 0.01 | -1.62 -2.46 -0.07 | 2.17 1.71 0.33\n",
+ "a_f | -0.01 -0.00 | 0.05 0.05 | -0.72 -0.36 | 0.22 0.63\n",
+ "w_f | -0.02 -0.01 0.00 | 0.13 0.14 0.02 | -1.00 -0.55 -0.07 | 0.43 0.88 0.33\n",
+ "landing_rewards | 8.74 | 3.32 | 0.00 | 10.00\n",
+ "landing_margin | 0.00 | 0.45 | -0.19 | 11.38\n",
+ "tracking_rewards | -5.60 | 4.95 | -42.60 | 0.47\n",
+ "steps | 303 | 27 | 249 | 601\n",
+ "***** Episode 128741, Mean R = -4.7 Std R = 7.0 Min R = -40.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.976\n",
+ "ExplainedVarOld: 0.969\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -4.41\n",
+ "PolicyLoss: -0.00228\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.18e+07\n",
+ "ValFuncLoss: 7.51e-05\n",
+ "Variance: 0.0839\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010629952 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08412805 0.0765157 0.08111741 0.07973263]\n",
+ "FIT: 0.6462447988232382 2.0196957682116006 0.021998875143066494 0.11823616437003777\n",
+ "***** Episode 128862, Mean R = -4.6 Std R = 7.8 Min R = -41.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.975\n",
+ "ExplainedVarOld: 0.965\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -4.41\n",
+ "PolicyLoss: -0.00185\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 3.18e+07\n",
+ "ValFuncLoss: 7.87e-05\n",
+ "Variance: 0.0841\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009165932 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08412003 0.07631969 0.08101964 0.07948252]\n",
+ "FIT: 0.8304501098632092 2.090622218512463 0.020721593858968563 0.11776420716753895\n",
+ "***** Episode 128983, Mean R = -4.3 Std R = 6.1 Min R = -35.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.969\n",
+ "ExplainedVarOld: 0.949\n",
+ "KL: 0.000917\n",
+ "PolicyEntropy: -4.42\n",
+ "PolicyLoss: -0.00214\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.18e+07\n",
+ "ValFuncLoss: 8.63e-05\n",
+ "Variance: 0.0841\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00094963505 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08389074 0.07609083 0.08093303 0.07925691]\n",
+ "FIT: 0.5835308420936502 2.163027617610037 0.021355115047870767 0.11639325852220501\n",
+ "***** Episode 129104, Mean R = -4.8 Std R = 6.1 Min R = -21.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.962\n",
+ "ExplainedVarOld: 0.946\n",
+ "KL: 0.00095\n",
+ "PolicyEntropy: -4.43\n",
+ "PolicyLoss: -0.00185\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 3.19e+07\n",
+ "ValFuncLoss: 9.29e-05\n",
+ "Variance: 0.0839\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001077318 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08395918 0.07580583 0.0806814 0.07916851]\n",
+ "FIT: 0.642509231731923 2.1440495267114397 0.021481907089176872 0.11998639953568983\n",
+ "***** Episode 129225, Mean R = -4.7 Std R = 6.5 Min R = -35.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.974\n",
+ "ExplainedVarOld: 0.967\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -4.43\n",
+ "PolicyLoss: -0.00207\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 3.19e+07\n",
+ "ValFuncLoss: 7.72e-05\n",
+ "Variance: 0.084\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009383402 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08383396 0.07547757 0.08036714 0.07919222]\n",
+ "FIT: 0.6610322375465041 2.0559330235590276 0.020700471756870266 0.11836678443104302\n",
+ "***** Episode 129346, Mean R = -4.0 Std R = 6.6 Min R = -33.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.000938\n",
+ "PolicyEntropy: -4.44\n",
+ "PolicyLoss: -0.00201\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 3.19e+07\n",
+ "ValFuncLoss: 4.24e-05\n",
+ "Variance: 0.0838\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001057136 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08378664 0.07491727 0.08005913 0.07894386]\n",
+ "FIT: 0.5105355293007412 1.9979712820439939 0.020309820510267695 0.11547236018702832\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 129467, Mean R = -4.3 Std R = 5.5 Min R = -20.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.951\n",
+ "ExplainedVarOld: 0.946\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -4.46\n",
+ "PolicyLoss: -0.00163\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.2e+07\n",
+ "ValFuncLoss: 0.000107\n",
+ "Variance: 0.0838\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013358808 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08365017 0.07498228 0.07989072 0.07884285]\n",
+ "FIT: 0.5034573418308006 1.9511811434660986 0.020759370991313652 0.1162489518143628\n",
+ "***** Episode 129588, Mean R = -4.4 Std R = 5.8 Min R = -17.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.959\n",
+ "ExplainedVarOld: 0.944\n",
+ "KL: 0.00134\n",
+ "PolicyEntropy: -4.46\n",
+ "PolicyLoss: -0.00197\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 3.2e+07\n",
+ "ValFuncLoss: 9.83e-05\n",
+ "Variance: 0.0837\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.000695015 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08309363 0.07503396 0.0796526 0.0788324 ]\n",
+ "FIT: 0.45558105824790884 1.8921394603278636 0.019770396592239028 0.11536676881349077\n",
+ "***** Episode 129709, Mean R = -3.9 Std R = 5.5 Min R = -21.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.961\n",
+ "ExplainedVarOld: 0.951\n",
+ "KL: 0.000695\n",
+ "PolicyEntropy: -4.47\n",
+ "PolicyLoss: -0.00143\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.2e+07\n",
+ "ValFuncLoss: 7.95e-05\n",
+ "Variance: 0.0831\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009265577 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08281642 0.07491542 0.07933023 0.07885022]\n",
+ "FIT: 0.5899510625664798 2.1370521763987576 0.021045415278542038 0.1191954543854335\n",
+ "***** Episode 129830, Mean R = -4.5 Std R = 6.2 Min R = -25.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.968\n",
+ "ExplainedVarOld: 0.958\n",
+ "KL: 0.000927\n",
+ "PolicyEntropy: -4.48\n",
+ "PolicyLoss: -0.00166\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.21e+07\n",
+ "ValFuncLoss: 8.22e-05\n",
+ "Variance: 0.0828\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010372138 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08276731 0.07505473 0.07944568 0.07889241]\n",
+ "FIT: 0.5181399090842099 2.1063010943932787 0.01945531172583811 0.11375360136464553\n",
+ "Update Cnt = 910 ET = 1071.6 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.2 -0.0 | 1.2 1.0 0.0 | -5.9 -4.0 -0.1 | 6.2 3.4 -0.0\n",
+ "v_f | -0.00 -0.00 -1.08 | 0.13 0.12 0.12 | -0.48 -0.95 -1.46 | 0.67 0.46 -0.56\n",
+ "r_i | 1006.5 22.5 2350.7 | 571.5 574.7 28.6 | 0.3 -998.8 2300.0 | 1996.3 999.2 2400.0\n",
+ "v_i | -40.36 -0.37 -80.07 | 17.29 17.20 5.80 | -69.97 -29.90 -89.99 | -10.14 29.84 -70.01\n",
+ "norm_rf | 1.3 | 0.8 | 0.1 | 6.2\n",
+ "norm_vf | 1.09 | 0.12 | 0.66 | 1.54\n",
+ "gs_f | 20.2 | 19.7 | 1.5 | 196.0\n",
+ "thrust | 1242 17 9238 | 2822 2851 2105 | -15902 -16591 2000 | 16364 16596 19991\n",
+ "norm_thrust | 9877 | 3140 | 3464 | 20000\n",
+ "fuel | 290 | 15 | 259 | 356\n",
+ "rewards | -4.28 | 6.24 | -41.69 | 3.66\n",
+ "fuel_rewards | -7.46 | 0.38 | -9.18 | -6.68\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.49 | 0.52 | 0.40 | 5.80\n",
+ "norm_af | 0.05 | 0.03 | 0.00 | 0.40\n",
+ "norm_wf | 0.17 | 0.10 | 0.00 | 0.57\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.52 | -12.52 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.00 0.12 -0.00 | 0.37 0.20 0.20 | -1.48 -0.93 -1.03 | 1.68 1.07 1.01\n",
+ "w | -0.00 -0.01 -0.00 | 0.22 0.21 0.01 | -1.75 -2.51 -0.08 | 2.04 2.09 0.14\n",
+ "a_f | -0.01 -0.00 | 0.04 0.04 | -0.17 -0.39 | 0.18 0.16\n",
+ "w_f | -0.02 -0.02 -0.00 | 0.14 0.13 0.01 | -0.54 -0.54 -0.07 | 0.50 0.44 0.13\n",
+ "landing_rewards | 8.75 | 3.30 | 0.00 | 10.00\n",
+ "landing_margin | -0.01 | 0.27 | -0.19 | 3.47\n",
+ "tracking_rewards | -5.52 | 4.99 | -35.70 | 0.72\n",
+ "steps | 302 | 25 | 251 | 386\n",
+ "***** Episode 129951, Mean R = -3.4 Std R = 5.8 Min R = -25.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.972\n",
+ "ExplainedVarOld: 0.961\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -4.48\n",
+ "PolicyLoss: -0.0019\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 3.21e+07\n",
+ "ValFuncLoss: 7.29e-05\n",
+ "Variance: 0.0828\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009710398 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08271413 0.07489077 0.07939354 0.07890227]\n",
+ "FIT: 0.5169101127613659 2.0538782881971893 0.020182076016618367 0.11709423198014464\n",
+ "***** Episode 130072, Mean R = -3.8 Std R = 6.1 Min R = -29.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.963\n",
+ "ExplainedVarOld: 0.951\n",
+ "KL: 0.000971\n",
+ "PolicyEntropy: -4.48\n",
+ "PolicyLoss: -0.00179\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.22e+07\n",
+ "ValFuncLoss: 8.15e-05\n",
+ "Variance: 0.0827\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011453794 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08286238 0.07481027 0.07909427 0.07845099]\n",
+ "FIT: 0.5381084461832988 2.1205779296833076 0.020246853524950786 0.11733983473139946\n",
+ "***** Episode 130193, Mean R = -3.9 Std R = 5.9 Min R = -25.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.975\n",
+ "ExplainedVarOld: 0.967\n",
+ "KL: 0.00115\n",
+ "PolicyEntropy: -4.49\n",
+ "PolicyLoss: -0.00192\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.22e+07\n",
+ "ValFuncLoss: 6.1e-05\n",
+ "Variance: 0.0829\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009964658 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08296662 0.07503622 0.07893804 0.07852652]\n",
+ "FIT: 0.5489313523128215 2.0672676205524123 0.021544638888836568 0.11760520385399678\n",
+ "***** Episode 130314, Mean R = -4.7 Std R = 6.2 Min R = -22.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.976\n",
+ "ExplainedVarOld: 0.965\n",
+ "KL: 0.000996\n",
+ "PolicyEntropy: -4.49\n",
+ "PolicyLoss: -0.00229\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 3.22e+07\n",
+ "ValFuncLoss: 6.26e-05\n",
+ "Variance: 0.083\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010955827 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08272738 0.07513129 0.07882067 0.07874855]\n",
+ "FIT: 0.5770489354647759 2.0753672210713123 0.021962501736331932 0.11782644887109218\n",
+ "***** Episode 130435, Mean R = -4.9 Std R = 6.9 Min R = -35.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.961\n",
+ "ExplainedVarOld: 0.951\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -4.49\n",
+ "PolicyLoss: -0.00196\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 3.23e+07\n",
+ "ValFuncLoss: 0.000105\n",
+ "Variance: 0.0827\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00094302907 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.082397 0.07509642 0.07900769 0.0787179 ]\n",
+ "FIT: 0.6475298913209023 2.1836810575028496 0.020569450641670067 0.11655949045127814\n",
+ "***** Episode 130556, Mean R = -4.2 Std R = 6.4 Min R = -32.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.96\n",
+ "ExplainedVarOld: 0.941\n",
+ "KL: 0.000943\n",
+ "PolicyEntropy: -4.49\n",
+ "PolicyLoss: -0.00198\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.23e+07\n",
+ "ValFuncLoss: 0.000103\n",
+ "Variance: 0.0824\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00094834255 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08195857 0.07496326 0.07927715 0.07887985]\n",
+ "FIT: 0.598677954027851 1.9294220617667208 0.020397253064509364 0.11623559053833715\n",
+ "***** Episode 130677, Mean R = -4.1 Std R = 6.0 Min R = -25.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.966\n",
+ "ExplainedVarOld: 0.956\n",
+ "KL: 0.000948\n",
+ "PolicyEntropy: -4.49\n",
+ "PolicyLoss: -0.00189\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.23e+07\n",
+ "ValFuncLoss: 7.77e-05\n",
+ "Variance: 0.082\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010562548 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08139814 0.07513136 0.07910918 0.0789196 ]\n",
+ "FIT: 0.6310007415986258 1.9734232510423988 0.021592832173664797 0.11966487681464119\n",
+ "***** Episode 130798, Mean R = -4.5 Std R = 6.7 Min R = -30.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.972\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -4.5\n",
+ "PolicyLoss: -0.00192\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 3.24e+07\n",
+ "ValFuncLoss: 5.39e-05\n",
+ "Variance: 0.0814\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0008365728 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08125704 0.07523438 0.07896053 0.078779 ]\n",
+ "FIT: 0.7221061169876336 2.170794801182048 0.0202002373861193 0.11481639732824056\n",
+ "***** Episode 130919, Mean R = -3.8 Std R = 6.4 Min R = -38.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.967\n",
+ "ExplainedVarOld: 0.961\n",
+ "KL: 0.000837\n",
+ "PolicyEntropy: -4.5\n",
+ "PolicyLoss: -0.00165\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 3.24e+07\n",
+ "ValFuncLoss: 7.79e-05\n",
+ "Variance: 0.0813\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012572329 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08129977 0.07523691 0.0789662 0.07867019]\n",
+ "FIT: 0.47333264195607716 1.8914633202646094 0.019389813927971844 0.11348900692776456\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 131040, Mean R = -3.6 Std R = 5.1 Min R = -18.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.963\n",
+ "ExplainedVarOld: 0.952\n",
+ "KL: 0.00126\n",
+ "PolicyEntropy: -4.5\n",
+ "PolicyLoss: -0.00185\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.24e+07\n",
+ "ValFuncLoss: 7.73e-05\n",
+ "Variance: 0.0813\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011850792 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08113431 0.07520816 0.07895304 0.07835259]\n",
+ "FIT: 0.5343733620611527 2.107316709782049 0.020991350198490452 0.11816382628219095\n",
+ "Update Cnt = 920 ET = 1077.9 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.2 -0.0 | 1.1 1.1 0.2 | -4.2 -4.0 -0.1 | 9.1 14.8 5.2\n",
+ "v_f | -0.01 -0.00 -1.06 | 0.15 0.16 0.13 | -0.47 -0.58 -1.54 | 2.27 4.16 0.59\n",
+ "r_i | 996.3 -5.0 2349.5 | 587.4 578.5 29.0 | 2.3 -999.9 2300.0 | 1999.4 996.1 2399.9\n",
+ "v_i | -38.99 0.38 -80.20 | 17.22 17.03 5.68 | -69.98 -29.94 -90.00 | -10.15 29.96 -70.01\n",
+ "norm_rf | 1.3 | 1.0 | 0.0 | 18.2\n",
+ "norm_vf | 1.08 | 0.16 | 0.60 | 4.77\n",
+ "gs_f | 20.9 | 23.8 | 0.1 | 256.8\n",
+ "thrust | 1194 -5 9240 | 2789 2881 2116 | -16107 -16310 2000 | 16648 17396 19997\n",
+ "norm_thrust | 9872 | 3149 | 3464 | 20000\n",
+ "fuel | 291 | 17 | 258 | 507\n",
+ "rewards | -4.19 | 6.24 | -38.83 | 3.40\n",
+ "fuel_rewards | -7.49 | 0.43 | -13.07 | -6.66\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.53 | 0.59 | 0.14 | 6.06\n",
+ "norm_af | 0.05 | 0.04 | 0.00 | 0.93\n",
+ "norm_wf | 0.17 | 0.11 | 0.01 | 1.72\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.03 | 0.27 | -4.85 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.11 0.00 | 0.36 0.20 0.20 | -1.45 -0.99 -1.06 | 1.87 1.05 1.07\n",
+ "w | -0.00 -0.01 0.00 | 0.22 0.21 0.01 | -1.65 -2.61 -0.06 | 2.08 1.87 0.37\n",
+ "a_f | -0.00 0.00 | 0.05 0.05 | -0.30 -0.20 | 0.20 0.87\n",
+ "w_f | -0.02 -0.02 0.00 | 0.14 0.14 0.02 | -0.58 -1.59 -0.05 | 0.47 0.49 0.36\n",
+ "landing_rewards | 8.78 | 3.28 | 0.00 | 10.00\n",
+ "landing_margin | -0.00 | 0.44 | -0.19 | 13.18\n",
+ "tracking_rewards | -5.45 | 4.86 | -40.90 | 0.56\n",
+ "steps | 303 | 26 | 247 | 601\n",
+ "***** Episode 131161, Mean R = -4.4 Std R = 6.5 Min R = -24.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.97\n",
+ "ExplainedVarOld: 0.846\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -4.51\n",
+ "PolicyLoss: -0.00179\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.25e+07\n",
+ "ValFuncLoss: 8.06e-05\n",
+ "Variance: 0.0811\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010884758 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08087152 0.0749614 0.07873367 0.07801472]\n",
+ "FIT: 0.7209037142768122 2.112576340232775 0.020354928228366816 0.1171610537383288\n",
+ "***** Episode 131282, Mean R = -4.1 Std R = 6.6 Min R = -37.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.964\n",
+ "ExplainedVarOld: 0.96\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -4.52\n",
+ "PolicyLoss: -0.00184\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.25e+07\n",
+ "ValFuncLoss: 8.55e-05\n",
+ "Variance: 0.0809\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00081147224 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0808215 0.07517286 0.07866665 0.07773355]\n",
+ "FIT: 0.6598514352827636 2.1998412700405776 0.021832677542675365 0.1163610079275333\n",
+ "***** Episode 131403, Mean R = -4.9 Std R = 7.6 Min R = -32.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.963\n",
+ "ExplainedVarOld: 0.941\n",
+ "KL: 0.000811\n",
+ "PolicyEntropy: -4.52\n",
+ "PolicyLoss: -0.00183\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 3.26e+07\n",
+ "ValFuncLoss: 0.000103\n",
+ "Variance: 0.0808\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.000983228 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08085188 0.07522096 0.07852656 0.07733215]\n",
+ "FIT: 0.5826957576058619 2.2303160660932324 0.021541219288153654 0.11486607072107582\n",
+ "***** Episode 131524, Mean R = -4.5 Std R = 6.7 Min R = -25.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.968\n",
+ "ExplainedVarOld: 0.965\n",
+ "KL: 0.000983\n",
+ "PolicyEntropy: -4.53\n",
+ "PolicyLoss: -0.0017\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 3.26e+07\n",
+ "ValFuncLoss: 9.57e-05\n",
+ "Variance: 0.0809\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011585784 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08048461 0.07529283 0.07817704 0.07709479]\n",
+ "FIT: 0.6427735441564628 2.1918346502761357 0.022634355722357388 0.12138216802484485\n",
+ "***** Episode 131645, Mean R = -4.8 Std R = 6.8 Min R = -39.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.955\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -4.54\n",
+ "PolicyLoss: -0.00236\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 3.26e+07\n",
+ "ValFuncLoss: 6.02e-05\n",
+ "Variance: 0.0805\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010126682 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.08011504 0.07514277 0.07817852 0.07677446]\n",
+ "FIT: 0.5518223489738536 2.107414599293071 0.020786852169205877 0.11741306065414507\n",
+ "***** Episode 131766, Mean R = -4.5 Std R = 6.2 Min R = -29.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.956\n",
+ "ExplainedVarOld: 0.941\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -4.55\n",
+ "PolicyLoss: -0.00189\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.27e+07\n",
+ "ValFuncLoss: 9.58e-05\n",
+ "Variance: 0.0801\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010933323 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0798526 0.07492079 0.07831112 0.07662476]\n",
+ "FIT: 0.527225781297731 2.0297386601531393 0.021832540449564314 0.11619584455898474\n",
+ "***** Episode 131887, Mean R = -4.9 Std R = 6.4 Min R = -27.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.969\n",
+ "ExplainedVarOld: 0.965\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -4.56\n",
+ "PolicyLoss: -0.00171\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 3.27e+07\n",
+ "ValFuncLoss: 8.58e-05\n",
+ "Variance: 0.0799\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00089279166 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07985085 0.07493751 0.07848882 0.07620384]\n",
+ "FIT: 0.572009648934137 2.1510744664539585 0.02036888858900429 0.118555066105883\n",
+ "***** Episode 132008, Mean R = -3.7 Std R = 6.1 Min R = -26.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.975\n",
+ "ExplainedVarOld: 0.96\n",
+ "KL: 0.000893\n",
+ "PolicyEntropy: -4.56\n",
+ "PolicyLoss: -0.00257\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.27e+07\n",
+ "ValFuncLoss: 6.31e-05\n",
+ "Variance: 0.0799\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012444374 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07978063 0.07499519 0.07831001 0.07594105]\n",
+ "FIT: 0.9112186715396864 2.1799852884497755 0.02034953739256978 0.11709186498187694\n",
+ "***** Episode 132129, Mean R = -3.9 Std R = 6.8 Min R = -36.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.976\n",
+ "ExplainedVarOld: 0.939\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -4.57\n",
+ "PolicyLoss: -0.00231\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.28e+07\n",
+ "ValFuncLoss: 6.31e-05\n",
+ "Variance: 0.0798\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0008969219 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0798427 0.07487406 0.07829661 0.07556418]\n",
+ "FIT: 0.5694183334621506 1.8848891716623855 0.020578158253051156 0.11830411697658998\n",
+ "***** Episode 132250, Mean R = -4.1 Std R = 5.8 Min R = -24.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.961\n",
+ "ExplainedVarOld: 0.957\n",
+ "KL: 0.000897\n",
+ "PolicyEntropy: -4.57\n",
+ "PolicyLoss: -0.0017\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.28e+07\n",
+ "ValFuncLoss: 8.87e-05\n",
+ "Variance: 0.0798\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001191819 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07975305 0.0748598 0.07826082 0.07558107]\n",
+ "FIT: 0.5278634857483394 2.1247065459081567 0.021570288979550684 0.11605746050792341\n",
+ "Update Cnt = 930 ET = 1080.9 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.2 -0.0 | 1.1 1.1 0.0 | -5.1 -5.4 -0.1 | 3.9 4.6 -0.0\n",
+ "v_f | -0.02 -0.01 -1.07 | 0.13 0.11 0.11 | -0.61 -0.58 -1.76 | 0.69 0.36 -0.23\n",
+ "r_i | 1000.0 19.3 2350.4 | 581.7 573.3 28.3 | 0.0 -992.4 2300.1 | 1997.2 998.2 2399.8\n",
+ "v_i | -40.96 -0.18 -79.82 | 17.49 17.43 5.85 | -70.00 -29.95 -89.99 | -10.12 30.00 -70.00\n",
+ "norm_rf | 1.3 | 0.8 | 0.1 | 5.8\n",
+ "norm_vf | 1.08 | 0.11 | 0.65 | 1.77\n",
+ "gs_f | 20.1 | 21.6 | 1.9 | 224.7\n",
+ "thrust | 1263 12 9237 | 2866 2837 2089 | -15328 -16724 2000 | 16437 16201 20000\n",
+ "norm_thrust | 9887 | 3127 | 3464 | 20000\n",
+ "fuel | 290 | 15 | 259 | 348\n",
+ "rewards | -4.40 | 6.55 | -39.50 | 3.73\n",
+ "fuel_rewards | -7.46 | 0.38 | -8.96 | -6.68\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.49 | 0.52 | 0.38 | 4.92\n",
+ "norm_af | 0.05 | 0.03 | 0.00 | 0.35\n",
+ "norm_wf | 0.17 | 0.09 | 0.01 | 0.59\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.04 | 0.49 | -14.13 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "attitude | -0.01 0.12 -0.00 | 0.37 0.21 0.20 | -1.50 -1.00 -1.11 | 1.78 1.04 1.07\n",
+ "w | -0.00 -0.01 -0.00 | 0.22 0.21 0.01 | -1.73 -2.48 -0.23 | 1.99 1.85 0.15\n",
+ "a_f | -0.00 -0.00 | 0.04 0.04 | -0.18 -0.26 | 0.18 0.32\n",
+ "w_f | -0.02 -0.01 -0.00 | 0.14 0.13 0.02 | -0.57 -0.51 -0.22 | 0.50 0.37 0.14\n",
+ "landing_rewards | 8.74 | 3.32 | 0.00 | 10.00\n",
+ "landing_margin | -0.01 | 0.27 | -0.18 | 3.06\n",
+ "tracking_rewards | -5.63 | 5.20 | -40.00 | 0.91\n",
+ "steps | 301 | 24 | 248 | 378\n",
+ "***** Episode 132371, Mean R = -4.6 Std R = 6.1 Min R = -24.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.97\n",
+ "ExplainedVarOld: 0.956\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -4.58\n",
+ "PolicyLoss: -0.00205\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 3.28e+07\n",
+ "ValFuncLoss: 8.09e-05\n",
+ "Variance: 0.0798\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010182855 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07961592 0.07493799 0.07802339 0.07557856]\n",
+ "FIT: 0.6963241442935723 2.072132265322623 0.022941196671125312 0.11825436017698832\n",
+ "***** Episode 132492, Mean R = -5.2 Std R = 7.3 Min R = -45.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.974\n",
+ "ExplainedVarOld: 0.967\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -4.58\n",
+ "PolicyLoss: -0.00214\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.29e+07\n",
+ "ValFuncLoss: 8.09e-05\n",
+ "Variance: 0.0796\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009875558 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07985016 0.07464096 0.07812759 0.07542393]\n",
+ "FIT: 0.5479028307722004 2.0228975662931004 0.020975241790315853 0.11542643258895317\n",
+ "***** Episode 132613, Mean R = -4.3 Std R = 6.0 Min R = -30.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.963\n",
+ "ExplainedVarOld: 0.952\n",
+ "KL: 0.000988\n",
+ "PolicyEntropy: -4.58\n",
+ "PolicyLoss: -0.00168\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 3.29e+07\n",
+ "ValFuncLoss: 0.000101\n",
+ "Variance: 0.0799\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010574142 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07990145 0.07447648 0.07814251 0.0753077 ]\n",
+ "FIT: 0.6211150530708177 2.1391315477445505 0.01941313277397566 0.11604533972548163\n",
+ "***** Episode 132734, Mean R = -3.3 Std R = 5.9 Min R = -28.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.975\n",
+ "ExplainedVarOld: 0.97\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -4.58\n",
+ "PolicyLoss: -0.00205\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 3.3e+07\n",
+ "ValFuncLoss: 5.59e-05\n",
+ "Variance: 0.0799\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009876657 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07970091 0.07416227 0.07812018 0.07517026]\n",
+ "FIT: 0.5470273455222253 1.8848972596688558 0.019845026246094532 0.11619057212785867\n",
+ "***** Episode 132855, Mean R = -3.9 Std R = 5.6 Min R = -21.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.961\n",
+ "ExplainedVarOld: 0.947\n",
+ "KL: 0.000988\n",
+ "PolicyEntropy: -4.59\n",
+ "PolicyLoss: -0.00198\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 3.3e+07\n",
+ "ValFuncLoss: 8.01e-05\n",
+ "Variance: 0.0797\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010483032 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07938593 0.07379276 0.07820124 0.07492765]\n",
+ "FIT: 0.5747855012490976 2.097854972427115 0.019548907577886382 0.11365980595807475\n",
+ "***** Episode 132976, Mean R = -3.6 Std R = 5.6 Min R = -25.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.97\n",
+ "ExplainedVarOld: 0.961\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -4.6\n",
+ "PolicyLoss: -0.00195\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.3e+07\n",
+ "ValFuncLoss: 6.48e-05\n",
+ "Variance: 0.0794\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009145663 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07914322 0.07375448 0.0781489 0.07470014]\n",
+ "FIT: 0.557209563479211 1.9486640898553518 0.020559982754172968 0.11498372272843786\n",
+ "***** Episode 133097, Mean R = -3.9 Std R = 5.7 Min R = -24.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.97\n",
+ "ExplainedVarOld: 0.966\n",
+ "KL: 0.000915\n",
+ "PolicyEntropy: -4.61\n",
+ "PolicyLoss: -0.00168\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 3.31e+07\n",
+ "ValFuncLoss: 7.04e-05\n",
+ "Variance: 0.0791\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0007011869 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07886063 0.07387704 0.0782838 0.07483708]\n",
+ "FIT: 0.9596463708120245 2.2058708096771804 0.020120297578400632 0.11425252068295262\n",
+ "***** Episode 133218, Mean R = -3.6 Std R = 6.6 Min R = -47.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.972\n",
+ "ExplainedVarOld: 0.905\n",
+ "KL: 0.000701\n",
+ "PolicyEntropy: -4.61\n",
+ "PolicyLoss: -0.00176\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.31e+07\n",
+ "ValFuncLoss: 7.36e-05\n",
+ "Variance: 0.0789\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014074313 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07864159 0.07392758 0.07833152 0.074947 ]\n",
+ "FIT: 0.5592952050393607 2.077459338868317 0.021809755858720383 0.11773757746825111\n",
+ "***** Episode 133339, Mean R = -4.8 Std R = 6.7 Min R = -26.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.97\n",
+ "ExplainedVarOld: 0.96\n",
+ "KL: 0.00141\n",
+ "PolicyEntropy: -4.61\n",
+ "PolicyLoss: -0.00235\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 3.31e+07\n",
+ "ValFuncLoss: 8.98e-05\n",
+ "Variance: 0.0786\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010447364 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07842434 0.07371943 0.07805896 0.07500838]\n",
+ "FIT: 0.6891750386908305 1.9409633827984578 0.02094978720177089 0.11905296954082847\n",
+ "***** Episode 133460, Mean R = -4.3 Std R = 6.6 Min R = -38.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.965\n",
+ "ExplainedVarOld: 0.936\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -4.62\n",
+ "PolicyLoss: -0.00206\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 3.32e+07\n",
+ "ValFuncLoss: 8.49e-05\n",
+ "Variance: 0.0784\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00092573534 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07848482 0.07332443 0.07790806 0.07491477]\n",
+ "FIT: 0.7876586051401994 2.026966935711148 0.02133947642407715 0.12064739775435493\n",
+ "Update Cnt = 940 ET = 1082.4 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.1 1.1 0.1 | -5.0 -13.9 -0.1 | 10.7 4.2 2.7\n",
+ "v_f | -0.02 -0.02 -1.06 | 0.13 0.12 0.12 | -1.92 -0.50 -1.42 | 0.59 1.07 0.20\n",
+ "r_i | 1019.5 9.6 2351.0 | 580.0 572.1 29.6 | 2.9 -998.0 2300.1 | 1997.0 999.8 2400.0\n",
+ "v_i | -40.09 -1.06 -80.01 | 17.03 17.17 5.93 | -69.97 -29.96 -90.00 | -10.02 29.81 -70.01\n",
+ "norm_rf | 1.3 | 1.0 | 0.0 | 17.8\n",
+ "norm_vf | 1.08 | 0.12 | 0.59 | 2.21\n",
+ "gs_f | 21.6 | 25.8 | 0.2 | 295.8\n",
+ "thrust | 1227 42 9228 | 2821 2865 2104 | -15530 -16383 2000 | 16292 16578 19999\n",
+ "norm_thrust | 9868 | 3144 | 3464 | 20000\n",
+ "fuel | 290 | 16 | 260 | 465\n",
+ "rewards | -4.16 | 6.30 | -47.15 | 3.58\n",
+ "fuel_rewards | -7.48 | 0.42 | -11.99 | -6.71\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.49 | 0.52 | 0.12 | 4.15\n",
+ "norm_af | 0.05 | 0.03 | 0.00 | 0.60\n",
+ "norm_wf | 0.16 | 0.10 | 0.01 | 1.09\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.77 | -22.19 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.00 0.12 -0.00 | 0.36 0.20 0.20 | -1.52 -0.92 -1.04 | 1.64 1.07 1.12\n",
+ "w | -0.00 -0.01 -0.00 | 0.22 0.21 0.01 | -1.72 -2.45 -0.08 | 2.00 1.71 0.21\n",
+ "a_f | -0.00 -0.00 | 0.04 0.04 | -0.15 -0.19 | 0.55 0.22\n",
+ "w_f | -0.01 -0.02 -0.00 | 0.14 0.13 0.01 | -0.51 -0.48 -0.08 | 1.02 0.39 0.21\n",
+ "landing_rewards | 8.84 | 3.20 | 0.00 | 10.00\n",
+ "landing_margin | -0.02 | 0.43 | -0.19 | 12.75\n",
+ "tracking_rewards | -5.45 | 4.81 | -38.77 | 0.70\n",
+ "steps | 303 | 26 | 249 | 601\n",
+ "***** Episode 133581, Mean R = -4.8 Std R = 6.6 Min R = -26.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.972\n",
+ "ExplainedVarOld: 0.956\n",
+ "KL: 0.000926\n",
+ "PolicyEntropy: -4.63\n",
+ "PolicyLoss: -0.00195\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 3.32e+07\n",
+ "ValFuncLoss: 7.58e-05\n",
+ "Variance: 0.0785\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009757836 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07821312 0.07318708 0.07765798 0.07498212]\n",
+ "FIT: 0.6488937655060902 2.2168667563809907 0.021494178603595492 0.11881259555065031\n",
+ "***** Episode 133702, Mean R = -4.5 Std R = 6.1 Min R = -29.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.972\n",
+ "KL: 0.000976\n",
+ "PolicyEntropy: -4.63\n",
+ "PolicyLoss: -0.002\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 3.33e+07\n",
+ "ValFuncLoss: 5.78e-05\n",
+ "Variance: 0.0782\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0009832182 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07775965 0.07317974 0.07761551 0.07503869]\n",
+ "FIT: 0.7187833934886588 2.2347914993434506 0.021590073657103963 0.11877977930564729\n",
+ "***** Episode 133823, Mean R = -4.3 Std R = 6.6 Min R = -30.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.965\n",
+ "KL: 0.000983\n",
+ "PolicyEntropy: -4.64\n",
+ "PolicyLoss: -0.00196\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 3.33e+07\n",
+ "ValFuncLoss: 6.26e-05\n",
+ "Variance: 0.0778\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009979878 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07768082 0.07328875 0.0776305 0.07489824]\n",
+ "FIT: 0.6014426728044364 2.1005981236035485 0.023378017383443868 0.1192600437868973\n",
+ "***** Episode 133944, Mean R = -5.5 Std R = 6.8 Min R = -30.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.974\n",
+ "ExplainedVarOld: 0.968\n",
+ "KL: 0.000998\n",
+ "PolicyEntropy: -4.64\n",
+ "PolicyLoss: -0.00199\n",
+ "Steps: 3.6e+04\n",
+ "TotalSteps: 3.33e+07\n",
+ "ValFuncLoss: 8.34e-05\n",
+ "Variance: 0.0777\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011154634 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07774759 0.0732576 0.07741779 0.07507394]\n",
+ "FIT: 0.6376183111025128 2.059314771266827 0.02131397717959329 0.1153406958899874\n",
+ "***** Episode 134065, Mean R = -4.4 Std R = 6.8 Min R = -31.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.973\n",
+ "ExplainedVarOld: 0.963\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -4.64\n",
+ "PolicyLoss: -0.0019\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 3.34e+07\n",
+ "ValFuncLoss: 7.03e-05\n",
+ "Variance: 0.0777\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010288429 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07773225 0.07326938 0.07712976 0.07508575]\n",
+ "FIT: 0.6157668899023949 2.143066179492102 0.02171558071296902 0.11935319850461391\n",
+ "***** Episode 134186, Mean R = -4.6 Std R = 6.5 Min R = -27.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.978\n",
+ "ExplainedVarOld: 0.966\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -4.64\n",
+ "PolicyLoss: -0.00175\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 3.34e+07\n",
+ "ValFuncLoss: 7.92e-05\n",
+ "Variance: 0.0777\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009766646 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07754307 0.07323774 0.07693412 0.07501472]\n",
+ "FIT: 0.7528386877040549 2.192503477476493 0.02048635245413899 0.11665891079147019\n",
+ "***** Episode 134307, Mean R = -3.7 Std R = 7.1 Min R = -43.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.976\n",
+ "ExplainedVarOld: 0.965\n",
+ "KL: 0.000977\n",
+ "PolicyEntropy: -4.65\n",
+ "PolicyLoss: -0.00212\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.34e+07\n",
+ "ValFuncLoss: 6.37e-05\n",
+ "Variance: 0.0775\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001183696 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07736203 0.07311739 0.07730883 0.07492629]\n",
+ "FIT: 0.48494581081910587 2.006044424563755 0.019689764494867517 0.11655223320877323\n",
+ "***** Episode 134428, Mean R = -3.6 Std R = 5.5 Min R = -24.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.961\n",
+ "ExplainedVarOld: 0.955\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -4.65\n",
+ "PolicyLoss: -0.00183\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.35e+07\n",
+ "ValFuncLoss: 8e-05\n",
+ "Variance: 0.0774\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011383673 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0774788 0.07295892 0.07741103 0.07477608]\n",
+ "FIT: 0.5833306391154631 1.9804424343547506 0.02089628580703499 0.12031524170021737\n",
+ "***** Episode 134549, Mean R = -4.8 Std R = 6.0 Min R = -31.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.958\n",
+ "ExplainedVarOld: 0.947\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -4.65\n",
+ "PolicyLoss: -0.00181\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 3.35e+07\n",
+ "ValFuncLoss: 9.23e-05\n",
+ "Variance: 0.0775\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0007879032 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07738274 0.07289971 0.07728355 0.07444603]\n",
+ "FIT: 0.46321892001407355 2.027484828067297 0.020492130190241112 0.11763323239589607\n",
+ "***** Episode 134670, Mean R = -3.8 Std R = 5.0 Min R = -21.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.974\n",
+ "ExplainedVarOld: 0.965\n",
+ "KL: 0.000788\n",
+ "PolicyEntropy: -4.66\n",
+ "PolicyLoss: -0.00188\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.35e+07\n",
+ "ValFuncLoss: 6.15e-05\n",
+ "Variance: 0.0774\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00097532815 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07698704 0.07260443 0.07722817 0.07425926]\n",
+ "FIT: 0.5797114374068376 2.180365035889337 0.020399698401335733 0.11837696091953863\n",
+ "Update Cnt = 950 ET = 1073.0 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.2 -0.0 | 1.3 1.1 0.1 | -5.1 -4.5 -0.1 | 26.1 4.9 2.2\n",
+ "v_f | -0.01 -0.03 -1.05 | 0.14 0.11 0.13 | -0.39 -0.81 -1.42 | 2.15 0.61 0.57\n",
+ "r_i | 976.4 24.2 2349.0 | 571.2 574.8 29.2 | 2.3 -998.8 2300.1 | 1994.8 997.6 2399.9\n",
+ "v_i | -40.01 0.38 -80.09 | 17.13 17.43 5.67 | -69.99 -29.94 -89.99 | -10.04 29.93 -70.01\n",
+ "norm_rf | 1.3 | 1.1 | 0.1 | 26.2\n",
+ "norm_vf | 1.07 | 0.12 | 0.45 | 2.37\n",
+ "gs_f | 20.7 | 29.1 | 0.1 | 686.1\n",
+ "thrust | 1235 -8 9252 | 2843 2895 2092 | -16041 -16631 2000 | 16947 16368 19999\n",
+ "norm_thrust | 9906 | 3139 | 3464 | 20000\n",
+ "fuel | 290 | 16 | 258 | 487\n",
+ "rewards | -4.30 | 6.28 | -42.98 | 3.20\n",
+ "fuel_rewards | -7.48 | 0.42 | -12.55 | -6.65\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.49 | 0.55 | 0.07 | 6.96\n",
+ "norm_af | 0.05 | 0.04 | 0.00 | 0.60\n",
+ "norm_wf | 0.16 | 0.10 | 0.00 | 1.07\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.03 | 0.25 | -5.07 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | -0.01 0.12 -0.00 | 0.37 0.21 0.20 | -1.42 -1.00 -1.03 | 1.86 1.07 0.99\n",
+ "w | -0.00 -0.01 -0.00 | 0.22 0.21 0.02 | -1.73 -2.53 -0.09 | 1.98 1.50 0.28\n",
+ "a_f | -0.00 -0.00 | 0.05 0.04 | -0.54 -0.28 | 0.18 0.23\n",
+ "w_f | -0.01 -0.02 0.00 | 0.14 0.13 0.02 | -0.95 -0.46 -0.08 | 0.49 0.40 0.28\n",
+ "landing_rewards | 8.86 | 3.18 | 0.00 | 10.00\n",
+ "landing_margin | -0.00 | 0.66 | -0.19 | 21.23\n",
+ "tracking_rewards | -5.65 | 5.19 | -44.73 | 0.55\n",
+ "steps | 301 | 26 | 246 | 601\n",
+ "***** Episode 134791, Mean R = -3.8 Std R = 6.0 Min R = -26.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.97\n",
+ "ExplainedVarOld: 0.959\n",
+ "KL: 0.000975\n",
+ "PolicyEntropy: -4.67\n",
+ "PolicyLoss: -0.0018\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 3.36e+07\n",
+ "ValFuncLoss: 6.99e-05\n",
+ "Variance: 0.0772\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010781725 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07690872 0.07250789 0.07708615 0.07410467]\n",
+ "FIT: 0.4973693911019202 2.132235919053414 0.018878347190960622 0.12059216961522469\n",
+ "***** Episode 134912, Mean R = -3.2 Std R = 5.0 Min R = -19.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.969\n",
+ "ExplainedVarOld: 0.956\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -4.68\n",
+ "PolicyLoss: -0.00187\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.36e+07\n",
+ "ValFuncLoss: 6.02e-05\n",
+ "Variance: 0.0771\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00064180506 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07679664 0.07243042 0.07685269 0.07371817]\n",
+ "FIT: 0.6364170624521299 2.1684160046144405 0.02185201554633605 0.11513578572732236\n",
+ "***** Episode 135033, Mean R = -4.8 Std R = 6.1 Min R = -29.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.971\n",
+ "ExplainedVarOld: 0.967\n",
+ "KL: 0.000642\n",
+ "PolicyEntropy: -4.69\n",
+ "PolicyLoss: -0.00146\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.37e+07\n",
+ "ValFuncLoss: 8.04e-05\n",
+ "Variance: 0.0769\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009830772 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07682645 0.07215288 0.07660129 0.07339506]\n",
+ "FIT: 0.577282399709752 2.24054808351264 0.021465476122673063 0.1169994464516925\n",
+ "***** Episode 135154, Mean R = -4.4 Std R = 6.2 Min R = -27.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.977\n",
+ "ExplainedVarOld: 0.967\n",
+ "KL: 0.000983\n",
+ "PolicyEntropy: -4.7\n",
+ "PolicyLoss: -0.00222\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.37e+07\n",
+ "ValFuncLoss: 6.19e-05\n",
+ "Variance: 0.0768\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009913961 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07695981 0.07181503 0.0764076 0.07359018]\n",
+ "FIT: 0.7317300565266596 2.225824247438372 0.02154410836611656 0.11517271275310198\n",
+ "***** Episode 135275, Mean R = -4.5 Std R = 7.1 Min R = -40.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.965\n",
+ "ExplainedVarOld: 0.956\n",
+ "KL: 0.000991\n",
+ "PolicyEntropy: -4.7\n",
+ "PolicyLoss: -0.00202\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 3.37e+07\n",
+ "ValFuncLoss: 9.97e-05\n",
+ "Variance: 0.077\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0011941616 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07719676 0.07171506 0.07633917 0.07343238]\n",
+ "FIT: 0.6900865748749393 2.112450431994806 0.02226782909229702 0.11943458550233946\n",
+ "***** Episode 135396, Mean R = -4.9 Std R = 7.5 Min R = -42.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.974\n",
+ "ExplainedVarOld: 0.966\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -4.7\n",
+ "PolicyLoss: -0.00198\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.38e+07\n",
+ "ValFuncLoss: 8.19e-05\n",
+ "Variance: 0.0772\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001142722 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07710659 0.07152326 0.07640444 0.07329884]\n",
+ "FIT: 0.5153676298936548 1.9363010817321609 0.02068970951440256 0.11651881095491666\n",
+ "***** Episode 135517, Mean R = -3.9 Std R = 5.9 Min R = -26.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.971\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -4.71\n",
+ "PolicyLoss: -0.00232\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.38e+07\n",
+ "ValFuncLoss: 5.25e-05\n",
+ "Variance: 0.0771\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009794178 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07694995 0.0714831 0.07612596 0.0729743 ]\n",
+ "FIT: 0.6329607751130584 1.988341553521691 0.020962806990433385 0.11696145712501607\n",
+ "***** Episode 135638, Mean R = -4.4 Std R = 6.6 Min R = -39.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.963\n",
+ "ExplainedVarOld: 0.95\n",
+ "KL: 0.000979\n",
+ "PolicyEntropy: -4.72\n",
+ "PolicyLoss: -0.00174\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.38e+07\n",
+ "ValFuncLoss: 9.77e-05\n",
+ "Variance: 0.0769\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00095136 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07692347 0.07158586 0.07616377 0.07320619]\n",
+ "FIT: 0.5232739316459432 2.192411064415771 0.021017123277232867 0.11523987766196402\n",
+ "***** Episode 135759, Mean R = -4.2 Std R = 6.3 Min R = -30.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.971\n",
+ "ExplainedVarOld: 0.958\n",
+ "KL: 0.000951\n",
+ "PolicyEntropy: -4.72\n",
+ "PolicyLoss: -0.00195\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.39e+07\n",
+ "ValFuncLoss: 8.07e-05\n",
+ "Variance: 0.0769\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00091579533 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07681345 0.07139964 0.07619554 0.07316137]\n",
+ "FIT: 0.6153029725545575 2.1436906664410307 0.02030468148055086 0.11540131608144896\n",
+ "***** Episode 135880, Mean R = -4.1 Std R = 6.2 Min R = -27.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.964\n",
+ "ExplainedVarOld: 0.948\n",
+ "KL: 0.000916\n",
+ "PolicyEntropy: -4.72\n",
+ "PolicyLoss: -0.00198\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 3.39e+07\n",
+ "ValFuncLoss: 8.17e-05\n",
+ "Variance: 0.0768\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00096952764 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.077002 0.07122939 0.07596573 0.07321913]\n",
+ "FIT: 0.5686613128186813 2.07252350954294 0.02003867661016146 0.11652278910593226\n",
+ "Update Cnt = 960 ET = 1071.2 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.0 1.0 0.0 | -4.3 -4.4 -0.1 | 4.1 4.3 -0.0\n",
+ "v_f | -0.02 -0.02 -1.05 | 0.12 0.11 0.12 | -0.39 -0.57 -1.36 | 0.74 0.77 -0.32\n",
+ "r_i | 998.9 -12.0 2349.8 | 577.3 575.7 29.2 | 0.9 -992.6 2300.1 | 1998.4 997.8 2399.9\n",
+ "v_i | -38.80 -0.42 -80.26 | 17.68 17.40 5.80 | -70.00 -30.00 -89.99 | -10.02 30.00 -70.00\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.1\n",
+ "norm_vf | 1.06 | 0.11 | 0.66 | 1.54\n",
+ "gs_f | 22.7 | 51.8 | 1.6 | 1374.1\n",
+ "thrust | 1190 20 9258 | 2845 2857 2117 | -16280 -16407 2000 | 16361 16204 19997\n",
+ "norm_thrust | 9896 | 3153 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 259 | 346\n",
+ "rewards | -4.20 | 6.35 | -42.84 | 3.68\n",
+ "fuel_rewards | -7.50 | 0.39 | -8.92 | -6.67\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.52 | 0.56 | 0.42 | 4.70\n",
+ "norm_af | 0.05 | 0.03 | 0.00 | 0.33\n",
+ "norm_wf | 0.17 | 0.10 | 0.01 | 0.53\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.06 | 0.47 | -7.64 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | -0.00 0.11 -0.00 | 0.36 0.20 0.20 | -1.71 -0.96 -1.06 | 1.57 1.05 1.03\n",
+ "w | 0.00 -0.01 -0.00 | 0.22 0.21 0.01 | -1.67 -2.66 -0.07 | 2.21 1.59 0.14\n",
+ "a_f | -0.00 -0.00 | 0.04 0.04 | -0.17 -0.33 | 0.20 0.19\n",
+ "w_f | -0.02 -0.02 0.00 | 0.14 0.13 0.02 | -0.48 -0.47 -0.06 | 0.42 0.48 0.14\n",
+ "landing_rewards | 8.86 | 3.18 | 0.00 | 10.00\n",
+ "landing_margin | -0.02 | 0.23 | -0.19 | 3.39\n",
+ "tracking_rewards | -5.50 | 5.13 | -42.63 | 0.89\n",
+ "steps | 303 | 25 | 245 | 384\n",
+ "***** Episode 136001, Mean R = -3.6 Std R = 5.9 Min R = -24.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.966\n",
+ "ExplainedVarOld: 0.96\n",
+ "KL: 0.00097\n",
+ "PolicyEntropy: -4.72\n",
+ "PolicyLoss: -0.00174\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.39e+07\n",
+ "ValFuncLoss: 8.26e-05\n",
+ "Variance: 0.077\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013813344 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07698967 0.07098296 0.07614565 0.07315899]\n",
+ "FIT: 0.6646677644551277 2.1256457383135174 0.021590467595143027 0.11718520200963845\n",
+ "***** Episode 136122, Mean R = -4.2 Std R = 6.5 Min R = -33.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.972\n",
+ "KL: 0.00138\n",
+ "PolicyEntropy: -4.72\n",
+ "PolicyLoss: -0.00234\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.4e+07\n",
+ "ValFuncLoss: 5.61e-05\n",
+ "Variance: 0.077\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009392514 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07678123 0.07105343 0.07642031 0.07309571]\n",
+ "FIT: 0.5827726729608561 2.094101201011245 0.022578908378677993 0.11925374745321675\n",
+ "***** Episode 136243, Mean R = -5.1 Std R = 7.1 Min R = -25.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.969\n",
+ "ExplainedVarOld: 0.959\n",
+ "KL: 0.000939\n",
+ "PolicyEntropy: -4.72\n",
+ "PolicyLoss: -0.00184\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 3.4e+07\n",
+ "ValFuncLoss: 0.0001\n",
+ "Variance: 0.0768\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011650675 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07689209 0.07122528 0.07630583 0.07306211]\n",
+ "FIT: 0.5216144826875337 2.1150007558495596 0.02229332397776478 0.12050495335943628\n",
+ "***** Episode 136364, Mean R = -5.1 Std R = 6.5 Min R = -27.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.963\n",
+ "ExplainedVarOld: 0.951\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -4.72\n",
+ "PolicyLoss: -0.00215\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 3.41e+07\n",
+ "ValFuncLoss: 0.000106\n",
+ "Variance: 0.0769\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.000984507 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0770382 0.07120516 0.07622863 0.07291389]\n",
+ "FIT: 0.4930350997261525 1.9815773711589248 0.020267635947300293 0.11723867795613692\n",
+ "***** Episode 136485, Mean R = -4.0 Std R = 5.8 Min R = -22.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.958\n",
+ "ExplainedVarOld: 0.947\n",
+ "KL: 0.000985\n",
+ "PolicyEntropy: -4.72\n",
+ "PolicyLoss: -0.00187\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.41e+07\n",
+ "ValFuncLoss: 8.72e-05\n",
+ "Variance: 0.077\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001071871 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0770236 0.07149079 0.07607757 0.0728024 ]\n",
+ "FIT: 0.5712837150931124 1.8223302294913004 0.02134759118783503 0.11601381698062614\n",
+ "***** Episode 136606, Mean R = -4.8 Std R = 6.9 Min R = -29.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.958\n",
+ "ExplainedVarOld: 0.949\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -4.72\n",
+ "PolicyLoss: -0.00181\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 3.41e+07\n",
+ "ValFuncLoss: 0.000103\n",
+ "Variance: 0.077\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009532631 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07683495 0.0716116 0.07598473 0.07262112]\n",
+ "FIT: 0.6365236043357142 2.1884275525309915 0.022937519329114503 0.12054773698207968\n",
+ "***** Episode 136727, Mean R = -5.1 Std R = 6.8 Min R = -31.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.000953\n",
+ "PolicyEntropy: -4.73\n",
+ "PolicyLoss: -0.00235\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.42e+07\n",
+ "ValFuncLoss: 7.65e-05\n",
+ "Variance: 0.0768\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0016998885 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07649396 0.07132912 0.07585508 0.07262439]\n",
+ "FIT: 0.4381288259014361 1.9712431570395066 0.018842894084322756 0.11655218343703802\n",
+ "***** Episode 136848, Mean R = -3.2 Std R = 5.3 Min R = -23.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.955\n",
+ "ExplainedVarOld: 0.941\n",
+ "KL: 0.0017\n",
+ "PolicyEntropy: -4.74\n",
+ "PolicyLoss: -0.00175\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 3.42e+07\n",
+ "ValFuncLoss: 7.92e-05\n",
+ "Variance: 0.0765\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0011867502 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07648145 0.0713122 0.07559314 0.07252257]\n",
+ "FIT: 0.6043024206264844 2.061559592470528 0.02048049678292548 0.11609580461907792\n",
+ "***** Episode 136969, Mean R = -3.9 Std R = 5.9 Min R = -27.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.967\n",
+ "ExplainedVarOld: 0.962\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -4.74\n",
+ "PolicyLoss: -0.00203\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 3.42e+07\n",
+ "ValFuncLoss: 7.76e-05\n",
+ "Variance: 0.0765\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001093059 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07629029 0.07127515 0.07542867 0.07223423]\n",
+ "FIT: 0.6001631179367647 2.0736654131872654 0.020260043216194918 0.11617373650980786\n",
+ "***** Episode 137090, Mean R = -3.5 Std R = 5.8 Min R = -25.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -4.75\n",
+ "PolicyLoss: -0.00187\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.43e+07\n",
+ "ValFuncLoss: 5.2e-05\n",
+ "Variance: 0.0763\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011668064 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07630714 0.07123999 0.07517415 0.07215514]\n",
+ "FIT: 0.5868873819522792 2.062542874629979 0.02150041149414262 0.11920646705456552\n",
+ "Update Cnt = 970 ET = 1091.9 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.2 -0.0 | 1.1 1.1 0.0 | -4.5 -4.8 -0.1 | 6.3 4.9 -0.0\n",
+ "v_f | -0.02 -0.01 -1.04 | 0.12 0.10 0.12 | -0.45 -0.36 -1.39 | 0.63 0.35 -0.16\n",
+ "r_i | 1010.5 0.6 2350.1 | 574.2 578.4 28.3 | 0.6 -997.8 2300.1 | 1998.4 1000.0 2400.0\n",
+ "v_i | -40.50 -0.56 -79.88 | 17.01 17.20 5.69 | -69.70 -29.98 -89.94 | -10.03 29.97 -70.00\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 7.4\n",
+ "norm_vf | 1.05 | 0.11 | 0.40 | 1.39\n",
+ "gs_f | 20.2 | 25.3 | 2.4 | 583.8\n",
+ "thrust | 1242 26 9237 | 2832 2880 2090 | -15660 -16634 2000 | 16577 16339 20000\n",
+ "norm_thrust | 9887 | 3131 | 3464 | 20000\n",
+ "fuel | 291 | 16 | 259 | 349\n",
+ "rewards | -4.32 | 6.37 | -33.88 | 3.63\n",
+ "fuel_rewards | -7.49 | 0.41 | -8.98 | -6.68\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.48 | 0.51 | 0.33 | 4.04\n",
+ "norm_af | 0.05 | 0.03 | 0.00 | 0.22\n",
+ "norm_wf | 0.16 | 0.09 | 0.00 | 0.58\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.04 | 0.36 | -5.66 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.00 0.12 -0.00 | 0.37 0.20 0.20 | -1.43 -0.95 -1.00 | 1.64 1.05 1.09\n",
+ "w | -0.00 -0.01 -0.00 | 0.22 0.21 0.01 | -1.68 -2.41 -0.09 | 2.21 1.44 0.15\n",
+ "a_f | -0.00 -0.00 | 0.04 0.04 | -0.16 -0.17 | 0.21 0.15\n",
+ "w_f | -0.01 -0.02 -0.00 | 0.13 0.13 0.02 | -0.58 -0.50 -0.09 | 0.54 0.43 0.14\n",
+ "landing_rewards | 8.79 | 3.27 | 0.00 | 10.00\n",
+ "landing_margin | -0.03 | 0.21 | -0.19 | 2.56\n",
+ "tracking_rewards | -5.57 | 5.14 | -35.85 | 0.66\n",
+ "steps | 303 | 25 | 249 | 381\n",
+ "***** Episode 137211, Mean R = -4.4 Std R = 6.5 Min R = -25.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.978\n",
+ "ExplainedVarOld: 0.968\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -4.76\n",
+ "PolicyLoss: -0.00208\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.43e+07\n",
+ "ValFuncLoss: 5.79e-05\n",
+ "Variance: 0.0763\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009319781 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07665505 0.07107129 0.07472449 0.07213194]\n",
+ "FIT: 0.6203492130445134 2.137571045977772 0.02139667168795779 0.1189504766901075\n",
+ "***** Episode 137332, Mean R = -4.1 Std R = 6.2 Min R = -26.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.972\n",
+ "KL: 0.000932\n",
+ "PolicyEntropy: -4.76\n",
+ "PolicyLoss: -0.00216\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.43e+07\n",
+ "ValFuncLoss: 5.54e-05\n",
+ "Variance: 0.0767\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ " *** BROKE ***\n",
+ "kl = 0.004718567 beta = 0.06666666666666667 lr_mult = 0.4444444444444444\n",
+ "var: [0.07679558 0.07102896 0.07458358 0.07209473]\n",
+ "FIT: 0.4933456633181729 1.8702012331643867 0.020609435062093628 0.1170911490686533\n",
+ "***** Episode 137453, Mean R = -4.4 Std R = 5.3 Min R = -19.2\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.96\n",
+ "ExplainedVarOld: 0.949\n",
+ "KL: 0.00472\n",
+ "PolicyEntropy: -4.76\n",
+ "PolicyLoss: 0.00418\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 3.44e+07\n",
+ "ValFuncLoss: 0.000112\n",
+ "Variance: 0.0768\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ " *** BROKE ***\n",
+ "kl = 0.0044262963 beta = 0.044444444444444446 lr_mult = 0.4444444444444444\n",
+ "var: [0.07681466 0.07103301 0.07457098 0.07208813]\n",
+ "FIT: 0.5684785088475657 2.1153063716443716 0.02204990932799876 0.11740440085146774\n",
+ "***** Episode 137574, Mean R = -4.4 Std R = 6.3 Min R = -23.3\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.974\n",
+ "KL: 0.00443\n",
+ "PolicyEntropy: -4.76\n",
+ "PolicyLoss: 0.00818\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 3.44e+07\n",
+ "ValFuncLoss: 5.99e-05\n",
+ "Variance: 0.0768\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0005857617 beta = 0.044444444444444446 lr_mult = 0.4444444444444444\n",
+ "var: [0.07658274 0.07093569 0.07438873 0.07219715]\n",
+ "FIT: 0.4853136688512277 2.1141648114214164 0.01974343377519856 0.1167195882468991\n",
+ "***** Episode 137695, Mean R = -3.2 Std R = 4.9 Min R = -18.8\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.000586\n",
+ "PolicyEntropy: -4.77\n",
+ "PolicyLoss: -3.22e-05\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 3.45e+07\n",
+ "ValFuncLoss: 4.01e-05\n",
+ "Variance: 0.0766\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00023710489 beta = 0.06666666666666667 lr_mult = 0.4444444444444444\n",
+ "var: [0.0764576 0.07077222 0.07447615 0.07205818]\n",
+ "FIT: 0.5892693624124173 1.9532020160937136 0.021222042549960025 0.11865042539043487\n",
+ "***** Episode 137816, Mean R = -4.4 Std R = 6.2 Min R = -27.4\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.967\n",
+ "ExplainedVarOld: 0.958\n",
+ "KL: 0.000237\n",
+ "PolicyEntropy: -4.77\n",
+ "PolicyLoss: -0.000758\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.45e+07\n",
+ "ValFuncLoss: 8.55e-05\n",
+ "Variance: 0.0765\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00036247759 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0765463 0.07088055 0.07475405 0.07190929]\n",
+ "FIT: 0.6375562124067742 2.21108511181693 0.021114149148517305 0.11624344154167177\n",
+ "***** Episode 137937, Mean R = -3.9 Std R = 6.3 Min R = -26.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.972\n",
+ "ExplainedVarOld: 0.969\n",
+ "KL: 0.000362\n",
+ "PolicyEntropy: -4.77\n",
+ "PolicyLoss: -0.00117\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 3.45e+07\n",
+ "ValFuncLoss: 8.97e-05\n",
+ "Variance: 0.0765\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011938658 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0762993 0.07116843 0.07499519 0.07190878]\n",
+ "FIT: 0.5604112980187373 2.061306288584162 0.02160799736109532 0.11903095061190462\n",
+ "***** Episode 138058, Mean R = -4.4 Std R = 5.8 Min R = -30.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.971\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -4.76\n",
+ "PolicyLoss: -0.00229\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.46e+07\n",
+ "ValFuncLoss: 5.26e-05\n",
+ "Variance: 0.0763\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.000995525 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07627369 0.07110573 0.07497597 0.07198237]\n",
+ "FIT: 0.5298615435327144 1.9868849095895285 0.019932020263317633 0.11734866341623547\n",
+ "***** Episode 138179, Mean R = -3.9 Std R = 6.1 Min R = -27.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.96\n",
+ "ExplainedVarOld: 0.946\n",
+ "KL: 0.000996\n",
+ "PolicyEntropy: -4.76\n",
+ "PolicyLoss: -0.00156\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.46e+07\n",
+ "ValFuncLoss: 8.91e-05\n",
+ "Variance: 0.0763\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001052746 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07637358 0.07088464 0.07484582 0.07191655]\n",
+ "FIT: 0.8815577331405317 1.9597073265934208 0.022595242002021666 0.11943832709704538\n",
+ "***** Episode 138300, Mean R = -5.2 Std R = 6.2 Min R = -25.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.965\n",
+ "ExplainedVarOld: 0.944\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -4.77\n",
+ "PolicyLoss: -0.00194\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.46e+07\n",
+ "ValFuncLoss: 0.000113\n",
+ "Variance: 0.0764\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012975245 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07613679 0.07088684 0.07462509 0.07175601]\n",
+ "FIT: 0.4984749919647285 2.1086224930160564 0.02063049694153527 0.12295485689853053\n",
+ "Update Cnt = 980 ET = 1079.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.2 -0.0 | 1.2 1.2 0.1 | -4.1 -4.5 -0.1 | 12.5 17.2 2.6\n",
+ "v_f | -0.01 -0.02 -1.03 | 0.15 0.11 0.13 | -0.60 -0.41 -1.39 | 2.68 1.35 -0.04\n",
+ "r_i | 999.5 8.5 2350.4 | 585.7 580.1 28.9 | 2.3 -999.8 2300.0 | 1995.6 999.4 2399.9\n",
+ "v_i | -39.90 0.01 -80.13 | 17.68 17.10 5.73 | -69.98 -29.94 -90.00 | -10.04 29.95 -70.01\n",
+ "norm_rf | 1.4 | 1.0 | 0.0 | 21.4\n",
+ "norm_vf | 1.04 | 0.13 | 0.15 | 3.01\n",
+ "gs_f | 21.1 | 27.4 | 0.1 | 541.0\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "thrust | 1222 5 9224 | 2858 2897 2097 | -15290 -16297 2000 | 16371 16315 19995\n",
+ "norm_thrust | 9882 | 3145 | 3464 | 20000\n",
+ "fuel | 291 | 17 | 259 | 516\n",
+ "rewards | -4.20 | 6.00 | -30.00 | 3.60\n",
+ "fuel_rewards | -7.49 | 0.43 | -13.31 | -6.66\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.49 | 0.57 | 0.09 | 6.06\n",
+ "norm_af | 0.05 | 0.04 | 0.00 | 0.80\n",
+ "norm_wf | 0.16 | 0.10 | 0.00 | 0.81\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.04 | 0.47 | -13.17 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.11 0.00 | 0.36 0.21 0.20 | -1.40 -0.94 -1.03 | 1.84 1.08 1.15\n",
+ "w | -0.00 -0.01 0.00 | 0.22 0.21 0.02 | -1.69 -2.37 -0.09 | 2.32 1.57 0.36\n",
+ "a_f | -0.00 -0.00 | 0.05 0.04 | -0.74 -0.25 | 0.20 0.29\n",
+ "w_f | -0.02 -0.02 0.00 | 0.14 0.12 0.02 | -0.67 -0.48 -0.08 | 0.44 0.46 0.33\n",
+ "landing_rewards | 8.98 | 3.02 | 0.00 | 10.00\n",
+ "landing_margin | -0.02 | 0.51 | -0.19 | 16.44\n",
+ "tracking_rewards | -5.65 | 4.88 | -29.85 | 0.93\n",
+ "steps | 303 | 26 | 250 | 601\n",
+ "***** Episode 138421, Mean R = -4.1 Std R = 6.3 Min R = -29.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.97\n",
+ "ExplainedVarOld: 0.961\n",
+ "KL: 0.0013\n",
+ "PolicyEntropy: -4.78\n",
+ "PolicyLoss: -0.00218\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 3.47e+07\n",
+ "ValFuncLoss: 6.92e-05\n",
+ "Variance: 0.0761\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011106367 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07606683 0.07091202 0.07453401 0.07169015]\n",
+ "FIT: 0.5443181482278721 2.0773921627717886 0.020521463023563013 0.11557252712190887\n",
+ "***** Episode 138542, Mean R = -3.8 Std R = 5.1 Min R = -23.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.972\n",
+ "ExplainedVarOld: 0.966\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -4.78\n",
+ "PolicyLoss: -0.00217\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 3.47e+07\n",
+ "ValFuncLoss: 6.91e-05\n",
+ "Variance: 0.0761\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011505599 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07590552 0.07063738 0.07430623 0.07169871]\n",
+ "FIT: 0.5434387247224394 2.152988875847797 0.021238386641959556 0.11851201175621696\n",
+ "***** Episode 138663, Mean R = -4.2 Std R = 5.9 Min R = -23.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.978\n",
+ "ExplainedVarOld: 0.971\n",
+ "KL: 0.00115\n",
+ "PolicyEntropy: -4.79\n",
+ "PolicyLoss: -0.00207\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.48e+07\n",
+ "ValFuncLoss: 5.83e-05\n",
+ "Variance: 0.0759\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0007807019 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07554535 0.07062226 0.07424832 0.07190268]\n",
+ "FIT: 0.6105886567665442 2.264277292126558 0.02313080620814502 0.12039539693292187\n",
+ "***** Episode 138784, Mean R = -5.5 Std R = 7.0 Min R = -29.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.971\n",
+ "ExplainedVarOld: 0.956\n",
+ "KL: 0.000781\n",
+ "PolicyEntropy: -4.79\n",
+ "PolicyLoss: -0.00197\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 3.48e+07\n",
+ "ValFuncLoss: 8.89e-05\n",
+ "Variance: 0.0755\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011024278 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07549139 0.07075851 0.07425974 0.0720008 ]\n",
+ "FIT: 0.4929517996588596 2.0859375230544166 0.020277107389648174 0.11804393413945002\n",
+ "***** Episode 138905, Mean R = -3.8 Std R = 5.3 Min R = -18.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.965\n",
+ "ExplainedVarOld: 0.958\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -4.79\n",
+ "PolicyLoss: -0.00188\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.48e+07\n",
+ "ValFuncLoss: 7.66e-05\n",
+ "Variance: 0.0755\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009960426 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07563912 0.07065894 0.07430232 0.07198776]\n",
+ "FIT: 0.4973398247422528 2.1369053884381595 0.020279562003551244 0.11695196483670668\n",
+ "***** Episode 139026, Mean R = -3.7 Std R = 5.4 Min R = -23.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.971\n",
+ "KL: 0.000996\n",
+ "PolicyEntropy: -4.79\n",
+ "PolicyLoss: -0.00207\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 3.49e+07\n",
+ "ValFuncLoss: 4.59e-05\n",
+ "Variance: 0.0756\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009909238 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07545239 0.07066365 0.07436759 0.07196438]\n",
+ "FIT: 0.6428371401655167 2.0548593586161377 0.02004604116440707 0.11622914356382656\n",
+ "***** Episode 139147, Mean R = -3.7 Std R = 6.0 Min R = -26.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.967\n",
+ "ExplainedVarOld: 0.954\n",
+ "KL: 0.000991\n",
+ "PolicyEntropy: -4.79\n",
+ "PolicyLoss: -0.00199\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 3.49e+07\n",
+ "ValFuncLoss: 7.27e-05\n",
+ "Variance: 0.0755\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010300148 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07503568 0.07088051 0.07425133 0.07162608]\n",
+ "FIT: 0.5351551328846621 2.2654361857817626 0.02165166918428225 0.11921703561486179\n",
+ "***** Episode 139268, Mean R = -4.6 Std R = 6.7 Min R = -27.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.972\n",
+ "ExplainedVarOld: 0.959\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -4.8\n",
+ "PolicyLoss: -0.00219\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 3.49e+07\n",
+ "ValFuncLoss: 7.42e-05\n",
+ "Variance: 0.075\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009372491 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07473381 0.0708576 0.07417472 0.07138502]\n",
+ "FIT: 0.6231951438456751 2.049051865984468 0.020668702014975424 0.11683975444415398\n",
+ "***** Episode 139389, Mean R = -4.0 Std R = 5.9 Min R = -29.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.973\n",
+ "ExplainedVarOld: 0.963\n",
+ "KL: 0.000937\n",
+ "PolicyEntropy: -4.81\n",
+ "PolicyLoss: -0.00175\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 3.5e+07\n",
+ "ValFuncLoss: 6.79e-05\n",
+ "Variance: 0.0747\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012059533 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07447939 0.07067323 0.07445312 0.07131262]\n",
+ "FIT: 0.5951560358780568 2.055657813099854 0.022426071124963153 0.11996324704238469\n",
+ "***** Episode 139510, Mean R = -4.9 Std R = 6.8 Min R = -27.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.977\n",
+ "ExplainedVarOld: 0.961\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -4.81\n",
+ "PolicyLoss: -0.00206\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 3.5e+07\n",
+ "ValFuncLoss: 7.04e-05\n",
+ "Variance: 0.0745\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.000938547 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07441288 0.07051197 0.07448122 0.07093539]\n",
+ "FIT: 0.5969940417665005 2.040134268599376 0.019955863987699565 0.11705099636214895\n",
+ "Update Cnt = 990 ET = 1078.5 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.2 -0.0 | 1.2 1.1 0.0 | -3.9 -12.6 -0.1 | 11.5 5.5 1.3\n",
+ "v_f | -0.03 -0.01 -1.02 | 0.13 0.11 0.12 | -1.41 -0.41 -1.41 | 0.53 0.43 0.32\n",
+ "r_i | 1019.1 -16.6 2351.1 | 574.2 585.3 28.6 | 0.0 -994.8 2300.0 | 1999.3 999.3 2399.9\n",
+ "v_i | -40.75 -0.29 -80.09 | 17.14 17.50 5.71 | -69.94 -29.94 -89.97 | -10.05 29.99 -70.03\n",
+ "norm_rf | 1.3 | 0.9 | 0.0 | 17.1\n",
+ "norm_vf | 1.04 | 0.11 | 0.64 | 1.49\n",
+ "gs_f | 19.7 | 25.5 | 0.2 | 416.6\n",
+ "thrust | 1250 18 9236 | 2842 2900 2084 | -15527 -16311 2000 | 16628 17140 19999\n",
+ "norm_thrust | 9892 | 3140 | 3464 | 20000\n",
+ "fuel | 291 | 16 | 259 | 468\n",
+ "rewards | -4.17 | 6.04 | -29.81 | 3.43\n",
+ "fuel_rewards | -7.50 | 0.41 | -12.07 | -6.67\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.48 | 0.53 | 0.13 | 5.83\n",
+ "norm_af | 0.05 | 0.03 | 0.00 | 0.44\n",
+ "norm_wf | 0.16 | 0.09 | 0.00 | 1.03\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.04 | 0.41 | -7.52 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 0.00 | 0.36 0.20 0.20 | -1.49 -0.92 -1.07 | 1.64 1.05 1.13\n",
+ "w | -0.00 -0.01 0.00 | 0.22 0.21 0.01 | -1.73 -2.54 -0.11 | 2.11 1.36 0.18\n",
+ "a_f | -0.00 -0.00 | 0.04 0.04 | -0.14 -0.21 | 0.43 0.13\n",
+ "w_f | -0.01 -0.02 -0.00 | 0.13 0.12 0.02 | -0.53 -0.45 -0.11 | 1.01 0.49 0.18\n",
+ "landing_rewards | 8.96 | 3.05 | 0.00 | 10.00\n",
+ "landing_margin | -0.02 | 0.41 | -0.19 | 12.07\n",
+ "tracking_rewards | -5.59 | 4.93 | -32.30 | 0.77\n",
+ "steps | 302 | 26 | 248 | 601\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 139631, Mean R = -3.4 Std R = 5.6 Min R = -24.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.974\n",
+ "ExplainedVarOld: 0.97\n",
+ "KL: 0.000939\n",
+ "PolicyEntropy: -4.82\n",
+ "PolicyLoss: -0.00185\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.5e+07\n",
+ "ValFuncLoss: 6.94e-05\n",
+ "Variance: 0.0745\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009981837 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07425455 0.07064405 0.0743584 0.07071472]\n",
+ "FIT: 0.6856155574894256 2.029840913734677 0.020436004147406775 0.11654334411806688\n",
+ "***** Episode 139752, Mean R = -3.4 Std R = 6.9 Min R = -44.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.978\n",
+ "ExplainedVarOld: 0.871\n",
+ "KL: 0.000998\n",
+ "PolicyEntropy: -4.82\n",
+ "PolicyLoss: -0.00289\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 3.51e+07\n",
+ "ValFuncLoss: 5.28e-05\n",
+ "Variance: 0.0744\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011035665 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07415385 0.07073857 0.07432584 0.07061229]\n",
+ "FIT: 0.5814830454101715 2.1741376355282527 0.019702068312635893 0.11607074345727095\n",
+ "***** Episode 139873, Mean R = -3.5 Std R = 5.4 Min R = -21.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.972\n",
+ "ExplainedVarOld: 0.958\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -4.82\n",
+ "PolicyLoss: -0.00206\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.51e+07\n",
+ "ValFuncLoss: 6.16e-05\n",
+ "Variance: 0.0743\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010447119 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07420645 0.07085135 0.07408511 0.07057992]\n",
+ "FIT: 0.560123930415108 1.9582341595276032 0.020240060859474128 0.11731794041800146\n",
+ "***** Episode 139994, Mean R = -3.8 Std R = 6.3 Min R = -28.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.966\n",
+ "ExplainedVarOld: 0.96\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -4.83\n",
+ "PolicyLoss: -0.00186\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 3.52e+07\n",
+ "ValFuncLoss: 9.68e-05\n",
+ "Variance: 0.0742\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011651505 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07429266 0.07080976 0.07410191 0.0703793 ]\n",
+ "FIT: 0.5661085925340221 2.100061275637671 0.019914755511400577 0.11827672864852477\n",
+ "***** Episode 140115, Mean R = -3.4 Std R = 5.4 Min R = -21.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.974\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -4.83\n",
+ "PolicyLoss: -0.00242\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 3.52e+07\n",
+ "ValFuncLoss: 4.65e-05\n",
+ "Variance: 0.0743\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013001364 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0743881 0.07066214 0.07421023 0.07004447]\n",
+ "FIT: 0.5864412585964729 2.089311917622268 0.020412833874385167 0.11666961405009187\n",
+ "***** Episode 140236, Mean R = -4.0 Std R = 5.9 Min R = -26.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.968\n",
+ "ExplainedVarOld: 0.96\n",
+ "KL: 0.0013\n",
+ "PolicyEntropy: -4.83\n",
+ "PolicyLoss: -0.00238\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.52e+07\n",
+ "ValFuncLoss: 7.62e-05\n",
+ "Variance: 0.0744\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011019894 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07432317 0.07065914 0.07399434 0.06983214]\n",
+ "FIT: 0.6821829452447461 2.004039067060715 0.021599283681894427 0.11695662678265535\n",
+ "***** Episode 140357, Mean R = -4.3 Std R = 6.9 Min R = -34.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.977\n",
+ "ExplainedVarOld: 0.966\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -4.84\n",
+ "PolicyLoss: -0.00222\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 3.53e+07\n",
+ "ValFuncLoss: 7.37e-05\n",
+ "Variance: 0.0743\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011241671 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07406321 0.07067929 0.07411838 0.06978074]\n",
+ "FIT: 0.6472686396357797 2.14737972850082 0.020243918725315266 0.12017098149750617\n",
+ "***** Episode 140478, Mean R = -4.0 Std R = 6.1 Min R = -26.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.961\n",
+ "ExplainedVarOld: 0.952\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -4.84\n",
+ "PolicyLoss: -0.00191\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 3.53e+07\n",
+ "ValFuncLoss: 8.36e-05\n",
+ "Variance: 0.0741\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009995601 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07418306 0.07040851 0.07433357 0.06971183]\n",
+ "FIT: 0.5268961821211309 2.0010089994495717 0.019227825011147857 0.1150506090785942\n",
+ "***** Episode 140599, Mean R = -3.0 Std R = 5.0 Min R = -26.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.977\n",
+ "ExplainedVarOld: 0.968\n",
+ "KL: 0.001\n",
+ "PolicyEntropy: -4.84\n",
+ "PolicyLoss: -0.00196\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 3.53e+07\n",
+ "ValFuncLoss: 4.33e-05\n",
+ "Variance: 0.0743\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010791612 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07430585 0.07008099 0.07448556 0.06984898]\n",
+ "FIT: 0.5604944145418834 2.0089293854291683 0.02100126093836247 0.11777351054363212\n",
+ "***** Episode 140720, Mean R = -4.2 Std R = 5.9 Min R = -21.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.969\n",
+ "ExplainedVarOld: 0.959\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -4.84\n",
+ "PolicyLoss: -0.00167\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 3.54e+07\n",
+ "ValFuncLoss: 8.33e-05\n",
+ "Variance: 0.0745\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012893939 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07434379 0.06992967 0.07454194 0.0697875 ]\n",
+ "FIT: 0.5104632817817595 2.091071714318494 0.020610211682454117 0.1164427245024305\n",
+ "Update Cnt = 1000 ET = 1077.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.2 -0.0 | 1.2 1.5 0.1 | -4.8 -11.4 -0.1 | 14.7 36.2 3.4\n",
+ "v_f | -0.03 -0.02 -1.02 | 0.12 0.13 0.13 | -0.80 -0.58 -1.45 | 1.51 1.82 0.57\n",
+ "r_i | 1016.8 -6.4 2350.5 | 575.5 570.9 28.9 | 2.7 -986.1 2300.1 | 1999.6 997.7 2400.0\n",
+ "v_i | -39.89 -0.41 -80.16 | 17.20 17.58 5.69 | -69.86 -29.80 -89.99 | -10.08 30.00 -70.02\n",
+ "norm_rf | 1.4 | 1.4 | 0.0 | 37.7\n",
+ "norm_vf | 1.03 | 0.12 | 0.68 | 2.39\n",
+ "gs_f | 21.5 | 27.1 | 0.2 | 366.6\n",
+ "thrust | 1220 21 9242 | 2791 2896 2088 | -15568 -17052 2000 | 16531 16212 19999\n",
+ "norm_thrust | 9882 | 3130 | 3464 | 20000\n",
+ "fuel | 291 | 17 | 258 | 503\n",
+ "rewards | -3.75 | 5.98 | -44.43 | 3.57\n",
+ "fuel_rewards | -7.50 | 0.45 | -12.98 | -6.65\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.50 | 0.54 | 0.11 | 6.55\n",
+ "norm_af | 0.05 | 0.04 | 0.00 | 0.69\n",
+ "norm_wf | 0.16 | 0.09 | 0.01 | 0.96\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.62 | -16.36 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.12 -0.00 | 0.36 0.20 0.20 | -1.32 -1.04 -1.08 | 2.22 1.05 1.19\n",
+ "w | -0.00 -0.01 -0.00 | 0.22 0.21 0.02 | -1.67 -2.45 -0.09 | 2.24 1.68 0.38\n",
+ "a_f | -0.00 -0.00 | 0.04 0.04 | -0.30 -0.24 | 0.35 0.59\n",
+ "w_f | -0.01 -0.03 -0.00 | 0.12 0.13 0.02 | -0.53 -0.85 -0.09 | 0.44 0.43 0.37\n",
+ "landing_rewards | 9.07 | 2.91 | 0.00 | 10.00\n",
+ "landing_margin | 0.00 | 1.04 | -0.19 | 32.67\n",
+ "tracking_rewards | -5.27 | 4.62 | -28.28 | 0.68\n",
+ "steps | 303 | 27 | 252 | 601\n",
+ "***** Episode 140841, Mean R = -3.9 Std R = 5.5 Min R = -27.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.974\n",
+ "ExplainedVarOld: 0.966\n",
+ "KL: 0.00129\n",
+ "PolicyEntropy: -4.84\n",
+ "PolicyLoss: -0.00209\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 3.54e+07\n",
+ "ValFuncLoss: 6.12e-05\n",
+ "Variance: 0.0745\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001348728 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07442442 0.06989627 0.0745504 0.06969997]\n",
+ "FIT: 0.7481035693773888 2.125159804397828 0.021772112863275118 0.11483884167329858\n",
+ "***** Episode 140962, Mean R = -4.4 Std R = 7.1 Min R = -46.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.961\n",
+ "KL: 0.00135\n",
+ "PolicyEntropy: -4.84\n",
+ "PolicyLoss: -0.00194\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 3.54e+07\n",
+ "ValFuncLoss: 5.7e-05\n",
+ "Variance: 0.0746\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011897158 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07460709 0.07010263 0.0740831 0.06956626]\n",
+ "FIT: 0.7178813825588404 2.015453475971362 0.02093849532102578 0.11769102569742496\n",
+ "***** Episode 141083, Mean R = -4.0 Std R = 6.2 Min R = -40.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.976\n",
+ "ExplainedVarOld: 0.964\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -4.85\n",
+ "PolicyLoss: -0.00223\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.55e+07\n",
+ "ValFuncLoss: 6.24e-05\n",
+ "Variance: 0.0746\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012160467 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07442933 0.07020652 0.07401364 0.06925526]\n",
+ "FIT: 0.577895566545095 2.015070075314489 0.020603776322813877 0.11566887658904117\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 141204, Mean R = -4.0 Std R = 5.8 Min R = -24.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.969\n",
+ "ExplainedVarOld: 0.962\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -4.85\n",
+ "PolicyLoss: -0.00174\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 3.55e+07\n",
+ "ValFuncLoss: 7.13e-05\n",
+ "Variance: 0.0744\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010081851 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0742211 0.07008886 0.07404803 0.06890114]\n",
+ "FIT: 0.5775225397439798 2.133617938957305 0.020727660584447805 0.11683447668131669\n",
+ "***** Episode 141325, Mean R = -4.0 Std R = 5.5 Min R = -24.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.97\n",
+ "ExplainedVarOld: 0.963\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -4.86\n",
+ "PolicyLoss: -0.00199\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 3.56e+07\n",
+ "ValFuncLoss: 7.5e-05\n",
+ "Variance: 0.0742\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011677896 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0740689 0.06994452 0.07407638 0.06857754]\n",
+ "FIT: 0.6758397709274362 2.2109834132022073 0.02002196815524347 0.1164202915388267\n",
+ "***** Episode 141446, Mean R = -3.2 Std R = 5.8 Min R = -33.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -4.87\n",
+ "PolicyLoss: -0.00225\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.56e+07\n",
+ "ValFuncLoss: 3.91e-05\n",
+ "Variance: 0.0741\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010083573 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07381511 0.06983172 0.07394965 0.0684225 ]\n",
+ "FIT: 0.6461081477913252 2.1931149575546685 0.0203777769287118 0.11681328070443196\n",
+ "***** Episode 141567, Mean R = -4.0 Std R = 6.4 Min R = -28.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.963\n",
+ "ExplainedVarOld: 0.953\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -4.88\n",
+ "PolicyLoss: -0.0016\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 3.56e+07\n",
+ "ValFuncLoss: 8.77e-05\n",
+ "Variance: 0.0739\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010736745 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07375153 0.06979369 0.07422209 0.06841841]\n",
+ "FIT: 0.6292534064961113 2.1277307395768865 0.02032009898689043 0.11662119941585469\n",
+ "***** Episode 141688, Mean R = -3.4 Std R = 5.5 Min R = -27.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -4.88\n",
+ "PolicyLoss: -0.00206\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 3.57e+07\n",
+ "ValFuncLoss: 4.19e-05\n",
+ "Variance: 0.0742\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011648743 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07364235 0.06969602 0.07422815 0.06818297]\n",
+ "FIT: 0.5383975606114422 2.1025296373507785 0.02069437720030052 0.11751273740778799\n",
+ "***** Episode 141809, Mean R = -3.9 Std R = 5.5 Min R = -24.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.974\n",
+ "ExplainedVarOld: 0.96\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -4.88\n",
+ "PolicyLoss: -0.00212\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.57e+07\n",
+ "ValFuncLoss: 6.66e-05\n",
+ "Variance: 0.0742\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010587694 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07345221 0.0697389 0.07413018 0.06783947]\n",
+ "FIT: 0.6460709299441173 2.120949988062481 0.02264879581557477 0.11772788042993472\n",
+ "***** Episode 141930, Mean R = -4.9 Std R = 7.1 Min R = -31.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.962\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -4.89\n",
+ "PolicyLoss: -0.00199\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 3.57e+07\n",
+ "ValFuncLoss: 6.14e-05\n",
+ "Variance: 0.0741\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012095089 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07324153 0.06922724 0.0741044 0.06765817]\n",
+ "FIT: 0.6720963693860211 2.0407534672593903 0.02210702170654607 0.12120597467164873\n",
+ "Update Cnt = 1010 ET = 1074.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.2 -0.0 | 1.1 1.1 0.0 | -4.1 -3.8 -0.1 | 5.1 5.5 -0.0\n",
+ "v_f | -0.01 -0.02 -1.01 | 0.12 0.09 0.12 | -0.68 -0.36 -1.33 | 0.69 0.46 -0.38\n",
+ "r_i | 967.4 11.3 2349.3 | 571.5 585.8 29.9 | 0.9 -999.7 2300.0 | 1999.2 999.1 2400.0\n",
+ "v_i | -40.37 0.21 -80.00 | 17.38 17.32 5.82 | -69.92 -29.98 -89.99 | -10.01 29.98 -70.03\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.8\n",
+ "norm_vf | 1.02 | 0.11 | 0.55 | 1.33\n",
+ "gs_f | 22.5 | 24.0 | 1.9 | 245.0\n",
+ "thrust | 1248 -2 9251 | 2903 2855 2075 | -15978 -16190 2000 | 16573 15927 19998\n",
+ "norm_thrust | 9908 | 3140 | 3464 | 20000\n",
+ "fuel | 290 | 15 | 257 | 349\n",
+ "rewards | -4.04 | 6.18 | -46.73 | 3.50\n",
+ "fuel_rewards | -7.49 | 0.40 | -9.01 | -6.64\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.49 | 0.52 | 0.40 | 5.12\n",
+ "norm_af | 0.05 | 0.03 | 0.00 | 0.21\n",
+ "norm_wf | 0.16 | 0.09 | 0.00 | 0.49\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.04 | 0.44 | -10.25 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | -0.01 0.12 -0.00 | 0.36 0.21 0.20 | -1.47 -0.93 -1.03 | 1.47 1.05 1.10\n",
+ "w | -0.00 -0.01 -0.00 | 0.21 0.21 0.01 | -1.77 -2.55 -0.12 | 2.11 1.59 0.09\n",
+ "a_f | -0.00 -0.00 | 0.04 0.04 | -0.15 -0.16 | 0.19 0.16\n",
+ "w_f | -0.02 -0.03 -0.00 | 0.13 0.12 0.01 | -0.45 -0.45 -0.12 | 0.45 0.44 0.08\n",
+ "landing_rewards | 9.07 | 2.90 | 0.00 | 10.00\n",
+ "landing_margin | -0.04 | 0.21 | -0.19 | 3.09\n",
+ "tracking_rewards | -5.59 | 5.02 | -38.43 | 0.66\n",
+ "steps | 302 | 26 | 250 | 394\n",
+ "***** Episode 142051, Mean R = -4.7 Std R = 6.5 Min R = -33.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.976\n",
+ "ExplainedVarOld: 0.964\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -4.9\n",
+ "PolicyLoss: -0.00208\n",
+ "Steps: 3.59e+04\n",
+ "TotalSteps: 3.58e+07\n",
+ "ValFuncLoss: 7.12e-05\n",
+ "Variance: 0.0741\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010074603 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07314941 0.06908442 0.07399303 0.0677292 ]\n",
+ "FIT: 0.570560498196469 2.169605857243327 0.021036763858543212 0.11410384452464645\n",
+ "***** Episode 142172, Mean R = -4.0 Std R = 5.5 Min R = -24.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.973\n",
+ "ExplainedVarOld: 0.966\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -4.91\n",
+ "PolicyLoss: -0.00174\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 3.58e+07\n",
+ "ValFuncLoss: 6.98e-05\n",
+ "Variance: 0.074\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010600965 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07318959 0.06894134 0.07417289 0.0676116 ]\n",
+ "FIT: 0.5694978265047675 2.174705044498027 0.021008145158502398 0.11838997541527227\n",
+ "***** Episode 142293, Mean R = -4.0 Std R = 6.2 Min R = -27.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.961\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -4.91\n",
+ "PolicyLoss: -0.0022\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 3.58e+07\n",
+ "ValFuncLoss: 5.55e-05\n",
+ "Variance: 0.0742\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009981496 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07350577 0.06875631 0.07397614 0.06767914]\n",
+ "FIT: 0.5929561640124188 2.0694294650908014 0.020818766117053324 0.11856320713407259\n",
+ "***** Episode 142414, Mean R = -3.7 Std R = 5.4 Min R = -25.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.974\n",
+ "KL: 0.000998\n",
+ "PolicyEntropy: -4.91\n",
+ "PolicyLoss: -0.00193\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.59e+07\n",
+ "ValFuncLoss: 4.59e-05\n",
+ "Variance: 0.074\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010197031 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07355674 0.06859951 0.0739501 0.0677062 ]\n",
+ "FIT: 0.6789964668463465 2.1862987806710916 0.020562602404943696 0.1157057301769077\n",
+ "***** Episode 142535, Mean R = -3.7 Std R = 6.5 Min R = -33.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.977\n",
+ "ExplainedVarOld: 0.972\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -4.91\n",
+ "PolicyLoss: -0.00187\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 3.59e+07\n",
+ "ValFuncLoss: 6.02e-05\n",
+ "Variance: 0.074\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012906471 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07325241 0.06859965 0.07400311 0.06757279]\n",
+ "FIT: 0.5406105695009706 2.1157752571183233 0.022390947268653306 0.11968258580005718\n",
+ "***** Episode 142656, Mean R = -5.1 Std R = 6.4 Min R = -26.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.97\n",
+ "ExplainedVarOld: 0.959\n",
+ "KL: 0.00129\n",
+ "PolicyEntropy: -4.92\n",
+ "PolicyLoss: -0.002\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.6e+07\n",
+ "ValFuncLoss: 8.52e-05\n",
+ "Variance: 0.074\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010093035 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07323825 0.06839412 0.07410306 0.06750491]\n",
+ "FIT: 0.5192756888594976 2.0631255912099062 0.020182257490809465 0.11841236419757363\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 142777, Mean R = -3.9 Std R = 5.3 Min R = -25.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.973\n",
+ "ExplainedVarOld: 0.958\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -4.92\n",
+ "PolicyLoss: -0.00182\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 3.6e+07\n",
+ "ValFuncLoss: 5.87e-05\n",
+ "Variance: 0.0741\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013172172 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07310798 0.06828014 0.07439662 0.06734462]\n",
+ "FIT: 0.694819306076653 2.050461546519451 0.020611646533945868 0.11759729995623983\n",
+ "***** Episode 142898, Mean R = -3.9 Std R = 5.8 Min R = -33.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.973\n",
+ "ExplainedVarOld: 0.954\n",
+ "KL: 0.00132\n",
+ "PolicyEntropy: -4.92\n",
+ "PolicyLoss: -0.00251\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.6e+07\n",
+ "ValFuncLoss: 7.27e-05\n",
+ "Variance: 0.0744\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00096835743 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07317703 0.06824487 0.07426825 0.06704192]\n",
+ "FIT: 0.5421424199154877 2.2240388446892565 0.021800954047530203 0.11892956515663806\n",
+ "***** Episode 143019, Mean R = -4.8 Std R = 7.2 Min R = -27.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.959\n",
+ "ExplainedVarOld: 0.945\n",
+ "KL: 0.000968\n",
+ "PolicyEntropy: -4.93\n",
+ "PolicyLoss: -0.00192\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 3.61e+07\n",
+ "ValFuncLoss: 0.000116\n",
+ "Variance: 0.0743\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013659664 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07326096 0.06837754 0.07426368 0.06686222]\n",
+ "FIT: 0.6454523196891484 2.160178679609126 0.020567782262481453 0.11717351457247384\n",
+ "***** Episode 143140, Mean R = -3.7 Std R = 6.0 Min R = -38.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.971\n",
+ "KL: 0.00137\n",
+ "PolicyEntropy: -4.93\n",
+ "PolicyLoss: -0.00204\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 3.61e+07\n",
+ "ValFuncLoss: 5.31e-05\n",
+ "Variance: 0.0743\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012419461 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07323857 0.06825583 0.07415788 0.06685492]\n",
+ "FIT: 0.6535257289289488 2.052730575723555 0.02184581465508488 0.11672558423927898\n",
+ "Update Cnt = 1020 ET = 1089.1 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.0 -0.2 -0.0 | 1.1 1.0 0.0 | -4.6 -4.8 -0.1 | 5.4 3.6 -0.0\n",
+ "v_f | -0.01 -0.02 -1.01 | 0.11 0.10 0.12 | -0.34 -0.61 -1.40 | 0.50 0.63 -0.05\n",
+ "r_i | 969.8 6.5 2349.5 | 575.3 573.8 28.7 | 1.1 -1000.0 2300.2 | 1999.5 998.9 2399.9\n",
+ "v_i | -39.66 0.12 -80.04 | 17.20 17.63 5.73 | -69.97 -29.98 -89.96 | -10.01 29.90 -70.01\n",
+ "norm_rf | 1.3 | 0.8 | 0.1 | 5.4\n",
+ "norm_vf | 1.02 | 0.11 | 0.48 | 1.40\n",
+ "gs_f | 22.8 | 27.5 | 2.2 | 486.0\n",
+ "thrust | 1219 2 9231 | 2859 2889 2082 | -16191 -16357 2000 | 16423 15984 20000\n",
+ "norm_thrust | 9884 | 3139 | 3464 | 20000\n",
+ "fuel | 290 | 15 | 259 | 349\n",
+ "rewards | -4.10 | 6.18 | -38.44 | 3.49\n",
+ "fuel_rewards | -7.48 | 0.39 | -9.01 | -6.66\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.51 | 0.53 | 0.49 | 4.93\n",
+ "norm_af | 0.05 | 0.03 | 0.00 | 0.23\n",
+ "norm_wf | 0.16 | 0.09 | 0.01 | 0.56\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.06 | 0.58 | -10.15 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.00 0.11 0.00 | 0.36 0.21 0.20 | -1.35 -1.04 -1.04 | 1.74 1.05 1.08\n",
+ "w | -0.00 -0.01 0.00 | 0.21 0.21 0.01 | -1.79 -2.50 -0.10 | 2.31 1.47 0.13\n",
+ "a_f | -0.00 -0.00 | 0.04 0.04 | -0.16 -0.23 | 0.18 0.20\n",
+ "w_f | -0.02 -0.02 0.00 | 0.12 0.12 0.01 | -0.47 -0.43 -0.07 | 0.52 0.55 0.13\n",
+ "landing_rewards | 8.99 | 3.01 | 0.00 | 10.00\n",
+ "landing_margin | -0.04 | 0.20 | -0.19 | 2.83\n",
+ "tracking_rewards | -5.55 | 5.10 | -35.81 | 0.85\n",
+ "steps | 302 | 24 | 248 | 384\n",
+ "***** Episode 143261, Mean R = -4.3 Std R = 7.0 Min R = -33.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.958\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -4.93\n",
+ "PolicyLoss: -0.00171\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 3.61e+07\n",
+ "ValFuncLoss: 6.45e-05\n",
+ "Variance: 0.0742\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013216329 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07326432 0.06813256 0.07394108 0.06666808]\n",
+ "FIT: 0.6656210611530374 2.0896139975173984 0.021854437229579225 0.11812490953706557\n",
+ "***** Episode 143382, Mean R = -4.2 Std R = 6.4 Min R = -27.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.967\n",
+ "KL: 0.00132\n",
+ "PolicyEntropy: -4.94\n",
+ "PolicyLoss: -0.00252\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.62e+07\n",
+ "ValFuncLoss: 5.86e-05\n",
+ "Variance: 0.0739\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0007789308 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07285505 0.06802159 0.07388745 0.06665774]\n",
+ "FIT: 0.6360922704025781 2.1507792015200113 0.02091259747118312 0.11915399807467472\n",
+ "***** Episode 143503, Mean R = -4.1 Std R = 6.0 Min R = -29.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.977\n",
+ "ExplainedVarOld: 0.966\n",
+ "KL: 0.000779\n",
+ "PolicyEntropy: -4.94\n",
+ "PolicyLoss: -0.00216\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 3.62e+07\n",
+ "ValFuncLoss: 5.86e-05\n",
+ "Variance: 0.0739\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011552958 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07249503 0.06814582 0.07395522 0.0666227 ]\n",
+ "FIT: 0.6904131627718553 2.285738290508217 0.02048867682652382 0.11711669100829748\n",
+ "***** Episode 143624, Mean R = -3.4 Std R = 6.5 Min R = -38.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -4.95\n",
+ "PolicyLoss: -0.00245\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 3.63e+07\n",
+ "ValFuncLoss: 4.4e-05\n",
+ "Variance: 0.074\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010937591 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07271209 0.06838996 0.07378066 0.06647726]\n",
+ "FIT: 0.6363929403405743 2.000114725018427 0.021028267299993107 0.11700385379627887\n",
+ "***** Episode 143745, Mean R = -4.3 Std R = 6.2 Min R = -27.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.963\n",
+ "ExplainedVarOld: 0.947\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -4.95\n",
+ "PolicyLoss: -0.00213\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.63e+07\n",
+ "ValFuncLoss: 0.000126\n",
+ "Variance: 0.0738\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009408803 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07274275 0.0682298 0.07369392 0.06614804]\n",
+ "FIT: 0.587166788386781 1.9739616877564106 0.018628172142317528 0.11490670688330466\n",
+ "***** Episode 143866, Mean R = -2.8 Std R = 5.2 Min R = -23.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.964\n",
+ "ExplainedVarOld: 0.956\n",
+ "KL: 0.000941\n",
+ "PolicyEntropy: -4.95\n",
+ "PolicyLoss: -0.00181\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 3.63e+07\n",
+ "ValFuncLoss: 6.43e-05\n",
+ "Variance: 0.0737\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011381186 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07260036 0.06815159 0.07366367 0.0660167 ]\n",
+ "FIT: 0.5204604116628625 2.0441170169316387 0.021099147888861712 0.1179339561449651\n",
+ "***** Episode 143987, Mean R = -4.5 Std R = 6.1 Min R = -28.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.962\n",
+ "ExplainedVarOld: 0.952\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -4.96\n",
+ "PolicyLoss: -0.00194\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.64e+07\n",
+ "ValFuncLoss: 8.94e-05\n",
+ "Variance: 0.0737\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009518302 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0725689 0.06809135 0.0735731 0.06590633]\n",
+ "FIT: 0.5795319001863506 2.0960349342835243 0.019791623140745916 0.11766723744057217\n",
+ "***** Episode 144108, Mean R = -3.3 Std R = 5.5 Min R = -24.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.966\n",
+ "KL: 0.000952\n",
+ "PolicyEntropy: -4.96\n",
+ "PolicyLoss: -0.00215\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 3.64e+07\n",
+ "ValFuncLoss: 4.35e-05\n",
+ "Variance: 0.0736\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010788039 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07253004 0.06787238 0.07327899 0.06561274]\n",
+ "FIT: 0.641336313006916 2.1597495040447128 0.020792482574026994 0.11734585516755876\n",
+ "***** Episode 144229, Mean R = -3.8 Std R = 6.3 Min R = -34.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.976\n",
+ "ExplainedVarOld: 0.964\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -4.98\n",
+ "PolicyLoss: -0.00206\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 3.64e+07\n",
+ "ValFuncLoss: 6.33e-05\n",
+ "Variance: 0.0733\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001154815 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07240502 0.06796733 0.07301322 0.06536217]\n",
+ "FIT: 0.4309429815336229 2.017840916746987 0.0190963168147957 0.11690659703185888\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 144350, Mean R = -3.0 Std R = 4.5 Min R = -18.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.965\n",
+ "ExplainedVarOld: 0.956\n",
+ "KL: 0.00115\n",
+ "PolicyEntropy: -4.98\n",
+ "PolicyLoss: -0.00177\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.65e+07\n",
+ "ValFuncLoss: 6.77e-05\n",
+ "Variance: 0.073\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013841556 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07231351 0.06791601 0.07290285 0.06541103]\n",
+ "FIT: 0.5016572258264075 2.2095305481137846 0.020163427633986368 0.11681589537513437\n",
+ "Update Cnt = 1030 ET = 1082.5 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.2 -0.0 | 1.1 1.1 0.0 | -5.3 -5.3 -0.1 | 3.9 3.7 -0.0\n",
+ "v_f | -0.02 -0.02 -1.01 | 0.11 0.09 0.12 | -0.57 -0.39 -1.41 | 0.54 0.36 -0.37\n",
+ "r_i | 992.9 3.5 2351.4 | 580.0 574.4 28.6 | 0.2 -998.4 2300.1 | 1998.4 998.1 2400.0\n",
+ "v_i | -39.39 -0.81 -79.81 | 17.15 17.33 5.81 | -69.99 -29.94 -89.99 | -10.16 29.91 -70.04\n",
+ "norm_rf | 1.3 | 0.8 | 0.1 | 5.3\n",
+ "norm_vf | 1.02 | 0.11 | 0.58 | 1.41\n",
+ "gs_f | 24.3 | 50.5 | 1.9 | 1504.8\n",
+ "thrust | 1206 33 9237 | 2813 2873 2082 | -15381 -16334 2000 | 16719 16357 19993\n",
+ "norm_thrust | 9876 | 3121 | 3464 | 20000\n",
+ "fuel | 291 | 16 | 260 | 352\n",
+ "rewards | -3.71 | 5.90 | -38.24 | 3.76\n",
+ "fuel_rewards | -7.50 | 0.40 | -9.07 | -6.69\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.51 | 0.53 | 0.42 | 4.99\n",
+ "norm_af | 0.05 | 0.03 | 0.00 | 0.19\n",
+ "norm_wf | 0.16 | 0.09 | 0.01 | 0.53\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.59 | -9.03 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.11 -0.00 | 0.36 0.20 0.20 | -1.35 -0.89 -1.02 | 1.71 1.06 1.06\n",
+ "w | -0.00 -0.01 0.00 | 0.21 0.21 0.01 | -1.67 -2.51 -0.11 | 2.20 1.33 0.16\n",
+ "a_f | -0.00 -0.00 | 0.04 0.03 | -0.15 -0.18 | 0.18 0.17\n",
+ "w_f | -0.02 -0.02 0.00 | 0.13 0.12 0.02 | -0.53 -0.47 -0.10 | 0.44 0.37 0.16\n",
+ "landing_rewards | 9.09 | 2.87 | 0.00 | 10.00\n",
+ "landing_margin | -0.04 | 0.19 | -0.19 | 3.15\n",
+ "tracking_rewards | -5.23 | 4.63 | -35.29 | 0.86\n",
+ "steps | 303 | 24 | 247 | 381\n",
+ "***** Episode 144471, Mean R = -3.7 Std R = 5.7 Min R = -23.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.968\n",
+ "ExplainedVarOld: 0.961\n",
+ "KL: 0.00138\n",
+ "PolicyEntropy: -4.99\n",
+ "PolicyLoss: -0.00205\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 3.65e+07\n",
+ "ValFuncLoss: 8.36e-05\n",
+ "Variance: 0.0729\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010387381 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07233889 0.06786951 0.07266248 0.0656449 ]\n",
+ "FIT: 0.5324952462814829 2.046451088050522 0.020983551135416587 0.11837608890414952\n",
+ "***** Episode 144592, Mean R = -4.2 Std R = 5.7 Min R = -21.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.97\n",
+ "ExplainedVarOld: 0.964\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -4.99\n",
+ "PolicyLoss: -0.00206\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.65e+07\n",
+ "ValFuncLoss: 8.03e-05\n",
+ "Variance: 0.0727\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001085999 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07231633 0.06776472 0.07270076 0.0658368 ]\n",
+ "FIT: 0.6792993861590013 2.013997282785017 0.020451925868514336 0.1157195287921234\n",
+ "***** Episode 144713, Mean R = -3.9 Std R = 5.8 Min R = -23.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.97\n",
+ "ExplainedVarOld: 0.959\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -4.98\n",
+ "PolicyLoss: -0.0021\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.66e+07\n",
+ "ValFuncLoss: 7.55e-05\n",
+ "Variance: 0.0727\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009977039 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07221006 0.06767085 0.07269552 0.06577701]\n",
+ "FIT: 0.5109872676740369 2.2057071617619397 0.02095452632793852 0.1193990444367511\n",
+ "***** Episode 144834, Mean R = -4.1 Std R = 5.9 Min R = -26.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.977\n",
+ "ExplainedVarOld: 0.966\n",
+ "KL: 0.000998\n",
+ "PolicyEntropy: -4.99\n",
+ "PolicyLoss: -0.00199\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 3.66e+07\n",
+ "ValFuncLoss: 5.89e-05\n",
+ "Variance: 0.0727\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0008813736 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07195602 0.0673793 0.07229991 0.06573541]\n",
+ "FIT: 0.5339998913419419 2.0926475115902687 0.020491255945494398 0.11702092814628574\n",
+ "***** Episode 144955, Mean R = -3.6 Std R = 5.5 Min R = -21.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.969\n",
+ "KL: 0.000881\n",
+ "PolicyEntropy: -5\n",
+ "PolicyLoss: -0.00214\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 3.67e+07\n",
+ "ValFuncLoss: 4.85e-05\n",
+ "Variance: 0.0723\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010299344 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07163349 0.06738508 0.07188649 0.06566457]\n",
+ "FIT: 0.5307841346477071 2.1584968724699682 0.021059981881703826 0.11651866164157242\n",
+ "***** Episode 145076, Mean R = -4.3 Std R = 5.7 Min R = -22.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.964\n",
+ "ExplainedVarOld: 0.953\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -5.01\n",
+ "PolicyLoss: -0.00224\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.67e+07\n",
+ "ValFuncLoss: 8.76e-05\n",
+ "Variance: 0.0719\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009932693 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07153249 0.06743423 0.07174613 0.06569 ]\n",
+ "FIT: 0.6920561133954916 2.216787630689022 0.02277085844796793 0.11841075230724263\n",
+ "***** Episode 145197, Mean R = -4.9 Std R = 6.9 Min R = -33.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.975\n",
+ "ExplainedVarOld: 0.964\n",
+ "KL: 0.000993\n",
+ "PolicyEntropy: -5.02\n",
+ "PolicyLoss: -0.00185\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 3.67e+07\n",
+ "ValFuncLoss: 7.94e-05\n",
+ "Variance: 0.0717\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011907162 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07174093 0.06742108 0.07172704 0.06570566]\n",
+ "FIT: 0.6044331092933944 2.114525411596304 0.01977883613829857 0.11533524196971695\n",
+ "***** Episode 145318, Mean R = -3.4 Std R = 5.8 Min R = -30.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.973\n",
+ "ExplainedVarOld: 0.949\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -5.01\n",
+ "PolicyLoss: -0.00174\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.68e+07\n",
+ "ValFuncLoss: 6.69e-05\n",
+ "Variance: 0.0717\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010320275 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07207253 0.0674459 0.07175106 0.06572948]\n",
+ "FIT: 0.5858898338995451 2.196913785391051 0.021046900126905528 0.1171746135534718\n",
+ "***** Episode 145439, Mean R = -3.9 Std R = 6.4 Min R = -28.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.976\n",
+ "ExplainedVarOld: 0.966\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -5.01\n",
+ "PolicyLoss: -0.0022\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 3.68e+07\n",
+ "ValFuncLoss: 6.66e-05\n",
+ "Variance: 0.0721\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011699871 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07213111 0.06738257 0.07183924 0.0655062 ]\n",
+ "FIT: 0.7015413490740626 2.255937755854179 0.02464715898113138 0.12008996858554455\n",
+ "***** Episode 145560, Mean R = -5.5 Std R = 7.6 Min R = -38.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -5.01\n",
+ "PolicyLoss: -0.00202\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 3.68e+07\n",
+ "ValFuncLoss: 6.73e-05\n",
+ "Variance: 0.0721\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012629725 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0720403 0.06739954 0.07178928 0.0653962 ]\n",
+ "FIT: 0.5126456431391223 2.152999558905193 0.020033778147127004 0.1167973723142673\n",
+ "Update Cnt = 1040 ET = 1083.1 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.2 -0.0 | 1.1 1.1 0.0 | -4.8 -4.4 -0.1 | 5.2 2.9 -0.0\n",
+ "v_f | -0.02 -0.01 -1.00 | 0.11 0.09 0.12 | -0.45 -0.46 -1.35 | 0.43 0.41 -0.49\n",
+ "r_i | 1013.0 3.6 2350.0 | 581.3 582.4 28.7 | 4.4 -998.4 2300.0 | 1998.4 993.9 2400.0\n",
+ "v_i | -40.56 0.91 -80.10 | 17.39 17.56 5.72 | -69.98 -29.90 -90.00 | -10.11 29.95 -70.06\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.5\n",
+ "norm_vf | 1.01 | 0.11 | 0.54 | 1.35\n",
+ "gs_f | 22.9 | 26.8 | 2.7 | 503.2\n",
+ "thrust | 1243 -24 9221 | 2874 2915 2090 | -15967 -16241 2000 | 16798 16330 19997\n",
+ "norm_thrust | 9885 | 3159 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 260 | 352\n",
+ "rewards | -4.13 | 6.18 | -38.05 | 3.61\n",
+ "fuel_rewards | -7.49 | 0.38 | -9.08 | -6.71\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.48 | 0.50 | 0.40 | 4.39\n",
+ "norm_af | 0.05 | 0.03 | 0.00 | 0.18\n",
+ "norm_wf | 0.15 | 0.08 | 0.01 | 0.52\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.06 | 0.50 | -9.37 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "attitude | 0.00 0.12 0.00 | 0.36 0.21 0.20 | -1.48 -0.94 -1.04 | 1.58 1.06 1.08\n",
+ "w | 0.00 -0.01 -0.00 | 0.21 0.21 0.01 | -1.68 -2.58 -0.10 | 1.96 1.73 0.11\n",
+ "a_f | -0.01 -0.00 | 0.04 0.04 | -0.17 -0.15 | 0.15 0.12\n",
+ "w_f | -0.01 -0.02 -0.00 | 0.13 0.12 0.01 | -0.47 -0.39 -0.09 | 0.49 0.40 0.11\n",
+ "landing_rewards | 9.09 | 2.87 | 0.00 | 10.00\n",
+ "landing_margin | -0.05 | 0.15 | -0.19 | 2.32\n",
+ "tracking_rewards | -5.67 | 5.10 | -39.65 | 0.96\n",
+ "steps | 303 | 24 | 252 | 395\n",
+ "***** Episode 145681, Mean R = -3.4 Std R = 5.6 Min R = -27.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.978\n",
+ "ExplainedVarOld: 0.97\n",
+ "KL: 0.00126\n",
+ "PolicyEntropy: -5.01\n",
+ "PolicyLoss: -0.00218\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 3.69e+07\n",
+ "ValFuncLoss: 5.02e-05\n",
+ "Variance: 0.072\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011986806 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07174017 0.0673418 0.07159692 0.06542307]\n",
+ "FIT: 0.5688869030443425 2.226999892290522 0.020072422357576215 0.11564696858146488\n",
+ "***** Episode 145802, Mean R = -3.5 Std R = 5.6 Min R = -22.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.975\n",
+ "ExplainedVarOld: 0.969\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: -5.02\n",
+ "PolicyLoss: -0.00222\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.69e+07\n",
+ "ValFuncLoss: 5.73e-05\n",
+ "Variance: 0.0717\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012172895 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07202932 0.06702503 0.07143425 0.06539377]\n",
+ "FIT: 0.6108573471598175 2.250823985614857 0.023130098640828784 0.11741263299026758\n",
+ "***** Episode 145923, Mean R = -5.0 Std R = 6.6 Min R = -26.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -5.02\n",
+ "PolicyLoss: -0.00239\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 3.69e+07\n",
+ "ValFuncLoss: 6.32e-05\n",
+ "Variance: 0.072\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010926657 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07219804 0.0670021 0.07163134 0.06524708]\n",
+ "FIT: 0.59488490543894 2.3265197376890687 0.021631241524728773 0.11828978792362776\n",
+ "***** Episode 146044, Mean R = -4.4 Std R = 6.1 Min R = -27.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.97\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -5.02\n",
+ "PolicyLoss: -0.00252\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.7e+07\n",
+ "ValFuncLoss: 5.47e-05\n",
+ "Variance: 0.0722\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011907545 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07226001 0.06708084 0.07153459 0.0650228 ]\n",
+ "FIT: 0.5367531285050875 2.142390691840146 0.02093327631862511 0.11706958489913911\n",
+ "***** Episode 146165, Mean R = -3.5 Std R = 5.8 Min R = -19.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -5.02\n",
+ "PolicyLoss: -0.00231\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.7e+07\n",
+ "ValFuncLoss: 2.67e-05\n",
+ "Variance: 0.0723\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00091715285 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07223513 0.06695177 0.07145251 0.065047 ]\n",
+ "FIT: 0.52865182444247 2.081368875710743 0.020338809356295402 0.11678930224894328\n",
+ "***** Episode 146286, Mean R = -3.5 Std R = 5.7 Min R = -23.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.977\n",
+ "ExplainedVarOld: 0.967\n",
+ "KL: 0.000917\n",
+ "PolicyEntropy: -5.03\n",
+ "PolicyLoss: -0.00209\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 3.71e+07\n",
+ "ValFuncLoss: 5.49e-05\n",
+ "Variance: 0.0722\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012187229 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07213981 0.06680622 0.07132986 0.06512714]\n",
+ "FIT: 0.5685210851485059 2.093983020073736 0.021380532766039746 0.11856261625069407\n",
+ "***** Episode 146407, Mean R = -4.4 Std R = 5.8 Min R = -23.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.975\n",
+ "ExplainedVarOld: 0.965\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -5.03\n",
+ "PolicyLoss: -0.00196\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.71e+07\n",
+ "ValFuncLoss: 6.77e-05\n",
+ "Variance: 0.0721\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011751889 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07208542 0.06673883 0.07142041 0.06473394]\n",
+ "FIT: 0.5396840234509803 1.9692750314294432 0.019785538395282003 0.11585622155989876\n",
+ "***** Episode 146528, Mean R = -3.2 Std R = 5.2 Min R = -19.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -5.04\n",
+ "PolicyLoss: -0.00242\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.71e+07\n",
+ "ValFuncLoss: 4.63e-05\n",
+ "Variance: 0.0721\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001267158 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07213858 0.06658611 0.07155315 0.06443202]\n",
+ "FIT: 0.5334267355598816 2.2392448754606047 0.020728251417646712 0.11704239961475989\n",
+ "***** Episode 146649, Mean R = -3.8 Std R = 5.8 Min R = -21.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.97\n",
+ "ExplainedVarOld: 0.965\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -5.04\n",
+ "PolicyLoss: -0.00191\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.72e+07\n",
+ "ValFuncLoss: 7.16e-05\n",
+ "Variance: 0.0721\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009422007 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07215881 0.06647235 0.0715159 0.06444414]\n",
+ "FIT: 0.7815390992223558 2.248234907480903 0.022104323759751847 0.11818623143795252\n",
+ "***** Episode 146770, Mean R = -4.6 Std R = 7.1 Min R = -33.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.973\n",
+ "ExplainedVarOld: 0.954\n",
+ "KL: 0.000942\n",
+ "PolicyEntropy: -5.04\n",
+ "PolicyLoss: -0.00221\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.72e+07\n",
+ "ValFuncLoss: 9.09e-05\n",
+ "Variance: 0.0722\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001439932 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07218563 0.06656105 0.07148758 0.06447835]\n",
+ "FIT: 0.5647356315140385 2.144636779999757 0.022754228265883004 0.11797320094148636\n",
+ "Update Cnt = 1050 ET = 1073.4 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.2 -0.0 | 1.1 1.0 0.0 | -4.1 -4.7 -0.1 | 4.5 3.3 -0.0\n",
+ "v_f | -0.01 -0.01 -1.00 | 0.10 0.09 0.12 | -0.38 -0.44 -1.37 | 0.39 0.30 -0.61\n",
+ "r_i | 991.1 16.3 2349.8 | 591.2 594.5 28.3 | 3.7 -998.5 2300.0 | 1997.1 998.5 2400.0\n",
+ "v_i | -40.75 -0.32 -80.02 | 17.51 17.51 5.74 | -69.99 -29.96 -90.00 | -10.35 29.97 -70.00\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.7\n",
+ "norm_vf | 1.01 | 0.12 | 0.61 | 1.37\n",
+ "gs_f | 27.6 | 116.1 | 2.7 | 3942.5\n",
+ "thrust | 1254 15 9235 | 2895 2908 2078 | -15313 -16586 2000 | 16799 16642 19999\n",
+ "norm_thrust | 9901 | 3159 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 261 | 346\n",
+ "rewards | -4.06 | 6.15 | -33.62 | 3.53\n",
+ "fuel_rewards | -7.50 | 0.38 | -8.92 | -6.74\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.49 | 0.55 | 0.46 | 5.28\n",
+ "norm_af | 0.04 | 0.03 | 0.00 | 0.27\n",
+ "norm_wf | 0.15 | 0.09 | 0.00 | 0.53\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.06 | 0.52 | -12.71 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.12 0.00 | 0.35 0.21 0.20 | -1.45 -0.91 -1.07 | 1.74 1.07 1.03\n",
+ "w | -0.00 -0.01 0.00 | 0.21 0.21 0.01 | -1.68 -2.55 -0.09 | 2.08 1.61 0.10\n",
+ "a_f | -0.00 -0.00 | 0.04 0.03 | -0.19 -0.19 | 0.17 0.12\n",
+ "w_f | -0.01 -0.02 0.00 | 0.13 0.12 0.01 | -0.53 -0.38 -0.08 | 0.44 0.35 0.10\n",
+ "landing_rewards | 9.18 | 2.74 | 0.00 | 10.00\n",
+ "landing_margin | -0.05 | 0.13 | -0.19 | 2.25\n",
+ "tracking_rewards | -5.68 | 5.18 | -28.64 | 0.57\n",
+ "steps | 302 | 25 | 249 | 389\n",
+ "***** Episode 146891, Mean R = -4.8 Std R = 7.1 Min R = -28.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.977\n",
+ "ExplainedVarOld: 0.96\n",
+ "KL: 0.00144\n",
+ "PolicyEntropy: -5.04\n",
+ "PolicyLoss: -0.00199\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 3.72e+07\n",
+ "ValFuncLoss: 7.43e-05\n",
+ "Variance: 0.0722\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010793544 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07214798 0.06681196 0.07108516 0.06440516]\n",
+ "FIT: 0.5022556804579541 2.063426729419766 0.020978353837404883 0.1182566674868714\n",
+ "***** Episode 147012, Mean R = -3.9 Std R = 5.6 Min R = -28.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.971\n",
+ "ExplainedVarOld: 0.964\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -5.05\n",
+ "PolicyLoss: -0.00204\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.73e+07\n",
+ "ValFuncLoss: 7.02e-05\n",
+ "Variance: 0.0721\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0013259021 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07183352 0.06680135 0.07103221 0.06457946]\n",
+ "FIT: 0.5809997340178066 2.160525964906644 0.022000593249978453 0.11781113302123364\n",
+ "***** Episode 147133, Mean R = -4.1 Std R = 5.5 Min R = -24.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00133\n",
+ "PolicyEntropy: -5.05\n",
+ "PolicyLoss: -0.00237\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.73e+07\n",
+ "ValFuncLoss: 3.04e-05\n",
+ "Variance: 0.0718\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013662445 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07181938 0.06675998 0.07113503 0.06457404]\n",
+ "FIT: 0.5082171081912722 2.1567018453804905 0.02172760535076323 0.1168935695107021\n",
+ "***** Episode 147254, Mean R = -3.9 Std R = 5.5 Min R = -20.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00137\n",
+ "PolicyEntropy: -5.05\n",
+ "PolicyLoss: -0.00249\n",
+ "Steps: 3.59e+04\n",
+ "TotalSteps: 3.74e+07\n",
+ "ValFuncLoss: 3.79e-05\n",
+ "Variance: 0.0718\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00093126914 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0720777 0.06688087 0.07113091 0.06458008]\n",
+ "FIT: 0.4992186855547843 2.076520586665537 0.019691063539779403 0.11925651347738968\n",
+ "***** Episode 147375, Mean R = -3.3 Std R = 5.3 Min R = -23.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.974\n",
+ "ExplainedVarOld: 0.964\n",
+ "KL: 0.000931\n",
+ "PolicyEntropy: -5.04\n",
+ "PolicyLoss: -0.00185\n",
+ "Steps: 3.74e+04\n",
+ "TotalSteps: 3.74e+07\n",
+ "ValFuncLoss: 5.52e-05\n",
+ "Variance: 0.0721\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00095750944 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07207954 0.06686631 0.07106631 0.06487344]\n",
+ "FIT: 0.8376706984524495 2.062317365583105 0.021997212744214366 0.11727152308161179\n",
+ "***** Episode 147496, Mean R = -4.4 Std R = 7.0 Min R = -45.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.954\n",
+ "KL: 0.000958\n",
+ "PolicyEntropy: -5.04\n",
+ "PolicyLoss: -0.00178\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.74e+07\n",
+ "ValFuncLoss: 6.62e-05\n",
+ "Variance: 0.0721\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010955629 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07196654 0.06662457 0.07098185 0.06474524]\n",
+ "FIT: 0.5716569980643205 2.1253554641147714 0.0206762174210757 0.11848794685441878\n",
+ "***** Episode 147617, Mean R = -3.7 Std R = 5.4 Min R = -23.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.975\n",
+ "ExplainedVarOld: 0.963\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -5.05\n",
+ "PolicyLoss: -0.00218\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 3.75e+07\n",
+ "ValFuncLoss: 5.87e-05\n",
+ "Variance: 0.072\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012872203 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07158268 0.06644234 0.07088669 0.0644387 ]\n",
+ "FIT: 0.511411877315081 2.0060536593967795 0.018489467155813576 0.11269250648564309\n",
+ "***** Episode 147738, Mean R = -2.4 Std R = 4.5 Min R = -18.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.967\n",
+ "ExplainedVarOld: 0.963\n",
+ "KL: 0.00129\n",
+ "PolicyEntropy: -5.06\n",
+ "PolicyLoss: -0.002\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 3.75e+07\n",
+ "ValFuncLoss: 5.8e-05\n",
+ "Variance: 0.0716\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010237899 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07143242 0.066483 0.07050826 0.06450795]\n",
+ "FIT: 0.4682046960157632 2.122822703077002 0.019644410911950086 0.11483083771183522\n",
+ "***** Episode 147859, Mean R = -3.1 Std R = 5.2 Min R = -25.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -5.07\n",
+ "PolicyLoss: -0.00234\n",
+ "Steps: 3.6e+04\n",
+ "TotalSteps: 3.75e+07\n",
+ "ValFuncLoss: 4.14e-05\n",
+ "Variance: 0.0714\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009778753 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07128107 0.06619258 0.07067781 0.06435457]\n",
+ "FIT: 0.5505832417358789 2.173655149603355 0.020652231152321628 0.11743234893854859\n",
+ "***** Episode 147980, Mean R = -3.9 Std R = 5.9 Min R = -22.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.974\n",
+ "ExplainedVarOld: 0.915\n",
+ "KL: 0.000978\n",
+ "PolicyEntropy: -5.07\n",
+ "PolicyLoss: -0.0019\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.76e+07\n",
+ "ValFuncLoss: 6.61e-05\n",
+ "Variance: 0.0713\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013566639 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07089992 0.06599124 0.07084014 0.06443416]\n",
+ "FIT: 0.5684998172053666 2.091105070353681 0.021264102507089103 0.12242171672557685\n",
+ "Update Cnt = 1060 ET = 1074.9 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.2 -0.0 | 1.1 1.0 0.0 | -4.1 -4.2 -0.1 | 5.5 4.3 -0.0\n",
+ "v_f | 0.00 -0.02 -0.99 | 0.10 0.09 0.13 | -0.54 -0.39 -1.36 | 0.47 0.37 -0.20\n",
+ "r_i | 967.3 7.5 2349.6 | 586.8 575.3 28.7 | 3.0 -999.1 2300.1 | 1999.2 999.2 2400.0\n",
+ "v_i | -40.21 -0.39 -79.75 | 17.35 17.36 5.76 | -69.99 -29.95 -89.93 | -10.00 29.98 -70.01\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 6.1\n",
+ "norm_vf | 1.00 | 0.12 | 0.42 | 1.36\n",
+ "gs_f | 24.7 | 30.1 | 1.9 | 435.5\n",
+ "thrust | 1236 19 9216 | 2926 2835 2063 | -15491 -16452 2000 | 16486 16637 19994\n",
+ "norm_thrust | 9875 | 3131 | 3464 | 20000\n",
+ "fuel | 290 | 15 | 258 | 346\n",
+ "rewards | -3.69 | 5.63 | -45.12 | 3.80\n",
+ "fuel_rewards | -7.48 | 0.39 | -8.93 | -6.65\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.50 | 0.56 | 0.43 | 7.27\n",
+ "norm_af | 0.05 | 0.03 | 0.00 | 0.34\n",
+ "norm_wf | 0.15 | 0.09 | 0.01 | 0.55\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.06 | 0.65 | -17.50 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | -0.00 0.12 -0.00 | 0.36 0.21 0.20 | -1.45 -0.92 -1.03 | 2.09 1.09 1.09\n",
+ "w | -0.00 -0.01 -0.00 | 0.21 0.21 0.01 | -1.76 -2.51 -0.11 | 2.12 1.55 0.19\n",
+ "a_f | -0.00 -0.00 | 0.04 0.04 | -0.15 -0.32 | 0.25 0.13\n",
+ "w_f | -0.02 -0.02 -0.00 | 0.12 0.12 0.02 | -0.41 -0.55 -0.09 | 0.38 0.41 0.17\n",
+ "landing_rewards | 9.26 | 2.62 | 0.00 | 10.00\n",
+ "landing_margin | -0.05 | 0.18 | -0.19 | 3.13\n",
+ "tracking_rewards | -5.40 | 4.58 | -27.06 | 1.14\n",
+ "steps | 302 | 25 | 249 | 382\n",
+ "***** Episode 148101, Mean R = -4.0 Std R = 5.8 Min R = -23.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.972\n",
+ "KL: 0.00136\n",
+ "PolicyEntropy: -5.08\n",
+ "PolicyLoss: -0.00239\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.76e+07\n",
+ "ValFuncLoss: 5.33e-05\n",
+ "Variance: 0.0709\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009165296 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07067125 0.06576192 0.07071596 0.06456816]\n",
+ "FIT: 0.5619324196212636 2.1923159367844716 0.02026525187487097 0.11678523254680445\n",
+ "***** Episode 148222, Mean R = -3.8 Std R = 5.6 Min R = -28.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.972\n",
+ "ExplainedVarOld: 0.966\n",
+ "KL: 0.000917\n",
+ "PolicyEntropy: -5.08\n",
+ "PolicyLoss: -0.00166\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 3.76e+07\n",
+ "ValFuncLoss: 7.02e-05\n",
+ "Variance: 0.0707\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00095425063 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0706367 0.06554666 0.07066719 0.06452154]\n",
+ "FIT: 0.7041367825319022 2.296050624466346 0.021724002528939516 0.11706742454919647\n",
+ "***** Episode 148343, Mean R = -4.3 Std R = 7.6 Min R = -44.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.965\n",
+ "KL: 0.000954\n",
+ "PolicyEntropy: -5.09\n",
+ "PolicyLoss: -0.00218\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.77e+07\n",
+ "ValFuncLoss: 6.63e-05\n",
+ "Variance: 0.0707\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010255474 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07057351 0.06544643 0.07074332 0.06439812]\n",
+ "FIT: 0.6791171199048485 2.1499650210597796 0.01995974848648566 0.11619346998241281\n",
+ "***** Episode 148464, Mean R = -3.3 Std R = 5.8 Min R = -32.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.974\n",
+ "ExplainedVarOld: 0.964\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -5.09\n",
+ "PolicyLoss: -0.00208\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.77e+07\n",
+ "ValFuncLoss: 6.01e-05\n",
+ "Variance: 0.0707\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010943882 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07065716 0.0654062 0.07080383 0.06434143]\n",
+ "FIT: 0.5331586317536543 2.2765391916693947 0.02003339648883502 0.11459044340250094\n",
+ "***** Episode 148585, Mean R = -3.3 Std R = 5.7 Min R = -29.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.97\n",
+ "ExplainedVarOld: 0.964\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -5.09\n",
+ "PolicyLoss: -0.00185\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.78e+07\n",
+ "ValFuncLoss: 6.65e-05\n",
+ "Variance: 0.0708\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0012505985 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07041079 0.06523853 0.07062087 0.0642971 ]\n",
+ "FIT: 0.5337050619932298 2.030062731682722 0.02145320054426537 0.11728435445533687\n",
+ "***** Episode 148706, Mean R = -4.5 Std R = 5.7 Min R = -27.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.965\n",
+ "ExplainedVarOld: 0.959\n",
+ "KL: 0.00125\n",
+ "PolicyEntropy: -5.1\n",
+ "PolicyLoss: -0.0021\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.78e+07\n",
+ "ValFuncLoss: 8.76e-05\n",
+ "Variance: 0.0706\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012834591 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07029437 0.06538455 0.07048178 0.06425174]\n",
+ "FIT: 0.5917312306936863 2.0657550208005797 0.020426909709996343 0.11784325751403703\n",
+ "***** Episode 148827, Mean R = -3.6 Std R = 6.1 Min R = -33.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.976\n",
+ "ExplainedVarOld: 0.971\n",
+ "KL: 0.00128\n",
+ "PolicyEntropy: -5.1\n",
+ "PolicyLoss: -0.00193\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 3.78e+07\n",
+ "ValFuncLoss: 5.82e-05\n",
+ "Variance: 0.0705\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013603702 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07020506 0.0654319 0.07021678 0.06420303]\n",
+ "FIT: 0.5363197442995772 2.10428653731698 0.02216458982359178 0.11732943868791205\n",
+ "***** Episode 148948, Mean R = -4.7 Std R = 6.2 Min R = -29.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.971\n",
+ "ExplainedVarOld: 0.963\n",
+ "KL: 0.00136\n",
+ "PolicyEntropy: -5.11\n",
+ "PolicyLoss: -0.0022\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 3.79e+07\n",
+ "ValFuncLoss: 7.96e-05\n",
+ "Variance: 0.0702\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011585322 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07002874 0.06531914 0.07008991 0.06410979]\n",
+ "FIT: 0.6620755366384734 2.1024717040092886 0.020988213883122754 0.11673351804317862\n",
+ "***** Episode 149069, Mean R = -3.8 Std R = 5.7 Min R = -32.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.976\n",
+ "ExplainedVarOld: 0.961\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -5.12\n",
+ "PolicyLoss: -0.0019\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 3.79e+07\n",
+ "ValFuncLoss: 6.24e-05\n",
+ "Variance: 0.0701\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010298137 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07005958 0.06554191 0.06993754 0.06391507]\n",
+ "FIT: 0.5840300799958408 2.1756013131960974 0.020052914939834358 0.11480596402704657\n",
+ "***** Episode 149190, Mean R = -3.1 Std R = 5.7 Min R = -25.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.971\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -5.12\n",
+ "PolicyLoss: -0.00265\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 3.79e+07\n",
+ "ValFuncLoss: 3.49e-05\n",
+ "Variance: 0.0701\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011635302 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07003573 0.06548971 0.0699457 0.0637898 ]\n",
+ "FIT: 0.6080246802547054 2.3012468382512954 0.020561332621748224 0.11681183274433811\n",
+ "Update Cnt = 1070 ET = 1071.4 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.0 -0.2 -0.0 | 1.1 1.1 0.0 | -4.1 -5.7 -0.1 | 4.0 4.0 -0.0\n",
+ "v_f | 0.01 -0.03 -1.00 | 0.09 0.09 0.12 | -0.38 -0.43 -1.36 | 0.39 0.37 -0.53\n",
+ "r_i | 966.9 -7.4 2349.7 | 575.6 580.0 28.4 | 0.6 -996.4 2300.1 | 1999.2 998.0 2400.0\n",
+ "v_i | -39.79 -0.05 -80.02 | 17.35 17.29 5.86 | -69.99 -29.89 -89.99 | -10.06 29.98 -70.01\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 6.0\n",
+ "norm_vf | 1.00 | 0.11 | 0.59 | 1.36\n",
+ "gs_f | 24.4 | 28.4 | 3.5 | 415.9\n",
+ "thrust | 1226 8 9245 | 2863 2869 2082 | -15888 -16950 2000 | 16394 17121 19996\n",
+ "norm_thrust | 9893 | 3140 | 3464 | 20000\n",
+ "fuel | 290 | 15 | 260 | 352\n",
+ "rewards | -3.80 | 6.09 | -44.56 | 3.49\n",
+ "fuel_rewards | -7.49 | 0.38 | -9.09 | -6.70\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.51 | 0.51 | 0.44 | 5.02\n",
+ "norm_af | 0.04 | 0.03 | 0.00 | 0.17\n",
+ "norm_wf | 0.15 | 0.09 | 0.01 | 0.62\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.58 | -10.76 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.12 0.00 | 0.34 0.21 0.20 | -1.45 -0.97 -1.01 | 1.75 1.08 1.07\n",
+ "w | 0.00 -0.01 -0.00 | 0.21 0.21 0.01 | -1.69 -2.47 -0.09 | 2.16 1.55 0.11\n",
+ "a_f | -0.01 -0.00 | 0.04 0.03 | -0.14 -0.16 | 0.14 0.14\n",
+ "w_f | -0.01 -0.02 0.00 | 0.13 0.12 0.01 | -0.52 -0.44 -0.07 | 0.54 0.41 0.11\n",
+ "landing_rewards | 9.09 | 2.87 | 0.00 | 10.00\n",
+ "landing_margin | -0.05 | 0.13 | -0.18 | 1.47\n",
+ "tracking_rewards | -5.33 | 4.88 | -34.25 | 0.73\n",
+ "steps | 302 | 23 | 252 | 379\n",
+ "***** Episode 149311, Mean R = -3.8 Std R = 6.3 Min R = -28.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.969\n",
+ "ExplainedVarOld: 0.96\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -5.12\n",
+ "PolicyLoss: -0.00208\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.8e+07\n",
+ "ValFuncLoss: 7.6e-05\n",
+ "Variance: 0.07\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012442052 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07023304 0.06523358 0.06996958 0.06370629]\n",
+ "FIT: 0.5212403231750588 2.045801870808314 0.021539359127467697 0.11569838139489921\n",
+ "***** Episode 149432, Mean R = -3.9 Std R = 5.9 Min R = -26.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -5.12\n",
+ "PolicyLoss: -0.00193\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 3.8e+07\n",
+ "ValFuncLoss: 5.02e-05\n",
+ "Variance: 0.0702\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012251445 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07037165 0.06514255 0.06996169 0.06373706]\n",
+ "FIT: 0.5208403321711582 2.1182413672653944 0.018496651363607623 0.11645539605198316\n",
+ "***** Episode 149553, Mean R = -2.5 Std R = 4.7 Min R = -19.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -5.12\n",
+ "PolicyLoss: -0.0025\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 3.8e+07\n",
+ "ValFuncLoss: 3.88e-05\n",
+ "Variance: 0.0704\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001021333 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07021127 0.0650563 0.06997223 0.06365469]\n",
+ "FIT: 0.5939057001544716 2.1258677792193335 0.02161608786464199 0.11707068975633365\n",
+ "***** Episode 149674, Mean R = -4.2 Std R = 6.4 Min R = -27.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.971\n",
+ "ExplainedVarOld: 0.964\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -5.13\n",
+ "PolicyLoss: -0.00233\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 3.81e+07\n",
+ "ValFuncLoss: 7.62e-05\n",
+ "Variance: 0.0702\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010141934 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07009606 0.06519017 0.06975458 0.06353118]\n",
+ "FIT: 0.5603908019269181 2.0139899804189154 0.020334571219599 0.11628084965387492\n",
+ "***** Episode 149795, Mean R = -3.4 Std R = 5.7 Min R = -32.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.973\n",
+ "ExplainedVarOld: 0.964\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -5.13\n",
+ "PolicyLoss: -0.00183\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 3.81e+07\n",
+ "ValFuncLoss: 6.12e-05\n",
+ "Variance: 0.0701\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00087767653 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07017074 0.0652077 0.06976035 0.06335644]\n",
+ "FIT: 0.5807851017880841 2.1978704571101497 0.022082237258685966 0.12070269541519862\n",
+ "***** Episode 149916, Mean R = -4.6 Std R = 5.9 Min R = -25.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.969\n",
+ "KL: 0.000878\n",
+ "PolicyEntropy: -5.13\n",
+ "PolicyLoss: -0.00181\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 3.82e+07\n",
+ "ValFuncLoss: 5.85e-05\n",
+ "Variance: 0.0702\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012398061 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07025417 0.06515555 0.06971762 0.06321106]\n",
+ "FIT: 0.5881034881401672 2.0835081415949332 0.01999534999415068 0.11717170850092465\n",
+ "***** Episode 150037, Mean R = -3.3 Std R = 5.6 Min R = -22.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.973\n",
+ "ExplainedVarOld: 0.968\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -5.14\n",
+ "PolicyLoss: -0.00187\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.82e+07\n",
+ "ValFuncLoss: 6.28e-05\n",
+ "Variance: 0.0703\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011060323 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07031798 0.06500399 0.06961701 0.0632183 ]\n",
+ "FIT: 0.6400252478768583 2.2442910629427573 0.022004803194055164 0.11937655476635918\n",
+ "***** Episode 150158, Mean R = -4.2 Std R = 6.6 Min R = -29.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -5.14\n",
+ "PolicyLoss: -0.00216\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.82e+07\n",
+ "ValFuncLoss: 5.78e-05\n",
+ "Variance: 0.0703\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0011036487 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07011117 0.06480608 0.06926142 0.0631915 ]\n",
+ "FIT: 0.5799323055465212 2.154470454211119 0.02052355205576159 0.1181471521164759\n",
+ "***** Episode 150279, Mean R = -3.5 Std R = 6.1 Min R = -30.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -5.15\n",
+ "PolicyLoss: -0.00216\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 3.83e+07\n",
+ "ValFuncLoss: 4.28e-05\n",
+ "Variance: 0.0701\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010915673 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06989691 0.06472652 0.06909085 0.0629386 ]\n",
+ "FIT: 0.5166262616252185 2.1665545753364412 0.021815261608151944 0.1201701636917333\n",
+ "***** Episode 150400, Mean R = -4.1 Std R = 5.7 Min R = -19.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -5.16\n",
+ "PolicyLoss: -0.00198\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.83e+07\n",
+ "ValFuncLoss: 3.99e-05\n",
+ "Variance: 0.0699\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011784465 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06995163 0.06478089 0.06918866 0.06285823]\n",
+ "FIT: 0.5902505538436433 1.9385543769448024 0.019194534567394565 0.11495826901742816\n",
+ "Update Cnt = 1080 ET = 1075.2 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.3 -0.0 | 1.1 1.1 0.0 | -4.6 -4.5 -0.1 | 3.6 4.4 -0.0\n",
+ "v_f | 0.02 -0.03 -0.99 | 0.10 0.09 0.12 | -0.29 -0.72 -1.34 | 0.43 0.79 -0.50\n",
+ "r_i | 996.7 6.1 2349.4 | 575.8 574.9 28.6 | 0.0 -996.0 2300.0 | 1998.3 998.6 2399.9\n",
+ "v_i | -40.08 0.13 -80.13 | 17.74 17.46 5.90 | -69.99 -29.99 -90.00 | -10.03 29.93 -70.00\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 4.6\n",
+ "norm_vf | 1.00 | 0.12 | 0.56 | 1.34\n",
+ "gs_f | 23.3 | 26.1 | 2.2 | 316.0\n",
+ "thrust | 1231 0 9242 | 2861 2855 2083 | -15489 -16606 2000 | 16795 16390 19999\n",
+ "norm_thrust | 9889 | 3132 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 262 | 343\n",
+ "rewards | -3.66 | 5.85 | -32.92 | 3.74\n",
+ "fuel_rewards | -7.49 | 0.40 | -8.84 | -6.76\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.50 | 0.56 | 0.50 | 5.57\n",
+ "norm_af | 0.05 | 0.03 | 0.00 | 0.22\n",
+ "norm_wf | 0.15 | 0.09 | 0.00 | 0.57\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.04 | 0.38 | -7.45 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.00 0.12 0.00 | 0.36 0.20 0.20 | -1.26 -0.91 -1.03 | 1.57 1.04 1.04\n",
+ "w | -0.00 -0.01 0.00 | 0.21 0.21 0.01 | -1.71 -2.49 -0.10 | 1.89 1.37 0.11\n",
+ "a_f | -0.01 -0.01 | 0.04 0.04 | -0.14 -0.19 | 0.13 0.17\n",
+ "w_f | -0.01 -0.02 0.00 | 0.13 0.12 0.02 | -0.48 -0.44 -0.10 | 0.49 0.38 0.11\n",
+ "landing_rewards | 9.24 | 2.65 | 0.00 | 10.00\n",
+ "landing_margin | -0.05 | 0.17 | -0.19 | 2.77\n",
+ "tracking_rewards | -5.36 | 4.85 | -31.11 | 0.80\n",
+ "steps | 302 | 24 | 246 | 384\n",
+ "***** Episode 150521, Mean R = -2.9 Std R = 5.4 Min R = -23.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.96\n",
+ "ExplainedVarOld: 0.946\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -5.16\n",
+ "PolicyLoss: -0.00203\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.83e+07\n",
+ "ValFuncLoss: 7.5e-05\n",
+ "Variance: 0.07\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011849295 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07009142 0.06457053 0.06920193 0.06297556]\n",
+ "FIT: 0.5827541292534755 2.159711853518574 0.021065399923458333 0.11630852422983065\n",
+ "***** Episode 150642, Mean R = -3.6 Std R = 6.6 Min R = -33.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.97\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -5.16\n",
+ "PolicyLoss: -0.00231\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.84e+07\n",
+ "ValFuncLoss: 5.62e-05\n",
+ "Variance: 0.0701\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010017909 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.07004815 0.06461898 0.06899682 0.06281684]\n",
+ "FIT: 0.496000447612803 2.144691305982841 0.0214530864255494 0.11744992178709177\n",
+ "***** Episode 150763, Mean R = -4.2 Std R = 6.2 Min R = -22.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.973\n",
+ "ExplainedVarOld: 0.967\n",
+ "KL: 0.001\n",
+ "PolicyEntropy: -5.16\n",
+ "PolicyLoss: -0.00205\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 3.84e+07\n",
+ "ValFuncLoss: 7.69e-05\n",
+ "Variance: 0.07\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012821108 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06992897 0.06487425 0.06895104 0.06290172]\n",
+ "FIT: 0.6394902633452008 2.168371171840386 0.021468633395812054 0.11996104015025483\n",
+ "***** Episode 150884, Mean R = -4.3 Std R = 5.7 Min R = -25.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.976\n",
+ "ExplainedVarOld: 0.97\n",
+ "KL: 0.00128\n",
+ "PolicyEntropy: -5.16\n",
+ "PolicyLoss: -0.0022\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 3.84e+07\n",
+ "ValFuncLoss: 6.48e-05\n",
+ "Variance: 0.0699\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012803823 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06986432 0.06463198 0.06924106 0.06287992]\n",
+ "FIT: 0.5252764341128757 2.2299787528405535 0.02140713793505802 0.11702465921618216\n",
+ "***** Episode 151005, Mean R = -4.2 Std R = 5.9 Min R = -20.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.969\n",
+ "ExplainedVarOld: 0.964\n",
+ "KL: 0.00128\n",
+ "PolicyEntropy: -5.16\n",
+ "PolicyLoss: -0.00113\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.85e+07\n",
+ "ValFuncLoss: 8.08e-05\n",
+ "Variance: 0.0699\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0008065181 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06944678 0.06458479 0.06946294 0.06277875]\n",
+ "FIT: 0.5901454598094587 2.148071815064519 0.01865592363614693 0.11545294912032417\n",
+ "***** Episode 151126, Mean R = -2.6 Std R = 4.6 Min R = -21.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.972\n",
+ "ExplainedVarOld: 0.966\n",
+ "KL: 0.000807\n",
+ "PolicyEntropy: -5.17\n",
+ "PolicyLoss: -0.00166\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 3.85e+07\n",
+ "ValFuncLoss: 5.16e-05\n",
+ "Variance: 0.0695\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011146353 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06930136 0.06458625 0.06971741 0.06281747]\n",
+ "FIT: 0.5157369458844099 1.9903391948793185 0.01926179574251023 0.11811643758805117\n",
+ "***** Episode 151247, Mean R = -3.1 Std R = 5.0 Min R = -19.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.971\n",
+ "ExplainedVarOld: 0.962\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -5.16\n",
+ "PolicyLoss: -0.00223\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 3.86e+07\n",
+ "ValFuncLoss: 5.66e-05\n",
+ "Variance: 0.0697\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001266619 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06918509 0.06467672 0.06994235 0.06291395]\n",
+ "FIT: 0.6026121315636349 2.164380147266251 0.02098540701348905 0.11926482500508372\n",
+ "***** Episode 151368, Mean R = -3.9 Std R = 5.8 Min R = -26.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.974\n",
+ "ExplainedVarOld: 0.968\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -5.16\n",
+ "PolicyLoss: -0.00225\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.86e+07\n",
+ "ValFuncLoss: 7.1e-05\n",
+ "Variance: 0.0699\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001014408 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06904346 0.06463482 0.06980261 0.06308089]\n",
+ "FIT: 0.5662679688798735 2.252301947986253 0.019637827255858258 0.11936459786490136\n",
+ "***** Episode 151489, Mean R = -3.2 Std R = 5.1 Min R = -24.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.978\n",
+ "ExplainedVarOld: 0.971\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -5.16\n",
+ "PolicyLoss: -0.00212\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.86e+07\n",
+ "ValFuncLoss: 4.81e-05\n",
+ "Variance: 0.0698\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0007848042 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06898899 0.06434303 0.06963715 0.06294541]\n",
+ "FIT: 0.5417236120932312 2.1900158858460537 0.02087123868473404 0.11605061921808874\n",
+ "***** Episode 151610, Mean R = -4.0 Std R = 6.2 Min R = -24.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.97\n",
+ "ExplainedVarOld: 0.963\n",
+ "KL: 0.000785\n",
+ "PolicyEntropy: -5.17\n",
+ "PolicyLoss: -0.00163\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 3.87e+07\n",
+ "ValFuncLoss: 7.54e-05\n",
+ "Variance: 0.0696\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009313465 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06907125 0.06419827 0.06947223 0.06303491]\n",
+ "FIT: 0.4541481575018884 2.167806103560926 0.02010864445774973 0.11879055432403551\n",
+ "Update Cnt = 1090 ET = 1084.6 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.2 -0.0 | 1.1 1.1 0.0 | -5.5 -4.0 -0.1 | 4.1 4.3 -0.0\n",
+ "v_f | 0.04 -0.04 -0.99 | 0.10 0.09 0.12 | -0.39 -0.37 -1.35 | 0.42 0.51 -0.39\n",
+ "r_i | 1008.7 23.1 2350.3 | 576.4 580.4 28.7 | 1.2 -999.8 2300.0 | 1998.8 999.2 2399.9\n",
+ "v_i | -40.12 0.36 -79.79 | 17.36 17.37 5.77 | -69.99 -29.90 -89.98 | -10.01 29.99 -70.06\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.9\n",
+ "norm_vf | 1.00 | 0.12 | 0.55 | 1.36\n",
+ "gs_f | 23.0 | 29.9 | 2.5 | 567.5\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "thrust | 1229 -8 9228 | 2838 2861 2072 | -14956 -16584 2000 | 16537 16325 19999\n",
+ "norm_thrust | 9872 | 3123 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 259 | 348\n",
+ "rewards | -3.63 | 5.67 | -33.35 | 3.69\n",
+ "fuel_rewards | -7.51 | 0.38 | -8.97 | -6.66\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.49 | 0.52 | 0.51 | 4.57\n",
+ "norm_af | 0.04 | 0.03 | 0.00 | 0.21\n",
+ "norm_wf | 0.15 | 0.08 | 0.01 | 0.44\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.03 | 0.25 | -4.75 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | -0.01 0.12 -0.00 | 0.36 0.20 0.20 | -1.48 -0.89 -1.01 | 1.75 1.04 1.08\n",
+ "w | -0.00 -0.01 -0.00 | 0.21 0.21 0.01 | -1.65 -2.45 -0.08 | 2.19 1.49 0.13\n",
+ "a_f | -0.00 -0.00 | 0.04 0.04 | -0.14 -0.14 | 0.12 0.19\n",
+ "w_f | -0.01 -0.02 -0.00 | 0.12 0.12 0.02 | -0.42 -0.42 -0.08 | 0.35 0.44 0.13\n",
+ "landing_rewards | 9.12 | 2.83 | 0.00 | 10.00\n",
+ "landing_margin | -0.05 | 0.17 | -0.19 | 2.49\n",
+ "tracking_rewards | -5.22 | 4.76 | -27.84 | 1.07\n",
+ "steps | 304 | 24 | 251 | 383\n",
+ "***** Episode 151731, Mean R = -3.3 Std R = 5.0 Min R = -20.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.969\n",
+ "KL: 0.000931\n",
+ "PolicyEntropy: -5.17\n",
+ "PolicyLoss: -0.00224\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.87e+07\n",
+ "ValFuncLoss: 4.03e-05\n",
+ "Variance: 0.0695\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009408679 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06927298 0.06390493 0.06930158 0.06302891]\n",
+ "FIT: 0.5732573219508779 2.1901934981440028 0.021632183587737747 0.11641981757824704\n",
+ "***** Episode 151852, Mean R = -4.1 Std R = 6.1 Min R = -23.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.977\n",
+ "ExplainedVarOld: 0.97\n",
+ "KL: 0.000941\n",
+ "PolicyEntropy: -5.18\n",
+ "PolicyLoss: -0.00204\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.87e+07\n",
+ "ValFuncLoss: 6.46e-05\n",
+ "Variance: 0.0693\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0007973533 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0693882 0.0635085 0.06923129 0.06296708]\n",
+ "FIT: 0.5712481956663571 2.3180763913719864 0.021417314011366415 0.11676454242086888\n",
+ "***** Episode 151973, Mean R = -3.9 Std R = 6.2 Min R = -23.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.969\n",
+ "KL: 0.000797\n",
+ "PolicyEntropy: -5.18\n",
+ "PolicyLoss: -0.0019\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 3.88e+07\n",
+ "ValFuncLoss: 5.58e-05\n",
+ "Variance: 0.0694\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.000933828 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06931795 0.06330974 0.06900248 0.0629184 ]\n",
+ "FIT: 0.48686084211938785 2.194834383501823 0.020469190590925945 0.11640726537304559\n",
+ "***** Episode 152094, Mean R = -3.7 Std R = 5.2 Min R = -19.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.964\n",
+ "ExplainedVarOld: 0.956\n",
+ "KL: 0.000934\n",
+ "PolicyEntropy: -5.19\n",
+ "PolicyLoss: -0.00185\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.88e+07\n",
+ "ValFuncLoss: 8.25e-05\n",
+ "Variance: 0.0693\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.000942287 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06925828 0.0629949 0.06870876 0.06266596]\n",
+ "FIT: 0.5127389900561895 2.1808962703810946 0.021053620179413403 0.11871785073830528\n",
+ "***** Episode 152215, Mean R = -4.0 Std R = 6.0 Min R = -28.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.964\n",
+ "ExplainedVarOld: 0.956\n",
+ "KL: 0.000942\n",
+ "PolicyEntropy: -5.21\n",
+ "PolicyLoss: -0.00183\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 3.89e+07\n",
+ "ValFuncLoss: 9.37e-05\n",
+ "Variance: 0.0693\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010631708 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0693483 0.06275427 0.06848639 0.06269556]\n",
+ "FIT: 0.5866041385973232 2.2360774083376507 0.021948115729946677 0.1175280121796544\n",
+ "***** Episode 152336, Mean R = -4.3 Std R = 6.9 Min R = -35.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.97\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -5.21\n",
+ "PolicyLoss: -0.00198\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 3.89e+07\n",
+ "ValFuncLoss: 6.69e-05\n",
+ "Variance: 0.0693\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010634125 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06967854 0.06271511 0.06842904 0.06273644]\n",
+ "FIT: 0.6845984767361896 2.2853566702858568 0.021242658583362703 0.11522047014322982\n",
+ "***** Episode 152457, Mean R = -3.8 Std R = 6.0 Min R = -32.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -5.21\n",
+ "PolicyLoss: -0.002\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 3.89e+07\n",
+ "ValFuncLoss: 7.09e-05\n",
+ "Variance: 0.0697\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012883185 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06980036 0.06290745 0.06853854 0.06258086]\n",
+ "FIT: 0.5254008623505249 2.24375914861357 0.021383901744116904 0.11596889820957722\n",
+ "***** Episode 152578, Mean R = -3.7 Std R = 5.5 Min R = -30.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.00129\n",
+ "PolicyEntropy: -5.2\n",
+ "PolicyLoss: -0.00228\n",
+ "Steps: 3.6e+04\n",
+ "TotalSteps: 3.9e+07\n",
+ "ValFuncLoss: 4.92e-05\n",
+ "Variance: 0.0698\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0008103256 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06964824 0.06307385 0.06844568 0.0625729 ]\n",
+ "FIT: 0.4370715814826447 2.091541963380486 0.020558996813265392 0.11645727416748601\n",
+ "***** Episode 152699, Mean R = -3.8 Std R = 5.9 Min R = -21.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.963\n",
+ "ExplainedVarOld: 0.954\n",
+ "KL: 0.00081\n",
+ "PolicyEntropy: -5.21\n",
+ "PolicyLoss: -0.00185\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 3.9e+07\n",
+ "ValFuncLoss: 8.23e-05\n",
+ "Variance: 0.0696\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011341769 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06965945 0.06291813 0.06807853 0.06255294]\n",
+ "FIT: 0.5201381200333337 2.1584687715188333 0.020926823748851454 0.11937501342720912\n",
+ "***** Episode 152820, Mean R = -4.0 Std R = 5.7 Min R = -27.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.971\n",
+ "ExplainedVarOld: 0.886\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -5.21\n",
+ "PolicyLoss: -0.00272\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.9e+07\n",
+ "ValFuncLoss: 6.54e-05\n",
+ "Variance: 0.0697\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.000891636 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06930858 0.06290952 0.06773083 0.06272474]\n",
+ "FIT: 0.6250816223872907 2.162855949735088 0.020549051973564693 0.11684044377224446\n",
+ "Update Cnt = 1100 ET = 1071.9 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.0 -0.2 -0.0 | 1.0 1.0 0.0 | -3.5 -4.7 -0.1 | 4.2 3.6 -0.0\n",
+ "v_f | 0.04 -0.04 -0.98 | 0.11 0.10 0.13 | -1.98 -0.47 -1.38 | 0.66 0.60 -0.29\n",
+ "r_i | 988.9 -20.1 2350.4 | 571.4 580.6 28.6 | 6.0 -997.3 2300.1 | 1998.3 999.4 2399.7\n",
+ "v_i | -40.96 -0.52 -80.22 | 17.35 17.14 5.64 | -69.99 -29.86 -89.96 | -10.01 29.96 -70.03\n",
+ "norm_rf | 1.3 | 0.8 | 0.1 | 5.0\n",
+ "norm_vf | 0.99 | 0.12 | 0.55 | 2.06\n",
+ "gs_f | 21.2 | 24.7 | 0.7 | 329.6\n",
+ "thrust | 1263 25 9241 | 2874 2910 2066 | -15901 -16391 2000 | 16590 16512 19998\n",
+ "norm_thrust | 9902 | 3152 | 3464 | 20000\n",
+ "fuel | 290 | 15 | 259 | 400\n",
+ "rewards | -3.92 | 5.98 | -35.70 | 3.72\n",
+ "fuel_rewards | -7.48 | 0.40 | -10.29 | -6.68\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.51 | 0.53 | 0.48 | 6.25\n",
+ "norm_af | 0.04 | 0.03 | 0.00 | 0.62\n",
+ "norm_wf | 0.15 | 0.09 | 0.01 | 1.04\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.03 | 0.26 | -5.59 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.12 0.00 | 0.34 0.20 0.20 | -1.15 -0.94 -1.07 | 2.00 1.12 1.03\n",
+ "w | -0.00 -0.01 0.00 | 0.21 0.20 0.01 | -1.64 -2.52 -0.06 | 2.34 1.28 0.23\n",
+ "a_f | -0.00 -0.00 | 0.04 0.04 | -0.16 -0.41 | 0.46 0.10\n",
+ "w_f | -0.01 -0.02 0.00 | 0.13 0.11 0.02 | -0.54 -0.49 -0.06 | 0.99 0.38 0.22\n",
+ "landing_rewards | 9.01 | 2.99 | 0.00 | 10.00\n",
+ "landing_margin | -0.04 | 0.22 | -0.19 | 4.35\n",
+ "tracking_rewards | -5.41 | 4.83 | -32.44 | 1.01\n",
+ "steps | 302 | 24 | 251 | 399\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 152941, Mean R = -3.8 Std R = 6.1 Min R = -29.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.968\n",
+ "ExplainedVarOld: 0.961\n",
+ "KL: 0.000892\n",
+ "PolicyEntropy: -5.22\n",
+ "PolicyLoss: -0.0021\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 3.91e+07\n",
+ "ValFuncLoss: 7.43e-05\n",
+ "Variance: 0.0693\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009221055 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06922007 0.06287273 0.06767001 0.06269073]\n",
+ "FIT: 0.5448474993573114 2.1541238616750045 0.02162144970313313 0.12205672051096081\n",
+ "***** Episode 153062, Mean R = -4.5 Std R = 6.2 Min R = -25.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.976\n",
+ "ExplainedVarOld: 0.965\n",
+ "KL: 0.000922\n",
+ "PolicyEntropy: -5.22\n",
+ "PolicyLoss: -0.00201\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 3.91e+07\n",
+ "ValFuncLoss: 6.32e-05\n",
+ "Variance: 0.0692\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009791178 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06932949 0.0627924 0.06751658 0.06247926]\n",
+ "FIT: 0.5555738309678523 2.1566727777850305 0.021308341309933806 0.12209067234215512\n",
+ "***** Episode 153183, Mean R = -3.9 Std R = 5.6 Min R = -22.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.000979\n",
+ "PolicyEntropy: -5.23\n",
+ "PolicyLoss: -0.00259\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.91e+07\n",
+ "ValFuncLoss: 3.57e-05\n",
+ "Variance: 0.0693\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00087209593 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06929179 0.06269694 0.06717175 0.0624041 ]\n",
+ "FIT: 0.6192109314994264 2.170613825785399 0.021176264269720337 0.11899598768660641\n",
+ "***** Episode 153304, Mean R = -3.9 Std R = 6.1 Min R = -28.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.977\n",
+ "ExplainedVarOld: 0.964\n",
+ "KL: 0.000872\n",
+ "PolicyEntropy: -5.24\n",
+ "PolicyLoss: -0.00188\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.92e+07\n",
+ "ValFuncLoss: 6.85e-05\n",
+ "Variance: 0.0693\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010705433 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06906598 0.06271768 0.06691537 0.06238592]\n",
+ "FIT: 0.5229379110512103 2.0531324691739297 0.020312553075977274 0.11858191411726973\n",
+ "***** Episode 153425, Mean R = -3.7 Std R = 5.9 Min R = -27.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.969\n",
+ "ExplainedVarOld: 0.956\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -5.24\n",
+ "PolicyLoss: -0.00182\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 3.92e+07\n",
+ "ValFuncLoss: 7.2e-05\n",
+ "Variance: 0.0691\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011830449 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06875441 0.06259256 0.06685377 0.06231201]\n",
+ "FIT: 0.4975915313468594 2.1707823056553437 0.020699201124288764 0.11681281994522669\n",
+ "***** Episode 153546, Mean R = -3.6 Std R = 4.8 Min R = -18.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.974\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -5.25\n",
+ "PolicyLoss: -0.00215\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 3.93e+07\n",
+ "ValFuncLoss: 4.87e-05\n",
+ "Variance: 0.0688\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010248867 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06882216 0.06247937 0.06682517 0.06218405]\n",
+ "FIT: 0.547702465912568 2.1763190458674364 0.021441198019597135 0.11922006507292064\n",
+ "***** Episode 153667, Mean R = -3.9 Std R = 6.1 Min R = -24.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -5.26\n",
+ "PolicyLoss: -0.00228\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 3.93e+07\n",
+ "ValFuncLoss: 5.02e-05\n",
+ "Variance: 0.0688\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011841083 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06859871 0.06270453 0.06636553 0.06212924]\n",
+ "FIT: 0.6467414489637319 2.1975538499426883 0.020714710356325033 0.1184451194540483\n",
+ "***** Episode 153788, Mean R = -3.6 Std R = 5.7 Min R = -30.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -5.26\n",
+ "PolicyLoss: -0.00226\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.93e+07\n",
+ "ValFuncLoss: 4.72e-05\n",
+ "Variance: 0.0686\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010591858 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06826824 0.06301397 0.06605183 0.06225184]\n",
+ "FIT: 0.4516589545282617 2.179655344355552 0.019532638502807793 0.11829454407274999\n",
+ "***** Episode 153909, Mean R = -3.2 Std R = 4.9 Min R = -16.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.976\n",
+ "ExplainedVarOld: 0.967\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -5.27\n",
+ "PolicyLoss: -0.0022\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 3.94e+07\n",
+ "ValFuncLoss: 5.1e-05\n",
+ "Variance: 0.0683\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013091156 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06826926 0.06307022 0.06619067 0.06218455]\n",
+ "FIT: 0.5752595643358546 2.256791867167394 0.02240884911158586 0.11785870258753015\n",
+ "***** Episode 154030, Mean R = -4.7 Std R = 7.2 Min R = -33.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.968\n",
+ "ExplainedVarOld: 0.961\n",
+ "KL: 0.00131\n",
+ "PolicyEntropy: -5.26\n",
+ "PolicyLoss: -0.000997\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.94e+07\n",
+ "ValFuncLoss: 9.32e-05\n",
+ "Variance: 0.0683\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012618266 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06815384 0.06288592 0.06599548 0.06196965]\n",
+ "FIT: 0.6107350865870073 2.3047165360610165 0.019838991807531084 0.11549552775646851\n",
+ "Update Cnt = 1110 ET = 1077.7 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.3 -0.0 | 1.1 1.1 0.0 | -3.7 -4.0 -0.1 | 3.9 4.9 -0.0\n",
+ "v_f | 0.04 -0.06 -0.98 | 0.09 0.09 0.12 | -0.45 -0.46 -1.39 | 0.45 0.32 -0.42\n",
+ "r_i | 993.5 -24.6 2350.1 | 578.7 571.9 29.1 | 4.8 -998.0 2300.1 | 1994.7 999.6 2399.9\n",
+ "v_i | -39.94 -0.01 -80.01 | 17.98 17.60 5.78 | -69.96 -29.98 -89.98 | -10.03 29.95 -70.06\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 4.9\n",
+ "norm_vf | 0.99 | 0.12 | 0.52 | 1.39\n",
+ "gs_f | 19.7 | 22.2 | 2.6 | 375.4\n",
+ "thrust | 1227 7 9244 | 2869 2884 2069 | -15489 -17039 2000 | 16578 16388 19999\n",
+ "norm_thrust | 9897 | 3135 | 3464 | 20000\n",
+ "fuel | 291 | 16 | 261 | 355\n",
+ "rewards | -3.80 | 5.85 | -33.23 | 3.82\n",
+ "fuel_rewards | -7.51 | 0.41 | -9.17 | -6.73\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.48 | 0.52 | 0.49 | 5.72\n",
+ "norm_af | 0.04 | 0.03 | 0.00 | 0.18\n",
+ "norm_wf | 0.15 | 0.08 | 0.01 | 0.61\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.04 | 0.36 | -5.98 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.12 0.00 | 0.37 0.21 0.20 | -1.55 -0.99 -1.04 | 1.59 1.05 1.03\n",
+ "w | -0.00 -0.01 -0.00 | 0.22 0.21 0.01 | -1.70 -2.46 -0.09 | 2.13 1.50 0.12\n",
+ "a_f | -0.00 -0.00 | 0.04 0.04 | -0.15 -0.15 | 0.15 0.15\n",
+ "w_f | -0.01 -0.02 -0.00 | 0.12 0.11 0.02 | -0.52 -0.35 -0.08 | 0.53 0.33 0.11\n",
+ "landing_rewards | 9.17 | 2.77 | 0.00 | 10.00\n",
+ "landing_margin | -0.05 | 0.18 | -0.18 | 2.40\n",
+ "tracking_rewards | -5.42 | 4.84 | -32.47 | 0.93\n",
+ "steps | 303 | 26 | 248 | 388\n",
+ "***** Episode 154151, Mean R = -3.1 Std R = 5.4 Min R = -24.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.978\n",
+ "ExplainedVarOld: 0.968\n",
+ "KL: 0.00126\n",
+ "PolicyEntropy: -5.28\n",
+ "PolicyLoss: -0.00246\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 3.94e+07\n",
+ "ValFuncLoss: 5.32e-05\n",
+ "Variance: 0.0682\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011732925 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06815927 0.06271119 0.06587846 0.06178929]\n",
+ "FIT: 0.8477465874742907 2.260560423590662 0.021485344707925243 0.11627955147170155\n",
+ "***** Episode 154272, Mean R = -4.0 Std R = 6.9 Min R = -34.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.97\n",
+ "ExplainedVarOld: 0.949\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -5.28\n",
+ "PolicyLoss: -0.00206\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 3.95e+07\n",
+ "ValFuncLoss: 8.56e-05\n",
+ "Variance: 0.0682\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00088146655 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06813839 0.06267489 0.06585175 0.06191034]\n",
+ "FIT: 0.5607205741651597 2.300269199903423 0.021738161367578474 0.11825187318874616\n",
+ "***** Episode 154393, Mean R = -4.1 Std R = 5.7 Min R = -31.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.000881\n",
+ "PolicyEntropy: -5.28\n",
+ "PolicyLoss: -0.00185\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.95e+07\n",
+ "ValFuncLoss: 5.67e-05\n",
+ "Variance: 0.0681\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0008917517 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06802699 0.06254031 0.06566394 0.06188222]\n",
+ "FIT: 0.5078403050671108 2.0806480133770306 0.022092705708673048 0.12060466694541606\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 154514, Mean R = -4.4 Std R = 5.6 Min R = -21.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.966\n",
+ "KL: 0.000892\n",
+ "PolicyEntropy: -5.29\n",
+ "PolicyLoss: -0.00192\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.95e+07\n",
+ "ValFuncLoss: 6e-05\n",
+ "Variance: 0.068\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011647702 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06780894 0.06238352 0.06543006 0.06187398]\n",
+ "FIT: 0.5572038430139058 2.2137055278066184 0.019458267231004456 0.11484156169179044\n",
+ "***** Episode 154635, Mean R = -2.9 Std R = 5.5 Min R = -22.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.968\n",
+ "ExplainedVarOld: 0.965\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -5.3\n",
+ "PolicyLoss: -0.00202\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 3.96e+07\n",
+ "ValFuncLoss: 6.76e-05\n",
+ "Variance: 0.0678\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010441832 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06784686 0.06220448 0.0655577 0.0618421 ]\n",
+ "FIT: 0.6777153006277365 2.1454387544005 0.021492146777494645 0.11896738789373336\n",
+ "***** Episode 154756, Mean R = -4.1 Std R = 6.2 Min R = -32.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.978\n",
+ "ExplainedVarOld: 0.968\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -5.3\n",
+ "PolicyLoss: -0.0023\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.96e+07\n",
+ "ValFuncLoss: 5.93e-05\n",
+ "Variance: 0.0678\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014005256 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0679125 0.06209908 0.06540477 0.06187574]\n",
+ "FIT: 0.5957298146060174 1.9995998123767957 0.019880063956554162 0.11623053550879789\n",
+ "***** Episode 154877, Mean R = -3.2 Std R = 5.2 Min R = -27.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.97\n",
+ "ExplainedVarOld: 0.963\n",
+ "KL: 0.0014\n",
+ "PolicyEntropy: -5.3\n",
+ "PolicyLoss: -0.00196\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.97e+07\n",
+ "ValFuncLoss: 6.36e-05\n",
+ "Variance: 0.0679\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011009763 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06778962 0.06214332 0.06538761 0.0618939 ]\n",
+ "FIT: 0.5502591837322444 2.000858380775943 0.020014432163683833 0.11742283083043888\n",
+ "***** Episode 154998, Mean R = -3.2 Std R = 5.2 Min R = -24.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.975\n",
+ "ExplainedVarOld: 0.969\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -5.3\n",
+ "PolicyLoss: -0.00172\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 3.97e+07\n",
+ "ValFuncLoss: 5.35e-05\n",
+ "Variance: 0.0678\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00114137 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06762398 0.06219478 0.06539127 0.06184684]\n",
+ "FIT: 0.523886827367293 2.318031876952279 0.02029018732565352 0.11762349873734065\n",
+ "***** Episode 155119, Mean R = -3.3 Std R = 5.5 Min R = -22.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -5.31\n",
+ "PolicyLoss: -0.00207\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 3.97e+07\n",
+ "ValFuncLoss: 3.8e-05\n",
+ "Variance: 0.0676\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010162455 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06744381 0.06217321 0.06531354 0.06160818]\n",
+ "FIT: 0.6132421963790814 2.345606308768468 0.020606004460011835 0.11717398875300672\n",
+ "***** Episode 155240, Mean R = -3.8 Std R = 6.3 Min R = -26.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.964\n",
+ "ExplainedVarOld: 0.957\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -5.31\n",
+ "PolicyLoss: -0.00167\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 3.98e+07\n",
+ "ValFuncLoss: 8.97e-05\n",
+ "Variance: 0.0674\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010201691 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0673456 0.06209681 0.06522946 0.06171634]\n",
+ "FIT: 0.5738066683838547 2.1191739511512604 0.020273625363203124 0.11466892663339112\n",
+ "Update Cnt = 1120 ET = 1077.2 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.1 1.0 0.0 | -5.9 -4.8 -0.1 | 3.7 3.6 -0.0\n",
+ "v_f | 0.03 -0.07 -0.98 | 0.09 0.09 0.12 | -0.30 -0.66 -1.31 | 0.58 0.37 -0.48\n",
+ "r_i | 1019.1 19.7 2349.8 | 561.8 577.4 28.8 | 0.5 -998.6 2300.2 | 1999.7 994.2 2399.9\n",
+ "v_i | -40.22 -0.81 -80.22 | 17.45 17.16 5.78 | -69.98 -29.99 -89.98 | -10.01 29.99 -70.01\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.9\n",
+ "norm_vf | 0.99 | 0.11 | 0.51 | 1.31\n",
+ "gs_f | 19.4 | 22.2 | 2.9 | 449.7\n",
+ "thrust | 1231 29 9233 | 2826 2898 2079 | -15554 -16473 2000 | 16848 16513 19998\n",
+ "norm_thrust | 9878 | 3144 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 261 | 351\n",
+ "rewards | -3.65 | 5.85 | -34.10 | 3.78\n",
+ "fuel_rewards | -7.49 | 0.40 | -9.04 | -6.72\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.50 | 0.52 | 0.49 | 4.13\n",
+ "norm_af | 0.04 | 0.03 | 0.00 | 0.18\n",
+ "norm_wf | 0.15 | 0.08 | 0.01 | 0.54\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.03 | 0.45 | -13.67 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.00 0.12 -0.00 | 0.35 0.20 0.20 | -1.37 -0.91 -1.03 | 1.67 1.06 1.03\n",
+ "w | -0.00 -0.01 -0.00 | 0.21 0.20 0.01 | -1.71 -2.46 -0.09 | 2.21 1.55 0.09\n",
+ "a_f | -0.01 -0.01 | 0.04 0.03 | -0.17 -0.14 | 0.13 0.13\n",
+ "w_f | -0.01 -0.02 -0.00 | 0.13 0.11 0.01 | -0.54 -0.36 -0.08 | 0.49 0.31 0.09\n",
+ "landing_rewards | 9.13 | 2.82 | 0.00 | 10.00\n",
+ "landing_margin | -0.05 | 0.16 | -0.19 | 2.11\n",
+ "tracking_rewards | -5.25 | 4.86 | -34.57 | 0.95\n",
+ "steps | 303 | 25 | 250 | 383\n",
+ "***** Episode 155361, Mean R = -3.4 Std R = 5.7 Min R = -20.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -5.32\n",
+ "PolicyLoss: -0.0017\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 3.98e+07\n",
+ "ValFuncLoss: 5.06e-05\n",
+ "Variance: 0.0673\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010576415 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06707121 0.06194315 0.06526834 0.06157022]\n",
+ "FIT: 0.6177500402603613 2.2567618708342616 0.020823448826375022 0.11870431060242023\n",
+ "***** Episode 155482, Mean R = -3.8 Std R = 6.0 Min R = -25.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.971\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -5.32\n",
+ "PolicyLoss: -0.00209\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.98e+07\n",
+ "ValFuncLoss: 5.3e-05\n",
+ "Variance: 0.0671\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013434509 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06692403 0.06206765 0.06534503 0.06152831]\n",
+ "FIT: 0.6008781918086598 2.213940870977087 0.019375264721792778 0.11423781702204311\n",
+ "***** Episode 155603, Mean R = -2.6 Std R = 5.6 Min R = -25.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00134\n",
+ "PolicyEntropy: -5.32\n",
+ "PolicyLoss: -0.00244\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 3.99e+07\n",
+ "ValFuncLoss: 3.24e-05\n",
+ "Variance: 0.0669\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012945061 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06692818 0.06220825 0.0654037 0.0615441 ]\n",
+ "FIT: 0.5246743128708137 2.0405402122838674 0.02046542247705545 0.11587903219735089\n",
+ "***** Episode 155724, Mean R = -3.5 Std R = 6.2 Min R = -28.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.973\n",
+ "ExplainedVarOld: 0.966\n",
+ "KL: 0.00129\n",
+ "PolicyEntropy: -5.32\n",
+ "PolicyLoss: -0.00237\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 3.99e+07\n",
+ "ValFuncLoss: 6.49e-05\n",
+ "Variance: 0.0669\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010305404 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06700478 0.06214311 0.06546614 0.06161218]\n",
+ "FIT: 0.5136580641157259 2.2006286038413694 0.01926516733674633 0.11619747206471169\n",
+ "***** Episode 155845, Mean R = -2.7 Std R = 4.3 Min R = -18.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -5.32\n",
+ "PolicyLoss: -0.00229\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 3.99e+07\n",
+ "ValFuncLoss: 3.09e-05\n",
+ "Variance: 0.067\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010879178 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06699054 0.06220848 0.06546096 0.06147661]\n",
+ "FIT: 0.5807244480315027 2.2667394639014598 0.0213054213239687 0.11688839317346031\n",
+ "***** Episode 155966, Mean R = -3.8 Std R = 5.8 Min R = -25.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.937\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -5.32\n",
+ "PolicyLoss: -0.00145\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4e+07\n",
+ "ValFuncLoss: 5.22e-05\n",
+ "Variance: 0.067\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011834202 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06693236 0.06204617 0.06517193 0.06127593]\n",
+ "FIT: 0.5137454239636496 2.134909174875182 0.020571257206665118 0.11914894907609562\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 156087, Mean R = -3.8 Std R = 5.1 Min R = -22.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.975\n",
+ "ExplainedVarOld: 0.967\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -5.33\n",
+ "PolicyLoss: -0.0019\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4e+07\n",
+ "ValFuncLoss: 5.74e-05\n",
+ "Variance: 0.0669\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.000861215 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06687184 0.06207266 0.06492019 0.06107768]\n",
+ "FIT: 0.5036447201834275 2.121873811590306 0.02086824434967843 0.11577391447389253\n",
+ "***** Episode 156208, Mean R = -3.7 Std R = 5.6 Min R = -25.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.973\n",
+ "ExplainedVarOld: 0.958\n",
+ "KL: 0.000861\n",
+ "PolicyEntropy: -5.34\n",
+ "PolicyLoss: -0.00228\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.01e+07\n",
+ "ValFuncLoss: 6.63e-05\n",
+ "Variance: 0.0669\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013291059 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06697156 0.06191143 0.06503231 0.0609506 ]\n",
+ "FIT: 0.5172839587220082 2.0981134430118358 0.020283375220186917 0.11655301648094774\n",
+ "***** Episode 156329, Mean R = -3.2 Std R = 5.8 Min R = -26.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.968\n",
+ "KL: 0.00133\n",
+ "PolicyEntropy: -5.34\n",
+ "PolicyLoss: -0.002\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.01e+07\n",
+ "ValFuncLoss: 4.81e-05\n",
+ "Variance: 0.067\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011939474 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06697926 0.06166974 0.06500261 0.06093467]\n",
+ "FIT: 0.8614473422163733 2.2356314928729577 0.021169137617962793 0.11983611967905665\n",
+ "***** Episode 156450, Mean R = -4.1 Std R = 6.5 Min R = -35.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.976\n",
+ "ExplainedVarOld: 0.96\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -5.34\n",
+ "PolicyLoss: -0.00257\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 4.01e+07\n",
+ "ValFuncLoss: 7.08e-05\n",
+ "Variance: 0.067\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012104191 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06730922 0.06158558 0.06487839 0.06086302]\n",
+ "FIT: 0.5699859909807801 2.195513375567218 0.01943047545749033 0.1147449811552885\n",
+ "Update Cnt = 1130 ET = 1084.1 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.0 -0.3 -0.0 | 1.0 1.0 0.0 | -3.8 -4.1 -0.1 | 4.2 4.8 -0.0\n",
+ "v_f | 0.04 -0.06 -0.99 | 0.09 0.08 0.12 | -0.40 -0.49 -1.37 | 0.38 0.62 -0.32\n",
+ "r_i | 994.7 11.7 2351.3 | 577.2 584.9 28.7 | 1.4 -998.8 2300.0 | 1995.3 1000.0 2399.9\n",
+ "v_i | -40.02 0.33 -79.63 | 17.71 16.94 5.80 | -69.95 -30.00 -89.97 | -10.05 29.99 -70.00\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 4.9\n",
+ "norm_vf | 1.00 | 0.11 | 0.60 | 1.37\n",
+ "gs_f | 21.4 | 29.2 | 2.6 | 527.7\n",
+ "thrust | 1227 -7 9224 | 2821 2884 2057 | -15011 -16515 2000 | 16602 16261 19994\n",
+ "norm_thrust | 9868 | 3118 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 258 | 346\n",
+ "rewards | -3.39 | 5.68 | -35.22 | 3.65\n",
+ "fuel_rewards | -7.50 | 0.39 | -8.92 | -6.66\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.51 | 0.54 | 0.51 | 4.84\n",
+ "norm_af | 0.04 | 0.03 | 0.00 | 0.24\n",
+ "norm_wf | 0.15 | 0.08 | 0.00 | 0.48\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.53 | -7.67 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.12 0.00 | 0.35 0.20 0.20 | -1.43 -0.97 -1.07 | 1.50 1.15 1.08\n",
+ "w | -0.00 -0.01 0.00 | 0.21 0.20 0.01 | -1.70 -2.48 -0.09 | 2.25 1.54 0.12\n",
+ "a_f | -0.01 -0.00 | 0.04 0.03 | -0.12 -0.19 | 0.13 0.21\n",
+ "w_f | -0.02 -0.02 0.00 | 0.12 0.11 0.01 | -0.48 -0.44 -0.08 | 0.42 0.39 0.11\n",
+ "landing_rewards | 9.33 | 2.50 | 0.00 | 10.00\n",
+ "landing_margin | -0.06 | 0.16 | -0.19 | 2.41\n",
+ "tracking_rewards | -5.15 | 4.60 | -31.56 | 0.86\n",
+ "steps | 304 | 24 | 246 | 391\n",
+ "***** Episode 156571, Mean R = -2.9 Std R = 5.2 Min R = -25.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.975\n",
+ "ExplainedVarOld: 0.967\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -5.34\n",
+ "PolicyLoss: -0.00235\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.02e+07\n",
+ "ValFuncLoss: 5.33e-05\n",
+ "Variance: 0.0673\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011741521 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06730566 0.06146275 0.06460696 0.06089203]\n",
+ "FIT: 0.5773802327126313 2.0902053553256676 0.019457643357302296 0.1174721272913913\n",
+ "***** Episode 156692, Mean R = -2.9 Std R = 5.0 Min R = -23.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.97\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -5.35\n",
+ "PolicyLoss: -0.00241\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.02e+07\n",
+ "ValFuncLoss: 4.08e-05\n",
+ "Variance: 0.0673\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012422542 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06712328 0.06137603 0.06439222 0.06084362]\n",
+ "FIT: 0.6758864007044872 2.2076313228345414 0.022044110788177904 0.11972219711918351\n",
+ "***** Episode 156813, Mean R = -4.3 Std R = 6.4 Min R = -38.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -5.36\n",
+ "PolicyLoss: -0.00243\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.02e+07\n",
+ "ValFuncLoss: 5.42e-05\n",
+ "Variance: 0.0671\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012266962 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0670347 0.06143593 0.06430754 0.06073295]\n",
+ "FIT: 0.5065838199065413 2.128254384441956 0.01952350989690017 0.1135320976520157\n",
+ "***** Episode 156934, Mean R = -3.0 Std R = 5.1 Min R = -19.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.972\n",
+ "ExplainedVarOld: 0.956\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -5.36\n",
+ "PolicyLoss: -0.00222\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.03e+07\n",
+ "ValFuncLoss: 5.62e-05\n",
+ "Variance: 0.067\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013746079 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06702597 0.06141986 0.06407552 0.06079366]\n",
+ "FIT: 0.6125381397302643 2.302932389570614 0.02009442016863799 0.11703533992074751\n",
+ "***** Episode 157055, Mean R = -3.0 Std R = 5.2 Min R = -25.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.966\n",
+ "KL: 0.00137\n",
+ "PolicyEntropy: -5.36\n",
+ "PolicyLoss: -0.00209\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.03e+07\n",
+ "ValFuncLoss: 5.28e-05\n",
+ "Variance: 0.067\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010695388 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06684325 0.06131878 0.06372932 0.06099776]\n",
+ "FIT: 0.5390972578720631 2.1124866198119316 0.022849065802111723 0.12054162048084775\n",
+ "***** Episode 157176, Mean R = -4.8 Std R = 6.5 Min R = -26.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.978\n",
+ "ExplainedVarOld: 0.968\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -5.37\n",
+ "PolicyLoss: -0.00201\n",
+ "Steps: 3.59e+04\n",
+ "TotalSteps: 4.04e+07\n",
+ "ValFuncLoss: 6.9e-05\n",
+ "Variance: 0.0668\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001205996 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06690875 0.06121305 0.0635758 0.06131091]\n",
+ "FIT: 0.4840334978431962 2.2222732253549857 0.02013371987081997 0.11523493908872307\n",
+ "***** Episode 157297, Mean R = -3.3 Std R = 5.6 Min R = -25.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.975\n",
+ "ExplainedVarOld: 0.964\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -5.37\n",
+ "PolicyLoss: -0.00216\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.04e+07\n",
+ "ValFuncLoss: 5.46e-05\n",
+ "Variance: 0.0669\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012086546 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06693313 0.06119286 0.06362963 0.06137111]\n",
+ "FIT: 0.506875684709094 2.2643509393914676 0.021380504875749086 0.11830783519913599\n",
+ "***** Episode 157418, Mean R = -3.9 Std R = 5.6 Min R = -20.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -5.37\n",
+ "PolicyLoss: -0.00244\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.04e+07\n",
+ "ValFuncLoss: 4.69e-05\n",
+ "Variance: 0.0669\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009874187 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06694573 0.0611781 0.0635154 0.06130223]\n",
+ "FIT: 0.597118371751713 2.3262025514321265 0.022306964731638543 0.1204374060281121\n",
+ "***** Episode 157539, Mean R = -4.3 Std R = 6.5 Min R = -29.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.000987\n",
+ "PolicyEntropy: -5.37\n",
+ "PolicyLoss: -0.00206\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.05e+07\n",
+ "ValFuncLoss: 5.36e-05\n",
+ "Variance: 0.0669\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011832189 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06695864 0.06076989 0.06343539 0.06146706]\n",
+ "FIT: 0.4954017612163975 2.0332683701469367 0.020157025340255614 0.11531167177937944\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 157660, Mean R = -3.1 Std R = 5.4 Min R = -19.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -5.38\n",
+ "PolicyLoss: -0.00203\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.05e+07\n",
+ "ValFuncLoss: 4.2e-05\n",
+ "Variance: 0.067\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011758554 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06694671 0.0603226 0.06320636 0.06132505]\n",
+ "FIT: 0.5147959742151608 2.343142712425129 0.019457222767160717 0.12045812597945765\n",
+ "Update Cnt = 1140 ET = 1076.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.2 -0.0 | 1.0 1.0 0.0 | -3.6 -4.4 -0.1 | 3.4 4.4 -0.0\n",
+ "v_f | 0.04 -0.06 -0.99 | 0.09 0.08 0.12 | -0.29 -0.43 -1.34 | 0.59 0.26 -0.52\n",
+ "r_i | 989.1 6.1 2351.6 | 587.6 576.4 28.6 | 1.6 -998.6 2300.2 | 1999.7 997.5 2400.0\n",
+ "v_i | -39.39 -0.69 -80.16 | 17.12 17.43 5.76 | -69.99 -29.95 -90.00 | -10.00 29.97 -70.01\n",
+ "norm_rf | 1.2 | 0.8 | 0.1 | 4.5\n",
+ "norm_vf | 1.00 | 0.11 | 0.58 | 1.34\n",
+ "gs_f | 21.7 | 24.6 | 3.3 | 434.5\n",
+ "thrust | 1209 28 9249 | 2843 2917 2065 | -15700 -16593 2000 | 16580 16919 19999\n",
+ "norm_thrust | 9899 | 3139 | 3464 | 20000\n",
+ "fuel | 291 | 16 | 260 | 347\n",
+ "rewards | -3.56 | 5.72 | -38.71 | 3.76\n",
+ "fuel_rewards | -7.51 | 0.40 | -8.94 | -6.70\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.51 | 0.53 | 0.64 | 5.28\n",
+ "norm_af | 0.04 | 0.03 | 0.00 | 0.17\n",
+ "norm_wf | 0.15 | 0.08 | 0.01 | 0.54\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.04 | 0.34 | -7.03 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.11 -0.00 | 0.35 0.20 0.20 | -1.45 -1.01 -1.02 | 1.50 1.05 1.08\n",
+ "w | -0.00 -0.01 -0.00 | 0.21 0.20 0.01 | -1.76 -2.43 -0.09 | 2.07 1.40 0.14\n",
+ "a_f | -0.01 -0.00 | 0.04 0.03 | -0.12 -0.14 | 0.12 0.14\n",
+ "w_f | -0.02 -0.02 -0.00 | 0.12 0.11 0.01 | -0.46 -0.36 -0.07 | 0.50 0.33 0.13\n",
+ "landing_rewards | 9.33 | 2.50 | 0.00 | 10.00\n",
+ "landing_margin | -0.06 | 0.11 | -0.19 | 1.70\n",
+ "tracking_rewards | -5.33 | 4.76 | -29.62 | 1.04\n",
+ "steps | 303 | 24 | 249 | 394\n",
+ "***** Episode 157781, Mean R = -3.0 Std R = 5.2 Min R = -19.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.966\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -5.39\n",
+ "PolicyLoss: -0.00236\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 4.05e+07\n",
+ "ValFuncLoss: 4.54e-05\n",
+ "Variance: 0.0669\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012307429 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06691267 0.06018216 0.06328534 0.06122047]\n",
+ "FIT: 0.6445771366554496 2.264199594004244 0.021438931703574752 0.12145289327255816\n",
+ "***** Episode 157902, Mean R = -4.1 Std R = 6.3 Min R = -29.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.978\n",
+ "ExplainedVarOld: 0.965\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -5.39\n",
+ "PolicyLoss: -0.00238\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.06e+07\n",
+ "ValFuncLoss: 6.75e-05\n",
+ "Variance: 0.0669\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010931885 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06693539 0.06037804 0.06319933 0.06110735]\n",
+ "FIT: 0.5804866476110833 2.1423586469877263 0.022164793897280526 0.11959169771428689\n",
+ "***** Episode 158023, Mean R = -4.4 Std R = 6.4 Min R = -27.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -5.39\n",
+ "PolicyLoss: -0.00203\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.06e+07\n",
+ "ValFuncLoss: 5.72e-05\n",
+ "Variance: 0.0669\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010010278 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06695346 0.06040561 0.06316815 0.06117282]\n",
+ "FIT: 0.5339763944300113 2.3186346387742267 0.020463222972797363 0.11881463939816417\n",
+ "***** Episode 158144, Mean R = -3.4 Std R = 5.7 Min R = -21.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.967\n",
+ "KL: 0.001\n",
+ "PolicyEntropy: -5.39\n",
+ "PolicyLoss: -0.00232\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 4.06e+07\n",
+ "ValFuncLoss: 3.48e-05\n",
+ "Variance: 0.067\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011355716 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06711296 0.06023639 0.06305497 0.06128095]\n",
+ "FIT: 0.4281304097331985 1.952247105495463 0.018907370023872133 0.11508409853175203\n",
+ "***** Episode 158265, Mean R = -2.4 Std R = 4.6 Min R = -20.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -5.39\n",
+ "PolicyLoss: -0.00202\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.07e+07\n",
+ "ValFuncLoss: 3.19e-05\n",
+ "Variance: 0.0671\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012219041 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06710907 0.06007702 0.063055 0.06153398]\n",
+ "FIT: 0.5576093840977316 2.398416793616857 0.02169584331732264 0.12065610702361668\n",
+ "***** Episode 158386, Mean R = -4.2 Std R = 5.9 Min R = -30.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.975\n",
+ "ExplainedVarOld: 0.972\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -5.39\n",
+ "PolicyLoss: -0.00177\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 4.07e+07\n",
+ "ValFuncLoss: 6.83e-05\n",
+ "Variance: 0.0671\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012363364 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06714052 0.05998482 0.06315535 0.06149529]\n",
+ "FIT: 0.5652881973949696 2.2980409118022562 0.019792848829686797 0.11565062318062108\n",
+ "***** Episode 158507, Mean R = -3.0 Std R = 5.1 Min R = -20.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -5.39\n",
+ "PolicyLoss: -0.0023\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.08e+07\n",
+ "ValFuncLoss: 3.76e-05\n",
+ "Variance: 0.0671\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014249426 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06692933 0.06015904 0.06318331 0.06118726]\n",
+ "FIT: 0.5897754812836388 2.304580200332015 0.020425194044847897 0.11716763030112559\n",
+ "***** Episode 158628, Mean R = -3.2 Std R = 5.3 Min R = -21.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00142\n",
+ "PolicyEntropy: -5.39\n",
+ "PolicyLoss: -0.00216\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.08e+07\n",
+ "ValFuncLoss: 4.69e-05\n",
+ "Variance: 0.0669\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00084263115 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06689174 0.06000259 0.06330855 0.061003 ]\n",
+ "FIT: 0.6604815253510683 2.376022248893756 0.021538514903416395 0.11765276279997945\n",
+ "***** Episode 158749, Mean R = -3.7 Std R = 6.8 Min R = -31.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.964\n",
+ "KL: 0.000843\n",
+ "PolicyEntropy: -5.4\n",
+ "PolicyLoss: -0.00194\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 4.08e+07\n",
+ "ValFuncLoss: 3.84e-05\n",
+ "Variance: 0.0669\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011459301 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06705535 0.05971673 0.0633374 0.06082442]\n",
+ "FIT: 0.5476492432833483 2.2202790307132685 0.02063534906818768 0.12030253615719358\n",
+ "***** Episode 158870, Mean R = -3.7 Std R = 5.3 Min R = -21.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.971\n",
+ "KL: 0.00115\n",
+ "PolicyEntropy: -5.4\n",
+ "PolicyLoss: -0.00213\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.09e+07\n",
+ "ValFuncLoss: 4.76e-05\n",
+ "Variance: 0.0671\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010680023 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06712912 0.05946735 0.06314761 0.06066802]\n",
+ "FIT: 0.5170175772860717 2.2559107306154895 0.020765088172203947 0.11894249477339959\n",
+ "Update Cnt = 1150 ET = 1077.2 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.0 1.1 0.0 | -3.9 -4.2 -0.1 | 3.7 4.4 -0.0\n",
+ "v_f | 0.04 -0.07 -0.98 | 0.09 0.08 0.12 | -0.37 -0.38 -1.35 | 0.48 0.21 -0.49\n",
+ "r_i | 1026.4 13.5 2350.2 | 573.9 587.2 29.3 | 6.3 -998.0 2300.0 | 1999.8 999.2 2400.0\n",
+ "v_i | -41.00 -0.35 -79.99 | 17.26 16.98 5.87 | -69.84 -29.99 -89.99 | -10.09 29.98 -70.00\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 4.4\n",
+ "norm_vf | 1.00 | 0.11 | 0.54 | 1.36\n",
+ "gs_f | 20.7 | 23.3 | 3.1 | 376.4\n",
+ "thrust | 1257 15 9238 | 2856 2901 2065 | -15149 -16546 2000 | 16489 16485 19997\n",
+ "norm_thrust | 9896 | 3137 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 260 | 349\n",
+ "rewards | -3.57 | 5.81 | -31.04 | 3.43\n",
+ "fuel_rewards | -7.52 | 0.40 | -8.98 | -6.69\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.47 | 0.49 | 0.47 | 4.43\n",
+ "norm_af | 0.04 | 0.03 | 0.00 | 0.18\n",
+ "norm_wf | 0.14 | 0.08 | 0.01 | 0.49\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.45 | -8.47 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "attitude | 0.01 0.12 -0.00 | 0.36 0.21 0.20 | -1.41 -0.93 -1.00 | 1.73 1.04 1.03\n",
+ "w | -0.00 -0.01 -0.00 | 0.21 0.20 0.01 | -1.70 -2.45 -0.10 | 2.31 1.54 0.09\n",
+ "a_f | -0.00 -0.00 | 0.04 0.03 | -0.17 -0.17 | 0.16 0.10\n",
+ "w_f | -0.01 -0.02 -0.00 | 0.12 0.11 0.01 | -0.47 -0.39 -0.09 | 0.40 0.38 0.08\n",
+ "landing_rewards | 9.38 | 2.41 | 0.00 | 10.00\n",
+ "landing_margin | -0.06 | 0.13 | -0.19 | 1.93\n",
+ "tracking_rewards | -5.39 | 4.94 | -33.15 | 0.64\n",
+ "steps | 303 | 25 | 247 | 396\n",
+ "***** Episode 158991, Mean R = -3.6 Std R = 6.1 Min R = -25.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -5.41\n",
+ "PolicyLoss: -0.00216\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.09e+07\n",
+ "ValFuncLoss: 4.21e-05\n",
+ "Variance: 0.0671\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011295563 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06734625 0.05942129 0.06287617 0.06066355]\n",
+ "FIT: 0.5730168750244407 2.3319912499067326 0.02057607470343176 0.11586983361688137\n",
+ "***** Episode 159112, Mean R = -3.5 Std R = 5.9 Min R = -20.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.976\n",
+ "ExplainedVarOld: 0.969\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -5.41\n",
+ "PolicyLoss: -0.0021\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.09e+07\n",
+ "ValFuncLoss: 5.94e-05\n",
+ "Variance: 0.0673\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.000979513 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06759026 0.05946389 0.0627998 0.06086782]\n",
+ "FIT: 0.6300189480901147 2.2367852065207314 0.020764877559896627 0.11533925442110436\n",
+ "***** Episode 159233, Mean R = -3.4 Std R = 5.8 Min R = -28.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.974\n",
+ "KL: 0.00098\n",
+ "PolicyEntropy: -5.41\n",
+ "PolicyLoss: -0.00222\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.1e+07\n",
+ "ValFuncLoss: 5e-05\n",
+ "Variance: 0.0676\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009659631 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06778052 0.05956287 0.06287962 0.06119391]\n",
+ "FIT: 0.4748590298284027 2.092893043732041 0.020272749849111923 0.11652930578421135\n",
+ "***** Episode 159354, Mean R = -3.1 Std R = 4.9 Min R = -16.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.000966\n",
+ "PolicyEntropy: -5.4\n",
+ "PolicyLoss: -0.00235\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.1e+07\n",
+ "ValFuncLoss: 3.22e-05\n",
+ "Variance: 0.0678\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011262251 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06755914 0.05954053 0.06262249 0.06133318]\n",
+ "FIT: 0.6531572826530686 2.328115888998915 0.02078189753213473 0.11541455653002311\n",
+ "***** Episode 159475, Mean R = -3.5 Std R = 6.3 Min R = -30.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.976\n",
+ "ExplainedVarOld: 0.972\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -5.4\n",
+ "PolicyLoss: -0.00187\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 4.11e+07\n",
+ "ValFuncLoss: 5.97e-05\n",
+ "Variance: 0.0676\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00089667394 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06740735 0.05946969 0.06237763 0.0612002 ]\n",
+ "FIT: 0.6346997402908297 2.227045654555582 0.020817388809627333 0.11817981929960546\n",
+ "***** Episode 159596, Mean R = -3.3 Std R = 6.1 Min R = -28.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.000897\n",
+ "PolicyEntropy: -5.41\n",
+ "PolicyLoss: -0.0022\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.11e+07\n",
+ "ValFuncLoss: 3.44e-05\n",
+ "Variance: 0.0674\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013421997 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06729886 0.05939814 0.06203283 0.06119934]\n",
+ "FIT: 0.5641087909351842 2.2460526615550336 0.019445027193934646 0.11746930716307499\n",
+ "***** Episode 159717, Mean R = -2.7 Std R = 4.9 Min R = -23.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00134\n",
+ "PolicyEntropy: -5.42\n",
+ "PolicyLoss: -0.00185\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.11e+07\n",
+ "ValFuncLoss: 3.59e-05\n",
+ "Variance: 0.0673\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011777397 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06709066 0.05939957 0.06168671 0.06124286]\n",
+ "FIT: 0.5910564970079292 2.27220415120703 0.02133389079302722 0.11892267167820968\n",
+ "***** Episode 159838, Mean R = -4.1 Std R = 5.9 Min R = -31.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.974\n",
+ "ExplainedVarOld: 0.966\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -5.43\n",
+ "PolicyLoss: -0.00208\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.12e+07\n",
+ "ValFuncLoss: 6.61e-05\n",
+ "Variance: 0.0671\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014997976 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06689514 0.05926871 0.06157798 0.06125011]\n",
+ "FIT: 0.5069557725384554 2.1705284386289034 0.020016923327049907 0.11820779261433878\n",
+ "***** Episode 159959, Mean R = -3.2 Std R = 4.9 Min R = -17.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.977\n",
+ "ExplainedVarOld: 0.971\n",
+ "KL: 0.0015\n",
+ "PolicyEntropy: -5.43\n",
+ "PolicyLoss: -0.00226\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.12e+07\n",
+ "ValFuncLoss: 5.32e-05\n",
+ "Variance: 0.0669\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.000905182 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06669577 0.05911018 0.06144154 0.06115336]\n",
+ "FIT: 0.5272651969287105 2.3603329930468293 0.019430145514335355 0.11727512585446222\n",
+ "***** Episode 160080, Mean R = -2.7 Std R = 4.9 Min R = -20.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.977\n",
+ "ExplainedVarOld: 0.968\n",
+ "KL: 0.000905\n",
+ "PolicyEntropy: -5.44\n",
+ "PolicyLoss: -0.00202\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.12e+07\n",
+ "ValFuncLoss: 4.72e-05\n",
+ "Variance: 0.0667\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012170213 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06667902 0.05903525 0.06143424 0.06112967]\n",
+ "FIT: 0.7214257557036253 2.3620715780180004 0.020418378218858443 0.11619267400419762\n",
+ "Update Cnt = 1160 ET = 1074.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.1 -0.3 -0.0 | 1.0 1.1 0.0 | -3.6 -4.1 -0.1 | 3.9 3.8 -0.0\n",
+ "v_f | 0.04 -0.06 -0.98 | 0.09 0.08 0.12 | -0.42 -0.73 -1.34 | 0.58 0.29 -0.46\n",
+ "r_i | 968.0 -3.4 2350.1 | 581.9 575.3 28.6 | 1.0 -997.4 2300.0 | 1998.0 999.4 2400.0\n",
+ "v_i | -39.94 -0.13 -80.13 | 17.06 17.06 5.79 | -69.95 -29.72 -89.98 | -10.04 29.99 -70.02\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.2\n",
+ "norm_vf | 0.99 | 0.12 | 0.52 | 1.34\n",
+ "gs_f | 21.7 | 48.6 | 2.7 | 1506.5\n",
+ "thrust | 1228 9 9233 | 2879 2817 2061 | -15103 -17606 2000 | 16427 16503 19999\n",
+ "norm_thrust | 9874 | 3122 | 3464 | 20000\n",
+ "fuel | 290 | 14 | 260 | 348\n",
+ "rewards | -3.26 | 5.54 | -31.22 | 3.97\n",
+ "fuel_rewards | -7.48 | 0.37 | -8.96 | -6.69\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.53 | 0.55 | 0.56 | 5.27\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.19\n",
+ "norm_wf | 0.14 | 0.08 | 0.01 | 0.54\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.04 | 0.49 | -14.54 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.12 0.00 | 0.35 0.21 0.19 | -1.22 -0.97 -1.01 | 1.66 1.06 1.05\n",
+ "w | -0.00 -0.01 -0.00 | 0.21 0.20 0.01 | -1.65 -2.43 -0.09 | 2.17 1.81 0.10\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.12 -0.16 | 0.15 0.11\n",
+ "w_f | -0.01 -0.02 -0.00 | 0.12 0.11 0.01 | -0.51 -0.45 -0.09 | 0.44 0.42 0.10\n",
+ "landing_rewards | 9.36 | 2.44 | 0.00 | 10.00\n",
+ "landing_margin | -0.06 | 0.14 | -0.19 | 2.28\n",
+ "tracking_rewards | -5.12 | 4.82 | -32.85 | 0.94\n",
+ "steps | 302 | 23 | 247 | 377\n",
+ "***** Episode 160201, Mean R = -3.1 Std R = 5.2 Min R = -26.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.958\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -5.45\n",
+ "PolicyLoss: -0.00214\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.13e+07\n",
+ "ValFuncLoss: 3.29e-05\n",
+ "Variance: 0.0667\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012940748 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0666875 0.05895586 0.0613202 0.06104429]\n",
+ "FIT: 0.4581362351327262 1.985471683623393 0.019948927069840555 0.11586554546050734\n",
+ "***** Episode 160322, Mean R = -3.3 Std R = 5.1 Min R = -23.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.962\n",
+ "ExplainedVarOld: 0.956\n",
+ "KL: 0.00129\n",
+ "PolicyEntropy: -5.45\n",
+ "PolicyLoss: -0.00208\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 4.13e+07\n",
+ "ValFuncLoss: 8.22e-05\n",
+ "Variance: 0.0667\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0009883011 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06658068 0.05890579 0.06119722 0.06076366]\n",
+ "FIT: 0.49186564676633815 1.9181894695449861 0.018927511896325088 0.11383938230975384\n",
+ "***** Episode 160443, Mean R = -2.5 Std R = 4.6 Min R = -18.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.967\n",
+ "KL: 0.000988\n",
+ "PolicyEntropy: -5.46\n",
+ "PolicyLoss: -0.00198\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.13e+07\n",
+ "ValFuncLoss: 3.89e-05\n",
+ "Variance: 0.0666\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009896749 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06635119 0.0586611 0.06119227 0.06050114]\n",
+ "FIT: 0.5963657480140517 2.1570196615292745 0.021793488653637054 0.11707211050397395\n",
+ "***** Episode 160564, Mean R = -4.3 Std R = 6.5 Min R = -25.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.973\n",
+ "ExplainedVarOld: 0.958\n",
+ "KL: 0.00099\n",
+ "PolicyEntropy: -5.47\n",
+ "PolicyLoss: -0.002\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.14e+07\n",
+ "ValFuncLoss: 7.04e-05\n",
+ "Variance: 0.0664\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012455042 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06632358 0.05835839 0.06081787 0.06036911]\n",
+ "FIT: 0.5170530238035259 2.216429923350342 0.02038613392287013 0.11658183767949472\n",
+ "***** Episode 160685, Mean R = -3.2 Std R = 5.3 Min R = -28.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.973\n",
+ "ExplainedVarOld: 0.968\n",
+ "KL: 0.00125\n",
+ "PolicyEntropy: -5.49\n",
+ "PolicyLoss: -0.00234\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.14e+07\n",
+ "ValFuncLoss: 5.97e-05\n",
+ "Variance: 0.0663\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011967559 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06612457 0.05840154 0.06066964 0.06029947]\n",
+ "FIT: 0.5036498811966561 2.1472796170809754 0.019779535262583758 0.11556522452540455\n",
+ "***** Episode 160806, Mean R = -3.0 Std R = 5.5 Min R = -20.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.977\n",
+ "ExplainedVarOld: 0.966\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: -5.49\n",
+ "PolicyLoss: -0.00191\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.15e+07\n",
+ "ValFuncLoss: 4.74e-05\n",
+ "Variance: 0.0661\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013392096 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06611215 0.05823846 0.06075983 0.06042163]\n",
+ "FIT: 0.5241272849381274 2.2882977012641383 0.02040500698333538 0.11694023995222459\n",
+ "***** Episode 160927, Mean R = -3.4 Std R = 5.2 Min R = -21.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.00134\n",
+ "PolicyEntropy: -5.49\n",
+ "PolicyLoss: -0.00238\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.15e+07\n",
+ "ValFuncLoss: 4.64e-05\n",
+ "Variance: 0.0661\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011585468 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0661562 0.05813841 0.06075746 0.06022473]\n",
+ "FIT: 0.6104026365560634 2.252265177460047 0.022467796818170592 0.12165400866852279\n",
+ "***** Episode 161048, Mean R = -4.7 Std R = 6.8 Min R = -32.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.967\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -5.5\n",
+ "PolicyLoss: -0.0026\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.15e+07\n",
+ "ValFuncLoss: 6.04e-05\n",
+ "Variance: 0.0662\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012364407 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06605662 0.0581788 0.06052743 0.06015681]\n",
+ "FIT: 0.5368968811163499 2.1393865473842957 0.02179766164800614 0.11971592919056127\n",
+ "***** Episode 161169, Mean R = -4.3 Std R = 5.7 Min R = -25.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.977\n",
+ "ExplainedVarOld: 0.964\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -5.5\n",
+ "PolicyLoss: -0.00229\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.16e+07\n",
+ "ValFuncLoss: 6.52e-05\n",
+ "Variance: 0.0661\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010244481 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06577202 0.05820863 0.06022029 0.06022512]\n",
+ "FIT: 0.643770143335756 2.2473689141555395 0.0220440139176486 0.12013892687625324\n",
+ "***** Episode 161290, Mean R = -4.1 Std R = 6.0 Min R = -31.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -5.51\n",
+ "PolicyLoss: -0.00262\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.16e+07\n",
+ "ValFuncLoss: 3.75e-05\n",
+ "Variance: 0.0658\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010327986 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06576882 0.05822498 0.06005001 0.06024105]\n",
+ "FIT: 0.5885478339995573 2.2646069376729216 0.020478856573809334 0.11749549772878892\n",
+ "Update Cnt = 1170 ET = 1079.1 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.0 -0.3 -0.0 | 1.1 1.1 0.0 | -3.5 -5.0 -0.1 | 5.9 7.1 -0.0\n",
+ "v_f | 0.04 -0.07 -0.98 | 0.09 0.08 0.12 | -0.30 -0.48 -1.37 | 0.38 0.41 -0.42\n",
+ "r_i | 997.5 1.0 2349.5 | 581.5 569.5 28.6 | 1.2 -998.7 2300.0 | 1999.8 998.0 2400.0\n",
+ "v_i | -40.22 -0.00 -79.74 | 17.21 17.37 5.82 | -69.96 -29.98 -89.98 | -10.05 29.89 -70.00\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 7.2\n",
+ "norm_vf | 0.99 | 0.12 | 0.43 | 1.37\n",
+ "gs_f | 19.9 | 23.2 | 3.2 | 468.5\n",
+ "thrust | 1233 5 9222 | 2875 2866 2046 | -15444 -16484 2000 | 16662 16431 20000\n",
+ "norm_thrust | 9874 | 3121 | 3464 | 20000\n",
+ "fuel | 291 | 16 | 260 | 363\n",
+ "rewards | -3.58 | 5.72 | -32.11 | 3.91\n",
+ "fuel_rewards | -7.50 | 0.40 | -9.38 | -6.70\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.49 | 0.50 | 0.54 | 4.95\n",
+ "norm_af | 0.04 | 0.03 | 0.00 | 0.18\n",
+ "norm_wf | 0.14 | 0.08 | 0.01 | 0.46\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.44 | -7.90 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.12 -0.00 | 0.35 0.21 0.20 | -1.32 -0.90 -1.05 | 1.52 1.05 1.08\n",
+ "w | -0.00 -0.01 -0.00 | 0.21 0.20 0.01 | -1.75 -2.45 -0.09 | 1.90 1.46 0.10\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.15 -0.18 | 0.15 0.16\n",
+ "w_f | -0.02 -0.02 -0.00 | 0.12 0.11 0.01 | -0.46 -0.45 -0.08 | 0.41 0.36 0.09\n",
+ "landing_rewards | 9.25 | 2.64 | 0.00 | 10.00\n",
+ "landing_margin | -0.06 | 0.17 | -0.19 | 2.21\n",
+ "tracking_rewards | -5.28 | 4.72 | -33.30 | 0.93\n",
+ "steps | 303 | 25 | 249 | 387\n",
+ "***** Episode 161411, Mean R = -3.2 Std R = 5.8 Min R = -25.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -5.51\n",
+ "PolicyLoss: -0.00215\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.16e+07\n",
+ "ValFuncLoss: 3.35e-05\n",
+ "Variance: 0.0658\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012741775 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06580707 0.05817714 0.05995382 0.06030764]\n",
+ "FIT: 0.6468639011901278 2.3660351202977834 0.020862001451678595 0.11587643960106943\n",
+ "***** Episode 161532, Mean R = -3.3 Std R = 5.7 Min R = -25.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -5.51\n",
+ "PolicyLoss: -0.00229\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 4.17e+07\n",
+ "ValFuncLoss: 3.6e-05\n",
+ "Variance: 0.0658\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013484235 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06591538 0.05827645 0.06000081 0.06028056]\n",
+ "FIT: 0.5754695169700748 2.2423904675328314 0.02072724144053976 0.11926943820954268\n",
+ "***** Episode 161653, Mean R = -3.5 Std R = 5.4 Min R = -24.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.974\n",
+ "KL: 0.00135\n",
+ "PolicyEntropy: -5.51\n",
+ "PolicyLoss: -0.00243\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.17e+07\n",
+ "ValFuncLoss: 4.49e-05\n",
+ "Variance: 0.0659\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010326047 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06577963 0.05802061 0.06017054 0.06014213]\n",
+ "FIT: 0.6000450883768691 2.2067874313750906 0.020298661206366125 0.11662659663247119\n",
+ "***** Episode 161774, Mean R = -3.1 Std R = 5.5 Min R = -24.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.97\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -5.51\n",
+ "PolicyLoss: -0.00221\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 4.17e+07\n",
+ "ValFuncLoss: 4.87e-05\n",
+ "Variance: 0.0658\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010799357 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06583832 0.05775502 0.06018775 0.06018321]\n",
+ "FIT: 0.508583518902777 2.2459241202708715 0.019907904010498495 0.11648072101179122\n",
+ "***** Episode 161895, Mean R = -3.1 Std R = 4.7 Min R = -19.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -5.52\n",
+ "PolicyLoss: -0.00168\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.18e+07\n",
+ "ValFuncLoss: 4.71e-05\n",
+ "Variance: 0.0658\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.001238322 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06587467 0.05773979 0.06021365 0.06010843]\n",
+ "FIT: 0.6075316567700787 2.1289324042035904 0.01992937668762611 0.11758238002638204\n",
+ "***** Episode 162016, Mean R = -3.1 Std R = 5.5 Min R = -27.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -5.52\n",
+ "PolicyLoss: -0.00198\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 4.18e+07\n",
+ "ValFuncLoss: 4.29e-05\n",
+ "Variance: 0.0659\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001250591 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06611925 0.05761598 0.06010525 0.06000671]\n",
+ "FIT: 0.5416487211325193 2.180324076708977 0.02014333266775182 0.11686049550210044\n",
+ "***** Episode 162137, Mean R = -3.2 Std R = 5.4 Min R = -19.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.976\n",
+ "ExplainedVarOld: 0.972\n",
+ "KL: 0.00125\n",
+ "PolicyEntropy: -5.52\n",
+ "PolicyLoss: -0.00185\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.19e+07\n",
+ "ValFuncLoss: 5.49e-05\n",
+ "Variance: 0.0661\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012682247 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06597941 0.05768016 0.06010967 0.05988208]\n",
+ "FIT: 0.48672737686429185 2.1342617209275088 0.019501444054760942 0.11683616089053431\n",
+ "***** Episode 162258, Mean R = -2.8 Std R = 5.1 Min R = -16.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.967\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -5.52\n",
+ "PolicyLoss: -0.00275\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.19e+07\n",
+ "ValFuncLoss: 4.57e-05\n",
+ "Variance: 0.066\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014328973 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.065915 0.05763692 0.06005903 0.05979374]\n",
+ "FIT: 0.5907524766771043 2.269874165919014 0.020482234350882946 0.11690172742121901\n",
+ "***** Episode 162379, Mean R = -3.2 Std R = 5.3 Min R = -23.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00143\n",
+ "PolicyEntropy: -5.53\n",
+ "PolicyLoss: -0.00227\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.19e+07\n",
+ "ValFuncLoss: 2.46e-05\n",
+ "Variance: 0.0659\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013282364 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06596194 0.05738998 0.06009556 0.05978466]\n",
+ "FIT: 0.610583776221865 2.285131651192473 0.020272479918736576 0.11587079759787787\n",
+ "***** Episode 162500, Mean R = -3.2 Std R = 6.1 Min R = -26.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.00133\n",
+ "PolicyEntropy: -5.53\n",
+ "PolicyLoss: -0.00185\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 4.2e+07\n",
+ "ValFuncLoss: 5.14e-05\n",
+ "Variance: 0.066\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011264489 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06553973 0.05706141 0.05989882 0.05966987]\n",
+ "FIT: 0.47641427543114445 2.0666804456629473 0.01981774444326106 0.11643032194564273\n",
+ "Update Cnt = 1180 ET = 1074.5 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.3 -0.0 | 1.1 1.1 0.0 | -5.6 -5.0 -0.1 | 4.4 4.2 -0.0\n",
+ "v_f | 0.04 -0.06 -0.97 | 0.09 0.08 0.13 | -0.27 -0.46 -1.36 | 0.43 0.27 -0.38\n",
+ "r_i | 1022.1 2.4 2350.0 | 578.2 569.9 29.9 | 1.6 -999.3 2300.1 | 1995.8 997.4 2400.0\n",
+ "v_i | -39.90 -0.41 -80.03 | 17.70 17.11 5.91 | -69.93 -29.92 -89.98 | -10.02 29.90 -70.02\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 6.3\n",
+ "norm_vf | 0.98 | 0.12 | 0.48 | 1.36\n",
+ "gs_f | 22.0 | 27.3 | 3.9 | 505.0\n",
+ "thrust | 1218 18 9221 | 2853 2797 2078 | -15611 -16508 2000 | 16805 16309 19999\n",
+ "norm_thrust | 9853 | 3115 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 259 | 353\n",
+ "rewards | -3.12 | 5.31 | -27.49 | 3.86\n",
+ "fuel_rewards | -7.49 | 0.39 | -9.09 | -6.69\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.50 | 0.54 | 0.54 | 4.86\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.17\n",
+ "norm_wf | 0.14 | 0.08 | 0.00 | 0.57\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.40 | -5.18 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.12 0.00 | 0.35 0.20 0.19 | -1.24 -0.94 -1.03 | 1.78 1.05 1.03\n",
+ "w | -0.00 -0.01 0.00 | 0.21 0.20 0.01 | -1.64 -2.51 -0.09 | 2.28 1.54 0.12\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.14 -0.13 | 0.10 0.15\n",
+ "w_f | -0.02 -0.02 0.00 | 0.12 0.10 0.02 | -0.55 -0.49 -0.09 | 0.42 0.30 0.11\n",
+ "landing_rewards | 9.49 | 2.20 | 0.00 | 10.00\n",
+ "landing_margin | -0.07 | 0.10 | -0.19 | 1.27\n",
+ "tracking_rewards | -5.06 | 4.74 | -29.34 | 0.90\n",
+ "steps | 304 | 24 | 252 | 386\n",
+ "***** Episode 162621, Mean R = -2.8 Std R = 4.2 Min R = -15.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -5.55\n",
+ "PolicyLoss: -0.00254\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.2e+07\n",
+ "ValFuncLoss: 2.84e-05\n",
+ "Variance: 0.0655\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013131016 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06549501 0.05691676 0.0596671 0.0595967 ]\n",
+ "FIT: 0.551473211523509 2.130090314681392 0.020702656160747346 0.11836987743806962\n",
+ "***** Episode 162742, Mean R = -3.0 Std R = 5.4 Min R = -21.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00131\n",
+ "PolicyEntropy: -5.56\n",
+ "PolicyLoss: -0.00262\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.2e+07\n",
+ "ValFuncLoss: 1.9e-05\n",
+ "Variance: 0.0655\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013530267 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06554566 0.05681216 0.05960205 0.05930567]\n",
+ "FIT: 0.7165767591969577 2.379999102874172 0.02099865992374756 0.118537119644106\n",
+ "***** Episode 162863, Mean R = -3.7 Std R = 6.2 Min R = -37.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00135\n",
+ "PolicyEntropy: -5.56\n",
+ "PolicyLoss: -0.00198\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.21e+07\n",
+ "ValFuncLoss: 7.72e-05\n",
+ "Variance: 0.0655\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012479338 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06577403 0.05670427 0.0594184 0.05923021]\n",
+ "FIT: 0.5710595247748916 2.18651420346281 0.02008676315819012 0.11449844302558852\n",
+ "***** Episode 162984, Mean R = -3.2 Std R = 5.9 Min R = -27.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.969\n",
+ "ExplainedVarOld: 0.961\n",
+ "KL: 0.00125\n",
+ "PolicyEntropy: -5.57\n",
+ "PolicyLoss: -0.00222\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.21e+07\n",
+ "ValFuncLoss: 6.63e-05\n",
+ "Variance: 0.0658\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0018354378 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06580063 0.05645274 0.05917989 0.05927847]\n",
+ "FIT: 0.493319374722842 2.1746188813485436 0.020366734564126215 0.11563874227889033\n",
+ "***** Episode 163105, Mean R = -3.4 Std R = 5.7 Min R = -25.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.976\n",
+ "ExplainedVarOld: 0.971\n",
+ "KL: 0.00184\n",
+ "PolicyEntropy: -5.57\n",
+ "PolicyLoss: -0.00147\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.22e+07\n",
+ "ValFuncLoss: 5.39e-05\n",
+ "Variance: 0.0658\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010288358 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06571352 0.05628436 0.05904198 0.05916107]\n",
+ "FIT: 0.6392319459594789 2.42085483187089 0.019580663659211357 0.11387712203376818\n",
+ "***** Episode 163226, Mean R = -2.6 Std R = 5.8 Min R = -36.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.963\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -5.58\n",
+ "PolicyLoss: -0.00187\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 4.22e+07\n",
+ "ValFuncLoss: 3.68e-05\n",
+ "Variance: 0.0657\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009955921 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06580248 0.05638802 0.05898077 0.05909338]\n",
+ "FIT: 0.5441944983888277 2.2245712899482317 0.020597762684067336 0.11732292303780385\n",
+ "***** Episode 163347, Mean R = -3.1 Std R = 5.5 Min R = -21.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.000996\n",
+ "PolicyEntropy: -5.58\n",
+ "PolicyLoss: -0.00234\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.22e+07\n",
+ "ValFuncLoss: 2.92e-05\n",
+ "Variance: 0.0658\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011630281 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06587028 0.05637716 0.0589551 0.05906799]\n",
+ "FIT: 0.6562796962689772 2.3627142719227168 0.020880903529576722 0.11590744204117327\n",
+ "***** Episode 163468, Mean R = -3.5 Std R = 6.2 Min R = -28.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -5.58\n",
+ "PolicyLoss: -0.00174\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.23e+07\n",
+ "ValFuncLoss: 5.74e-05\n",
+ "Variance: 0.0659\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0009650459 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06579279 0.05637564 0.05889688 0.05899862]\n",
+ "FIT: 0.5173008893718543 2.2495740692608175 0.018916258228175692 0.11391769483910173\n",
+ "***** Episode 163589, Mean R = -2.7 Std R = 5.7 Min R = -23.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.966\n",
+ "ExplainedVarOld: 0.957\n",
+ "KL: 0.000965\n",
+ "PolicyEntropy: -5.58\n",
+ "PolicyLoss: -0.00171\n",
+ "Steps: 3.73e+04\n",
+ "TotalSteps: 4.23e+07\n",
+ "ValFuncLoss: 6.44e-05\n",
+ "Variance: 0.0658\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010687002 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06580023 0.05633999 0.0589043 0.05907745]\n",
+ "FIT: 0.6781888367635815 2.301798221826818 0.022559236020594696 0.12102759341766282\n",
+ "***** Episode 163710, Mean R = -4.5 Std R = 6.1 Min R = -31.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -5.58\n",
+ "PolicyLoss: -0.002\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.23e+07\n",
+ "ValFuncLoss: 5.42e-05\n",
+ "Variance: 0.0658\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010974952 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06575216 0.05651693 0.05871772 0.05886906]\n",
+ "FIT: 0.45280294199039745 2.0070512948444863 0.019932494550848973 0.1173306381685547\n",
+ "Update Cnt = 1190 ET = 1077.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.0 -0.3 -0.0 | 1.1 1.0 0.0 | -3.7 -4.1 -0.1 | 3.6 3.7 -0.0\n",
+ "v_f | 0.03 -0.06 -0.97 | 0.09 0.08 0.13 | -0.39 -0.43 -1.38 | 0.43 0.34 -0.36\n",
+ "r_i | 1005.6 43.1 2349.7 | 581.1 574.0 28.3 | 0.3 -993.2 2300.1 | 1998.8 999.9 2400.0\n",
+ "v_i | -40.73 0.25 -79.93 | 17.52 16.80 5.68 | -69.99 -30.00 -89.98 | -10.03 29.98 -70.04\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 4.7\n",
+ "norm_vf | 0.98 | 0.12 | 0.50 | 1.38\n",
+ "gs_f | 21.9 | 24.6 | 3.5 | 360.9\n",
+ "thrust | 1250 -7 9231 | 2861 2819 2052 | -15881 -16353 2000 | 16711 16218 19999\n",
+ "norm_thrust | 9872 | 3111 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 261 | 353\n",
+ "rewards | -3.29 | 5.78 | -37.70 | 3.59\n",
+ "fuel_rewards | -7.49 | 0.38 | -9.10 | -6.71\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.50 | 0.53 | 0.43 | 5.15\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.17\n",
+ "norm_wf | 0.14 | 0.08 | 0.00 | 0.49\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.04 | 0.47 | -8.34 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.12 -0.00 | 0.35 0.21 0.19 | -1.31 -1.00 -1.00 | 1.40 1.04 1.11\n",
+ "w | -0.00 -0.01 -0.00 | 0.21 0.20 0.01 | -1.64 -2.52 -0.06 | 2.15 1.35 0.10\n",
+ "a_f | -0.01 -0.01 | 0.03 0.03 | -0.15 -0.11 | 0.14 0.13\n",
+ "w_f | -0.01 -0.02 -0.00 | 0.12 0.10 0.01 | -0.48 -0.38 -0.06 | 0.43 0.34 0.09\n",
+ "landing_rewards | 9.31 | 2.53 | 0.00 | 10.00\n",
+ "landing_margin | -0.07 | 0.12 | -0.19 | 1.55\n",
+ "tracking_rewards | -5.07 | 4.88 | -39.47 | 0.89\n",
+ "steps | 303 | 24 | 251 | 394\n",
+ "***** Episode 163831, Mean R = -3.2 Std R = 5.0 Min R = -20.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.969\n",
+ "ExplainedVarOld: 0.962\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -5.59\n",
+ "PolicyLoss: -0.00178\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.24e+07\n",
+ "ValFuncLoss: 7.2e-05\n",
+ "Variance: 0.0658\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010999691 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06581629 0.05649038 0.0584648 0.05876862]\n",
+ "FIT: 0.5368806267402917 2.2812050837155593 0.0198244560314569 0.11459656711603498\n",
+ "***** Episode 163952, Mean R = -2.8 Std R = 4.9 Min R = -18.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -5.59\n",
+ "PolicyLoss: -0.0022\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.24e+07\n",
+ "ValFuncLoss: 2.11e-05\n",
+ "Variance: 0.0658\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00105372 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06589922 0.05654748 0.05834297 0.05868366]\n",
+ "FIT: 0.4959440864832482 2.1844809444724813 0.019678693594004936 0.11827844410094393\n",
+ "***** Episode 164073, Mean R = -3.0 Std R = 4.8 Min R = -17.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.977\n",
+ "ExplainedVarOld: 0.964\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -5.59\n",
+ "PolicyLoss: -0.00232\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.24e+07\n",
+ "ValFuncLoss: 4.56e-05\n",
+ "Variance: 0.0659\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001234827 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06610091 0.05642689 0.05838832 0.05868987]\n",
+ "FIT: 0.5237406691679155 2.259089180798419 0.021185449397819127 0.11613509122738987\n",
+ "***** Episode 164194, Mean R = -3.6 Std R = 5.2 Min R = -23.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.971\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -5.59\n",
+ "PolicyLoss: -0.00219\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.25e+07\n",
+ "ValFuncLoss: 5.77e-05\n",
+ "Variance: 0.0661\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011590372 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06604034 0.05621883 0.05854051 0.05858717]\n",
+ "FIT: 0.6386068855249442 2.4271000341989706 0.02228469185952445 0.1182170048631819\n",
+ "***** Episode 164315, Mean R = -4.0 Std R = 6.0 Min R = -28.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -5.6\n",
+ "PolicyLoss: -0.00255\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 4.25e+07\n",
+ "ValFuncLoss: 2.95e-05\n",
+ "Variance: 0.066\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013171043 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06577253 0.05607808 0.05849969 0.05852325]\n",
+ "FIT: 0.4853527405518609 2.0810026291623585 0.018766789554187837 0.11604083944089713\n",
+ "***** Episode 164436, Mean R = -2.3 Std R = 4.7 Min R = -18.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00132\n",
+ "PolicyEntropy: -5.6\n",
+ "PolicyLoss: -0.00212\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.26e+07\n",
+ "ValFuncLoss: 3.38e-05\n",
+ "Variance: 0.0658\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010539403 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06566073 0.05604482 0.05828409 0.05842527]\n",
+ "FIT: 0.7631978318510504 2.257698004760518 0.02128715116675511 0.11792171775942449\n",
+ "***** Episode 164557, Mean R = -3.7 Std R = 6.3 Min R = -28.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.977\n",
+ "ExplainedVarOld: 0.97\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -5.61\n",
+ "PolicyLoss: -0.00215\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.26e+07\n",
+ "ValFuncLoss: 7.71e-05\n",
+ "Variance: 0.0657\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012778846 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06563769 0.05617076 0.05834566 0.05843063]\n",
+ "FIT: 0.5594599309821648 2.126293599532134 0.019400291080884466 0.11767275287482015\n",
+ "***** Episode 164678, Mean R = -2.7 Std R = 5.1 Min R = -23.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00128\n",
+ "PolicyEntropy: -5.61\n",
+ "PolicyLoss: -0.002\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.26e+07\n",
+ "ValFuncLoss: 3.56e-05\n",
+ "Variance: 0.0656\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011595701 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06556998 0.05599842 0.05830514 0.05853523]\n",
+ "FIT: 0.573947303758215 2.2514643249307262 0.021134023593609896 0.11938762686218796\n",
+ "***** Episode 164799, Mean R = -3.6 Std R = 6.1 Min R = -24.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.969\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -5.61\n",
+ "PolicyLoss: -0.00222\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.27e+07\n",
+ "ValFuncLoss: 3.81e-05\n",
+ "Variance: 0.0656\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011178155 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06552185 0.05576418 0.0583675 0.05862135]\n",
+ "FIT: 0.4856578326594625 2.1536410675793096 0.02065911085490149 0.11893146699748025\n",
+ "***** Episode 164920, Mean R = -3.4 Std R = 5.0 Min R = -17.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -5.61\n",
+ "PolicyLoss: -0.00216\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.27e+07\n",
+ "ValFuncLoss: 4.53e-05\n",
+ "Variance: 0.0655\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011146327 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0654405 0.05542988 0.05837452 0.05838128]\n",
+ "FIT: 0.5975360693591453 2.2810494554735365 0.020976565337252024 0.1186931716251373\n",
+ "Update Cnt = 1200 ET = 1072.4 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.1 -0.3 -0.0 | 1.2 1.1 0.0 | -4.3 -10.3 -0.1 | 14.9 3.6 1.6\n",
+ "v_f | 0.03 -0.06 -0.97 | 0.09 0.08 0.13 | -0.82 -0.54 -1.35 | 0.44 0.23 -0.36\n",
+ "r_i | 985.2 -16.5 2349.3 | 578.4 571.5 28.9 | 1.0 -999.8 2300.0 | 1999.9 999.3 2399.9\n",
+ "v_i | -40.10 -0.03 -80.21 | 17.40 17.22 5.83 | -69.98 -29.91 -89.99 | -10.04 29.98 -70.01\n",
+ "norm_rf | 1.3 | 1.0 | 0.0 | 18.1\n",
+ "norm_vf | 0.98 | 0.12 | 0.56 | 1.35\n",
+ "gs_f | 26.8 | 67.5 | 0.1 | 1499.2\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "thrust | 1234 7 9252 | 2871 2837 2065 | -15456 -16724 2000 | 16428 16529 19995\n",
+ "norm_thrust | 9895 | 3124 | 3464 | 20000\n",
+ "fuel | 291 | 16 | 261 | 470\n",
+ "rewards | -3.28 | 5.46 | -28.58 | 3.79\n",
+ "fuel_rewards | -7.50 | 0.41 | -12.11 | -6.73\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.50 | 0.50 | 0.11 | 4.16\n",
+ "norm_af | 0.04 | 0.03 | 0.00 | 0.45\n",
+ "norm_wf | 0.14 | 0.08 | 0.00 | 0.91\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.03 | 0.30 | -5.11 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.04 0.12 0.00 | 0.35 0.20 0.20 | -1.17 -0.91 -1.02 | 1.61 1.10 1.02\n",
+ "w | -0.00 -0.01 0.00 | 0.21 0.20 0.01 | -1.69 -2.53 -0.10 | 2.21 1.47 0.24\n",
+ "a_f | -0.01 -0.00 | 0.04 0.03 | -0.12 -0.23 | 0.38 0.13\n",
+ "w_f | -0.02 -0.02 0.00 | 0.12 0.10 0.02 | -0.52 -0.41 -0.08 | 0.87 0.33 0.24\n",
+ "landing_rewards | 9.44 | 2.30 | 0.00 | 10.00\n",
+ "landing_margin | -0.06 | 0.39 | -0.19 | 13.13\n",
+ "tracking_rewards | -5.19 | 4.80 | -30.98 | 0.99\n",
+ "steps | 303 | 26 | 247 | 601\n",
+ "***** Episode 165041, Mean R = -3.7 Std R = 6.0 Min R = -25.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.975\n",
+ "ExplainedVarOld: 0.961\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -5.63\n",
+ "PolicyLoss: -0.00209\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 4.27e+07\n",
+ "ValFuncLoss: 6.54e-05\n",
+ "Variance: 0.0654\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011732412 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06530333 0.05528267 0.05831099 0.05834525]\n",
+ "FIT: 0.5784148228390295 2.2258461149634723 0.01978136451045725 0.11773523199651581\n",
+ "***** Episode 165162, Mean R = -2.8 Std R = 6.2 Min R = -31.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -5.63\n",
+ "PolicyLoss: -0.000977\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.28e+07\n",
+ "ValFuncLoss: 3.32e-05\n",
+ "Variance: 0.0653\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013414188 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06556864 0.05539396 0.05825742 0.05834457]\n",
+ "FIT: 0.5952047209501627 2.3297543275385832 0.02200384082773591 0.118106381775048\n",
+ "***** Episode 165283, Mean R = -4.3 Std R = 6.4 Min R = -27.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.97\n",
+ "KL: 0.00134\n",
+ "PolicyEntropy: -5.63\n",
+ "PolicyLoss: -0.00188\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 4.28e+07\n",
+ "ValFuncLoss: 5.92e-05\n",
+ "Variance: 0.0656\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011308966 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06597557 0.05554191 0.05833133 0.05832232]\n",
+ "FIT: 0.5634958817696035 2.1753657723964097 0.02151896897891376 0.11770823978618761\n",
+ "***** Episode 165404, Mean R = -3.6 Std R = 5.9 Min R = -21.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -5.62\n",
+ "PolicyLoss: -0.00241\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 4.28e+07\n",
+ "ValFuncLoss: 4.47e-05\n",
+ "Variance: 0.066\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00104391 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06605461 0.05543532 0.05842064 0.05827919]\n",
+ "FIT: 0.592712849215277 2.22241689426132 0.020880593249756253 0.11883676911976705\n",
+ "***** Episode 165525, Mean R = -3.6 Std R = 5.6 Min R = -25.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -5.62\n",
+ "PolicyLoss: -0.00206\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.29e+07\n",
+ "ValFuncLoss: 4.88e-05\n",
+ "Variance: 0.0661\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013063197 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06598016 0.05551575 0.05848547 0.05836761]\n",
+ "FIT: 0.5104863461302055 2.304357901844817 0.02084815274154344 0.11705567487361254\n",
+ "***** Episode 165646, Mean R = -3.3 Std R = 5.7 Min R = -26.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00131\n",
+ "PolicyEntropy: -5.61\n",
+ "PolicyLoss: -0.00239\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 4.29e+07\n",
+ "ValFuncLoss: 3.79e-05\n",
+ "Variance: 0.066\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014564361 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06577355 0.0553974 0.05839835 0.05849775]\n",
+ "FIT: 0.5621881803825688 2.388978194987672 0.02137119886867165 0.11734638453929554\n",
+ "***** Episode 165767, Mean R = -3.5 Std R = 5.9 Min R = -24.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.974\n",
+ "KL: 0.00146\n",
+ "PolicyEntropy: -5.62\n",
+ "PolicyLoss: -0.00234\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 4.3e+07\n",
+ "ValFuncLoss: 5.43e-05\n",
+ "Variance: 0.0658\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013371751 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06549061 0.05526806 0.05848347 0.05854814]\n",
+ "FIT: 0.5961237359919944 2.2340824575638782 0.02102674923827737 0.11836329537717499\n",
+ "***** Episode 165888, Mean R = -3.6 Std R = 5.9 Min R = -33.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.974\n",
+ "KL: 0.00134\n",
+ "PolicyEntropy: -5.62\n",
+ "PolicyLoss: -0.00206\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.3e+07\n",
+ "ValFuncLoss: 5.24e-05\n",
+ "Variance: 0.0655\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012366557 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06525043 0.05508609 0.0582338 0.05846009]\n",
+ "FIT: 0.5468578641814936 2.243436708936719 0.02114541120792408 0.1182867076733527\n",
+ "***** Episode 166009, Mean R = -3.7 Std R = 5.6 Min R = -19.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.976\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -5.64\n",
+ "PolicyLoss: -0.00211\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.3e+07\n",
+ "ValFuncLoss: 6.08e-05\n",
+ "Variance: 0.0653\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013821435 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06519401 0.05495382 0.05814308 0.05818443]\n",
+ "FIT: 0.4554759298282097 2.1877231926352247 0.020313965227400366 0.11587555163489774\n",
+ "***** Episode 166130, Mean R = -3.2 Std R = 4.7 Min R = -20.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00138\n",
+ "PolicyEntropy: -5.64\n",
+ "PolicyLoss: -0.00259\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.31e+07\n",
+ "ValFuncLoss: 4.4e-05\n",
+ "Variance: 0.0652\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011955025 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0652663 0.05477754 0.05830108 0.05795814]\n",
+ "FIT: 0.6536386421213571 2.2748253242469003 0.02028153443598643 0.11818421976924746\n",
+ "Update Cnt = 1210 ET = 1071.6 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.1 -0.3 -0.0 | 1.0 1.1 0.0 | -4.9 -5.2 -0.1 | 4.1 4.0 -0.0\n",
+ "v_f | 0.02 -0.06 -0.97 | 0.09 0.08 0.13 | -0.32 -0.36 -1.36 | 0.37 0.22 -0.16\n",
+ "r_i | 980.1 -21.9 2350.3 | 561.9 565.6 28.8 | 0.2 -997.9 2300.3 | 1995.0 999.7 2400.0\n",
+ "v_i | -39.92 0.07 -80.21 | 17.59 17.67 5.86 | -69.93 -29.99 -90.00 | -10.01 29.93 -70.01\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.5\n",
+ "norm_vf | 0.98 | 0.12 | 0.20 | 1.37\n",
+ "gs_f | 23.5 | 30.0 | 3.1 | 482.4\n",
+ "thrust | 1232 4 9263 | 2847 2889 2055 | -15544 -16554 2000 | 16541 16425 19995\n",
+ "norm_thrust | 9912 | 3120 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 260 | 348\n",
+ "rewards | -3.46 | 5.82 | -33.71 | 3.72\n",
+ "fuel_rewards | -7.50 | 0.38 | -8.95 | -6.69\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.53 | 0.55 | 0.55 | 5.07\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.17\n",
+ "norm_wf | 0.14 | 0.08 | 0.01 | 0.54\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.04 | 0.40 | -8.32 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.04 0.12 0.00 | 0.35 0.21 0.20 | -1.19 -0.90 -1.04 | 1.42 1.08 1.09\n",
+ "w | -0.00 -0.01 0.00 | 0.21 0.20 0.01 | -1.65 -2.41 -0.11 | 2.20 1.36 0.10\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.13 -0.16 | 0.13 0.13\n",
+ "w_f | -0.01 -0.02 0.00 | 0.12 0.10 0.01 | -0.47 -0.35 -0.10 | 0.33 0.32 0.10\n",
+ "landing_rewards | 9.40 | 2.37 | 0.00 | 10.00\n",
+ "landing_margin | -0.07 | 0.12 | -0.19 | 1.88\n",
+ "tracking_rewards | -5.33 | 4.96 | -34.77 | 0.81\n",
+ "steps | 302 | 24 | 251 | 388\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 166251, Mean R = -3.1 Std R = 5.9 Min R = -32.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: -5.65\n",
+ "PolicyLoss: -0.00217\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.31e+07\n",
+ "ValFuncLoss: 4.2e-05\n",
+ "Variance: 0.0653\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012056193 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06519046 0.05465695 0.05826985 0.05783084]\n",
+ "FIT: 0.608922159801933 2.3030735642874833 0.022048735673854975 0.1183054768068211\n",
+ "***** Episode 166372, Mean R = -4.1 Std R = 6.3 Min R = -27.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -5.65\n",
+ "PolicyLoss: -0.00195\n",
+ "Steps: 3.58e+04\n",
+ "TotalSteps: 4.31e+07\n",
+ "ValFuncLoss: 5.4e-05\n",
+ "Variance: 0.0652\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009777772 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06491196 0.05453369 0.05796959 0.05780003]\n",
+ "FIT: 0.517039524505214 2.3071765629275425 0.019135445292278484 0.11560472176833984\n",
+ "***** Episode 166493, Mean R = -2.3 Std R = 3.9 Min R = -19.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.993\n",
+ "KL: 0.000978\n",
+ "PolicyEntropy: -5.67\n",
+ "PolicyLoss: -0.00258\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.32e+07\n",
+ "ValFuncLoss: 8.38e-06\n",
+ "Variance: 0.0649\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001194304 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06502774 0.05450524 0.05780483 0.05773628]\n",
+ "FIT: 0.5380135732411916 2.173169062441044 0.021509484597997546 0.11839037179385745\n",
+ "***** Episode 166614, Mean R = -4.0 Std R = 5.9 Min R = -27.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.968\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -5.67\n",
+ "PolicyLoss: -0.00203\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.32e+07\n",
+ "ValFuncLoss: 5.71e-05\n",
+ "Variance: 0.065\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011964709 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06477938 0.05456534 0.05782779 0.05774415]\n",
+ "FIT: 0.4974097643810525 2.262661419134879 0.019974902493392923 0.11836994793347812\n",
+ "***** Episode 166735, Mean R = -3.0 Std R = 5.1 Min R = -18.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.972\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: -5.67\n",
+ "PolicyLoss: -0.00246\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.32e+07\n",
+ "ValFuncLoss: 3.99e-05\n",
+ "Variance: 0.0648\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0016529253 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06468999 0.05469432 0.05783491 0.05774213]\n",
+ "FIT: 0.6423076876039351 2.281715686477762 0.01903803005867018 0.11631711748083418\n",
+ "***** Episode 166856, Mean R = -2.5 Std R = 5.5 Min R = -24.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00165\n",
+ "PolicyEntropy: -5.67\n",
+ "PolicyLoss: -0.00265\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.33e+07\n",
+ "ValFuncLoss: 3.98e-05\n",
+ "Variance: 0.0647\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012126489 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06476656 0.05494046 0.05779656 0.05773011]\n",
+ "FIT: 0.4810178710787891 2.0950438961924185 0.01978780345494319 0.1166851062221503\n",
+ "***** Episode 166977, Mean R = -2.7 Std R = 5.1 Min R = -18.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -5.67\n",
+ "PolicyLoss: -0.0023\n",
+ "Steps: 3.6e+04\n",
+ "TotalSteps: 4.33e+07\n",
+ "ValFuncLoss: 2.45e-05\n",
+ "Variance: 0.0648\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012206001 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06473898 0.05501273 0.05761201 0.05767471]\n",
+ "FIT: 0.581546062925699 2.4292471655322925 0.02096023898931515 0.11961701071128565\n",
+ "***** Episode 167098, Mean R = -3.5 Std R = 5.5 Min R = -23.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -5.67\n",
+ "PolicyLoss: -0.00205\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.34e+07\n",
+ "ValFuncLoss: 4.14e-05\n",
+ "Variance: 0.0647\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010202065 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06483419 0.0550477 0.05730204 0.05770881]\n",
+ "FIT: 0.5471083410224822 2.2587103966616873 0.0188209266380759 0.11693040487999652\n",
+ "***** Episode 167219, Mean R = -2.2 Std R = 5.1 Min R = -24.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -5.67\n",
+ "PolicyLoss: -0.00178\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.34e+07\n",
+ "ValFuncLoss: 3.15e-05\n",
+ "Variance: 0.0648\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001189548 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06475573 0.05477905 0.05726863 0.05746421]\n",
+ "FIT: 0.5493530989340272 2.111850373391114 0.020721603738684282 0.11466932015565386\n",
+ "***** Episode 167340, Mean R = -3.4 Std R = 6.1 Min R = -28.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.975\n",
+ "ExplainedVarOld: 0.963\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -5.68\n",
+ "PolicyLoss: -0.00227\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.34e+07\n",
+ "ValFuncLoss: 6.48e-05\n",
+ "Variance: 0.0648\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011844998 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06473857 0.05476809 0.0571305 0.05728668]\n",
+ "FIT: 0.5962306846727571 2.296090482381559 0.0212575002568209 0.11810313389408805\n",
+ "Update Cnt = 1220 ET = 1076.5 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.1 -0.3 -0.0 | 1.1 1.1 0.0 | -4.1 -4.8 -0.1 | 3.5 4.2 -0.0\n",
+ "v_f | 0.02 -0.06 -0.96 | 0.09 0.08 0.13 | -0.23 -0.64 -1.34 | 0.53 0.29 -0.41\n",
+ "r_i | 971.6 -3.3 2350.3 | 584.6 571.1 28.4 | 1.2 -996.5 2300.0 | 1999.2 999.2 2400.0\n",
+ "v_i | -40.28 -0.16 -80.35 | 17.02 17.38 5.82 | -69.97 -29.89 -89.99 | -10.02 30.00 -70.01\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.1\n",
+ "norm_vf | 0.97 | 0.12 | 0.53 | 1.35\n",
+ "gs_f | 23.9 | 34.1 | 4.2 | 790.8\n",
+ "thrust | 1242 11 9257 | 2854 2850 2060 | -15912 -16687 2000 | 16923 16094 19997\n",
+ "norm_thrust | 9900 | 3119 | 3464 | 20000\n",
+ "fuel | 290 | 15 | 259 | 349\n",
+ "rewards | -3.12 | 5.58 | -31.60 | 3.63\n",
+ "fuel_rewards | -7.48 | 0.38 | -9.01 | -6.69\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.53 | 0.56 | 0.55 | 6.83\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.24\n",
+ "norm_wf | 0.14 | 0.08 | 0.01 | 0.50\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.03 | 0.35 | -7.57 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 0.00 | 0.35 0.20 0.20 | -1.22 -0.95 -1.04 | 1.61 1.07 1.09\n",
+ "w | -0.00 -0.01 -0.00 | 0.21 0.20 0.01 | -1.67 -2.55 -0.09 | 2.14 1.49 0.12\n",
+ "a_f | -0.01 -0.01 | 0.03 0.03 | -0.24 -0.11 | 0.11 0.11\n",
+ "w_f | -0.02 -0.02 -0.00 | 0.12 0.10 0.02 | -0.43 -0.36 -0.08 | 0.34 0.37 0.11\n",
+ "landing_rewards | 9.49 | 2.20 | 0.00 | 10.00\n",
+ "landing_margin | -0.07 | 0.08 | -0.19 | 0.77\n",
+ "tracking_rewards | -5.09 | 4.77 | -28.81 | 0.75\n",
+ "steps | 302 | 23 | 251 | 388\n",
+ "***** Episode 167461, Mean R = -3.5 Std R = 6.5 Min R = -31.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.968\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -5.69\n",
+ "PolicyLoss: -0.00207\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.35e+07\n",
+ "ValFuncLoss: 4.78e-05\n",
+ "Variance: 0.0647\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012718646 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06459418 0.05488521 0.05687913 0.05735356]\n",
+ "FIT: 0.5397366787125855 2.2166065188396002 0.021174717975367872 0.11663295679560155\n",
+ "***** Episode 167582, Mean R = -3.8 Std R = 6.1 Min R = -30.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.977\n",
+ "ExplainedVarOld: 0.969\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -5.69\n",
+ "PolicyLoss: -0.00219\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.35e+07\n",
+ "ValFuncLoss: 5.78e-05\n",
+ "Variance: 0.0646\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0015935317 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06449514 0.05466882 0.05677443 0.05724056]\n",
+ "FIT: 0.5432626746275844 2.294136633641968 0.019093075308318667 0.11756197053175796\n",
+ "***** Episode 167703, Mean R = -2.3 Std R = 5.0 Min R = -20.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.968\n",
+ "KL: 0.00159\n",
+ "PolicyEntropy: -5.7\n",
+ "PolicyLoss: -0.00222\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.35e+07\n",
+ "ValFuncLoss: 2.87e-05\n",
+ "Variance: 0.0645\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012622554 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06442866 0.05439248 0.0566132 0.05695371]\n",
+ "FIT: 0.5440577277202752 2.2882633836334363 0.020533679977322968 0.11618922846879595\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 167824, Mean R = -3.1 Std R = 5.5 Min R = -20.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00126\n",
+ "PolicyEntropy: -5.72\n",
+ "PolicyLoss: -0.00234\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.36e+07\n",
+ "ValFuncLoss: 2.32e-05\n",
+ "Variance: 0.0644\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010588474 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06438842 0.05434275 0.05664277 0.05669633]\n",
+ "FIT: 0.5340655042477734 2.24879507880007 0.021166920624119224 0.11955752118568985\n",
+ "***** Episode 167945, Mean R = -3.5 Std R = 5.1 Min R = -21.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.952\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -5.72\n",
+ "PolicyLoss: -0.00195\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 4.36e+07\n",
+ "ValFuncLoss: 2.67e-05\n",
+ "Variance: 0.0644\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012465479 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06435066 0.05433347 0.05680257 0.05659154]\n",
+ "FIT: 0.5478151870013956 2.270099745673087 0.021551099971017586 0.12003085045985114\n",
+ "***** Episode 168066, Mean R = -3.6 Std R = 5.8 Min R = -22.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00125\n",
+ "PolicyEntropy: -5.72\n",
+ "PolicyLoss: -0.00225\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.37e+07\n",
+ "ValFuncLoss: 3.06e-05\n",
+ "Variance: 0.0644\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00094968587 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06448723 0.05424225 0.05702445 0.05673068]\n",
+ "FIT: 0.7500219029278392 2.3462623635262583 0.02056361239852115 0.11581874180345172\n",
+ "***** Episode 168187, Mean R = -3.3 Std R = 6.2 Min R = -34.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.959\n",
+ "KL: 0.00095\n",
+ "PolicyEntropy: -5.71\n",
+ "PolicyLoss: -0.00215\n",
+ "Steps: 3.73e+04\n",
+ "TotalSteps: 4.37e+07\n",
+ "ValFuncLoss: 4.76e-05\n",
+ "Variance: 0.0645\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001541003 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06470822 0.05420751 0.0569321 0.05661204]\n",
+ "FIT: 0.5552930710968343 2.248378852787803 0.018684296896706056 0.114945495136379\n",
+ "***** Episode 168308, Mean R = -2.2 Std R = 4.5 Min R = -19.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00154\n",
+ "PolicyEntropy: -5.71\n",
+ "PolicyLoss: -0.00186\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.37e+07\n",
+ "ValFuncLoss: 3.4e-05\n",
+ "Variance: 0.0647\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010481834 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06452898 0.05403588 0.05684039 0.05627793]\n",
+ "FIT: 0.5181460371652645 2.083066724037389 0.01997532166724656 0.1155427294823194\n",
+ "***** Episode 168429, Mean R = -3.1 Std R = 5.0 Min R = -18.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -5.73\n",
+ "PolicyLoss: -0.00206\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.38e+07\n",
+ "ValFuncLoss: 3.69e-05\n",
+ "Variance: 0.0645\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011088141 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06427756 0.05373652 0.05685188 0.05624277]\n",
+ "FIT: 0.44391037537599465 2.074610027497926 0.019645033561528406 0.11948705189464728\n",
+ "***** Episode 168550, Mean R = -3.2 Std R = 4.9 Min R = -18.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.969\n",
+ "ExplainedVarOld: 0.965\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -5.74\n",
+ "PolicyLoss: -0.00176\n",
+ "Steps: 3.77e+04\n",
+ "TotalSteps: 4.38e+07\n",
+ "ValFuncLoss: 6.37e-05\n",
+ "Variance: 0.0643\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001063739 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0641046 0.05380944 0.05678411 0.05634233]\n",
+ "FIT: 0.5255605277433327 2.2264059266376184 0.020913812837692912 0.11679787725613279\n",
+ "Update Cnt = 1230 ET = 1087.7 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.0 -0.3 -0.0 | 1.4 1.1 0.1 | -4.6 -8.3 -0.1 | 27.8 4.3 2.4\n",
+ "v_f | 0.02 -0.06 -0.96 | 0.10 0.09 0.13 | -0.26 -1.42 -1.35 | 1.85 0.27 0.13\n",
+ "r_i | 1027.6 -11.2 2350.0 | 582.4 581.4 29.2 | 0.4 -998.3 2300.2 | 1999.4 998.8 2400.0\n",
+ "v_i | -39.92 0.40 -79.84 | 17.16 16.93 5.81 | -69.97 -29.99 -89.99 | -10.00 29.94 -70.02\n",
+ "norm_rf | 1.4 | 1.2 | 0.1 | 29.1\n",
+ "norm_vf | 0.97 | 0.13 | 0.53 | 2.34\n",
+ "gs_f | 23.3 | 23.3 | 0.1 | 304.9\n",
+ "thrust | 1212 -6 9205 | 2841 2828 2062 | -14973 -16460 2000 | 16566 16003 19991\n",
+ "norm_thrust | 9840 | 3115 | 3464 | 20000\n",
+ "fuel | 292 | 16 | 261 | 485\n",
+ "rewards | -3.15 | 5.39 | -34.17 | 4.18\n",
+ "fuel_rewards | -7.52 | 0.41 | -12.49 | -6.72\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.48 | 0.50 | 0.08 | 4.43\n",
+ "norm_af | 0.04 | 0.03 | 0.00 | 0.58\n",
+ "norm_wf | 0.14 | 0.08 | 0.01 | 1.07\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.03 | 0.43 | -11.61 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.12 0.00 | 0.35 0.20 0.20 | -1.23 -1.04 -0.99 | 1.80 1.05 1.04\n",
+ "w | -0.00 -0.01 -0.00 | 0.21 0.20 0.01 | -1.60 -2.35 -0.09 | 1.93 1.52 0.27\n",
+ "a_f | -0.01 -0.01 | 0.03 0.04 | -0.37 -0.45 | 0.15 0.12\n",
+ "w_f | -0.01 -0.02 -0.00 | 0.11 0.11 0.02 | -0.78 -0.44 -0.08 | 0.37 0.68 0.27\n",
+ "landing_rewards | 9.48 | 2.22 | 0.00 | 10.00\n",
+ "landing_margin | -0.05 | 0.71 | -0.19 | 24.12\n",
+ "tracking_rewards | -5.07 | 4.71 | -26.44 | 1.22\n",
+ "steps | 305 | 26 | 247 | 601\n",
+ "***** Episode 168671, Mean R = -3.3 Std R = 5.4 Min R = -20.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -5.74\n",
+ "PolicyLoss: -0.0019\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 4.38e+07\n",
+ "ValFuncLoss: 4.12e-05\n",
+ "Variance: 0.0641\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00094698643 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06383369 0.05379278 0.05665827 0.0562879 ]\n",
+ "FIT: 0.6431020038656106 2.355832992316294 0.019754134468716135 0.11447506060256332\n",
+ "***** Episode 168792, Mean R = -2.8 Std R = 5.0 Min R = -26.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.000947\n",
+ "PolicyEntropy: -5.75\n",
+ "PolicyLoss: -0.00198\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.39e+07\n",
+ "ValFuncLoss: 5.71e-05\n",
+ "Variance: 0.0638\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013967804 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06354573 0.05368412 0.05666097 0.05618177]\n",
+ "FIT: 0.5445800680721008 2.084714285426099 0.020034622947592028 0.11559535768913712\n",
+ "***** Episode 168913, Mean R = -3.0 Std R = 5.7 Min R = -29.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.974\n",
+ "KL: 0.0014\n",
+ "PolicyEntropy: -5.75\n",
+ "PolicyLoss: -0.00212\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 4.39e+07\n",
+ "ValFuncLoss: 4e-05\n",
+ "Variance: 0.0635\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014421118 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0633136 0.05365446 0.05664725 0.05619921]\n",
+ "FIT: 0.7010641561169115 2.3722399353868444 0.02148789103704037 0.11809391498756115\n",
+ "***** Episode 169034, Mean R = -3.6 Std R = 6.7 Min R = -34.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.969\n",
+ "KL: 0.00144\n",
+ "PolicyEntropy: -5.76\n",
+ "PolicyLoss: -0.00234\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 4.39e+07\n",
+ "ValFuncLoss: 5.44e-05\n",
+ "Variance: 0.0633\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009987503 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0631702 0.05370892 0.05660785 0.05629906]\n",
+ "FIT: 0.5782421152633508 2.1880764742641516 0.021418903854581194 0.11796043278082416\n",
+ "***** Episode 169155, Mean R = -3.8 Std R = 4.9 Min R = -21.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.974\n",
+ "KL: 0.000999\n",
+ "PolicyEntropy: -5.76\n",
+ "PolicyLoss: -0.00205\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.4e+07\n",
+ "ValFuncLoss: 3.81e-05\n",
+ "Variance: 0.0632\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014906976 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06314664 0.0536936 0.05656169 0.05624446]\n",
+ "FIT: 0.5800879856494376 2.4222884869989962 0.02077009100160461 0.12071589496817334\n",
+ "***** Episode 169276, Mean R = -3.4 Std R = 4.5 Min R = -20.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00149\n",
+ "PolicyEntropy: -5.76\n",
+ "PolicyLoss: -0.00236\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.4e+07\n",
+ "ValFuncLoss: 3.13e-05\n",
+ "Variance: 0.0631\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0008902589 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06301014 0.05371968 0.05661777 0.05628838]\n",
+ "FIT: 0.789342670121518 2.3387421659247822 0.019952902139468674 0.11903454506275062\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 169397, Mean R = -2.9 Std R = 5.5 Min R = -22.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.967\n",
+ "KL: 0.00089\n",
+ "PolicyEntropy: -5.76\n",
+ "PolicyLoss: -0.00201\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.41e+07\n",
+ "ValFuncLoss: 5.17e-05\n",
+ "Variance: 0.063\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011292183 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0628221 0.05368287 0.05671141 0.05631139]\n",
+ "FIT: 0.5214626318332578 2.0749249070570857 0.01870982496193151 0.11560791638808218\n",
+ "***** Episode 169518, Mean R = -2.1 Std R = 4.8 Min R = -26.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -5.76\n",
+ "PolicyLoss: -0.0022\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.41e+07\n",
+ "ValFuncLoss: 2.6e-05\n",
+ "Variance: 0.0628\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0016351047 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06269711 0.05361102 0.05678114 0.05627333]\n",
+ "FIT: 0.5483000149507635 2.2981378858984827 0.020682117698880734 0.11759323486630537\n",
+ "***** Episode 169639, Mean R = -3.1 Std R = 5.0 Min R = -20.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00164\n",
+ "PolicyEntropy: -5.77\n",
+ "PolicyLoss: -0.0018\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.41e+07\n",
+ "ValFuncLoss: 2.55e-05\n",
+ "Variance: 0.0627\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011538072 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06244352 0.05365296 0.05672418 0.0563906 ]\n",
+ "FIT: 0.978126125277127 2.223799031567753 0.022831605136209788 0.12270815257930938\n",
+ "***** Episode 169760, Mean R = -4.4 Std R = 7.2 Min R = -38.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.949\n",
+ "KL: 0.00115\n",
+ "PolicyEntropy: -5.77\n",
+ "PolicyLoss: -0.00179\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.42e+07\n",
+ "ValFuncLoss: 3.23e-05\n",
+ "Variance: 0.0624\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00102127 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06225513 0.05369145 0.05678418 0.05650888]\n",
+ "FIT: 0.608050047866248 2.3892185846379914 0.021611154256613935 0.11968693785585043\n",
+ "Update Cnt = 1240 ET = 1080.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.0 -0.3 -0.0 | 1.1 1.2 0.0 | -4.6 -9.4 -0.1 | 5.2 4.9 -0.0\n",
+ "v_f | 0.02 -0.06 -0.95 | 0.10 0.08 0.14 | -1.87 -0.38 -1.35 | 0.34 0.42 -0.26\n",
+ "r_i | 1000.6 -11.9 2350.7 | 566.6 578.7 28.8 | 4.5 -999.7 2300.2 | 1999.8 999.3 2400.0\n",
+ "v_i | -39.78 0.90 -80.18 | 17.56 17.13 5.77 | -69.98 -29.98 -89.99 | -10.00 29.92 -70.01\n",
+ "norm_rf | 1.4 | 0.9 | 0.0 | 9.6\n",
+ "norm_vf | 0.96 | 0.13 | 0.39 | 1.93\n",
+ "gs_f | 24.2 | 36.0 | 0.3 | 817.9\n",
+ "thrust | 1218 -24 9238 | 2874 2863 2059 | -15466 -16384 2000 | 16873 16344 19998\n",
+ "norm_thrust | 9887 | 3125 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 260 | 362\n",
+ "rewards | -3.30 | 5.59 | -38.54 | 3.53\n",
+ "fuel_rewards | -7.51 | 0.39 | -9.31 | -6.70\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.48 | 0.49 | 0.28 | 4.46\n",
+ "norm_af | 0.04 | 0.03 | 0.00 | 0.61\n",
+ "norm_wf | 0.14 | 0.08 | 0.01 | 1.00\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.09 | 0.86 | -19.19 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 0.00 | 0.35 0.21 0.20 | -1.20 -1.00 -1.08 | 1.70 1.10 1.14\n",
+ "w | -0.00 -0.01 0.00 | 0.21 0.20 0.01 | -1.72 -2.44 -0.07 | 1.92 1.28 0.14\n",
+ "a_f | -0.01 -0.00 | 0.04 0.03 | -0.13 -0.12 | 0.60 0.11\n",
+ "w_f | -0.02 -0.02 0.00 | 0.11 0.10 0.01 | -0.48 -0.38 -0.06 | 0.98 0.32 0.13\n",
+ "landing_rewards | 9.52 | 2.14 | 0.00 | 10.00\n",
+ "landing_margin | -0.07 | 0.16 | -0.19 | 4.67\n",
+ "tracking_rewards | -5.22 | 4.72 | -30.50 | 0.81\n",
+ "steps | 303 | 24 | 254 | 407\n",
+ "***** Episode 169881, Mean R = -3.8 Std R = 5.6 Min R = -23.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.946\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -5.77\n",
+ "PolicyLoss: -0.00217\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.42e+07\n",
+ "ValFuncLoss: 4.22e-05\n",
+ "Variance: 0.0623\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009934318 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06203333 0.05355574 0.05684716 0.05648665]\n",
+ "FIT: 0.8260060834576207 2.3624368187176716 0.02239322771923615 0.12166477318737624\n",
+ "***** Episode 170002, Mean R = -4.4 Std R = 6.5 Min R = -36.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.000993\n",
+ "PolicyEntropy: -5.77\n",
+ "PolicyLoss: -0.00233\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 4.42e+07\n",
+ "ValFuncLoss: 5.71e-05\n",
+ "Variance: 0.062\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0008802738 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06189321 0.05350281 0.05669024 0.05652633]\n",
+ "FIT: 0.6368419475918012 2.311813067876686 0.02179792679908885 0.1205314413500832\n",
+ "***** Episode 170123, Mean R = -4.0 Std R = 6.2 Min R = -27.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00088\n",
+ "PolicyEntropy: -5.78\n",
+ "PolicyLoss: -0.00207\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.43e+07\n",
+ "ValFuncLoss: 5.29e-05\n",
+ "Variance: 0.0619\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011929672 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0619959 0.05338007 0.05647311 0.0567657 ]\n",
+ "FIT: 0.5358518137811447 2.456295248549584 0.02147661316339165 0.11756654554874263\n",
+ "***** Episode 170244, Mean R = -3.8 Std R = 6.0 Min R = -26.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.977\n",
+ "ExplainedVarOld: 0.957\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -5.78\n",
+ "PolicyLoss: -0.00193\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.43e+07\n",
+ "ValFuncLoss: 5.93e-05\n",
+ "Variance: 0.062\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010112801 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06206034 0.05316946 0.05637682 0.05686763]\n",
+ "FIT: 0.6846590225098794 2.216830301977266 0.02110358447620427 0.11947395338335899\n",
+ "***** Episode 170365, Mean R = -3.4 Std R = 5.4 Min R = -33.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -5.78\n",
+ "PolicyLoss: -0.00244\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.44e+07\n",
+ "ValFuncLoss: 2.34e-05\n",
+ "Variance: 0.0621\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009906302 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06206042 0.05313592 0.0563358 0.05689126]\n",
+ "FIT: 0.681248991865117 2.204603478710447 0.020713984848550138 0.11568719357750365\n",
+ "***** Episode 170486, Mean R = -3.2 Std R = 5.4 Min R = -33.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.000991\n",
+ "PolicyEntropy: -5.78\n",
+ "PolicyLoss: -0.00242\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.44e+07\n",
+ "ValFuncLoss: 3.56e-05\n",
+ "Variance: 0.0621\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014148994 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06203812 0.05326489 0.05635463 0.05688084]\n",
+ "FIT: 0.5017670958299153 2.197035868765722 0.019571927932177557 0.1192083383916752\n",
+ "***** Episode 170607, Mean R = -2.7 Std R = 5.2 Min R = -30.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.972\n",
+ "KL: 0.00141\n",
+ "PolicyEntropy: -5.78\n",
+ "PolicyLoss: -0.00286\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 4.44e+07\n",
+ "ValFuncLoss: 2.77e-05\n",
+ "Variance: 0.062\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010901679 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06221024 0.0533388 0.056241 0.05719901]\n",
+ "FIT: 0.6267860172554804 2.2732913990555645 0.020147676703555748 0.11720478469533963\n",
+ "***** Episode 170728, Mean R = -3.1 Std R = 5.0 Min R = -25.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.977\n",
+ "ExplainedVarOld: 0.972\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -5.77\n",
+ "PolicyLoss: -0.00227\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.45e+07\n",
+ "ValFuncLoss: 4.91e-05\n",
+ "Variance: 0.0622\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011077671 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06222602 0.05335747 0.05602003 0.05727483]\n",
+ "FIT: 0.5015249924345069 2.15069126275281 0.020417204711118436 0.11576615111656441\n",
+ "***** Episode 170849, Mean R = -3.3 Std R = 5.3 Min R = -19.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.977\n",
+ "ExplainedVarOld: 0.966\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -5.77\n",
+ "PolicyLoss: -0.00224\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 4.45e+07\n",
+ "ValFuncLoss: 5.14e-05\n",
+ "Variance: 0.0622\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011987519 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06197637 0.05345196 0.05602016 0.05760811]\n",
+ "FIT: 0.6083079056899973 2.263037826450465 0.02182271996242625 0.11734211241573532\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 170970, Mean R = -3.8 Std R = 5.7 Min R = -26.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: -5.77\n",
+ "PolicyLoss: -0.0025\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.45e+07\n",
+ "ValFuncLoss: 4.59e-05\n",
+ "Variance: 0.062\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010420864 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06194665 0.05358598 0.05594536 0.05758297]\n",
+ "FIT: 0.5314911097118447 2.453794055718186 0.01975537046130062 0.11592867063232432\n",
+ "Update Cnt = 1250 ET = 1088.2 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.1 -0.3 -0.0 | 1.5 1.1 0.1 | -3.8 -6.3 -0.1 | 34.5 5.0 2.2\n",
+ "v_f | 0.01 -0.05 -0.95 | 0.10 0.09 0.14 | -1.35 -0.92 -1.37 | 0.38 0.27 -0.27\n",
+ "r_i | 1004.5 4.2 2349.1 | 572.7 589.6 29.1 | 1.8 -999.2 2300.0 | 1996.9 999.8 2400.0\n",
+ "v_i | -39.68 0.33 -79.90 | 17.76 17.11 5.76 | -69.94 -29.91 -89.98 | -10.06 29.86 -70.02\n",
+ "norm_rf | 1.4 | 1.3 | 0.0 | 35.0\n",
+ "norm_vf | 0.96 | 0.14 | 0.35 | 1.64\n",
+ "gs_f | 24.7 | 30.0 | 0.1 | 440.5\n",
+ "thrust | 1211 -6 9230 | 2894 2881 2055 | -15669 -16448 2000 | 16708 16136 19999\n",
+ "norm_thrust | 9885 | 3137 | 3464 | 20000\n",
+ "fuel | 293 | 17 | 261 | 532\n",
+ "rewards | -3.45 | 5.63 | -36.14 | 3.87\n",
+ "fuel_rewards | -7.54 | 0.44 | -13.71 | -6.73\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.49 | 0.53 | 0.06 | 5.18\n",
+ "norm_af | 0.04 | 0.04 | 0.00 | 0.83\n",
+ "norm_wf | 0.14 | 0.08 | 0.01 | 0.77\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.06 | 0.55 | -13.40 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.12 0.00 | 0.35 0.21 0.20 | -1.12 -0.91 -1.02 | 1.68 1.06 0.99\n",
+ "w | -0.00 -0.01 0.00 | 0.21 0.20 0.01 | -1.65 -2.46 -0.06 | 2.06 1.50 0.32\n",
+ "a_f | -0.01 -0.01 | 0.04 0.04 | -0.14 -0.68 | 0.48 0.11\n",
+ "w_f | -0.01 -0.02 0.00 | 0.12 0.10 0.02 | -0.43 -0.44 -0.06 | 0.65 0.38 0.31\n",
+ "landing_rewards | 9.45 | 2.27 | 0.00 | 10.00\n",
+ "landing_margin | -0.04 | 0.88 | -0.19 | 29.96\n",
+ "tracking_rewards | -5.30 | 4.79 | -35.36 | 1.01\n",
+ "steps | 305 | 27 | 250 | 601\n",
+ "***** Episode 171091, Mean R = -2.8 Std R = 5.1 Min R = -20.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -5.77\n",
+ "PolicyLoss: -0.00233\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 4.46e+07\n",
+ "ValFuncLoss: 2.56e-05\n",
+ "Variance: 0.0619\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011100576 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06175283 0.05362768 0.05583213 0.05740235]\n",
+ "FIT: 0.5896047982901422 2.299980987770773 0.02050581224330245 0.11381168808249265\n",
+ "***** Episode 171212, Mean R = -2.9 Std R = 5.5 Min R = -23.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -5.78\n",
+ "PolicyLoss: -0.00197\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.46e+07\n",
+ "ValFuncLoss: 2.93e-05\n",
+ "Variance: 0.0618\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001037349 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06147535 0.05361354 0.05570775 0.05748833]\n",
+ "FIT: 0.5150354179239147 2.1120497490096324 0.01993418925502171 0.11605115528505618\n",
+ "***** Episode 171333, Mean R = -2.7 Std R = 4.8 Min R = -17.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -5.78\n",
+ "PolicyLoss: -0.00177\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 4.46e+07\n",
+ "ValFuncLoss: 2.85e-05\n",
+ "Variance: 0.0615\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009909332 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06166444 0.05341741 0.0555933 0.05751142]\n",
+ "FIT: 0.6286197186212832 2.2230508296147216 0.02069040279143771 0.1163440534395094\n",
+ "***** Episode 171454, Mean R = -3.5 Std R = 5.9 Min R = -25.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.963\n",
+ "KL: 0.000991\n",
+ "PolicyEntropy: -5.79\n",
+ "PolicyLoss: -0.00215\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.47e+07\n",
+ "ValFuncLoss: 5.32e-05\n",
+ "Variance: 0.0617\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013942813 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06177864 0.05333797 0.05550335 0.05752192]\n",
+ "FIT: 0.438067478631969 2.064901323894592 0.019692687095552334 0.11906098873755583\n",
+ "***** Episode 171575, Mean R = -2.8 Std R = 4.8 Min R = -20.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00139\n",
+ "PolicyEntropy: -5.79\n",
+ "PolicyLoss: -0.00207\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.47e+07\n",
+ "ValFuncLoss: 3.02e-05\n",
+ "Variance: 0.0618\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013143816 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0618955 0.05328938 0.05557507 0.05747731]\n",
+ "FIT: 0.5948302514422152 2.3270936128480644 0.021387817529562574 0.11901487249211701\n",
+ "***** Episode 171696, Mean R = -3.7 Std R = 6.6 Min R = -24.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.972\n",
+ "KL: 0.00131\n",
+ "PolicyEntropy: -5.78\n",
+ "PolicyLoss: -0.00239\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.48e+07\n",
+ "ValFuncLoss: 5.2e-05\n",
+ "Variance: 0.0619\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001134997 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0620231 0.05328202 0.05578024 0.05751535]\n",
+ "FIT: 0.5193785427582053 2.1668470981910013 0.02132592384758046 0.1201686306523718\n",
+ "***** Episode 171817, Mean R = -3.5 Std R = 5.3 Min R = -25.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -5.78\n",
+ "PolicyLoss: -0.00243\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.48e+07\n",
+ "ValFuncLoss: 3.27e-05\n",
+ "Variance: 0.062\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ " *** BROKE ***\n",
+ "kl = 0.0041672364 beta = 0.06666666666666667 lr_mult = 0.4444444444444444\n",
+ "var: [0.06187139 0.0531635 0.05572981 0.05743285]\n",
+ "FIT: 0.48661878560709043 2.0853302080876546 0.01930844960202348 0.11763613909728918\n",
+ "***** Episode 171938, Mean R = -2.6 Std R = 5.0 Min R = -22.6\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.978\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.00417\n",
+ "PolicyEntropy: -5.79\n",
+ "PolicyLoss: 0.00227\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.48e+07\n",
+ "ValFuncLoss: 4.41e-05\n",
+ "Variance: 0.0619\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ " *** BROKE ***\n",
+ "kl = 0.00579924 beta = 0.044444444444444446 lr_mult = 0.4444444444444444\n",
+ "var: [0.06184599 0.05315004 0.05571668 0.05742625]\n",
+ "FIT: 0.609615045326901 2.314416877665722 0.021270190578752162 0.1181196082568833\n",
+ "***** Episode 172059, Mean R = -3.7 Std R = 5.5 Min R = -27.1\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.969\n",
+ "KL: 0.0058\n",
+ "PolicyEntropy: -5.79\n",
+ "PolicyLoss: 0.00948\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.49e+07\n",
+ "ValFuncLoss: 5.3e-05\n",
+ "Variance: 0.0618\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ " *** BROKE ***\n",
+ "kl = 0.0052587064 beta = 0.02962962962962963 lr_mult = 0.4444444444444444\n",
+ "var: [0.06182117 0.05313781 0.05570685 0.05742973]\n",
+ "FIT: 0.6036150787414419 2.40704666061289 0.0209271240793425 0.11805319451521916\n",
+ "***** Episode 172180, Mean R = -3.3 Std R = 5.8 Min R = -32.7\n",
+ "Beta: 0.0296\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00526\n",
+ "PolicyEntropy: -5.79\n",
+ "PolicyLoss: 0.0113\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.49e+07\n",
+ "ValFuncLoss: 3.68e-05\n",
+ "Variance: 0.0618\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00043587948 beta = 0.044444444444444446 lr_mult = 0.4444444444444444\n",
+ "var: [0.0616485 0.05318815 0.05571975 0.05738683]\n",
+ "FIT: 0.5590590985044038 2.2302658272120577 0.019872271343811577 0.11622954866455344\n",
+ "Update Cnt = 1260 ET = 1072.0 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.1 -0.3 -0.0 | 1.1 1.1 0.0 | -4.0 -4.4 -0.1 | 4.0 4.5 -0.0\n",
+ "v_f | 0.01 -0.04 -0.94 | 0.09 0.08 0.14 | -0.34 -0.43 -1.44 | 0.33 0.29 -0.44\n",
+ "r_i | 981.4 1.8 2349.2 | 577.0 566.9 28.6 | 3.3 -999.3 2300.0 | 2000.0 998.4 2399.9\n",
+ "v_i | -40.56 0.07 -79.83 | 17.32 17.18 5.82 | -69.91 -29.99 -90.00 | -10.08 29.99 -70.02\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 4.5\n",
+ "norm_vf | 0.95 | 0.13 | 0.51 | 1.44\n",
+ "gs_f | 26.3 | 56.8 | 2.6 | 1739.2\n",
+ "thrust | 1246 4 9229 | 2890 2828 2039 | -16015 -16781 2000 | 16704 16006 19989\n",
+ "norm_thrust | 9878 | 3108 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 261 | 354\n",
+ "rewards | -3.13 | 5.49 | -32.74 | 3.96\n",
+ "fuel_rewards | -7.50 | 0.39 | -9.10 | -6.73\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.51 | 0.54 | 0.54 | 6.59\n",
+ "norm_af | 0.04 | 0.03 | 0.00 | 0.20\n",
+ "norm_wf | 0.13 | 0.08 | 0.01 | 0.57\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.04 | 0.37 | -8.34 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "attitude | 0.01 0.12 0.00 | 0.34 0.21 0.19 | -1.27 -1.05 -1.01 | 1.43 1.11 1.08\n",
+ "w | -0.00 -0.01 0.00 | 0.21 0.20 0.01 | -1.86 -2.46 -0.18 | 2.18 1.55 0.13\n",
+ "a_f | -0.01 -0.01 | 0.03 0.03 | -0.14 -0.18 | 0.15 0.16\n",
+ "w_f | -0.01 -0.02 -0.00 | 0.11 0.10 0.02 | -0.45 -0.53 -0.15 | 0.32 0.36 0.12\n",
+ "landing_rewards | 9.50 | 2.19 | 0.00 | 10.00\n",
+ "landing_margin | -0.07 | 0.12 | -0.18 | 2.38\n",
+ "tracking_rewards | -5.09 | 4.69 | -25.45 | 1.03\n",
+ "steps | 303 | 25 | 249 | 399\n",
+ "***** Episode 172301, Mean R = -2.6 Std R = 5.4 Min R = -21.4\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.000436\n",
+ "PolicyEntropy: -5.79\n",
+ "PolicyLoss: 0.00054\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 4.49e+07\n",
+ "ValFuncLoss: 2.44e-05\n",
+ "Variance: 0.0616\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00032820494 beta = 0.06666666666666667 lr_mult = 0.4444444444444444\n",
+ "var: [0.06161372 0.0532522 0.05568329 0.05732281]\n",
+ "FIT: 0.6071850387294051 2.226438499642274 0.02068077939068149 0.11874306566652239\n",
+ "***** Episode 172422, Mean R = -3.3 Std R = 6.0 Min R = -25.8\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.000328\n",
+ "PolicyEntropy: -5.79\n",
+ "PolicyLoss: -0.000556\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.5e+07\n",
+ "ValFuncLoss: 3.88e-05\n",
+ "Variance: 0.0616\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00065748655 beta = 0.06666666666666667 lr_mult = 0.4444444444444444\n",
+ "var: [0.06162221 0.05322301 0.05562408 0.0573733 ]\n",
+ "FIT: 0.8406122781994892 2.3744288233324524 0.02092295389201706 0.11774910205428583\n",
+ "***** Episode 172543, Mean R = -3.2 Std R = 6.5 Min R = -33.3\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.961\n",
+ "KL: 0.000657\n",
+ "PolicyEntropy: -5.79\n",
+ "PolicyLoss: -0.00163\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.5e+07\n",
+ "ValFuncLoss: 4.26e-05\n",
+ "Variance: 0.0616\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0006016912 beta = 0.06666666666666667 lr_mult = 0.4444444444444444\n",
+ "var: [0.06163688 0.05318784 0.05557448 0.05738844]\n",
+ "FIT: 0.6563746988346565 2.2563785430047147 0.02208925264046249 0.12033050824586901\n",
+ "***** Episode 172664, Mean R = -4.2 Std R = 6.3 Min R = -29.6\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.000602\n",
+ "PolicyEntropy: -5.79\n",
+ "PolicyLoss: -0.00145\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.5e+07\n",
+ "ValFuncLoss: 5.14e-05\n",
+ "Variance: 0.0616\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00054761523 beta = 0.06666666666666667 lr_mult = 0.4444444444444444\n",
+ "var: [0.06170591 0.05333227 0.05559174 0.05740435]\n",
+ "FIT: 0.6696963301677402 2.4630746971697524 0.021307544860002033 0.11556537461589042\n",
+ "***** Episode 172785, Mean R = -3.5 Std R = 5.8 Min R = -31.8\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.000548\n",
+ "PolicyEntropy: -5.79\n",
+ "PolicyLoss: -0.00149\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.51e+07\n",
+ "ValFuncLoss: 5.36e-05\n",
+ "Variance: 0.0617\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00081146957 beta = 0.06666666666666667 lr_mult = 0.4444444444444444\n",
+ "var: [0.06151143 0.05338597 0.0555506 0.05732283]\n",
+ "FIT: 0.5946290929548319 2.2749497016012374 0.02110606203017384 0.117815059126613\n",
+ "***** Episode 172906, Mean R = -3.6 Std R = 5.9 Min R = -23.2\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.971\n",
+ "KL: 0.000811\n",
+ "PolicyEntropy: -5.79\n",
+ "PolicyLoss: -0.000185\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.51e+07\n",
+ "ValFuncLoss: 5.57e-05\n",
+ "Variance: 0.0615\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00052546075 beta = 0.06666666666666667 lr_mult = 0.4444444444444444\n",
+ "var: [0.06131463 0.05319272 0.05539381 0.05722479]\n",
+ "FIT: 0.4824953139793602 2.1379457683895264 0.019380226178540728 0.11573876535592205\n",
+ "***** Episode 173027, Mean R = -2.6 Std R = 4.9 Min R = -16.3\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.975\n",
+ "ExplainedVarOld: 0.969\n",
+ "KL: 0.000525\n",
+ "PolicyEntropy: -5.8\n",
+ "PolicyLoss: -0.00149\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 4.52e+07\n",
+ "ValFuncLoss: 4.93e-05\n",
+ "Variance: 0.0613\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00056821806 beta = 0.06666666666666667 lr_mult = 0.4444444444444444\n",
+ "var: [0.06108772 0.05307799 0.05516937 0.05702575]\n",
+ "FIT: 0.5933421230313028 2.3284259055448002 0.021202703812436705 0.11815980048848482\n",
+ "***** Episode 173148, Mean R = -3.7 Std R = 5.9 Min R = -25.2\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.955\n",
+ "KL: 0.000568\n",
+ "PolicyEntropy: -5.82\n",
+ "PolicyLoss: -0.00158\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 4.52e+07\n",
+ "ValFuncLoss: 5.11e-05\n",
+ "Variance: 0.0611\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0005049136 beta = 0.06666666666666667 lr_mult = 0.4444444444444444\n",
+ "var: [0.0611415 0.05308223 0.05507933 0.056838 ]\n",
+ "FIT: 0.6091254280374337 2.431694524081486 0.021728464471024053 0.1169545893108835\n",
+ "***** Episode 173269, Mean R = -3.6 Std R = 6.3 Min R = -33.5\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.000505\n",
+ "PolicyEntropy: -5.82\n",
+ "PolicyLoss: -0.00136\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 4.52e+07\n",
+ "ValFuncLoss: 3.92e-05\n",
+ "Variance: 0.0611\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0005048022 beta = 0.06666666666666667 lr_mult = 0.4444444444444444\n",
+ "var: [0.06113255 0.05301867 0.0549924 0.05671076]\n",
+ "FIT: 0.5458459537791517 2.0758475836131436 0.020287303755170946 0.11717085562294305\n",
+ "***** Episode 173390, Mean R = -3.0 Std R = 5.2 Min R = -21.9\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.000505\n",
+ "PolicyEntropy: -5.83\n",
+ "PolicyLoss: -0.00136\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 4.53e+07\n",
+ "ValFuncLoss: 4.33e-05\n",
+ "Variance: 0.0611\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00057106355 beta = 0.06666666666666667 lr_mult = 0.4444444444444444\n",
+ "var: [0.06116401 0.05303202 0.05486509 0.05658324]\n",
+ "FIT: 0.5196556483043374 2.320639179863353 0.02134417748132295 0.1176637966237586\n",
+ "Update Cnt = 1270 ET = 1076.1 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.1 -0.3 -0.0 | 1.1 1.1 0.0 | -4.3 -4.5 -0.1 | 3.7 4.0 -0.0\n",
+ "v_f | 0.01 -0.05 -0.95 | 0.09 0.08 0.15 | -0.38 -0.43 -1.41 | 0.34 0.57 -0.40\n",
+ "r_i | 995.0 27.5 2350.1 | 576.7 593.0 28.5 | 1.0 -999.1 2300.1 | 1998.4 998.5 2399.9\n",
+ "v_i | -40.55 -0.30 -80.08 | 17.65 17.29 5.77 | -69.83 -29.93 -90.00 | -10.01 29.99 -70.01\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.5\n",
+ "norm_vf | 0.96 | 0.14 | 0.44 | 1.47\n",
+ "gs_f | 26.8 | 60.8 | 3.2 | 1929.7\n",
+ "thrust | 1242 14 9227 | 2907 2839 2054 | -15566 -16769 2000 | 16757 16670 20000\n",
+ "norm_thrust | 9881 | 3127 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 259 | 346\n",
+ "rewards | -3.42 | 5.82 | -33.50 | 3.96\n",
+ "fuel_rewards | -7.51 | 0.39 | -8.91 | -6.68\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.48 | 0.50 | 0.56 | 5.37\n",
+ "norm_af | 0.04 | 0.03 | 0.00 | 0.15\n",
+ "norm_wf | 0.14 | 0.08 | 0.01 | 0.49\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.06 | 0.64 | -14.23 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.00 0.12 -0.00 | 0.34 0.21 0.20 | -1.21 -0.89 -1.01 | 1.43 1.06 1.08\n",
+ "w | -0.00 -0.01 -0.00 | 0.21 0.20 0.01 | -1.68 -2.43 -0.11 | 2.16 1.51 0.11\n",
+ "a_f | -0.01 -0.01 | 0.03 0.03 | -0.13 -0.13 | 0.12 0.15\n",
+ "w_f | -0.01 -0.02 -0.00 | 0.12 0.10 0.01 | -0.44 -0.37 -0.11 | 0.41 0.36 0.07\n",
+ "landing_rewards | 9.39 | 2.40 | 0.00 | 10.00\n",
+ "landing_margin | -0.07 | 0.11 | -0.19 | 1.82\n",
+ "tracking_rewards | -5.24 | 4.97 | -33.49 | 1.07\n",
+ "steps | 303 | 24 | 251 | 382\n",
+ "***** Episode 173511, Mean R = -3.5 Std R = 5.1 Min R = -20.9\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.000571\n",
+ "PolicyEntropy: -5.83\n",
+ "PolicyLoss: -0.0014\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.53e+07\n",
+ "ValFuncLoss: 4.21e-05\n",
+ "Variance: 0.0612\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0004911207 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06123003 0.05315756 0.0548301 0.05629681]\n",
+ "FIT: 0.6488976055013462 2.32244811910959 0.021580768411844038 0.11773307921146006\n",
+ "***** Episode 173632, Mean R = -4.0 Std R = 6.5 Min R = -35.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.977\n",
+ "ExplainedVarOld: 0.955\n",
+ "KL: 0.000491\n",
+ "PolicyEntropy: -5.83\n",
+ "PolicyLoss: -0.00171\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 4.53e+07\n",
+ "ValFuncLoss: 6.07e-05\n",
+ "Variance: 0.0612\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0011080658 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06104036 0.05323704 0.05497143 0.05597744]\n",
+ "FIT: 0.5518000581835708 2.3150426964660022 0.02136891518943677 0.11911930666332461\n",
+ "***** Episode 173753, Mean R = -3.6 Std R = 5.8 Min R = -24.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -5.84\n",
+ "PolicyLoss: -0.00239\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.54e+07\n",
+ "ValFuncLoss: 3.44e-05\n",
+ "Variance: 0.061\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009931852 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06085813 0.05333774 0.05514392 0.05582816]\n",
+ "FIT: 0.679455354098343 2.388392874380582 0.021445653862036285 0.11596603375445237\n",
+ "***** Episode 173874, Mean R = -3.3 Std R = 6.6 Min R = -31.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.000993\n",
+ "PolicyEntropy: -5.84\n",
+ "PolicyLoss: -0.00239\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.54e+07\n",
+ "ValFuncLoss: 3.17e-05\n",
+ "Variance: 0.0609\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011533481 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06096113 0.05329226 0.05503808 0.05562561]\n",
+ "FIT: 0.7995818946708888 2.2807000558411725 0.0199203852136966 0.11552155084573971\n",
+ "***** Episode 173995, Mean R = -2.7 Std R = 6.2 Min R = -33.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00115\n",
+ "PolicyEntropy: -5.84\n",
+ "PolicyLoss: -0.00213\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.55e+07\n",
+ "ValFuncLoss: 3.37e-05\n",
+ "Variance: 0.061\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011082437 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06100363 0.05341387 0.05488191 0.05573963]\n",
+ "FIT: 0.6299841851775527 2.477764762961838 0.02288889069582756 0.12002293512700118\n",
+ "***** Episode 174116, Mean R = -4.3 Std R = 6.6 Min R = -32.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -5.84\n",
+ "PolicyLoss: -0.00208\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 4.55e+07\n",
+ "ValFuncLoss: 4.83e-05\n",
+ "Variance: 0.061\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010661628 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0610452 0.05354573 0.05505464 0.05592123]\n",
+ "FIT: 0.6960561100695963 2.3042716962034078 0.021378620694239143 0.12097230974276976\n",
+ "***** Episode 174237, Mean R = -3.8 Std R = 5.6 Min R = -29.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -5.83\n",
+ "PolicyLoss: -0.00226\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.55e+07\n",
+ "ValFuncLoss: 3.43e-05\n",
+ "Variance: 0.061\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011781672 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06095891 0.05332898 0.05500673 0.05605527]\n",
+ "FIT: 0.6482499263498016 2.3730618693097463 0.020511318424400342 0.11667388225912995\n",
+ "***** Episode 174358, Mean R = -3.1 Std R = 6.4 Min R = -35.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -5.83\n",
+ "PolicyLoss: -0.00258\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.56e+07\n",
+ "ValFuncLoss: 3.82e-05\n",
+ "Variance: 0.061\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013765446 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06094974 0.05310252 0.05477884 0.05594044]\n",
+ "FIT: 0.4671931981596052 2.250094967938533 0.01908209620653286 0.11462855759603453\n",
+ "***** Episode 174479, Mean R = -2.2 Std R = 5.0 Min R = -17.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.977\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00138\n",
+ "PolicyEntropy: -5.85\n",
+ "PolicyLoss: -0.00223\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.56e+07\n",
+ "ValFuncLoss: 5.01e-05\n",
+ "Variance: 0.0609\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0008914103 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06089083 0.05298928 0.05459182 0.05575934]\n",
+ "FIT: 0.5773077398912644 2.1988915242360814 0.02065437907187125 0.11751686704688272\n",
+ "***** Episode 174600, Mean R = -3.0 Std R = 5.1 Min R = -23.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.000891\n",
+ "PolicyEntropy: -5.86\n",
+ "PolicyLoss: -0.00214\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.56e+07\n",
+ "ValFuncLoss: 2.5e-05\n",
+ "Variance: 0.0609\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013972891 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06055318 0.05306986 0.05454125 0.05573379]\n",
+ "FIT: 0.5075852709329416 2.0852694387954345 0.019433797159970394 0.1168710208311391\n",
+ "Update Cnt = 1280 ET = 1080.4 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.0 -0.3 -0.0 | 1.1 1.1 0.0 | -4.8 -4.3 -0.1 | 4.0 3.5 -0.0\n",
+ "v_f | 0.02 -0.05 -0.94 | 0.09 0.09 0.14 | -0.39 -0.88 -1.36 | 0.41 0.43 -0.24\n",
+ "r_i | 1019.3 -20.5 2350.5 | 571.0 579.3 28.5 | 0.3 -998.3 2300.3 | 1999.6 999.0 2399.9\n",
+ "v_i | -39.79 0.35 -80.06 | 17.57 17.43 5.76 | -69.90 -29.98 -90.00 | -10.06 29.98 -70.03\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.1\n",
+ "norm_vf | 0.95 | 0.14 | 0.36 | 1.36\n",
+ "gs_f | 26.3 | 57.3 | 2.4 | 1530.0\n",
+ "thrust | 1211 -4 9218 | 2837 2873 2057 | -15198 -16436 2000 | 16971 16246 19997\n",
+ "norm_thrust | 9862 | 3116 | 3464 | 20000\n",
+ "fuel | 292 | 16 | 260 | 345\n",
+ "rewards | -3.26 | 5.94 | -35.43 | 3.67\n",
+ "fuel_rewards | -7.52 | 0.40 | -8.89 | -6.71\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.49 | 0.52 | 0.51 | 4.73\n",
+ "norm_af | 0.04 | 0.03 | 0.00 | 0.23\n",
+ "norm_wf | 0.14 | 0.08 | 0.01 | 0.43\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.06 | 0.65 | -13.09 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.12 0.00 | 0.34 0.20 0.20 | -1.38 -0.83 -1.03 | 1.49 1.07 1.02\n",
+ "w | -0.00 -0.01 -0.00 | 0.21 0.20 0.01 | -1.66 -2.50 -0.12 | 2.24 1.38 0.12\n",
+ "a_f | -0.01 -0.01 | 0.03 0.03 | -0.17 -0.16 | 0.13 0.13\n",
+ "w_f | -0.02 -0.03 -0.00 | 0.12 0.10 0.01 | -0.38 -0.37 -0.10 | 0.42 0.34 0.11\n",
+ "landing_rewards | 9.50 | 2.17 | 0.00 | 10.00\n",
+ "landing_margin | -0.07 | 0.15 | -0.18 | 2.61\n",
+ "tracking_rewards | -5.19 | 4.98 | -32.12 | 0.83\n",
+ "steps | 304 | 25 | 248 | 381\n",
+ "***** Episode 174721, Mean R = -2.5 Std R = 4.9 Min R = -19.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.0014\n",
+ "PolicyEntropy: -5.86\n",
+ "PolicyLoss: -0.00224\n",
+ "Steps: 3.76e+04\n",
+ "TotalSteps: 4.57e+07\n",
+ "ValFuncLoss: 2.79e-05\n",
+ "Variance: 0.0606\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013809388 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06043569 0.05320929 0.05442619 0.05571118]\n",
+ "FIT: 0.5841962535709445 2.2819092629493594 0.02088991093409849 0.11709599281623438\n",
+ "***** Episode 174842, Mean R = -3.1 Std R = 5.1 Min R = -22.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.974\n",
+ "KL: 0.00138\n",
+ "PolicyEntropy: -5.86\n",
+ "PolicyLoss: -0.00215\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.57e+07\n",
+ "ValFuncLoss: 3.74e-05\n",
+ "Variance: 0.0604\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011841949 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06029828 0.05310581 0.05423449 0.05573791]\n",
+ "FIT: 0.4491149615527796 2.223266917374578 0.01988750243198169 0.1151014746210282\n",
+ "***** Episode 174963, Mean R = -2.6 Std R = 4.8 Min R = -22.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -5.87\n",
+ "PolicyLoss: -0.00244\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.57e+07\n",
+ "ValFuncLoss: 2.65e-05\n",
+ "Variance: 0.0603\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0007159585 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06039234 0.05301207 0.05406164 0.05591863]\n",
+ "FIT: 0.6465743562689968 2.306595645395046 0.02052548634598687 0.11556284158222171\n",
+ "***** Episode 175084, Mean R = -2.9 Std R = 5.4 Min R = -26.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.972\n",
+ "KL: 0.000716\n",
+ "PolicyEntropy: -5.87\n",
+ "PolicyLoss: -0.00214\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.58e+07\n",
+ "ValFuncLoss: 3.81e-05\n",
+ "Variance: 0.0604\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012871649 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06044464 0.0528406 0.05386384 0.05595694]\n",
+ "FIT: 0.7819113309180465 2.26857606478382 0.02065870987994603 0.11665401624156015\n",
+ "***** Episode 175205, Mean R = -3.3 Std R = 6.3 Min R = -32.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.971\n",
+ "KL: 0.00129\n",
+ "PolicyEntropy: -5.88\n",
+ "PolicyLoss: -0.0024\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.58e+07\n",
+ "ValFuncLoss: 4.54e-05\n",
+ "Variance: 0.0604\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0010193943 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06034216 0.05278625 0.05389774 0.05583864]\n",
+ "FIT: 0.5407349186087937 2.3184455615429136 0.019761088423604214 0.11626145270210639\n",
+ "***** Episode 175326, Mean R = -2.5 Std R = 4.9 Min R = -20.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -5.88\n",
+ "PolicyLoss: -0.00197\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.59e+07\n",
+ "ValFuncLoss: 3.11e-05\n",
+ "Variance: 0.0603\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011573777 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06047376 0.05278397 0.05378779 0.05564414]\n",
+ "FIT: 0.5751016807508393 2.247836257608588 0.022531017047554995 0.12019287073835647\n",
+ "***** Episode 175447, Mean R = -4.0 Std R = 6.0 Min R = -23.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -5.88\n",
+ "PolicyLoss: -0.00265\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 4.59e+07\n",
+ "ValFuncLoss: 2.02e-05\n",
+ "Variance: 0.0605\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00096457166 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06063905 0.05287794 0.05360606 0.05576606]\n",
+ "FIT: 0.5643962524849392 2.1398674332806813 0.02083481531428028 0.11783097057522975\n",
+ "***** Episode 175568, Mean R = -3.6 Std R = 5.9 Min R = -21.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.969\n",
+ "ExplainedVarOld: 0.961\n",
+ "KL: 0.000965\n",
+ "PolicyEntropy: -5.88\n",
+ "PolicyLoss: -0.00159\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 4.59e+07\n",
+ "ValFuncLoss: 8.41e-05\n",
+ "Variance: 0.0606\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009704151 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06052841 0.05288148 0.05338265 0.05569882]\n",
+ "FIT: 0.545948323099027 2.203241786824539 0.018623523406166142 0.11391987702926314\n",
+ "***** Episode 175689, Mean R = -1.8 Std R = 4.9 Min R = -25.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00097\n",
+ "PolicyEntropy: -5.89\n",
+ "PolicyLoss: -0.00247\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.6e+07\n",
+ "ValFuncLoss: 1.91e-05\n",
+ "Variance: 0.0605\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011081569 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06046097 0.05275802 0.05323511 0.05553419]\n",
+ "FIT: 0.6002854358679701 2.33215174182186 0.019363943594370058 0.1123086885629787\n",
+ "***** Episode 175810, Mean R = -2.2 Std R = 4.9 Min R = -25.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -5.9\n",
+ "PolicyLoss: -0.00273\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.6e+07\n",
+ "ValFuncLoss: 1.75e-05\n",
+ "Variance: 0.0605\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011539578 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06051461 0.05252755 0.05307283 0.05553756]\n",
+ "FIT: 0.6175634478234221 2.1962707364574503 0.020596846965092508 0.11580774974340513\n",
+ "Update Cnt = 1290 ET = 1075.4 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.1 -0.3 -0.0 | 1.0 1.1 0.0 | -3.7 -14.9 -0.1 | 3.8 3.5 0.6\n",
+ "v_f | 0.02 -0.05 -0.94 | 0.09 0.08 0.15 | -0.27 -0.35 -1.37 | 0.39 0.28 -0.01\n",
+ "r_i | 985.8 1.0 2349.5 | 562.0 566.4 28.8 | 1.6 -996.4 2300.1 | 1999.5 999.0 2399.9\n",
+ "v_i | -40.05 -0.90 -79.91 | 17.08 17.43 5.75 | -69.98 -29.99 -90.00 | -10.05 29.93 -70.01\n",
+ "norm_rf | 1.3 | 0.9 | 0.1 | 15.2\n",
+ "norm_vf | 0.95 | 0.14 | 0.20 | 1.37\n",
+ "gs_f | 24.9 | 28.0 | 0.1 | 484.0\n",
+ "thrust | 1226 35 9222 | 2827 2829 2034 | -15725 -16397 2000 | 16622 16695 19997\n",
+ "norm_thrust | 9856 | 3090 | 3464 | 20000\n",
+ "fuel | 290 | 16 | 260 | 455\n",
+ "rewards | -2.90 | 5.42 | -32.08 | 3.73\n",
+ "fuel_rewards | -7.49 | 0.40 | -11.74 | -6.68\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.52 | 0.50 | 0.13 | 4.45\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.30\n",
+ "norm_wf | 0.14 | 0.08 | 0.01 | 0.60\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.06 | 0.54 | -11.87 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.12 -0.00 | 0.33 0.20 0.19 | -1.08 -0.95 -1.00 | 1.49 1.05 1.07\n",
+ "w | -0.00 -0.01 0.00 | 0.20 0.19 0.01 | -1.74 -2.37 -0.09 | 2.07 1.29 0.10\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.11 -0.15 | 0.20 0.22\n",
+ "w_f | -0.02 -0.03 0.00 | 0.12 0.10 0.01 | -0.52 -0.36 -0.08 | 0.54 0.41 0.10\n",
+ "landing_rewards | 9.59 | 1.99 | 0.00 | 10.00\n",
+ "landing_margin | -0.07 | 0.30 | -0.19 | 10.16\n",
+ "tracking_rewards | -4.93 | 4.65 | -30.30 | 0.80\n",
+ "steps | 303 | 25 | 249 | 601\n",
+ "***** Episode 175931, Mean R = -3.0 Std R = 5.3 Min R = -28.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00115\n",
+ "PolicyEntropy: -5.9\n",
+ "PolicyLoss: -0.00218\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.6e+07\n",
+ "ValFuncLoss: 2.89e-05\n",
+ "Variance: 0.0605\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013117841 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06062805 0.05242999 0.05330578 0.05567906]\n",
+ "FIT: 0.5807054412629792 2.3638611901244766 0.022380586169778584 0.11805106024071993\n",
+ "***** Episode 176052, Mean R = -3.9 Std R = 5.8 Min R = -26.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00131\n",
+ "PolicyEntropy: -5.9\n",
+ "PolicyLoss: -0.00275\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.61e+07\n",
+ "ValFuncLoss: 3.52e-05\n",
+ "Variance: 0.0606\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010936621 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06058934 0.05257867 0.05345938 0.05547477]\n",
+ "FIT: 0.4649253532485125 2.220959599328364 0.020414603651257805 0.11687331693706908\n",
+ "***** Episode 176173, Mean R = -3.5 Std R = 5.6 Min R = -21.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.962\n",
+ "ExplainedVarOld: 0.957\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -5.89\n",
+ "PolicyLoss: -0.00222\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.61e+07\n",
+ "ValFuncLoss: 8.31e-05\n",
+ "Variance: 0.0606\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012558637 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06050664 0.05272758 0.0532567 0.05525892]\n",
+ "FIT: 0.659921299129162 2.3124121571787706 0.02084805617225741 0.1158871530057089\n",
+ "***** Episode 176294, Mean R = -3.2 Std R = 5.5 Min R = -30.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00126\n",
+ "PolicyEntropy: -5.9\n",
+ "PolicyLoss: -0.00229\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.62e+07\n",
+ "ValFuncLoss: 3.13e-05\n",
+ "Variance: 0.0605\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012302508 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06043699 0.05273761 0.05311751 0.05512018]\n",
+ "FIT: 0.6027866612066946 2.2483745655498897 0.019596159565622693 0.11734489502927249\n",
+ "***** Episode 176415, Mean R = -2.6 Std R = 5.1 Min R = -24.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.972\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -5.91\n",
+ "PolicyLoss: -0.00248\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 4.62e+07\n",
+ "ValFuncLoss: 3.74e-05\n",
+ "Variance: 0.0604\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010118568 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06007743 0.05264515 0.05298857 0.05487923]\n",
+ "FIT: 0.5848974612707741 2.4818070399574648 0.019966221495004082 0.11640986987780337\n",
+ "***** Episode 176536, Mean R = -2.9 Std R = 5.2 Min R = -33.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -5.92\n",
+ "PolicyLoss: -0.00205\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 4.62e+07\n",
+ "ValFuncLoss: 3.93e-05\n",
+ "Variance: 0.0601\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010139917 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06000782 0.05248927 0.05288296 0.05477643]\n",
+ "FIT: 0.47547127424535796 2.187439241464657 0.019309105589551474 0.11519111878790525\n",
+ "***** Episode 176657, Mean R = -2.3 Std R = 4.4 Min R = -15.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -5.93\n",
+ "PolicyLoss: -0.00213\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.63e+07\n",
+ "ValFuncLoss: 3.06e-05\n",
+ "Variance: 0.06\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010728812 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06015212 0.05247119 0.05283983 0.05473936]\n",
+ "FIT: 0.7247837469838769 2.396420286472908 0.020878836081279824 0.11598841262478275\n",
+ "***** Episode 176778, Mean R = -3.1 Std R = 5.9 Min R = -35.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -5.93\n",
+ "PolicyLoss: -0.00252\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.63e+07\n",
+ "ValFuncLoss: 2.12e-05\n",
+ "Variance: 0.0602\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0013031942 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0604148 0.0524328 0.05267905 0.05473558]\n",
+ "FIT: 0.7259574082023316 2.4677952229166396 0.02108668799719774 0.11994684691238325\n",
+ "***** Episode 176899, Mean R = -3.4 Std R = 5.7 Min R = -31.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.0013\n",
+ "PolicyEntropy: -5.93\n",
+ "PolicyLoss: -0.00244\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.63e+07\n",
+ "ValFuncLoss: 4.01e-05\n",
+ "Variance: 0.0604\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011089107 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06032617 0.05226147 0.05251611 0.05467535]\n",
+ "FIT: 0.5774972166111789 2.3812338983853616 0.021457848411342958 0.11780601921857876\n",
+ "***** Episode 177020, Mean R = -3.5 Std R = 5.8 Min R = -24.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -5.94\n",
+ "PolicyLoss: -0.00246\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.64e+07\n",
+ "ValFuncLoss: 4.02e-05\n",
+ "Variance: 0.0603\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00089430733 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06020685 0.05234385 0.05256436 0.0547162 ]\n",
+ "FIT: 0.6600431045244938 2.3025748418850944 0.02071645595380546 0.11686387277805492\n",
+ "Update Cnt = 1300 ET = 1057.7 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.0 -0.3 -0.0 | 1.1 1.1 0.0 | -4.1 -6.6 -0.1 | 3.7 4.1 -0.0\n",
+ "v_f | 0.01 -0.05 -0.95 | 0.09 0.08 0.15 | -0.34 -0.39 -1.35 | 0.37 0.24 -0.37\n",
+ "r_i | 985.2 -31.3 2349.8 | 576.2 590.8 29.1 | 0.2 -999.8 2300.2 | 1999.2 999.6 2400.0\n",
+ "v_i | -40.29 -0.06 -80.03 | 16.96 17.11 5.81 | -69.98 -29.95 -89.98 | -10.06 29.96 -70.01\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 7.5\n",
+ "norm_vf | 0.96 | 0.14 | 0.37 | 1.35\n",
+ "gs_f | 25.0 | 36.2 | 3.9 | 823.1\n",
+ "thrust | 1235 11 9232 | 2846 2889 2036 | -15767 -17288 2000 | 16438 16118 20000\n",
+ "norm_thrust | 9881 | 3116 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 259 | 350\n",
+ "rewards | -3.20 | 5.50 | -35.48 | 3.71\n",
+ "fuel_rewards | -7.51 | 0.39 | -9.02 | -6.69\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.52 | 0.54 | 0.55 | 6.49\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.15\n",
+ "norm_wf | 0.13 | 0.07 | 0.01 | 0.47\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.59 | -10.39 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.12 0.00 | 0.34 0.20 0.20 | -1.11 -0.94 -1.02 | 1.55 1.09 1.13\n",
+ "w | -0.00 -0.01 -0.00 | 0.21 0.19 0.01 | -1.63 -2.46 -0.10 | 2.07 1.58 0.10\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.12 -0.13 | 0.14 0.13\n",
+ "w_f | -0.01 -0.02 -0.00 | 0.11 0.10 0.01 | -0.40 -0.40 -0.10 | 0.39 0.35 0.09\n",
+ "landing_rewards | 9.45 | 2.27 | 0.00 | 10.00\n",
+ "landing_margin | -0.07 | 0.12 | -0.19 | 2.55\n",
+ "tracking_rewards | -5.07 | 4.64 | -37.40 | 0.99\n",
+ "steps | 303 | 24 | 250 | 383\n",
+ "***** Episode 177141, Mean R = -3.5 Std R = 5.8 Min R = -27.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.973\n",
+ "ExplainedVarOld: 0.961\n",
+ "KL: 0.000894\n",
+ "PolicyEntropy: -5.94\n",
+ "PolicyLoss: -0.00166\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 4.64e+07\n",
+ "ValFuncLoss: 7.57e-05\n",
+ "Variance: 0.0602\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001125341 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06004867 0.05259657 0.05247667 0.05484667]\n",
+ "FIT: 0.5914296873115399 2.434755424120972 0.020632295646875 0.11931795387999751\n",
+ "***** Episode 177262, Mean R = -3.3 Std R = 5.7 Min R = -26.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -5.93\n",
+ "PolicyLoss: -0.00217\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 4.64e+07\n",
+ "ValFuncLoss: 5.02e-05\n",
+ "Variance: 0.06\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011731904 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06010429 0.05279777 0.05226805 0.05491992]\n",
+ "FIT: 0.5306735943028373 2.199997597920748 0.020917897366627886 0.11825414637463035\n",
+ "***** Episode 177383, Mean R = -3.5 Std R = 5.8 Min R = -24.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.976\n",
+ "ExplainedVarOld: 0.966\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -5.93\n",
+ "PolicyLoss: -0.00217\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.65e+07\n",
+ "ValFuncLoss: 7.12e-05\n",
+ "Variance: 0.0601\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013309943 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06020313 0.05289309 0.05223101 0.05496436]\n",
+ "FIT: 0.5325964844513716 2.247306272514178 0.020001966669901314 0.11591112761585426\n",
+ "***** Episode 177504, Mean R = -2.8 Std R = 5.0 Min R = -18.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00133\n",
+ "PolicyEntropy: -5.93\n",
+ "PolicyLoss: -0.00206\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.65e+07\n",
+ "ValFuncLoss: 4.44e-05\n",
+ "Variance: 0.0602\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011296768 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06022399 0.05291084 0.05232246 0.05505951]\n",
+ "FIT: 0.4787314652846163 2.2256696783133223 0.020561835493313155 0.120268980017956\n",
+ "***** Episode 177625, Mean R = -3.2 Std R = 4.7 Min R = -19.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -5.92\n",
+ "PolicyLoss: -0.00213\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.66e+07\n",
+ "ValFuncLoss: 3.24e-05\n",
+ "Variance: 0.0602\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013411473 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06029449 0.0529162 0.0524233 0.05509577]\n",
+ "FIT: 0.5817304654908017 2.364730935818582 0.021151941957411536 0.1193664688097918\n",
+ "***** Episode 177746, Mean R = -3.5 Std R = 6.0 Min R = -23.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.97\n",
+ "KL: 0.00134\n",
+ "PolicyEntropy: -5.92\n",
+ "PolicyLoss: -0.00262\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.66e+07\n",
+ "ValFuncLoss: 4.43e-05\n",
+ "Variance: 0.0603\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014528445 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.06027869 0.05284109 0.05257374 0.05499474]\n",
+ "FIT: 0.5832851444068929 2.4072632895541215 0.021283779717725416 0.11710880886520368\n",
+ "***** Episode 177867, Mean R = -3.5 Std R = 5.8 Min R = -23.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00145\n",
+ "PolicyEntropy: -5.92\n",
+ "PolicyLoss: -0.00211\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 4.66e+07\n",
+ "ValFuncLoss: 4.24e-05\n",
+ "Variance: 0.0603\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010595075 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05996716 0.05279065 0.05262635 0.05505862]\n",
+ "FIT: 0.44077024339082543 2.214446753263133 0.02022876111784364 0.1212495115050303\n",
+ "***** Episode 177988, Mean R = -3.0 Std R = 4.6 Min R = -17.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.958\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -5.92\n",
+ "PolicyLoss: -0.00248\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 4.67e+07\n",
+ "ValFuncLoss: 3.52e-05\n",
+ "Variance: 0.06\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013156931 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05967935 0.05265396 0.05265292 0.05513785]\n",
+ "FIT: 0.6177507872508107 2.4040758116719507 0.022703586386836127 0.11995357107708828\n",
+ "***** Episode 178109, Mean R = -4.0 Std R = 6.7 Min R = -26.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00132\n",
+ "PolicyEntropy: -5.93\n",
+ "PolicyLoss: -0.00252\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 4.67e+07\n",
+ "ValFuncLoss: 3.85e-05\n",
+ "Variance: 0.0597\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013796275 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05963475 0.05274958 0.05256957 0.05506974]\n",
+ "FIT: 0.638610267150682 2.267572095828529 0.021632539005512763 0.11426833864799806\n",
+ "***** Episode 178230, Mean R = -3.4 Std R = 6.2 Min R = -27.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00138\n",
+ "PolicyEntropy: -5.93\n",
+ "PolicyLoss: -0.00213\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 4.67e+07\n",
+ "ValFuncLoss: 4.23e-05\n",
+ "Variance: 0.0596\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014046022 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05945745 0.05252574 0.05241369 0.05496228]\n",
+ "FIT: 0.5955839179671375 2.380533758782 0.01917935967835838 0.11499909882774174\n",
+ "Update Cnt = 1310 ET = 1043.5 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.1 -0.3 -0.0 | 1.3 1.1 0.0 | -4.1 -11.8 -0.1 | 23.4 4.5 1.1\n",
+ "v_f | 0.01 -0.06 -0.93 | 0.09 0.09 0.15 | -0.43 -1.35 -1.37 | 0.43 0.33 -0.19\n",
+ "r_i | 992.3 19.2 2348.0 | 575.1 570.4 28.9 | 1.4 -991.4 2300.0 | 1999.9 999.2 2399.9\n",
+ "v_i | -40.34 0.06 -79.88 | 17.48 17.16 5.72 | -69.96 -29.99 -89.98 | -10.08 29.79 -70.00\n",
+ "norm_rf | 1.4 | 1.1 | 0.0 | 26.2\n",
+ "norm_vf | 0.94 | 0.14 | 0.42 | 1.39\n",
+ "gs_f | 24.6 | 34.2 | 0.1 | 901.9\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "thrust | 1235 2 9226 | 2873 2855 2035 | -15087 -16512 2000 | 16919 16369 20000\n",
+ "norm_thrust | 9879 | 3101 | 3464 | 20000\n",
+ "fuel | 291 | 16 | 260 | 482\n",
+ "rewards | -3.24 | 5.55 | -27.22 | 3.83\n",
+ "fuel_rewards | -7.51 | 0.42 | -12.43 | -6.72\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.49 | 0.50 | 0.08 | 5.19\n",
+ "norm_af | 0.04 | 0.03 | 0.00 | 0.57\n",
+ "norm_wf | 0.13 | 0.07 | 0.01 | 0.57\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.51 | -8.23 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.12 0.00 | 0.35 0.21 0.20 | -1.12 -0.87 -1.04 | 1.72 1.11 1.03\n",
+ "w | -0.00 -0.01 0.00 | 0.21 0.20 0.01 | -1.67 -2.37 -0.09 | 2.17 1.39 0.18\n",
+ "a_f | -0.01 -0.01 | 0.03 0.04 | -0.17 -0.53 | 0.21 0.13\n",
+ "w_f | -0.01 -0.02 0.00 | 0.11 0.10 0.02 | -0.47 -0.38 -0.09 | 0.42 0.44 0.18\n",
+ "landing_rewards | 9.51 | 2.15 | 0.00 | 10.00\n",
+ "landing_margin | -0.06 | 0.62 | -0.19 | 21.25\n",
+ "tracking_rewards | -5.17 | 4.83 | -29.37 | 0.94\n",
+ "steps | 304 | 26 | 249 | 601\n",
+ "***** Episode 178351, Mean R = -2.2 Std R = 4.3 Min R = -24.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.0014\n",
+ "PolicyEntropy: -5.94\n",
+ "PolicyLoss: -0.00277\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.68e+07\n",
+ "ValFuncLoss: 1.65e-05\n",
+ "Variance: 0.0595\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013534296 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05934369 0.05239135 0.05248841 0.05468198]\n",
+ "FIT: 0.5229248385480233 2.4325662160146364 0.01953047642261219 0.11562634820816772\n",
+ "***** Episode 178472, Mean R = -2.5 Std R = 4.3 Min R = -19.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00135\n",
+ "PolicyEntropy: -5.95\n",
+ "PolicyLoss: -0.00228\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.68e+07\n",
+ "ValFuncLoss: 3.08e-05\n",
+ "Variance: 0.0593\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011607365 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05929283 0.05234619 0.05254275 0.05471649]\n",
+ "FIT: 0.5486199643423664 2.2821899582670686 0.021425046424442096 0.1206109898371351\n",
+ "***** Episode 178593, Mean R = -3.8 Std R = 5.9 Min R = -21.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.967\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -5.95\n",
+ "PolicyLoss: -0.00216\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 4.68e+07\n",
+ "ValFuncLoss: 5.34e-05\n",
+ "Variance: 0.0593\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001264124 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05922003 0.05224742 0.05254471 0.05503215]\n",
+ "FIT: 0.5388855541833522 2.4044711159120062 0.021183960849724445 0.1194288879896517\n",
+ "***** Episode 178714, Mean R = -3.5 Std R = 5.8 Min R = -26.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00126\n",
+ "PolicyEntropy: -5.95\n",
+ "PolicyLoss: -0.0022\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.69e+07\n",
+ "ValFuncLoss: 4.19e-05\n",
+ "Variance: 0.0592\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009078082 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05923783 0.05206504 0.05246532 0.05496539]\n",
+ "FIT: 0.6236850685628602 2.391283409144682 0.0219069023345045 0.11807599922838075\n",
+ "***** Episode 178835, Mean R = -3.6 Std R = 5.7 Min R = -25.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.000908\n",
+ "PolicyEntropy: -5.95\n",
+ "PolicyLoss: -0.00247\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.69e+07\n",
+ "ValFuncLoss: 2.69e-05\n",
+ "Variance: 0.0592\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00092572323 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05915504 0.0519989 0.05255578 0.05484547]\n",
+ "FIT: 1.0209474792337492 2.3359462201510524 0.020494264338108487 0.11436688260585717\n",
+ "***** Episode 178956, Mean R = -2.9 Std R = 6.4 Min R = -42.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.949\n",
+ "KL: 0.000926\n",
+ "PolicyEntropy: -5.96\n",
+ "PolicyLoss: -0.00184\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 4.7e+07\n",
+ "ValFuncLoss: 4.11e-05\n",
+ "Variance: 0.0592\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001052542 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05908402 0.0520255 0.05265673 0.05478244]\n",
+ "FIT: 0.5518251154065699 2.3112255423522248 0.020223027271471086 0.11987203067223746\n",
+ "***** Episode 179077, Mean R = -3.3 Std R = 5.0 Min R = -20.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.972\n",
+ "ExplainedVarOld: 0.97\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -5.96\n",
+ "PolicyLoss: -0.00203\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.7e+07\n",
+ "ValFuncLoss: 6.83e-05\n",
+ "Variance: 0.0591\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011224409 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0590473 0.05213054 0.05264398 0.05484816]\n",
+ "FIT: 0.4295932766113867 2.149138980181105 0.019894983664000426 0.11567943280409003\n",
+ "***** Episode 179198, Mean R = -2.7 Std R = 4.9 Min R = -19.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.967\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -5.96\n",
+ "PolicyLoss: -0.0026\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 4.7e+07\n",
+ "ValFuncLoss: 4.03e-05\n",
+ "Variance: 0.059\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010204683 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05888997 0.05205766 0.05266722 0.0548211 ]\n",
+ "FIT: 0.5387842314481766 2.461587951748384 0.020838892021023524 0.11708837825058402\n",
+ "***** Episode 179319, Mean R = -3.3 Std R = 5.3 Min R = -25.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -5.96\n",
+ "PolicyLoss: -0.00227\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.71e+07\n",
+ "ValFuncLoss: 3.87e-05\n",
+ "Variance: 0.0589\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0015128092 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05867145 0.05183816 0.0526225 0.05487003]\n",
+ "FIT: 0.6556912979993104 2.394820737527171 0.02034676034203993 0.11569980315490362\n",
+ "***** Episode 179440, Mean R = -2.9 Std R = 5.3 Min R = -29.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00151\n",
+ "PolicyEntropy: -5.97\n",
+ "PolicyLoss: -0.00243\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.71e+07\n",
+ "ValFuncLoss: 3.88e-05\n",
+ "Variance: 0.0587\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014262676 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05850906 0.05188316 0.05269528 0.05471474]\n",
+ "FIT: 0.5776877011189183 2.3821541190291584 0.021180273947590166 0.118420704052384\n",
+ "Update Cnt = 1320 ET = 1036.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.1 -0.3 -0.0 | 1.3 1.1 0.0 | -4.1 -5.0 -0.1 | 25.6 7.5 1.5\n",
+ "v_f | 0.01 -0.05 -0.93 | 0.11 0.09 0.15 | -0.59 -0.45 -1.40 | 2.60 0.44 -0.08\n",
+ "r_i | 983.4 -3.6 2350.3 | 587.9 577.5 28.8 | 0.1 -994.3 2300.1 | 1998.0 999.8 2399.9\n",
+ "v_i | -40.89 0.56 -80.27 | 17.21 16.99 5.81 | -69.74 -29.97 -90.00 | -10.00 30.00 -70.02\n",
+ "norm_rf | 1.4 | 1.1 | 0.0 | 26.7\n",
+ "norm_vf | 0.94 | 0.15 | 0.38 | 2.64\n",
+ "gs_f | 29.8 | 119.6 | 0.1 | 3865.8\n",
+ "thrust | 1258 -12 9246 | 2920 2841 2031 | -15537 -16797 2000 | 16424 15977 19998\n",
+ "norm_thrust | 9902 | 3120 | 3464 | 20000\n",
+ "fuel | 291 | 16 | 261 | 505\n",
+ "rewards | -3.18 | 5.44 | -42.66 | 3.73\n",
+ "fuel_rewards | -7.51 | 0.42 | -13.01 | -6.74\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.49 | 0.50 | 0.08 | 4.17\n",
+ "norm_af | 0.04 | 0.03 | 0.00 | 0.72\n",
+ "norm_wf | 0.14 | 0.08 | 0.01 | 0.89\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.06 | 0.75 | -21.57 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 0.00 | 0.34 0.21 0.20 | -1.21 -0.89 -1.03 | 1.74 1.08 1.08\n",
+ "w | -0.00 -0.01 -0.00 | 0.21 0.20 0.01 | -1.66 -2.44 -0.08 | 2.17 1.34 0.27\n",
+ "a_f | -0.01 -0.00 | 0.04 0.03 | -0.68 -0.17 | 0.21 0.25\n",
+ "w_f | -0.02 -0.03 -0.00 | 0.12 0.10 0.02 | -0.78 -0.34 -0.07 | 0.37 0.35 0.25\n",
+ "landing_rewards | 9.48 | 2.22 | 0.00 | 10.00\n",
+ "landing_margin | -0.05 | 0.64 | -0.19 | 21.69\n",
+ "tracking_rewards | -5.09 | 4.51 | -25.80 | 0.94\n",
+ "steps | 303 | 26 | 250 | 601\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 179561, Mean R = -3.3 Std R = 5.4 Min R = -23.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00143\n",
+ "PolicyEntropy: -5.97\n",
+ "PolicyLoss: -0.0021\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.71e+07\n",
+ "ValFuncLoss: 4.02e-05\n",
+ "Variance: 0.0585\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001117905 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0584619 0.05206567 0.05267149 0.05461711]\n",
+ "FIT: 0.7477824417790786 2.3765370784029582 0.02045864139183983 0.11929874060299002\n",
+ "***** Episode 179682, Mean R = -3.2 Std R = 6.0 Min R = -32.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.971\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -5.97\n",
+ "PolicyLoss: -0.00225\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.72e+07\n",
+ "ValFuncLoss: 4.24e-05\n",
+ "Variance: 0.0585\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00094962545 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05846031 0.05223136 0.05276823 0.05478514]\n",
+ "FIT: 0.49577967820177476 2.2191651825207486 0.01941953329153657 0.11575096453711126\n",
+ "***** Episode 179803, Mean R = -2.4 Std R = 4.3 Min R = -15.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00095\n",
+ "PolicyEntropy: -5.96\n",
+ "PolicyLoss: -0.0027\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.72e+07\n",
+ "ValFuncLoss: 2.85e-05\n",
+ "Variance: 0.0585\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013774273 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05852798 0.05219162 0.05269706 0.05482662]\n",
+ "FIT: 0.503047806525547 2.091843253060346 0.019221169871805003 0.11646130166259241\n",
+ "***** Episode 179924, Mean R = -2.4 Std R = 5.0 Min R = -26.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.974\n",
+ "KL: 0.00138\n",
+ "PolicyEntropy: -5.96\n",
+ "PolicyLoss: -0.00205\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.73e+07\n",
+ "ValFuncLoss: 4.14e-05\n",
+ "Variance: 0.0585\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012542226 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05843344 0.05204943 0.05271244 0.05482955]\n",
+ "FIT: 0.6093655502076175 2.2364235722926553 0.021395588677678108 0.1161535734317217\n",
+ "***** Episode 180045, Mean R = -3.3 Std R = 5.6 Min R = -27.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00125\n",
+ "PolicyEntropy: -5.97\n",
+ "PolicyLoss: -0.00237\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.73e+07\n",
+ "ValFuncLoss: 2.92e-05\n",
+ "Variance: 0.0584\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011414371 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05834543 0.05202489 0.05270744 0.05477993]\n",
+ "FIT: 0.5939512299322554 2.481031361145851 0.01941679778406852 0.1134252390016267\n",
+ "***** Episode 180166, Mean R = -2.7 Std R = 5.2 Min R = -20.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.968\n",
+ "ExplainedVarOld: 0.96\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -5.97\n",
+ "PolicyLoss: -0.00194\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.73e+07\n",
+ "ValFuncLoss: 5.95e-05\n",
+ "Variance: 0.0583\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0008143701 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05804867 0.05183959 0.05293735 0.05482395]\n",
+ "FIT: 0.5971711771930471 2.202551153811215 0.020411625352735302 0.11701135764518136\n",
+ "***** Episode 180287, Mean R = -3.0 Std R = 5.1 Min R = -24.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.000814\n",
+ "PolicyEntropy: -5.97\n",
+ "PolicyLoss: -0.00224\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.74e+07\n",
+ "ValFuncLoss: 3.8e-05\n",
+ "Variance: 0.058\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009095604 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05804862 0.05165103 0.05308292 0.05482021]\n",
+ "FIT: 0.5080098650607939 2.353488376970382 0.018820789608136577 0.11818767274153769\n",
+ "***** Episode 180408, Mean R = -2.1 Std R = 4.6 Min R = -18.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.943\n",
+ "KL: 0.00091\n",
+ "PolicyEntropy: -5.97\n",
+ "PolicyLoss: -0.00237\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.74e+07\n",
+ "ValFuncLoss: 1.6e-05\n",
+ "Variance: 0.058\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011627717 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05804488 0.05139052 0.05317058 0.05479241]\n",
+ "FIT: 0.6568977430031898 2.324869636266486 0.021087975828023204 0.11829922734401953\n",
+ "***** Episode 180529, Mean R = -3.5 Std R = 6.0 Min R = -30.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -5.98\n",
+ "PolicyLoss: -0.00204\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.74e+07\n",
+ "ValFuncLoss: 4.33e-05\n",
+ "Variance: 0.058\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013367501 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05818901 0.0514525 0.05309647 0.05482649]\n",
+ "FIT: 0.5038032571645276 2.413653485201713 0.01988385071075758 0.11541671762553438\n",
+ "***** Episode 180650, Mean R = -2.3 Std R = 5.3 Min R = -20.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00134\n",
+ "PolicyEntropy: -5.97\n",
+ "PolicyLoss: -0.00235\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.75e+07\n",
+ "ValFuncLoss: 2.38e-05\n",
+ "Variance: 0.0582\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001208844 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05830577 0.05158138 0.05309996 0.05478091]\n",
+ "FIT: 0.5793799661241172 2.424984740890882 0.020858196289100076 0.11860684570619857\n",
+ "Update Cnt = 1330 ET = 1041.1 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.1 -0.3 -0.0 | 1.2 1.1 0.0 | -3.8 -10.9 -0.1 | 12.9 3.9 1.1\n",
+ "v_f | 0.01 -0.05 -0.94 | 0.09 0.09 0.14 | -0.71 -0.51 -1.38 | 0.45 0.34 -0.23\n",
+ "r_i | 1003.8 16.9 2349.7 | 562.7 567.8 29.0 | 1.1 -998.0 2300.2 | 1998.6 999.8 2400.0\n",
+ "v_i | -39.71 -0.24 -80.16 | 17.38 17.02 5.77 | -69.98 -29.99 -89.99 | -10.05 30.00 -70.02\n",
+ "norm_rf | 1.3 | 1.0 | 0.0 | 16.9\n",
+ "norm_vf | 0.95 | 0.13 | 0.51 | 1.38\n",
+ "gs_f | 25.2 | 28.8 | 0.1 | 384.7\n",
+ "thrust | 1212 12 9227 | 2852 2834 2039 | -15011 -16084 2000 | 16983 16137 19995\n",
+ "norm_thrust | 9861 | 3112 | 3464 | 20000\n",
+ "fuel | 291 | 16 | 260 | 456\n",
+ "rewards | -2.79 | 5.32 | -32.79 | 4.01\n",
+ "fuel_rewards | -7.51 | 0.41 | -11.74 | -6.71\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.52 | 0.53 | 0.13 | 6.02\n",
+ "norm_af | 0.04 | 0.03 | 0.00 | 0.40\n",
+ "norm_wf | 0.13 | 0.08 | 0.01 | 0.72\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.04 | 0.36 | -5.61 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 -0.00 | 0.34 0.20 0.20 | -1.17 -0.99 -1.02 | 1.63 1.07 1.02\n",
+ "w | -0.00 -0.01 0.00 | 0.20 0.20 0.01 | -1.64 -2.48 -0.09 | 1.99 1.44 0.18\n",
+ "a_f | -0.01 -0.00 | 0.04 0.03 | -0.17 -0.21 | 0.34 0.12\n",
+ "w_f | -0.01 -0.02 0.00 | 0.12 0.10 0.02 | -0.48 -0.36 -0.07 | 0.69 0.30 0.17\n",
+ "landing_rewards | 9.55 | 2.06 | 0.00 | 10.00\n",
+ "landing_margin | -0.07 | 0.35 | -0.19 | 11.90\n",
+ "tracking_rewards | -4.80 | 4.56 | -32.89 | 1.07\n",
+ "steps | 304 | 26 | 254 | 601\n",
+ "***** Episode 180771, Mean R = -3.1 Std R = 5.6 Min R = -31.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -5.97\n",
+ "PolicyLoss: -0.00266\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.75e+07\n",
+ "ValFuncLoss: 2.04e-05\n",
+ "Variance: 0.0583\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011834702 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05824924 0.0515815 0.05317906 0.05481224]\n",
+ "FIT: 0.5148438335540756 2.155153174887838 0.021964878050912812 0.12197611257751552\n",
+ "***** Episode 180892, Mean R = -4.1 Std R = 5.6 Min R = -27.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.963\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -5.97\n",
+ "PolicyLoss: -0.00213\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 4.75e+07\n",
+ "ValFuncLoss: 5.12e-05\n",
+ "Variance: 0.0582\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013140825 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05819183 0.05149816 0.05322205 0.05478876]\n",
+ "FIT: 0.5960805335434967 2.4990455590516323 0.02211898450732408 0.12045617170466673\n",
+ "***** Episode 181013, Mean R = -3.7 Std R = 5.8 Min R = -21.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00131\n",
+ "PolicyEntropy: -5.97\n",
+ "PolicyLoss: -0.00243\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 4.76e+07\n",
+ "ValFuncLoss: 2.2e-05\n",
+ "Variance: 0.0582\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013772413 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05808403 0.0514202 0.05317505 0.05480888]\n",
+ "FIT: 0.5669702462627304 2.226006352845712 0.01944764450824131 0.11495175430890801\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 181134, Mean R = -2.6 Std R = 4.8 Min R = -22.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.971\n",
+ "KL: 0.00138\n",
+ "PolicyEntropy: -5.98\n",
+ "PolicyLoss: -0.0021\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.76e+07\n",
+ "ValFuncLoss: 4.03e-05\n",
+ "Variance: 0.0581\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001290379 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05821647 0.05131774 0.05313829 0.05487401]\n",
+ "FIT: 0.48307335027197557 2.240643070906286 0.02031839084762102 0.11875580707563466\n",
+ "***** Episode 181255, Mean R = -3.1 Std R = 5.0 Min R = -21.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.978\n",
+ "ExplainedVarOld: 0.974\n",
+ "KL: 0.00129\n",
+ "PolicyEntropy: -5.98\n",
+ "PolicyLoss: -0.00254\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.77e+07\n",
+ "ValFuncLoss: 4.57e-05\n",
+ "Variance: 0.0582\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010841464 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05834329 0.05117865 0.05320433 0.05501758]\n",
+ "FIT: 0.5124591671716723 2.2867349031846445 0.018602254496782062 0.11533407021385016\n",
+ "***** Episode 181376, Mean R = -1.9 Std R = 4.3 Min R = -17.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -5.97\n",
+ "PolicyLoss: -0.00215\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 4.77e+07\n",
+ "ValFuncLoss: 2.29e-05\n",
+ "Variance: 0.0583\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010241687 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0582798 0.05122195 0.05322806 0.05507464]\n",
+ "FIT: 0.614597546601797 2.41112839441126 0.020622229912084757 0.11793383590200435\n",
+ "***** Episode 181497, Mean R = -3.3 Std R = 5.6 Min R = -25.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -5.97\n",
+ "PolicyLoss: -0.00221\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 4.77e+07\n",
+ "ValFuncLoss: 5.03e-05\n",
+ "Variance: 0.0583\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011384393 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05825313 0.05146082 0.05342152 0.05502161]\n",
+ "FIT: 0.47887539950429403 2.4223979757406653 0.019744119950162804 0.11604664907353691\n",
+ "***** Episode 181618, Mean R = -2.7 Std R = 5.2 Min R = -21.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.976\n",
+ "ExplainedVarOld: 0.971\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -5.96\n",
+ "PolicyLoss: -0.00216\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.78e+07\n",
+ "ValFuncLoss: 4.88e-05\n",
+ "Variance: 0.0583\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009459776 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05812605 0.05163625 0.05331389 0.054974 ]\n",
+ "FIT: 0.6612356626355523 2.391900157250357 0.02145098842618774 0.11632932299100465\n",
+ "***** Episode 181739, Mean R = -3.5 Std R = 5.5 Min R = -30.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.000946\n",
+ "PolicyEntropy: -5.97\n",
+ "PolicyLoss: -0.00199\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 4.78e+07\n",
+ "ValFuncLoss: 4.81e-05\n",
+ "Variance: 0.0581\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011969405 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05790048 0.05165905 0.05308444 0.05509952]\n",
+ "FIT: 0.5384650289581405 2.3653994357401107 0.019628842830504402 0.11590324490715041\n",
+ "***** Episode 181860, Mean R = -2.5 Std R = 5.3 Min R = -21.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.961\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: -5.97\n",
+ "PolicyLoss: -0.00231\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 4.78e+07\n",
+ "ValFuncLoss: 3.94e-05\n",
+ "Variance: 0.0579\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011926509 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05802026 0.05156244 0.05311133 0.05534886]\n",
+ "FIT: 0.5694511823578816 2.2316008612590212 0.019320351000106324 0.11537215953822284\n",
+ "Update Cnt = 1340 ET = 1044.7 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.1 -0.2 -0.0 | 1.1 1.0 0.0 | -4.1 -4.0 -0.1 | 3.6 3.4 -0.0\n",
+ "v_f | 0.01 -0.05 -0.93 | 0.09 0.09 0.15 | -0.46 -0.38 -1.37 | 0.46 0.42 -0.03\n",
+ "r_i | 1004.2 16.0 2351.6 | 577.0 575.6 28.7 | 0.2 -997.1 2300.1 | 1998.5 992.8 2399.9\n",
+ "v_i | -40.07 -0.80 -80.13 | 17.40 16.86 5.89 | -69.98 -29.97 -89.96 | -10.06 29.95 -70.01\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.1\n",
+ "norm_vf | 0.94 | 0.14 | 0.33 | 1.37\n",
+ "gs_f | 23.4 | 21.7 | 3.0 | 221.0\n",
+ "thrust | 1226 31 9239 | 2853 2854 2044 | -15000 -16439 2000 | 16573 16508 19996\n",
+ "norm_thrust | 9880 | 3114 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 260 | 353\n",
+ "rewards | -2.99 | 5.30 | -30.28 | 3.94\n",
+ "fuel_rewards | -7.52 | 0.38 | -9.09 | -6.70\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.53 | 0.58 | 0.54 | 5.65\n",
+ "norm_af | 0.04 | 0.03 | 0.00 | 0.21\n",
+ "norm_wf | 0.13 | 0.08 | 0.00 | 0.55\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.57 | -9.09 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 -0.00 | 0.35 0.20 0.20 | -1.15 -0.97 -1.01 | 1.57 1.07 1.04\n",
+ "w | -0.00 -0.01 -0.00 | 0.20 0.20 0.01 | -1.69 -2.34 -0.11 | 2.14 1.46 0.13\n",
+ "a_f | -0.01 -0.00 | 0.04 0.03 | -0.15 -0.20 | 0.15 0.11\n",
+ "w_f | -0.01 -0.02 0.00 | 0.11 0.10 0.02 | -0.52 -0.42 -0.09 | 0.44 0.30 0.12\n",
+ "landing_rewards | 9.45 | 2.29 | 0.00 | 10.00\n",
+ "landing_margin | -0.07 | 0.12 | -0.20 | 1.97\n",
+ "tracking_rewards | -4.84 | 4.45 | -32.16 | 1.16\n",
+ "steps | 304 | 24 | 252 | 386\n",
+ "***** Episode 181981, Mean R = -2.4 Std R = 5.3 Min R = -30.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.978\n",
+ "ExplainedVarOld: 0.974\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -5.97\n",
+ "PolicyLoss: -0.00233\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 4.79e+07\n",
+ "ValFuncLoss: 4.51e-05\n",
+ "Variance: 0.058\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001202044 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05827251 0.05134447 0.05321111 0.05555811]\n",
+ "FIT: 0.5921810049430637 2.3785967816414493 0.019879502974254257 0.11563333691957849\n",
+ "***** Episode 182102, Mean R = -2.4 Std R = 4.8 Min R = -23.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.965\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: -5.96\n",
+ "PolicyLoss: -0.00268\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.79e+07\n",
+ "ValFuncLoss: 3.78e-05\n",
+ "Variance: 0.0583\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012296421 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05821088 0.05136727 0.05309275 0.05562853]\n",
+ "FIT: 0.5417948865685427 2.2277438587085014 0.02102867900853346 0.118965702297156\n",
+ "***** Episode 182223, Mean R = -3.5 Std R = 5.0 Min R = -18.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.97\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -5.96\n",
+ "PolicyLoss: -0.00249\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.79e+07\n",
+ "ValFuncLoss: 4.34e-05\n",
+ "Variance: 0.0582\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001155995 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05811646 0.0515856 0.05300225 0.05574579]\n",
+ "FIT: 0.5660733171128366 2.29982190392032 0.020260570999760807 0.11787871094865995\n",
+ "***** Episode 182344, Mean R = -2.9 Std R = 5.0 Min R = -18.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -5.96\n",
+ "PolicyLoss: -0.00217\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.8e+07\n",
+ "ValFuncLoss: 4.02e-05\n",
+ "Variance: 0.0581\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010187501 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05823052 0.05177733 0.0530662 0.0558492 ]\n",
+ "FIT: 0.5595649037874515 2.1887037939020693 0.020911861583327557 0.11431611228704952\n",
+ "***** Episode 182465, Mean R = -3.3 Std R = 5.4 Min R = -29.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -5.95\n",
+ "PolicyLoss: -0.00203\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.8e+07\n",
+ "ValFuncLoss: 4.47e-05\n",
+ "Variance: 0.0582\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013187648 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05821965 0.05180439 0.05324781 0.05586422]\n",
+ "FIT: 0.6473567718459294 2.378385016448711 0.01900741242689734 0.11277183860861692\n",
+ "***** Episode 182586, Mean R = -2.3 Std R = 5.2 Min R = -29.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00132\n",
+ "PolicyEntropy: -5.95\n",
+ "PolicyLoss: -0.00212\n",
+ "Steps: 3.73e+04\n",
+ "TotalSteps: 4.81e+07\n",
+ "ValFuncLoss: 4.08e-05\n",
+ "Variance: 0.0582\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010611686 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05826725 0.05175501 0.05334146 0.05579322]\n",
+ "FIT: 0.8014882816958064 2.277461726060679 0.021048996045852385 0.11625097460027033\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 182707, Mean R = -3.2 Std R = 5.8 Min R = -34.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -5.95\n",
+ "PolicyLoss: -0.00213\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.81e+07\n",
+ "ValFuncLoss: 4.5e-05\n",
+ "Variance: 0.0583\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012697431 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05811279 0.05164975 0.05344727 0.05591666]\n",
+ "FIT: 0.5430012386458886 2.2332068954883186 0.01943629989910263 0.11519934702796222\n",
+ "***** Episode 182828, Mean R = -2.4 Std R = 5.5 Min R = -24.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.977\n",
+ "ExplainedVarOld: 0.967\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -5.95\n",
+ "PolicyLoss: -0.00176\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.81e+07\n",
+ "ValFuncLoss: 5.13e-05\n",
+ "Variance: 0.0581\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001237272 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05791302 0.05162946 0.0535817 0.05603117]\n",
+ "FIT: 0.5208742337734857 2.458037632989676 0.020807413013598463 0.1179820132101416\n",
+ "***** Episode 182949, Mean R = -3.3 Std R = 5.2 Min R = -20.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.963\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -5.95\n",
+ "PolicyLoss: -0.00207\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.82e+07\n",
+ "ValFuncLoss: 4.86e-05\n",
+ "Variance: 0.0579\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014644399 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05779368 0.05154061 0.05347962 0.05590887]\n",
+ "FIT: 0.5872656186303731 2.2947525410470937 0.01999585362943145 0.11688318166163239\n",
+ "***** Episode 183070, Mean R = -2.6 Std R = 5.1 Min R = -23.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00146\n",
+ "PolicyEntropy: -5.95\n",
+ "PolicyLoss: -0.00247\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.82e+07\n",
+ "ValFuncLoss: 2.9e-05\n",
+ "Variance: 0.0578\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012722913 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05765882 0.05156647 0.05314533 0.05561368]\n",
+ "FIT: 0.5317420448502551 2.301359802316447 0.02050466250236224 0.11445206209743547\n",
+ "Update Cnt = 1350 ET = 1048.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.1 -0.3 -0.0 | 1.1 1.0 0.0 | -3.9 -4.9 -0.1 | 3.2 3.8 -0.0\n",
+ "v_f | 0.02 -0.05 -0.94 | 0.08 0.08 0.14 | -0.24 -0.46 -1.36 | 0.39 0.36 -0.24\n",
+ "r_i | 1015.5 -10.1 2350.4 | 580.5 578.5 28.3 | 3.5 -999.7 2300.1 | 1997.9 997.6 2399.9\n",
+ "v_i | -39.71 -0.08 -80.10 | 17.20 17.17 5.83 | -69.97 -29.97 -89.99 | -10.00 29.92 -70.02\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.1\n",
+ "norm_vf | 0.95 | 0.14 | 0.34 | 1.37\n",
+ "gs_f | 26.5 | 47.4 | 3.5 | 1123.5\n",
+ "thrust | 1211 10 9230 | 2827 2868 2044 | -15186 -16454 2000 | 16631 16183 19991\n",
+ "norm_thrust | 9867 | 3114 | 3464 | 20000\n",
+ "fuel | 292 | 16 | 262 | 354\n",
+ "rewards | -2.93 | 5.24 | -33.95 | 3.98\n",
+ "fuel_rewards | -7.52 | 0.40 | -9.14 | -6.74\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.52 | 0.54 | 0.51 | 4.60\n",
+ "norm_af | 0.04 | 0.03 | 0.00 | 0.15\n",
+ "norm_wf | 0.13 | 0.07 | 0.00 | 0.44\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.04 | 0.54 | -16.56 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.12 0.00 | 0.33 0.20 0.20 | -1.10 -0.90 -1.06 | 1.35 1.05 1.06\n",
+ "w | -0.00 -0.01 -0.00 | 0.20 0.20 0.01 | -1.64 -2.59 -0.09 | 2.14 1.40 0.10\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.14 -0.14 | 0.13 0.12\n",
+ "w_f | -0.01 -0.02 -0.00 | 0.11 0.10 0.01 | -0.43 -0.42 -0.09 | 0.32 0.32 0.09\n",
+ "landing_rewards | 9.48 | 2.22 | 0.00 | 10.00\n",
+ "landing_margin | -0.08 | 0.09 | -0.19 | 1.49\n",
+ "tracking_rewards | -4.84 | 4.55 | -31.71 | 1.06\n",
+ "steps | 304 | 24 | 252 | 387\n",
+ "***** Episode 183191, Mean R = -3.2 Std R = 5.1 Min R = -19.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.975\n",
+ "ExplainedVarOld: 0.969\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -5.97\n",
+ "PolicyLoss: -0.00237\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.82e+07\n",
+ "ValFuncLoss: 5.55e-05\n",
+ "Variance: 0.0577\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010560574 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05757576 0.05148336 0.05300434 0.05554394]\n",
+ "FIT: 0.5636766508871857 2.352039432105056 0.019465668051132746 0.11643168848720968\n",
+ "***** Episode 183312, Mean R = -2.3 Std R = 4.8 Min R = -22.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -5.97\n",
+ "PolicyLoss: -0.00249\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.83e+07\n",
+ "ValFuncLoss: 2.34e-05\n",
+ "Variance: 0.0576\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0019705384 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0573384 0.0513231 0.05299539 0.05519764]\n",
+ "FIT: 0.6166969100204233 2.25959070532416 0.02166650215055869 0.11815409470758668\n",
+ "***** Episode 183433, Mean R = -3.4 Std R = 5.6 Min R = -26.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.00197\n",
+ "PolicyEntropy: -5.99\n",
+ "PolicyLoss: -0.00159\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.83e+07\n",
+ "ValFuncLoss: 2.6e-05\n",
+ "Variance: 0.0573\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014289634 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05711948 0.05121231 0.05295633 0.05497798]\n",
+ "FIT: 0.6859251147897595 2.4955898261114577 0.022721739609750387 0.12209895769389015\n",
+ "***** Episode 183554, Mean R = -3.9 Std R = 6.6 Min R = -34.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00143\n",
+ "PolicyEntropy: -6\n",
+ "PolicyLoss: -0.00213\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.84e+07\n",
+ "ValFuncLoss: 1.77e-05\n",
+ "Variance: 0.0571\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012588587 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05713266 0.05112999 0.05282053 0.05499123]\n",
+ "FIT: 0.5822151659572711 2.3208555159570876 0.021009529907568995 0.11961036414106109\n",
+ "***** Episode 183675, Mean R = -3.5 Std R = 6.1 Min R = -28.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.00126\n",
+ "PolicyEntropy: -6\n",
+ "PolicyLoss: -0.00203\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 4.84e+07\n",
+ "ValFuncLoss: 5.02e-05\n",
+ "Variance: 0.0571\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013346875 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05714476 0.05097954 0.05267988 0.05478512]\n",
+ "FIT: 0.5296160079166266 2.2499599003318314 0.020870402028575055 0.11976422101626645\n",
+ "***** Episode 183796, Mean R = -3.3 Std R = 5.5 Min R = -18.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.97\n",
+ "KL: 0.00133\n",
+ "PolicyEntropy: -6.01\n",
+ "PolicyLoss: -0.00227\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 4.84e+07\n",
+ "ValFuncLoss: 4.79e-05\n",
+ "Variance: 0.0571\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013410555 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05707529 0.05075672 0.05272539 0.05464493]\n",
+ "FIT: 0.5583526869123911 2.319738904400019 0.020326859270858547 0.11975772216589668\n",
+ "***** Episode 183917, Mean R = -3.3 Std R = 5.3 Min R = -23.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.976\n",
+ "ExplainedVarOld: 0.968\n",
+ "KL: 0.00134\n",
+ "PolicyEntropy: -6.02\n",
+ "PolicyLoss: -0.00184\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 4.85e+07\n",
+ "ValFuncLoss: 5.37e-05\n",
+ "Variance: 0.0571\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013650295 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05699211 0.05048619 0.05271425 0.05442297]\n",
+ "FIT: 0.49468744681410987 2.255563433974621 0.021915070972292255 0.11927760642071714\n",
+ "***** Episode 184038, Mean R = -3.9 Std R = 5.1 Min R = -20.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.971\n",
+ "KL: 0.00137\n",
+ "PolicyEntropy: -6.03\n",
+ "PolicyLoss: -0.00231\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 4.85e+07\n",
+ "ValFuncLoss: 5.27e-05\n",
+ "Variance: 0.057\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012988282 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05692035 0.05031295 0.05271038 0.05408615]\n",
+ "FIT: 0.5110731614626579 2.2697679274229907 0.01945095576688495 0.11652549734895636\n",
+ "***** Episode 184159, Mean R = -2.4 Std R = 5.0 Min R = -17.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.0013\n",
+ "PolicyEntropy: -6.04\n",
+ "PolicyLoss: -0.00211\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 4.85e+07\n",
+ "ValFuncLoss: 3.49e-05\n",
+ "Variance: 0.0569\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014980208 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05690702 0.05023874 0.05258346 0.05393264]\n",
+ "FIT: 0.5620227605594338 2.23452383523161 0.019615815938930293 0.11623433937712516\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 184280, Mean R = -2.7 Std R = 4.6 Min R = -18.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.971\n",
+ "ExplainedVarOld: 0.966\n",
+ "KL: 0.0015\n",
+ "PolicyEntropy: -6.05\n",
+ "PolicyLoss: -0.00236\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.86e+07\n",
+ "ValFuncLoss: 5.64e-05\n",
+ "Variance: 0.0569\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014657939 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05694806 0.05031076 0.05255242 0.05400171]\n",
+ "FIT: 0.6290376357272023 2.4658898778234555 0.02123311797638029 0.11588535599396696\n",
+ "Update Cnt = 1360 ET = 1044.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.2 -0.0 | 1.1 1.0 0.0 | -4.3 -4.5 -0.1 | 11.1 3.9 0.8\n",
+ "v_f | 0.01 -0.05 -0.94 | 0.09 0.09 0.15 | -0.38 -0.43 -1.39 | 0.49 0.35 -0.27\n",
+ "r_i | 1017.0 -0.3 2349.9 | 570.6 570.3 29.1 | 3.0 -995.9 2300.0 | 1998.5 998.4 2399.8\n",
+ "v_i | -39.85 0.47 -80.04 | 17.50 17.34 5.71 | -69.94 -29.80 -90.00 | -10.02 29.91 -70.01\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 11.6\n",
+ "norm_vf | 0.95 | 0.14 | 0.27 | 1.39\n",
+ "gs_f | 25.8 | 26.2 | 0.2 | 355.0\n",
+ "thrust | 1216 -9 9230 | 2894 2887 2039 | -15934 -16899 2000 | 17110 16249 20000\n",
+ "norm_thrust | 9887 | 3129 | 3464 | 20000\n",
+ "fuel | 292 | 16 | 257 | 477\n",
+ "rewards | -3.20 | 5.53 | -34.01 | 3.85\n",
+ "fuel_rewards | -7.54 | 0.42 | -12.30 | -6.63\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.49 | 0.51 | 0.17 | 4.98\n",
+ "norm_af | 0.04 | 0.03 | 0.00 | 0.34\n",
+ "norm_wf | 0.13 | 0.08 | 0.01 | 0.50\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.08 | 0.56 | -8.64 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.12 0.00 | 0.35 0.21 0.20 | -1.26 -0.96 -1.02 | 1.47 1.06 1.06\n",
+ "w | -0.00 -0.01 0.00 | 0.20 0.20 0.01 | -1.65 -2.57 -0.10 | 2.16 1.55 0.16\n",
+ "a_f | -0.01 -0.00 | 0.04 0.03 | -0.13 -0.33 | 0.17 0.15\n",
+ "w_f | -0.01 -0.02 0.00 | 0.11 0.10 0.02 | -0.49 -0.41 -0.09 | 0.38 0.32 0.16\n",
+ "landing_rewards | 9.52 | 2.14 | 0.00 | 10.00\n",
+ "landing_margin | -0.07 | 0.23 | -0.19 | 6.59\n",
+ "tracking_rewards | -5.10 | 4.77 | -34.73 | 0.97\n",
+ "steps | 304 | 26 | 249 | 601\n",
+ "***** Episode 184401, Mean R = -3.2 Std R = 6.1 Min R = -26.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00147\n",
+ "PolicyEntropy: -6.04\n",
+ "PolicyLoss: -0.00246\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.86e+07\n",
+ "ValFuncLoss: 3.88e-05\n",
+ "Variance: 0.0569\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010625239 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05681492 0.05033351 0.05271993 0.05410756]\n",
+ "FIT: 0.976318770041784 2.42807947055573 0.022579605475772917 0.11936058319250376\n",
+ "***** Episode 184522, Mean R = -4.0 Std R = 7.7 Min R = -50.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.945\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -6.04\n",
+ "PolicyLoss: -0.000641\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.86e+07\n",
+ "ValFuncLoss: 6.39e-05\n",
+ "Variance: 0.0568\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009916928 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05677302 0.05044684 0.05284918 0.05434033]\n",
+ "FIT: 0.7320407432782763 2.4871887107229407 0.021335062608246042 0.11990982649815848\n",
+ "***** Episode 184643, Mean R = -3.5 Std R = 6.1 Min R = -34.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.938\n",
+ "KL: 0.000992\n",
+ "PolicyEntropy: -6.03\n",
+ "PolicyLoss: -0.00166\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.87e+07\n",
+ "ValFuncLoss: 4.39e-05\n",
+ "Variance: 0.0568\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011085881 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05668513 0.05061502 0.05269608 0.0542998 ]\n",
+ "FIT: 0.5159845659749035 2.405150641796963 0.02092654373474805 0.1185829005834965\n",
+ "***** Episode 184764, Mean R = -3.4 Std R = 5.4 Min R = -26.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -6.03\n",
+ "PolicyLoss: -0.00247\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 4.87e+07\n",
+ "ValFuncLoss: 3.54e-05\n",
+ "Variance: 0.0567\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014800538 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05661217 0.05062365 0.05254471 0.05416378]\n",
+ "FIT: 0.6101339513853854 2.4916666817311355 0.020417494865383978 0.11911820606102592\n",
+ "***** Episode 184885, Mean R = -2.9 Std R = 5.4 Min R = -27.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00148\n",
+ "PolicyEntropy: -6.04\n",
+ "PolicyLoss: -0.0028\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.88e+07\n",
+ "ValFuncLoss: 3.05e-05\n",
+ "Variance: 0.0566\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0008992881 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05670452 0.05044193 0.05250566 0.05410879]\n",
+ "FIT: 0.5410873672894568 2.377822571470644 0.020574207435641558 0.11673110153112377\n",
+ "***** Episode 185006, Mean R = -2.7 Std R = 4.7 Min R = -18.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.998\n",
+ "ExplainedVarOld: 0.992\n",
+ "KL: 0.000899\n",
+ "PolicyEntropy: -6.04\n",
+ "PolicyLoss: -0.00256\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.88e+07\n",
+ "ValFuncLoss: 5.89e-06\n",
+ "Variance: 0.0567\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012188097 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05678428 0.05062581 0.0523811 0.05406366]\n",
+ "FIT: 0.7479636999829403 2.4560037900490133 0.01971132029120513 0.1152364288398963\n",
+ "***** Episode 185127, Mean R = -2.4 Std R = 5.1 Min R = -36.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -6.04\n",
+ "PolicyLoss: -0.00209\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.88e+07\n",
+ "ValFuncLoss: 3.26e-05\n",
+ "Variance: 0.0568\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014594089 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0568212 0.05067672 0.05245711 0.0540403 ]\n",
+ "FIT: 0.6533093977327437 2.500351584961719 0.02180115054724037 0.11797904668625873\n",
+ "***** Episode 185248, Mean R = -3.6 Std R = 6.5 Min R = -39.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00146\n",
+ "PolicyEntropy: -6.04\n",
+ "PolicyLoss: -0.00241\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.89e+07\n",
+ "ValFuncLoss: 3.41e-05\n",
+ "Variance: 0.0568\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012537258 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05674794 0.05066319 0.05233189 0.05384697]\n",
+ "FIT: 0.4854393988612822 2.2163934208760874 0.018572253755164827 0.11843252286357844\n",
+ "***** Episode 185369, Mean R = -1.9 Std R = 4.6 Min R = -20.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.00125\n",
+ "PolicyEntropy: -6.05\n",
+ "PolicyLoss: -0.00258\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 4.89e+07\n",
+ "ValFuncLoss: 1.32e-05\n",
+ "Variance: 0.0567\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011441803 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05670412 0.05046809 0.05210203 0.05366285]\n",
+ "FIT: 0.5798994700382433 2.3866451711603576 0.021633911152133253 0.11998441877535292\n",
+ "***** Episode 185490, Mean R = -3.8 Std R = 6.5 Min R = -28.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.968\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -6.06\n",
+ "PolicyLoss: -0.00232\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.89e+07\n",
+ "ValFuncLoss: 5.54e-05\n",
+ "Variance: 0.0567\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013586128 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05668179 0.05055248 0.05194658 0.05366689]\n",
+ "FIT: 0.6654043510349027 2.2008331189795256 0.02011080019402555 0.11445135434439652\n",
+ "Update Cnt = 1370 ET = 1046.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.2 -0.0 | 1.1 1.0 0.0 | -4.1 -4.6 -0.1 | 3.7 4.9 -0.0\n",
+ "v_f | 0.02 -0.05 -0.93 | 0.08 0.08 0.14 | -0.37 -0.40 -1.39 | 0.32 0.29 -0.34\n",
+ "r_i | 999.3 -24.6 2349.4 | 584.7 579.9 29.4 | 0.2 -998.0 2300.0 | 1999.1 997.2 2400.0\n",
+ "v_i | -39.68 -0.02 -79.99 | 17.54 17.03 5.58 | -69.96 -29.95 -89.98 | -10.04 29.97 -70.04\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.9\n",
+ "norm_vf | 0.94 | 0.13 | 0.37 | 1.39\n",
+ "gs_f | 26.3 | 33.9 | 3.1 | 582.4\n",
+ "thrust | 1212 7 9234 | 2900 2857 2040 | -15493 -16514 2000 | 16720 16338 19999\n",
+ "norm_thrust | 9885 | 3124 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 262 | 348\n",
+ "rewards | -3.09 | 5.82 | -50.36 | 3.84\n",
+ "fuel_rewards | -7.53 | 0.39 | -8.99 | -6.75\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.51 | 0.55 | 0.51 | 5.99\n",
+ "norm_af | 0.04 | 0.03 | 0.00 | 0.25\n",
+ "norm_wf | 0.13 | 0.07 | 0.01 | 0.56\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.12 | 1.08 | -24.94 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "attitude | 0.03 0.12 0.00 | 0.34 0.21 0.19 | -1.23 -0.94 -1.04 | 1.58 1.08 1.10\n",
+ "w | -0.00 -0.01 -0.00 | 0.20 0.20 0.01 | -1.72 -2.41 -0.09 | 2.05 1.29 0.11\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.12 -0.22 | 0.16 0.13\n",
+ "w_f | -0.02 -0.03 -0.00 | 0.11 0.10 0.01 | -0.56 -0.38 -0.08 | 0.39 0.32 0.11\n",
+ "landing_rewards | 9.60 | 1.97 | 0.00 | 10.00\n",
+ "landing_margin | -0.07 | 0.13 | -0.19 | 1.95\n",
+ "tracking_rewards | -5.04 | 4.78 | -35.56 | 0.97\n",
+ "steps | 304 | 24 | 251 | 380\n",
+ "***** Episode 185611, Mean R = -2.6 Std R = 5.1 Min R = -27.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00136\n",
+ "PolicyEntropy: -6.06\n",
+ "PolicyLoss: -0.00228\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.9e+07\n",
+ "ValFuncLoss: 2.72e-05\n",
+ "Variance: 0.0567\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013806316 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05673186 0.05061027 0.05189804 0.05361226]\n",
+ "FIT: 0.5679447145591021 2.527458957277656 0.02073905688427775 0.11707323410849556\n",
+ "***** Episode 185732, Mean R = -3.1 Std R = 5.9 Min R = -23.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.929\n",
+ "KL: 0.00138\n",
+ "PolicyEntropy: -6.06\n",
+ "PolicyLoss: -0.00214\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 4.9e+07\n",
+ "ValFuncLoss: 3.81e-05\n",
+ "Variance: 0.0567\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010953961 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05680227 0.05064518 0.05192038 0.05363898]\n",
+ "FIT: 0.9206293323845177 2.417425502856879 0.020386295426791972 0.11675624836608177\n",
+ "***** Episode 185853, Mean R = -2.9 Std R = 5.5 Min R = -29.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.959\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -6.06\n",
+ "PolicyLoss: -0.00257\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 4.91e+07\n",
+ "ValFuncLoss: 2.78e-05\n",
+ "Variance: 0.0568\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00094157393 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0565973 0.05066691 0.05179487 0.05364415]\n",
+ "FIT: 0.6863944757403697 2.350059293708514 0.021943570325151488 0.11896013326281553\n",
+ "***** Episode 185974, Mean R = -3.5 Std R = 5.9 Min R = -27.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.000942\n",
+ "PolicyEntropy: -6.06\n",
+ "PolicyLoss: -0.00285\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.91e+07\n",
+ "ValFuncLoss: 2.42e-05\n",
+ "Variance: 0.0566\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013684529 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05640172 0.05069076 0.05162749 0.0535794 ]\n",
+ "FIT: 0.5849360942629361 2.3918267643998723 0.019226544744795397 0.11659577474200644\n",
+ "***** Episode 186095, Mean R = -2.4 Std R = 5.0 Min R = -30.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.968\n",
+ "KL: 0.00137\n",
+ "PolicyEntropy: -6.07\n",
+ "PolicyLoss: -0.00241\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.91e+07\n",
+ "ValFuncLoss: 3.38e-05\n",
+ "Variance: 0.0564\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001150257 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05625684 0.05037775 0.0515317 0.05342528]\n",
+ "FIT: 0.6016456168789944 2.3509069407101206 0.020092780644843797 0.11779682564538357\n",
+ "***** Episode 186216, Mean R = -2.8 Std R = 5.2 Min R = -25.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00115\n",
+ "PolicyEntropy: -6.09\n",
+ "PolicyLoss: -0.00221\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 4.92e+07\n",
+ "ValFuncLoss: 2.71e-05\n",
+ "Variance: 0.0563\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00086336635 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05630647 0.05014111 0.05147479 0.0533478 ]\n",
+ "FIT: 0.6629782012162566 2.3276672115693735 0.021683558059286383 0.11964616823599576\n",
+ "***** Episode 186337, Mean R = -3.5 Std R = 5.5 Min R = -23.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.000863\n",
+ "PolicyEntropy: -6.09\n",
+ "PolicyLoss: -0.00232\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.92e+07\n",
+ "ValFuncLoss: 2.78e-05\n",
+ "Variance: 0.0563\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011295164 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05623052 0.04992316 0.05143126 0.05322259]\n",
+ "FIT: 0.5926145262150502 2.413919198711523 0.021366745315908025 0.11894712544813275\n",
+ "***** Episode 186458, Mean R = -3.1 Std R = 4.8 Min R = -21.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.993\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -6.1\n",
+ "PolicyLoss: -0.00259\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 4.92e+07\n",
+ "ValFuncLoss: 1.21e-05\n",
+ "Variance: 0.0562\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012554465 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05598373 0.04980306 0.05125553 0.05333158]\n",
+ "FIT: 0.6898991891549411 2.2789662228061984 0.021390415582371175 0.11656199482495602\n",
+ "***** Episode 186579, Mean R = -3.0 Std R = 5.8 Min R = -25.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.997\n",
+ "ExplainedVarOld: 0.992\n",
+ "KL: 0.00126\n",
+ "PolicyEntropy: -6.11\n",
+ "PolicyLoss: -0.0026\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.93e+07\n",
+ "ValFuncLoss: 1.04e-05\n",
+ "Variance: 0.056\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010906495 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05593549 0.04972148 0.05145288 0.05343634]\n",
+ "FIT: 0.5084212538021322 2.2383307854690786 0.019970976708262284 0.1139187422130976\n",
+ "***** Episode 186700, Mean R = -2.4 Std R = 4.8 Min R = -18.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -6.11\n",
+ "PolicyLoss: -0.00231\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 4.93e+07\n",
+ "ValFuncLoss: 2.15e-05\n",
+ "Variance: 0.0559\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001158987 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05582586 0.0496434 0.05159386 0.05351713]\n",
+ "FIT: 0.5614536669394689 2.2815046660340585 0.020948078130815718 0.12003464863663438\n",
+ "Update Cnt = 1380 ET = 1044.0 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.0 -0.2 -0.0 | 1.1 1.0 0.0 | -4.2 -4.2 -0.1 | 3.5 4.2 -0.0\n",
+ "v_f | 0.02 -0.05 -0.94 | 0.08 0.09 0.15 | -0.26 -0.36 -1.38 | 0.40 0.46 -0.33\n",
+ "r_i | 998.5 -16.4 2347.9 | 589.6 563.5 28.5 | 3.8 -999.0 2300.2 | 1998.3 998.7 2400.0\n",
+ "v_i | -39.36 -0.04 -80.12 | 17.51 17.02 5.84 | -69.95 -29.98 -89.98 | -10.04 29.69 -70.04\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 4.7\n",
+ "norm_vf | 0.95 | 0.14 | 0.36 | 1.38\n",
+ "gs_f | 27.1 | 35.4 | 3.7 | 597.4\n",
+ "thrust | 1201 8 9221 | 2877 2922 2031 | -15805 -16561 2000 | 16749 16618 20000\n",
+ "norm_thrust | 9878 | 3137 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 261 | 357\n",
+ "rewards | -3.01 | 5.46 | -30.79 | 3.99\n",
+ "fuel_rewards | -7.52 | 0.39 | -9.22 | -6.74\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.52 | 0.53 | 0.62 | 4.38\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.16\n",
+ "norm_wf | 0.13 | 0.07 | 0.00 | 0.45\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.64 | -12.44 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.04 0.12 0.00 | 0.34 0.21 0.20 | -1.16 -0.95 -1.22 | 1.44 1.09 1.00\n",
+ "w | -0.00 -0.01 0.00 | 0.20 0.20 0.01 | -1.70 -2.41 -0.07 | 1.97 1.32 0.11\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.12 -0.15 | 0.09 0.12\n",
+ "w_f | -0.02 -0.03 0.00 | 0.11 0.10 0.01 | -0.36 -0.44 -0.07 | 0.31 0.33 0.11\n",
+ "landing_rewards | 9.66 | 1.81 | 0.00 | 10.00\n",
+ "landing_margin | -0.08 | 0.08 | -0.19 | 1.27\n",
+ "tracking_rewards | -5.08 | 4.73 | -25.71 | 1.19\n",
+ "steps | 304 | 24 | 249 | 385\n",
+ "***** Episode 186821, Mean R = -3.4 Std R = 6.0 Min R = -25.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.978\n",
+ "ExplainedVarOld: 0.97\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -6.1\n",
+ "PolicyLoss: -0.00114\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.93e+07\n",
+ "ValFuncLoss: 5.45e-05\n",
+ "Variance: 0.0558\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0015890003 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05564117 0.04957217 0.05151154 0.05364735]\n",
+ "FIT: 0.6082222100942484 2.2465749943242104 0.020309816509499787 0.11827487963081758\n",
+ "***** Episode 186942, Mean R = -2.9 Std R = 5.0 Min R = -25.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.882\n",
+ "KL: 0.00159\n",
+ "PolicyEntropy: -6.11\n",
+ "PolicyLoss: -0.00186\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 4.94e+07\n",
+ "ValFuncLoss: 3.41e-05\n",
+ "Variance: 0.0556\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0008087237 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05564698 0.0497426 0.05151673 0.0536062 ]\n",
+ "FIT: 0.5722722263030362 2.213604154456156 0.01949805695249997 0.11438268576881508\n",
+ "***** Episode 187063, Mean R = -2.4 Std R = 4.9 Min R = -20.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.000809\n",
+ "PolicyEntropy: -6.11\n",
+ "PolicyLoss: -0.0018\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.94e+07\n",
+ "ValFuncLoss: 4.08e-05\n",
+ "Variance: 0.0556\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014137183 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05558482 0.04966946 0.05163515 0.05354898]\n",
+ "FIT: 0.6063612674308974 2.4276136018586882 0.020693890168698843 0.11585326576149398\n",
+ "***** Episode 187184, Mean R = -2.9 Std R = 5.8 Min R = -36.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00141\n",
+ "PolicyEntropy: -6.11\n",
+ "PolicyLoss: -0.00237\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 4.95e+07\n",
+ "ValFuncLoss: 3.51e-05\n",
+ "Variance: 0.0556\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011994735 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05535525 0.04962371 0.05153039 0.05345683]\n",
+ "FIT: 0.5359332894707564 2.4958583778751304 0.020910170911238164 0.11757659944496826\n",
+ "***** Episode 187305, Mean R = -2.9 Std R = 4.7 Min R = -21.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: -6.12\n",
+ "PolicyLoss: -0.00277\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 4.95e+07\n",
+ "ValFuncLoss: 1.67e-05\n",
+ "Variance: 0.0554\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001092194 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0551948 0.0496054 0.0514877 0.05341037]\n",
+ "FIT: 0.7382017092518093 2.416079135420381 0.02201568534253427 0.11964112829906659\n",
+ "***** Episode 187426, Mean R = -3.6 Std R = 7.0 Min R = -37.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -6.12\n",
+ "PolicyLoss: -0.00169\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.95e+07\n",
+ "ValFuncLoss: 4.66e-05\n",
+ "Variance: 0.0552\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001228102 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05501798 0.04956924 0.05144659 0.05315134]\n",
+ "FIT: 0.5203315396226158 2.2761266052935807 0.02204032149384949 0.12074487453696224\n",
+ "***** Episode 187547, Mean R = -4.0 Std R = 6.3 Min R = -24.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.97\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -6.13\n",
+ "PolicyLoss: -0.00239\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.96e+07\n",
+ "ValFuncLoss: 5.31e-05\n",
+ "Variance: 0.055\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010791454 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05502433 0.04949804 0.05125719 0.0530051 ]\n",
+ "FIT: 0.5707783481957751 2.4261888527438256 0.02008668087100749 0.11625418565770897\n",
+ "***** Episode 187668, Mean R = -2.6 Std R = 5.1 Min R = -20.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -6.14\n",
+ "PolicyLoss: -0.0024\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.96e+07\n",
+ "ValFuncLoss: 2.8e-05\n",
+ "Variance: 0.055\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012012294 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05491073 0.04946193 0.05121072 0.05294738]\n",
+ "FIT: 0.6034762708052508 2.5098141261782057 0.020846677009009846 0.11711509009228896\n",
+ "***** Episode 187789, Mean R = -3.0 Std R = 5.7 Min R = -25.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: -6.14\n",
+ "PolicyLoss: -0.00241\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 4.96e+07\n",
+ "ValFuncLoss: 3.34e-05\n",
+ "Variance: 0.0549\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011437223 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05470112 0.04940347 0.05119525 0.0528082 ]\n",
+ "FIT: 0.634697625909011 2.304282974550663 0.021779524103586072 0.11919529073702959\n",
+ "***** Episode 187910, Mean R = -3.6 Std R = 6.1 Min R = -28.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -6.15\n",
+ "PolicyLoss: -0.00215\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.97e+07\n",
+ "ValFuncLoss: 4.68e-05\n",
+ "Variance: 0.0547\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001609066 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05450971 0.04932455 0.05120369 0.05276455]\n",
+ "FIT: 0.5295859806466374 2.352864500612796 0.02142231881775432 0.1188160330677136\n",
+ "Update Cnt = 1390 ET = 1044.0 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.2 -0.0 | 1.1 1.0 0.0 | -4.0 -3.8 -0.1 | 4.1 4.5 -0.0\n",
+ "v_f | -0.00 -0.07 -0.92 | 0.09 0.08 0.15 | -0.29 -0.48 -1.38 | 0.39 0.32 -0.38\n",
+ "r_i | 968.0 2.4 2350.2 | 595.2 572.9 29.3 | 0.4 -999.5 2300.1 | 1998.1 999.6 2399.8\n",
+ "v_i | -39.64 0.19 -79.96 | 17.23 16.92 5.83 | -69.94 -29.91 -89.99 | -10.03 29.98 -70.07\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.1\n",
+ "norm_vf | 0.94 | 0.14 | 0.39 | 1.38\n",
+ "gs_f | 26.0 | 64.4 | 3.4 | 1631.4\n",
+ "thrust | 1213 -2 9218 | 2949 2838 2028 | -16410 -16381 2000 | 16491 16308 19999\n",
+ "norm_thrust | 9877 | 3123 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 261 | 344\n",
+ "rewards | -3.12 | 5.65 | -37.49 | 4.31\n",
+ "fuel_rewards | -7.51 | 0.38 | -8.88 | -6.72\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.52 | 0.51 | 0.67 | 4.96\n",
+ "norm_af | 0.04 | 0.03 | 0.00 | 0.19\n",
+ "norm_wf | 0.13 | 0.08 | 0.00 | 0.52\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.57 | -10.53 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.04 0.11 0.00 | 0.34 0.21 0.20 | -1.25 -0.90 -1.04 | 1.48 1.07 1.07\n",
+ "w | -0.00 -0.01 0.00 | 0.20 0.20 0.01 | -1.67 -2.52 -0.25 | 2.19 1.38 0.11\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.15 -0.17 | 0.16 0.15\n",
+ "w_f | -0.02 -0.02 0.00 | 0.11 0.10 0.02 | -0.52 -0.44 -0.21 | 0.40 0.36 0.10\n",
+ "landing_rewards | 9.59 | 1.99 | 0.00 | 10.00\n",
+ "landing_margin | -0.08 | 0.09 | -0.19 | 1.62\n",
+ "tracking_rewards | -5.13 | 4.90 | -39.45 | 1.27\n",
+ "steps | 304 | 24 | 248 | 385\n",
+ "***** Episode 188031, Mean R = -3.4 Std R = 5.3 Min R = -25.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00161\n",
+ "PolicyEntropy: -6.16\n",
+ "PolicyLoss: -0.00215\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.97e+07\n",
+ "ValFuncLoss: 3.46e-05\n",
+ "Variance: 0.0545\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012539009 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05443047 0.04938864 0.05126768 0.05282535]\n",
+ "FIT: 0.6176835082306862 2.4982740491814757 0.021400268824215293 0.12079322187010376\n",
+ "***** Episode 188152, Mean R = -3.6 Std R = 5.9 Min R = -26.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00125\n",
+ "PolicyEntropy: -6.15\n",
+ "PolicyLoss: -0.00199\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 4.98e+07\n",
+ "ValFuncLoss: 5.1e-05\n",
+ "Variance: 0.0544\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014630321 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05446222 0.04955499 0.05129958 0.05276703]\n",
+ "FIT: 0.5674810703685512 2.3189378169968253 0.021216115098759522 0.11753333926393138\n",
+ "***** Episode 188273, Mean R = -3.4 Std R = 5.2 Min R = -19.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.974\n",
+ "KL: 0.00146\n",
+ "PolicyEntropy: -6.15\n",
+ "PolicyLoss: -0.00253\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.98e+07\n",
+ "ValFuncLoss: 3.69e-05\n",
+ "Variance: 0.0545\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011523755 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05423264 0.04972347 0.05133605 0.05287892]\n",
+ "FIT: 0.6967453205124471 2.526462334374904 0.02117437472427337 0.11709328727451875\n",
+ "***** Episode 188394, Mean R = -3.6 Std R = 5.9 Min R = -29.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.967\n",
+ "KL: 0.00115\n",
+ "PolicyEntropy: -6.15\n",
+ "PolicyLoss: -0.00218\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 4.98e+07\n",
+ "ValFuncLoss: 5.29e-05\n",
+ "Variance: 0.0542\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.000970544 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05417127 0.04971283 0.05124871 0.05285997]\n",
+ "FIT: 0.6363623317417281 2.4747749344886754 0.02182315374300719 0.1185096054632688\n",
+ "***** Episode 188515, Mean R = -3.8 Std R = 6.7 Min R = -30.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.000971\n",
+ "PolicyEntropy: -6.15\n",
+ "PolicyLoss: -0.00246\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.99e+07\n",
+ "ValFuncLoss: 4.71e-05\n",
+ "Variance: 0.0542\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.001301031 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05419177 0.04961578 0.05118978 0.05281544]\n",
+ "FIT: 0.6175364576523819 2.451196582526483 0.020705691863022815 0.11704307924199811\n",
+ "***** Episode 188636, Mean R = -3.3 Std R = 6.0 Min R = -33.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.962\n",
+ "KL: 0.0013\n",
+ "PolicyEntropy: -6.16\n",
+ "PolicyLoss: -0.00245\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 4.99e+07\n",
+ "ValFuncLoss: 4.57e-05\n",
+ "Variance: 0.0542\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010079346 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05419244 0.04971475 0.05116213 0.05280706]\n",
+ "FIT: 0.5282370499964987 2.2661949016143095 0.02134351524569027 0.12109320050249578\n",
+ "***** Episode 188757, Mean R = -3.3 Std R = 5.6 Min R = -30.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -6.15\n",
+ "PolicyLoss: -0.00341\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 4.99e+07\n",
+ "ValFuncLoss: 1.86e-05\n",
+ "Variance: 0.0542\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013150334 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05417959 0.04993443 0.05107813 0.05274354]\n",
+ "FIT: 0.6650873941216517 2.4163140687362885 0.020854870535620653 0.11815794442299452\n",
+ "***** Episode 188878, Mean R = -3.1 Std R = 5.3 Min R = -29.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.00132\n",
+ "PolicyEntropy: -6.15\n",
+ "PolicyLoss: -0.00264\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5e+07\n",
+ "ValFuncLoss: 4.12e-05\n",
+ "Variance: 0.0542\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009554718 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05433706 0.04988142 0.05112184 0.05282765]\n",
+ "FIT: 0.6161933448334552 2.3320488004718283 0.02028895660825629 0.11729579692429301\n",
+ "***** Episode 188999, Mean R = -2.9 Std R = 5.1 Min R = -25.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.000955\n",
+ "PolicyEntropy: -6.15\n",
+ "PolicyLoss: -0.00233\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5e+07\n",
+ "ValFuncLoss: 3.26e-05\n",
+ "Variance: 0.0543\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012645884 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05446732 0.04971893 0.05105987 0.05275076]\n",
+ "FIT: 0.498735830047 2.4771406701218925 0.020010962928939276 0.11761787866882042\n",
+ "***** Episode 189120, Mean R = -2.9 Std R = 4.5 Min R = -18.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00126\n",
+ "PolicyEntropy: -6.15\n",
+ "PolicyLoss: -0.00206\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 5e+07\n",
+ "ValFuncLoss: 3.3e-05\n",
+ "Variance: 0.0545\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010520059 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05457538 0.0496851 0.05099721 0.05301809]\n",
+ "FIT: 0.5927098781985227 2.353602976731936 0.019007513081741124 0.11523785678904762\n",
+ "Update Cnt = 1400 ET = 1026.0 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.1 1.0 0.0 | -5.0 -4.8 -0.1 | 3.6 4.2 -0.0\n",
+ "v_f | -0.01 -0.07 -0.93 | 0.09 0.08 0.15 | -0.42 -0.52 -1.39 | 0.47 0.29 -0.18\n",
+ "r_i | 1002.4 32.3 2349.9 | 580.8 571.3 29.1 | 0.9 -999.1 2300.2 | 1999.9 999.1 2399.9\n",
+ "v_i | -39.41 -0.40 -79.79 | 17.56 17.44 5.79 | -69.98 -29.92 -89.97 | -10.01 29.95 -70.01\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 6.5\n",
+ "norm_vf | 0.94 | 0.14 | 0.24 | 1.39\n",
+ "gs_f | 24.4 | 63.2 | 2.9 | 2014.1\n",
+ "thrust | 1203 15 9231 | 2885 2902 2020 | -15742 -16293 2000 | 16380 16165 20000\n",
+ "norm_thrust | 9887 | 3119 | 3464 | 20000\n",
+ "fuel | 293 | 16 | 260 | 376\n",
+ "rewards | -3.20 | 5.60 | -33.52 | 3.97\n",
+ "fuel_rewards | -7.54 | 0.40 | -9.67 | -6.71\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.52 | 0.53 | 0.41 | 4.74\n",
+ "norm_af | 0.04 | 0.03 | 0.00 | 0.24\n",
+ "norm_wf | 0.13 | 0.07 | 0.01 | 0.48\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.08 | 0.56 | -7.96 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 0.00 | 0.34 0.21 0.20 | -1.29 -1.11 -1.07 | 1.56 1.08 1.12\n",
+ "w | -0.00 -0.01 -0.00 | 0.20 0.20 0.01 | -1.65 -2.54 -0.15 | 2.10 1.52 0.11\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.14 -0.16 | 0.19 0.16\n",
+ "w_f | -0.02 -0.03 -0.00 | 0.11 0.09 0.02 | -0.45 -0.40 -0.14 | 0.38 0.39 0.10\n",
+ "landing_rewards | 9.48 | 2.22 | 0.00 | 10.00\n",
+ "landing_margin | -0.07 | 0.12 | -0.19 | 2.09\n",
+ "tracking_rewards | -5.06 | 4.71 | -31.59 | 0.86\n",
+ "steps | 304 | 24 | 251 | 388\n",
+ "***** Episode 189241, Mean R = -2.1 Std R = 5.2 Min R = -21.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -6.15\n",
+ "PolicyLoss: -0.00249\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 5.01e+07\n",
+ "ValFuncLoss: 3.04e-05\n",
+ "Variance: 0.0546\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010723377 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0545276 0.04951895 0.05105059 0.05310295]\n",
+ "FIT: 0.7756076113741766 2.301994871716278 0.020981073028153486 0.11448641587801064\n",
+ "***** Episode 189362, Mean R = -3.0 Std R = 5.9 Min R = -29.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -6.15\n",
+ "PolicyLoss: -0.00235\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.01e+07\n",
+ "ValFuncLoss: 2.9e-05\n",
+ "Variance: 0.0545\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010424245 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05445812 0.04958981 0.0510482 0.05317967]\n",
+ "FIT: 0.5734296145711502 2.427109307799965 0.02041670103815828 0.11667444574878555\n",
+ "***** Episode 189483, Mean R = -3.1 Std R = 5.8 Min R = -31.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.976\n",
+ "ExplainedVarOld: 0.972\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -6.15\n",
+ "PolicyLoss: -0.00188\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.02e+07\n",
+ "ValFuncLoss: 5.5e-05\n",
+ "Variance: 0.0545\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012825427 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05443611 0.04958909 0.05097523 0.05314764]\n",
+ "FIT: 0.595638620810121 2.5324034753113533 0.02045227900114265 0.11674170970034907\n",
+ "***** Episode 189604, Mean R = -2.9 Std R = 5.5 Min R = -30.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00128\n",
+ "PolicyEntropy: -6.15\n",
+ "PolicyLoss: -0.00252\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.02e+07\n",
+ "ValFuncLoss: 3.15e-05\n",
+ "Variance: 0.0544\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011468817 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05431804 0.04932563 0.05084691 0.05292915]\n",
+ "FIT: 0.49597515204163295 2.333266668042977 0.019711356476984448 0.11975603671852506\n",
+ "***** Episode 189725, Mean R = -2.7 Std R = 4.5 Min R = -16.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00115\n",
+ "PolicyEntropy: -6.16\n",
+ "PolicyLoss: -0.00249\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 5.02e+07\n",
+ "ValFuncLoss: 2.43e-05\n",
+ "Variance: 0.0543\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009285898 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05425937 0.04924115 0.05076662 0.05292764]\n",
+ "FIT: 0.6816315856530812 2.350205676379947 0.02080276782297426 0.11489224253502738\n",
+ "***** Episode 189846, Mean R = -3.0 Std R = 5.8 Min R = -26.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.000929\n",
+ "PolicyEntropy: -6.17\n",
+ "PolicyLoss: -0.00207\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.03e+07\n",
+ "ValFuncLoss: 2.1e-05\n",
+ "Variance: 0.0543\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0015174876 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05436023 0.04910897 0.05078898 0.05309305]\n",
+ "FIT: 0.6042068118074007 2.5482602844437663 0.02058012048425333 0.11980154991739823\n",
+ "***** Episode 189967, Mean R = -3.2 Std R = 5.2 Min R = -21.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00152\n",
+ "PolicyEntropy: -6.17\n",
+ "PolicyLoss: -0.00276\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.03e+07\n",
+ "ValFuncLoss: 4.51e-05\n",
+ "Variance: 0.0544\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013376047 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05436618 0.04905035 0.0507682 0.05289222]\n",
+ "FIT: 0.4751724745877007 2.375318178142719 0.020609979596906077 0.11893698330332425\n",
+ "***** Episode 190088, Mean R = -3.1 Std R = 5.3 Min R = -22.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.972\n",
+ "KL: 0.00134\n",
+ "PolicyEntropy: -6.17\n",
+ "PolicyLoss: -0.00245\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.03e+07\n",
+ "ValFuncLoss: 4.15e-05\n",
+ "Variance: 0.0544\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0012344874 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05414497 0.04925932 0.05058295 0.05296522]\n",
+ "FIT: 0.7444000386299541 2.485820408169453 0.02066449812731879 0.11602607436630438\n",
+ "***** Episode 190209, Mean R = -2.8 Std R = 6.2 Min R = -41.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -6.17\n",
+ "PolicyLoss: -0.00271\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.04e+07\n",
+ "ValFuncLoss: 3.07e-05\n",
+ "Variance: 0.0541\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011316468 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05397967 0.04931394 0.05048544 0.05313955]\n",
+ "FIT: 0.667479390406761 2.4030430258555078 0.020783871898820878 0.11666322757064874\n",
+ "***** Episode 190330, Mean R = -3.2 Std R = 6.4 Min R = -32.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -6.17\n",
+ "PolicyLoss: -0.00166\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.04e+07\n",
+ "ValFuncLoss: 4.61e-05\n",
+ "Variance: 0.054\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010290634 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0538483 0.04927401 0.05032147 0.05318467]\n",
+ "FIT: 0.7726484223438012 2.406318810317939 0.02065188260660882 0.11576135465487286\n",
+ "Update Cnt = 1410 ET = 1022.9 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.1 1.0 0.0 | -5.5 -3.8 -0.1 | 3.8 3.5 -0.0\n",
+ "v_f | 0.00 -0.06 -0.93 | 0.08 0.09 0.15 | -0.31 -0.43 -1.34 | 0.29 0.43 -0.39\n",
+ "r_i | 1024.8 2.0 2350.4 | 581.8 582.1 28.5 | 0.9 -1000.0 2300.0 | 1991.5 999.4 2400.0\n",
+ "v_i | -40.30 0.48 -79.98 | 17.55 17.73 5.58 | -69.99 -29.92 -89.97 | -10.02 30.00 -70.01\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.5\n",
+ "norm_vf | 0.94 | 0.14 | 0.46 | 1.35\n",
+ "gs_f | 26.5 | 37.2 | 2.5 | 643.0\n",
+ "thrust | 1232 -10 9238 | 2877 2873 2023 | -15192 -16769 2000 | 16950 16406 20000\n",
+ "norm_thrust | 9889 | 3115 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 262 | 349\n",
+ "rewards | -2.99 | 5.68 | -41.31 | 4.09\n",
+ "fuel_rewards | -7.53 | 0.39 | -8.98 | -6.76\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.48 | 0.50 | 0.48 | 4.39\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.19\n",
+ "norm_wf | 0.13 | 0.07 | 0.00 | 0.53\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.08 | 0.72 | -15.63 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 0.00 | 0.33 0.21 0.20 | -1.12 -0.97 -1.04 | 1.41 1.13 1.10\n",
+ "w | -0.00 -0.01 -0.00 | 0.20 0.20 0.01 | -1.70 -2.42 -0.09 | 1.99 1.36 0.11\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.13 -0.16 | 0.15 0.15\n",
+ "w_f | -0.02 -0.02 -0.00 | 0.11 0.10 0.01 | -0.42 -0.38 -0.09 | 0.39 0.42 0.11\n",
+ "landing_rewards | 9.55 | 2.06 | 0.00 | 10.00\n",
+ "landing_margin | -0.08 | 0.11 | -0.19 | 2.49\n",
+ "tracking_rewards | -4.94 | 4.86 | -34.34 | 1.15\n",
+ "steps | 304 | 24 | 249 | 384\n",
+ "***** Episode 190451, Mean R = -2.9 Std R = 6.1 Min R = -36.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -6.18\n",
+ "PolicyLoss: -0.00195\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.05e+07\n",
+ "ValFuncLoss: 3.54e-05\n",
+ "Variance: 0.0538\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013767999 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05351385 0.04937414 0.05025766 0.05296506]\n",
+ "FIT: 0.5276593569612181 2.414775954324683 0.019698949010458006 0.1158160412507455\n",
+ "***** Episode 190572, Mean R = -2.5 Std R = 5.3 Min R = -21.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.00138\n",
+ "PolicyEntropy: -6.19\n",
+ "PolicyLoss: -0.00219\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 5.05e+07\n",
+ "ValFuncLoss: 3.93e-05\n",
+ "Variance: 0.0535\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0015112689 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05331979 0.0495189 0.05038645 0.05292077]\n",
+ "FIT: 0.608073871967707 2.431591667543893 0.02068924585071123 0.11944281628202927\n",
+ "***** Episode 190693, Mean R = -2.9 Std R = 5.1 Min R = -22.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.00151\n",
+ "PolicyEntropy: -6.19\n",
+ "PolicyLoss: -0.00327\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 5.05e+07\n",
+ "ValFuncLoss: 1.78e-05\n",
+ "Variance: 0.0533\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001248658 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05327215 0.04965743 0.05059243 0.0530593 ]\n",
+ "FIT: 0.5153727640618702 2.2577241171155205 0.01964159482490929 0.11551456703474945\n",
+ "***** Episode 190814, Mean R = -2.6 Std R = 4.8 Min R = -20.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.941\n",
+ "KL: 0.00125\n",
+ "PolicyEntropy: -6.18\n",
+ "PolicyLoss: -0.00254\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.06e+07\n",
+ "ValFuncLoss: 3.94e-05\n",
+ "Variance: 0.0533\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010716774 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0533205 0.04974027 0.05069917 0.05320431]\n",
+ "FIT: 0.6195118721620447 2.294134489543624 0.02144121197151798 0.11956396854290424\n",
+ "***** Episode 190935, Mean R = -3.8 Std R = 6.1 Min R = -29.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.971\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -6.17\n",
+ "PolicyLoss: -0.00212\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.06e+07\n",
+ "ValFuncLoss: 5e-05\n",
+ "Variance: 0.0533\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0017125816 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0532276 0.04989573 0.05059707 0.05309915]\n",
+ "FIT: 0.5714352422936496 2.363673788129168 0.02008505530115771 0.11589649094827557\n",
+ "***** Episode 191056, Mean R = -2.6 Std R = 5.2 Min R = -25.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00171\n",
+ "PolicyEntropy: -6.17\n",
+ "PolicyLoss: -0.00208\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.06e+07\n",
+ "ValFuncLoss: 4.25e-05\n",
+ "Variance: 0.0532\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014938741 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05308 0.04990935 0.05067161 0.05285016]\n",
+ "FIT: 0.5151203171631781 2.3350313861214116 0.01986022221635776 0.11454285150099076\n",
+ "***** Episode 191177, Mean R = -2.4 Std R = 4.8 Min R = -18.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00149\n",
+ "PolicyEntropy: -6.18\n",
+ "PolicyLoss: -0.00271\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.07e+07\n",
+ "ValFuncLoss: 2.26e-05\n",
+ "Variance: 0.0531\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001192404 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05303865 0.04997306 0.05076914 0.05268168]\n",
+ "FIT: 0.5175050537071574 2.272793969382239 0.019634063846273413 0.116203364591077\n",
+ "***** Episode 191298, Mean R = -2.4 Std R = 5.0 Min R = -27.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -6.18\n",
+ "PolicyLoss: -0.00228\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.07e+07\n",
+ "ValFuncLoss: 3.69e-05\n",
+ "Variance: 0.053\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009249266 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05305471 0.05013704 0.0508288 0.05265865]\n",
+ "FIT: 0.5656251127196348 2.237628418092584 0.020721887874338377 0.1183860910109089\n",
+ "***** Episode 191419, Mean R = -2.9 Std R = 5.1 Min R = -20.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.000925\n",
+ "PolicyEntropy: -6.18\n",
+ "PolicyLoss: -0.00158\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.07e+07\n",
+ "ValFuncLoss: 3.43e-05\n",
+ "Variance: 0.0531\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010431616 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05298667 0.05023179 0.0507469 0.05268014]\n",
+ "FIT: 0.4949931465822564 2.432296713073452 0.020230198997489512 0.11608999170126048\n",
+ "***** Episode 191540, Mean R = -2.5 Std R = 5.2 Min R = -18.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -6.18\n",
+ "PolicyLoss: -0.00255\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.08e+07\n",
+ "ValFuncLoss: 2.8e-05\n",
+ "Variance: 0.053\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014664796 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05282834 0.05029665 0.05059502 0.05258692]\n",
+ "FIT: 0.7538578333290024 2.4391608105053675 0.021005356236809155 0.11825259826835183\n",
+ "Update Cnt = 1420 ET = 1024.9 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.2 -0.0 | 1.0 1.0 0.0 | -4.0 -4.4 -0.1 | 3.4 5.1 -0.0\n",
+ "v_f | 0.00 -0.06 -0.92 | 0.08 0.08 0.15 | -0.25 -0.49 -1.39 | 0.30 0.35 -0.31\n",
+ "r_i | 1003.3 -28.6 2349.7 | 566.3 589.4 29.1 | 1.1 -998.6 2300.0 | 1999.9 995.1 2399.9\n",
+ "v_i | -39.42 -0.14 -79.95 | 16.95 17.21 5.85 | -69.94 -30.00 -89.98 | -10.01 29.97 -70.00\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.2\n",
+ "norm_vf | 0.93 | 0.14 | 0.35 | 1.39\n",
+ "gs_f | 24.2 | 28.3 | 3.2 | 459.2\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "thrust | 1201 12 9219 | 2861 2879 2031 | -15991 -16620 2000 | 16747 16554 20000\n",
+ "norm_thrust | 9862 | 3125 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 261 | 344\n",
+ "rewards | -2.77 | 5.26 | -29.53 | 3.80\n",
+ "fuel_rewards | -7.52 | 0.39 | -8.88 | -6.72\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.51 | 0.50 | 0.60 | 4.31\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.21\n",
+ "norm_wf | 0.13 | 0.07 | 0.01 | 0.47\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.06 | 0.44 | -8.33 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.11 0.00 | 0.33 0.20 0.20 | -1.13 -0.93 -1.07 | 1.41 1.05 1.05\n",
+ "w | -0.00 -0.01 0.00 | 0.20 0.20 0.01 | -1.68 -2.45 -0.06 | 2.08 1.40 0.14\n",
+ "a_f | -0.01 -0.00 | 0.04 0.03 | -0.18 -0.12 | 0.18 0.10\n",
+ "w_f | -0.02 -0.03 -0.00 | 0.11 0.10 0.01 | -0.45 -0.37 -0.06 | 0.29 0.32 0.13\n",
+ "landing_rewards | 9.64 | 1.85 | 0.00 | 10.00\n",
+ "landing_margin | -0.08 | 0.13 | -0.19 | 1.83\n",
+ "tracking_rewards | -4.83 | 4.52 | -23.21 | 0.96\n",
+ "steps | 304 | 24 | 253 | 389\n",
+ "***** Episode 191661, Mean R = -3.0 Std R = 5.5 Min R = -28.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00147\n",
+ "PolicyEntropy: -6.18\n",
+ "PolicyLoss: -0.00245\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 5.08e+07\n",
+ "ValFuncLoss: 1.74e-05\n",
+ "Variance: 0.0528\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011525792 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05273831 0.05031814 0.05056608 0.05241728]\n",
+ "FIT: 0.645241771114689 2.392833856250938 0.020524618812668278 0.1173894114240787\n",
+ "***** Episode 191782, Mean R = -2.7 Std R = 5.1 Min R = -30.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.00115\n",
+ "PolicyEntropy: -6.19\n",
+ "PolicyLoss: -0.00263\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.09e+07\n",
+ "ValFuncLoss: 1.16e-05\n",
+ "Variance: 0.0527\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013124328 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05275813 0.05040354 0.05041493 0.05233591]\n",
+ "FIT: 0.6516462354235993 2.49934629008454 0.021041723717961366 0.1149961529366965\n",
+ "***** Episode 191903, Mean R = -3.1 Std R = 5.8 Min R = -29.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00131\n",
+ "PolicyEntropy: -6.19\n",
+ "PolicyLoss: -0.00212\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 5.09e+07\n",
+ "ValFuncLoss: 3.29e-05\n",
+ "Variance: 0.0528\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0016649195 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05265559 0.05018292 0.05030645 0.05230279]\n",
+ "FIT: 0.6346573324294098 2.362458970986614 0.019846435643617436 0.1171211594179027\n",
+ "***** Episode 192024, Mean R = -2.4 Std R = 5.0 Min R = -23.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.00166\n",
+ "PolicyEntropy: -6.2\n",
+ "PolicyLoss: -0.00226\n",
+ "Steps: 3.73e+04\n",
+ "TotalSteps: 5.09e+07\n",
+ "ValFuncLoss: 1.42e-05\n",
+ "Variance: 0.0527\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014553657 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05258857 0.05006411 0.0500899 0.05234764]\n",
+ "FIT: 0.7158499637616748 2.503031558125074 0.023028816382276426 0.1196675364981566\n",
+ "***** Episode 192145, Mean R = -4.3 Std R = 6.1 Min R = -28.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.969\n",
+ "KL: 0.00146\n",
+ "PolicyEntropy: -6.21\n",
+ "PolicyLoss: -0.00219\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 5.1e+07\n",
+ "ValFuncLoss: 3.24e-05\n",
+ "Variance: 0.0526\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012721025 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0527565 0.05020286 0.0499328 0.05218164]\n",
+ "FIT: 0.7816682981257169 2.543439168093948 0.02042453774812003 0.11422890509051457\n",
+ "***** Episode 192266, Mean R = -2.7 Std R = 6.1 Min R = -35.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -6.21\n",
+ "PolicyLoss: -0.00272\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.1e+07\n",
+ "ValFuncLoss: 3.18e-05\n",
+ "Variance: 0.0528\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014427534 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05272708 0.0503454 0.04974847 0.05193363]\n",
+ "FIT: 0.47279808749601926 2.246921873617358 0.020204189007450232 0.11998447585179223\n",
+ "***** Episode 192387, Mean R = -2.9 Std R = 4.7 Min R = -24.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.00144\n",
+ "PolicyEntropy: -6.21\n",
+ "PolicyLoss: -0.00123\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 5.1e+07\n",
+ "ValFuncLoss: 3.04e-05\n",
+ "Variance: 0.0527\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001316088 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05246086 0.05046142 0.04947086 0.05173838]\n",
+ "FIT: 0.693946423553153 2.2901417900295864 0.020731457978511867 0.11856551731571771\n",
+ "***** Episode 192508, Mean R = -2.9 Std R = 5.6 Min R = -28.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00132\n",
+ "PolicyEntropy: -6.23\n",
+ "PolicyLoss: -0.00288\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 5.11e+07\n",
+ "ValFuncLoss: 2.52e-05\n",
+ "Variance: 0.0525\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011465186 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0524631 0.05049457 0.04950832 0.05178206]\n",
+ "FIT: 0.4340729936340045 2.163382548238657 0.020834897752465706 0.11661412820553976\n",
+ "***** Episode 192629, Mean R = -3.2 Std R = 4.3 Min R = -13.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00115\n",
+ "PolicyEntropy: -6.22\n",
+ "PolicyLoss: -0.00233\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.11e+07\n",
+ "ValFuncLoss: 4.29e-05\n",
+ "Variance: 0.0525\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013131034 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05251097 0.05038724 0.04948845 0.05188359]\n",
+ "FIT: 0.47595418040933923 2.3934975475717053 0.01960231690850661 0.11936547020153214\n",
+ "***** Episode 192750, Mean R = -2.6 Std R = 4.7 Min R = -17.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.00131\n",
+ "PolicyEntropy: -6.22\n",
+ "PolicyLoss: -0.00228\n",
+ "Steps: 3.73e+04\n",
+ "TotalSteps: 5.12e+07\n",
+ "ValFuncLoss: 3.21e-05\n",
+ "Variance: 0.0525\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010840882 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0524286 0.05043039 0.04959849 0.05181747]\n",
+ "FIT: 0.5713827675031783 2.2733874292437184 0.02089087203460362 0.11657470774314396\n",
+ "Update Cnt = 1430 ET = 1033.9 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.0 -0.2 -0.0 | 1.0 1.0 0.0 | -3.5 -4.0 -0.1 | 3.9 3.4 -0.0\n",
+ "v_f | 0.02 -0.06 -0.92 | 0.09 0.09 0.14 | -0.41 -0.38 -1.36 | 0.64 0.55 -0.45\n",
+ "r_i | 989.8 4.1 2351.6 | 572.3 572.5 29.1 | 0.8 -997.8 2300.1 | 1998.7 999.0 2399.9\n",
+ "v_i | -39.80 0.12 -80.05 | 17.21 17.13 5.82 | -69.93 -30.00 -89.98 | -10.02 29.91 -70.01\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 4.6\n",
+ "norm_vf | 0.93 | 0.13 | 0.51 | 1.36\n",
+ "gs_f | 27.8 | 51.4 | 2.0 | 1408.6\n",
+ "thrust | 1217 2 9229 | 2873 2917 2018 | -15198 -17072 2000 | 16549 17052 19997\n",
+ "norm_thrust | 9886 | 3123 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 259 | 350\n",
+ "rewards | -2.99 | 5.38 | -35.90 | 3.73\n",
+ "fuel_rewards | -7.52 | 0.39 | -9.01 | -6.70\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.52 | 0.53 | 0.62 | 5.10\n",
+ "norm_af | 0.04 | 0.03 | 0.00 | 0.21\n",
+ "norm_wf | 0.13 | 0.07 | 0.01 | 0.46\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.09 | 0.79 | -16.26 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 0.00 | 0.33 0.21 0.20 | -1.23 -0.96 -1.09 | 1.47 1.06 1.10\n",
+ "w | -0.00 -0.01 -0.00 | 0.20 0.20 0.01 | -1.65 -2.42 -0.12 | 2.18 1.30 0.09\n",
+ "a_f | -0.01 -0.00 | 0.04 0.03 | -0.20 -0.19 | 0.20 0.16\n",
+ "w_f | -0.02 -0.03 -0.00 | 0.11 0.10 0.01 | -0.36 -0.43 -0.08 | 0.43 0.30 0.09\n",
+ "landing_rewards | 9.63 | 1.89 | 0.00 | 10.00\n",
+ "landing_margin | -0.07 | 0.15 | -0.19 | 3.03\n",
+ "tracking_rewards | -5.01 | 4.54 | -32.49 | 0.97\n",
+ "steps | 304 | 24 | 253 | 384\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 192871, Mean R = -3.2 Std R = 5.7 Min R = -25.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.958\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -6.22\n",
+ "PolicyLoss: -0.00219\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 5.12e+07\n",
+ "ValFuncLoss: 4.82e-05\n",
+ "Variance: 0.0524\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012880386 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05231496 0.05055785 0.04984311 0.05154027]\n",
+ "FIT: 0.638729680088088 2.496138969741119 0.02072309537966903 0.11854161927951958\n",
+ "***** Episode 192992, Mean R = -3.2 Std R = 6.0 Min R = -29.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00129\n",
+ "PolicyEntropy: -6.22\n",
+ "PolicyLoss: -0.00257\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 5.12e+07\n",
+ "ValFuncLoss: 4.92e-05\n",
+ "Variance: 0.0523\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013659421 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05230029 0.05058423 0.04976788 0.05143235]\n",
+ "FIT: 0.5181170000395151 2.4125229384422595 0.019434976600396028 0.11417671773696772\n",
+ "***** Episode 193113, Mean R = -2.4 Std R = 4.9 Min R = -18.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00137\n",
+ "PolicyEntropy: -6.23\n",
+ "PolicyLoss: -0.0018\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 5.13e+07\n",
+ "ValFuncLoss: 4.42e-05\n",
+ "Variance: 0.0523\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ " *** BROKE ***\n",
+ "kl = 0.004240726 beta = 0.06666666666666667 lr_mult = 0.4444444444444444\n",
+ "var: [0.05227376 0.05047377 0.04964967 0.05148719]\n",
+ "FIT: 0.6896593479392866 2.502381507757124 0.02026366470136298 0.11831240458968544\n",
+ "***** Episode 193234, Mean R = -3.1 Std R = 5.9 Min R = -35.5\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.975\n",
+ "ExplainedVarOld: 0.963\n",
+ "KL: 0.00424\n",
+ "PolicyEntropy: -6.23\n",
+ "PolicyLoss: 0.00181\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.13e+07\n",
+ "ValFuncLoss: 6.19e-05\n",
+ "Variance: 0.0523\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00071332435 beta = 0.06666666666666667 lr_mult = 0.4444444444444444\n",
+ "var: [0.05224293 0.05027403 0.04964194 0.05155713]\n",
+ "FIT: 0.6089356818274996 2.3527257293184336 0.020078472440726105 0.11929768135171002\n",
+ "***** Episode 193355, Mean R = -2.7 Std R = 5.4 Min R = -27.4\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.000713\n",
+ "PolicyEntropy: -6.23\n",
+ "PolicyLoss: 0.000239\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.13e+07\n",
+ "ValFuncLoss: 3.27e-05\n",
+ "Variance: 0.0522\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00047697985 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05199615 0.05022882 0.04964875 0.05169183]\n",
+ "FIT: 1.0100263820682043 2.43250908214812 0.021903762169268058 0.11906283563323398\n",
+ "***** Episode 193476, Mean R = -3.8 Std R = 6.9 Min R = -51.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.959\n",
+ "KL: 0.000477\n",
+ "PolicyEntropy: -6.24\n",
+ "PolicyLoss: -0.00135\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.14e+07\n",
+ "ValFuncLoss: 6.06e-05\n",
+ "Variance: 0.052\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012730754 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05204699 0.05001454 0.04976505 0.05177773]\n",
+ "FIT: 0.6772326205831581 2.4432976104972473 0.02209634833331264 0.11930821570298442\n",
+ "***** Episode 193597, Mean R = -3.6 Std R = 6.2 Min R = -26.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -6.24\n",
+ "PolicyLoss: -0.0027\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.14e+07\n",
+ "ValFuncLoss: 2.6e-05\n",
+ "Variance: 0.052\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011080195 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05209604 0.04976427 0.04977424 0.05181654]\n",
+ "FIT: 0.503702393641346 2.264015689429452 0.019882117305952997 0.11666440601859542\n",
+ "***** Episode 193718, Mean R = -2.4 Std R = 4.6 Min R = -16.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -6.24\n",
+ "PolicyLoss: -0.00198\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.14e+07\n",
+ "ValFuncLoss: 1.9e-05\n",
+ "Variance: 0.0521\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011713454 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05201202 0.04975517 0.049752 0.05177696]\n",
+ "FIT: 0.7569668693329182 2.2658688323215945 0.020400375704912876 0.11660736953245159\n",
+ "***** Episode 193839, Mean R = -2.9 Std R = 6.0 Min R = -35.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.969\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -6.24\n",
+ "PolicyLoss: -0.00227\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.15e+07\n",
+ "ValFuncLoss: 4.81e-05\n",
+ "Variance: 0.052\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001427945 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05204143 0.04990054 0.04977922 0.05169576]\n",
+ "FIT: 0.5197373967312839 2.2492483638880865 0.0193314260726035 0.11769006997233901\n",
+ "***** Episode 193960, Mean R = -2.4 Std R = 4.7 Min R = -18.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00143\n",
+ "PolicyEntropy: -6.24\n",
+ "PolicyLoss: -0.00286\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.15e+07\n",
+ "ValFuncLoss: 2.44e-05\n",
+ "Variance: 0.052\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010781813 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05202457 0.04998173 0.04985079 0.05145437]\n",
+ "FIT: 0.8440010010438946 2.4277611180464076 0.020341817162646502 0.1162723932758338\n",
+ "Update Cnt = 1440 ET = 1044.9 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.2 -0.0 | 1.1 1.0 0.0 | -3.7 -4.2 -0.1 | 3.6 4.3 -0.0\n",
+ "v_f | 0.02 -0.06 -0.92 | 0.08 0.08 0.14 | -0.26 -0.49 -1.35 | 0.32 0.30 -0.36\n",
+ "r_i | 1030.3 -6.0 2348.6 | 552.2 583.1 28.7 | 0.6 -997.8 2300.0 | 1999.8 999.8 2400.0\n",
+ "v_i | -39.93 0.27 -80.04 | 17.49 17.18 5.86 | -69.99 -29.91 -89.98 | -10.00 29.90 -70.02\n",
+ "norm_rf | 1.3 | 0.8 | 0.1 | 4.7\n",
+ "norm_vf | 0.93 | 0.14 | 0.39 | 1.35\n",
+ "gs_f | 26.0 | 31.2 | 3.1 | 568.1\n",
+ "thrust | 1217 -3 9231 | 2862 2869 2035 | -14773 -16280 2000 | 16790 16703 20000\n",
+ "norm_thrust | 9876 | 3115 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 260 | 353\n",
+ "rewards | -2.93 | 5.67 | -51.82 | 3.97\n",
+ "fuel_rewards | -7.53 | 0.40 | -9.09 | -6.71\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.48 | 0.50 | 0.55 | 3.94\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.17\n",
+ "norm_wf | 0.13 | 0.08 | 0.01 | 0.50\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.12 | 1.08 | -22.96 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.12 0.00 | 0.34 0.20 0.20 | -1.32 -0.94 -1.08 | 1.62 1.08 1.07\n",
+ "w | -0.00 -0.01 -0.00 | 0.20 0.20 0.01 | -1.68 -2.62 -0.11 | 2.18 1.34 0.13\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.11 -0.16 | 0.15 0.16\n",
+ "w_f | -0.02 -0.03 -0.00 | 0.11 0.10 0.02 | -0.38 -0.43 -0.11 | 0.34 0.35 0.11\n",
+ "landing_rewards | 9.55 | 2.08 | 0.00 | 10.00\n",
+ "landing_margin | -0.08 | 0.09 | -0.19 | 1.87\n",
+ "tracking_rewards | -4.83 | 4.56 | -30.66 | 1.27\n",
+ "steps | 304 | 25 | 251 | 391\n",
+ "***** Episode 194081, Mean R = -2.8 Std R = 5.3 Min R = -37.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.972\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -6.24\n",
+ "PolicyLoss: -0.0024\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.16e+07\n",
+ "ValFuncLoss: 3.83e-05\n",
+ "Variance: 0.052\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011366078 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05193192 0.05000285 0.0498468 0.05133737]\n",
+ "FIT: 0.700702203159691 2.39503300617328 0.02022226383985782 0.11915676181930959\n",
+ "***** Episode 194202, Mean R = -2.8 Std R = 5.1 Min R = -24.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -6.25\n",
+ "PolicyLoss: -0.00238\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 5.16e+07\n",
+ "ValFuncLoss: 3.52e-05\n",
+ "Variance: 0.0519\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012285584 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05181995 0.04996495 0.04974557 0.05133676]\n",
+ "FIT: 0.531837372740197 2.25505155553325 0.021008588985186025 0.11735667875127474\n",
+ "***** Episode 194323, Mean R = -3.1 Std R = 5.3 Min R = -22.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -6.25\n",
+ "PolicyLoss: -0.00295\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.16e+07\n",
+ "ValFuncLoss: 3.44e-05\n",
+ "Variance: 0.0518\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001159728 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05192432 0.05000316 0.04970847 0.05130365]\n",
+ "FIT: 0.4416838975290194 2.266124585377638 0.01954273394082869 0.11645088983695366\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 194444, Mean R = -2.3 Std R = 4.5 Min R = -23.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -6.25\n",
+ "PolicyLoss: -0.00252\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 5.17e+07\n",
+ "ValFuncLoss: 2.83e-05\n",
+ "Variance: 0.0519\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014280871 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05188494 0.0499318 0.04970617 0.05122196]\n",
+ "FIT: 0.696443288766972 2.4069397397986654 0.0216201400708285 0.11801456488869565\n",
+ "***** Episode 194565, Mean R = -3.3 Std R = 6.3 Min R = -30.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00143\n",
+ "PolicyEntropy: -6.25\n",
+ "PolicyLoss: -0.00275\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.17e+07\n",
+ "ValFuncLoss: 4.15e-05\n",
+ "Variance: 0.0519\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009438588 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0516293 0.04987219 0.04960376 0.05137935]\n",
+ "FIT: 0.6283653621900475 2.163835608700942 0.020128064358654607 0.11824316628039995\n",
+ "***** Episode 194686, Mean R = -3.0 Std R = 5.8 Min R = -25.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.976\n",
+ "ExplainedVarOld: 0.962\n",
+ "KL: 0.000944\n",
+ "PolicyEntropy: -6.26\n",
+ "PolicyLoss: -0.0026\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 5.17e+07\n",
+ "ValFuncLoss: 5.29e-05\n",
+ "Variance: 0.0516\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00088624697 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05161498 0.04984161 0.04952038 0.05165682]\n",
+ "FIT: 0.7365731238681057 2.400918519885031 0.020681517832553658 0.11742973344523865\n",
+ "***** Episode 194807, Mean R = -2.8 Std R = 5.9 Min R = -35.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.000886\n",
+ "PolicyEntropy: -6.26\n",
+ "PolicyLoss: -0.00298\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 5.18e+07\n",
+ "ValFuncLoss: 1.62e-05\n",
+ "Variance: 0.0517\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00085889 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05159102 0.04979848 0.04945363 0.05182612]\n",
+ "FIT: 0.5591748101178592 2.438847903426852 0.01959299494664778 0.11648943225518467\n",
+ "***** Episode 194928, Mean R = -2.0 Std R = 5.0 Min R = -21.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.998\n",
+ "ExplainedVarOld: 0.992\n",
+ "KL: 0.000859\n",
+ "PolicyEntropy: -6.26\n",
+ "PolicyLoss: -0.00259\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.18e+07\n",
+ "ValFuncLoss: 4.44e-06\n",
+ "Variance: 0.0518\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012413196 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05160937 0.04974028 0.04930839 0.05172926]\n",
+ "FIT: 0.5451791546367737 2.516222499637076 0.01889603518974444 0.1168461944793707\n",
+ "***** Episode 195049, Mean R = -2.1 Std R = 4.6 Min R = -20.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -6.26\n",
+ "PolicyLoss: -0.00226\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.19e+07\n",
+ "ValFuncLoss: 3.19e-05\n",
+ "Variance: 0.0517\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0008913207 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05162663 0.04948222 0.04918028 0.05165635]\n",
+ "FIT: 0.5155086058435917 2.216319981089967 0.01952210691979924 0.11717326235621324\n",
+ "***** Episode 195170, Mean R = -2.6 Std R = 4.6 Min R = -18.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.974\n",
+ "ExplainedVarOld: 0.966\n",
+ "KL: 0.000891\n",
+ "PolicyEntropy: -6.27\n",
+ "PolicyLoss: -0.00204\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 5.19e+07\n",
+ "ValFuncLoss: 4.89e-05\n",
+ "Variance: 0.0517\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010732587 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05163064 0.04949543 0.04900571 0.05158834]\n",
+ "FIT: 0.5670723614572396 2.5439567703670654 0.020335058928453116 0.11901915119984562\n",
+ "Update Cnt = 1450 ET = 1043.9 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.1 1.1 0.0 | -4.9 -3.6 -0.1 | 3.6 3.8 -0.0\n",
+ "v_f | 0.02 -0.06 -0.92 | 0.08 0.08 0.15 | -0.28 -0.44 -1.42 | 0.84 0.24 -0.42\n",
+ "r_i | 1025.1 -8.3 2349.9 | 569.2 566.5 29.5 | 0.9 -999.6 2300.0 | 1999.6 998.5 2399.9\n",
+ "v_i | -39.75 -0.09 -79.71 | 17.52 17.24 5.78 | -69.97 -29.86 -89.98 | -10.03 29.98 -70.01\n",
+ "norm_rf | 1.3 | 0.8 | 0.1 | 4.9\n",
+ "norm_vf | 0.93 | 0.14 | 0.46 | 1.67\n",
+ "gs_f | 26.7 | 40.0 | 2.0 | 816.3\n",
+ "thrust | 1207 8 9201 | 2844 2835 2021 | -15248 -17586 2000 | 16529 17101 19996\n",
+ "norm_thrust | 9839 | 3085 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 259 | 351\n",
+ "rewards | -2.68 | 5.23 | -35.73 | 3.75\n",
+ "fuel_rewards | -7.51 | 0.39 | -9.05 | -6.68\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.49 | 0.51 | 0.47 | 5.16\n",
+ "norm_af | 0.04 | 0.03 | 0.00 | 0.31\n",
+ "norm_wf | 0.13 | 0.07 | 0.00 | 0.56\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.06 | 0.48 | -8.47 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 0.00 | 0.34 0.20 0.20 | -1.26 -0.90 -1.13 | 1.34 1.09 1.18\n",
+ "w | -0.00 -0.01 -0.00 | 0.20 0.20 0.01 | -1.68 -2.41 -0.16 | 2.17 1.57 0.11\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.22 -0.21 | 0.18 0.11\n",
+ "w_f | -0.02 -0.03 -0.00 | 0.11 0.10 0.02 | -0.44 -0.38 -0.15 | 0.40 0.32 0.10\n",
+ "landing_rewards | 9.61 | 1.93 | 0.00 | 10.00\n",
+ "landing_margin | -0.07 | 0.15 | -0.19 | 3.00\n",
+ "tracking_rewards | -4.72 | 4.56 | -36.61 | 0.95\n",
+ "steps | 305 | 24 | 253 | 379\n",
+ "***** Episode 195291, Mean R = -2.8 Std R = 4.8 Min R = -23.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -6.27\n",
+ "PolicyLoss: -0.00204\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.19e+07\n",
+ "ValFuncLoss: 4.2e-05\n",
+ "Variance: 0.0516\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012273199 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05188267 0.04941748 0.04876592 0.05147594]\n",
+ "FIT: 0.5606957117335544 2.4869308766809826 0.02168264290491098 0.11985852105414163\n",
+ "***** Episode 195412, Mean R = -3.7 Std R = 5.6 Min R = -21.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -6.28\n",
+ "PolicyLoss: -0.00227\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.2e+07\n",
+ "ValFuncLoss: 4.79e-05\n",
+ "Variance: 0.0519\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012169254 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05174377 0.04916961 0.04873962 0.05145195]\n",
+ "FIT: 0.49539366209701263 2.3723849869780222 0.0191754176244998 0.1173710228986622\n",
+ "***** Episode 195533, Mean R = -2.2 Std R = 4.3 Min R = -16.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.961\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -6.29\n",
+ "PolicyLoss: -0.00225\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 5.2e+07\n",
+ "ValFuncLoss: 2.22e-05\n",
+ "Variance: 0.0517\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0015742835 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05168673 0.04912384 0.04882618 0.05127401]\n",
+ "FIT: 0.7523971414944564 2.5605856357932524 0.02043846462258225 0.11748423384743807\n",
+ "***** Episode 195654, Mean R = -2.8 Std R = 5.4 Min R = -33.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.972\n",
+ "KL: 0.00157\n",
+ "PolicyEntropy: -6.29\n",
+ "PolicyLoss: -0.00227\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.2e+07\n",
+ "ValFuncLoss: 4.2e-05\n",
+ "Variance: 0.0517\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013561635 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05166629 0.04919192 0.04892328 0.05113842]\n",
+ "FIT: 0.8253648174870589 2.4357614336334716 0.02256526949345372 0.12041616984415374\n",
+ "***** Episode 195775, Mean R = -3.8 Std R = 7.4 Min R = -38.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00136\n",
+ "PolicyEntropy: -6.29\n",
+ "PolicyLoss: -0.00249\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.21e+07\n",
+ "ValFuncLoss: 2.22e-05\n",
+ "Variance: 0.0517\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010929308 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05164452 0.04917711 0.04892309 0.05086309]\n",
+ "FIT: 0.521534334767671 2.187555507646008 0.019994429163353946 0.11646456039517095\n",
+ "***** Episode 195896, Mean R = -2.4 Std R = 4.6 Min R = -19.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -6.3\n",
+ "PolicyLoss: -0.00221\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 5.21e+07\n",
+ "ValFuncLoss: 1.18e-05\n",
+ "Variance: 0.0516\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013162993 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05155005 0.0491204 0.04887545 0.05072407]\n",
+ "FIT: 0.6037756676433195 2.3172153002974625 0.019843930406219398 0.11674703918771333\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 196017, Mean R = -2.6 Std R = 4.3 Min R = -25.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00132\n",
+ "PolicyEntropy: -6.3\n",
+ "PolicyLoss: -0.00214\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.21e+07\n",
+ "ValFuncLoss: 1.88e-05\n",
+ "Variance: 0.0516\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00094588374 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05147548 0.04897131 0.04905274 0.05064126]\n",
+ "FIT: 0.7268335830730217 2.384611623959891 0.020866023701862985 0.11769506990307523\n",
+ "***** Episode 196138, Mean R = -3.2 Std R = 6.5 Min R = -32.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.000946\n",
+ "PolicyEntropy: -6.31\n",
+ "PolicyLoss: -0.00195\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.22e+07\n",
+ "ValFuncLoss: 4.9e-05\n",
+ "Variance: 0.0515\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012685288 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0514731 0.04891124 0.04919577 0.05043164]\n",
+ "FIT: 0.5070201823497199 2.187172703582612 0.01930757135453924 0.11394106917495807\n",
+ "***** Episode 196259, Mean R = -2.2 Std R = 4.5 Min R = -18.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -6.31\n",
+ "PolicyLoss: -0.0021\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 5.22e+07\n",
+ "ValFuncLoss: 3.22e-05\n",
+ "Variance: 0.0515\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013713854 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05140679 0.04885102 0.04900452 0.05041625]\n",
+ "FIT: 0.6111335659645926 2.3962252662129417 0.020319747514475243 0.1189440246412402\n",
+ "***** Episode 196380, Mean R = -2.8 Std R = 5.0 Min R = -25.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.958\n",
+ "KL: 0.00137\n",
+ "PolicyEntropy: -6.31\n",
+ "PolicyLoss: -0.00152\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.23e+07\n",
+ "ValFuncLoss: 3.09e-05\n",
+ "Variance: 0.0514\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014507624 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05131571 0.04869653 0.04880314 0.05035407]\n",
+ "FIT: 0.7353867757909657 2.469326467994271 0.021884701372961928 0.11967301549323228\n",
+ "Update Cnt = 1460 ET = 1046.3 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.0 1.0 0.0 | -3.5 -4.5 -0.1 | 4.1 4.7 -0.0\n",
+ "v_f | 0.03 -0.07 -0.92 | 0.08 0.08 0.15 | -0.28 -0.44 -1.40 | 0.28 0.24 -0.45\n",
+ "r_i | 1025.2 -4.8 2349.0 | 581.2 572.2 28.4 | 0.7 -1000.0 2300.1 | 1999.6 999.0 2400.0\n",
+ "v_i | -40.19 0.23 -80.07 | 17.82 17.68 5.72 | -69.97 -29.99 -90.00 | -10.11 29.96 -70.01\n",
+ "norm_rf | 1.3 | 0.8 | 0.1 | 4.9\n",
+ "norm_vf | 0.93 | 0.14 | 0.50 | 1.40\n",
+ "gs_f | 23.4 | 24.1 | 3.3 | 298.2\n",
+ "thrust | 1227 -3 9227 | 2873 2914 2019 | -15685 -16894 2000 | 16591 16654 19999\n",
+ "norm_thrust | 9885 | 3125 | 3464 | 20000\n",
+ "fuel | 292 | 16 | 261 | 352\n",
+ "rewards | -2.92 | 5.53 | -38.00 | 3.82\n",
+ "fuel_rewards | -7.52 | 0.40 | -9.09 | -6.72\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.49 | 0.53 | 0.61 | 6.56\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.14\n",
+ "norm_wf | 0.13 | 0.07 | 0.01 | 0.43\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.10 | 0.82 | -17.28 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 0.00 | 0.33 0.20 0.20 | -1.15 -0.96 -1.06 | 1.32 1.09 1.07\n",
+ "w | 0.00 -0.01 -0.00 | 0.20 0.20 0.01 | -1.72 -2.40 -0.15 | 2.12 1.53 0.09\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.12 -0.12 | 0.12 0.14\n",
+ "w_f | -0.02 -0.02 -0.00 | 0.10 0.10 0.01 | -0.38 -0.33 -0.12 | 0.41 0.38 0.08\n",
+ "landing_rewards | 9.65 | 1.83 | 0.00 | 10.00\n",
+ "landing_margin | -0.08 | 0.09 | -0.19 | 1.70\n",
+ "tracking_rewards | -4.95 | 4.70 | -33.83 | 1.22\n",
+ "steps | 304 | 24 | 249 | 382\n",
+ "***** Episode 196501, Mean R = -3.6 Std R = 6.4 Min R = -37.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.963\n",
+ "KL: 0.00145\n",
+ "PolicyEntropy: -6.32\n",
+ "PolicyLoss: -0.0029\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.23e+07\n",
+ "ValFuncLoss: 3.98e-05\n",
+ "Variance: 0.0513\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013729162 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05110481 0.04860057 0.0486589 0.05032819]\n",
+ "FIT: 0.532756224917074 2.3173403716705914 0.020422144737522435 0.11615378262466418\n",
+ "***** Episode 196622, Mean R = -2.7 Std R = 5.7 Min R = -25.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.971\n",
+ "KL: 0.00137\n",
+ "PolicyEntropy: -6.33\n",
+ "PolicyLoss: -0.00221\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 5.23e+07\n",
+ "ValFuncLoss: 2.79e-05\n",
+ "Variance: 0.0511\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001058701 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05111434 0.04868321 0.04851627 0.0503286 ]\n",
+ "FIT: 0.5544671050362128 2.478116032205242 0.02160246489806842 0.11662332744905309\n",
+ "***** Episode 196743, Mean R = -3.3 Std R = 5.9 Min R = -25.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -6.34\n",
+ "PolicyLoss: -0.00166\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 5.24e+07\n",
+ "ValFuncLoss: 3.82e-05\n",
+ "Variance: 0.0511\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011092443 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05119281 0.04867255 0.04858092 0.05037458]\n",
+ "FIT: 0.6457678429605926 2.5408200236132523 0.021833158514661725 0.12120073083867669\n",
+ "***** Episode 196864, Mean R = -3.9 Std R = 6.1 Min R = -34.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.969\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -6.33\n",
+ "PolicyLoss: -0.00231\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.24e+07\n",
+ "ValFuncLoss: 4.53e-05\n",
+ "Variance: 0.0512\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012145417 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05116327 0.0485396 0.0485327 0.05033494]\n",
+ "FIT: 0.6175378559008576 2.500041022149941 0.02123164704646597 0.11871158355012383\n",
+ "***** Episode 196985, Mean R = -3.1 Std R = 5.5 Min R = -23.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -6.34\n",
+ "PolicyLoss: -0.00202\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 5.24e+07\n",
+ "ValFuncLoss: 3.1e-05\n",
+ "Variance: 0.0512\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00092362886 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05093032 0.04849823 0.0484837 0.05027971]\n",
+ "FIT: 0.5035114650327588 2.331687171955912 0.019750813794670006 0.11722647209890164\n",
+ "***** Episode 197106, Mean R = -2.5 Std R = 5.2 Min R = -25.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.000924\n",
+ "PolicyEntropy: -6.34\n",
+ "PolicyLoss: -0.00192\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.25e+07\n",
+ "ValFuncLoss: 3.13e-05\n",
+ "Variance: 0.0509\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013388686 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05085627 0.04870717 0.04858335 0.05012261]\n",
+ "FIT: 0.5249146226015594 2.3465651215960244 0.020762057749587393 0.11961547780737601\n",
+ "***** Episode 197227, Mean R = -3.3 Std R = 5.2 Min R = -20.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.972\n",
+ "KL: 0.00134\n",
+ "PolicyEntropy: -6.34\n",
+ "PolicyLoss: -0.00219\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.25e+07\n",
+ "ValFuncLoss: 4.87e-05\n",
+ "Variance: 0.0509\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011998452 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05086721 0.04878862 0.04851795 0.05016655]\n",
+ "FIT: 0.5269152869066365 2.3433706549555984 0.02095482854761933 0.11591508236197844\n",
+ "***** Episode 197348, Mean R = -3.2 Std R = 5.5 Min R = -21.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.972\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: -6.34\n",
+ "PolicyLoss: -0.00241\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 5.25e+07\n",
+ "ValFuncLoss: 4.88e-05\n",
+ "Variance: 0.0509\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009243711 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05073891 0.04874288 0.04829363 0.05016309]\n",
+ "FIT: 0.5563491057727825 2.302586779425164 0.020852436325089613 0.11739607804407194\n",
+ "***** Episode 197469, Mean R = -3.0 Std R = 5.0 Min R = -20.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.000924\n",
+ "PolicyEntropy: -6.35\n",
+ "PolicyLoss: -0.00253\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 5.26e+07\n",
+ "ValFuncLoss: 1.74e-05\n",
+ "Variance: 0.0507\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012899034 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05074438 0.04877546 0.04819564 0.05032482]\n",
+ "FIT: 0.7128583780371793 2.5017617747125778 0.020608100847019292 0.11741088612222386\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 197590, Mean R = -2.9 Std R = 5.9 Min R = -27.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00129\n",
+ "PolicyEntropy: -6.35\n",
+ "PolicyLoss: -0.00244\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.26e+07\n",
+ "ValFuncLoss: 3.1e-05\n",
+ "Variance: 0.0507\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010945952 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05095417 0.04877213 0.04805739 0.05045689]\n",
+ "FIT: 0.6207787220718269 2.2674748756866996 0.02138789180442932 0.11871725093537173\n",
+ "Update Cnt = 1470 ET = 1040.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.1 1.0 0.0 | -3.6 -4.0 -0.1 | 3.8 3.2 -0.0\n",
+ "v_f | 0.03 -0.06 -0.93 | 0.08 0.08 0.14 | -0.32 -0.51 -1.39 | 0.33 0.26 -0.33\n",
+ "r_i | 991.0 29.6 2349.3 | 576.5 586.3 28.3 | 0.2 -998.7 2300.1 | 1999.5 999.3 2399.9\n",
+ "v_i | -40.25 0.15 -80.12 | 17.29 17.58 5.86 | -69.93 -29.91 -89.98 | -10.09 29.99 -70.03\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 4.3\n",
+ "norm_vf | 0.94 | 0.14 | 0.35 | 1.39\n",
+ "gs_f | 26.2 | 38.2 | 3.2 | 751.2\n",
+ "thrust | 1236 -2 9237 | 2896 2931 2010 | -15254 -16946 2000 | 16863 16336 20000\n",
+ "norm_thrust | 9902 | 3131 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 259 | 351\n",
+ "rewards | -3.11 | 5.59 | -34.85 | 3.96\n",
+ "fuel_rewards | -7.52 | 0.38 | -9.05 | -6.69\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.51 | 0.53 | 0.56 | 4.73\n",
+ "norm_af | 0.04 | 0.03 | 0.00 | 0.18\n",
+ "norm_wf | 0.13 | 0.07 | 0.01 | 0.48\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.09 | 0.61 | -9.35 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.12 -0.00 | 0.34 0.21 0.20 | -1.14 -0.95 -1.05 | 1.50 1.05 1.03\n",
+ "w | -0.00 -0.01 -0.00 | 0.20 0.19 0.01 | -1.68 -2.48 -0.11 | 2.19 1.34 0.10\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.13 -0.18 | 0.16 0.14\n",
+ "w_f | -0.01 -0.03 -0.00 | 0.11 0.10 0.02 | -0.47 -0.33 -0.11 | 0.40 0.31 0.10\n",
+ "landing_rewards | 9.55 | 2.06 | 0.00 | 10.00\n",
+ "landing_margin | -0.08 | 0.13 | -0.19 | 1.75\n",
+ "tracking_rewards | -5.06 | 4.67 | -31.49 | 1.09\n",
+ "steps | 303 | 24 | 251 | 387\n",
+ "***** Episode 197711, Mean R = -3.4 Std R = 5.6 Min R = -27.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -6.34\n",
+ "PolicyLoss: -0.00248\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.27e+07\n",
+ "ValFuncLoss: 2.65e-05\n",
+ "Variance: 0.051\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001547875 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05093871 0.04873323 0.04801171 0.05036605]\n",
+ "FIT: 0.5116561632654919 2.385936567295846 0.019179268903582354 0.11617643049078569\n",
+ "***** Episode 197832, Mean R = -2.1 Std R = 4.8 Min R = -21.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00155\n",
+ "PolicyEntropy: -6.35\n",
+ "PolicyLoss: -0.00263\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.27e+07\n",
+ "ValFuncLoss: 2.44e-05\n",
+ "Variance: 0.0509\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010770304 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05101738 0.04872343 0.04807248 0.05031464]\n",
+ "FIT: 0.560181533829574 2.3678469101455204 0.021202957697299768 0.121265369606139\n",
+ "***** Episode 197953, Mean R = -3.2 Std R = 5.2 Min R = -19.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -6.35\n",
+ "PolicyLoss: -0.00237\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.27e+07\n",
+ "ValFuncLoss: 2.85e-05\n",
+ "Variance: 0.051\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012120456 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05110001 0.04884914 0.04797623 0.05035981]\n",
+ "FIT: 0.5576395395630543 2.485509098974794 0.020642432085700303 0.12118719422110122\n",
+ "***** Episode 198074, Mean R = -2.9 Std R = 5.3 Min R = -22.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.992\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -6.34\n",
+ "PolicyLoss: -0.00288\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 5.28e+07\n",
+ "ValFuncLoss: 1.18e-05\n",
+ "Variance: 0.0511\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010098207 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05108709 0.04892086 0.04779126 0.05023337]\n",
+ "FIT: 0.579782474683391 2.4597942397546615 0.019758593208838757 0.1160644853317655\n",
+ "***** Episode 198195, Mean R = -2.4 Std R = 4.9 Min R = -21.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -6.35\n",
+ "PolicyLoss: -0.00234\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 5.28e+07\n",
+ "ValFuncLoss: 2.48e-05\n",
+ "Variance: 0.0511\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012743053 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05097256 0.0488542 0.04774881 0.05000494]\n",
+ "FIT: 0.5398901715212168 2.5593546214204603 0.02184201530699179 0.1207547594079929\n",
+ "***** Episode 198316, Mean R = -3.8 Std R = 5.2 Min R = -22.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -6.36\n",
+ "PolicyLoss: -0.00214\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.28e+07\n",
+ "ValFuncLoss: 2.11e-05\n",
+ "Variance: 0.051\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012375298 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05087511 0.04895904 0.04765708 0.05008642]\n",
+ "FIT: 0.5080425127143052 2.398257362949818 0.019501166597370282 0.11937828294986955\n",
+ "***** Episode 198437, Mean R = -2.6 Std R = 4.5 Min R = -18.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -6.36\n",
+ "PolicyLoss: -0.00267\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 5.29e+07\n",
+ "ValFuncLoss: 3.01e-05\n",
+ "Variance: 0.0509\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001262253 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05086723 0.04884959 0.04765913 0.05020703]\n",
+ "FIT: 0.6152315213238922 2.489087942226107 0.021970177751342943 0.1186048320147883\n",
+ "***** Episode 198558, Mean R = -3.6 Std R = 6.0 Min R = -27.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00126\n",
+ "PolicyEntropy: -6.36\n",
+ "PolicyLoss: -0.00216\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.29e+07\n",
+ "ValFuncLoss: 3.67e-05\n",
+ "Variance: 0.0509\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011014697 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05080531 0.04880377 0.04767289 0.05015795]\n",
+ "FIT: 0.4843571855355099 2.418965130909251 0.019980564275149992 0.11799111203114018\n",
+ "***** Episode 198679, Mean R = -2.5 Std R = 5.2 Min R = -21.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -6.36\n",
+ "PolicyLoss: -0.00238\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.3e+07\n",
+ "ValFuncLoss: 2.28e-05\n",
+ "Variance: 0.0508\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013367514 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05088722 0.04874065 0.0475125 0.04998497]\n",
+ "FIT: 0.659989649400069 2.395198212547257 0.02055645351698274 0.11586388354362194\n",
+ "***** Episode 198800, Mean R = -2.8 Std R = 5.3 Min R = -26.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.00134\n",
+ "PolicyEntropy: -6.37\n",
+ "PolicyLoss: -0.00252\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.3e+07\n",
+ "ValFuncLoss: 3.8e-05\n",
+ "Variance: 0.0509\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011225906 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05094154 0.04860821 0.04754868 0.04972519]\n",
+ "FIT: 0.6056460589336429 2.4231241433391384 0.021411666937450693 0.11905657935730812\n",
+ "Update Cnt = 1480 ET = 1038.5 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.0 -0.3 -0.0 | 1.1 1.1 0.0 | -3.3 -4.3 -0.1 | 3.7 3.3 -0.0\n",
+ "v_f | 0.04 -0.05 -0.92 | 0.08 0.08 0.14 | -0.26 -0.44 -1.37 | 0.30 0.30 -0.27\n",
+ "r_i | 1020.7 19.1 2350.6 | 586.1 582.6 28.6 | 0.3 -999.9 2300.0 | 1999.9 997.4 2399.9\n",
+ "v_i | -40.03 0.17 -79.71 | 17.15 17.27 5.80 | -69.87 -30.00 -90.00 | -10.08 30.00 -70.01\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 4.3\n",
+ "norm_vf | 0.93 | 0.14 | 0.34 | 1.38\n",
+ "gs_f | 24.7 | 23.9 | 3.9 | 308.4\n",
+ "thrust | 1218 -2 9210 | 2915 2872 2015 | -15944 -16635 2000 | 16618 16667 19995\n",
+ "norm_thrust | 9868 | 3120 | 3464 | 20000\n",
+ "fuel | 293 | 16 | 259 | 347\n",
+ "rewards | -2.94 | 5.29 | -27.63 | 4.03\n",
+ "fuel_rewards | -7.54 | 0.41 | -8.96 | -6.70\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.46 | 0.50 | 0.68 | 4.82\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.16\n",
+ "norm_wf | 0.13 | 0.07 | 0.01 | 0.58\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.42 | -7.78 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "attitude | 0.04 0.12 0.00 | 0.35 0.21 0.20 | -1.11 -0.97 -1.04 | 1.38 1.04 1.05\n",
+ "w | -0.00 -0.01 0.00 | 0.20 0.20 0.01 | -1.64 -2.38 -0.08 | 2.08 1.37 0.09\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.12 -0.12 | 0.11 0.12\n",
+ "w_f | -0.02 -0.02 -0.00 | 0.11 0.10 0.01 | -0.49 -0.35 -0.08 | 0.41 0.43 0.08\n",
+ "landing_rewards | 9.66 | 1.81 | 0.00 | 10.00\n",
+ "landing_margin | -0.08 | 0.08 | -0.19 | 1.05\n",
+ "tracking_rewards | -5.01 | 4.76 | -29.10 | 1.01\n",
+ "steps | 305 | 25 | 253 | 397\n",
+ "***** Episode 198921, Mean R = -3.6 Std R = 6.0 Min R = -25.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.971\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -6.37\n",
+ "PolicyLoss: -0.00205\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 5.3e+07\n",
+ "ValFuncLoss: 5.29e-05\n",
+ "Variance: 0.0509\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001352872 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05082088 0.04852636 0.04749618 0.04945554]\n",
+ "FIT: 0.5017296571199401 2.2205375992845937 0.019820081141531037 0.1162202568184549\n",
+ "***** Episode 199042, Mean R = -2.5 Std R = 5.1 Min R = -24.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.00135\n",
+ "PolicyEntropy: -6.38\n",
+ "PolicyLoss: -0.002\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 5.31e+07\n",
+ "ValFuncLoss: 3.22e-05\n",
+ "Variance: 0.0508\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012449037 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05061463 0.04836245 0.04730304 0.049428 ]\n",
+ "FIT: 0.6240076795104387 2.4256575910347853 0.020912559752599907 0.11657061723986882\n",
+ "***** Episode 199163, Mean R = -3.1 Std R = 5.7 Min R = -23.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -6.4\n",
+ "PolicyLoss: -0.00255\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.31e+07\n",
+ "ValFuncLoss: 3.89e-05\n",
+ "Variance: 0.0506\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012049254 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05051672 0.04822028 0.04728647 0.04947361]\n",
+ "FIT: 0.6019310220567052 2.491529418520261 0.020052229898172194 0.11630573152183178\n",
+ "***** Episode 199284, Mean R = -2.5 Std R = 5.6 Min R = -35.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: -6.4\n",
+ "PolicyLoss: -0.00244\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 5.31e+07\n",
+ "ValFuncLoss: 2.91e-05\n",
+ "Variance: 0.0505\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012255748 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05050145 0.04814032 0.04705437 0.04943988]\n",
+ "FIT: 0.5145969530158316 2.2902594056869825 0.02139215100833206 0.11810951037546134\n",
+ "***** Episode 199405, Mean R = -3.3 Std R = 5.3 Min R = -22.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -6.41\n",
+ "PolicyLoss: -0.00253\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.32e+07\n",
+ "ValFuncLoss: 1.82e-05\n",
+ "Variance: 0.0505\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001246459 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05046731 0.04814447 0.04680539 0.04942668]\n",
+ "FIT: 0.5189670958202958 2.302952125642835 0.019995947423547815 0.1186183809832106\n",
+ "***** Episode 199526, Mean R = -2.8 Std R = 4.9 Min R = -18.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00125\n",
+ "PolicyEntropy: -6.41\n",
+ "PolicyLoss: -0.00227\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.32e+07\n",
+ "ValFuncLoss: 3.39e-05\n",
+ "Variance: 0.0505\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010949771 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05033664 0.0482668 0.04674825 0.04949691]\n",
+ "FIT: 0.5488955238029515 2.3886481786526232 0.02118072833587346 0.11642636613152217\n",
+ "***** Episode 199647, Mean R = -3.3 Std R = 5.7 Min R = -20.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.974\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -6.41\n",
+ "PolicyLoss: -0.0022\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.32e+07\n",
+ "ValFuncLoss: 5.13e-05\n",
+ "Variance: 0.0503\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010501951 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05043187 0.0481573 0.04678788 0.04944092]\n",
+ "FIT: 0.5573622660601314 2.3297076278070756 0.020909487098335525 0.11867261445383315\n",
+ "***** Episode 199768, Mean R = -3.1 Std R = 5.0 Min R = -21.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -6.41\n",
+ "PolicyLoss: -0.00291\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.33e+07\n",
+ "ValFuncLoss: 2.69e-05\n",
+ "Variance: 0.0504\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0008942563 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05043507 0.04794922 0.04680209 0.0492436 ]\n",
+ "FIT: 0.7825833722188312 2.3808862288449917 0.020360247436744902 0.11803070660889586\n",
+ "***** Episode 199889, Mean R = -2.6 Std R = 5.1 Min R = -31.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.000894\n",
+ "PolicyEntropy: -6.42\n",
+ "PolicyLoss: -0.0025\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 5.33e+07\n",
+ "ValFuncLoss: 1.84e-05\n",
+ "Variance: 0.0504\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013450539 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05035172 0.04781164 0.04691134 0.04918142]\n",
+ "FIT: 0.6532876951328064 2.422832648882229 0.020700513055875388 0.11770151602589365\n",
+ "***** Episode 200010, Mean R = -3.0 Std R = 5.8 Min R = -33.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00135\n",
+ "PolicyEntropy: -6.43\n",
+ "PolicyLoss: -0.00278\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 5.34e+07\n",
+ "ValFuncLoss: 2.65e-05\n",
+ "Variance: 0.0504\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012931848 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05038282 0.04765172 0.04694353 0.04933144]\n",
+ "FIT: 0.630375840308814 2.5351223867150434 0.021249441643858523 0.11886705612473263\n",
+ "Update Cnt = 1490 ET = 1025.5 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.4 -0.0 | 1.1 1.0 0.0 | -4.0 -4.3 -0.1 | 3.9 3.6 -0.0\n",
+ "v_f | 0.03 -0.06 -0.92 | 0.08 0.08 0.14 | -0.73 -0.60 -1.37 | 0.35 0.26 -0.36\n",
+ "r_i | 980.4 23.6 2351.6 | 575.6 586.6 28.9 | 1.7 -999.9 2300.1 | 1999.4 998.5 2399.9\n",
+ "v_i | -39.82 -0.01 -80.03 | 17.27 17.36 5.73 | -69.98 -29.95 -90.00 | -10.04 29.98 -70.03\n",
+ "norm_rf | 1.3 | 0.8 | 0.1 | 4.5\n",
+ "norm_vf | 0.93 | 0.14 | 0.44 | 1.37\n",
+ "gs_f | 27.4 | 44.2 | 2.5 | 978.7\n",
+ "thrust | 1219 4 9229 | 2915 2896 2015 | -15510 -16810 2000 | 16785 16938 19989\n",
+ "norm_thrust | 9888 | 3134 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 260 | 353\n",
+ "rewards | -2.94 | 5.41 | -35.29 | 3.88\n",
+ "fuel_rewards | -7.53 | 0.40 | -9.10 | -6.72\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.50 | 0.49 | 0.51 | 5.15\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.24\n",
+ "norm_wf | 0.13 | 0.07 | 0.00 | 0.43\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.06 | 0.61 | -13.43 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 -0.00 | 0.33 0.21 0.20 | -1.08 -0.88 -1.01 | 1.38 1.05 1.10\n",
+ "w | -0.00 -0.01 -0.00 | 0.20 0.19 0.01 | -1.68 -2.47 -0.12 | 2.25 1.42 0.10\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.12 -0.19 | 0.20 0.12\n",
+ "w_f | -0.02 -0.02 -0.00 | 0.11 0.09 0.01 | -0.43 -0.35 -0.12 | 0.32 0.31 0.10\n",
+ "landing_rewards | 9.63 | 1.89 | 0.00 | 10.00\n",
+ "landing_margin | -0.08 | 0.11 | -0.19 | 2.52\n",
+ "tracking_rewards | -4.98 | 4.58 | -28.03 | 0.97\n",
+ "steps | 304 | 25 | 245 | 388\n",
+ "***** Episode 200131, Mean R = -3.3 Std R = 5.6 Min R = -25.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.972\n",
+ "KL: 0.00129\n",
+ "PolicyEntropy: -6.42\n",
+ "PolicyLoss: -0.0018\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.34e+07\n",
+ "ValFuncLoss: 2.83e-05\n",
+ "Variance: 0.0504\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010362411 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05005277 0.04750542 0.04686211 0.04944399]\n",
+ "FIT: 0.5722335060674321 2.350866559604951 0.020240960187536555 0.11767418909435465\n",
+ "***** Episode 200252, Mean R = -2.7 Std R = 5.1 Min R = -21.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -6.43\n",
+ "PolicyLoss: -0.00262\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.34e+07\n",
+ "ValFuncLoss: 1.66e-05\n",
+ "Variance: 0.0501\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0014209689 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0497843 0.04728602 0.0467109 0.04927598]\n",
+ "FIT: 0.6581981601789373 2.4375347632707527 0.020561985571721987 0.11836359937472118\n",
+ "***** Episode 200373, Mean R = -2.8 Std R = 5.4 Min R = -27.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00142\n",
+ "PolicyEntropy: -6.45\n",
+ "PolicyLoss: -0.00279\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.35e+07\n",
+ "ValFuncLoss: 2.25e-05\n",
+ "Variance: 0.0498\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012797464 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04986817 0.04714015 0.04654113 0.04933821]\n",
+ "FIT: 0.5164765757153401 2.3571648095672253 0.020694840076797782 0.11830978511449944\n",
+ "***** Episode 200494, Mean R = -3.0 Std R = 4.9 Min R = -28.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00128\n",
+ "PolicyEntropy: -6.45\n",
+ "PolicyLoss: -0.00259\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.35e+07\n",
+ "ValFuncLoss: 3.17e-05\n",
+ "Variance: 0.0499\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001319573 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04993399 0.04699649 0.04639511 0.04936036]\n",
+ "FIT: 0.5431723478764588 2.287614804425048 0.019383725787747948 0.11439848830290619\n",
+ "***** Episode 200615, Mean R = -2.1 Std R = 4.6 Min R = -22.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00132\n",
+ "PolicyEntropy: -6.46\n",
+ "PolicyLoss: -0.00281\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.35e+07\n",
+ "ValFuncLoss: 2.7e-05\n",
+ "Variance: 0.0499\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010486784 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0498414 0.04680711 0.04623887 0.04935546]\n",
+ "FIT: 0.49529937240386 2.5148278024290107 0.019428371010974686 0.11863470212846863\n",
+ "***** Episode 200736, Mean R = -2.4 Std R = 4.8 Min R = -23.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -6.47\n",
+ "PolicyLoss: -0.00226\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 5.36e+07\n",
+ "ValFuncLoss: 2.27e-05\n",
+ "Variance: 0.0498\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012414656 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04964766 0.04680726 0.04602906 0.04941843]\n",
+ "FIT: 0.5833999160937535 2.3045673512913716 0.01970777089204502 0.11572643854209375\n",
+ "***** Episode 200857, Mean R = -2.3 Std R = 4.7 Min R = -19.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -6.47\n",
+ "PolicyLoss: -0.00208\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.36e+07\n",
+ "ValFuncLoss: 3.19e-05\n",
+ "Variance: 0.0496\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0015760968 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04960483 0.04676084 0.0459469 0.04941338]\n",
+ "FIT: 0.5506730734206647 2.3744618890292593 0.019412220351415706 0.11310100879522694\n",
+ "***** Episode 200978, Mean R = -2.2 Std R = 4.6 Min R = -20.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00158\n",
+ "PolicyEntropy: -6.48\n",
+ "PolicyLoss: -0.00189\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.37e+07\n",
+ "ValFuncLoss: 2.18e-05\n",
+ "Variance: 0.0496\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014607854 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0497475 0.04663848 0.04595295 0.0493182 ]\n",
+ "FIT: 0.5246794505115718 2.4998953786530853 0.019961017520826435 0.11431374962860087\n",
+ "***** Episode 201099, Mean R = -2.5 Std R = 4.7 Min R = -20.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00146\n",
+ "PolicyEntropy: -6.48\n",
+ "PolicyLoss: -0.00151\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.37e+07\n",
+ "ValFuncLoss: 2.52e-05\n",
+ "Variance: 0.0497\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011257371 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04979039 0.04662149 0.04596992 0.04913304]\n",
+ "FIT: 0.5233581742612526 2.331616506628548 0.02061247324528272 0.12211092657392424\n",
+ "***** Episode 201220, Mean R = -3.2 Std R = 4.8 Min R = -18.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -6.48\n",
+ "PolicyLoss: -0.00218\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.37e+07\n",
+ "ValFuncLoss: 4.33e-05\n",
+ "Variance: 0.0498\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001161415 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0499158 0.04668638 0.04597128 0.04897165]\n",
+ "FIT: 0.5865779565625474 2.472747682933793 0.018676964113803988 0.11579433606135515\n",
+ "Update Cnt = 1500 ET = 1021.3 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.1 1.0 0.0 | -4.3 -4.7 -0.1 | 3.8 3.6 -0.0\n",
+ "v_f | 0.03 -0.06 -0.93 | 0.08 0.08 0.15 | -0.20 -0.40 -1.37 | 0.33 0.30 -0.33\n",
+ "r_i | 1004.2 9.0 2350.3 | 580.5 572.7 29.4 | 0.7 -999.5 2300.1 | 1999.4 997.8 2399.8\n",
+ "v_i | -39.79 -0.65 -80.30 | 17.09 17.17 5.81 | -69.94 -30.00 -89.99 | -10.02 29.97 -70.02\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.0\n",
+ "norm_vf | 0.94 | 0.14 | 0.36 | 1.37\n",
+ "gs_f | 25.9 | 27.3 | 4.4 | 417.3\n",
+ "thrust | 1220 26 9255 | 2857 2869 2029 | -15428 -16923 2000 | 16432 16712 19999\n",
+ "norm_thrust | 9896 | 3119 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 259 | 345\n",
+ "rewards | -2.49 | 4.84 | -28.29 | 4.00\n",
+ "fuel_rewards | -7.52 | 0.38 | -8.91 | -6.67\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.53 | 0.54 | 0.54 | 4.82\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.21\n",
+ "norm_wf | 0.12 | 0.07 | 0.01 | 0.43\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.02 | 0.23 | -3.95 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.12 0.00 | 0.34 0.20 0.20 | -1.10 -0.89 -1.08 | 1.55 1.03 1.01\n",
+ "w | -0.00 -0.01 0.00 | 0.20 0.20 0.01 | -1.76 -2.35 -0.09 | 2.06 1.29 0.10\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.15 -0.10 | 0.13 0.16\n",
+ "w_f | -0.02 -0.02 0.00 | 0.10 0.09 0.01 | -0.35 -0.33 -0.07 | 0.36 0.25 0.10\n",
+ "landing_rewards | 9.69 | 1.72 | 0.00 | 10.00\n",
+ "landing_margin | -0.09 | 0.07 | -0.19 | 0.63\n",
+ "tracking_rewards | -4.64 | 4.31 | -29.80 | 1.08\n",
+ "steps | 303 | 23 | 254 | 388\n",
+ "***** Episode 201341, Mean R = -1.8 Std R = 4.4 Min R = -23.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -6.48\n",
+ "PolicyLoss: -0.00277\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 5.38e+07\n",
+ "ValFuncLoss: 1.75e-05\n",
+ "Variance: 0.0499\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012800173 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04999088 0.04685866 0.04605979 0.04899574]\n",
+ "FIT: 0.4676398298947721 2.2904857264743255 0.018916592999828265 0.11400489862582494\n",
+ "***** Episode 201462, Mean R = -1.9 Std R = 4.4 Min R = -17.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00128\n",
+ "PolicyEntropy: -6.47\n",
+ "PolicyLoss: -0.00312\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.38e+07\n",
+ "ValFuncLoss: 1.43e-05\n",
+ "Variance: 0.05\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010308841 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05002636 0.04694571 0.04600916 0.04901934]\n",
+ "FIT: 0.641279495926125 2.125116041454316 0.019155444451639834 0.11471151296905688\n",
+ "***** Episode 201583, Mean R = -2.0 Std R = 5.1 Min R = -32.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.969\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -6.47\n",
+ "PolicyLoss: -0.00193\n",
+ "Steps: 3.75e+04\n",
+ "TotalSteps: 5.38e+07\n",
+ "ValFuncLoss: 1.48e-05\n",
+ "Variance: 0.05\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013887495 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.05000052 0.04694393 0.04595826 0.04910272]\n",
+ "FIT: 0.7014726171164571 2.4967140471296188 0.021189206074150608 0.11517179302343446\n",
+ "***** Episode 201704, Mean R = -2.8 Std R = 6.6 Min R = -29.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00139\n",
+ "PolicyEntropy: -6.47\n",
+ "PolicyLoss: -0.0022\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 5.39e+07\n",
+ "ValFuncLoss: 2.23e-05\n",
+ "Variance: 0.05\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009988811 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04977569 0.04698852 0.04589742 0.0490846 ]\n",
+ "FIT: 0.5542350844912496 2.5262534403244326 0.020413487989903903 0.11800775210082089\n",
+ "***** Episode 201825, Mean R = -2.6 Std R = 5.0 Min R = -19.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.000999\n",
+ "PolicyEntropy: -6.48\n",
+ "PolicyLoss: -0.00217\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.39e+07\n",
+ "ValFuncLoss: 4.04e-05\n",
+ "Variance: 0.0498\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0015123308 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04950207 0.04679587 0.04588979 0.04895473]\n",
+ "FIT: 0.4716513173648633 2.2800558978338534 0.020417028524738628 0.1196018711278353\n",
+ "***** Episode 201946, Mean R = -3.0 Std R = 4.8 Min R = -18.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00151\n",
+ "PolicyEntropy: -6.49\n",
+ "PolicyLoss: -0.00263\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.39e+07\n",
+ "ValFuncLoss: 3.86e-05\n",
+ "Variance: 0.0495\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011788813 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04958931 0.04664812 0.04590528 0.04901716]\n",
+ "FIT: 0.4241523004329771 2.206943929895257 0.019581932430445502 0.11743233375456233\n",
+ "***** Episode 202067, Mean R = -2.5 Std R = 4.1 Min R = -16.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -6.49\n",
+ "PolicyLoss: -0.00267\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.4e+07\n",
+ "ValFuncLoss: 3.44e-05\n",
+ "Variance: 0.0496\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001231277 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04964846 0.04662614 0.04585667 0.04890335]\n",
+ "FIT: 0.7192259676852479 2.312964021037166 0.020392354736117346 0.11753687811712957\n",
+ "***** Episode 202188, Mean R = -2.7 Std R = 4.7 Min R = -27.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -6.49\n",
+ "PolicyLoss: -0.00258\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 5.4e+07\n",
+ "ValFuncLoss: 2.85e-05\n",
+ "Variance: 0.0496\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013456254 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04965103 0.04667735 0.04590775 0.04875541]\n",
+ "FIT: 0.61152589191272 2.3432979113086385 0.020657040918339017 0.11962270548150747\n",
+ "***** Episode 202309, Mean R = -2.9 Std R = 5.2 Min R = -23.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.972\n",
+ "KL: 0.00135\n",
+ "PolicyEntropy: -6.49\n",
+ "PolicyLoss: -0.00193\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 5.41e+07\n",
+ "ValFuncLoss: 1.78e-05\n",
+ "Variance: 0.0497\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012222625 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04960532 0.0465886 0.04579763 0.04876032]\n",
+ "FIT: 0.6141020063136962 2.364723894646636 0.02099583796562898 0.11771284895108032\n",
+ "***** Episode 202430, Mean R = -2.9 Std R = 5.3 Min R = -26.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -6.5\n",
+ "PolicyLoss: -0.00257\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.41e+07\n",
+ "ValFuncLoss: 3.25e-05\n",
+ "Variance: 0.0496\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011906783 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04964664 0.04639768 0.04581062 0.04884796]\n",
+ "FIT: 0.5504411658329152 2.2466817245814488 0.020512213399013216 0.11635417608239583\n",
+ "Update Cnt = 1510 ET = 987.4 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.0 -0.4 -0.0 | 1.0 1.0 0.0 | -5.3 -4.4 -0.1 | 3.5 3.1 -0.0\n",
+ "v_f | 0.02 -0.07 -0.93 | 0.08 0.08 0.14 | -0.30 -0.56 -1.35 | 0.31 0.17 -0.24\n",
+ "r_i | 987.8 -8.8 2349.3 | 585.4 584.4 29.0 | 1.8 -999.1 2300.0 | 1998.9 999.0 2400.0\n",
+ "v_i | -39.45 0.22 -80.17 | 16.91 17.61 5.74 | -70.00 -29.94 -89.99 | -10.01 30.00 -70.00\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 5.8\n",
+ "norm_vf | 0.94 | 0.14 | 0.36 | 1.35\n",
+ "gs_f | 24.5 | 22.9 | 2.7 | 317.2\n",
+ "thrust | 1206 -3 9235 | 2863 2892 2016 | -14683 -16640 2000 | 16602 16867 19999\n",
+ "norm_thrust | 9881 | 3120 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 261 | 347\n",
+ "rewards | -2.61 | 5.04 | -31.98 | 3.97\n",
+ "fuel_rewards | -7.52 | 0.38 | -8.94 | -6.72\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.52 | 0.51 | 0.49 | 4.53\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.25\n",
+ "norm_wf | 0.12 | 0.06 | 0.00 | 0.40\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.08 | 0.71 | -13.92 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.05 0.11 0.00 | 0.33 0.20 0.20 | -1.10 -0.87 -1.07 | 1.38 1.05 1.06\n",
+ "w | -0.00 -0.01 0.00 | 0.20 0.19 0.01 | -1.66 -2.34 -0.14 | 2.24 1.42 0.08\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.11 -0.23 | 0.12 0.15\n",
+ "w_f | -0.01 -0.02 0.00 | 0.10 0.09 0.01 | -0.38 -0.37 -0.13 | 0.33 0.32 0.08\n",
+ "landing_rewards | 9.74 | 1.60 | 0.00 | 10.00\n",
+ "landing_margin | -0.09 | 0.09 | -0.19 | 2.30\n",
+ "tracking_rewards | -4.75 | 4.37 | -31.32 | 1.20\n",
+ "steps | 304 | 23 | 253 | 372\n",
+ "***** Episode 202551, Mean R = -2.7 Std R = 4.7 Min R = -21.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -6.5\n",
+ "PolicyLoss: -0.00234\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 5.41e+07\n",
+ "ValFuncLoss: 2.36e-05\n",
+ "Variance: 0.0496\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010994993 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04953144 0.04636263 0.04583354 0.04884279]\n",
+ "FIT: 0.592289679954525 2.226028098782997 0.019384700885906506 0.11531111500218971\n",
+ "***** Episode 202672, Mean R = -2.0 Std R = 4.5 Min R = -24.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -6.5\n",
+ "PolicyLoss: -0.00309\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.42e+07\n",
+ "ValFuncLoss: 2.04e-05\n",
+ "Variance: 0.0495\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010294542 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04937893 0.0464198 0.04589469 0.04881282]\n",
+ "FIT: 0.5278003121664826 2.3059127861963082 0.02077134771704584 0.1186064143958881\n",
+ "***** Episode 202793, Mean R = -3.0 Std R = 4.9 Min R = -20.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -6.5\n",
+ "PolicyLoss: -0.00221\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.42e+07\n",
+ "ValFuncLoss: 2.89e-05\n",
+ "Variance: 0.0494\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011390288 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04926369 0.04659185 0.04598784 0.04843871]\n",
+ "FIT: 0.5265062822521492 2.343158986458613 0.02106078348718261 0.11977067371171297\n",
+ "***** Episode 202914, Mean R = -3.3 Std R = 5.5 Min R = -28.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -6.51\n",
+ "PolicyLoss: -0.00251\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 5.42e+07\n",
+ "ValFuncLoss: 3.07e-05\n",
+ "Variance: 0.0493\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012077367 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04934019 0.04664326 0.04586295 0.04822095]\n",
+ "FIT: 0.6020902589735041 2.4407132678086647 0.02174431862306679 0.12131465612337408\n",
+ "***** Episode 203035, Mean R = -3.6 Std R = 5.9 Min R = -23.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -6.51\n",
+ "PolicyLoss: -0.00238\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.43e+07\n",
+ "ValFuncLoss: 2.89e-05\n",
+ "Variance: 0.0493\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014233047 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04954795 0.0464952 0.04569658 0.04815015]\n",
+ "FIT: 0.811070974456388 2.545322870416838 0.019735424661695828 0.11712106355569568\n",
+ "***** Episode 203156, Mean R = -2.3 Std R = 5.3 Min R = -34.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.00142\n",
+ "PolicyEntropy: -6.52\n",
+ "PolicyLoss: -0.00215\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.43e+07\n",
+ "ValFuncLoss: 2.81e-05\n",
+ "Variance: 0.0495\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001142682 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04949215 0.04636948 0.04558373 0.04800033]\n",
+ "FIT: 0.6337366953531381 2.4471699096585624 0.020564929543682456 0.11886204300330779\n",
+ "***** Episode 203277, Mean R = -2.7 Std R = 5.6 Min R = -24.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -6.53\n",
+ "PolicyLoss: -0.00259\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.44e+07\n",
+ "ValFuncLoss: 2.37e-05\n",
+ "Variance: 0.0495\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013332966 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04936631 0.04636084 0.04568153 0.04781321]\n",
+ "FIT: 0.6231955063996972 2.397019865376001 0.02151297172720672 0.1167221957758669\n",
+ "***** Episode 203398, Mean R = -3.2 Std R = 5.2 Min R = -24.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00133\n",
+ "PolicyEntropy: -6.53\n",
+ "PolicyLoss: -0.00136\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.44e+07\n",
+ "ValFuncLoss: 2.96e-05\n",
+ "Variance: 0.0494\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.001128838 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04939641 0.04643675 0.04575548 0.0476748 ]\n",
+ "FIT: 0.6647495229805711 2.3132042375207034 0.02012297566011232 0.11464663461651246\n",
+ "***** Episode 203519, Mean R = -2.5 Std R = 5.0 Min R = -29.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.974\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -6.53\n",
+ "PolicyLoss: -0.0027\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 5.44e+07\n",
+ "ValFuncLoss: 1.81e-05\n",
+ "Variance: 0.0494\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010358542 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0493999 0.04630063 0.04558412 0.04757796]\n",
+ "FIT: 0.8758860477685372 2.4611755768359767 0.024185600888995958 0.1237693863640432\n",
+ "***** Episode 203640, Mean R = -4.8 Std R = 7.2 Min R = -37.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -6.54\n",
+ "PolicyLoss: -0.00205\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 5.45e+07\n",
+ "ValFuncLoss: 7.68e-05\n",
+ "Variance: 0.0494\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012445609 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04941568 0.04615412 0.0455216 0.04756773]\n",
+ "FIT: 0.7185520625469539 2.5697504422657107 0.020382283819259564 0.11749169413254111\n",
+ "Update Cnt = 1520 ET = 983.9 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.0 1.0 0.0 | -3.6 -5.2 -0.1 | 3.5 4.0 -0.0\n",
+ "v_f | 0.01 -0.07 -0.93 | 0.08 0.08 0.14 | -0.29 -0.56 -1.36 | 0.34 0.29 -0.33\n",
+ "r_i | 993.6 -6.2 2349.3 | 572.3 588.2 28.8 | 1.0 -999.6 2300.1 | 1996.9 996.8 2399.9\n",
+ "v_i | -40.69 -0.22 -80.12 | 16.96 17.53 5.66 | -69.93 -29.92 -89.98 | -10.03 29.88 -70.01\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.4\n",
+ "norm_vf | 0.94 | 0.14 | 0.36 | 1.36\n",
+ "gs_f | 23.4 | 20.3 | 3.5 | 217.4\n",
+ "thrust | 1251 13 9242 | 2907 2927 2002 | -15632 -16468 2000 | 16750 16749 20000\n",
+ "norm_thrust | 9912 | 3126 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 262 | 349\n",
+ "rewards | -3.02 | 5.51 | -37.58 | 3.96\n",
+ "fuel_rewards | -7.52 | 0.39 | -8.98 | -6.75\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.50 | 0.51 | 0.63 | 6.07\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.19\n",
+ "norm_wf | 0.12 | 0.07 | 0.01 | 0.44\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.09 | 0.74 | -13.78 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.12 0.00 | 0.34 0.21 0.20 | -1.16 -0.88 -1.13 | 1.41 1.09 1.05\n",
+ "w | -0.00 -0.01 0.00 | 0.20 0.19 0.01 | -1.66 -2.50 -0.09 | 1.98 1.55 0.10\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.15 -0.17 | 0.11 0.15\n",
+ "w_f | -0.02 -0.03 -0.00 | 0.10 0.09 0.02 | -0.42 -0.39 -0.08 | 0.40 0.36 0.09\n",
+ "landing_rewards | 9.65 | 1.83 | 0.00 | 10.00\n",
+ "landing_margin | -0.08 | 0.10 | -0.19 | 1.52\n",
+ "tracking_rewards | -5.06 | 4.73 | -33.38 | 1.08\n",
+ "steps | 303 | 24 | 249 | 386\n",
+ "***** Episode 203761, Mean R = -2.9 Std R = 5.3 Min R = -27.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.944\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -6.54\n",
+ "PolicyLoss: -0.00268\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.45e+07\n",
+ "ValFuncLoss: 4.71e-05\n",
+ "Variance: 0.0494\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.00094506354 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0494149 0.04618562 0.04564012 0.04758274]\n",
+ "FIT: 0.6270387046396025 2.4332485886753137 0.0218160939906416 0.11908053512405\n",
+ "***** Episode 203882, Mean R = -3.5 Std R = 6.1 Min R = -28.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.000945\n",
+ "PolicyEntropy: -6.54\n",
+ "PolicyLoss: -0.00208\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 5.45e+07\n",
+ "ValFuncLoss: 4.68e-05\n",
+ "Variance: 0.0494\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0015175125 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04925585 0.04626383 0.04565404 0.04770897]\n",
+ "FIT: 0.5537114157806395 2.382663518757451 0.020193699440953415 0.11615966356745522\n",
+ "***** Episode 204003, Mean R = -2.5 Std R = 5.3 Min R = -30.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00152\n",
+ "PolicyEntropy: -6.54\n",
+ "PolicyLoss: -0.00248\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.46e+07\n",
+ "ValFuncLoss: 3.01e-05\n",
+ "Variance: 0.0493\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009810824 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04912137 0.04614777 0.04553476 0.04784966]\n",
+ "FIT: 0.7292418499135563 2.307379443070583 0.020219864278947463 0.11625938994098622\n",
+ "***** Episode 204124, Mean R = -2.5 Std R = 4.6 Min R = -24.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.000981\n",
+ "PolicyEntropy: -6.54\n",
+ "PolicyLoss: -0.00269\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 5.46e+07\n",
+ "ValFuncLoss: 1.16e-05\n",
+ "Variance: 0.0491\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010535966 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04913286 0.04610432 0.04531104 0.047832 ]\n",
+ "FIT: 0.4789260271550739 2.349942208956597 0.018800853781825944 0.11813924924381375\n",
+ "***** Episode 204245, Mean R = -1.9 Std R = 4.0 Min R = -17.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.997\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -6.55\n",
+ "PolicyLoss: -0.00237\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 5.46e+07\n",
+ "ValFuncLoss: 5.55e-06\n",
+ "Variance: 0.0491\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012273247 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0490996 0.04610939 0.04529996 0.0478676 ]\n",
+ "FIT: 0.552543432601774 2.41001993890718 0.019945117720849954 0.11671029817886354\n",
+ "***** Episode 204366, Mean R = -2.5 Std R = 5.5 Min R = -19.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -6.55\n",
+ "PolicyLoss: -0.00257\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.47e+07\n",
+ "ValFuncLoss: 3.11e-05\n",
+ "Variance: 0.0491\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013397429 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04926953 0.04607698 0.04533961 0.04778364]\n",
+ "FIT: 0.5189597514899471 2.4750923801001306 0.020694873357730056 0.118272515803872\n",
+ "***** Episode 204487, Mean R = -2.8 Std R = 4.8 Min R = -18.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.00134\n",
+ "PolicyEntropy: -6.55\n",
+ "PolicyLoss: -0.0029\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.47e+07\n",
+ "ValFuncLoss: 1.75e-05\n",
+ "Variance: 0.0493\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012790464 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04938708 0.04596756 0.045393 0.04768899]\n",
+ "FIT: 0.580504764988587 2.377482765922565 0.019632948782577982 0.11490440099743293\n",
+ "***** Episode 204608, Mean R = -2.1 Std R = 5.0 Min R = -20.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.00128\n",
+ "PolicyEntropy: -6.55\n",
+ "PolicyLoss: -0.00226\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.48e+07\n",
+ "ValFuncLoss: 1.62e-05\n",
+ "Variance: 0.0494\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011996554 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0494155 0.04595197 0.04558005 0.04772922]\n",
+ "FIT: 0.8004172207802565 2.457047903861001 0.02093750358804953 0.11746125579384997\n",
+ "***** Episode 204729, Mean R = -2.9 Std R = 5.4 Min R = -32.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.997\n",
+ "ExplainedVarOld: 0.971\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: -6.54\n",
+ "PolicyLoss: -0.00229\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.48e+07\n",
+ "ValFuncLoss: 7.92e-06\n",
+ "Variance: 0.0494\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012512119 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04946779 0.0460133 0.04565491 0.04782321]\n",
+ "FIT: 0.48239460409033047 2.424227229557924 0.019412534891841412 0.11525721781586531\n",
+ "***** Episode 204850, Mean R = -2.2 Std R = 4.6 Min R = -18.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00125\n",
+ "PolicyEntropy: -6.54\n",
+ "PolicyLoss: -0.00194\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 5.48e+07\n",
+ "ValFuncLoss: 3.2e-05\n",
+ "Variance: 0.0495\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012289807 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04941268 0.04581795 0.04559337 0.04784521]\n",
+ "FIT: 0.5955795798658262 2.2244854806940944 0.019236041306600803 0.11725838677424091\n",
+ "Update Cnt = 1530 ET = 983.9 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.3 -0.0 | 1.0 1.0 0.0 | -3.4 -4.9 -0.1 | 3.9 3.5 -0.0\n",
+ "v_f | 0.01 -0.07 -0.93 | 0.08 0.08 0.14 | -0.35 -0.42 -1.38 | 0.30 0.27 -0.33\n",
+ "r_i | 981.3 43.7 2351.3 | 568.2 578.4 29.1 | 0.2 -998.5 2300.1 | 1990.9 999.8 2399.8\n",
+ "v_i | -40.49 0.20 -80.01 | 17.06 16.99 5.70 | -69.95 -29.98 -89.99 | -10.12 29.94 -70.01\n",
+ "norm_rf | 1.2 | 0.8 | 0.1 | 4.9\n",
+ "norm_vf | 0.94 | 0.13 | 0.36 | 1.38\n",
+ "gs_f | 23.1 | 21.8 | 3.5 | 385.0\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "thrust | 1245 -4 9245 | 2905 2817 1996 | -16077 -16707 2000 | 16710 16529 19999\n",
+ "norm_thrust | 9888 | 3097 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 259 | 342\n",
+ "rewards | -2.50 | 5.06 | -32.10 | 3.95\n",
+ "fuel_rewards | -7.50 | 0.38 | -8.82 | -6.68\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.53 | 0.54 | 0.63 | 4.31\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.18\n",
+ "norm_wf | 0.12 | 0.07 | 0.01 | 0.39\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.06 | 0.62 | -13.39 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 0.00 | 0.34 0.21 0.19 | -1.38 -1.00 -1.03 | 1.22 1.07 1.05\n",
+ "w | -0.00 -0.01 -0.00 | 0.20 0.19 0.01 | -1.77 -2.60 -0.09 | 2.17 1.31 0.07\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.10 -0.14 | 0.12 0.17\n",
+ "w_f | -0.01 -0.03 -0.00 | 0.10 0.09 0.01 | -0.38 -0.39 -0.08 | 0.34 0.29 0.06\n",
+ "landing_rewards | 9.74 | 1.58 | 0.00 | 10.00\n",
+ "landing_margin | -0.09 | 0.09 | -0.19 | 1.55\n",
+ "tracking_rewards | -4.67 | 4.49 | -26.41 | 1.18\n",
+ "steps | 303 | 23 | 252 | 379\n",
+ "***** Episode 204971, Mean R = -2.1 Std R = 4.8 Min R = -21.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -6.54\n",
+ "PolicyLoss: -0.0025\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.49e+07\n",
+ "ValFuncLoss: 2.63e-05\n",
+ "Variance: 0.0494\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009837716 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04933846 0.04568684 0.04562913 0.04778726]\n",
+ "FIT: 1.0077408721003567 2.274812149260789 0.021008280142215625 0.11825249394536572\n",
+ "***** Episode 205092, Mean R = -2.8 Std R = 6.3 Min R = -41.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.966\n",
+ "KL: 0.000984\n",
+ "PolicyEntropy: -6.55\n",
+ "PolicyLoss: -0.00204\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.49e+07\n",
+ "ValFuncLoss: 2.32e-05\n",
+ "Variance: 0.0493\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0007292122 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04936271 0.04561052 0.04576628 0.04781871]\n",
+ "FIT: 0.5109554439606453 2.1783828403385894 0.021021022962220647 0.11911375133947263\n",
+ "***** Episode 205213, Mean R = -3.0 Std R = 4.9 Min R = -17.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.000729\n",
+ "PolicyEntropy: -6.54\n",
+ "PolicyLoss: -0.00237\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 5.49e+07\n",
+ "ValFuncLoss: 2.03e-05\n",
+ "Variance: 0.0494\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012317256 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0493314 0.04560242 0.04570667 0.04785975]\n",
+ "FIT: 0.5075602880180144 2.37250059740501 0.019536075385450026 0.11701692325565827\n",
+ "***** Episode 205334, Mean R = -2.5 Std R = 5.3 Min R = -25.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.977\n",
+ "ExplainedVarOld: 0.97\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -6.55\n",
+ "PolicyLoss: -0.00198\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.5e+07\n",
+ "ValFuncLoss: 4.58e-05\n",
+ "Variance: 0.0493\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010011673 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04938601 0.04555597 0.04572004 0.04788582]\n",
+ "FIT: 0.5504820040613713 2.3962776530263343 0.02109339015498167 0.1192262883521342\n",
+ "***** Episode 205455, Mean R = -2.9 Std R = 5.4 Min R = -22.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.001\n",
+ "PolicyEntropy: -6.55\n",
+ "PolicyLoss: -0.00264\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 5.5e+07\n",
+ "ValFuncLoss: 2.44e-05\n",
+ "Variance: 0.0494\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011860271 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04937279 0.04554956 0.04557422 0.04784391]\n",
+ "FIT: 0.5044784582453297 2.2969406782436574 0.020328955135179672 0.12036721503963915\n",
+ "***** Episode 205576, Mean R = -3.0 Std R = 4.8 Min R = -17.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -6.55\n",
+ "PolicyLoss: -0.00234\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.5e+07\n",
+ "ValFuncLoss: 3.89e-05\n",
+ "Variance: 0.0494\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012320369 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04955544 0.04555997 0.04551116 0.04789666]\n",
+ "FIT: 0.9556318074875547 2.4770335379042687 0.022210075594898 0.11996354905798089\n",
+ "***** Episode 205697, Mean R = -3.7 Std R = 6.1 Min R = -36.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.966\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -6.55\n",
+ "PolicyLoss: -0.00192\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 5.51e+07\n",
+ "ValFuncLoss: 2.72e-05\n",
+ "Variance: 0.0496\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014760284 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04986078 0.04562525 0.04561945 0.04796834]\n",
+ "FIT: 0.5926119843735302 2.4433316792583555 0.02074181391161005 0.1181273310716941\n",
+ "***** Episode 205818, Mean R = -3.0 Std R = 5.5 Min R = -24.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00148\n",
+ "PolicyEntropy: -6.53\n",
+ "PolicyLoss: -0.00287\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 5.51e+07\n",
+ "ValFuncLoss: 2.61e-05\n",
+ "Variance: 0.0499\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013827004 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04993534 0.04570837 0.04561682 0.04788353]\n",
+ "FIT: 0.5646757317045803 2.34204277541908 0.020644008264595795 0.11625692102636088\n",
+ "***** Episode 205939, Mean R = -2.9 Std R = 5.2 Min R = -21.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.93\n",
+ "KL: 0.00138\n",
+ "PolicyEntropy: -6.53\n",
+ "PolicyLoss: -0.00265\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.52e+07\n",
+ "ValFuncLoss: 4.03e-05\n",
+ "Variance: 0.0499\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001099173 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04979258 0.04568945 0.04569843 0.04784017]\n",
+ "FIT: 1.0515073151063297 2.5330680610776306 0.020589569485636165 0.11757230593708293\n",
+ "***** Episode 206060, Mean R = -2.7 Std R = 7.3 Min R = -58.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.967\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -6.54\n",
+ "PolicyLoss: -0.00235\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 5.52e+07\n",
+ "ValFuncLoss: 1.8e-05\n",
+ "Variance: 0.0498\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013577424 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04969489 0.04571358 0.04579003 0.04780439]\n",
+ "FIT: 0.5560158497544228 2.2541561418519964 0.01981757403547254 0.11837515286417676\n",
+ "Update Cnt = 1540 ET = 985.2 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.3 -0.0 | 1.1 1.0 0.0 | -4.7 -3.9 -0.1 | 4.0 3.6 -0.0\n",
+ "v_f | 0.02 -0.07 -0.93 | 0.08 0.08 0.14 | -0.68 -0.44 -1.37 | 0.37 0.26 -0.42\n",
+ "r_i | 971.1 -5.8 2350.2 | 565.5 575.8 29.2 | 1.4 -999.4 2300.0 | 1999.3 998.5 2399.8\n",
+ "v_i | -39.59 -0.43 -79.92 | 17.41 17.38 5.78 | -69.97 -29.98 -89.99 | -10.04 29.98 -70.01\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.1\n",
+ "norm_vf | 0.94 | 0.14 | 0.45 | 1.37\n",
+ "gs_f | 26.2 | 49.1 | 3.5 | 1402.4\n",
+ "thrust | 1215 20 9227 | 2925 2886 2000 | -15199 -17119 2000 | 16599 16870 19995\n",
+ "norm_thrust | 9887 | 3123 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 263 | 357\n",
+ "rewards | -2.90 | 5.60 | -58.06 | 4.22\n",
+ "fuel_rewards | -7.52 | 0.39 | -9.20 | -6.77\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.52 | 0.54 | 0.54 | 6.48\n",
+ "norm_af | 0.04 | 0.03 | 0.00 | 0.30\n",
+ "norm_wf | 0.12 | 0.07 | 0.01 | 0.54\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.10 | 1.13 | -23.73 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.12 0.00 | 0.35 0.21 0.20 | -1.11 -0.90 -1.03 | 1.33 1.09 1.00\n",
+ "w | -0.00 -0.01 -0.00 | 0.20 0.20 0.01 | -1.67 -2.48 -0.18 | 2.15 1.52 0.10\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.11 -0.14 | 0.20 0.22\n",
+ "w_f | -0.01 -0.02 -0.00 | 0.11 0.09 0.02 | -0.51 -0.36 -0.17 | 0.38 0.33 0.09\n",
+ "landing_rewards | 9.64 | 1.87 | 0.00 | 10.00\n",
+ "landing_margin | -0.08 | 0.10 | -0.19 | 1.50\n",
+ "tracking_rewards | -4.92 | 4.61 | -30.58 | 1.18\n",
+ "steps | 303 | 25 | 247 | 381\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 206181, Mean R = -2.4 Std R = 4.6 Min R = -19.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00136\n",
+ "PolicyEntropy: -6.54\n",
+ "PolicyLoss: -0.00207\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.52e+07\n",
+ "ValFuncLoss: 2.51e-05\n",
+ "Variance: 0.0497\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014711531 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04980939 0.04563452 0.04582222 0.04773824]\n",
+ "FIT: 0.5146063411738422 2.3424922269893385 0.02009265186416929 0.11607826567997578\n",
+ "***** Episode 206302, Mean R = -2.6 Std R = 4.6 Min R = -25.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.961\n",
+ "KL: 0.00147\n",
+ "PolicyEntropy: -6.54\n",
+ "PolicyLoss: -0.00216\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 5.53e+07\n",
+ "ValFuncLoss: 1.98e-05\n",
+ "Variance: 0.0498\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012482005 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04971984 0.04552485 0.04596997 0.04766259]\n",
+ "FIT: 0.6120089135856678 2.5859716972492928 0.02194691441985999 0.12039760764044424\n",
+ "***** Episode 206423, Mean R = -3.6 Std R = 5.8 Min R = -26.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00125\n",
+ "PolicyEntropy: -6.54\n",
+ "PolicyLoss: -0.0021\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.53e+07\n",
+ "ValFuncLoss: 4.57e-05\n",
+ "Variance: 0.0497\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001066465 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04955525 0.04540512 0.04612336 0.04749613]\n",
+ "FIT: 0.5583366837797651 2.4075175509650104 0.021125634775317995 0.11732635621101752\n",
+ "***** Episode 206544, Mean R = -2.9 Std R = 4.7 Min R = -19.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -6.54\n",
+ "PolicyLoss: -0.00218\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 5.53e+07\n",
+ "ValFuncLoss: 2.33e-05\n",
+ "Variance: 0.0496\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012991406 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04947823 0.04537722 0.04589132 0.04750653]\n",
+ "FIT: 0.5311680237291119 2.3407730533054263 0.021519230370292717 0.1186601999122335\n",
+ "***** Episode 206665, Mean R = -3.1 Std R = 5.1 Min R = -20.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.0013\n",
+ "PolicyEntropy: -6.55\n",
+ "PolicyLoss: -0.00284\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 5.54e+07\n",
+ "ValFuncLoss: 3e-05\n",
+ "Variance: 0.0495\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001180456 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04959074 0.04526148 0.04579204 0.04752986]\n",
+ "FIT: 0.6113111103088772 2.466971735980482 0.020253178736498113 0.12006968394151851\n",
+ "***** Episode 206786, Mean R = -2.7 Std R = 4.8 Min R = -23.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -6.55\n",
+ "PolicyLoss: -0.00242\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 5.54e+07\n",
+ "ValFuncLoss: 1.73e-05\n",
+ "Variance: 0.0496\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012613579 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04971313 0.04528902 0.04582896 0.04756455]\n",
+ "FIT: 0.5442202186475305 2.4151128087113256 0.021615825919078246 0.12095248044940392\n",
+ "***** Episode 206907, Mean R = -3.7 Std R = 5.3 Min R = -25.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00126\n",
+ "PolicyEntropy: -6.55\n",
+ "PolicyLoss: -0.00229\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.55e+07\n",
+ "ValFuncLoss: 3.38e-05\n",
+ "Variance: 0.0497\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011453354 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04975452 0.0452051 0.04574836 0.04754549]\n",
+ "FIT: 0.5049168990352851 2.374329668839843 0.020446348450284254 0.11933440391609572\n",
+ "***** Episode 207028, Mean R = -3.1 Std R = 4.6 Min R = -17.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00115\n",
+ "PolicyEntropy: -6.55\n",
+ "PolicyLoss: -0.0023\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 5.55e+07\n",
+ "ValFuncLoss: 4.51e-05\n",
+ "Variance: 0.0498\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014041725 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04975082 0.04517593 0.04559605 0.0474976 ]\n",
+ "FIT: 0.5282381492635189 2.3214567362270557 0.022013271619119222 0.11830760189604869\n",
+ "***** Episode 207149, Mean R = -3.7 Std R = 5.4 Min R = -26.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.0014\n",
+ "PolicyEntropy: -6.56\n",
+ "PolicyLoss: -0.00251\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 5.55e+07\n",
+ "ValFuncLoss: 3.77e-05\n",
+ "Variance: 0.0498\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012786516 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04984454 0.04513822 0.04555904 0.04752542]\n",
+ "FIT: 0.5360843676695475 2.5113804025250848 0.021368352915947728 0.11590206098434366\n",
+ "***** Episode 207270, Mean R = -3.3 Std R = 5.5 Min R = -21.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00128\n",
+ "PolicyEntropy: -6.56\n",
+ "PolicyLoss: -0.00222\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 5.56e+07\n",
+ "ValFuncLoss: 3.69e-05\n",
+ "Variance: 0.0498\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0015145997 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04977454 0.04520977 0.0454748 0.04752892]\n",
+ "FIT: 0.5713124023554605 2.6143313776751214 0.019441508558823782 0.11816488091444191\n",
+ "Update Cnt = 1550 ET = 994.6 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.3 -0.0 | 1.1 1.1 0.0 | -3.8 -5.2 -0.1 | 3.3 4.4 -0.0\n",
+ "v_f | 0.02 -0.07 -0.93 | 0.07 0.08 0.14 | -0.25 -0.51 -1.37 | 0.39 0.34 -0.18\n",
+ "r_i | 995.4 5.0 2351.2 | 592.2 585.2 28.0 | 0.1 -996.5 2300.1 | 1999.9 998.4 2399.9\n",
+ "v_i | -40.18 0.77 -80.23 | 17.19 17.32 5.60 | -69.99 -29.98 -89.99 | -10.00 29.99 -70.03\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.2\n",
+ "norm_vf | 0.94 | 0.13 | 0.39 | 1.37\n",
+ "gs_f | 25.8 | 34.8 | 4.1 | 872.4\n",
+ "thrust | 1230 -21 9234 | 2932 2952 2013 | -15505 -16963 2000 | 16591 16691 19999\n",
+ "norm_thrust | 9911 | 3151 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 262 | 353\n",
+ "rewards | -3.11 | 5.11 | -26.81 | 4.07\n",
+ "fuel_rewards | -7.54 | 0.38 | -9.09 | -6.74\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.50 | 0.53 | 0.57 | 4.58\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.16\n",
+ "norm_wf | 0.12 | 0.07 | 0.00 | 0.42\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.35 | -5.16 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 0.00 | 0.34 0.21 0.20 | -1.18 -0.99 -1.03 | 1.34 1.05 1.06\n",
+ "w | -0.00 -0.01 -0.00 | 0.20 0.20 0.01 | -1.73 -2.43 -0.11 | 1.87 1.51 0.06\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.13 -0.12 | 0.10 0.13\n",
+ "w_f | -0.01 -0.02 -0.00 | 0.10 0.09 0.01 | -0.37 -0.35 -0.09 | 0.37 0.25 0.06\n",
+ "landing_rewards | 9.60 | 1.97 | 0.00 | 10.00\n",
+ "landing_margin | -0.09 | 0.07 | -0.19 | 0.85\n",
+ "tracking_rewards | -5.12 | 4.53 | -28.52 | 1.18\n",
+ "steps | 303 | 24 | 250 | 377\n",
+ "***** Episode 207391, Mean R = -2.4 Std R = 5.0 Min R = -21.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00151\n",
+ "PolicyEntropy: -6.56\n",
+ "PolicyLoss: -0.00174\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 5.56e+07\n",
+ "ValFuncLoss: 3.94e-05\n",
+ "Variance: 0.0498\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013584931 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04976831 0.04525522 0.04544657 0.0474739 ]\n",
+ "FIT: 0.5790689760873176 2.358023025706503 0.01982380626329869 0.11490823308441837\n",
+ "***** Episode 207512, Mean R = -2.4 Std R = 4.7 Min R = -20.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00136\n",
+ "PolicyEntropy: -6.56\n",
+ "PolicyLoss: -0.0028\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.56e+07\n",
+ "ValFuncLoss: 2.13e-05\n",
+ "Variance: 0.0498\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011277515 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04973042 0.04531667 0.04559081 0.04740592]\n",
+ "FIT: 0.7427525829998586 2.532500327923575 0.020881845982224673 0.11402416521211214\n",
+ "***** Episode 207633, Mean R = -2.7 Std R = 6.1 Min R = -36.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -6.56\n",
+ "PolicyLoss: -0.00256\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.57e+07\n",
+ "ValFuncLoss: 3.21e-05\n",
+ "Variance: 0.0497\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012353617 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04958201 0.04530726 0.04584491 0.04740546]\n",
+ "FIT: 0.8843608984960685 2.339103494722225 0.02092203975057728 0.1176981784340574\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 207754, Mean R = -2.9 Std R = 5.0 Min R = -23.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -6.55\n",
+ "PolicyLoss: -0.00267\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.57e+07\n",
+ "ValFuncLoss: 3.54e-05\n",
+ "Variance: 0.0496\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0016532831 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04956671 0.04508132 0.04590363 0.04724632]\n",
+ "FIT: 0.8405949420447347 2.6113060651663593 0.021775138627114405 0.1195613041220232\n",
+ "***** Episode 207875, Mean R = -3.7 Std R = 6.4 Min R = -30.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.955\n",
+ "KL: 0.00165\n",
+ "PolicyEntropy: -6.56\n",
+ "PolicyLoss: -0.00296\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.57e+07\n",
+ "ValFuncLoss: 5.31e-05\n",
+ "Variance: 0.0496\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010313443 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04962482 0.04498465 0.04580432 0.04696156]\n",
+ "FIT: 0.661357208998576 2.40979682599748 0.02043315104700791 0.1162917609141912\n",
+ "***** Episode 207996, Mean R = -2.5 Std R = 5.4 Min R = -30.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -6.57\n",
+ "PolicyLoss: -0.00267\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 5.58e+07\n",
+ "ValFuncLoss: 1.8e-05\n",
+ "Variance: 0.0496\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010248332 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04959447 0.04493326 0.04574902 0.04675592]\n",
+ "FIT: 0.6056688900257633 2.4730293184730736 0.021466238640729694 0.11684889459307995\n",
+ "***** Episode 208117, Mean R = -3.1 Std R = 5.7 Min R = -32.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -6.58\n",
+ "PolicyLoss: -0.0024\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 5.58e+07\n",
+ "ValFuncLoss: 2.44e-05\n",
+ "Variance: 0.0496\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010901027 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04968618 0.04482993 0.04552526 0.04679555]\n",
+ "FIT: 0.6888690638493227 2.5085423284767363 0.02145955340602142 0.11634971571736828\n",
+ "***** Episode 208238, Mean R = -3.2 Std R = 5.4 Min R = -27.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.968\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -6.58\n",
+ "PolicyLoss: -0.00208\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 5.59e+07\n",
+ "ValFuncLoss: 3.59e-05\n",
+ "Variance: 0.0497\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012936704 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04961633 0.04470866 0.04554322 0.04682946]\n",
+ "FIT: 0.4977688489278888 2.3680173048642237 0.020801719505078062 0.11981542778091636\n",
+ "***** Episode 208359, Mean R = -2.9 Std R = 5.0 Min R = -18.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00129\n",
+ "PolicyEntropy: -6.59\n",
+ "PolicyLoss: -0.00238\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.59e+07\n",
+ "ValFuncLoss: 1.72e-05\n",
+ "Variance: 0.0496\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012333092 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04951405 0.04462142 0.04542582 0.0467999 ]\n",
+ "FIT: 0.7831000391633458 2.548185295760615 0.022631166800303325 0.12113882847964091\n",
+ "***** Episode 208480, Mean R = -4.0 Std R = 6.6 Min R = -38.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -6.59\n",
+ "PolicyLoss: -0.00278\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 5.59e+07\n",
+ "ValFuncLoss: 4.82e-05\n",
+ "Variance: 0.0495\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011864514 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04963568 0.0446422 0.04522489 0.04675399]\n",
+ "FIT: 0.5874382550855941 2.415454563999949 0.02100697883414931 0.117077471258716\n",
+ "Update Cnt = 1560 ET = 990.5 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.0 1.0 0.0 | -3.5 -4.5 -0.1 | 3.0 4.0 -0.0\n",
+ "v_f | 0.02 -0.05 -0.94 | 0.07 0.08 0.14 | -0.21 -0.41 -1.42 | 0.41 0.27 -0.43\n",
+ "r_i | 993.1 10.3 2351.4 | 583.7 566.3 29.1 | 1.4 -997.7 2300.0 | 1997.6 998.2 2399.9\n",
+ "v_i | -41.02 -0.30 -80.47 | 17.40 17.40 5.81 | -69.99 -29.90 -89.99 | -10.01 29.93 -70.02\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 4.7\n",
+ "norm_vf | 0.95 | 0.13 | 0.48 | 1.42\n",
+ "gs_f | 29.9 | 48.8 | 4.2 | 1008.6\n",
+ "thrust | 1268 15 9274 | 2944 2891 2015 | -15878 -16857 2000 | 16659 16858 20000\n",
+ "norm_thrust | 9944 | 3134 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 259 | 344\n",
+ "rewards | -3.04 | 5.57 | -38.18 | 3.97\n",
+ "fuel_rewards | -7.52 | 0.39 | -8.86 | -6.67\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.50 | 0.52 | 0.52 | 5.27\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.16\n",
+ "norm_wf | 0.12 | 0.07 | 0.01 | 0.44\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.12 | 0.89 | -14.08 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.04 0.12 0.00 | 0.34 0.21 0.20 | -1.16 -0.95 -1.04 | 1.47 1.07 1.20\n",
+ "w | -0.00 -0.01 0.00 | 0.20 0.19 0.01 | -1.68 -2.59 -0.09 | 2.01 1.31 0.08\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.12 -0.14 | 0.13 0.14\n",
+ "w_f | -0.01 -0.02 0.00 | 0.10 0.09 0.01 | -0.36 -0.34 -0.09 | 0.36 0.31 0.08\n",
+ "landing_rewards | 9.67 | 1.79 | 0.00 | 10.00\n",
+ "landing_margin | -0.09 | 0.07 | -0.19 | 0.78\n",
+ "tracking_rewards | -5.08 | 4.74 | -32.33 | 1.08\n",
+ "steps | 302 | 24 | 247 | 384\n",
+ "***** Episode 208601, Mean R = -3.0 Std R = 4.8 Min R = -21.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -6.6\n",
+ "PolicyLoss: -0.00282\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 5.6e+07\n",
+ "ValFuncLoss: 2.11e-05\n",
+ "Variance: 0.0496\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012421 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04950752 0.04468428 0.04517585 0.04660187]\n",
+ "FIT: 0.5477457262683837 2.43100458096795 0.021538894409667837 0.11736378436149368\n",
+ "***** Episode 208722, Mean R = -3.1 Std R = 5.1 Min R = -22.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.997\n",
+ "ExplainedVarOld: 0.993\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -6.6\n",
+ "PolicyLoss: -0.00309\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 5.6e+07\n",
+ "ValFuncLoss: 9.42e-06\n",
+ "Variance: 0.0495\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010695377 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04943901 0.04465857 0.04513346 0.04648354]\n",
+ "FIT: 0.6376561114727692 2.537076442405356 0.021166178681794826 0.11987758802306613\n",
+ "***** Episode 208843, Mean R = -3.3 Std R = 5.4 Min R = -27.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -6.61\n",
+ "PolicyLoss: -0.00229\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.6e+07\n",
+ "ValFuncLoss: 3.48e-05\n",
+ "Variance: 0.0494\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0008742424 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04934255 0.04479568 0.04512319 0.04635526]\n",
+ "FIT: 0.5283737021677026 2.5046386199384463 0.018896649864132177 0.11392704378523151\n",
+ "***** Episode 208964, Mean R = -1.7 Std R = 4.8 Min R = -19.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.000874\n",
+ "PolicyEntropy: -6.61\n",
+ "PolicyLoss: -0.00227\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 5.61e+07\n",
+ "ValFuncLoss: 3.26e-05\n",
+ "Variance: 0.0493\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0009905618 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04932591 0.04484219 0.04509459 0.04634085]\n",
+ "FIT: 0.5419107245218143 2.3129835319894485 0.01991528397688736 0.1164852936682783\n",
+ "***** Episode 209085, Mean R = -2.7 Std R = 5.5 Min R = -27.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.974\n",
+ "ExplainedVarOld: 0.963\n",
+ "KL: 0.000991\n",
+ "PolicyEntropy: -6.61\n",
+ "PolicyLoss: -0.00226\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.61e+07\n",
+ "ValFuncLoss: 5.32e-05\n",
+ "Variance: 0.0493\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001032103 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04903637 0.04476903 0.04518029 0.04637316]\n",
+ "FIT: 0.48296452976030013 2.36749837756 0.019251964886754902 0.11645741237433661\n",
+ "***** Episode 209206, Mean R = -2.1 Std R = 4.5 Min R = -16.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -6.61\n",
+ "PolicyLoss: -0.00246\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 5.61e+07\n",
+ "ValFuncLoss: 2.33e-05\n",
+ "Variance: 0.049\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0017596126 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04897238 0.04479064 0.04506182 0.04627448]\n",
+ "FIT: 0.5463520915263869 2.341857419731093 0.019850126150152646 0.11794848621314666\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 209327, Mean R = -2.5 Std R = 4.4 Min R = -19.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00176\n",
+ "PolicyEntropy: -6.62\n",
+ "PolicyLoss: -0.000531\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 5.62e+07\n",
+ "ValFuncLoss: 1.75e-05\n",
+ "Variance: 0.049\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012248307 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.0491349 0.04485968 0.04502184 0.04632931]\n",
+ "FIT: 0.6799546837290279 2.5002842878354823 0.021113605315488386 0.11663740641819541\n",
+ "***** Episode 209448, Mean R = -3.0 Std R = 5.1 Min R = -31.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -6.61\n",
+ "PolicyLoss: -0.00245\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.62e+07\n",
+ "ValFuncLoss: 2.25e-05\n",
+ "Variance: 0.0491\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0015850372 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04927436 0.04490455 0.04508648 0.04641507]\n",
+ "FIT: 0.594510134229124 2.483983508601084 0.021095498640239272 0.11723152919081312\n",
+ "***** Episode 209569, Mean R = -3.1 Std R = 5.0 Min R = -20.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.969\n",
+ "KL: 0.00159\n",
+ "PolicyEntropy: -6.61\n",
+ "PolicyLoss: -0.00255\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.63e+07\n",
+ "ValFuncLoss: 2.2e-05\n",
+ "Variance: 0.0493\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0011164311 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04928952 0.04485849 0.04506269 0.04639528]\n",
+ "FIT: 0.52429839777551 2.3050899331520633 0.01989747450900343 0.11632229282177282\n",
+ "***** Episode 209690, Mean R = -2.5 Std R = 4.5 Min R = -17.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.938\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -6.61\n",
+ "PolicyLoss: -0.00138\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.63e+07\n",
+ "ValFuncLoss: 4.02e-05\n",
+ "Variance: 0.0493\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0014257202 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04926676 0.04476246 0.04498924 0.04632616]\n",
+ "FIT: 0.5070355571692632 2.3694653688871927 0.019127299576663596 0.11492680721628681\n",
+ "Update Cnt = 1570 ET = 981.0 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.0 -0.4 -0.0 | 1.0 1.1 0.0 | -3.2 -5.0 -0.1 | 3.4 3.0 -0.0\n",
+ "v_f | 0.02 -0.06 -0.94 | 0.07 0.07 0.15 | -0.34 -0.38 -1.37 | 0.32 0.22 -0.38\n",
+ "r_i | 1019.6 12.0 2349.8 | 576.7 576.5 29.5 | 2.3 -994.6 2300.0 | 1997.8 999.5 2400.0\n",
+ "v_i | -39.70 -0.45 -80.22 | 17.02 17.37 5.70 | -69.93 -29.98 -89.95 | -10.04 29.97 -70.00\n",
+ "norm_rf | 1.3 | 0.8 | 0.1 | 5.3\n",
+ "norm_vf | 0.95 | 0.14 | 0.41 | 1.37\n",
+ "gs_f | 26.2 | 32.8 | 2.2 | 541.6\n",
+ "thrust | 1211 20 9228 | 2870 2888 2020 | -15766 -16999 2000 | 16986 16880 19997\n",
+ "norm_thrust | 9874 | 3129 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 259 | 340\n",
+ "rewards | -2.64 | 5.00 | -31.79 | 3.67\n",
+ "fuel_rewards | -7.52 | 0.37 | -8.77 | -6.69\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.51 | 0.51 | 0.57 | 4.36\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.13\n",
+ "norm_wf | 0.12 | 0.07 | 0.01 | 0.38\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.06 | 0.54 | -9.25 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 -0.00 | 0.33 0.20 0.20 | -1.08 -0.94 -1.05 | 1.50 1.04 1.05\n",
+ "w | -0.00 -0.01 -0.00 | 0.20 0.19 0.01 | -1.71 -2.53 -0.08 | 2.24 1.38 0.15\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.10 -0.12 | 0.09 0.12\n",
+ "w_f | -0.01 -0.02 -0.00 | 0.10 0.09 0.01 | -0.35 -0.30 -0.08 | 0.38 0.29 0.13\n",
+ "landing_rewards | 9.66 | 1.81 | 0.00 | 10.00\n",
+ "landing_margin | -0.09 | 0.11 | -0.19 | 2.79\n",
+ "tracking_rewards | -4.71 | 4.35 | -25.87 | 1.05\n",
+ "steps | 304 | 24 | 246 | 379\n",
+ "***** Episode 209811, Mean R = -2.2 Std R = 5.4 Min R = -23.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.974\n",
+ "ExplainedVarOld: 0.964\n",
+ "KL: 0.00143\n",
+ "PolicyEntropy: -6.61\n",
+ "PolicyLoss: -0.00257\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.63e+07\n",
+ "ValFuncLoss: 4.64e-05\n",
+ "Variance: 0.0493\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.001069201 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04919366 0.04469371 0.04487342 0.04636072]\n",
+ "FIT: 0.6627483747893519 2.386090743783085 0.021964354423030723 0.12028044174002775\n",
+ "***** Episode 209932, Mean R = -3.6 Std R = 5.2 Min R = -24.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -6.62\n",
+ "PolicyLoss: -0.00248\n",
+ "Steps: 3.60e+04\n",
+ "TotalSteps: 5.64e+07\n",
+ "ValFuncLoss: 4.5e-05\n",
+ "Variance: 0.0492\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0012109391 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04921197 0.0445931 0.04478733 0.04642773]\n",
+ "FIT: 0.6404324887417963 2.3881494196382747 0.021479366572367802 0.11785541054604583\n",
+ "***** Episode 210053, Mean R = -3.5 Std R = 5.8 Min R = -37.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -6.62\n",
+ "PolicyLoss: -0.00245\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 5.64e+07\n",
+ "ValFuncLoss: 3.77e-05\n",
+ "Variance: 0.0492\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0013694386 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04921192 0.04457328 0.04464037 0.04634768]\n",
+ "FIT: 0.5515101327208163 2.5650304967176734 0.020298187554112918 0.11641575667975913\n",
+ "***** Episode 210174, Mean R = -2.6 Std R = 4.8 Min R = -20.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00137\n",
+ "PolicyEntropy: -6.63\n",
+ "PolicyLoss: -0.00282\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.64e+07\n",
+ "ValFuncLoss: 1.92e-05\n",
+ "Variance: 0.0492\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ "kl = 0.0010844832 beta = 0.1 lr_mult = 0.4444444444444444\n",
+ "var: [0.04906529 0.04447826 0.04454669 0.04619881]\n",
+ "FIT: 0.5360220584426302 2.3428277528386867 0.01885526686741889 0.11460857360257225\n",
+ "***** Episode 210295, Mean R = -1.7 Std R = 4.2 Min R = -16.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -6.64\n",
+ "PolicyLoss: -0.00234\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.65e+07\n",
+ "ValFuncLoss: 1.57e-05\n",
+ "Variance: 0.0491\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ " *** BROKE ***\n",
+ "kl = 0.004862175 beta = 0.06666666666666667 lr_mult = 0.4444444444444444\n",
+ "var: [0.0489191 0.04445488 0.04444212 0.04614934]\n",
+ "FIT: 0.5352401932117853 2.596560851424035 0.02038936987317734 0.11637572484122306\n",
+ "***** Episode 210416, Mean R = -2.6 Std R = 4.4 Min R = -19.4\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00486\n",
+ "PolicyEntropy: -6.64\n",
+ "PolicyLoss: 0.00237\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 5.65e+07\n",
+ "ValFuncLoss: 2.27e-05\n",
+ "Variance: 0.0489\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ " *** BROKE ***\n",
+ "kl = 0.0057243267 beta = 0.044444444444444446 lr_mult = 0.4444444444444444\n",
+ "var: [0.04889058 0.04445596 0.04441802 0.04614386]\n",
+ "FIT: 0.7641303009982148 2.5207038112037035 0.02011799118777007 0.11988581495493432\n",
+ "***** Episode 210537, Mean R = -2.5 Std R = 5.3 Min R = -24.3\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.00572\n",
+ "PolicyEntropy: -6.65\n",
+ "PolicyLoss: 0.006\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.66e+07\n",
+ "ValFuncLoss: 1.46e-05\n",
+ "Variance: 0.0489\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ " *** BROKE ***\n",
+ "kl = 0.006803065 beta = 0.02962962962962963 lr_mult = 0.4444444444444444\n",
+ "var: [0.04884747 0.04444526 0.04437413 0.04612704]\n",
+ "FIT: 0.487784367358545 2.393939500702563 0.020486113634128496 0.11932684560275042\n",
+ "***** Episode 210658, Mean R = -2.8 Std R = 4.9 Min R = -18.1\n",
+ "Beta: 0.0296\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.0068\n",
+ "PolicyEntropy: -6.65\n",
+ "PolicyLoss: 0.0129\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.66e+07\n",
+ "ValFuncLoss: 1.51e-05\n",
+ "Variance: 0.0488\n",
+ "lr_multiplier: 0.444\n",
+ "\n",
+ "\n",
+ " *** BROKE ***\n",
+ "kl = 0.0052203285 beta = 0.019753086419753086 lr_mult = 0.2962962962962963\n",
+ "var: [0.04883951 0.04443587 0.04435839 0.04611834]\n",
+ "FIT: 0.5549387778433195 2.385632462183564 0.020743385214285644 0.11644989918482261\n",
+ "***** Episode 210779, Mean R = -3.2 Std R = 5.7 Min R = -26.2\n",
+ "Beta: 0.0198\n",
+ "ExplainedVarNew: 0.971\n",
+ "ExplainedVarOld: 0.956\n",
+ "KL: 0.00522\n",
+ "PolicyEntropy: -6.65\n",
+ "PolicyLoss: 0.0134\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.66e+07\n",
+ "ValFuncLoss: 7.28e-05\n",
+ "Variance: 0.0488\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0006831558 beta = 0.019753086419753086 lr_mult = 0.2962962962962963\n",
+ "var: [0.04883522 0.04438335 0.04439658 0.04615534]\n",
+ "FIT: 0.6907496494186819 2.439614771014659 0.02150727692391974 0.11570712175834932\n",
+ "***** Episode 210900, Mean R = -3.1 Std R = 6.1 Min R = -29.7\n",
+ "Beta: 0.0198\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.000683\n",
+ "PolicyEntropy: -6.65\n",
+ "PolicyLoss: 0.00292\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.67e+07\n",
+ "ValFuncLoss: 2.72e-05\n",
+ "Variance: 0.0488\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0008089328 beta = 0.019753086419753086 lr_mult = 0.2962962962962963\n",
+ "var: [0.04883154 0.04436118 0.04441371 0.04613774]\n",
+ "FIT: 0.5708486654302043 2.3576205694445966 0.01959578341126271 0.11528612646433566\n",
+ "Update Cnt = 1580 ET = 966.4 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.4 -0.0 | 1.0 1.0 0.0 | -3.9 -4.6 -0.1 | 4.4 3.0 -0.0\n",
+ "v_f | 0.01 -0.08 -0.92 | 0.07 0.08 0.14 | -0.28 -0.44 -1.37 | 0.31 0.43 -0.31\n",
+ "r_i | 995.9 21.6 2350.5 | 574.6 574.5 28.1 | 5.6 -999.1 2300.0 | 1997.7 997.6 2399.8\n",
+ "v_i | -39.46 -0.13 -80.30 | 17.32 17.00 5.70 | -69.86 -29.97 -89.97 | -10.00 29.92 -70.02\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.2\n",
+ "norm_vf | 0.93 | 0.14 | 0.33 | 1.37\n",
+ "gs_f | 25.5 | 37.0 | 3.4 | 661.5\n",
+ "thrust | 1207 8 9242 | 2910 2855 2026 | -16133 -16689 2000 | 16739 16939 20000\n",
+ "norm_thrust | 9890 | 3126 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 259 | 349\n",
+ "rewards | -2.79 | 5.24 | -37.26 | 3.87\n",
+ "fuel_rewards | -7.52 | 0.39 | -9.00 | -6.68\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.53 | 0.55 | 0.59 | 5.76\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.16\n",
+ "norm_wf | 0.12 | 0.07 | 0.00 | 0.50\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.06 | 0.56 | -12.57 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.12 0.00 | 0.34 0.21 0.19 | -1.20 -0.87 -1.02 | 1.48 1.12 1.10\n",
+ "w | -0.00 -0.01 -0.00 | 0.19 0.19 0.01 | -1.81 -2.31 -0.07 | 2.27 1.31 0.12\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.10 -0.15 | 0.12 0.15\n",
+ "w_f | -0.01 -0.01 -0.00 | 0.10 0.09 0.01 | -0.42 -0.43 -0.06 | 0.42 0.38 0.11\n",
+ "landing_rewards | 9.62 | 1.91 | 0.00 | 10.00\n",
+ "landing_margin | -0.09 | 0.10 | -0.19 | 1.59\n",
+ "tracking_rewards | -4.83 | 4.48 | -29.39 | 0.88\n",
+ "steps | 303 | 24 | 251 | 378\n",
+ "***** Episode 211021, Mean R = -2.4 Std R = 5.4 Min R = -28.1\n",
+ "Beta: 0.0198\n",
+ "ExplainedVarNew: 0.978\n",
+ "ExplainedVarOld: 0.966\n",
+ "KL: 0.000809\n",
+ "PolicyEntropy: -6.65\n",
+ "PolicyLoss: 0.00364\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.67e+07\n",
+ "ValFuncLoss: 4.44e-05\n",
+ "Variance: 0.0488\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00097195513 beta = 0.019753086419753086 lr_mult = 0.2962962962962963\n",
+ "var: [0.04877966 0.04436111 0.04447214 0.04608757]\n",
+ "FIT: 0.6353976623671621 2.617441642492432 0.022081098839725737 0.11925813983715754\n",
+ "***** Episode 211142, Mean R = -3.3 Std R = 6.3 Min R = -27.8\n",
+ "Beta: 0.0198\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.974\n",
+ "KL: 0.000972\n",
+ "PolicyEntropy: -6.65\n",
+ "PolicyLoss: 0.00364\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 5.67e+07\n",
+ "ValFuncLoss: 2.74e-05\n",
+ "Variance: 0.0488\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00011345701 beta = 0.02962962962962963 lr_mult = 0.2962962962962963\n",
+ "var: [0.04874358 0.04432496 0.04442341 0.04603913]\n",
+ "FIT: 0.511171908698721 2.437815484596142 0.021549676336235276 0.11934718614747054\n",
+ "***** Episode 211263, Mean R = -3.3 Std R = 5.5 Min R = -20.7\n",
+ "Beta: 0.0296\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.000113\n",
+ "PolicyEntropy: -6.65\n",
+ "PolicyLoss: 0.000446\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 5.68e+07\n",
+ "ValFuncLoss: 1.81e-05\n",
+ "Variance: 0.0487\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.000118248 beta = 0.044444444444444446 lr_mult = 0.2962962962962963\n",
+ "var: [0.04870834 0.04434745 0.0443692 0.04598821]\n",
+ "FIT: 0.5785119930662221 2.2661143856763264 0.02062563435138608 0.11602731979217737\n",
+ "***** Episode 211384, Mean R = -2.7 Std R = 4.9 Min R = -23.8\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.000118\n",
+ "PolicyEntropy: -6.66\n",
+ "PolicyLoss: -0.000602\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.68e+07\n",
+ "ValFuncLoss: 2.08e-05\n",
+ "Variance: 0.0487\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00027285327 beta = 0.06666666666666667 lr_mult = 0.2962962962962963\n",
+ "var: [0.04879599 0.04434236 0.04431238 0.04599448]\n",
+ "FIT: 0.5141079672649305 2.6263041179190783 0.021130180355632317 0.1155644767413671\n",
+ "***** Episode 211505, Mean R = -2.9 Std R = 5.1 Min R = -18.4\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.994\n",
+ "KL: 0.000273\n",
+ "PolicyEntropy: -6.66\n",
+ "PolicyLoss: -0.00119\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.68e+07\n",
+ "ValFuncLoss: 1.03e-05\n",
+ "Variance: 0.0488\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.000539547 beta = 0.06666666666666667 lr_mult = 0.2962962962962963\n",
+ "var: [0.04891028 0.04435677 0.0443591 0.04587659]\n",
+ "FIT: 0.6102192130537624 2.4597540469397985 0.020212833588018907 0.11852775991185872\n",
+ "***** Episode 211626, Mean R = -2.7 Std R = 5.0 Min R = -26.0\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.00054\n",
+ "PolicyEntropy: -6.65\n",
+ "PolicyLoss: -0.00151\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.69e+07\n",
+ "ValFuncLoss: 2.08e-05\n",
+ "Variance: 0.0489\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00058610475 beta = 0.06666666666666667 lr_mult = 0.2962962962962963\n",
+ "var: [0.04896886 0.04442956 0.04429434 0.04594011]\n",
+ "FIT: 0.5311156733522228 2.4187371040870937 0.019934650124019404 0.11568484989960719\n",
+ "***** Episode 211747, Mean R = -2.4 Std R = 4.6 Min R = -19.7\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.000586\n",
+ "PolicyEntropy: -6.65\n",
+ "PolicyLoss: -0.00129\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 5.69e+07\n",
+ "ValFuncLoss: 2.95e-05\n",
+ "Variance: 0.049\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00047157583 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04903156 0.04456764 0.04430503 0.04600677]\n",
+ "FIT: 0.6681418341848233 2.5124287497247986 0.020735926367023743 0.11851761002954744\n",
+ "***** Episode 211868, Mean R = -3.1 Std R = 5.3 Min R = -27.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.948\n",
+ "KL: 0.000472\n",
+ "PolicyEntropy: -6.65\n",
+ "PolicyLoss: -0.00171\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.7e+07\n",
+ "ValFuncLoss: 2.78e-05\n",
+ "Variance: 0.049\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013980349 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04914083 0.04456105 0.04428255 0.0460391 ]\n",
+ "FIT: 0.6461589011743046 2.4783058494183536 0.020242579501810933 0.11772867072153254\n",
+ "***** Episode 211989, Mean R = -2.7 Std R = 4.8 Min R = -21.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.0014\n",
+ "PolicyEntropy: -6.64\n",
+ "PolicyLoss: -0.00235\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 5.7e+07\n",
+ "ValFuncLoss: 2.53e-05\n",
+ "Variance: 0.0491\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.000690919 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04918189 0.04446609 0.04422219 0.0460024 ]\n",
+ "FIT: 0.5640570740357146 2.446425124301451 0.019703403624433593 0.11775559165447894\n",
+ "***** Episode 212110, Mean R = -2.1 Std R = 4.6 Min R = -21.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.000691\n",
+ "PolicyEntropy: -6.65\n",
+ "PolicyLoss: -0.00249\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.7e+07\n",
+ "ValFuncLoss: 1.34e-05\n",
+ "Variance: 0.0492\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011231798 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04923186 0.04445147 0.04419287 0.04602531]\n",
+ "FIT: 0.6549441756730597 2.345888577632875 0.021622996328547105 0.11744541584461836\n",
+ "Update Cnt = 1590 ET = 978.2 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.4 -0.0 | 1.0 1.0 0.0 | -3.4 -3.9 -0.1 | 3.7 3.5 -0.0\n",
+ "v_f | 0.01 -0.08 -0.93 | 0.07 0.08 0.14 | -0.30 -0.36 -1.36 | 0.33 0.40 -0.48\n",
+ "r_i | 999.3 -1.5 2349.4 | 564.7 575.4 28.4 | 2.4 -999.0 2300.2 | 1999.5 999.4 2399.7\n",
+ "v_i | -40.48 0.33 -80.19 | 17.18 17.11 5.68 | -69.98 -29.75 -89.99 | -10.04 29.97 -70.03\n",
+ "norm_rf | 1.3 | 0.8 | 0.1 | 4.7\n",
+ "norm_vf | 0.94 | 0.13 | 0.49 | 1.36\n",
+ "gs_f | 24.2 | 28.0 | 4.2 | 629.0\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "thrust | 1243 -5 9245 | 2919 2922 2000 | -15029 -17040 2000 | 17112 16422 19999\n",
+ "norm_thrust | 9913 | 3132 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 259 | 352\n",
+ "rewards | -2.81 | 5.23 | -30.47 | 3.79\n",
+ "fuel_rewards | -7.52 | 0.40 | -9.06 | -6.66\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.50 | 0.51 | 0.56 | 4.29\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.16\n",
+ "norm_wf | 0.12 | 0.06 | 0.00 | 0.38\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.08 | 0.66 | -12.16 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.04 0.12 0.00 | 0.34 0.21 0.20 | -1.15 -0.97 -1.09 | 1.43 1.10 1.07\n",
+ "w | -0.00 -0.01 0.00 | 0.19 0.19 0.01 | -1.74 -2.24 -0.11 | 2.12 1.38 0.11\n",
+ "a_f | -0.01 0.00 | 0.03 0.03 | -0.12 -0.11 | 0.08 0.16\n",
+ "w_f | -0.01 -0.02 0.00 | 0.10 0.09 0.01 | -0.36 -0.33 -0.11 | 0.35 0.29 0.11\n",
+ "landing_rewards | 9.79 | 1.45 | 0.00 | 10.00\n",
+ "landing_margin | -0.09 | 0.07 | -0.19 | 0.82\n",
+ "tracking_rewards | -5.00 | 4.68 | -32.58 | 0.99\n",
+ "steps | 303 | 23 | 255 | 388\n",
+ "***** Episode 212231, Mean R = -3.1 Std R = 5.9 Min R = -30.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -6.65\n",
+ "PolicyLoss: -0.00217\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.71e+07\n",
+ "ValFuncLoss: 1.68e-05\n",
+ "Variance: 0.0492\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010059502 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04925411 0.04447719 0.04415424 0.04597741]\n",
+ "FIT: 0.5687119770535141 2.5877825460284343 0.019470827681119067 0.11679737373499767\n",
+ "***** Episode 212352, Mean R = -2.4 Std R = 5.0 Min R = -22.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.978\n",
+ "ExplainedVarOld: 0.97\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -6.65\n",
+ "PolicyLoss: -0.00192\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.71e+07\n",
+ "ValFuncLoss: 4.34e-05\n",
+ "Variance: 0.0493\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009806891 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04906102 0.044573 0.04413761 0.0459279 ]\n",
+ "FIT: 0.5521677637409814 2.445487474980798 0.01959875532799232 0.11730589966073218\n",
+ "***** Episode 212473, Mean R = -2.3 Std R = 4.8 Min R = -19.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.000981\n",
+ "PolicyEntropy: -6.65\n",
+ "PolicyLoss: -0.00196\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 5.71e+07\n",
+ "ValFuncLoss: 3.51e-05\n",
+ "Variance: 0.0491\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010330661 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04907998 0.04458274 0.04415904 0.04583424]\n",
+ "FIT: 0.6423114002668289 2.5498589858647573 0.021115264216015648 0.11992780852045615\n",
+ "***** Episode 212594, Mean R = -3.4 Std R = 5.8 Min R = -27.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.972\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -6.65\n",
+ "PolicyLoss: -0.00226\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 5.72e+07\n",
+ "ValFuncLoss: 4.46e-05\n",
+ "Variance: 0.0491\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010764068 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04912817 0.04459645 0.0441568 0.04579262]\n",
+ "FIT: 0.5116287026276578 2.2543512974510307 0.019248369242640746 0.11454748337159043\n",
+ "***** Episode 212715, Mean R = -2.2 Std R = 4.5 Min R = -17.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.971\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -6.65\n",
+ "PolicyLoss: -0.00221\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.72e+07\n",
+ "ValFuncLoss: 4.25e-05\n",
+ "Variance: 0.0491\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011430023 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04909342 0.0445341 0.04417601 0.04569144]\n",
+ "FIT: 0.5385450926349156 2.2581761620644594 0.02000759436127897 0.1187481941906988\n",
+ "***** Episode 212836, Mean R = -2.7 Std R = 4.9 Min R = -23.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -6.66\n",
+ "PolicyLoss: -0.00211\n",
+ "Steps: 3.74e+04\n",
+ "TotalSteps: 5.72e+07\n",
+ "ValFuncLoss: 2.76e-05\n",
+ "Variance: 0.0491\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010016385 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04895779 0.04446359 0.04424145 0.04563405]\n",
+ "FIT: 0.4834244675219738 2.4004607692021347 0.01961328069455922 0.11686673391489172\n",
+ "***** Episode 212957, Mean R = -2.4 Std R = 4.6 Min R = -19.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.001\n",
+ "PolicyEntropy: -6.66\n",
+ "PolicyLoss: -0.0022\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.73e+07\n",
+ "ValFuncLoss: 2.97e-05\n",
+ "Variance: 0.049\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013064555 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04896403 0.04449534 0.04425305 0.04559385]\n",
+ "FIT: 0.6114595352766097 2.55918937037294 0.020456135231616386 0.11421428706801201\n",
+ "***** Episode 213078, Mean R = -2.6 Std R = 5.3 Min R = -22.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00131\n",
+ "PolicyEntropy: -6.66\n",
+ "PolicyLoss: -0.00219\n",
+ "Steps: 3.74e+04\n",
+ "TotalSteps: 5.73e+07\n",
+ "ValFuncLoss: 2.63e-05\n",
+ "Variance: 0.049\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012331745 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04904707 0.04459922 0.04426829 0.04543434]\n",
+ "FIT: 0.5308985778319202 2.3557783125141287 0.021035166936618305 0.12109381422645567\n",
+ "***** Episode 213199, Mean R = -3.2 Std R = 5.5 Min R = -21.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -6.66\n",
+ "PolicyLoss: -0.00223\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 5.74e+07\n",
+ "ValFuncLoss: 2.95e-05\n",
+ "Variance: 0.049\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010260189 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04897988 0.04453509 0.04440334 0.0453249 ]\n",
+ "FIT: 0.5956055706404751 2.5570244274144174 0.02086521795210774 0.11831351444128045\n",
+ "***** Episode 213320, Mean R = -3.0 Std R = 5.0 Min R = -26.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -6.66\n",
+ "PolicyLoss: -0.00221\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.74e+07\n",
+ "ValFuncLoss: 2.06e-05\n",
+ "Variance: 0.049\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010262016 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04894374 0.04445693 0.0444367 0.04526508]\n",
+ "FIT: 0.6696637481176068 2.42414601466785 0.02058431709404763 0.1152819999122067\n",
+ "Update Cnt = 1600 ET = 979.5 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.4 -0.0 | 1.0 1.0 0.0 | -3.9 -5.5 -0.1 | 4.9 3.9 -0.0\n",
+ "v_f | 0.01 -0.08 -0.92 | 0.07 0.08 0.14 | -0.24 -0.35 -1.37 | 0.49 0.19 -0.50\n",
+ "r_i | 1015.5 14.9 2350.2 | 582.9 587.0 28.9 | 0.4 -999.4 2300.2 | 1998.1 999.6 2399.9\n",
+ "v_i | -39.58 0.76 -79.74 | 16.92 17.18 5.81 | -69.99 -30.00 -89.97 | -10.13 29.97 -70.01\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.6\n",
+ "norm_vf | 0.93 | 0.14 | 0.51 | 1.37\n",
+ "gs_f | 23.3 | 23.3 | 3.7 | 421.6\n",
+ "thrust | 1204 -22 9214 | 2847 2917 2005 | -15476 -16805 2000 | 16750 16840 19996\n",
+ "norm_thrust | 9863 | 3116 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 260 | 349\n",
+ "rewards | -2.67 | 5.12 | -26.98 | 3.83\n",
+ "fuel_rewards | -7.54 | 0.39 | -8.98 | -6.71\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.51 | 0.52 | 0.54 | 4.58\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.16\n",
+ "norm_wf | 0.12 | 0.07 | 0.01 | 0.50\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.47 | -6.87 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.12 0.00 | 0.34 0.20 0.20 | -1.19 -0.97 -1.04 | 1.59 1.09 1.07\n",
+ "w | 0.00 -0.01 0.00 | 0.20 0.19 0.01 | -1.65 -2.33 -0.15 | 2.25 1.59 0.14\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.14 -0.10 | 0.12 0.15\n",
+ "w_f | -0.01 -0.02 0.00 | 0.11 0.09 0.02 | -0.46 -0.33 -0.14 | 0.38 0.28 0.14\n",
+ "landing_rewards | 9.63 | 1.89 | 0.00 | 10.00\n",
+ "landing_margin | -0.09 | 0.09 | -0.19 | 1.32\n",
+ "tracking_rewards | -4.70 | 4.40 | -27.04 | 1.13\n",
+ "steps | 305 | 24 | 252 | 385\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 213441, Mean R = -2.6 Std R = 5.4 Min R = -24.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -6.66\n",
+ "PolicyLoss: -0.00213\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.74e+07\n",
+ "ValFuncLoss: 1.77e-05\n",
+ "Variance: 0.0489\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0014249696 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0488979 0.04456918 0.0444584 0.0451346 ]\n",
+ "FIT: 0.7100181566745783 2.4357314651735487 0.020548217922193218 0.1193307127791539\n",
+ "***** Episode 213562, Mean R = -2.8 Std R = 5.6 Min R = -26.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00142\n",
+ "PolicyEntropy: -6.66\n",
+ "PolicyLoss: -0.00232\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.75e+07\n",
+ "ValFuncLoss: 1.75e-05\n",
+ "Variance: 0.0489\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009862504 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04893655 0.0447074 0.0445523 0.04505852]\n",
+ "FIT: 0.5792549244142307 2.3826412681188724 0.02174562627176567 0.11745898438459812\n",
+ "***** Episode 213683, Mean R = -3.5 Std R = 6.2 Min R = -26.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.000986\n",
+ "PolicyEntropy: -6.66\n",
+ "PolicyLoss: -0.00225\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 5.75e+07\n",
+ "ValFuncLoss: 3.37e-05\n",
+ "Variance: 0.0489\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013374399 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0487555 0.04471623 0.04451383 0.0449694 ]\n",
+ "FIT: 0.5686368141852594 2.507506080709395 0.02021597532902145 0.11777277320973248\n",
+ "***** Episode 213804, Mean R = -2.6 Std R = 5.0 Min R = -23.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00134\n",
+ "PolicyEntropy: -6.67\n",
+ "PolicyLoss: -0.00222\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.75e+07\n",
+ "ValFuncLoss: 3.29e-05\n",
+ "Variance: 0.0488\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012388937 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04857219 0.04459732 0.04447055 0.04500302]\n",
+ "FIT: 0.5699684835227296 2.5391763066154107 0.018742054619273744 0.11667415550858592\n",
+ "***** Episode 213925, Mean R = -2.0 Std R = 4.2 Min R = -21.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -6.67\n",
+ "PolicyLoss: -0.00197\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 5.76e+07\n",
+ "ValFuncLoss: 3.33e-05\n",
+ "Variance: 0.0486\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009637123 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04849618 0.04454523 0.04432039 0.04501885]\n",
+ "FIT: 0.4599704048235643 2.3945307569442433 0.019163488416618604 0.11623596375855876\n",
+ "***** Episode 214046, Mean R = -2.0 Std R = 4.3 Min R = -14.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.000964\n",
+ "PolicyEntropy: -6.68\n",
+ "PolicyLoss: -0.00184\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 5.76e+07\n",
+ "ValFuncLoss: 1.53e-05\n",
+ "Variance: 0.0485\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010484923 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04839962 0.04455581 0.04436862 0.04496733]\n",
+ "FIT: 0.5169612527241689 2.4952183250706885 0.021429676426961836 0.11802094437303165\n",
+ "***** Episode 214167, Mean R = -3.4 Std R = 4.9 Min R = -17.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -6.68\n",
+ "PolicyLoss: -0.00181\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 5.77e+07\n",
+ "ValFuncLoss: 3.33e-05\n",
+ "Variance: 0.0484\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013557631 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04832119 0.04456628 0.04435926 0.04499415]\n",
+ "FIT: 0.57532819524886 2.4450211777386968 0.021615593232721726 0.12056839488706884\n",
+ "***** Episode 214288, Mean R = -3.4 Std R = 5.5 Min R = -28.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00136\n",
+ "PolicyEntropy: -6.68\n",
+ "PolicyLoss: -0.00264\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.77e+07\n",
+ "ValFuncLoss: 2.15e-05\n",
+ "Variance: 0.0483\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012605459 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04832884 0.0444988 0.0443187 0.04505925]\n",
+ "FIT: 0.6024654831355525 2.4142090409729926 0.019325010801338156 0.11662824543106382\n",
+ "***** Episode 214409, Mean R = -2.0 Std R = 5.1 Min R = -24.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00126\n",
+ "PolicyEntropy: -6.68\n",
+ "PolicyLoss: -0.00165\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.77e+07\n",
+ "ValFuncLoss: 2.44e-05\n",
+ "Variance: 0.0483\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010685605 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04839063 0.0444574 0.04433764 0.04503478]\n",
+ "FIT: 0.5875481459716716 2.6693097975289444 0.022170875722450415 0.11878927058992354\n",
+ "***** Episode 214530, Mean R = -3.4 Std R = 5.6 Min R = -24.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -6.68\n",
+ "PolicyLoss: -0.00231\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 5.78e+07\n",
+ "ValFuncLoss: 1.86e-05\n",
+ "Variance: 0.0484\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010643961 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04838321 0.04439366 0.04435537 0.04506944]\n",
+ "FIT: 0.6572479032524734 2.662013190465064 0.020193017234288863 0.11865537628075817\n",
+ "Update Cnt = 1610 ET = 971.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.1 1.0 0.0 | -3.6 -4.7 -0.1 | 4.1 3.9 -0.0\n",
+ "v_f | 0.00 -0.07 -0.94 | 0.07 0.08 0.14 | -0.48 -0.49 -1.34 | 0.35 0.30 -0.35\n",
+ "r_i | 999.6 -3.7 2349.6 | 574.8 582.4 28.4 | 0.5 -997.8 2300.1 | 1999.4 999.7 2400.0\n",
+ "v_i | -40.72 -0.46 -80.12 | 17.82 17.66 5.74 | -69.95 -29.93 -89.99 | -10.07 29.97 -70.00\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.0\n",
+ "norm_vf | 0.95 | 0.14 | 0.41 | 1.34\n",
+ "gs_f | 26.7 | 34.6 | 2.7 | 532.8\n",
+ "thrust | 1252 21 9253 | 2939 2858 2004 | -15493 -16497 2000 | 16428 16581 19999\n",
+ "norm_thrust | 9915 | 3116 | 3464 | 20000\n",
+ "fuel | 292 | 16 | 260 | 356\n",
+ "rewards | -2.78 | 5.31 | -36.77 | 3.88\n",
+ "fuel_rewards | -7.52 | 0.41 | -9.16 | -6.69\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.50 | 0.51 | 0.58 | 4.47\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.27\n",
+ "norm_wf | 0.12 | 0.07 | 0.00 | 0.69\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.06 | 0.56 | -11.59 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.12 -0.00 | 0.35 0.21 0.19 | -1.35 -0.89 -1.12 | 1.27 1.04 1.02\n",
+ "w | -0.00 -0.01 -0.00 | 0.19 0.20 0.01 | -1.65 -2.48 -0.08 | 1.93 1.51 0.09\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.14 -0.27 | 0.19 0.13\n",
+ "w_f | -0.02 -0.02 -0.00 | 0.10 0.09 0.01 | -0.43 -0.68 -0.08 | 0.37 0.32 0.08\n",
+ "landing_rewards | 9.69 | 1.74 | 0.00 | 10.00\n",
+ "landing_margin | -0.09 | 0.12 | -0.19 | 2.26\n",
+ "tracking_rewards | -4.89 | 4.65 | -28.87 | 1.03\n",
+ "steps | 303 | 25 | 251 | 388\n",
+ "***** Episode 214651, Mean R = -2.7 Std R = 6.0 Min R = -36.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -6.68\n",
+ "PolicyLoss: -0.00263\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.78e+07\n",
+ "ValFuncLoss: 2.53e-05\n",
+ "Variance: 0.0484\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009804656 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04831329 0.0444424 0.04436501 0.04516435]\n",
+ "FIT: 0.9110316237138167 2.517103712223112 0.02025863903203986 0.1145762447590134\n",
+ "***** Episode 214772, Mean R = -2.5 Std R = 5.7 Min R = -40.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.972\n",
+ "KL: 0.00098\n",
+ "PolicyEntropy: -6.68\n",
+ "PolicyLoss: -0.0022\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.78e+07\n",
+ "ValFuncLoss: 2.55e-05\n",
+ "Variance: 0.0483\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010493697 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04827416 0.04454456 0.04440976 0.04509411]\n",
+ "FIT: 0.5551008333203864 2.6067935716478328 0.020839393007458278 0.11687036027856644\n",
+ "***** Episode 214893, Mean R = -2.8 Std R = 5.1 Min R = -20.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -6.68\n",
+ "PolicyLoss: -0.00204\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.79e+07\n",
+ "ValFuncLoss: 2.19e-05\n",
+ "Variance: 0.0483\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012113667 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04833649 0.04461203 0.0443427 0.04497162]\n",
+ "FIT: 0.6442981571719149 2.5560143101251835 0.02085141770922637 0.11861880652496432\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 215014, Mean R = -2.8 Std R = 5.5 Min R = -24.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -6.68\n",
+ "PolicyLoss: -0.00231\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.79e+07\n",
+ "ValFuncLoss: 2.83e-05\n",
+ "Variance: 0.0483\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012515893 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04830283 0.04460671 0.04426702 0.04478727]\n",
+ "FIT: 0.4972815426689236 2.3680107051468915 0.02011673730600841 0.11915552972582306\n",
+ "***** Episode 215135, Mean R = -2.8 Std R = 5.0 Min R = -17.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00125\n",
+ "PolicyEntropy: -6.69\n",
+ "PolicyLoss: -0.00226\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.79e+07\n",
+ "ValFuncLoss: 3.83e-05\n",
+ "Variance: 0.0483\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009764204 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04834861 0.04451673 0.04417776 0.04462194]\n",
+ "FIT: 0.6611506505436017 2.4409747921501923 0.0205406286324128 0.11906993692854506\n",
+ "***** Episode 215256, Mean R = -3.0 Std R = 5.1 Min R = -25.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.000976\n",
+ "PolicyEntropy: -6.69\n",
+ "PolicyLoss: -0.00225\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.8e+07\n",
+ "ValFuncLoss: 3.62e-05\n",
+ "Variance: 0.0483\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012357034 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04831237 0.04448878 0.0440735 0.04465128]\n",
+ "FIT: 0.529879685506423 2.3614356718612988 0.019850340671469624 0.11802316212043017\n",
+ "***** Episode 215377, Mean R = -2.5 Std R = 5.2 Min R = -26.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -6.7\n",
+ "PolicyLoss: -0.002\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.8e+07\n",
+ "ValFuncLoss: 2.73e-05\n",
+ "Variance: 0.0483\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010214192 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04817924 0.04447046 0.04394963 0.04464264]\n",
+ "FIT: 0.473505776291357 2.27546588131862 0.019858166209986917 0.11952033412159435\n",
+ "***** Episode 215498, Mean R = -2.4 Std R = 4.4 Min R = -17.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -6.7\n",
+ "PolicyLoss: -0.00239\n",
+ "Steps: 3.73e+04\n",
+ "TotalSteps: 5.81e+07\n",
+ "ValFuncLoss: 1.33e-05\n",
+ "Variance: 0.0482\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001184366 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04816402 0.0444735 0.0439226 0.04461912]\n",
+ "FIT: 0.6169526795675006 2.312150082966226 0.02179152081449819 0.11861720649960564\n",
+ "***** Episode 215619, Mean R = -3.6 Std R = 6.5 Min R = -33.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.961\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -6.71\n",
+ "PolicyLoss: -0.00221\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 5.81e+07\n",
+ "ValFuncLoss: 6.26e-05\n",
+ "Variance: 0.0482\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010616692 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04814107 0.04449785 0.0437986 0.04464675]\n",
+ "FIT: 0.536910022215032 2.573716999305127 0.020688281168031793 0.11930362527440352\n",
+ "***** Episode 215740, Mean R = -3.0 Std R = 5.5 Min R = -25.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -6.71\n",
+ "PolicyLoss: -0.00248\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.81e+07\n",
+ "ValFuncLoss: 3.29e-05\n",
+ "Variance: 0.0481\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012195342 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04807027 0.04450175 0.04373414 0.04463124]\n",
+ "FIT: 0.49013166880879216 2.303417338071011 0.02054919204141075 0.11921581096785966\n",
+ "Update Cnt = 1620 ET = 1018.7 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.1 1.0 0.0 | -3.9 -4.0 -0.1 | 4.5 3.6 -0.0\n",
+ "v_f | 0.00 -0.06 -0.94 | 0.07 0.08 0.14 | -0.26 -0.35 -1.36 | 0.37 0.39 -0.31\n",
+ "r_i | 1020.6 -10.1 2349.1 | 577.4 585.6 28.7 | 2.3 -995.9 2300.2 | 1998.6 996.1 2399.9\n",
+ "v_i | -40.30 0.36 -79.79 | 17.15 17.25 5.74 | -69.98 -29.99 -89.97 | -10.12 29.99 -70.00\n",
+ "norm_rf | 1.3 | 0.8 | 0.1 | 5.5\n",
+ "norm_vf | 0.95 | 0.14 | 0.44 | 1.37\n",
+ "gs_f | 27.5 | 37.3 | 3.8 | 608.9\n",
+ "thrust | 1227 -5 9208 | 2891 2873 2005 | -15362 -16930 2000 | 16662 16548 19999\n",
+ "norm_thrust | 9863 | 3108 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 260 | 356\n",
+ "rewards | -2.81 | 5.33 | -40.94 | 4.20\n",
+ "fuel_rewards | -7.52 | 0.40 | -9.16 | -6.70\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.48 | 0.50 | 0.55 | 6.31\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.15\n",
+ "norm_wf | 0.12 | 0.07 | 0.01 | 0.47\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.09 | 0.77 | -18.82 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.12 0.00 | 0.35 0.21 0.20 | -1.37 -0.93 -1.04 | 1.58 1.09 1.06\n",
+ "w | -0.00 -0.01 0.00 | 0.20 0.20 0.01 | -1.62 -2.49 -0.09 | 2.12 1.44 0.12\n",
+ "a_f | -0.01 0.00 | 0.03 0.03 | -0.10 -0.11 | 0.11 0.13\n",
+ "w_f | -0.01 -0.02 0.00 | 0.10 0.09 0.01 | -0.42 -0.34 -0.08 | 0.33 0.31 0.12\n",
+ "landing_rewards | 9.64 | 1.87 | 0.00 | 10.00\n",
+ "landing_margin | -0.09 | 0.08 | -0.19 | 1.22\n",
+ "tracking_rewards | -4.84 | 4.50 | -26.72 | 1.11\n",
+ "steps | 304 | 24 | 248 | 385\n",
+ "***** Episode 215861, Mean R = -2.8 Std R = 5.0 Min R = -19.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.9\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -6.71\n",
+ "PolicyLoss: -0.00128\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.82e+07\n",
+ "ValFuncLoss: 2.65e-05\n",
+ "Variance: 0.0481\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010420465 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.047954 0.04446767 0.04378405 0.04465116]\n",
+ "FIT: 0.5570712430330668 2.4867067027661256 0.020228362201029318 0.11946379589837432\n",
+ "***** Episode 215982, Mean R = -2.8 Std R = 5.2 Min R = -21.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -6.71\n",
+ "PolicyLoss: -0.00197\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 5.82e+07\n",
+ "ValFuncLoss: 3.5e-05\n",
+ "Variance: 0.048\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010376663 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04789422 0.0445288 0.04377356 0.0446182 ]\n",
+ "FIT: 0.5225258897744057 2.5525134904303513 0.02054068389283743 0.11411465139694404\n",
+ "***** Episode 216103, Mean R = -2.5 Std R = 4.8 Min R = -23.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -6.71\n",
+ "PolicyLoss: -0.002\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 5.82e+07\n",
+ "ValFuncLoss: 1.92e-05\n",
+ "Variance: 0.0479\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010619657 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04787396 0.04464442 0.04381307 0.04471302]\n",
+ "FIT: 0.5971004514051241 2.5371409370110727 0.021026453969055097 0.1187923333538757\n",
+ "***** Episode 216224, Mean R = -3.2 Std R = 5.3 Min R = -24.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -6.71\n",
+ "PolicyLoss: -0.00213\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.83e+07\n",
+ "ValFuncLoss: 4.52e-05\n",
+ "Variance: 0.0479\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010882634 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04787612 0.04476899 0.04384308 0.04472256]\n",
+ "FIT: 0.5839503939895547 2.4841023318471174 0.020048444236530943 0.11906360183928666\n",
+ "***** Episode 216345, Mean R = -2.7 Std R = 5.3 Min R = -22.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -6.7\n",
+ "PolicyLoss: -0.00193\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 5.83e+07\n",
+ "ValFuncLoss: 2.66e-05\n",
+ "Variance: 0.0479\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009499048 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04786194 0.04472101 0.04384222 0.04468317]\n",
+ "FIT: 0.5793662182278413 2.5644009551786535 0.02084195810950756 0.11688310400469516\n",
+ "***** Episode 216466, Mean R = -2.9 Std R = 5.3 Min R = -21.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.974\n",
+ "KL: 0.00095\n",
+ "PolicyEntropy: -6.71\n",
+ "PolicyLoss: -0.00192\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 5.84e+07\n",
+ "ValFuncLoss: 3.46e-05\n",
+ "Variance: 0.0479\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010963932 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04781709 0.04465161 0.04391675 0.04476974]\n",
+ "FIT: 0.7358332727547828 2.5836441613081806 0.021473464639125105 0.12068586568026446\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 216587, Mean R = -3.2 Std R = 5.9 Min R = -37.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -6.71\n",
+ "PolicyLoss: -0.00229\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.84e+07\n",
+ "ValFuncLoss: 2.45e-05\n",
+ "Variance: 0.0478\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011906677 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04781378 0.04462898 0.04401249 0.04485123]\n",
+ "FIT: 0.5846591465303744 2.5461431183941743 0.02104300033557054 0.11783258166206191\n",
+ "***** Episode 216708, Mean R = -3.1 Std R = 5.2 Min R = -21.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -6.7\n",
+ "PolicyLoss: -0.00234\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.84e+07\n",
+ "ValFuncLoss: 4.89e-05\n",
+ "Variance: 0.0478\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010550221 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04771078 0.0446605 0.04401486 0.04490381]\n",
+ "FIT: 0.5895598887638425 2.5912022236543293 0.02030439956607643 0.11492963835884257\n",
+ "***** Episode 216829, Mean R = -2.3 Std R = 5.3 Min R = -24.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.997\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -6.7\n",
+ "PolicyLoss: -0.0026\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.85e+07\n",
+ "ValFuncLoss: 9.54e-06\n",
+ "Variance: 0.0477\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012456857 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.047652 0.04455918 0.04407394 0.04490146]\n",
+ "FIT: 0.611869257900913 2.595243971520558 0.021051730074417484 0.11613294145436778\n",
+ "***** Episode 216950, Mean R = -3.0 Std R = 5.5 Min R = -27.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00125\n",
+ "PolicyEntropy: -6.7\n",
+ "PolicyLoss: -0.00251\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 5.85e+07\n",
+ "ValFuncLoss: 1.84e-05\n",
+ "Variance: 0.0477\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010793556 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04756617 0.04440759 0.04412317 0.04474468]\n",
+ "FIT: 0.6586297550092758 2.585666599355619 0.022753994657350445 0.12223525847785902\n",
+ "Update Cnt = 1630 ET = 1004.3 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.4 -0.0 | 1.0 1.0 0.0 | -4.5 -5.3 -0.1 | 3.0 3.6 -0.0\n",
+ "v_f | -0.00 -0.07 -0.93 | 0.07 0.08 0.14 | -0.36 -0.45 -1.37 | 0.38 0.23 -0.49\n",
+ "r_i | 1003.6 -7.4 2348.4 | 577.6 579.2 29.1 | 0.5 -997.6 2300.2 | 1999.8 999.6 2400.0\n",
+ "v_i | -40.54 -0.33 -80.21 | 17.19 17.45 5.67 | -70.00 -29.86 -90.00 | -10.08 29.84 -70.01\n",
+ "norm_rf | 1.3 | 0.8 | 0.1 | 5.6\n",
+ "norm_vf | 0.94 | 0.13 | 0.52 | 1.37\n",
+ "gs_f | 28.3 | 39.0 | 3.6 | 855.1\n",
+ "thrust | 1244 16 9248 | 2924 2926 2010 | -15685 -16595 2000 | 16678 16894 20000\n",
+ "norm_thrust | 9918 | 3139 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 261 | 347\n",
+ "rewards | -2.97 | 5.39 | -37.06 | 3.87\n",
+ "fuel_rewards | -7.53 | 0.38 | -8.94 | -6.73\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.51 | 0.52 | 0.61 | 4.71\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.17\n",
+ "norm_wf | 0.12 | 0.07 | 0.00 | 0.53\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.51 | -6.91 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.04 0.12 0.00 | 0.34 0.21 0.20 | -1.18 -0.92 -1.07 | 1.43 1.03 1.04\n",
+ "w | -0.00 -0.01 0.00 | 0.20 0.19 0.01 | -1.77 -2.37 -0.07 | 1.90 1.45 0.10\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.14 -0.12 | 0.15 0.15\n",
+ "w_f | -0.01 -0.02 0.00 | 0.10 0.09 0.01 | -0.38 -0.29 -0.07 | 0.33 0.48 0.10\n",
+ "landing_rewards | 9.67 | 1.79 | 0.00 | 10.00\n",
+ "landing_margin | -0.09 | 0.08 | -0.19 | 1.39\n",
+ "tracking_rewards | -5.04 | 4.80 | -36.84 | 1.16\n",
+ "steps | 303 | 24 | 250 | 382\n",
+ "***** Episode 217071, Mean R = -4.0 Std R = 5.7 Min R = -26.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.967\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -6.71\n",
+ "PolicyLoss: -0.0023\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 5.85e+07\n",
+ "ValFuncLoss: 4.02e-05\n",
+ "Variance: 0.0476\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0015256095 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04753575 0.04425799 0.04419074 0.04462373]\n",
+ "FIT: 0.5300827263121413 2.434519993518592 0.019856417734227104 0.11372887394703897\n",
+ "***** Episode 217192, Mean R = -2.3 Std R = 4.6 Min R = -19.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00153\n",
+ "PolicyEntropy: -6.72\n",
+ "PolicyLoss: -0.00217\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.86e+07\n",
+ "ValFuncLoss: 2.28e-05\n",
+ "Variance: 0.0475\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.000915991 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04760903 0.04411183 0.04424944 0.04454415]\n",
+ "FIT: 0.5511330742510056 2.3658578942870574 0.020309093592900066 0.11718288515475882\n",
+ "***** Episode 217313, Mean R = -2.8 Std R = 5.3 Min R = -21.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.000916\n",
+ "PolicyEntropy: -6.72\n",
+ "PolicyLoss: -0.00196\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.86e+07\n",
+ "ValFuncLoss: 3.78e-05\n",
+ "Variance: 0.0476\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010226223 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04756657 0.04402233 0.04418926 0.04453275]\n",
+ "FIT: 0.6230586689453388 2.617883736950948 0.021269652137973105 0.12067624856593438\n",
+ "***** Episode 217434, Mean R = -3.3 Std R = 5.0 Min R = -22.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -6.72\n",
+ "PolicyLoss: -0.0025\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.86e+07\n",
+ "ValFuncLoss: 2.98e-05\n",
+ "Variance: 0.0476\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013742251 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04763773 0.04404249 0.04409419 0.04453946]\n",
+ "FIT: 0.5931534570322712 2.516787260341594 0.020610708611497792 0.11899053194900999\n",
+ "***** Episode 217555, Mean R = -2.9 Std R = 5.5 Min R = -23.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00137\n",
+ "PolicyEntropy: -6.72\n",
+ "PolicyLoss: -0.00245\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.87e+07\n",
+ "ValFuncLoss: 3.7e-05\n",
+ "Variance: 0.0476\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009683309 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04770391 0.04396559 0.04400473 0.04454206]\n",
+ "FIT: 0.4858296863924523 2.4041231468042596 0.021343697231209696 0.1189214131905672\n",
+ "***** Episode 217676, Mean R = -3.3 Std R = 5.4 Min R = -22.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.000968\n",
+ "PolicyEntropy: -6.73\n",
+ "PolicyLoss: -0.00258\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 5.87e+07\n",
+ "ValFuncLoss: 2.5e-05\n",
+ "Variance: 0.0477\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010161722 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04758708 0.04393803 0.04398254 0.04440168]\n",
+ "FIT: 0.5765558237766658 2.6356821089573272 0.020548761729478178 0.12179383137112736\n",
+ "***** Episode 217797, Mean R = -2.7 Std R = 5.5 Min R = -22.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -6.73\n",
+ "PolicyLoss: -0.00276\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 5.88e+07\n",
+ "ValFuncLoss: 1.32e-05\n",
+ "Variance: 0.0476\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013316416 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04755757 0.04392283 0.04395504 0.04432239]\n",
+ "FIT: 0.612756567805323 2.540930601685211 0.021967958329349765 0.1180241548634249\n",
+ "***** Episode 217918, Mean R = -3.4 Std R = 5.7 Min R = -33.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00133\n",
+ "PolicyEntropy: -6.74\n",
+ "PolicyLoss: -0.0023\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.88e+07\n",
+ "ValFuncLoss: 2.2e-05\n",
+ "Variance: 0.0476\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013359225 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04754746 0.04385713 0.04385521 0.04439459]\n",
+ "FIT: 0.5807454441566591 2.434815717035494 0.020690336128469544 0.11775691168892445\n",
+ "***** Episode 218039, Mean R = -2.9 Std R = 5.0 Min R = -24.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00134\n",
+ "PolicyEntropy: -6.74\n",
+ "PolicyLoss: -0.00179\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.88e+07\n",
+ "ValFuncLoss: 3.33e-05\n",
+ "Variance: 0.0475\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012441374 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04742865 0.04370166 0.04374656 0.04458063]\n",
+ "FIT: 0.6320510537260616 2.64118261098846 0.02159937469637465 0.12100829341866944\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 218160, Mean R = -3.5 Std R = 5.9 Min R = -28.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -6.74\n",
+ "PolicyLoss: -0.00288\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.89e+07\n",
+ "ValFuncLoss: 4.06e-05\n",
+ "Variance: 0.0474\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012047823 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0472707 0.04363777 0.04360378 0.04471968]\n",
+ "FIT: 0.5718953093652003 2.355450222463227 0.019944537967603187 0.11698311727829683\n",
+ "Update Cnt = 1640 ET = 1002.9 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.3 -0.0 | 1.1 1.0 0.0 | -4.2 -4.3 -0.1 | 4.1 4.5 -0.0\n",
+ "v_f | -0.00 -0.06 -0.94 | 0.07 0.08 0.15 | -0.26 -0.40 -1.36 | 0.24 0.28 -0.36\n",
+ "r_i | 996.2 23.3 2349.5 | 585.7 584.7 28.9 | 3.3 -999.1 2300.0 | 1998.7 994.3 2400.0\n",
+ "v_i | -40.29 0.31 -79.89 | 16.86 17.53 5.75 | -69.89 -29.99 -89.99 | -10.00 29.98 -70.02\n",
+ "norm_rf | 1.3 | 0.8 | 0.1 | 4.9\n",
+ "norm_vf | 0.95 | 0.14 | 0.38 | 1.36\n",
+ "gs_f | 29.7 | 50.0 | 4.6 | 1036.5\n",
+ "thrust | 1234 -7 9232 | 2920 2935 1998 | -16028 -16778 2000 | 16778 16243 19999\n",
+ "norm_thrust | 9902 | 3135 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 260 | 348\n",
+ "rewards | -2.96 | 5.32 | -33.40 | 3.64\n",
+ "fuel_rewards | -7.54 | 0.39 | -8.97 | -6.72\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.50 | 0.49 | 0.55 | 4.52\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.15\n",
+ "norm_wf | 0.12 | 0.07 | 0.00 | 0.45\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.40 | -7.12 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 0.00 | 0.34 0.21 0.20 | -1.10 -0.92 -1.01 | 1.47 1.07 1.08\n",
+ "w | -0.00 -0.01 -0.00 | 0.20 0.19 0.01 | -1.68 -2.40 -0.09 | 2.04 1.56 0.13\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.14 -0.11 | 0.13 0.15\n",
+ "w_f | -0.01 -0.02 -0.00 | 0.10 0.09 0.02 | -0.41 -0.36 -0.08 | 0.39 0.35 0.12\n",
+ "landing_rewards | 9.65 | 1.83 | 0.00 | 10.00\n",
+ "landing_margin | -0.09 | 0.06 | -0.19 | 0.38\n",
+ "tracking_rewards | -5.03 | 4.67 | -30.18 | 0.79\n",
+ "steps | 304 | 24 | 250 | 396\n",
+ "***** Episode 218281, Mean R = -2.6 Std R = 5.0 Min R = -20.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: -6.75\n",
+ "PolicyLoss: -0.00197\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 5.89e+07\n",
+ "ValFuncLoss: 3.27e-05\n",
+ "Variance: 0.0473\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0014073394 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04725491 0.04357956 0.04356273 0.04474933]\n",
+ "FIT: 0.674986292185069 2.2319068872168564 0.020419103985334787 0.11906288402656126\n",
+ "***** Episode 218402, Mean R = -2.6 Std R = 5.1 Min R = -27.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.966\n",
+ "KL: 0.00141\n",
+ "PolicyEntropy: -6.75\n",
+ "PolicyLoss: -0.00287\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 5.89e+07\n",
+ "ValFuncLoss: 1.98e-05\n",
+ "Variance: 0.0473\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012809379 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04714227 0.04350855 0.04355802 0.04478325]\n",
+ "FIT: 0.5894738364651064 2.6010392358011627 0.01995032873832437 0.1179168071192544\n",
+ "***** Episode 218523, Mean R = -2.7 Std R = 5.4 Min R = -22.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.972\n",
+ "KL: 0.00128\n",
+ "PolicyEntropy: -6.75\n",
+ "PolicyLoss: -0.00218\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.9e+07\n",
+ "ValFuncLoss: 3.85e-05\n",
+ "Variance: 0.0471\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009553367 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04707415 0.04336344 0.04352179 0.04477949]\n",
+ "FIT: 0.636307406088387 2.525374170933389 0.022902544856271436 0.12180648795687385\n",
+ "***** Episode 218644, Mean R = -4.1 Std R = 6.3 Min R = -35.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.000955\n",
+ "PolicyEntropy: -6.76\n",
+ "PolicyLoss: -0.00179\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 5.9e+07\n",
+ "ValFuncLoss: 3.19e-05\n",
+ "Variance: 0.0471\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011208826 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04701185 0.04334178 0.04351585 0.04471123]\n",
+ "FIT: 0.6004476749920374 2.4859406038111502 0.019632737638423853 0.11524444438258674\n",
+ "***** Episode 218765, Mean R = -2.3 Std R = 5.4 Min R = -35.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -6.76\n",
+ "PolicyLoss: -0.00269\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 5.9e+07\n",
+ "ValFuncLoss: 2.38e-05\n",
+ "Variance: 0.047\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012581759 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04692065 0.04341773 0.04361232 0.04469332]\n",
+ "FIT: 0.5459440158229999 2.4994488669569903 0.021224887701223664 0.12015138748683778\n",
+ "***** Episode 218886, Mean R = -3.1 Std R = 5.3 Min R = -21.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00126\n",
+ "PolicyEntropy: -6.76\n",
+ "PolicyLoss: -0.00222\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.91e+07\n",
+ "ValFuncLoss: 2.69e-05\n",
+ "Variance: 0.0469\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013443683 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0469485 0.0434838 0.04365205 0.044665 ]\n",
+ "FIT: 0.5297169738831164 2.4099004381502533 0.019184668363075308 0.11473802053448297\n",
+ "***** Episode 219007, Mean R = -2.0 Std R = 4.7 Min R = -25.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00134\n",
+ "PolicyEntropy: -6.76\n",
+ "PolicyLoss: -0.00203\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.91e+07\n",
+ "ValFuncLoss: 3.01e-05\n",
+ "Variance: 0.0469\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013735971 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04697311 0.04334471 0.04360062 0.04459337]\n",
+ "FIT: 0.4798881950710887 2.1936388589450986 0.01956318665758633 0.11494284266323196\n",
+ "***** Episode 219128, Mean R = -2.5 Std R = 4.7 Min R = -18.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.978\n",
+ "ExplainedVarOld: 0.974\n",
+ "KL: 0.00137\n",
+ "PolicyEntropy: -6.76\n",
+ "PolicyLoss: -0.00205\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 5.92e+07\n",
+ "ValFuncLoss: 4.34e-05\n",
+ "Variance: 0.047\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011834556 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04690032 0.04322719 0.04355611 0.04454035]\n",
+ "FIT: 0.5679996651531084 2.5947954048558417 0.019447077273337575 0.11571774379826318\n",
+ "***** Episode 219249, Mean R = -2.1 Std R = 4.7 Min R = -23.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -6.77\n",
+ "PolicyLoss: -0.00219\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 5.92e+07\n",
+ "ValFuncLoss: 2.52e-05\n",
+ "Variance: 0.0469\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0014540459 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04680267 0.04318696 0.04357937 0.04454686]\n",
+ "FIT: 0.56733507008954 2.405451165173875 0.02001647199987255 0.11850195727773741\n",
+ "***** Episode 219370, Mean R = -2.7 Std R = 4.6 Min R = -19.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.00145\n",
+ "PolicyEntropy: -6.77\n",
+ "PolicyLoss: -0.0021\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 5.92e+07\n",
+ "ValFuncLoss: 3.42e-05\n",
+ "Variance: 0.0468\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011846888 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04670429 0.04314484 0.04358263 0.0445522 ]\n",
+ "FIT: 0.6569872276121429 2.602119877663329 0.021659567200940064 0.11993212736259544\n",
+ "Update Cnt = 1650 ET = 1005.0 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.1 1.0 0.0 | -3.9 -4.8 -0.1 | 5.2 3.8 -0.0\n",
+ "v_f | 0.00 -0.06 -0.94 | 0.07 0.08 0.15 | -0.28 -0.45 -1.35 | 0.34 0.25 -0.34\n",
+ "r_i | 1033.1 -10.5 2350.1 | 582.5 572.6 28.3 | 9.8 -1000.0 2300.2 | 1997.4 999.3 2399.8\n",
+ "v_i | -39.97 0.27 -79.90 | 17.36 17.17 5.77 | -70.00 -29.98 -89.97 | -10.07 29.97 -70.00\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.4\n",
+ "norm_vf | 0.95 | 0.14 | 0.35 | 1.36\n",
+ "gs_f | 27.7 | 39.3 | 4.1 | 884.8\n",
+ "thrust | 1215 -2 9214 | 2852 2934 2008 | -15373 -16826 2000 | 16697 16976 20000\n",
+ "norm_thrust | 9868 | 3126 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 261 | 351\n",
+ "rewards | -2.76 | 5.23 | -35.56 | 3.85\n",
+ "fuel_rewards | -7.54 | 0.38 | -9.04 | -6.73\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.50 | 0.52 | 0.60 | 4.37\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.17\n",
+ "norm_wf | 0.12 | 0.07 | 0.01 | 0.45\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.04 | 0.38 | -10.18 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "attitude | 0.04 0.12 0.00 | 0.34 0.20 0.20 | -1.07 -0.95 -1.04 | 1.64 1.05 1.02\n",
+ "w | -0.00 -0.01 0.00 | 0.19 0.19 0.01 | -1.69 -2.44 -0.07 | 1.85 1.50 0.10\n",
+ "a_f | -0.01 0.00 | 0.03 0.03 | -0.13 -0.14 | 0.12 0.16\n",
+ "w_f | -0.01 -0.02 0.00 | 0.10 0.09 0.01 | -0.44 -0.41 -0.07 | 0.41 0.26 0.09\n",
+ "landing_rewards | 9.61 | 1.93 | 0.00 | 10.00\n",
+ "landing_margin | -0.09 | 0.08 | -0.19 | 0.86\n",
+ "tracking_rewards | -4.80 | 4.56 | -32.36 | 0.99\n",
+ "steps | 305 | 24 | 253 | 389\n",
+ "***** Episode 219491, Mean R = -3.5 Std R = 5.4 Min R = -29.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -6.78\n",
+ "PolicyLoss: -0.00216\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 5.93e+07\n",
+ "ValFuncLoss: 2.83e-05\n",
+ "Variance: 0.0467\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012190134 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04668497 0.04317608 0.04356801 0.04459272]\n",
+ "FIT: 0.6851517792753553 2.577708282743212 0.021304400799825745 0.11897065065261954\n",
+ "***** Episode 219612, Mean R = -3.0 Std R = 5.9 Min R = -32.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -6.77\n",
+ "PolicyLoss: -0.00253\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 5.93e+07\n",
+ "ValFuncLoss: 1.64e-05\n",
+ "Variance: 0.0467\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010166303 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04672768 0.04312823 0.04361575 0.04471528]\n",
+ "FIT: 0.709803539386293 2.581540019040437 0.020483921085213807 0.11927053159024689\n",
+ "***** Episode 219733, Mean R = -2.6 Std R = 6.0 Min R = -32.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -6.77\n",
+ "PolicyLoss: -0.00217\n",
+ "Steps: 3.70e+04\n",
+ "TotalSteps: 5.93e+07\n",
+ "ValFuncLoss: 1.2e-05\n",
+ "Variance: 0.0467\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0015498559 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04669903 0.04308144 0.0436376 0.04464392]\n",
+ "FIT: 0.5401796117396994 2.439593148817212 0.018976900154819967 0.11580690644896283\n",
+ "***** Episode 219854, Mean R = -1.9 Std R = 4.8 Min R = -21.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00155\n",
+ "PolicyEntropy: -6.77\n",
+ "PolicyLoss: -0.00248\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 5.94e+07\n",
+ "ValFuncLoss: 2.62e-05\n",
+ "Variance: 0.0467\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001228442 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04663495 0.04309058 0.04363063 0.0445303 ]\n",
+ "FIT: 0.49185125693480325 2.4897680798717112 0.02083259024574142 0.11699168081780639\n",
+ "***** Episode 219975, Mean R = -2.9 Std R = 4.9 Min R = -26.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -6.78\n",
+ "PolicyLoss: -0.0022\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 5.94e+07\n",
+ "ValFuncLoss: 2.23e-05\n",
+ "Variance: 0.0466\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00096926786 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04649813 0.04315218 0.04350874 0.0445285 ]\n",
+ "FIT: 0.6506523441784205 2.4392403113445646 0.021021893600936297 0.1178339835271359\n",
+ "***** Episode 220096, Mean R = -3.0 Std R = 5.6 Min R = -28.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.000969\n",
+ "PolicyEntropy: -6.78\n",
+ "PolicyLoss: -0.00251\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 5.95e+07\n",
+ "ValFuncLoss: 2.08e-05\n",
+ "Variance: 0.0465\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0015332558 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04648913 0.04310266 0.04337236 0.04457147]\n",
+ "FIT: 0.6210387165376372 2.478293300130952 0.02043488620911288 0.11646479636765929\n",
+ "***** Episode 220217, Mean R = -2.9 Std R = 5.9 Min R = -26.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.971\n",
+ "KL: 0.00153\n",
+ "PolicyEntropy: -6.79\n",
+ "PolicyLoss: -0.00187\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 5.95e+07\n",
+ "ValFuncLoss: 4.9e-05\n",
+ "Variance: 0.0465\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011686868 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04632908 0.04309835 0.04343216 0.04450812]\n",
+ "FIT: 0.5451567081206787 2.3727189214743776 0.021322674925054175 0.12084268843686007\n",
+ "***** Episode 220338, Mean R = -3.2 Std R = 5.2 Min R = -21.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -6.79\n",
+ "PolicyLoss: -0.00196\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 5.95e+07\n",
+ "ValFuncLoss: 2.24e-05\n",
+ "Variance: 0.0463\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012382502 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04626987 0.04314759 0.0434858 0.04439167]\n",
+ "FIT: 0.6072791200992697 2.504794772293522 0.02080468975835153 0.12195666294722785\n",
+ "***** Episode 220459, Mean R = -2.8 Std R = 5.1 Min R = -20.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -6.79\n",
+ "PolicyLoss: -0.00296\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.96e+07\n",
+ "ValFuncLoss: 2.83e-05\n",
+ "Variance: 0.0463\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0016265729 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04623654 0.04319577 0.04340613 0.04436556]\n",
+ "FIT: 0.6253841056396081 2.6303300123840416 0.019926161797577724 0.1156496231402499\n",
+ "***** Episode 220580, Mean R = -2.3 Std R = 5.1 Min R = -25.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00163\n",
+ "PolicyEntropy: -6.79\n",
+ "PolicyLoss: -0.00262\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 5.96e+07\n",
+ "ValFuncLoss: 2.13e-05\n",
+ "Variance: 0.0462\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011629502 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04631308 0.04316961 0.04337769 0.04438223]\n",
+ "FIT: 0.4844587956437766 2.5801618515901668 0.01951329018574699 0.1162577940041337\n",
+ "Update Cnt = 1660 ET = 995.3 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.1 1.0 0.0 | -4.8 -5.0 -0.1 | 3.4 3.8 -0.0\n",
+ "v_f | 0.00 -0.06 -0.94 | 0.07 0.08 0.15 | -0.29 -0.63 -1.36 | 0.27 0.35 -0.06\n",
+ "r_i | 1007.4 -4.5 2349.3 | 576.5 562.6 28.8 | 2.1 -999.7 2300.0 | 1995.8 997.3 2400.0\n",
+ "v_i | -40.97 0.00 -79.96 | 17.17 17.26 5.76 | -69.99 -29.99 -89.99 | -10.04 29.96 -70.02\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.3\n",
+ "norm_vf | 0.95 | 0.14 | 0.30 | 1.36\n",
+ "gs_f | 29.9 | 60.8 | 4.0 | 1777.9\n",
+ "thrust | 1258 6 9244 | 2935 2856 2003 | -15478 -16890 2000 | 16706 16322 19998\n",
+ "norm_thrust | 9905 | 3116 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 259 | 346\n",
+ "rewards | -2.66 | 5.32 | -32.94 | 3.73\n",
+ "fuel_rewards | -7.52 | 0.38 | -8.90 | -6.69\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.49 | 0.51 | 0.43 | 4.38\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.19\n",
+ "norm_wf | 0.11 | 0.06 | 0.00 | 0.42\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.06 | 0.50 | -10.34 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.00 0.12 -0.00 | 0.34 0.21 0.20 | -1.29 -0.90 -1.05 | 1.38 1.08 1.00\n",
+ "w | -0.00 -0.01 -0.00 | 0.20 0.20 0.01 | -1.76 -2.42 -0.16 | 1.92 1.55 0.14\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.16 -0.17 | 0.14 0.13\n",
+ "w_f | -0.01 -0.03 -0.00 | 0.09 0.09 0.02 | -0.33 -0.37 -0.15 | 0.32 0.38 0.14\n",
+ "landing_rewards | 9.74 | 1.60 | 0.00 | 10.00\n",
+ "landing_margin | -0.09 | 0.08 | -0.19 | 1.01\n",
+ "tracking_rewards | -4.81 | 4.72 | -34.94 | 0.98\n",
+ "steps | 303 | 24 | 249 | 393\n",
+ "***** Episode 220701, Mean R = -2.1 Std R = 4.3 Min R = -16.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -6.79\n",
+ "PolicyLoss: -0.00203\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 5.96e+07\n",
+ "ValFuncLoss: 2.15e-05\n",
+ "Variance: 0.0463\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013095716 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04632949 0.04309798 0.04333856 0.04445342]\n",
+ "FIT: 0.6325571682330621 2.5531709265352767 0.02069380931747245 0.11990991359712846\n",
+ "***** Episode 220822, Mean R = -2.9 Std R = 5.4 Min R = -27.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00131\n",
+ "PolicyEntropy: -6.79\n",
+ "PolicyLoss: -0.00231\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 5.97e+07\n",
+ "ValFuncLoss: 2.51e-05\n",
+ "Variance: 0.0463\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0014340542 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04629486 0.04304326 0.04331556 0.04436007]\n",
+ "FIT: 0.5202007184989842 2.431699272868351 0.019098174019927777 0.12040968895958983\n",
+ "***** Episode 220943, Mean R = -2.0 Std R = 4.5 Min R = -18.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00143\n",
+ "PolicyEntropy: -6.8\n",
+ "PolicyLoss: -0.00254\n",
+ "Steps: 3.73e+04\n",
+ "TotalSteps: 5.97e+07\n",
+ "ValFuncLoss: 1.93e-05\n",
+ "Variance: 0.0463\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010865602 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04631637 0.04303037 0.04327412 0.04424328]\n",
+ "FIT: 0.5905212675138886 2.5348580715408886 0.02207811476885007 0.12088317190515419\n",
+ "***** Episode 221064, Mean R = -3.7 Std R = 5.6 Min R = -26.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -6.8\n",
+ "PolicyLoss: -0.00208\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 5.97e+07\n",
+ "ValFuncLoss: 3.81e-05\n",
+ "Variance: 0.0463\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0014505021 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04631809 0.04310044 0.0431838 0.04412298]\n",
+ "FIT: 0.5937688642687468 2.560170110960211 0.021302979936906604 0.11828691937258137\n",
+ "***** Episode 221185, Mean R = -3.1 Std R = 4.9 Min R = -19.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00145\n",
+ "PolicyEntropy: -6.8\n",
+ "PolicyLoss: -0.00245\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 5.98e+07\n",
+ "ValFuncLoss: 3.7e-05\n",
+ "Variance: 0.0463\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012285949 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04634871 0.04304513 0.04303064 0.04400133]\n",
+ "FIT: 0.5963311041680217 2.3109901733835647 0.021237100600248488 0.11978876542874256\n",
+ "***** Episode 221306, Mean R = -3.2 Std R = 5.5 Min R = -25.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -6.81\n",
+ "PolicyLoss: -0.00204\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 5.98e+07\n",
+ "ValFuncLoss: 3.08e-05\n",
+ "Variance: 0.0463\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011805763 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04632979 0.04295006 0.04305771 0.04398157]\n",
+ "FIT: 0.5700182608572811 2.341477496879409 0.02178102554006052 0.11868277815287412\n",
+ "***** Episode 221427, Mean R = -3.1 Std R = 5.3 Min R = -22.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -6.81\n",
+ "PolicyLoss: -0.00266\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 5.99e+07\n",
+ "ValFuncLoss: 2.59e-05\n",
+ "Variance: 0.0463\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011590318 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04636063 0.04297968 0.04307034 0.04398724]\n",
+ "FIT: 0.6642574707621837 2.4830843238136975 0.021404755892946097 0.11788744379455127\n",
+ "***** Episode 221548, Mean R = -3.2 Std R = 5.0 Min R = -24.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -6.81\n",
+ "PolicyLoss: -0.00203\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 5.99e+07\n",
+ "ValFuncLoss: 3.55e-05\n",
+ "Variance: 0.0464\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0017553659 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04639493 0.04288369 0.0430303 0.04395009]\n",
+ "FIT: 0.6499414097580951 2.5808115983996722 0.020279773271144483 0.11947172079666313\n",
+ "***** Episode 221669, Mean R = -2.7 Std R = 5.3 Min R = -26.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00176\n",
+ "PolicyEntropy: -6.81\n",
+ "PolicyLoss: -0.0025\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 5.99e+07\n",
+ "ValFuncLoss: 2.37e-05\n",
+ "Variance: 0.0464\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012157846 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04635935 0.0427307 0.04308247 0.04389674]\n",
+ "FIT: 0.5933639520495662 2.625198430087762 0.021372306398100015 0.11909001295821213\n",
+ "***** Episode 221790, Mean R = -3.0 Std R = 5.8 Min R = -24.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -6.82\n",
+ "PolicyLoss: -0.00233\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6e+07\n",
+ "ValFuncLoss: 2.2e-05\n",
+ "Variance: 0.0464\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00142566 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04636534 0.04272283 0.04317482 0.04379186]\n",
+ "FIT: 0.6265285800453313 2.4562629773864346 0.02025290344802508 0.11661464105510028\n",
+ "Update Cnt = 1670 ET = 1017.3 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.0 1.0 0.0 | -4.3 -4.5 -0.1 | 3.4 3.7 -0.0\n",
+ "v_f | 0.01 -0.06 -0.94 | 0.07 0.08 0.15 | -0.25 -0.50 -1.37 | 0.30 0.30 -0.29\n",
+ "r_i | 1021.4 5.5 2348.8 | 573.1 582.0 28.8 | 1.2 -997.0 2300.1 | 1998.7 997.9 2400.0\n",
+ "v_i | -40.10 -0.24 -80.02 | 17.48 17.73 5.71 | -69.97 -30.00 -89.99 | -10.09 29.91 -70.03\n",
+ "norm_rf | 1.3 | 0.8 | 0.1 | 4.8\n",
+ "norm_vf | 0.95 | 0.14 | 0.30 | 1.38\n",
+ "gs_f | 31.9 | 41.4 | 4.2 | 631.2\n",
+ "thrust | 1222 13 9216 | 2911 2958 2006 | -14926 -16826 2000 | 16545 16501 19997\n",
+ "norm_thrust | 9889 | 3144 | 3464 | 20000\n",
+ "fuel | 292 | 16 | 259 | 344\n",
+ "rewards | -2.94 | 5.30 | -27.86 | 4.28\n",
+ "fuel_rewards | -7.53 | 0.41 | -8.86 | -6.69\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.49 | 0.51 | 0.53 | 5.02\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.16\n",
+ "norm_wf | 0.12 | 0.07 | 0.01 | 0.40\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.57 | -10.10 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.12 0.00 | 0.35 0.21 0.20 | -1.11 -0.92 -1.04 | 1.70 1.06 1.02\n",
+ "w | -0.00 -0.01 0.00 | 0.20 0.20 0.01 | -1.64 -2.49 -0.07 | 2.35 1.38 0.15\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.11 -0.11 | 0.08 0.15\n",
+ "w_f | -0.01 -0.02 0.00 | 0.10 0.09 0.02 | -0.35 -0.31 -0.07 | 0.32 0.35 0.14\n",
+ "landing_rewards | 9.70 | 1.70 | 0.00 | 10.00\n",
+ "landing_margin | -0.09 | 0.07 | -0.19 | 0.77\n",
+ "tracking_rewards | -5.04 | 4.72 | -26.83 | 1.37\n",
+ "steps | 304 | 25 | 246 | 388\n",
+ "***** Episode 221911, Mean R = -2.4 Std R = 5.5 Min R = -27.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00143\n",
+ "PolicyEntropy: -6.82\n",
+ "PolicyLoss: -0.00238\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6e+07\n",
+ "ValFuncLoss: 1.9e-05\n",
+ "Variance: 0.0464\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012997241 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04634982 0.04281896 0.04318556 0.04368182]\n",
+ "FIT: 0.6826063525473395 2.4378415709666097 0.020391700397858474 0.11978988191791778\n",
+ "***** Episode 222032, Mean R = -2.9 Std R = 5.5 Min R = -31.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.967\n",
+ "KL: 0.0013\n",
+ "PolicyEntropy: -6.82\n",
+ "PolicyLoss: -0.0025\n",
+ "Steps: 3.76e+04\n",
+ "TotalSteps: 6e+07\n",
+ "ValFuncLoss: 4.02e-05\n",
+ "Variance: 0.0463\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013604895 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04629628 0.04282533 0.04306303 0.04360625]\n",
+ "FIT: 0.6008776657329349 2.486081017679499 0.02017037863331088 0.1238644842664779\n",
+ "***** Episode 222153, Mean R = -2.8 Std R = 4.6 Min R = -23.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00136\n",
+ "PolicyEntropy: -6.83\n",
+ "PolicyLoss: -0.00302\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.01e+07\n",
+ "ValFuncLoss: 2.19e-05\n",
+ "Variance: 0.0463\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010199959 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04637547 0.04269531 0.04307688 0.04354656]\n",
+ "FIT: 0.635245368906907 2.5666954854797575 0.022352348745763542 0.12076289377437227\n",
+ "***** Episode 222274, Mean R = -3.5 Std R = 6.0 Min R = -26.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.997\n",
+ "ExplainedVarOld: 0.993\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -6.83\n",
+ "PolicyLoss: -0.00252\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 6.01e+07\n",
+ "ValFuncLoss: 1.34e-05\n",
+ "Variance: 0.0464\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013813444 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04628108 0.0425619 0.04313891 0.04348642]\n",
+ "FIT: 0.5793473319054625 2.574479937299921 0.02022574720739955 0.11639497072330787\n",
+ "***** Episode 222395, Mean R = -2.5 Std R = 5.4 Min R = -25.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00138\n",
+ "PolicyEntropy: -6.83\n",
+ "PolicyLoss: -0.00212\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.02e+07\n",
+ "ValFuncLoss: 3.39e-05\n",
+ "Variance: 0.0463\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0010208777 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04630241 0.04265982 0.04316226 0.04352598]\n",
+ "FIT: 0.573262668442358 2.451935219017237 0.01991858090420865 0.11498371922286109\n",
+ "***** Episode 222516, Mean R = -2.3 Std R = 4.4 Min R = -19.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -6.83\n",
+ "PolicyLoss: -0.00227\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.02e+07\n",
+ "ValFuncLoss: 2.7e-05\n",
+ "Variance: 0.0463\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0014106205 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04641806 0.04277054 0.04317635 0.04352891]\n",
+ "FIT: 0.6363088393897347 2.5509573072564975 0.019969587678660538 0.11747865472209564\n",
+ "***** Episode 222637, Mean R = -2.3 Std R = 5.0 Min R = -29.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00141\n",
+ "PolicyEntropy: -6.82\n",
+ "PolicyLoss: -0.00253\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.02e+07\n",
+ "ValFuncLoss: 1.85e-05\n",
+ "Variance: 0.0464\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0014705604 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04636939 0.04274153 0.04314502 0.04348447]\n",
+ "FIT: 0.8643346399422018 2.494220052801421 0.021397412016539972 0.12100904028677921\n",
+ "***** Episode 222758, Mean R = -3.2 Std R = 6.0 Min R = -31.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00147\n",
+ "PolicyEntropy: -6.83\n",
+ "PolicyLoss: -0.00218\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.03e+07\n",
+ "ValFuncLoss: 1.08e-05\n",
+ "Variance: 0.0464\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011966398 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04639162 0.04271439 0.04310561 0.04352822]\n",
+ "FIT: 0.5823119792021142 2.639483546667302 0.020339761945560513 0.11670165406696792\n",
+ "***** Episode 222879, Mean R = -2.5 Std R = 5.3 Min R = -22.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: -6.83\n",
+ "PolicyLoss: -0.00196\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.03e+07\n",
+ "ValFuncLoss: 2.98e-05\n",
+ "Variance: 0.0464\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011903294 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04645301 0.04264357 0.04305646 0.04346434]\n",
+ "FIT: 0.7987345790097076 2.5808745162826816 0.02078598105453198 0.11741120369075707\n",
+ "***** Episode 223000, Mean R = -2.7 Std R = 6.3 Min R = -43.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -6.83\n",
+ "PolicyLoss: -0.00251\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.03e+07\n",
+ "ValFuncLoss: 1.92e-05\n",
+ "Variance: 0.0465\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001235966 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04644769 0.04250053 0.04299112 0.0433816 ]\n",
+ "FIT: 0.47137827136415267 2.450785599091569 0.018940435640199114 0.11901924578615343\n",
+ "Update Cnt = 1680 ET = 1020.7 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.0 1.0 0.0 | -3.8 -4.9 -0.1 | 3.5 4.0 -0.0\n",
+ "v_f | 0.01 -0.06 -0.94 | 0.07 0.08 0.14 | -0.25 -0.50 -1.36 | 0.59 0.23 -0.18\n",
+ "r_i | 1000.7 13.3 2349.5 | 579.3 590.9 29.1 | 0.2 -999.9 2300.1 | 1999.0 999.6 2399.9\n",
+ "v_i | -39.96 -0.12 -79.83 | 17.21 17.10 5.73 | -69.98 -29.96 -90.00 | -10.02 29.99 -70.00\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 6.0\n",
+ "norm_vf | 0.95 | 0.14 | 0.36 | 1.36\n",
+ "gs_f | 31.1 | 64.8 | 3.9 | 1941.4\n",
+ "thrust | 1221 9 9225 | 2944 2878 2004 | -15651 -16552 2000 | 16611 16313 20000\n",
+ "norm_thrust | 9887 | 3132 | 3464 | 20000\n",
+ "fuel | 292 | 16 | 261 | 367\n",
+ "rewards | -2.68 | 5.33 | -43.14 | 3.68\n",
+ "fuel_rewards | -7.54 | 0.40 | -9.48 | -6.73\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.50 | 0.49 | 0.45 | 4.42\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.20\n",
+ "norm_wf | 0.12 | 0.07 | 0.00 | 0.53\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.54 | -8.22 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.05 0.12 0.00 | 0.35 0.21 0.20 | -1.15 -1.02 -1.04 | 1.76 1.15 1.11\n",
+ "w | -0.00 -0.01 0.00 | 0.20 0.20 0.01 | -1.68 -2.41 -0.09 | 2.10 1.38 0.16\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.16 -0.14 | 0.15 0.13\n",
+ "w_f | -0.01 -0.03 0.00 | 0.10 0.09 0.02 | -0.46 -0.36 -0.08 | 0.47 0.35 0.15\n",
+ "landing_rewards | 9.75 | 1.55 | 0.00 | 10.00\n",
+ "landing_margin | -0.09 | 0.08 | -0.19 | 1.12\n",
+ "tracking_rewards | -4.82 | 4.71 | -31.91 | 0.97\n",
+ "steps | 304 | 24 | 249 | 383\n",
+ "***** Episode 223121, Mean R = -2.2 Std R = 4.3 Min R = -17.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -6.84\n",
+ "PolicyLoss: -0.0021\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 6.04e+07\n",
+ "ValFuncLoss: 4.13e-05\n",
+ "Variance: 0.0464\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012066063 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04640319 0.04242494 0.04302689 0.04340795]\n",
+ "FIT: 0.6345697283762832 2.6094862034691517 0.02334965001011589 0.12041729190010773\n",
+ "***** Episode 223242, Mean R = -3.9 Std R = 6.1 Min R = -28.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -6.84\n",
+ "PolicyLoss: -0.00203\n",
+ "Steps: 3.6e+04\n",
+ "TotalSteps: 6.04e+07\n",
+ "ValFuncLoss: 4.45e-05\n",
+ "Variance: 0.0464\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009394441 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04634536 0.04237488 0.04304132 0.04332792]\n",
+ "FIT: 0.4701528029755363 2.3644419817286626 0.01990869663673232 0.11643353704326452\n",
+ "***** Episode 223363, Mean R = -2.2 Std R = 4.1 Min R = -16.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.000939\n",
+ "PolicyEntropy: -6.84\n",
+ "PolicyLoss: -0.00231\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 6.04e+07\n",
+ "ValFuncLoss: 2.12e-05\n",
+ "Variance: 0.0463\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012099467 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04637856 0.04236328 0.04309732 0.0433933 ]\n",
+ "FIT: 0.5933589631525211 2.5235180403939004 0.019426132276781607 0.11503761604766322\n",
+ "***** Episode 223484, Mean R = -1.8 Std R = 5.0 Min R = -25.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -6.84\n",
+ "PolicyLoss: -0.00205\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.05e+07\n",
+ "ValFuncLoss: 1.71e-05\n",
+ "Variance: 0.0464\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009226297 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04633206 0.04236764 0.0431485 0.04334393]\n",
+ "FIT: 0.6267917117175299 2.330426906396074 0.02018117860700691 0.11587057840261572\n",
+ "***** Episode 223605, Mean R = -2.5 Std R = 4.9 Min R = -26.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.000923\n",
+ "PolicyEntropy: -6.84\n",
+ "PolicyLoss: -0.002\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.05e+07\n",
+ "ValFuncLoss: 2.68e-05\n",
+ "Variance: 0.0463\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011007107 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04623085 0.04235418 0.04311002 0.04335283]\n",
+ "FIT: 0.5563842801201602 2.4717970127817868 0.020922572279899024 0.1206650567251125\n",
+ "***** Episode 223726, Mean R = -3.1 Std R = 4.4 Min R = -21.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -6.84\n",
+ "PolicyLoss: -0.00243\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.06e+07\n",
+ "ValFuncLoss: 2.22e-05\n",
+ "Variance: 0.0462\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011488576 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0461772 0.04231103 0.0429885 0.04330154]\n",
+ "FIT: 0.5506665368210221 2.522251853687786 0.021879151634109275 0.11939098843369238\n",
+ "***** Episode 223847, Mean R = -3.3 Std R = 4.8 Min R = -18.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.00115\n",
+ "PolicyEntropy: -6.85\n",
+ "PolicyLoss: -0.00242\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 6.06e+07\n",
+ "ValFuncLoss: 1.84e-05\n",
+ "Variance: 0.0462\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011140764 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04614335 0.04230717 0.04287202 0.04333149]\n",
+ "FIT: 0.596160554219431 2.3854477862642893 0.021270603404922254 0.11977618479561146\n",
+ "***** Episode 223968, Mean R = -3.0 Std R = 5.4 Min R = -25.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -6.85\n",
+ "PolicyLoss: -0.00271\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.06e+07\n",
+ "ValFuncLoss: 1.37e-05\n",
+ "Variance: 0.0461\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0012671965 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04603374 0.04246522 0.04278933 0.0433243 ]\n",
+ "FIT: 0.6450945723208896 2.6539080438651683 0.020535098028401273 0.12087637825325617\n",
+ "***** Episode 224089, Mean R = -2.9 Std R = 5.3 Min R = -27.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -6.85\n",
+ "PolicyLoss: -0.00244\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 6.07e+07\n",
+ "ValFuncLoss: 3.36e-05\n",
+ "Variance: 0.046\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0014808702 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04599902 0.04247415 0.04281391 0.04323436]\n",
+ "FIT: 0.6670417890067762 2.5804169290366086 0.02147695672784755 0.11666657678564399\n",
+ "***** Episode 224210, Mean R = -3.0 Std R = 5.6 Min R = -28.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00148\n",
+ "PolicyEntropy: -6.85\n",
+ "PolicyLoss: -0.00235\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 6.07e+07\n",
+ "ValFuncLoss: 1.93e-05\n",
+ "Variance: 0.046\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009999553 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0459155 0.04240958 0.04282609 0.04319898]\n",
+ "FIT: 0.516592854227279 2.2877852058118253 0.019194623046996387 0.11477717738491096\n",
+ "Update Cnt = 1690 ET = 1018.7 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.3 -0.0 | 1.0 1.0 0.0 | -3.5 -4.5 -0.1 | 3.4 3.8 -0.0\n",
+ "v_f | 0.01 -0.05 -0.97 | 0.07 0.08 0.15 | -0.87 -0.54 -1.36 | 0.32 0.22 -0.37\n",
+ "r_i | 975.5 2.3 2351.3 | 571.2 578.0 28.6 | 2.0 -997.5 2300.3 | 1999.7 998.4 2400.0\n",
+ "v_i | -40.71 -0.25 -79.92 | 17.10 17.41 5.79 | -69.94 -30.00 -89.98 | -10.01 29.93 -70.00\n",
+ "norm_rf | 1.3 | 0.8 | 0.1 | 4.7\n",
+ "norm_vf | 0.97 | 0.14 | 0.39 | 1.36\n",
+ "gs_f | 32.9 | 55.6 | 4.4 | 1045.8\n",
+ "thrust | 1253 14 9234 | 2907 2945 1983 | -15433 -16526 2000 | 16600 16779 20000\n",
+ "norm_thrust | 9908 | 3120 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 261 | 352\n",
+ "rewards | -2.76 | 5.06 | -28.82 | 3.69\n",
+ "fuel_rewards | -7.51 | 0.39 | -9.08 | -6.73\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.51 | 0.50 | 0.58 | 4.64\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.30\n",
+ "norm_wf | 0.12 | 0.07 | 0.01 | 0.72\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.47 | -6.35 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.12 0.00 | 0.34 0.21 0.20 | -1.15 -0.90 -1.04 | 1.51 1.05 1.04\n",
+ "w | -0.00 -0.01 -0.00 | 0.19 0.19 0.01 | -1.70 -2.51 -0.17 | 2.04 1.37 0.12\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.11 -0.11 | 0.25 0.16\n",
+ "w_f | -0.02 -0.02 -0.00 | 0.10 0.09 0.02 | -0.68 -0.39 -0.15 | 0.37 0.31 0.11\n",
+ "landing_rewards | 9.78 | 1.48 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.06 | -0.19 | 0.57\n",
+ "tracking_rewards | -4.95 | 4.58 | -30.87 | 0.85\n",
+ "steps | 303 | 24 | 251 | 381\n",
+ "***** Episode 224331, Mean R = -1.8 Std R = 4.1 Min R = -17.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.001\n",
+ "PolicyEntropy: -6.86\n",
+ "PolicyLoss: -0.00235\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.07e+07\n",
+ "ValFuncLoss: 1.82e-05\n",
+ "Variance: 0.0459\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001472798 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04592035 0.04248855 0.04271445 0.04319218]\n",
+ "FIT: 0.6054287992430627 2.4888377888488966 0.021882291739651134 0.12032064604181407\n",
+ "***** Episode 224452, Mean R = -3.4 Std R = 5.5 Min R = -25.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00147\n",
+ "PolicyEntropy: -6.86\n",
+ "PolicyLoss: -0.00255\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 6.08e+07\n",
+ "ValFuncLoss: 2.2e-05\n",
+ "Variance: 0.0459\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009800269 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04586297 0.04255003 0.04266102 0.04313139]\n",
+ "FIT: 0.589190054060775 2.5064634245044664 0.02099883319461908 0.11989767941047669\n",
+ "***** Episode 224573, Mean R = -3.1 Std R = 5.8 Min R = -24.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00098\n",
+ "PolicyEntropy: -6.86\n",
+ "PolicyLoss: -0.00196\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 6.08e+07\n",
+ "ValFuncLoss: 3.54e-05\n",
+ "Variance: 0.0459\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00094615464 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0458073 0.04258164 0.04264027 0.04303427]\n",
+ "FIT: 0.5132712751840427 2.2406204679777164 0.019915977463154107 0.1169102681069485\n",
+ "***** Episode 224694, Mean R = -2.4 Std R = 4.2 Min R = -17.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.000946\n",
+ "PolicyEntropy: -6.86\n",
+ "PolicyLoss: -0.00224\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.09e+07\n",
+ "ValFuncLoss: 2.56e-05\n",
+ "Variance: 0.0458\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0014146328 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04587379 0.04262812 0.04263731 0.04304973]\n",
+ "FIT: 0.553715548687048 2.5266865466721216 0.019252024952409838 0.11522768031540309\n",
+ "***** Episode 224815, Mean R = -2.0 Std R = 4.6 Min R = -18.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00141\n",
+ "PolicyEntropy: -6.86\n",
+ "PolicyLoss: -0.00248\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.09e+07\n",
+ "ValFuncLoss: 2.05e-05\n",
+ "Variance: 0.0459\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010990005 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0458259 0.04268173 0.04271995 0.04305873]\n",
+ "FIT: 0.5715330951384622 2.570780753877003 0.020297430809623082 0.11968697053212579\n",
+ "***** Episode 224936, Mean R = -2.5 Std R = 5.0 Min R = -29.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -6.86\n",
+ "PolicyLoss: -0.00229\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.09e+07\n",
+ "ValFuncLoss: 1.52e-05\n",
+ "Variance: 0.0458\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010771777 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04570245 0.0427028 0.04273225 0.04313279]\n",
+ "FIT: 0.5880726221298861 2.4322837224418725 0.022501232384635243 0.12334679315468718\n",
+ "***** Episode 225057, Mean R = -3.9 Std R = 5.6 Min R = -25.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -6.86\n",
+ "PolicyLoss: -0.00246\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.1e+07\n",
+ "ValFuncLoss: 3.25e-05\n",
+ "Variance: 0.0457\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.000928332 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04560952 0.04266293 0.04271767 0.04314929]\n",
+ "FIT: 0.5935321145480362 2.575343264568846 0.01943570890301306 0.11705329954323673\n",
+ "***** Episode 225178, Mean R = -2.1 Std R = 4.4 Min R = -24.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.000928\n",
+ "PolicyEntropy: -6.86\n",
+ "PolicyLoss: -0.0025\n",
+ "Steps: 3.74e+04\n",
+ "TotalSteps: 6.1e+07\n",
+ "ValFuncLoss: 1.58e-05\n",
+ "Variance: 0.0456\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009091812 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04560107 0.04266433 0.04265826 0.04310488]\n",
+ "FIT: 0.6503059681007918 2.651113478752807 0.019088043029763257 0.11550369067346553\n",
+ "***** Episode 225299, Mean R = -1.7 Std R = 4.6 Min R = -27.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.997\n",
+ "ExplainedVarOld: 0.992\n",
+ "KL: 0.000909\n",
+ "PolicyEntropy: -6.87\n",
+ "PolicyLoss: -0.00258\n",
+ "Steps: 3.73e+04\n",
+ "TotalSteps: 6.1e+07\n",
+ "ValFuncLoss: 6.2e-06\n",
+ "Variance: 0.0456\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00090394757 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04560333 0.04257999 0.04267945 0.04305936]\n",
+ "FIT: 0.5393427423887042 2.4689579052393 0.01991540919577076 0.11575573604410515\n",
+ "***** Episode 225420, Mean R = -2.2 Std R = 4.2 Min R = -19.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.000904\n",
+ "PolicyEntropy: -6.87\n",
+ "PolicyLoss: -0.00264\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.11e+07\n",
+ "ValFuncLoss: 9.8e-06\n",
+ "Variance: 0.0456\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010820995 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.045504 0.04253153 0.04253586 0.04306533]\n",
+ "FIT: 0.5531605616964087 2.388769421798388 0.019768397717817965 0.11891514661064606\n",
+ "Update Cnt = 1700 ET = 1025.9 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.3 -0.0 | 1.0 1.1 0.0 | -3.9 -5.1 -0.1 | 3.3 3.0 -0.0\n",
+ "v_f | 0.01 -0.04 -0.96 | 0.07 0.08 0.14 | -0.28 -0.45 -1.39 | 0.33 0.43 -0.53\n",
+ "r_i | 1028.0 9.0 2349.0 | 559.2 583.6 28.9 | 5.1 -999.7 2300.0 | 1999.7 996.1 2400.0\n",
+ "v_i | -38.69 0.29 -79.90 | 17.47 17.63 5.85 | -69.88 -29.96 -89.99 | -10.08 29.99 -70.02\n",
+ "norm_rf | 1.3 | 0.8 | 0.1 | 5.3\n",
+ "norm_vf | 0.97 | 0.14 | 0.56 | 1.39\n",
+ "gs_f | 32.8 | 39.8 | 4.4 | 659.5\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "thrust | 1174 -5 9219 | 2846 2906 2013 | -15694 -16699 2000 | 16789 16727 19996\n",
+ "norm_thrust | 9862 | 3116 | 3464 | 20000\n",
+ "fuel | 293 | 16 | 259 | 348\n",
+ "rewards | -2.56 | 4.95 | -28.97 | 3.94\n",
+ "fuel_rewards | -7.55 | 0.40 | -8.95 | -6.66\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.51 | 0.53 | 0.61 | 5.21\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.17\n",
+ "norm_wf | 0.11 | 0.07 | 0.01 | 0.45\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.37 | -6.70 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.11 0.00 | 0.35 0.20 0.20 | -1.18 -0.99 -1.07 | 1.42 1.07 1.11\n",
+ "w | -0.00 -0.01 -0.00 | 0.19 0.19 0.01 | -1.64 -2.60 -0.10 | 2.00 1.38 0.08\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.11 -0.11 | 0.10 0.15\n",
+ "w_f | -0.01 -0.01 0.00 | 0.10 0.09 0.01 | -0.42 -0.34 -0.10 | 0.31 0.37 0.08\n",
+ "landing_rewards | 9.77 | 1.50 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.06 | -0.19 | 0.57\n",
+ "tracking_rewards | -4.74 | 4.39 | -27.78 | 1.20\n",
+ "steps | 305 | 25 | 247 | 400\n",
+ "***** Episode 225541, Mean R = -2.4 Std R = 4.8 Min R = -28.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -6.87\n",
+ "PolicyLoss: -0.0023\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 6.11e+07\n",
+ "ValFuncLoss: 1.74e-05\n",
+ "Variance: 0.0455\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001394508 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04549048 0.04250537 0.04244991 0.04303655]\n",
+ "FIT: 0.6554186564756993 2.569706207988525 0.02120188123626887 0.1199786410562832\n",
+ "***** Episode 225662, Mean R = -3.0 Std R = 5.5 Min R = -27.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00139\n",
+ "PolicyEntropy: -6.88\n",
+ "PolicyLoss: -0.00261\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.11e+07\n",
+ "ValFuncLoss: 2.52e-05\n",
+ "Variance: 0.0455\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001116902 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04550212 0.0424661 0.0424024 0.04309853]\n",
+ "FIT: 0.595312504155096 2.355427532481819 0.020667209022495924 0.11775965692448868\n",
+ "***** Episode 225783, Mean R = -2.8 Std R = 4.8 Min R = -21.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -6.88\n",
+ "PolicyLoss: -0.00259\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 6.12e+07\n",
+ "ValFuncLoss: 1.52e-05\n",
+ "Variance: 0.0455\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011510754 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0455733 0.04252924 0.04231793 0.04312511]\n",
+ "FIT: 0.504605546341439 2.578341709481278 0.02068866049812721 0.11829701111853284\n",
+ "***** Episode 225904, Mean R = -2.9 Std R = 5.4 Min R = -26.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00115\n",
+ "PolicyEntropy: -6.88\n",
+ "PolicyLoss: -0.00192\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.12e+07\n",
+ "ValFuncLoss: 3.32e-05\n",
+ "Variance: 0.0456\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00097297435 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04559918 0.04258442 0.04225808 0.04316904]\n",
+ "FIT: 0.623294288647223 2.6343092136099577 0.020915612526265958 0.12051435958484616\n",
+ "***** Episode 226025, Mean R = -3.0 Std R = 5.6 Min R = -20.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.000973\n",
+ "PolicyEntropy: -6.87\n",
+ "PolicyLoss: -0.00217\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 6.13e+07\n",
+ "ValFuncLoss: 2.78e-05\n",
+ "Variance: 0.0456\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011729252 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04554275 0.04260447 0.04236094 0.04326433]\n",
+ "FIT: 0.5912308161044119 2.3860900737007573 0.020080191824822288 0.11890605423981707\n",
+ "***** Episode 226146, Mean R = -2.5 Std R = 5.7 Min R = -30.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -6.87\n",
+ "PolicyLoss: -0.00259\n",
+ "Steps: 3.73e+04\n",
+ "TotalSteps: 6.13e+07\n",
+ "ValFuncLoss: 2.62e-05\n",
+ "Variance: 0.0455\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013730482 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04540022 0.0424599 0.04235594 0.04326263]\n",
+ "FIT: 0.5451535059305536 2.544065555530954 0.021092194196019782 0.1207401795506308\n",
+ "***** Episode 226267, Mean R = -3.0 Std R = 5.0 Min R = -19.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00137\n",
+ "PolicyEntropy: -6.88\n",
+ "PolicyLoss: -0.00258\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 6.13e+07\n",
+ "ValFuncLoss: 1.9e-05\n",
+ "Variance: 0.0454\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009589503 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04536065 0.04231206 0.04224023 0.04320304]\n",
+ "FIT: 0.504436085946145 2.576954703884003 0.01947050587733333 0.11701823928389607\n",
+ "***** Episode 226388, Mean R = -2.1 Std R = 4.6 Min R = -17.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.000959\n",
+ "PolicyEntropy: -6.89\n",
+ "PolicyLoss: -0.00265\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 6.14e+07\n",
+ "ValFuncLoss: 1.97e-05\n",
+ "Variance: 0.0454\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013908788 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04529352 0.04220727 0.04224117 0.04312585]\n",
+ "FIT: 0.4510132955868313 2.276355441818963 0.018770911726465864 0.11731613069896168\n",
+ "***** Episode 226509, Mean R = -1.7 Std R = 4.8 Min R = -23.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00139\n",
+ "PolicyEntropy: -6.89\n",
+ "PolicyLoss: -0.00242\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 6.14e+07\n",
+ "ValFuncLoss: 2.28e-05\n",
+ "Variance: 0.0453\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001442585 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04532195 0.0421566 0.04225459 0.04310124]\n",
+ "FIT: 0.5367002207573374 2.5087248648785785 0.019169046644052317 0.11888932003290394\n",
+ "***** Episode 226630, Mean R = -1.8 Std R = 4.5 Min R = -24.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.00144\n",
+ "PolicyEntropy: -6.89\n",
+ "PolicyLoss: -0.00286\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 6.14e+07\n",
+ "ValFuncLoss: 1.07e-05\n",
+ "Variance: 0.0453\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010121793 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04540752 0.04207224 0.04212392 0.04306043]\n",
+ "FIT: 0.5042518040023215 2.474380148677752 0.020124353568517463 0.1192846130411692\n",
+ "Update Cnt = 1710 ET = 1031.7 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.0 1.1 0.0 | -4.3 -4.5 -0.1 | 3.1 4.5 -0.0\n",
+ "v_f | 0.01 -0.04 -0.95 | 0.07 0.08 0.14 | -0.40 -0.81 -1.40 | 0.27 0.31 -0.42\n",
+ "r_i | 1063.6 -5.3 2350.0 | 587.1 584.0 28.5 | 1.0 -998.9 2300.0 | 1999.2 997.8 2399.7\n",
+ "v_i | -40.14 -0.35 -79.91 | 17.16 17.04 5.74 | -69.96 -29.87 -89.91 | -10.04 29.94 -70.03\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.3\n",
+ "norm_vf | 0.96 | 0.14 | 0.53 | 1.40\n",
+ "gs_f | 35.4 | 51.1 | 3.4 | 786.4\n",
+ "thrust | 1212 17 9192 | 2879 2852 2017 | -15326 -16503 2000 | 16968 16735 19999\n",
+ "norm_thrust | 9838 | 3110 | 3464 | 20000\n",
+ "fuel | 292 | 16 | 260 | 346\n",
+ "rewards | -2.53 | 5.11 | -30.25 | 3.68\n",
+ "fuel_rewards | -7.54 | 0.40 | -8.92 | -6.69\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.48 | 0.53 | 0.44 | 4.12\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.22\n",
+ "norm_wf | 0.11 | 0.07 | 0.00 | 0.41\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.41 | -7.53 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.12 0.00 | 0.36 0.20 0.20 | -1.13 -0.95 -1.00 | 1.50 1.07 1.05\n",
+ "w | -0.00 -0.01 -0.00 | 0.20 0.20 0.01 | -1.66 -2.46 -0.14 | 1.72 1.52 0.14\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.12 -0.19 | 0.12 0.19\n",
+ "w_f | -0.01 -0.02 -0.00 | 0.09 0.08 0.02 | -0.34 -0.34 -0.14 | 0.36 0.29 0.14\n",
+ "landing_rewards | 9.74 | 1.60 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.08 | -0.19 | 1.59\n",
+ "tracking_rewards | -4.68 | 4.50 | -24.60 | 0.90\n",
+ "steps | 306 | 25 | 253 | 380\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 226751, Mean R = -2.4 Std R = 4.8 Min R = -20.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -6.9\n",
+ "PolicyLoss: -0.00254\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.15e+07\n",
+ "ValFuncLoss: 1.35e-05\n",
+ "Variance: 0.0454\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010923119 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04549745 0.04188813 0.04209063 0.04298018]\n",
+ "FIT: 0.5220391474908701 2.683250652554707 0.020396988116550854 0.1175761978337991\n",
+ "***** Episode 226872, Mean R = -2.6 Std R = 5.2 Min R = -27.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -6.9\n",
+ "PolicyLoss: -0.00229\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 6.15e+07\n",
+ "ValFuncLoss: 2.37e-05\n",
+ "Variance: 0.0455\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009785926 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04556514 0.04190653 0.04210258 0.04295177]\n",
+ "FIT: 1.0777905413496054 2.5819589768343927 0.0203630430907047 0.1180191717182229\n",
+ "***** Episode 226993, Mean R = -2.8 Std R = 5.8 Min R = -37.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.959\n",
+ "KL: 0.000979\n",
+ "PolicyEntropy: -6.9\n",
+ "PolicyLoss: -0.00219\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.16e+07\n",
+ "ValFuncLoss: 4.86e-05\n",
+ "Variance: 0.0456\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012612062 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04550671 0.0419341 0.0420217 0.04292481]\n",
+ "FIT: 0.4829179261713396 2.2998119055813677 0.01917829725813947 0.11510767441818544\n",
+ "***** Episode 227114, Mean R = -1.9 Std R = 4.2 Min R = -15.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00126\n",
+ "PolicyEntropy: -6.9\n",
+ "PolicyLoss: -0.00219\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.16e+07\n",
+ "ValFuncLoss: 2.4e-05\n",
+ "Variance: 0.0455\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0015088671 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04538494 0.04184754 0.04186116 0.0429012 ]\n",
+ "FIT: 0.5211830886788089 2.4433723979359088 0.02126010830955266 0.11690119950539975\n",
+ "***** Episode 227235, Mean R = -3.1 Std R = 4.9 Min R = -18.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00151\n",
+ "PolicyEntropy: -6.91\n",
+ "PolicyLoss: -0.00261\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 6.16e+07\n",
+ "ValFuncLoss: 2.09e-05\n",
+ "Variance: 0.0454\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013257997 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04524249 0.04181898 0.04183365 0.04284041]\n",
+ "FIT: 0.5428771142012531 2.552339977368917 0.020951369810976804 0.11832888510844304\n",
+ "***** Episode 227356, Mean R = -2.8 Std R = 5.2 Min R = -19.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.992\n",
+ "KL: 0.00133\n",
+ "PolicyEntropy: -6.92\n",
+ "PolicyLoss: -0.00303\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.17e+07\n",
+ "ValFuncLoss: 1.05e-05\n",
+ "Variance: 0.0452\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013805968 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04509474 0.04182236 0.04187828 0.04276844]\n",
+ "FIT: 0.5007301329687563 2.6030263516699215 0.020723077735268852 0.11727460185400608\n",
+ "***** Episode 227477, Mean R = -2.7 Std R = 4.7 Min R = -19.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00138\n",
+ "PolicyEntropy: -6.92\n",
+ "PolicyLoss: -0.00269\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 6.17e+07\n",
+ "ValFuncLoss: 1.59e-05\n",
+ "Variance: 0.0451\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009728306 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04510917 0.04190494 0.04197483 0.04277591]\n",
+ "FIT: 0.5432678636989432 2.6286960615019677 0.021336748933809192 0.1202168125745438\n",
+ "***** Episode 227598, Mean R = -3.2 Std R = 5.5 Min R = -28.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.000973\n",
+ "PolicyEntropy: -6.92\n",
+ "PolicyLoss: -0.0019\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 6.17e+07\n",
+ "ValFuncLoss: 3.58e-05\n",
+ "Variance: 0.0451\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0015412183 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04514467 0.04198614 0.04194564 0.04281976]\n",
+ "FIT: 0.8537162475952957 2.4297629297188683 0.02041913398379249 0.11858008137507352\n",
+ "***** Episode 227719, Mean R = -2.7 Std R = 5.3 Min R = -30.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.963\n",
+ "KL: 0.00154\n",
+ "PolicyEntropy: -6.91\n",
+ "PolicyLoss: -0.00183\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.18e+07\n",
+ "ValFuncLoss: 3.78e-05\n",
+ "Variance: 0.0451\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011233413 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04511807 0.04198124 0.04178917 0.04278868]\n",
+ "FIT: 0.48099452587608155 2.4056606335133086 0.018659859953917883 0.11617810773904146\n",
+ "***** Episode 227840, Mean R = -1.5 Std R = 4.1 Min R = -15.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.96\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -6.92\n",
+ "PolicyLoss: -0.00222\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 6.18e+07\n",
+ "ValFuncLoss: 8.76e-06\n",
+ "Variance: 0.0451\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011637283 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04507532 0.04183816 0.04169055 0.04271903]\n",
+ "FIT: 0.7219617856387535 2.6046589177724395 0.02086741945464619 0.11981653856449027\n",
+ "Update Cnt = 1720 ET = 1015.2 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.3 -0.0 | 1.0 1.0 0.0 | -3.3 -4.7 -0.1 | 3.5 3.0 -0.0\n",
+ "v_f | 0.01 -0.04 -0.95 | 0.06 0.07 0.15 | -0.23 -0.36 -1.36 | 0.29 0.29 -0.38\n",
+ "r_i | 1007.4 -1.5 2350.0 | 560.0 576.1 28.4 | 1.3 -999.9 2300.0 | 1999.9 999.3 2399.8\n",
+ "v_i | -40.68 -0.39 -80.05 | 17.41 17.06 5.81 | -69.94 -29.85 -89.95 | -10.16 29.87 -70.02\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 4.7\n",
+ "norm_vf | 0.96 | 0.14 | 0.41 | 1.37\n",
+ "gs_f | 36.2 | 72.2 | 3.3 | 1823.9\n",
+ "thrust | 1247 18 9229 | 2900 2867 2008 | -15431 -16900 2000 | 16977 16387 20000\n",
+ "norm_thrust | 9883 | 3117 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 260 | 344\n",
+ "rewards | -2.60 | 5.13 | -37.82 | 3.68\n",
+ "fuel_rewards | -7.51 | 0.39 | -8.88 | -6.70\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.51 | 0.52 | 0.65 | 4.95\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.12\n",
+ "norm_wf | 0.12 | 0.06 | 0.01 | 0.40\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.68 | -16.03 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.04 0.12 0.00 | 0.35 0.21 0.19 | -1.06 -1.03 -1.05 | 1.67 1.20 1.04\n",
+ "w | -0.00 -0.01 0.00 | 0.19 0.19 0.01 | -1.72 -2.47 -0.08 | 2.02 1.39 0.11\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.10 -0.10 | 0.10 0.11\n",
+ "w_f | -0.01 -0.02 0.00 | 0.10 0.08 0.02 | -0.34 -0.33 -0.07 | 0.40 0.28 0.10\n",
+ "landing_rewards | 9.70 | 1.70 | 0.00 | 10.00\n",
+ "landing_margin | -0.09 | 0.08 | -0.19 | 1.66\n",
+ "tracking_rewards | -4.73 | 4.56 | -36.32 | 0.91\n",
+ "steps | 303 | 25 | 249 | 384\n",
+ "***** Episode 227961, Mean R = -2.9 Std R = 5.8 Min R = -34.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.952\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -6.93\n",
+ "PolicyLoss: -0.00212\n",
+ "Steps: 3.73e+04\n",
+ "TotalSteps: 6.18e+07\n",
+ "ValFuncLoss: 3.55e-05\n",
+ "Variance: 0.0451\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010507763 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04512124 0.0418774 0.04168156 0.04263572]\n",
+ "FIT: 0.5472912510657885 2.4854812887747073 0.02010695888016841 0.11621555362023224\n",
+ "***** Episode 228082, Mean R = -2.5 Std R = 5.2 Min R = -26.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -6.93\n",
+ "PolicyLoss: -0.00221\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.19e+07\n",
+ "ValFuncLoss: 4.19e-05\n",
+ "Variance: 0.0451\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010329199 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04522806 0.0419773 0.04164058 0.04259232]\n",
+ "FIT: 0.9559517136491575 2.603782257466106 0.02156990802959302 0.11655258804207565\n",
+ "***** Episode 228203, Mean R = -3.1 Std R = 6.4 Min R = -44.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.968\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -6.93\n",
+ "PolicyLoss: -0.00152\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 6.19e+07\n",
+ "ValFuncLoss: 2.56e-05\n",
+ "Variance: 0.0452\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00112569 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04527461 0.04192027 0.0416602 0.04262898]\n",
+ "FIT: 0.5643661379942574 2.3385663597144544 0.02076313193324786 0.11719311547351169\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 228324, Mean R = -2.6 Std R = 4.9 Min R = -15.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -6.92\n",
+ "PolicyLoss: -0.00262\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 6.2e+07\n",
+ "ValFuncLoss: 1.65e-05\n",
+ "Variance: 0.0453\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011189256 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04528345 0.04186037 0.04162766 0.04262105]\n",
+ "FIT: 0.7517137249200584 2.6392344596972235 0.020627597373789396 0.11688862421369163\n",
+ "***** Episode 228445, Mean R = -2.8 Std R = 5.2 Min R = -32.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -6.93\n",
+ "PolicyLoss: -0.00228\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 6.2e+07\n",
+ "ValFuncLoss: 2.95e-05\n",
+ "Variance: 0.0453\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011092583 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0453666 0.04183185 0.04164299 0.0426083 ]\n",
+ "FIT: 0.5221802521450173 2.523984950808282 0.02045514364367152 0.11883122204572087\n",
+ "***** Episode 228566, Mean R = -2.6 Std R = 5.0 Min R = -25.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -6.93\n",
+ "PolicyLoss: -0.00282\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.2e+07\n",
+ "ValFuncLoss: 1.08e-05\n",
+ "Variance: 0.0454\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001266065 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04548087 0.04178321 0.04160197 0.04261966]\n",
+ "FIT: 0.5601994068338327 2.391006392679942 0.020422188278348914 0.12234222572132643\n",
+ "***** Episode 228687, Mean R = -2.8 Std R = 5.2 Min R = -20.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -6.93\n",
+ "PolicyLoss: -0.00233\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 6.21e+07\n",
+ "ValFuncLoss: 3.71e-05\n",
+ "Variance: 0.0455\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0014367973 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04550485 0.0418256 0.04160031 0.0426063 ]\n",
+ "FIT: 0.7682384722814082 2.563523231397355 0.019999506318355273 0.11746176016285567\n",
+ "***** Episode 228808, Mean R = -2.4 Std R = 5.8 Min R = -37.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.969\n",
+ "KL: 0.00144\n",
+ "PolicyEntropy: -6.92\n",
+ "PolicyLoss: -0.00235\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 6.21e+07\n",
+ "ValFuncLoss: 3.79e-05\n",
+ "Variance: 0.0455\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011797639 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04548996 0.04181464 0.04163954 0.04256885]\n",
+ "FIT: 0.49762017871970876 2.535368866194502 0.021698162402215757 0.1204009742692177\n",
+ "***** Episode 228929, Mean R = -3.3 Std R = 5.1 Min R = -24.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -6.92\n",
+ "PolicyLoss: -0.00228\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 6.21e+07\n",
+ "ValFuncLoss: 2.84e-05\n",
+ "Variance: 0.0455\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010131375 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04541295 0.04167179 0.04169362 0.04250998]\n",
+ "FIT: 0.5147485596689556 2.6019366241476396 0.020044871832075907 0.11641919134181865\n",
+ "***** Episode 229050, Mean R = -2.4 Std R = 4.6 Min R = -18.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -6.93\n",
+ "PolicyLoss: -0.00269\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.22e+07\n",
+ "ValFuncLoss: 1.44e-05\n",
+ "Variance: 0.0454\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011831026 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04526331 0.04161412 0.04170335 0.04246445]\n",
+ "FIT: 0.5532966978260903 2.488643798152757 0.020617686685491476 0.11856331000945489\n",
+ "Update Cnt = 1730 ET = 1008.6 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.0 1.0 0.0 | -3.5 -4.5 -0.1 | 2.9 4.0 -0.0\n",
+ "v_f | 0.01 -0.04 -0.95 | 0.07 0.08 0.14 | -0.32 -0.52 -1.38 | 0.32 0.28 -0.50\n",
+ "r_i | 992.0 9.7 2349.1 | 581.3 582.5 29.5 | 1.7 -997.6 2300.0 | 1999.7 999.3 2399.9\n",
+ "v_i | -40.48 0.04 -80.11 | 17.09 17.45 5.84 | -69.95 -29.95 -90.00 | -10.00 29.99 -70.01\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 4.8\n",
+ "norm_vf | 0.96 | 0.14 | 0.50 | 1.38\n",
+ "gs_f | 44.4 | 289.7 | 2.7 | 9916.5\n",
+ "thrust | 1242 4 9234 | 2925 2859 2000 | -16041 -16978 2000 | 16824 17090 19998\n",
+ "norm_thrust | 9891 | 3115 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 258 | 342\n",
+ "rewards | -2.71 | 5.26 | -44.40 | 3.77\n",
+ "fuel_rewards | -7.51 | 0.39 | -8.83 | -6.66\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.51 | 0.53 | 0.57 | 4.63\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.17\n",
+ "norm_wf | 0.11 | 0.07 | 0.01 | 0.40\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.10 | 0.95 | -22.90 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.12 0.00 | 0.35 0.21 0.20 | -1.24 -0.94 -1.09 | 1.43 1.08 1.09\n",
+ "w | -0.00 -0.01 -0.00 | 0.19 0.19 0.01 | -1.67 -2.41 -0.12 | 2.17 1.36 0.08\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.10 -0.15 | 0.12 0.12\n",
+ "w_f | -0.01 -0.02 -0.00 | 0.10 0.08 0.01 | -0.38 -0.33 -0.07 | 0.32 0.40 0.08\n",
+ "landing_rewards | 9.72 | 1.65 | 0.00 | 10.00\n",
+ "landing_margin | -0.09 | 0.11 | -0.19 | 2.33\n",
+ "tracking_rewards | -4.83 | 4.44 | -31.58 | 1.01\n",
+ "steps | 303 | 24 | 250 | 391\n",
+ "***** Episode 229171, Mean R = -2.6 Std R = 5.1 Min R = -20.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -6.94\n",
+ "PolicyLoss: -0.00208\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.22e+07\n",
+ "ValFuncLoss: 1.47e-05\n",
+ "Variance: 0.0453\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00092060515 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04516142 0.04163396 0.04176663 0.04243449]\n",
+ "FIT: 0.5119147343547857 2.5298082374206627 0.020375330618426814 0.11601242858997537\n",
+ "***** Episode 229292, Mean R = -2.6 Std R = 4.8 Min R = -18.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.000921\n",
+ "PolicyEntropy: -6.94\n",
+ "PolicyLoss: -0.00228\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.22e+07\n",
+ "ValFuncLoss: 2.29e-05\n",
+ "Variance: 0.0452\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.000805058 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04509614 0.04159489 0.04179771 0.04227735]\n",
+ "FIT: 0.6090675522276925 2.617481776791533 0.02007700508315964 0.12045368635508417\n",
+ "***** Episode 229413, Mean R = -2.3 Std R = 5.2 Min R = -26.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.998\n",
+ "ExplainedVarOld: 0.994\n",
+ "KL: 0.000805\n",
+ "PolicyEntropy: -6.94\n",
+ "PolicyLoss: -0.00317\n",
+ "Steps: 3.74e+04\n",
+ "TotalSteps: 6.23e+07\n",
+ "ValFuncLoss: 5.1e-06\n",
+ "Variance: 0.0451\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012976782 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04501344 0.04147737 0.04169677 0.04212613]\n",
+ "FIT: 0.5436816331770009 2.3770562739784644 0.02129784330688904 0.11890064027190247\n",
+ "***** Episode 229534, Mean R = -3.0 Std R = 5.3 Min R = -19.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.0013\n",
+ "PolicyEntropy: -6.95\n",
+ "PolicyLoss: -0.0027\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 6.23e+07\n",
+ "ValFuncLoss: 1.93e-05\n",
+ "Variance: 0.045\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012533113 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04497834 0.04147186 0.04161436 0.04201209]\n",
+ "FIT: 0.5689547900554223 2.4891709865152865 0.020909997337523342 0.11839911062915925\n",
+ "***** Episode 229655, Mean R = -3.0 Std R = 5.7 Min R = -29.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00125\n",
+ "PolicyEntropy: -6.96\n",
+ "PolicyLoss: -0.0024\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.24e+07\n",
+ "ValFuncLoss: 3.11e-05\n",
+ "Variance: 0.045\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013686996 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04501763 0.04152262 0.04155265 0.04195862]\n",
+ "FIT: 0.6195643269416853 2.3888345183809165 0.019391952162822246 0.11744842097923952\n",
+ "***** Episode 229776, Mean R = -2.0 Std R = 4.4 Min R = -26.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00137\n",
+ "PolicyEntropy: -6.96\n",
+ "PolicyLoss: -0.00259\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.24e+07\n",
+ "ValFuncLoss: 2.26e-05\n",
+ "Variance: 0.045\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013685267 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04504772 0.04159883 0.0415485 0.041943 ]\n",
+ "FIT: 0.4824468841078923 2.382169542055134 0.020382387474603678 0.11934199354447851\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 229897, Mean R = -2.8 Std R = 4.3 Min R = -15.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00137\n",
+ "PolicyEntropy: -6.96\n",
+ "PolicyLoss: -0.00227\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.24e+07\n",
+ "ValFuncLoss: 2.72e-05\n",
+ "Variance: 0.045\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013691811 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04510111 0.04165606 0.04158524 0.04182649]\n",
+ "FIT: 0.650207763285276 2.547337709244964 0.020495663457080048 0.12043567954050532\n",
+ "***** Episode 230018, Mean R = -2.7 Std R = 4.9 Min R = -28.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.00137\n",
+ "PolicyEntropy: -6.96\n",
+ "PolicyLoss: -0.00245\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.25e+07\n",
+ "ValFuncLoss: 1.59e-05\n",
+ "Variance: 0.0451\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009478114 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04511999 0.04166916 0.04160849 0.04181878]\n",
+ "FIT: 0.849520872345977 2.5947438934579306 0.019996109758655626 0.11369572184027507\n",
+ "***** Episode 230139, Mean R = -2.1 Std R = 5.5 Min R = -37.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.952\n",
+ "KL: 0.000948\n",
+ "PolicyEntropy: -6.95\n",
+ "PolicyLoss: -0.00172\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.25e+07\n",
+ "ValFuncLoss: 2.72e-05\n",
+ "Variance: 0.0451\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0014108261 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0450272 0.04163984 0.04149221 0.04184933]\n",
+ "FIT: 0.5453894398739086 2.515186252493771 0.021045071044408597 0.11773965134784485\n",
+ "***** Episode 230260, Mean R = -2.8 Std R = 5.4 Min R = -19.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.968\n",
+ "KL: 0.00141\n",
+ "PolicyEntropy: -6.96\n",
+ "PolicyLoss: -0.00178\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 6.25e+07\n",
+ "ValFuncLoss: 2.08e-05\n",
+ "Variance: 0.045\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012484383 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04492922 0.04174332 0.04138841 0.04176193]\n",
+ "FIT: 0.5702595099388411 2.6859396967203817 0.020544251081779742 0.11721634959534598\n",
+ "Update Cnt = 1740 ET = 1018.3 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.3 -0.0 | 1.0 1.0 0.0 | -4.1 -5.2 -0.1 | 4.1 4.7 -0.0\n",
+ "v_f | 0.02 -0.04 -0.96 | 0.06 0.08 0.14 | -0.37 -0.39 -1.36 | 0.35 0.23 -0.44\n",
+ "r_i | 1016.3 12.6 2350.3 | 578.5 584.6 29.0 | 4.3 -1000.0 2300.0 | 1999.4 999.5 2400.0\n",
+ "v_i | -40.48 -0.12 -80.09 | 17.16 17.30 5.78 | -70.00 -29.91 -90.00 | -10.02 29.98 -70.05\n",
+ "norm_rf | 1.2 | 0.8 | 0.1 | 5.6\n",
+ "norm_vf | 0.96 | 0.13 | 0.48 | 1.36\n",
+ "gs_f | 44.1 | 246.7 | 4.0 | 8279.3\n",
+ "thrust | 1239 8 9238 | 2868 2904 2013 | -15253 -16535 2000 | 16538 16684 19999\n",
+ "norm_thrust | 9892 | 3122 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 261 | 360\n",
+ "rewards | -2.61 | 5.08 | -37.66 | 3.94\n",
+ "fuel_rewards | -7.53 | 0.39 | -9.27 | -6.73\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.51 | 0.52 | 0.59 | 4.41\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.15\n",
+ "norm_wf | 0.12 | 0.06 | 0.01 | 0.36\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.06 | 0.58 | -14.97 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.12 0.00 | 0.35 0.20 0.20 | -1.21 -0.88 -1.04 | 1.52 1.06 1.05\n",
+ "w | -0.00 -0.01 -0.00 | 0.19 0.19 0.01 | -1.64 -2.35 -0.12 | 2.12 1.55 0.10\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.13 -0.13 | 0.12 0.13\n",
+ "w_f | -0.02 -0.02 -0.00 | 0.10 0.08 0.01 | -0.34 -0.34 -0.11 | 0.28 0.27 0.09\n",
+ "landing_rewards | 9.79 | 1.45 | 0.00 | 10.00\n",
+ "landing_margin | -0.09 | 0.07 | -0.20 | 0.97\n",
+ "tracking_rewards | -4.81 | 4.58 | -30.52 | 1.13\n",
+ "steps | 304 | 24 | 248 | 384\n",
+ "***** Episode 230381, Mean R = -2.7 Std R = 5.0 Min R = -23.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00125\n",
+ "PolicyEntropy: -6.96\n",
+ "PolicyLoss: -0.00235\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.26e+07\n",
+ "ValFuncLoss: 1.7e-05\n",
+ "Variance: 0.0449\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010013881 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0448418 0.04192716 0.04140286 0.0417472 ]\n",
+ "FIT: 0.5340752976832318 2.333644889198043 0.019576737568457302 0.11775724792058716\n",
+ "***** Episode 230502, Mean R = -2.1 Std R = 4.6 Min R = -19.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.001\n",
+ "PolicyEntropy: -6.96\n",
+ "PolicyLoss: -0.0022\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.26e+07\n",
+ "ValFuncLoss: 2e-05\n",
+ "Variance: 0.0448\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012926313 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04485833 0.04201953 0.04152841 0.04174588]\n",
+ "FIT: 0.45182649961688265 2.4504663302996144 0.020276258482369566 0.11707799880719885\n",
+ "***** Episode 230623, Mean R = -2.6 Std R = 4.8 Min R = -15.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00129\n",
+ "PolicyEntropy: -6.96\n",
+ "PolicyLoss: -0.00169\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 6.27e+07\n",
+ "ValFuncLoss: 3.5e-05\n",
+ "Variance: 0.0449\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00090176164 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04492107 0.04200048 0.04159706 0.04178743]\n",
+ "FIT: 0.7260121069308152 2.6371142356017043 0.021116127849719203 0.12024148901075311\n",
+ "***** Episode 230744, Mean R = -3.0 Std R = 5.6 Min R = -28.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.000902\n",
+ "PolicyEntropy: -6.95\n",
+ "PolicyLoss: -0.0027\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.27e+07\n",
+ "ValFuncLoss: 2.04e-05\n",
+ "Variance: 0.0449\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011659127 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04486032 0.04191723 0.04158738 0.04182931]\n",
+ "FIT: 0.5258855947959316 2.394807510650525 0.020266135416988372 0.12222263299897491\n",
+ "***** Episode 230865, Mean R = -2.7 Std R = 4.4 Min R = -19.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -6.95\n",
+ "PolicyLoss: -0.00207\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 6.27e+07\n",
+ "ValFuncLoss: 2e-05\n",
+ "Variance: 0.0449\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013856249 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04471399 0.04187153 0.04153731 0.04187654]\n",
+ "FIT: 0.5052664202274431 2.531248126451974 0.019532747507241682 0.11777780197630587\n",
+ "***** Episode 230986, Mean R = -2.1 Std R = 4.6 Min R = -18.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.00139\n",
+ "PolicyEntropy: -6.96\n",
+ "PolicyLoss: -0.00242\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 6.28e+07\n",
+ "ValFuncLoss: 2.89e-05\n",
+ "Variance: 0.0447\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012345468 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04467075 0.0418198 0.04153273 0.04187034]\n",
+ "FIT: 0.46385170392058855 2.3286112953753633 0.02054539710521761 0.11765263905266676\n",
+ "***** Episode 231107, Mean R = -2.6 Std R = 4.6 Min R = -17.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -6.96\n",
+ "PolicyLoss: -0.0029\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.28e+07\n",
+ "ValFuncLoss: 2.37e-05\n",
+ "Variance: 0.0447\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013210063 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04466499 0.04185652 0.04156477 0.04181336]\n",
+ "FIT: 0.4963912263736938 2.4429463303651007 0.020610631959396882 0.12007831825017479\n",
+ "***** Episode 231228, Mean R = -2.7 Std R = 4.5 Min R = -17.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00132\n",
+ "PolicyEntropy: -6.96\n",
+ "PolicyLoss: -0.00272\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.28e+07\n",
+ "ValFuncLoss: 1.99e-05\n",
+ "Variance: 0.0447\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012264205 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0446606 0.04190543 0.0416683 0.04178618]\n",
+ "FIT: 0.46882698312284504 2.4450426172668416 0.020495791819045813 0.11435364440944729\n",
+ "***** Episode 231349, Mean R = -2.7 Std R = 5.0 Min R = -20.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -6.96\n",
+ "PolicyLoss: -0.00214\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.29e+07\n",
+ "ValFuncLoss: 2.88e-05\n",
+ "Variance: 0.0447\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012003224 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04451256 0.04191021 0.04174399 0.04171664]\n",
+ "FIT: 0.6119739479919645 2.7325266949000584 0.020672111509059534 0.11991029743085388\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 231470, Mean R = -2.7 Std R = 4.9 Min R = -25.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: -6.96\n",
+ "PolicyLoss: -0.00259\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.29e+07\n",
+ "ValFuncLoss: 1.94e-05\n",
+ "Variance: 0.0445\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011706854 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04445137 0.04187993 0.04169239 0.04154257]\n",
+ "FIT: 0.6007565624117208 2.3686695301773386 0.021194351877208324 0.1205734641903224\n",
+ "Update Cnt = 1750 ET = 1023.7 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.0 1.0 0.0 | -3.8 -4.4 -0.1 | 2.9 4.9 -0.0\n",
+ "v_f | 0.02 -0.04 -0.95 | 0.07 0.08 0.15 | -0.31 -0.47 -1.38 | 0.30 0.30 -0.15\n",
+ "r_i | 1009.2 13.9 2350.1 | 574.7 569.1 28.9 | 0.8 -998.0 2300.1 | 1999.6 999.4 2400.0\n",
+ "v_i | -40.01 -0.92 -80.01 | 17.35 16.93 5.73 | -69.98 -29.95 -89.95 | -10.02 29.98 -70.02\n",
+ "norm_rf | 1.2 | 0.8 | 0.1 | 5.0\n",
+ "norm_vf | 0.95 | 0.14 | 0.16 | 1.38\n",
+ "gs_f | 35.1 | 45.5 | 3.0 | 829.8\n",
+ "thrust | 1222 36 9221 | 2914 2877 2006 | -16353 -16595 2000 | 16792 16842 19999\n",
+ "norm_thrust | 9876 | 3126 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 260 | 351\n",
+ "rewards | -2.63 | 4.86 | -28.23 | 4.05\n",
+ "fuel_rewards | -7.52 | 0.39 | -9.07 | -6.70\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.51 | 0.52 | 0.53 | 4.51\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.21\n",
+ "norm_wf | 0.11 | 0.06 | 0.01 | 0.41\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.06 | 0.60 | -13.89 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.04 0.12 0.00 | 0.36 0.21 0.20 | -1.16 -0.97 -1.03 | 1.57 1.05 1.05\n",
+ "w | -0.00 -0.01 0.00 | 0.19 0.19 0.01 | -1.67 -2.54 -0.10 | 2.14 1.48 0.15\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.10 -0.15 | 0.15 0.12\n",
+ "w_f | -0.01 -0.02 0.00 | 0.10 0.08 0.02 | -0.35 -0.30 -0.09 | 0.29 0.26 0.14\n",
+ "landing_rewards | 9.71 | 1.68 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.08 | -0.19 | 1.97\n",
+ "tracking_rewards | -4.76 | 4.33 | -25.66 | 1.18\n",
+ "steps | 304 | 25 | 249 | 384\n",
+ "***** Episode 231591, Mean R = -3.0 Std R = 5.4 Min R = -22.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -6.97\n",
+ "PolicyLoss: -0.0025\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.29e+07\n",
+ "ValFuncLoss: 2.39e-05\n",
+ "Variance: 0.0445\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013353783 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04448259 0.04185532 0.04170685 0.04138828]\n",
+ "FIT: 0.5069548758653379 2.6715405324223394 0.019900972592002564 0.1167461567161359\n",
+ "***** Episode 231712, Mean R = -2.2 Std R = 4.4 Min R = -18.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.00134\n",
+ "PolicyEntropy: -6.97\n",
+ "PolicyLoss: -0.00226\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.3e+07\n",
+ "ValFuncLoss: 1.68e-05\n",
+ "Variance: 0.0445\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012317392 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04457919 0.041884 0.04174402 0.04136925]\n",
+ "FIT: 0.49745713032783306 2.4521295886652217 0.020070986127631765 0.11867183386334822\n",
+ "***** Episode 231833, Mean R = -2.3 Std R = 4.9 Min R = -21.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -6.97\n",
+ "PolicyLoss: -0.0028\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 6.3e+07\n",
+ "ValFuncLoss: 1.13e-05\n",
+ "Variance: 0.0446\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009921688 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04463748 0.04186849 0.0416629 0.04133754]\n",
+ "FIT: 0.5863153932320554 2.6300510129996137 0.019765431276981334 0.1160605019973316\n",
+ "***** Episode 231954, Mean R = -2.1 Std R = 6.0 Min R = -29.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.000992\n",
+ "PolicyEntropy: -6.97\n",
+ "PolicyLoss: -0.00227\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 6.31e+07\n",
+ "ValFuncLoss: 2.7e-05\n",
+ "Variance: 0.0446\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012491392 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04455553 0.04180053 0.04154181 0.04129807]\n",
+ "FIT: 0.48187518394295464 2.6267835538095565 0.019373869479510853 0.11816197630776812\n",
+ "***** Episode 232075, Mean R = -1.8 Std R = 4.0 Min R = -16.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.00125\n",
+ "PolicyEntropy: -6.98\n",
+ "PolicyLoss: -0.00192\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.31e+07\n",
+ "ValFuncLoss: 1.01e-05\n",
+ "Variance: 0.0446\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00095102255 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04459501 0.04170995 0.04143783 0.04127895]\n",
+ "FIT: 0.5504568757152799 2.50848459362452 0.02163286494426938 0.12084333015717204\n",
+ "***** Episode 232196, Mean R = -3.2 Std R = 5.2 Min R = -18.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.000951\n",
+ "PolicyEntropy: -6.98\n",
+ "PolicyLoss: -0.00252\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.31e+07\n",
+ "ValFuncLoss: 1.4e-05\n",
+ "Variance: 0.0446\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011467255 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04460502 0.04170417 0.04141406 0.04119608]\n",
+ "FIT: 0.7381340104664678 2.589993748429471 0.021172863099389955 0.11830220581452092\n",
+ "***** Episode 232317, Mean R = -2.8 Std R = 6.0 Min R = -38.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.997\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00115\n",
+ "PolicyEntropy: -6.98\n",
+ "PolicyLoss: -0.00213\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.32e+07\n",
+ "ValFuncLoss: 7.95e-06\n",
+ "Variance: 0.0446\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011898623 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04456357 0.04172062 0.04133615 0.04108953]\n",
+ "FIT: 0.6639995686405576 2.5202961906983097 0.02085135129482606 0.11885939525930844\n",
+ "***** Episode 232438, Mean R = -2.9 Std R = 6.1 Min R = -26.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -6.99\n",
+ "PolicyLoss: -0.00241\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 6.32e+07\n",
+ "ValFuncLoss: 3.79e-05\n",
+ "Variance: 0.0446\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011687127 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04453837 0.04172735 0.04115473 0.0410174 ]\n",
+ "FIT: 0.5633041249542458 2.3978866390939295 0.020839678535202463 0.11720983965484959\n",
+ "***** Episode 232559, Mean R = -2.8 Std R = 4.8 Min R = -21.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -7\n",
+ "PolicyLoss: -0.00297\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 6.32e+07\n",
+ "ValFuncLoss: 1.62e-05\n",
+ "Variance: 0.0445\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012212334 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04449125 0.04168569 0.04096504 0.04092757]\n",
+ "FIT: 0.65079170078524 2.5413603995880947 0.022227798794771023 0.12050688238270518\n",
+ "***** Episode 232680, Mean R = -3.4 Std R = 6.2 Min R = -38.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -7.01\n",
+ "PolicyLoss: -0.00234\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.33e+07\n",
+ "ValFuncLoss: 2.92e-05\n",
+ "Variance: 0.0445\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009892688 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04454398 0.04164532 0.04093505 0.0407722 ]\n",
+ "FIT: 0.5748802955075719 2.555648913515526 0.02152823505159154 0.11852428699083954\n",
+ "Update Cnt = 1760 ET = 1031.1 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.2 -0.0 | 1.0 1.0 0.0 | -4.0 -5.0 -0.1 | 3.3 3.9 -0.0\n",
+ "v_f | 0.03 -0.04 -0.95 | 0.06 0.08 0.15 | -0.25 -0.46 -1.38 | 0.51 0.34 -0.40\n",
+ "r_i | 1017.5 -0.2 2349.4 | 571.5 584.0 28.1 | 3.5 -998.6 2300.0 | 1999.0 995.4 2399.8\n",
+ "v_i | -39.93 -0.24 -79.92 | 17.58 17.39 5.86 | -69.97 -29.99 -89.97 | -10.07 29.96 -70.02\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 5.6\n",
+ "norm_vf | 0.96 | 0.14 | 0.44 | 1.38\n",
+ "gs_f | 33.4 | 59.7 | 3.1 | 1846.7\n",
+ "thrust | 1218 14 9218 | 2905 2894 2002 | -15450 -16458 2000 | 16721 16413 19999\n",
+ "norm_thrust | 9875 | 3124 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 261 | 341\n",
+ "rewards | -2.68 | 5.36 | -38.03 | 4.09\n",
+ "fuel_rewards | -7.53 | 0.39 | -8.79 | -6.74\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.51 | 0.53 | 0.59 | 5.37\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.22\n",
+ "norm_wf | 0.11 | 0.06 | 0.00 | 0.61\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.06 | 0.52 | -10.45 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "attitude | 0.03 0.12 0.00 | 0.35 0.21 0.20 | -1.20 -0.94 -1.04 | 1.41 1.07 1.03\n",
+ "w | -0.00 -0.01 -0.00 | 0.19 0.19 0.01 | -1.66 -2.40 -0.16 | 1.84 1.50 0.10\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.20 -0.15 | 0.11 0.11\n",
+ "w_f | -0.01 -0.02 0.00 | 0.09 0.08 0.01 | -0.32 -0.33 -0.16 | 0.58 0.25 0.10\n",
+ "landing_rewards | 9.77 | 1.50 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.09 | -0.19 | 1.91\n",
+ "tracking_rewards | -4.86 | 4.77 | -34.92 | 1.13\n",
+ "steps | 304 | 25 | 249 | 393\n",
+ "***** Episode 232801, Mean R = -3.3 Std R = 5.3 Min R = -20.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.000989\n",
+ "PolicyEntropy: -7.01\n",
+ "PolicyLoss: -0.00227\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.33e+07\n",
+ "ValFuncLoss: 3.59e-05\n",
+ "Variance: 0.0445\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011384512 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04458595 0.04167829 0.04095062 0.04075314]\n",
+ "FIT: 0.6399903647378782 2.7008953630620813 0.02155449247828445 0.11832805579570206\n",
+ "***** Episode 232922, Mean R = -3.4 Std R = 5.8 Min R = -29.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -7.01\n",
+ "PolicyLoss: -0.00208\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 6.34e+07\n",
+ "ValFuncLoss: 4.39e-05\n",
+ "Variance: 0.0446\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012614593 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04467725 0.04175513 0.04100657 0.04080534]\n",
+ "FIT: 0.5407475534646735 2.685568615782426 0.022562378651393968 0.1199319141402722\n",
+ "***** Episode 233043, Mean R = -3.9 Std R = 5.7 Min R = -19.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.00126\n",
+ "PolicyEntropy: -7\n",
+ "PolicyLoss: -0.00229\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 6.34e+07\n",
+ "ValFuncLoss: 4.62e-05\n",
+ "Variance: 0.0447\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012550359 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04471102 0.04183019 0.04107092 0.04073809]\n",
+ "FIT: 0.5234922046368922 2.482486559469675 0.020740900278734722 0.11896505697405543\n",
+ "***** Episode 233164, Mean R = -2.7 Std R = 4.9 Min R = -17.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.00126\n",
+ "PolicyEntropy: -7\n",
+ "PolicyLoss: -0.00263\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.34e+07\n",
+ "ValFuncLoss: 3.66e-05\n",
+ "Variance: 0.0447\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011785307 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04479088 0.04173798 0.04107873 0.04070767]\n",
+ "FIT: 0.6563278047703545 2.565888593591216 0.02103486501939411 0.11985626908974889\n",
+ "***** Episode 233285, Mean R = -2.9 Std R = 5.8 Min R = -29.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -7\n",
+ "PolicyLoss: -0.00266\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.35e+07\n",
+ "ValFuncLoss: 2.92e-05\n",
+ "Variance: 0.0448\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0014717822 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04477669 0.04164177 0.04106049 0.04069746]\n",
+ "FIT: 0.5133852937236117 2.4794711515294217 0.019578164654980686 0.11770873323666672\n",
+ "***** Episode 233406, Mean R = -2.4 Std R = 4.6 Min R = -18.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00147\n",
+ "PolicyEntropy: -7\n",
+ "PolicyLoss: -0.00233\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.35e+07\n",
+ "ValFuncLoss: 3.79e-05\n",
+ "Variance: 0.0448\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013307218 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04468837 0.04158492 0.04098562 0.04074088]\n",
+ "FIT: 0.48382215991622274 2.379817368164986 0.020108666568618982 0.12012779232056882\n",
+ "***** Episode 233527, Mean R = -2.5 Std R = 4.7 Min R = -21.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00133\n",
+ "PolicyEntropy: -7.01\n",
+ "PolicyLoss: -0.00232\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 6.35e+07\n",
+ "ValFuncLoss: 2.53e-05\n",
+ "Variance: 0.0447\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011159155 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04467341 0.0416481 0.04080447 0.04078201]\n",
+ "FIT: 0.5707414422466172 2.6235546796060407 0.020260322892115344 0.11576973419117083\n",
+ "***** Episode 233648, Mean R = -2.6 Std R = 5.4 Min R = -28.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -7.01\n",
+ "PolicyLoss: -0.0021\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.36e+07\n",
+ "ValFuncLoss: 3.83e-05\n",
+ "Variance: 0.0447\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013492755 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04465303 0.04173766 0.04065106 0.04075285]\n",
+ "FIT: 0.5152426499204718 2.6378699333134557 0.020595644851935452 0.11969151286740237\n",
+ "***** Episode 233769, Mean R = -2.6 Std R = 4.6 Min R = -19.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00135\n",
+ "PolicyEntropy: -7.01\n",
+ "PolicyLoss: -0.00216\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.36e+07\n",
+ "ValFuncLoss: 2.9e-05\n",
+ "Variance: 0.0447\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012803562 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04459156 0.04177933 0.04056625 0.04067395]\n",
+ "FIT: 0.6041050934562112 2.4871355226345164 0.019170088666799534 0.11642377562099322\n",
+ "***** Episode 233890, Mean R = -1.8 Std R = 4.6 Min R = -25.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00128\n",
+ "PolicyEntropy: -7.02\n",
+ "PolicyLoss: -0.00247\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.36e+07\n",
+ "ValFuncLoss: 1.87e-05\n",
+ "Variance: 0.0446\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001410855 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04450617 0.04170311 0.04049591 0.04057322]\n",
+ "FIT: 0.5374256308820534 2.4238901844839735 0.020518373647885658 0.11558909912504416\n",
+ "Update Cnt = 1770 ET = 1033.1 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.2 -0.0 | 1.1 1.0 0.0 | -5.0 -4.5 -0.1 | 4.3 4.8 -0.0\n",
+ "v_f | 0.02 -0.03 -0.95 | 0.06 0.07 0.15 | -0.50 -0.41 -1.38 | 0.29 0.26 -0.35\n",
+ "r_i | 1000.9 -11.5 2350.1 | 577.1 580.2 29.2 | 0.2 -999.1 2300.1 | 1997.9 995.9 2399.9\n",
+ "v_i | -39.53 0.45 -79.95 | 17.34 16.86 5.89 | -69.99 -29.93 -90.00 | -10.15 29.91 -70.01\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.1\n",
+ "norm_vf | 0.96 | 0.14 | 0.38 | 1.38\n",
+ "gs_f | 33.7 | 37.2 | 3.1 | 436.8\n",
+ "thrust | 1203 -7 9206 | 2891 2895 2008 | -15155 -16998 2000 | 16802 16975 19998\n",
+ "norm_thrust | 9858 | 3127 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 259 | 348\n",
+ "rewards | -2.74 | 5.08 | -29.76 | 3.90\n",
+ "fuel_rewards | -7.52 | 0.39 | -8.97 | -6.67\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.52 | 0.51 | 0.61 | 4.22\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.20\n",
+ "norm_wf | 0.11 | 0.07 | 0.00 | 0.39\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.06 | 0.51 | -9.30 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.11 0.00 | 0.35 0.21 0.20 | -1.22 -0.87 -1.00 | 1.31 1.05 1.08\n",
+ "w | -0.00 -0.01 -0.00 | 0.19 0.19 0.01 | -1.64 -2.27 -0.07 | 2.24 1.55 0.09\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.09 -0.13 | 0.13 0.15\n",
+ "w_f | -0.01 -0.02 -0.00 | 0.10 0.08 0.01 | -0.38 -0.33 -0.07 | 0.32 0.30 0.08\n",
+ "landing_rewards | 9.64 | 1.87 | 0.00 | 10.00\n",
+ "landing_margin | -0.09 | 0.09 | -0.20 | 1.92\n",
+ "tracking_rewards | -4.79 | 4.46 | -30.98 | 1.01\n",
+ "steps | 305 | 24 | 253 | 386\n",
+ "***** Episode 234011, Mean R = -2.5 Std R = 4.1 Min R = -18.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.00141\n",
+ "PolicyEntropy: -7.02\n",
+ "PolicyLoss: -0.003\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 6.37e+07\n",
+ "ValFuncLoss: 1.7e-05\n",
+ "Variance: 0.0445\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013097711 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04436281 0.04168712 0.04050884 0.04053015]\n",
+ "FIT: 0.6737894957746348 2.441144176755548 0.02066323176598573 0.11855922551669434\n",
+ "***** Episode 234132, Mean R = -2.6 Std R = 4.7 Min R = -20.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00131\n",
+ "PolicyEntropy: -7.03\n",
+ "PolicyLoss: -0.00222\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 6.37e+07\n",
+ "ValFuncLoss: 1.46e-05\n",
+ "Variance: 0.0444\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.00091890135 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04423098 0.04168291 0.04050898 0.04047064]\n",
+ "FIT: 0.5750454376922073 2.580976490913715 0.020019180491382325 0.11763156704446173\n",
+ "***** Episode 234253, Mean R = -2.2 Std R = 4.7 Min R = -21.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.998\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.000919\n",
+ "PolicyEntropy: -7.03\n",
+ "PolicyLoss: -0.00233\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 6.38e+07\n",
+ "ValFuncLoss: 5.03e-06\n",
+ "Variance: 0.0442\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00090532645 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04419146 0.04158676 0.04050687 0.04047883]\n",
+ "FIT: 0.5875719841106168 2.3912518718454026 0.019720695864718564 0.1210482185780913\n",
+ "***** Episode 234374, Mean R = -2.2 Std R = 3.9 Min R = -16.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.998\n",
+ "ExplainedVarOld: 0.994\n",
+ "KL: 0.000905\n",
+ "PolicyEntropy: -7.04\n",
+ "PolicyLoss: -0.00295\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 6.38e+07\n",
+ "ValFuncLoss: 4.19e-06\n",
+ "Variance: 0.0442\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012911515 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04418998 0.04146192 0.04057109 0.04041366]\n",
+ "FIT: 0.48864892212445044 2.6261394947935686 0.020855384136090994 0.12005866503571268\n",
+ "***** Episode 234495, Mean R = -2.7 Std R = 5.1 Min R = -17.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.00129\n",
+ "PolicyEntropy: -7.04\n",
+ "PolicyLoss: -0.00256\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.38e+07\n",
+ "ValFuncLoss: 1.89e-05\n",
+ "Variance: 0.0442\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00121481 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04414952 0.04137324 0.04057323 0.04037914]\n",
+ "FIT: 0.649870208379986 2.455227338016749 0.020169052441754095 0.11463932399401801\n",
+ "***** Episode 234616, Mean R = -2.2 Std R = 5.3 Min R = -36.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -7.04\n",
+ "PolicyLoss: -0.00306\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.39e+07\n",
+ "ValFuncLoss: 1.5e-05\n",
+ "Variance: 0.0441\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010902578 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04415558 0.04134915 0.04057011 0.04030427]\n",
+ "FIT: 0.5700503494957578 2.3569138804921517 0.019906254713185478 0.11811150003326708\n",
+ "***** Episode 234737, Mean R = -2.2 Std R = 4.7 Min R = -21.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -7.05\n",
+ "PolicyLoss: -0.00228\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 6.39e+07\n",
+ "ValFuncLoss: 1.98e-05\n",
+ "Variance: 0.0442\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012118706 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04417014 0.04133585 0.04060085 0.04031899]\n",
+ "FIT: 0.7083503300185938 2.694032468780168 0.022234636566752654 0.1203693253531087\n",
+ "***** Episode 234858, Mean R = -3.4 Std R = 6.7 Min R = -31.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -7.04\n",
+ "PolicyLoss: -0.00229\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.39e+07\n",
+ "ValFuncLoss: 3.36e-05\n",
+ "Variance: 0.0442\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012285926 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04423553 0.041343 0.04068923 0.04030711]\n",
+ "FIT: 0.6914436607737972 2.5069254943709485 0.020939928721861102 0.12272280980434529\n",
+ "***** Episode 234979, Mean R = -3.0 Std R = 6.2 Min R = -39.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -7.04\n",
+ "PolicyLoss: -0.00322\n",
+ "Steps: 3.73e+04\n",
+ "TotalSteps: 6.4e+07\n",
+ "ValFuncLoss: 2.28e-05\n",
+ "Variance: 0.0442\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013535505 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04427479 0.04137373 0.04072447 0.04019586]\n",
+ "FIT: 0.7731870740376223 2.6784239970333443 0.021025175355701642 0.11741187890824238\n",
+ "***** Episode 235100, Mean R = -2.8 Std R = 4.9 Min R = -30.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.00135\n",
+ "PolicyEntropy: -7.04\n",
+ "PolicyLoss: -0.00283\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.4e+07\n",
+ "ValFuncLoss: 1.1e-05\n",
+ "Variance: 0.0443\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00092843926 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04432741 0.04141452 0.04072749 0.04009928]\n",
+ "FIT: 0.610386677991411 2.5194502524789026 0.021770730741906934 0.12051806735500677\n",
+ "Update Cnt = 1780 ET = 1035.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.0 -0.3 -0.0 | 1.0 1.0 0.0 | -4.3 -4.2 -0.1 | 4.2 3.3 -0.0\n",
+ "v_f | 0.03 -0.03 -0.95 | 0.06 0.08 0.15 | -0.22 -0.36 -1.37 | 0.54 0.52 -0.30\n",
+ "r_i | 1008.2 24.6 2349.9 | 574.3 577.5 28.3 | 1.6 -998.5 2300.1 | 1998.2 998.4 2399.9\n",
+ "v_i | -39.90 -1.07 -79.87 | 17.17 17.03 5.77 | -69.99 -29.94 -89.98 | -10.03 29.98 -70.00\n",
+ "norm_rf | 1.2 | 0.8 | 0.1 | 4.9\n",
+ "norm_vf | 0.95 | 0.15 | 0.41 | 1.37\n",
+ "gs_f | 32.9 | 32.1 | 4.6 | 291.1\n",
+ "thrust | 1218 40 9216 | 2906 2918 1997 | -15366 -17193 2000 | 16938 16687 20000\n",
+ "norm_thrust | 9879 | 3127 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 261 | 348\n",
+ "rewards | -2.65 | 5.28 | -39.95 | 4.16\n",
+ "fuel_rewards | -7.54 | 0.38 | -8.98 | -6.73\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.51 | 0.52 | 0.47 | 5.16\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.24\n",
+ "norm_wf | 0.11 | 0.06 | 0.01 | 0.53\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.08 | 0.64 | -10.20 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 -0.00 | 0.36 0.21 0.20 | -1.33 -0.89 -1.06 | 1.48 1.09 1.09\n",
+ "w | -0.00 -0.01 -0.00 | 0.19 0.19 0.01 | -1.67 -2.34 -0.11 | 2.17 1.66 0.17\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.17 -0.18 | 0.08 0.12\n",
+ "w_f | -0.01 -0.02 -0.00 | 0.09 0.08 0.02 | -0.32 -0.35 -0.10 | 0.39 0.32 0.15\n",
+ "landing_rewards | 9.84 | 1.24 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.06 | -0.19 | 0.42\n",
+ "tracking_rewards | -4.88 | 4.69 | -33.29 | 1.19\n",
+ "steps | 304 | 24 | 251 | 386\n",
+ "***** Episode 235221, Mean R = -3.2 Std R = 5.8 Min R = -24.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.000928\n",
+ "PolicyEntropy: -7.04\n",
+ "PolicyLoss: -0.00239\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.41e+07\n",
+ "ValFuncLoss: 2.71e-05\n",
+ "Variance: 0.0443\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010641146 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04437218 0.04143041 0.04060118 0.04017524]\n",
+ "FIT: 0.5272084261004326 2.327030549372304 0.01959855003323868 0.11681048844111104\n",
+ "***** Episode 235342, Mean R = -2.1 Std R = 4.4 Min R = -21.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -7.04\n",
+ "PolicyLoss: -0.00276\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.41e+07\n",
+ "ValFuncLoss: 1.16e-05\n",
+ "Variance: 0.0444\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011413358 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04425476 0.04146595 0.04049534 0.04022662]\n",
+ "FIT: 0.7810572757890955 2.4433088074505713 0.020140200711168413 0.12074016996159594\n",
+ "***** Episode 235463, Mean R = -2.6 Std R = 5.7 Min R = -34.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -7.04\n",
+ "PolicyLoss: -0.00218\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.41e+07\n",
+ "ValFuncLoss: 4.07e-05\n",
+ "Variance: 0.0443\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010033054 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04425111 0.04130519 0.04044868 0.04015402]\n",
+ "FIT: 0.5207231644653452 2.481291696603772 0.019642225810596346 0.1192140493336855\n",
+ "***** Episode 235584, Mean R = -2.3 Std R = 4.6 Min R = -20.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.001\n",
+ "PolicyEntropy: -7.05\n",
+ "PolicyLoss: -0.00269\n",
+ "Steps: 3.73e+04\n",
+ "TotalSteps: 6.42e+07\n",
+ "ValFuncLoss: 2.67e-05\n",
+ "Variance: 0.0443\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010738793 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04438524 0.04129405 0.04047996 0.0401554 ]\n",
+ "FIT: 0.7611456655974898 2.6689228441137693 0.021844707556547893 0.11925572724418547\n",
+ "***** Episode 235705, Mean R = -3.1 Std R = 6.2 Min R = -30.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -7.05\n",
+ "PolicyLoss: -0.00234\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 6.42e+07\n",
+ "ValFuncLoss: 2.19e-05\n",
+ "Variance: 0.0444\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0013781297 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04444535 0.04131335 0.04043469 0.04005475]\n",
+ "FIT: 0.5197641024284114 2.7140232941319233 0.021337232638355078 0.12147447369925995\n",
+ "***** Episode 235826, Mean R = -3.0 Std R = 5.5 Min R = -25.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00138\n",
+ "PolicyEntropy: -7.05\n",
+ "PolicyLoss: -0.0026\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 6.42e+07\n",
+ "ValFuncLoss: 2.29e-05\n",
+ "Variance: 0.0444\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012733849 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04443735 0.04139549 0.04039294 0.04002428]\n",
+ "FIT: 0.5098235848382621 2.397716776475355 0.020568239233179568 0.1195080388870247\n",
+ "***** Episode 235947, Mean R = -2.9 Std R = 5.3 Min R = -25.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -7.05\n",
+ "PolicyLoss: -0.00218\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 6.43e+07\n",
+ "ValFuncLoss: 3.05e-05\n",
+ "Variance: 0.0444\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013959112 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04438309 0.04128038 0.04036449 0.04010471]\n",
+ "FIT: 0.6576697518933695 2.5502652546408577 0.020252141206696942 0.11675408862559629\n",
+ "***** Episode 236068, Mean R = -2.7 Std R = 4.6 Min R = -18.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.0014\n",
+ "PolicyEntropy: -7.05\n",
+ "PolicyLoss: -0.00242\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 6.43e+07\n",
+ "ValFuncLoss: 3.76e-05\n",
+ "Variance: 0.0444\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011921814 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04441297 0.04115773 0.04036587 0.04006205]\n",
+ "FIT: 0.5280742901391052 2.3750907140124613 0.02072125167207191 0.12020525092891843\n",
+ "***** Episode 236189, Mean R = -2.7 Std R = 4.5 Min R = -18.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -7.06\n",
+ "PolicyLoss: -0.00239\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.43e+07\n",
+ "ValFuncLoss: 1.89e-05\n",
+ "Variance: 0.0444\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001296888 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0445886 0.04105312 0.04032109 0.04000251]\n",
+ "FIT: 0.6095946736567223 2.6824209848354013 0.02161503152042083 0.1179676525025181\n",
+ "***** Episode 236310, Mean R = -3.0 Std R = 5.8 Min R = -24.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.0013\n",
+ "PolicyEntropy: -7.06\n",
+ "PolicyLoss: -0.00211\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.44e+07\n",
+ "ValFuncLoss: 2e-05\n",
+ "Variance: 0.0446\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009527477 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04457945 0.04107308 0.04026722 0.03995927]\n",
+ "FIT: 0.621687304641122 2.4416584473453318 0.020991721661556568 0.11984468077241023\n",
+ "Update Cnt = 1790 ET = 1034.2 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.3 -0.0 | 1.0 1.0 0.0 | -3.9 -4.3 -0.1 | 3.1 4.7 -0.0\n",
+ "v_f | 0.02 -0.03 -0.94 | 0.06 0.08 0.15 | -0.19 -0.33 -1.38 | 0.25 0.38 -0.17\n",
+ "r_i | 1019.0 23.3 2349.0 | 586.1 577.5 29.3 | 1.7 -997.6 2300.1 | 1999.3 1000.0 2399.9\n",
+ "v_i | -39.43 -0.01 -80.01 | 17.26 17.22 5.72 | -69.94 -29.95 -89.99 | -10.03 29.99 -70.01\n",
+ "norm_rf | 1.2 | 0.8 | 0.1 | 4.8\n",
+ "norm_vf | 0.95 | 0.15 | 0.24 | 1.38\n",
+ "gs_f | 34.6 | 67.5 | 4.5 | 2013.7\n",
+ "thrust | 1200 5 9225 | 2941 2846 2016 | -15251 -16634 2000 | 16568 17110 19999\n",
+ "norm_thrust | 9878 | 3126 | 3464 | 20000\n",
+ "fuel | 293 | 16 | 260 | 355\n",
+ "rewards | -2.73 | 5.21 | -34.60 | 3.87\n",
+ "fuel_rewards | -7.55 | 0.40 | -9.15 | -6.70\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.48 | 0.50 | 0.63 | 4.13\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.21\n",
+ "norm_wf | 0.11 | 0.06 | 0.00 | 0.45\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.47 | -9.66 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 -0.00 | 0.36 0.21 0.20 | -1.26 -0.91 -1.04 | 1.53 1.10 1.13\n",
+ "w | -0.00 -0.01 -0.00 | 0.19 0.20 0.01 | -1.63 -2.41 -0.12 | 2.33 1.58 0.09\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.11 -0.21 | 0.09 0.14\n",
+ "w_f | -0.01 -0.01 -0.00 | 0.09 0.09 0.02 | -0.36 -0.34 -0.10 | 0.30 0.36 0.08\n",
+ "landing_rewards | 9.73 | 1.63 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.06 | -0.19 | 0.45\n",
+ "tracking_rewards | -4.86 | 4.60 | -33.85 | 0.90\n",
+ "steps | 305 | 25 | 253 | 385\n",
+ "***** Episode 236431, Mean R = -2.9 Std R = 5.0 Min R = -24.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.000953\n",
+ "PolicyEntropy: -7.06\n",
+ "PolicyLoss: -0.00263\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 6.44e+07\n",
+ "ValFuncLoss: 1.88e-05\n",
+ "Variance: 0.0446\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011297127 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04450869 0.04103892 0.04026308 0.03989637]\n",
+ "FIT: 0.5018577676577842 2.563603201454223 0.020760737847812915 0.11941422857841266\n",
+ "***** Episode 236552, Mean R = -2.8 Std R = 4.8 Min R = -17.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -7.06\n",
+ "PolicyLoss: -0.00232\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.45e+07\n",
+ "ValFuncLoss: 1.93e-05\n",
+ "Variance: 0.0445\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001110723 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04447428 0.04091889 0.04021359 0.03989289]\n",
+ "FIT: 0.6097441954355983 2.3743282109449897 0.020166489303496588 0.11724584477639548\n",
+ "***** Episode 236673, Mean R = -2.4 Std R = 4.6 Min R = -21.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -7.07\n",
+ "PolicyLoss: -0.00222\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 6.45e+07\n",
+ "ValFuncLoss: 1.89e-05\n",
+ "Variance: 0.0445\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013519007 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04436304 0.04090586 0.0401208 0.03979462]\n",
+ "FIT: 0.5601026094904817 2.5182242679610933 0.020122155193602265 0.11941862230349953\n",
+ "***** Episode 236794, Mean R = -2.4 Std R = 4.5 Min R = -18.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00135\n",
+ "PolicyEntropy: -7.08\n",
+ "PolicyLoss: -0.00261\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.45e+07\n",
+ "ValFuncLoss: 1.64e-05\n",
+ "Variance: 0.0444\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012147169 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0443152 0.04098177 0.0401451 0.03982415]\n",
+ "FIT: 0.6169027834045356 2.4743686177183553 0.02059166832291337 0.12159380927675452\n",
+ "***** Episode 236915, Mean R = -2.8 Std R = 4.9 Min R = -24.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -7.07\n",
+ "PolicyLoss: -0.00247\n",
+ "Steps: 3.74e+04\n",
+ "TotalSteps: 6.46e+07\n",
+ "ValFuncLoss: 2.25e-05\n",
+ "Variance: 0.0443\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012804149 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04430571 0.04103586 0.04013903 0.03985447]\n",
+ "FIT: 0.6300635636812408 2.4199807675696783 0.020034627969295046 0.11787843861044817\n",
+ "***** Episode 237036, Mean R = -2.2 Std R = 4.7 Min R = -24.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00128\n",
+ "PolicyEntropy: -7.07\n",
+ "PolicyLoss: -0.00288\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 6.46e+07\n",
+ "ValFuncLoss: 2.06e-05\n",
+ "Variance: 0.0443\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010642307 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0442483 0.04092226 0.04007614 0.03989227]\n",
+ "FIT: 0.5595892250149651 2.500262141650239 0.020093634467904423 0.11574262026034157\n",
+ "***** Episode 237157, Mean R = -2.5 Std R = 4.9 Min R = -21.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.981\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -7.08\n",
+ "PolicyLoss: -0.0023\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 6.46e+07\n",
+ "ValFuncLoss: 3.88e-05\n",
+ "Variance: 0.0442\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010114637 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04429099 0.04075456 0.03999365 0.04002593]\n",
+ "FIT: 0.4765699126520254 2.5160636597015644 0.018838312133184376 0.11468116619772624\n",
+ "***** Episode 237278, Mean R = -1.6 Std R = 3.8 Min R = -16.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -7.08\n",
+ "PolicyLoss: -0.00238\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.47e+07\n",
+ "ValFuncLoss: 1.54e-05\n",
+ "Variance: 0.0443\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0010371852 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04434137 0.04072312 0.04000494 0.04006794]\n",
+ "FIT: 0.5281770629866096 2.634191707035953 0.02030619046813644 0.11741364723760879\n",
+ "***** Episode 237399, Mean R = -2.3 Std R = 5.1 Min R = -29.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -7.08\n",
+ "PolicyLoss: -0.00263\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.47e+07\n",
+ "ValFuncLoss: 1e-05\n",
+ "Variance: 0.0443\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010231046 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04447027 0.04079434 0.04000365 0.04003961]\n",
+ "FIT: 0.6427576869056124 2.7113079744839017 0.0211501416088807 0.11796051018133366\n",
+ "***** Episode 237520, Mean R = -2.8 Std R = 5.8 Min R = -26.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -7.07\n",
+ "PolicyLoss: -0.00253\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.48e+07\n",
+ "ValFuncLoss: 2.35e-05\n",
+ "Variance: 0.0445\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011630907 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0444401 0.04079732 0.04006041 0.04005343]\n",
+ "FIT: 0.5151339368438399 2.354694977465449 0.020352830431646124 0.1160513684026483\n",
+ "Update Cnt = 1800 ET = 1027.6 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.0 -0.3 -0.0 | 1.1 1.0 0.0 | -3.8 -3.8 -0.1 | 4.3 3.6 -0.0\n",
+ "v_f | 0.02 -0.03 -0.95 | 0.06 0.08 0.15 | -0.25 -0.43 -1.36 | 0.24 0.28 -0.52\n",
+ "r_i | 998.2 11.4 2350.4 | 572.5 577.6 28.2 | 1.5 -998.8 2300.1 | 1993.0 997.0 2400.0\n",
+ "v_i | -40.45 0.29 -79.92 | 16.54 17.23 5.80 | -69.81 -29.77 -90.00 | -10.19 29.98 -70.00\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.3\n",
+ "norm_vf | 0.95 | 0.14 | 0.53 | 1.37\n",
+ "gs_f | 34.8 | 57.6 | 4.4 | 977.9\n",
+ "thrust | 1238 -4 9225 | 2871 2904 1987 | -15412 -16599 2000 | 16864 16685 19999\n",
+ "norm_thrust | 9877 | 3114 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 260 | 352\n",
+ "rewards | -2.44 | 4.78 | -29.85 | 3.67\n",
+ "fuel_rewards | -7.52 | 0.39 | -9.07 | -6.69\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.52 | 0.53 | 0.54 | 4.86\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.14\n",
+ "norm_wf | 0.11 | 0.06 | 0.01 | 0.41\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.43 | -8.16 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.12 0.00 | 0.35 0.20 0.20 | -1.16 -0.96 -1.02 | 1.38 1.07 1.06\n",
+ "w | -0.00 -0.01 -0.00 | 0.19 0.19 0.01 | -1.63 -2.27 -0.10 | 1.99 1.77 0.10\n",
+ "a_f | -0.01 -0.00 | 0.02 0.03 | -0.11 -0.13 | 0.10 0.12\n",
+ "w_f | -0.01 -0.01 -0.00 | 0.09 0.08 0.01 | -0.33 -0.33 -0.08 | 0.41 0.31 0.10\n",
+ "landing_rewards | 9.76 | 1.53 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.06 | -0.19 | 0.59\n",
+ "tracking_rewards | -4.63 | 4.26 | -24.23 | 1.06\n",
+ "steps | 304 | 24 | 249 | 389\n",
+ "***** Episode 237641, Mean R = -2.5 Std R = 4.2 Min R = -19.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -7.07\n",
+ "PolicyLoss: -0.00189\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 6.48e+07\n",
+ "ValFuncLoss: 2.36e-05\n",
+ "Variance: 0.0444\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013628535 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04434181 0.04080416 0.04003321 0.04004572]\n",
+ "FIT: 0.4668611938481686 2.345577553717956 0.019403892172320795 0.1195132276803341\n",
+ "***** Episode 237762, Mean R = -2.1 Std R = 4.5 Min R = -17.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.969\n",
+ "KL: 0.00136\n",
+ "PolicyEntropy: -7.07\n",
+ "PolicyLoss: -0.00244\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.48e+07\n",
+ "ValFuncLoss: 3.56e-05\n",
+ "Variance: 0.0443\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001481589 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04422776 0.04081003 0.03995632 0.04006384]\n",
+ "FIT: 0.4917920911969588 2.5669348936940364 0.020339237182920876 0.1167318588861436\n",
+ "***** Episode 237883, Mean R = -2.7 Std R = 4.7 Min R = -17.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00148\n",
+ "PolicyEntropy: -7.08\n",
+ "PolicyLoss: -0.00238\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.49e+07\n",
+ "ValFuncLoss: 2.84e-05\n",
+ "Variance: 0.0442\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012072602 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04408186 0.04077578 0.03989752 0.03998757]\n",
+ "FIT: 0.61383449518466 2.6562307594612453 0.02058979997030898 0.11850264547938558\n",
+ "***** Episode 238004, Mean R = -2.8 Std R = 5.2 Min R = -25.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.97\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -7.09\n",
+ "PolicyLoss: -0.00212\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.49e+07\n",
+ "ValFuncLoss: 3.53e-05\n",
+ "Variance: 0.0441\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010328915 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04390626 0.04076325 0.0399307 0.03995646]\n",
+ "FIT: 0.5972927771038711 2.524875032895598 0.020915657261851267 0.12015514828540484\n",
+ "***** Episode 238125, Mean R = -2.9 Std R = 5.5 Min R = -22.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -7.09\n",
+ "PolicyLoss: -0.00215\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.49e+07\n",
+ "ValFuncLoss: 3.01e-05\n",
+ "Variance: 0.0439\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011909007 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04377161 0.04074461 0.04002713 0.03996581]\n",
+ "FIT: 0.626560981070191 2.419397275608926 0.02148747696328096 0.11909793047578335\n",
+ "***** Episode 238246, Mean R = -3.3 Std R = 6.3 Min R = -26.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -7.09\n",
+ "PolicyLoss: -0.00234\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.5e+07\n",
+ "ValFuncLoss: 4.78e-05\n",
+ "Variance: 0.0438\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011497049 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04369155 0.04083009 0.03992534 0.03994852]\n",
+ "FIT: 0.682577679809299 2.52499931368528 0.0218364768584628 0.11961576785318326\n",
+ "***** Episode 238367, Mean R = -3.2 Std R = 5.8 Min R = -31.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.00115\n",
+ "PolicyEntropy: -7.09\n",
+ "PolicyLoss: -0.00229\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 6.5e+07\n",
+ "ValFuncLoss: 1.42e-05\n",
+ "Variance: 0.0437\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009384703 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04363319 0.04084998 0.03983577 0.03994488]\n",
+ "FIT: 0.6057670454768709 2.4511578206882874 0.01989404892990364 0.11654608969417822\n",
+ "***** Episode 238488, Mean R = -2.0 Std R = 4.4 Min R = -25.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.000938\n",
+ "PolicyEntropy: -7.1\n",
+ "PolicyLoss: -0.0028\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 6.5e+07\n",
+ "ValFuncLoss: 1.24e-05\n",
+ "Variance: 0.0436\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012870489 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04358554 0.04080245 0.03982505 0.03987873]\n",
+ "FIT: 0.557411873662449 2.254309591963892 0.020650540839179395 0.11591321056168655\n",
+ "***** Episode 238609, Mean R = -2.6 Std R = 5.0 Min R = -25.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00129\n",
+ "PolicyEntropy: -7.1\n",
+ "PolicyLoss: -0.00218\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.51e+07\n",
+ "ValFuncLoss: 2.62e-05\n",
+ "Variance: 0.0436\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0015764603 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04354647 0.04080591 0.03981267 0.03981378]\n",
+ "FIT: 0.7892098266867348 2.5190072096393124 0.020015187842809975 0.11936591477196616\n",
+ "***** Episode 238730, Mean R = -2.4 Std R = 4.9 Min R = -27.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00158\n",
+ "PolicyEntropy: -7.1\n",
+ "PolicyLoss: -0.00256\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 6.51e+07\n",
+ "ValFuncLoss: 3.44e-05\n",
+ "Variance: 0.0435\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00083353673 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04348022 0.04083347 0.03977077 0.03979536]\n",
+ "FIT: 0.44905130014447514 2.4290522223279294 0.02018358372134538 0.11765435914880373\n",
+ "Update Cnt = 1810 ET = 1026.3 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.0 -0.3 -0.0 | 1.1 1.0 0.0 | -6.5 -5.0 -0.1 | 3.6 4.0 -0.0\n",
+ "v_f | 0.03 -0.04 -0.95 | 0.06 0.08 0.15 | -0.31 -0.58 -1.39 | 0.38 0.28 -0.38\n",
+ "r_i | 999.7 -6.1 2349.8 | 574.2 565.7 28.9 | 0.0 -999.6 2300.2 | 1997.5 998.6 2399.9\n",
+ "v_i | -39.75 0.16 -80.20 | 17.28 17.11 5.67 | -69.92 -29.99 -89.99 | -10.01 29.88 -70.00\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 6.5\n",
+ "norm_vf | 0.95 | 0.14 | 0.50 | 1.40\n",
+ "gs_f | 33.8 | 38.3 | 3.1 | 756.4\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "thrust | 1215 1 9225 | 2886 2892 2006 | -14911 -16561 2000 | 16977 16693 19997\n",
+ "norm_thrust | 9876 | 3125 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 258 | 345\n",
+ "rewards | -2.63 | 5.07 | -31.85 | 4.14\n",
+ "fuel_rewards | -7.51 | 0.38 | -8.90 | -6.65\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.54 | 0.56 | 0.61 | 4.54\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.18\n",
+ "norm_wf | 0.11 | 0.07 | 0.00 | 0.50\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.06 | 0.50 | -6.74 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.11 0.00 | 0.35 0.20 0.20 | -1.12 -0.91 -1.07 | 1.37 1.04 1.09\n",
+ "w | -0.00 -0.01 -0.00 | 0.19 0.19 0.01 | -1.67 -2.22 -0.07 | 1.99 1.41 0.09\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.18 -0.16 | 0.12 0.12\n",
+ "w_f | -0.01 -0.01 -0.00 | 0.10 0.08 0.01 | -0.49 -0.31 -0.07 | 0.29 0.32 0.09\n",
+ "landing_rewards | 9.69 | 1.72 | 0.00 | 10.00\n",
+ "landing_margin | -0.09 | 0.11 | -0.19 | 1.89\n",
+ "tracking_rewards | -4.75 | 4.49 | -33.79 | 1.09\n",
+ "steps | 304 | 24 | 252 | 384\n",
+ "***** Episode 238851, Mean R = -2.3 Std R = 3.9 Min R = -14.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.000834\n",
+ "PolicyEntropy: -7.11\n",
+ "PolicyLoss: -0.00217\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 6.52e+07\n",
+ "ValFuncLoss: 1.22e-05\n",
+ "Variance: 0.0435\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0015867192 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0433436 0.04093245 0.03977894 0.0398072 ]\n",
+ "FIT: 0.6575154803594707 2.523373235380442 0.02197830293701069 0.12189159646231294\n",
+ "***** Episode 238972, Mean R = -3.4 Std R = 5.6 Min R = -26.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.974\n",
+ "KL: 0.00159\n",
+ "PolicyEntropy: -7.11\n",
+ "PolicyLoss: -0.00228\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.52e+07\n",
+ "ValFuncLoss: 2.55e-05\n",
+ "Variance: 0.0433\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00091196963 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04330315 0.04097683 0.0397814 0.03978478]\n",
+ "FIT: 0.5536148481024498 2.5537098798646034 0.02073698903017481 0.11856155476825438\n",
+ "***** Episode 239093, Mean R = -2.8 Std R = 5.0 Min R = -19.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.96\n",
+ "KL: 0.000912\n",
+ "PolicyEntropy: -7.11\n",
+ "PolicyLoss: -0.00257\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 6.52e+07\n",
+ "ValFuncLoss: 1.94e-05\n",
+ "Variance: 0.0433\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012695502 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04331166 0.04095974 0.03974456 0.03977928]\n",
+ "FIT: 0.48883766499953446 2.328410674754129 0.020172040229423847 0.11889204848464818\n",
+ "***** Episode 239214, Mean R = -2.5 Std R = 4.7 Min R = -16.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -7.11\n",
+ "PolicyLoss: -0.00199\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.53e+07\n",
+ "ValFuncLoss: 2.9e-05\n",
+ "Variance: 0.0433\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011386634 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04327209 0.04098406 0.03981099 0.03974246]\n",
+ "FIT: 0.6470348901873806 2.6356378257780175 0.022270343534415704 0.11861293004532804\n",
+ "***** Episode 239335, Mean R = -3.4 Std R = 5.9 Min R = -31.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -7.11\n",
+ "PolicyLoss: -0.00246\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 6.53e+07\n",
+ "ValFuncLoss: 2.48e-05\n",
+ "Variance: 0.0433\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013551677 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04332867 0.04091368 0.03984602 0.03972859]\n",
+ "FIT: 0.7008770564170265 2.580846721118336 0.021499319154077656 0.11993488808576477\n",
+ "***** Episode 239456, Mean R = -3.0 Std R = 5.8 Min R = -28.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00136\n",
+ "PolicyEntropy: -7.11\n",
+ "PolicyLoss: -0.00267\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 6.53e+07\n",
+ "ValFuncLoss: 2.44e-05\n",
+ "Variance: 0.0433\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012279374 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04335366 0.0408724 0.03978061 0.03973865]\n",
+ "FIT: 0.6482878972504589 2.4855973849714497 0.021603096746883 0.12262171865192163\n",
+ "***** Episode 239577, Mean R = -3.3 Std R = 5.9 Min R = -35.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -7.11\n",
+ "PolicyLoss: -0.0023\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 6.54e+07\n",
+ "ValFuncLoss: 1.65e-05\n",
+ "Variance: 0.0434\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0014523072 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04336036 0.04086302 0.03971001 0.03972665]\n",
+ "FIT: 0.6095435751778814 2.517400594335063 0.022186092200798566 0.12158500112279819\n",
+ "***** Episode 239698, Mean R = -3.2 Std R = 5.9 Min R = -28.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.994\n",
+ "KL: 0.00145\n",
+ "PolicyEntropy: -7.11\n",
+ "PolicyLoss: -0.00247\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 6.54e+07\n",
+ "ValFuncLoss: 1.53e-05\n",
+ "Variance: 0.0434\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011696242 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04330387 0.04090524 0.03970001 0.03979991]\n",
+ "FIT: 0.51540932906129 2.450709553911538 0.01974673393126624 0.11951932709913808\n",
+ "***** Episode 239819, Mean R = -2.3 Std R = 4.4 Min R = -17.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -7.11\n",
+ "PolicyLoss: -0.00254\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.55e+07\n",
+ "ValFuncLoss: 1.5e-05\n",
+ "Variance: 0.0433\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010027403 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04322352 0.04092944 0.03970612 0.03978268]\n",
+ "FIT: 0.582585836353786 2.65956526153669 0.020178992628716245 0.11737086922880392\n",
+ "***** Episode 239940, Mean R = -2.3 Std R = 4.7 Min R = -22.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.998\n",
+ "ExplainedVarOld: 0.993\n",
+ "KL: 0.001\n",
+ "PolicyEntropy: -7.11\n",
+ "PolicyLoss: -0.00276\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.55e+07\n",
+ "ValFuncLoss: 7.02e-06\n",
+ "Variance: 0.0432\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011114957 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04325164 0.04094189 0.03966836 0.03977813]\n",
+ "FIT: 0.6089639728413776 2.472918556086097 0.021674118399516804 0.11865892332365305\n",
+ "Update Cnt = 1820 ET = 1024.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.0 -0.3 -0.0 | 1.1 1.0 0.0 | -3.9 -4.8 -0.1 | 3.2 4.5 -0.0\n",
+ "v_f | 0.03 -0.03 -0.95 | 0.07 0.09 0.14 | -0.63 -1.82 -1.37 | 0.31 0.26 -0.36\n",
+ "r_i | 1005.7 24.1 2349.3 | 573.4 577.1 29.0 | 0.8 -999.7 2300.1 | 1999.8 999.7 2399.8\n",
+ "v_i | -40.77 0.52 -79.88 | 17.66 17.36 5.74 | -69.95 -29.88 -90.00 | -10.08 29.96 -70.00\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 4.9\n",
+ "norm_vf | 0.95 | 0.15 | 0.52 | 2.14\n",
+ "gs_f | 34.0 | 45.4 | 0.7 | 696.4\n",
+ "thrust | 1250 -13 9228 | 2966 2909 1991 | -14736 -17206 2000 | 16553 16732 19998\n",
+ "norm_thrust | 9907 | 3131 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 257 | 392\n",
+ "rewards | -2.94 | 5.46 | -35.73 | 4.08\n",
+ "fuel_rewards | -7.53 | 0.40 | -10.10 | -6.63\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.47 | 0.49 | 0.60 | 4.74\n",
+ "norm_af | 0.04 | 0.03 | 0.00 | 0.88\n",
+ "norm_wf | 0.11 | 0.06 | 0.01 | 0.62\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.09 | 0.73 | -12.08 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.12 0.00 | 0.36 0.21 0.20 | -1.27 -0.88 -1.06 | 1.97 1.09 1.02\n",
+ "w | -0.00 -0.01 -0.00 | 0.19 0.19 0.01 | -1.63 -2.27 -0.10 | 2.20 1.66 0.22\n",
+ "a_f | -0.01 -0.00 | 0.03 0.04 | -0.10 -0.82 | 0.33 0.14\n",
+ "w_f | -0.01 -0.01 -0.00 | 0.09 0.08 0.02 | -0.35 -0.29 -0.10 | 0.36 0.52 0.22\n",
+ "landing_rewards | 9.77 | 1.50 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.15 | -0.19 | 4.29\n",
+ "tracking_rewards | -5.09 | 4.76 | -30.93 | 1.12\n",
+ "steps | 303 | 25 | 251 | 419\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 240061, Mean R = -3.4 Std R = 6.2 Min R = -33.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -7.11\n",
+ "PolicyLoss: -0.00216\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 6.55e+07\n",
+ "ValFuncLoss: 3.88e-05\n",
+ "Variance: 0.0433\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010850816 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04328465 0.04091816 0.03965163 0.03982201]\n",
+ "FIT: 0.5071531004749058 2.403785644759872 0.020184981742401503 0.1184637308998924\n",
+ "***** Episode 240182, Mean R = -2.2 Std R = 4.7 Min R = -16.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -7.11\n",
+ "PolicyLoss: -0.00244\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.56e+07\n",
+ "ValFuncLoss: 1.93e-05\n",
+ "Variance: 0.0433\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011813676 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04321773 0.04092932 0.03959253 0.03973256]\n",
+ "FIT: 0.7214353860951858 2.587076055829966 0.021067551008750778 0.11916512284871354\n",
+ "***** Episode 240303, Mean R = -2.9 Std R = 6.0 Min R = -29.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -7.12\n",
+ "PolicyLoss: -0.00255\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.56e+07\n",
+ "ValFuncLoss: 4.16e-05\n",
+ "Variance: 0.0432\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0015433766 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04326954 0.0409434 0.03948049 0.03967742]\n",
+ "FIT: 0.879960001988477 2.7435648535775328 0.02284327855179388 0.12345636101762354\n",
+ "***** Episode 240424, Mean R = -3.8 Std R = 6.1 Min R = -42.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.974\n",
+ "KL: 0.00154\n",
+ "PolicyEntropy: -7.12\n",
+ "PolicyLoss: -0.00211\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.56e+07\n",
+ "ValFuncLoss: 2.89e-05\n",
+ "Variance: 0.0433\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011463824 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04327918 0.04094117 0.03941714 0.03982818]\n",
+ "FIT: 0.6794616982057762 2.7083820644972927 0.02026492296016112 0.1201458070537995\n",
+ "***** Episode 240545, Mean R = -2.5 Std R = 4.8 Min R = -29.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00115\n",
+ "PolicyEntropy: -7.12\n",
+ "PolicyLoss: -0.00234\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.57e+07\n",
+ "ValFuncLoss: 1.69e-05\n",
+ "Variance: 0.0433\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012215117 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04326971 0.04088724 0.03941263 0.03993308]\n",
+ "FIT: 0.7745493300442854 2.525610980644411 0.02195455960729355 0.12007471486370613\n",
+ "***** Episode 240666, Mean R = -3.2 Std R = 5.7 Min R = -28.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -7.12\n",
+ "PolicyLoss: -0.00267\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 6.57e+07\n",
+ "ValFuncLoss: 2.01e-05\n",
+ "Variance: 0.0433\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010504237 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04315572 0.0408579 0.0393099 0.03991717]\n",
+ "FIT: 0.5295823254906793 2.692446447975193 0.020211405540814024 0.11786629615519106\n",
+ "***** Episode 240787, Mean R = -2.4 Std R = 4.2 Min R = -19.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.997\n",
+ "ExplainedVarOld: 0.995\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -7.12\n",
+ "PolicyLoss: -0.003\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.57e+07\n",
+ "ValFuncLoss: 6.28e-06\n",
+ "Variance: 0.0432\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001460374 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04308246 0.04089964 0.03925613 0.03995859]\n",
+ "FIT: 0.6394936316686849 2.4356522512488974 0.019936520046130175 0.11788510961466142\n",
+ "***** Episode 240908, Mean R = -2.1 Std R = 4.9 Min R = -27.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00146\n",
+ "PolicyEntropy: -7.12\n",
+ "PolicyLoss: -0.00299\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.58e+07\n",
+ "ValFuncLoss: 1.06e-05\n",
+ "Variance: 0.0431\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0014797169 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04308484 0.04091071 0.03920904 0.0399596 ]\n",
+ "FIT: 0.6285649111069824 2.3631978078956153 0.020364778072233868 0.11808815393800771\n",
+ "***** Episode 241029, Mean R = -2.5 Std R = 4.7 Min R = -23.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.00148\n",
+ "PolicyEntropy: -7.12\n",
+ "PolicyLoss: -0.00252\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 6.58e+07\n",
+ "ValFuncLoss: 1.02e-05\n",
+ "Variance: 0.0431\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011668602 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0431501 0.04088137 0.03919492 0.03990755]\n",
+ "FIT: 0.5248251201481423 2.6624976889639362 0.02049021662709472 0.120561378096581\n",
+ "***** Episode 241150, Mean R = -2.6 Std R = 5.2 Min R = -27.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -7.12\n",
+ "PolicyLoss: -0.00191\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.59e+07\n",
+ "ValFuncLoss: 2.15e-05\n",
+ "Variance: 0.0432\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001381218 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04306139 0.04078694 0.03919032 0.04001311]\n",
+ "FIT: 0.5612741534566648 2.597502466436787 0.020459246836423226 0.11708763624253697\n",
+ "Update Cnt = 1830 ET = 1022.2 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.3 -0.0 | 1.0 1.0 0.0 | -4.5 -4.0 -0.1 | 4.3 3.3 -0.0\n",
+ "v_f | 0.03 -0.04 -0.95 | 0.06 0.07 0.14 | -0.26 -0.39 -1.38 | 0.36 0.29 -0.39\n",
+ "r_i | 1006.1 -42.8 2352.3 | 570.1 575.3 28.3 | 0.1 -999.5 2300.1 | 1998.9 999.0 2400.0\n",
+ "v_i | -40.74 0.51 -80.04 | 17.11 17.30 5.73 | -69.98 -29.96 -89.98 | -10.01 29.99 -70.02\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 5.3\n",
+ "norm_vf | 0.95 | 0.14 | 0.41 | 1.38\n",
+ "gs_f | 31.6 | 43.9 | 4.9 | 941.8\n",
+ "thrust | 1248 -7 9222 | 2934 2902 1991 | -15775 -17012 2000 | 16729 16521 19991\n",
+ "norm_thrust | 9891 | 3126 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 260 | 346\n",
+ "rewards | -2.66 | 5.15 | -41.98 | 3.92\n",
+ "fuel_rewards | -7.52 | 0.39 | -8.93 | -6.70\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.49 | 0.50 | 0.49 | 4.50\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.15\n",
+ "norm_wf | 0.11 | 0.06 | 0.01 | 0.43\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.09 | 0.82 | -18.32 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 0.00 | 0.36 0.21 0.20 | -1.47 -0.97 -1.04 | 1.49 1.13 1.04\n",
+ "w | -0.00 -0.01 -0.00 | 0.19 0.19 0.01 | -1.79 -2.47 -0.10 | 2.14 1.48 0.15\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.15 -0.15 | 0.11 0.13\n",
+ "w_f | -0.01 -0.01 -0.00 | 0.10 0.08 0.02 | -0.32 -0.35 -0.08 | 0.40 0.28 0.15\n",
+ "landing_rewards | 9.80 | 1.39 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.06 | -0.19 | 0.28\n",
+ "tracking_rewards | -4.85 | 4.50 | -31.36 | 1.25\n",
+ "steps | 303 | 24 | 252 | 385\n",
+ "***** Episode 241271, Mean R = -2.4 Std R = 4.7 Min R = -19.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00138\n",
+ "PolicyEntropy: -7.13\n",
+ "PolicyLoss: -0.0023\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.59e+07\n",
+ "ValFuncLoss: 2.52e-05\n",
+ "Variance: 0.0431\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012985321 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04302814 0.04074499 0.03921644 0.04005143]\n",
+ "FIT: 0.5164076589025041 2.438071874286052 0.01940556235199716 0.11743742843634608\n",
+ "***** Episode 241392, Mean R = -1.8 Std R = 4.9 Min R = -17.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.0013\n",
+ "PolicyEntropy: -7.13\n",
+ "PolicyLoss: -0.00299\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.59e+07\n",
+ "ValFuncLoss: 1.3e-05\n",
+ "Variance: 0.043\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013932817 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04300027 0.04077269 0.03923074 0.04011045]\n",
+ "FIT: 0.7061898611398454 2.607663969754049 0.02245903863609303 0.12017743056560345\n",
+ "***** Episode 241513, Mean R = -3.5 Std R = 5.7 Min R = -28.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00139\n",
+ "PolicyEntropy: -7.12\n",
+ "PolicyLoss: -0.00269\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.6e+07\n",
+ "ValFuncLoss: 1.65e-05\n",
+ "Variance: 0.043\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001107427 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04308324 0.04079171 0.03933825 0.04013773]\n",
+ "FIT: 0.6624796515189652 2.4997953203439773 0.021141655441265318 0.11536205744517478\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 241634, Mean R = -2.8 Std R = 5.9 Min R = -26.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -7.12\n",
+ "PolicyLoss: -0.00241\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 6.6e+07\n",
+ "ValFuncLoss: 4.14e-05\n",
+ "Variance: 0.0431\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011262121 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04310044 0.04082529 0.03949259 0.04002623]\n",
+ "FIT: 0.6626598097041652 2.5894773492738397 0.02192526497577262 0.12161814118626298\n",
+ "***** Episode 241755, Mean R = -3.6 Std R = 5.5 Min R = -27.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -7.12\n",
+ "PolicyLoss: -0.00235\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 6.6e+07\n",
+ "ValFuncLoss: 3.47e-05\n",
+ "Variance: 0.0431\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012440904 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04295057 0.04079976 0.0394542 0.03989149]\n",
+ "FIT: 0.6219488490609477 2.6695173880365473 0.019868573856212837 0.11939788894850155\n",
+ "***** Episode 241876, Mean R = -2.0 Std R = 4.9 Min R = -23.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.997\n",
+ "ExplainedVarOld: 0.992\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -7.13\n",
+ "PolicyLoss: -0.00318\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 6.61e+07\n",
+ "ValFuncLoss: 6.4e-06\n",
+ "Variance: 0.043\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009710197 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04287856 0.04065526 0.03943341 0.03978648]\n",
+ "FIT: 0.515812946850827 2.4865555859362107 0.02007795442777223 0.11709454046162777\n",
+ "***** Episode 241997, Mean R = -2.1 Std R = 4.3 Min R = -14.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.997\n",
+ "ExplainedVarOld: 0.992\n",
+ "KL: 0.000971\n",
+ "PolicyEntropy: -7.13\n",
+ "PolicyLoss: -0.00286\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 6.61e+07\n",
+ "ValFuncLoss: 6.46e-06\n",
+ "Variance: 0.0429\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011762251 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04289434 0.04048925 0.0393413 0.03973823]\n",
+ "FIT: 0.5191725746802937 2.482883454584401 0.019732871793463447 0.11740652062029608\n",
+ "***** Episode 242118, Mean R = -2.1 Std R = 4.9 Min R = -18.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.993\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -7.14\n",
+ "PolicyLoss: -0.00229\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 6.61e+07\n",
+ "ValFuncLoss: 1.04e-05\n",
+ "Variance: 0.0429\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010623033 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04296411 0.04048251 0.039319 0.03979636]\n",
+ "FIT: 0.6253098387990618 2.3950068246408565 0.02156454547778803 0.12050264061056468\n",
+ "***** Episode 242239, Mean R = -3.1 Std R = 5.2 Min R = -26.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -7.14\n",
+ "PolicyLoss: -0.00242\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.62e+07\n",
+ "ValFuncLoss: 2.05e-05\n",
+ "Variance: 0.043\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011178976 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04302228 0.04054864 0.03935436 0.03988533]\n",
+ "FIT: 0.531805038239955 2.465597893201649 0.02103622283561821 0.11902930576596638\n",
+ "***** Episode 242360, Mean R = -2.8 Std R = 5.0 Min R = -17.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -7.13\n",
+ "PolicyLoss: -0.00263\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 6.62e+07\n",
+ "ValFuncLoss: 1.17e-05\n",
+ "Variance: 0.043\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012742969 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04296704 0.04045163 0.03931949 0.03999058]\n",
+ "FIT: 0.47815259482988853 2.4306949220524627 0.019315884255163365 0.1172341977098041\n",
+ "Update Cnt = 1840 ET = 1023.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.0 -0.3 -0.0 | 1.0 1.0 0.0 | -3.9 -4.6 -0.1 | 4.2 3.3 -0.0\n",
+ "v_f | 0.03 -0.04 -0.95 | 0.06 0.07 0.15 | -0.24 -0.56 -1.36 | 0.31 0.17 -0.19\n",
+ "r_i | 972.0 -0.4 2348.8 | 582.5 582.4 28.5 | 1.6 -999.0 2300.0 | 1997.7 999.9 2399.9\n",
+ "v_i | -39.70 -0.40 -79.99 | 17.43 17.35 5.83 | -69.93 -29.96 -89.96 | -10.02 30.00 -70.00\n",
+ "norm_rf | 1.2 | 0.8 | 0.1 | 6.2\n",
+ "norm_vf | 0.96 | 0.14 | 0.37 | 1.36\n",
+ "gs_f | 37.9 | 84.7 | 4.7 | 2333.3\n",
+ "thrust | 1217 18 9223 | 2907 2905 1992 | -15847 -17217 2000 | 16972 16716 19999\n",
+ "norm_thrust | 9881 | 3125 | 3464 | 20000\n",
+ "fuel | 291 | 14 | 259 | 341\n",
+ "rewards | -2.57 | 5.11 | -28.84 | 3.97\n",
+ "fuel_rewards | -7.51 | 0.37 | -8.78 | -6.68\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.55 | 0.56 | 0.56 | 5.73\n",
+ "norm_af | 0.03 | 0.02 | 0.00 | 0.15\n",
+ "norm_wf | 0.11 | 0.06 | 0.01 | 0.45\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.55 | -9.38 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 0.00 | 0.35 0.21 0.20 | -1.85 -1.00 -1.05 | 1.51 1.05 1.07\n",
+ "w | -0.00 -0.01 -0.00 | 0.19 0.19 0.01 | -1.73 -2.29 -0.11 | 2.20 1.70 0.15\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.11 -0.15 | 0.11 0.11\n",
+ "w_f | -0.01 -0.01 -0.00 | 0.09 0.08 0.02 | -0.32 -0.39 -0.10 | 0.40 0.28 0.13\n",
+ "landing_rewards | 9.83 | 1.31 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.07 | -0.19 | 1.19\n",
+ "tracking_rewards | -4.82 | 4.67 | -29.83 | 1.17\n",
+ "steps | 303 | 23 | 248 | 388\n",
+ "***** Episode 242481, Mean R = -2.0 Std R = 4.2 Min R = -13.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -7.13\n",
+ "PolicyLoss: -0.00258\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.63e+07\n",
+ "ValFuncLoss: 1.1e-05\n",
+ "Variance: 0.043\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013664872 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04288301 0.04022702 0.03927807 0.03994893]\n",
+ "FIT: 0.525940310182448 2.4346166028611105 0.021194200571605912 0.11937564249839301\n",
+ "***** Episode 242602, Mean R = -3.0 Std R = 5.1 Min R = -21.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00137\n",
+ "PolicyEntropy: -7.14\n",
+ "PolicyLoss: -0.00247\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.63e+07\n",
+ "ValFuncLoss: 3.42e-05\n",
+ "Variance: 0.0429\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011348887 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04297238 0.04015999 0.039255 0.03990556]\n",
+ "FIT: 0.6051848763917238 2.470651683092909 0.02098339768903394 0.12082594752951904\n",
+ "***** Episode 242723, Mean R = -3.1 Std R = 5.3 Min R = -24.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -7.15\n",
+ "PolicyLoss: -0.00218\n",
+ "Steps: 3.73e+04\n",
+ "TotalSteps: 6.63e+07\n",
+ "ValFuncLoss: 3.28e-05\n",
+ "Variance: 0.043\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00084646756 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04303618 0.04011949 0.03934465 0.03985351]\n",
+ "FIT: 0.6694213607109423 2.5231959431220328 0.02031124718362784 0.11521614545031605\n",
+ "***** Episode 242844, Mean R = -2.2 Std R = 5.0 Min R = -20.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.000846\n",
+ "PolicyEntropy: -7.14\n",
+ "PolicyLoss: -0.0016\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.64e+07\n",
+ "ValFuncLoss: 8.7e-06\n",
+ "Variance: 0.043\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012015103 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04297927 0.04012337 0.03947116 0.03985134]\n",
+ "FIT: 0.5495571928222301 2.599616673165918 0.021673134887023503 0.12084281565873062\n",
+ "***** Episode 242965, Mean R = -3.3 Std R = 5.1 Min R = -20.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.965\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: -7.14\n",
+ "PolicyLoss: -0.00228\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.64e+07\n",
+ "ValFuncLoss: 3.65e-05\n",
+ "Variance: 0.043\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010355408 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04292688 0.04012645 0.0395447 0.03979029]\n",
+ "FIT: 0.570284449623882 2.7306211178337674 0.021049747606342553 0.1178065750936567\n",
+ "***** Episode 243086, Mean R = -3.2 Std R = 5.6 Min R = -26.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -7.14\n",
+ "PolicyLoss: -0.00266\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.64e+07\n",
+ "ValFuncLoss: 4.36e-05\n",
+ "Variance: 0.0429\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00082465087 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04288358 0.04013835 0.03948373 0.03970182]\n",
+ "FIT: 0.6288894553789003 2.537692785586568 0.01915786946189075 0.11610573622507948\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 243207, Mean R = -1.7 Std R = 4.7 Min R = -24.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.000825\n",
+ "PolicyEntropy: -7.15\n",
+ "PolicyLoss: -0.00187\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 6.65e+07\n",
+ "ValFuncLoss: 2.04e-05\n",
+ "Variance: 0.0429\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010544363 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04289548 0.04011697 0.03949441 0.03964807]\n",
+ "FIT: 0.6259243177245242 2.543552098362422 0.02161464273252177 0.12028490467013164\n",
+ "***** Episode 243328, Mean R = -3.2 Std R = 5.8 Min R = -27.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -7.15\n",
+ "PolicyLoss: -0.00247\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 6.65e+07\n",
+ "ValFuncLoss: 3.21e-05\n",
+ "Variance: 0.0429\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ " *** BROKE ***\n",
+ "kl = 0.0048370655 beta = 0.06666666666666667 lr_mult = 0.2962962962962963\n",
+ "var: [0.04292226 0.04013357 0.03942978 0.03958312]\n",
+ "FIT: 0.49512614672195926 2.4150747945782554 0.019717552560400146 0.11614182952851838\n",
+ "***** Episode 243449, Mean R = -2.4 Std R = 4.7 Min R = -16.8\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.976\n",
+ "ExplainedVarOld: 0.971\n",
+ "KL: 0.00484\n",
+ "PolicyEntropy: -7.15\n",
+ "PolicyLoss: 0.00379\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.66e+07\n",
+ "ValFuncLoss: 4.8e-05\n",
+ "Variance: 0.0429\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ " *** BROKE ***\n",
+ "kl = 0.0048652235 beta = 0.044444444444444446 lr_mult = 0.2962962962962963\n",
+ "var: [0.04292439 0.04014117 0.0394117 0.0395715 ]\n",
+ "FIT: 0.5510400400422151 2.5752941409520003 0.022067511073560125 0.12207221265148945\n",
+ "***** Episode 243570, Mean R = -3.3 Std R = 5.2 Min R = -21.3\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.998\n",
+ "ExplainedVarOld: 0.993\n",
+ "KL: 0.00487\n",
+ "PolicyEntropy: -7.15\n",
+ "PolicyLoss: 0.00605\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.66e+07\n",
+ "ValFuncLoss: 8.81e-06\n",
+ "Variance: 0.0429\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0006129128 beta = 0.044444444444444446 lr_mult = 0.2962962962962963\n",
+ "var: [0.04294603 0.04018811 0.03934577 0.03958075]\n",
+ "FIT: 0.7257065401748138 2.4958606677697044 0.020500038441149653 0.11687440145850311\n",
+ "Update Cnt = 1850 ET = 1031.7 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.0 1.0 0.0 | -3.6 -4.4 -0.1 | 3.5 3.3 -0.0\n",
+ "v_f | 0.02 -0.03 -0.96 | 0.06 0.07 0.16 | -0.54 -0.41 -1.39 | 0.27 0.32 -0.39\n",
+ "r_i | 1020.8 -5.3 2351.1 | 580.2 576.7 29.0 | 0.8 -998.7 2300.1 | 1996.8 994.6 2399.8\n",
+ "v_i | -39.52 0.45 -80.34 | 17.56 17.19 5.85 | -70.00 -29.97 -89.98 | -10.05 29.97 -70.00\n",
+ "norm_rf | 1.2 | 0.8 | 0.1 | 4.7\n",
+ "norm_vf | 0.97 | 0.15 | 0.51 | 1.39\n",
+ "gs_f | 38.1 | 65.4 | 3.2 | 1510.1\n",
+ "thrust | 1204 -7 9232 | 2904 2873 2023 | -15571 -16713 2000 | 16927 16803 20000\n",
+ "norm_thrust | 9883 | 3130 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 262 | 349\n",
+ "rewards | -2.76 | 5.26 | -29.83 | 3.77\n",
+ "fuel_rewards | -7.54 | 0.39 | -9.01 | -6.77\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.52 | 0.51 | 0.46 | 4.34\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.22\n",
+ "norm_wf | 0.11 | 0.06 | 0.01 | 0.41\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.10 | 0.74 | -12.10 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 0.00 | 0.35 0.21 0.20 | -1.18 -0.99 -1.04 | 1.44 1.08 1.07\n",
+ "w | -0.00 -0.01 -0.00 | 0.19 0.19 0.01 | -1.66 -2.41 -0.07 | 2.17 1.67 0.14\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.11 -0.22 | 0.15 0.15\n",
+ "w_f | -0.01 -0.01 -0.00 | 0.09 0.08 0.01 | -0.37 -0.38 -0.06 | 0.29 0.28 0.13\n",
+ "landing_rewards | 9.69 | 1.72 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.08 | -0.19 | 1.77\n",
+ "tracking_rewards | -4.82 | 4.57 | -27.89 | 1.03\n",
+ "steps | 304 | 25 | 250 | 382\n",
+ "***** Episode 243691, Mean R = -2.3 Std R = 5.6 Min R = -29.8\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.000613\n",
+ "PolicyEntropy: -7.15\n",
+ "PolicyLoss: 0.000708\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 6.66e+07\n",
+ "ValFuncLoss: 1.57e-05\n",
+ "Variance: 0.0429\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00069040584 beta = 0.044444444444444446 lr_mult = 0.2962962962962963\n",
+ "var: [0.04293601 0.04018624 0.03939804 0.03961907]\n",
+ "FIT: 0.6555325226682628 2.6937382413842013 0.022689090532166816 0.12152150607131366\n",
+ "***** Episode 243812, Mean R = -3.8 Std R = 6.3 Min R = -28.8\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00069\n",
+ "PolicyEntropy: -7.15\n",
+ "PolicyLoss: 0.000993\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.67e+07\n",
+ "ValFuncLoss: 2.49e-05\n",
+ "Variance: 0.0429\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0003817271 beta = 0.06666666666666667 lr_mult = 0.2962962962962963\n",
+ "var: [0.04295901 0.04017023 0.03934959 0.03965508]\n",
+ "FIT: 0.5895909347313626 2.5957181860258824 0.02181138695973034 0.1186155107661523\n",
+ "***** Episode 243933, Mean R = -3.2 Std R = 6.2 Min R = -30.8\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.000382\n",
+ "PolicyEntropy: -7.15\n",
+ "PolicyLoss: -0.000303\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.67e+07\n",
+ "ValFuncLoss: 2.2e-05\n",
+ "Variance: 0.043\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00081466034 beta = 0.06666666666666667 lr_mult = 0.2962962962962963\n",
+ "var: [0.04306155 0.04011684 0.03934824 0.03960906]\n",
+ "FIT: 0.5459227128005424 2.4902009389026563 0.019693556793121406 0.12036700240451871\n",
+ "***** Episode 244054, Mean R = -2.2 Std R = 5.2 Min R = -22.1\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.974\n",
+ "KL: 0.000815\n",
+ "PolicyEntropy: -7.15\n",
+ "PolicyLoss: -0.00143\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 6.67e+07\n",
+ "ValFuncLoss: 3.27e-05\n",
+ "Variance: 0.0431\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00051335193 beta = 0.06666666666666667 lr_mult = 0.2962962962962963\n",
+ "var: [0.04311053 0.04000268 0.03926366 0.03960297]\n",
+ "FIT: 0.601692104383298 2.286252993454204 0.020222374962918933 0.11737610332712074\n",
+ "***** Episode 244175, Mean R = -2.6 Std R = 5.5 Min R = -27.7\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.947\n",
+ "KL: 0.000513\n",
+ "PolicyEntropy: -7.15\n",
+ "PolicyLoss: -0.00153\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.68e+07\n",
+ "ValFuncLoss: 3.77e-05\n",
+ "Variance: 0.0431\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0005011003 beta = 0.06666666666666667 lr_mult = 0.2962962962962963\n",
+ "var: [0.04313217 0.03994341 0.03915794 0.03958476]\n",
+ "FIT: 0.6624308003402738 2.606495634898515 0.021020251584924602 0.11895765959328537\n",
+ "***** Episode 244296, Mean R = -2.8 Std R = 5.5 Min R = -29.8\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.000501\n",
+ "PolicyEntropy: -7.16\n",
+ "PolicyLoss: -0.00136\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.68e+07\n",
+ "ValFuncLoss: 2.59e-05\n",
+ "Variance: 0.0431\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00044366796 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04319965 0.0399186 0.03918444 0.03953541]\n",
+ "FIT: 0.5477210997612415 2.4642627308702933 0.0201055178678687 0.1180616782726412\n",
+ "***** Episode 244417, Mean R = -2.5 Std R = 5.2 Min R = -19.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.000444\n",
+ "PolicyEntropy: -7.16\n",
+ "PolicyLoss: -0.00174\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 6.68e+07\n",
+ "ValFuncLoss: 2.31e-05\n",
+ "Variance: 0.0432\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011150454 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04320308 0.03993484 0.03933523 0.03949722]\n",
+ "FIT: 0.5452334970810938 2.3608989181880093 0.020073380723328392 0.1184798360318644\n",
+ "***** Episode 244538, Mean R = -2.2 Std R = 5.1 Min R = -21.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -7.15\n",
+ "PolicyLoss: -0.00252\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.69e+07\n",
+ "ValFuncLoss: 1.39e-05\n",
+ "Variance: 0.0432\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012903538 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04323372 0.03993666 0.03939236 0.03935777]\n",
+ "FIT: 0.5809968704811598 2.570108602314342 0.020546847496933116 0.1179607907375808\n",
+ "***** Episode 244659, Mean R = -2.5 Std R = 5.5 Min R = -23.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00129\n",
+ "PolicyEntropy: -7.16\n",
+ "PolicyLoss: -0.00265\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 6.69e+07\n",
+ "ValFuncLoss: 2.5e-05\n",
+ "Variance: 0.0432\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0012650545 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0432969 0.0398779 0.0393237 0.03932665]\n",
+ "FIT: 0.6111698320859142 2.5199587388219014 0.021890015386546894 0.12482452613244575\n",
+ "***** Episode 244780, Mean R = -3.8 Std R = 6.5 Min R = -29.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.964\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -7.16\n",
+ "PolicyLoss: -0.00253\n",
+ "Steps: 3.73e+04\n",
+ "TotalSteps: 6.7e+07\n",
+ "ValFuncLoss: 4.08e-05\n",
+ "Variance: 0.0433\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012737509 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04329119 0.03989856 0.03929245 0.03937414]\n",
+ "FIT: 0.9643504625518752 2.5854911250022377 0.021399503664394526 0.11885559319902267\n",
+ "Update Cnt = 1860 ET = 1028.1 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.0 -0.3 -0.0 | 1.1 1.1 0.1 | -5.4 -4.0 -0.1 | 9.4 9.7 1.9\n",
+ "v_f | 0.02 -0.04 -0.95 | 0.08 0.08 0.16 | -1.89 -0.41 -1.37 | 0.24 0.32 0.06\n",
+ "r_i | 972.7 -15.2 2349.7 | 582.2 577.8 28.5 | 1.3 -997.6 2300.1 | 1998.3 1000.0 2400.0\n",
+ "v_i | -39.49 -0.01 -79.73 | 16.85 17.40 5.83 | -69.99 -29.98 -89.97 | -10.01 29.99 -70.01\n",
+ "norm_rf | 1.3 | 0.9 | 0.0 | 13.7\n",
+ "norm_vf | 0.96 | 0.15 | 0.37 | 1.90\n",
+ "gs_f | 38.6 | 91.4 | 0.2 | 2140.9\n",
+ "thrust | 1206 8 9215 | 2929 2896 1989 | -15759 -16462 2000 | 16805 17133 20000\n",
+ "norm_thrust | 9876 | 3122 | 3464 | 20000\n",
+ "fuel | 292 | 16 | 262 | 475\n",
+ "rewards | -2.85 | 5.73 | -37.91 | 4.40\n",
+ "fuel_rewards | -7.54 | 0.41 | -12.24 | -6.76\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.53 | 0.52 | 0.14 | 4.51\n",
+ "norm_af | 0.04 | 0.03 | 0.00 | 0.71\n",
+ "norm_wf | 0.11 | 0.07 | 0.01 | 0.99\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.69 | -17.44 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.11 0.00 | 0.36 0.21 0.20 | -1.20 -0.92 -1.05 | 1.80 1.07 1.02\n",
+ "w | -0.00 -0.01 0.00 | 0.19 0.19 0.02 | -1.68 -2.40 -0.08 | 1.92 1.56 0.33\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.10 -0.46 | 0.53 0.09\n",
+ "w_f | -0.01 -0.01 0.00 | 0.10 0.08 0.02 | -0.36 -0.31 -0.08 | 0.93 0.27 0.33\n",
+ "landing_rewards | 9.63 | 1.89 | 0.00 | 10.00\n",
+ "landing_margin | -0.09 | 0.27 | -0.19 | 8.66\n",
+ "tracking_rewards | -4.87 | 4.87 | -29.93 | 1.41\n",
+ "steps | 305 | 25 | 250 | 601\n",
+ "***** Episode 244901, Mean R = -3.0 Std R = 5.8 Min R = -37.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.957\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -7.16\n",
+ "PolicyLoss: -0.00215\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.7e+07\n",
+ "ValFuncLoss: 3.04e-05\n",
+ "Variance: 0.0433\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013190988 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04322927 0.03999818 0.03937819 0.0393664 ]\n",
+ "FIT: 0.47920272631815525 2.593284429721322 0.0196767553741822 0.11890315257021078\n",
+ "***** Episode 245022, Mean R = -2.2 Std R = 4.4 Min R = -15.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00132\n",
+ "PolicyEntropy: -7.15\n",
+ "PolicyLoss: -0.00254\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.7e+07\n",
+ "ValFuncLoss: 2.33e-05\n",
+ "Variance: 0.0432\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013106326 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04321245 0.04008254 0.03940088 0.03936145]\n",
+ "FIT: 0.5597560183861814 2.61910011307356 0.022659247557388216 0.12108691792644374\n",
+ "***** Episode 245143, Mean R = -4.0 Std R = 5.8 Min R = -26.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.974\n",
+ "KL: 0.00131\n",
+ "PolicyEntropy: -7.15\n",
+ "PolicyLoss: -0.00208\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 6.71e+07\n",
+ "ValFuncLoss: 3.7e-05\n",
+ "Variance: 0.0432\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001320596 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0432437 0.0401713 0.03931682 0.03941711]\n",
+ "FIT: 0.4443167583794069 2.479493691406341 0.01888514451936488 0.1184185984775612\n",
+ "***** Episode 245264, Mean R = -1.7 Std R = 3.7 Min R = -13.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00132\n",
+ "PolicyEntropy: -7.15\n",
+ "PolicyLoss: -0.0025\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.71e+07\n",
+ "ValFuncLoss: 2.15e-05\n",
+ "Variance: 0.0432\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0014132663 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04317211 0.04019258 0.03917953 0.039493 ]\n",
+ "FIT: 0.5193886972618098 2.638112271920377 0.021425895540859767 0.12166008562720647\n",
+ "***** Episode 245385, Mean R = -3.0 Std R = 5.5 Min R = -27.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.966\n",
+ "KL: 0.00141\n",
+ "PolicyEntropy: -7.15\n",
+ "PolicyLoss: -0.00213\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.71e+07\n",
+ "ValFuncLoss: 3.24e-05\n",
+ "Variance: 0.0432\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012442352 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04312333 0.04019308 0.03908184 0.03955773]\n",
+ "FIT: 0.5679353765843327 2.6847167286434273 0.020690721951972104 0.11962173462444495\n",
+ "***** Episode 245506, Mean R = -3.0 Std R = 5.2 Min R = -19.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -7.15\n",
+ "PolicyLoss: -0.00209\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 6.72e+07\n",
+ "ValFuncLoss: 4.29e-05\n",
+ "Variance: 0.0431\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001306909 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04311211 0.04022586 0.03909145 0.03962461]\n",
+ "FIT: 0.7773508849791094 2.515502995887731 0.02020499891945366 0.11813137033386858\n",
+ "***** Episode 245627, Mean R = -2.3 Std R = 5.3 Min R = -24.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00131\n",
+ "PolicyEntropy: -7.15\n",
+ "PolicyLoss: -0.00259\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 6.72e+07\n",
+ "ValFuncLoss: 2.18e-05\n",
+ "Variance: 0.0431\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010497213 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04299149 0.04024542 0.03900828 0.03963517]\n",
+ "FIT: 0.5514013162044545 2.5839436931296165 0.021199833946247658 0.11658775440508588\n",
+ "***** Episode 245748, Mean R = -2.6 Std R = 5.3 Min R = -24.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -7.16\n",
+ "PolicyLoss: -0.00213\n",
+ "Steps: 3.6e+04\n",
+ "TotalSteps: 6.73e+07\n",
+ "ValFuncLoss: 2.11e-05\n",
+ "Variance: 0.043\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.000997101 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04285222 0.0402272 0.03895546 0.03962275]\n",
+ "FIT: 0.6949344076791006 2.648734824804942 0.02160954716547637 0.1182671615399587\n",
+ "***** Episode 245869, Mean R = -2.9 Std R = 5.6 Min R = -32.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.000997\n",
+ "PolicyEntropy: -7.16\n",
+ "PolicyLoss: -0.00258\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.73e+07\n",
+ "ValFuncLoss: 1.1e-05\n",
+ "Variance: 0.0429\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001054893 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0427219 0.04023218 0.03898574 0.03957791]\n",
+ "FIT: 0.5753460464384517 2.562162934615595 0.019530463817879193 0.11845500041932075\n",
+ "***** Episode 245990, Mean R = -1.9 Std R = 4.7 Min R = -23.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -7.16\n",
+ "PolicyLoss: -0.00261\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.73e+07\n",
+ "ValFuncLoss: 1.22e-05\n",
+ "Variance: 0.0427\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013428248 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04276746 0.04011224 0.03893051 0.03956832]\n",
+ "FIT: 0.6362267120493128 2.623804120304206 0.02178084244109393 0.11984893393335619\n",
+ "Update Cnt = 1870 ET = 1026.7 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.1 1.0 0.0 | -4.3 -5.1 -0.1 | 3.8 3.6 -0.0\n",
+ "v_f | 0.03 -0.05 -0.95 | 0.06 0.07 0.15 | -0.32 -0.28 -1.36 | 0.27 0.24 -0.07\n",
+ "r_i | 989.0 28.1 2348.8 | 582.0 582.2 28.7 | 0.1 -999.1 2300.2 | 1998.7 999.1 2399.7\n",
+ "v_i | -40.41 -0.12 -79.88 | 17.36 17.33 5.80 | -69.92 -30.00 -89.97 | -10.01 30.00 -70.04\n",
+ "norm_rf | 1.3 | 0.8 | 0.1 | 5.9\n",
+ "norm_vf | 0.95 | 0.14 | 0.34 | 1.36\n",
+ "gs_f | 33.2 | 43.2 | 4.1 | 591.8\n",
+ "thrust | 1238 8 9220 | 2931 2877 1985 | -15735 -16521 2000 | 16494 16794 19998\n",
+ "norm_thrust | 9883 | 3112 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 258 | 346\n",
+ "rewards | -2.70 | 5.16 | -32.12 | 4.00\n",
+ "fuel_rewards | -7.51 | 0.39 | -8.93 | -6.66\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.52 | 0.56 | 0.50 | 8.77\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.17\n",
+ "norm_wf | 0.11 | 0.07 | 0.01 | 0.54\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.43 | -6.92 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "attitude | 0.01 0.12 -0.00 | 0.36 0.21 0.20 | -1.42 -0.89 -1.05 | 1.57 1.13 1.03\n",
+ "w | -0.00 -0.01 -0.00 | 0.19 0.19 0.01 | -1.70 -2.32 -0.08 | 2.23 1.41 0.13\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.09 -0.17 | 0.12 0.09\n",
+ "w_f | -0.01 -0.01 -0.00 | 0.10 0.08 0.02 | -0.37 -0.37 -0.08 | 0.41 0.40 0.12\n",
+ "landing_rewards | 9.70 | 1.70 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.08 | -0.19 | 0.93\n",
+ "tracking_rewards | -4.84 | 4.56 | -34.17 | 1.14\n",
+ "steps | 303 | 23 | 249 | 381\n",
+ "***** Episode 246111, Mean R = -3.2 Std R = 5.2 Min R = -26.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.974\n",
+ "KL: 0.00134\n",
+ "PolicyEntropy: -7.17\n",
+ "PolicyLoss: -0.0022\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 6.74e+07\n",
+ "ValFuncLoss: 2.19e-05\n",
+ "Variance: 0.0428\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010629828 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04274741 0.0400934 0.0388127 0.03949094]\n",
+ "FIT: 0.6132934233153361 2.427541316156554 0.019736686726108777 0.1146145704279648\n",
+ "***** Episode 246232, Mean R = -2.0 Std R = 4.7 Min R = -26.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -7.17\n",
+ "PolicyLoss: -0.00205\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.74e+07\n",
+ "ValFuncLoss: 2.51e-05\n",
+ "Variance: 0.0427\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010036518 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04273085 0.04012914 0.03872462 0.03942792]\n",
+ "FIT: 0.7035801695399622 2.5009414248435804 0.02135344663919826 0.11864673698373542\n",
+ "***** Episode 246353, Mean R = -2.9 Std R = 5.2 Min R = -25.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.001\n",
+ "PolicyEntropy: -7.18\n",
+ "PolicyLoss: -0.00247\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 6.74e+07\n",
+ "ValFuncLoss: 1.42e-05\n",
+ "Variance: 0.0427\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001104744 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04271262 0.04010839 0.03862661 0.03942721]\n",
+ "FIT: 0.5644651610444718 2.6481519263793096 0.020400169790338867 0.11560657447501849\n",
+ "***** Episode 246474, Mean R = -2.3 Std R = 5.0 Min R = -21.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -7.18\n",
+ "PolicyLoss: -0.00244\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.75e+07\n",
+ "ValFuncLoss: 1.19e-05\n",
+ "Variance: 0.0427\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010242946 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04263104 0.04000809 0.03867153 0.03946799]\n",
+ "FIT: 0.5780674638299937 2.5046971396574573 0.019223359879658366 0.11536529210162284\n",
+ "***** Episode 246595, Mean R = -2.0 Std R = 4.5 Min R = -23.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.979\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -7.18\n",
+ "PolicyLoss: -0.00195\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 6.75e+07\n",
+ "ValFuncLoss: 3.82e-05\n",
+ "Variance: 0.0426\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001328525 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04253533 0.03992385 0.03863924 0.03952643]\n",
+ "FIT: 0.7858676976458953 2.6848469718604573 0.022088942036691175 0.11850177074240732\n",
+ "***** Episode 246716, Mean R = -3.4 Std R = 6.4 Min R = -28.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00133\n",
+ "PolicyEntropy: -7.19\n",
+ "PolicyLoss: -0.00221\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.75e+07\n",
+ "ValFuncLoss: 2.25e-05\n",
+ "Variance: 0.0425\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010945533 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04252832 0.0399662 0.03868313 0.03945553]\n",
+ "FIT: 0.6313482802627153 2.1570304794732156 0.01960838826500552 0.11710179587789284\n",
+ "***** Episode 246837, Mean R = -2.0 Std R = 4.2 Min R = -21.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.997\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -7.19\n",
+ "PolicyLoss: -0.00179\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 6.76e+07\n",
+ "ValFuncLoss: 5.9e-06\n",
+ "Variance: 0.0425\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0014560457 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04253334 0.039921 0.03871508 0.0393298 ]\n",
+ "FIT: 0.6222610030866234 2.6838576495122304 0.021824082072163412 0.12029889748422165\n",
+ "***** Episode 246958, Mean R = -3.1 Std R = 5.9 Min R = -33.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00146\n",
+ "PolicyEntropy: -7.19\n",
+ "PolicyLoss: -0.00272\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.76e+07\n",
+ "ValFuncLoss: 1.51e-05\n",
+ "Variance: 0.0425\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0015703102 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04254511 0.03993147 0.03875933 0.03929483]\n",
+ "FIT: 0.930327392908247 2.6498916117771207 0.021134594387677196 0.12129456528570974\n",
+ "***** Episode 247079, Mean R = -2.9 Std R = 5.7 Min R = -30.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.963\n",
+ "KL: 0.00157\n",
+ "PolicyEntropy: -7.19\n",
+ "PolicyLoss: -0.00255\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.77e+07\n",
+ "ValFuncLoss: 2.7e-05\n",
+ "Variance: 0.0425\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012210117 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04256536 0.0398988 0.03881146 0.03923839]\n",
+ "FIT: 0.5210492564026316 2.6073120103213063 0.022234296294534744 0.11847765059785184\n",
+ "***** Episode 247200, Mean R = -3.4 Std R = 4.9 Min R = -19.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -7.19\n",
+ "PolicyLoss: -0.00239\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 6.77e+07\n",
+ "ValFuncLoss: 1.79e-05\n",
+ "Variance: 0.0426\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00097225956 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04259114 0.0398769 0.03880292 0.03922776]\n",
+ "FIT: 0.5468928775960473 2.558989955314535 0.02044193506188 0.12075673385847373\n",
+ "Update Cnt = 1880 ET = 1032.5 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.2 -0.0 | 1.0 1.0 0.1 | -3.5 -4.6 -0.1 | 7.9 7.5 3.3\n",
+ "v_f | 0.03 -0.04 -0.95 | 0.15 0.07 0.16 | -4.92 -0.51 -1.38 | 0.52 0.25 0.26\n",
+ "r_i | 1018.2 8.8 2350.4 | 582.2 578.5 29.0 | 1.1 -995.3 2300.1 | 1997.8 999.0 2399.9\n",
+ "v_i | -40.16 -0.36 -80.24 | 17.28 17.19 5.74 | -69.99 -29.90 -89.98 | -10.01 29.85 -70.01\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 11.4\n",
+ "norm_vf | 0.96 | 0.19 | 0.18 | 4.96\n",
+ "gs_f | 32.5 | 33.8 | 1.0 | 624.0\n",
+ "thrust | 1227 17 9233 | 2927 2853 2017 | -14915 -16552 2000 | 16616 16606 19999\n",
+ "norm_thrust | 9886 | 3129 | 3464 | 20000\n",
+ "fuel | 292 | 16 | 263 | 496\n",
+ "rewards | -2.66 | 5.21 | -33.35 | 3.95\n",
+ "fuel_rewards | -7.54 | 0.41 | -12.78 | -6.79\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.50 | 0.50 | 0.12 | 4.22\n",
+ "norm_af | 0.03 | 0.03 | 0.00 | 0.98\n",
+ "norm_wf | 0.11 | 0.07 | 0.00 | 1.52\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.09 | 0.82 | -11.90 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.04 0.12 0.00 | 0.35 0.21 0.19 | -1.34 -0.92 -1.20 | 2.20 1.08 1.01\n",
+ "w | -0.00 -0.01 0.00 | 0.19 0.19 0.01 | -1.68 -2.47 -0.07 | 2.10 1.33 0.27\n",
+ "a_f | -0.01 -0.00 | 0.04 0.03 | -0.16 -0.30 | 0.93 0.10\n",
+ "w_f | -0.01 -0.01 0.00 | 0.10 0.08 0.02 | -0.42 -0.33 -0.06 | 1.49 0.25 0.26\n",
+ "landing_rewards | 9.81 | 1.37 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.20 | -0.19 | 6.38\n",
+ "tracking_rewards | -4.84 | 4.56 | -26.30 | 1.22\n",
+ "steps | 304 | 25 | 251 | 601\n",
+ "***** Episode 247321, Mean R = -2.6 Std R = 4.9 Min R = -23.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.957\n",
+ "KL: 0.000972\n",
+ "PolicyEntropy: -7.19\n",
+ "PolicyLoss: -0.00234\n",
+ "Steps: 3.73e+04\n",
+ "TotalSteps: 6.77e+07\n",
+ "ValFuncLoss: 1.88e-05\n",
+ "Variance: 0.0426\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009866394 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04265004 0.03987301 0.03875158 0.03921802]\n",
+ "FIT: 0.5824232399910614 2.476148132913362 0.020456640060765 0.11612803696518834\n",
+ "***** Episode 247442, Mean R = -2.3 Std R = 4.7 Min R = -20.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.994\n",
+ "KL: 0.000987\n",
+ "PolicyEntropy: -7.19\n",
+ "PolicyLoss: -0.00294\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.78e+07\n",
+ "ValFuncLoss: 9.32e-06\n",
+ "Variance: 0.0427\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0008915604 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0426443 0.03987505 0.03878206 0.03925176]\n",
+ "FIT: 0.6205474854724529 2.6844728883534525 0.020985373541668382 0.11822965255705029\n",
+ "***** Episode 247563, Mean R = -2.8 Std R = 5.7 Min R = -27.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.000892\n",
+ "PolicyEntropy: -7.19\n",
+ "PolicyLoss: -0.00251\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.78e+07\n",
+ "ValFuncLoss: 3.15e-05\n",
+ "Variance: 0.0426\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011882057 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04276772 0.0398231 0.03877981 0.03928549]\n",
+ "FIT: 0.6507078046871083 2.7448364545117667 0.02311768360762356 0.12159646224628441\n",
+ "***** Episode 247684, Mean R = -3.7 Std R = 6.2 Min R = -26.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -7.19\n",
+ "PolicyLoss: -0.00279\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 6.78e+07\n",
+ "ValFuncLoss: 2.67e-05\n",
+ "Variance: 0.0428\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013317519 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04283143 0.03983966 0.03874125 0.0392823 ]\n",
+ "FIT: 0.6088795815853992 2.544677747562383 0.020905433356688045 0.117307609011441\n",
+ "***** Episode 247805, Mean R = -2.7 Std R = 5.0 Min R = -28.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00133\n",
+ "PolicyEntropy: -7.19\n",
+ "PolicyLoss: -0.00315\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.79e+07\n",
+ "ValFuncLoss: 2.25e-05\n",
+ "Variance: 0.0428\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0014362 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04277064 0.03982331 0.03872564 0.03926699]\n",
+ "FIT: 0.6106392739849369 2.6107349901444015 0.020994010754826122 0.11992924209983549\n",
+ "***** Episode 247926, Mean R = -2.8 Std R = 4.8 Min R = -24.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00144\n",
+ "PolicyEntropy: -7.19\n",
+ "PolicyLoss: -0.0026\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 6.79e+07\n",
+ "ValFuncLoss: 2.89e-05\n",
+ "Variance: 0.0428\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013505094 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04265609 0.03979758 0.03875916 0.0391558 ]\n",
+ "FIT: 0.5265711508356764 2.4250003308818995 0.020936050775189192 0.11727189194821004\n",
+ "***** Episode 248047, Mean R = -2.8 Std R = 4.8 Min R = -18.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00135\n",
+ "PolicyEntropy: -7.19\n",
+ "PolicyLoss: -0.00242\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.8e+07\n",
+ "ValFuncLoss: 2.49e-05\n",
+ "Variance: 0.0427\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012289012 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04259786 0.03975374 0.03877955 0.03907824]\n",
+ "FIT: 0.6310589674450202 2.381653389015919 0.019508589203978043 0.11807973291009988\n",
+ "***** Episode 248168, Mean R = -2.0 Std R = 4.6 Min R = -21.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -7.2\n",
+ "PolicyLoss: -0.00222\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.8e+07\n",
+ "ValFuncLoss: 2.31e-05\n",
+ "Variance: 0.0426\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013491613 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04264318 0.0396769 0.03879773 0.03902386]\n",
+ "FIT: 0.5267615890658489 2.4791639963007093 0.020273409577416558 0.11887849609372994\n",
+ "***** Episode 248289, Mean R = -2.5 Std R = 4.8 Min R = -18.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00135\n",
+ "PolicyEntropy: -7.2\n",
+ "PolicyLoss: -0.00233\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 6.8e+07\n",
+ "ValFuncLoss: 2.22e-05\n",
+ "Variance: 0.0426\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0014336806 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04262015 0.03965546 0.0387265 0.03895921]\n",
+ "FIT: 0.5400362209126924 2.668093312837851 0.02177177929377906 0.11946821081278201\n",
+ "***** Episode 248410, Mean R = -3.1 Std R = 4.9 Min R = -20.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00143\n",
+ "PolicyEntropy: -7.2\n",
+ "PolicyLoss: -0.00252\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 6.81e+07\n",
+ "ValFuncLoss: 2.12e-05\n",
+ "Variance: 0.0426\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011813517 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04253658 0.03965112 0.03870719 0.0389394 ]\n",
+ "FIT: 0.48441242122100964 2.3890872080281764 0.018922032691133763 0.11567600622349193\n",
+ "Update Cnt = 1890 ET = 1028.4 Stats: Mean, Std, Min, Max\n",
+ "r_f | 0.0 -0.3 -0.0 | 1.0 1.0 0.0 | -4.0 -4.6 -0.1 | 3.5 3.9 -0.0\n",
+ "v_f | 0.04 -0.04 -0.95 | 0.06 0.07 0.15 | -0.28 -0.38 -1.39 | 0.25 0.25 -0.39\n",
+ "r_i | 993.6 -28.2 2349.5 | 582.9 569.8 29.2 | 1.1 -999.3 2300.1 | 1999.2 998.1 2399.8\n",
+ "v_i | -40.24 -0.04 -80.01 | 17.41 17.54 5.72 | -69.95 -29.99 -89.99 | -10.04 29.87 -70.05\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 5.2\n",
+ "norm_vf | 0.95 | 0.15 | 0.47 | 1.39\n",
+ "gs_f | 30.8 | 31.4 | 4.1 | 361.7\n",
+ "thrust | 1235 9 9238 | 2934 2862 1992 | -15077 -16412 2000 | 16815 16774 19999\n",
+ "norm_thrust | 9895 | 3117 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 260 | 349\n",
+ "rewards | -2.65 | 5.03 | -28.18 | 4.04\n",
+ "fuel_rewards | -7.52 | 0.40 | -8.99 | -6.71\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.52 | 0.52 | 0.55 | 3.96\n",
+ "norm_af | 0.03 | 0.02 | 0.00 | 0.17\n",
+ "norm_wf | 0.10 | 0.06 | 0.01 | 0.42\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.61 | -10.04 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.12 0.00 | 0.35 0.21 0.19 | -1.45 -0.93 -1.08 | 1.41 1.08 1.04\n",
+ "w | -0.00 -0.01 0.00 | 0.19 0.19 0.01 | -1.69 -2.43 -0.09 | 2.09 1.66 0.13\n",
+ "a_f | -0.01 -0.00 | 0.02 0.03 | -0.11 -0.17 | 0.07 0.12\n",
+ "w_f | -0.01 -0.01 0.00 | 0.09 0.08 0.01 | -0.28 -0.34 -0.08 | 0.33 0.35 0.12\n",
+ "landing_rewards | 9.76 | 1.53 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.06 | -0.19 | 0.85\n",
+ "tracking_rewards | -4.82 | 4.54 | -28.34 | 1.23\n",
+ "steps | 303 | 24 | 250 | 387\n",
+ "***** Episode 248531, Mean R = -1.8 Std R = 4.4 Min R = -21.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -7.21\n",
+ "PolicyLoss: -0.00205\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.81e+07\n",
+ "ValFuncLoss: 2.67e-05\n",
+ "Variance: 0.0425\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010059418 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04242515 0.03955344 0.03874612 0.03891053]\n",
+ "FIT: 0.649742584200977 2.7707736934851313 0.019895808832153413 0.117425271556575\n",
+ "***** Episode 248652, Mean R = -2.1 Std R = 4.6 Min R = -26.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -7.21\n",
+ "PolicyLoss: -0.0021\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 6.81e+07\n",
+ "ValFuncLoss: 2.07e-05\n",
+ "Variance: 0.0424\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013330232 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04233555 0.03943456 0.03876473 0.03880293]\n",
+ "FIT: 0.5953247222519186 2.458773803499962 0.021135348048925362 0.12154719252945964\n",
+ "***** Episode 248773, Mean R = -3.2 Std R = 6.0 Min R = -21.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00133\n",
+ "PolicyEntropy: -7.22\n",
+ "PolicyLoss: -0.00184\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 6.82e+07\n",
+ "ValFuncLoss: 3.23e-05\n",
+ "Variance: 0.0423\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010967351 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04227785 0.03940751 0.03868098 0.03874891]\n",
+ "FIT: 0.48430086449771664 2.3934325889957413 0.020658320850505237 0.1242595498251826\n",
+ "***** Episode 248894, Mean R = -3.0 Std R = 4.6 Min R = -24.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -7.22\n",
+ "PolicyLoss: -0.00225\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.82e+07\n",
+ "ValFuncLoss: 3.05e-05\n",
+ "Variance: 0.0423\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00088212383 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04221833 0.03943593 0.03860209 0.03881719]\n",
+ "FIT: 0.5631855374760869 2.564471721602312 0.021566242767520193 0.11931803605207261\n",
+ "***** Episode 249015, Mean R = -3.0 Std R = 5.3 Min R = -19.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.000882\n",
+ "PolicyEntropy: -7.23\n",
+ "PolicyLoss: -0.0024\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 6.82e+07\n",
+ "ValFuncLoss: 1.52e-05\n",
+ "Variance: 0.0422\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0012348939 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04225131 0.03941201 0.03854915 0.03880328]\n",
+ "FIT: 0.5481401795169026 2.3424267624582367 0.020322784013291083 0.11741146750928491\n",
+ "***** Episode 249136, Mean R = -2.3 Std R = 4.3 Min R = -17.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -7.23\n",
+ "PolicyLoss: -0.00252\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 6.83e+07\n",
+ "ValFuncLoss: 1.16e-05\n",
+ "Variance: 0.0423\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011300817 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04222663 0.0393822 0.03846108 0.03881469]\n",
+ "FIT: 0.5778045047913682 2.4602705707736443 0.019918432928001432 0.11924446889024656\n",
+ "***** Episode 249257, Mean R = -2.5 Std R = 4.7 Min R = -20.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -7.23\n",
+ "PolicyLoss: -0.00192\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 6.83e+07\n",
+ "ValFuncLoss: 2.71e-05\n",
+ "Variance: 0.0422\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010392908 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04228083 0.03945604 0.03848655 0.03875824]\n",
+ "FIT: 0.5343942480993121 2.622358000852797 0.022928280797980937 0.11911763776915958\n",
+ "***** Episode 249378, Mean R = -3.8 Std R = 6.1 Min R = -25.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -7.23\n",
+ "PolicyLoss: -0.00187\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.84e+07\n",
+ "ValFuncLoss: 1.16e-05\n",
+ "Variance: 0.0423\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012816701 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04236586 0.03951276 0.03853788 0.03873696]\n",
+ "FIT: 0.6142996760116698 2.5500435209733445 0.021104772231611422 0.11911324137706138\n",
+ "***** Episode 249499, Mean R = -2.8 Std R = 5.7 Min R = -27.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.00128\n",
+ "PolicyEntropy: -7.22\n",
+ "PolicyLoss: -0.00282\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.84e+07\n",
+ "ValFuncLoss: 1.38e-05\n",
+ "Variance: 0.0424\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010731659 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04238346 0.03946657 0.03857593 0.03870387]\n",
+ "FIT: 0.5124145287777181 2.4467489603984913 0.021931726071219623 0.12229957929657026\n",
+ "***** Episode 249620, Mean R = -3.3 Std R = 4.6 Min R = -17.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -7.22\n",
+ "PolicyLoss: -0.00278\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 6.84e+07\n",
+ "ValFuncLoss: 1.94e-05\n",
+ "Variance: 0.0424\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013685604 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04237941 0.03942568 0.03861463 0.03864502]\n",
+ "FIT: 0.5381536651848021 2.697811461824106 0.02117487474316686 0.11700157856040821\n",
+ "Update Cnt = 1900 ET = 1024.7 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.3 -0.0 | 1.0 1.0 0.0 | -4.3 -5.8 -0.1 | 3.6 3.6 -0.0\n",
+ "v_f | 0.03 -0.05 -0.95 | 0.06 0.08 0.15 | -0.28 -0.37 -1.37 | 0.33 0.35 -0.23\n",
+ "r_i | 991.3 0.8 2350.3 | 583.5 573.6 28.7 | 1.4 -989.2 2300.0 | 1998.5 998.1 2399.9\n",
+ "v_i | -40.10 -0.17 -80.14 | 17.21 17.99 5.81 | -69.92 -29.96 -89.98 | -10.04 29.91 -70.03\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 5.9\n",
+ "norm_vf | 0.95 | 0.15 | 0.38 | 1.37\n",
+ "gs_f | 30.5 | 47.4 | 3.6 | 1317.6\n",
+ "thrust | 1231 11 9249 | 2898 2998 1986 | -15779 -16500 2000 | 16744 16781 20000\n",
+ "norm_thrust | 9925 | 3145 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 260 | 353\n",
+ "rewards | -2.87 | 5.17 | -27.19 | 4.25\n",
+ "fuel_rewards | -7.54 | 0.39 | -9.11 | -6.70\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.54 | 0.55 | 0.57 | 4.90\n",
+ "norm_af | 0.03 | 0.02 | 0.00 | 0.22\n",
+ "norm_wf | 0.10 | 0.06 | 0.00 | 0.40\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.03 | 0.25 | -4.72 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.04 0.12 0.00 | 0.36 0.20 0.20 | -1.32 -0.97 -1.04 | 1.38 1.03 1.01\n",
+ "w | -0.00 -0.01 0.00 | 0.19 0.19 0.01 | -1.65 -2.39 -0.10 | 1.83 1.54 0.10\n",
+ "a_f | -0.01 -0.00 | 0.02 0.03 | -0.21 -0.09 | 0.11 0.13\n",
+ "w_f | -0.01 -0.01 -0.00 | 0.09 0.07 0.01 | -0.37 -0.26 -0.09 | 0.35 0.23 0.09\n",
+ "landing_rewards | 9.75 | 1.55 | 0.00 | 10.00\n",
+ "landing_margin | -0.11 | 0.09 | -0.19 | 1.42\n",
+ "tracking_rewards | -5.05 | 4.65 | -26.51 | 1.40\n",
+ "steps | 303 | 24 | 252 | 385\n",
+ "***** Episode 249741, Mean R = -3.0 Std R = 5.3 Min R = -24.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00137\n",
+ "PolicyEntropy: -7.23\n",
+ "PolicyLoss: -0.00271\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 6.85e+07\n",
+ "ValFuncLoss: 2.64e-05\n",
+ "Variance: 0.0424\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009991333 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04232713 0.03939911 0.03858564 0.0386542 ]\n",
+ "FIT: 0.538304261698255 2.7328232363135405 0.01977246599727813 0.11489678744028224\n",
+ "***** Episode 249862, Mean R = -2.2 Std R = 4.9 Min R = -28.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.000999\n",
+ "PolicyEntropy: -7.23\n",
+ "PolicyLoss: -0.00208\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.85e+07\n",
+ "ValFuncLoss: 2.94e-05\n",
+ "Variance: 0.0423\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010235356 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0422236 0.03948599 0.03856659 0.03861029]\n",
+ "FIT: 0.49096964227952616 2.560453823558583 0.019379920959434447 0.11742105017607912\n",
+ "***** Episode 249983, Mean R = -1.9 Std R = 4.4 Min R = -16.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -7.23\n",
+ "PolicyLoss: -0.00175\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.85e+07\n",
+ "ValFuncLoss: 2.32e-05\n",
+ "Variance: 0.0422\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012286295 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04218074 0.03955431 0.0386061 0.03858275]\n",
+ "FIT: 0.5615803801267415 2.5260998645287946 0.020205553596275173 0.1198723698007298\n",
+ "***** Episode 250104, Mean R = -2.3 Std R = 4.9 Min R = -21.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -7.23\n",
+ "PolicyLoss: -0.00262\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.86e+07\n",
+ "ValFuncLoss: 1.37e-05\n",
+ "Variance: 0.0422\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010038238 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04216983 0.03953525 0.03854203 0.03860581]\n",
+ "FIT: 0.5140215986445607 2.554460263039006 0.0201527248612515 0.11822629955382088\n",
+ "***** Episode 250225, Mean R = -2.5 Std R = 5.3 Min R = -23.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.982\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.001\n",
+ "PolicyEntropy: -7.23\n",
+ "PolicyLoss: -0.00194\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 6.86e+07\n",
+ "ValFuncLoss: 3.83e-05\n",
+ "Variance: 0.0422\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013338262 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04225345 0.03947628 0.03854071 0.03853779]\n",
+ "FIT: 0.5198833591438066 2.4241792939361466 0.01976072138612928 0.11691910855376896\n",
+ "***** Episode 250346, Mean R = -2.2 Std R = 4.8 Min R = -19.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00133\n",
+ "PolicyEntropy: -7.23\n",
+ "PolicyLoss: -0.00224\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.86e+07\n",
+ "ValFuncLoss: 3.19e-05\n",
+ "Variance: 0.0423\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013897738 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04227735 0.0393547 0.03844778 0.03848765]\n",
+ "FIT: 0.4631487879941757 2.605190080517994 0.020514741142602096 0.12056739058628757\n",
+ "***** Episode 250467, Mean R = -2.7 Std R = 4.6 Min R = -15.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00139\n",
+ "PolicyEntropy: -7.24\n",
+ "PolicyLoss: -0.00202\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.87e+07\n",
+ "ValFuncLoss: 3.14e-05\n",
+ "Variance: 0.0423\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009939485 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04219399 0.03931133 0.03844204 0.0385226 ]\n",
+ "FIT: 0.656368517885936 2.671495731419371 0.02061663392899928 0.11999529534026311\n",
+ "***** Episode 250588, Mean R = -2.4 Std R = 5.4 Min R = -30.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.000994\n",
+ "PolicyEntropy: -7.24\n",
+ "PolicyLoss: -0.00266\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.87e+07\n",
+ "ValFuncLoss: 1.26e-05\n",
+ "Variance: 0.0422\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.001159202 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04202997 0.03933053 0.03848679 0.03851328]\n",
+ "FIT: 0.569279139967713 2.5175835999514034 0.022058131270580556 0.12310182342206008\n",
+ "***** Episode 250709, Mean R = -3.6 Std R = 5.5 Min R = -32.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -7.24\n",
+ "PolicyLoss: -0.00191\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 6.88e+07\n",
+ "ValFuncLoss: 3.6e-05\n",
+ "Variance: 0.042\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013001023 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04190315 0.03939702 0.0384995 0.03851851]\n",
+ "FIT: 0.6018876830982054 2.602653590873408 0.020930169572026702 0.11857360131150683\n",
+ "***** Episode 250830, Mean R = -2.7 Std R = 5.1 Min R = -23.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.0013\n",
+ "PolicyEntropy: -7.24\n",
+ "PolicyLoss: -0.0023\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.88e+07\n",
+ "ValFuncLoss: 2.16e-05\n",
+ "Variance: 0.0419\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.000947505 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04194573 0.03944126 0.03858166 0.0385288 ]\n",
+ "FIT: 0.6106167096731672 2.5070739615119777 0.022141206670785115 0.1229685753297864\n",
+ "Update Cnt = 1910 ET = 1022.3 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.0 1.0 0.0 | -4.2 -4.8 -0.1 | 4.2 3.7 -0.0\n",
+ "v_f | 0.03 -0.05 -0.94 | 0.06 0.07 0.15 | -0.20 -0.36 -1.38 | 0.32 0.23 -0.18\n",
+ "r_i | 1007.0 -15.1 2349.9 | 577.8 578.6 29.0 | 2.0 -998.5 2300.1 | 1998.9 995.4 2399.9\n",
+ "v_i | -39.93 0.08 -80.01 | 17.29 17.70 5.88 | -69.99 -29.95 -89.99 | -10.12 29.99 -70.03\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 5.4\n",
+ "norm_vf | 0.94 | 0.15 | 0.23 | 1.38\n",
+ "gs_f | 32.5 | 44.7 | 5.1 | 653.7\n",
+ "thrust | 1220 3 9228 | 2910 2860 2003 | -15729 -17358 2000 | 16381 16532 19999\n",
+ "norm_thrust | 9880 | 3114 | 3464 | 20000\n",
+ "fuel | 292 | 16 | 262 | 346\n",
+ "rewards | -2.58 | 5.10 | -32.23 | 3.97\n",
+ "fuel_rewards | -7.52 | 0.40 | -8.93 | -6.76\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.51 | 0.51 | 0.56 | 4.21\n",
+ "norm_af | 0.03 | 0.02 | 0.00 | 0.15\n",
+ "norm_wf | 0.11 | 0.06 | 0.01 | 0.40\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.41 | -8.15 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.11 0.00 | 0.36 0.21 0.20 | -1.19 -0.96 -1.02 | 1.81 1.05 1.09\n",
+ "w | 0.00 -0.01 0.00 | 0.19 0.19 0.01 | -1.75 -2.43 -0.09 | 2.23 1.47 0.15\n",
+ "a_f | -0.01 -0.00 | 0.02 0.03 | -0.10 -0.11 | 0.09 0.12\n",
+ "w_f | -0.00 -0.01 0.00 | 0.09 0.08 0.02 | -0.35 -0.26 -0.07 | 0.38 0.30 0.13\n",
+ "landing_rewards | 9.73 | 1.63 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.06 | -0.19 | 0.40\n",
+ "tracking_rewards | -4.74 | 4.54 | -32.07 | 1.35\n",
+ "steps | 304 | 24 | 249 | 394\n",
+ "***** Episode 250951, Mean R = -3.4 Std R = 5.5 Min R = -26.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.998\n",
+ "ExplainedVarOld: 0.992\n",
+ "KL: 0.000948\n",
+ "PolicyEntropy: -7.24\n",
+ "PolicyLoss: -0.00307\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.88e+07\n",
+ "ValFuncLoss: 6.43e-06\n",
+ "Variance: 0.0419\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012204817 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04194201 0.0395533 0.03861016 0.03857872]\n",
+ "FIT: 0.5359189501192946 2.6110123351517602 0.0216012647931679 0.11908962206897998\n",
+ "***** Episode 251072, Mean R = -3.3 Std R = 5.8 Min R = -22.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -7.24\n",
+ "PolicyLoss: -0.00237\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 6.89e+07\n",
+ "ValFuncLoss: 3.49e-05\n",
+ "Variance: 0.0419\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0016176796 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04189998 0.03966796 0.03858446 0.03857172]\n",
+ "FIT: 0.6950983893413951 2.463391583371853 0.020420429530996792 0.12041648442663153\n",
+ "***** Episode 251193, Mean R = -2.9 Std R = 5.1 Min R = -24.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00162\n",
+ "PolicyEntropy: -7.23\n",
+ "PolicyLoss: -0.00247\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 6.89e+07\n",
+ "ValFuncLoss: 3.64e-05\n",
+ "Variance: 0.0419\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011436916 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04182871 0.03963803 0.03844275 0.03850211]\n",
+ "FIT: 0.6318259007036563 2.6272405964625496 0.02013848879482945 0.1192961586852361\n",
+ "***** Episode 251314, Mean R = -2.3 Std R = 4.9 Min R = -20.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -7.24\n",
+ "PolicyLoss: -0.0028\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.89e+07\n",
+ "ValFuncLoss: 1.76e-05\n",
+ "Variance: 0.0418\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013247131 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04173624 0.03952615 0.03831349 0.03848846]\n",
+ "FIT: 0.5556426665717087 2.680494004630013 0.0201758208100739 0.11658814477422652\n",
+ "***** Episode 251435, Mean R = -2.1 Std R = 5.2 Min R = -19.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00132\n",
+ "PolicyEntropy: -7.25\n",
+ "PolicyLoss: -0.00286\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.9e+07\n",
+ "ValFuncLoss: 2.18e-05\n",
+ "Variance: 0.0417\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001200266 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04167372 0.03959014 0.03830305 0.03865599]\n",
+ "FIT: 0.6506788845563759 2.7426417744034253 0.022360488955349696 0.1191869464602578\n",
+ "***** Episode 251556, Mean R = -3.3 Std R = 6.6 Min R = -29.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: -7.25\n",
+ "PolicyLoss: -0.00276\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.9e+07\n",
+ "ValFuncLoss: 1.84e-05\n",
+ "Variance: 0.0417\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010893549 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04171416 0.03962057 0.03827917 0.03875304]\n",
+ "FIT: 0.6720627656415353 2.677072820542977 0.023186181113128656 0.11946853147497659\n",
+ "***** Episode 251677, Mean R = -3.7 Std R = 6.9 Min R = -39.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -7.24\n",
+ "PolicyLoss: -0.00294\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 6.91e+07\n",
+ "ValFuncLoss: 1.71e-05\n",
+ "Variance: 0.0417\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013932083 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04182879 0.03961261 0.0383856 0.03866741]\n",
+ "FIT: 0.5834550269229881 2.4011200332406295 0.020579974251167064 0.1190309682954308\n",
+ "***** Episode 251798, Mean R = -2.7 Std R = 4.5 Min R = -16.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00139\n",
+ "PolicyEntropy: -7.24\n",
+ "PolicyLoss: -0.00254\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.91e+07\n",
+ "ValFuncLoss: 2.64e-05\n",
+ "Variance: 0.0418\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012227079 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04183074 0.03959677 0.03845177 0.03852738]\n",
+ "FIT: 0.5332211181095189 2.6974000188080023 0.020378170331812183 0.11911743787735102\n",
+ "***** Episode 251919, Mean R = -2.6 Std R = 4.8 Min R = -20.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -7.24\n",
+ "PolicyLoss: -0.0023\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.91e+07\n",
+ "ValFuncLoss: 1.77e-05\n",
+ "Variance: 0.0418\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010597608 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04174943 0.03947436 0.03838711 0.0384173 ]\n",
+ "FIT: 0.5449685358278997 2.5876190923208364 0.021926160918948976 0.11999932485888644\n",
+ "***** Episode 252040, Mean R = -3.2 Std R = 6.2 Min R = -20.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.997\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -7.25\n",
+ "PolicyLoss: -0.00211\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.92e+07\n",
+ "ValFuncLoss: 9.92e-06\n",
+ "Variance: 0.0417\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009997525 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04166719 0.03943292 0.03839946 0.03842234]\n",
+ "FIT: 0.5173496988130534 2.4685719516782574 0.020479564664348745 0.12005247757593106\n",
+ "Update Cnt = 1920 ET = 1025.4 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.3 -0.0 | 1.0 1.0 0.0 | -5.0 -5.5 -0.1 | 2.8 3.2 -0.0\n",
+ "v_f | 0.03 -0.05 -0.95 | 0.06 0.08 0.15 | -0.20 -0.48 -1.38 | 0.30 0.31 -0.30\n",
+ "r_i | 1009.9 0.7 2350.0 | 599.7 571.7 28.3 | 2.6 -996.8 2300.0 | 1999.2 993.4 2400.0\n",
+ "v_i | -39.89 0.46 -79.85 | 17.90 17.45 5.74 | -69.94 -29.99 -89.97 | -10.01 29.98 -70.05\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 5.5\n",
+ "norm_vf | 0.95 | 0.15 | 0.45 | 1.38\n",
+ "gs_f | 31.3 | 49.5 | 1.9 | 1132.8\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "thrust | 1218 -10 9222 | 2954 2876 1999 | -15670 -17222 2000 | 16643 16700 20000\n",
+ "norm_thrust | 9886 | 3127 | 3464 | 20000\n",
+ "fuel | 293 | 16 | 260 | 352\n",
+ "rewards | -2.87 | 5.54 | -39.21 | 4.20\n",
+ "fuel_rewards | -7.55 | 0.40 | -9.09 | -6.72\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.54 | 0.61 | 0.63 | 5.82\n",
+ "norm_af | 0.03 | 0.02 | 0.00 | 0.25\n",
+ "norm_wf | 0.11 | 0.06 | 0.00 | 0.48\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.37 | -5.63 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.05 0.12 0.01 | 0.35 0.21 0.20 | -1.35 -1.01 -1.04 | 1.68 1.07 1.10\n",
+ "w | -0.00 -0.01 0.00 | 0.19 0.19 0.01 | -1.62 -2.39 -0.09 | 2.08 1.56 0.11\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.10 -0.21 | 0.14 0.13\n",
+ "w_f | -0.01 -0.02 0.00 | 0.09 0.08 0.02 | -0.36 -0.47 -0.08 | 0.48 0.26 0.11\n",
+ "landing_rewards | 9.74 | 1.58 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.12 | -0.19 | 3.05\n",
+ "tracking_rewards | -5.02 | 4.97 | -31.50 | 1.21\n",
+ "steps | 305 | 26 | 249 | 387\n",
+ "***** Episode 252161, Mean R = -2.6 Std R = 4.8 Min R = -19.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.001\n",
+ "PolicyEntropy: -7.25\n",
+ "PolicyLoss: -0.00243\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 6.92e+07\n",
+ "ValFuncLoss: 2.5e-05\n",
+ "Variance: 0.0417\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.000925344 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04167626 0.03949697 0.03847715 0.03852293]\n",
+ "FIT: 0.8643987258063954 2.5941111120537403 0.0206615570133017 0.1173436434416056\n",
+ "***** Episode 252282, Mean R = -2.6 Std R = 5.2 Min R = -27.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.971\n",
+ "KL: 0.000925\n",
+ "PolicyEntropy: -7.25\n",
+ "PolicyLoss: -0.0023\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.92e+07\n",
+ "ValFuncLoss: 2.38e-05\n",
+ "Variance: 0.0417\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0008973174 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0417216 0.03953939 0.03852048 0.03859003]\n",
+ "FIT: 0.6392431042992043 2.533936276208469 0.019029309726546987 0.1198127580997815\n",
+ "***** Episode 252403, Mean R = -1.7 Std R = 4.9 Min R = -27.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.000897\n",
+ "PolicyEntropy: -7.24\n",
+ "PolicyLoss: -0.00245\n",
+ "Steps: 3.78e+04\n",
+ "TotalSteps: 6.93e+07\n",
+ "ValFuncLoss: 1.7e-05\n",
+ "Variance: 0.0417\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011035148 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04175014 0.03950397 0.03849267 0.03856804]\n",
+ "FIT: 0.6178476078281591 2.586433296357639 0.0216986600705367 0.12054296717840608\n",
+ "***** Episode 252524, Mean R = -3.2 Std R = 5.4 Min R = -27.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -7.24\n",
+ "PolicyLoss: -0.00277\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.93e+07\n",
+ "ValFuncLoss: 1.86e-05\n",
+ "Variance: 0.0418\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0015320223 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04169672 0.03942408 0.03855082 0.03861245]\n",
+ "FIT: 0.5598335352440518 2.545463829500405 0.020949321402121794 0.12043803142310708\n",
+ "***** Episode 252645, Mean R = -2.9 Std R = 4.9 Min R = -19.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00153\n",
+ "PolicyEntropy: -7.24\n",
+ "PolicyLoss: -0.0021\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 6.93e+07\n",
+ "ValFuncLoss: 1.58e-05\n",
+ "Variance: 0.0417\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001351339 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04164581 0.03937271 0.03851504 0.03871014]\n",
+ "FIT: 0.4853293766690817 2.442022775749392 0.019970496678751497 0.12200422552329417\n",
+ "***** Episode 252766, Mean R = -2.3 Std R = 4.4 Min R = -21.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00135\n",
+ "PolicyEntropy: -7.25\n",
+ "PolicyLoss: -0.00245\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 6.94e+07\n",
+ "ValFuncLoss: 1.72e-05\n",
+ "Variance: 0.0416\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013730838 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04165901 0.03945167 0.03849257 0.03869106]\n",
+ "FIT: 0.6998144881796449 2.631948514515392 0.021478603429814704 0.119271920334952\n",
+ "***** Episode 252887, Mean R = -3.1 Std R = 6.3 Min R = -40.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00137\n",
+ "PolicyEntropy: -7.24\n",
+ "PolicyLoss: -0.00265\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.94e+07\n",
+ "ValFuncLoss: 3.06e-05\n",
+ "Variance: 0.0417\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013250199 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04159769 0.03946836 0.03851432 0.03870617]\n",
+ "FIT: 0.5980768159354172 2.7112187980505413 0.021123540254454738 0.11942483636259683\n",
+ "***** Episode 253008, Mean R = -3.0 Std R = 5.5 Min R = -31.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00133\n",
+ "PolicyEntropy: -7.24\n",
+ "PolicyLoss: -0.00255\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.95e+07\n",
+ "ValFuncLoss: 3.15e-05\n",
+ "Variance: 0.0416\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00074433355 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0414938 0.03944509 0.0385908 0.0386331 ]\n",
+ "FIT: 0.5066242690828292 2.6558066165906253 0.020254961379255663 0.12087210442230623\n",
+ "***** Episode 253129, Mean R = -2.6 Std R = 5.2 Min R = -25.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.000744\n",
+ "PolicyEntropy: -7.25\n",
+ "PolicyLoss: -0.00213\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.95e+07\n",
+ "ValFuncLoss: 2.85e-05\n",
+ "Variance: 0.0415\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011442184 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04149199 0.03952042 0.0386599 0.03852109]\n",
+ "FIT: 0.6515855734675914 2.662517190262852 0.021093598649399112 0.11899727122220437\n",
+ "***** Episode 253250, Mean R = -2.8 Std R = 5.9 Min R = -26.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -7.25\n",
+ "PolicyLoss: -0.00218\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 6.95e+07\n",
+ "ValFuncLoss: 1.3e-05\n",
+ "Variance: 0.0415\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00079362857 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0415269 0.03951216 0.03872143 0.03847832]\n",
+ "FIT: 0.6764972481053659 2.5574154246570533 0.018941029319631174 0.11599368495511679\n",
+ "Update Cnt = 1930 ET = 1029.2 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.3 -0.0 | 1.1 1.1 0.1 | -3.9 -5.5 -0.1 | 10.3 9.1 2.4\n",
+ "v_f | 0.03 -0.05 -0.93 | 0.08 0.08 0.16 | -0.22 -0.81 -1.36 | 2.27 0.25 -0.09\n",
+ "r_i | 1002.2 2.2 2350.8 | 585.5 572.4 28.8 | 0.8 -999.4 2300.2 | 1998.7 995.7 2399.8\n",
+ "v_i | -39.33 0.07 -79.85 | 17.19 16.92 5.85 | -69.97 -30.00 -89.97 | -10.03 29.93 -70.01\n",
+ "norm_rf | 1.2 | 0.9 | 0.0 | 14.0\n",
+ "norm_vf | 0.94 | 0.16 | 0.30 | 2.50\n",
+ "gs_f | 31.8 | 38.2 | 0.4 | 479.0\n",
+ "thrust | 1198 3 9228 | 2925 2864 2003 | -15391 -17655 2000 | 16485 16785 19999\n",
+ "norm_thrust | 9879 | 3125 | 3464 | 20000\n",
+ "fuel | 293 | 16 | 261 | 478\n",
+ "rewards | -2.57 | 5.30 | -40.70 | 4.32\n",
+ "fuel_rewards | -7.56 | 0.42 | -12.33 | -6.72\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.53 | 0.56 | 0.20 | 5.87\n",
+ "norm_af | 0.03 | 0.03 | 0.00 | 0.59\n",
+ "norm_wf | 0.11 | 0.07 | 0.00 | 1.08\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.65 | -13.12 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.05 0.11 0.00 | 0.36 0.21 0.20 | -1.31 -1.03 -1.10 | 1.85 1.05 1.09\n",
+ "w | -0.00 -0.01 0.00 | 0.19 0.19 0.02 | -1.59 -2.37 -0.09 | 2.04 1.38 0.27\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.57 -0.13 | 0.11 0.09\n",
+ "w_f | -0.01 -0.01 0.00 | 0.09 0.08 0.02 | -0.76 -0.30 -0.09 | 0.30 0.72 0.24\n",
+ "landing_rewards | 9.76 | 1.53 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.27 | -0.19 | 8.97\n",
+ "tracking_rewards | -4.71 | 4.62 | -31.85 | 1.51\n",
+ "steps | 305 | 26 | 251 | 601\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 253371, Mean R = -1.6 Std R = 4.7 Min R = -23.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.000794\n",
+ "PolicyEntropy: -7.25\n",
+ "PolicyLoss: -0.00222\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 6.96e+07\n",
+ "ValFuncLoss: 1.88e-05\n",
+ "Variance: 0.0415\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011490572 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04144152 0.03946381 0.03873391 0.03845822]\n",
+ "FIT: 0.5286908959835047 2.52846116849123 0.02045138292667342 0.12247991414717993\n",
+ "***** Episode 253492, Mean R = -2.5 Std R = 4.4 Min R = -17.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00115\n",
+ "PolicyEntropy: -7.25\n",
+ "PolicyLoss: -0.0021\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.96e+07\n",
+ "ValFuncLoss: 1.34e-05\n",
+ "Variance: 0.0414\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011311553 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04129639 0.03932477 0.03871862 0.03838757]\n",
+ "FIT: 0.6542993211104772 2.548422549366509 0.021817440811699867 0.11857430391320131\n",
+ "***** Episode 253613, Mean R = -3.0 Std R = 4.9 Min R = -25.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -7.26\n",
+ "PolicyLoss: -0.00212\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 6.96e+07\n",
+ "ValFuncLoss: 1.73e-05\n",
+ "Variance: 0.0413\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012986797 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04123901 0.03930945 0.03876091 0.0382874 ]\n",
+ "FIT: 0.48096536641027193 2.4248714948851853 0.019711247161161818 0.11909026249530111\n",
+ "***** Episode 253734, Mean R = -2.3 Std R = 4.2 Min R = -17.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.0013\n",
+ "PolicyEntropy: -7.26\n",
+ "PolicyLoss: -0.00238\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.97e+07\n",
+ "ValFuncLoss: 3.85e-05\n",
+ "Variance: 0.0412\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011237339 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04116535 0.03926959 0.03874296 0.03830298]\n",
+ "FIT: 0.5392800434536438 2.610009532145123 0.021010045729348878 0.12200886031210886\n",
+ "***** Episode 253855, Mean R = -2.8 Std R = 4.8 Min R = -20.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.998\n",
+ "ExplainedVarOld: 0.997\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -7.26\n",
+ "PolicyLoss: -0.0037\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.97e+07\n",
+ "ValFuncLoss: 5.68e-06\n",
+ "Variance: 0.0412\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012836556 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04109307 0.03912846 0.03868125 0.03834152]\n",
+ "FIT: 0.4734727812879808 2.5245645498767693 0.01964856023051345 0.11805443989856007\n",
+ "***** Episode 253976, Mean R = -2.2 Std R = 4.7 Min R = -16.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00128\n",
+ "PolicyEntropy: -7.27\n",
+ "PolicyLoss: -0.00238\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.98e+07\n",
+ "ValFuncLoss: 1.81e-05\n",
+ "Variance: 0.0411\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010467401 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04099756 0.03902329 0.03863498 0.03833534]\n",
+ "FIT: 0.520248253222619 2.4747051009297936 0.021480970457570577 0.11984292637197637\n",
+ "***** Episode 254097, Mean R = -3.0 Std R = 4.7 Min R = -16.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -7.28\n",
+ "PolicyLoss: -0.00228\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 6.98e+07\n",
+ "ValFuncLoss: 1.97e-05\n",
+ "Variance: 0.041\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011570773 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04086286 0.03895317 0.03863601 0.03825316]\n",
+ "FIT: 0.5399712762296962 2.3826756385401753 0.01993946240550262 0.11804859527671606\n",
+ "***** Episode 254218, Mean R = -2.1 Std R = 4.8 Min R = -23.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.994\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -7.28\n",
+ "PolicyLoss: -0.00267\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 6.98e+07\n",
+ "ValFuncLoss: 9.37e-06\n",
+ "Variance: 0.0409\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0015747837 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04079725 0.03893474 0.03870837 0.03821001]\n",
+ "FIT: 0.655625158461734 2.3816334819681817 0.020906647539168807 0.11724718189340978\n",
+ "***** Episode 254339, Mean R = -2.8 Std R = 5.3 Min R = -25.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.972\n",
+ "KL: 0.00157\n",
+ "PolicyEntropy: -7.29\n",
+ "PolicyLoss: -0.00254\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 6.99e+07\n",
+ "ValFuncLoss: 2.92e-05\n",
+ "Variance: 0.0408\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011753654 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04082257 0.03898029 0.03877154 0.03817961]\n",
+ "FIT: 0.6199931943531166 2.6721341413028945 0.021230329403427624 0.12318250371332591\n",
+ "***** Episode 254460, Mean R = -3.1 Std R = 5.8 Min R = -27.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -7.28\n",
+ "PolicyLoss: -0.00248\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 6.99e+07\n",
+ "ValFuncLoss: 3.27e-05\n",
+ "Variance: 0.0408\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012085047 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04083408 0.03898882 0.03883027 0.03818903]\n",
+ "FIT: 0.7294873224024307 2.663237177244631 0.02222375808664606 0.11800844489213767\n",
+ "Update Cnt = 1940 ET = 1026.4 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.0 1.0 0.0 | -4.1 -4.5 -0.1 | 3.1 4.3 -0.0\n",
+ "v_f | 0.03 -0.06 -0.94 | 0.06 0.07 0.15 | -0.68 -0.40 -1.40 | 0.24 0.26 -0.33\n",
+ "r_i | 1016.3 15.1 2350.6 | 580.2 578.5 28.8 | 1.2 -999.5 2300.0 | 1999.0 999.8 2399.9\n",
+ "v_i | -40.45 0.15 -80.25 | 17.38 17.20 5.88 | -69.99 -29.96 -89.98 | -10.02 29.96 -70.00\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 5.0\n",
+ "norm_vf | 0.95 | 0.15 | 0.43 | 1.40\n",
+ "gs_f | 32.5 | 48.6 | 2.3 | 990.2\n",
+ "thrust | 1237 -1 9228 | 2911 2933 2004 | -15180 -16830 2000 | 16897 16287 20000\n",
+ "norm_thrust | 9895 | 3143 | 3464 | 20000\n",
+ "fuel | 292 | 16 | 260 | 352\n",
+ "rewards | -2.72 | 5.06 | -34.69 | 3.76\n",
+ "fuel_rewards | -7.53 | 0.41 | -9.09 | -6.69\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.51 | 0.54 | 0.57 | 4.86\n",
+ "norm_af | 0.03 | 0.02 | 0.00 | 0.22\n",
+ "norm_wf | 0.11 | 0.06 | 0.01 | 0.52\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.56 | -9.71 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.12 -0.00 | 0.35 0.21 0.20 | -1.12 -1.07 -1.04 | 1.51 1.03 1.12\n",
+ "w | -0.00 -0.01 -0.00 | 0.19 0.19 0.01 | -1.69 -2.51 -0.07 | 2.09 1.40 0.10\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.09 -0.18 | 0.21 0.15\n",
+ "w_f | -0.01 -0.01 -0.00 | 0.09 0.08 0.02 | -0.51 -0.49 -0.07 | 0.34 0.28 0.10\n",
+ "landing_rewards | 9.79 | 1.42 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.10 | -0.19 | 2.68\n",
+ "tracking_rewards | -4.93 | 4.55 | -27.96 | 1.10\n",
+ "steps | 304 | 25 | 252 | 380\n",
+ "***** Episode 254581, Mean R = -3.4 Std R = 6.4 Min R = -34.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -7.28\n",
+ "PolicyLoss: -0.00212\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 6.99e+07\n",
+ "ValFuncLoss: 3.14e-05\n",
+ "Variance: 0.0408\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011146953 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04076822 0.03900184 0.03894408 0.03821179]\n",
+ "FIT: 0.5062079725140419 2.364251268592161 0.02136761816757356 0.12155538602768295\n",
+ "***** Episode 254702, Mean R = -2.9 Std R = 5.2 Min R = -20.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -7.28\n",
+ "PolicyLoss: -0.00255\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 7e+07\n",
+ "ValFuncLoss: 1.67e-05\n",
+ "Variance: 0.0408\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00097624207 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04080311 0.03901515 0.03902863 0.03817101]\n",
+ "FIT: 0.6706699527438017 2.557931776889153 0.021409396903544244 0.120119564925387\n",
+ "***** Episode 254823, Mean R = -2.7 Std R = 5.5 Min R = -24.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.998\n",
+ "ExplainedVarOld: 0.995\n",
+ "KL: 0.000976\n",
+ "PolicyEntropy: -7.28\n",
+ "PolicyLoss: -0.00254\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7e+07\n",
+ "ValFuncLoss: 5.66e-06\n",
+ "Variance: 0.0408\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011658544 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04086196 0.03893159 0.03897483 0.03814389]\n",
+ "FIT: 0.6037329380592583 2.625017822146407 0.020038692318353472 0.11936042222091674\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 254944, Mean R = -2.4 Std R = 5.0 Min R = -24.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -7.28\n",
+ "PolicyLoss: -0.0026\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 7e+07\n",
+ "ValFuncLoss: 2.35e-05\n",
+ "Variance: 0.0409\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001285098 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04085756 0.03892345 0.03901264 0.03820694]\n",
+ "FIT: 0.5738950463259928 2.412279690244851 0.020344593016225047 0.11714555909941952\n",
+ "***** Episode 255065, Mean R = -2.5 Std R = 5.1 Min R = -21.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00129\n",
+ "PolicyEntropy: -7.28\n",
+ "PolicyLoss: -0.0024\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 7.01e+07\n",
+ "ValFuncLoss: 2.79e-05\n",
+ "Variance: 0.0409\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0014820704 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04091181 0.03887036 0.03902689 0.03822685]\n",
+ "FIT: 0.58466745887431 2.528212998536633 0.0198360534141588 0.11566334550970596\n",
+ "***** Episode 255186, Mean R = -2.1 Std R = 4.6 Min R = -23.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.00148\n",
+ "PolicyEntropy: -7.28\n",
+ "PolicyLoss: -0.00254\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 7.01e+07\n",
+ "ValFuncLoss: 1.78e-05\n",
+ "Variance: 0.0409\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011414862 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04095295 0.03882879 0.0389839 0.03817002]\n",
+ "FIT: 0.7158166232775172 2.7305744768185316 0.0224606548399015 0.12189017265482147\n",
+ "***** Episode 255307, Mean R = -3.3 Std R = 6.1 Min R = -29.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.998\n",
+ "ExplainedVarOld: 0.994\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -7.28\n",
+ "PolicyLoss: -0.00284\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 7.02e+07\n",
+ "ValFuncLoss: 6.1e-06\n",
+ "Variance: 0.041\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011886823 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04095264 0.03883175 0.03894811 0.03817663]\n",
+ "FIT: 0.5315334137553378 2.4548174209319367 0.020368171933399744 0.11997197519238235\n",
+ "***** Episode 255428, Mean R = -2.5 Std R = 4.9 Min R = -19.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -7.28\n",
+ "PolicyLoss: -0.00253\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.02e+07\n",
+ "ValFuncLoss: 1.65e-05\n",
+ "Variance: 0.041\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001415329 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04095714 0.03881513 0.03889699 0.03821294]\n",
+ "FIT: 0.5494891396928839 2.590278912010122 0.020905935929153182 0.11948896947789799\n",
+ "***** Episode 255549, Mean R = -2.6 Std R = 4.6 Min R = -18.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00142\n",
+ "PolicyEntropy: -7.28\n",
+ "PolicyLoss: -0.00264\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.02e+07\n",
+ "ValFuncLoss: 1.47e-05\n",
+ "Variance: 0.041\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013766183 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04086712 0.03865391 0.03880811 0.03825326]\n",
+ "FIT: 0.5056869328105322 2.2878608542639545 0.019473554634716478 0.11633368362075061\n",
+ "***** Episode 255670, Mean R = -2.0 Std R = 4.3 Min R = -17.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.00138\n",
+ "PolicyEntropy: -7.29\n",
+ "PolicyLoss: -0.00282\n",
+ "Steps: 3.75e+04\n",
+ "TotalSteps: 7.03e+07\n",
+ "ValFuncLoss: 9.24e-06\n",
+ "Variance: 0.0409\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0014505995 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04087841 0.0385506 0.0387331 0.03829075]\n",
+ "FIT: 0.5654243702225938 2.6427626215256392 0.020994236550400516 0.12161266187949016\n",
+ "Update Cnt = 1950 ET = 1024.9 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.4 -0.0 | 1.0 1.0 0.0 | -5.0 -4.9 -0.1 | 3.3 3.1 -0.0\n",
+ "v_f | 0.03 -0.06 -0.94 | 0.06 0.07 0.15 | -0.28 -0.46 -1.37 | 0.24 0.20 -0.49\n",
+ "r_i | 999.0 15.0 2349.6 | 585.8 571.0 28.9 | 0.3 -998.3 2300.1 | 1999.5 998.8 2399.9\n",
+ "v_i | -39.76 -1.34 -79.96 | 16.94 17.26 5.70 | -69.99 -29.94 -89.99 | -10.01 29.97 -70.00\n",
+ "norm_rf | 1.3 | 0.8 | 0.1 | 5.3\n",
+ "norm_vf | 0.95 | 0.14 | 0.53 | 1.37\n",
+ "gs_f | 29.6 | 77.6 | 5.1 | 2573.4\n",
+ "thrust | 1214 48 9228 | 2914 2897 1998 | -15616 -16918 2000 | 16536 16600 19997\n",
+ "norm_thrust | 9886 | 3126 | 3464 | 20000\n",
+ "fuel | 292 | 16 | 259 | 359\n",
+ "rewards | -2.57 | 5.07 | -29.18 | 4.10\n",
+ "fuel_rewards | -7.53 | 0.41 | -9.25 | -6.68\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.52 | 0.51 | 0.58 | 4.21\n",
+ "norm_af | 0.03 | 0.02 | 0.00 | 0.17\n",
+ "norm_wf | 0.11 | 0.06 | 0.00 | 0.46\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.06 | 0.47 | -7.87 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.11 -0.00 | 0.35 0.21 0.20 | -1.26 -0.93 -1.04 | 1.50 1.06 1.07\n",
+ "w | -0.00 -0.01 -0.00 | 0.19 0.19 0.01 | -1.68 -2.45 -0.10 | 2.15 1.43 0.10\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.11 -0.17 | 0.07 0.13\n",
+ "w_f | -0.01 -0.01 -0.00 | 0.09 0.08 0.02 | -0.32 -0.42 -0.09 | 0.31 0.24 0.10\n",
+ "landing_rewards | 9.86 | 1.18 | 0.00 | 10.00\n",
+ "landing_margin | -0.11 | 0.05 | -0.19 | 0.27\n",
+ "tracking_rewards | -4.84 | 4.68 | -27.97 | 1.09\n",
+ "steps | 304 | 24 | 253 | 385\n",
+ "***** Episode 255791, Mean R = -2.7 Std R = 5.0 Min R = -22.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.993\n",
+ "KL: 0.00145\n",
+ "PolicyEntropy: -7.29\n",
+ "PolicyLoss: -0.00265\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.03e+07\n",
+ "ValFuncLoss: 1.05e-05\n",
+ "Variance: 0.0409\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013179787 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04096194 0.03858779 0.03878116 0.03826131]\n",
+ "FIT: 0.5452843631906242 2.7683754263341966 0.01997258165381932 0.11453851671405184\n",
+ "***** Episode 255912, Mean R = -2.2 Std R = 4.8 Min R = -19.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00132\n",
+ "PolicyEntropy: -7.29\n",
+ "PolicyLoss: -0.00222\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 7.03e+07\n",
+ "ValFuncLoss: 2.42e-05\n",
+ "Variance: 0.041\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0014156849 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04095588 0.03854453 0.03879189 0.03825064]\n",
+ "FIT: 0.5028211317299387 2.588706750311035 0.0209461679396513 0.12110951244204923\n",
+ "***** Episode 256033, Mean R = -2.7 Std R = 5.3 Min R = -24.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00142\n",
+ "PolicyEntropy: -7.29\n",
+ "PolicyLoss: -0.00185\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 7.04e+07\n",
+ "ValFuncLoss: 1.36e-05\n",
+ "Variance: 0.041\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010755161 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04090703 0.0385418 0.03875981 0.038214 ]\n",
+ "FIT: 0.49830673580004503 2.519888801668456 0.019093650306137314 0.1157311650406445\n",
+ "***** Episode 256154, Mean R = -1.6 Std R = 4.2 Min R = -19.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -7.29\n",
+ "PolicyLoss: -0.00264\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.04e+07\n",
+ "ValFuncLoss: 1.28e-05\n",
+ "Variance: 0.0409\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001280226 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04099844 0.03861095 0.03871797 0.03821665]\n",
+ "FIT: 0.632638059216785 2.6513838729152606 0.02002023287679871 0.12011602991008202\n",
+ "***** Episode 256275, Mean R = -2.3 Std R = 4.9 Min R = -27.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.992\n",
+ "KL: 0.00128\n",
+ "PolicyEntropy: -7.29\n",
+ "PolicyLoss: -0.00308\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 7.05e+07\n",
+ "ValFuncLoss: 9e-06\n",
+ "Variance: 0.041\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001135924 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04110689 0.0386887 0.038733 0.03824245]\n",
+ "FIT: 0.5081062303868166 2.566597355406499 0.019867571194111547 0.11806803194244965\n",
+ "***** Episode 256396, Mean R = -2.2 Std R = 4.6 Min R = -24.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -7.28\n",
+ "PolicyLoss: -0.00278\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.05e+07\n",
+ "ValFuncLoss: 2.13e-05\n",
+ "Variance: 0.0411\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013627202 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04109221 0.03870503 0.03876304 0.03824793]\n",
+ "FIT: 0.624937919243025 2.516666584139273 0.02091968615245091 0.11989356040245375\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 256517, Mean R = -2.8 Std R = 5.3 Min R = -29.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00136\n",
+ "PolicyEntropy: -7.28\n",
+ "PolicyLoss: -0.0025\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.05e+07\n",
+ "ValFuncLoss: 2.82e-05\n",
+ "Variance: 0.0411\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009390287 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04093669 0.03873711 0.03884847 0.03818055]\n",
+ "FIT: 0.5486134507166452 2.513606521163798 0.020898702282904514 0.11742771576729034\n",
+ "***** Episode 256638, Mean R = -2.8 Std R = 5.2 Min R = -23.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.000939\n",
+ "PolicyEntropy: -7.28\n",
+ "PolicyLoss: -0.00267\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.06e+07\n",
+ "ValFuncLoss: 3.12e-05\n",
+ "Variance: 0.0409\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010528684 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0409039 0.03871346 0.03898081 0.03810506]\n",
+ "FIT: 0.6357095074297476 2.674368247702367 0.020972932301980166 0.12243078414992663\n",
+ "***** Episode 256759, Mean R = -2.9 Std R = 5.2 Min R = -25.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -7.28\n",
+ "PolicyLoss: -0.00297\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 7.06e+07\n",
+ "ValFuncLoss: 1.96e-05\n",
+ "Variance: 0.0409\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011690584 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04093045 0.03869227 0.03896944 0.03808673]\n",
+ "FIT: 0.5558431242465296 2.5062873145499656 0.020908639825356002 0.11826437040892744\n",
+ "***** Episode 256880, Mean R = -2.8 Std R = 5.0 Min R = -22.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -7.29\n",
+ "PolicyLoss: -0.00224\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 7.06e+07\n",
+ "ValFuncLoss: 2.87e-05\n",
+ "Variance: 0.0409\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010796165 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04103307 0.03868827 0.03894863 0.03815171]\n",
+ "FIT: 0.6213384136077386 2.7270293997349264 0.02153594665981585 0.1167221591423438\n",
+ "Update Cnt = 1960 ET = 1023.1 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.0 1.0 0.0 | -4.4 -4.3 -0.1 | 3.6 4.1 -0.0\n",
+ "v_f | 0.03 -0.07 -0.94 | 0.06 0.07 0.14 | -0.32 -0.35 -1.38 | 0.39 0.21 -0.41\n",
+ "r_i | 1014.1 -0.8 2349.2 | 574.4 579.4 28.6 | 2.2 -995.4 2300.0 | 1997.7 996.1 2400.0\n",
+ "v_i | -39.22 0.29 -80.22 | 17.38 17.48 5.88 | -69.84 -30.00 -89.98 | -10.01 29.97 -70.01\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 5.4\n",
+ "norm_vf | 0.95 | 0.14 | 0.45 | 1.38\n",
+ "gs_f | 28.9 | 40.0 | 3.8 | 939.5\n",
+ "thrust | 1197 -4 9245 | 2868 2898 2022 | -15392 -16904 2000 | 16706 16870 20000\n",
+ "norm_thrust | 9890 | 3130 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 262 | 347\n",
+ "rewards | -2.51 | 4.98 | -29.20 | 3.91\n",
+ "fuel_rewards | -7.54 | 0.39 | -8.94 | -6.76\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.53 | 0.55 | 0.64 | 5.69\n",
+ "norm_af | 0.04 | 0.02 | 0.00 | 0.15\n",
+ "norm_wf | 0.11 | 0.06 | 0.00 | 0.47\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.42 | -6.64 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.11 0.00 | 0.35 0.20 0.20 | -1.27 -0.99 -1.04 | 1.51 1.04 1.17\n",
+ "w | -0.00 -0.01 -0.00 | 0.19 0.19 0.01 | -1.61 -2.33 -0.10 | 2.17 1.54 0.10\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.13 -0.15 | 0.09 0.11\n",
+ "w_f | -0.01 -0.01 -0.00 | 0.09 0.08 0.01 | -0.33 -0.38 -0.10 | 0.36 0.31 0.10\n",
+ "landing_rewards | 9.79 | 1.42 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.08 | -0.19 | 1.24\n",
+ "tracking_rewards | -4.72 | 4.38 | -27.87 | 1.02\n",
+ "steps | 304 | 24 | 250 | 391\n",
+ "***** Episode 257001, Mean R = -2.8 Std R = 5.0 Min R = -25.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.998\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -7.28\n",
+ "PolicyLoss: -0.00262\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 7.07e+07\n",
+ "ValFuncLoss: 6.74e-06\n",
+ "Variance: 0.041\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012202775 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0410323 0.03874886 0.03902217 0.03825392]\n",
+ "FIT: 0.5393433035507373 2.7487128980426023 0.0202071687652086 0.11885356503173489\n",
+ "***** Episode 257122, Mean R = -2.4 Std R = 4.9 Min R = -19.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -7.28\n",
+ "PolicyLoss: -0.0026\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.07e+07\n",
+ "ValFuncLoss: 2.44e-05\n",
+ "Variance: 0.041\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012204488 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04097059 0.03876631 0.03908235 0.03833396]\n",
+ "FIT: 0.7553907648238872 2.713759113921652 0.02142171068949378 0.11942879467920367\n",
+ "***** Episode 257243, Mean R = -2.9 Std R = 5.6 Min R = -32.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -7.27\n",
+ "PolicyLoss: -0.00205\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.07e+07\n",
+ "ValFuncLoss: 1.1e-05\n",
+ "Variance: 0.041\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011691925 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0409121 0.0387459 0.0391452 0.03831896]\n",
+ "FIT: 0.4859158962057007 2.424274651834409 0.020155298000443883 0.1166881260846662\n",
+ "***** Episode 257364, Mean R = -2.2 Std R = 4.4 Min R = -15.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -7.27\n",
+ "PolicyLoss: -0.00256\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.08e+07\n",
+ "ValFuncLoss: 1.05e-05\n",
+ "Variance: 0.0409\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010372784 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04088397 0.03879529 0.03912343 0.03833762]\n",
+ "FIT: 0.5421520762944282 2.7019809012087186 0.019955736718442054 0.11666384324020075\n",
+ "***** Episode 257485, Mean R = -2.0 Std R = 4.7 Min R = -18.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -7.27\n",
+ "PolicyLoss: -0.00262\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.08e+07\n",
+ "ValFuncLoss: 1.31e-05\n",
+ "Variance: 0.0409\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001163832 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04086832 0.03876783 0.03905412 0.03831525]\n",
+ "FIT: 0.5828358897179329 2.777134875867469 0.0211052719286147 0.11836312494985839\n",
+ "***** Episode 257606, Mean R = -3.0 Std R = 5.0 Min R = -23.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -7.28\n",
+ "PolicyLoss: -0.0025\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.09e+07\n",
+ "ValFuncLoss: 3.76e-05\n",
+ "Variance: 0.0409\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001337426 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04086507 0.03874657 0.03893353 0.03828815]\n",
+ "FIT: 0.6580731004052605 2.6480295446818185 0.02146352049315122 0.12095213554711012\n",
+ "***** Episode 257727, Mean R = -2.8 Std R = 5.9 Min R = -30.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.00134\n",
+ "PolicyEntropy: -7.28\n",
+ "PolicyLoss: -0.00294\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 7.09e+07\n",
+ "ValFuncLoss: 1.26e-05\n",
+ "Variance: 0.0409\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009711299 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04084139 0.03880135 0.03888044 0.03821247]\n",
+ "FIT: 0.5962567296910015 2.4955849557431007 0.021251958631926315 0.12104124425863512\n",
+ "***** Episode 257848, Mean R = -3.0 Std R = 4.7 Min R = -19.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.000971\n",
+ "PolicyEntropy: -7.28\n",
+ "PolicyLoss: -0.00281\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.09e+07\n",
+ "ValFuncLoss: 2.21e-05\n",
+ "Variance: 0.0408\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010143709 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04076804 0.03871743 0.03882099 0.03809321]\n",
+ "FIT: 0.5374055683456549 2.4950671943964804 0.02009467378002653 0.12145958667409888\n",
+ "***** Episode 257969, Mean R = -2.3 Std R = 4.6 Min R = -16.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.997\n",
+ "ExplainedVarOld: 0.993\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -7.29\n",
+ "PolicyLoss: -0.00263\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 7.1e+07\n",
+ "ValFuncLoss: 8.35e-06\n",
+ "Variance: 0.0408\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011294675 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04081545 0.03866838 0.03890314 0.03814424]\n",
+ "FIT: 1.050623241387775 2.750124510165263 0.021882252483636958 0.12020575618487325\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 258090, Mean R = -3.4 Std R = 7.2 Min R = -46.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.921\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -7.29\n",
+ "PolicyLoss: -0.00185\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.1e+07\n",
+ "ValFuncLoss: 2.86e-05\n",
+ "Variance: 0.0408\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011943027 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04080879 0.03862518 0.03891353 0.03820985]\n",
+ "FIT: 0.518364419586686 2.7198393091357187 0.02061373871664839 0.1173780786488532\n",
+ "Update Cnt = 1970 ET = 1021.4 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.4 -0.0 | 1.0 1.0 0.0 | -3.9 -4.8 -0.1 | 3.5 3.4 -0.0\n",
+ "v_f | 0.03 -0.07 -0.94 | 0.06 0.07 0.14 | -0.32 -0.41 -1.38 | 0.30 0.18 -0.49\n",
+ "r_i | 1007.1 9.7 2351.3 | 576.3 572.0 28.8 | 1.2 -999.0 2300.0 | 1999.2 998.8 2399.9\n",
+ "v_i | -40.27 0.11 -79.98 | 17.38 17.42 5.91 | -70.00 -29.98 -89.98 | -10.00 29.98 -70.04\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 5.2\n",
+ "norm_vf | 0.95 | 0.14 | 0.52 | 1.38\n",
+ "gs_f | 27.9 | 56.9 | 3.7 | 1804.9\n",
+ "thrust | 1234 1 9235 | 2930 2890 1997 | -15666 -17003 2000 | 16616 16847 19999\n",
+ "norm_thrust | 9897 | 3127 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 260 | 347\n",
+ "rewards | -2.64 | 5.22 | -46.90 | 4.05\n",
+ "fuel_rewards | -7.53 | 0.40 | -8.95 | -6.71\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.51 | 0.52 | 0.60 | 5.41\n",
+ "norm_af | 0.03 | 0.02 | 0.00 | 0.14\n",
+ "norm_wf | 0.10 | 0.06 | 0.00 | 0.37\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.80 | -22.41 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 0.00 | 0.35 0.21 0.20 | -1.21 -0.87 -1.03 | 1.47 1.06 1.10\n",
+ "w | -0.00 -0.01 -0.00 | 0.19 0.19 0.01 | -1.71 -2.46 -0.07 | 1.90 1.53 0.11\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.11 -0.11 | 0.11 0.13\n",
+ "w_f | -0.00 -0.01 0.00 | 0.09 0.08 0.02 | -0.35 -0.29 -0.07 | 0.29 0.25 0.11\n",
+ "landing_rewards | 9.83 | 1.31 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.07 | -0.19 | 1.28\n",
+ "tracking_rewards | -4.87 | 4.63 | -32.04 | 1.19\n",
+ "steps | 304 | 24 | 249 | 388\n",
+ "***** Episode 258211, Mean R = -2.4 Std R = 4.4 Min R = -18.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.993\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -7.29\n",
+ "PolicyLoss: -0.00263\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 7.1e+07\n",
+ "ValFuncLoss: 1.06e-05\n",
+ "Variance: 0.0408\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012211689 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04068334 0.03851469 0.03881897 0.03806749]\n",
+ "FIT: 0.5629447418873568 2.5344520213528794 0.01974984488858924 0.11773536459190824\n",
+ "***** Episode 258332, Mean R = -2.1 Std R = 4.9 Min R = -23.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.974\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -7.3\n",
+ "PolicyLoss: -0.00218\n",
+ "Steps: 3.73e+04\n",
+ "TotalSteps: 7.11e+07\n",
+ "ValFuncLoss: 1.43e-05\n",
+ "Variance: 0.0407\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011171796 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04059904 0.03843995 0.03879654 0.03814669]\n",
+ "FIT: 0.4561501248961503 2.3799053294245796 0.020788525277348306 0.11966527929113667\n",
+ "***** Episode 258453, Mean R = -2.7 Std R = 4.9 Min R = -20.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -7.3\n",
+ "PolicyLoss: -0.0027\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.11e+07\n",
+ "ValFuncLoss: 2.31e-05\n",
+ "Variance: 0.0406\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013764664 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04059336 0.03839553 0.03877503 0.0382175 ]\n",
+ "FIT: 0.6314290652403068 2.7413692805480148 0.02280875049484263 0.12360581348309096\n",
+ "***** Episode 258574, Mean R = -3.7 Std R = 6.2 Min R = -26.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00138\n",
+ "PolicyEntropy: -7.3\n",
+ "PolicyLoss: -0.00279\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 7.12e+07\n",
+ "ValFuncLoss: 2.93e-05\n",
+ "Variance: 0.0406\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010359361 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04062099 0.03852576 0.03876707 0.03821348]\n",
+ "FIT: 0.560064568909649 2.633948489793755 0.019101098042998903 0.11562777851634258\n",
+ "***** Episode 258695, Mean R = -1.6 Std R = 5.0 Min R = -30.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -7.3\n",
+ "PolicyLoss: -0.00294\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 7.12e+07\n",
+ "ValFuncLoss: 1.3e-05\n",
+ "Variance: 0.0406\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0015348665 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04053658 0.0385875 0.03881107 0.03821671]\n",
+ "FIT: 0.6288798361539263 2.756632668184379 0.02153005018333956 0.12224915843087243\n",
+ "***** Episode 258816, Mean R = -3.2 Std R = 5.6 Min R = -26.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.972\n",
+ "KL: 0.00153\n",
+ "PolicyEntropy: -7.3\n",
+ "PolicyLoss: -0.00209\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.12e+07\n",
+ "ValFuncLoss: 3.95e-05\n",
+ "Variance: 0.0405\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013245696 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04053681 0.03854828 0.03882349 0.03825887]\n",
+ "FIT: 0.5564551824297661 2.6665924040173787 0.020947275043857 0.11611006726975726\n",
+ "***** Episode 258937, Mean R = -2.6 Std R = 4.9 Min R = -22.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.00132\n",
+ "PolicyEntropy: -7.3\n",
+ "PolicyLoss: -0.00248\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.13e+07\n",
+ "ValFuncLoss: 1.42e-05\n",
+ "Variance: 0.0405\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013881121 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04042152 0.03856157 0.03885742 0.03822991]\n",
+ "FIT: 0.5058497082971101 2.451475479440495 0.02007339507968933 0.11665903552695847\n",
+ "***** Episode 259058, Mean R = -2.3 Std R = 4.7 Min R = -18.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00139\n",
+ "PolicyEntropy: -7.3\n",
+ "PolicyLoss: -0.0022\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.13e+07\n",
+ "ValFuncLoss: 2.65e-05\n",
+ "Variance: 0.0404\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011026341 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04036514 0.03854203 0.03875453 0.03821313]\n",
+ "FIT: 0.6285110581429848 2.4722296916440065 0.020073952047238636 0.11791236680964585\n",
+ "***** Episode 259179, Mean R = -2.4 Std R = 5.0 Min R = -26.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -7.31\n",
+ "PolicyLoss: -0.00217\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 7.13e+07\n",
+ "ValFuncLoss: 2.58e-05\n",
+ "Variance: 0.0404\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012649563 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04035512 0.03851938 0.03868191 0.03816041]\n",
+ "FIT: 0.45389267300369307 2.343960899488723 0.01914983184620605 0.1168247567753486\n",
+ "***** Episode 259300, Mean R = -1.8 Std R = 4.3 Min R = -22.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00126\n",
+ "PolicyEntropy: -7.31\n",
+ "PolicyLoss: -0.00226\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 7.14e+07\n",
+ "ValFuncLoss: 2.86e-05\n",
+ "Variance: 0.0404\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013884787 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04043384 0.03850978 0.03868296 0.03816913]\n",
+ "FIT: 0.6679522780301292 2.5979434541020376 0.02146375566468377 0.12139673137557137\n",
+ "Update Cnt = 1980 ET = 1024.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.0 1.0 0.0 | -4.6 -5.1 -0.1 | 3.6 5.2 -0.0\n",
+ "v_f | 0.03 -0.07 -0.94 | 0.06 0.08 0.15 | -0.70 -1.34 -1.36 | 0.28 0.23 -0.29\n",
+ "r_i | 1009.3 -3.8 2348.9 | 568.0 586.5 28.0 | 0.2 -999.5 2300.1 | 1997.8 999.6 2400.0\n",
+ "v_i | -39.76 0.07 -79.91 | 17.25 17.41 5.73 | -70.00 -29.92 -89.99 | -10.01 29.99 -70.02\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 5.6\n",
+ "norm_vf | 0.95 | 0.14 | 0.30 | 1.87\n",
+ "gs_f | 28.9 | 46.6 | 0.4 | 792.1\n",
+ "thrust | 1212 4 9214 | 2880 2870 2004 | -15539 -17530 2000 | 16639 16650 19999\n",
+ "norm_thrust | 9860 | 3114 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 262 | 373\n",
+ "rewards | -2.54 | 5.15 | -30.15 | 4.08\n",
+ "fuel_rewards | -7.52 | 0.39 | -9.62 | -6.75\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.51 | 0.50 | 0.42 | 4.33\n",
+ "norm_af | 0.03 | 0.03 | 0.00 | 0.80\n",
+ "norm_wf | 0.11 | 0.06 | 0.00 | 0.70\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.55 | -9.69 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "attitude | 0.02 0.12 0.00 | 0.35 0.21 0.19 | -1.39 -0.88 -1.10 | 2.07 1.06 1.13\n",
+ "w | -0.00 -0.01 0.00 | 0.19 0.19 0.01 | -1.81 -2.42 -0.08 | 2.10 1.40 0.22\n",
+ "a_f | -0.01 -0.00 | 0.03 0.04 | -0.10 -0.74 | 0.31 0.12\n",
+ "w_f | -0.01 -0.01 0.00 | 0.09 0.08 0.02 | -0.31 -0.27 -0.08 | 0.39 0.54 0.22\n",
+ "landing_rewards | 9.69 | 1.72 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.16 | -0.19 | 4.56\n",
+ "tracking_rewards | -4.65 | 4.49 | -28.67 | 1.15\n",
+ "steps | 304 | 24 | 250 | 399\n",
+ "***** Episode 259421, Mean R = -3.1 Std R = 5.4 Min R = -21.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00139\n",
+ "PolicyEntropy: -7.31\n",
+ "PolicyLoss: -0.00225\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 7.14e+07\n",
+ "ValFuncLoss: 2.75e-05\n",
+ "Variance: 0.0404\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00107991 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04041084 0.03839257 0.03858795 0.03815129]\n",
+ "FIT: 0.5967849402836487 2.402681560245001 0.020888999639986777 0.12342887982032531\n",
+ "***** Episode 259542, Mean R = -2.9 Std R = 5.0 Min R = -18.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -7.31\n",
+ "PolicyLoss: -0.00313\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 7.14e+07\n",
+ "ValFuncLoss: 1.59e-05\n",
+ "Variance: 0.0404\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011502157 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04037951 0.03832425 0.03846651 0.03808603]\n",
+ "FIT: 0.7352159891555972 2.6789560272017394 0.021449553182146117 0.11988200627269173\n",
+ "***** Episode 259663, Mean R = -3.1 Std R = 6.1 Min R = -32.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00115\n",
+ "PolicyEntropy: -7.32\n",
+ "PolicyLoss: -0.0023\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.15e+07\n",
+ "ValFuncLoss: 3.9e-05\n",
+ "Variance: 0.0404\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013071419 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04039561 0.03820781 0.03844364 0.03790787]\n",
+ "FIT: 0.6983507469732451 2.770898372128259 0.0230788933267392 0.12210168843604689\n",
+ "***** Episode 259784, Mean R = -3.8 Std R = 6.0 Min R = -28.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00131\n",
+ "PolicyEntropy: -7.33\n",
+ "PolicyLoss: -0.00264\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.15e+07\n",
+ "ValFuncLoss: 2.16e-05\n",
+ "Variance: 0.0404\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011868714 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04039723 0.0381856 0.03847487 0.03774878]\n",
+ "FIT: 0.7439150928613658 2.4329149742317036 0.019525881969070537 0.11722212730000692\n",
+ "***** Episode 259905, Mean R = -2.2 Std R = 4.7 Min R = -23.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -7.33\n",
+ "PolicyLoss: -0.00236\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 7.16e+07\n",
+ "ValFuncLoss: 2.36e-05\n",
+ "Variance: 0.0404\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012169871 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04048068 0.03824743 0.038518 0.03770237]\n",
+ "FIT: 0.4693666630181539 2.4351742669034464 0.018564151630944853 0.11489226827244865\n",
+ "***** Episode 260026, Mean R = -1.6 Std R = 3.7 Min R = -14.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -7.33\n",
+ "PolicyLoss: -0.00238\n",
+ "Steps: 3.73e+04\n",
+ "TotalSteps: 7.16e+07\n",
+ "ValFuncLoss: 2.22e-05\n",
+ "Variance: 0.0405\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012526966 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0404542 0.03819666 0.03848442 0.03767363]\n",
+ "FIT: 0.7666608374147583 2.6780572158535407 0.02119719784359271 0.11896146194769516\n",
+ "***** Episode 260147, Mean R = -3.0 Std R = 5.9 Min R = -25.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00125\n",
+ "PolicyEntropy: -7.33\n",
+ "PolicyLoss: -0.00271\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.16e+07\n",
+ "ValFuncLoss: 3.45e-05\n",
+ "Variance: 0.0405\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010911509 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04038418 0.03818856 0.03842355 0.03764791]\n",
+ "FIT: 0.9511967871077306 2.7236660328466886 0.020755471325049124 0.12223784959724333\n",
+ "***** Episode 260268, Mean R = -2.8 Std R = 6.6 Min R = -50.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.96\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -7.34\n",
+ "PolicyLoss: -0.00157\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 7.17e+07\n",
+ "ValFuncLoss: 2.72e-05\n",
+ "Variance: 0.0404\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013548158 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04034759 0.03830492 0.03837881 0.03759844]\n",
+ "FIT: 1.0536996920433463 2.7605369903949377 0.021079598868155736 0.11827990397983518\n",
+ "***** Episode 260389, Mean R = -3.0 Std R = 6.5 Min R = -41.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00135\n",
+ "PolicyEntropy: -7.34\n",
+ "PolicyLoss: -0.00254\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 7.17e+07\n",
+ "ValFuncLoss: 3.08e-05\n",
+ "Variance: 0.0403\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012408709 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04033524 0.03826301 0.03838042 0.03745789]\n",
+ "FIT: 0.5709553344987683 2.6819120974436528 0.02061294102742168 0.11866832865994244\n",
+ "***** Episode 260510, Mean R = -2.4 Std R = 5.3 Min R = -21.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -7.34\n",
+ "PolicyLoss: -0.00292\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 7.17e+07\n",
+ "ValFuncLoss: 1.49e-05\n",
+ "Variance: 0.0403\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0008692083 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04036311 0.03824343 0.03830393 0.03729212]\n",
+ "FIT: 0.5408062686272075 2.5744878005468954 0.02112020807228586 0.12078544726736343\n",
+ "Update Cnt = 1990 ET = 1026.6 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.2 -0.3 -0.0 | 1.0 1.0 0.0 | -4.3 -4.2 -0.1 | 4.1 3.5 -0.0\n",
+ "v_f | 0.03 -0.07 -0.94 | 0.06 0.07 0.15 | -0.22 -0.30 -1.37 | 0.28 0.24 -0.08\n",
+ "r_i | 1040.8 1.6 2350.4 | 570.4 577.4 28.5 | 0.7 -993.7 2300.1 | 1999.1 997.0 2400.0\n",
+ "v_i | -39.81 -0.42 -80.05 | 17.39 17.85 5.71 | -69.92 -30.00 -89.97 | -10.15 30.00 -70.00\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 4.8\n",
+ "norm_vf | 0.95 | 0.14 | 0.26 | 1.37\n",
+ "gs_f | 26.9 | 39.4 | 4.3 | 1014.4\n",
+ "thrust | 1211 18 9220 | 2886 2914 2011 | -15354 -18375 1664 | 16737 16690 19999\n",
+ "norm_thrust | 9876 | 3131 | 3464 | 20000\n",
+ "fuel | 292 | 16 | 259 | 364\n",
+ "rewards | -2.73 | 5.57 | -50.24 | 4.05\n",
+ "fuel_rewards | -7.54 | 0.40 | -9.38 | -6.67\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.49 | 0.50 | 0.51 | 4.77\n",
+ "norm_af | 0.03 | 0.02 | 0.00 | 0.14\n",
+ "norm_wf | 0.10 | 0.06 | 0.01 | 0.48\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.09 | 0.93 | -20.53 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.12 -0.00 | 0.35 0.20 0.20 | -1.20 -0.92 -1.02 | 1.44 1.12 1.26\n",
+ "w | 0.00 -0.01 -0.00 | 0.19 0.20 0.01 | -1.66 -2.42 -0.08 | 2.05 1.46 0.14\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.10 -0.12 | 0.09 0.11\n",
+ "w_f | -0.00 -0.01 0.00 | 0.09 0.08 0.02 | -0.46 -0.28 -0.07 | 0.33 0.30 0.14\n",
+ "landing_rewards | 9.74 | 1.60 | 0.00 | 10.00\n",
+ "landing_margin | -0.11 | 0.06 | -0.19 | 0.68\n",
+ "tracking_rewards | -4.83 | 4.78 | -32.87 | 1.12\n",
+ "steps | 305 | 25 | 245 | 390\n",
+ "***** Episode 260631, Mean R = -2.7 Std R = 5.1 Min R = -18.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.998\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.000869\n",
+ "PolicyEntropy: -7.35\n",
+ "PolicyLoss: -0.00285\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 7.18e+07\n",
+ "ValFuncLoss: 5.12e-06\n",
+ "Variance: 0.0404\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011563762 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04037234 0.03825928 0.03828008 0.03710743]\n",
+ "FIT: 0.8006926501202274 2.5729549857157545 0.021874144416414783 0.12005214362339804\n",
+ "***** Episode 260752, Mean R = -3.2 Std R = 5.6 Min R = -32.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.968\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -7.35\n",
+ "PolicyLoss: -0.00191\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.18e+07\n",
+ "ValFuncLoss: 2.2e-05\n",
+ "Variance: 0.0404\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0015552326 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04034194 0.03833949 0.03827072 0.03705087]\n",
+ "FIT: 0.5096018373709471 2.564613925920242 0.020884986169020077 0.12093572766466261\n",
+ "***** Episode 260873, Mean R = -2.6 Std R = 4.8 Min R = -17.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.997\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00156\n",
+ "PolicyEntropy: -7.35\n",
+ "PolicyLoss: -0.00291\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.19e+07\n",
+ "ValFuncLoss: 7.82e-06\n",
+ "Variance: 0.0403\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012155685 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04029235 0.03833198 0.0382596 0.03701888]\n",
+ "FIT: 0.6212640094940018 2.657567203267875 0.020706544832242168 0.1189779424727855\n",
+ "***** Episode 260994, Mean R = -2.6 Std R = 5.0 Min R = -23.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -7.36\n",
+ "PolicyLoss: -0.00291\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 7.19e+07\n",
+ "ValFuncLoss: 1.11e-05\n",
+ "Variance: 0.0403\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0008496416 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0402796 0.03831908 0.03820271 0.03701095]\n",
+ "FIT: 0.43987632297893847 2.32236939040272 0.019567730469803552 0.11821249841687845\n",
+ "***** Episode 261115, Mean R = -1.8 Std R = 3.9 Min R = -12.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.998\n",
+ "ExplainedVarOld: 0.997\n",
+ "KL: 0.00085\n",
+ "PolicyEntropy: -7.36\n",
+ "PolicyLoss: -0.00319\n",
+ "Steps: 3.70e+04\n",
+ "TotalSteps: 7.19e+07\n",
+ "ValFuncLoss: 3.97e-06\n",
+ "Variance: 0.0403\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012177487 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04030818 0.03835644 0.0382076 0.03703266]\n",
+ "FIT: 0.5744804996531901 2.749570152057177 0.021327536619045517 0.12072680762927214\n",
+ "***** Episode 261236, Mean R = -3.1 Std R = 5.5 Min R = -28.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -7.36\n",
+ "PolicyLoss: -0.00246\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 7.2e+07\n",
+ "ValFuncLoss: 2.64e-05\n",
+ "Variance: 0.0403\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ " *** BROKE ***\n",
+ "kl = 0.004018181 beta = 0.06666666666666667 lr_mult = 0.2962962962962963\n",
+ "var: [0.04028148 0.03838545 0.03820982 0.03702269]\n",
+ "FIT: 0.5004984843537029 2.5918583397003645 0.021653576299772388 0.12109840253384288\n",
+ "***** Episode 261357, Mean R = -3.2 Std R = 5.2 Min R = -25.3\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00402\n",
+ "PolicyEntropy: -7.36\n",
+ "PolicyLoss: 0.000652\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 7.2e+07\n",
+ "ValFuncLoss: 2.77e-05\n",
+ "Variance: 0.0403\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00055077294 beta = 0.06666666666666667 lr_mult = 0.2962962962962963\n",
+ "var: [0.04024389 0.03840347 0.03814584 0.03706472]\n",
+ "FIT: 0.7403407989013517 2.5324648171298465 0.02123861583383344 0.12034485590726082\n",
+ "***** Episode 261478, Mean R = -2.7 Std R = 5.5 Min R = -33.9\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.000551\n",
+ "PolicyEntropy: -7.36\n",
+ "PolicyLoss: -0.00143\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.2e+07\n",
+ "ValFuncLoss: 1.35e-05\n",
+ "Variance: 0.0402\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00086929713 beta = 0.06666666666666667 lr_mult = 0.2962962962962963\n",
+ "var: [0.04021916 0.03838928 0.03811967 0.0371029 ]\n",
+ "FIT: 0.4999459099081324 2.5889544268003557 0.02072533751040015 0.118033272542992\n",
+ "***** Episode 261599, Mean R = -2.5 Std R = 5.0 Min R = -19.6\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.000869\n",
+ "PolicyEntropy: -7.36\n",
+ "PolicyLoss: -0.00131\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.21e+07\n",
+ "ValFuncLoss: 1.22e-05\n",
+ "Variance: 0.0402\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00054041186 beta = 0.06666666666666667 lr_mult = 0.2962962962962963\n",
+ "var: [0.04013656 0.03840919 0.03804818 0.03708614]\n",
+ "FIT: 0.5751372102122068 2.562667554131645 0.020416814631639767 0.12046598443001513\n",
+ "***** Episode 261720, Mean R = -2.5 Std R = 4.5 Min R = -24.3\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00054\n",
+ "PolicyEntropy: -7.36\n",
+ "PolicyLoss: -0.00157\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 7.21e+07\n",
+ "ValFuncLoss: 2.5e-05\n",
+ "Variance: 0.0401\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0006443412 beta = 0.06666666666666667 lr_mult = 0.2962962962962963\n",
+ "var: [0.04005422 0.03847568 0.03798489 0.0370717 ]\n",
+ "FIT: 0.5433287174689103 2.6994285408806613 0.02067622400717442 0.11790598771235694\n",
+ "Update Cnt = 2000 ET = 1022.1 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.0 1.0 0.0 | -5.1 -3.6 -0.1 | 3.8 4.2 -0.0\n",
+ "v_f | 0.03 -0.07 -0.94 | 0.06 0.07 0.14 | -0.25 -0.39 -1.35 | 0.29 0.17 -0.37\n",
+ "r_i | 1008.8 25.8 2349.7 | 588.4 565.8 28.4 | 0.2 -998.1 2300.0 | 1999.1 995.7 2400.0\n",
+ "v_i | -40.18 0.36 -79.92 | 17.27 17.21 5.82 | -69.86 -29.97 -90.00 | -10.01 29.98 -70.00\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 5.7\n",
+ "norm_vf | 0.95 | 0.14 | 0.40 | 1.35\n",
+ "gs_f | 28.3 | 35.3 | 4.1 | 832.0\n",
+ "thrust | 1230 -9 9236 | 2924 2910 1996 | -14805 -17118 2000 | 16666 16914 19999\n",
+ "norm_thrust | 9903 | 3125 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 261 | 351\n",
+ "rewards | -2.67 | 5.08 | -33.86 | 3.94\n",
+ "fuel_rewards | -7.54 | 0.40 | -9.06 | -6.71\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.50 | 0.51 | 0.57 | 4.76\n",
+ "norm_af | 0.03 | 0.02 | 0.00 | 0.13\n",
+ "norm_wf | 0.11 | 0.06 | 0.01 | 0.37\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.08 | 0.71 | -13.86 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.12 -0.00 | 0.35 0.21 0.20 | -1.13 -0.88 -1.08 | 1.58 1.04 1.06\n",
+ "w | -0.00 -0.01 -0.00 | 0.19 0.19 0.01 | -1.71 -2.62 -0.12 | 2.25 1.48 0.12\n",
+ "a_f | -0.01 0.00 | 0.02 0.03 | -0.11 -0.12 | 0.09 0.11\n",
+ "w_f | -0.01 -0.01 0.00 | 0.09 0.08 0.02 | -0.35 -0.32 -0.11 | 0.30 0.27 0.12\n",
+ "landing_rewards | 9.85 | 1.21 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.06 | -0.19 | 0.87\n",
+ "tracking_rewards | -4.91 | 4.51 | -25.46 | 1.03\n",
+ "steps | 304 | 24 | 252 | 391\n",
+ "***** Episode 261841, Mean R = -2.6 Std R = 5.3 Min R = -23.1\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.000644\n",
+ "PolicyEntropy: -7.36\n",
+ "PolicyLoss: -0.00155\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.21e+07\n",
+ "ValFuncLoss: 2.34e-05\n",
+ "Variance: 0.0401\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00059485773 beta = 0.06666666666666667 lr_mult = 0.2962962962962963\n",
+ "var: [0.04012309 0.03846221 0.03799329 0.03704882]\n",
+ "FIT: 0.4721142149296315 2.3086280300925646 0.019843456803614358 0.11745488264499249\n",
+ "***** Episode 261962, Mean R = -2.1 Std R = 4.6 Min R = -21.3\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.000595\n",
+ "PolicyEntropy: -7.36\n",
+ "PolicyLoss: -0.0016\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 7.22e+07\n",
+ "ValFuncLoss: 3.12e-05\n",
+ "Variance: 0.0401\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00050789095 beta = 0.06666666666666667 lr_mult = 0.2962962962962963\n",
+ "var: [0.0401023 0.03843404 0.03802165 0.03707717]\n",
+ "FIT: 0.5316229041973652 2.6448121649323006 0.020032193010220845 0.11938312400667177\n",
+ "***** Episode 262083, Mean R = -2.2 Std R = 4.5 Min R = -19.8\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.000508\n",
+ "PolicyEntropy: -7.36\n",
+ "PolicyLoss: -0.00174\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 7.22e+07\n",
+ "ValFuncLoss: 1.46e-05\n",
+ "Variance: 0.0401\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00041770397 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04010787 0.03841328 0.03808581 0.03711984]\n",
+ "FIT: 0.687148208508958 2.69784720571435 0.022541669989957495 0.12040603382128191\n",
+ "***** Episode 262204, Mean R = -3.4 Std R = 6.6 Min R = -37.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.000418\n",
+ "PolicyEntropy: -7.36\n",
+ "PolicyLoss: -0.00166\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 7.23e+07\n",
+ "ValFuncLoss: 1.87e-05\n",
+ "Variance: 0.0401\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012471905 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04014985 0.03842755 0.03820571 0.03717956]\n",
+ "FIT: 0.5177797446976025 2.7392935466313086 0.020683310801005966 0.12092445239603802\n",
+ "***** Episode 262325, Mean R = -2.5 Std R = 4.7 Min R = -18.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00125\n",
+ "PolicyEntropy: -7.36\n",
+ "PolicyLoss: -0.00236\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 7.23e+07\n",
+ "ValFuncLoss: 8.33e-06\n",
+ "Variance: 0.0401\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0014468041 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04016252 0.03847003 0.03826024 0.03722106]\n",
+ "FIT: 0.6449454059961789 2.578301295382576 0.0216283496027061 0.11933022115298403\n",
+ "***** Episode 262446, Mean R = -3.2 Std R = 6.2 Min R = -28.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.00145\n",
+ "PolicyEntropy: -7.35\n",
+ "PolicyLoss: -0.00251\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.23e+07\n",
+ "ValFuncLoss: 4.02e-05\n",
+ "Variance: 0.0402\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012202463 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04014444 0.03855553 0.03832682 0.03722732]\n",
+ "FIT: 0.4629197821601978 2.532267216332711 0.019884975201025574 0.12046854710675013\n",
+ "***** Episode 262567, Mean R = -2.2 Std R = 4.8 Min R = -19.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -7.35\n",
+ "PolicyLoss: -0.00249\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.24e+07\n",
+ "ValFuncLoss: 2.79e-05\n",
+ "Variance: 0.0401\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00091039226 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04013656 0.0385599 0.03830624 0.03723519]\n",
+ "FIT: 0.6226766531475716 2.6212922112524426 0.019962435951247248 0.11835994531614748\n",
+ "***** Episode 262688, Mean R = -2.2 Std R = 5.2 Min R = -23.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00091\n",
+ "PolicyEntropy: -7.35\n",
+ "PolicyLoss: -0.0021\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 7.24e+07\n",
+ "ValFuncLoss: 1.76e-05\n",
+ "Variance: 0.0401\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0015028478 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04008708 0.03859156 0.03821175 0.03723093]\n",
+ "FIT: 0.5791275322704118 2.7953337337906246 0.02020783991740894 0.11902204277895523\n",
+ "***** Episode 262809, Mean R = -2.3 Std R = 4.7 Min R = -21.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.0015\n",
+ "PolicyEntropy: -7.35\n",
+ "PolicyLoss: -0.00229\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 7.24e+07\n",
+ "ValFuncLoss: 1.53e-05\n",
+ "Variance: 0.0401\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011331212 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04015049 0.03854534 0.03814943 0.03727188]\n",
+ "FIT: 0.6437476528981929 2.5211534547914907 0.02148497133930814 0.11881205606565655\n",
+ "***** Episode 262930, Mean R = -3.1 Std R = 6.3 Min R = -28.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -7.35\n",
+ "PolicyLoss: -0.00234\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 7.25e+07\n",
+ "ValFuncLoss: 4.15e-05\n",
+ "Variance: 0.0402\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001094499 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04017603 0.03851094 0.03821911 0.03726567]\n",
+ "FIT: 0.576137883085111 2.4705358160027138 0.022094389934383077 0.11901212210055022\n",
+ "Update Cnt = 2010 ET = 1014.9 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.0 1.0 0.0 | -3.7 -6.2 -0.1 | 3.4 4.3 -0.0\n",
+ "v_f | 0.03 -0.07 -0.94 | 0.06 0.08 0.14 | -0.53 -0.47 -1.37 | 0.37 0.27 -0.41\n",
+ "r_i | 991.8 -12.8 2349.0 | 578.9 573.5 29.5 | 1.6 -997.6 2300.0 | 1997.8 999.1 2400.0\n",
+ "v_i | -40.57 -0.36 -80.22 | 17.07 17.36 5.78 | -69.97 -29.99 -90.00 | -10.01 29.98 -70.00\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 6.3\n",
+ "norm_vf | 0.94 | 0.13 | 0.46 | 1.37\n",
+ "gs_f | 27.9 | 42.8 | 3.7 | 1223.2\n",
+ "thrust | 1249 19 9260 | 2910 2908 1995 | -15721 -16733 2000 | 16699 16988 19996\n",
+ "norm_thrust | 9921 | 3129 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 261 | 354\n",
+ "rewards | -2.66 | 5.39 | -37.73 | 4.10\n",
+ "fuel_rewards | -7.52 | 0.38 | -9.14 | -6.73\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.54 | 0.56 | 0.66 | 5.04\n",
+ "norm_af | 0.03 | 0.02 | 0.00 | 0.20\n",
+ "norm_wf | 0.11 | 0.06 | 0.00 | 0.45\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.59 | -9.81 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 -0.00 | 0.35 0.21 0.20 | -1.44 -1.03 -1.03 | 1.39 1.05 1.00\n",
+ "w | -0.00 -0.01 0.00 | 0.19 0.19 0.01 | -1.80 -2.50 -0.08 | 2.08 1.51 0.12\n",
+ "a_f | -0.01 0.00 | 0.03 0.03 | -0.14 -0.18 | 0.15 0.20\n",
+ "w_f | -0.01 -0.01 0.00 | 0.09 0.08 0.02 | -0.35 -0.35 -0.08 | 0.39 0.29 0.11\n",
+ "landing_rewards | 9.72 | 1.65 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.09 | -0.19 | 1.35\n",
+ "tracking_rewards | -4.78 | 4.61 | -30.25 | 1.24\n",
+ "steps | 302 | 24 | 249 | 395\n",
+ "***** Episode 263051, Mean R = -3.4 Std R = 5.5 Min R = -22.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -7.35\n",
+ "PolicyLoss: -0.00211\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 7.25e+07\n",
+ "ValFuncLoss: 2.93e-05\n",
+ "Variance: 0.0402\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009324776 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0400944 0.03848684 0.03821312 0.03726133]\n",
+ "FIT: 0.5889941171103671 2.5903513242993776 0.020357442061887557 0.11903013510023239\n",
+ "***** Episode 263172, Mean R = -2.3 Std R = 5.1 Min R = -21.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.997\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.000932\n",
+ "PolicyEntropy: -7.35\n",
+ "PolicyLoss: -0.00259\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 7.25e+07\n",
+ "ValFuncLoss: 7.21e-06\n",
+ "Variance: 0.0401\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010002678 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04003426 0.03842304 0.03814474 0.03725125]\n",
+ "FIT: 0.5608796126173308 2.7825009335983366 0.02194651061178618 0.12170487550692995\n",
+ "***** Episode 263293, Mean R = -3.1 Std R = 4.8 Min R = -22.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.001\n",
+ "PolicyEntropy: -7.36\n",
+ "PolicyLoss: -0.00259\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 7.26e+07\n",
+ "ValFuncLoss: 1.43e-05\n",
+ "Variance: 0.04\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010503887 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04001015 0.03834946 0.03811058 0.03724913]\n",
+ "FIT: 0.4949403291978213 2.5564503999663044 0.020340760523916767 0.11946142509150591\n",
+ "***** Episode 263414, Mean R = -2.8 Std R = 5.8 Min R = -22.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.973\n",
+ "ExplainedVarOld: 0.962\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -7.36\n",
+ "PolicyLoss: -0.00225\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.26e+07\n",
+ "ValFuncLoss: 5.77e-05\n",
+ "Variance: 0.04\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013015432 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04005308 0.03827897 0.03813502 0.0373203 ]\n",
+ "FIT: 0.47655562467039736 2.6294496589151866 0.020833946968247065 0.11807108553700914\n",
+ "***** Episode 263535, Mean R = -2.5 Std R = 4.8 Min R = -16.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.0013\n",
+ "PolicyEntropy: -7.36\n",
+ "PolicyLoss: -0.00228\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 7.27e+07\n",
+ "ValFuncLoss: 1.85e-05\n",
+ "Variance: 0.0401\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011229372 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04012432 0.03825615 0.03812677 0.03727371]\n",
+ "FIT: 0.4791215411106649 2.504659015390247 0.02004558267943607 0.11792267981539044\n",
+ "***** Episode 263656, Mean R = -2.1 Std R = 4.4 Min R = -16.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -7.36\n",
+ "PolicyLoss: -0.00287\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 7.27e+07\n",
+ "ValFuncLoss: 1.21e-05\n",
+ "Variance: 0.0401\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0014407075 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.040126 0.03824491 0.03815416 0.03715342]\n",
+ "FIT: 0.6934874375590708 2.783217478228961 0.021219171777346297 0.11990690447773568\n",
+ "***** Episode 263777, Mean R = -2.8 Std R = 5.8 Min R = -26.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00144\n",
+ "PolicyEntropy: -7.36\n",
+ "PolicyLoss: -0.00304\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.27e+07\n",
+ "ValFuncLoss: 1.56e-05\n",
+ "Variance: 0.0401\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010478366 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04005931 0.03824681 0.03810861 0.0371096 ]\n",
+ "FIT: 0.6156829917156591 2.6829173777959188 0.021492582841220458 0.12097126305140624\n",
+ "***** Episode 263898, Mean R = -2.7 Std R = 6.1 Min R = -26.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.998\n",
+ "ExplainedVarOld: 0.996\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -7.37\n",
+ "PolicyLoss: -0.00323\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.28e+07\n",
+ "ValFuncLoss: 5.92e-06\n",
+ "Variance: 0.0401\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0010646753 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04013349 0.03832737 0.03807555 0.03711954]\n",
+ "FIT: 0.5378658816245697 2.597257656733515 0.02144486127638794 0.11912284796865746\n",
+ "***** Episode 264019, Mean R = -3.0 Std R = 5.5 Min R = -24.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -7.36\n",
+ "PolicyLoss: -0.00242\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.28e+07\n",
+ "ValFuncLoss: 2.82e-05\n",
+ "Variance: 0.0401\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0007936829 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04011742 0.03840278 0.03802878 0.03719237]\n",
+ "FIT: 0.5431019182067833 2.6481327194356274 0.020294651126018845 0.11778286992704712\n",
+ "***** Episode 264140, Mean R = -2.4 Std R = 4.9 Min R = -18.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.000794\n",
+ "PolicyEntropy: -7.36\n",
+ "PolicyLoss: -0.00231\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.28e+07\n",
+ "ValFuncLoss: 1.88e-05\n",
+ "Variance: 0.0401\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010875528 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.040001 0.03841411 0.03796387 0.03724336]\n",
+ "FIT: 0.5561051152077519 2.6296168228537864 0.02048681656756228 0.1174953265573839\n",
+ "Update Cnt = 2020 ET = 1023.3 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.0 1.0 0.0 | -3.9 -5.2 -0.1 | 3.9 4.4 -0.0\n",
+ "v_f | 0.03 -0.07 -0.94 | 0.06 0.07 0.15 | -0.22 -0.47 -1.40 | 0.38 0.19 -0.28\n",
+ "r_i | 984.7 -2.8 2350.5 | 569.3 577.8 28.6 | 0.4 -999.5 2300.1 | 1992.6 999.8 2400.0\n",
+ "v_i | -40.70 -0.34 -79.87 | 17.11 17.31 5.75 | -69.99 -29.93 -89.97 | -10.01 29.89 -70.01\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 5.5\n",
+ "norm_vf | 0.95 | 0.14 | 0.35 | 1.40\n",
+ "gs_f | 27.9 | 35.1 | 4.8 | 500.6\n",
+ "thrust | 1251 17 9228 | 2911 2899 1982 | -15682 -16779 2000 | 16583 16931 19996\n",
+ "norm_thrust | 9890 | 3118 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 261 | 355\n",
+ "rewards | -2.60 | 5.25 | -26.95 | 3.95\n",
+ "fuel_rewards | -7.51 | 0.39 | -9.15 | -6.74\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.52 | 0.52 | 0.48 | 4.56\n",
+ "norm_af | 0.03 | 0.02 | 0.00 | 0.13\n",
+ "norm_wf | 0.10 | 0.06 | 0.00 | 0.38\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.06 | 0.46 | -8.11 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.12 -0.00 | 0.35 0.21 0.20 | -1.28 -0.97 -1.04 | 1.46 1.06 1.10\n",
+ "w | -0.00 -0.01 -0.00 | 0.19 0.19 0.01 | -1.74 -2.38 -0.08 | 2.05 1.54 0.13\n",
+ "a_f | -0.01 -0.00 | 0.02 0.03 | -0.10 -0.11 | 0.07 0.11\n",
+ "w_f | -0.01 -0.01 0.00 | 0.09 0.08 0.02 | -0.35 -0.34 -0.07 | 0.34 0.33 0.13\n",
+ "landing_rewards | 9.78 | 1.48 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.06 | -0.19 | 0.50\n",
+ "tracking_rewards | -4.81 | 4.72 | -28.24 | 1.23\n",
+ "steps | 303 | 23 | 250 | 383\n",
+ "***** Episode 264261, Mean R = -2.3 Std R = 5.0 Min R = -20.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.992\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -7.36\n",
+ "PolicyLoss: -0.00275\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.29e+07\n",
+ "ValFuncLoss: 1.33e-05\n",
+ "Variance: 0.04\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012062219 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04003388 0.03837827 0.03789233 0.0372543 ]\n",
+ "FIT: 0.6196082146133236 2.598768701258429 0.019788316916655994 0.11596537457714715\n",
+ "***** Episode 264382, Mean R = -2.1 Std R = 5.0 Min R = -27.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -7.37\n",
+ "PolicyLoss: -0.00226\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.29e+07\n",
+ "ValFuncLoss: 1.61e-05\n",
+ "Variance: 0.04\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0015021763 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04003297 0.03836161 0.03786949 0.03724707]\n",
+ "FIT: 0.5550135421519706 2.63292641235866 0.021203182713980247 0.125678070116117\n",
+ "***** Episode 264503, Mean R = -3.1 Std R = 5.6 Min R = -23.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.0015\n",
+ "PolicyEntropy: -7.37\n",
+ "PolicyLoss: -0.00268\n",
+ "Steps: 3.74e+04\n",
+ "TotalSteps: 7.3e+07\n",
+ "ValFuncLoss: 2.87e-05\n",
+ "Variance: 0.04\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00078799075 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04006138 0.03827038 0.03795383 0.03719339]\n",
+ "FIT: 0.6470544235161744 2.509331198076485 0.020670418622652675 0.11647121369890764\n",
+ "***** Episode 264624, Mean R = -2.5 Std R = 5.1 Min R = -29.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.000788\n",
+ "PolicyEntropy: -7.37\n",
+ "PolicyLoss: -0.00229\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 7.3e+07\n",
+ "ValFuncLoss: 3.08e-05\n",
+ "Variance: 0.0401\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009820312 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04009611 0.03823125 0.03800519 0.03716291]\n",
+ "FIT: 0.5425553182992541 2.558202034977662 0.02054304446497124 0.11913535577774162\n",
+ "***** Episode 264745, Mean R = -2.4 Std R = 4.6 Min R = -16.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.000982\n",
+ "PolicyEntropy: -7.37\n",
+ "PolicyLoss: -0.00244\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.3e+07\n",
+ "ValFuncLoss: 1.68e-05\n",
+ "Variance: 0.0401\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001147932 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0400416 0.03824465 0.03800685 0.03713882]\n",
+ "FIT: 0.5394157861163058 2.638798548673365 0.020825709936657864 0.11803299427472541\n",
+ "***** Episode 264866, Mean R = -2.5 Std R = 4.8 Min R = -21.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.998\n",
+ "ExplainedVarOld: 0.995\n",
+ "KL: 0.00115\n",
+ "PolicyEntropy: -7.37\n",
+ "PolicyLoss: -0.00307\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.31e+07\n",
+ "ValFuncLoss: 1.68e-05\n",
+ "Variance: 0.04\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012205912 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.04008191 0.03832468 0.03795934 0.03715986]\n",
+ "FIT: 0.47756961954692645 2.483813535182993 0.019805913526608838 0.11986104790140308\n",
+ "***** Episode 264987, Mean R = -2.2 Std R = 4.8 Min R = -21.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -7.37\n",
+ "PolicyLoss: -0.00264\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 7.31e+07\n",
+ "ValFuncLoss: 2.07e-05\n",
+ "Variance: 0.0401\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010254337 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0400122 0.03840474 0.03789825 0.03717693]\n",
+ "FIT: 0.48509079316229403 2.4568192155685953 0.019684731508763223 0.11935525071528214\n",
+ "***** Episode 265108, Mean R = -2.0 Std R = 4.3 Min R = -16.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -7.37\n",
+ "PolicyLoss: -0.0023\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 7.31e+07\n",
+ "ValFuncLoss: 1.16e-05\n",
+ "Variance: 0.04\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001340324 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03992866 0.0384917 0.03783822 0.03721665]\n",
+ "FIT: 0.5073827624135564 2.5779541438897993 0.020899859440816765 0.1199812611542596\n",
+ "***** Episode 265229, Mean R = -2.8 Std R = 4.8 Min R = -18.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00134\n",
+ "PolicyEntropy: -7.37\n",
+ "PolicyLoss: -0.0023\n",
+ "Steps: 3.73e+04\n",
+ "TotalSteps: 7.32e+07\n",
+ "ValFuncLoss: 1.79e-05\n",
+ "Variance: 0.0399\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012323443 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03994778 0.03853754 0.03780009 0.03724389]\n",
+ "FIT: 0.5873718323976672 2.710008698141722 0.02011710651616693 0.12218840824212902\n",
+ "***** Episode 265350, Mean R = -2.3 Std R = 5.5 Min R = -29.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -7.37\n",
+ "PolicyLoss: -0.00223\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 7.32e+07\n",
+ "ValFuncLoss: 2.27e-05\n",
+ "Variance: 0.0399\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010254841 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03986775 0.03856526 0.03772864 0.03725461]\n",
+ "FIT: 0.5424786834769084 2.6075691345729797 0.02022219663810776 0.11605836015671704\n",
+ "Update Cnt = 2030 ET = 1033.1 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 1.0 1.0 0.0 | -3.4 -3.9 -0.1 | 3.2 4.1 -0.0\n",
+ "v_f | 0.03 -0.07 -0.93 | 0.06 0.07 0.15 | -0.41 -0.67 -1.37 | 0.35 0.46 -0.43\n",
+ "r_i | 1005.8 -23.5 2350.0 | 583.2 577.8 29.2 | 0.4 -997.9 2300.1 | 1999.7 999.0 2400.0\n",
+ "v_i | -38.90 0.54 -80.06 | 17.11 17.35 5.79 | -69.93 -29.96 -89.99 | -10.00 29.95 -70.01\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 4.4\n",
+ "norm_vf | 0.94 | 0.14 | 0.44 | 1.37\n",
+ "gs_f | 25.9 | 32.8 | 0.7 | 678.6\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "thrust | 1184 -11 9222 | 2877 2868 2013 | -15528 -16657 2000 | 16600 16873 19999\n",
+ "norm_thrust | 9863 | 3118 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 260 | 379\n",
+ "rewards | -2.41 | 4.95 | -29.72 | 4.27\n",
+ "fuel_rewards | -7.53 | 0.39 | -9.78 | -6.69\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.55 | 0.59 | 0.63 | 6.09\n",
+ "norm_af | 0.03 | 0.02 | 0.00 | 0.41\n",
+ "norm_wf | 0.10 | 0.06 | 0.01 | 0.43\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.37 | -5.91 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.11 0.00 | 0.35 0.20 0.20 | -1.11 -0.98 -1.05 | 1.71 1.06 1.05\n",
+ "w | -0.00 -0.01 -0.00 | 0.19 0.19 0.01 | -1.64 -2.52 -0.07 | 2.14 1.54 0.13\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.13 -0.40 | 0.12 0.20\n",
+ "w_f | -0.01 -0.01 -0.00 | 0.09 0.08 0.02 | -0.36 -0.30 -0.07 | 0.41 0.38 0.13\n",
+ "landing_rewards | 9.81 | 1.37 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.14 | -0.19 | 4.29\n",
+ "tracking_rewards | -4.64 | 4.49 | -31.35 | 1.39\n",
+ "steps | 305 | 25 | 248 | 441\n",
+ "***** Episode 265471, Mean R = -2.2 Std R = 4.9 Min R = -19.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -7.37\n",
+ "PolicyLoss: -0.00288\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 7.32e+07\n",
+ "ValFuncLoss: 1.26e-05\n",
+ "Variance: 0.0399\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010661704 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03990559 0.03858783 0.03759493 0.0372509 ]\n",
+ "FIT: 0.5487835658168025 2.6866135376695017 0.02192246210578404 0.12247341627260738\n",
+ "***** Episode 265592, Mean R = -3.3 Std R = 5.1 Min R = -22.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -7.37\n",
+ "PolicyLoss: -0.00211\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.33e+07\n",
+ "ValFuncLoss: 2.93e-05\n",
+ "Variance: 0.0399\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012433486 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03988953 0.03866373 0.03749127 0.03716313]\n",
+ "FIT: 0.6354105928422031 2.775395509008762 0.022029858600204455 0.12252110216624665\n",
+ "***** Episode 265713, Mean R = -3.4 Std R = 5.7 Min R = -26.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -7.37\n",
+ "PolicyLoss: -0.00257\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 7.33e+07\n",
+ "ValFuncLoss: 3.6e-05\n",
+ "Variance: 0.0399\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0015039241 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03986199 0.03867691 0.03741602 0.03716684]\n",
+ "FIT: 0.5205605889686408 2.780578408178062 0.01969648445074875 0.1173342232749688\n",
+ "***** Episode 265834, Mean R = -2.2 Std R = 4.6 Min R = -20.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.0015\n",
+ "PolicyEntropy: -7.38\n",
+ "PolicyLoss: -0.003\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.34e+07\n",
+ "ValFuncLoss: 2.85e-05\n",
+ "Variance: 0.0399\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010444088 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0398991 0.03861091 0.03737765 0.03721327]\n",
+ "FIT: 0.6132526732716032 2.4721996849940453 0.020391230509856795 0.118712158861342\n",
+ "***** Episode 265955, Mean R = -2.4 Std R = 4.9 Min R = -20.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -7.38\n",
+ "PolicyLoss: -0.00234\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 7.34e+07\n",
+ "ValFuncLoss: 1.89e-05\n",
+ "Variance: 0.0399\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012086902 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03998419 0.03860632 0.03738244 0.03716268]\n",
+ "FIT: 0.5746629174484795 2.6564710478817237 0.022530589731987002 0.12217477098893262\n",
+ "***** Episode 266076, Mean R = -3.7 Std R = 6.1 Min R = -26.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.941\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -7.38\n",
+ "PolicyLoss: -0.00228\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.34e+07\n",
+ "ValFuncLoss: 2.49e-05\n",
+ "Variance: 0.04\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0008560365 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03989957 0.03858911 0.03736762 0.0371256 ]\n",
+ "FIT: 0.575932019462033 2.618718104166666 0.021235798843891734 0.1217467176877565\n",
+ "***** Episode 266197, Mean R = -2.8 Std R = 4.7 Min R = -19.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.997\n",
+ "ExplainedVarOld: 0.993\n",
+ "KL: 0.000856\n",
+ "PolicyEntropy: -7.38\n",
+ "PolicyLoss: -0.00232\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.35e+07\n",
+ "ValFuncLoss: 6.86e-06\n",
+ "Variance: 0.0399\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012578939 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03977298 0.03853934 0.03737102 0.03708671]\n",
+ "FIT: 0.6149411343602331 2.4305867777698524 0.02087911245962514 0.1233803762881049\n",
+ "***** Episode 266318, Mean R = -2.9 Std R = 4.7 Min R = -20.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.00126\n",
+ "PolicyEntropy: -7.39\n",
+ "PolicyLoss: -0.00258\n",
+ "Steps: 3.73e+04\n",
+ "TotalSteps: 7.35e+07\n",
+ "ValFuncLoss: 1.1e-05\n",
+ "Variance: 0.0398\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00095115084 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03973795 0.03852513 0.03742255 0.03708644]\n",
+ "FIT: 0.5291070660950575 2.756173296085892 0.020572840689673667 0.12239600516427544\n",
+ "***** Episode 266439, Mean R = -2.5 Std R = 4.8 Min R = -17.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.000951\n",
+ "PolicyEntropy: -7.39\n",
+ "PolicyLoss: -0.00243\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.35e+07\n",
+ "ValFuncLoss: 1.75e-05\n",
+ "Variance: 0.0397\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0014992133 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03968343 0.03847174 0.03751444 0.03712295]\n",
+ "FIT: 0.5775048324634378 2.3887373147444855 0.02001395522087835 0.11894042302604615\n",
+ "***** Episode 266560, Mean R = -2.2 Std R = 4.8 Min R = -20.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.0015\n",
+ "PolicyEntropy: -7.39\n",
+ "PolicyLoss: -0.00247\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 7.36e+07\n",
+ "ValFuncLoss: 2.02e-05\n",
+ "Variance: 0.0397\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00097141357 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0396996 0.0385037 0.03760134 0.03720876]\n",
+ "FIT: 0.558546504813364 2.6139090901806226 0.022309219108764624 0.12184357913986738\n",
+ "Update Cnt = 2040 ET = 1027.2 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.4 -0.0 | 1.0 1.1 0.0 | -3.9 -6.2 -0.1 | 3.7 3.3 -0.0\n",
+ "v_f | 0.03 -0.08 -0.92 | 0.06 0.07 0.15 | -0.34 -0.39 -1.34 | 0.28 0.28 -0.32\n",
+ "r_i | 971.8 -7.9 2350.2 | 590.1 588.6 28.5 | 0.2 -996.5 2300.1 | 1999.0 999.2 2400.0\n",
+ "v_i | -39.85 -0.58 -79.77 | 17.04 17.29 5.73 | -69.82 -29.92 -89.99 | -10.12 29.98 -70.01\n",
+ "norm_rf | 1.3 | 0.8 | 0.1 | 6.3\n",
+ "norm_vf | 0.93 | 0.14 | 0.37 | 1.34\n",
+ "gs_f | 26.0 | 46.3 | 3.9 | 966.4\n",
+ "thrust | 1221 24 9216 | 2922 2965 1990 | -15495 -16752 2000 | 16641 16921 19997\n",
+ "norm_thrust | 9892 | 3139 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 261 | 355\n",
+ "rewards | -2.87 | 5.14 | -28.71 | 4.13\n",
+ "fuel_rewards | -7.53 | 0.39 | -9.15 | -6.74\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.51 | 0.55 | 0.53 | 5.11\n",
+ "norm_af | 0.03 | 0.02 | 0.00 | 0.20\n",
+ "norm_wf | 0.10 | 0.06 | 0.00 | 0.57\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.06 | 0.52 | -10.19 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.11 -0.00 | 0.36 0.21 0.20 | -1.28 -0.93 -1.05 | 1.61 1.03 1.06\n",
+ "w | -0.00 -0.01 -0.00 | 0.20 0.19 0.01 | -1.66 -2.42 -0.09 | 2.32 1.54 0.15\n",
+ "a_f | -0.01 -0.00 | 0.02 0.03 | -0.09 -0.13 | 0.12 0.20\n",
+ "w_f | -0.01 -0.01 0.00 | 0.09 0.08 0.02 | -0.56 -0.24 -0.08 | 0.35 0.39 0.14\n",
+ "landing_rewards | 9.76 | 1.53 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.09 | -0.19 | 1.31\n",
+ "tracking_rewards | -5.04 | 4.65 | -27.36 | 1.27\n",
+ "steps | 304 | 24 | 252 | 375\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 266681, Mean R = -3.4 Std R = 5.5 Min R = -28.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.000971\n",
+ "PolicyEntropy: -7.38\n",
+ "PolicyLoss: -0.00285\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 7.36e+07\n",
+ "ValFuncLoss: 1.35e-05\n",
+ "Variance: 0.0397\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011829108 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03974648 0.03851869 0.0376258 0.03726752]\n",
+ "FIT: 0.6637686891345371 2.428666042244706 0.02043755301631694 0.1185612877870097\n",
+ "***** Episode 266802, Mean R = -2.4 Std R = 5.1 Min R = -24.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -7.38\n",
+ "PolicyLoss: -0.00225\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.37e+07\n",
+ "ValFuncLoss: 2.83e-05\n",
+ "Variance: 0.0397\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011700466 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03975509 0.03847348 0.03758305 0.03721781]\n",
+ "FIT: 0.4848656200963545 2.595551833462509 0.021155844049117023 0.12501688508723846\n",
+ "***** Episode 266923, Mean R = -3.1 Std R = 5.0 Min R = -19.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.814\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -7.38\n",
+ "PolicyLoss: -0.00163\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 7.37e+07\n",
+ "ValFuncLoss: 2.59e-05\n",
+ "Variance: 0.0398\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013601475 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03974478 0.03841504 0.03762573 0.03715032]\n",
+ "FIT: 0.5861102812897917 2.7348229709273846 0.021250520677747266 0.12011080880138632\n",
+ "***** Episode 267044, Mean R = -2.9 Std R = 5.5 Min R = -22.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00136\n",
+ "PolicyEntropy: -7.38\n",
+ "PolicyLoss: -0.00244\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.37e+07\n",
+ "ValFuncLoss: 2.92e-05\n",
+ "Variance: 0.0397\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012621913 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03975791 0.03834192 0.03756283 0.0370943 ]\n",
+ "FIT: 0.7145448388829045 2.5038622726516624 0.02147713518624848 0.12189327068893882\n",
+ "***** Episode 267165, Mean R = -3.0 Std R = 5.5 Min R = -28.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00126\n",
+ "PolicyEntropy: -7.39\n",
+ "PolicyLoss: -0.00198\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 7.38e+07\n",
+ "ValFuncLoss: 3.14e-05\n",
+ "Variance: 0.0398\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0014664722 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03981525 0.03827915 0.03742915 0.03700659]\n",
+ "FIT: 0.5665757474809497 2.469205443896902 0.019617134997440073 0.11795843917386956\n",
+ "***** Episode 267286, Mean R = -2.0 Std R = 4.9 Min R = -25.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00147\n",
+ "PolicyEntropy: -7.39\n",
+ "PolicyLoss: -0.00311\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 7.38e+07\n",
+ "ValFuncLoss: 2.03e-05\n",
+ "Variance: 0.0398\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011131286 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03987455 0.03828143 0.03737155 0.03701696]\n",
+ "FIT: 0.7173697873532686 2.65514551311265 0.02000825621594747 0.1169522483944572\n",
+ "***** Episode 267407, Mean R = -2.2 Std R = 4.9 Min R = -30.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -7.39\n",
+ "PolicyLoss: -0.00196\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.38e+07\n",
+ "ValFuncLoss: 2.76e-05\n",
+ "Variance: 0.0399\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012308428 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0398673 0.03825988 0.03734411 0.03701848]\n",
+ "FIT: 0.6587864917262086 2.553693872862536 0.02078136546312747 0.11820420482628076\n",
+ "***** Episode 267528, Mean R = -2.5 Std R = 5.1 Min R = -21.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -7.39\n",
+ "PolicyLoss: -0.00274\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 7.39e+07\n",
+ "ValFuncLoss: 2.8e-05\n",
+ "Variance: 0.0399\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011223657 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03982133 0.03822647 0.03734753 0.03706195]\n",
+ "FIT: 0.46601533407344475 2.5477969207089726 0.01985998235738855 0.1185615165773458\n",
+ "***** Episode 267649, Mean R = -2.1 Std R = 4.3 Min R = -16.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -7.39\n",
+ "PolicyLoss: -0.00233\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.39e+07\n",
+ "ValFuncLoss: 2.52e-05\n",
+ "Variance: 0.0398\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001012004 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03989743 0.03829545 0.03733005 0.03706748]\n",
+ "FIT: 0.5936156527105461 2.71147053709456 0.021599027671675198 0.11779776613139635\n",
+ "***** Episode 267770, Mean R = -2.9 Std R = 5.8 Min R = -26.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -7.39\n",
+ "PolicyLoss: -0.00236\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.39e+07\n",
+ "ValFuncLoss: 2.34e-05\n",
+ "Variance: 0.0399\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011408093 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03986691 0.03829704 0.03731823 0.037053 ]\n",
+ "FIT: 0.5197730665263223 2.626664346334253 0.020402023119375577 0.1197069874691213\n",
+ "Update Cnt = 2050 ET = 1031.3 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.4 -0.0 | 1.1 1.0 0.0 | -4.2 -4.3 -0.1 | 15.0 8.2 1.3\n",
+ "v_f | 0.03 -0.08 -0.92 | 0.15 0.08 0.15 | -4.53 -0.39 -1.39 | 0.30 0.87 0.04\n",
+ "r_i | 994.0 -20.9 2348.7 | 581.5 595.0 28.5 | 0.4 -999.7 2300.1 | 1999.8 997.1 2400.0\n",
+ "v_i | -39.44 -0.12 -79.84 | 17.41 17.40 5.70 | -69.91 -29.96 -89.97 | -10.03 29.98 -70.00\n",
+ "norm_rf | 1.2 | 0.9 | 0.0 | 17.2\n",
+ "norm_vf | 0.94 | 0.18 | 0.14 | 4.80\n",
+ "gs_f | 24.3 | 28.8 | 0.1 | 533.7\n",
+ "thrust | 1202 11 9204 | 2894 2876 1999 | -15426 -16933 2000 | 16463 16565 19998\n",
+ "norm_thrust | 9853 | 3117 | 3464 | 20000\n",
+ "fuel | 292 | 16 | 260 | 471\n",
+ "rewards | -2.58 | 5.11 | -30.73 | 4.06\n",
+ "fuel_rewards | -7.52 | 0.42 | -12.14 | -6.71\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.53 | 0.56 | 0.11 | 5.48\n",
+ "norm_af | 0.03 | 0.04 | 0.00 | 0.91\n",
+ "norm_wf | 0.11 | 0.08 | 0.01 | 1.81\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.09 | 0.82 | -12.14 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.11 0.00 | 0.35 0.21 0.20 | -1.22 -0.98 -1.05 | 2.24 1.06 1.06\n",
+ "w | -0.00 -0.01 0.00 | 0.19 0.19 0.02 | -1.66 -2.42 -0.07 | 2.10 1.61 0.28\n",
+ "a_f | -0.01 -0.00 | 0.04 0.03 | -0.12 -0.46 | 0.84 0.11\n",
+ "w_f | -0.00 -0.01 0.00 | 0.11 0.08 0.02 | -0.37 -0.32 -0.07 | 1.77 0.31 0.27\n",
+ "landing_rewards | 9.72 | 1.65 | 0.00 | 10.00\n",
+ "landing_margin | -0.09 | 0.38 | -0.19 | 12.19\n",
+ "tracking_rewards | -4.68 | 4.41 | -24.46 | 1.25\n",
+ "steps | 305 | 26 | 247 | 601\n",
+ "***** Episode 267891, Mean R = -2.6 Std R = 4.7 Min R = -18.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -7.39\n",
+ "PolicyLoss: -0.00267\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 7.4e+07\n",
+ "ValFuncLoss: 1.99e-05\n",
+ "Variance: 0.0399\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011735385 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03984975 0.03834118 0.03729976 0.03704212]\n",
+ "FIT: 0.5447137705540902 2.6556928434258484 0.02136530365580319 0.11902214035168521\n",
+ "***** Episode 268012, Mean R = -3.0 Std R = 5.2 Min R = -25.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -7.39\n",
+ "PolicyLoss: -0.00236\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 7.4e+07\n",
+ "ValFuncLoss: 3.3e-05\n",
+ "Variance: 0.0398\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010054118 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03978125 0.03824348 0.03731601 0.03691422]\n",
+ "FIT: 0.5498390475358845 2.5479776504543112 0.020825035937688363 0.1213691103087528\n",
+ "***** Episode 268133, Mean R = -2.8 Std R = 4.7 Min R = -16.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -7.4\n",
+ "PolicyLoss: -0.00268\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 7.41e+07\n",
+ "ValFuncLoss: 2.57e-05\n",
+ "Variance: 0.0398\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011126542 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03963545 0.03816906 0.03728698 0.0368214 ]\n",
+ "FIT: 0.5209370870623123 2.4769998151957706 0.02041749041094022 0.12399414043575734\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 268254, Mean R = -2.8 Std R = 4.9 Min R = -17.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -7.41\n",
+ "PolicyLoss: -0.00219\n",
+ "Steps: 3.76e+04\n",
+ "TotalSteps: 7.41e+07\n",
+ "ValFuncLoss: 2.73e-05\n",
+ "Variance: 0.0396\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013042584 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03959731 0.03817169 0.03720061 0.03675153]\n",
+ "FIT: 0.7267681092247932 2.743942050110966 0.019821674621566615 0.11782870022406045\n",
+ "***** Episode 268375, Mean R = -2.0 Std R = 5.5 Min R = -29.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.0013\n",
+ "PolicyEntropy: -7.41\n",
+ "PolicyLoss: -0.00236\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 7.41e+07\n",
+ "ValFuncLoss: 2.11e-05\n",
+ "Variance: 0.0396\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013595227 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03962803 0.03817312 0.03713216 0.03664482]\n",
+ "FIT: 0.4665985458229496 2.5170529039091285 0.01925360818286156 0.11673128670220623\n",
+ "***** Episode 268496, Mean R = -1.8 Std R = 4.3 Min R = -21.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00136\n",
+ "PolicyEntropy: -7.42\n",
+ "PolicyLoss: -0.00231\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 7.42e+07\n",
+ "ValFuncLoss: 2e-05\n",
+ "Variance: 0.0396\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00090302044 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03967982 0.03814765 0.03713529 0.03652737]\n",
+ "FIT: 0.4635988367735913 2.612989826546195 0.01914105542389891 0.11709683251253149\n",
+ "***** Episode 268617, Mean R = -1.9 Std R = 4.1 Min R = -14.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.000903\n",
+ "PolicyEntropy: -7.42\n",
+ "PolicyLoss: -0.0019\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.42e+07\n",
+ "ValFuncLoss: 2.48e-05\n",
+ "Variance: 0.0397\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011720179 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03969991 0.03810526 0.0371549 0.03649055]\n",
+ "FIT: 0.6338059358783279 2.6150707629789847 0.021070557757705603 0.11812379223804001\n",
+ "***** Episode 268738, Mean R = -2.8 Std R = 4.9 Min R = -24.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -7.42\n",
+ "PolicyLoss: -0.00306\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.42e+07\n",
+ "ValFuncLoss: 1.54e-05\n",
+ "Variance: 0.0397\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012675526 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03962134 0.03812753 0.03709195 0.03640647]\n",
+ "FIT: 0.723792649452906 2.711140746630925 0.021074707952891472 0.12044569914720901\n",
+ "***** Episode 268859, Mean R = -2.6 Std R = 5.6 Min R = -33.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -7.43\n",
+ "PolicyLoss: -0.00272\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.43e+07\n",
+ "ValFuncLoss: 1.71e-05\n",
+ "Variance: 0.0396\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012735507 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03960341 0.03814494 0.03705272 0.03636238]\n",
+ "FIT: 0.5515398045228378 2.540543475107224 0.02093700610519289 0.1168329544806229\n",
+ "***** Episode 268980, Mean R = -3.0 Std R = 5.5 Min R = -29.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -7.43\n",
+ "PolicyLoss: -0.00231\n",
+ "Steps: 3.75e+04\n",
+ "TotalSteps: 7.43e+07\n",
+ "ValFuncLoss: 3.16e-05\n",
+ "Variance: 0.0396\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011795064 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03961252 0.03821816 0.03706353 0.03633668]\n",
+ "FIT: 0.4652949729589983 2.5977149186099737 0.02066225820242089 0.11845239682544927\n",
+ "Update Cnt = 2060 ET = 1032.7 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.4 -0.0 | 1.0 1.0 0.0 | -3.9 -5.1 -0.1 | 3.8 2.8 -0.0\n",
+ "v_f | 0.04 -0.08 -0.92 | 0.08 0.08 0.15 | -2.09 -0.64 -1.34 | 0.40 0.40 -0.10\n",
+ "r_i | 1027.5 9.1 2350.5 | 578.2 586.4 28.7 | 1.0 -994.1 2300.0 | 1999.8 997.4 2399.9\n",
+ "v_i | -39.20 -0.26 -80.08 | 17.01 16.91 5.80 | -69.97 -29.97 -90.00 | -10.02 29.95 -70.01\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.2\n",
+ "norm_vf | 0.93 | 0.15 | 0.38 | 2.12\n",
+ "gs_f | 24.3 | 28.8 | 0.9 | 401.5\n",
+ "thrust | 1188 13 9206 | 2863 2909 2010 | -15542 -17054 2000 | 16291 16585 20000\n",
+ "norm_thrust | 9851 | 3135 | 3464 | 20000\n",
+ "fuel | 292 | 16 | 261 | 373\n",
+ "rewards | -2.52 | 4.98 | -33.51 | 4.04\n",
+ "fuel_rewards | -7.54 | 0.40 | -9.59 | -6.73\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.53 | 0.53 | 0.58 | 4.73\n",
+ "norm_af | 0.03 | 0.03 | 0.00 | 0.53\n",
+ "norm_wf | 0.11 | 0.07 | 0.00 | 1.29\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.46 | -8.39 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.11 0.00 | 0.35 0.20 0.20 | -1.36 -0.99 -1.02 | 1.88 1.11 1.11\n",
+ "w | -0.00 -0.01 0.00 | 0.19 0.19 0.01 | -1.70 -2.42 -0.08 | 2.23 1.52 0.17\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.11 -0.11 | 0.52 0.11\n",
+ "w_f | -0.01 -0.01 0.00 | 0.10 0.08 0.02 | -0.35 -0.27 -0.08 | 1.26 0.25 0.17\n",
+ "landing_rewards | 9.70 | 1.70 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.14 | -0.19 | 4.07\n",
+ "tracking_rewards | -4.64 | 4.32 | -35.64 | 1.45\n",
+ "steps | 305 | 25 | 251 | 409\n",
+ "***** Episode 269101, Mean R = -2.5 Std R = 4.7 Min R = -18.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -7.43\n",
+ "PolicyLoss: -0.00239\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.44e+07\n",
+ "ValFuncLoss: 3.34e-05\n",
+ "Variance: 0.0396\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010749686 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03959185 0.03824135 0.03707959 0.03628126]\n",
+ "FIT: 0.5640400146173663 2.5225494533534665 0.020835663831961407 0.11594004330342247\n",
+ "***** Episode 269222, Mean R = -2.5 Std R = 5.3 Min R = -21.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -7.43\n",
+ "PolicyLoss: -0.00253\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.44e+07\n",
+ "ValFuncLoss: 2.74e-05\n",
+ "Variance: 0.0396\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00113904 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0395717 0.03826204 0.03704751 0.03632577]\n",
+ "FIT: 0.6442076303923044 2.5634334631604494 0.020192590938902494 0.11642742533392572\n",
+ "***** Episode 269343, Mean R = -2.2 Std R = 4.6 Min R = -19.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -7.43\n",
+ "PolicyLoss: -0.00262\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.44e+07\n",
+ "ValFuncLoss: 1.75e-05\n",
+ "Variance: 0.0396\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012353873 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03954369 0.03823154 0.03699904 0.03631929]\n",
+ "FIT: 0.49470607428634333 2.4269581413373444 0.020348210026639217 0.11883635249241606\n",
+ "***** Episode 269464, Mean R = -2.3 Std R = 4.8 Min R = -17.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -7.43\n",
+ "PolicyLoss: -0.00282\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.45e+07\n",
+ "ValFuncLoss: 1.87e-05\n",
+ "Variance: 0.0395\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011564066 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03941265 0.03819382 0.03702736 0.03634444]\n",
+ "FIT: 0.4951403188138133 2.5829776266082303 0.020063669161082973 0.12062159743200708\n",
+ "***** Episode 269585, Mean R = -2.3 Std R = 4.4 Min R = -14.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -7.43\n",
+ "PolicyLoss: -0.00259\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 7.45e+07\n",
+ "ValFuncLoss: 2.55e-05\n",
+ "Variance: 0.0394\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013887642 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03926924 0.03809404 0.03711589 0.03628872]\n",
+ "FIT: 0.5827646398011783 2.726909474550133 0.021343969723324314 0.11941968769744286\n",
+ "***** Episode 269706, Mean R = -2.9 Std R = 5.0 Min R = -20.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.00139\n",
+ "PolicyEntropy: -7.44\n",
+ "PolicyLoss: -0.00248\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.45e+07\n",
+ "ValFuncLoss: 2.52e-05\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011132044 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03920276 0.03810667 0.03717317 0.03629572]\n",
+ "FIT: 0.6799266193254238 2.7123047495416612 0.02114923486837293 0.12239429107678179\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 269827, Mean R = -2.9 Std R = 5.7 Min R = -26.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -7.44\n",
+ "PolicyLoss: -0.00258\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.46e+07\n",
+ "ValFuncLoss: 2.21e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0008824477 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03920405 0.03820293 0.03722528 0.03631762]\n",
+ "FIT: 0.7713247614888973 2.656042571502786 0.02163787749116743 0.11928579606390885\n",
+ "***** Episode 269948, Mean R = -2.9 Std R = 5.7 Min R = -31.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.000882\n",
+ "PolicyEntropy: -7.43\n",
+ "PolicyLoss: -0.0024\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 7.46e+07\n",
+ "ValFuncLoss: 2.25e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011075288 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03922391 0.03829696 0.03729036 0.03621499]\n",
+ "FIT: 0.5286152434140267 2.5053009874281815 0.021036632653725625 0.12132120194230463\n",
+ "***** Episode 270069, Mean R = -2.8 Std R = 5.1 Min R = -24.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.974\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -7.43\n",
+ "PolicyLoss: -0.00278\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 7.46e+07\n",
+ "ValFuncLoss: 2.05e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010493257 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03921103 0.03820463 0.03731179 0.03610869]\n",
+ "FIT: 0.8273269290515014 2.610352378749742 0.02103489885150852 0.12001226762575773\n",
+ "***** Episode 270190, Mean R = -2.5 Std R = 5.4 Min R = -30.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -7.44\n",
+ "PolicyLoss: -0.00275\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.47e+07\n",
+ "ValFuncLoss: 1.61e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013070201 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03924642 0.03812072 0.03736039 0.03607814]\n",
+ "FIT: 0.49141296217008723 2.441183015262845 0.019378351771754548 0.11957653259380212\n",
+ "Update Cnt = 2070 ET = 1021.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.4 -0.0 | 1.0 1.1 0.0 | -4.2 -5.6 -0.1 | 3.8 12.3 -0.0\n",
+ "v_f | 0.05 -0.08 -0.93 | 0.10 0.08 0.14 | -0.36 -1.09 -1.36 | 3.08 0.18 -0.24\n",
+ "r_i | 1007.1 24.6 2349.8 | 568.8 566.1 28.8 | 0.0 -999.5 2300.2 | 1999.0 995.9 2399.9\n",
+ "v_i | -39.54 0.14 -80.17 | 17.42 17.47 5.89 | -69.89 -29.94 -90.00 | -10.06 29.98 -70.01\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 12.7\n",
+ "norm_vf | 0.94 | 0.15 | 0.43 | 3.47\n",
+ "gs_f | 22.4 | 34.4 | 0.3 | 942.2\n",
+ "thrust | 1210 -1 9237 | 2904 2887 2004 | -14765 -16915 2000 | 16569 17037 20000\n",
+ "norm_thrust | 9889 | 3126 | 3464 | 20000\n",
+ "fuel | 292 | 16 | 261 | 384\n",
+ "rewards | -2.53 | 5.08 | -31.21 | 4.06\n",
+ "fuel_rewards | -7.52 | 0.41 | -9.90 | -6.72\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.53 | 0.52 | 0.26 | 4.26\n",
+ "norm_af | 0.03 | 0.03 | 0.00 | 0.79\n",
+ "norm_wf | 0.10 | 0.07 | 0.00 | 1.18\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.08 | 0.73 | -14.38 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.12 0.00 | 0.35 0.20 0.20 | -1.20 -0.96 -1.05 | 2.16 1.06 1.13\n",
+ "w | -0.00 -0.01 0.00 | 0.19 0.19 0.02 | -1.65 -2.41 -0.08 | 2.18 1.54 0.27\n",
+ "a_f | -0.01 -0.00 | 0.03 0.04 | -0.60 -0.51 | 0.21 0.11\n",
+ "w_f | -0.00 -0.01 0.00 | 0.09 0.08 0.02 | -0.78 -0.26 -0.07 | 0.35 0.85 0.26\n",
+ "landing_rewards | 9.78 | 1.48 | 0.00 | 10.00\n",
+ "landing_margin | -0.09 | 0.30 | -0.19 | 7.68\n",
+ "tracking_rewards | -4.71 | 4.43 | -23.64 | 1.31\n",
+ "steps | 304 | 25 | 247 | 435\n",
+ "***** Episode 270311, Mean R = -1.9 Std R = 4.4 Min R = -14.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.00131\n",
+ "PolicyEntropy: -7.44\n",
+ "PolicyLoss: -0.00238\n",
+ "Steps: 3.76e+04\n",
+ "TotalSteps: 7.47e+07\n",
+ "ValFuncLoss: 1.74e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011635878 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03927843 0.03813168 0.03732137 0.03607569]\n",
+ "FIT: 0.624381614721653 2.5435813525901336 0.02083135989810575 0.11875913453671313\n",
+ "***** Episode 270432, Mean R = -2.6 Std R = 5.0 Min R = -27.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -7.44\n",
+ "PolicyLoss: -0.0025\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.48e+07\n",
+ "ValFuncLoss: 2.45e-05\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013261015 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03924309 0.03810515 0.03723334 0.03606383]\n",
+ "FIT: 0.5980681692597295 2.4985848863413223 0.02182223511169282 0.1259323619331139\n",
+ "***** Episode 270553, Mean R = -3.5 Std R = 5.6 Min R = -23.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.963\n",
+ "KL: 0.00133\n",
+ "PolicyEntropy: -7.44\n",
+ "PolicyLoss: -0.00219\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.48e+07\n",
+ "ValFuncLoss: 3.06e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0014375452 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0392357 0.03816661 0.03718033 0.03609985]\n",
+ "FIT: 0.6314508645310144 2.7836662122390616 0.022059762517932107 0.12056767713561128\n",
+ "***** Episode 270674, Mean R = -3.2 Std R = 5.1 Min R = -25.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00144\n",
+ "PolicyEntropy: -7.44\n",
+ "PolicyLoss: -0.00133\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 7.48e+07\n",
+ "ValFuncLoss: 2.38e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010297945 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03917309 0.0381505 0.03718802 0.03612777]\n",
+ "FIT: 0.6552374499253067 2.5884123388707625 0.01944965148738632 0.11856786199951148\n",
+ "***** Episode 270795, Mean R = -1.9 Std R = 5.0 Min R = -23.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -7.44\n",
+ "PolicyLoss: -0.00251\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 7.49e+07\n",
+ "ValFuncLoss: 2.01e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001232428 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03919037 0.03810105 0.03725277 0.03608036]\n",
+ "FIT: 0.6348018000053031 2.613780726397633 0.020742854109689297 0.12078145292051029\n",
+ "***** Episode 270916, Mean R = -2.7 Std R = 5.8 Min R = -25.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -7.44\n",
+ "PolicyLoss: -0.00274\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.49e+07\n",
+ "ValFuncLoss: 2.59e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012654694 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03926741 0.03806546 0.03723988 0.03609388]\n",
+ "FIT: 0.6148934209713254 2.7028624333244564 0.022565626325699844 0.12035953740544113\n",
+ "***** Episode 271037, Mean R = -3.6 Std R = 5.4 Min R = -22.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.967\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -7.44\n",
+ "PolicyLoss: -0.00124\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.49e+07\n",
+ "ValFuncLoss: 2.21e-05\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011037755 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03929417 0.03800988 0.03722554 0.03608791]\n",
+ "FIT: 0.8472121333748438 2.7480615341231287 0.02047288659432716 0.12020750316678691\n",
+ "***** Episode 271158, Mean R = -2.3 Std R = 5.2 Min R = -26.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.998\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -7.44\n",
+ "PolicyLoss: -0.00236\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 7.5e+07\n",
+ "ValFuncLoss: 5.56e-06\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010339355 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03921161 0.03797497 0.03723322 0.03606001]\n",
+ "FIT: 0.6331939388640037 2.5850497760838826 0.020409505508839316 0.11886465308110343\n",
+ "***** Episode 271279, Mean R = -2.2 Std R = 5.2 Min R = -28.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -7.45\n",
+ "PolicyLoss: -0.00271\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 7.5e+07\n",
+ "ValFuncLoss: 1.59e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012675863 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03920883 0.03797967 0.03733343 0.03615814]\n",
+ "FIT: 0.5510832839450714 2.7875127395246393 0.020112276827554707 0.12174477230787276\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 271400, Mean R = -2.2 Std R = 5.0 Min R = -19.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -7.44\n",
+ "PolicyLoss: -0.00287\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.51e+07\n",
+ "ValFuncLoss: 2.09e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0014209222 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03920083 0.03800409 0.03737657 0.03623395]\n",
+ "FIT: 0.6130023889549799 2.5592930345963794 0.0210194909064121 0.11808280356724875\n",
+ "Update Cnt = 2080 ET = 1022.9 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.4 -0.0 | 1.0 1.0 0.0 | -4.2 -3.8 -0.1 | 4.4 4.3 -0.0\n",
+ "v_f | 0.05 -0.09 -0.93 | 0.06 0.10 0.14 | -0.62 -2.21 -1.37 | 0.27 0.33 -0.43\n",
+ "r_i | 988.8 -12.9 2349.5 | 576.1 576.5 28.8 | 1.5 -1000.0 2300.0 | 1997.7 1000.0 2399.8\n",
+ "v_i | -40.02 0.36 -80.22 | 17.56 17.18 5.75 | -69.98 -29.93 -90.00 | -10.01 29.97 -70.03\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.2\n",
+ "norm_vf | 0.94 | 0.14 | 0.44 | 2.49\n",
+ "gs_f | 21.0 | 23.8 | 0.6 | 410.6\n",
+ "thrust | 1228 -7 9233 | 2951 2882 1994 | -15229 -17130 1886 | 16823 17032 19999\n",
+ "norm_thrust | 9896 | 3132 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 262 | 356\n",
+ "rewards | -2.69 | 5.29 | -28.11 | 4.30\n",
+ "fuel_rewards | -7.51 | 0.39 | -9.19 | -6.74\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.52 | 0.53 | 0.52 | 4.93\n",
+ "norm_af | 0.03 | 0.03 | 0.00 | 0.89\n",
+ "norm_wf | 0.11 | 0.07 | 0.00 | 0.59\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.10 | 0.75 | -12.70 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 0.00 | 0.36 0.21 0.20 | -1.31 -0.92 -1.08 | 2.11 1.07 1.22\n",
+ "w | -0.00 -0.01 -0.00 | 0.20 0.19 0.01 | -1.75 -2.44 -0.09 | 2.06 1.52 0.17\n",
+ "a_f | -0.01 -0.00 | 0.03 0.04 | -0.11 -0.80 | 0.38 0.09\n",
+ "w_f | -0.00 -0.01 -0.00 | 0.09 0.08 0.02 | -0.39 -0.47 -0.09 | 0.49 0.41 0.17\n",
+ "landing_rewards | 9.74 | 1.60 | 0.00 | 10.00\n",
+ "landing_margin | -0.09 | 0.17 | -0.19 | 4.43\n",
+ "tracking_rewards | -4.82 | 4.54 | -26.06 | 1.35\n",
+ "steps | 303 | 24 | 248 | 387\n",
+ "***** Episode 271521, Mean R = -2.6 Std R = 5.1 Min R = -23.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00142\n",
+ "PolicyEntropy: -7.44\n",
+ "PolicyLoss: -0.00282\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.51e+07\n",
+ "ValFuncLoss: 2.49e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012675051 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0391963 0.03791206 0.03732629 0.03620307]\n",
+ "FIT: 0.5268024314512683 2.745005466010693 0.021123898417460832 0.12029658901285858\n",
+ "***** Episode 271642, Mean R = -2.7 Std R = 4.7 Min R = -18.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -7.44\n",
+ "PolicyLoss: -0.00262\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 7.51e+07\n",
+ "ValFuncLoss: 2.23e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010704097 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03921078 0.03779351 0.03727656 0.03620992]\n",
+ "FIT: 0.45716285877380275 2.528762968230983 0.019779710135170502 0.11760447689954781\n",
+ "***** Episode 271763, Mean R = -2.1 Std R = 4.6 Min R = -19.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -7.45\n",
+ "PolicyLoss: -0.00256\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 7.52e+07\n",
+ "ValFuncLoss: 2.02e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0014108999 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03916641 0.03767368 0.03731117 0.03623567]\n",
+ "FIT: 0.5648732874294323 2.627342560253331 0.021968676354521727 0.12477941036511929\n",
+ "***** Episode 271884, Mean R = -3.2 Std R = 5.6 Min R = -22.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00141\n",
+ "PolicyEntropy: -7.45\n",
+ "PolicyLoss: -0.00262\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 7.52e+07\n",
+ "ValFuncLoss: 3.07e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001333082 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03905873 0.03766399 0.0372844 0.03622061]\n",
+ "FIT: 0.637895154823178 2.576015423707987 0.02074126687178466 0.11823119029493592\n",
+ "***** Episode 272005, Mean R = -2.4 Std R = 5.3 Min R = -26.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00133\n",
+ "PolicyEntropy: -7.45\n",
+ "PolicyLoss: -0.00261\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.52e+07\n",
+ "ValFuncLoss: 3.05e-05\n",
+ "Variance: 0.0391\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012009934 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03911359 0.03776168 0.03731811 0.03629566]\n",
+ "FIT: 0.5820180565698447 2.456851438913834 0.020385233065868744 0.11996594527228908\n",
+ "***** Episode 272126, Mean R = -2.4 Std R = 4.9 Min R = -23.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: -7.45\n",
+ "PolicyLoss: -0.00323\n",
+ "Steps: 3.74e+04\n",
+ "TotalSteps: 7.53e+07\n",
+ "ValFuncLoss: 1.58e-05\n",
+ "Variance: 0.0391\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013662052 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03914759 0.03791885 0.03729912 0.03632108]\n",
+ "FIT: 0.6814570561457214 2.4835753021017357 0.02102647726007687 0.12063708807908453\n",
+ "***** Episode 272247, Mean R = -2.9 Std R = 5.6 Min R = -29.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00137\n",
+ "PolicyEntropy: -7.44\n",
+ "PolicyLoss: -0.00317\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.53e+07\n",
+ "ValFuncLoss: 3.27e-05\n",
+ "Variance: 0.0391\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012192513 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03918811 0.03802136 0.03724898 0.03617621]\n",
+ "FIT: 0.5028896447375313 2.4611450315888517 0.02206543017216961 0.12241674690459176\n",
+ "***** Episode 272368, Mean R = -3.3 Std R = 5.0 Min R = -20.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -7.44\n",
+ "PolicyLoss: -0.00275\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 7.53e+07\n",
+ "ValFuncLoss: 1.41e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011949283 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03922177 0.03797946 0.03714754 0.03601424]\n",
+ "FIT: 0.5747136432547278 2.6551896783070963 0.02110363921234418 0.12089761688659043\n",
+ "***** Episode 272489, Mean R = -2.8 Std R = 4.8 Min R = -20.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -7.45\n",
+ "PolicyLoss: -0.00248\n",
+ "Steps: 3.6e+04\n",
+ "TotalSteps: 7.54e+07\n",
+ "ValFuncLoss: 1.79e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010377214 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03916867 0.03786378 0.03715059 0.03599225]\n",
+ "FIT: 0.5769523713825369 2.5584856601547323 0.021435080219762523 0.12286763852985193\n",
+ "***** Episode 272610, Mean R = -3.2 Std R = 5.0 Min R = -21.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -7.46\n",
+ "PolicyLoss: -0.0023\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.54e+07\n",
+ "ValFuncLoss: 3.51e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001350536 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03919752 0.03780404 0.03718759 0.03597791]\n",
+ "FIT: 0.5240003436615572 2.4224043214957476 0.020527716146385787 0.11919339639663212\n",
+ "Update Cnt = 2090 ET = 1022.7 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.5 -0.0 | 1.0 1.0 0.0 | -5.7 -4.1 -0.1 | 4.8 4.0 -0.0\n",
+ "v_f | 0.05 -0.08 -0.93 | 0.06 0.08 0.14 | -0.23 -0.41 -1.35 | 0.35 0.26 -0.16\n",
+ "r_i | 975.6 12.6 2350.6 | 572.9 569.9 29.0 | 1.7 -999.3 2300.1 | 1999.0 996.1 2399.9\n",
+ "v_i | -40.41 0.20 -80.00 | 17.31 17.32 5.84 | -69.94 -29.98 -89.98 | -10.07 29.94 -70.00\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 5.7\n",
+ "norm_vf | 0.94 | 0.14 | 0.36 | 1.35\n",
+ "gs_f | 21.4 | 22.3 | 3.7 | 332.3\n",
+ "thrust | 1244 -3 9230 | 2957 2920 1972 | -15823 -17036 2000 | 16623 17070 19997\n",
+ "norm_thrust | 9904 | 3131 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 259 | 351\n",
+ "rewards | -2.75 | 4.99 | -29.37 | 3.91\n",
+ "fuel_rewards | -7.51 | 0.40 | -9.06 | -6.68\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.52 | 0.54 | 0.55 | 5.78\n",
+ "norm_af | 0.03 | 0.02 | 0.00 | 0.15\n",
+ "norm_wf | 0.10 | 0.06 | 0.01 | 0.40\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.51 | -10.97 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "attitude | 0.02 0.12 -0.00 | 0.36 0.21 0.20 | -1.29 -0.92 -1.05 | 1.59 1.05 1.15\n",
+ "w | -0.00 -0.01 -0.00 | 0.19 0.19 0.01 | -1.59 -2.40 -0.11 | 2.17 1.46 0.14\n",
+ "a_f | -0.01 0.00 | 0.03 0.03 | -0.11 -0.12 | 0.09 0.15\n",
+ "w_f | -0.00 -0.01 0.00 | 0.09 0.07 0.02 | -0.33 -0.29 -0.11 | 0.31 0.27 0.14\n",
+ "landing_rewards | 9.73 | 1.63 | 0.00 | 10.00\n",
+ "landing_margin | -0.11 | 0.07 | -0.19 | 1.25\n",
+ "tracking_rewards | -4.91 | 4.46 | -29.10 | 1.19\n",
+ "steps | 303 | 25 | 253 | 391\n",
+ "***** Episode 272731, Mean R = -2.5 Std R = 4.1 Min R = -17.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00135\n",
+ "PolicyEntropy: -7.46\n",
+ "PolicyLoss: -0.00211\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.55e+07\n",
+ "ValFuncLoss: 2.11e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010739784 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0391459 0.03772641 0.03709867 0.03591781]\n",
+ "FIT: 0.5259597478897459 2.712272434181982 0.019908741093646466 0.11916552646515548\n",
+ "***** Episode 272852, Mean R = -2.1 Std R = 4.3 Min R = -17.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -7.46\n",
+ "PolicyLoss: -0.003\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 7.55e+07\n",
+ "ValFuncLoss: 1.26e-05\n",
+ "Variance: 0.0391\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012036564 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03925815 0.03776845 0.03703674 0.03578251]\n",
+ "FIT: 0.5210852962592556 2.7261668487359745 0.02033764456092008 0.12029350628863825\n",
+ "***** Episode 272973, Mean R = -2.4 Std R = 4.6 Min R = -16.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: -7.46\n",
+ "PolicyLoss: -0.00271\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.55e+07\n",
+ "ValFuncLoss: 2.41e-05\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010826241 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03933745 0.03774663 0.03699205 0.03578525]\n",
+ "FIT: 0.553788273161631 2.7384944168053136 0.021209855551517578 0.12098714022366455\n",
+ "***** Episode 273094, Mean R = -2.8 Std R = 4.6 Min R = -20.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.996\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -7.46\n",
+ "PolicyLoss: -0.00318\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.56e+07\n",
+ "ValFuncLoss: 1.11e-05\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010911023 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03931418 0.03773828 0.03690461 0.03571399]\n",
+ "FIT: 0.6241728487180358 2.5449778467812796 0.021143121726152358 0.12016388719780631\n",
+ "***** Episode 273215, Mean R = -2.7 Std R = 5.0 Min R = -26.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -7.47\n",
+ "PolicyLoss: -0.00273\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.56e+07\n",
+ "ValFuncLoss: 1.32e-05\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009978334 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03932995 0.03768561 0.03683805 0.03564965]\n",
+ "FIT: 0.4743280535183919 2.5900317652913407 0.020346216411162254 0.11886205795531786\n",
+ "***** Episode 273336, Mean R = -2.2 Std R = 4.4 Min R = -15.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.993\n",
+ "KL: 0.000998\n",
+ "PolicyEntropy: -7.47\n",
+ "PolicyLoss: -0.0024\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 7.56e+07\n",
+ "ValFuncLoss: 1e-05\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001240362 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03939796 0.03765392 0.0367347 0.03568382]\n",
+ "FIT: 0.551268290585441 2.5891205177708043 0.022248360858718053 0.12233226775292343\n",
+ "***** Episode 273457, Mean R = -3.3 Std R = 5.1 Min R = -20.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.998\n",
+ "ExplainedVarOld: 0.993\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -7.47\n",
+ "PolicyLoss: -0.00321\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.57e+07\n",
+ "ValFuncLoss: 6.76e-06\n",
+ "Variance: 0.0394\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011614466 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03931559 0.03765945 0.03661959 0.03567961]\n",
+ "FIT: 0.5576183452027479 2.4915442989319767 0.01977260313343862 0.11865772770466251\n",
+ "***** Episode 273578, Mean R = -2.1 Std R = 4.5 Min R = -20.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -7.48\n",
+ "PolicyLoss: -0.00219\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 7.57e+07\n",
+ "ValFuncLoss: 1.89e-05\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013114209 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.0392228 0.03766906 0.03656169 0.03567751]\n",
+ "FIT: 0.6422691029938868 2.70667235372154 0.02189770897164737 0.11682553280172539\n",
+ "***** Episode 273699, Mean R = -2.9 Std R = 5.5 Min R = -27.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.992\n",
+ "KL: 0.00131\n",
+ "PolicyEntropy: -7.48\n",
+ "PolicyLoss: -0.00267\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 7.57e+07\n",
+ "ValFuncLoss: 1.57e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011259565 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03915711 0.03760234 0.03652556 0.0356041 ]\n",
+ "FIT: 0.4832969693688538 2.6510859576271955 0.020392023947208668 0.11855671902078323\n",
+ "***** Episode 273820, Mean R = -2.5 Std R = 4.3 Min R = -15.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -7.49\n",
+ "PolicyLoss: -0.00219\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 7.58e+07\n",
+ "ValFuncLoss: 1.8e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012942062 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03926911 0.03757387 0.03650256 0.03555063]\n",
+ "FIT: 0.5234150341185484 2.5129186164302793 0.020671374510592155 0.1226995479388907\n",
+ "Update Cnt = 2100 ET = 1023.4 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.4 -0.0 | 1.0 1.0 0.0 | -3.8 -3.9 -0.1 | 3.2 3.3 -0.0\n",
+ "v_f | 0.05 -0.08 -0.93 | 0.06 0.08 0.14 | -0.20 -0.47 -1.37 | 0.30 0.21 -0.25\n",
+ "r_i | 1016.7 22.5 2348.7 | 578.6 573.6 29.2 | 2.1 -997.2 2300.1 | 1996.7 999.8 2400.0\n",
+ "v_i | -39.59 0.27 -80.28 | 17.75 17.06 5.83 | -69.98 -29.95 -89.99 | -10.02 29.87 -70.02\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 4.8\n",
+ "norm_vf | 0.94 | 0.14 | 0.29 | 1.37\n",
+ "gs_f | 23.5 | 34.0 | 4.1 | 678.9\n",
+ "thrust | 1209 -7 9239 | 2919 2914 2004 | -16110 -16426 2000 | 16794 16921 19999\n",
+ "norm_thrust | 9898 | 3143 | 3464 | 20000\n",
+ "fuel | 292 | 16 | 262 | 349\n",
+ "rewards | -2.58 | 4.71 | -27.90 | 4.13\n",
+ "fuel_rewards | -7.53 | 0.41 | -9.00 | -6.75\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.54 | 0.58 | 0.56 | 5.78\n",
+ "norm_af | 0.03 | 0.02 | 0.00 | 0.12\n",
+ "norm_wf | 0.10 | 0.06 | 0.00 | 0.41\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.02 | 0.21 | -3.90 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 0.00 | 0.35 0.21 0.20 | -1.25 -0.93 -1.02 | 1.53 1.03 0.98\n",
+ "w | -0.00 -0.01 0.00 | 0.19 0.19 0.01 | -1.68 -2.52 -0.09 | 2.14 1.49 0.12\n",
+ "a_f | -0.01 0.00 | 0.02 0.03 | -0.09 -0.11 | 0.06 0.12\n",
+ "w_f | -0.01 -0.01 0.00 | 0.09 0.07 0.01 | -0.32 -0.37 -0.08 | 0.36 0.24 0.10\n",
+ "landing_rewards | 9.82 | 1.34 | 0.00 | 10.00\n",
+ "landing_margin | -0.11 | 0.06 | -0.20 | 0.91\n",
+ "tracking_rewards | -4.84 | 4.40 | -29.73 | 1.29\n",
+ "steps | 304 | 25 | 250 | 390\n",
+ "***** Episode 273941, Mean R = -2.8 Std R = 4.5 Min R = -16.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00129\n",
+ "PolicyEntropy: -7.49\n",
+ "PolicyLoss: -0.00223\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 7.58e+07\n",
+ "ValFuncLoss: 2.95e-05\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011180415 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03931592 0.03761296 0.03652629 0.03560815]\n",
+ "FIT: 0.5051778825221253 2.6193218664691558 0.02106425038191283 0.1190276432001799\n",
+ "***** Episode 274062, Mean R = -2.8 Std R = 4.6 Min R = -17.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -7.49\n",
+ "PolicyLoss: -0.00232\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 7.59e+07\n",
+ "ValFuncLoss: 1.57e-05\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.00117201 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03936242 0.03771243 0.03654533 0.035666 ]\n",
+ "FIT: 0.6990422492121612 2.60430770508197 0.02038312220041012 0.1209230501277676\n",
+ "***** Episode 274183, Mean R = -2.5 Std R = 5.0 Min R = -25.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -7.48\n",
+ "PolicyLoss: -0.00263\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.59e+07\n",
+ "ValFuncLoss: 2.39e-05\n",
+ "Variance: 0.0394\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012814368 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03936544 0.03773978 0.03649766 0.03558332]\n",
+ "FIT: 0.5530137562451771 2.8190795593263425 0.021061565169906888 0.11774283020390518\n",
+ "***** Episode 274304, Mean R = -2.5 Std R = 5.7 Min R = -20.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00128\n",
+ "PolicyEntropy: -7.48\n",
+ "PolicyLoss: -0.00258\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 7.59e+07\n",
+ "ValFuncLoss: 2.22e-05\n",
+ "Variance: 0.0394\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0015277482 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03931765 0.03780153 0.03653328 0.03553428]\n",
+ "FIT: 0.5930349622913794 2.7058892699941888 0.021116960375673295 0.12019160716650056\n",
+ "***** Episode 274425, Mean R = -3.0 Std R = 5.2 Min R = -25.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.983\n",
+ "ExplainedVarOld: 0.936\n",
+ "KL: 0.00153\n",
+ "PolicyEntropy: -7.48\n",
+ "PolicyLoss: -0.00201\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.6e+07\n",
+ "ValFuncLoss: 4.21e-05\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012737827 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03925291 0.03774533 0.03659165 0.0355843 ]\n",
+ "FIT: 0.5437554547673551 2.339794538567299 0.019681918372627588 0.11715952921189723\n",
+ "***** Episode 274546, Mean R = -1.8 Std R = 4.0 Min R = -16.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.997\n",
+ "ExplainedVarOld: 0.992\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -7.48\n",
+ "PolicyLoss: -0.00313\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 7.6e+07\n",
+ "ValFuncLoss: 6.49e-06\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012226154 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03922587 0.03775772 0.03664017 0.03565467]\n",
+ "FIT: 0.568855129189439 2.6677946629003793 0.021602679659333116 0.12196849137443548\n",
+ "***** Episode 274667, Mean R = -3.3 Std R = 5.7 Min R = -22.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -7.48\n",
+ "PolicyLoss: -0.00273\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 7.6e+07\n",
+ "ValFuncLoss: 5e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010713831 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03922976 0.03773819 0.03663429 0.03573409]\n",
+ "FIT: 0.6506764295341403 2.723166477465122 0.021215947423882442 0.11976991371257803\n",
+ "***** Episode 274788, Mean R = -2.9 Std R = 5.3 Min R = -23.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -7.48\n",
+ "PolicyLoss: -0.00263\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.61e+07\n",
+ "ValFuncLoss: 2.75e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011327327 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03916025 0.03772098 0.03660588 0.03573928]\n",
+ "FIT: 0.790290571007558 2.7009837236644914 0.022706337365629974 0.12167353547436603\n",
+ "***** Episode 274909, Mean R = -3.6 Std R = 6.3 Min R = -30.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -7.48\n",
+ "PolicyLoss: -0.00233\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 7.61e+07\n",
+ "ValFuncLoss: 1.99e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00087509013 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03908889 0.03769152 0.03658102 0.03571815]\n",
+ "FIT: 0.620557217276098 2.6183240087387927 0.020886592431126432 0.11449394461438711\n",
+ "***** Episode 275030, Mean R = -2.2 Std R = 5.6 Min R = -27.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.993\n",
+ "KL: 0.000875\n",
+ "PolicyEntropy: -7.48\n",
+ "PolicyLoss: -0.00245\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 7.62e+07\n",
+ "ValFuncLoss: 1.29e-05\n",
+ "Variance: 0.0391\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012687197 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03904813 0.03758657 0.03655468 0.03566144]\n",
+ "FIT: 0.6782487474307665 2.641338461926699 0.02026922944274972 0.1212427817566425\n",
+ "Update Cnt = 2110 ET = 1017.9 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.4 -0.0 | 1.0 1.0 0.0 | -4.2 -4.7 -0.1 | 4.3 3.1 -0.0\n",
+ "v_f | 0.04 -0.09 -0.93 | 0.05 0.08 0.14 | -0.16 -0.60 -1.37 | 0.33 0.23 -0.06\n",
+ "r_i | 985.9 23.1 2350.4 | 582.9 572.2 28.4 | 2.4 -998.5 2300.1 | 1999.0 994.2 2399.9\n",
+ "v_i | -40.49 0.55 -80.20 | 17.25 17.23 5.77 | -69.97 -29.92 -89.99 | -10.02 29.96 -70.03\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 6.1\n",
+ "norm_vf | 0.94 | 0.14 | 0.13 | 1.37\n",
+ "gs_f | 23.5 | 27.4 | 3.0 | 430.2\n",
+ "thrust | 1245 -15 9239 | 2915 2899 1985 | -15581 -17223 2000 | 16947 17240 20000\n",
+ "norm_thrust | 9900 | 3123 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 261 | 345\n",
+ "rewards | -2.68 | 5.34 | -30.86 | 3.89\n",
+ "fuel_rewards | -7.50 | 0.38 | -8.89 | -6.73\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.55 | 0.58 | 0.56 | 5.35\n",
+ "norm_af | 0.03 | 0.02 | 0.00 | 0.19\n",
+ "norm_wf | 0.10 | 0.06 | 0.01 | 0.66\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.10 | 0.74 | -13.09 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 0.00 | 0.35 0.21 0.20 | -1.32 -0.93 -1.05 | 1.64 1.07 1.14\n",
+ "w | -0.00 -0.01 0.00 | 0.19 0.19 0.01 | -1.83 -2.60 -0.11 | 2.17 1.44 0.15\n",
+ "a_f | -0.01 -0.00 | 0.02 0.03 | -0.09 -0.18 | 0.12 0.12\n",
+ "w_f | -0.00 -0.01 -0.00 | 0.09 0.07 0.02 | -0.63 -0.38 -0.11 | 0.38 0.23 0.15\n",
+ "landing_rewards | 9.72 | 1.65 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.13 | -0.19 | 1.96\n",
+ "tracking_rewards | -4.79 | 4.60 | -29.16 | 1.12\n",
+ "steps | 303 | 23 | 249 | 378\n",
+ "***** Episode 275151, Mean R = -2.3 Std R = 5.3 Min R = -24.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.969\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -7.49\n",
+ "PolicyLoss: -0.00248\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.62e+07\n",
+ "ValFuncLoss: 2.71e-05\n",
+ "Variance: 0.039\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011167331 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03905037 0.03751223 0.0364268 0.03560125]\n",
+ "FIT: 0.6353404246395642 2.8301155051855447 0.020908230253497098 0.11703721906213016\n",
+ "***** Episode 275272, Mean R = -2.5 Std R = 5.5 Min R = -28.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -7.5\n",
+ "PolicyLoss: -0.00236\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 7.62e+07\n",
+ "ValFuncLoss: 2.24e-05\n",
+ "Variance: 0.0391\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.000998509 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03909097 0.03750277 0.03638432 0.03560225]\n",
+ "FIT: 0.7739266012204724 2.5811568432283782 0.021714425622082256 0.12034590110555143\n",
+ "***** Episode 275393, Mean R = -2.9 Std R = 5.6 Min R = -27.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.96\n",
+ "KL: 0.000999\n",
+ "PolicyEntropy: -7.5\n",
+ "PolicyLoss: -0.00181\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 7.63e+07\n",
+ "ValFuncLoss: 2.22e-05\n",
+ "Variance: 0.0391\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009812159 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03914157 0.03747502 0.03631644 0.03558013]\n",
+ "FIT: 0.6560263766836735 2.8002411703043193 0.020246092179365505 0.11936671742445358\n",
+ "***** Episode 275514, Mean R = -2.2 Std R = 5.1 Min R = -28.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.000981\n",
+ "PolicyEntropy: -7.5\n",
+ "PolicyLoss: -0.00262\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.63e+07\n",
+ "ValFuncLoss: 2.56e-05\n",
+ "Variance: 0.0391\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011999543 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03922931 0.03751361 0.03640394 0.03546865]\n",
+ "FIT: 0.46971334420503924 2.5031958252230697 0.019196156676369317 0.11979962249912021\n",
+ "***** Episode 275635, Mean R = -1.9 Std R = 4.3 Min R = -20.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: -7.5\n",
+ "PolicyLoss: -0.00274\n",
+ "Steps: 3.74e+04\n",
+ "TotalSteps: 7.63e+07\n",
+ "ValFuncLoss: 1.88e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0010825495 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03926609 0.0375755 0.0364337 0.03543116]\n",
+ "FIT: 0.5884433360415355 2.8000570395374997 0.02094608981794228 0.12047625446336321\n",
+ "***** Episode 275756, Mean R = -2.5 Std R = 4.8 Min R = -20.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -7.5\n",
+ "PolicyLoss: -0.0027\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 7.64e+07\n",
+ "ValFuncLoss: 9.01e-06\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013117247 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03922213 0.03754083 0.03642771 0.03534076]\n",
+ "FIT: 0.49278442034520553 2.5940084633972136 0.019800211699618674 0.11925337619931912\n",
+ "***** Episode 275877, Mean R = -2.1 Std R = 4.3 Min R = -16.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00131\n",
+ "PolicyEntropy: -7.5\n",
+ "PolicyLoss: -0.00225\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.64e+07\n",
+ "ValFuncLoss: 2.8e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011268007 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03918283 0.03752102 0.03649786 0.03526265]\n",
+ "FIT: 0.5711304681061338 2.613710442859352 0.020444755007887283 0.1185795413764114\n",
+ "***** Episode 275998, Mean R = -2.3 Std R = 4.3 Min R = -19.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.998\n",
+ "ExplainedVarOld: 0.994\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -7.5\n",
+ "PolicyLoss: -0.00302\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.64e+07\n",
+ "ValFuncLoss: 4.94e-06\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010593871 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03923411 0.03756148 0.03662691 0.03528113]\n",
+ "FIT: 0.5821234672248252 2.3951355860621955 0.021732621703922157 0.12056201272577315\n",
+ "***** Episode 276119, Mean R = -3.0 Std R = 5.4 Min R = -19.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -7.5\n",
+ "PolicyLoss: -0.00312\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 7.65e+07\n",
+ "ValFuncLoss: 1.07e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013042274 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03933159 0.03761115 0.03667911 0.03530181]\n",
+ "FIT: 0.5681088376505177 2.5313873602511725 0.019952205413941417 0.1219668307525451\n",
+ "***** Episode 276240, Mean R = -2.1 Std R = 4.7 Min R = -22.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.0013\n",
+ "PolicyEntropy: -7.49\n",
+ "PolicyLoss: -0.00302\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 7.65e+07\n",
+ "ValFuncLoss: 1.24e-05\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.001274445 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03935216 0.0376131 0.03666667 0.03531203]\n",
+ "FIT: 0.6548432769857755 2.6609016144164532 0.020313157829696466 0.11862434810283094\n",
+ "Update Cnt = 2120 ET = 1021.7 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.4 -0.0 | 1.0 1.0 0.0 | -3.5 -4.4 -0.1 | 5.3 2.8 -0.0\n",
+ "v_f | 0.04 -0.08 -0.94 | 0.06 0.07 0.15 | -0.85 -0.68 -1.37 | 0.33 0.25 -0.28\n",
+ "r_i | 969.7 20.6 2349.2 | 576.3 575.9 28.8 | 0.7 -998.3 2300.0 | 1997.4 999.4 2400.0\n",
+ "v_i | -39.62 -0.51 -79.79 | 17.42 17.31 5.93 | -69.98 -29.93 -89.99 | -10.02 29.96 -70.02\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 5.4\n",
+ "norm_vf | 0.95 | 0.14 | 0.44 | 1.37\n",
+ "gs_f | 24.4 | 25.4 | 0.8 | 358.9\n",
+ "thrust | 1213 19 9220 | 2903 2858 1981 | -14873 -17168 2000 | 16644 17134 19996\n",
+ "norm_thrust | 9867 | 3103 | 3464 | 20000\n",
+ "fuel | 291 | 16 | 262 | 352\n",
+ "rewards | -2.36 | 4.92 | -28.84 | 4.00\n",
+ "fuel_rewards | -7.50 | 0.40 | -9.07 | -6.73\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.55 | 0.55 | 0.63 | 5.02\n",
+ "norm_af | 0.03 | 0.03 | 0.00 | 0.67\n",
+ "norm_wf | 0.10 | 0.06 | 0.01 | 0.74\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.09 | 0.74 | -14.85 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.11 -0.00 | 0.36 0.21 0.20 | -1.29 -0.87 -1.11 | 1.88 1.08 1.09\n",
+ "w | -0.00 -0.01 0.00 | 0.19 0.19 0.01 | -1.72 -2.34 -0.11 | 1.93 1.41 0.23\n",
+ "a_f | -0.01 0.00 | 0.03 0.03 | -0.11 -0.56 | 0.38 0.11\n",
+ "w_f | -0.00 -0.01 0.00 | 0.09 0.08 0.02 | -0.33 -0.35 -0.10 | 0.63 0.33 0.22\n",
+ "landing_rewards | 9.83 | 1.27 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.15 | -0.20 | 4.18\n",
+ "tracking_rewards | -4.60 | 4.44 | -30.63 | 1.17\n",
+ "steps | 304 | 24 | 249 | 389\n",
+ "***** Episode 276361, Mean R = -2.2 Std R = 5.0 Min R = -27.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -7.49\n",
+ "PolicyLoss: -0.00156\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 7.66e+07\n",
+ "ValFuncLoss: 1.27e-05\n",
+ "Variance: 0.0394\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010125317 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03928722 0.03761475 0.03661992 0.03530186]\n",
+ "FIT: 0.5608510231188715 2.794242696086175 0.022063901298182614 0.12275206141406642\n",
+ "***** Episode 276482, Mean R = -3.3 Std R = 5.3 Min R = -21.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -7.49\n",
+ "PolicyLoss: -0.00258\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.66e+07\n",
+ "ValFuncLoss: 1.83e-05\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013917295 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03922919 0.03759312 0.03661158 0.0353485 ]\n",
+ "FIT: 0.6745446388054939 2.84606181866217 0.019719966306359346 0.11571597510716823\n",
+ "***** Episode 276603, Mean R = -1.9 Std R = 5.1 Min R = -21.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00139\n",
+ "PolicyEntropy: -7.49\n",
+ "PolicyLoss: -0.00268\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.66e+07\n",
+ "ValFuncLoss: 1.93e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011073288 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03924233 0.03761558 0.03660821 0.03533146]\n",
+ "FIT: 0.852652483879851 2.693081530485096 0.0212684269124164 0.11920437388215188\n",
+ "***** Episode 276724, Mean R = -2.7 Std R = 5.8 Min R = -41.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -7.49\n",
+ "PolicyLoss: -0.00203\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.67e+07\n",
+ "ValFuncLoss: 1.22e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0010606099 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03924682 0.03769423 0.03659623 0.03521428]\n",
+ "FIT: 0.47978007771922837 2.6087952861338564 0.02078925663417713 0.12158944889279605\n",
+ "***** Episode 276845, Mean R = -2.7 Std R = 4.6 Min R = -15.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -7.49\n",
+ "PolicyLoss: -0.00254\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 7.67e+07\n",
+ "ValFuncLoss: 1.99e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0012682514 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03925204 0.03770224 0.0366209 0.03516515]\n",
+ "FIT: 0.5382819596428283 2.640773583356733 0.020993849810880958 0.12151012118191609\n",
+ "***** Episode 276966, Mean R = -2.8 Std R = 5.0 Min R = -20.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -7.49\n",
+ "PolicyLoss: -0.00276\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 7.67e+07\n",
+ "ValFuncLoss: 2.65e-05\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013808662 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03934261 0.03770946 0.0365467 0.03517248]\n",
+ "FIT: 0.6099556227406748 2.8656898752960553 0.01971960859691078 0.11930993661697775\n",
+ "***** Episode 277087, Mean R = -2.1 Std R = 4.6 Min R = -19.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00138\n",
+ "PolicyEntropy: -7.49\n",
+ "PolicyLoss: -0.00251\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.68e+07\n",
+ "ValFuncLoss: 2.63e-05\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0014351164 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03936755 0.03769464 0.03647243 0.03513985]\n",
+ "FIT: 0.5217096788814354 2.582976685410475 0.021226069229109645 0.11887666873059011\n",
+ "***** Episode 277208, Mean R = -2.9 Std R = 4.7 Min R = -18.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00144\n",
+ "PolicyEntropy: -7.5\n",
+ "PolicyLoss: -0.00273\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 7.68e+07\n",
+ "ValFuncLoss: 1.43e-05\n",
+ "Variance: 0.0394\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0011741371 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03938716 0.03762701 0.03642564 0.03509665]\n",
+ "FIT: 0.6172528912433873 2.586196119940198 0.020409088248725255 0.1162480518440876\n",
+ "***** Episode 277329, Mean R = -2.0 Std R = 4.9 Min R = -26.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.997\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -7.5\n",
+ "PolicyLoss: -0.00176\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 7.68e+07\n",
+ "ValFuncLoss: 6.04e-06\n",
+ "Variance: 0.0394\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0009869979 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03951606 0.03771298 0.03642498 0.03512191]\n",
+ "FIT: 0.5561470481818678 2.6657019597307463 0.019845860867838898 0.12105319310932876\n",
+ "***** Episode 277450, Mean R = -2.0 Std R = 4.8 Min R = -21.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.998\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.000987\n",
+ "PolicyEntropy: -7.49\n",
+ "PolicyLoss: -0.00284\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 7.69e+07\n",
+ "ValFuncLoss: 4.1e-06\n",
+ "Variance: 0.0395\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.00091316056 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03951598 0.03774894 0.0364612 0.03513185]\n",
+ "FIT: 0.6762434395325096 2.838001728349668 0.02152450908397826 0.11907389313927415\n",
+ "Update Cnt = 2130 ET = 1025.7 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.4 -0.0 | 1.0 0.9 0.0 | -3.6 -4.6 -0.1 | 3.1 3.1 -0.0\n",
+ "v_f | 0.05 -0.08 -0.94 | 0.05 0.07 0.14 | -0.23 -0.43 -1.35 | 0.43 0.27 -0.35\n",
+ "r_i | 1015.3 -16.0 2350.1 | 585.0 574.3 29.7 | 0.1 -997.3 2300.0 | 1998.9 999.4 2400.0\n",
+ "v_i | -40.26 -0.50 -79.90 | 17.70 17.33 5.80 | -69.92 -29.98 -90.00 | -10.37 29.99 -70.02\n",
+ "norm_rf | 1.2 | 0.7 | 0.0 | 4.6\n",
+ "norm_vf | 0.95 | 0.14 | 0.42 | 1.36\n",
+ "gs_f | 24.6 | 31.5 | 3.5 | 696.2\n",
+ "thrust | 1230 22 9227 | 2933 2836 1993 | -14955 -16975 2000 | 16751 16566 19997\n",
+ "norm_thrust | 9880 | 3108 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 261 | 357\n",
+ "rewards | -2.52 | 5.06 | -41.36 | 4.35\n",
+ "fuel_rewards | -7.53 | 0.40 | -9.19 | -6.73\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.51 | 0.55 | 0.63 | 7.21\n",
+ "norm_af | 0.03 | 0.02 | 0.00 | 0.15\n",
+ "norm_wf | 0.10 | 0.06 | 0.01 | 0.52\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.67 | -14.80 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.12 0.00 | 0.35 0.21 0.20 | -1.22 -1.02 -1.05 | 1.60 1.05 1.14\n",
+ "w | -0.00 -0.01 0.00 | 0.19 0.19 0.01 | -1.66 -2.40 -0.08 | 2.30 1.35 0.13\n",
+ "a_f | -0.01 0.00 | 0.02 0.03 | -0.10 -0.13 | 0.14 0.09\n",
+ "w_f | -0.00 -0.01 0.00 | 0.09 0.07 0.02 | -0.28 -0.28 -0.08 | 0.52 0.22 0.13\n",
+ "landing_rewards | 9.85 | 1.21 | 0.00 | 10.00\n",
+ "landing_margin | -0.11 | 0.08 | -0.19 | 1.53\n",
+ "tracking_rewards | -4.77 | 4.63 | -28.92 | 1.35\n",
+ "steps | 304 | 26 | 252 | 387\n",
+ "***** Episode 277571, Mean R = -2.8 Std R = 5.5 Min R = -22.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.000913\n",
+ "PolicyEntropy: -7.49\n",
+ "PolicyLoss: -0.00235\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.69e+07\n",
+ "ValFuncLoss: 1.16e-05\n",
+ "Variance: 0.0395\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011815086 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03956009 0.03771523 0.03653263 0.0350986 ]\n",
+ "FIT: 0.47146376561139697 2.61539610686997 0.019658632671817163 0.12174334466282026\n",
+ "***** Episode 277692, Mean R = -1.9 Std R = 4.1 Min R = -15.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -7.49\n",
+ "PolicyLoss: -0.00305\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 7.7e+07\n",
+ "ValFuncLoss: 1.16e-05\n",
+ "Variance: 0.0396\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0013380764 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03948471 0.03756699 0.03656369 0.03503507]\n",
+ "FIT: 0.49349207380405735 2.5577479265375627 0.019327062159092953 0.11617302012887909\n",
+ "***** Episode 277813, Mean R = -1.6 Std R = 4.4 Min R = -16.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00134\n",
+ "PolicyEntropy: -7.5\n",
+ "PolicyLoss: -0.00235\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.7e+07\n",
+ "ValFuncLoss: 2.03e-05\n",
+ "Variance: 0.0395\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ "kl = 0.0011971003 beta = 0.1 lr_mult = 0.2962962962962963\n",
+ "var: [0.03952314 0.03751516 0.03657823 0.03494364]\n",
+ "FIT: 0.6446002639214239 2.8295942571308075 0.021658796092276226 0.11806131091196542\n",
+ "***** Episode 277934, Mean R = -2.9 Std R = 5.4 Min R = -23.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: -7.5\n",
+ "PolicyLoss: -0.00253\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 7.7e+07\n",
+ "ValFuncLoss: 2.03e-05\n",
+ "Variance: 0.0395\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ " *** BROKE ***\n",
+ "kl = 0.004577013 beta = 0.06666666666666667 lr_mult = 0.2962962962962963\n",
+ "var: [0.03955274 0.0374953 0.0365574 0.03492885]\n",
+ "FIT: 0.5380071958905275 2.676117763994211 0.020170397722172457 0.11954607735146706\n",
+ "***** Episode 278055, Mean R = -2.4 Std R = 4.7 Min R = -20.5\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00458\n",
+ "PolicyEntropy: -7.5\n",
+ "PolicyLoss: 0.00224\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.71e+07\n",
+ "ValFuncLoss: 3.09e-05\n",
+ "Variance: 0.0396\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ " *** BROKE ***\n",
+ "kl = 0.0054475376 beta = 0.044444444444444446 lr_mult = 0.2962962962962963\n",
+ "var: [0.03955019 0.03748747 0.03655124 0.03492911]\n",
+ "FIT: 0.8481124429748982 2.6815248551871145 0.021006209781508123 0.1210885812714275\n",
+ "***** Episode 278176, Mean R = -2.8 Std R = 5.8 Min R = -33.7\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00545\n",
+ "PolicyEntropy: -7.5\n",
+ "PolicyLoss: 0.00671\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 7.71e+07\n",
+ "ValFuncLoss: 4.11e-05\n",
+ "Variance: 0.0396\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ " *** BROKE ***\n",
+ "kl = 0.0063575027 beta = 0.02962962962962963 lr_mult = 0.2962962962962963\n",
+ "var: [0.03954589 0.03748151 0.03654712 0.03492803]\n",
+ "FIT: 0.536616427047495 2.7401105924875284 0.022830471359347057 0.12095219143874973\n",
+ "***** Episode 278297, Mean R = -4.0 Std R = 5.6 Min R = -19.9\n",
+ "Beta: 0.0296\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.974\n",
+ "KL: 0.00636\n",
+ "PolicyEntropy: -7.5\n",
+ "PolicyLoss: 0.0101\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.71e+07\n",
+ "ValFuncLoss: 4.25e-05\n",
+ "Variance: 0.0395\n",
+ "lr_multiplier: 0.296\n",
+ "\n",
+ "\n",
+ " *** BROKE ***\n",
+ "kl = 0.0052635306 beta = 0.019753086419753086 lr_mult = 0.19753086419753085\n",
+ "var: [0.03954277 0.0374791 0.03654336 0.03492732]\n",
+ "FIT: 0.5506959076859231 2.8579572938289637 0.021775284014327174 0.1227858218238033\n",
+ "***** Episode 278418, Mean R = -3.0 Std R = 5.5 Min R = -21.1\n",
+ "Beta: 0.0198\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.00526\n",
+ "PolicyEntropy: -7.5\n",
+ "PolicyLoss: 0.0134\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.72e+07\n",
+ "ValFuncLoss: 1.38e-05\n",
+ "Variance: 0.0395\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.00094658433 beta = 0.019753086419753086 lr_mult = 0.19753086419753085\n",
+ "var: [0.03953672 0.03748788 0.03657427 0.03494636]\n",
+ "FIT: 0.7474771628574163 2.6489535137671507 0.02000078221690535 0.11683456774657901\n",
+ "***** Episode 278539, Mean R = -2.1 Std R = 5.1 Min R = -30.1\n",
+ "Beta: 0.0198\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.957\n",
+ "KL: 0.000947\n",
+ "PolicyEntropy: -7.5\n",
+ "PolicyLoss: 0.00221\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 7.72e+07\n",
+ "ValFuncLoss: 2.3e-05\n",
+ "Variance: 0.0395\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.00022022537 beta = 0.02962962962962963 lr_mult = 0.19753086419753085\n",
+ "var: [0.03949721 0.03746533 0.03657648 0.03495692]\n",
+ "FIT: 0.5280959675855318 2.751608053591634 0.02001718858111645 0.12280938594132347\n",
+ "***** Episode 278660, Mean R = -2.3 Std R = 4.8 Min R = -17.8\n",
+ "Beta: 0.0296\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.00022\n",
+ "PolicyEntropy: -7.5\n",
+ "PolicyLoss: 0.000565\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 7.73e+07\n",
+ "ValFuncLoss: 1.61e-05\n",
+ "Variance: 0.0395\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.00012188182 beta = 0.044444444444444446 lr_mult = 0.19753086419753085\n",
+ "var: [0.03947227 0.03743424 0.03660475 0.0349349 ]\n",
+ "FIT: 0.5157282725045863 2.529997667937751 0.02052345018860934 0.11915226585432824\n",
+ "Update Cnt = 2140 ET = 1012.1 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.0 -0.4 -0.0 | 1.0 1.0 0.0 | -4.5 -4.2 -0.1 | 3.7 5.1 -0.0\n",
+ "v_f | 0.04 -0.08 -0.94 | 0.09 0.07 0.14 | -0.36 -0.89 -1.36 | 2.45 0.17 -0.23\n",
+ "r_i | 996.1 6.0 2350.4 | 572.1 575.0 28.6 | 1.2 -1000.0 2300.0 | 1998.4 999.5 2399.9\n",
+ "v_i | -39.71 0.39 -79.99 | 17.22 17.66 5.72 | -69.95 -29.98 -89.99 | -10.01 29.98 -70.02\n",
+ "norm_rf | 1.2 | 0.8 | 0.1 | 5.7\n",
+ "norm_vf | 0.95 | 0.15 | 0.37 | 2.65\n",
+ "gs_f | 23.1 | 20.1 | 0.4 | 306.0\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "thrust | 1214 -9 9222 | 2869 2953 1979 | -15728 -16626 2000 | 16478 17301 19987\n",
+ "norm_thrust | 9879 | 3128 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 262 | 370\n",
+ "rewards | -2.53 | 5.13 | -33.71 | 4.41\n",
+ "fuel_rewards | -7.52 | 0.38 | -9.54 | -6.75\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.54 | 0.51 | 0.44 | 4.46\n",
+ "norm_af | 0.03 | 0.03 | 0.00 | 0.64\n",
+ "norm_wf | 0.10 | 0.07 | 0.01 | 1.09\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.61 | -13.63 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.12 0.00 | 0.36 0.20 0.20 | -1.24 -0.92 -1.06 | 1.98 1.09 1.08\n",
+ "w | 0.00 -0.01 0.00 | 0.19 0.19 0.01 | -1.71 -2.41 -0.10 | 2.15 1.70 0.23\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.51 -0.38 | 0.11 0.14\n",
+ "w_f | -0.00 -0.01 0.00 | 0.09 0.08 0.02 | -0.78 -0.38 -0.09 | 0.34 0.74 0.22\n",
+ "landing_rewards | 9.74 | 1.58 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.15 | -0.19 | 4.56\n",
+ "tracking_rewards | -4.69 | 4.55 | -31.98 | 1.50\n",
+ "steps | 304 | 24 | 249 | 392\n",
+ "***** Episode 278781, Mean R = -2.4 Std R = 5.3 Min R = -22.3\n",
+ "Beta: 0.0444\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.000122\n",
+ "PolicyEntropy: -7.5\n",
+ "PolicyLoss: -0.000609\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 7.73e+07\n",
+ "ValFuncLoss: 1.41e-05\n",
+ "Variance: 0.0395\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.00028955084 beta = 0.06666666666666667 lr_mult = 0.19753086419753085\n",
+ "var: [0.03952826 0.03738321 0.0366382 0.03492197]\n",
+ "FIT: 0.5825704385118393 2.5358859128167426 0.020518406169025363 0.11706818941708004\n",
+ "***** Episode 278902, Mean R = -2.3 Std R = 5.0 Min R = -20.4\n",
+ "Beta: 0.0667\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00029\n",
+ "PolicyEntropy: -7.5\n",
+ "PolicyLoss: -0.00108\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.73e+07\n",
+ "ValFuncLoss: 2.55e-05\n",
+ "Variance: 0.0395\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.00039516768 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03954567 0.03741276 0.03663573 0.03500007]\n",
+ "FIT: 0.4424009261611756 2.5216089788088993 0.01985227690630072 0.1204146602471744\n",
+ "***** Episode 279023, Mean R = -1.9 Std R = 4.3 Min R = -14.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.997\n",
+ "ExplainedVarOld: 0.994\n",
+ "KL: 0.000395\n",
+ "PolicyEntropy: -7.5\n",
+ "PolicyLoss: -0.0022\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.74e+07\n",
+ "ValFuncLoss: 6.2e-06\n",
+ "Variance: 0.0395\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0008499706 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03953804 0.03748309 0.03665948 0.03502178]\n",
+ "FIT: 0.44754067288530264 2.500907048088677 0.019065841928165482 0.12003379155494137\n",
+ "***** Episode 279144, Mean R = -1.9 Std R = 4.1 Min R = -12.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.984\n",
+ "ExplainedVarOld: 0.969\n",
+ "KL: 0.00085\n",
+ "PolicyEntropy: -7.5\n",
+ "PolicyLoss: -0.0018\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 7.74e+07\n",
+ "ValFuncLoss: 2.96e-05\n",
+ "Variance: 0.0395\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0012094028 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03961217 0.03750728 0.03666211 0.03505917]\n",
+ "FIT: 0.4762562403308359 2.456045228744928 0.02038226639144269 0.12010025420139657\n",
+ "***** Episode 279265, Mean R = -2.2 Std R = 4.6 Min R = -21.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -7.49\n",
+ "PolicyLoss: -0.00309\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 7.74e+07\n",
+ "ValFuncLoss: 1.02e-05\n",
+ "Variance: 0.0396\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.00095256977 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03959079 0.03745301 0.03665309 0.03505618]\n",
+ "FIT: 0.4962808453005117 2.4489686920347866 0.018977754330949673 0.11705519202112259\n",
+ "***** Episode 279386, Mean R = -1.4 Std R = 4.1 Min R = -16.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.997\n",
+ "ExplainedVarOld: 0.995\n",
+ "KL: 0.000953\n",
+ "PolicyEntropy: -7.5\n",
+ "PolicyLoss: -0.00246\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 7.75e+07\n",
+ "ValFuncLoss: 5e-06\n",
+ "Variance: 0.0396\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011310198 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03955848 0.03740739 0.03667574 0.03503569]\n",
+ "FIT: 0.5557930257949382 2.65579207842047 0.021333969697273667 0.11842231963612838\n",
+ "***** Episode 279507, Mean R = -2.7 Std R = 5.8 Min R = -26.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -7.5\n",
+ "PolicyLoss: -0.00201\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.75e+07\n",
+ "ValFuncLoss: 3.2e-05\n",
+ "Variance: 0.0396\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.00091208704 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03951772 0.03740775 0.03665282 0.03508225]\n",
+ "FIT: 0.5930507565740213 2.7405941337391573 0.0207297323137667 0.11863114613596927\n",
+ "***** Episode 279628, Mean R = -2.4 Std R = 4.8 Min R = -22.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.993\n",
+ "KL: 0.000912\n",
+ "PolicyEntropy: -7.5\n",
+ "PolicyLoss: -0.00246\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.75e+07\n",
+ "ValFuncLoss: 1.03e-05\n",
+ "Variance: 0.0395\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0012311739 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.0395298 0.03742582 0.03667579 0.03506017]\n",
+ "FIT: 0.6899690415266471 2.512610275295746 0.020468681930193706 0.11759809326263357\n",
+ "***** Episode 279749, Mean R = -2.4 Std R = 5.8 Min R = -35.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -7.5\n",
+ "PolicyLoss: -0.00227\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 7.76e+07\n",
+ "ValFuncLoss: 2.4e-05\n",
+ "Variance: 0.0395\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0008939565 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03954295 0.03741096 0.036639 0.03504255]\n",
+ "FIT: 0.5279337025673443 2.5017607897244662 0.02104754942010045 0.12362382112261354\n",
+ "***** Episode 279870, Mean R = -2.9 Std R = 5.0 Min R = -17.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.000894\n",
+ "PolicyEntropy: -7.5\n",
+ "PolicyLoss: -0.00255\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.76e+07\n",
+ "ValFuncLoss: 1.87e-05\n",
+ "Variance: 0.0395\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0010971721 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03950912 0.03745553 0.03658255 0.03506093]\n",
+ "FIT: 0.5123986711477398 2.568259955928795 0.020239906638919086 0.11653515999659367\n",
+ "Update Cnt = 2150 ET = 1020.5 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.4 -0.0 | 1.0 1.0 0.0 | -4.5 -4.4 -0.1 | 4.1 3.0 -0.0\n",
+ "v_f | 0.04 -0.07 -0.94 | 0.10 0.07 0.14 | -0.34 -0.43 -1.39 | 2.82 0.25 -0.29\n",
+ "r_i | 965.6 3.7 2350.7 | 573.9 577.8 29.7 | 0.0 -998.3 2300.0 | 1995.8 999.2 2400.0\n",
+ "v_i | -39.56 -0.77 -79.79 | 17.37 17.25 5.79 | -69.77 -30.00 -90.00 | -10.00 29.97 -70.01\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 5.1\n",
+ "norm_vf | 0.95 | 0.15 | 0.42 | 3.00\n",
+ "gs_f | 25.5 | 45.8 | 0.5 | 1333.7\n",
+ "thrust | 1214 30 9230 | 2872 2851 1977 | -14867 -17858 2000 | 16734 17313 19998\n",
+ "norm_thrust | 9868 | 3092 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 261 | 370\n",
+ "rewards | -2.23 | 4.85 | -35.63 | 3.93\n",
+ "fuel_rewards | -7.50 | 0.40 | -9.53 | -6.71\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.57 | 0.60 | 0.42 | 6.49\n",
+ "norm_af | 0.03 | 0.03 | 0.00 | 0.85\n",
+ "norm_wf | 0.10 | 0.07 | 0.01 | 1.09\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.35 | -4.80 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.11 -0.00 | 0.35 0.20 0.20 | -1.20 -0.97 -1.04 | 2.13 1.07 1.15\n",
+ "w | -0.00 -0.01 0.00 | 0.19 0.19 0.01 | -1.71 -2.47 -0.08 | 2.10 1.65 0.22\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.83 -0.11 | 0.13 0.18\n",
+ "w_f | -0.00 -0.01 0.00 | 0.09 0.07 0.02 | -0.99 -0.33 -0.07 | 0.39 0.42 0.19\n",
+ "landing_rewards | 9.80 | 1.39 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.16 | -0.19 | 4.46\n",
+ "tracking_rewards | -4.48 | 4.30 | -24.41 | 1.15\n",
+ "steps | 303 | 24 | 249 | 398\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 279991, Mean R = -2.1 Std R = 4.5 Min R = -16.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -7.5\n",
+ "PolicyLoss: -0.00269\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.77e+07\n",
+ "ValFuncLoss: 1.55e-05\n",
+ "Variance: 0.0395\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.00087009376 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03937126 0.03744572 0.03649783 0.03508439]\n",
+ "FIT: 0.5687345039866546 2.5587497396043126 0.02113494844569576 0.11795440038887618\n",
+ "***** Episode 280112, Mean R = -2.5 Std R = 4.6 Min R = -20.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.997\n",
+ "ExplainedVarOld: 0.993\n",
+ "KL: 0.00087\n",
+ "PolicyEntropy: -7.5\n",
+ "PolicyLoss: -0.00246\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 7.77e+07\n",
+ "ValFuncLoss: 6.89e-06\n",
+ "Variance: 0.0394\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0013360812 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03925382 0.03738102 0.03646532 0.0350701 ]\n",
+ "FIT: 0.4510921430267124 2.508633841923402 0.020353030392326932 0.11943454002137935\n",
+ "***** Episode 280233, Mean R = -2.3 Std R = 4.2 Min R = -17.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.972\n",
+ "KL: 0.00134\n",
+ "PolicyEntropy: -7.51\n",
+ "PolicyLoss: -0.0026\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.77e+07\n",
+ "ValFuncLoss: 9.52e-06\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.001091579 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03921863 0.03738094 0.03639304 0.03505011]\n",
+ "FIT: 0.48452308785739195 2.6090732581560845 0.018890868820420705 0.11578616258942363\n",
+ "***** Episode 280354, Mean R = -1.4 Std R = 3.8 Min R = -15.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.992\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -7.51\n",
+ "PolicyLoss: -0.00238\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.78e+07\n",
+ "ValFuncLoss: 1.06e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011403651 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03920793 0.0373629 0.03631657 0.03503115]\n",
+ "FIT: 0.5428105430458984 2.4173358807992678 0.02052924065239981 0.11928455393829218\n",
+ "***** Episode 280475, Mean R = -2.4 Std R = 4.4 Min R = -20.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -7.52\n",
+ "PolicyLoss: -0.00248\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 7.78e+07\n",
+ "ValFuncLoss: 1.68e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0008627704 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03912015 0.03734778 0.03623514 0.03499912]\n",
+ "FIT: 0.5923827514958124 2.784490683511202 0.020378005908013794 0.11855113827730962\n",
+ "***** Episode 280596, Mean R = -2.3 Std R = 5.0 Min R = -25.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.000863\n",
+ "PolicyEntropy: -7.52\n",
+ "PolicyLoss: -0.00273\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 7.78e+07\n",
+ "ValFuncLoss: 1.03e-05\n",
+ "Variance: 0.0391\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.00090212375 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03904235 0.03737716 0.03620078 0.03502094]\n",
+ "FIT: 0.5256281877462387 2.694626021679517 0.021013569100262745 0.12063441854050762\n",
+ "***** Episode 280717, Mean R = -2.5 Std R = 4.9 Min R = -21.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.997\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.000902\n",
+ "PolicyEntropy: -7.52\n",
+ "PolicyLoss: -0.00229\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.79e+07\n",
+ "ValFuncLoss: 1.01e-05\n",
+ "Variance: 0.039\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0010354322 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.0390448 0.03740063 0.03617633 0.0350332 ]\n",
+ "FIT: 0.5339513624405543 2.5947023079049636 0.020585822756231918 0.11619961861912992\n",
+ "***** Episode 280838, Mean R = -2.2 Std R = 4.7 Min R = -19.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.992\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -7.52\n",
+ "PolicyLoss: -0.00243\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 7.79e+07\n",
+ "ValFuncLoss: 1.11e-05\n",
+ "Variance: 0.039\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0008886896 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03904833 0.03741223 0.03612183 0.03501253]\n",
+ "FIT: 0.6569930302954122 2.472520943313309 0.02029926054274901 0.1198165272187157\n",
+ "***** Episode 280959, Mean R = -2.4 Std R = 5.0 Min R = -25.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.000889\n",
+ "PolicyEntropy: -7.53\n",
+ "PolicyLoss: -0.00214\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.8e+07\n",
+ "ValFuncLoss: 2.28e-05\n",
+ "Variance: 0.039\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0014433286 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03908114 0.03740305 0.03610156 0.03500626]\n",
+ "FIT: 0.8868835398792471 2.662382484768226 0.02167139190508253 0.12333518686988684\n",
+ "***** Episode 281080, Mean R = -3.1 Std R = 6.5 Min R = -31.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00144\n",
+ "PolicyEntropy: -7.53\n",
+ "PolicyLoss: -0.00328\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.8e+07\n",
+ "ValFuncLoss: 2.2e-05\n",
+ "Variance: 0.0391\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0008502931 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.0391032 0.03742288 0.03608533 0.03500425]\n",
+ "FIT: 0.6212512331631187 2.6725241085029308 0.020410845838979653 0.12111426352695075\n",
+ "Update Cnt = 2160 ET = 1024.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.4 -0.0 | 1.0 1.1 0.0 | -3.8 -4.9 -0.1 | 10.2 11.9 1.3\n",
+ "v_f | 0.04 -0.06 -0.95 | 0.06 0.16 0.14 | -0.20 -0.48 -1.35 | 0.62 4.80 -0.15\n",
+ "r_i | 1009.8 17.5 2349.8 | 571.8 578.1 28.9 | 0.5 -999.4 2300.2 | 1999.0 995.3 2399.7\n",
+ "v_i | -40.28 0.10 -80.27 | 17.17 16.74 5.75 | -69.98 -29.99 -90.00 | -10.01 29.99 -70.03\n",
+ "norm_rf | 1.2 | 0.9 | 0.1 | 15.7\n",
+ "norm_vf | 0.96 | 0.18 | 0.34 | 4.84\n",
+ "gs_f | 26.8 | 34.2 | 0.1 | 526.5\n",
+ "thrust | 1233 1 9233 | 2898 2877 2001 | -15514 -17200 2000 | 16596 16925 19998\n",
+ "norm_thrust | 9884 | 3124 | 3464 | 20000\n",
+ "fuel | 292 | 16 | 259 | 472\n",
+ "rewards | -2.35 | 4.83 | -30.99 | 3.63\n",
+ "fuel_rewards | -7.52 | 0.42 | -12.18 | -6.66\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.53 | 0.53 | 0.11 | 5.51\n",
+ "norm_af | 0.03 | 0.04 | 0.00 | 1.10\n",
+ "norm_wf | 0.10 | 0.07 | 0.00 | 1.44\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.61 | -11.30 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.12 0.00 | 0.35 0.20 0.20 | -1.22 -0.88 -1.08 | 2.00 1.04 1.20\n",
+ "w | -0.00 -0.01 0.00 | 0.19 0.19 0.02 | -1.60 -2.36 -0.07 | 2.07 1.44 0.33\n",
+ "a_f | -0.01 0.00 | 0.02 0.04 | -0.12 -0.15 | 0.20 1.08\n",
+ "w_f | -0.00 -0.01 0.00 | 0.09 0.08 0.02 | -0.36 -1.23 -0.06 | 0.68 0.24 0.33\n",
+ "landing_rewards | 9.86 | 1.18 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.32 | -0.19 | 10.67\n",
+ "tracking_rewards | -4.62 | 4.35 | -32.97 | 1.17\n",
+ "steps | 304 | 25 | 245 | 601\n",
+ "***** Episode 281201, Mean R = -2.4 Std R = 4.5 Min R = -25.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.00085\n",
+ "PolicyEntropy: -7.53\n",
+ "PolicyLoss: -0.00268\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 7.8e+07\n",
+ "ValFuncLoss: 2.97e-05\n",
+ "Variance: 0.0391\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0010967844 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03909152 0.03734523 0.03607079 0.0349123 ]\n",
+ "FIT: 0.4825162692465985 2.6848620991281873 0.020135580425371356 0.11915412467227514\n",
+ "***** Episode 281322, Mean R = -2.2 Std R = 4.3 Min R = -15.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -7.53\n",
+ "PolicyLoss: -0.00219\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.81e+07\n",
+ "ValFuncLoss: 2.54e-05\n",
+ "Variance: 0.0391\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0012526689 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03911991 0.0372775 0.03605582 0.0348505 ]\n",
+ "FIT: 0.6819174267293041 2.6508036978176 0.021031576155810455 0.11849524119294047\n",
+ "***** Episode 281443, Mean R = -2.6 Std R = 5.6 Min R = -29.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00125\n",
+ "PolicyEntropy: -7.53\n",
+ "PolicyLoss: -0.00256\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 7.81e+07\n",
+ "ValFuncLoss: 1.51e-05\n",
+ "Variance: 0.0391\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011197918 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03920684 0.03725566 0.0360557 0.03490227]\n",
+ "FIT: 0.5278841494996498 2.7489933846942867 0.02007035871473478 0.12048599444503386\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 281564, Mean R = -2.2 Std R = 4.8 Min R = -23.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -7.53\n",
+ "PolicyLoss: -0.002\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.81e+07\n",
+ "ValFuncLoss: 1.98e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0012915505 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03924804 0.03722334 0.03606854 0.0348994 ]\n",
+ "FIT: 0.468907215089579 2.514576273051642 0.020166088862393405 0.11896008639007669\n",
+ "***** Episode 281685, Mean R = -2.2 Std R = 4.9 Min R = -20.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00129\n",
+ "PolicyEntropy: -7.53\n",
+ "PolicyLoss: -0.00234\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.82e+07\n",
+ "ValFuncLoss: 2.33e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0008488049 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.0393021 0.03725885 0.03610344 0.03490374]\n",
+ "FIT: 0.6346808159855754 2.682657683986148 0.021846990576715186 0.11894297204160649\n",
+ "***** Episode 281806, Mean R = -2.9 Std R = 5.3 Min R = -27.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.998\n",
+ "ExplainedVarOld: 0.993\n",
+ "KL: 0.000849\n",
+ "PolicyEntropy: -7.53\n",
+ "PolicyLoss: -0.00275\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 7.82e+07\n",
+ "ValFuncLoss: 4.13e-06\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0012723535 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03930873 0.03728945 0.03616153 0.03496382]\n",
+ "FIT: 0.4522782973789893 2.4451706574748924 0.01926014468879151 0.11877792362376917\n",
+ "***** Episode 281927, Mean R = -1.7 Std R = 4.4 Min R = -23.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -7.52\n",
+ "PolicyLoss: -0.00274\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 7.82e+07\n",
+ "ValFuncLoss: 1.14e-05\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0012061143 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03926067 0.03727699 0.0361485 0.03497915]\n",
+ "FIT: 0.636380299834032 2.7529454680729972 0.02173664467807905 0.12040578894552785\n",
+ "***** Episode 282048, Mean R = -3.0 Std R = 5.7 Min R = -26.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.974\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -7.52\n",
+ "PolicyLoss: -0.00232\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 7.83e+07\n",
+ "ValFuncLoss: 2.24e-05\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0014433466 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03925746 0.03724314 0.03616646 0.03497288]\n",
+ "FIT: 0.5546851159353723 2.526604580035084 0.020686088054304864 0.11658527216073475\n",
+ "***** Episode 282169, Mean R = -2.4 Std R = 4.9 Min R = -26.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.00144\n",
+ "PolicyEntropy: -7.52\n",
+ "PolicyLoss: -0.00225\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.83e+07\n",
+ "ValFuncLoss: 1.57e-05\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0008332962 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03921907 0.03724369 0.03619128 0.03492539]\n",
+ "FIT: 0.6494471888427195 2.806702222602387 0.021655605314244403 0.12351348005318193\n",
+ "***** Episode 282290, Mean R = -3.1 Std R = 5.5 Min R = -33.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.000833\n",
+ "PolicyEntropy: -7.53\n",
+ "PolicyLoss: -0.00215\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.84e+07\n",
+ "ValFuncLoss: 1.9e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0012486298 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03921079 0.03733172 0.03626241 0.03489446]\n",
+ "FIT: 0.5114403831155753 2.5762929933889716 0.020526069619604334 0.11912661506712158\n",
+ "Update Cnt = 2170 ET = 1019.2 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.4 -0.0 | 1.0 1.0 0.0 | -5.4 -4.6 -0.1 | 3.3 3.8 -0.0\n",
+ "v_f | 0.03 -0.07 -0.94 | 0.17 0.11 0.14 | -5.53 -0.43 -1.37 | 0.32 2.74 -0.31\n",
+ "r_i | 991.7 5.8 2350.4 | 573.5 576.3 28.5 | 1.8 -998.3 2300.1 | 1998.8 999.1 2400.0\n",
+ "v_i | -40.24 0.55 -80.01 | 17.16 16.97 5.82 | -69.95 -29.82 -90.00 | -10.02 29.99 -70.00\n",
+ "norm_rf | 1.3 | 0.8 | 0.0 | 5.6\n",
+ "norm_vf | 0.95 | 0.21 | 0.38 | 6.31\n",
+ "gs_f | 25.0 | 21.7 | 0.4 | 314.5\n",
+ "thrust | 1233 -13 9226 | 2925 2874 1995 | -15309 -16803 2000 | 16969 16806 19998\n",
+ "norm_thrust | 9883 | 3125 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 262 | 360\n",
+ "rewards | -2.48 | 5.04 | -33.83 | 4.07\n",
+ "fuel_rewards | -7.52 | 0.38 | -9.26 | -6.77\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.52 | 0.55 | 0.38 | 5.31\n",
+ "norm_af | 0.03 | 0.04 | 0.00 | 1.11\n",
+ "norm_wf | 0.10 | 0.07 | 0.01 | 1.74\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.06 | 0.46 | -6.67 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.12 0.00 | 0.35 0.21 0.20 | -1.15 -0.89 -1.12 | 2.44 1.06 1.10\n",
+ "w | -0.00 -0.01 0.00 | 0.19 0.19 0.01 | -1.81 -2.43 -0.08 | 2.10 1.56 0.31\n",
+ "a_f | -0.01 -0.00 | 0.04 0.03 | -0.16 -0.13 | 1.04 0.40\n",
+ "w_f | -0.00 -0.01 0.00 | 0.10 0.07 0.02 | -0.29 -0.26 -0.08 | 1.72 0.26 0.27\n",
+ "landing_rewards | 9.80 | 1.39 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.16 | -0.19 | 4.59\n",
+ "tracking_rewards | -4.70 | 4.47 | -28.92 | 1.10\n",
+ "steps | 304 | 25 | 251 | 407\n",
+ "***** Episode 282411, Mean R = -2.5 Std R = 4.6 Min R = -18.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00125\n",
+ "PolicyEntropy: -7.52\n",
+ "PolicyLoss: -0.00248\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 7.84e+07\n",
+ "ValFuncLoss: 2.62e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011819152 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03928239 0.03735185 0.03627165 0.03486 ]\n",
+ "FIT: 0.5669807050664813 2.777337125488512 0.02070633074133082 0.12473612179857722\n",
+ "***** Episode 282532, Mean R = -2.8 Std R = 5.1 Min R = -20.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -7.52\n",
+ "PolicyLoss: -0.00253\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 7.84e+07\n",
+ "ValFuncLoss: 2.43e-05\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011714143 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03931771 0.03736826 0.03624653 0.03486847]\n",
+ "FIT: 1.1297234100880842 2.870324494698421 0.018419581258219703 0.11410960886429518\n",
+ "***** Episode 282653, Mean R = -0.9 Std R = 5.7 Min R = -49.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.922\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -7.52\n",
+ "PolicyLoss: -0.00192\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 7.85e+07\n",
+ "ValFuncLoss: 1.29e-05\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0008528208 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03936392 0.03740163 0.03619521 0.03485849]\n",
+ "FIT: 0.5487770671243662 2.4759221850006834 0.02032507020229373 0.11896557481535508\n",
+ "***** Episode 282774, Mean R = -2.4 Std R = 4.6 Min R = -18.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.98\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.000853\n",
+ "PolicyEntropy: -7.52\n",
+ "PolicyLoss: -0.00205\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.85e+07\n",
+ "ValFuncLoss: 4.98e-05\n",
+ "Variance: 0.0394\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011857804 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03932814 0.03742325 0.03613603 0.03476711]\n",
+ "FIT: 0.5858079145559469 2.6759870552877736 0.020499984132182323 0.12033085362506508\n",
+ "***** Episode 282895, Mean R = -2.2 Std R = 4.4 Min R = -21.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -7.53\n",
+ "PolicyLoss: -0.00253\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.85e+07\n",
+ "ValFuncLoss: 1.28e-05\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011413412 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03936475 0.03739321 0.03611396 0.03476167]\n",
+ "FIT: 0.8878236260083852 2.592563798616952 0.01927150327350088 0.11852438438153166\n",
+ "***** Episode 283016, Mean R = -1.8 Std R = 5.2 Min R = -36.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.954\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -7.53\n",
+ "PolicyLoss: -0.00184\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 7.86e+07\n",
+ "ValFuncLoss: 2.16e-05\n",
+ "Variance: 0.0394\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0008928121 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03939909 0.03734574 0.03610544 0.03479731]\n",
+ "FIT: 0.5260927231171932 2.4525501067357607 0.02004305054887915 0.11817645084145313\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 283137, Mean R = -2.2 Std R = 5.2 Min R = -19.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.000893\n",
+ "PolicyEntropy: -7.53\n",
+ "PolicyLoss: -0.0024\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 7.86e+07\n",
+ "ValFuncLoss: 3.76e-05\n",
+ "Variance: 0.0394\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0009704036 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03939304 0.03730372 0.03605885 0.03476021]\n",
+ "FIT: 0.5681553726483353 2.7552525722473904 0.02025441782782674 0.1187789244295361\n",
+ "***** Episode 283258, Mean R = -2.2 Std R = 4.5 Min R = -19.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.00097\n",
+ "PolicyEntropy: -7.53\n",
+ "PolicyLoss: -0.00275\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 7.87e+07\n",
+ "ValFuncLoss: 2.11e-05\n",
+ "Variance: 0.0394\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0010455307 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03937701 0.0372874 0.03606036 0.03468493]\n",
+ "FIT: 0.5199327795226524 2.5383378494457296 0.01971513016816296 0.11946343751078975\n",
+ "***** Episode 283379, Mean R = -2.0 Std R = 4.5 Min R = -23.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -7.53\n",
+ "PolicyLoss: -0.00245\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.87e+07\n",
+ "ValFuncLoss: 1.47e-05\n",
+ "Variance: 0.0394\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0015916845 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.0393125 0.03730571 0.03599055 0.03459659]\n",
+ "FIT: 0.5315421181067718 2.8467700423844686 0.02078728617063805 0.11924729517139733\n",
+ "***** Episode 283500, Mean R = -2.5 Std R = 4.5 Min R = -20.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.969\n",
+ "KL: 0.00159\n",
+ "PolicyEntropy: -7.54\n",
+ "PolicyLoss: -0.00232\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.87e+07\n",
+ "ValFuncLoss: 1.11e-05\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0013806346 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03926222 0.03740017 0.03595382 0.03460691]\n",
+ "FIT: 0.49508733927290843 2.728877535713504 0.02088347565034037 0.11790983506060775\n",
+ "Update Cnt = 2180 ET = 1026.7 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.4 -0.0 | 0.9 0.9 0.0 | -3.6 -5.4 -0.1 | 2.7 3.5 -0.0\n",
+ "v_f | 0.04 -0.07 -0.94 | 0.05 0.08 0.14 | -0.22 -0.57 -1.37 | 0.35 0.29 -0.05\n",
+ "r_i | 1009.4 6.0 2349.3 | 572.4 579.6 28.9 | 0.6 -996.2 2300.1 | 1998.1 999.9 2399.8\n",
+ "v_i | -39.22 -0.76 -80.01 | 17.15 17.29 5.83 | -69.97 -29.93 -89.92 | -10.02 30.00 -70.00\n",
+ "norm_rf | 1.2 | 0.7 | 0.0 | 5.4\n",
+ "norm_vf | 0.95 | 0.14 | 0.37 | 1.37\n",
+ "gs_f | 27.1 | 39.8 | 3.1 | 780.8\n",
+ "thrust | 1193 29 9213 | 2895 2772 2006 | -15495 -17532 2000 | 16723 16955 19997\n",
+ "norm_thrust | 9840 | 3094 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 260 | 348\n",
+ "rewards | -2.15 | 4.93 | -49.75 | 4.11\n",
+ "fuel_rewards | -7.50 | 0.39 | -8.96 | -6.72\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.54 | 0.56 | 0.57 | 6.05\n",
+ "norm_af | 0.03 | 0.02 | 0.00 | 0.21\n",
+ "norm_wf | 0.10 | 0.06 | 0.00 | 0.58\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.10 | 1.01 | -25.60 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.11 -0.00 | 0.36 0.20 0.19 | -1.27 -0.89 -1.06 | 1.44 1.11 1.16\n",
+ "w | -0.00 -0.01 -0.00 | 0.19 0.19 0.01 | -1.72 -2.34 -0.10 | 2.15 1.62 0.13\n",
+ "a_f | -0.01 0.00 | 0.02 0.03 | -0.15 -0.21 | 0.11 0.13\n",
+ "w_f | -0.00 -0.01 0.00 | 0.09 0.07 0.02 | -0.32 -0.49 -0.10 | 0.39 0.28 0.13\n",
+ "landing_rewards | 9.79 | 1.42 | 0.00 | 10.00\n",
+ "landing_margin | -0.11 | 0.08 | -0.20 | 1.85\n",
+ "tracking_rewards | -4.34 | 4.16 | -26.24 | 1.22\n",
+ "steps | 304 | 24 | 247 | 386\n",
+ "***** Episode 283621, Mean R = -2.5 Std R = 5.0 Min R = -20.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.00138\n",
+ "PolicyEntropy: -7.54\n",
+ "PolicyLoss: -0.00244\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 7.88e+07\n",
+ "ValFuncLoss: 1.55e-05\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0009570459 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03923654 0.03747796 0.03602427 0.03461672]\n",
+ "FIT: 0.5360565307163918 2.5892203269853074 0.02023619265648738 0.11850137834474943\n",
+ "***** Episode 283742, Mean R = -2.1 Std R = 5.4 Min R = -24.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.000957\n",
+ "PolicyEntropy: -7.53\n",
+ "PolicyLoss: -0.00254\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.88e+07\n",
+ "ValFuncLoss: 1.6e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011051508 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03918318 0.03747873 0.03602688 0.03464663]\n",
+ "FIT: 0.5095391429659473 2.5129436081928342 0.020430692368603547 0.11585900377924647\n",
+ "***** Episode 283863, Mean R = -2.3 Std R = 4.3 Min R = -15.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -7.53\n",
+ "PolicyLoss: -0.00203\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 7.88e+07\n",
+ "ValFuncLoss: 3.54e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011886149 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03918295 0.03746516 0.03594507 0.03464127]\n",
+ "FIT: 0.6111271446067688 2.7421295313572465 0.021211532763985717 0.12053929113731321\n",
+ "***** Episode 283984, Mean R = -2.8 Std R = 6.0 Min R = -33.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.979\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -7.54\n",
+ "PolicyLoss: -0.00192\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.89e+07\n",
+ "ValFuncLoss: 2.68e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.00082872366 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03922592 0.03748617 0.03587621 0.03463767]\n",
+ "FIT: 0.5442914403621472 2.5564001809170014 0.020650996258807758 0.11829422728837301\n",
+ "***** Episode 284105, Mean R = -2.5 Std R = 4.9 Min R = -19.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.000829\n",
+ "PolicyEntropy: -7.54\n",
+ "PolicyLoss: -0.00221\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 7.89e+07\n",
+ "ValFuncLoss: 1.98e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011564215 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03927018 0.03745637 0.03586852 0.03462517]\n",
+ "FIT: 0.6530766578236715 2.5973645809135197 0.021378700762609237 0.1240203369631754\n",
+ "***** Episode 284226, Mean R = -3.0 Std R = 5.5 Min R = -27.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -7.54\n",
+ "PolicyLoss: -0.00277\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 7.89e+07\n",
+ "ValFuncLoss: 1.76e-05\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0010771421 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03930368 0.03735629 0.03590163 0.03459514]\n",
+ "FIT: 0.6302396188771124 2.5629356103441125 0.020929272551850082 0.12133650587781236\n",
+ "***** Episode 284347, Mean R = -2.6 Std R = 5.3 Min R = -26.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -7.54\n",
+ "PolicyLoss: -0.00247\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.9e+07\n",
+ "ValFuncLoss: 1.86e-05\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011644549 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03930385 0.03731043 0.03588146 0.03454337]\n",
+ "FIT: 0.512908902710797 2.5424098651122042 0.019568688400377388 0.12028413690794795\n",
+ "***** Episode 284468, Mean R = -1.9 Std R = 4.2 Min R = -17.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -7.54\n",
+ "PolicyLoss: -0.00208\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 7.9e+07\n",
+ "ValFuncLoss: 1.23e-05\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.001048421 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03928757 0.03726825 0.03587678 0.03452724]\n",
+ "FIT: 0.6878476381440511 2.741582632905365 0.021269687147982858 0.12079078423280212\n",
+ "***** Episode 284589, Mean R = -2.8 Std R = 5.6 Min R = -27.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -7.54\n",
+ "PolicyLoss: -0.00252\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.91e+07\n",
+ "ValFuncLoss: 1.58e-05\n",
+ "Variance: 0.0393\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011431521 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03923276 0.03726067 0.03587131 0.03453543]\n",
+ "FIT: 0.5765995896498224 2.646265004214298 0.021602857685747084 0.11845785808387875\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 284710, Mean R = -2.8 Std R = 5.9 Min R = -29.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -7.55\n",
+ "PolicyLoss: -0.00222\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 7.91e+07\n",
+ "ValFuncLoss: 2.62e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.001095969 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03917289 0.03729505 0.0359297 0.03454931]\n",
+ "FIT: 0.6401468613030443 2.621586855185757 0.021094422220578397 0.1209653825691848\n",
+ "Update Cnt = 2190 ET = 1023.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.4 -0.0 | 1.0 1.0 0.0 | -5.9 -4.1 -0.1 | 4.3 3.1 -0.0\n",
+ "v_f | 0.04 -0.07 -0.95 | 0.07 0.08 0.14 | -0.15 -1.28 -1.37 | 1.60 0.18 -0.27\n",
+ "r_i | 1013.3 18.3 2350.0 | 591.8 582.3 28.9 | 1.4 -997.4 2300.0 | 1999.1 996.8 2399.9\n",
+ "v_i | -40.95 -0.38 -80.17 | 17.26 17.14 5.87 | -69.99 -29.88 -89.99 | -10.03 30.00 -70.02\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 5.9\n",
+ "norm_vf | 0.96 | 0.14 | 0.44 | 2.09\n",
+ "gs_f | 29.9 | 41.6 | 0.8 | 734.7\n",
+ "thrust | 1256 16 9231 | 2923 2884 1995 | -15199 -16983 2000 | 16790 16912 19998\n",
+ "norm_thrust | 9892 | 3130 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 259 | 346\n",
+ "rewards | -2.57 | 5.31 | -33.23 | 4.31\n",
+ "fuel_rewards | -7.51 | 0.39 | -8.92 | -6.69\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.53 | 0.58 | 0.45 | 5.53\n",
+ "norm_af | 0.03 | 0.02 | 0.00 | 0.54\n",
+ "norm_wf | 0.10 | 0.07 | 0.01 | 1.02\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.06 | 0.42 | -6.07 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.12 0.00 | 0.35 0.21 0.19 | -1.21 -0.91 -1.04 | 1.92 1.07 1.07\n",
+ "w | -0.00 -0.01 0.00 | 0.19 0.19 0.01 | -1.62 -2.31 -0.12 | 2.16 1.64 0.22\n",
+ "a_f | -0.01 -0.00 | 0.02 0.03 | -0.26 -0.47 | 0.10 0.08\n",
+ "w_f | -0.00 -0.01 0.00 | 0.09 0.07 0.02 | -0.54 -0.34 -0.11 | 0.41 0.84 0.22\n",
+ "landing_rewards | 9.75 | 1.55 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.16 | -0.19 | 4.16\n",
+ "tracking_rewards | -4.75 | 4.64 | -29.95 | 1.45\n",
+ "steps | 303 | 24 | 249 | 382\n",
+ "***** Episode 284831, Mean R = -2.8 Std R = 5.4 Min R = -27.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -7.54\n",
+ "PolicyLoss: -0.00195\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.91e+07\n",
+ "ValFuncLoss: 3.07e-05\n",
+ "Variance: 0.0392\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.001335786 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.0390952 0.03739056 0.03594864 0.03449792]\n",
+ "FIT: 0.9126619431278336 2.7087892678042724 0.021294406832573408 0.12086810807476189\n",
+ "***** Episode 284952, Mean R = -2.9 Std R = 5.9 Min R = -40.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.968\n",
+ "KL: 0.00134\n",
+ "PolicyEntropy: -7.54\n",
+ "PolicyLoss: -0.00259\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 7.92e+07\n",
+ "ValFuncLoss: 2.43e-05\n",
+ "Variance: 0.0391\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0008986716 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03903093 0.03741825 0.03590485 0.03451439]\n",
+ "FIT: 0.5731259178370873 2.6920324236160313 0.020069477879629066 0.11970411157935555\n",
+ "***** Episode 285073, Mean R = -2.3 Std R = 4.8 Min R = -22.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.000899\n",
+ "PolicyEntropy: -7.55\n",
+ "PolicyLoss: -0.00245\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 7.92e+07\n",
+ "ValFuncLoss: 2.19e-05\n",
+ "Variance: 0.039\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011348691 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.0390474 0.03740582 0.0358298 0.03452983]\n",
+ "FIT: 0.5613169665442903 2.6392195317749114 0.020861371911925677 0.11889102612529556\n",
+ "***** Episode 285194, Mean R = -2.7 Std R = 5.0 Min R = -20.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -7.55\n",
+ "PolicyLoss: -0.00237\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.92e+07\n",
+ "ValFuncLoss: 3.51e-05\n",
+ "Variance: 0.039\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0007220283 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03906181 0.03738798 0.03581265 0.03447077]\n",
+ "FIT: 0.5678037110342684 2.626491397398487 0.020084811019049534 0.11997755115270159\n",
+ "***** Episode 285315, Mean R = -2.1 Std R = 4.6 Min R = -19.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.997\n",
+ "ExplainedVarOld: 0.993\n",
+ "KL: 0.000722\n",
+ "PolicyEntropy: -7.55\n",
+ "PolicyLoss: -0.00259\n",
+ "Steps: 3.73e+04\n",
+ "TotalSteps: 7.93e+07\n",
+ "ValFuncLoss: 7.04e-06\n",
+ "Variance: 0.0391\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0013945983 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03903119 0.03737118 0.03583238 0.0343996 ]\n",
+ "FIT: 0.5123588892691496 2.6207265197902783 0.019266186270522664 0.11598772774467285\n",
+ "***** Episode 285436, Mean R = -1.7 Std R = 4.2 Min R = -17.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.00139\n",
+ "PolicyEntropy: -7.55\n",
+ "PolicyLoss: -0.00252\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 7.93e+07\n",
+ "ValFuncLoss: 1.57e-05\n",
+ "Variance: 0.039\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0013308624 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03900245 0.03740003 0.03586082 0.0343186 ]\n",
+ "FIT: 0.780750325897398 2.7031980198356775 0.020241317579238815 0.11709498845781975\n",
+ "***** Episode 285557, Mean R = -2.2 Std R = 5.4 Min R = -29.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00133\n",
+ "PolicyEntropy: -7.55\n",
+ "PolicyLoss: -0.00189\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 7.93e+07\n",
+ "ValFuncLoss: 1.58e-05\n",
+ "Variance: 0.039\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.00076547917 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.0390155 0.03735743 0.03584687 0.03428565]\n",
+ "FIT: 0.5414967415008958 2.7531476872900593 0.020428090176823652 0.11825466149777823\n",
+ "***** Episode 285678, Mean R = -2.3 Std R = 4.8 Min R = -20.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.997\n",
+ "ExplainedVarOld: 0.994\n",
+ "KL: 0.000765\n",
+ "PolicyEntropy: -7.56\n",
+ "PolicyLoss: -0.00304\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 7.94e+07\n",
+ "ValFuncLoss: 9.04e-06\n",
+ "Variance: 0.039\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0012176767 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03905948 0.03732814 0.0358091 0.03427702]\n",
+ "FIT: 0.518897538871911 2.565670244951917 0.020307802951658203 0.1195147754776952\n",
+ "***** Episode 285799, Mean R = -2.2 Std R = 4.6 Min R = -18.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.992\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -7.56\n",
+ "PolicyLoss: -0.00295\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 7.94e+07\n",
+ "ValFuncLoss: 1.05e-05\n",
+ "Variance: 0.0391\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0010411887 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03902538 0.0373446 0.03582547 0.03423392]\n",
+ "FIT: 0.687752163660587 2.7153330839246808 0.021110227416413687 0.1203218189544052\n",
+ "***** Episode 285920, Mean R = -2.7 Std R = 5.4 Min R = -26.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -7.56\n",
+ "PolicyLoss: -0.00275\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 7.95e+07\n",
+ "ValFuncLoss: 1.54e-05\n",
+ "Variance: 0.039\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0014037673 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03899554 0.03730087 0.03582747 0.03418536]\n",
+ "FIT: 0.581308228060918 2.808650435366156 0.02102770989173762 0.11811207007133318\n",
+ "Update Cnt = 2200 ET = 1032.3 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.4 -0.0 | 0.9 1.0 0.0 | -3.9 -4.1 -0.1 | 2.7 3.8 -0.0\n",
+ "v_f | 0.05 -0.06 -0.95 | 0.09 0.07 0.14 | -0.18 -0.42 -1.37 | 2.60 0.38 -0.32\n",
+ "r_i | 1016.6 1.8 2350.5 | 588.0 590.2 28.9 | 2.5 -998.1 2300.1 | 1997.2 996.5 2399.8\n",
+ "v_i | -38.69 0.81 -79.98 | 17.17 17.37 5.71 | -69.98 -29.98 -89.99 | -10.11 29.94 -70.00\n",
+ "norm_rf | 1.2 | 0.7 | 0.0 | 4.7\n",
+ "norm_vf | 0.95 | 0.14 | 0.33 | 2.68\n",
+ "gs_f | 24.8 | 23.2 | 1.0 | 422.7\n",
+ "thrust | 1175 -21 9223 | 2858 2883 2015 | -15066 -17957 2000 | 16655 16693 19999\n",
+ "norm_thrust | 9860 | 3123 | 3464 | 20000\n",
+ "fuel | 293 | 16 | 261 | 371\n",
+ "rewards | -2.38 | 4.97 | -40.25 | 3.96\n",
+ "fuel_rewards | -7.55 | 0.41 | -9.55 | -6.72\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.54 | 0.55 | 0.59 | 4.46\n",
+ "norm_af | 0.03 | 0.03 | 0.00 | 0.75\n",
+ "norm_wf | 0.10 | 0.06 | 0.00 | 1.06\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.08 | 0.74 | -17.79 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "attitude | 0.02 0.11 0.00 | 0.34 0.20 0.19 | -1.22 -0.93 -1.07 | 2.00 1.06 1.09\n",
+ "w | -0.00 -0.01 0.00 | 0.19 0.19 0.01 | -1.72 -2.38 -0.07 | 2.28 1.45 0.21\n",
+ "a_f | -0.01 0.00 | 0.03 0.03 | -0.75 -0.13 | 0.07 0.10\n",
+ "w_f | -0.00 -0.01 0.00 | 0.09 0.07 0.02 | -1.03 -0.27 -0.07 | 0.38 0.41 0.19\n",
+ "landing_rewards | 9.82 | 1.34 | 0.00 | 10.00\n",
+ "landing_margin | -0.11 | 0.13 | -0.19 | 4.02\n",
+ "tracking_rewards | -4.57 | 4.40 | -28.88 | 1.36\n",
+ "steps | 306 | 25 | 250 | 380\n",
+ "***** Episode 286041, Mean R = -2.8 Std R = 4.6 Min R = -23.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.0014\n",
+ "PolicyEntropy: -7.56\n",
+ "PolicyLoss: -0.00228\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 7.95e+07\n",
+ "ValFuncLoss: 2.66e-05\n",
+ "Variance: 0.039\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0010987449 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03898614 0.03723188 0.03583217 0.03413124]\n",
+ "FIT: 0.5936482227811581 2.8039408357704634 0.02110161203083341 0.1232645711206552\n",
+ "***** Episode 286162, Mean R = -2.6 Std R = 5.3 Min R = -21.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -7.57\n",
+ "PolicyLoss: -0.00304\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 7.95e+07\n",
+ "ValFuncLoss: 1.68e-05\n",
+ "Variance: 0.039\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0013251472 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03900042 0.03719431 0.03583324 0.03409617]\n",
+ "FIT: 0.6556527390813747 2.6882552790918033 0.02042783371294183 0.11733698294824867\n",
+ "***** Episode 286283, Mean R = -2.3 Std R = 5.1 Min R = -34.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00133\n",
+ "PolicyEntropy: -7.57\n",
+ "PolicyLoss: -0.00262\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 7.96e+07\n",
+ "ValFuncLoss: 1.76e-05\n",
+ "Variance: 0.039\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.00092545024 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03900754 0.03717801 0.0358672 0.03405002]\n",
+ "FIT: 0.5414656354813063 2.6437894442174525 0.02070574083782433 0.12336158381038038\n",
+ "***** Episode 286404, Mean R = -2.5 Std R = 4.8 Min R = -21.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.998\n",
+ "ExplainedVarOld: 0.993\n",
+ "KL: 0.000925\n",
+ "PolicyEntropy: -7.57\n",
+ "PolicyLoss: -0.00286\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 7.96e+07\n",
+ "ValFuncLoss: 5.9e-06\n",
+ "Variance: 0.039\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0010897418 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03903652 0.03720654 0.03586212 0.03400613]\n",
+ "FIT: 0.5542847782010963 2.5583996771892346 0.020285087991180083 0.12304998251041026\n",
+ "***** Episode 286525, Mean R = -2.5 Std R = 5.5 Min R = -26.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -7.57\n",
+ "PolicyLoss: -0.00209\n",
+ "Steps: 3.73e+04\n",
+ "TotalSteps: 7.96e+07\n",
+ "ValFuncLoss: 3.39e-05\n",
+ "Variance: 0.039\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0010731834 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03903071 0.0371829 0.03580564 0.03398357]\n",
+ "FIT: 0.6324226788208235 2.7383628628736747 0.02115953013869603 0.12109574980755523\n",
+ "***** Episode 286646, Mean R = -2.6 Std R = 5.3 Min R = -25.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -7.57\n",
+ "PolicyLoss: -0.00295\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 7.97e+07\n",
+ "ValFuncLoss: 1.23e-05\n",
+ "Variance: 0.039\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0013460715 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03899188 0.03718559 0.03582912 0.03392535]\n",
+ "FIT: 0.5107315640685125 2.5837125250304576 0.021433635912008853 0.11772743141213121\n",
+ "***** Episode 286767, Mean R = -3.0 Std R = 5.5 Min R = -25.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00135\n",
+ "PolicyEntropy: -7.57\n",
+ "PolicyLoss: -0.00237\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 7.97e+07\n",
+ "ValFuncLoss: 3.16e-05\n",
+ "Variance: 0.039\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.00111396 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03893843 0.03721687 0.03586555 0.03388178]\n",
+ "FIT: 0.9061548955639425 2.7036354501451036 0.021732204499395037 0.11966724201255648\n",
+ "***** Episode 286888, Mean R = -3.0 Std R = 6.3 Min R = -32.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -7.57\n",
+ "PolicyLoss: -0.00231\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 7.98e+07\n",
+ "ValFuncLoss: 2.54e-05\n",
+ "Variance: 0.0389\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.00089169934 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03890377 0.03722388 0.03585218 0.03391947]\n",
+ "FIT: 0.5537273793973027 2.7184993050618966 0.020525241547076984 0.11748126700720327\n",
+ "***** Episode 287009, Mean R = -2.4 Std R = 4.9 Min R = -21.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.000892\n",
+ "PolicyEntropy: -7.57\n",
+ "PolicyLoss: -0.00221\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 7.98e+07\n",
+ "ValFuncLoss: 2.49e-05\n",
+ "Variance: 0.0389\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011722026 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03884773 0.03723498 0.03581448 0.03394373]\n",
+ "FIT: 0.5698329822250854 2.702428520127454 0.020122161131929363 0.11838032635316606\n",
+ "***** Episode 287130, Mean R = -2.3 Std R = 4.8 Min R = -18.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -7.58\n",
+ "PolicyLoss: -0.00246\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 7.98e+07\n",
+ "ValFuncLoss: 2.43e-05\n",
+ "Variance: 0.0388\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0009587648 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03881447 0.03720076 0.03576036 0.03396421]\n",
+ "FIT: 0.5774052264402861 2.6239350328619224 0.021590604743963238 0.12097643374813295\n",
+ "Update Cnt = 2210 ET = 1025.6 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.4 -0.0 | 0.9 1.0 0.0 | -3.8 -5.2 -0.1 | 2.7 3.0 -0.0\n",
+ "v_f | 0.04 -0.07 -0.94 | 0.05 0.07 0.14 | -0.26 -0.43 -1.38 | 0.32 0.50 -0.12\n",
+ "r_i | 997.7 15.5 2349.4 | 584.9 582.5 28.8 | 0.6 -999.2 2300.0 | 1999.9 999.8 2399.9\n",
+ "v_i | -40.03 0.03 -79.71 | 17.50 17.64 5.81 | -69.98 -29.98 -89.98 | -10.01 29.98 -70.01\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 5.4\n",
+ "norm_vf | 0.95 | 0.14 | 0.18 | 1.38\n",
+ "gs_f | 23.5 | 20.7 | 3.8 | 328.4\n",
+ "thrust | 1224 2 9209 | 2940 2866 1982 | -15288 -16847 2000 | 16627 17123 20000\n",
+ "norm_thrust | 9867 | 3117 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 261 | 357\n",
+ "rewards | -2.59 | 5.28 | -34.69 | 4.27\n",
+ "fuel_rewards | -7.52 | 0.39 | -9.19 | -6.75\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.52 | 0.55 | 0.56 | 5.51\n",
+ "norm_af | 0.03 | 0.02 | 0.00 | 0.20\n",
+ "norm_wf | 0.10 | 0.06 | 0.01 | 0.45\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.66 | -14.46 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.12 0.00 | 0.36 0.21 0.20 | -1.23 -1.00 -1.04 | 1.59 1.08 1.04\n",
+ "w | -0.00 -0.01 0.00 | 0.19 0.19 0.01 | -1.64 -2.45 -0.10 | 2.04 1.55 0.15\n",
+ "a_f | -0.01 0.00 | 0.02 0.03 | -0.14 -0.10 | 0.07 0.19\n",
+ "w_f | 0.00 -0.01 0.00 | 0.09 0.07 0.02 | -0.45 -0.23 -0.09 | 0.34 0.32 0.13\n",
+ "landing_rewards | 9.77 | 1.50 | 0.00 | 10.00\n",
+ "landing_margin | -0.11 | 0.08 | -0.19 | 1.23\n",
+ "tracking_rewards | -4.77 | 4.63 | -31.09 | 1.26\n",
+ "steps | 304 | 25 | 250 | 392\n",
+ "***** Episode 287251, Mean R = -2.7 Std R = 5.1 Min R = -23.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.000959\n",
+ "PolicyEntropy: -7.58\n",
+ "PolicyLoss: -0.00249\n",
+ "Steps: 3.61e+04\n",
+ "TotalSteps: 7.99e+07\n",
+ "ValFuncLoss: 1.26e-05\n",
+ "Variance: 0.0388\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0010139252 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03886297 0.03711474 0.03577435 0.03397622]\n",
+ "FIT: 0.6462366788331849 2.780008033031493 0.019493930971705698 0.1161091256771252\n",
+ "***** Episode 287372, Mean R = -1.7 Std R = 5.5 Min R = -29.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -7.58\n",
+ "PolicyLoss: -0.00182\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 7.99e+07\n",
+ "ValFuncLoss: 1.48e-05\n",
+ "Variance: 0.0389\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0011257163 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03892892 0.03705801 0.03571736 0.03397956]\n",
+ "FIT: 0.5620677707779735 2.60966135585127 0.020562172872265364 0.11742686646717097\n",
+ "***** Episode 287493, Mean R = -2.3 Std R = 5.1 Min R = -18.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -7.58\n",
+ "PolicyLoss: -0.00232\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 7.99e+07\n",
+ "ValFuncLoss: 4.19e-05\n",
+ "Variance: 0.0389\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0012163838 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03892973 0.03711858 0.03566906 0.03399519]\n",
+ "FIT: 0.5939654089991067 2.6104495160423054 0.019647364528170504 0.1193175438403254\n",
+ "***** Episode 287614, Mean R = -2.0 Std R = 4.7 Min R = -19.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.961\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -7.58\n",
+ "PolicyLoss: -0.0024\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 8e+07\n",
+ "ValFuncLoss: 1.97e-05\n",
+ "Variance: 0.0389\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0010091758 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03893657 0.03717638 0.03569854 0.03398602]\n",
+ "FIT: 0.5846087411238748 2.6971458475998404 0.021420956938770358 0.12115439089566922\n",
+ "***** Episode 287735, Mean R = -2.9 Std R = 5.0 Min R = -22.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -7.58\n",
+ "PolicyLoss: -0.00288\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 8e+07\n",
+ "ValFuncLoss: 1.26e-05\n",
+ "Variance: 0.0389\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0012696233 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03887937 0.03718282 0.03571352 0.03399208]\n",
+ "FIT: 0.5309194536026939 2.7102404966158438 0.020789877612658856 0.12605816516797852\n",
+ "***** Episode 287856, Mean R = -2.7 Std R = 5.0 Min R = -18.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -7.58\n",
+ "PolicyLoss: -0.00222\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 8e+07\n",
+ "ValFuncLoss: 2e-05\n",
+ "Variance: 0.0389\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0010659416 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.0388316 0.0371813 0.03573479 0.034006 ]\n",
+ "FIT: 0.915579529569298 2.5606892554565825 0.02083016896217083 0.11847343493090746\n",
+ "***** Episode 287977, Mean R = -2.5 Std R = 5.6 Min R = -39.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00107\n",
+ "PolicyEntropy: -7.58\n",
+ "PolicyLoss: -0.00243\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 8.01e+07\n",
+ "ValFuncLoss: 2.43e-05\n",
+ "Variance: 0.0388\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0014295446 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03883069 0.03716573 0.03574909 0.03398518]\n",
+ "FIT: 0.5145990294904431 4.778663001159739 0.02105054524298904 0.12127470025103251\n",
+ "***** Episode 288098, Mean R = -2.8 Std R = 5.2 Min R = -18.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.95\n",
+ "ExplainedVarOld: 0.922\n",
+ "KL: 0.00143\n",
+ "PolicyEntropy: -7.58\n",
+ "PolicyLoss: -0.00138\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 8.01e+07\n",
+ "ValFuncLoss: 0.00013\n",
+ "Variance: 0.0388\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011366726 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.0388566 0.0371117 0.03569862 0.03394109]\n",
+ "FIT: 0.46202015397279306 2.6432962033669183 0.0204125130466594 0.11986415795538725\n",
+ "***** Episode 288219, Mean R = -2.2 Std R = 4.4 Min R = -14.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.997\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -7.58\n",
+ "PolicyLoss: -0.00307\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 8.02e+07\n",
+ "ValFuncLoss: 1.07e-05\n",
+ "Variance: 0.0389\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0013789925 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03885277 0.0370862 0.03571769 0.03395461]\n",
+ "FIT: 0.9198764037916226 2.823899378687983 0.020030240386929996 0.11449690376100619\n",
+ "***** Episode 288340, Mean R = -2.0 Std R = 5.2 Min R = -34.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00138\n",
+ "PolicyEntropy: -7.58\n",
+ "PolicyLoss: -0.00242\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 8.02e+07\n",
+ "ValFuncLoss: 1.71e-05\n",
+ "Variance: 0.0389\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0012537055 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03881159 0.03713259 0.03570198 0.0339824 ]\n",
+ "FIT: 0.5998895079776748 2.62272460501554 0.02031048172739405 0.12247672226931637\n",
+ "Update Cnt = 2220 ET = 1022.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.4 -0.0 | 1.0 1.0 0.0 | -4.0 -4.8 -0.1 | 2.8 3.4 -0.0\n",
+ "v_f | 0.05 -0.07 -0.95 | 0.07 0.09 0.14 | -0.16 -1.74 -1.40 | 1.95 0.38 -0.31\n",
+ "r_i | 1012.7 17.9 2350.2 | 573.4 578.6 29.2 | 3.0 -994.5 2300.0 | 1999.4 999.9 2400.0\n",
+ "v_i | -40.07 0.85 -80.04 | 17.18 17.50 5.67 | -69.81 -29.99 -89.98 | -10.00 29.96 -70.01\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 5.5\n",
+ "norm_vf | 0.96 | 0.14 | 0.35 | 2.68\n",
+ "gs_f | 25.2 | 29.8 | 0.6 | 711.9\n",
+ "thrust | 1226 -24 9240 | 2862 2873 1990 | -15011 -17305 2000 | 16838 16746 20000\n",
+ "norm_thrust | 9883 | 3101 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 262 | 365\n",
+ "rewards | -2.35 | 5.11 | -39.27 | 4.01\n",
+ "fuel_rewards | -7.52 | 0.39 | -9.41 | -6.75\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.52 | 0.52 | 0.62 | 4.43\n",
+ "norm_af | 0.03 | 0.03 | 0.00 | 0.69\n",
+ "norm_wf | 0.10 | 0.06 | 0.01 | 1.04\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.09 | 0.77 | -15.90 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 0.00 | 0.36 0.20 0.20 | -1.13 -0.86 -1.02 | 2.09 1.12 1.09\n",
+ "w | -0.00 -0.01 0.00 | 0.19 0.19 0.01 | -1.78 -2.38 -0.09 | 2.13 1.38 0.24\n",
+ "a_f | -0.01 0.00 | 0.02 0.03 | -0.24 -0.65 | 0.12 0.10\n",
+ "w_f | -0.00 -0.01 0.00 | 0.08 0.07 0.02 | -0.57 -0.24 -0.08 | 0.30 0.83 0.24\n",
+ "landing_rewards | 9.81 | 1.37 | 0.00 | 10.00\n",
+ "landing_margin | -0.11 | 0.15 | -0.19 | 4.35\n",
+ "tracking_rewards | -4.55 | 4.46 | -30.17 | 1.11\n",
+ "steps | 304 | 24 | 252 | 386\n",
+ "***** Episode 288461, Mean R = -2.4 Std R = 5.1 Min R = -26.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.964\n",
+ "KL: 0.00125\n",
+ "PolicyEntropy: -7.58\n",
+ "PolicyLoss: -0.00171\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 8.02e+07\n",
+ "ValFuncLoss: 1.97e-05\n",
+ "Variance: 0.0388\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0008807812 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03878145 0.03713644 0.03562161 0.03397016]\n",
+ "FIT: 0.5635394146052336 2.7985498421945008 0.021432931069728652 0.12525583627946343\n",
+ "***** Episode 288582, Mean R = -3.1 Std R = 5.5 Min R = -20.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.969\n",
+ "KL: 0.000881\n",
+ "PolicyEntropy: -7.58\n",
+ "PolicyLoss: -0.00247\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 8.03e+07\n",
+ "ValFuncLoss: 2.64e-05\n",
+ "Variance: 0.0388\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0012056667 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03877428 0.03711784 0.03560001 0.03386278]\n",
+ "FIT: 0.5240663318174111 2.601294647471176 0.019710189474988093 0.12126151440250872\n",
+ "***** Episode 288703, Mean R = -1.9 Std R = 4.5 Min R = -18.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -7.59\n",
+ "PolicyLoss: -0.00233\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 8.03e+07\n",
+ "ValFuncLoss: 1.81e-05\n",
+ "Variance: 0.0388\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0009272525 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03870575 0.0371477 0.03558235 0.03379065]\n",
+ "FIT: 0.510217618195198 2.6714957366908125 0.019888431011617583 0.1188042783394281\n",
+ "***** Episode 288824, Mean R = -2.0 Std R = 4.4 Min R = -17.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.994\n",
+ "KL: 0.000927\n",
+ "PolicyEntropy: -7.59\n",
+ "PolicyLoss: -0.00275\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 8.03e+07\n",
+ "ValFuncLoss: 1.16e-05\n",
+ "Variance: 0.0387\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0010789545 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03871133 0.03717142 0.03552661 0.03378419]\n",
+ "FIT: 0.5801008628286994 2.810044526806274 0.02146425701208579 0.12111272191925056\n",
+ "***** Episode 288945, Mean R = -2.9 Std R = 4.4 Min R = -22.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.993\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -7.59\n",
+ "PolicyLoss: -0.00262\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 8.04e+07\n",
+ "ValFuncLoss: 1.26e-05\n",
+ "Variance: 0.0387\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0009982657 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03873723 0.03713533 0.03550787 0.03375727]\n",
+ "FIT: 0.5387657127945523 2.7359076327992793 0.019294318062025875 0.11706701139113675\n",
+ "***** Episode 289066, Mean R = -1.6 Std R = 4.6 Min R = -18.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.000998\n",
+ "PolicyEntropy: -7.59\n",
+ "PolicyLoss: -0.00231\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 8.04e+07\n",
+ "ValFuncLoss: 1.47e-05\n",
+ "Variance: 0.0387\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0013910895 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03876991 0.0370903 0.0355216 0.0337269 ]\n",
+ "FIT: 0.6276589984808505 2.782199474602209 0.021587953425992894 0.1199916648136949\n",
+ "***** Episode 289187, Mean R = -2.9 Std R = 5.6 Min R = -24.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00139\n",
+ "PolicyEntropy: -7.6\n",
+ "PolicyLoss: -0.00242\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 8.05e+07\n",
+ "ValFuncLoss: 2.02e-05\n",
+ "Variance: 0.0388\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0010075928 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03873008 0.03704717 0.03553262 0.03371336]\n",
+ "FIT: 0.6214721695945691 2.6585079038255794 0.019808349568655494 0.11691666549321582\n",
+ "***** Episode 289308, Mean R = -2.0 Std R = 4.6 Min R = -27.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -7.6\n",
+ "PolicyLoss: -0.003\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 8.05e+07\n",
+ "ValFuncLoss: 2.01e-05\n",
+ "Variance: 0.0387\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0013098456 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03873172 0.03697721 0.03557917 0.03368827]\n",
+ "FIT: 0.5589564991081248 2.624032492327883 0.020518181157160777 0.1173365356925462\n",
+ "***** Episode 289429, Mean R = -2.4 Std R = 4.5 Min R = -20.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00131\n",
+ "PolicyEntropy: -7.6\n",
+ "PolicyLoss: -0.00236\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 8.05e+07\n",
+ "ValFuncLoss: 2.92e-05\n",
+ "Variance: 0.0387\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0010752387 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03876889 0.03693769 0.03558604 0.03370073]\n",
+ "FIT: 0.5865958382461715 2.5569999367879377 0.01943828652823839 0.11773802725316701\n",
+ "***** Episode 289550, Mean R = -1.8 Std R = 4.9 Min R = -22.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -7.6\n",
+ "PolicyLoss: -0.00215\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 8.06e+07\n",
+ "ValFuncLoss: 2.07e-05\n",
+ "Variance: 0.0388\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0013520631 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03875653 0.03693699 0.03556248 0.03371287]\n",
+ "FIT: 0.5720532416384921 2.618312671071868 0.020961250066461403 0.11964700405082673\n",
+ "Update Cnt = 2230 ET = 1025.4 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.4 -0.0 | 1.0 1.0 0.0 | -3.7 -4.8 -0.1 | 4.7 5.8 -0.0\n",
+ "v_f | 0.04 -0.06 -0.95 | 0.08 0.09 0.14 | -0.21 -1.35 -1.38 | 2.20 0.20 -0.30\n",
+ "r_i | 1004.3 11.6 2349.5 | 576.5 579.6 28.9 | 1.6 -999.6 2300.1 | 1995.9 999.7 2399.9\n",
+ "v_i | -40.42 -0.30 -80.11 | 16.82 16.95 5.71 | -69.97 -29.97 -89.98 | -10.06 29.80 -70.01\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 7.4\n",
+ "norm_vf | 0.96 | 0.14 | 0.47 | 2.55\n",
+ "gs_f | 26.0 | 29.2 | 0.5 | 551.8\n",
+ "thrust | 1240 15 9238 | 2913 2840 1997 | -14952 -17344 2000 | 16845 17016 19996\n",
+ "norm_thrust | 9885 | 3115 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 260 | 356\n",
+ "rewards | -2.34 | 4.78 | -27.89 | 3.88\n",
+ "fuel_rewards | -7.51 | 0.38 | -9.19 | -6.70\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.53 | 0.56 | 0.53 | 5.76\n",
+ "norm_af | 0.03 | 0.03 | 0.00 | 0.60\n",
+ "norm_wf | 0.10 | 0.07 | 0.00 | 1.14\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.05 | 0.48 | -8.92 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.12 -0.00 | 0.36 0.20 0.20 | -1.24 -0.85 -1.10 | 1.95 1.07 1.06\n",
+ "w | -0.00 -0.01 0.00 | 0.19 0.19 0.01 | -1.65 -2.17 -0.09 | 2.14 1.46 0.25\n",
+ "a_f | -0.01 -0.00 | 0.03 0.03 | -0.51 -0.57 | 0.06 0.15\n",
+ "w_f | -0.00 -0.01 -0.00 | 0.09 0.08 0.02 | -0.78 -0.36 -0.09 | 0.45 0.79 0.23\n",
+ "landing_rewards | 9.79 | 1.42 | 0.00 | 10.00\n",
+ "landing_margin | -0.11 | 0.19 | -0.19 | 4.45\n",
+ "tracking_rewards | -4.57 | 4.36 | -26.16 | 1.00\n",
+ "steps | 303 | 24 | 251 | 397\n",
+ "***** Episode 289671, Mean R = -2.8 Std R = 4.4 Min R = -19.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.974\n",
+ "KL: 0.00135\n",
+ "PolicyEntropy: -7.6\n",
+ "PolicyLoss: -0.00187\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 8.06e+07\n",
+ "ValFuncLoss: 2.38e-05\n",
+ "Variance: 0.0388\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011932439 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03879005 0.03694325 0.03552151 0.03369745]\n",
+ "FIT: 0.616151769385982 2.7146471873860403 0.021838703836085042 0.12316199920772528\n",
+ "***** Episode 289792, Mean R = -3.3 Std R = 6.4 Min R = -34.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -7.6\n",
+ "PolicyLoss: -0.00243\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 8.06e+07\n",
+ "ValFuncLoss: 2.35e-05\n",
+ "Variance: 0.0388\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011493852 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03879269 0.03692112 0.03551751 0.0336541 ]\n",
+ "FIT: 0.7493713266448135 2.8755409620602133 0.021048506897905654 0.11755973684085883\n",
+ "***** Episode 289913, Mean R = -2.8 Std R = 5.9 Min R = -33.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.972\n",
+ "KL: 0.00115\n",
+ "PolicyEntropy: -7.6\n",
+ "PolicyLoss: -0.00232\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 8.07e+07\n",
+ "ValFuncLoss: 2.74e-05\n",
+ "Variance: 0.0388\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.001219823 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03874359 0.03686174 0.03554907 0.0336304 ]\n",
+ "FIT: 0.49630370707431143 2.6732444812343408 0.020818025222344803 0.11990034027525208\n",
+ "***** Episode 290034, Mean R = -2.6 Std R = 4.4 Min R = -17.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -7.6\n",
+ "PolicyLoss: -0.00178\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 8.07e+07\n",
+ "ValFuncLoss: 3.06e-05\n",
+ "Variance: 0.0387\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0012423991 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03865976 0.03682316 0.03556189 0.03357781]\n",
+ "FIT: 0.8090902656847022 2.7515551037140797 0.0209342992137737 0.1214860557735337\n",
+ "***** Episode 290155, Mean R = -2.5 Std R = 5.5 Min R = -32.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -7.61\n",
+ "PolicyLoss: -0.00268\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 8.07e+07\n",
+ "ValFuncLoss: 1.5e-05\n",
+ "Variance: 0.0387\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0010413936 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03865847 0.03677985 0.03557587 0.03355556]\n",
+ "FIT: 0.6505189721016216 2.762587201396407 0.020255361964999878 0.12196473845473224\n",
+ "***** Episode 290276, Mean R = -2.2 Std R = 4.4 Min R = -24.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.997\n",
+ "ExplainedVarOld: 0.993\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -7.61\n",
+ "PolicyLoss: -0.00262\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 8.08e+07\n",
+ "ValFuncLoss: 7.1e-06\n",
+ "Variance: 0.0387\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0012629577 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03861923 0.03678812 0.03566685 0.03354254]\n",
+ "FIT: 0.5342915932497923 2.579005454983273 0.02089141597397241 0.1185224711317399\n",
+ "***** Episode 290397, Mean R = -2.5 Std R = 4.6 Min R = -19.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.993\n",
+ "KL: 0.00126\n",
+ "PolicyEntropy: -7.61\n",
+ "PolicyLoss: -0.00266\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 8.08e+07\n",
+ "ValFuncLoss: 9.45e-06\n",
+ "Variance: 0.0386\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0013259484 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03862011 0.03673674 0.03571168 0.03352454]\n",
+ "FIT: 0.7373053226145095 2.5376329542265803 0.02120243907875114 0.11805579290560106\n",
+ "***** Episode 290518, Mean R = -2.7 Std R = 4.6 Min R = -17.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.98\n",
+ "KL: 0.00133\n",
+ "PolicyEntropy: -7.61\n",
+ "PolicyLoss: -0.00254\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 8.09e+07\n",
+ "ValFuncLoss: 2.77e-05\n",
+ "Variance: 0.0386\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "kl = 0.0009858229 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03865067 0.03672257 0.03571834 0.03353306]\n",
+ "FIT: 0.5389263066263453 2.5863762193934945 0.019537481589264438 0.11876754478240821\n",
+ "***** Episode 290639, Mean R = -1.8 Std R = 4.1 Min R = -19.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.000986\n",
+ "PolicyEntropy: -7.61\n",
+ "PolicyLoss: -0.00283\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 8.09e+07\n",
+ "ValFuncLoss: 1.11e-05\n",
+ "Variance: 0.0387\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011105929 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.0386369 0.03670213 0.03569692 0.03354902]\n",
+ "FIT: 0.5623358197484517 2.7383006915889343 0.020691165204787126 0.12059367544886809\n",
+ "***** Episode 290760, Mean R = -2.4 Std R = 4.9 Min R = -19.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.993\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -7.61\n",
+ "PolicyLoss: -0.00236\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 8.09e+07\n",
+ "ValFuncLoss: 1.11e-05\n",
+ "Variance: 0.0386\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0010398064 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03863321 0.03669424 0.03571286 0.03355652]\n",
+ "FIT: 0.5851029784040357 2.78834410853758 0.021135319175133747 0.12311695365166196\n",
+ "Update Cnt = 2240 ET = 1018.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.4 -0.0 | 0.9 1.0 0.0 | -3.4 -4.6 -0.1 | 3.2 3.8 -0.0\n",
+ "v_f | 0.04 -0.06 -0.96 | 0.05 0.08 0.15 | -0.21 -0.50 -1.36 | 0.42 0.35 -0.22\n",
+ "r_i | 1009.4 8.4 2350.0 | 570.5 587.9 28.7 | 3.7 -998.2 2300.0 | 1998.1 997.9 2400.0\n",
+ "v_i | -40.66 0.75 -79.96 | 17.40 17.13 5.89 | -69.95 -29.76 -89.99 | -10.06 29.97 -70.03\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 4.8\n",
+ "norm_vf | 0.97 | 0.14 | 0.28 | 1.39\n",
+ "gs_f | 26.2 | 27.9 | 3.8 | 497.8\n",
+ "thrust | 1247 -21 9234 | 2901 2931 1982 | -15607 -18053 2000 | 16591 16520 19996\n",
+ "norm_thrust | 9897 | 3129 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 261 | 348\n",
+ "rewards | -2.55 | 5.09 | -34.67 | 4.07\n",
+ "fuel_rewards | -7.52 | 0.39 | -8.99 | -6.73\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.52 | 0.53 | 0.66 | 4.47\n",
+ "norm_af | 0.03 | 0.02 | 0.00 | 0.19\n",
+ "norm_wf | 0.10 | 0.06 | 0.01 | 0.49\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.59 | -12.53 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 0.00 | 0.36 0.20 0.20 | -1.12 -0.88 -1.02 | 1.80 1.10 1.23\n",
+ "w | -0.00 -0.01 -0.00 | 0.19 0.19 0.01 | -1.61 -2.39 -0.09 | 2.22 1.47 0.16\n",
+ "a_f | -0.01 -0.00 | 0.02 0.03 | -0.19 -0.11 | 0.08 0.16\n",
+ "w_f | 0.00 -0.01 -0.00 | 0.09 0.07 0.02 | -0.30 -0.32 -0.09 | 0.47 0.27 0.16\n",
+ "landing_rewards | 9.82 | 1.34 | 0.00 | 10.00\n",
+ "landing_margin | -0.11 | 0.08 | -0.19 | 1.21\n",
+ "tracking_rewards | -4.77 | 4.49 | -30.04 | 1.22\n",
+ "steps | 303 | 24 | 253 | 388\n",
+ "***** Episode 290881, Mean R = -2.7 Std R = 5.4 Min R = -30.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.992\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -7.61\n",
+ "PolicyLoss: -0.00264\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 8.1e+07\n",
+ "ValFuncLoss: 1.22e-05\n",
+ "Variance: 0.0386\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0013181334 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03865569 0.03667155 0.03570983 0.03350581]\n",
+ "FIT: 0.6752518477599906 2.8072066310632855 0.020519283650824647 0.11888173341955033\n",
+ "***** Episode 291002, Mean R = -2.2 Std R = 5.5 Min R = -30.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00132\n",
+ "PolicyEntropy: -7.61\n",
+ "PolicyLoss: -0.00297\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 8.1e+07\n",
+ "ValFuncLoss: 1.16e-05\n",
+ "Variance: 0.0387\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0009285391 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03869972 0.03669268 0.03570759 0.03349708]\n",
+ "FIT: 1.025161298830724 2.609393030684088 0.020918576631819574 0.1209427924527135\n",
+ "***** Episode 291123, Mean R = -2.7 Std R = 6.3 Min R = -45.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.931\n",
+ "KL: 0.000929\n",
+ "PolicyEntropy: -7.61\n",
+ "PolicyLoss: -0.0018\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 8.1e+07\n",
+ "ValFuncLoss: 1.52e-05\n",
+ "Variance: 0.0387\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0013831769 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03872224 0.0367478 0.0357536 0.03350653]\n",
+ "FIT: 0.7238855423550882 2.7946746675330516 0.020642008066511397 0.1175465731409247\n",
+ "***** Episode 291244, Mean R = -2.3 Std R = 5.2 Min R = -29.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00138\n",
+ "PolicyEntropy: -7.61\n",
+ "PolicyLoss: -0.00236\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 8.11e+07\n",
+ "ValFuncLoss: 2.48e-05\n",
+ "Variance: 0.0387\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0009566322 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03876088 0.03679333 0.03574267 0.0335097 ]\n",
+ "FIT: 0.5358551567712009 2.6166320236372647 0.020799894992429877 0.1195760897605915\n",
+ "***** Episode 291365, Mean R = -2.5 Std R = 4.9 Min R = -18.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.000957\n",
+ "PolicyEntropy: -7.6\n",
+ "PolicyLoss: -0.00228\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 8.11e+07\n",
+ "ValFuncLoss: 2.35e-05\n",
+ "Variance: 0.0388\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011162724 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03881133 0.03686785 0.0357093 0.03353082]\n",
+ "FIT: 0.5000897213522298 2.718596863219098 0.020733377017115338 0.1194188721489306\n",
+ "***** Episode 291486, Mean R = -2.5 Std R = 4.5 Min R = -17.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -7.6\n",
+ "PolicyLoss: -0.00197\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 8.12e+07\n",
+ "ValFuncLoss: 2.49e-05\n",
+ "Variance: 0.0388\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011386626 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03883864 0.03686295 0.03570173 0.03353221]\n",
+ "FIT: 0.8603369707894606 2.7357298047325758 0.020229994222472347 0.11511927698486216\n",
+ "***** Episode 291607, Mean R = -2.0 Std R = 5.9 Min R = -33.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.954\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -7.6\n",
+ "PolicyLoss: -0.0021\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 8.12e+07\n",
+ "ValFuncLoss: 4.03e-05\n",
+ "Variance: 0.0388\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011054869 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03882528 0.03687057 0.0356902 0.03350766]\n",
+ "FIT: 0.4984503348324233 2.642228134613847 0.02026559933601075 0.11934873242794633\n",
+ "***** Episode 291728, Mean R = -2.1 Std R = 4.3 Min R = -17.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.00111\n",
+ "PolicyEntropy: -7.6\n",
+ "PolicyLoss: -0.00284\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 8.12e+07\n",
+ "ValFuncLoss: 1.52e-05\n",
+ "Variance: 0.0388\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011747882 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03876631 0.0368925 0.03570024 0.03347584]\n",
+ "FIT: 0.5990838075333049 2.736935972685202 0.02057197593096137 0.1198358223241048\n",
+ "***** Episode 291849, Mean R = -2.3 Std R = 4.9 Min R = -27.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -7.6\n",
+ "PolicyLoss: -0.00248\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 8.13e+07\n",
+ "ValFuncLoss: 1.77e-05\n",
+ "Variance: 0.0388\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011943481 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03878818 0.03684714 0.03569294 0.03346518]\n",
+ "FIT: 0.5840341957568791 2.8386554275917124 0.019943825763553837 0.11846661508451868\n",
+ "***** Episode 291970, Mean R = -2.1 Std R = 5.1 Min R = -29.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.975\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -7.6\n",
+ "PolicyLoss: -0.00175\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 8.13e+07\n",
+ "ValFuncLoss: 2.66e-05\n",
+ "Variance: 0.0388\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0014255038 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03880125 0.03681381 0.03564797 0.03347217]\n",
+ "FIT: 0.5942079447164132 2.7591297287956285 0.02195243174857411 0.12153238096510255\n",
+ "Update Cnt = 2250 ET = 1022.5 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.2 -0.4 -0.0 | 1.0 1.0 0.0 | -6.4 -4.6 -0.1 | 3.8 3.1 -0.0\n",
+ "v_f | 0.04 -0.06 -0.95 | 0.05 0.07 0.13 | -0.22 -0.52 -1.38 | 0.22 0.30 -0.43\n",
+ "r_i | 999.7 39.9 2349.9 | 581.2 564.8 28.9 | 3.2 -999.6 2300.1 | 1999.8 998.9 2399.9\n",
+ "v_i | -40.00 -0.28 -80.17 | 17.55 16.93 5.64 | -70.00 -29.99 -89.98 | -10.05 29.99 -70.05\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 6.9\n",
+ "norm_vf | 0.96 | 0.13 | 0.51 | 1.38\n",
+ "gs_f | 26.0 | 24.6 | 3.3 | 255.4\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "thrust | 1228 11 9242 | 2925 2813 1999 | -15083 -17495 2000 | 17028 16735 19990\n",
+ "norm_thrust | 9885 | 3109 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 260 | 352\n",
+ "rewards | -2.39 | 5.25 | -45.03 | 3.94\n",
+ "fuel_rewards | -7.51 | 0.39 | -9.07 | -6.71\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.53 | 0.55 | 0.58 | 5.09\n",
+ "norm_af | 0.03 | 0.02 | 0.00 | 0.22\n",
+ "norm_wf | 0.10 | 0.06 | 0.00 | 0.47\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.09 | 0.95 | -22.53 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.01 0.12 -0.00 | 0.35 0.21 0.19 | -1.44 -0.94 -1.07 | 1.47 1.11 1.14\n",
+ "w | -0.00 -0.01 -0.00 | 0.19 0.19 0.01 | -1.76 -2.50 -0.08 | 2.09 1.51 0.14\n",
+ "a_f | -0.01 -0.00 | 0.02 0.03 | -0.10 -0.21 | 0.07 0.11\n",
+ "w_f | 0.00 -0.01 -0.00 | 0.09 0.07 0.02 | -0.32 -0.47 -0.08 | 0.31 0.23 0.14\n",
+ "landing_rewards | 9.79 | 1.42 | 0.00 | 10.00\n",
+ "landing_margin | -0.11 | 0.08 | -0.19 | 1.91\n",
+ "tracking_rewards | -4.59 | 4.51 | -32.26 | 1.16\n",
+ "steps | 303 | 24 | 250 | 401\n",
+ "***** Episode 292091, Mean R = -3.3 Std R = 5.4 Min R = -23.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00143\n",
+ "PolicyEntropy: -7.61\n",
+ "PolicyLoss: -0.00218\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 8.13e+07\n",
+ "ValFuncLoss: 2.56e-05\n",
+ "Variance: 0.0388\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011888954 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.0387842 0.0368018 0.03563759 0.03348251]\n",
+ "FIT: 0.5502146517069946 2.5869646012082486 0.021716914407321788 0.12074638114489487\n",
+ "***** Episode 292212, Mean R = -3.1 Std R = 5.1 Min R = -20.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -7.61\n",
+ "PolicyLoss: -0.00255\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 8.14e+07\n",
+ "ValFuncLoss: 2.44e-05\n",
+ "Variance: 0.0388\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011260681 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03878504 0.03681573 0.03563454 0.03345895]\n",
+ "FIT: 0.5061978561821029 2.6686603273607123 0.020629997693095415 0.12052469669316479\n",
+ "***** Episode 292333, Mean R = -2.5 Std R = 4.7 Min R = -22.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00113\n",
+ "PolicyEntropy: -7.61\n",
+ "PolicyLoss: -0.00178\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 8.14e+07\n",
+ "ValFuncLoss: 1.75e-05\n",
+ "Variance: 0.0388\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0009463173 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03877997 0.03683531 0.03555284 0.0334486 ]\n",
+ "FIT: 0.5644991733432626 2.8048283116846457 0.02170091039838428 0.12022907726660001\n",
+ "***** Episode 292454, Mean R = -2.9 Std R = 5.4 Min R = -29.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.000946\n",
+ "PolicyEntropy: -7.61\n",
+ "PolicyLoss: -0.00247\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 8.14e+07\n",
+ "ValFuncLoss: 2.3e-05\n",
+ "Variance: 0.0388\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0012101765 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03877306 0.03686934 0.03549466 0.0334099 ]\n",
+ "FIT: 0.5875840131491229 2.6729726952431374 0.021744982640007363 0.12144823556380543\n",
+ "***** Episode 292575, Mean R = -3.0 Std R = 5.1 Min R = -21.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -7.61\n",
+ "PolicyLoss: -0.00229\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 8.15e+07\n",
+ "ValFuncLoss: 1.58e-05\n",
+ "Variance: 0.0388\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0010877422 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03877288 0.03683856 0.0355282 0.03340647]\n",
+ "FIT: 0.41182713914737235 2.465521662170186 0.019538848945824427 0.11832800717014225\n",
+ "***** Episode 292696, Mean R = -1.8 Std R = 4.2 Min R = -19.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00109\n",
+ "PolicyEntropy: -7.61\n",
+ "PolicyLoss: -0.00239\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 8.15e+07\n",
+ "ValFuncLoss: 1.86e-05\n",
+ "Variance: 0.0388\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0009587074 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03873913 0.03681781 0.03553 0.03339219]\n",
+ "FIT: 0.6575596535915542 2.5512815417286694 0.021816829962999454 0.12243021862586512\n",
+ "***** Episode 292817, Mean R = -3.1 Std R = 6.1 Min R = -25.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.968\n",
+ "KL: 0.000959\n",
+ "PolicyEntropy: -7.61\n",
+ "PolicyLoss: -0.00201\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 8.16e+07\n",
+ "ValFuncLoss: 3.26e-05\n",
+ "Variance: 0.0387\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0010439602 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03866229 0.03678738 0.03554412 0.03334428]\n",
+ "FIT: 0.6284490845249623 2.829732773792852 0.02340927066107422 0.12520432953946362\n",
+ "***** Episode 292938, Mean R = -4.0 Std R = 5.8 Min R = -24.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -7.62\n",
+ "PolicyLoss: -0.0022\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 8.16e+07\n",
+ "ValFuncLoss: 3.12e-05\n",
+ "Variance: 0.0387\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.001081787 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03863902 0.03671305 0.0355311 0.03330206]\n",
+ "FIT: 0.5616704059788638 2.8391196389558293 0.020900436353540407 0.12121766310360942\n",
+ "***** Episode 293059, Mean R = -2.6 Std R = 4.7 Min R = -20.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -7.62\n",
+ "PolicyLoss: -0.00248\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 8.16e+07\n",
+ "ValFuncLoss: 1.89e-05\n",
+ "Variance: 0.0386\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011875457 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03862724 0.03669626 0.03556364 0.03330345]\n",
+ "FIT: 0.5324454464892437 2.8958882037151064 0.020947862337482866 0.11792663812892516\n",
+ "***** Episode 293180, Mean R = -2.5 Std R = 5.1 Min R = -18.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00119\n",
+ "PolicyEntropy: -7.62\n",
+ "PolicyLoss: -0.00258\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 8.17e+07\n",
+ "ValFuncLoss: 2.14e-05\n",
+ "Variance: 0.0386\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0009370907 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03860339 0.03670831 0.03561286 0.03332073]\n",
+ "FIT: 0.9526966153854277 2.756278778598194 0.02228309450131668 0.12188439174385098\n",
+ "Update Cnt = 2260 ET = 1018.6 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 0.9 1.0 0.0 | -4.3 -4.0 -0.1 | 5.1 3.2 -0.0\n",
+ "v_f | 0.05 -0.06 -0.94 | 0.05 0.07 0.14 | -0.22 -0.47 -1.38 | 0.32 0.20 -0.38\n",
+ "r_i | 975.1 -10.3 2350.3 | 576.9 570.0 28.9 | 2.9 -999.9 2300.0 | 1993.6 999.4 2399.9\n",
+ "v_i | -40.22 0.06 -80.07 | 17.66 17.43 5.81 | -70.00 -29.98 -89.96 | -10.10 29.95 -70.00\n",
+ "norm_rf | 1.2 | 0.8 | 0.1 | 5.6\n",
+ "norm_vf | 0.94 | 0.14 | 0.45 | 1.38\n",
+ "gs_f | 26.3 | 78.7 | 3.7 | 2417.3\n",
+ "thrust | 1236 5 9223 | 2945 2934 1976 | -15510 -16820 2000 | 16544 16619 19998\n",
+ "norm_thrust | 9897 | 3134 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 260 | 351\n",
+ "rewards | -2.86 | 5.35 | -46.83 | 3.93\n",
+ "fuel_rewards | -7.50 | 0.39 | -9.06 | -6.70\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.53 | 0.53 | 0.60 | 4.84\n",
+ "norm_af | 0.03 | 0.02 | 0.00 | 0.18\n",
+ "norm_wf | 0.10 | 0.06 | 0.00 | 0.42\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.10 | 0.84 | -17.61 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.04 0.12 0.00 | 0.36 0.21 0.20 | -1.20 -0.90 -1.02 | 1.56 1.08 1.08\n",
+ "w | -0.00 -0.01 0.00 | 0.19 0.19 0.01 | -2.06 -2.34 -0.10 | 2.24 1.51 0.13\n",
+ "a_f | -0.01 -0.00 | 0.02 0.03 | -0.16 -0.15 | 0.14 0.16\n",
+ "w_f | 0.00 -0.01 0.00 | 0.09 0.08 0.02 | -0.39 -0.36 -0.10 | 0.41 0.26 0.12\n",
+ "landing_rewards | 9.72 | 1.65 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.09 | -0.19 | 1.34\n",
+ "tracking_rewards | -4.98 | 4.55 | -26.99 | 1.40\n",
+ "steps | 303 | 24 | 254 | 383\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 293301, Mean R = -3.1 Std R = 6.5 Min R = -46.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.973\n",
+ "KL: 0.000937\n",
+ "PolicyEntropy: -7.62\n",
+ "PolicyLoss: -0.00242\n",
+ "Steps: 3.64e+04\n",
+ "TotalSteps: 8.17e+07\n",
+ "ValFuncLoss: 2.43e-05\n",
+ "Variance: 0.0386\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011556618 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03861834 0.03669555 0.035625 0.03333166]\n",
+ "FIT: 0.6354984055939675 2.812913064924081 0.02012380453600802 0.11755483850814483\n",
+ "***** Episode 293422, Mean R = -2.0 Std R = 5.1 Min R = -21.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.963\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -7.62\n",
+ "PolicyLoss: -0.00188\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 8.17e+07\n",
+ "ValFuncLoss: 2.27e-05\n",
+ "Variance: 0.0386\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0010572509 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.0386543 0.03668247 0.03558142 0.03332233]\n",
+ "FIT: 0.603576014276445 2.797407311705726 0.02207260438793981 0.12111504972879567\n",
+ "***** Episode 293543, Mean R = -3.3 Std R = 5.7 Min R = -23.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.968\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -7.62\n",
+ "PolicyLoss: -0.00279\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 8.18e+07\n",
+ "ValFuncLoss: 2.12e-05\n",
+ "Variance: 0.0387\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0012379631 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03866059 0.03663124 0.03558552 0.03330193]\n",
+ "FIT: 0.4814514708087007 2.689957236950146 0.021768374515346574 0.11991070441807508\n",
+ "***** Episode 293664, Mean R = -3.0 Std R = 4.7 Min R = -17.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -7.62\n",
+ "PolicyLoss: -0.00225\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 8.18e+07\n",
+ "ValFuncLoss: 1.62e-05\n",
+ "Variance: 0.0387\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0012551632 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03860441 0.03668687 0.03556135 0.03329045]\n",
+ "FIT: 0.5680740241197353 2.546310641884465 0.020098962543130715 0.1160476383691955\n",
+ "***** Episode 293785, Mean R = -2.1 Std R = 4.8 Min R = -20.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00126\n",
+ "PolicyEntropy: -7.62\n",
+ "PolicyLoss: -0.00229\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 8.18e+07\n",
+ "ValFuncLoss: 1.95e-05\n",
+ "Variance: 0.0386\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0009848588 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03856525 0.03667705 0.03548715 0.03324906]\n",
+ "FIT: 0.5133337740974322 2.560627007584487 0.020273381946187493 0.11732257409029523\n",
+ "***** Episode 293906, Mean R = -2.2 Std R = 4.5 Min R = -17.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.000985\n",
+ "PolicyEntropy: -7.63\n",
+ "PolicyLoss: -0.00205\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 8.19e+07\n",
+ "ValFuncLoss: 1.44e-05\n",
+ "Variance: 0.0386\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.00087218726 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03854899 0.03659739 0.03548821 0.03324633]\n",
+ "FIT: 0.6720728050727722 2.7913943124919127 0.019958000792760933 0.12116111320085168\n",
+ "***** Episode 294027, Mean R = -2.0 Std R = 4.9 Min R = -30.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.994\n",
+ "KL: 0.000872\n",
+ "PolicyEntropy: -7.63\n",
+ "PolicyLoss: -0.00288\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 8.19e+07\n",
+ "ValFuncLoss: 1.73e-05\n",
+ "Variance: 0.0385\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0010508517 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03852562 0.0365438 0.03548688 0.03326955]\n",
+ "FIT: 0.6480993495385481 2.7745964563592143 0.02077073229331057 0.11996142574377808\n",
+ "***** Episode 294148, Mean R = -2.4 Std R = 5.5 Min R = -27.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -7.63\n",
+ "PolicyLoss: -0.00259\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 8.2e+07\n",
+ "ValFuncLoss: 2.29e-05\n",
+ "Variance: 0.0385\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0014399212 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03849626 0.03649139 0.03543254 0.03327277]\n",
+ "FIT: 0.7259427004328609 2.6972758853384566 0.02171488570245301 0.12180335441588361\n",
+ "***** Episode 294269, Mean R = -3.0 Std R = 6.1 Min R = -31.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.965\n",
+ "KL: 0.00144\n",
+ "PolicyEntropy: -7.64\n",
+ "PolicyLoss: -0.00215\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 8.2e+07\n",
+ "ValFuncLoss: 3.06e-05\n",
+ "Variance: 0.0385\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.001018171 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03845824 0.03647377 0.03539398 0.03324679]\n",
+ "FIT: 0.49025295970637417 2.674780527800289 0.020855129511460253 0.12367202243220028\n",
+ "***** Episode 294390, Mean R = -2.6 Std R = 4.6 Min R = -22.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00102\n",
+ "PolicyEntropy: -7.64\n",
+ "PolicyLoss: -0.00287\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 8.2e+07\n",
+ "ValFuncLoss: 1.41e-05\n",
+ "Variance: 0.0385\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.00097255246 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03845536 0.036436 0.03536964 0.03322427]\n",
+ "FIT: 0.5243797036258658 2.5429214830222366 0.020071343473608467 0.11798702087004916\n",
+ "Update Cnt = 2270 ET = 1028.8 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.4 -0.0 | 0.9 1.0 0.0 | -3.8 -3.8 -0.1 | 8.8 5.1 0.7\n",
+ "v_f | 0.04 -0.06 -0.94 | 0.10 0.09 0.14 | -2.80 -0.38 -1.35 | 0.31 1.67 0.06\n",
+ "r_i | 1025.4 -13.6 2349.5 | 571.9 584.7 28.6 | 0.6 -999.7 2300.1 | 1998.3 999.9 2400.0\n",
+ "v_i | -39.88 -0.37 -79.81 | 17.51 17.26 5.85 | -69.93 -29.96 -90.00 | -10.05 29.97 -70.00\n",
+ "norm_rf | 1.2 | 0.8 | 0.1 | 10.1\n",
+ "norm_vf | 0.95 | 0.15 | 0.35 | 3.26\n",
+ "gs_f | 23.6 | 23.3 | 0.2 | 473.4\n",
+ "thrust | 1214 18 9211 | 2850 2895 1994 | -14869 -17539 2000 | 16465 16533 19998\n",
+ "norm_thrust | 9856 | 3107 | 3464 | 20000\n",
+ "fuel | 292 | 16 | 262 | 475\n",
+ "rewards | -2.47 | 5.06 | -31.83 | 4.07\n",
+ "fuel_rewards | -7.53 | 0.41 | -12.24 | -6.76\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.52 | 0.56 | 0.16 | 5.91\n",
+ "norm_af | 0.03 | 0.03 | 0.00 | 0.73\n",
+ "norm_wf | 0.10 | 0.07 | 0.01 | 1.34\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.06 | 0.56 | -12.92 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 0.00 | 0.35 0.20 0.20 | -1.21 -0.89 -1.04 | 1.84 1.07 1.13\n",
+ "w | -0.00 -0.01 -0.00 | 0.19 0.19 0.01 | -1.83 -2.46 -0.07 | 2.17 1.41 0.32\n",
+ "a_f | -0.01 0.00 | 0.03 0.03 | -0.10 -0.15 | 0.65 0.33\n",
+ "w_f | 0.00 -0.01 -0.00 | 0.09 0.07 0.02 | -0.31 -0.41 -0.06 | 1.30 0.32 0.31\n",
+ "landing_rewards | 9.83 | 1.31 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.18 | -0.19 | 5.14\n",
+ "tracking_rewards | -4.70 | 4.56 | -33.35 | 1.16\n",
+ "steps | 305 | 25 | 247 | 601\n",
+ "***** Episode 294511, Mean R = -2.1 Std R = 4.2 Min R = -16.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.997\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.000973\n",
+ "PolicyEntropy: -7.64\n",
+ "PolicyLoss: -0.00289\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 8.21e+07\n",
+ "ValFuncLoss: 6.2e-06\n",
+ "Variance: 0.0385\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0010110907 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03842689 0.03645318 0.03543694 0.03321047]\n",
+ "FIT: 0.5163765638563182 2.6091895185214278 0.019868943949089717 0.11795382890583252\n",
+ "***** Episode 294632, Mean R = -1.8 Std R = 4.6 Min R = -20.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.998\n",
+ "ExplainedVarOld: 0.995\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -7.64\n",
+ "PolicyLoss: -0.00307\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 8.21e+07\n",
+ "ValFuncLoss: 5.06e-06\n",
+ "Variance: 0.0384\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0013744931 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03835978 0.03648404 0.03549635 0.03319129]\n",
+ "FIT: 0.8363995919113586 2.601529175778441 0.019484546791149544 0.11752476965068474\n",
+ "***** Episode 294753, Mean R = -1.7 Std R = 4.9 Min R = -30.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.974\n",
+ "KL: 0.00137\n",
+ "PolicyEntropy: -7.64\n",
+ "PolicyLoss: -0.00252\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 8.21e+07\n",
+ "ValFuncLoss: 1.13e-05\n",
+ "Variance: 0.0384\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011702864 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03835908 0.03649114 0.03553233 0.03319279]\n",
+ "FIT: 0.5504094033765817 2.771862182534687 0.021000003268012764 0.11880762654617089\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 294874, Mean R = -2.6 Std R = 5.3 Min R = -20.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.963\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -7.64\n",
+ "PolicyLoss: -0.00271\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 8.22e+07\n",
+ "ValFuncLoss: 3.92e-05\n",
+ "Variance: 0.0384\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011808138 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03836884 0.03645413 0.03552223 0.03316765]\n",
+ "FIT: 0.5598582556426897 2.6918656302272312 0.021233610174624804 0.12166934198862984\n",
+ "***** Episode 294995, Mean R = -2.9 Std R = 5.2 Min R = -21.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -7.64\n",
+ "PolicyLoss: -0.00282\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 8.22e+07\n",
+ "ValFuncLoss: 3.21e-05\n",
+ "Variance: 0.0384\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011157022 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03833421 0.03652084 0.03549669 0.03315122]\n",
+ "FIT: 0.5577014033475968 2.672112795419236 0.02076234088361702 0.12310837364676075\n",
+ "***** Episode 295116, Mean R = -2.5 Std R = 4.9 Min R = -23.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.99\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -7.64\n",
+ "PolicyLoss: -0.0025\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 8.23e+07\n",
+ "ValFuncLoss: 2.17e-05\n",
+ "Variance: 0.0383\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0010590767 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03824772 0.0365901 0.03543778 0.03318611]\n",
+ "FIT: 0.5311270218983896 2.526181854942647 0.01985476830421154 0.11813347202140223\n",
+ "***** Episode 295237, Mean R = -2.0 Std R = 4.7 Min R = -20.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00106\n",
+ "PolicyEntropy: -7.64\n",
+ "PolicyLoss: -0.00255\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 8.23e+07\n",
+ "ValFuncLoss: 1.85e-05\n",
+ "Variance: 0.0382\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0009955008 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03815655 0.03661564 0.03542028 0.03313096]\n",
+ "FIT: 0.5078909016409904 2.612482827780313 0.019102066152667917 0.11781617561472364\n",
+ "***** Episode 295358, Mean R = -1.5 Std R = 3.8 Min R = -16.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.998\n",
+ "ExplainedVarOld: 0.996\n",
+ "KL: 0.000996\n",
+ "PolicyEntropy: -7.65\n",
+ "PolicyLoss: -0.00235\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 8.23e+07\n",
+ "ValFuncLoss: 4.17e-06\n",
+ "Variance: 0.0382\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0013268616 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03811763 0.03660742 0.03544521 0.03309003]\n",
+ "FIT: 0.6727073407826986 2.663877073774693 0.020689034170721522 0.12086100580916727\n",
+ "***** Episode 295479, Mean R = -2.5 Std R = 5.2 Min R = -30.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.00133\n",
+ "PolicyEntropy: -7.65\n",
+ "PolicyLoss: -0.00262\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 8.24e+07\n",
+ "ValFuncLoss: 1.28e-05\n",
+ "Variance: 0.0381\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0009987376 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03812323 0.03659471 0.03546886 0.03314798]\n",
+ "FIT: 0.612266904891969 2.772198046893214 0.021819324987862772 0.11996109833537597\n",
+ "***** Episode 295600, Mean R = -2.8 Std R = 5.1 Min R = -24.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.998\n",
+ "ExplainedVarOld: 0.994\n",
+ "KL: 0.000999\n",
+ "PolicyEntropy: -7.64\n",
+ "PolicyLoss: -0.00277\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 8.24e+07\n",
+ "ValFuncLoss: 6.62e-06\n",
+ "Variance: 0.0381\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0012729262 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03815258 0.03656541 0.03547917 0.03315066]\n",
+ "FIT: 0.6681290228788263 2.5053282096901865 0.021171271242205657 0.11908071728579625\n",
+ "Update Cnt = 2280 ET = 1023.4 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 0.9 1.0 0.0 | -3.3 -5.2 -0.1 | 3.5 2.8 -0.0\n",
+ "v_f | 0.04 -0.06 -0.94 | 0.14 0.07 0.14 | -4.36 -0.33 -1.36 | 0.25 0.34 -0.38\n",
+ "r_i | 1012.4 -10.2 2351.2 | 572.9 570.4 28.9 | 3.6 -999.1 2300.0 | 1999.4 998.4 2399.9\n",
+ "v_i | -40.24 1.17 -80.34 | 17.10 17.06 5.77 | -70.00 -29.99 -89.99 | -10.02 29.99 -70.00\n",
+ "norm_rf | 1.2 | 0.8 | 0.1 | 5.2\n",
+ "norm_vf | 0.95 | 0.17 | 0.44 | 4.39\n",
+ "gs_f | 25.3 | 34.2 | 1.8 | 727.9\n",
+ "thrust | 1231 -32 9230 | 2851 2901 2000 | -15315 -16969 2000 | 16542 16643 19997\n",
+ "norm_thrust | 9875 | 3121 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 260 | 366\n",
+ "rewards | -2.29 | 4.89 | -30.47 | 4.16\n",
+ "fuel_rewards | -7.50 | 0.40 | -9.44 | -6.71\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.54 | 0.55 | 0.59 | 5.36\n",
+ "norm_af | 0.03 | 0.03 | 0.00 | 0.75\n",
+ "norm_wf | 0.10 | 0.07 | 0.01 | 1.56\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.04 | 0.45 | -12.09 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.02 0.12 0.00 | 0.35 0.20 0.20 | -1.25 -0.87 -1.03 | 2.30 1.06 1.09\n",
+ "w | -0.00 -0.01 0.00 | 0.19 0.19 0.01 | -1.68 -2.42 -0.08 | 2.03 1.63 0.24\n",
+ "a_f | -0.01 0.00 | 0.03 0.03 | -0.09 -0.17 | 0.66 0.36\n",
+ "w_f | 0.00 -0.01 0.00 | 0.09 0.07 0.02 | -0.29 -0.41 -0.07 | 1.52 0.28 0.24\n",
+ "landing_rewards | 9.83 | 1.27 | 0.00 | 10.00\n",
+ "landing_margin | -0.11 | 0.12 | -0.19 | 3.17\n",
+ "tracking_rewards | -4.58 | 4.40 | -29.71 | 1.41\n",
+ "steps | 303 | 24 | 249 | 386\n",
+ "***** Episode 295721, Mean R = -2.6 Std R = 4.8 Min R = -22.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00127\n",
+ "PolicyEntropy: -7.64\n",
+ "PolicyLoss: -0.00249\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 8.24e+07\n",
+ "ValFuncLoss: 1.29e-05\n",
+ "Variance: 0.0382\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0013081866 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03813908 0.03656708 0.03551259 0.03316151]\n",
+ "FIT: 0.4828584852539122 2.4591753750964833 0.020160064888343425 0.12012108572713297\n",
+ "***** Episode 295842, Mean R = -2.2 Std R = 4.3 Min R = -25.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00131\n",
+ "PolicyEntropy: -7.64\n",
+ "PolicyLoss: -0.00226\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 8.25e+07\n",
+ "ValFuncLoss: 2.28e-05\n",
+ "Variance: 0.0381\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0010847349 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03810352 0.0365928 0.03563168 0.0331887 ]\n",
+ "FIT: 0.6434614540045246 2.673794824869439 0.02072749912862376 0.12266501806670897\n",
+ "***** Episode 295963, Mean R = -2.7 Std R = 5.6 Min R = -25.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.971\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -7.64\n",
+ "PolicyLoss: -0.00226\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 8.25e+07\n",
+ "ValFuncLoss: 3.43e-05\n",
+ "Variance: 0.0381\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0009910185 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03807104 0.03658322 0.03568526 0.03319317]\n",
+ "FIT: 0.6214161780905707 2.651272072668659 0.02009147995099533 0.11918723901297197\n",
+ "***** Episode 296084, Mean R = -2.0 Std R = 4.8 Min R = -24.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.000991\n",
+ "PolicyEntropy: -7.64\n",
+ "PolicyLoss: -0.00274\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 8.25e+07\n",
+ "ValFuncLoss: 1.09e-05\n",
+ "Variance: 0.0381\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0012159109 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.0380265 0.03658001 0.03569126 0.03319192]\n",
+ "FIT: 0.5448004199511325 2.6525092754841757 0.02128013067906611 0.11963104493097042\n",
+ "***** Episode 296205, Mean R = -2.6 Std R = 5.4 Min R = -19.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.991\n",
+ "KL: 0.00122\n",
+ "PolicyEntropy: -7.64\n",
+ "PolicyLoss: -0.00267\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 8.26e+07\n",
+ "ValFuncLoss: 1.8e-05\n",
+ "Variance: 0.038\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0009219618 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03795605 0.03654931 0.0356897 0.03317185]\n",
+ "FIT: 0.48448174158442414 2.600312500200545 0.020517345719029717 0.11974486869041848\n",
+ "***** Episode 296326, Mean R = -2.2 Std R = 5.1 Min R = -26.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.953\n",
+ "KL: 0.000922\n",
+ "PolicyEntropy: -7.64\n",
+ "PolicyLoss: -0.003\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 8.26e+07\n",
+ "ValFuncLoss: 1.69e-05\n",
+ "Variance: 0.038\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0010144857 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03786198 0.03652273 0.03564755 0.03312354]\n",
+ "FIT: 0.7771485050153393 2.873285342558106 0.021480998728987545 0.12360127851271004\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 296447, Mean R = -2.8 Std R = 6.4 Min R = -48.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.997\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.00101\n",
+ "PolicyEntropy: -7.65\n",
+ "PolicyLoss: -0.00203\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 8.27e+07\n",
+ "ValFuncLoss: 9.96e-06\n",
+ "Variance: 0.0379\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011015051 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03787738 0.0365033 0.03567112 0.0330946 ]\n",
+ "FIT: 0.5073830174717298 2.4747440367277522 0.020026694119736742 0.11819181893026201\n",
+ "***** Episode 296568, Mean R = -2.0 Std R = 4.5 Min R = -17.0\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.0011\n",
+ "PolicyEntropy: -7.65\n",
+ "PolicyLoss: -0.00235\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 8.27e+07\n",
+ "ValFuncLoss: 1.68e-05\n",
+ "Variance: 0.0379\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0014699794 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03794439 0.03644037 0.03565675 0.03306876]\n",
+ "FIT: 0.6499797667983895 2.697437564913198 0.02128462771512886 0.1202951906692582\n",
+ "***** Episode 296689, Mean R = -2.6 Std R = 6.6 Min R = -31.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.00147\n",
+ "PolicyEntropy: -7.65\n",
+ "PolicyLoss: -0.00216\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 8.27e+07\n",
+ "ValFuncLoss: 2.34e-05\n",
+ "Variance: 0.0379\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.001181159 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.037951 0.0363866 0.03563846 0.0330665 ]\n",
+ "FIT: 0.6356663767384219 2.8195065527193908 0.020964522776336928 0.12182327566129916\n",
+ "***** Episode 296810, Mean R = -2.6 Std R = 6.2 Min R = -34.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -7.65\n",
+ "PolicyLoss: -0.00234\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 8.28e+07\n",
+ "ValFuncLoss: 3.19e-05\n",
+ "Variance: 0.038\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011544278 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03791092 0.03636224 0.03562669 0.03317138]\n",
+ "FIT: 0.448652703236165 2.6459656729010104 0.021266108058847214 0.1196987155651027\n",
+ "Update Cnt = 2290 ET = 1023.7 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 0.9 1.0 0.0 | -4.0 -4.8 -0.1 | 4.4 3.7 -0.0\n",
+ "v_f | 0.05 -0.05 -0.95 | 0.13 0.11 0.14 | -0.23 -0.41 -1.40 | 3.08 2.75 -0.40\n",
+ "r_i | 1009.3 -10.0 2350.1 | 583.9 581.4 28.6 | 2.9 -998.5 2300.1 | 1989.8 1000.0 2400.0\n",
+ "v_i | -40.68 0.85 -80.05 | 17.27 17.64 5.69 | -69.93 -29.98 -89.95 | -10.03 29.99 -70.01\n",
+ "norm_rf | 1.2 | 0.8 | 0.1 | 4.9\n",
+ "norm_vf | 0.96 | 0.18 | 0.44 | 4.31\n",
+ "gs_f | 24.6 | 28.0 | 0.4 | 592.8\n",
+ "thrust | 1248 -22 9243 | 2878 2884 1990 | -15139 -16672 2000 | 16364 16793 19998\n",
+ "norm_thrust | 9895 | 3106 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 258 | 377\n",
+ "rewards | -2.46 | 5.41 | -48.74 | 3.94\n",
+ "fuel_rewards | -7.52 | 0.40 | -9.72 | -6.66\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.54 | 0.58 | 0.37 | 6.17\n",
+ "norm_af | 0.03 | 0.04 | 0.00 | 1.18\n",
+ "norm_wf | 0.10 | 0.08 | 0.00 | 1.72\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.04 | 0.37 | -7.42 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.04 0.12 0.01 | 0.36 0.21 0.20 | -1.40 -0.88 -1.02 | 2.16 1.06 1.12\n",
+ "w | -0.00 -0.01 0.00 | 0.19 0.19 0.02 | -1.98 -2.53 -0.11 | 2.01 1.79 0.29\n",
+ "a_f | -0.01 0.00 | 0.03 0.04 | -0.69 -0.13 | 0.11 1.00\n",
+ "w_f | -0.00 -0.01 0.00 | 0.09 0.08 0.02 | -1.20 -1.21 -0.10 | 0.44 0.43 0.25\n",
+ "landing_rewards | 9.75 | 1.55 | 0.00 | 10.00\n",
+ "landing_margin | -0.10 | 0.20 | -0.19 | 4.61\n",
+ "tracking_rewards | -4.65 | 4.74 | -40.50 | 1.06\n",
+ "steps | 303 | 24 | 251 | 414\n",
+ "***** Episode 296931, Mean R = -2.8 Std R = 4.6 Min R = -21.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.986\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00115\n",
+ "PolicyEntropy: -7.65\n",
+ "PolicyLoss: -0.00256\n",
+ "Steps: 3.7e+04\n",
+ "TotalSteps: 8.28e+07\n",
+ "ValFuncLoss: 3.7e-05\n",
+ "Variance: 0.0379\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0012359596 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03788887 0.0363157 0.03561878 0.03319719]\n",
+ "FIT: 0.5090517260584968 2.483817333816153 0.018785110915153124 0.12088268716727199\n",
+ "***** Episode 297052, Mean R = -1.5 Std R = 4.0 Min R = -18.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -7.65\n",
+ "PolicyLoss: -0.00314\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 8.28e+07\n",
+ "ValFuncLoss: 2.21e-05\n",
+ "Variance: 0.0379\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0009523768 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03792256 0.03630823 0.03561423 0.03319995]\n",
+ "FIT: 0.566883518048227 2.643696899572761 0.020884204880584817 0.12094364041817406\n",
+ "***** Episode 297173, Mean R = -2.5 Std R = 4.8 Min R = -20.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.000952\n",
+ "PolicyEntropy: -7.65\n",
+ "PolicyLoss: -0.00239\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 8.29e+07\n",
+ "ValFuncLoss: 1.51e-05\n",
+ "Variance: 0.0379\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011164156 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03796568 0.03638668 0.03556824 0.03318642]\n",
+ "FIT: 0.5931659509549172 2.60802854209883 0.020468193597394786 0.11630170048456157\n",
+ "***** Episode 297294, Mean R = -2.1 Std R = 4.5 Min R = -20.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.00112\n",
+ "PolicyEntropy: -7.65\n",
+ "PolicyLoss: -0.00229\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 8.29e+07\n",
+ "ValFuncLoss: 1.5e-05\n",
+ "Variance: 0.038\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011989014 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03796959 0.03647053 0.03550394 0.0331994 ]\n",
+ "FIT: 0.5500773137503213 2.6240197597443267 0.021469635928546386 0.12209068381105713\n",
+ "***** Episode 297415, Mean R = -2.8 Std R = 4.9 Min R = -22.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.989\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: -7.65\n",
+ "PolicyLoss: -0.00302\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 8.3e+07\n",
+ "ValFuncLoss: 1.45e-05\n",
+ "Variance: 0.038\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.001197475 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03791539 0.03651278 0.03546041 0.03324688]\n",
+ "FIT: 0.5283975904479409 2.6227119120891964 0.022336395233406144 0.12161587873874105\n",
+ "***** Episode 297536, Mean R = -3.3 Std R = 5.0 Min R = -18.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.988\n",
+ "KL: 0.0012\n",
+ "PolicyEntropy: -7.65\n",
+ "PolicyLoss: -0.00241\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 8.3e+07\n",
+ "ValFuncLoss: 4.8e-05\n",
+ "Variance: 0.0379\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011835481 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03784862 0.03648086 0.03544689 0.0332627 ]\n",
+ "FIT: 0.5464179798988018 2.711077384458954 0.0205969152515961 0.1237148091718181\n",
+ "***** Episode 297657, Mean R = -2.4 Std R = 4.5 Min R = -19.8\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.998\n",
+ "ExplainedVarOld: 0.992\n",
+ "KL: 0.00118\n",
+ "PolicyEntropy: -7.65\n",
+ "PolicyLoss: -0.00292\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 8.3e+07\n",
+ "ValFuncLoss: 5.37e-06\n",
+ "Variance: 0.0378\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011415315 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03780577 0.03645232 0.03541635 0.03321922]\n",
+ "FIT: 0.7731165501346503 2.7642374354624426 0.021659060676564857 0.11998642659663271\n",
+ "***** Episode 297778, Mean R = -2.8 Std R = 5.6 Min R = -32.7\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.983\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -7.66\n",
+ "PolicyLoss: -0.00204\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 8.31e+07\n",
+ "ValFuncLoss: 2.26e-05\n",
+ "Variance: 0.0378\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.001051216 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03782322 0.03638272 0.03537926 0.03322486]\n",
+ "FIT: 0.4641459336966065 2.5823356361261482 0.019605042755474804 0.11691212876487934\n",
+ "***** Episode 297899, Mean R = -1.7 Std R = 3.8 Min R = -14.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.00105\n",
+ "PolicyEntropy: -7.66\n",
+ "PolicyLoss: -0.00273\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 8.31e+07\n",
+ "ValFuncLoss: 1.2e-05\n",
+ "Variance: 0.0378\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0013512471 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03782851 0.03631552 0.03536766 0.03327413]\n",
+ "FIT: 0.643552327371662 2.647996827594373 0.020559524788846695 0.12221295671436751\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "***** Episode 298020, Mean R = -2.2 Std R = 5.5 Min R = -35.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.976\n",
+ "KL: 0.00135\n",
+ "PolicyEntropy: -7.66\n",
+ "PolicyLoss: -0.00198\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 8.31e+07\n",
+ "ValFuncLoss: 1.7e-05\n",
+ "Variance: 0.0378\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0012278502 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03777703 0.03627453 0.03539621 0.03324259]\n",
+ "FIT: 0.6507820236163714 2.6725118344594323 0.021517608567890527 0.1206092743005489\n",
+ "Update Cnt = 2300 ET = 1022.1 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.4 -0.0 | 0.9 1.0 0.0 | -4.4 -4.5 -0.1 | 4.0 3.4 -0.0\n",
+ "v_f | 0.05 -0.05 -0.94 | 0.07 0.09 0.14 | -1.71 -1.88 -1.38 | 0.27 0.22 -0.45\n",
+ "r_i | 981.2 0.2 2350.3 | 570.6 580.6 29.2 | 9.2 -999.7 2300.2 | 1993.5 999.4 2400.0\n",
+ "v_i | -39.89 -0.42 -80.11 | 17.20 17.18 5.73 | -69.87 -29.96 -89.97 | -10.10 29.98 -70.01\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 4.9\n",
+ "norm_vf | 0.95 | 0.15 | 0.49 | 2.72\n",
+ "gs_f | 23.8 | 23.7 | 0.9 | 429.4\n",
+ "thrust | 1223 19 9228 | 2897 2892 1988 | -15173 -17458 2000 | 17049 16616 19994\n",
+ "norm_thrust | 9882 | 3115 | 3464 | 20000\n",
+ "fuel | 291 | 15 | 261 | 343\n",
+ "rewards | -2.41 | 4.84 | -35.58 | 3.92\n",
+ "fuel_rewards | -7.51 | 0.39 | -8.83 | -6.74\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.55 | 0.57 | 0.49 | 7.29\n",
+ "norm_af | 0.03 | 0.03 | 0.00 | 0.90\n",
+ "norm_wf | 0.10 | 0.06 | 0.01 | 0.72\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.04 | 0.45 | -11.64 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude | 0.03 0.11 0.00 | 0.36 0.21 0.20 | -1.23 -1.03 -1.02 | 2.12 1.07 1.07\n",
+ "w | -0.00 -0.01 -0.00 | 0.19 0.19 0.01 | -1.66 -2.27 -0.09 | 2.04 1.48 0.22\n",
+ "a_f | -0.01 0.00 | 0.03 0.03 | -0.08 -0.75 | 0.50 0.11\n",
+ "w_f | -0.00 -0.01 -0.00 | 0.08 0.07 0.02 | -0.29 -0.24 -0.08 | 0.53 0.43 0.22\n",
+ "landing_rewards | 9.86 | 1.18 | 0.00 | 10.00\n",
+ "landing_margin | -0.11 | 0.13 | -0.19 | 4.11\n",
+ "tracking_rewards | -4.72 | 4.44 | -31.43 | 1.02\n",
+ "steps | 303 | 24 | 254 | 389\n",
+ "***** Episode 298141, Mean R = -2.8 Std R = 5.3 Min R = -29.5\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.00123\n",
+ "PolicyEntropy: -7.66\n",
+ "PolicyLoss: -0.00256\n",
+ "Steps: 3.68e+04\n",
+ "TotalSteps: 8.32e+07\n",
+ "ValFuncLoss: 1.58e-05\n",
+ "Variance: 0.0378\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011408293 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03773502 0.03623085 0.03542189 0.03319388]\n",
+ "FIT: 0.5649965049401261 2.6788602282598797 0.021338521716369883 0.11758449662547041\n",
+ "***** Episode 298262, Mean R = -2.7 Std R = 5.3 Min R = -22.3\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00114\n",
+ "PolicyEntropy: -7.67\n",
+ "PolicyLoss: -0.00241\n",
+ "Steps: 3.63e+04\n",
+ "TotalSteps: 8.32e+07\n",
+ "ValFuncLoss: 2.07e-05\n",
+ "Variance: 0.0377\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0012103138 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03772265 0.03616568 0.03544095 0.03317484]\n",
+ "FIT: 0.644002668204629 2.721303022017413 0.022296210021139254 0.12141376675247158\n",
+ "***** Episode 298383, Mean R = -3.2 Std R = 5.8 Min R = -37.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.982\n",
+ "KL: 0.00121\n",
+ "PolicyEntropy: -7.67\n",
+ "PolicyLoss: -0.00206\n",
+ "Steps: 3.62e+04\n",
+ "TotalSteps: 8.32e+07\n",
+ "ValFuncLoss: 2.58e-05\n",
+ "Variance: 0.0377\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0010398859 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03770946 0.03611474 0.03538872 0.03313372]\n",
+ "FIT: 0.6753960731218447 2.748563738292694 0.020453337384378614 0.1183936688438182\n",
+ "***** Episode 298504, Mean R = -2.3 Std R = 4.9 Min R = -22.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.993\n",
+ "ExplainedVarOld: 0.977\n",
+ "KL: 0.00104\n",
+ "PolicyEntropy: -7.67\n",
+ "PolicyLoss: -0.0022\n",
+ "Steps: 3.71e+04\n",
+ "TotalSteps: 8.33e+07\n",
+ "ValFuncLoss: 1.64e-05\n",
+ "Variance: 0.0377\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0012910372 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03769863 0.03607018 0.0353676 0.03314414]\n",
+ "FIT: 0.6202253157628348 2.6556003679075717 0.021519951488944238 0.12119053463965307\n",
+ "***** Episode 298625, Mean R = -2.9 Std R = 5.7 Min R = -27.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.994\n",
+ "ExplainedVarOld: 0.985\n",
+ "KL: 0.00129\n",
+ "PolicyEntropy: -7.67\n",
+ "PolicyLoss: -0.00235\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 8.33e+07\n",
+ "ValFuncLoss: 2.1e-05\n",
+ "Variance: 0.0377\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011620801 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03769131 0.03606626 0.03534381 0.03307987]\n",
+ "FIT: 0.4791702263432459 2.7047211616949807 0.019183065176515447 0.1206119849272238\n",
+ "***** Episode 298746, Mean R = -1.8 Std R = 4.2 Min R = -15.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.991\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00116\n",
+ "PolicyEntropy: -7.68\n",
+ "PolicyLoss: -0.00229\n",
+ "Steps: 3.72e+04\n",
+ "TotalSteps: 8.34e+07\n",
+ "ValFuncLoss: 1.62e-05\n",
+ "Variance: 0.0377\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0014210187 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.0377154 0.03604631 0.03537792 0.03301594]\n",
+ "FIT: 0.655499364047538 2.767809664079623 0.021748087254427662 0.12189572870078026\n",
+ "***** Episode 298867, Mean R = -2.9 Std R = 5.0 Min R = -25.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.995\n",
+ "ExplainedVarOld: 0.987\n",
+ "KL: 0.00142\n",
+ "PolicyEntropy: -7.68\n",
+ "PolicyLoss: -0.0027\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 8.34e+07\n",
+ "ValFuncLoss: 1.67e-05\n",
+ "Variance: 0.0377\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0013972273 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03772502 0.03607039 0.03537684 0.03300418]\n",
+ "FIT: 0.737111250391163 2.777982174619998 0.021274413280689755 0.12559589872178412\n",
+ "***** Episode 298988, Mean R = -2.8 Std R = 6.0 Min R = -34.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.0014\n",
+ "PolicyEntropy: -7.68\n",
+ "PolicyLoss: -0.00267\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 8.34e+07\n",
+ "ValFuncLoss: 2.17e-05\n",
+ "Variance: 0.0377\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0008484236 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03770816 0.03599339 0.03528815 0.03295883]\n",
+ "FIT: 0.5554594622318717 2.6488118609337232 0.020592012497531263 0.11875243099056004\n",
+ "***** Episode 299109, Mean R = -2.2 Std R = 4.8 Min R = -20.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.998\n",
+ "ExplainedVarOld: 0.984\n",
+ "KL: 0.000848\n",
+ "PolicyEntropy: -7.68\n",
+ "PolicyLoss: -0.00177\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 8.35e+07\n",
+ "ValFuncLoss: 6.75e-06\n",
+ "Variance: 0.0377\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0010284948 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03769244 0.03593627 0.03520287 0.0329009 ]\n",
+ "FIT: 0.5807551267733067 2.7840186691561386 0.020872369906495596 0.1189085753193542\n",
+ "***** Episode 299230, Mean R = -2.4 Std R = 4.7 Min R = -24.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.985\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00103\n",
+ "PolicyEntropy: -7.69\n",
+ "PolicyLoss: -0.00245\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 8.35e+07\n",
+ "ValFuncLoss: 3.96e-05\n",
+ "Variance: 0.0377\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0012360184 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03765535 0.03587814 0.03516448 0.03285029]\n",
+ "FIT: 0.5007978727415227 2.5875004959820633 0.021053369028143722 0.11940088822409511\n",
+ "Update Cnt = 2310 ET = 1029.1 Stats: Mean, Std, Min, Max\n",
+ "r_f | -0.1 -0.3 -0.0 | 0.9 1.0 0.0 | -4.9 -4.4 -0.1 | 4.9 3.7 -0.0\n",
+ "v_f | 0.05 -0.04 -0.95 | 0.05 0.07 0.15 | -0.21 -0.43 -1.36 | 0.28 0.23 -0.28\n",
+ "r_i | 998.9 11.6 2351.2 | 583.3 571.2 28.6 | 3.4 -999.8 2300.0 | 1999.9 995.4 2399.6\n",
+ "v_i | -40.23 0.19 -80.13 | 17.45 17.25 5.83 | -69.98 -29.95 -90.00 | -10.03 29.91 -70.00\n",
+ "norm_rf | 1.2 | 0.8 | 0.0 | 6.2\n",
+ "norm_vf | 0.96 | 0.15 | 0.39 | 1.36\n",
+ "gs_f | 25.8 | 34.0 | 4.3 | 815.6\n",
+ "thrust | 1234 -2 9234 | 2963 2847 1997 | -15472 -16858 2000 | 16885 16677 19992\n",
+ "norm_thrust | 9894 | 3126 | 3464 | 20000\n",
+ "fuel | 292 | 15 | 261 | 350\n",
+ "rewards | -2.61 | 5.18 | -37.07 | 3.91\n",
+ "fuel_rewards | -7.52 | 0.39 | -9.02 | -6.72\n",
+ "glideslope_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "glideslope | 1.52 | 0.54 | 0.54 | 5.58\n",
+ "norm_af | 0.03 | 0.02 | 0.00 | 0.12\n",
+ "norm_wf | 0.10 | 0.06 | 0.01 | 0.47\n",
+ "sc_rewards | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_penalty | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "sc_margin | 100.00 | 0.00 | 100.00 | 100.00\n",
+ "att_rewards | -0.07 | 0.60 | -9.71 | 0.00\n",
+ "att_penalty | 0.00 | 0.00 | 0.00 | 0.00\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "attitude | 0.03 0.12 0.00 | 0.36 0.21 0.19 | -1.41 -0.89 -1.01 | 1.60 1.07 1.07\n",
+ "w | 0.00 -0.01 0.00 | 0.19 0.19 0.01 | -1.81 -2.44 -0.09 | 1.98 1.51 0.13\n",
+ "a_f | -0.01 0.00 | 0.02 0.03 | -0.11 -0.10 | 0.10 0.12\n",
+ "w_f | -0.00 -0.01 0.00 | 0.09 0.08 0.02 | -0.35 -0.39 -0.08 | 0.47 0.32 0.13\n",
+ "landing_rewards | 9.80 | 1.39 | 0.00 | 10.00\n",
+ "landing_margin | -0.11 | 0.08 | -0.19 | 1.24\n",
+ "tracking_rewards | -4.82 | 4.59 | -29.13 | 1.21\n",
+ "steps | 303 | 25 | 249 | 382\n",
+ "***** Episode 299351, Mean R = -2.8 Std R = 4.8 Min R = -22.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.987\n",
+ "ExplainedVarOld: 0.978\n",
+ "KL: 0.00124\n",
+ "PolicyEntropy: -7.69\n",
+ "PolicyLoss: -0.0027\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 8.35e+07\n",
+ "ValFuncLoss: 3.07e-05\n",
+ "Variance: 0.0377\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0009633137 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.0376278 0.0358799 0.03517871 0.03283417]\n",
+ "FIT: 0.7544424296819409 2.7234409446715024 0.021748121141744445 0.12406994909259116\n",
+ "***** Episode 299472, Mean R = -3.1 Std R = 6.3 Min R = -39.1\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.992\n",
+ "ExplainedVarOld: 0.967\n",
+ "KL: 0.000963\n",
+ "PolicyEntropy: -7.7\n",
+ "PolicyLoss: -0.0023\n",
+ "Steps: 3.67e+04\n",
+ "TotalSteps: 8.36e+07\n",
+ "ValFuncLoss: 2.23e-05\n",
+ "Variance: 0.0376\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0010771225 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03761045 0.03584613 0.03520821 0.0328321 ]\n",
+ "FIT: 0.572443080177498 2.8691117004068967 0.020076856873923413 0.11731322240234472\n",
+ "***** Episode 299593, Mean R = -2.2 Std R = 5.7 Min R = -31.6\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.988\n",
+ "ExplainedVarOld: 0.981\n",
+ "KL: 0.00108\n",
+ "PolicyEntropy: -7.7\n",
+ "PolicyLoss: -0.00236\n",
+ "Steps: 3.69e+04\n",
+ "TotalSteps: 8.36e+07\n",
+ "ValFuncLoss: 2.49e-05\n",
+ "Variance: 0.0376\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0008080256 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03762608 0.03582473 0.03524734 0.03276387]\n",
+ "FIT: 0.5399451900120193 2.902579428509278 0.020298873713187223 0.11346387018685887\n",
+ "***** Episode 299714, Mean R = -1.8 Std R = 4.8 Min R = -19.4\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.997\n",
+ "ExplainedVarOld: 0.995\n",
+ "KL: 0.000808\n",
+ "PolicyEntropy: -7.7\n",
+ "PolicyLoss: -0.00285\n",
+ "Steps: 3.65e+04\n",
+ "TotalSteps: 8.36e+07\n",
+ "ValFuncLoss: 1.06e-05\n",
+ "Variance: 0.0376\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0013599605 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03762436 0.03576126 0.03525792 0.03270234]\n",
+ "FIT: 0.5444292632841273 2.876953299197794 0.021250659056938966 0.12022377027868132\n",
+ "***** Episode 299835, Mean R = -2.7 Std R = 5.9 Min R = -26.2\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.996\n",
+ "ExplainedVarOld: 0.99\n",
+ "KL: 0.00136\n",
+ "PolicyEntropy: -7.7\n",
+ "PolicyLoss: -0.00263\n",
+ "Steps: 3.70e+04\n",
+ "TotalSteps: 8.37e+07\n",
+ "ValFuncLoss: 1.1e-05\n",
+ "Variance: 0.0376\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n",
+ "kl = 0.0011698203 beta = 0.1 lr_mult = 0.19753086419753085\n",
+ "var: [0.03768908 0.03568963 0.03528567 0.03260006]\n",
+ "FIT: 0.5562208924474689 2.43728684617615 0.019384070545595076 0.11714407843490968\n",
+ "***** Episode 299956, Mean R = -1.7 Std R = 4.3 Min R = -19.9\n",
+ "Beta: 0.1\n",
+ "ExplainedVarNew: 0.989\n",
+ "ExplainedVarOld: 0.986\n",
+ "KL: 0.00117\n",
+ "PolicyEntropy: -7.7\n",
+ "PolicyLoss: -0.00215\n",
+ "Steps: 3.66e+04\n",
+ "TotalSteps: 8.37e+07\n",
+ "ValFuncLoss: 2.7e-05\n",
+ "Variance: 0.0377\n",
+ "lr_multiplier: 0.198\n",
+ "\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "from env import Env\n",
+ "from reward_terminal_mdr import Reward\n",
+ "import env_utils as envu\n",
+ "import attitude_utils as attu\n",
+ "from dynamics_model import Dynamics_model\n",
+ "from lander_model import Lander_model\n",
+ "from ic_gen import Landing_icgen\n",
+ "from agent_mdr2 import Agent\n",
+ "from policy_ppo import Policy\n",
+ "from value_function import Value_function\n",
+ "from utils import Mapminmax,Logger,Scaler\n",
+ "from flat_constraint import Flat_constraint\n",
+ "from glideslope_constraint import Glideslope_constraint\n",
+ "from attitude_constraint import Attitude_constraint\n",
+ "from thruster_model import Thruster_model\n",
+ "\n",
+ "logger = Logger()\n",
+ "dynamics_model = Dynamics_model()\n",
+ "attitude_parameterization = attu.Quaternion_attitude()\n",
+ "\n",
+ "thruster_model = Thruster_model()\n",
+ "thruster_model.max_thrust = 5000\n",
+ "thruster_model.min_thrust = 1000\n",
+ "\n",
+ "lander_model = Lander_model(thruster_model, attitude_parameterization=attitude_parameterization,\n",
+ " apf_v0=70, apf_atarg=15., apf_tau2=100.)\n",
+ "lander_model.get_state_agent = lander_model.get_state_agent_tgo_alt\n",
+ "\n",
+ "reward_object = Reward(tracking_bias=0.01,tracking_coeff=-0.01, fuel_coeff=-0.05, debug=False, landing_coeff=10.)\n",
+ "\n",
+ "glideslope_constraint = Glideslope_constraint(gs_limit=-1.0)\n",
+ "shape_constraint = Flat_constraint()\n",
+ "attitude_constraint = Attitude_constraint(attitude_parameterization, \n",
+ " attitude_penalty=-100,attitude_coeff=-10,\n",
+ " attitude_limit=(10*np.pi, np.pi/2-np.pi/16, np.pi/2-np.pi/16))\n",
+ "env = Env(lander_model,dynamics_model,logger,\n",
+ " reward_object=reward_object,\n",
+ " glideslope_constraint=glideslope_constraint,\n",
+ " shape_constraint=shape_constraint,\n",
+ " attitude_constraint=attitude_constraint,\n",
+ " tf_limit=120.0,print_every=10)\n",
+ "\n",
+ "\n",
+ "env.ic_gen = Landing_icgen(mass_uncertainty=0.05, \n",
+ " g_uncertainty=(0.0,0.0), \n",
+ " attitude_parameterization=attitude_parameterization,\n",
+ " l_offset=0.,\n",
+ " adapt_apf_v0=True,\n",
+ " inertia_uncertainty_diag=100.0, \n",
+ " inertia_uncertainty_offdiag=10.0,\n",
+ " downrange = (0,2000 , -70, -10), \n",
+ " crossrange = (-1000,1000 , -30,30), \n",
+ " altitude = (2300,2400,-90,-70),\n",
+ " yaw = (-np.pi/8, np.pi/8, 0.0, 0.0) ,\n",
+ " pitch = (np.pi/4-np.pi/8, np.pi/4+np.pi/16, -0.01, 0.01),\n",
+ " roll = (-np.pi/8, np.pi/8, -0.01, 0.01))\n",
+ "\n",
+ "env.ic_gen.show()\n",
+ "\n",
+ "\n",
+ "obs_dim = 12\n",
+ "act_dim = 4\n",
+ "\n",
+ "\n",
+ "input_normalizer = Scaler(obs_dim)\n",
+ "\n",
+ "\n",
+ "policy = Policy(obs_dim,act_dim,kl_targ=0.001,epochs=20, beta=0.1, shuffle=True, servo_kl=True)\n",
+ "value_function = Value_function(obs_dim,cliprange=0.5)\n",
+ "agent = Agent(policy,value_function,env,input_normalizer,logger,\n",
+ " policy_episodes=120,policy_steps=12000,gamma1=0.95,gamma2=0.995, lam=0.98, monitor=env.rl_stats)\n",
+ "agent.train(300000)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "policy.close_sess()\n",
+ "value_function.close_sess()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [
+ {
+ "ename": "ImportError",
+ "evalue": "No module named 'utils'",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)",
+ "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mutils\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0mfname\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m\"optimize_4km-more_thrust-2400m-GOOD\"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;31m#utils.save_run(policy,input_normalizer,fname)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mutils\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msave_run\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mpolicy\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0minput_normalizer\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0menv\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrl_stats\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhistory\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mfname\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+ "\u001b[0;31mImportError\u001b[0m: No module named 'utils'"
+ ]
+ }
+ ],
+ "source": [
+ "import utils\n",
+ "fname = \"optimize_4km\"\n",
+ "#utils.save_run(policy,input_normalizer,fname)\n",
+ "utils.save_run(policy,input_normalizer,env.rl_stats.history,fname)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Test Policy with Realistic Noise\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9844.53 |3033.56 |3464.10 |20000.00 | 3\n",
+ "glideslope | 3.770 | 8.584 | 0.907 |871.471 | 30\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.2 -0.0 | 0.6 0.7 0.0 | -1.2 -3.6 -0.0 | 2.0 2.1 -0.0\n",
+ "velocity | 0.066 -0.011 -0.930 | 0.024 0.036 0.057 | 0.009 -0.106 -1.066 | 0.123 0.082 -0.764\n",
+ "fuel |291.94 | 16.74 |263.48 |346.28\n",
+ "attitude_321 | 0.024 -0.018 0.003 | 0.156 0.011 0.010 | -0.337 -0.048 -0.018 | 0.338 0.014 0.028\n",
+ "w | -0.003 -0.003 0.000 | 0.017 0.012 0.000 | -0.044 -0.035 -0.000 | 0.033 0.033 0.000\n",
+ "glideslope | 19.967 | 9.362 | 8.582 | 75.674\n",
+ "i : 200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9800.72 |3040.11 |3464.10 |20000.00 | 3\n",
+ "glideslope | 3.760 | 7.997 | 0.770 |871.471 | 30\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.8 0.8 0.0 | -1.4 -3.7 -0.1 | 3.7 2.1 -0.0\n",
+ "velocity | 0.062 -0.012 -0.937 | 0.024 0.039 0.073 | 0.001 -0.119 -1.288 | 0.128 0.109 -0.616\n",
+ "fuel |290.99 | 16.02 |259.28 |346.28\n",
+ "attitude_321 | 0.023 -0.016 0.003 | 0.161 0.010 0.011 | -0.372 -0.048 -0.023 | 0.345 0.014 0.028\n",
+ "w | -0.001 -0.003 0.000 | 0.019 0.013 0.000 | -0.051 -0.044 -0.000 | 0.073 0.034 0.000\n",
+ "glideslope | 21.644 | 11.646 | 8.582 | 98.071\n",
+ "i : 300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9793.09 |3037.11 |3464.10 |20000.00 | 251\n",
+ "glideslope | 3.691 | 7.763 | 0.770 |871.471 | 30\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -1.4 -3.7 -0.1 | 3.7 2.1 -0.0\n",
+ "velocity | 0.062 -0.012 -0.938 | 0.025 0.040 0.071 | 0.001 -0.147 -1.288 | 0.128 0.109 -0.616\n",
+ "fuel |291.00 | 15.82 |259.28 |346.28\n",
+ "attitude_321 | 0.018 -0.016 0.003 | 0.172 0.010 0.011 | -0.432 -0.059 -0.025 | 0.432 0.014 0.042\n",
+ "w | -0.001 -0.003 0.000 | 0.020 0.013 0.000 | -0.084 -0.044 -0.000 | 0.073 0.045 0.000\n",
+ "glideslope | 21.478 | 10.759 | 8.582 | 98.071\n",
+ "i : 400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9794.79 |3051.30 |3464.10 |20000.00 | 251\n",
+ "glideslope | 3.771 |10.634 | 0.770 |2467.897 | 360\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.2 -0.0 | 0.7 0.8 0.0 | -1.4 -5.0 -0.1 | 3.7 2.1 -0.0\n",
+ "velocity | 0.062 -0.014 -0.936 | 0.025 0.041 0.073 | -0.004 -0.163 -1.288 | 0.128 0.109 -0.616\n",
+ "fuel |290.70 | 15.84 |259.28 |346.28\n",
+ "attitude_321 | 0.021 -0.016 0.002 | 0.174 0.011 0.011 | -0.443 -0.059 -0.034 | 0.432 0.014 0.042\n",
+ "w | -0.001 -0.003 0.000 | 0.021 0.013 0.000 | -0.097 -0.044 -0.000 | 0.073 0.045 0.000\n",
+ "glideslope | 21.374 | 10.650 | 8.582 | 98.071\n",
+ "i : 500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9797.08 |3058.80 |3464.10 |20000.00 | 251\n",
+ "glideslope | 3.777 |10.515 | 0.770 |2467.897 | 360\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.8 0.0 | -1.4 -5.0 -0.1 | 3.7 2.1 -0.0\n",
+ "velocity | 0.062 -0.015 -0.937 | 0.025 0.041 0.075 | -0.004 -0.163 -1.299 | 0.128 0.109 -0.616\n",
+ "fuel |291.09 | 15.79 |259.28 |346.28\n",
+ "attitude_321 | 0.022 -0.016 0.002 | 0.171 0.010 0.011 | -0.443 -0.059 -0.034 | 0.432 0.014 0.042\n",
+ "w | -0.002 -0.004 0.000 | 0.021 0.013 0.000 | -0.097 -0.050 -0.000 | 0.073 0.045 0.000\n",
+ "glideslope | 21.615 | 12.305 | 8.582 | 153.889\n",
+ "i : 600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9772.19 |3049.33 |3464.10 |20000.00 | 251\n",
+ "glideslope | 3.826 |10.645 | 0.770 |2467.897 | 360\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.5 -0.1 -0.0 | 0.7 0.8 0.0 | -1.4 -5.0 -0.1 | 3.7 2.2 -0.0\n",
+ "velocity | 0.063 -0.015 -0.935 | 0.025 0.042 0.075 | -0.004 -0.185 -1.299 | 0.128 0.109 -0.612\n",
+ "fuel |290.96 | 15.73 |256.49 |346.28\n",
+ "attitude_321 | 0.019 -0.017 0.002 | 0.172 0.010 0.011 | -0.443 -0.059 -0.034 | 0.474 0.014 0.042\n",
+ "w | -0.002 -0.003 0.000 | 0.021 0.013 0.000 | -0.097 -0.052 -0.000 | 0.073 0.045 0.000\n",
+ "glideslope | 21.072 | 11.749 | 8.582 | 153.889\n",
+ "i : 700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9784.81 |3055.45 |3464.10 |20000.00 | 251\n",
+ "glideslope | 3.791 |10.134 | 0.770 |2467.897 | 360\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.8 0.0 | -1.9 -5.0 -0.1 | 3.7 2.2 -0.0\n",
+ "velocity | 0.064 -0.013 -0.934 | 0.025 0.041 0.074 | -0.019 -0.185 -1.299 | 0.128 0.109 -0.559\n",
+ "fuel |291.08 | 15.54 |256.49 |346.28\n",
+ "attitude_321 | 0.012 -0.017 0.002 | 0.174 0.010 0.011 | -0.443 -0.059 -0.034 | 0.474 0.014 0.042\n",
+ "w | -0.001 -0.003 0.000 | 0.020 0.013 0.000 | -0.097 -0.052 -0.000 | 0.073 0.045 0.000\n",
+ "glideslope | 21.237 | 12.527 | 8.582 | 153.889\n",
+ "i : 800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9784.99 |3063.75 |3464.10 |20000.00 | 251\n",
+ "glideslope | 3.741 | 9.741 | 0.735 |2467.897 | 360\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.8 0.0 | -1.9 -5.0 -0.1 | 4.0 2.2 -0.0\n",
+ "velocity | 0.064 -0.013 -0.934 | 0.025 0.041 0.074 | -0.019 -0.185 -1.299 | 0.128 0.109 -0.559\n",
+ "fuel |291.21 | 15.40 |256.49 |346.28\n",
+ "attitude_321 | 0.011 -0.017 0.002 | 0.173 0.010 0.011 | -0.443 -0.059 -0.034 | 0.474 0.014 0.042\n",
+ "w | -0.001 -0.004 0.000 | 0.020 0.013 0.000 | -0.097 -0.052 -0.000 | 0.073 0.045 0.000\n",
+ "glideslope | 21.067 | 12.227 | 8.582 | 153.889\n",
+ "i : 900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9793.35 |3067.91 |3464.10 |20000.00 | 251\n",
+ "glideslope | 3.794 | 9.545 | 0.735 |2467.897 | 360\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.8 0.0 | -1.9 -5.0 -0.1 | 4.0 2.2 -0.0\n",
+ "velocity | 0.064 -0.013 -0.934 | 0.025 0.040 0.073 | -0.019 -0.185 -1.299 | 0.128 0.109 -0.559\n",
+ "fuel |291.16 | 15.39 |256.49 |346.28\n",
+ "attitude_321 | 0.012 -0.017 0.003 | 0.171 0.010 0.011 | -0.443 -0.059 -0.034 | 0.474 0.014 0.042\n",
+ "w | -0.001 -0.004 0.000 | 0.020 0.013 0.000 | -0.097 -0.052 -0.000 | 0.073 0.045 0.000\n",
+ "glideslope | 21.246 | 12.578 | 8.582 | 153.889\n",
+ "i : 1000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9803.26 |3072.76 |3464.10 |20000.00 | 251\n",
+ "glideslope | 3.789 | 9.352 | 0.735 |2467.897 | 360\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.8 0.0 | -1.9 -5.0 -0.1 | 4.0 2.2 -0.0\n",
+ "velocity | 0.064 -0.013 -0.933 | 0.025 0.040 0.073 | -0.019 -0.185 -1.299 | 0.128 0.109 -0.559\n",
+ "fuel |291.20 | 15.37 |256.49 |346.28\n",
+ "attitude_321 | 0.011 -0.016 0.003 | 0.171 0.010 0.011 | -0.443 -0.059 -0.034 | 0.474 0.014 0.042\n",
+ "w | -0.001 -0.004 0.000 | 0.020 0.013 0.000 | -0.097 -0.052 -0.000 | 0.073 0.045 0.000\n",
+ "glideslope | 21.254 | 12.310 | 8.582 | 153.889\n",
+ "i : 1100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9805.67 |3075.23 |3464.10 |20000.00 | 251\n",
+ "glideslope | 3.791 | 9.318 | 0.735 |2467.897 | 360\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.8 0.0 | -1.9 -5.0 -0.1 | 4.0 2.2 -0.0\n",
+ "velocity | 0.064 -0.012 -0.933 | 0.025 0.040 0.072 | -0.019 -0.185 -1.299 | 0.128 0.109 -0.559\n",
+ "fuel |291.28 | 15.41 |256.49 |346.28\n",
+ "attitude_321 | 0.007 -0.016 0.003 | 0.172 0.010 0.011 | -0.443 -0.059 -0.034 | 0.474 0.014 0.042\n",
+ "w | -0.001 -0.004 0.000 | 0.020 0.013 0.000 | -0.097 -0.052 -0.000 | 0.073 0.045 0.000\n",
+ "glideslope | 21.240 | 11.985 | 8.582 | 153.889\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 1200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9816.62 |3077.65 |3464.10 |20000.00 | 251\n",
+ "glideslope | 3.832 | 9.306 | 0.735 |2467.897 | 360\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.8 0.0 | -1.9 -5.0 -0.1 | 4.0 2.2 -0.0\n",
+ "velocity | 0.064 -0.013 -0.933 | 0.025 0.040 0.072 | -0.019 -0.185 -1.299 | 0.143 0.109 -0.559\n",
+ "fuel |291.11 | 15.33 |256.49 |346.28\n",
+ "attitude_321 | 0.008 -0.016 0.003 | 0.172 0.010 0.011 | -0.443 -0.059 -0.034 | 0.474 0.014 0.044\n",
+ "w | -0.001 -0.004 0.000 | 0.021 0.013 0.000 | -0.098 -0.078 -0.000 | 0.073 0.045 0.000\n",
+ "glideslope | 21.207 | 11.862 | 8.582 | 153.889\n",
+ "i : 1300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9817.17 |3078.17 |3464.10 |20000.00 | 251\n",
+ "glideslope | 3.842 | 9.566 | 0.735 |2467.897 | 360\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.8 0.0 | -1.9 -5.0 -0.1 | 4.0 2.2 -0.0\n",
+ "velocity | 0.064 -0.013 -0.934 | 0.025 0.040 0.072 | -0.019 -0.185 -1.299 | 0.143 0.109 -0.559\n",
+ "fuel |291.16 | 15.38 |256.49 |346.28\n",
+ "attitude_321 | 0.010 -0.016 0.003 | 0.171 0.010 0.011 | -0.443 -0.059 -0.034 | 0.474 0.018 0.044\n",
+ "w | -0.001 -0.004 0.000 | 0.020 0.013 0.000 | -0.098 -0.078 -0.000 | 0.073 0.045 0.000\n",
+ "glideslope | 21.333 | 12.492 | 8.582 | 176.599\n",
+ "i : 1400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9823.40 |3081.41 |3464.10 |20000.00 | 251\n",
+ "glideslope | 3.883 |12.232 | 0.735 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.8 0.0 | -1.9 -5.0 -0.1 | 4.0 2.2 -0.0\n",
+ "velocity | 0.064 -0.013 -0.934 | 0.026 0.040 0.072 | -0.019 -0.185 -1.299 | 0.143 0.109 -0.559\n",
+ "fuel |291.01 | 15.30 |256.49 |346.28\n",
+ "attitude_321 | 0.009 -0.016 0.003 | 0.171 0.010 0.011 | -0.485 -0.059 -0.034 | 0.474 0.018 0.044\n",
+ "w | -0.001 -0.004 0.000 | 0.020 0.013 0.000 | -0.098 -0.078 -0.000 | 0.073 0.045 0.000\n",
+ "glideslope | 21.403 | 12.358 | 8.582 | 176.599\n",
+ "i : 1500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9819.93 |3082.87 |3464.10 |20000.00 | 251\n",
+ "glideslope | 3.906 |11.997 | 0.735 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.8 0.0 | -1.9 -5.0 -0.1 | 4.0 2.2 -0.0\n",
+ "velocity | 0.064 -0.012 -0.933 | 0.026 0.040 0.073 | -0.019 -0.185 -1.299 | 0.143 0.109 -0.559\n",
+ "fuel |291.15 | 15.30 |256.49 |346.28\n",
+ "attitude_321 | 0.008 -0.016 0.003 | 0.171 0.010 0.011 | -0.485 -0.059 -0.036 | 0.474 0.018 0.044\n",
+ "w | -0.001 -0.004 0.000 | 0.020 0.013 0.000 | -0.098 -0.078 -0.000 | 0.073 0.045 0.000\n",
+ "glideslope | 21.320 | 12.185 | 8.582 | 176.599\n",
+ "i : 1600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9819.63 |3082.03 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.893 |11.856 | 0.735 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.8 0.0 | -1.9 -5.0 -0.1 | 4.0 2.2 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.074 | -0.019 -0.185 -1.316 | 0.143 0.109 -0.559\n",
+ "fuel |291.10 | 15.19 |256.49 |346.28\n",
+ "attitude_321 | 0.009 -0.016 0.003 | 0.171 0.010 0.011 | -0.485 -0.059 -0.036 | 0.531 0.018 0.044\n",
+ "w | -0.001 -0.004 0.000 | 0.021 0.013 0.000 | -0.098 -0.078 -0.000 | 0.073 0.045 0.000\n",
+ "glideslope | 21.351 | 12.499 | 8.434 | 176.599\n",
+ "i : 1700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9816.25 |3080.29 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.890 |11.681 | 0.735 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.8 0.0 | -1.9 -5.0 -0.1 | 4.0 2.2 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.074 | -0.019 -0.198 -1.316 | 0.143 0.109 -0.559\n",
+ "fuel |290.93 | 15.16 |256.49 |346.28\n",
+ "attitude_321 | 0.008 -0.016 0.003 | 0.171 0.010 0.011 | -0.485 -0.059 -0.036 | 0.531 0.018 0.044\n",
+ "w | -0.001 -0.004 0.000 | 0.021 0.013 0.000 | -0.098 -0.078 -0.000 | 0.073 0.045 0.000\n",
+ "glideslope | 21.634 | 16.908 | 8.434 | 475.856\n",
+ "i : 1800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9817.61 |3078.56 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.914 |11.507 | 0.735 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.8 0.0 | -1.9 -5.0 -0.1 | 4.0 2.2 -0.0\n",
+ "velocity | 0.063 -0.013 -0.933 | 0.026 0.040 0.075 | -0.019 -0.198 -1.316 | 0.143 0.109 -0.559\n",
+ "fuel |290.76 | 15.08 |256.49 |346.28\n",
+ "attitude_321 | 0.010 -0.016 0.002 | 0.172 0.010 0.011 | -0.485 -0.059 -0.036 | 0.531 0.018 0.044\n",
+ "w | -0.001 -0.004 0.000 | 0.021 0.013 0.000 | -0.098 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 21.637 | 16.618 | 8.434 | 475.856\n",
+ "i : 1900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9819.73 |3078.16 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.987 |12.006 | 0.735 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.8 0.0 | -1.9 -5.0 -0.1 | 4.0 2.2 -0.0\n",
+ "velocity | 0.063 -0.013 -0.933 | 0.026 0.040 0.075 | -0.019 -0.198 -1.316 | 0.143 0.109 -0.559\n",
+ "fuel |290.65 | 15.04 |256.49 |346.28\n",
+ "attitude_321 | 0.008 -0.016 0.002 | 0.173 0.010 0.011 | -0.485 -0.059 -0.036 | 0.531 0.018 0.044\n",
+ "w | -0.001 -0.004 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 21.639 | 16.504 | 8.434 | 475.856\n",
+ "i : 2000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9819.81 |3077.35 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.981 |11.843 | 0.735 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -1.9 -5.0 -0.1 | 4.0 2.2 -0.0\n",
+ "velocity | 0.063 -0.013 -0.933 | 0.026 0.040 0.074 | -0.019 -0.198 -1.316 | 0.143 0.109 -0.559\n",
+ "fuel |290.66 | 15.04 |256.49 |346.28\n",
+ "attitude_321 | 0.008 -0.016 0.002 | 0.174 0.010 0.011 | -0.485 -0.059 -0.036 | 0.531 0.018 0.044\n",
+ "w | -0.001 -0.004 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 21.719 | 16.783 | 8.434 | 475.856\n",
+ "i : 2100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9823.96 |3079.11 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.974 |11.871 | 0.735 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -1.9 -5.0 -0.1 | 4.0 2.2 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.074 | -0.019 -0.198 -1.316 | 0.143 0.109 -0.559\n",
+ "fuel |290.66 | 15.00 |256.49 |346.28\n",
+ "attitude_321 | 0.006 -0.016 0.003 | 0.174 0.010 0.011 | -0.485 -0.059 -0.036 | 0.531 0.018 0.044\n",
+ "w | -0.001 -0.004 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 21.838 | 16.625 | 8.434 | 475.856\n",
+ "i : 2200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9825.39 |3080.75 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.960 |11.735 | 0.735 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -1.9 -5.0 -0.1 | 4.0 2.2 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.074 | -0.019 -0.198 -1.316 | 0.143 0.109 -0.559\n",
+ "fuel |290.69 | 15.02 |256.49 |351.01\n",
+ "attitude_321 | 0.006 -0.016 0.003 | 0.174 0.010 0.011 | -0.485 -0.059 -0.036 | 0.531 0.018 0.044\n",
+ "w | -0.001 -0.004 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 21.819 | 16.634 | 8.434 | 475.856\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 2300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9824.22 |3081.69 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.955 |11.599 | 0.727 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.8 0.0 | -2.1 -5.2 -0.1 | 4.0 2.2 -0.0\n",
+ "velocity | 0.063 -0.013 -0.933 | 0.026 0.040 0.074 | -0.019 -0.198 -1.316 | 0.143 0.109 -0.520\n",
+ "fuel |290.66 | 15.10 |256.49 |351.01\n",
+ "attitude_321 | 0.007 -0.016 0.002 | 0.174 0.010 0.011 | -0.485 -0.059 -0.036 | 0.531 0.018 0.044\n",
+ "w | -0.001 -0.004 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 21.935 | 17.652 | 8.085 | 475.856\n",
+ "i : 2400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9822.75 |3080.61 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.951 |11.508 | 0.727 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.8 0.0 | -2.1 -5.2 -0.1 | 4.2 2.2 -0.0\n",
+ "velocity | 0.063 -0.013 -0.933 | 0.026 0.040 0.074 | -0.019 -0.198 -1.316 | 0.143 0.109 -0.520\n",
+ "fuel |290.70 | 15.20 |256.49 |351.01\n",
+ "attitude_321 | 0.007 -0.016 0.003 | 0.175 0.010 0.011 | -0.485 -0.059 -0.036 | 0.531 0.018 0.044\n",
+ "w | -0.001 -0.004 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 22.014 | 17.709 | 8.085 | 475.856\n",
+ "i : 2500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9824.21 |3082.06 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.933 |12.424 | 0.727 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.8 0.0 | -2.1 -5.2 -0.1 | 4.2 2.5 -0.0\n",
+ "velocity | 0.063 -0.013 -0.933 | 0.026 0.040 0.073 | -0.019 -0.198 -1.316 | 0.143 0.109 -0.520\n",
+ "fuel |290.78 | 15.21 |256.49 |351.01\n",
+ "attitude_321 | 0.008 -0.016 0.003 | 0.175 0.010 0.011 | -0.485 -0.059 -0.036 | 0.531 0.018 0.044\n",
+ "w | -0.001 -0.004 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 22.048 | 17.522 | 8.085 | 475.856\n",
+ "i : 2600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9822.78 |3083.32 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.938 |12.277 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.8 0.0 | -2.1 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.013 -0.934 | 0.026 0.040 0.074 | -0.019 -0.198 -1.316 | 0.143 0.109 -0.520\n",
+ "fuel |290.79 | 15.24 |256.49 |351.01\n",
+ "attitude_321 | 0.009 -0.016 0.002 | 0.175 0.010 0.011 | -0.500 -0.059 -0.036 | 0.531 0.018 0.044\n",
+ "w | -0.001 -0.004 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 22.020 | 17.294 | 8.085 | 475.856\n",
+ "i : 2700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9822.47 |3084.92 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.940 |12.118 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.8 0.0 | -2.1 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.013 -0.933 | 0.026 0.040 0.074 | -0.019 -0.198 -1.316 | 0.143 0.109 -0.520\n",
+ "fuel |290.83 | 15.24 |256.49 |351.01\n",
+ "attitude_321 | 0.007 -0.016 0.003 | 0.175 0.010 0.011 | -0.500 -0.059 -0.036 | 0.531 0.018 0.044\n",
+ "w | -0.001 -0.004 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 22.023 | 17.142 | 8.085 | 475.856\n",
+ "i : 2800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9823.44 |3083.78 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.939 |12.077 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.8 0.0 | -2.1 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.013 -0.933 | 0.026 0.040 0.075 | -0.019 -0.198 -1.316 | 0.143 0.109 -0.520\n",
+ "fuel |290.81 | 15.20 |256.49 |351.01\n",
+ "attitude_321 | 0.007 -0.016 0.003 | 0.174 0.010 0.011 | -0.500 -0.059 -0.036 | 0.531 0.018 0.044\n",
+ "w | -0.001 -0.004 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 22.015 | 16.951 | 8.085 | 475.856\n",
+ "i : 2900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9822.51 |3083.84 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.927 |11.961 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.8 0.0 | -2.1 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.013 -0.933 | 0.026 0.040 0.075 | -0.019 -0.198 -1.316 | 0.143 0.109 -0.520\n",
+ "fuel |290.80 | 15.15 |256.49 |351.01\n",
+ "attitude_321 | 0.007 -0.016 0.002 | 0.174 0.010 0.011 | -0.500 -0.059 -0.036 | 0.531 0.018 0.044\n",
+ "w | -0.001 -0.004 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 22.056 | 17.209 | 8.085 | 475.856\n",
+ "i : 3000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9821.49 |3083.45 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.921 |11.864 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.8 0.0 | -2.1 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.013 -0.933 | 0.026 0.040 0.075 | -0.019 -0.198 -1.316 | 0.143 0.109 -0.520\n",
+ "fuel |290.80 | 15.15 |256.49 |351.01\n",
+ "attitude_321 | 0.007 -0.016 0.002 | 0.174 0.010 0.011 | -0.500 -0.059 -0.036 | 0.531 0.018 0.044\n",
+ "w | -0.001 -0.004 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 21.993 | 17.000 | 8.085 | 475.856\n",
+ "i : 3100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9817.33 |3082.62 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.905 |11.733 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.8 0.0 | -2.1 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.013 -0.933 | 0.026 0.040 0.075 | -0.019 -0.198 -1.316 | 0.143 0.109 -0.520\n",
+ "fuel |290.81 | 15.16 |256.49 |351.01\n",
+ "attitude_321 | 0.007 -0.016 0.002 | 0.174 0.010 0.011 | -0.500 -0.059 -0.036 | 0.531 0.018 0.044\n",
+ "w | -0.001 -0.004 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 21.977 | 16.854 | 8.085 | 475.856\n",
+ "i : 3200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9818.42 |3083.55 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.905 |11.761 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.8 0.0 | -2.1 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.013 -0.933 | 0.026 0.040 0.075 | -0.019 -0.198 -1.316 | 0.143 0.109 -0.520\n",
+ "fuel |290.80 | 15.14 |256.49 |351.01\n",
+ "attitude_321 | 0.007 -0.016 0.002 | 0.174 0.010 0.011 | -0.500 -0.059 -0.036 | 0.531 0.018 0.044\n",
+ "w | -0.001 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 22.015 | 16.756 | 8.085 | 475.856\n",
+ "i : 3300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9820.58 |3081.76 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.956 |11.929 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.8 0.0 | -2.1 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.013 -0.934 | 0.026 0.040 0.075 | -0.019 -0.198 -1.316 | 0.143 0.110 -0.520\n",
+ "fuel |290.72 | 15.12 |256.49 |351.01\n",
+ "attitude_321 | 0.006 -0.016 0.002 | 0.174 0.010 0.011 | -0.500 -0.059 -0.036 | 0.531 0.018 0.044\n",
+ "w | -0.001 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 22.116 | 17.299 | 8.085 | 475.856\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 3400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9818.36 |3080.59 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.961 |11.906 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.8 0.8 0.0 | -2.1 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.013 -0.933 | 0.026 0.040 0.075 | -0.019 -0.198 -1.320 | 0.143 0.141 -0.520\n",
+ "fuel |290.65 | 15.08 |256.49 |351.01\n",
+ "attitude_321 | 0.006 -0.016 0.002 | 0.174 0.010 0.011 | -0.500 -0.059 -0.036 | 0.531 0.018 0.050\n",
+ "w | -0.001 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 22.172 | 17.345 | 8.085 | 475.856\n",
+ "i : 3500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9817.46 |3077.96 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.964 |11.828 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.8 0.8 0.0 | -2.1 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.013 -0.933 | 0.026 0.040 0.075 | -0.019 -0.198 -1.320 | 0.143 0.141 -0.520\n",
+ "fuel |290.59 | 15.09 |256.49 |351.01\n",
+ "attitude_321 | 0.006 -0.016 0.002 | 0.173 0.010 0.011 | -0.500 -0.059 -0.036 | 0.531 0.018 0.050\n",
+ "w | -0.001 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 22.180 | 17.301 | 8.085 | 475.856\n",
+ "i : 3600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9819.06 |3079.89 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.962 |11.888 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.8 0.0 | -2.1 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.013 -0.933 | 0.026 0.040 0.075 | -0.019 -0.198 -1.320 | 0.143 0.141 -0.520\n",
+ "fuel |290.61 | 15.07 |256.49 |351.01\n",
+ "attitude_321 | 0.007 -0.016 0.002 | 0.174 0.010 0.011 | -0.500 -0.059 -0.036 | 0.537 0.018 0.050\n",
+ "w | -0.001 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 22.132 | 17.135 | 8.085 | 475.856\n",
+ "i : 3700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9819.71 |3081.61 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.948 |11.815 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.8 0.0 | -2.1 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.013 -0.933 | 0.026 0.040 0.074 | -0.021 -0.198 -1.320 | 0.143 0.141 -0.520\n",
+ "fuel |290.66 | 15.09 |256.49 |351.01\n",
+ "attitude_321 | 0.006 -0.016 0.003 | 0.174 0.010 0.011 | -0.500 -0.059 -0.036 | 0.537 0.018 0.050\n",
+ "w | -0.001 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 22.157 | 17.102 | 8.085 | 475.856\n",
+ "i : 3800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9817.92 |3080.21 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.965 |11.848 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.8 0.8 0.0 | -2.1 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.074 | -0.021 -0.198 -1.320 | 0.143 0.141 -0.520\n",
+ "fuel |290.63 | 15.07 |256.49 |351.01\n",
+ "attitude_321 | 0.006 -0.016 0.003 | 0.175 0.010 0.011 | -0.500 -0.059 -0.036 | 0.537 0.018 0.050\n",
+ "w | -0.001 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 22.111 | 16.957 | 8.085 | 475.856\n",
+ "i : 3900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9817.23 |3080.03 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 4.020 |12.262 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.8 0.8 0.0 | -2.1 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.013 -0.933 | 0.026 0.040 0.075 | -0.021 -0.198 -1.320 | 0.143 0.141 -0.520\n",
+ "fuel |290.57 | 15.07 |256.49 |351.01\n",
+ "attitude_321 | 0.006 -0.016 0.003 | 0.175 0.010 0.011 | -0.500 -0.059 -0.039 | 0.537 0.018 0.050\n",
+ "w | -0.001 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 22.114 | 16.940 | 8.085 | 475.856\n",
+ "i : 4000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9816.75 |3079.55 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 4.017 |12.296 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.8 0.8 0.0 | -2.1 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.075 | -0.021 -0.198 -1.320 | 0.143 0.141 -0.520\n",
+ "fuel |290.60 | 15.08 |256.49 |351.01\n",
+ "attitude_321 | 0.006 -0.016 0.003 | 0.175 0.010 0.011 | -0.500 -0.059 -0.039 | 0.537 0.018 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 22.092 | 16.796 | 8.085 | 475.856\n",
+ "i : 4100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9817.80 |3079.57 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 4.012 |12.265 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.8 0.8 0.0 | -2.1 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.075 | -0.021 -0.198 -1.320 | 0.143 0.141 -0.520\n",
+ "fuel |290.55 | 15.05 |256.49 |351.01\n",
+ "attitude_321 | 0.005 -0.016 0.003 | 0.175 0.010 0.011 | -0.500 -0.059 -0.039 | 0.537 0.018 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 22.086 | 16.673 | 8.085 | 475.856\n",
+ "i : 4200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9818.09 |3079.64 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 4.010 |12.187 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.8 0.8 0.0 | -2.1 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.075 | -0.021 -0.198 -1.320 | 0.143 0.141 -0.520\n",
+ "fuel |290.59 | 15.04 |256.49 |351.01\n",
+ "attitude_321 | 0.004 -0.016 0.003 | 0.175 0.010 0.011 | -0.500 -0.059 -0.039 | 0.537 0.018 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 22.089 | 16.615 | 8.085 | 475.856\n",
+ "i : 4300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9818.14 |3078.80 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 4.018 |12.105 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.8 0.8 0.0 | -2.1 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.075 | -0.022 -0.198 -1.320 | 0.143 0.141 -0.520\n",
+ "fuel |290.51 | 15.03 |256.49 |351.01\n",
+ "attitude_321 | 0.004 -0.016 0.003 | 0.175 0.010 0.011 | -0.500 -0.059 -0.039 | 0.537 0.018 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 22.088 | 16.518 | 8.085 | 475.856\n",
+ "i : 4400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9820.48 |3079.24 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 4.018 |12.006 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.8 0.8 0.0 | -2.1 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.075 | -0.022 -0.198 -1.320 | 0.143 0.141 -0.520\n",
+ "fuel |290.47 | 15.00 |256.49 |351.01\n",
+ "attitude_321 | 0.004 -0.016 0.003 | 0.175 0.010 0.011 | -0.500 -0.059 -0.039 | 0.537 0.018 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 22.088 | 16.400 | 8.085 | 475.856\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 4500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9818.64 |3078.27 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 4.022 |11.956 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.8 0.7 0.0 | -2.1 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.075 | -0.022 -0.198 -1.320 | 0.143 0.141 -0.520\n",
+ "fuel |290.41 | 14.99 |256.49 |351.01\n",
+ "attitude_321 | 0.004 -0.016 0.003 | 0.175 0.010 0.011 | -0.500 -0.059 -0.039 | 0.537 0.018 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 22.102 | 16.356 | 8.085 | 475.856\n",
+ "i : 4600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9820.35 |3079.77 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 4.024 |11.913 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.8 0.7 0.0 | -2.1 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.075 | -0.022 -0.198 -1.320 | 0.143 0.141 -0.520\n",
+ "fuel |290.38 | 14.95 |256.49 |351.01\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.175 0.010 0.011 | -0.500 -0.059 -0.039 | 0.537 0.018 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 22.116 | 16.332 | 8.085 | 475.856\n",
+ "i : 4700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9822.92 |3080.63 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 4.026 |11.843 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.8 0.7 0.0 | -2.1 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.075 | -0.022 -0.198 -1.320 | 0.143 0.141 -0.520\n",
+ "fuel |290.36 | 14.94 |256.49 |351.01\n",
+ "attitude_321 | 0.004 -0.016 0.003 | 0.175 0.010 0.011 | -0.500 -0.059 -0.039 | 0.537 0.018 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 22.219 | 17.411 | 8.085 | 475.856\n",
+ "i : 4800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9825.14 |3081.35 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 4.026 |11.768 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.8 0.7 0.0 | -2.1 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.075 | -0.022 -0.198 -1.320 | 0.143 0.141 -0.520\n",
+ "fuel |290.35 | 14.94 |256.49 |351.01\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.175 0.010 0.011 | -0.500 -0.059 -0.039 | 0.537 0.018 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 22.201 | 17.274 | 8.085 | 475.856\n",
+ "i : 4900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9825.52 |3082.05 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 4.021 |11.759 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.8 0.7 0.0 | -2.1 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.075 | -0.022 -0.198 -1.320 | 0.143 0.141 -0.520\n",
+ "fuel |290.38 | 14.94 |256.49 |352.34\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.175 0.010 0.011 | -0.500 -0.059 -0.039 | 0.537 0.018 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 22.184 | 17.200 | 8.085 | 475.856\n",
+ "i : 5000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9826.87 |3081.56 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 4.027 |11.727 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.8 0.7 0.0 | -2.1 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.075 | -0.030 -0.198 -1.320 | 0.143 0.141 -0.520\n",
+ "fuel |290.35 | 14.94 |256.49 |352.34\n",
+ "attitude_321 | 0.004 -0.016 0.003 | 0.175 0.010 0.011 | -0.500 -0.059 -0.039 | 0.537 0.018 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 22.204 | 17.176 | 8.085 | 475.856\n",
+ "i : 5100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9828.20 |3082.32 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 4.026 |11.668 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.8 0.7 0.0 | -2.1 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.075 | -0.030 -0.198 -1.320 | 0.143 0.141 -0.520\n",
+ "fuel |290.36 | 14.93 |256.49 |352.34\n",
+ "attitude_321 | 0.004 -0.016 0.003 | 0.174 0.010 0.011 | -0.500 -0.059 -0.039 | 0.537 0.019 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 22.202 | 17.082 | 8.085 | 475.856\n",
+ "i : 5200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9828.02 |3083.28 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 4.018 |11.608 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.8 0.7 0.0 | -2.1 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.075 | -0.030 -0.198 -1.320 | 0.143 0.141 -0.520\n",
+ "fuel |290.41 | 14.95 |256.49 |352.34\n",
+ "attitude_321 | 0.004 -0.016 0.003 | 0.174 0.010 0.011 | -0.500 -0.059 -0.039 | 0.537 0.019 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.020 0.013 0.000 | -0.105 -0.078 -0.000 | 0.079 0.045 0.000\n",
+ "glideslope | 22.166 | 16.957 | 8.085 | 475.856\n",
+ "i : 5300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9828.39 |3084.05 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 4.017 |11.572 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.8 0.7 0.0 | -2.1 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.075 | -0.030 -0.198 -1.320 | 0.143 0.141 -0.520\n",
+ "fuel |290.42 | 14.95 |256.49 |352.34\n",
+ "attitude_321 | 0.005 -0.016 0.003 | 0.174 0.010 0.011 | -0.500 -0.059 -0.039 | 0.642 0.019 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.020 0.013 0.000 | -0.105 -0.078 -0.000 | 0.081 0.045 0.000\n",
+ "glideslope | 22.148 | 16.858 | 8.085 | 475.856\n",
+ "i : 5400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9827.20 |3084.50 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 4.013 |11.799 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.8 0.7 0.0 | -2.1 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.075 | -0.030 -0.198 -1.320 | 0.143 0.141 -0.520\n",
+ "fuel |290.45 | 14.97 |256.49 |352.34\n",
+ "attitude_321 | 0.004 -0.016 0.003 | 0.174 0.010 0.011 | -0.500 -0.059 -0.039 | 0.642 0.019 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.081 0.045 0.000\n",
+ "glideslope | 22.149 | 16.949 | 8.085 | 475.856\n",
+ "i : 5500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9828.16 |3084.17 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 4.015 |11.736 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.1 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.075 | -0.030 -0.198 -1.320 | 0.143 0.141 -0.520\n",
+ "fuel |290.45 | 14.96 |256.49 |352.34\n",
+ "attitude_321 | 0.005 -0.016 0.003 | 0.174 0.010 0.011 | -0.500 -0.059 -0.039 | 0.642 0.019 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.020 0.013 0.000 | -0.105 -0.078 -0.000 | 0.081 0.045 0.000\n",
+ "glideslope | 22.103 | 16.840 | 8.085 | 475.856\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 5600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9827.54 |3083.51 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 4.017 |11.748 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.1 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.075 | -0.030 -0.198 -1.320 | 0.143 0.141 -0.520\n",
+ "fuel |290.46 | 14.99 |256.49 |352.34\n",
+ "attitude_321 | 0.005 -0.016 0.003 | 0.174 0.010 0.011 | -0.500 -0.059 -0.039 | 0.642 0.019 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.081 0.045 0.000\n",
+ "glideslope | 22.074 | 16.762 | 8.085 | 475.856\n",
+ "i : 5700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9826.86 |3083.56 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 4.005 |11.684 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.5 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.074 | -0.030 -0.198 -1.320 | 0.143 0.141 -0.520\n",
+ "fuel |290.48 | 15.01 |256.49 |352.34\n",
+ "attitude_321 | 0.005 -0.016 0.003 | 0.174 0.010 0.011 | -0.500 -0.059 -0.039 | 0.642 0.019 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.081 0.045 0.000\n",
+ "glideslope | 22.043 | 16.671 | 8.085 | 475.856\n",
+ "i : 5800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9827.04 |3083.49 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 4.007 |11.655 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.5 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.074 | -0.030 -0.198 -1.320 | 0.143 0.141 -0.520\n",
+ "fuel |290.47 | 15.01 |256.49 |352.34\n",
+ "attitude_321 | 0.006 -0.016 0.003 | 0.174 0.010 0.011 | -0.500 -0.059 -0.039 | 0.642 0.019 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.020 0.013 0.000 | -0.105 -0.078 -0.000 | 0.081 0.045 0.000\n",
+ "glideslope | 22.038 | 16.592 | 8.085 | 475.856\n",
+ "i : 5900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9827.06 |3083.89 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 4.001 |11.597 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.5 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.074 | -0.030 -0.198 -1.320 | 0.143 0.141 -0.520\n",
+ "fuel |290.46 | 14.99 |256.49 |352.34\n",
+ "attitude_321 | 0.006 -0.016 0.003 | 0.174 0.010 0.011 | -0.525 -0.062 -0.039 | 0.642 0.019 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.084 0.045 0.000\n",
+ "glideslope | 22.044 | 16.600 | 8.085 | 475.856\n",
+ "i : 6000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9827.48 |3083.56 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.999 |11.576 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.5 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.074 | -0.030 -0.198 -1.320 | 0.143 0.141 -0.520\n",
+ "fuel |290.46 | 15.00 |256.49 |352.34\n",
+ "attitude_321 | 0.005 -0.016 0.003 | 0.174 0.010 0.011 | -0.525 -0.062 -0.039 | 0.642 0.019 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.084 0.045 0.000\n",
+ "glideslope | 22.060 | 16.567 | 8.085 | 475.856\n",
+ "i : 6100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9827.35 |3083.07 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.997 |11.541 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.5 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.074 | -0.030 -0.198 -1.320 | 0.143 0.141 -0.520\n",
+ "fuel |290.45 | 15.03 |256.49 |352.34\n",
+ "attitude_321 | 0.005 -0.016 0.003 | 0.174 0.010 0.011 | -0.525 -0.062 -0.039 | 0.642 0.019 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.084 0.045 0.000\n",
+ "glideslope | 22.041 | 16.507 | 8.085 | 475.856\n",
+ "i : 6200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9826.41 |3082.90 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.992 |11.479 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.5 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.074 | -0.030 -0.198 -1.320 | 0.143 0.141 -0.520\n",
+ "fuel |290.46 | 15.05 |256.49 |352.34\n",
+ "attitude_321 | 0.005 -0.016 0.003 | 0.174 0.010 0.011 | -0.525 -0.062 -0.039 | 0.642 0.019 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.084 0.045 0.000\n",
+ "glideslope | 22.034 | 16.417 | 8.085 | 475.856\n",
+ "i : 6300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9825.57 |3081.65 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.988 |11.424 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.5 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.074 | -0.030 -0.198 -1.320 | 0.143 0.141 -0.520\n",
+ "fuel |290.45 | 15.02 |256.49 |352.34\n",
+ "attitude_321 | 0.005 -0.016 0.003 | 0.174 0.010 0.011 | -0.525 -0.062 -0.039 | 0.642 0.019 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.078 -0.000 | 0.084 0.045 0.000\n",
+ "glideslope | 22.021 | 16.329 | 8.085 | 475.856\n",
+ "i : 6400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9826.15 |3081.73 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.985 |11.380 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.5 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.074 | -0.030 -0.198 -1.320 | 0.143 0.141 -0.520\n",
+ "fuel |290.41 | 15.01 |256.49 |352.34\n",
+ "attitude_321 | 0.005 -0.016 0.003 | 0.174 0.010 0.011 | -0.525 -0.062 -0.039 | 0.642 0.019 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.045 0.000\n",
+ "glideslope | 22.015 | 16.317 | 8.085 | 475.856\n",
+ "i : 6500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9825.26 |3081.87 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.978 |11.320 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.5 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.074 | -0.030 -0.198 -1.320 | 0.144 0.141 -0.520\n",
+ "fuel |290.43 | 15.02 |256.49 |352.34\n",
+ "attitude_321 | 0.005 -0.016 0.003 | 0.174 0.010 0.011 | -0.525 -0.062 -0.039 | 0.642 0.019 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.045 0.000\n",
+ "glideslope | 21.999 | 16.240 | 8.085 | 475.856\n",
+ "i : 6600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9824.29 |3081.29 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.981 |11.321 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.5 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.074 | -0.030 -0.198 -1.320 | 0.144 0.141 -0.520\n",
+ "fuel |290.44 | 15.04 |256.49 |352.34\n",
+ "attitude_321 | 0.005 -0.016 0.003 | 0.174 0.010 0.011 | -0.525 -0.062 -0.039 | 0.642 0.019 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.045 0.000\n",
+ "glideslope | 21.983 | 16.154 | 8.085 | 475.856\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 6700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9824.40 |3081.41 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.978 |11.269 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.5 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.074 | -0.030 -0.198 -1.320 | 0.144 0.141 -0.520\n",
+ "fuel |290.44 | 15.02 |256.49 |352.34\n",
+ "attitude_321 | 0.005 -0.016 0.003 | 0.173 0.010 0.011 | -0.525 -0.062 -0.039 | 0.642 0.019 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.045 0.000\n",
+ "glideslope | 21.990 | 16.146 | 8.085 | 475.856\n",
+ "i : 6800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9824.48 |3081.26 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.980 |11.231 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.5 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.933 | 0.026 0.040 0.074 | -0.030 -0.198 -1.320 | 0.144 0.141 -0.520\n",
+ "fuel |290.41 | 15.00 |256.49 |352.34\n",
+ "attitude_321 | 0.005 -0.016 0.003 | 0.174 0.010 0.011 | -0.525 -0.062 -0.043 | 0.642 0.019 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.045 0.000\n",
+ "glideslope | 21.949 | 16.059 | 7.497 | 475.856\n",
+ "i : 6900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9823.41 |3080.61 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.982 |11.210 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.5 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.074 | -0.030 -0.198 -1.320 | 0.144 0.141 -0.485\n",
+ "fuel |290.41 | 14.99 |256.49 |352.34\n",
+ "attitude_321 | 0.005 -0.016 0.003 | 0.174 0.010 0.011 | -0.525 -0.062 -0.043 | 0.642 0.019 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.045 0.000\n",
+ "glideslope | 21.896 | 15.969 | 7.497 | 475.856\n",
+ "i : 7000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9822.80 |3080.27 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.978 |11.230 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.5 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.074 | -0.030 -0.198 -1.320 | 0.144 0.141 -0.485\n",
+ "fuel |290.43 | 14.99 |256.49 |352.34\n",
+ "attitude_321 | 0.005 -0.016 0.003 | 0.173 0.010 0.011 | -0.525 -0.062 -0.043 | 0.642 0.019 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.045 0.000\n",
+ "glideslope | 21.876 | 15.891 | 7.497 | 475.856\n",
+ "i : 7100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9821.72 |3080.51 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.980 |11.193 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.5 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.074 | -0.030 -0.198 -1.320 | 0.144 0.141 -0.485\n",
+ "fuel |290.43 | 15.02 |256.49 |352.34\n",
+ "attitude_321 | 0.005 -0.016 0.003 | 0.173 0.010 0.011 | -0.525 -0.062 -0.043 | 0.642 0.019 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.045 0.000\n",
+ "glideslope | 21.898 | 15.916 | 7.497 | 475.856\n",
+ "i : 7200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9821.49 |3080.44 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.976 |11.151 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.5 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.074 | -0.030 -0.198 -1.320 | 0.144 0.141 -0.485\n",
+ "fuel |290.42 | 15.04 |256.49 |352.34\n",
+ "attitude_321 | 0.005 -0.016 0.003 | 0.173 0.010 0.011 | -0.525 -0.062 -0.043 | 0.642 0.019 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.020 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.045 0.000\n",
+ "glideslope | 21.888 | 15.851 | 7.497 | 475.856\n",
+ "i : 7300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9821.02 |3079.77 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.973 |11.129 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.5 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.074 | -0.030 -0.198 -1.320 | 0.144 0.141 -0.485\n",
+ "fuel |290.40 | 15.05 |256.49 |352.34\n",
+ "attitude_321 | 0.005 -0.016 0.003 | 0.173 0.010 0.011 | -0.525 -0.062 -0.043 | 0.642 0.019 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.045 0.000\n",
+ "glideslope | 22.012 | 18.550 | 7.497 | 851.539\n",
+ "i : 7400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9821.00 |3080.10 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.972 |11.111 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.5 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.075 | -0.030 -0.198 -1.320 | 0.144 0.141 -0.485\n",
+ "fuel |290.40 | 15.05 |256.49 |352.34\n",
+ "attitude_321 | 0.005 -0.016 0.003 | 0.173 0.010 0.011 | -0.525 -0.062 -0.043 | 0.642 0.019 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.045 0.000\n",
+ "glideslope | 22.024 | 18.508 | 7.497 | 851.539\n",
+ "i : 7500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9822.78 |3080.87 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.976 |11.078 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.5 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.074 | -0.030 -0.198 -1.320 | 0.144 0.141 -0.485\n",
+ "fuel |290.40 | 15.02 |256.49 |352.34\n",
+ "attitude_321 | 0.005 -0.016 0.003 | 0.174 0.010 0.011 | -0.525 -0.062 -0.043 | 0.642 0.019 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.045 0.000\n",
+ "glideslope | 22.070 | 18.868 | 7.497 | 851.539\n",
+ "i : 7600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9820.93 |3080.56 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.971 |11.041 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.5 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.074 | -0.030 -0.198 -1.320 | 0.144 0.144 -0.485\n",
+ "fuel |290.42 | 15.04 |256.49 |352.34\n",
+ "attitude_321 | 0.005 -0.016 0.003 | 0.173 0.010 0.011 | -0.525 -0.062 -0.043 | 0.642 0.019 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.045 0.000\n",
+ "glideslope | 22.075 | 18.804 | 7.497 | 851.539\n",
+ "i : 7700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9822.68 |3081.39 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.968 |11.030 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.5 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.074 | -0.030 -0.198 -1.320 | 0.144 0.144 -0.485\n",
+ "fuel |290.44 | 15.05 |256.49 |352.34\n",
+ "attitude_321 | 0.005 -0.016 0.003 | 0.174 0.010 0.011 | -0.525 -0.067 -0.043 | 0.642 0.019 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.045 0.000\n",
+ "glideslope | 22.097 | 18.753 | 7.497 | 851.539\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 7800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9821.91 |3081.35 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.963 |10.991 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.9 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.074 | -0.030 -0.198 -1.320 | 0.144 0.144 -0.485\n",
+ "fuel |290.45 | 15.05 |256.49 |352.34\n",
+ "attitude_321 | 0.005 -0.016 0.003 | 0.174 0.010 0.011 | -0.525 -0.067 -0.043 | 0.642 0.019 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.051 0.000\n",
+ "glideslope | 22.070 | 18.655 | 7.497 | 851.539\n",
+ "i : 7900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9821.30 |3080.73 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.994 |11.311 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.9 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.074 | -0.030 -0.198 -1.320 | 0.144 0.144 -0.485\n",
+ "fuel |290.46 | 15.04 |256.49 |352.34\n",
+ "attitude_321 | 0.006 -0.016 0.003 | 0.174 0.010 0.011 | -0.542 -0.067 -0.043 | 0.642 0.019 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.051 0.000\n",
+ "glideslope | 22.057 | 18.581 | 7.497 | 851.539\n",
+ "i : 8000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9820.45 |3080.40 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.993 |11.292 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.9 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.074 | -0.030 -0.198 -1.320 | 0.144 0.144 -0.485\n",
+ "fuel |290.44 | 15.04 |256.49 |352.34\n",
+ "attitude_321 | 0.006 -0.016 0.003 | 0.174 0.010 0.011 | -0.542 -0.067 -0.043 | 0.642 0.019 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.051 0.000\n",
+ "glideslope | 22.059 | 18.514 | 7.497 | 851.539\n",
+ "i : 8100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9820.98 |3081.01 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.988 |11.250 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.9 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.074 | -0.030 -0.198 -1.320 | 0.144 0.144 -0.485\n",
+ "fuel |290.47 | 15.04 |256.49 |352.34\n",
+ "attitude_321 | 0.006 -0.016 0.003 | 0.174 0.010 0.011 | -0.542 -0.067 -0.043 | 0.642 0.019 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.051 0.000\n",
+ "glideslope | 22.050 | 18.491 | 7.497 | 851.539\n",
+ "i : 8200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9820.15 |3081.11 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.984 |11.209 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.9 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.074 | -0.041 -0.198 -1.320 | 0.144 0.144 -0.485\n",
+ "fuel |290.46 | 15.04 |256.49 |352.34\n",
+ "attitude_321 | 0.006 -0.016 0.003 | 0.174 0.010 0.011 | -0.542 -0.067 -0.043 | 0.642 0.028 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.051 0.000\n",
+ "glideslope | 22.040 | 18.418 | 7.497 | 851.539\n",
+ "i : 8300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9819.29 |3079.98 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.980 |11.226 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.9 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.074 | -0.041 -0.198 -1.320 | 0.144 0.144 -0.485\n",
+ "fuel |290.46 | 15.03 |256.49 |352.34\n",
+ "attitude_321 | 0.006 -0.016 0.003 | 0.174 0.010 0.011 | -0.542 -0.067 -0.043 | 0.642 0.028 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.051 0.000\n",
+ "glideslope | 22.046 | 18.366 | 7.497 | 851.539\n",
+ "i : 8400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9818.49 |3079.54 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.979 |11.185 | 0.717 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.9 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.074 | -0.041 -0.198 -1.320 | 0.144 0.144 -0.485\n",
+ "fuel |290.45 | 15.02 |256.49 |352.34\n",
+ "attitude_321 | 0.006 -0.016 0.003 | 0.174 0.010 0.011 | -0.542 -0.067 -0.043 | 0.642 0.028 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.051 0.000\n",
+ "glideslope | 22.033 | 18.284 | 7.497 | 851.539\n",
+ "i : 8500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9819.06 |3079.62 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.978 |11.287 | 0.662 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.9 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.074 | -0.041 -0.198 -1.320 | 0.144 0.144 -0.485\n",
+ "fuel |290.47 | 15.02 |256.49 |352.34\n",
+ "attitude_321 | 0.006 -0.016 0.003 | 0.174 0.010 0.011 | -0.542 -0.067 -0.043 | 0.642 0.028 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.051 0.000\n",
+ "glideslope | 22.043 | 18.287 | 7.497 | 851.539\n",
+ "i : 8600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9820.21 |3080.13 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.976 |11.249 | 0.662 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.9 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.074 | -0.041 -0.198 -1.320 | 0.144 0.144 -0.485\n",
+ "fuel |290.49 | 15.01 |256.49 |352.34\n",
+ "attitude_321 | 0.006 -0.016 0.003 | 0.174 0.010 0.011 | -0.542 -0.067 -0.043 | 0.642 0.028 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.051 0.000\n",
+ "glideslope | 22.043 | 18.219 | 7.497 | 851.539\n",
+ "i : 8700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9820.08 |3080.00 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.980 |11.248 | 0.662 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.9 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.074 | -0.041 -0.198 -1.320 | 0.144 0.144 -0.485\n",
+ "fuel |290.46 | 14.99 |256.49 |352.34\n",
+ "attitude_321 | 0.005 -0.016 0.003 | 0.174 0.010 0.011 | -0.542 -0.067 -0.043 | 0.642 0.028 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.051 0.000\n",
+ "glideslope | 22.049 | 18.258 | 7.497 | 851.539\n",
+ "i : 8800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9820.23 |3080.91 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.979 |11.220 | 0.662 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.9 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.074 | -0.041 -0.198 -1.320 | 0.144 0.144 -0.485\n",
+ "fuel |290.47 | 15.03 |256.49 |352.34\n",
+ "attitude_321 | 0.006 -0.016 0.003 | 0.174 0.010 0.011 | -0.542 -0.067 -0.043 | 0.642 0.028 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.051 0.000\n",
+ "glideslope | 22.044 | 18.201 | 7.497 | 851.539\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 8900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9820.63 |3081.24 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.979 |11.199 | 0.662 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.9 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.074 | -0.041 -0.198 -1.320 | 0.144 0.144 -0.485\n",
+ "fuel |290.50 | 15.04 |256.49 |352.34\n",
+ "attitude_321 | 0.005 -0.016 0.003 | 0.174 0.010 0.011 | -0.542 -0.067 -0.043 | 0.642 0.028 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.051 0.000\n",
+ "glideslope | 22.040 | 18.180 | 7.497 | 851.539\n",
+ "i : 9000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9821.14 |3081.63 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.979 |11.162 | 0.662 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.9 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.074 | -0.041 -0.198 -1.320 | 0.144 0.144 -0.485\n",
+ "fuel |290.53 | 15.05 |256.49 |352.34\n",
+ "attitude_321 | 0.006 -0.016 0.003 | 0.174 0.010 0.011 | -0.542 -0.067 -0.043 | 0.642 0.028 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.051 0.000\n",
+ "glideslope | 22.029 | 18.103 | 7.497 | 851.539\n",
+ "i : 9100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9820.70 |3081.73 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.974 |11.126 | 0.662 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.9 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.074 | -0.041 -0.198 -1.320 | 0.144 0.144 -0.485\n",
+ "fuel |290.57 | 15.06 |256.49 |352.34\n",
+ "attitude_321 | 0.006 -0.016 0.003 | 0.173 0.010 0.011 | -0.542 -0.067 -0.043 | 0.642 0.028 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.051 0.000\n",
+ "glideslope | 22.034 | 18.221 | 7.497 | 851.539\n",
+ "i : 9200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9819.43 |3081.37 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.969 |11.090 | 0.662 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.9 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.074 | -0.041 -0.198 -1.320 | 0.144 0.144 -0.485\n",
+ "fuel |290.59 | 15.08 |256.49 |352.34\n",
+ "attitude_321 | 0.006 -0.016 0.003 | 0.173 0.010 0.011 | -0.542 -0.067 -0.043 | 0.642 0.028 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.051 0.000\n",
+ "glideslope | 22.017 | 18.154 | 7.497 | 851.539\n",
+ "i : 9300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9818.93 |3080.94 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.971 |11.392 | 0.662 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.9 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.074 | -0.041 -0.198 -1.320 | 0.144 0.144 -0.485\n",
+ "fuel |290.60 | 15.10 |256.49 |352.34\n",
+ "attitude_321 | 0.006 -0.016 0.003 | 0.173 0.010 0.011 | -0.542 -0.067 -0.043 | 0.642 0.028 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.051 0.000\n",
+ "glideslope | 22.014 | 18.085 | 7.497 | 851.539\n",
+ "i : 9400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9818.70 |3080.90 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.976 |11.401 | 0.662 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.9 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.074 | -0.041 -0.198 -1.320 | 0.144 0.144 -0.485\n",
+ "fuel |290.58 | 15.11 |256.49 |352.34\n",
+ "attitude_321 | 0.006 -0.016 0.003 | 0.173 0.010 0.011 | -0.542 -0.067 -0.043 | 0.642 0.028 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.051 0.000\n",
+ "glideslope | 22.030 | 18.103 | 7.497 | 851.539\n",
+ "i : 9500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9819.23 |3081.16 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.978 |11.394 | 0.662 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.9 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.074 | -0.041 -0.198 -1.320 | 0.144 0.144 -0.485\n",
+ "fuel |290.56 | 15.11 |256.49 |352.34\n",
+ "attitude_321 | 0.006 -0.016 0.003 | 0.173 0.010 0.011 | -0.542 -0.067 -0.043 | 0.642 0.028 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.051 0.000\n",
+ "glideslope | 22.030 | 18.061 | 7.497 | 851.539\n",
+ "i : 9600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9820.35 |3081.81 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.976 |11.361 | 0.662 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.9 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.074 | -0.041 -0.198 -1.320 | 0.144 0.144 -0.485\n",
+ "fuel |290.57 | 15.10 |256.49 |352.34\n",
+ "attitude_321 | 0.006 -0.016 0.003 | 0.173 0.010 0.011 | -0.542 -0.067 -0.043 | 0.642 0.028 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.051 0.000\n",
+ "glideslope | 22.022 | 17.993 | 7.497 | 851.539\n",
+ "i : 9700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9820.26 |3081.46 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.981 |11.333 | 0.662 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.9 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.074 | -0.041 -0.198 -1.321 | 0.144 0.144 -0.485\n",
+ "fuel |290.56 | 15.09 |256.49 |352.34\n",
+ "attitude_321 | 0.005 -0.016 0.003 | 0.173 0.010 0.011 | -0.590 -0.067 -0.043 | 0.642 0.028 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.051 0.000\n",
+ "glideslope | 22.010 | 17.922 | 7.497 | 851.539\n",
+ "i : 9800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9819.79 |3080.76 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.978 |11.307 | 0.662 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.9 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.074 | -0.041 -0.198 -1.321 | 0.144 0.144 -0.485\n",
+ "fuel |290.57 | 15.10 |256.49 |352.34\n",
+ "attitude_321 | 0.006 -0.016 0.003 | 0.173 0.010 0.011 | -0.590 -0.067 -0.043 | 0.642 0.028 0.054\n",
+ "w | -0.001 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.051 0.000\n",
+ "glideslope | 22.038 | 17.897 | 7.497 | 851.539\n",
+ "i : 9900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9819.18 |3080.98 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.974 |11.276 | 0.662 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.9 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.074 | -0.041 -0.198 -1.321 | 0.144 0.144 -0.485\n",
+ "fuel |290.58 | 15.09 |256.49 |352.34\n",
+ "attitude_321 | 0.006 -0.016 0.003 | 0.174 0.010 0.011 | -0.590 -0.067 -0.043 | 0.642 0.028 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.051 0.000\n",
+ "glideslope | 22.030 | 17.836 | 7.497 | 851.539\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9817.94 |3080.77 |3464.10 |20000.00 | 1591\n",
+ "glideslope | 3.968 |11.238 | 0.662 |4981.834 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 0.7 0.7 0.0 | -2.9 -5.2 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.063 -0.012 -0.932 | 0.026 0.040 0.075 | -0.041 -0.198 -1.321 | 0.144 0.144 -0.485\n",
+ "fuel |290.62 | 15.10 |256.49 |352.34\n",
+ "attitude_321 | 0.006 -0.016 0.003 | 0.173 0.010 0.011 | -0.590 -0.067 -0.043 | 0.642 0.028 0.054\n",
+ "w | -0.000 -0.005 0.000 | 0.021 0.013 0.000 | -0.105 -0.083 -0.000 | 0.084 0.051 0.000\n",
+ "glideslope | 22.019 | 17.771 | 7.497 | 851.539\n",
+ "\n",
+ "Initial Stats (mean,std,min,max)\n",
+ "position | 1001.7 -0.4 2349.8 | 578.6 580.2 28.9 | 0.1 -1000.0 2300.0 | 2000.0 999.9 2400.0\n",
+ "velocity | -40.031 0.019 -79.966 | 17.498 17.225 5.729 | -69.998 -29.993 -89.999 | -10.003 29.998 -70.000\n",
+ "fuel | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude_321 | 0.002 0.687 -0.001 | 0.227 0.170 0.229 | -0.393 0.393 -0.393 | 0.393 0.982 0.393\n",
+ "w | 0.000 0.000 0.000 | 0.000 0.000 0.000 | 0.000 0.000 0.000 | 0.000 0.000 0.000\n",
+ "glideslope | 2.194 | 1.127 | 0.937 | 9.365\n"
+ ]
+ }
+ ],
+ "source": [
+ "policy.test_mode=True\n",
+ "env.ic_gen = Landing_icgen(mass_uncertainty=0.05, g_uncertainty=(0.0,0.0),\n",
+ " adapt_apf_v0=True,\n",
+ " attitude_parameterization=attitude_parameterization,\n",
+ " downrange = (0,2000 , -70, -10), \n",
+ " crossrange = (-1000,1000 , -30,30), \n",
+ " altitude = (2300,2400,-90,-70),\n",
+ " yaw = (-np.pi/8, np.pi/8, 0.0, 0.0) ,\n",
+ " pitch = (np.pi/4-np.pi/8, np.pi/4+np.pi/16, -0.0, 0.0),\n",
+ " roll = (-np.pi/8, np.pi/8, -0.0, 0.0),\n",
+ " noise_u=100*np.ones(3), noise_sd=100*np.ones(3))\n",
+ "env.test_policy_batch(policy,input_normalizer,10000,print_every=100)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# 9km"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9629.23 |3265.06 |3464.10 |20000.00 | 7\n",
+ "glideslope | 2.930 | 7.825 | 0.594 |693.005 | 68\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.2 -0.0 | 1.1 1.3 0.0 | -2.0 -5.1 -0.1 | 4.5 2.5 -0.0\n",
+ "velocity | 0.067 -0.010 -0.933 | 0.026 0.040 0.106 | 0.007 -0.134 -1.312 | 0.117 0.100 -0.553\n",
+ "fuel |304.97 | 23.86 |266.66 |374.00\n",
+ "attitude_321 | -0.023 -0.015 0.003 | 0.157 0.010 0.013 | -0.445 -0.047 -0.035 | 0.281 0.007 0.051\n",
+ "w | -0.002 -0.008 -0.000 | 0.025 0.015 0.000 | -0.058 -0.053 -0.000 | 0.085 0.027 0.000\n",
+ "glideslope | 22.984 | 16.406 | 8.279 | 148.665\n",
+ "i : 200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9671.44 |3322.67 |3464.10 |20000.00 | 7\n",
+ "glideslope | 2.882 | 7.365 | 0.594 |693.005 | 68\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 1.1 1.3 0.0 | -2.0 -5.3 -0.1 | 4.5 2.6 -0.0\n",
+ "velocity | 0.066 -0.009 -0.925 | 0.026 0.040 0.099 | -0.011 -0.134 -1.312 | 0.136 0.100 -0.553\n",
+ "fuel |305.46 | 25.21 |262.55 |376.67\n",
+ "attitude_321 | -0.024 -0.015 0.003 | 0.159 0.010 0.013 | -0.460 -0.047 -0.035 | 0.365 0.007 0.051\n",
+ "w | -0.001 -0.008 -0.000 | 0.025 0.015 0.000 | -0.065 -0.073 -0.000 | 0.085 0.027 0.000\n",
+ "glideslope | 22.731 | 14.482 | 8.279 | 148.665\n",
+ "i : 300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9686.37 |3325.54 |3464.10 |20000.00 | 251\n",
+ "glideslope | 3.023 | 9.054 | 0.594 |1413.663 | 270\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.3 -0.1 -0.0 | 1.1 1.3 0.0 | -2.0 -5.3 -0.1 | 4.5 2.8 -0.0\n",
+ "velocity | 0.066 -0.010 -0.925 | 0.025 0.039 0.093 | -0.011 -0.134 -1.312 | 0.136 0.100 -0.553\n",
+ "fuel |305.99 | 25.34 |259.69 |376.67\n",
+ "attitude_321 | -0.016 -0.015 0.004 | 0.164 0.010 0.012 | -0.460 -0.047 -0.035 | 0.457 0.007 0.051\n",
+ "w | -0.002 -0.009 -0.000 | 0.025 0.015 0.000 | -0.083 -0.073 -0.000 | 0.085 0.041 0.000\n",
+ "glideslope | 22.616 | 13.151 | 8.279 | 148.665\n",
+ "i : 400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9694.88 |3347.47 |3464.10 |20000.00 | 251\n",
+ "glideslope | 3.013 | 8.618 | 0.594 |1413.663 | 270\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.3 -0.1 -0.0 | 1.1 1.3 0.0 | -2.7 -5.3 -0.1 | 4.5 2.8 -0.0\n",
+ "velocity | 0.065 -0.011 -0.925 | 0.025 0.040 0.094 | -0.011 -0.153 -1.312 | 0.136 0.100 -0.363\n",
+ "fuel |307.35 | 26.03 |259.69 |380.75\n",
+ "attitude_321 | -0.013 -0.015 0.003 | 0.168 0.010 0.012 | -0.460 -0.047 -0.035 | 0.510 0.011 0.051\n",
+ "w | -0.002 -0.008 -0.000 | 0.024 0.014 0.000 | -0.083 -0.073 -0.000 | 0.085 0.041 0.000\n",
+ "glideslope | 22.392 | 12.610 | 7.843 | 148.665\n",
+ "i : 500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9672.79 |3356.20 |3464.10 |20000.00 | 251\n",
+ "glideslope | 2.956 | 8.388 | 0.548 |1413.663 | 270\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.3 -0.1 -0.0 | 1.1 1.3 0.0 | -2.7 -5.4 -0.1 | 5.0 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.920 | 0.025 0.041 0.091 | -0.011 -0.181 -1.312 | 0.136 0.100 -0.363\n",
+ "fuel |308.27 | 26.06 |259.69 |380.75\n",
+ "attitude_321 | -0.007 -0.015 0.003 | 0.171 0.010 0.012 | -0.460 -0.047 -0.035 | 0.510 0.011 0.051\n",
+ "w | -0.002 -0.008 -0.000 | 0.025 0.015 0.000 | -0.083 -0.073 -0.000 | 0.085 0.041 0.000\n",
+ "glideslope | 22.252 | 12.225 | 7.843 | 148.665\n",
+ "i : 600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9684.69 |3362.20 |3464.10 |20000.00 | 251\n",
+ "glideslope | 2.937 | 8.052 | 0.548 |1413.663 | 270\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.3 -0.1 -0.0 | 1.1 1.3 0.0 | -2.7 -5.4 -0.1 | 5.0 4.5 -0.0\n",
+ "velocity | 0.065 -0.014 -0.923 | 0.025 0.041 0.091 | -0.011 -0.181 -1.312 | 0.136 0.100 -0.363\n",
+ "fuel |308.24 | 25.73 |259.69 |380.75\n",
+ "attitude_321 | -0.007 -0.016 0.003 | 0.175 0.011 0.012 | -0.460 -0.062 -0.035 | 0.527 0.011 0.051\n",
+ "w | -0.003 -0.008 -0.000 | 0.025 0.015 0.000 | -0.084 -0.073 -0.000 | 0.085 0.041 0.000\n",
+ "glideslope | 22.316 | 12.750 | 7.843 | 148.665\n",
+ "i : 700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9693.90 |3372.66 |3464.10 |20000.00 | 251\n",
+ "glideslope | 2.923 | 7.823 | 0.548 |1413.663 | 270\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.3 0.0 | -2.7 -5.4 -0.1 | 5.0 4.5 -0.0\n",
+ "velocity | 0.065 -0.014 -0.924 | 0.026 0.042 0.089 | -0.011 -0.181 -1.312 | 0.142 0.100 -0.363\n",
+ "fuel |308.35 | 25.29 |259.69 |380.75\n",
+ "attitude_321 | -0.006 -0.016 0.003 | 0.179 0.011 0.013 | -0.507 -0.062 -0.035 | 0.527 0.011 0.051\n",
+ "w | -0.003 -0.007 -0.000 | 0.025 0.015 0.000 | -0.085 -0.073 -0.000 | 0.085 0.041 0.000\n",
+ "glideslope | 22.382 | 13.256 | 7.843 | 148.665\n",
+ "i : 800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9711.92 |3378.40 |3464.10 |20000.00 | 251\n",
+ "glideslope | 2.933 | 7.663 | 0.548 |1413.663 | 270\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.3 0.0 | -2.8 -5.4 -0.1 | 5.0 4.5 -0.0\n",
+ "velocity | 0.065 -0.015 -0.926 | 0.026 0.042 0.089 | -0.015 -0.182 -1.312 | 0.142 0.100 -0.363\n",
+ "fuel |307.95 | 25.16 |259.69 |385.04\n",
+ "attitude_321 | -0.002 -0.016 0.003 | 0.179 0.011 0.013 | -0.581 -0.062 -0.035 | 0.527 0.014 0.051\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.087 -0.073 -0.000 | 0.085 0.041 0.000\n",
+ "glideslope | 22.270 | 12.944 | 7.843 | 148.665\n",
+ "i : 900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9701.94 |3382.09 |3464.10 |20000.00 | 251\n",
+ "glideslope | 2.889 | 7.670 | 0.548 |1413.663 | 270\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.3 0.0 | -2.8 -5.4 -0.1 | 5.0 4.5 -0.0\n",
+ "velocity | 0.065 -0.015 -0.925 | 0.026 0.041 0.089 | -0.015 -0.182 -1.312 | 0.142 0.100 -0.363\n",
+ "fuel |308.68 | 25.11 |259.69 |385.04\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.062 -0.035 | 0.527 0.014 0.051\n",
+ "w | -0.003 -0.007 -0.000 | 0.025 0.015 0.000 | -0.101 -0.073 -0.000 | 0.085 0.041 0.000\n",
+ "glideslope | 22.173 | 12.650 | 7.843 | 148.665\n",
+ "i : 1000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9700.06 |3378.44 |3464.10 |20000.00 | 251\n",
+ "glideslope | 2.888 | 7.841 | 0.548 |1413.663 | 270\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.3 0.0 | -2.8 -5.4 -0.1 | 5.0 4.5 -0.0\n",
+ "velocity | 0.065 -0.015 -0.925 | 0.027 0.041 0.090 | -0.017 -0.182 -1.312 | 0.142 0.127 -0.363\n",
+ "fuel |308.30 | 24.91 |259.69 |385.04\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.174 0.011 0.013 | -0.581 -0.062 -0.035 | 0.527 0.014 0.051\n",
+ "w | -0.003 -0.007 -0.000 | 0.025 0.015 0.000 | -0.119 -0.073 -0.000 | 0.095 0.041 0.000\n",
+ "glideslope | 22.468 | 13.384 | 7.843 | 148.665\n",
+ "i : 1100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9697.97 |3375.37 |3464.10 |20000.00 | 251\n",
+ "glideslope | 2.887 | 7.753 | 0.548 |1413.663 | 270\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.3 0.0 | -2.8 -5.4 -0.1 | 5.0 4.5 -0.0\n",
+ "velocity | 0.065 -0.015 -0.926 | 0.027 0.041 0.090 | -0.017 -0.182 -1.312 | 0.142 0.127 -0.363\n",
+ "fuel |307.97 | 25.04 |259.69 |385.04\n",
+ "attitude_321 | -0.001 -0.016 0.002 | 0.174 0.011 0.013 | -0.581 -0.062 -0.035 | 0.527 0.019 0.051\n",
+ "w | -0.003 -0.007 -0.000 | 0.025 0.015 0.000 | -0.119 -0.073 -0.000 | 0.095 0.041 0.000\n",
+ "glideslope | 22.477 | 13.293 | 7.843 | 148.665\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 1200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9700.25 |3373.11 |3464.10 |20000.00 | 251\n",
+ "glideslope | 2.895 | 7.696 | 0.548 |1413.663 | 270\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.3 0.0 | -2.8 -5.4 -0.1 | 5.0 4.5 -0.0\n",
+ "velocity | 0.065 -0.015 -0.926 | 0.026 0.041 0.089 | -0.017 -0.182 -1.312 | 0.142 0.127 -0.363\n",
+ "fuel |307.69 | 25.01 |259.69 |385.04\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.581 -0.062 -0.035 | 0.527 0.019 0.051\n",
+ "w | -0.003 -0.007 -0.000 | 0.025 0.015 0.000 | -0.119 -0.073 -0.000 | 0.095 0.041 0.000\n",
+ "glideslope | 22.611 | 13.890 | 7.843 | 152.535\n",
+ "i : 1300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9693.94 |3374.27 |3464.10 |20000.00 | 251\n",
+ "glideslope | 2.872 | 7.632 | 0.538 |1413.663 | 270\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.4 -0.1 | 5.0 4.5 -0.0\n",
+ "velocity | 0.065 -0.015 -0.926 | 0.026 0.041 0.089 | -0.017 -0.182 -1.312 | 0.142 0.127 -0.363\n",
+ "fuel |307.87 | 25.29 |259.69 |385.08\n",
+ "attitude_321 | -0.002 -0.016 0.003 | 0.174 0.011 0.013 | -0.581 -0.062 -0.035 | 0.527 0.019 0.051\n",
+ "w | -0.003 -0.007 -0.000 | 0.025 0.015 0.000 | -0.119 -0.073 -0.000 | 0.095 0.041 0.000\n",
+ "glideslope | 22.509 | 13.659 | 7.527 | 152.535\n",
+ "i : 1400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9696.59 |3374.41 |3464.10 |20000.00 | 251\n",
+ "glideslope | 2.900 | 8.166 | 0.538 |1938.464 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.4 -0.1 | 5.0 4.5 -0.0\n",
+ "velocity | 0.065 -0.015 -0.925 | 0.026 0.040 0.089 | -0.017 -0.182 -1.312 | 0.142 0.127 -0.363\n",
+ "fuel |307.91 | 25.47 |259.69 |385.08\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.174 0.011 0.013 | -0.581 -0.062 -0.035 | 0.527 0.019 0.051\n",
+ "w | -0.003 -0.007 -0.000 | 0.025 0.015 0.000 | -0.119 -0.073 -0.000 | 0.095 0.041 0.000\n",
+ "glideslope | 22.505 | 13.762 | 7.527 | 152.535\n",
+ "i : 1500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9694.65 |3374.97 |3464.10 |20000.00 | 251\n",
+ "glideslope | 2.891 | 8.084 | 0.538 |1938.464 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.4 -0.1 | 5.0 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.925 | 0.026 0.040 0.089 | -0.017 -0.182 -1.312 | 0.142 0.127 -0.363\n",
+ "fuel |307.73 | 25.35 |259.69 |385.08\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.173 0.011 0.013 | -0.581 -0.062 -0.035 | 0.527 0.019 0.051\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.119 -0.073 -0.000 | 0.095 0.041 0.000\n",
+ "glideslope | 22.406 | 13.520 | 7.527 | 152.535\n",
+ "i : 1600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9698.26 |3375.90 |3464.10 |20000.00 | 251\n",
+ "glideslope | 2.904 | 8.387 | 0.538 |1938.464 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.4 -0.1 | 5.0 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.927 | 0.026 0.041 0.088 | -0.017 -0.182 -1.312 | 0.142 0.127 -0.363\n",
+ "fuel |307.68 | 25.46 |259.69 |385.08\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.173 0.011 0.013 | -0.581 -0.062 -0.035 | 0.527 0.019 0.051\n",
+ "w | -0.003 -0.007 -0.000 | 0.025 0.015 0.000 | -0.119 -0.073 -0.000 | 0.095 0.041 0.000\n",
+ "glideslope | 22.482 | 13.679 | 7.527 | 152.535\n",
+ "i : 1700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9693.15 |3373.68 |3464.10 |20000.00 | 251\n",
+ "glideslope | 2.894 | 8.308 | 0.538 |1938.464 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.4 -0.1 | 5.0 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.926 | 0.026 0.041 0.090 | -0.017 -0.182 -1.312 | 0.142 0.127 -0.363\n",
+ "fuel |307.71 | 25.46 |259.69 |387.88\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.174 0.011 0.013 | -0.581 -0.062 -0.035 | 0.527 0.019 0.051\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.073 -0.000 | 0.095 0.041 0.000\n",
+ "glideslope | 22.540 | 13.916 | 7.527 | 152.535\n",
+ "i : 1800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9691.15 |3377.98 |3464.10 |20000.00 | 251\n",
+ "glideslope | 2.887 | 8.238 | 0.538 |1938.464 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.3 0.0 | -2.8 -5.4 -0.1 | 5.0 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.926 | 0.026 0.041 0.090 | -0.017 -0.188 -1.312 | 0.142 0.127 -0.363\n",
+ "fuel |307.98 | 25.57 |259.69 |387.88\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.174 0.011 0.013 | -0.581 -0.062 -0.035 | 0.527 0.019 0.051\n",
+ "w | -0.003 -0.007 -0.000 | 0.025 0.015 0.000 | -0.119 -0.073 -0.000 | 0.095 0.045 0.000\n",
+ "glideslope | 22.567 | 13.967 | 7.527 | 152.535\n",
+ "i : 1900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9685.54 |3375.44 |3464.10 |20000.00 | 251\n",
+ "glideslope | 2.910 | 8.222 | 0.538 |1938.464 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.4 -0.1 | 5.0 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.926 | 0.026 0.041 0.090 | -0.017 -0.188 -1.312 | 0.142 0.127 -0.363\n",
+ "fuel |307.87 | 25.52 |259.69 |387.88\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.174 0.011 0.013 | -0.581 -0.062 -0.035 | 0.527 0.019 0.051\n",
+ "w | -0.003 -0.007 -0.000 | 0.025 0.015 0.000 | -0.119 -0.073 -0.000 | 0.095 0.045 0.000\n",
+ "glideslope | 22.650 | 14.683 | 7.527 | 213.268\n",
+ "i : 2000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9679.85 |3367.96 |3464.10 |20000.00 | 251\n",
+ "glideslope | 2.910 | 8.148 | 0.538 |1938.464 | 1355\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.4 -0.1 | 5.0 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.926 | 0.026 0.041 0.090 | -0.017 -0.188 -1.312 | 0.142 0.127 -0.363\n",
+ "fuel |307.50 | 25.40 |259.69 |387.88\n",
+ "attitude_321 | 0.002 -0.015 0.003 | 0.174 0.010 0.013 | -0.581 -0.062 -0.035 | 0.527 0.019 0.051\n",
+ "w | -0.003 -0.007 -0.000 | 0.025 0.015 0.000 | -0.119 -0.073 -0.000 | 0.095 0.045 0.000\n",
+ "glideslope | 22.770 | 15.543 | 7.527 | 251.477\n",
+ "i : 2100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9686.91 |3371.00 |3464.10 |20000.00 | 251\n",
+ "glideslope | 2.917 | 8.531 | 0.538 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.4 -0.1 | 5.0 4.5 -0.0\n",
+ "velocity | 0.063 -0.015 -0.926 | 0.027 0.041 0.090 | -0.022 -0.188 -1.312 | 0.142 0.127 -0.363\n",
+ "fuel |307.33 | 25.21 |259.69 |387.88\n",
+ "attitude_321 | 0.002 -0.015 0.003 | 0.173 0.010 0.013 | -0.581 -0.062 -0.035 | 0.527 0.019 0.051\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.119 -0.073 -0.000 | 0.095 0.045 0.000\n",
+ "glideslope | 22.922 | 15.508 | 7.527 | 251.477\n",
+ "i : 2200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9687.97 |3370.01 |3464.10 |20000.00 | 251\n",
+ "glideslope | 2.915 | 8.586 | 0.538 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.4 -0.1 | 5.0 4.5 -0.0\n",
+ "velocity | 0.063 -0.015 -0.927 | 0.027 0.041 0.089 | -0.022 -0.188 -1.312 | 0.142 0.127 -0.363\n",
+ "fuel |307.35 | 25.25 |259.69 |387.88\n",
+ "attitude_321 | 0.002 -0.015 0.003 | 0.173 0.010 0.013 | -0.581 -0.062 -0.035 | 0.527 0.019 0.051\n",
+ "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.119 -0.073 -0.000 | 0.095 0.045 0.000\n",
+ "glideslope | 22.887 | 15.342 | 7.527 | 251.477\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 2300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9691.32 |3372.90 |3464.10 |20000.00 | 251\n",
+ "glideslope | 2.904 | 8.480 | 0.538 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.4 -0.1 | 5.0 4.5 -0.0\n",
+ "velocity | 0.063 -0.015 -0.927 | 0.027 0.040 0.089 | -0.022 -0.188 -1.312 | 0.142 0.127 -0.363\n",
+ "fuel |307.52 | 25.26 |259.69 |387.88\n",
+ "attitude_321 | 0.002 -0.015 0.003 | 0.172 0.011 0.013 | -0.581 -0.062 -0.035 | 0.527 0.019 0.051\n",
+ "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.119 -0.073 -0.000 | 0.095 0.045 0.000\n",
+ "glideslope | 22.820 | 15.258 | 7.527 | 251.477\n",
+ "i : 2400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9700.23 |3372.11 |3464.10 |20000.00 | 251\n",
+ "glideslope | 2.923 | 8.445 | 0.538 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.4 -0.1 | 5.0 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.927 | 0.027 0.040 0.088 | -0.022 -0.188 -1.312 | 0.142 0.127 -0.363\n",
+ "fuel |307.32 | 25.22 |259.69 |387.88\n",
+ "attitude_321 | 0.004 -0.016 0.003 | 0.173 0.011 0.013 | -0.581 -0.062 -0.035 | 0.527 0.019 0.051\n",
+ "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.119 -0.073 -0.000 | 0.095 0.045 0.000\n",
+ "glideslope | 22.722 | 15.164 | 7.527 | 251.477\n",
+ "i : 2500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9698.57 |3373.03 |3464.10 |20000.00 | 251\n",
+ "glideslope | 2.910 | 8.378 | 0.538 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.4 -0.1 | 5.0 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.927 | 0.027 0.041 0.088 | -0.022 -0.205 -1.312 | 0.142 0.127 -0.363\n",
+ "fuel |307.39 | 25.18 |259.69 |387.88\n",
+ "attitude_321 | 0.004 -0.016 0.003 | 0.173 0.011 0.013 | -0.581 -0.062 -0.035 | 0.527 0.019 0.051\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.073 -0.000 | 0.095 0.057 0.000\n",
+ "glideslope | 22.736 | 15.291 | 7.527 | 251.477\n",
+ "i : 2600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9695.75 |3367.89 |3464.10 |20000.00 | 251\n",
+ "glideslope | 2.917 | 8.367 | 0.538 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.4 -0.1 | 5.0 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.927 | 0.027 0.040 0.088 | -0.022 -0.205 -1.312 | 0.142 0.127 -0.363\n",
+ "fuel |307.33 | 25.10 |259.69 |387.88\n",
+ "attitude_321 | 0.004 -0.016 0.003 | 0.173 0.011 0.013 | -0.581 -0.062 -0.035 | 0.527 0.019 0.051\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.073 -0.000 | 0.095 0.057 0.000\n",
+ "glideslope | 22.819 | 15.415 | 7.527 | 251.477\n",
+ "i : 2700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9695.02 |3368.21 |3464.10 |20000.00 | 251\n",
+ "glideslope | 2.920 | 8.307 | 0.538 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.4 -0.1 | 5.0 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.927 | 0.027 0.040 0.088 | -0.022 -0.205 -1.312 | 0.142 0.127 -0.363\n",
+ "fuel |307.27 | 25.17 |259.69 |387.88\n",
+ "attitude_321 | 0.004 -0.016 0.003 | 0.173 0.011 0.013 | -0.581 -0.062 -0.035 | 0.527 0.019 0.051\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.073 -0.000 | 0.095 0.057 0.000\n",
+ "glideslope | 22.761 | 15.326 | 7.527 | 251.477\n",
+ "i : 2800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9695.95 |3367.90 |3464.10 |20000.00 | 251\n",
+ "glideslope | 2.924 | 8.291 | 0.538 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.4 -0.1 | 5.0 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.927 | 0.027 0.040 0.088 | -0.022 -0.205 -1.312 | 0.142 0.127 -0.363\n",
+ "fuel |307.33 | 25.26 |259.69 |387.88\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.172 0.011 0.013 | -0.581 -0.062 -0.035 | 0.527 0.019 0.051\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.073 -0.000 | 0.095 0.057 0.000\n",
+ "glideslope | 22.753 | 15.270 | 7.527 | 251.477\n",
+ "i : 2900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9694.33 |3367.48 |3464.10 |20000.00 | 251\n",
+ "glideslope | 2.921 | 8.347 | 0.538 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.4 -0.1 | 5.0 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.927 | 0.027 0.040 0.088 | -0.022 -0.205 -1.312 | 0.142 0.127 -0.363\n",
+ "fuel |307.31 | 25.36 |259.69 |387.88\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.173 0.011 0.013 | -0.581 -0.062 -0.035 | 0.527 0.024 0.051\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.095 0.057 0.000\n",
+ "glideslope | 22.716 | 15.135 | 7.527 | 251.477\n",
+ "i : 3000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9694.75 |3367.42 |3464.10 |20000.00 | 251\n",
+ "glideslope | 2.922 | 8.396 | 0.538 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.4 -0.1 | 5.0 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.928 | 0.026 0.040 0.088 | -0.022 -0.205 -1.312 | 0.142 0.127 -0.363\n",
+ "fuel |307.32 | 25.33 |259.69 |387.88\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.173 0.011 0.013 | -0.581 -0.062 -0.035 | 0.527 0.024 0.051\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.095 0.057 0.000\n",
+ "glideslope | 22.707 | 15.185 | 7.527 | 251.477\n",
+ "i : 3100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9694.82 |3367.34 |3464.10 |20000.00 | 251\n",
+ "glideslope | 2.921 | 8.376 | 0.538 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.4 -0.1 | 5.0 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.928 | 0.026 0.040 0.088 | -0.022 -0.205 -1.312 | 0.142 0.127 -0.363\n",
+ "fuel |307.26 | 25.34 |259.69 |387.88\n",
+ "attitude_321 | 0.004 -0.016 0.003 | 0.173 0.011 0.013 | -0.581 -0.062 -0.038 | 0.527 0.024 0.051\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.095 0.057 0.000\n",
+ "glideslope | 22.719 | 15.091 | 7.527 | 251.477\n",
+ "i : 3200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9693.99 |3367.74 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.916 | 8.445 | 0.537 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.3 0.0 | -2.8 -5.5 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.928 | 0.027 0.040 0.088 | -0.022 -0.205 -1.312 | 0.142 0.127 -0.363\n",
+ "fuel |307.34 | 25.31 |259.69 |394.01\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.173 0.011 0.013 | -0.581 -0.062 -0.038 | 0.537 0.024 0.051\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.095 0.057 0.000\n",
+ "glideslope | 22.744 | 15.173 | 7.527 | 251.477\n",
+ "i : 3300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9695.99 |3368.82 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.909 | 8.475 | 0.537 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.3 0.0 | -2.8 -5.5 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.928 | 0.027 0.040 0.088 | -0.026 -0.205 -1.312 | 0.146 0.127 -0.363\n",
+ "fuel |307.38 | 25.31 |259.69 |394.01\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.173 0.011 0.013 | -0.581 -0.062 -0.038 | 0.537 0.024 0.051\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.095 0.057 0.000\n",
+ "glideslope | 22.692 | 15.111 | 7.527 | 251.477\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 3400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9695.41 |3366.80 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.908 | 8.489 | 0.537 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.5 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.928 | 0.027 0.041 0.088 | -0.026 -0.205 -1.312 | 0.146 0.127 -0.363\n",
+ "fuel |307.32 | 25.25 |259.69 |394.01\n",
+ "attitude_321 | 0.004 -0.016 0.003 | 0.173 0.011 0.013 | -0.581 -0.062 -0.038 | 0.537 0.024 0.051\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.095 0.057 0.000\n",
+ "glideslope | 22.673 | 15.062 | 7.527 | 251.477\n",
+ "i : 3500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9695.58 |3367.23 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.910 | 8.522 | 0.537 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.5 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.927 | 0.027 0.041 0.088 | -0.034 -0.205 -1.312 | 0.146 0.127 -0.363\n",
+ "fuel |307.31 | 25.24 |259.69 |404.68\n",
+ "attitude_321 | 0.004 -0.016 0.003 | 0.173 0.011 0.013 | -0.581 -0.062 -0.038 | 0.537 0.024 0.051\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.095 0.057 0.000\n",
+ "glideslope | 22.675 | 15.054 | 7.527 | 251.477\n",
+ "i : 3600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9692.69 |3365.78 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.904 | 8.478 | 0.537 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.5 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.927 | 0.027 0.040 0.087 | -0.034 -0.205 -1.312 | 0.146 0.127 -0.363\n",
+ "fuel |307.29 | 25.27 |259.69 |404.68\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.173 0.011 0.013 | -0.581 -0.062 -0.038 | 0.537 0.024 0.051\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.095 0.057 0.000\n",
+ "glideslope | 22.594 | 14.904 | 7.527 | 251.477\n",
+ "i : 3700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9691.35 |3362.24 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.907 | 8.459 | 0.537 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.5 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.928 | 0.027 0.040 0.087 | -0.034 -0.205 -1.330 | 0.146 0.127 -0.363\n",
+ "fuel |307.19 | 25.20 |259.69 |404.68\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.173 0.011 0.013 | -0.581 -0.062 -0.038 | 0.537 0.024 0.051\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.095 0.057 0.000\n",
+ "glideslope | 22.599 | 14.857 | 7.527 | 251.477\n",
+ "i : 3800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9691.06 |3361.04 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.900 | 8.420 | 0.537 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.5 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.928 | 0.027 0.040 0.087 | -0.034 -0.205 -1.330 | 0.146 0.127 -0.363\n",
+ "fuel |307.23 | 25.25 |259.69 |404.68\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.173 0.011 0.013 | -0.581 -0.062 -0.038 | 0.569 0.024 0.051\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.095 0.057 0.000\n",
+ "glideslope | 22.615 | 14.803 | 7.527 | 251.477\n",
+ "i : 3900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9690.29 |3363.72 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.890 | 8.394 | 0.537 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.5 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.927 | 0.027 0.041 0.088 | -0.034 -0.205 -1.330 | 0.146 0.127 -0.363\n",
+ "fuel |307.36 | 25.28 |259.69 |404.68\n",
+ "attitude_321 | 0.004 -0.016 0.003 | 0.174 0.011 0.013 | -0.581 -0.062 -0.038 | 0.569 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.095 0.057 0.000\n",
+ "glideslope | 22.571 | 14.710 | 7.527 | 251.477\n",
+ "i : 4000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9687.43 |3362.63 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.885 | 8.372 | 0.537 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.5 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.927 | 0.027 0.041 0.088 | -0.034 -0.205 -1.330 | 0.146 0.127 -0.363\n",
+ "fuel |307.34 | 25.27 |259.69 |404.68\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.174 0.011 0.013 | -0.581 -0.062 -0.038 | 0.569 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.095 0.057 0.000\n",
+ "glideslope | 22.570 | 14.715 | 7.527 | 251.477\n",
+ "i : 4100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9685.80 |3362.78 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.906 | 8.636 | 0.537 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.5 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.927 | 0.027 0.041 0.088 | -0.034 -0.205 -1.330 | 0.146 0.127 -0.363\n",
+ "fuel |307.34 | 25.30 |259.69 |404.68\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.173 0.011 0.013 | -0.581 -0.062 -0.038 | 0.569 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.099 0.057 0.000\n",
+ "glideslope | 22.562 | 14.659 | 7.527 | 251.477\n",
+ "i : 4200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9683.25 |3361.62 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.906 | 8.748 | 0.537 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.5 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.926 | 0.027 0.041 0.088 | -0.034 -0.205 -1.330 | 0.146 0.127 -0.363\n",
+ "fuel |307.29 | 25.26 |259.69 |404.68\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.173 0.011 0.013 | -0.581 -0.062 -0.038 | 0.569 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.099 0.057 0.000\n",
+ "glideslope | 22.546 | 14.596 | 7.527 | 251.477\n",
+ "i : 4300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9682.68 |3361.38 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.917 | 8.868 | 0.537 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -2.8 -5.5 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.926 | 0.027 0.041 0.088 | -0.034 -0.205 -1.330 | 0.146 0.127 -0.363\n",
+ "fuel |307.29 | 25.24 |259.69 |404.68\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.174 0.011 0.013 | -0.581 -0.062 -0.038 | 0.569 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.099 0.066 0.000\n",
+ "glideslope | 22.667 | 15.498 | 7.527 | 352.767\n",
+ "i : 4400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9682.98 |3362.18 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.911 | 8.995 | 0.537 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -2.8 -5.5 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.065 -0.015 -0.926 | 0.027 0.041 0.088 | -0.034 -0.205 -1.330 | 0.146 0.127 -0.363\n",
+ "fuel |307.32 | 25.17 |259.69 |404.68\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.174 0.011 0.013 | -0.581 -0.062 -0.038 | 0.569 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.099 0.066 0.000\n",
+ "glideslope | 22.631 | 15.387 | 7.527 | 352.767\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 4500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9682.35 |3359.03 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.911 | 8.968 | 0.537 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -2.8 -5.5 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.927 | 0.027 0.041 0.088 | -0.034 -0.205 -1.330 | 0.146 0.127 -0.363\n",
+ "fuel |307.25 | 25.13 |259.69 |404.68\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.174 0.011 0.013 | -0.581 -0.062 -0.038 | 0.569 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.099 0.066 0.000\n",
+ "glideslope | 22.636 | 15.316 | 7.527 | 352.767\n",
+ "i : 4600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9682.64 |3359.32 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.911 | 8.956 | 0.537 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -2.8 -5.5 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.926 | 0.027 0.041 0.088 | -0.034 -0.205 -1.330 | 0.146 0.127 -0.363\n",
+ "fuel |307.28 | 25.09 |259.69 |404.68\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.174 0.011 0.013 | -0.581 -0.062 -0.038 | 0.569 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.099 0.066 0.000\n",
+ "glideslope | 22.627 | 15.273 | 7.527 | 352.767\n",
+ "i : 4700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9683.54 |3360.30 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.906 | 8.916 | 0.537 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -2.8 -5.5 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.927 | 0.027 0.041 0.088 | -0.034 -0.205 -1.330 | 0.146 0.127 -0.363\n",
+ "fuel |307.36 | 25.09 |259.69 |404.68\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.173 0.011 0.013 | -0.581 -0.062 -0.038 | 0.569 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.099 0.066 0.000\n",
+ "glideslope | 22.678 | 15.544 | 7.527 | 352.767\n",
+ "i : 4800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9683.80 |3359.07 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.903 | 8.967 | 0.537 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -2.8 -5.5 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.927 | 0.027 0.040 0.088 | -0.034 -0.205 -1.330 | 0.146 0.127 -0.363\n",
+ "fuel |307.35 | 25.06 |259.69 |404.68\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.173 0.011 0.013 | -0.581 -0.062 -0.038 | 0.569 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.099 0.066 0.000\n",
+ "glideslope | 22.673 | 15.483 | 7.527 | 352.767\n",
+ "i : 4900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9682.37 |3358.50 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.897 | 8.941 | 0.537 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -2.8 -5.5 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.927 | 0.027 0.040 0.088 | -0.034 -0.205 -1.330 | 0.146 0.127 -0.363\n",
+ "fuel |307.34 | 25.02 |259.69 |404.68\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.173 0.011 0.013 | -0.581 -0.062 -0.038 | 0.569 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.099 0.066 0.000\n",
+ "glideslope | 22.699 | 15.604 | 7.527 | 352.767\n",
+ "i : 5000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9681.70 |3358.80 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.891 | 8.898 | 0.537 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -2.8 -5.5 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.065 -0.015 -0.927 | 0.027 0.040 0.088 | -0.034 -0.205 -1.330 | 0.146 0.127 -0.363\n",
+ "fuel |307.40 | 25.05 |259.69 |404.68\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.173 0.011 0.013 | -0.581 -0.062 -0.038 | 0.569 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.099 0.066 0.000\n",
+ "glideslope | 22.697 | 15.544 | 7.527 | 352.767\n",
+ "i : 5100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9679.96 |3358.87 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.889 | 8.881 | 0.537 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -2.8 -5.5 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.065 -0.015 -0.927 | 0.027 0.040 0.088 | -0.034 -0.205 -1.330 | 0.161 0.127 -0.363\n",
+ "fuel |307.42 | 25.07 |259.69 |404.68\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.173 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.099 0.066 0.000\n",
+ "glideslope | 22.713 | 15.714 | 7.527 | 352.767\n",
+ "i : 5200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9680.38 |3359.44 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.891 | 8.879 | 0.537 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -2.8 -5.5 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.065 -0.015 -0.927 | 0.027 0.040 0.088 | -0.034 -0.205 -1.330 | 0.161 0.127 -0.363\n",
+ "fuel |307.42 | 25.06 |259.69 |404.68\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.174 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.099 0.066 0.000\n",
+ "glideslope | 22.757 | 15.944 | 7.527 | 352.767\n",
+ "i : 5300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9681.29 |3360.89 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.889 | 8.839 | 0.537 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -2.8 -5.5 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.065 -0.015 -0.927 | 0.027 0.040 0.088 | -0.034 -0.205 -1.330 | 0.161 0.127 -0.363\n",
+ "fuel |307.44 | 25.07 |259.69 |404.68\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.173 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.099 0.066 0.000\n",
+ "glideslope | 22.773 | 15.893 | 7.527 | 352.767\n",
+ "i : 5400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9681.50 |3360.39 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.892 | 8.857 | 0.537 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -2.8 -5.5 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.065 -0.015 -0.927 | 0.027 0.040 0.088 | -0.034 -0.205 -1.330 | 0.161 0.127 -0.363\n",
+ "fuel |307.40 | 25.02 |259.69 |404.68\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.173 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.099 0.066 0.000\n",
+ "glideslope | 22.751 | 15.813 | 7.527 | 352.767\n",
+ "i : 5500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9681.33 |3362.26 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.886 | 8.817 | 0.530 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -2.8 -5.5 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.065 -0.015 -0.927 | 0.027 0.040 0.089 | -0.034 -0.205 -1.330 | 0.161 0.127 -0.363\n",
+ "fuel |307.48 | 25.02 |259.69 |404.68\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.174 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.099 0.066 0.000\n",
+ "glideslope | 22.756 | 16.069 | 7.527 | 352.767\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 5600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9682.74 |3362.88 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.881 | 8.784 | 0.530 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -2.8 -5.5 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.065 -0.015 -0.927 | 0.027 0.040 0.089 | -0.034 -0.205 -1.330 | 0.161 0.127 -0.363\n",
+ "fuel |307.52 | 25.01 |259.69 |404.68\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.174 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.099 0.066 0.000\n",
+ "glideslope | 22.777 | 16.081 | 7.527 | 352.767\n",
+ "i : 5700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9682.68 |3363.31 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.879 | 8.768 | 0.530 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -2.8 -5.5 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.065 -0.015 -0.927 | 0.027 0.040 0.089 | -0.034 -0.205 -1.330 | 0.161 0.127 -0.363\n",
+ "fuel |307.52 | 25.01 |258.79 |404.68\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.174 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.099 0.066 0.000\n",
+ "glideslope | 22.834 | 16.124 | 7.527 | 352.767\n",
+ "i : 5800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9681.84 |3363.19 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.878 | 8.737 | 0.530 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -2.8 -5.5 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.927 | 0.027 0.040 0.089 | -0.034 -0.205 -1.330 | 0.161 0.127 -0.363\n",
+ "fuel |307.52 | 25.06 |258.79 |404.68\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.174 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.099 0.066 0.000\n",
+ "glideslope | 22.812 | 16.033 | 7.527 | 352.767\n",
+ "i : 5900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9681.79 |3363.95 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.880 | 8.718 | 0.530 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -2.8 -5.8 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.926 | 0.027 0.040 0.089 | -0.034 -0.205 -1.330 | 0.161 0.127 -0.363\n",
+ "fuel |307.51 | 25.12 |258.79 |404.68\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.174 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.099 0.066 0.000\n",
+ "glideslope | 22.819 | 16.023 | 7.527 | 352.767\n",
+ "i : 6000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9683.48 |3364.98 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.877 | 8.681 | 0.530 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -2.8 -5.8 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.927 | 0.027 0.040 0.089 | -0.034 -0.205 -1.330 | 0.161 0.127 -0.363\n",
+ "fuel |307.51 | 25.09 |258.79 |404.68\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.174 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.099 0.066 0.000\n",
+ "glideslope | 22.798 | 15.936 | 7.527 | 352.767\n",
+ "i : 6100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9682.71 |3365.57 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.875 | 8.686 | 0.530 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -2.8 -5.8 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.927 | 0.027 0.040 0.090 | -0.034 -0.205 -1.330 | 0.161 0.127 -0.363\n",
+ "fuel |307.53 | 25.09 |258.79 |404.68\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.174 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.119 -0.099 -0.000 | 0.099 0.066 0.000\n",
+ "glideslope | 22.784 | 15.875 | 7.527 | 352.767\n",
+ "i : 6200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9682.34 |3365.34 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.872 | 8.675 | 0.530 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -2.8 -5.8 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.926 | 0.027 0.040 0.090 | -0.034 -0.205 -1.330 | 0.161 0.127 -0.363\n",
+ "fuel |307.53 | 25.10 |258.79 |404.68\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.175 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.099 0.066 0.000\n",
+ "glideslope | 22.791 | 16.006 | 7.527 | 352.767\n",
+ "i : 6300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9681.84 |3365.13 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.870 | 8.640 | 0.530 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -2.8 -5.8 -0.1 | 5.3 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.926 | 0.027 0.040 0.090 | -0.034 -0.205 -1.330 | 0.161 0.127 -0.363\n",
+ "fuel |307.56 | 25.11 |258.79 |404.68\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.175 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.099 0.066 0.000\n",
+ "glideslope | 22.768 | 15.943 | 7.527 | 352.767\n",
+ "i : 6400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9681.02 |3366.85 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.864 | 8.603 | 0.515 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.927 | 0.027 0.040 0.090 | -0.034 -0.205 -1.330 | 0.161 0.127 -0.363\n",
+ "fuel |307.67 | 25.15 |258.79 |404.68\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.175 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.099 0.066 0.000\n",
+ "glideslope | 22.783 | 16.028 | 7.527 | 352.767\n",
+ "i : 6500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9681.67 |3367.49 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.861 | 8.573 | 0.515 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.927 | 0.027 0.040 0.090 | -0.034 -0.205 -1.330 | 0.161 0.127 -0.363\n",
+ "fuel |307.68 | 25.13 |258.79 |404.68\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 22.786 | 15.985 | 7.527 | 352.767\n",
+ "i : 6600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9682.11 |3367.39 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.862 | 8.554 | 0.515 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.927 | 0.027 0.040 0.090 | -0.034 -0.205 -1.330 | 0.161 0.127 -0.363\n",
+ "fuel |307.63 | 25.09 |258.79 |404.68\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 22.810 | 15.978 | 7.527 | 352.767\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 6700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9682.96 |3367.61 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.863 | 8.546 | 0.515 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.927 | 0.027 0.040 0.090 | -0.034 -0.205 -1.330 | 0.161 0.127 -0.363\n",
+ "fuel |307.64 | 25.08 |258.79 |404.68\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 22.886 | 16.374 | 7.527 | 352.767\n",
+ "i : 6800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9683.35 |3368.04 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.858 | 8.533 | 0.515 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.927 | 0.027 0.040 0.090 | -0.034 -0.205 -1.330 | 0.161 0.127 -0.363\n",
+ "fuel |307.67 | 25.06 |258.79 |404.68\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 22.878 | 16.368 | 7.527 | 352.767\n",
+ "i : 6900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9682.18 |3368.62 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.855 | 8.512 | 0.515 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.927 | 0.027 0.040 0.090 | -0.034 -0.205 -1.330 | 0.161 0.127 -0.363\n",
+ "fuel |307.72 | 25.06 |258.79 |404.68\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 22.893 | 16.359 | 7.527 | 352.767\n",
+ "i : 7000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9682.68 |3368.68 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.855 | 8.598 | 0.515 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.927 | 0.027 0.040 0.090 | -0.034 -0.205 -1.330 | 0.161 0.127 -0.363\n",
+ "fuel |307.70 | 25.05 |258.79 |404.68\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 22.867 | 16.322 | 7.527 | 352.767\n",
+ "i : 7100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9681.24 |3369.38 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.853 | 8.616 | 0.515 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.927 | 0.027 0.040 0.090 | -0.054 -0.205 -1.330 | 0.161 0.127 -0.363\n",
+ "fuel |307.73 | 25.07 |258.79 |404.68\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 22.868 | 16.277 | 7.527 | 352.767\n",
+ "i : 7200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9680.21 |3369.66 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.855 | 8.697 | 0.515 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.065 -0.015 -0.926 | 0.027 0.040 0.090 | -0.054 -0.205 -1.330 | 0.161 0.127 -0.363\n",
+ "fuel |307.74 | 25.15 |258.79 |404.68\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 22.846 | 16.251 | 7.527 | 352.767\n",
+ "i : 7300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9681.35 |3371.01 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.852 | 8.680 | 0.489 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.065 -0.015 -0.926 | 0.027 0.040 0.090 | -0.054 -0.205 -1.330 | 0.161 0.127 -0.363\n",
+ "fuel |307.75 | 25.14 |258.79 |404.68\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.024 0.056\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 22.883 | 16.365 | 7.527 | 352.767\n",
+ "i : 7400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9680.53 |3370.72 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.849 | 8.669 | 0.489 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.065 -0.015 -0.926 | 0.027 0.040 0.090 | -0.054 -0.205 -1.330 | 0.161 0.127 -0.363\n",
+ "fuel |307.81 | 25.13 |258.79 |404.68\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.024 0.066\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 22.875 | 16.341 | 7.527 | 352.767\n",
+ "i : 7500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9680.46 |3370.32 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.852 | 8.673 | 0.489 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.065 -0.015 -0.926 | 0.027 0.040 0.090 | -0.054 -0.205 -1.330 | 0.161 0.127 -0.363\n",
+ "fuel |307.77 | 25.12 |256.89 |404.68\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.024 0.066\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 22.934 | 16.495 | 7.527 | 352.767\n",
+ "i : 7600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9679.96 |3371.43 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.847 | 8.644 | 0.489 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.065 -0.015 -0.926 | 0.027 0.040 0.090 | -0.054 -0.205 -1.330 | 0.161 0.127 -0.363\n",
+ "fuel |307.86 | 25.13 |256.89 |404.68\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.024 0.066\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 22.928 | 16.497 | 7.527 | 352.767\n",
+ "i : 7700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9679.37 |3370.39 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.850 | 8.631 | 0.489 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.065 -0.015 -0.926 | 0.027 0.040 0.090 | -0.054 -0.205 -1.338 | 0.161 0.127 -0.363\n",
+ "fuel |307.84 | 25.12 |256.89 |404.68\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.024 0.066\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 22.906 | 16.564 | 7.527 | 352.767\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 7800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9679.53 |3370.75 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.853 | 8.607 | 0.489 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.065 -0.015 -0.926 | 0.027 0.040 0.090 | -0.054 -0.205 -1.338 | 0.161 0.127 -0.363\n",
+ "fuel |307.86 | 25.17 |256.89 |404.68\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.024 0.066\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 22.884 | 16.489 | 7.527 | 352.767\n",
+ "i : 7900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9678.99 |3369.88 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.852 | 8.600 | 0.489 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -2.8 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.065 -0.015 -0.926 | 0.027 0.040 0.090 | -0.054 -0.205 -1.338 | 0.161 0.127 -0.363\n",
+ "fuel |307.82 | 25.15 |256.89 |404.68\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.024 0.066\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 22.877 | 16.459 | 7.527 | 352.767\n",
+ "i : 8000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9679.40 |3370.26 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.853 | 8.586 | 0.489 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -3.0 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.065 -0.015 -0.926 | 0.027 0.040 0.090 | -0.060 -0.205 -1.338 | 0.161 0.127 -0.363\n",
+ "fuel |307.82 | 25.17 |256.89 |404.68\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.033 0.066\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 22.868 | 16.419 | 7.527 | 352.767\n",
+ "i : 8100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9677.69 |3369.16 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.855 | 8.567 | 0.489 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -3.0 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.065 -0.015 -0.926 | 0.027 0.040 0.090 | -0.060 -0.205 -1.338 | 0.161 0.127 -0.363\n",
+ "fuel |307.82 | 25.18 |256.89 |404.68\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.177 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.033 0.066\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 22.858 | 16.384 | 7.527 | 352.767\n",
+ "i : 8200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9677.39 |3368.79 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.856 | 8.552 | 0.489 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -3.0 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.065 -0.015 -0.926 | 0.027 0.040 0.090 | -0.060 -0.205 -1.338 | 0.161 0.127 -0.363\n",
+ "fuel |307.83 | 25.20 |256.89 |404.68\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.033 0.066\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.119 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 22.856 | 16.329 | 7.527 | 352.767\n",
+ "i : 8300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9676.55 |3368.23 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.855 | 8.547 | 0.489 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -3.0 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.926 | 0.027 0.040 0.090 | -0.060 -0.205 -1.338 | 0.161 0.127 -0.363\n",
+ "fuel |307.81 | 25.18 |256.89 |404.68\n",
+ "attitude_321 | 0.004 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.033 0.066\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.129 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 22.886 | 16.410 | 7.527 | 352.767\n",
+ "i : 8400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9676.99 |3369.05 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.857 | 8.577 | 0.489 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -3.0 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.926 | 0.027 0.040 0.090 | -0.060 -0.205 -1.338 | 0.161 0.127 -0.363\n",
+ "fuel |307.83 | 25.23 |256.89 |404.68\n",
+ "attitude_321 | 0.004 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.062 -0.038 | 0.608 0.033 0.066\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.129 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 22.977 | 17.267 | 7.527 | 508.861\n",
+ "i : 8500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9677.83 |3369.04 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.865 | 8.579 | 0.489 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -3.0 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.926 | 0.027 0.040 0.090 | -0.060 -0.205 -1.338 | 0.161 0.127 -0.363\n",
+ "fuel |307.80 | 25.20 |256.89 |404.68\n",
+ "attitude_321 | 0.004 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.063 -0.038 | 0.608 0.033 0.066\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.129 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 22.976 | 17.220 | 7.527 | 508.861\n",
+ "i : 8600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9678.08 |3370.14 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.862 | 8.567 | 0.489 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -3.0 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.926 | 0.027 0.040 0.090 | -0.060 -0.205 -1.338 | 0.161 0.127 -0.363\n",
+ "fuel |307.84 | 25.23 |256.89 |404.68\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.063 -0.038 | 0.608 0.033 0.066\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.129 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 22.991 | 17.177 | 7.527 | 508.861\n",
+ "i : 8700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9677.88 |3370.52 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.862 | 8.568 | 0.489 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -3.0 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.926 | 0.027 0.040 0.090 | -0.060 -0.205 -1.338 | 0.161 0.127 -0.363\n",
+ "fuel |307.88 | 25.26 |256.89 |404.68\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.063 -0.038 | 0.608 0.033 0.066\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.129 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 23.019 | 17.234 | 7.527 | 508.861\n",
+ "i : 8800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9677.53 |3369.74 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.864 | 8.560 | 0.489 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -3.0 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.926 | 0.027 0.040 0.090 | -0.060 -0.205 -1.338 | 0.161 0.133 -0.363\n",
+ "fuel |307.86 | 25.27 |256.89 |404.68\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.063 -0.038 | 0.608 0.033 0.066\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.129 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 23.059 | 17.421 | 7.527 | 508.861\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 8900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9678.13 |3369.83 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.863 | 8.542 | 0.489 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -3.0 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.926 | 0.027 0.040 0.090 | -0.060 -0.205 -1.338 | 0.161 0.133 -0.363\n",
+ "fuel |307.82 | 25.24 |256.89 |404.68\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.063 -0.038 | 0.608 0.033 0.066\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.129 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 23.061 | 17.466 | 7.527 | 508.861\n",
+ "i : 9000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9677.18 |3369.30 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.862 | 8.521 | 0.489 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -3.0 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.926 | 0.027 0.040 0.090 | -0.060 -0.205 -1.338 | 0.161 0.133 -0.363\n",
+ "fuel |307.82 | 25.23 |256.89 |404.68\n",
+ "attitude_321 | 0.004 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.063 -0.038 | 0.608 0.033 0.066\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.129 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 23.051 | 17.418 | 7.527 | 508.861\n",
+ "i : 9100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9676.96 |3368.63 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.862 | 8.520 | 0.489 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -3.0 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.927 | 0.027 0.040 0.090 | -0.060 -0.205 -1.338 | 0.161 0.133 -0.363\n",
+ "fuel |307.80 | 25.20 |256.89 |404.68\n",
+ "attitude_321 | 0.004 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.063 -0.038 | 0.608 0.033 0.066\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.129 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 23.067 | 17.405 | 7.527 | 508.861\n",
+ "i : 9200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9676.71 |3367.82 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.860 | 8.508 | 0.489 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.1 1.2 0.0 | -3.0 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.927 | 0.027 0.040 0.090 | -0.060 -0.205 -1.338 | 0.161 0.133 -0.363\n",
+ "fuel |307.78 | 25.19 |256.89 |404.68\n",
+ "attitude_321 | 0.004 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.063 -0.038 | 0.608 0.033 0.066\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.129 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 23.086 | 17.418 | 7.527 | 508.861\n",
+ "i : 9300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9677.75 |3368.46 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.860 | 8.497 | 0.489 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -3.0 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.926 | 0.027 0.040 0.090 | -0.060 -0.205 -1.338 | 0.161 0.133 -0.363\n",
+ "fuel |307.77 | 25.18 |256.89 |404.68\n",
+ "attitude_321 | 0.004 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.063 -0.038 | 0.608 0.033 0.066\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.129 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 23.085 | 17.417 | 7.527 | 508.861\n",
+ "i : 9400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9676.70 |3368.91 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.858 | 8.530 | 0.489 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -3.0 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.926 | 0.027 0.040 0.090 | -0.060 -0.205 -1.338 | 0.161 0.133 -0.363\n",
+ "fuel |307.81 | 25.20 |256.89 |404.68\n",
+ "attitude_321 | 0.004 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.063 -0.038 | 0.608 0.033 0.066\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.129 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 23.098 | 17.445 | 7.527 | 508.861\n",
+ "i : 9500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9676.19 |3369.91 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.858 | 8.515 | 0.489 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -3.0 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.926 | 0.027 0.040 0.090 | -0.060 -0.205 -1.338 | 0.161 0.133 -0.363\n",
+ "fuel |307.84 | 25.21 |256.89 |404.68\n",
+ "attitude_321 | 0.004 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.063 -0.038 | 0.608 0.033 0.066\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.129 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 23.106 | 17.439 | 7.527 | 508.861\n",
+ "i : 9600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9675.73 |3369.46 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.856 | 8.496 | 0.489 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -3.0 -5.8 -0.1 | 5.5 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.926 | 0.027 0.040 0.090 | -0.060 -0.205 -1.338 | 0.161 0.133 -0.363\n",
+ "fuel |307.85 | 25.20 |256.89 |404.68\n",
+ "attitude_321 | 0.004 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.063 -0.038 | 0.608 0.033 0.066\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.129 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 23.076 | 17.384 | 7.527 | 508.861\n",
+ "i : 9700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9675.79 |3369.92 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.854 | 8.475 | 0.489 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -3.0 -5.9 -0.1 | 5.8 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.926 | 0.027 0.040 0.091 | -0.060 -0.205 -1.338 | 0.161 0.133 -0.363\n",
+ "fuel |307.86 | 25.21 |256.89 |404.68\n",
+ "attitude_321 | 0.004 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.063 -0.038 | 0.608 0.033 0.066\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.129 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 23.060 | 17.336 | 7.527 | 508.861\n",
+ "i : 9800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9675.87 |3370.38 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.853 | 8.504 | 0.489 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -3.0 -5.9 -0.1 | 5.8 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.926 | 0.027 0.040 0.091 | -0.060 -0.205 -1.338 | 0.161 0.133 -0.363\n",
+ "fuel |307.87 | 25.22 |256.89 |404.68\n",
+ "attitude_321 | 0.004 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.063 -0.038 | 0.608 0.033 0.066\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.129 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 23.146 | 18.185 | 7.527 | 558.785\n",
+ "i : 9900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9676.03 |3371.24 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.853 | 8.488 | 0.489 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -3.0 -5.9 -0.1 | 5.8 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.926 | 0.027 0.040 0.091 | -0.060 -0.205 -1.338 | 0.161 0.133 -0.363\n",
+ "fuel |307.91 | 25.22 |256.89 |404.68\n",
+ "attitude_321 | 0.003 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.063 -0.038 | 0.608 0.033 0.066\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.129 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 23.134 | 18.164 | 7.527 | 558.785\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9675.08 |3372.00 |3464.10 |20000.00 | 3123\n",
+ "glideslope | 2.854 | 8.496 | 0.489 |2212.383 | 2001\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.1 -0.0 | 1.1 1.2 0.0 | -3.0 -5.9 -0.1 | 5.8 4.5 -0.0\n",
+ "velocity | 0.064 -0.015 -0.926 | 0.027 0.040 0.091 | -0.060 -0.205 -1.338 | 0.161 0.133 -0.363\n",
+ "fuel |307.95 | 25.23 |256.89 |404.68\n",
+ "attitude_321 | 0.004 -0.016 0.003 | 0.176 0.011 0.013 | -0.581 -0.063 -0.038 | 0.608 0.033 0.066\n",
+ "w | -0.003 -0.007 0.000 | 0.025 0.015 0.000 | -0.129 -0.099 -0.000 | 0.116 0.066 0.000\n",
+ "glideslope | 23.135 | 18.178 | 7.527 | 558.785\n",
+ "\n",
+ "Initial Stats (mean,std,min,max)\n",
+ "position | 1492.4 -6.0 2350.2 | 866.0 870.0 28.8 | 1.1 -1499.9 2300.0 | 2999.5 1499.8 2400.0\n",
+ "velocity | -40.156 -0.120 -80.070 | 17.193 17.388 5.732 | -69.999 -29.997 -90.000 | -10.002 29.994 -70.004\n",
+ "fuel | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude_321 | 0.004 0.688 -0.001 | 0.225 0.170 0.225 | -0.393 0.393 -0.393 | 0.393 0.982 0.393\n",
+ "w | 0.000 0.000 0.000 | 0.000 0.000 0.000 | 0.000 0.000 0.000 | 0.000 0.000 0.000\n",
+ "glideslope | 2.172 | 1.096 | 0.949 | 8.632\n"
+ ]
+ }
+ ],
+ "source": [
+ "policy.test_mode=True\n",
+ "env.ic_gen = Landing_icgen(mass_uncertainty=0.05, g_uncertainty=(0.0,0.0),\n",
+ " adapt_apf_v0=True,\n",
+ " attitude_parameterization=attitude_parameterization,\n",
+ " downrange = (0,3000 , -70, -10), \n",
+ " crossrange = (-1500,1500 , -30,30), \n",
+ " altitude = (2300,2400,-90,-70),\n",
+ " yaw = (-np.pi/8, np.pi/8, 0.0, 0.0) ,\n",
+ " pitch = (np.pi/4-np.pi/8, np.pi/4+np.pi/16, -0.0, 0.0),\n",
+ " roll = (-np.pi/8, np.pi/8, -0.0, 0.0),\n",
+ " noise_u=100*np.ones(3), noise_sd=100*np.ones(3))\n",
+ "env.test_policy_batch(policy,input_normalizer,10000,print_every=100)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.5.0"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/AAS-18-290_6DOF_journal/Run/Run_4km_terminal/optimize_4km.pkl b/AAS-18-290_6DOF_journal/Run/Run_4km_terminal/optimize_4km.pkl
new file mode 100644
index 0000000..1bbab57
Binary files /dev/null and b/AAS-18-290_6DOF_journal/Run/Run_4km_terminal/optimize_4km.pkl differ
diff --git a/AAS-18-290_6DOF_journal/Run/Run_4km_terminal/optimize_4km_history.npy b/AAS-18-290_6DOF_journal/Run/Run_4km_terminal/optimize_4km_history.npy
new file mode 100644
index 0000000..81f5e91
Binary files /dev/null and b/AAS-18-290_6DOF_journal/Run/Run_4km_terminal/optimize_4km_history.npy differ
diff --git a/AAS-18-290_6DOF_journal/Run/Run_4km_terminal/optimize_4km_scaler.pkl b/AAS-18-290_6DOF_journal/Run/Run_4km_terminal/optimize_4km_scaler.pkl
new file mode 100644
index 0000000..8faa2f0
Binary files /dev/null and b/AAS-18-290_6DOF_journal/Run/Run_4km_terminal/optimize_4km_scaler.pkl differ
diff --git a/AAS-18-290_6DOF_journal/Run/Run_4km_terminal/test-9km.ipynb b/AAS-18-290_6DOF_journal/Run/Run_4km_terminal/test-9km.ipynb
new file mode 100644
index 0000000..365c82e
--- /dev/null
+++ b/AAS-18-290_6DOF_journal/Run/Run_4km_terminal/test-9km.ipynb
@@ -0,0 +1,9823 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The autoreload extension is already loaded. To reload it, use:\n",
+ " %reload_ext autoreload\n",
+ "/Users/briangaudet/Study/Subjects/MachineLearning/Projects/AAS_TEST/RUN/AAS-18-290_6DOF_journal/Run/Run_4km_terminal\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy as np\n",
+ "import os,sys\n",
+ "\n",
+ "\n",
+ "sys.path.append('../..')\n",
+ "sys.path.append('../../../RL_lib/Agents/PPO')\n",
+ "sys.path.append('../../../RL_lib/Utils')\n",
+ "\n",
+ "%load_ext autoreload\n",
+ "%load_ext autoreload\n",
+ "%autoreload 2\n",
+ "%matplotlib nbagg\n",
+ "import os\n",
+ "print(os.getcwd())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ ""
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "%%html\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Load Policy"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "6dof dynamics model\n",
+ "Quaternion_attitude\n",
+ "Thruster Config Shape: (4, 6) 4\n",
+ "Inertia Tensor: [[2000. 0. 0.]\n",
+ " [ 0. 2000. 0.]\n",
+ " [ 0. 0. 3200.]]\n",
+ "Lander Model: \n",
+ " - apf_v0: 70\n",
+ " - apf_vf1: [ 0. 0. -2.]\n",
+ " - apf_vf2: [ 0. 0. -1.]\n",
+ " - apf_atarg: 15.0\n",
+ " - apf_tau1: 20\n",
+ " - apf_tau2: 100.0\n",
+ "Reward_terminal\n",
+ "queue fixed\n",
+ "Flat Constraint\n",
+ "Attitude Constraint\n"
+ ]
+ },
+ {
+ "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 = $('');\n",
+ " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+ " 'ui-button-icon-only');\n",
+ " button.attr('role', 'button');\n",
+ " button.attr('aria-disabled', 'false');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ "\n",
+ " var icon_img = $('');\n",
+ " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+ " icon_img.addClass(image);\n",
+ " icon_img.addClass('ui-corner-all');\n",
+ "\n",
+ " var tooltip_span = $('');\n",
+ " tooltip_span.addClass('ui-button-text');\n",
+ " tooltip_span.html(tooltip);\n",
+ "\n",
+ " button.append(icon_img);\n",
+ " button.append(tooltip_span);\n",
+ "\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker_span = $('');\n",
+ "\n",
+ " var fmt_picker = $('');\n",
+ " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+ " fmt_picker_span.append(fmt_picker);\n",
+ " nav_element.append(fmt_picker_span);\n",
+ " this.format_dropdown = fmt_picker[0];\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = $(\n",
+ " '', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+ " fmt_picker.append(option)\n",
+ " }\n",
+ "\n",
+ " // Add hover states to the ui-buttons\n",
+ " $( \".ui-button\" ).hover(\n",
+ " function() { $(this).addClass(\"ui-state-hover\");},\n",
+ " function() { $(this).removeClass(\"ui-state-hover\");}\n",
+ " );\n",
+ "\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function(type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function() {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1]);\n",
+ " fig.send_message(\"refresh\", {});\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+ " var x0 = msg['x0'] / mpl.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+ " var x1 = msg['x1'] / mpl.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0, 0, fig.canvas.width, fig.canvas.height);\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+ " var cursor = msg['cursor'];\n",
+ " switch(cursor)\n",
+ " {\n",
+ " case 0:\n",
+ " cursor = 'pointer';\n",
+ " break;\n",
+ " case 1:\n",
+ " cursor = 'default';\n",
+ " break;\n",
+ " case 2:\n",
+ " cursor = 'crosshair';\n",
+ " break;\n",
+ " case 3:\n",
+ " cursor = 'move';\n",
+ " break;\n",
+ " }\n",
+ " fig.rubberband_canvas.style.cursor = cursor;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message(\"ack\", {});\n",
+ "}\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " evt.data.type = \"image/png\";\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " evt.data);\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig[\"handle_\" + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function(e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e)\n",
+ " e = window.event;\n",
+ " if (e.target)\n",
+ " targ = e.target;\n",
+ " else if (e.srcElement)\n",
+ " targ = e.srcElement;\n",
+ " if (targ.nodeType == 3) // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ "\n",
+ " // jQuery normalizes the pageX and pageY\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " // offset() returns the position of the element relative to the document\n",
+ " var x = e.pageX - $(targ).offset().left;\n",
+ " var y = e.pageY - $(targ).offset().top;\n",
+ "\n",
+ " return {\"x\": x, \"y\": y};\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * http://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys (original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object')\n",
+ " obj[key] = original[key]\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+ " var canvas_pos = mpl.findpos(event)\n",
+ "\n",
+ " if (name === 'button_press')\n",
+ " {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * mpl.ratio;\n",
+ " var y = canvas_pos.y * mpl.ratio;\n",
+ "\n",
+ " this.send_message(name, {x: x, y: y, button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function(event, name) {\n",
+ "\n",
+ " // Prevent repeat events\n",
+ " if (name == 'key_press')\n",
+ " {\n",
+ " if (event.which === this._key)\n",
+ " return;\n",
+ " else\n",
+ " this._key = event.which;\n",
+ " }\n",
+ " if (name == 'key_release')\n",
+ " this._key = null;\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.which != 17)\n",
+ " value += \"ctrl+\";\n",
+ " if (event.altKey && event.which != 18)\n",
+ " value += \"alt+\";\n",
+ " if (event.shiftKey && event.which != 16)\n",
+ " value += \"shift+\";\n",
+ "\n",
+ " value += 'k';\n",
+ " value += event.which.toString();\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, {key: value,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+ " if (name == 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message(\"toolbar_button\", {name: name});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.close = function() {\n",
+ " comm.close()\n",
+ " };\n",
+ " ws.send = function(m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function(msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
+ " ws.onmessage(msg['content']['data'])\n",
+ " });\n",
+ " return ws;\n",
+ "}\n",
+ "\n",
+ "mpl.mpl_figure_comm = function(comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = $(\"#\" + id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm)\n",
+ "\n",
+ " function ondownload(figure, format) {\n",
+ " window.open(figure.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy,\n",
+ " ondownload,\n",
+ " element.get(0));\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element.get(0);\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error(\"Failed to find cell for figure\", id, fig);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var output_index = fig.cell_info[2]\n",
+ " var cell = fig.cell_info[0];\n",
+ "\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+ " var width = fig.canvas.width/mpl.ratio\n",
+ " fig.root.unbind('remove')\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable()\n",
+ " $(fig.parent_element).html('');\n",
+ " fig.close_ws(fig, msg);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width/mpl.ratio\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] = '';\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message(\"ack\", {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () { fig.push_to_output() }, 1000);\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) { continue; };\n",
+ "\n",
+ " var button = $('');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = $('');\n",
+ " var button = $('');\n",
+ " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+ " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+ " buttongrp.append(button);\n",
+ " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+ " titlebar.prepend(buttongrp);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function(el){\n",
+ " var fig = this\n",
+ " el.on(\"remove\", function(){\n",
+ "\tfig.close_ws(fig, {});\n",
+ " });\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+ " // this is important to make the div 'focusable\n",
+ " el.attr('tabindex', 0)\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " }\n",
+ " else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " var manager = IPython.notebook.keyboard_manager;\n",
+ " if (!manager)\n",
+ " manager = IPython.keyboard_manager;\n",
+ "\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which == 13) {\n",
+ " this.canvas_div.blur();\n",
+ " event.shiftKey = false;\n",
+ " // Send a \"J\" for go to next cell\n",
+ " event.which = 74;\n",
+ " event.keyCode = 74;\n",
+ " manager.command_mode();\n",
+ " manager.handle_keydown(event);\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.find_output_cell = function(html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i=0; i= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] == html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel != null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "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 = $('');\n",
+ " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+ " 'ui-button-icon-only');\n",
+ " button.attr('role', 'button');\n",
+ " button.attr('aria-disabled', 'false');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ "\n",
+ " var icon_img = $('');\n",
+ " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+ " icon_img.addClass(image);\n",
+ " icon_img.addClass('ui-corner-all');\n",
+ "\n",
+ " var tooltip_span = $('');\n",
+ " tooltip_span.addClass('ui-button-text');\n",
+ " tooltip_span.html(tooltip);\n",
+ "\n",
+ " button.append(icon_img);\n",
+ " button.append(tooltip_span);\n",
+ "\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker_span = $('');\n",
+ "\n",
+ " var fmt_picker = $('');\n",
+ " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+ " fmt_picker_span.append(fmt_picker);\n",
+ " nav_element.append(fmt_picker_span);\n",
+ " this.format_dropdown = fmt_picker[0];\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = $(\n",
+ " '', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+ " fmt_picker.append(option)\n",
+ " }\n",
+ "\n",
+ " // Add hover states to the ui-buttons\n",
+ " $( \".ui-button\" ).hover(\n",
+ " function() { $(this).addClass(\"ui-state-hover\");},\n",
+ " function() { $(this).removeClass(\"ui-state-hover\");}\n",
+ " );\n",
+ "\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function(type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function() {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1]);\n",
+ " fig.send_message(\"refresh\", {});\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+ " var x0 = msg['x0'] / mpl.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+ " var x1 = msg['x1'] / mpl.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0, 0, fig.canvas.width, fig.canvas.height);\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+ " var cursor = msg['cursor'];\n",
+ " switch(cursor)\n",
+ " {\n",
+ " case 0:\n",
+ " cursor = 'pointer';\n",
+ " break;\n",
+ " case 1:\n",
+ " cursor = 'default';\n",
+ " break;\n",
+ " case 2:\n",
+ " cursor = 'crosshair';\n",
+ " break;\n",
+ " case 3:\n",
+ " cursor = 'move';\n",
+ " break;\n",
+ " }\n",
+ " fig.rubberband_canvas.style.cursor = cursor;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message(\"ack\", {});\n",
+ "}\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " evt.data.type = \"image/png\";\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " evt.data);\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig[\"handle_\" + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function(e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e)\n",
+ " e = window.event;\n",
+ " if (e.target)\n",
+ " targ = e.target;\n",
+ " else if (e.srcElement)\n",
+ " targ = e.srcElement;\n",
+ " if (targ.nodeType == 3) // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ "\n",
+ " // jQuery normalizes the pageX and pageY\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " // offset() returns the position of the element relative to the document\n",
+ " var x = e.pageX - $(targ).offset().left;\n",
+ " var y = e.pageY - $(targ).offset().top;\n",
+ "\n",
+ " return {\"x\": x, \"y\": y};\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * http://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys (original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object')\n",
+ " obj[key] = original[key]\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+ " var canvas_pos = mpl.findpos(event)\n",
+ "\n",
+ " if (name === 'button_press')\n",
+ " {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * mpl.ratio;\n",
+ " var y = canvas_pos.y * mpl.ratio;\n",
+ "\n",
+ " this.send_message(name, {x: x, y: y, button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function(event, name) {\n",
+ "\n",
+ " // Prevent repeat events\n",
+ " if (name == 'key_press')\n",
+ " {\n",
+ " if (event.which === this._key)\n",
+ " return;\n",
+ " else\n",
+ " this._key = event.which;\n",
+ " }\n",
+ " if (name == 'key_release')\n",
+ " this._key = null;\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.which != 17)\n",
+ " value += \"ctrl+\";\n",
+ " if (event.altKey && event.which != 18)\n",
+ " value += \"alt+\";\n",
+ " if (event.shiftKey && event.which != 16)\n",
+ " value += \"shift+\";\n",
+ "\n",
+ " value += 'k';\n",
+ " value += event.which.toString();\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, {key: value,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+ " if (name == 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message(\"toolbar_button\", {name: name});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.close = function() {\n",
+ " comm.close()\n",
+ " };\n",
+ " ws.send = function(m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function(msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
+ " ws.onmessage(msg['content']['data'])\n",
+ " });\n",
+ " return ws;\n",
+ "}\n",
+ "\n",
+ "mpl.mpl_figure_comm = function(comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = $(\"#\" + id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm)\n",
+ "\n",
+ " function ondownload(figure, format) {\n",
+ " window.open(figure.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy,\n",
+ " ondownload,\n",
+ " element.get(0));\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element.get(0);\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error(\"Failed to find cell for figure\", id, fig);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var output_index = fig.cell_info[2]\n",
+ " var cell = fig.cell_info[0];\n",
+ "\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+ " var width = fig.canvas.width/mpl.ratio\n",
+ " fig.root.unbind('remove')\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable()\n",
+ " $(fig.parent_element).html('');\n",
+ " fig.close_ws(fig, msg);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width/mpl.ratio\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] = '';\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message(\"ack\", {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () { fig.push_to_output() }, 1000);\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) { continue; };\n",
+ "\n",
+ " var button = $('');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = $('');\n",
+ " var button = $('');\n",
+ " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+ " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+ " buttongrp.append(button);\n",
+ " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+ " titlebar.prepend(buttongrp);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function(el){\n",
+ " var fig = this\n",
+ " el.on(\"remove\", function(){\n",
+ "\tfig.close_ws(fig, {});\n",
+ " });\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+ " // this is important to make the div 'focusable\n",
+ " el.attr('tabindex', 0)\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " }\n",
+ " else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " var manager = IPython.notebook.keyboard_manager;\n",
+ " if (!manager)\n",
+ " manager = IPython.keyboard_manager;\n",
+ "\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which == 13) {\n",
+ " this.canvas_div.blur();\n",
+ " event.shiftKey = false;\n",
+ " // Send a \"J\" for go to next cell\n",
+ " event.which = 74;\n",
+ " event.keyCode = 74;\n",
+ " manager.command_mode();\n",
+ " manager.handle_keydown(event);\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.find_output_cell = function(html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i=0; i= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] == html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel != null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "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 = $('');\n",
+ " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+ " 'ui-button-icon-only');\n",
+ " button.attr('role', 'button');\n",
+ " button.attr('aria-disabled', 'false');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ "\n",
+ " var icon_img = $('');\n",
+ " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+ " icon_img.addClass(image);\n",
+ " icon_img.addClass('ui-corner-all');\n",
+ "\n",
+ " var tooltip_span = $('');\n",
+ " tooltip_span.addClass('ui-button-text');\n",
+ " tooltip_span.html(tooltip);\n",
+ "\n",
+ " button.append(icon_img);\n",
+ " button.append(tooltip_span);\n",
+ "\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker_span = $('');\n",
+ "\n",
+ " var fmt_picker = $('');\n",
+ " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+ " fmt_picker_span.append(fmt_picker);\n",
+ " nav_element.append(fmt_picker_span);\n",
+ " this.format_dropdown = fmt_picker[0];\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = $(\n",
+ " '', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+ " fmt_picker.append(option)\n",
+ " }\n",
+ "\n",
+ " // Add hover states to the ui-buttons\n",
+ " $( \".ui-button\" ).hover(\n",
+ " function() { $(this).addClass(\"ui-state-hover\");},\n",
+ " function() { $(this).removeClass(\"ui-state-hover\");}\n",
+ " );\n",
+ "\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function(type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function() {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1]);\n",
+ " fig.send_message(\"refresh\", {});\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+ " var x0 = msg['x0'] / mpl.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+ " var x1 = msg['x1'] / mpl.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0, 0, fig.canvas.width, fig.canvas.height);\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+ " var cursor = msg['cursor'];\n",
+ " switch(cursor)\n",
+ " {\n",
+ " case 0:\n",
+ " cursor = 'pointer';\n",
+ " break;\n",
+ " case 1:\n",
+ " cursor = 'default';\n",
+ " break;\n",
+ " case 2:\n",
+ " cursor = 'crosshair';\n",
+ " break;\n",
+ " case 3:\n",
+ " cursor = 'move';\n",
+ " break;\n",
+ " }\n",
+ " fig.rubberband_canvas.style.cursor = cursor;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message(\"ack\", {});\n",
+ "}\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " evt.data.type = \"image/png\";\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " evt.data);\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig[\"handle_\" + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function(e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e)\n",
+ " e = window.event;\n",
+ " if (e.target)\n",
+ " targ = e.target;\n",
+ " else if (e.srcElement)\n",
+ " targ = e.srcElement;\n",
+ " if (targ.nodeType == 3) // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ "\n",
+ " // jQuery normalizes the pageX and pageY\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " // offset() returns the position of the element relative to the document\n",
+ " var x = e.pageX - $(targ).offset().left;\n",
+ " var y = e.pageY - $(targ).offset().top;\n",
+ "\n",
+ " return {\"x\": x, \"y\": y};\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * http://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys (original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object')\n",
+ " obj[key] = original[key]\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+ " var canvas_pos = mpl.findpos(event)\n",
+ "\n",
+ " if (name === 'button_press')\n",
+ " {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * mpl.ratio;\n",
+ " var y = canvas_pos.y * mpl.ratio;\n",
+ "\n",
+ " this.send_message(name, {x: x, y: y, button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function(event, name) {\n",
+ "\n",
+ " // Prevent repeat events\n",
+ " if (name == 'key_press')\n",
+ " {\n",
+ " if (event.which === this._key)\n",
+ " return;\n",
+ " else\n",
+ " this._key = event.which;\n",
+ " }\n",
+ " if (name == 'key_release')\n",
+ " this._key = null;\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.which != 17)\n",
+ " value += \"ctrl+\";\n",
+ " if (event.altKey && event.which != 18)\n",
+ " value += \"alt+\";\n",
+ " if (event.shiftKey && event.which != 16)\n",
+ " value += \"shift+\";\n",
+ "\n",
+ " value += 'k';\n",
+ " value += event.which.toString();\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, {key: value,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+ " if (name == 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message(\"toolbar_button\", {name: name});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.close = function() {\n",
+ " comm.close()\n",
+ " };\n",
+ " ws.send = function(m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function(msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
+ " ws.onmessage(msg['content']['data'])\n",
+ " });\n",
+ " return ws;\n",
+ "}\n",
+ "\n",
+ "mpl.mpl_figure_comm = function(comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = $(\"#\" + id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm)\n",
+ "\n",
+ " function ondownload(figure, format) {\n",
+ " window.open(figure.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy,\n",
+ " ondownload,\n",
+ " element.get(0));\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element.get(0);\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error(\"Failed to find cell for figure\", id, fig);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var output_index = fig.cell_info[2]\n",
+ " var cell = fig.cell_info[0];\n",
+ "\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+ " var width = fig.canvas.width/mpl.ratio\n",
+ " fig.root.unbind('remove')\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable()\n",
+ " $(fig.parent_element).html('');\n",
+ " fig.close_ws(fig, msg);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width/mpl.ratio\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] = '';\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message(\"ack\", {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () { fig.push_to_output() }, 1000);\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) { continue; };\n",
+ "\n",
+ " var button = $('');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = $('');\n",
+ " var button = $('');\n",
+ " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+ " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+ " buttongrp.append(button);\n",
+ " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+ " titlebar.prepend(buttongrp);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function(el){\n",
+ " var fig = this\n",
+ " el.on(\"remove\", function(){\n",
+ "\tfig.close_ws(fig, {});\n",
+ " });\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+ " // this is important to make the div 'focusable\n",
+ " el.attr('tabindex', 0)\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " }\n",
+ " else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " var manager = IPython.notebook.keyboard_manager;\n",
+ " if (!manager)\n",
+ " manager = IPython.keyboard_manager;\n",
+ "\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which == 13) {\n",
+ " this.canvas_div.blur();\n",
+ " event.shiftKey = false;\n",
+ " // Send a \"J\" for go to next cell\n",
+ " event.which = 74;\n",
+ " event.keyCode = 74;\n",
+ " manager.command_mode();\n",
+ " manager.handle_keydown(event);\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.find_output_cell = function(html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i=0; i= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] == html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel != null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "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 = $('');\n",
+ " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+ " 'ui-button-icon-only');\n",
+ " button.attr('role', 'button');\n",
+ " button.attr('aria-disabled', 'false');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ "\n",
+ " var icon_img = $('');\n",
+ " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+ " icon_img.addClass(image);\n",
+ " icon_img.addClass('ui-corner-all');\n",
+ "\n",
+ " var tooltip_span = $('');\n",
+ " tooltip_span.addClass('ui-button-text');\n",
+ " tooltip_span.html(tooltip);\n",
+ "\n",
+ " button.append(icon_img);\n",
+ " button.append(tooltip_span);\n",
+ "\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker_span = $('');\n",
+ "\n",
+ " var fmt_picker = $('');\n",
+ " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+ " fmt_picker_span.append(fmt_picker);\n",
+ " nav_element.append(fmt_picker_span);\n",
+ " this.format_dropdown = fmt_picker[0];\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = $(\n",
+ " '', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+ " fmt_picker.append(option)\n",
+ " }\n",
+ "\n",
+ " // Add hover states to the ui-buttons\n",
+ " $( \".ui-button\" ).hover(\n",
+ " function() { $(this).addClass(\"ui-state-hover\");},\n",
+ " function() { $(this).removeClass(\"ui-state-hover\");}\n",
+ " );\n",
+ "\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function(type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function() {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1]);\n",
+ " fig.send_message(\"refresh\", {});\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+ " var x0 = msg['x0'] / mpl.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+ " var x1 = msg['x1'] / mpl.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0, 0, fig.canvas.width, fig.canvas.height);\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+ " var cursor = msg['cursor'];\n",
+ " switch(cursor)\n",
+ " {\n",
+ " case 0:\n",
+ " cursor = 'pointer';\n",
+ " break;\n",
+ " case 1:\n",
+ " cursor = 'default';\n",
+ " break;\n",
+ " case 2:\n",
+ " cursor = 'crosshair';\n",
+ " break;\n",
+ " case 3:\n",
+ " cursor = 'move';\n",
+ " break;\n",
+ " }\n",
+ " fig.rubberband_canvas.style.cursor = cursor;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message(\"ack\", {});\n",
+ "}\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " evt.data.type = \"image/png\";\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " evt.data);\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig[\"handle_\" + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function(e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e)\n",
+ " e = window.event;\n",
+ " if (e.target)\n",
+ " targ = e.target;\n",
+ " else if (e.srcElement)\n",
+ " targ = e.srcElement;\n",
+ " if (targ.nodeType == 3) // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ "\n",
+ " // jQuery normalizes the pageX and pageY\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " // offset() returns the position of the element relative to the document\n",
+ " var x = e.pageX - $(targ).offset().left;\n",
+ " var y = e.pageY - $(targ).offset().top;\n",
+ "\n",
+ " return {\"x\": x, \"y\": y};\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * http://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys (original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object')\n",
+ " obj[key] = original[key]\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+ " var canvas_pos = mpl.findpos(event)\n",
+ "\n",
+ " if (name === 'button_press')\n",
+ " {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * mpl.ratio;\n",
+ " var y = canvas_pos.y * mpl.ratio;\n",
+ "\n",
+ " this.send_message(name, {x: x, y: y, button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function(event, name) {\n",
+ "\n",
+ " // Prevent repeat events\n",
+ " if (name == 'key_press')\n",
+ " {\n",
+ " if (event.which === this._key)\n",
+ " return;\n",
+ " else\n",
+ " this._key = event.which;\n",
+ " }\n",
+ " if (name == 'key_release')\n",
+ " this._key = null;\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.which != 17)\n",
+ " value += \"ctrl+\";\n",
+ " if (event.altKey && event.which != 18)\n",
+ " value += \"alt+\";\n",
+ " if (event.shiftKey && event.which != 16)\n",
+ " value += \"shift+\";\n",
+ "\n",
+ " value += 'k';\n",
+ " value += event.which.toString();\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, {key: value,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+ " if (name == 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message(\"toolbar_button\", {name: name});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.close = function() {\n",
+ " comm.close()\n",
+ " };\n",
+ " ws.send = function(m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function(msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
+ " ws.onmessage(msg['content']['data'])\n",
+ " });\n",
+ " return ws;\n",
+ "}\n",
+ "\n",
+ "mpl.mpl_figure_comm = function(comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = $(\"#\" + id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm)\n",
+ "\n",
+ " function ondownload(figure, format) {\n",
+ " window.open(figure.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy,\n",
+ " ondownload,\n",
+ " element.get(0));\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element.get(0);\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error(\"Failed to find cell for figure\", id, fig);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var output_index = fig.cell_info[2]\n",
+ " var cell = fig.cell_info[0];\n",
+ "\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+ " var width = fig.canvas.width/mpl.ratio\n",
+ " fig.root.unbind('remove')\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable()\n",
+ " $(fig.parent_element).html('');\n",
+ " fig.close_ws(fig, msg);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width/mpl.ratio\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] = '';\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message(\"ack\", {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () { fig.push_to_output() }, 1000);\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) { continue; };\n",
+ "\n",
+ " var button = $('');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = $('');\n",
+ " var button = $('');\n",
+ " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+ " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+ " buttongrp.append(button);\n",
+ " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+ " titlebar.prepend(buttongrp);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function(el){\n",
+ " var fig = this\n",
+ " el.on(\"remove\", function(){\n",
+ "\tfig.close_ws(fig, {});\n",
+ " });\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+ " // this is important to make the div 'focusable\n",
+ " el.attr('tabindex', 0)\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " }\n",
+ " else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " var manager = IPython.notebook.keyboard_manager;\n",
+ " if (!manager)\n",
+ " manager = IPython.keyboard_manager;\n",
+ "\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which == 13) {\n",
+ " this.canvas_div.blur();\n",
+ " event.shiftKey = false;\n",
+ " // Send a \"J\" for go to next cell\n",
+ " event.which = 74;\n",
+ " event.keyCode = 74;\n",
+ " manager.command_mode();\n",
+ " manager.handle_keydown(event);\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.find_output_cell = function(html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i=0; i= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] == html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel != null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "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 = $('');\n",
+ " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+ " 'ui-button-icon-only');\n",
+ " button.attr('role', 'button');\n",
+ " button.attr('aria-disabled', 'false');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ "\n",
+ " var icon_img = $('');\n",
+ " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+ " icon_img.addClass(image);\n",
+ " icon_img.addClass('ui-corner-all');\n",
+ "\n",
+ " var tooltip_span = $('');\n",
+ " tooltip_span.addClass('ui-button-text');\n",
+ " tooltip_span.html(tooltip);\n",
+ "\n",
+ " button.append(icon_img);\n",
+ " button.append(tooltip_span);\n",
+ "\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker_span = $('');\n",
+ "\n",
+ " var fmt_picker = $('');\n",
+ " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+ " fmt_picker_span.append(fmt_picker);\n",
+ " nav_element.append(fmt_picker_span);\n",
+ " this.format_dropdown = fmt_picker[0];\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = $(\n",
+ " '', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+ " fmt_picker.append(option)\n",
+ " }\n",
+ "\n",
+ " // Add hover states to the ui-buttons\n",
+ " $( \".ui-button\" ).hover(\n",
+ " function() { $(this).addClass(\"ui-state-hover\");},\n",
+ " function() { $(this).removeClass(\"ui-state-hover\");}\n",
+ " );\n",
+ "\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function(type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function() {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1]);\n",
+ " fig.send_message(\"refresh\", {});\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+ " var x0 = msg['x0'] / mpl.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+ " var x1 = msg['x1'] / mpl.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0, 0, fig.canvas.width, fig.canvas.height);\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+ " var cursor = msg['cursor'];\n",
+ " switch(cursor)\n",
+ " {\n",
+ " case 0:\n",
+ " cursor = 'pointer';\n",
+ " break;\n",
+ " case 1:\n",
+ " cursor = 'default';\n",
+ " break;\n",
+ " case 2:\n",
+ " cursor = 'crosshair';\n",
+ " break;\n",
+ " case 3:\n",
+ " cursor = 'move';\n",
+ " break;\n",
+ " }\n",
+ " fig.rubberband_canvas.style.cursor = cursor;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message(\"ack\", {});\n",
+ "}\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " evt.data.type = \"image/png\";\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " evt.data);\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig[\"handle_\" + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function(e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e)\n",
+ " e = window.event;\n",
+ " if (e.target)\n",
+ " targ = e.target;\n",
+ " else if (e.srcElement)\n",
+ " targ = e.srcElement;\n",
+ " if (targ.nodeType == 3) // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ "\n",
+ " // jQuery normalizes the pageX and pageY\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " // offset() returns the position of the element relative to the document\n",
+ " var x = e.pageX - $(targ).offset().left;\n",
+ " var y = e.pageY - $(targ).offset().top;\n",
+ "\n",
+ " return {\"x\": x, \"y\": y};\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * http://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys (original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object')\n",
+ " obj[key] = original[key]\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+ " var canvas_pos = mpl.findpos(event)\n",
+ "\n",
+ " if (name === 'button_press')\n",
+ " {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * mpl.ratio;\n",
+ " var y = canvas_pos.y * mpl.ratio;\n",
+ "\n",
+ " this.send_message(name, {x: x, y: y, button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function(event, name) {\n",
+ "\n",
+ " // Prevent repeat events\n",
+ " if (name == 'key_press')\n",
+ " {\n",
+ " if (event.which === this._key)\n",
+ " return;\n",
+ " else\n",
+ " this._key = event.which;\n",
+ " }\n",
+ " if (name == 'key_release')\n",
+ " this._key = null;\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.which != 17)\n",
+ " value += \"ctrl+\";\n",
+ " if (event.altKey && event.which != 18)\n",
+ " value += \"alt+\";\n",
+ " if (event.shiftKey && event.which != 16)\n",
+ " value += \"shift+\";\n",
+ "\n",
+ " value += 'k';\n",
+ " value += event.which.toString();\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, {key: value,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+ " if (name == 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message(\"toolbar_button\", {name: name});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.close = function() {\n",
+ " comm.close()\n",
+ " };\n",
+ " ws.send = function(m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function(msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
+ " ws.onmessage(msg['content']['data'])\n",
+ " });\n",
+ " return ws;\n",
+ "}\n",
+ "\n",
+ "mpl.mpl_figure_comm = function(comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = $(\"#\" + id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm)\n",
+ "\n",
+ " function ondownload(figure, format) {\n",
+ " window.open(figure.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy,\n",
+ " ondownload,\n",
+ " element.get(0));\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element.get(0);\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error(\"Failed to find cell for figure\", id, fig);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var output_index = fig.cell_info[2]\n",
+ " var cell = fig.cell_info[0];\n",
+ "\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+ " var width = fig.canvas.width/mpl.ratio\n",
+ " fig.root.unbind('remove')\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable()\n",
+ " $(fig.parent_element).html('');\n",
+ " fig.close_ws(fig, msg);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width/mpl.ratio\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] = '';\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message(\"ack\", {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () { fig.push_to_output() }, 1000);\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) { continue; };\n",
+ "\n",
+ " var button = $('');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = $('');\n",
+ " var button = $('');\n",
+ " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+ " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+ " buttongrp.append(button);\n",
+ " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+ " titlebar.prepend(buttongrp);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function(el){\n",
+ " var fig = this\n",
+ " el.on(\"remove\", function(){\n",
+ "\tfig.close_ws(fig, {});\n",
+ " });\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+ " // this is important to make the div 'focusable\n",
+ " el.attr('tabindex', 0)\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " }\n",
+ " else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " var manager = IPython.notebook.keyboard_manager;\n",
+ " if (!manager)\n",
+ " manager = IPython.keyboard_manager;\n",
+ "\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which == 13) {\n",
+ " this.canvas_div.blur();\n",
+ " event.shiftKey = false;\n",
+ " // Send a \"J\" for go to next cell\n",
+ " event.which = 74;\n",
+ " event.keyCode = 74;\n",
+ " manager.command_mode();\n",
+ " manager.handle_keydown(event);\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.find_output_cell = function(html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i=0; i= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] == html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel != null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "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 = $('');\n",
+ " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+ " 'ui-button-icon-only');\n",
+ " button.attr('role', 'button');\n",
+ " button.attr('aria-disabled', 'false');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ "\n",
+ " var icon_img = $('');\n",
+ " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+ " icon_img.addClass(image);\n",
+ " icon_img.addClass('ui-corner-all');\n",
+ "\n",
+ " var tooltip_span = $('');\n",
+ " tooltip_span.addClass('ui-button-text');\n",
+ " tooltip_span.html(tooltip);\n",
+ "\n",
+ " button.append(icon_img);\n",
+ " button.append(tooltip_span);\n",
+ "\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker_span = $('');\n",
+ "\n",
+ " var fmt_picker = $('');\n",
+ " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+ " fmt_picker_span.append(fmt_picker);\n",
+ " nav_element.append(fmt_picker_span);\n",
+ " this.format_dropdown = fmt_picker[0];\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = $(\n",
+ " '', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+ " fmt_picker.append(option)\n",
+ " }\n",
+ "\n",
+ " // Add hover states to the ui-buttons\n",
+ " $( \".ui-button\" ).hover(\n",
+ " function() { $(this).addClass(\"ui-state-hover\");},\n",
+ " function() { $(this).removeClass(\"ui-state-hover\");}\n",
+ " );\n",
+ "\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function(type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function() {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1]);\n",
+ " fig.send_message(\"refresh\", {});\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+ " var x0 = msg['x0'] / mpl.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+ " var x1 = msg['x1'] / mpl.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0, 0, fig.canvas.width, fig.canvas.height);\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+ " var cursor = msg['cursor'];\n",
+ " switch(cursor)\n",
+ " {\n",
+ " case 0:\n",
+ " cursor = 'pointer';\n",
+ " break;\n",
+ " case 1:\n",
+ " cursor = 'default';\n",
+ " break;\n",
+ " case 2:\n",
+ " cursor = 'crosshair';\n",
+ " break;\n",
+ " case 3:\n",
+ " cursor = 'move';\n",
+ " break;\n",
+ " }\n",
+ " fig.rubberband_canvas.style.cursor = cursor;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message(\"ack\", {});\n",
+ "}\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " evt.data.type = \"image/png\";\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " evt.data);\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig[\"handle_\" + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function(e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e)\n",
+ " e = window.event;\n",
+ " if (e.target)\n",
+ " targ = e.target;\n",
+ " else if (e.srcElement)\n",
+ " targ = e.srcElement;\n",
+ " if (targ.nodeType == 3) // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ "\n",
+ " // jQuery normalizes the pageX and pageY\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " // offset() returns the position of the element relative to the document\n",
+ " var x = e.pageX - $(targ).offset().left;\n",
+ " var y = e.pageY - $(targ).offset().top;\n",
+ "\n",
+ " return {\"x\": x, \"y\": y};\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * http://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys (original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object')\n",
+ " obj[key] = original[key]\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+ " var canvas_pos = mpl.findpos(event)\n",
+ "\n",
+ " if (name === 'button_press')\n",
+ " {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * mpl.ratio;\n",
+ " var y = canvas_pos.y * mpl.ratio;\n",
+ "\n",
+ " this.send_message(name, {x: x, y: y, button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function(event, name) {\n",
+ "\n",
+ " // Prevent repeat events\n",
+ " if (name == 'key_press')\n",
+ " {\n",
+ " if (event.which === this._key)\n",
+ " return;\n",
+ " else\n",
+ " this._key = event.which;\n",
+ " }\n",
+ " if (name == 'key_release')\n",
+ " this._key = null;\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.which != 17)\n",
+ " value += \"ctrl+\";\n",
+ " if (event.altKey && event.which != 18)\n",
+ " value += \"alt+\";\n",
+ " if (event.shiftKey && event.which != 16)\n",
+ " value += \"shift+\";\n",
+ "\n",
+ " value += 'k';\n",
+ " value += event.which.toString();\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, {key: value,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+ " if (name == 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message(\"toolbar_button\", {name: name});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.close = function() {\n",
+ " comm.close()\n",
+ " };\n",
+ " ws.send = function(m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function(msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
+ " ws.onmessage(msg['content']['data'])\n",
+ " });\n",
+ " return ws;\n",
+ "}\n",
+ "\n",
+ "mpl.mpl_figure_comm = function(comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = $(\"#\" + id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm)\n",
+ "\n",
+ " function ondownload(figure, format) {\n",
+ " window.open(figure.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy,\n",
+ " ondownload,\n",
+ " element.get(0));\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element.get(0);\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error(\"Failed to find cell for figure\", id, fig);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var output_index = fig.cell_info[2]\n",
+ " var cell = fig.cell_info[0];\n",
+ "\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+ " var width = fig.canvas.width/mpl.ratio\n",
+ " fig.root.unbind('remove')\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable()\n",
+ " $(fig.parent_element).html('');\n",
+ " fig.close_ws(fig, msg);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width/mpl.ratio\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] = '';\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message(\"ack\", {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () { fig.push_to_output() }, 1000);\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) { continue; };\n",
+ "\n",
+ " var button = $('');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = $('');\n",
+ " var button = $('');\n",
+ " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+ " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+ " buttongrp.append(button);\n",
+ " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+ " titlebar.prepend(buttongrp);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function(el){\n",
+ " var fig = this\n",
+ " el.on(\"remove\", function(){\n",
+ "\tfig.close_ws(fig, {});\n",
+ " });\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+ " // this is important to make the div 'focusable\n",
+ " el.attr('tabindex', 0)\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " }\n",
+ " else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " var manager = IPython.notebook.keyboard_manager;\n",
+ " if (!manager)\n",
+ " manager = IPython.keyboard_manager;\n",
+ "\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which == 13) {\n",
+ " this.canvas_div.blur();\n",
+ " event.shiftKey = false;\n",
+ " // Send a \"J\" for go to next cell\n",
+ " event.which = 74;\n",
+ " event.keyCode = 74;\n",
+ " manager.command_mode();\n",
+ " manager.handle_keydown(event);\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.find_output_cell = function(html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i=0; i= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] == html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel != null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "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 = $('');\n",
+ " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+ " 'ui-button-icon-only');\n",
+ " button.attr('role', 'button');\n",
+ " button.attr('aria-disabled', 'false');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ "\n",
+ " var icon_img = $('');\n",
+ " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+ " icon_img.addClass(image);\n",
+ " icon_img.addClass('ui-corner-all');\n",
+ "\n",
+ " var tooltip_span = $('');\n",
+ " tooltip_span.addClass('ui-button-text');\n",
+ " tooltip_span.html(tooltip);\n",
+ "\n",
+ " button.append(icon_img);\n",
+ " button.append(tooltip_span);\n",
+ "\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker_span = $('');\n",
+ "\n",
+ " var fmt_picker = $('');\n",
+ " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+ " fmt_picker_span.append(fmt_picker);\n",
+ " nav_element.append(fmt_picker_span);\n",
+ " this.format_dropdown = fmt_picker[0];\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = $(\n",
+ " '', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+ " fmt_picker.append(option)\n",
+ " }\n",
+ "\n",
+ " // Add hover states to the ui-buttons\n",
+ " $( \".ui-button\" ).hover(\n",
+ " function() { $(this).addClass(\"ui-state-hover\");},\n",
+ " function() { $(this).removeClass(\"ui-state-hover\");}\n",
+ " );\n",
+ "\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function(type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function() {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1]);\n",
+ " fig.send_message(\"refresh\", {});\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+ " var x0 = msg['x0'] / mpl.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+ " var x1 = msg['x1'] / mpl.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0, 0, fig.canvas.width, fig.canvas.height);\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+ " var cursor = msg['cursor'];\n",
+ " switch(cursor)\n",
+ " {\n",
+ " case 0:\n",
+ " cursor = 'pointer';\n",
+ " break;\n",
+ " case 1:\n",
+ " cursor = 'default';\n",
+ " break;\n",
+ " case 2:\n",
+ " cursor = 'crosshair';\n",
+ " break;\n",
+ " case 3:\n",
+ " cursor = 'move';\n",
+ " break;\n",
+ " }\n",
+ " fig.rubberband_canvas.style.cursor = cursor;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message(\"ack\", {});\n",
+ "}\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " evt.data.type = \"image/png\";\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " evt.data);\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig[\"handle_\" + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function(e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e)\n",
+ " e = window.event;\n",
+ " if (e.target)\n",
+ " targ = e.target;\n",
+ " else if (e.srcElement)\n",
+ " targ = e.srcElement;\n",
+ " if (targ.nodeType == 3) // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ "\n",
+ " // jQuery normalizes the pageX and pageY\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " // offset() returns the position of the element relative to the document\n",
+ " var x = e.pageX - $(targ).offset().left;\n",
+ " var y = e.pageY - $(targ).offset().top;\n",
+ "\n",
+ " return {\"x\": x, \"y\": y};\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * http://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys (original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object')\n",
+ " obj[key] = original[key]\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+ " var canvas_pos = mpl.findpos(event)\n",
+ "\n",
+ " if (name === 'button_press')\n",
+ " {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * mpl.ratio;\n",
+ " var y = canvas_pos.y * mpl.ratio;\n",
+ "\n",
+ " this.send_message(name, {x: x, y: y, button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function(event, name) {\n",
+ "\n",
+ " // Prevent repeat events\n",
+ " if (name == 'key_press')\n",
+ " {\n",
+ " if (event.which === this._key)\n",
+ " return;\n",
+ " else\n",
+ " this._key = event.which;\n",
+ " }\n",
+ " if (name == 'key_release')\n",
+ " this._key = null;\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.which != 17)\n",
+ " value += \"ctrl+\";\n",
+ " if (event.altKey && event.which != 18)\n",
+ " value += \"alt+\";\n",
+ " if (event.shiftKey && event.which != 16)\n",
+ " value += \"shift+\";\n",
+ "\n",
+ " value += 'k';\n",
+ " value += event.which.toString();\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, {key: value,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+ " if (name == 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message(\"toolbar_button\", {name: name});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.close = function() {\n",
+ " comm.close()\n",
+ " };\n",
+ " ws.send = function(m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function(msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
+ " ws.onmessage(msg['content']['data'])\n",
+ " });\n",
+ " return ws;\n",
+ "}\n",
+ "\n",
+ "mpl.mpl_figure_comm = function(comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = $(\"#\" + id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm)\n",
+ "\n",
+ " function ondownload(figure, format) {\n",
+ " window.open(figure.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy,\n",
+ " ondownload,\n",
+ " element.get(0));\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element.get(0);\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error(\"Failed to find cell for figure\", id, fig);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var output_index = fig.cell_info[2]\n",
+ " var cell = fig.cell_info[0];\n",
+ "\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+ " var width = fig.canvas.width/mpl.ratio\n",
+ " fig.root.unbind('remove')\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable()\n",
+ " $(fig.parent_element).html('');\n",
+ " fig.close_ws(fig, msg);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width/mpl.ratio\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] = '';\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message(\"ack\", {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () { fig.push_to_output() }, 1000);\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) { continue; };\n",
+ "\n",
+ " var button = $('');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = $('');\n",
+ " var button = $('');\n",
+ " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+ " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+ " buttongrp.append(button);\n",
+ " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+ " titlebar.prepend(buttongrp);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function(el){\n",
+ " var fig = this\n",
+ " el.on(\"remove\", function(){\n",
+ "\tfig.close_ws(fig, {});\n",
+ " });\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+ " // this is important to make the div 'focusable\n",
+ " el.attr('tabindex', 0)\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " }\n",
+ " else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " var manager = IPython.notebook.keyboard_manager;\n",
+ " if (!manager)\n",
+ " manager = IPython.keyboard_manager;\n",
+ "\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which == 13) {\n",
+ " this.canvas_div.blur();\n",
+ " event.shiftKey = false;\n",
+ " // Send a \"J\" for go to next cell\n",
+ " event.which = 74;\n",
+ " event.keyCode = 74;\n",
+ " manager.command_mode();\n",
+ " manager.handle_keydown(event);\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.find_output_cell = function(html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i=0; i= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] == html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel != null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ ""
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "lander env att 2 fixed\n",
+ "Landing_icgen:\n",
+ " downrange : (0, 2000, -70, -10)\n",
+ " crossrange : (-1000, 1000, -30, 30)\n",
+ " altitude : (2300, 2400, -90, -70)\n",
+ "PPO Policy 1\n",
+ "Policy Params -- h1: 120, h2: 69, h3: 40, lr: 0.000108, logvar_speed: 8\n",
+ "[[-1.]\n",
+ " [ 0.]\n",
+ " [ 1.]]\n",
+ "10\n",
+ "Actor Test Mode: False\n",
+ "clip param: 0.1\n",
+ "dict_keys(['h2/kernel:0', 'logvars:0', 'means/bias:0', 'h1/kernel:0', 'means/kernel:0', 'h1/bias:0', 'h2/bias:0', 'h3/bias:0', 'h3/kernel:0'])\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "from env import Env\n",
+ "from reward_terminal_mdr import Reward\n",
+ "import env_utils as envu\n",
+ "import attitude_utils as attu\n",
+ "from dynamics_model import Dynamics_model\n",
+ "from lander_model import Lander_model\n",
+ "from ic_gen import Landing_icgen\n",
+ "from agent_mdr2 import Agent\n",
+ "from policy_ppo import Policy\n",
+ "from value_function import Value_function\n",
+ "from utils import Mapminmax,Logger,Scaler\n",
+ "from flat_constraint import Flat_constraint\n",
+ "from glideslope_constraint import Glideslope_constraint\n",
+ "from attitude_constraint import Attitude_constraint\n",
+ "from thruster_model import Thruster_model\n",
+ "\n",
+ "logger = Logger()\n",
+ "dynamics_model = Dynamics_model()\n",
+ "attitude_parameterization = attu.Quaternion_attitude()\n",
+ "\n",
+ "thruster_model = Thruster_model()\n",
+ "thruster_model.max_thrust = 5000\n",
+ "thruster_model.min_thrust = 1000\n",
+ "\n",
+ "lander_model = Lander_model(thruster_model, attitude_parameterization=attitude_parameterization,\n",
+ " apf_v0=70, apf_atarg=15., apf_tau2=100.)\n",
+ "lander_model.get_state_agent = lander_model.get_state_agent_tgo_alt\n",
+ "\n",
+ "reward_object = Reward(tracking_bias=0.01,tracking_coeff=-0.01, fuel_coeff=-0.05, debug=False, landing_coeff=10.)\n",
+ "\n",
+ "glideslope_constraint = Glideslope_constraint(gs_limit=-1.0)\n",
+ "shape_constraint = Flat_constraint()\n",
+ "attitude_constraint = Attitude_constraint(attitude_parameterization, \n",
+ " attitude_penalty=-100,attitude_coeff=-10,\n",
+ " attitude_limit=(10*np.pi, np.pi/2-np.pi/16, np.pi/2-np.pi/16))\n",
+ "env = Env(lander_model,dynamics_model,logger,\n",
+ " reward_object=reward_object,\n",
+ " glideslope_constraint=glideslope_constraint,\n",
+ " shape_constraint=shape_constraint,\n",
+ " attitude_constraint=attitude_constraint,\n",
+ " tf_limit=120.0,print_every=10)\n",
+ "\n",
+ "\n",
+ "env.ic_gen = Landing_icgen(mass_uncertainty=0.05, \n",
+ " g_uncertainty=(0.0,0.0), \n",
+ " attitude_parameterization=attitude_parameterization,\n",
+ " l_offset=0.,\n",
+ " adapt_apf_v0=True,\n",
+ " inertia_uncertainty_diag=100.0, \n",
+ " inertia_uncertainty_offdiag=10.0,\n",
+ " downrange = (0,2000 , -70, -10), \n",
+ " crossrange = (-1000,1000 , -30,30), \n",
+ " altitude = (2300,2400,-90,-70),\n",
+ " yaw = (-np.pi/8, np.pi/8, 0.0, 0.0) ,\n",
+ " pitch = (np.pi/4-np.pi/8, np.pi/4+np.pi/16, -0.01, 0.01),\n",
+ " roll = (-np.pi/8, np.pi/8, -0.01, 0.01))\n",
+ "\n",
+ "env.ic_gen.show()\n",
+ "\n",
+ "\n",
+ "obs_dim = 12\n",
+ "act_dim = 4\n",
+ "\n",
+ "policy = Policy(obs_dim,act_dim,kl_targ=0.001,epochs=20, beta=0.1, shuffle=True, servo_kl=True)\n",
+ "import utils\n",
+ "fname = \"optimize_4km\"\n",
+ "input_normalizer = utils.load_run(policy,fname)\n",
+ "print(input_normalizer)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# 9 square km"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9609.54 |3283.51 |3464.10 |20000.00 | 30\n",
+ "glideslope | 3.036 | 7.225 | 0.550 |369.467 | 99\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.1 -0.4 -0.0 | 1.0 1.1 0.0 | -1.6 -4.3 -0.0 | 4.0 1.9 -0.0\n",
+ "velocity | 0.064 -0.012 -0.921 | 0.028 0.040 0.076 | -0.009 -0.126 -1.159 | 0.119 0.079 -0.647\n",
+ "fuel |306.72 | 25.16 |270.40 |383.72\n",
+ "attitude_321 | -0.003 -0.017 0.002 | 0.163 0.011 0.011 | -0.438 -0.044 -0.023 | 0.396 0.002 0.037\n",
+ "w | -0.001 -0.005 -0.000 | 0.023 0.012 0.000 | -0.085 -0.046 -0.000 | 0.066 0.040 0.000\n",
+ "glideslope | 22.353 | 14.673 | 9.447 | 90.333\n",
+ "i : 200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9694.35 |3323.13 |3464.10 |20000.00 | 30\n",
+ "glideslope | 3.078 | 9.857 | 0.550 |1046.910 | 116\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.1 -0.3 -0.0 | 1.0 1.1 0.0 | -2.4 -4.3 -0.1 | 4.0 2.4 -0.0\n",
+ "velocity | 0.064 -0.013 -0.928 | 0.027 0.038 0.073 | -0.009 -0.157 -1.205 | 0.119 0.079 -0.647\n",
+ "fuel |306.08 | 25.40 |263.48 |383.72\n",
+ "attitude_321 | -0.001 -0.016 0.002 | 0.177 0.011 0.012 | -0.438 -0.044 -0.023 | 0.572 0.011 0.064\n",
+ "w | -0.001 -0.007 -0.000 | 0.022 0.014 0.000 | -0.085 -0.083 -0.000 | 0.066 0.040 0.000\n",
+ "glideslope | 26.710 | 36.798 | 9.447 | 461.467\n",
+ "i : 300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9663.39 |3331.40 |3464.10 |20000.00 | 30\n",
+ "glideslope | 3.121 | 9.706 | 0.550 |1046.910 | 116\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.1 -0.3 -0.0 | 1.0 1.2 0.0 | -2.4 -4.3 -0.1 | 4.0 3.1 -0.0\n",
+ "velocity | 0.065 -0.015 -0.929 | 0.027 0.038 0.075 | -0.009 -0.157 -1.250 | 0.126 0.079 -0.647\n",
+ "fuel |306.66 | 25.68 |263.48 |383.72\n",
+ "attitude_321 | 0.004 -0.016 0.002 | 0.174 0.011 0.012 | -0.438 -0.051 -0.023 | 0.572 0.011 0.064\n",
+ "w | -0.001 -0.006 -0.000 | 0.023 0.015 0.000 | -0.089 -0.083 -0.000 | 0.066 0.040 0.000\n",
+ "glideslope | 24.559 | 30.771 | 9.447 | 461.467\n",
+ "i : 400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9657.44 |3343.33 |3464.10 |20000.00 | 30\n",
+ "glideslope | 3.043 | 9.126 | 0.550 |1046.910 | 116\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.1 -0.3 -0.0 | 1.0 1.2 0.0 | -2.4 -4.3 -0.1 | 4.0 3.1 -0.0\n",
+ "velocity | 0.065 -0.015 -0.932 | 0.026 0.038 0.075 | -0.009 -0.157 -1.305 | 0.126 0.080 -0.647\n",
+ "fuel |307.14 | 25.26 |263.48 |383.72\n",
+ "attitude_321 | 0.007 -0.016 0.002 | 0.172 0.011 0.012 | -0.438 -0.051 -0.023 | 0.572 0.011 0.064\n",
+ "w | -0.002 -0.006 -0.000 | 0.023 0.015 0.000 | -0.089 -0.083 -0.000 | 0.066 0.040 0.000\n",
+ "glideslope | 23.872 | 27.405 | 9.447 | 461.467\n",
+ "i : 500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9655.54 |3331.73 |3464.10 |20000.00 | 30\n",
+ "glideslope | 2.995 | 9.810 | 0.550 |1789.733 | 435\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.1 -0.2 -0.0 | 1.0 1.1 0.0 | -2.4 -4.3 -0.1 | 4.0 3.1 -0.0\n",
+ "velocity | 0.065 -0.015 -0.931 | 0.026 0.038 0.076 | -0.009 -0.157 -1.305 | 0.130 0.080 -0.647\n",
+ "fuel |306.75 | 24.82 |263.48 |383.72\n",
+ "attitude_321 | 0.001 -0.016 0.002 | 0.174 0.011 0.012 | -0.438 -0.051 -0.033 | 0.572 0.011 0.064\n",
+ "w | -0.001 -0.006 -0.000 | 0.023 0.015 0.000 | -0.089 -0.083 -0.000 | 0.087 0.042 0.000\n",
+ "glideslope | 23.580 | 25.082 | 9.049 | 461.467\n",
+ "i : 600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9671.41 |3356.40 |3464.10 |20000.00 | 30\n",
+ "glideslope | 2.932 | 9.846 | 0.550 |1789.733 | 435\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.1 -0.2 -0.0 | 1.0 1.1 0.0 | -2.4 -4.3 -0.1 | 4.0 3.1 -0.0\n",
+ "velocity | 0.064 -0.014 -0.933 | 0.026 0.038 0.077 | -0.009 -0.157 -1.305 | 0.135 0.080 -0.647\n",
+ "fuel |307.42 | 24.76 |263.48 |383.72\n",
+ "attitude_321 | -0.000 -0.016 0.002 | 0.172 0.011 0.012 | -0.438 -0.051 -0.033 | 0.572 0.011 0.064\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.091 -0.083 -0.000 | 0.087 0.042 0.000\n",
+ "glideslope | 23.740 | 24.008 | 9.049 | 461.467\n",
+ "i : 700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9688.33 |3364.78 |3464.10 |20000.00 | 30\n",
+ "glideslope | 2.920 | 9.498 | 0.550 |1789.733 | 435\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.4 -4.3 -0.1 | 4.0 3.1 -0.0\n",
+ "velocity | 0.064 -0.014 -0.934 | 0.026 0.039 0.077 | -0.010 -0.157 -1.305 | 0.135 0.095 -0.647\n",
+ "fuel |307.04 | 24.81 |263.48 |385.90\n",
+ "attitude_321 | -0.006 -0.016 0.002 | 0.175 0.011 0.012 | -0.451 -0.051 -0.033 | 0.572 0.011 0.064\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.091 -0.083 -0.000 | 0.087 0.042 0.000\n",
+ "glideslope | 23.698 | 23.531 | 8.769 | 461.467\n",
+ "i : 800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9690.16 |3370.05 |3464.10 |20000.00 | 30\n",
+ "glideslope | 2.909 | 9.395 | 0.550 |1789.733 | 435\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.4 -4.3 -0.1 | 4.0 3.1 -0.0\n",
+ "velocity | 0.064 -0.015 -0.933 | 0.026 0.039 0.077 | -0.010 -0.157 -1.305 | 0.135 0.095 -0.647\n",
+ "fuel |307.29 | 24.69 |263.48 |385.90\n",
+ "attitude_321 | -0.004 -0.016 0.002 | 0.174 0.011 0.012 | -0.451 -0.051 -0.033 | 0.572 0.011 0.064\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.091 -0.083 -0.000 | 0.087 0.042 0.000\n",
+ "glideslope | 24.401 | 32.146 | 8.735 | 672.942\n",
+ "i : 900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9694.81 |3371.94 |3464.10 |20000.00 | 30\n",
+ "glideslope | 2.933 | 9.174 | 0.550 |1789.733 | 435\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.7 -4.3 -0.1 | 4.0 4.3 -0.0\n",
+ "velocity | 0.064 -0.015 -0.932 | 0.026 0.039 0.077 | -0.010 -0.157 -1.305 | 0.135 0.123 -0.647\n",
+ "fuel |307.63 | 24.39 |263.48 |385.90\n",
+ "attitude_321 | -0.000 -0.016 0.002 | 0.175 0.011 0.012 | -0.451 -0.051 -0.033 | 0.572 0.011 0.064\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.091 -0.083 -0.000 | 0.087 0.042 0.000\n",
+ "glideslope | 24.054 | 30.667 | 8.735 | 672.942\n",
+ "i : 1000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9699.16 |3376.96 |3464.10 |20000.00 | 30\n",
+ "glideslope | 2.913 | 8.930 | 0.490 |1789.733 | 435\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.7 -4.3 -0.1 | 4.0 4.3 -0.0\n",
+ "velocity | 0.064 -0.015 -0.931 | 0.027 0.040 0.078 | -0.010 -0.167 -1.305 | 0.135 0.123 -0.647\n",
+ "fuel |307.64 | 24.62 |263.48 |397.97\n",
+ "attitude_321 | 0.000 -0.016 0.002 | 0.176 0.011 0.013 | -0.451 -0.057 -0.033 | 0.572 0.015 0.064\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.097 -0.083 -0.000 | 0.087 0.042 0.000\n",
+ "glideslope | 23.919 | 29.317 | 8.428 | 672.942\n",
+ "i : 1100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9698.39 |3371.62 |3464.10 |20000.00 | 30\n",
+ "glideslope | 2.946 | 9.173 | 0.490 |1789.733 | 435\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.7 -4.3 -0.1 | 4.0 4.3 -0.0\n",
+ "velocity | 0.064 -0.015 -0.931 | 0.027 0.040 0.078 | -0.010 -0.167 -1.305 | 0.135 0.123 -0.647\n",
+ "fuel |307.43 | 24.46 |263.48 |397.97\n",
+ "attitude_321 | -0.002 -0.016 0.002 | 0.177 0.011 0.013 | -0.492 -0.057 -0.033 | 0.572 0.015 0.064\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.097 -0.083 -0.000 | 0.087 0.042 0.000\n",
+ "glideslope | 23.989 | 29.543 | 8.428 | 672.942\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 1200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9695.72 |3373.46 |3464.10 |20000.00 | 30\n",
+ "glideslope | 2.943 | 9.028 | 0.490 |1789.733 | 435\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -4.3 -0.1 | 4.0 4.3 -0.0\n",
+ "velocity | 0.064 -0.015 -0.931 | 0.027 0.040 0.079 | -0.010 -0.182 -1.305 | 0.135 0.123 -0.647\n",
+ "fuel |307.69 | 24.62 |263.48 |397.97\n",
+ "attitude_321 | -0.001 -0.016 0.002 | 0.176 0.011 0.012 | -0.492 -0.057 -0.039 | 0.572 0.015 0.064\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.099 -0.083 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.993 | 28.569 | 7.298 | 672.942\n",
+ "i : 1300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9693.39 |3369.71 |3464.10 |20000.00 | 30\n",
+ "glideslope | 2.936 | 8.930 | 0.490 |1789.733 | 435\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -4.3 -0.1 | 4.0 4.3 -0.0\n",
+ "velocity | 0.064 -0.015 -0.930 | 0.027 0.040 0.078 | -0.010 -0.182 -1.305 | 0.135 0.123 -0.647\n",
+ "fuel |307.73 | 24.56 |263.48 |397.97\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.176 0.011 0.012 | -0.492 -0.057 -0.039 | 0.572 0.015 0.064\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.099 -0.083 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.943 | 27.812 | 7.298 | 672.942\n",
+ "i : 1400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9690.95 |3377.30 |3464.10 |20000.00 | 30\n",
+ "glideslope | 2.916 | 8.845 | 0.490 |1789.733 | 435\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -4.3 -0.1 | 4.0 4.3 -0.0\n",
+ "velocity | 0.064 -0.015 -0.929 | 0.027 0.040 0.078 | -0.010 -0.182 -1.305 | 0.135 0.123 -0.568\n",
+ "fuel |308.14 | 24.78 |263.48 |397.97\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.012 | -0.492 -0.057 -0.039 | 0.572 0.015 0.064\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.099 -0.083 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.918 | 27.091 | 7.298 | 672.942\n",
+ "i : 1500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9681.23 |3369.95 |3464.10 |20000.00 | 30\n",
+ "glideslope | 2.920 |11.459 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -4.3 -0.1 | 4.0 4.3 -0.0\n",
+ "velocity | 0.064 -0.015 -0.929 | 0.027 0.040 0.079 | -0.010 -0.182 -1.319 | 0.135 0.123 -0.568\n",
+ "fuel |308.12 | 24.78 |263.48 |397.97\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.175 0.011 0.012 | -0.492 -0.057 -0.039 | 0.572 0.015 0.064\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.099 -0.083 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.828 | 26.359 | 7.298 | 672.942\n",
+ "i : 1600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9680.45 |3369.68 |3464.10 |20000.00 | 30\n",
+ "glideslope | 2.955 |13.339 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -4.4 -0.1 | 4.0 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.930 | 0.027 0.040 0.079 | -0.010 -0.182 -1.319 | 0.135 0.123 -0.568\n",
+ "fuel |308.17 | 24.75 |263.48 |397.97\n",
+ "attitude_321 | 0.001 -0.015 0.003 | 0.174 0.011 0.012 | -0.492 -0.057 -0.039 | 0.572 0.015 0.064\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.099 -0.083 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.802 | 25.865 | 7.298 | 672.942\n",
+ "i : 1700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.55 |3365.20 |3464.10 |20000.00 | 30\n",
+ "glideslope | 2.956 |13.054 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -4.4 -0.1 | 4.0 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.930 | 0.027 0.040 0.078 | -0.010 -0.182 -1.319 | 0.135 0.123 -0.568\n",
+ "fuel |308.12 | 24.66 |263.48 |397.97\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.175 0.011 0.012 | -0.492 -0.057 -0.039 | 0.572 0.015 0.064\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.099 -0.083 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.729 | 25.298 | 7.298 | 672.942\n",
+ "i : 1800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.33 |3370.53 |3464.10 |20000.00 | 30\n",
+ "glideslope | 2.927 |12.752 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -4.4 -0.1 | 4.0 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.929 | 0.027 0.040 0.078 | -0.010 -0.182 -1.319 | 0.137 0.123 -0.568\n",
+ "fuel |308.48 | 24.58 |263.48 |397.97\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.175 0.011 0.012 | -0.492 -0.057 -0.039 | 0.572 0.015 0.064\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.099 -0.083 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.730 | 24.962 | 7.298 | 672.942\n",
+ "i : 1900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9670.09 |3367.09 |3464.10 |20000.00 | 30\n",
+ "glideslope | 2.919 |12.565 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -4.4 -0.1 | 4.0 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.930 | 0.027 0.040 0.079 | -0.010 -0.182 -1.323 | 0.137 0.123 -0.568\n",
+ "fuel |308.52 | 24.61 |263.48 |397.97\n",
+ "attitude_321 | -0.002 -0.015 0.003 | 0.175 0.011 0.012 | -0.492 -0.057 -0.039 | 0.572 0.017 0.064\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.099 -0.088 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.671 | 24.424 | 7.298 | 672.942\n",
+ "i : 2000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9671.90 |3368.59 |3464.10 |20000.00 | 30\n",
+ "glideslope | 2.950 |12.504 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -5.7 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.930 | 0.027 0.039 0.079 | -0.014 -0.182 -1.323 | 0.137 0.123 -0.568\n",
+ "fuel |308.57 | 24.66 |263.48 |397.97\n",
+ "attitude_321 | 0.000 -0.015 0.003 | 0.175 0.011 0.012 | -0.492 -0.057 -0.039 | 0.572 0.017 0.064\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.099 -0.088 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.662 | 24.216 | 7.298 | 672.942\n",
+ "i : 2100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9669.01 |3367.55 |3464.10 |20000.00 | 30\n",
+ "glideslope | 2.932 |12.331 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -5.7 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.930 | 0.027 0.039 0.080 | -0.018 -0.182 -1.323 | 0.137 0.123 -0.568\n",
+ "fuel |308.60 | 24.52 |263.48 |397.97\n",
+ "attitude_321 | 0.000 -0.015 0.003 | 0.175 0.011 0.012 | -0.492 -0.057 -0.039 | 0.572 0.017 0.064\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.099 -0.088 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 24.014 | 30.690 | 7.298 | 910.566\n",
+ "i : 2200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9670.27 |3369.55 |3464.10 |20000.00 | 30\n",
+ "glideslope | 2.926 |12.141 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -5.7 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.929 | 0.027 0.039 0.081 | -0.018 -0.182 -1.323 | 0.137 0.123 -0.568\n",
+ "fuel |308.58 | 24.46 |263.48 |397.97\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.175 0.011 0.013 | -0.492 -0.057 -0.039 | 0.572 0.017 0.064\n",
+ "w | -0.002 -0.007 0.000 | 0.024 0.015 0.000 | -0.099 -0.088 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.989 | 30.399 | 7.298 | 910.566\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 2300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9669.69 |3368.71 |3464.10 |20000.00 | 30\n",
+ "glideslope | 2.926 |11.975 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -5.7 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.928 | 0.027 0.039 0.081 | -0.018 -0.182 -1.323 | 0.137 0.123 -0.568\n",
+ "fuel |308.55 | 24.45 |263.48 |397.97\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.492 -0.057 -0.039 | 0.572 0.017 0.064\n",
+ "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.099 -0.088 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.943 | 30.253 | 7.298 | 910.566\n",
+ "i : 2400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9668.17 |3370.24 |3464.10 |20000.00 | 30\n",
+ "glideslope | 2.914 |11.827 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -5.7 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.065 -0.014 -0.928 | 0.027 0.039 0.080 | -0.018 -0.182 -1.323 | 0.137 0.123 -0.568\n",
+ "fuel |308.67 | 24.43 |263.48 |397.97\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.503 -0.057 -0.039 | 0.572 0.017 0.064\n",
+ "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.099 -0.088 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.812 | 29.684 | 7.298 | 910.566\n",
+ "i : 2500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9668.40 |3370.96 |3464.10 |20000.00 | 30\n",
+ "glideslope | 2.907 |11.761 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -5.7 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.065 -0.014 -0.928 | 0.027 0.039 0.080 | -0.018 -0.182 -1.323 | 0.137 0.123 -0.568\n",
+ "fuel |308.69 | 24.39 |262.81 |397.97\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.177 0.011 0.013 | -0.503 -0.057 -0.039 | 0.572 0.017 0.064\n",
+ "w | -0.002 -0.007 0.000 | 0.024 0.015 0.000 | -0.099 -0.088 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.732 | 29.238 | 7.298 | 910.566\n",
+ "i : 2600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9669.87 |3369.30 |3464.10 |20000.00 | 30\n",
+ "glideslope | 2.903 |11.771 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -5.7 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.065 -0.014 -0.928 | 0.027 0.039 0.080 | -0.018 -0.182 -1.323 | 0.139 0.123 -0.568\n",
+ "fuel |308.59 | 24.31 |262.81 |397.97\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.177 0.011 0.013 | -0.509 -0.059 -0.039 | 0.572 0.017 0.064\n",
+ "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.099 -0.088 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.661 | 28.789 | 7.298 | 910.566\n",
+ "i : 2700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9669.70 |3368.42 |3464.10 |20000.00 | 30\n",
+ "glideslope | 2.899 |11.618 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -5.7 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.065 -0.014 -0.928 | 0.027 0.039 0.081 | -0.018 -0.182 -1.323 | 0.139 0.123 -0.562\n",
+ "fuel |308.53 | 24.28 |262.81 |397.97\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.572 0.017 0.064\n",
+ "w | -0.002 -0.007 0.000 | 0.024 0.015 0.000 | -0.099 -0.088 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.547 | 28.329 | 7.298 | 910.566\n",
+ "i : 2800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9671.14 |3367.80 |3464.10 |20000.00 | 30\n",
+ "glideslope | 2.896 |11.489 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.065 -0.014 -0.928 | 0.027 0.040 0.081 | -0.018 -0.182 -1.323 | 0.139 0.123 -0.562\n",
+ "fuel |308.40 | 24.26 |262.81 |397.97\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.177 0.011 0.013 | -0.509 -0.059 -0.039 | 0.572 0.017 0.064\n",
+ "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.099 -0.088 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.549 | 27.929 | 7.298 | 910.566\n",
+ "i : 2900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9672.62 |3371.00 |3464.10 |20000.00 | 30\n",
+ "glideslope | 2.909 |11.430 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.065 -0.014 -0.929 | 0.027 0.040 0.080 | -0.018 -0.182 -1.323 | 0.157 0.123 -0.562\n",
+ "fuel |308.48 | 24.30 |262.81 |397.97\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.177 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.017 0.064\n",
+ "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.088 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.708 | 29.903 | 7.298 | 910.566\n",
+ "i : 3000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9672.58 |3369.77 |3464.10 |20000.00 | 30\n",
+ "glideslope | 2.917 |11.514 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.929 | 0.027 0.040 0.080 | -0.018 -0.182 -1.323 | 0.157 0.123 -0.562\n",
+ "fuel |308.41 | 24.25 |262.81 |397.97\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.177 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.017 0.064\n",
+ "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.088 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 24.348 | 46.999 | 7.298 |2028.250\n",
+ "i : 3100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.57 |3370.05 |3464.10 |20000.00 | 30\n",
+ "glideslope | 2.933 |11.459 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.929 | 0.027 0.040 0.080 | -0.018 -0.182 -1.323 | 0.157 0.123 -0.562\n",
+ "fuel |308.30 | 24.19 |262.81 |397.97\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.177 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.017 0.064\n",
+ "w | -0.002 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.088 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 24.284 | 46.367 | 7.298 |2028.250\n",
+ "i : 3200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.15 |3367.76 |3464.10 |20000.00 | 30\n",
+ "glideslope | 2.930 |11.344 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.929 | 0.027 0.040 0.080 | -0.018 -0.182 -1.323 | 0.157 0.123 -0.562\n",
+ "fuel |308.22 | 24.18 |262.81 |397.97\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.177 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.017 0.064\n",
+ "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.088 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 24.241 | 45.684 | 7.298 |2028.250\n",
+ "i : 3300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.43 |3367.21 |3464.10 |20000.00 | 30\n",
+ "glideslope | 2.932 |11.265 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.929 | 0.027 0.040 0.080 | -0.018 -0.182 -1.323 | 0.157 0.123 -0.562\n",
+ "fuel |308.18 | 24.20 |262.81 |397.97\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.177 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.017 0.064\n",
+ "w | -0.002 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 24.310 | 45.820 | 7.298 |2028.250\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 3400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9671.93 |3368.85 |3464.10 |20000.00 | 30\n",
+ "glideslope | 2.924 |11.145 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.929 | 0.027 0.040 0.080 | -0.018 -0.182 -1.323 | 0.157 0.123 -0.553\n",
+ "fuel |308.33 | 24.26 |262.81 |397.97\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.177 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.017 0.064\n",
+ "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 24.237 | 45.387 | 7.298 |2028.250\n",
+ "i : 3500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.77 |3370.03 |3464.10 |20000.00 | 30\n",
+ "glideslope | 2.920 |11.037 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.929 | 0.027 0.040 0.080 | -0.018 -0.182 -1.323 | 0.157 0.123 -0.553\n",
+ "fuel |308.37 | 24.26 |262.81 |397.97\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.177 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.017 0.064\n",
+ "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 24.133 | 44.766 | 7.298 |2028.250\n",
+ "i : 3600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.82 |3371.31 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.921 |10.960 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.929 | 0.027 0.040 0.081 | -0.018 -0.182 -1.323 | 0.157 0.123 -0.487\n",
+ "fuel |308.43 | 24.30 |262.81 |397.97\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.177 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.017 0.064\n",
+ "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 24.091 | 44.182 | 7.298 |2028.250\n",
+ "i : 3700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9674.88 |3371.21 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.918 |10.879 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.929 | 0.027 0.039 0.080 | -0.018 -0.182 -1.323 | 0.157 0.123 -0.487\n",
+ "fuel |308.41 | 24.30 |262.81 |397.97\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.017 0.064\n",
+ "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 24.015 | 43.632 | 7.298 |2028.250\n",
+ "i : 3800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9675.79 |3374.23 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.906 |10.795 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.929 | 0.027 0.039 0.081 | -0.018 -0.182 -1.323 | 0.157 0.123 -0.487\n",
+ "fuel |308.55 | 24.37 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n",
+ "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 24.083 | 43.280 | 7.298 |2028.250\n",
+ "i : 3900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9674.37 |3374.16 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.897 |10.703 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.929 | 0.027 0.039 0.080 | -0.018 -0.182 -1.323 | 0.157 0.123 -0.487\n",
+ "fuel |308.57 | 24.34 |262.81 |401.31\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n",
+ "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 24.023 | 42.764 | 7.298 |2028.250\n",
+ "i : 4000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9675.65 |3376.37 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.891 |10.616 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.929 | 0.027 0.039 0.080 | -0.018 -0.182 -1.323 | 0.157 0.123 -0.487\n",
+ "fuel |308.58 | 24.34 |262.81 |401.31\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n",
+ "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.947 | 42.258 | 7.298 |2028.250\n",
+ "i : 4100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9674.02 |3376.37 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.886 |10.620 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.929 | 0.027 0.039 0.081 | -0.018 -0.182 -1.323 | 0.157 0.123 -0.487\n",
+ "fuel |308.63 | 24.41 |262.81 |401.31\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n",
+ "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.957 | 41.959 | 7.298 |2028.250\n",
+ "i : 4200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9672.88 |3377.13 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.885 |10.591 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.929 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.123 -0.487\n",
+ "fuel |308.71 | 24.42 |262.81 |401.31\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.177 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n",
+ "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 24.006 | 41.532 | 7.298 |2028.250\n",
+ "i : 4300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9674.46 |3376.92 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.887 |10.591 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.929 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.123 -0.487\n",
+ "fuel |308.64 | 24.43 |262.81 |401.31\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.177 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n",
+ "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 24.035 | 41.185 | 7.298 |2028.250\n",
+ "i : 4400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.97 |3375.76 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.880 |10.540 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.929 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.123 -0.487\n",
+ "fuel |308.65 | 24.41 |262.81 |401.31\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.177 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n",
+ "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 24.030 | 40.767 | 7.298 |2028.250\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 4500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9674.80 |3376.66 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.878 |10.466 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.123 -0.487\n",
+ "fuel |308.61 | 24.40 |262.81 |401.31\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.177 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 24.001 | 40.364 | 7.298 |2028.250\n",
+ "i : 4600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9675.01 |3377.76 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.872 |10.404 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.928 | 0.027 0.039 0.082 | -0.063 -0.182 -1.323 | 0.157 0.123 -0.487\n",
+ "fuel |308.68 | 24.40 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.177 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.980 | 40.010 | 7.298 |2028.250\n",
+ "i : 4700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.51 |3374.28 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.875 |10.382 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.928 | 0.027 0.039 0.082 | -0.063 -0.182 -1.323 | 0.157 0.123 -0.487\n",
+ "fuel |308.59 | 24.41 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n",
+ "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.938 | 39.618 | 7.298 |2028.250\n",
+ "i : 4800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.26 |3374.77 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.876 |10.340 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.065 -0.014 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.54 | 24.41 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.866 | 39.256 | 7.298 |2028.250\n",
+ "i : 4900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9674.56 |3374.17 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.878 |10.276 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.49 | 24.42 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.874 | 38.911 | 7.298 |2028.250\n",
+ "i : 5000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9675.79 |3375.28 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.875 |10.239 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.55 | 24.44 |262.81 |401.31\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.893 | 38.600 | 7.298 |2028.250\n",
+ "i : 5100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9675.02 |3375.12 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.871 |10.182 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.58 | 24.44 |262.81 |401.31\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.863 | 38.262 | 7.298 |2028.250\n",
+ "i : 5200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9674.94 |3374.32 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.870 |10.193 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.54 | 24.43 |262.81 |401.31\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.852 | 37.978 | 7.298 |2028.250\n",
+ "i : 5300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9675.47 |3373.60 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.870 |10.174 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.52 | 24.44 |262.81 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.880 | 37.693 | 7.298 |2028.250\n",
+ "i : 5400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9674.20 |3373.37 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.869 |10.155 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.57 | 24.50 |262.81 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.887 | 37.439 | 7.298 |2028.250\n",
+ "i : 5500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9675.54 |3373.28 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.873 |10.103 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.53 | 24.54 |262.81 |401.31\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.019 0.064\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.880 | 37.159 | 7.298 |2028.250\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 5600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.34 |3371.85 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.868 |10.044 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.55 | 24.52 |262.81 |401.31\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.019 0.064\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.830 | 36.848 | 7.298 |2028.250\n",
+ "i : 5700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.87 |3372.26 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.864 | 9.996 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.57 | 24.52 |262.81 |401.31\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.019 0.064\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.795 | 36.551 | 7.298 |2028.250\n",
+ "i : 5800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.30 |3372.80 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.862 | 9.950 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.59 | 24.56 |262.81 |401.31\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.019 0.064\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.757 | 36.268 | 7.298 |2028.250\n",
+ "i : 5900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9675.15 |3371.82 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.866 | 9.929 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.48 | 24.54 |262.81 |401.31\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.019 0.064\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.756 | 35.986 | 7.298 |2028.250\n",
+ "i : 6000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9675.78 |3372.02 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.867 | 9.888 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.47 | 24.50 |262.81 |401.31\n",
+ "attitude_321 | 0.000 -0.015 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.019 0.064\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.786 | 35.785 | 7.298 |2028.250\n",
+ "i : 6100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9675.52 |3371.18 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.894 |10.360 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.42 | 24.44 |262.81 |401.31\n",
+ "attitude_321 | -0.000 -0.015 0.003 | 0.175 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.019 0.064\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.788 | 35.566 | 7.298 |2028.250\n",
+ "i : 6200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9676.02 |3372.21 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.890 |10.309 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 5.1 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.47 | 24.45 |262.81 |401.31\n",
+ "attitude_321 | -0.000 -0.015 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.039 | 0.598 0.019 0.064\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.789 | 35.357 | 7.298 |2028.250\n",
+ "i : 6300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9676.20 |3373.09 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.894 |10.291 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 5.1 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.51 | 24.55 |262.81 |401.31\n",
+ "attitude_321 | -0.000 -0.015 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.039 | 0.598 0.019 0.064\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.759 | 35.111 | 7.298 |2028.250\n",
+ "i : 6400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9676.20 |3373.48 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.890 |10.238 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 5.1 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.57 | 24.59 |262.81 |401.31\n",
+ "attitude_321 | -0.001 -0.015 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.039 | 0.598 0.019 0.064\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.716 | 34.852 | 7.298 |2028.250\n",
+ "i : 6500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9677.01 |3373.00 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.891 |10.199 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 5.1 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.51 | 24.57 |262.81 |401.31\n",
+ "attitude_321 | -0.001 -0.015 0.003 | 0.175 0.011 0.013 | -0.576 -0.059 -0.039 | 0.598 0.019 0.064\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n",
+ "glideslope | 23.727 | 34.638 | 7.298 |2028.250\n",
+ "i : 6600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9676.80 |3371.83 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.893 |10.208 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 5.1 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.48 | 24.55 |262.81 |401.31\n",
+ "attitude_321 | 0.000 -0.015 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.019 0.064\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.073 0.000\n",
+ "glideslope | 23.681 | 34.408 | 6.865 |2028.250\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 6700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9676.88 |3372.65 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.896 |10.198 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 5.1 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.54 | 24.58 |262.81 |401.31\n",
+ "attitude_321 | 0.000 -0.015 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.019 0.064\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.073 0.000\n",
+ "glideslope | 23.681 | 34.195 | 6.865 |2028.250\n",
+ "i : 6800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9677.58 |3372.91 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.896 |10.198 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 5.1 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.54 | 24.59 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.019 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.098 -0.000 | 0.087 0.073 0.000\n",
+ "glideslope | 23.670 | 33.999 | 6.865 |2028.250\n",
+ "i : 6900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9677.24 |3372.86 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.894 |10.149 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.56 | 24.58 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.019 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.098 -0.000 | 0.087 0.073 0.000\n",
+ "glideslope | 23.624 | 33.778 | 6.865 |2028.250\n",
+ "i : 7000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9675.91 |3373.14 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.893 |10.423 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.082 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.60 | 24.65 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.015 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.019 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.098 -0.000 | 0.087 0.073 0.000\n",
+ "glideslope | 23.661 | 33.647 | 6.865 |2028.250\n",
+ "i : 7100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9677.24 |3374.44 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.890 |10.392 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.082 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.61 | 24.65 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.019 0.073\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.098 -0.000 | 0.087 0.073 0.000\n",
+ "glideslope | 23.614 | 33.436 | 6.865 |2028.250\n",
+ "i : 7200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9677.65 |3375.36 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.886 |10.351 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.082 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.64 | 24.64 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.019 0.073\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.098 -0.000 | 0.087 0.073 0.000\n",
+ "glideslope | 23.627 | 33.281 | 6.865 |2028.250\n",
+ "i : 7300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9678.52 |3374.90 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.887 |10.461 | 0.490 |4996.561 | 1440\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.082 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.59 | 24.64 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.019 0.073\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.099 -0.000 | 0.087 0.073 0.000\n",
+ "glideslope | 23.602 | 33.084 | 6.865 |2028.250\n",
+ "i : 7400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9677.20 |3375.11 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.888 |10.950 | 0.490 |5235.953 | 7327\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.927 | 0.027 0.039 0.082 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.63 | 24.64 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.099 -0.000 | 0.087 0.073 0.000\n",
+ "glideslope | 23.579 | 32.908 | 6.865 |2028.250\n",
+ "i : 7500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9676.23 |3374.17 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.890 |10.953 | 0.490 |5235.953 | 7327\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.082 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.61 | 24.63 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.099 -0.000 | 0.087 0.073 0.000\n",
+ "glideslope | 23.560 | 32.719 | 6.865 |2028.250\n",
+ "i : 7600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9675.80 |3373.84 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.888 |10.918 | 0.490 |5235.953 | 7327\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.082 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.60 | 24.64 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.099 -0.000 | 0.087 0.073 0.000\n",
+ "glideslope | 23.535 | 32.542 | 6.865 |2028.250\n",
+ "i : 7700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9675.97 |3372.89 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.890 |11.006 | 0.490 |5235.953 | 7327\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.082 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.56 | 24.62 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.099 -0.000 | 0.087 0.073 0.000\n",
+ "glideslope | 23.581 | 32.773 | 6.456 |2028.250\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 7800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9676.01 |3372.86 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.887 |10.964 | 0.490 |5235.953 | 7327\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.927 | 0.027 0.039 0.082 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.55 | 24.60 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.099 -0.000 | 0.089 0.073 0.000\n",
+ "glideslope | 23.560 | 32.599 | 6.456 |2028.250\n",
+ "i : 7900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9675.46 |3372.50 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.895 |12.011 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.927 | 0.027 0.039 0.082 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.55 | 24.63 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.099 -0.000 | 0.089 0.073 0.000\n",
+ "glideslope | 23.524 | 32.419 | 6.456 |2028.250\n",
+ "i : 8000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9676.28 |3372.53 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.901 |11.989 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.927 | 0.027 0.039 0.082 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.54 | 24.63 |262.81 |401.31\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.099 -0.000 | 0.089 0.073 0.000\n",
+ "glideslope | 23.526 | 32.275 | 6.456 |2028.250\n",
+ "i : 8100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9675.22 |3371.31 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.896 |11.936 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.039 0.082 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.49 | 24.61 |262.81 |401.31\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.099 -0.000 | 0.089 0.073 0.000\n",
+ "glideslope | 23.527 | 32.133 | 6.456 |2028.250\n",
+ "i : 8200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9674.89 |3371.46 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.894 |11.889 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.039 0.083 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.54 | 24.64 |262.81 |401.31\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.089 0.073 0.000\n",
+ "glideslope | 23.508 | 31.967 | 6.456 |2028.250\n",
+ "i : 8300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9674.68 |3372.10 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.893 |11.858 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.039 0.083 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n",
+ "fuel |308.58 | 24.62 |262.81 |401.31\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.089 0.073 0.000\n",
+ "glideslope | 23.577 | 32.695 | 6.456 |2028.250\n",
+ "i : 8400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9674.00 |3371.84 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.891 |11.817 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.064 -0.013 -0.927 | 0.027 0.039 0.083 | -0.063 -0.216 -1.330 | 0.157 0.136 -0.487\n",
+ "fuel |308.57 | 24.59 |262.81 |401.31\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.089 0.073 0.000\n",
+ "glideslope | 23.592 | 32.578 | 6.456 |2028.250\n",
+ "i : 8500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9674.97 |3371.58 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.895 |11.803 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.065 -0.014 -0.927 | 0.027 0.039 0.082 | -0.063 -0.216 -1.330 | 0.157 0.136 -0.487\n",
+ "fuel |308.51 | 24.56 |262.81 |401.31\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.089 0.073 0.000\n",
+ "glideslope | 23.634 | 33.092 | 6.456 |2028.250\n",
+ "i : 8600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9674.12 |3372.29 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.890 |11.751 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.065 -0.014 -0.927 | 0.027 0.039 0.082 | -0.063 -0.216 -1.330 | 0.157 0.136 -0.487\n",
+ "fuel |308.56 | 24.58 |262.81 |401.31\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.089 0.073 0.000\n",
+ "glideslope | 23.626 | 32.954 | 6.456 |2028.250\n",
+ "i : 8700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.63 |3372.60 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.888 |11.710 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.065 -0.014 -0.927 | 0.027 0.039 0.083 | -0.063 -0.216 -1.330 | 0.157 0.136 -0.487\n",
+ "fuel |308.59 | 24.60 |262.81 |401.31\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.089 0.073 0.000\n",
+ "glideslope | 23.633 | 32.939 | 6.456 |2028.250\n",
+ "i : 8800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.46 |3372.62 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.886 |11.669 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.065 -0.014 -0.927 | 0.027 0.039 0.083 | -0.063 -0.216 -1.330 | 0.157 0.136 -0.487\n",
+ "fuel |308.60 | 24.58 |262.81 |401.31\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.609 | 32.776 | 6.456 |2028.250\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 8900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.05 |3372.52 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.885 |11.628 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.927 | 0.027 0.039 0.082 | -0.063 -0.226 -1.330 | 0.157 0.136 -0.487\n",
+ "fuel |308.60 | 24.59 |262.81 |401.31\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.632 | 32.657 | 6.456 |2028.250\n",
+ "i : 9000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.09 |3372.17 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.882 |11.585 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.157 0.136 -0.487\n",
+ "fuel |308.58 | 24.59 |262.81 |401.31\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.599 | 32.490 | 6.456 |2028.250\n",
+ "i : 9100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9672.21 |3372.14 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.879 |11.540 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.927 | 0.027 0.039 0.082 | -0.063 -0.226 -1.330 | 0.157 0.136 -0.487\n",
+ "fuel |308.60 | 24.60 |262.81 |401.31\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.584 | 32.326 | 6.456 |2028.250\n",
+ "i : 9200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9672.84 |3372.62 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.880 |11.510 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.065 -0.014 -0.927 | 0.027 0.039 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n",
+ "fuel |308.60 | 24.60 |262.81 |401.31\n",
+ "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.597 | 32.244 | 6.456 |2028.250\n",
+ "i : 9300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9672.20 |3371.77 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.879 |11.478 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.065 -0.014 -0.927 | 0.027 0.039 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n",
+ "fuel |308.59 | 24.59 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.605 | 32.129 | 6.456 |2028.250\n",
+ "i : 9400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9670.90 |3370.93 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.877 |11.434 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.065 -0.014 -0.927 | 0.027 0.039 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n",
+ "fuel |308.58 | 24.60 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.584 | 32.002 | 6.456 |2028.250\n",
+ "i : 9500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9671.58 |3371.16 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.876 |11.398 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.065 -0.014 -0.927 | 0.027 0.039 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n",
+ "fuel |308.57 | 24.57 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.559 | 31.853 | 6.456 |2028.250\n",
+ "i : 9600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9670.96 |3370.41 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.876 |11.365 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.927 | 0.027 0.039 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n",
+ "fuel |308.55 | 24.54 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.175 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.530 | 31.701 | 6.456 |2028.250\n",
+ "i : 9700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9670.73 |3370.20 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.873 |11.333 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.927 | 0.027 0.039 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n",
+ "fuel |308.53 | 24.51 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.175 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.520 | 31.565 | 6.456 |2028.250\n",
+ "i : 9800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9670.74 |3370.71 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.875 |11.314 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.927 | 0.027 0.039 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n",
+ "fuel |308.55 | 24.52 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.175 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.517 | 31.425 | 6.456 |2028.250\n",
+ "i : 9900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9671.03 |3371.73 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.874 |11.274 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.927 | 0.027 0.039 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n",
+ "fuel |308.58 | 24.54 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.492 | 31.291 | 6.456 |2028.250\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 10000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9671.15 |3372.32 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.873 |11.249 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n",
+ "fuel |308.59 | 24.54 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.499 | 31.228 | 6.456 |2028.250\n",
+ "i : 10100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9671.00 |3372.44 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.870 |11.229 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.064 -0.014 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n",
+ "fuel |308.62 | 24.54 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.583 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.494 | 31.180 | 6.456 |2028.250\n",
+ "i : 10200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9669.53 |3372.44 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.866 |11.189 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.065 -0.014 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n",
+ "fuel |308.65 | 24.56 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.583 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.473 | 31.054 | 6.456 |2028.250\n",
+ "i : 10300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9670.18 |3372.87 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.864 |11.169 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.065 -0.014 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n",
+ "fuel |308.68 | 24.58 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.583 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.462 | 30.921 | 6.456 |2028.250\n",
+ "i : 10400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9669.82 |3372.74 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.864 |11.139 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.065 -0.014 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n",
+ "fuel |308.67 | 24.57 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.583 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.463 | 30.803 | 6.456 |2028.250\n",
+ "i : 10500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9669.82 |3372.52 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.869 |11.214 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.065 -0.014 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n",
+ "fuel |308.66 | 24.58 |262.81 |401.31\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.461 | 30.784 | 6.456 |2028.250\n",
+ "i : 10600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9670.07 |3372.68 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.872 |11.180 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n",
+ "fuel |308.63 | 24.56 |262.81 |401.31\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.452 | 30.665 | 6.456 |2028.250\n",
+ "i : 10700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9670.07 |3372.49 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.873 |11.187 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n",
+ "fuel |308.61 | 24.56 |262.81 |401.31\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.455 | 30.549 | 6.456 |2028.250\n",
+ "i : 10800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9669.78 |3371.95 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.874 |11.164 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.168 0.136 -0.487\n",
+ "fuel |308.59 | 24.55 |262.81 |401.31\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.059 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.485 | 30.524 | 6.456 |2028.250\n",
+ "i : 10900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9669.82 |3371.43 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.875 |11.176 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.065 -0.014 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.168 0.136 -0.487\n",
+ "fuel |308.57 | 24.53 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.499 | 30.438 | 6.456 |2028.250\n",
+ "i : 11000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9670.06 |3371.85 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.877 |11.178 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.168 0.136 -0.487\n",
+ "fuel |308.58 | 24.53 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.500 | 30.345 | 6.456 |2028.250\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 11100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9669.97 |3372.03 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.880 |11.151 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.065 -0.014 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.168 0.136 -0.487\n",
+ "fuel |308.59 | 24.54 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.488 | 30.230 | 6.456 |2028.250\n",
+ "i : 11200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9669.69 |3371.54 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.879 |11.133 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.065 -0.014 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.168 0.136 -0.487\n",
+ "fuel |308.58 | 24.53 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.501 | 30.175 | 6.456 |2028.250\n",
+ "i : 11300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9670.19 |3371.94 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.880 |11.248 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.065 -0.014 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n",
+ "fuel |308.60 | 24.54 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.516 | 30.116 | 6.456 |2028.250\n",
+ "i : 11400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9669.59 |3371.87 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.879 |11.260 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.065 -0.014 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n",
+ "fuel |308.63 | 24.54 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.539 | 30.123 | 6.456 |2028.250\n",
+ "i : 11500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9669.48 |3371.58 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.877 |11.248 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.065 -0.014 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n",
+ "fuel |308.63 | 24.52 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.522 | 30.008 | 6.456 |2028.250\n",
+ "i : 11600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9669.37 |3372.48 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.876 |11.227 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.065 -0.014 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n",
+ "fuel |308.65 | 24.54 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.504 | 29.893 | 6.456 |2028.250\n",
+ "i : 11700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9669.60 |3372.05 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.876 |11.196 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n",
+ "fuel |308.63 | 24.53 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.494 | 29.802 | 6.456 |2028.250\n",
+ "i : 11800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9669.84 |3372.50 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.876 |11.176 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n",
+ "fuel |308.65 | 24.52 |262.81 |401.31\n",
+ "attitude_321 | 0.001 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.491 | 29.697 | 6.456 |2028.250\n",
+ "i : 11900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9670.10 |3371.96 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.877 |11.237 | 0.490 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n",
+ "fuel |308.61 | 24.50 |262.64 |401.31\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.471 | 29.590 | 6.456 |2028.250\n",
+ "i : 12000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9670.51 |3372.27 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.878 |11.219 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.3 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.039 0.082 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n",
+ "fuel |308.61 | 24.52 |262.64 |401.31\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.488 | 29.539 | 6.456 |2028.250\n",
+ "i : 12100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9669.96 |3371.94 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.877 |11.186 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.039 0.082 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n",
+ "fuel |308.60 | 24.53 |262.64 |401.31\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.478 | 29.532 | 6.456 |2028.250\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 12200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9670.06 |3372.40 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.878 |11.170 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.039 0.082 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n",
+ "fuel |308.60 | 24.52 |262.64 |401.31\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.470 | 29.439 | 6.456 |2028.250\n",
+ "i : 12300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9670.29 |3372.48 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.877 |11.141 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.039 0.082 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n",
+ "fuel |308.59 | 24.51 |262.64 |401.31\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.476 | 29.349 | 6.456 |2028.250\n",
+ "i : 12400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9669.57 |3371.69 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.877 |11.130 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.039 0.083 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n",
+ "fuel |308.56 | 24.50 |262.64 |401.31\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.482 | 29.261 | 6.456 |2028.250\n",
+ "i : 12500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9669.63 |3371.61 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.876 |11.106 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.039 0.083 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n",
+ "fuel |308.55 | 24.50 |262.64 |401.31\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.462 | 29.161 | 6.456 |2028.250\n",
+ "i : 12600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9669.04 |3371.77 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.875 |11.108 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.083 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n",
+ "fuel |308.58 | 24.52 |262.64 |401.31\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.473 | 29.124 | 6.456 |2028.250\n",
+ "i : 12700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9669.05 |3371.51 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.874 |11.090 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.083 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n",
+ "fuel |308.57 | 24.51 |262.64 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.466 | 29.068 | 6.456 |2028.250\n",
+ "i : 12800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9668.60 |3370.97 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.872 |11.061 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.083 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n",
+ "fuel |308.55 | 24.50 |262.64 |401.31\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.452 | 28.984 | 6.456 |2028.250\n",
+ "i : 12900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9668.45 |3370.80 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.873 |11.050 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.083 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n",
+ "fuel |308.53 | 24.49 |262.64 |401.31\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.468 | 29.051 | 6.456 |2028.250\n",
+ "i : 13000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9668.49 |3370.76 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.874 |11.034 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.083 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n",
+ "fuel |308.53 | 24.48 |262.64 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.498 | 29.465 | 6.456 |2028.250\n",
+ "i : 13100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9668.55 |3369.99 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.874 |11.011 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.014 -0.927 | 0.027 0.040 0.083 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.487\n",
+ "fuel |308.49 | 24.46 |262.64 |401.31\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.474 | 29.366 | 6.456 |2028.250\n",
+ "i : 13200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9668.47 |3370.06 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.873 |10.996 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.487\n",
+ "fuel |308.49 | 24.45 |262.64 |401.31\n",
+ "attitude_321 | 0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.476 | 29.276 | 6.456 |2028.250\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 13300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9669.18 |3370.19 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.874 |10.986 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.487\n",
+ "fuel |308.48 | 24.46 |262.64 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.468 | 29.179 | 6.456 |2028.250\n",
+ "i : 13400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9670.12 |3370.09 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.874 |10.961 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.487\n",
+ "fuel |308.45 | 24.44 |262.64 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.466 | 29.092 | 6.456 |2028.250\n",
+ "i : 13500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9669.79 |3370.66 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.872 |10.939 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.487\n",
+ "fuel |308.49 | 24.45 |262.64 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.483 | 29.166 | 6.456 |2028.250\n",
+ "i : 13600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9670.27 |3370.26 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.874 |10.963 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.487\n",
+ "fuel |308.45 | 24.44 |262.64 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.492 | 29.087 | 6.456 |2028.250\n",
+ "i : 13700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9670.56 |3370.48 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.874 |10.942 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.487\n",
+ "fuel |308.46 | 24.44 |262.64 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.501 | 29.013 | 6.456 |2028.250\n",
+ "i : 13800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9670.86 |3370.38 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.873 |10.924 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.487\n",
+ "fuel |308.43 | 24.43 |262.64 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.494 | 28.992 | 6.456 |2028.250\n",
+ "i : 13900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9672.03 |3370.91 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.875 |10.933 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.487\n",
+ "fuel |308.41 | 24.42 |262.64 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.495 | 28.911 | 6.456 |2028.250\n",
+ "i : 14000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9672.03 |3370.35 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.876 |10.913 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.487\n",
+ "fuel |308.40 | 24.41 |262.64 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.486 | 28.859 | 6.456 |2028.250\n",
+ "i : 14100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9672.51 |3371.26 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.875 |10.890 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.487\n",
+ "fuel |308.41 | 24.42 |262.64 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.459 | 28.765 | 6.456 |2028.250\n",
+ "i : 14200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.18 |3371.54 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.875 |10.865 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.487\n",
+ "fuel |308.41 | 24.42 |262.64 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.445 | 28.675 | 6.456 |2028.250\n",
+ "i : 14300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9672.92 |3371.50 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.876 |10.846 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.487\n",
+ "fuel |308.42 | 24.42 |262.64 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.443 | 28.602 | 6.456 |2028.250\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 14400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.03 |3370.98 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.876 |10.821 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.487\n",
+ "fuel |308.38 | 24.41 |262.64 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.433 | 28.523 | 6.456 |2028.250\n",
+ "i : 14500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9672.93 |3370.64 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.877 |10.803 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.487\n",
+ "fuel |308.38 | 24.43 |262.64 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.424 | 28.441 | 6.456 |2028.250\n",
+ "i : 14600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.00 |3371.11 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.879 |10.788 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.400\n",
+ "fuel |308.40 | 24.46 |262.34 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.416 | 28.361 | 6.456 |2028.250\n",
+ "i : 14700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9672.99 |3370.78 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.878 |10.774 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.400\n",
+ "fuel |308.38 | 24.45 |262.34 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.424 | 28.296 | 6.456 |2028.250\n",
+ "i : 14800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9672.94 |3370.97 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.878 |10.781 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.400\n",
+ "fuel |308.38 | 24.45 |262.34 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.425 | 28.309 | 6.456 |2028.250\n",
+ "i : 14900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.74 |3370.85 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.880 |10.805 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.400\n",
+ "fuel |308.36 | 24.44 |262.34 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.409 | 28.225 | 6.456 |2028.250\n",
+ "i : 15000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.30 |3370.52 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.879 |10.784 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.400\n",
+ "fuel |308.34 | 24.44 |262.34 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.407 | 28.158 | 6.456 |2028.250\n",
+ "i : 15100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.02 |3370.36 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.880 |10.762 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.083 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.35 | 24.43 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.398 | 28.082 | 6.456 |2028.250\n",
+ "i : 15200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.17 |3370.09 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.881 |10.754 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.33 | 24.40 |262.34 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.388 | 28.013 | 6.456 |2028.250\n",
+ "i : 15300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.54 |3370.52 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.880 |10.742 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.33 | 24.39 |262.34 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.389 | 27.959 | 6.456 |2028.250\n",
+ "i : 15400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.63 |3370.62 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.879 |10.725 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.33 | 24.37 |262.34 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.388 | 27.947 | 6.456 |2028.250\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 15500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.81 |3370.36 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.879 |10.709 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.32 | 24.37 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.394 | 27.896 | 6.456 |2028.250\n",
+ "i : 15600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9674.03 |3370.60 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.878 |10.694 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.31 | 24.35 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.382 | 27.816 | 6.456 |2028.250\n",
+ "i : 15700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9674.00 |3370.77 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.878 |10.679 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.31 | 24.36 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.374 | 27.747 | 6.456 |2028.250\n",
+ "i : 15800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.60 |3370.87 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.878 |10.658 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.31 | 24.35 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.364 | 27.696 | 6.456 |2028.250\n",
+ "i : 15900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.40 |3371.00 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.878 |10.653 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.33 | 24.36 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.351 | 27.619 | 6.456 |2028.250\n",
+ "i : 16000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.54 |3371.00 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.878 |10.647 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.32 | 24.34 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.382 | 27.714 | 6.456 |2028.250\n",
+ "i : 16100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.49 |3371.15 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.876 |10.623 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.33 | 24.36 |262.34 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.359 | 27.638 | 6.456 |2028.250\n",
+ "i : 16200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.33 |3371.68 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.877 |10.634 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.35 | 24.37 |262.34 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.358 | 27.579 | 6.456 |2028.250\n",
+ "i : 16300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.30 |3371.59 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.877 |10.627 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.33 | 24.37 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.355 | 27.510 | 6.456 |2028.250\n",
+ "i : 16400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9672.82 |3371.53 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.875 |10.618 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.34 | 24.39 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.369 | 27.517 | 6.456 |2028.250\n",
+ "i : 16500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9673.02 |3372.08 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.874 |10.605 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.37 | 24.39 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.371 | 27.455 | 6.456 |2028.250\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 16600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9672.93 |3371.87 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.873 |10.597 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.36 | 24.38 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.356 | 27.385 | 6.456 |2028.250\n",
+ "i : 16700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9672.46 |3371.52 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.873 |10.592 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.36 | 24.38 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.364 | 27.332 | 6.456 |2028.250\n",
+ "i : 16800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9672.58 |3371.79 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.872 |10.572 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.37 | 24.39 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.361 | 27.262 | 6.456 |2028.250\n",
+ "i : 16900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9672.97 |3372.22 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.873 |10.559 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.38 | 24.40 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.348 | 27.194 | 6.456 |2028.250\n",
+ "i : 17000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9672.24 |3371.66 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.873 |10.545 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.38 | 24.39 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.339 | 27.134 | 6.456 |2028.250\n",
+ "i : 17100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9671.74 |3371.28 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.874 |10.524 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.36 | 24.40 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.342 | 27.087 | 6.456 |2028.250\n",
+ "i : 17200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9671.74 |3370.88 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.874 |10.516 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.35 | 24.39 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.332 | 27.037 | 6.456 |2028.250\n",
+ "i : 17300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9671.41 |3370.62 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.874 |10.498 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.35 | 24.41 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.326 | 26.972 | 6.456 |2028.250\n",
+ "i : 17400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9671.44 |3370.32 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.874 |10.477 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.34 | 24.41 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.312 | 26.906 | 6.456 |2028.250\n",
+ "i : 17500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9671.47 |3370.30 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.872 |10.454 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.34 | 24.40 |262.34 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.295 | 26.840 | 6.456 |2028.250\n",
+ "i : 17600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9671.64 |3370.63 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.874 |10.451 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.35 | 24.40 |262.34 |401.31\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.293 | 26.783 | 6.456 |2028.250\n",
+ "i : 17700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9671.83 |3370.61 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.875 |10.435 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.35 | 24.40 |262.34 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.296 | 26.748 | 6.456 |2028.250\n",
+ "i : 17800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9671.54 |3370.82 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.874 |10.422 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.37 | 24.41 |262.34 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.301 | 26.716 | 6.456 |2028.250\n",
+ "i : 17900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9671.54 |3370.85 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.873 |10.407 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.083 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.38 | 24.41 |262.34 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.308 | 26.665 | 6.456 |2028.250\n",
+ "i : 18000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9671.48 |3371.27 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.871 |10.394 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.39 | 24.41 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.304 | 26.602 | 6.456 |2028.250\n",
+ "i : 18100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9671.33 |3371.40 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.869 |10.507 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.083 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.40 | 24.41 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.296 | 26.554 | 6.456 |2028.250\n",
+ "i : 18200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9671.43 |3371.32 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.868 |10.492 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.083 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.40 | 24.41 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.303 | 26.524 | 6.456 |2028.250\n",
+ "i : 18300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9671.45 |3371.29 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.868 |10.474 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.40 | 24.41 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.297 | 26.463 | 6.456 |2028.250\n",
+ "i : 18400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9671.30 |3371.08 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.869 |10.457 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.40 | 24.41 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.282 | 26.403 | 6.456 |2028.250\n",
+ "i : 18500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9671.18 |3370.64 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.870 |10.453 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.38 | 24.39 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.277 | 26.342 | 6.456 |2028.250\n",
+ "i : 18600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9671.28 |3370.11 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.872 |10.459 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.35 | 24.38 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.280 | 26.298 | 6.456 |2028.250\n",
+ "i : 18700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "thrust |9670.94 |3370.02 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.872 |10.448 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.35 | 24.37 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.277 | 26.241 | 6.456 |2028.250\n",
+ "i : 18800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9670.92 |3370.00 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.871 |10.431 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.36 | 24.37 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.273 | 26.200 | 6.456 |2028.250\n",
+ "i : 18900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9670.53 |3369.78 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.870 |10.413 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.36 | 24.37 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.268 | 26.148 | 6.456 |2028.250\n",
+ "i : 19000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9670.37 |3369.94 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.870 |10.394 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.36 | 24.38 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.251 | 26.088 | 6.456 |2028.250\n",
+ "i : 19100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9670.02 |3369.44 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.871 |10.382 | 0.464 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.083 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.35 | 24.39 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.245 | 26.036 | 6.456 |2028.250\n",
+ "i : 19200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9670.12 |3369.95 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.870 |10.444 | 0.456 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.7 -0.1 | 6.1 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.38 | 24.40 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.232 | 25.975 | 6.456 |2028.250\n",
+ "i : 19300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9670.53 |3369.59 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.872 |10.458 | 0.456 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.7 -0.1 | 6.1 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.35 | 24.39 |262.34 |401.31\n",
+ "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.240 | 25.941 | 6.456 |2028.250\n",
+ "i : 19400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9670.90 |3369.50 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.875 |10.457 | 0.456 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.7 -0.1 | 6.1 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.33 | 24.40 |261.34 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.238 | 25.893 | 6.456 |2028.250\n",
+ "i : 19500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9670.83 |3369.24 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.877 |10.453 | 0.456 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.7 -0.1 | 6.1 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.31 | 24.39 |261.34 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.266 | 26.259 | 6.456 |2028.250\n",
+ "i : 19600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9670.49 |3369.04 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.876 |10.449 | 0.456 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.7 -0.1 | 6.1 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.32 | 24.39 |261.34 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.261 | 26.203 | 6.456 |2028.250\n",
+ "i : 19700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9670.68 |3369.17 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.877 |10.442 | 0.456 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.7 -0.1 | 6.1 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.31 | 24.40 |261.34 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.261 | 26.160 | 6.456 |2028.250\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 19800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9670.33 |3368.97 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.876 |10.428 | 0.456 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.8 -0.1 | 6.1 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.31 | 24.39 |261.34 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.255 | 26.114 | 6.456 |2028.250\n",
+ "i : 19900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9670.16 |3369.10 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.875 |10.412 | 0.456 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.8 -0.1 | 6.1 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.32 | 24.38 |261.34 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.251 | 26.064 | 6.456 |2028.250\n",
+ "\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9669.93 |3368.90 |3464.10 |20000.00 | 3564\n",
+ "glideslope | 2.876 |10.408 | 0.456 |6150.226 | 7803\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.8 -0.1 | 6.1 4.5 -0.0\n",
+ "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n",
+ "fuel |308.31 | 24.37 |261.34 |401.31\n",
+ "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n",
+ "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n",
+ "glideslope | 23.241 | 26.017 | 6.456 |2028.250\n",
+ "\n",
+ "Initial Stats (mean,std,min,max)\n",
+ "position | 1504.9 10.8 2350.0 | 867.1 866.9 29.0 | 0.3 -1500.0 2300.0 | 2999.9 1500.0 2400.0\n",
+ "velocity | -40.156 -0.153 -80.011 | 17.364 17.193 5.771 | -70.000 -29.988 -89.999 | -10.009 29.999 -70.000\n",
+ "fuel | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude_321 | -0.000 0.687 0.003 | 0.227 0.171 0.226 | -0.393 0.393 -0.393 | 0.393 0.982 0.393\n",
+ "w | 0.000 0.000 0.000 | 0.000 0.000 0.000 | 0.000 0.000 0.000 | 0.000 0.000 0.000\n",
+ "glideslope | 2.181 | 1.107 | 0.948 | 9.167\n"
+ ]
+ }
+ ],
+ "source": [
+ "policy.test_mode=True\n",
+ "env.ic_gen = Landing_icgen(mass_uncertainty=0.03, g_uncertainty=(0.0,0.0),\n",
+ " adapt_apf_v0=True,\n",
+ " attitude_parameterization=attitude_parameterization,\n",
+ " downrange = (0,3000 , -70, -10), \n",
+ " crossrange = (-1500,1500 , -30,30), \n",
+ " altitude = (2300,2400,-90,-70),\n",
+ " yaw = (-np.pi/8, np.pi/8, 0.0, 0.0) ,\n",
+ " pitch = (np.pi/4-np.pi/8, np.pi/4+np.pi/16, -0.0, 0.0),\n",
+ " roll = (-np.pi/8, np.pi/8, -0.0, 0.0),\n",
+ " noise_u=100*np.ones(3), noise_sd=100*np.ones(3))\n",
+ "env.test_policy_batch(policy,input_normalizer,20000,print_every=100)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def plot_traj(ax, trajectory,linewidth=0.1):\n",
+ " trajectory = np.asarray(trajectory)\n",
+ " ax.plot(trajectory[:,0],trajectory[:,1],trajectory[:,2],linewidth=linewidth)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {},
+ "outputs": [
+ {
+ "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 = $('');\n",
+ " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+ " 'ui-button-icon-only');\n",
+ " button.attr('role', 'button');\n",
+ " button.attr('aria-disabled', 'false');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ "\n",
+ " var icon_img = $('');\n",
+ " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+ " icon_img.addClass(image);\n",
+ " icon_img.addClass('ui-corner-all');\n",
+ "\n",
+ " var tooltip_span = $('');\n",
+ " tooltip_span.addClass('ui-button-text');\n",
+ " tooltip_span.html(tooltip);\n",
+ "\n",
+ " button.append(icon_img);\n",
+ " button.append(tooltip_span);\n",
+ "\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker_span = $('');\n",
+ "\n",
+ " var fmt_picker = $('');\n",
+ " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+ " fmt_picker_span.append(fmt_picker);\n",
+ " nav_element.append(fmt_picker_span);\n",
+ " this.format_dropdown = fmt_picker[0];\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = $(\n",
+ " '', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+ " fmt_picker.append(option)\n",
+ " }\n",
+ "\n",
+ " // Add hover states to the ui-buttons\n",
+ " $( \".ui-button\" ).hover(\n",
+ " function() { $(this).addClass(\"ui-state-hover\");},\n",
+ " function() { $(this).removeClass(\"ui-state-hover\");}\n",
+ " );\n",
+ "\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function(type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function() {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1]);\n",
+ " fig.send_message(\"refresh\", {});\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+ " var x0 = msg['x0'] / mpl.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+ " var x1 = msg['x1'] / mpl.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0, 0, fig.canvas.width, fig.canvas.height);\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+ " var cursor = msg['cursor'];\n",
+ " switch(cursor)\n",
+ " {\n",
+ " case 0:\n",
+ " cursor = 'pointer';\n",
+ " break;\n",
+ " case 1:\n",
+ " cursor = 'default';\n",
+ " break;\n",
+ " case 2:\n",
+ " cursor = 'crosshair';\n",
+ " break;\n",
+ " case 3:\n",
+ " cursor = 'move';\n",
+ " break;\n",
+ " }\n",
+ " fig.rubberband_canvas.style.cursor = cursor;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message(\"ack\", {});\n",
+ "}\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " evt.data.type = \"image/png\";\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " evt.data);\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig[\"handle_\" + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function(e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e)\n",
+ " e = window.event;\n",
+ " if (e.target)\n",
+ " targ = e.target;\n",
+ " else if (e.srcElement)\n",
+ " targ = e.srcElement;\n",
+ " if (targ.nodeType == 3) // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ "\n",
+ " // jQuery normalizes the pageX and pageY\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " // offset() returns the position of the element relative to the document\n",
+ " var x = e.pageX - $(targ).offset().left;\n",
+ " var y = e.pageY - $(targ).offset().top;\n",
+ "\n",
+ " return {\"x\": x, \"y\": y};\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * http://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys (original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object')\n",
+ " obj[key] = original[key]\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+ " var canvas_pos = mpl.findpos(event)\n",
+ "\n",
+ " if (name === 'button_press')\n",
+ " {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * mpl.ratio;\n",
+ " var y = canvas_pos.y * mpl.ratio;\n",
+ "\n",
+ " this.send_message(name, {x: x, y: y, button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function(event, name) {\n",
+ "\n",
+ " // Prevent repeat events\n",
+ " if (name == 'key_press')\n",
+ " {\n",
+ " if (event.which === this._key)\n",
+ " return;\n",
+ " else\n",
+ " this._key = event.which;\n",
+ " }\n",
+ " if (name == 'key_release')\n",
+ " this._key = null;\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.which != 17)\n",
+ " value += \"ctrl+\";\n",
+ " if (event.altKey && event.which != 18)\n",
+ " value += \"alt+\";\n",
+ " if (event.shiftKey && event.which != 16)\n",
+ " value += \"shift+\";\n",
+ "\n",
+ " value += 'k';\n",
+ " value += event.which.toString();\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, {key: value,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+ " if (name == 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message(\"toolbar_button\", {name: name});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.close = function() {\n",
+ " comm.close()\n",
+ " };\n",
+ " ws.send = function(m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function(msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
+ " ws.onmessage(msg['content']['data'])\n",
+ " });\n",
+ " return ws;\n",
+ "}\n",
+ "\n",
+ "mpl.mpl_figure_comm = function(comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = $(\"#\" + id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm)\n",
+ "\n",
+ " function ondownload(figure, format) {\n",
+ " window.open(figure.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy,\n",
+ " ondownload,\n",
+ " element.get(0));\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element.get(0);\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error(\"Failed to find cell for figure\", id, fig);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var output_index = fig.cell_info[2]\n",
+ " var cell = fig.cell_info[0];\n",
+ "\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+ " var width = fig.canvas.width/mpl.ratio\n",
+ " fig.root.unbind('remove')\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable()\n",
+ " $(fig.parent_element).html('');\n",
+ " fig.close_ws(fig, msg);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width/mpl.ratio\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] = '';\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message(\"ack\", {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () { fig.push_to_output() }, 1000);\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) { continue; };\n",
+ "\n",
+ " var button = $('');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = $('');\n",
+ " var button = $('');\n",
+ " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+ " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+ " buttongrp.append(button);\n",
+ " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+ " titlebar.prepend(buttongrp);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function(el){\n",
+ " var fig = this\n",
+ " el.on(\"remove\", function(){\n",
+ "\tfig.close_ws(fig, {});\n",
+ " });\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+ " // this is important to make the div 'focusable\n",
+ " el.attr('tabindex', 0)\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " }\n",
+ " else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " var manager = IPython.notebook.keyboard_manager;\n",
+ " if (!manager)\n",
+ " manager = IPython.keyboard_manager;\n",
+ "\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which == 13) {\n",
+ " this.canvas_div.blur();\n",
+ " event.shiftKey = false;\n",
+ " // Send a \"J\" for go to next cell\n",
+ " event.which = 74;\n",
+ " event.keyCode = 74;\n",
+ " manager.command_mode();\n",
+ " manager.handle_keydown(event);\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.find_output_cell = function(html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i=0; i= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] == html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel != null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ ""
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/plain": [
+ "Text(0.0910982,0.0122048,'Elevation (m)')"
+ ]
+ },
+ "execution_count": 16,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "import matplotlib as mpl\n",
+ "from mpl_toolkits.mplot3d import Axes3D\n",
+ "import matplotlib.pyplot as plt\n",
+ "fig = plt.figure(11)\n",
+ "ax = fig.gca(projection='3d')\n",
+ "\n",
+ "T = env.lander.trajectory_list[0:100]\n",
+ "\n",
+ "for t in T:\n",
+ " plot_traj(ax,t['position'],linewidth=1.0)\n",
+ "ax.legend\n",
+ "fig.canvas.draw()\n",
+ "plt.show()\n",
+ "\n",
+ "ax.set_xlim3d(0,3000)\n",
+ "ax.set_ylim3d(-1500,1500)\n",
+ "ax.set_zlim3d(0,3000)\n",
+ "\n",
+ "ax.set_xlabel('Downrange (m)')\n",
+ "ax.set_ylabel('Crossrange (m)')\n",
+ "ax.set_zlabel('Elevation (m)')\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "np.save(\"trajectory_list.npy\",T)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# 12 sq km 3000m"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Attitude Constraint\n",
+ "i : 100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9224.48 |3048.23 |3464.10 |20000.00 | 43\n",
+ "glideslope | 2.780 | 7.122 | 0.641 |622.292 | 70\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.2 -0.0 | 1.2 1.3 0.0 | -2.2 -4.9 -0.0 | 3.8 2.3 -0.0\n",
+ "velocity | 0.065 -0.010 -0.910 | 0.029 0.040 0.136 | 0.005 -0.136 -1.275 | 0.141 0.069 -0.545\n",
+ "fuel |336.23 | 28.64 |286.25 |431.31\n",
+ "attitude_321 | -0.048 -0.014 0.001 | 0.156 0.010 0.012 | -0.348 -0.044 -0.029 | 0.300 0.010 0.037\n",
+ "w | 0.001 -0.008 0.000 | 0.024 0.017 0.000 | -0.067 -0.062 -0.000 | 0.081 0.031 0.000\n",
+ "glideslope | 24.132 | 21.885 | 8.653 | 197.200\n",
+ "i : 200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9184.10 |3033.06 |3464.10 |20000.00 | 43\n",
+ "glideslope | 2.808 | 8.494 | 0.641 |626.752 | 102\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.2 -0.0 | 1.1 1.3 0.0 | -2.2 -4.9 -0.0 | 5.2 2.3 -0.0\n",
+ "velocity | 0.064 -0.010 -0.896 | 0.029 0.041 0.137 | -0.020 -0.136 -1.275 | 0.141 0.087 -0.446\n",
+ "fuel |337.06 | 27.74 |286.25 |431.31\n",
+ "attitude_321 | -0.041 -0.015 0.001 | 0.165 0.010 0.013 | -0.415 -0.044 -0.035 | 0.313 0.010 0.037\n",
+ "w | 0.002 -0.007 0.000 | 0.023 0.018 0.000 | -0.067 -0.062 -0.000 | 0.081 0.036 0.000\n",
+ "glideslope | 25.940 | 31.350 | 8.653 | 282.284\n",
+ "i : 300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9202.27 |3036.58 |3464.10 |20000.00 | 43\n",
+ "glideslope | 2.770 | 7.872 | 0.640 |626.752 | 102\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.3 -0.2 -0.0 | 1.1 1.2 0.0 | -2.2 -4.9 -0.1 | 5.2 2.3 -0.0\n",
+ "velocity | 0.063 -0.009 -0.905 | 0.027 0.040 0.129 | -0.020 -0.136 -1.275 | 0.141 0.097 -0.446\n",
+ "fuel |337.79 | 28.56 |286.25 |431.31\n",
+ "attitude_321 | -0.046 -0.014 0.001 | 0.167 0.010 0.013 | -0.415 -0.044 -0.035 | 0.370 0.010 0.041\n",
+ "w | 0.002 -0.007 0.000 | 0.022 0.017 0.000 | -0.069 -0.062 -0.000 | 0.081 0.036 0.000\n",
+ "glideslope | 24.818 | 26.337 | 8.653 | 282.284\n",
+ "i : 400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9183.60 |3033.83 |3464.10 |20000.00 | 43\n",
+ "glideslope | 2.824 |21.109 | 0.586 |7630.149 | 341\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.2 -0.0 | 1.1 1.2 0.0 | -2.2 -4.9 -0.1 | 5.2 2.3 -0.0\n",
+ "velocity | 0.063 -0.010 -0.902 | 0.027 0.040 0.133 | -0.020 -0.136 -1.283 | 0.141 0.097 -0.446\n",
+ "fuel |338.25 | 29.24 |281.83 |431.31\n",
+ "attitude_321 | -0.043 -0.015 0.001 | 0.167 0.010 0.012 | -0.521 -0.046 -0.035 | 0.370 0.010 0.041\n",
+ "w | 0.002 -0.007 0.000 | 0.022 0.016 0.000 | -0.069 -0.062 -0.000 | 0.081 0.036 0.000\n",
+ "glideslope | 24.805 | 28.582 | 8.653 | 350.276\n",
+ "i : 500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9194.36 |3033.65 |3464.10 |20000.00 | 43\n",
+ "glideslope | 2.818 |19.291 | 0.586 |7630.149 | 341\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.2 -0.0 | 1.1 1.1 0.0 | -2.5 -4.9 -0.1 | 5.2 2.6 -0.0\n",
+ "velocity | 0.064 -0.010 -0.905 | 0.027 0.040 0.130 | -0.020 -0.147 -1.283 | 0.143 0.124 -0.446\n",
+ "fuel |338.43 | 29.30 |281.83 |431.31\n",
+ "attitude_321 | -0.038 -0.015 0.001 | 0.172 0.011 0.013 | -0.521 -0.048 -0.035 | 0.378 0.010 0.041\n",
+ "w | 0.002 -0.007 0.000 | 0.023 0.016 0.000 | -0.076 -0.062 -0.000 | 0.081 0.036 0.000\n",
+ "glideslope | 24.738 | 26.591 | 8.653 | 350.276\n",
+ "i : 600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9186.14 |3056.59 |3464.10 |20000.00 | 43\n",
+ "glideslope | 2.744 |17.754 | 0.498 |7630.149 | 341\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.2 -0.0 | 1.1 1.2 0.0 | -2.5 -5.4 -0.1 | 5.2 2.6 -0.0\n",
+ "velocity | 0.064 -0.010 -0.907 | 0.027 0.040 0.129 | -0.020 -0.147 -1.310 | 0.143 0.124 -0.446\n",
+ "fuel |339.81 | 30.56 |281.83 |431.31\n",
+ "attitude_321 | -0.038 -0.015 0.001 | 0.171 0.010 0.012 | -0.521 -0.048 -0.035 | 0.527 0.010 0.041\n",
+ "w | 0.002 -0.007 0.000 | 0.023 0.016 0.000 | -0.076 -0.062 -0.000 | 0.081 0.036 0.000\n",
+ "glideslope | 24.414 | 25.225 | 8.653 | 350.276\n",
+ "i : 700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9204.43 |3062.44 |3464.10 |20000.00 | 43\n",
+ "glideslope | 2.860 |16.920 | 0.498 |7630.149 | 341\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 1.2 1.2 0.0 | -2.7 -5.4 -0.1 | 5.2 2.6 -0.0\n",
+ "velocity | 0.065 -0.010 -0.908 | 0.027 0.040 0.128 | -0.020 -0.147 -1.336 | 0.143 0.152 -0.446\n",
+ "fuel |339.60 | 30.92 |281.83 |432.73\n",
+ "attitude_321 | -0.034 -0.015 0.001 | 0.171 0.010 0.013 | -0.521 -0.048 -0.035 | 0.527 0.018 0.044\n",
+ "w | 0.002 -0.008 -0.000 | 0.024 0.017 0.000 | -0.076 -0.066 -0.000 | 0.081 0.036 0.000\n",
+ "glideslope | 23.988 | 23.701 | 8.653 | 350.276\n",
+ "i : 800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9195.30 |3071.05 |3464.10 |20000.00 | 43\n",
+ "glideslope | 2.805 |15.991 | 0.498 |7630.149 | 341\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 1.2 1.2 0.0 | -2.7 -5.4 -0.1 | 5.2 2.6 -0.0\n",
+ "velocity | 0.066 -0.010 -0.907 | 0.027 0.040 0.128 | -0.020 -0.151 -1.336 | 0.143 0.152 -0.446\n",
+ "fuel |340.55 | 31.64 |281.83 |450.62\n",
+ "attitude_321 | -0.034 -0.016 0.002 | 0.172 0.011 0.013 | -0.521 -0.048 -0.035 | 0.527 0.018 0.044\n",
+ "w | 0.002 -0.008 -0.000 | 0.024 0.017 0.000 | -0.115 -0.084 -0.000 | 0.104 0.036 0.000\n",
+ "glideslope | 23.781 | 23.503 | 8.533 | 350.276\n",
+ "i : 900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9192.68 |3070.74 |3464.10 |20000.00 | 43\n",
+ "glideslope | 2.788 |15.260 | 0.498 |7630.149 | 341\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 1.2 1.2 0.0 | -2.7 -5.4 -0.1 | 5.2 2.6 -0.0\n",
+ "velocity | 0.066 -0.011 -0.908 | 0.027 0.040 0.127 | -0.020 -0.151 -1.336 | 0.143 0.152 -0.398\n",
+ "fuel |341.05 | 31.85 |281.83 |450.62\n",
+ "attitude_321 | -0.032 -0.015 0.002 | 0.173 0.010 0.013 | -0.521 -0.048 -0.035 | 0.527 0.018 0.044\n",
+ "w | 0.001 -0.008 0.000 | 0.024 0.017 0.000 | -0.115 -0.084 -0.000 | 0.104 0.036 0.000\n",
+ "glideslope | 23.600 | 22.375 | 8.533 | 350.276\n",
+ "i : 1000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9188.68 |3074.21 |3464.10 |20000.00 | 43\n",
+ "glideslope | 2.752 |14.695 | 0.498 |7630.149 | 341\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.2 -0.0 | 1.2 1.2 0.0 | -2.7 -5.5 -0.1 | 5.5 2.6 -0.0\n",
+ "velocity | 0.066 -0.010 -0.907 | 0.027 0.040 0.129 | -0.020 -0.151 -1.336 | 0.146 0.152 -0.398\n",
+ "fuel |341.29 | 31.67 |281.83 |450.62\n",
+ "attitude_321 | -0.033 -0.015 0.002 | 0.173 0.010 0.013 | -0.521 -0.048 -0.035 | 0.527 0.018 0.044\n",
+ "w | 0.001 -0.008 0.000 | 0.025 0.016 0.000 | -0.115 -0.084 -0.000 | 0.113 0.036 0.000\n",
+ "glideslope | 23.595 | 22.282 | 8.533 | 350.276\n",
+ "i : 1100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9196.72 |3066.13 |3464.10 |20000.00 | 43\n",
+ "glideslope | 2.935 |15.867 | 0.498 |7630.149 | 341\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.2 -0.0 | 1.2 1.2 0.0 | -2.7 -5.5 -0.1 | 5.5 2.6 -0.0\n",
+ "velocity | 0.066 -0.010 -0.909 | 0.027 0.040 0.126 | -0.020 -0.151 -1.336 | 0.146 0.152 -0.398\n",
+ "fuel |340.72 | 31.43 |281.83 |450.62\n",
+ "attitude_321 | -0.032 -0.015 0.002 | 0.174 0.010 0.013 | -0.521 -0.048 -0.035 | 0.527 0.018 0.052\n",
+ "w | 0.002 -0.008 0.000 | 0.024 0.016 0.000 | -0.115 -0.084 -0.000 | 0.113 0.036 0.000\n",
+ "glideslope | 23.516 | 21.660 | 8.533 | 350.276\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 1200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9196.64 |3064.80 |3464.10 |20000.00 | 43\n",
+ "glideslope | 3.020 |15.750 | 0.498 |7630.149 | 341\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.2 -0.0 | 1.2 1.2 0.0 | -2.7 -5.5 -0.1 | 5.5 2.6 -0.0\n",
+ "velocity | 0.066 -0.011 -0.908 | 0.027 0.039 0.126 | -0.020 -0.151 -1.336 | 0.146 0.152 -0.354\n",
+ "fuel |340.71 | 31.56 |281.83 |450.62\n",
+ "attitude_321 | -0.032 -0.015 0.002 | 0.174 0.010 0.013 | -0.521 -0.048 -0.035 | 0.527 0.018 0.052\n",
+ "w | 0.002 -0.008 0.000 | 0.024 0.016 0.000 | -0.115 -0.084 -0.000 | 0.113 0.040 0.000\n",
+ "glideslope | 23.183 | 20.894 | 8.533 | 350.276\n",
+ "i : 1300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9199.18 |3065.32 |3464.10 |20000.00 | 43\n",
+ "glideslope | 2.984 |15.391 | 0.498 |7630.149 | 341\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 1.2 1.2 0.0 | -2.7 -5.5 -0.1 | 5.5 2.6 -0.0\n",
+ "velocity | 0.066 -0.011 -0.908 | 0.027 0.040 0.128 | -0.067 -0.151 -1.336 | 0.146 0.152 -0.264\n",
+ "fuel |340.59 | 31.38 |281.83 |450.62\n",
+ "attitude_321 | -0.031 -0.016 0.002 | 0.174 0.011 0.013 | -0.521 -0.048 -0.035 | 0.632 0.021 0.052\n",
+ "w | 0.001 -0.008 0.000 | 0.024 0.016 0.000 | -0.115 -0.084 -0.000 | 0.113 0.040 0.000\n",
+ "glideslope | 23.028 | 20.354 | 7.088 | 350.276\n",
+ "i : 1400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9206.22 |3069.71 |3464.10 |20000.00 | 43\n",
+ "glideslope | 2.970 |15.004 | 0.498 |7630.149 | 341\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 1.2 1.2 0.0 | -2.7 -5.5 -0.1 | 5.5 2.6 -0.0\n",
+ "velocity | 0.066 -0.011 -0.908 | 0.027 0.040 0.128 | -0.067 -0.151 -1.336 | 0.146 0.152 -0.264\n",
+ "fuel |340.62 | 31.55 |281.83 |450.62\n",
+ "attitude_321 | -0.031 -0.016 0.002 | 0.174 0.010 0.013 | -0.521 -0.048 -0.036 | 0.632 0.021 0.052\n",
+ "w | 0.001 -0.008 0.000 | 0.024 0.016 0.000 | -0.115 -0.084 -0.000 | 0.113 0.040 0.000\n",
+ "glideslope | 22.924 | 19.949 | 7.088 | 350.276\n",
+ "i : 1500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9209.44 |3070.54 |3464.10 |20000.00 | 43\n",
+ "glideslope | 2.969 |14.598 | 0.498 |7630.149 | 341\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 1.2 1.2 0.0 | -2.7 -5.5 -0.1 | 5.5 2.6 -0.0\n",
+ "velocity | 0.066 -0.011 -0.908 | 0.027 0.039 0.127 | -0.067 -0.151 -1.336 | 0.146 0.152 -0.264\n",
+ "fuel |340.71 | 31.61 |281.83 |450.62\n",
+ "attitude_321 | -0.031 -0.016 0.002 | 0.173 0.010 0.013 | -0.521 -0.048 -0.036 | 0.632 0.021 0.052\n",
+ "w | 0.001 -0.008 0.000 | 0.024 0.016 0.000 | -0.115 -0.084 -0.000 | 0.113 0.040 0.000\n",
+ "glideslope | 22.914 | 19.587 | 7.088 | 350.276\n",
+ "i : 1600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9203.41 |3067.55 |3464.10 |20000.00 | 43\n",
+ "glideslope | 2.967 |14.304 | 0.498 |7630.149 | 341\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 1.2 1.2 0.0 | -2.7 -5.5 -0.1 | 5.5 2.9 -0.0\n",
+ "velocity | 0.066 -0.010 -0.909 | 0.027 0.039 0.127 | -0.067 -0.151 -1.336 | 0.146 0.152 -0.264\n",
+ "fuel |340.57 | 31.61 |281.83 |450.62\n",
+ "attitude_321 | -0.030 -0.016 0.002 | 0.174 0.011 0.013 | -0.521 -0.048 -0.045 | 0.632 0.021 0.052\n",
+ "w | 0.001 -0.008 0.000 | 0.024 0.016 0.000 | -0.115 -0.084 -0.000 | 0.113 0.040 0.000\n",
+ "glideslope | 23.626 | 32.340 | 7.088 |1008.670\n",
+ "i : 1700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9203.75 |3062.13 |3464.10 |20000.00 | 43\n",
+ "glideslope | 2.955 |13.982 | 0.498 |7630.149 | 341\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 1.2 1.2 0.0 | -2.7 -5.5 -0.1 | 5.5 2.9 -0.0\n",
+ "velocity | 0.066 -0.010 -0.909 | 0.027 0.039 0.126 | -0.067 -0.151 -1.336 | 0.146 0.152 -0.264\n",
+ "fuel |340.47 | 31.49 |281.83 |450.62\n",
+ "attitude_321 | -0.031 -0.015 0.002 | 0.173 0.011 0.013 | -0.521 -0.048 -0.045 | 0.632 0.024 0.052\n",
+ "w | 0.001 -0.008 0.000 | 0.024 0.016 0.000 | -0.115 -0.084 -0.000 | 0.113 0.040 0.000\n",
+ "glideslope | 23.665 | 31.656 | 7.088 |1008.670\n",
+ "i : 1800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9208.19 |3061.14 |3464.10 |20000.00 | 43\n",
+ "glideslope | 2.945 |13.667 | 0.498 |7630.149 | 341\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 1.2 1.2 0.0 | -2.7 -5.5 -0.1 | 5.5 2.9 -0.0\n",
+ "velocity | 0.066 -0.010 -0.910 | 0.027 0.039 0.125 | -0.067 -0.151 -1.336 | 0.146 0.152 -0.264\n",
+ "fuel |340.40 | 31.33 |281.83 |450.62\n",
+ "attitude_321 | -0.031 -0.015 0.002 | 0.172 0.011 0.013 | -0.521 -0.048 -0.045 | 0.632 0.024 0.052\n",
+ "w | 0.001 -0.008 0.000 | 0.024 0.016 0.000 | -0.115 -0.084 -0.000 | 0.113 0.040 0.000\n",
+ "glideslope | 23.630 | 31.284 | 7.088 |1008.670\n",
+ "i : 1900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9210.41 |3061.02 |3464.10 |20000.00 | 43\n",
+ "glideslope | 2.938 |13.381 | 0.498 |7630.149 | 341\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 1.2 1.2 0.0 | -2.7 -5.5 -0.1 | 5.5 2.9 -0.0\n",
+ "velocity | 0.066 -0.010 -0.909 | 0.026 0.039 0.125 | -0.067 -0.151 -1.336 | 0.146 0.152 -0.264\n",
+ "fuel |340.30 | 31.19 |281.83 |450.62\n",
+ "attitude_321 | -0.032 -0.015 0.002 | 0.172 0.010 0.013 | -0.521 -0.048 -0.045 | 0.632 0.024 0.052\n",
+ "w | 0.001 -0.008 0.000 | 0.024 0.016 0.000 | -0.115 -0.084 -0.000 | 0.113 0.040 0.000\n",
+ "glideslope | 23.544 | 30.679 | 7.088 |1008.670\n",
+ "i : 2000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9210.12 |3063.03 |3464.10 |20000.00 | 43\n",
+ "glideslope | 2.930 |13.421 | 0.498 |7630.149 | 341\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 1.2 1.2 0.0 | -2.7 -5.5 -0.1 | 5.5 2.9 -0.0\n",
+ "velocity | 0.066 -0.010 -0.909 | 0.027 0.039 0.125 | -0.067 -0.151 -1.336 | 0.146 0.152 -0.264\n",
+ "fuel |340.30 | 31.17 |281.83 |450.62\n",
+ "attitude_321 | -0.030 -0.015 0.002 | 0.172 0.011 0.013 | -0.521 -0.048 -0.045 | 0.632 0.024 0.052\n",
+ "w | 0.001 -0.008 0.000 | 0.024 0.016 0.000 | -0.115 -0.084 -0.000 | 0.113 0.040 0.000\n",
+ "glideslope | 23.610 | 30.107 | 7.088 |1008.670\n",
+ "i : 2100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9210.66 |3067.51 |3464.10 |20000.00 | 43\n",
+ "glideslope | 2.929 |13.323 | 0.498 |7630.149 | 341\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.2 -0.0 | 1.2 1.2 0.0 | -2.7 -5.5 -0.1 | 5.5 2.9 -0.0\n",
+ "velocity | 0.066 -0.011 -0.909 | 0.026 0.039 0.125 | -0.067 -0.151 -1.336 | 0.146 0.152 -0.264\n",
+ "fuel |340.36 | 31.31 |281.83 |450.62\n",
+ "attitude_321 | -0.029 -0.015 0.002 | 0.172 0.011 0.013 | -0.521 -0.048 -0.045 | 0.632 0.024 0.052\n",
+ "w | 0.001 -0.008 0.000 | 0.024 0.016 0.000 | -0.115 -0.084 -0.000 | 0.113 0.040 0.000\n",
+ "glideslope | 23.487 | 29.466 | 7.088 |1008.670\n",
+ "i : 2200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9214.91 |3067.46 |3464.10 |20000.00 | 43\n",
+ "glideslope | 2.961 |13.439 | 0.498 |7630.149 | 341\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.2 -0.0 | 1.2 1.2 0.0 | -2.7 -7.7 -0.1 | 5.6 2.9 -0.0\n",
+ "velocity | 0.066 -0.011 -0.909 | 0.027 0.039 0.125 | -0.067 -0.151 -1.336 | 0.146 0.152 -0.264\n",
+ "fuel |340.10 | 31.25 |281.83 |450.62\n",
+ "attitude_321 | -0.028 -0.015 0.002 | 0.173 0.011 0.013 | -0.521 -0.048 -0.045 | 0.632 0.024 0.052\n",
+ "w | 0.001 -0.008 0.000 | 0.024 0.016 0.000 | -0.115 -0.084 -0.000 | 0.113 0.040 0.000\n",
+ "glideslope | 23.578 | 29.168 | 7.088 |1008.670\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 2300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9213.56 |3064.65 |3464.10 |20000.00 | 43\n",
+ "glideslope | 2.960 |13.224 | 0.498 |7630.149 | 341\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 1.2 1.2 0.0 | -2.7 -7.7 -0.1 | 5.6 2.9 -0.0\n",
+ "velocity | 0.066 -0.011 -0.909 | 0.027 0.039 0.124 | -0.067 -0.151 -1.336 | 0.146 0.152 -0.264\n",
+ "fuel |340.07 | 31.23 |281.83 |450.62\n",
+ "attitude_321 | -0.029 -0.015 0.002 | 0.173 0.011 0.013 | -0.521 -0.048 -0.045 | 0.632 0.024 0.052\n",
+ "w | 0.001 -0.008 0.000 | 0.024 0.016 0.000 | -0.115 -0.084 -0.000 | 0.113 0.040 0.000\n",
+ "glideslope | 23.572 | 29.099 | 7.088 |1008.670\n",
+ "i : 2400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9211.53 |3062.60 |3464.10 |20000.00 | 43\n",
+ "glideslope | 2.959 |13.233 | 0.439 |7630.149 | 341\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 1.2 1.2 0.0 | -2.7 -7.7 -0.1 | 6.2 2.9 -0.0\n",
+ "velocity | 0.066 -0.011 -0.909 | 0.027 0.039 0.124 | -0.067 -0.151 -1.336 | 0.146 0.152 -0.264\n",
+ "fuel |339.99 | 31.20 |281.83 |450.62\n",
+ "attitude_321 | -0.029 -0.015 0.002 | 0.173 0.011 0.013 | -0.521 -0.048 -0.045 | 0.632 0.024 0.052\n",
+ "w | 0.001 -0.008 0.000 | 0.024 0.016 0.000 | -0.115 -0.084 -0.000 | 0.113 0.063 0.000\n",
+ "glideslope | 23.608 | 28.773 | 7.088 |1008.670\n",
+ "i : 2500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9208.89 |3063.76 |3464.10 |20000.00 | 43\n",
+ "glideslope | 2.942 |13.068 | 0.439 |7630.149 | 341\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 1.2 1.2 0.0 | -2.7 -7.7 -0.1 | 6.2 2.9 -0.0\n",
+ "velocity | 0.066 -0.011 -0.909 | 0.027 0.039 0.124 | -0.067 -0.151 -1.336 | 0.146 0.152 -0.264\n",
+ "fuel |340.10 | 31.32 |281.83 |450.62\n",
+ "attitude_321 | -0.029 -0.015 0.002 | 0.173 0.011 0.013 | -0.521 -0.048 -0.045 | 0.632 0.024 0.052\n",
+ "w | 0.001 -0.008 0.000 | 0.024 0.016 0.000 | -0.115 -0.084 -0.000 | 0.113 0.063 0.000\n",
+ "glideslope | 23.736 | 28.718 | 7.088 |1008.670\n",
+ "i : 2600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9207.57 |3062.67 |3464.10 |20000.00 | 43\n",
+ "glideslope | 3.006 |14.265 | 0.439 |7630.149 | 341\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 1.2 1.2 0.0 | -2.7 -7.7 -0.1 | 6.2 2.9 -0.0\n",
+ "velocity | 0.066 -0.011 -0.909 | 0.027 0.039 0.125 | -0.067 -0.151 -1.336 | 0.146 0.152 -0.264\n",
+ "fuel |340.14 | 31.26 |281.83 |450.62\n",
+ "attitude_321 | -0.029 -0.015 0.002 | 0.173 0.011 0.013 | -0.521 -0.048 -0.045 | 0.632 0.024 0.052\n",
+ "w | 0.001 -0.008 0.000 | 0.024 0.016 0.000 | -0.115 -0.084 -0.000 | 0.113 0.063 0.000\n",
+ "glideslope | 23.773 | 28.462 | 7.088 |1008.670\n",
+ "i : 2700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9206.50 |3061.18 |3464.10 |20000.00 | 43\n",
+ "glideslope | 3.002 |14.115 | 0.439 |7630.149 | 341\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.2 -0.0 | 1.2 1.2 0.0 | -2.7 -7.7 -0.1 | 6.2 2.9 -0.0\n",
+ "velocity | 0.066 -0.011 -0.908 | 0.027 0.039 0.125 | -0.067 -0.154 -1.336 | 0.146 0.152 -0.264\n",
+ "fuel |340.02 | 31.11 |281.83 |450.62\n",
+ "attitude_321 | -0.029 -0.015 0.002 | 0.174 0.011 0.013 | -0.521 -0.048 -0.045 | 0.632 0.024 0.052\n",
+ "w | 0.000 -0.008 0.000 | 0.024 0.016 0.000 | -0.115 -0.084 -0.000 | 0.113 0.063 0.000\n",
+ "glideslope | 23.760 | 28.310 | 7.088 |1008.670\n",
+ "i : 2800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9205.48 |3057.52 |3464.10 |20000.00 | 43\n",
+ "glideslope | 3.026 |14.058 | 0.439 |7630.149 | 341\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.2 -0.0 | 1.2 1.2 0.0 | -2.7 -7.7 -0.1 | 6.2 2.9 -0.0\n",
+ "velocity | 0.066 -0.011 -0.908 | 0.027 0.039 0.125 | -0.067 -0.154 -1.336 | 0.146 0.152 -0.264\n",
+ "fuel |339.85 | 31.11 |281.83 |450.62\n",
+ "attitude_321 | -0.029 -0.015 0.002 | 0.174 0.011 0.013 | -0.521 -0.048 -0.045 | 0.632 0.024 0.052\n",
+ "w | 0.000 -0.008 0.000 | 0.024 0.016 0.000 | -0.115 -0.084 -0.000 | 0.113 0.063 0.000\n",
+ "glideslope | 23.830 | 28.377 | 7.088 |1008.670\n",
+ "i : 2900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |9207.45 |3060.16 |3464.10 |20000.00 | 2807\n",
+ "glideslope | 3.037 |13.908 | 0.439 |7630.149 | 341\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 0.4 -0.1 -0.0 | 1.2 1.2 0.0 | -2.7 -7.7 -0.1 | 6.2 2.9 -0.0\n",
+ "velocity | 0.066 -0.011 -0.908 | 0.027 0.040 0.125 | -0.067 -0.154 -1.336 | 0.146 0.152 -0.264\n",
+ "fuel |340.01 | 31.17 |281.83 |450.62\n",
+ "attitude_321 | -0.029 -0.015 0.002 | 0.175 0.011 0.013 | -0.521 -0.060 -0.045 | 0.632 0.024 0.052\n",
+ "w | 0.000 -0.008 0.000 | 0.024 0.016 0.000 | -0.115 -0.084 -0.000 | 0.113 0.063 0.000\n",
+ "glideslope | 23.846 | 28.192 | 7.088 |1008.670\n"
+ ]
+ }
+ ],
+ "source": [
+ "policy.test_mode=True\n",
+ "env.lander.divert=(0,0,0)\n",
+ "env.lander.apf_pot=env.lander.apf_pot2\n",
+ "env.attitude_constraint = Attitude_constraint(attitude_parameterization, \n",
+ " attitude_penalty=-100,attitude_coeff=-10,\n",
+ " attitude_limit=(10*np.pi, np.pi, np.pi))\n",
+ "env.ic_gen = Landing_icgen(mass_uncertainty=0.05, g_uncertainty=(0.0,0.0),\n",
+ " adapt_apf_v0=True,\n",
+ " attitude_parameterization=attitude_parameterization,\n",
+ " downrange = (0,4000 , -70, -10), \n",
+ " crossrange = (-1500,1500 , -30,30), \n",
+ " altitude = (2900,3100,-90,-70),\n",
+ " yaw = (-np.pi/8, np.pi/8, 0.0, 0.0) ,\n",
+ " pitch = (np.pi/4-np.pi/8, np.pi/4+np.pi/16, -0.0, 0.0),\n",
+ " roll = (-np.pi/8, np.pi/8, -0.0, 0.0),\n",
+ " noise_u=100*np.ones(3), noise_sd=100*np.ones(3))\n",
+ "env.test_policy_batch(policy,input_normalizer,10000,print_every=100)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "policy.close_sess()\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.5.0"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/AAS-18-290_6DOF_journal/Run/Run_4km_terminal/test_4km_2100.ipynb b/AAS-18-290_6DOF_journal/Run/Run_4km_terminal/test_4km_2100.ipynb
new file mode 100644
index 0000000..615cace
--- /dev/null
+++ b/AAS-18-290_6DOF_journal/Run/Run_4km_terminal/test_4km_2100.ipynb
@@ -0,0 +1,6507 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The autoreload extension is already loaded. To reload it, use:\n",
+ " %reload_ext autoreload\n",
+ "The autoreload extension is already loaded. To reload it, use:\n",
+ " %reload_ext autoreload\n",
+ "/Users/briangaudet/Study/Subjects/MachineLearning/Projects/AAS_TEST/RUN/AAS-18-290_6DOF_manuscript/Run/Run_4km_terminal\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy as np\n",
+ "import os,sys\n",
+ "\n",
+ "\n",
+ "sys.path.append('../..')\n",
+ "sys.path.append('../../../RL_lib/Agents/PPO')\n",
+ "sys.path.append('../../../RL_lib/Utils')\n",
+ "\n",
+ "%load_ext autoreload\n",
+ "%load_ext autoreload\n",
+ "%autoreload 2\n",
+ "%matplotlib nbagg\n",
+ "import os\n",
+ "print(os.getcwd())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ ""
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "%%html\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Load Policy"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "6dof dynamics model\n",
+ "Quaternion_attitude\n",
+ "Thruster Config Shape: (4, 6) 4\n",
+ "Inertia Tensor: [[2000. 0. 0.]\n",
+ " [ 0. 2000. 0.]\n",
+ " [ 0. 0. 3200.]]\n",
+ "Lander Model: \n",
+ " - apf_v0: 70\n",
+ " - apf_vf1: [ 0. 0. -2.]\n",
+ " - apf_vf2: [ 0. 0. -1.]\n",
+ " - apf_atarg: 15.0\n",
+ " - apf_tau1: 20\n",
+ " - apf_tau2: 100.0\n",
+ "Reward_terminal\n",
+ "queue fixed\n",
+ "Flat Constraint\n",
+ "Attitude Constraint\n"
+ ]
+ },
+ {
+ "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 = $('');\n",
+ " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+ " 'ui-button-icon-only');\n",
+ " button.attr('role', 'button');\n",
+ " button.attr('aria-disabled', 'false');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ "\n",
+ " var icon_img = $('');\n",
+ " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+ " icon_img.addClass(image);\n",
+ " icon_img.addClass('ui-corner-all');\n",
+ "\n",
+ " var tooltip_span = $('');\n",
+ " tooltip_span.addClass('ui-button-text');\n",
+ " tooltip_span.html(tooltip);\n",
+ "\n",
+ " button.append(icon_img);\n",
+ " button.append(tooltip_span);\n",
+ "\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker_span = $('');\n",
+ "\n",
+ " var fmt_picker = $('');\n",
+ " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+ " fmt_picker_span.append(fmt_picker);\n",
+ " nav_element.append(fmt_picker_span);\n",
+ " this.format_dropdown = fmt_picker[0];\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = $(\n",
+ " '', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+ " fmt_picker.append(option)\n",
+ " }\n",
+ "\n",
+ " // Add hover states to the ui-buttons\n",
+ " $( \".ui-button\" ).hover(\n",
+ " function() { $(this).addClass(\"ui-state-hover\");},\n",
+ " function() { $(this).removeClass(\"ui-state-hover\");}\n",
+ " );\n",
+ "\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function(type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function() {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1]);\n",
+ " fig.send_message(\"refresh\", {});\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+ " var x0 = msg['x0'] / mpl.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+ " var x1 = msg['x1'] / mpl.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0, 0, fig.canvas.width, fig.canvas.height);\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+ " var cursor = msg['cursor'];\n",
+ " switch(cursor)\n",
+ " {\n",
+ " case 0:\n",
+ " cursor = 'pointer';\n",
+ " break;\n",
+ " case 1:\n",
+ " cursor = 'default';\n",
+ " break;\n",
+ " case 2:\n",
+ " cursor = 'crosshair';\n",
+ " break;\n",
+ " case 3:\n",
+ " cursor = 'move';\n",
+ " break;\n",
+ " }\n",
+ " fig.rubberband_canvas.style.cursor = cursor;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message(\"ack\", {});\n",
+ "}\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " evt.data.type = \"image/png\";\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " evt.data);\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig[\"handle_\" + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function(e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e)\n",
+ " e = window.event;\n",
+ " if (e.target)\n",
+ " targ = e.target;\n",
+ " else if (e.srcElement)\n",
+ " targ = e.srcElement;\n",
+ " if (targ.nodeType == 3) // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ "\n",
+ " // jQuery normalizes the pageX and pageY\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " // offset() returns the position of the element relative to the document\n",
+ " var x = e.pageX - $(targ).offset().left;\n",
+ " var y = e.pageY - $(targ).offset().top;\n",
+ "\n",
+ " return {\"x\": x, \"y\": y};\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * http://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys (original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object')\n",
+ " obj[key] = original[key]\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+ " var canvas_pos = mpl.findpos(event)\n",
+ "\n",
+ " if (name === 'button_press')\n",
+ " {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * mpl.ratio;\n",
+ " var y = canvas_pos.y * mpl.ratio;\n",
+ "\n",
+ " this.send_message(name, {x: x, y: y, button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function(event, name) {\n",
+ "\n",
+ " // Prevent repeat events\n",
+ " if (name == 'key_press')\n",
+ " {\n",
+ " if (event.which === this._key)\n",
+ " return;\n",
+ " else\n",
+ " this._key = event.which;\n",
+ " }\n",
+ " if (name == 'key_release')\n",
+ " this._key = null;\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.which != 17)\n",
+ " value += \"ctrl+\";\n",
+ " if (event.altKey && event.which != 18)\n",
+ " value += \"alt+\";\n",
+ " if (event.shiftKey && event.which != 16)\n",
+ " value += \"shift+\";\n",
+ "\n",
+ " value += 'k';\n",
+ " value += event.which.toString();\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, {key: value,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+ " if (name == 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message(\"toolbar_button\", {name: name});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.close = function() {\n",
+ " comm.close()\n",
+ " };\n",
+ " ws.send = function(m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function(msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
+ " ws.onmessage(msg['content']['data'])\n",
+ " });\n",
+ " return ws;\n",
+ "}\n",
+ "\n",
+ "mpl.mpl_figure_comm = function(comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = $(\"#\" + id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm)\n",
+ "\n",
+ " function ondownload(figure, format) {\n",
+ " window.open(figure.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy,\n",
+ " ondownload,\n",
+ " element.get(0));\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element.get(0);\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error(\"Failed to find cell for figure\", id, fig);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var output_index = fig.cell_info[2]\n",
+ " var cell = fig.cell_info[0];\n",
+ "\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+ " var width = fig.canvas.width/mpl.ratio\n",
+ " fig.root.unbind('remove')\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable()\n",
+ " $(fig.parent_element).html('');\n",
+ " fig.close_ws(fig, msg);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width/mpl.ratio\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] = '';\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message(\"ack\", {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () { fig.push_to_output() }, 1000);\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) { continue; };\n",
+ "\n",
+ " var button = $('');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = $('');\n",
+ " var button = $('');\n",
+ " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+ " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+ " buttongrp.append(button);\n",
+ " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+ " titlebar.prepend(buttongrp);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function(el){\n",
+ " var fig = this\n",
+ " el.on(\"remove\", function(){\n",
+ "\tfig.close_ws(fig, {});\n",
+ " });\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+ " // this is important to make the div 'focusable\n",
+ " el.attr('tabindex', 0)\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " }\n",
+ " else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " var manager = IPython.notebook.keyboard_manager;\n",
+ " if (!manager)\n",
+ " manager = IPython.keyboard_manager;\n",
+ "\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which == 13) {\n",
+ " this.canvas_div.blur();\n",
+ " event.shiftKey = false;\n",
+ " // Send a \"J\" for go to next cell\n",
+ " event.which = 74;\n",
+ " event.keyCode = 74;\n",
+ " manager.command_mode();\n",
+ " manager.handle_keydown(event);\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.find_output_cell = function(html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i=0; i= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] == html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel != null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "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 = $('');\n",
+ " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+ " 'ui-button-icon-only');\n",
+ " button.attr('role', 'button');\n",
+ " button.attr('aria-disabled', 'false');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ "\n",
+ " var icon_img = $('');\n",
+ " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+ " icon_img.addClass(image);\n",
+ " icon_img.addClass('ui-corner-all');\n",
+ "\n",
+ " var tooltip_span = $('');\n",
+ " tooltip_span.addClass('ui-button-text');\n",
+ " tooltip_span.html(tooltip);\n",
+ "\n",
+ " button.append(icon_img);\n",
+ " button.append(tooltip_span);\n",
+ "\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker_span = $('');\n",
+ "\n",
+ " var fmt_picker = $('');\n",
+ " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+ " fmt_picker_span.append(fmt_picker);\n",
+ " nav_element.append(fmt_picker_span);\n",
+ " this.format_dropdown = fmt_picker[0];\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = $(\n",
+ " '', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+ " fmt_picker.append(option)\n",
+ " }\n",
+ "\n",
+ " // Add hover states to the ui-buttons\n",
+ " $( \".ui-button\" ).hover(\n",
+ " function() { $(this).addClass(\"ui-state-hover\");},\n",
+ " function() { $(this).removeClass(\"ui-state-hover\");}\n",
+ " );\n",
+ "\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function(type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function() {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1]);\n",
+ " fig.send_message(\"refresh\", {});\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+ " var x0 = msg['x0'] / mpl.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+ " var x1 = msg['x1'] / mpl.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0, 0, fig.canvas.width, fig.canvas.height);\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+ " var cursor = msg['cursor'];\n",
+ " switch(cursor)\n",
+ " {\n",
+ " case 0:\n",
+ " cursor = 'pointer';\n",
+ " break;\n",
+ " case 1:\n",
+ " cursor = 'default';\n",
+ " break;\n",
+ " case 2:\n",
+ " cursor = 'crosshair';\n",
+ " break;\n",
+ " case 3:\n",
+ " cursor = 'move';\n",
+ " break;\n",
+ " }\n",
+ " fig.rubberband_canvas.style.cursor = cursor;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message(\"ack\", {});\n",
+ "}\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " evt.data.type = \"image/png\";\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " evt.data);\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig[\"handle_\" + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function(e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e)\n",
+ " e = window.event;\n",
+ " if (e.target)\n",
+ " targ = e.target;\n",
+ " else if (e.srcElement)\n",
+ " targ = e.srcElement;\n",
+ " if (targ.nodeType == 3) // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ "\n",
+ " // jQuery normalizes the pageX and pageY\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " // offset() returns the position of the element relative to the document\n",
+ " var x = e.pageX - $(targ).offset().left;\n",
+ " var y = e.pageY - $(targ).offset().top;\n",
+ "\n",
+ " return {\"x\": x, \"y\": y};\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * http://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys (original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object')\n",
+ " obj[key] = original[key]\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+ " var canvas_pos = mpl.findpos(event)\n",
+ "\n",
+ " if (name === 'button_press')\n",
+ " {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * mpl.ratio;\n",
+ " var y = canvas_pos.y * mpl.ratio;\n",
+ "\n",
+ " this.send_message(name, {x: x, y: y, button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function(event, name) {\n",
+ "\n",
+ " // Prevent repeat events\n",
+ " if (name == 'key_press')\n",
+ " {\n",
+ " if (event.which === this._key)\n",
+ " return;\n",
+ " else\n",
+ " this._key = event.which;\n",
+ " }\n",
+ " if (name == 'key_release')\n",
+ " this._key = null;\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.which != 17)\n",
+ " value += \"ctrl+\";\n",
+ " if (event.altKey && event.which != 18)\n",
+ " value += \"alt+\";\n",
+ " if (event.shiftKey && event.which != 16)\n",
+ " value += \"shift+\";\n",
+ "\n",
+ " value += 'k';\n",
+ " value += event.which.toString();\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, {key: value,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+ " if (name == 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message(\"toolbar_button\", {name: name});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.close = function() {\n",
+ " comm.close()\n",
+ " };\n",
+ " ws.send = function(m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function(msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
+ " ws.onmessage(msg['content']['data'])\n",
+ " });\n",
+ " return ws;\n",
+ "}\n",
+ "\n",
+ "mpl.mpl_figure_comm = function(comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = $(\"#\" + id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm)\n",
+ "\n",
+ " function ondownload(figure, format) {\n",
+ " window.open(figure.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy,\n",
+ " ondownload,\n",
+ " element.get(0));\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element.get(0);\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error(\"Failed to find cell for figure\", id, fig);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var output_index = fig.cell_info[2]\n",
+ " var cell = fig.cell_info[0];\n",
+ "\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+ " var width = fig.canvas.width/mpl.ratio\n",
+ " fig.root.unbind('remove')\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable()\n",
+ " $(fig.parent_element).html('');\n",
+ " fig.close_ws(fig, msg);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width/mpl.ratio\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] = '';\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message(\"ack\", {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () { fig.push_to_output() }, 1000);\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) { continue; };\n",
+ "\n",
+ " var button = $('');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = $('');\n",
+ " var button = $('');\n",
+ " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+ " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+ " buttongrp.append(button);\n",
+ " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+ " titlebar.prepend(buttongrp);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function(el){\n",
+ " var fig = this\n",
+ " el.on(\"remove\", function(){\n",
+ "\tfig.close_ws(fig, {});\n",
+ " });\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+ " // this is important to make the div 'focusable\n",
+ " el.attr('tabindex', 0)\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " }\n",
+ " else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " var manager = IPython.notebook.keyboard_manager;\n",
+ " if (!manager)\n",
+ " manager = IPython.keyboard_manager;\n",
+ "\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which == 13) {\n",
+ " this.canvas_div.blur();\n",
+ " event.shiftKey = false;\n",
+ " // Send a \"J\" for go to next cell\n",
+ " event.which = 74;\n",
+ " event.keyCode = 74;\n",
+ " manager.command_mode();\n",
+ " manager.handle_keydown(event);\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.find_output_cell = function(html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i=0; i= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] == html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel != null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "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 = $('');\n",
+ " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+ " 'ui-button-icon-only');\n",
+ " button.attr('role', 'button');\n",
+ " button.attr('aria-disabled', 'false');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ "\n",
+ " var icon_img = $('');\n",
+ " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+ " icon_img.addClass(image);\n",
+ " icon_img.addClass('ui-corner-all');\n",
+ "\n",
+ " var tooltip_span = $('');\n",
+ " tooltip_span.addClass('ui-button-text');\n",
+ " tooltip_span.html(tooltip);\n",
+ "\n",
+ " button.append(icon_img);\n",
+ " button.append(tooltip_span);\n",
+ "\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker_span = $('');\n",
+ "\n",
+ " var fmt_picker = $('');\n",
+ " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+ " fmt_picker_span.append(fmt_picker);\n",
+ " nav_element.append(fmt_picker_span);\n",
+ " this.format_dropdown = fmt_picker[0];\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = $(\n",
+ " '', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+ " fmt_picker.append(option)\n",
+ " }\n",
+ "\n",
+ " // Add hover states to the ui-buttons\n",
+ " $( \".ui-button\" ).hover(\n",
+ " function() { $(this).addClass(\"ui-state-hover\");},\n",
+ " function() { $(this).removeClass(\"ui-state-hover\");}\n",
+ " );\n",
+ "\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function(type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function() {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1]);\n",
+ " fig.send_message(\"refresh\", {});\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+ " var x0 = msg['x0'] / mpl.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+ " var x1 = msg['x1'] / mpl.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0, 0, fig.canvas.width, fig.canvas.height);\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+ " var cursor = msg['cursor'];\n",
+ " switch(cursor)\n",
+ " {\n",
+ " case 0:\n",
+ " cursor = 'pointer';\n",
+ " break;\n",
+ " case 1:\n",
+ " cursor = 'default';\n",
+ " break;\n",
+ " case 2:\n",
+ " cursor = 'crosshair';\n",
+ " break;\n",
+ " case 3:\n",
+ " cursor = 'move';\n",
+ " break;\n",
+ " }\n",
+ " fig.rubberband_canvas.style.cursor = cursor;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message(\"ack\", {});\n",
+ "}\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " evt.data.type = \"image/png\";\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " evt.data);\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig[\"handle_\" + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function(e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e)\n",
+ " e = window.event;\n",
+ " if (e.target)\n",
+ " targ = e.target;\n",
+ " else if (e.srcElement)\n",
+ " targ = e.srcElement;\n",
+ " if (targ.nodeType == 3) // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ "\n",
+ " // jQuery normalizes the pageX and pageY\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " // offset() returns the position of the element relative to the document\n",
+ " var x = e.pageX - $(targ).offset().left;\n",
+ " var y = e.pageY - $(targ).offset().top;\n",
+ "\n",
+ " return {\"x\": x, \"y\": y};\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * http://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys (original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object')\n",
+ " obj[key] = original[key]\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+ " var canvas_pos = mpl.findpos(event)\n",
+ "\n",
+ " if (name === 'button_press')\n",
+ " {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * mpl.ratio;\n",
+ " var y = canvas_pos.y * mpl.ratio;\n",
+ "\n",
+ " this.send_message(name, {x: x, y: y, button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function(event, name) {\n",
+ "\n",
+ " // Prevent repeat events\n",
+ " if (name == 'key_press')\n",
+ " {\n",
+ " if (event.which === this._key)\n",
+ " return;\n",
+ " else\n",
+ " this._key = event.which;\n",
+ " }\n",
+ " if (name == 'key_release')\n",
+ " this._key = null;\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.which != 17)\n",
+ " value += \"ctrl+\";\n",
+ " if (event.altKey && event.which != 18)\n",
+ " value += \"alt+\";\n",
+ " if (event.shiftKey && event.which != 16)\n",
+ " value += \"shift+\";\n",
+ "\n",
+ " value += 'k';\n",
+ " value += event.which.toString();\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, {key: value,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+ " if (name == 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message(\"toolbar_button\", {name: name});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.close = function() {\n",
+ " comm.close()\n",
+ " };\n",
+ " ws.send = function(m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function(msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
+ " ws.onmessage(msg['content']['data'])\n",
+ " });\n",
+ " return ws;\n",
+ "}\n",
+ "\n",
+ "mpl.mpl_figure_comm = function(comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = $(\"#\" + id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm)\n",
+ "\n",
+ " function ondownload(figure, format) {\n",
+ " window.open(figure.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy,\n",
+ " ondownload,\n",
+ " element.get(0));\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element.get(0);\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error(\"Failed to find cell for figure\", id, fig);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var output_index = fig.cell_info[2]\n",
+ " var cell = fig.cell_info[0];\n",
+ "\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+ " var width = fig.canvas.width/mpl.ratio\n",
+ " fig.root.unbind('remove')\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable()\n",
+ " $(fig.parent_element).html('');\n",
+ " fig.close_ws(fig, msg);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width/mpl.ratio\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] = '';\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message(\"ack\", {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () { fig.push_to_output() }, 1000);\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) { continue; };\n",
+ "\n",
+ " var button = $('');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = $('');\n",
+ " var button = $('');\n",
+ " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+ " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+ " buttongrp.append(button);\n",
+ " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+ " titlebar.prepend(buttongrp);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function(el){\n",
+ " var fig = this\n",
+ " el.on(\"remove\", function(){\n",
+ "\tfig.close_ws(fig, {});\n",
+ " });\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+ " // this is important to make the div 'focusable\n",
+ " el.attr('tabindex', 0)\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " }\n",
+ " else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " var manager = IPython.notebook.keyboard_manager;\n",
+ " if (!manager)\n",
+ " manager = IPython.keyboard_manager;\n",
+ "\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which == 13) {\n",
+ " this.canvas_div.blur();\n",
+ " event.shiftKey = false;\n",
+ " // Send a \"J\" for go to next cell\n",
+ " event.which = 74;\n",
+ " event.keyCode = 74;\n",
+ " manager.command_mode();\n",
+ " manager.handle_keydown(event);\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.find_output_cell = function(html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i=0; i= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] == html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel != null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "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 = $('');\n",
+ " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+ " 'ui-button-icon-only');\n",
+ " button.attr('role', 'button');\n",
+ " button.attr('aria-disabled', 'false');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ "\n",
+ " var icon_img = $('');\n",
+ " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+ " icon_img.addClass(image);\n",
+ " icon_img.addClass('ui-corner-all');\n",
+ "\n",
+ " var tooltip_span = $('');\n",
+ " tooltip_span.addClass('ui-button-text');\n",
+ " tooltip_span.html(tooltip);\n",
+ "\n",
+ " button.append(icon_img);\n",
+ " button.append(tooltip_span);\n",
+ "\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker_span = $('');\n",
+ "\n",
+ " var fmt_picker = $('');\n",
+ " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+ " fmt_picker_span.append(fmt_picker);\n",
+ " nav_element.append(fmt_picker_span);\n",
+ " this.format_dropdown = fmt_picker[0];\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = $(\n",
+ " '', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+ " fmt_picker.append(option)\n",
+ " }\n",
+ "\n",
+ " // Add hover states to the ui-buttons\n",
+ " $( \".ui-button\" ).hover(\n",
+ " function() { $(this).addClass(\"ui-state-hover\");},\n",
+ " function() { $(this).removeClass(\"ui-state-hover\");}\n",
+ " );\n",
+ "\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function(type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function() {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1]);\n",
+ " fig.send_message(\"refresh\", {});\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+ " var x0 = msg['x0'] / mpl.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+ " var x1 = msg['x1'] / mpl.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0, 0, fig.canvas.width, fig.canvas.height);\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+ " var cursor = msg['cursor'];\n",
+ " switch(cursor)\n",
+ " {\n",
+ " case 0:\n",
+ " cursor = 'pointer';\n",
+ " break;\n",
+ " case 1:\n",
+ " cursor = 'default';\n",
+ " break;\n",
+ " case 2:\n",
+ " cursor = 'crosshair';\n",
+ " break;\n",
+ " case 3:\n",
+ " cursor = 'move';\n",
+ " break;\n",
+ " }\n",
+ " fig.rubberband_canvas.style.cursor = cursor;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message(\"ack\", {});\n",
+ "}\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " evt.data.type = \"image/png\";\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " evt.data);\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig[\"handle_\" + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function(e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e)\n",
+ " e = window.event;\n",
+ " if (e.target)\n",
+ " targ = e.target;\n",
+ " else if (e.srcElement)\n",
+ " targ = e.srcElement;\n",
+ " if (targ.nodeType == 3) // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ "\n",
+ " // jQuery normalizes the pageX and pageY\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " // offset() returns the position of the element relative to the document\n",
+ " var x = e.pageX - $(targ).offset().left;\n",
+ " var y = e.pageY - $(targ).offset().top;\n",
+ "\n",
+ " return {\"x\": x, \"y\": y};\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * http://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys (original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object')\n",
+ " obj[key] = original[key]\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+ " var canvas_pos = mpl.findpos(event)\n",
+ "\n",
+ " if (name === 'button_press')\n",
+ " {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * mpl.ratio;\n",
+ " var y = canvas_pos.y * mpl.ratio;\n",
+ "\n",
+ " this.send_message(name, {x: x, y: y, button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function(event, name) {\n",
+ "\n",
+ " // Prevent repeat events\n",
+ " if (name == 'key_press')\n",
+ " {\n",
+ " if (event.which === this._key)\n",
+ " return;\n",
+ " else\n",
+ " this._key = event.which;\n",
+ " }\n",
+ " if (name == 'key_release')\n",
+ " this._key = null;\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.which != 17)\n",
+ " value += \"ctrl+\";\n",
+ " if (event.altKey && event.which != 18)\n",
+ " value += \"alt+\";\n",
+ " if (event.shiftKey && event.which != 16)\n",
+ " value += \"shift+\";\n",
+ "\n",
+ " value += 'k';\n",
+ " value += event.which.toString();\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, {key: value,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+ " if (name == 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message(\"toolbar_button\", {name: name});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.close = function() {\n",
+ " comm.close()\n",
+ " };\n",
+ " ws.send = function(m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function(msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
+ " ws.onmessage(msg['content']['data'])\n",
+ " });\n",
+ " return ws;\n",
+ "}\n",
+ "\n",
+ "mpl.mpl_figure_comm = function(comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = $(\"#\" + id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm)\n",
+ "\n",
+ " function ondownload(figure, format) {\n",
+ " window.open(figure.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy,\n",
+ " ondownload,\n",
+ " element.get(0));\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element.get(0);\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error(\"Failed to find cell for figure\", id, fig);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var output_index = fig.cell_info[2]\n",
+ " var cell = fig.cell_info[0];\n",
+ "\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+ " var width = fig.canvas.width/mpl.ratio\n",
+ " fig.root.unbind('remove')\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable()\n",
+ " $(fig.parent_element).html('');\n",
+ " fig.close_ws(fig, msg);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width/mpl.ratio\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] = '';\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message(\"ack\", {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () { fig.push_to_output() }, 1000);\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) { continue; };\n",
+ "\n",
+ " var button = $('');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = $('');\n",
+ " var button = $('');\n",
+ " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+ " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+ " buttongrp.append(button);\n",
+ " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+ " titlebar.prepend(buttongrp);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function(el){\n",
+ " var fig = this\n",
+ " el.on(\"remove\", function(){\n",
+ "\tfig.close_ws(fig, {});\n",
+ " });\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+ " // this is important to make the div 'focusable\n",
+ " el.attr('tabindex', 0)\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " }\n",
+ " else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " var manager = IPython.notebook.keyboard_manager;\n",
+ " if (!manager)\n",
+ " manager = IPython.keyboard_manager;\n",
+ "\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which == 13) {\n",
+ " this.canvas_div.blur();\n",
+ " event.shiftKey = false;\n",
+ " // Send a \"J\" for go to next cell\n",
+ " event.which = 74;\n",
+ " event.keyCode = 74;\n",
+ " manager.command_mode();\n",
+ " manager.handle_keydown(event);\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.find_output_cell = function(html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i=0; i= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] == html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel != null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "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 = $('');\n",
+ " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+ " 'ui-button-icon-only');\n",
+ " button.attr('role', 'button');\n",
+ " button.attr('aria-disabled', 'false');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ "\n",
+ " var icon_img = $('');\n",
+ " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+ " icon_img.addClass(image);\n",
+ " icon_img.addClass('ui-corner-all');\n",
+ "\n",
+ " var tooltip_span = $('');\n",
+ " tooltip_span.addClass('ui-button-text');\n",
+ " tooltip_span.html(tooltip);\n",
+ "\n",
+ " button.append(icon_img);\n",
+ " button.append(tooltip_span);\n",
+ "\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker_span = $('');\n",
+ "\n",
+ " var fmt_picker = $('');\n",
+ " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+ " fmt_picker_span.append(fmt_picker);\n",
+ " nav_element.append(fmt_picker_span);\n",
+ " this.format_dropdown = fmt_picker[0];\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = $(\n",
+ " '', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+ " fmt_picker.append(option)\n",
+ " }\n",
+ "\n",
+ " // Add hover states to the ui-buttons\n",
+ " $( \".ui-button\" ).hover(\n",
+ " function() { $(this).addClass(\"ui-state-hover\");},\n",
+ " function() { $(this).removeClass(\"ui-state-hover\");}\n",
+ " );\n",
+ "\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function(type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function() {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1]);\n",
+ " fig.send_message(\"refresh\", {});\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+ " var x0 = msg['x0'] / mpl.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+ " var x1 = msg['x1'] / mpl.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0, 0, fig.canvas.width, fig.canvas.height);\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+ " var cursor = msg['cursor'];\n",
+ " switch(cursor)\n",
+ " {\n",
+ " case 0:\n",
+ " cursor = 'pointer';\n",
+ " break;\n",
+ " case 1:\n",
+ " cursor = 'default';\n",
+ " break;\n",
+ " case 2:\n",
+ " cursor = 'crosshair';\n",
+ " break;\n",
+ " case 3:\n",
+ " cursor = 'move';\n",
+ " break;\n",
+ " }\n",
+ " fig.rubberband_canvas.style.cursor = cursor;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message(\"ack\", {});\n",
+ "}\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " evt.data.type = \"image/png\";\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " evt.data);\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig[\"handle_\" + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function(e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e)\n",
+ " e = window.event;\n",
+ " if (e.target)\n",
+ " targ = e.target;\n",
+ " else if (e.srcElement)\n",
+ " targ = e.srcElement;\n",
+ " if (targ.nodeType == 3) // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ "\n",
+ " // jQuery normalizes the pageX and pageY\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " // offset() returns the position of the element relative to the document\n",
+ " var x = e.pageX - $(targ).offset().left;\n",
+ " var y = e.pageY - $(targ).offset().top;\n",
+ "\n",
+ " return {\"x\": x, \"y\": y};\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * http://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys (original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object')\n",
+ " obj[key] = original[key]\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+ " var canvas_pos = mpl.findpos(event)\n",
+ "\n",
+ " if (name === 'button_press')\n",
+ " {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * mpl.ratio;\n",
+ " var y = canvas_pos.y * mpl.ratio;\n",
+ "\n",
+ " this.send_message(name, {x: x, y: y, button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function(event, name) {\n",
+ "\n",
+ " // Prevent repeat events\n",
+ " if (name == 'key_press')\n",
+ " {\n",
+ " if (event.which === this._key)\n",
+ " return;\n",
+ " else\n",
+ " this._key = event.which;\n",
+ " }\n",
+ " if (name == 'key_release')\n",
+ " this._key = null;\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.which != 17)\n",
+ " value += \"ctrl+\";\n",
+ " if (event.altKey && event.which != 18)\n",
+ " value += \"alt+\";\n",
+ " if (event.shiftKey && event.which != 16)\n",
+ " value += \"shift+\";\n",
+ "\n",
+ " value += 'k';\n",
+ " value += event.which.toString();\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, {key: value,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+ " if (name == 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message(\"toolbar_button\", {name: name});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.close = function() {\n",
+ " comm.close()\n",
+ " };\n",
+ " ws.send = function(m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function(msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
+ " ws.onmessage(msg['content']['data'])\n",
+ " });\n",
+ " return ws;\n",
+ "}\n",
+ "\n",
+ "mpl.mpl_figure_comm = function(comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = $(\"#\" + id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm)\n",
+ "\n",
+ " function ondownload(figure, format) {\n",
+ " window.open(figure.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy,\n",
+ " ondownload,\n",
+ " element.get(0));\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element.get(0);\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error(\"Failed to find cell for figure\", id, fig);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var output_index = fig.cell_info[2]\n",
+ " var cell = fig.cell_info[0];\n",
+ "\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+ " var width = fig.canvas.width/mpl.ratio\n",
+ " fig.root.unbind('remove')\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable()\n",
+ " $(fig.parent_element).html('');\n",
+ " fig.close_ws(fig, msg);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width/mpl.ratio\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] = '';\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message(\"ack\", {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () { fig.push_to_output() }, 1000);\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) { continue; };\n",
+ "\n",
+ " var button = $('');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = $('');\n",
+ " var button = $('');\n",
+ " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+ " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+ " buttongrp.append(button);\n",
+ " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+ " titlebar.prepend(buttongrp);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function(el){\n",
+ " var fig = this\n",
+ " el.on(\"remove\", function(){\n",
+ "\tfig.close_ws(fig, {});\n",
+ " });\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+ " // this is important to make the div 'focusable\n",
+ " el.attr('tabindex', 0)\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " }\n",
+ " else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " var manager = IPython.notebook.keyboard_manager;\n",
+ " if (!manager)\n",
+ " manager = IPython.keyboard_manager;\n",
+ "\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which == 13) {\n",
+ " this.canvas_div.blur();\n",
+ " event.shiftKey = false;\n",
+ " // Send a \"J\" for go to next cell\n",
+ " event.which = 74;\n",
+ " event.keyCode = 74;\n",
+ " manager.command_mode();\n",
+ " manager.handle_keydown(event);\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.find_output_cell = function(html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i=0; i= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] == html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel != null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "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 = $('');\n",
+ " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+ " 'ui-button-icon-only');\n",
+ " button.attr('role', 'button');\n",
+ " button.attr('aria-disabled', 'false');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ "\n",
+ " var icon_img = $('');\n",
+ " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+ " icon_img.addClass(image);\n",
+ " icon_img.addClass('ui-corner-all');\n",
+ "\n",
+ " var tooltip_span = $('');\n",
+ " tooltip_span.addClass('ui-button-text');\n",
+ " tooltip_span.html(tooltip);\n",
+ "\n",
+ " button.append(icon_img);\n",
+ " button.append(tooltip_span);\n",
+ "\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker_span = $('');\n",
+ "\n",
+ " var fmt_picker = $('');\n",
+ " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+ " fmt_picker_span.append(fmt_picker);\n",
+ " nav_element.append(fmt_picker_span);\n",
+ " this.format_dropdown = fmt_picker[0];\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = $(\n",
+ " '', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+ " fmt_picker.append(option)\n",
+ " }\n",
+ "\n",
+ " // Add hover states to the ui-buttons\n",
+ " $( \".ui-button\" ).hover(\n",
+ " function() { $(this).addClass(\"ui-state-hover\");},\n",
+ " function() { $(this).removeClass(\"ui-state-hover\");}\n",
+ " );\n",
+ "\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function(type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function() {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1]);\n",
+ " fig.send_message(\"refresh\", {});\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+ " var x0 = msg['x0'] / mpl.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+ " var x1 = msg['x1'] / mpl.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0, 0, fig.canvas.width, fig.canvas.height);\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+ " var cursor = msg['cursor'];\n",
+ " switch(cursor)\n",
+ " {\n",
+ " case 0:\n",
+ " cursor = 'pointer';\n",
+ " break;\n",
+ " case 1:\n",
+ " cursor = 'default';\n",
+ " break;\n",
+ " case 2:\n",
+ " cursor = 'crosshair';\n",
+ " break;\n",
+ " case 3:\n",
+ " cursor = 'move';\n",
+ " break;\n",
+ " }\n",
+ " fig.rubberband_canvas.style.cursor = cursor;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message(\"ack\", {});\n",
+ "}\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " evt.data.type = \"image/png\";\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " evt.data);\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig[\"handle_\" + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function(e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e)\n",
+ " e = window.event;\n",
+ " if (e.target)\n",
+ " targ = e.target;\n",
+ " else if (e.srcElement)\n",
+ " targ = e.srcElement;\n",
+ " if (targ.nodeType == 3) // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ "\n",
+ " // jQuery normalizes the pageX and pageY\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " // offset() returns the position of the element relative to the document\n",
+ " var x = e.pageX - $(targ).offset().left;\n",
+ " var y = e.pageY - $(targ).offset().top;\n",
+ "\n",
+ " return {\"x\": x, \"y\": y};\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * http://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys (original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object')\n",
+ " obj[key] = original[key]\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+ " var canvas_pos = mpl.findpos(event)\n",
+ "\n",
+ " if (name === 'button_press')\n",
+ " {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * mpl.ratio;\n",
+ " var y = canvas_pos.y * mpl.ratio;\n",
+ "\n",
+ " this.send_message(name, {x: x, y: y, button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function(event, name) {\n",
+ "\n",
+ " // Prevent repeat events\n",
+ " if (name == 'key_press')\n",
+ " {\n",
+ " if (event.which === this._key)\n",
+ " return;\n",
+ " else\n",
+ " this._key = event.which;\n",
+ " }\n",
+ " if (name == 'key_release')\n",
+ " this._key = null;\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.which != 17)\n",
+ " value += \"ctrl+\";\n",
+ " if (event.altKey && event.which != 18)\n",
+ " value += \"alt+\";\n",
+ " if (event.shiftKey && event.which != 16)\n",
+ " value += \"shift+\";\n",
+ "\n",
+ " value += 'k';\n",
+ " value += event.which.toString();\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, {key: value,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+ " if (name == 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message(\"toolbar_button\", {name: name});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.close = function() {\n",
+ " comm.close()\n",
+ " };\n",
+ " ws.send = function(m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function(msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
+ " ws.onmessage(msg['content']['data'])\n",
+ " });\n",
+ " return ws;\n",
+ "}\n",
+ "\n",
+ "mpl.mpl_figure_comm = function(comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = $(\"#\" + id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm)\n",
+ "\n",
+ " function ondownload(figure, format) {\n",
+ " window.open(figure.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy,\n",
+ " ondownload,\n",
+ " element.get(0));\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element.get(0);\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error(\"Failed to find cell for figure\", id, fig);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var output_index = fig.cell_info[2]\n",
+ " var cell = fig.cell_info[0];\n",
+ "\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+ " var width = fig.canvas.width/mpl.ratio\n",
+ " fig.root.unbind('remove')\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable()\n",
+ " $(fig.parent_element).html('');\n",
+ " fig.close_ws(fig, msg);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width/mpl.ratio\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] = '';\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message(\"ack\", {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () { fig.push_to_output() }, 1000);\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) { continue; };\n",
+ "\n",
+ " var button = $('');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = $('');\n",
+ " var button = $('');\n",
+ " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+ " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+ " buttongrp.append(button);\n",
+ " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+ " titlebar.prepend(buttongrp);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function(el){\n",
+ " var fig = this\n",
+ " el.on(\"remove\", function(){\n",
+ "\tfig.close_ws(fig, {});\n",
+ " });\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+ " // this is important to make the div 'focusable\n",
+ " el.attr('tabindex', 0)\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " }\n",
+ " else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " var manager = IPython.notebook.keyboard_manager;\n",
+ " if (!manager)\n",
+ " manager = IPython.keyboard_manager;\n",
+ "\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which == 13) {\n",
+ " this.canvas_div.blur();\n",
+ " event.shiftKey = false;\n",
+ " // Send a \"J\" for go to next cell\n",
+ " event.which = 74;\n",
+ " event.keyCode = 74;\n",
+ " manager.command_mode();\n",
+ " manager.handle_keydown(event);\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.find_output_cell = function(html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i=0; i= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] == html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel != null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "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 = $('');\n",
+ " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+ " 'ui-button-icon-only');\n",
+ " button.attr('role', 'button');\n",
+ " button.attr('aria-disabled', 'false');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ "\n",
+ " var icon_img = $('');\n",
+ " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+ " icon_img.addClass(image);\n",
+ " icon_img.addClass('ui-corner-all');\n",
+ "\n",
+ " var tooltip_span = $('');\n",
+ " tooltip_span.addClass('ui-button-text');\n",
+ " tooltip_span.html(tooltip);\n",
+ "\n",
+ " button.append(icon_img);\n",
+ " button.append(tooltip_span);\n",
+ "\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker_span = $('');\n",
+ "\n",
+ " var fmt_picker = $('');\n",
+ " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+ " fmt_picker_span.append(fmt_picker);\n",
+ " nav_element.append(fmt_picker_span);\n",
+ " this.format_dropdown = fmt_picker[0];\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = $(\n",
+ " '', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+ " fmt_picker.append(option)\n",
+ " }\n",
+ "\n",
+ " // Add hover states to the ui-buttons\n",
+ " $( \".ui-button\" ).hover(\n",
+ " function() { $(this).addClass(\"ui-state-hover\");},\n",
+ " function() { $(this).removeClass(\"ui-state-hover\");}\n",
+ " );\n",
+ "\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function(type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function() {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1]);\n",
+ " fig.send_message(\"refresh\", {});\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+ " var x0 = msg['x0'] / mpl.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+ " var x1 = msg['x1'] / mpl.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0, 0, fig.canvas.width, fig.canvas.height);\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+ " var cursor = msg['cursor'];\n",
+ " switch(cursor)\n",
+ " {\n",
+ " case 0:\n",
+ " cursor = 'pointer';\n",
+ " break;\n",
+ " case 1:\n",
+ " cursor = 'default';\n",
+ " break;\n",
+ " case 2:\n",
+ " cursor = 'crosshair';\n",
+ " break;\n",
+ " case 3:\n",
+ " cursor = 'move';\n",
+ " break;\n",
+ " }\n",
+ " fig.rubberband_canvas.style.cursor = cursor;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message(\"ack\", {});\n",
+ "}\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " evt.data.type = \"image/png\";\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " evt.data);\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig[\"handle_\" + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function(e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e)\n",
+ " e = window.event;\n",
+ " if (e.target)\n",
+ " targ = e.target;\n",
+ " else if (e.srcElement)\n",
+ " targ = e.srcElement;\n",
+ " if (targ.nodeType == 3) // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ "\n",
+ " // jQuery normalizes the pageX and pageY\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " // offset() returns the position of the element relative to the document\n",
+ " var x = e.pageX - $(targ).offset().left;\n",
+ " var y = e.pageY - $(targ).offset().top;\n",
+ "\n",
+ " return {\"x\": x, \"y\": y};\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * http://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys (original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object')\n",
+ " obj[key] = original[key]\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+ " var canvas_pos = mpl.findpos(event)\n",
+ "\n",
+ " if (name === 'button_press')\n",
+ " {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * mpl.ratio;\n",
+ " var y = canvas_pos.y * mpl.ratio;\n",
+ "\n",
+ " this.send_message(name, {x: x, y: y, button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function(event, name) {\n",
+ "\n",
+ " // Prevent repeat events\n",
+ " if (name == 'key_press')\n",
+ " {\n",
+ " if (event.which === this._key)\n",
+ " return;\n",
+ " else\n",
+ " this._key = event.which;\n",
+ " }\n",
+ " if (name == 'key_release')\n",
+ " this._key = null;\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.which != 17)\n",
+ " value += \"ctrl+\";\n",
+ " if (event.altKey && event.which != 18)\n",
+ " value += \"alt+\";\n",
+ " if (event.shiftKey && event.which != 16)\n",
+ " value += \"shift+\";\n",
+ "\n",
+ " value += 'k';\n",
+ " value += event.which.toString();\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, {key: value,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+ " if (name == 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message(\"toolbar_button\", {name: name});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.close = function() {\n",
+ " comm.close()\n",
+ " };\n",
+ " ws.send = function(m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function(msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
+ " ws.onmessage(msg['content']['data'])\n",
+ " });\n",
+ " return ws;\n",
+ "}\n",
+ "\n",
+ "mpl.mpl_figure_comm = function(comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = $(\"#\" + id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm)\n",
+ "\n",
+ " function ondownload(figure, format) {\n",
+ " window.open(figure.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy,\n",
+ " ondownload,\n",
+ " element.get(0));\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element.get(0);\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error(\"Failed to find cell for figure\", id, fig);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var output_index = fig.cell_info[2]\n",
+ " var cell = fig.cell_info[0];\n",
+ "\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+ " var width = fig.canvas.width/mpl.ratio\n",
+ " fig.root.unbind('remove')\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable()\n",
+ " $(fig.parent_element).html('');\n",
+ " fig.close_ws(fig, msg);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width/mpl.ratio\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] = '';\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message(\"ack\", {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () { fig.push_to_output() }, 1000);\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) { continue; };\n",
+ "\n",
+ " var button = $('');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = $('');\n",
+ " var button = $('');\n",
+ " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+ " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+ " buttongrp.append(button);\n",
+ " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+ " titlebar.prepend(buttongrp);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function(el){\n",
+ " var fig = this\n",
+ " el.on(\"remove\", function(){\n",
+ "\tfig.close_ws(fig, {});\n",
+ " });\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+ " // this is important to make the div 'focusable\n",
+ " el.attr('tabindex', 0)\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " }\n",
+ " else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " var manager = IPython.notebook.keyboard_manager;\n",
+ " if (!manager)\n",
+ " manager = IPython.keyboard_manager;\n",
+ "\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which == 13) {\n",
+ " this.canvas_div.blur();\n",
+ " event.shiftKey = false;\n",
+ " // Send a \"J\" for go to next cell\n",
+ " event.which = 74;\n",
+ " event.keyCode = 74;\n",
+ " manager.command_mode();\n",
+ " manager.handle_keydown(event);\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.find_output_cell = function(html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i=0; i= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] == html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel != null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ ""
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "lander env att 2 fixed\n",
+ "Landing_icgen:\n",
+ " downrange : (0, 2000, -70, -10)\n",
+ " crossrange : (-1000, 1000, -30, 30)\n",
+ " altitude : (2300, 2400, -90, -70)\n",
+ "PPO Policy 1\n",
+ "Policy Params -- h1: 120, h2: 69, h3: 40, lr: 0.000108, logvar_speed: 8\n",
+ "[[-1.]\n",
+ " [ 0.]\n",
+ " [ 1.]]\n",
+ "10\n",
+ "Actor Test Mode: False\n",
+ "clip param: 0.1\n",
+ "dict_keys(['h3/kernel:0', 'means/bias:0', 'means/kernel:0', 'logvars:0', 'h1/bias:0', 'h2/kernel:0', 'h1/kernel:0', 'h3/bias:0', 'h2/bias:0'])\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "from env_mdr import Env\n",
+ "from reward_terminal_mdr import Reward\n",
+ "import env_utils as envu\n",
+ "import attitude_utils as attu\n",
+ "from dynamics_model import Dynamics_model\n",
+ "from lander_model import Lander_model\n",
+ "from ic_gen import Landing_icgen\n",
+ "from agent_mdr2 import Agent\n",
+ "from policy_ppo import Policy\n",
+ "from value_function import Value_function\n",
+ "from utils import Mapminmax,Logger,Scaler\n",
+ "from flat_constraint import Flat_constraint\n",
+ "from glideslope_constraint import Glideslope_constraint\n",
+ "from attitude_constraint import Attitude_constraint\n",
+ "from thruster_model import Thruster_model\n",
+ "\n",
+ "logger = Logger()\n",
+ "dynamics_model = Dynamics_model()\n",
+ "attitude_parameterization = attu.Quaternion_attitude()\n",
+ "\n",
+ "thruster_model = Thruster_model()\n",
+ "thruster_model.max_thrust = 5000\n",
+ "thruster_model.min_thrust = 1000\n",
+ "\n",
+ "lander_model = Lander_model(thruster_model, attitude_parameterization=attitude_parameterization,\n",
+ " apf_v0=70, apf_atarg=15., apf_tau2=100.)\n",
+ "lander_model.get_state_agent = lander_model.get_state_agent_tgo_alt\n",
+ "\n",
+ "reward_object = Reward(tracking_bias=0.01,tracking_coeff=-0.01, fuel_coeff=-0.05, debug=False, landing_coeff=10.)\n",
+ "\n",
+ "glideslope_constraint = Glideslope_constraint(gs_limit=-1.0)\n",
+ "shape_constraint = Flat_constraint()\n",
+ "attitude_constraint = Attitude_constraint(attitude_parameterization, \n",
+ " attitude_penalty=-100,attitude_coeff=-10,\n",
+ " attitude_limit=(10*np.pi, np.pi/2-np.pi/16, np.pi/2-np.pi/16))\n",
+ "env = Env(lander_model,dynamics_model,logger,\n",
+ " reward_object=reward_object,\n",
+ " glideslope_constraint=glideslope_constraint,\n",
+ " shape_constraint=shape_constraint,\n",
+ " attitude_constraint=attitude_constraint,\n",
+ " tf_limit=120.0,print_every=10)\n",
+ "\n",
+ "\n",
+ "env.ic_gen = Landing_icgen(mass_uncertainty=0.05, \n",
+ " g_uncertainty=(0.0,0.0), \n",
+ " attitude_parameterization=attitude_parameterization,\n",
+ " l_offset=0.,\n",
+ " adapt_apf_v0=True,\n",
+ " inertia_uncertainty_diag=100.0, \n",
+ " inertia_uncertainty_offdiag=10.0,\n",
+ " downrange = (0,2000 , -70, -10), \n",
+ " crossrange = (-1000,1000 , -30,30), \n",
+ " altitude = (2300,2400,-90,-70),\n",
+ " yaw = (-np.pi/8, np.pi/8, 0.0, 0.0) ,\n",
+ " pitch = (np.pi/4-np.pi/8, np.pi/4+np.pi/16, -0.01, 0.01),\n",
+ " roll = (-np.pi/8, np.pi/8, -0.01, 0.01))\n",
+ "\n",
+ "env.ic_gen.show()\n",
+ "\n",
+ "obs_dim = 12\n",
+ "act_dim = 4\n",
+ "\n",
+ "policy = Policy(obs_dim,act_dim,kl_targ=0.001,epochs=20, beta=0.1, shuffle=True, servo_kl=True)\n",
+ "import utils\n",
+ "fname = \"optimize_4km\"\n",
+ "input_normalizer = utils.load_run(policy,fname)\n",
+ "print(input_normalizer)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Test Policy over 4km"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10164.38 |3292.38 |3464.10 |20000.00 | 5\n",
+ "glideslope | 4.077 | 7.645 | 1.028 |326.651 | 77\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.3 500.3 -0.0 | 0.9 1.1 0.0 | 497.9 497.9 -0.1 | 502.4 503.6 -0.0\n",
+ "velocity | 0.043 -0.028 -0.946 | 0.012 0.019 0.042 | 0.005 -0.084 -1.112 | 0.066 0.037 -0.796\n",
+ "fuel |310.87 | 12.32 |289.30 |348.55\n",
+ "attitude_321 | 0.032 -0.009 -0.003 | 0.112 0.005 0.007 | -0.208 -0.021 -0.017 | 0.310 0.016 0.027\n",
+ "w | -0.002 -0.006 -0.000 | 0.016 0.012 0.000 | -0.056 -0.053 -0.000 | 0.028 0.014 0.000\n",
+ "glideslope | 25.901 | 11.197 | 14.497 | 93.629\n",
+ "i : 200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10134.63 |3296.40 |3464.10 |20000.00 | 5\n",
+ "glideslope | 4.066 | 7.634 | 0.982 |326.651 | 77\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.9 497.7 -0.1 | 502.6 503.6 -0.0\n",
+ "velocity | 0.042 -0.029 -0.945 | 0.013 0.019 0.048 | -0.010 -0.093 -1.112 | 0.066 0.037 -0.779\n",
+ "fuel |311.09 | 12.27 |288.33 |348.55\n",
+ "attitude_321 | 0.042 -0.009 -0.004 | 0.112 0.006 0.007 | -0.208 -0.023 -0.017 | 0.387 0.016 0.027\n",
+ "w | -0.001 -0.005 -0.000 | 0.015 0.011 0.000 | -0.056 -0.053 -0.000 | 0.030 0.016 0.000\n",
+ "glideslope | 26.537 | 16.943 | 14.497 | 162.984\n",
+ "i : 300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10150.21 |3287.00 |3464.10 |20000.00 | 5\n",
+ "glideslope | 4.122 | 7.272 | 0.961 |326.651 | 77\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.9 497.1 -0.1 | 502.6 503.6 -0.0\n",
+ "velocity | 0.042 -0.029 -0.944 | 0.012 0.018 0.046 | -0.010 -0.093 -1.112 | 0.066 0.037 -0.776\n",
+ "fuel |310.51 | 12.54 |286.44 |348.55\n",
+ "attitude_321 | 0.040 -0.009 -0.004 | 0.108 0.005 0.007 | -0.208 -0.023 -0.020 | 0.387 0.016 0.027\n",
+ "w | -0.001 -0.004 -0.000 | 0.015 0.011 0.000 | -0.066 -0.053 -0.000 | 0.030 0.019 0.000\n",
+ "glideslope | 25.917 | 14.936 | 12.754 | 162.984\n",
+ "i : 400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10177.26 |3291.84 |3464.10 |20000.00 | 5\n",
+ "glideslope | 4.240 | 9.095 | 0.961 |1645.928 | 311\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.9 497.1 -0.1 | 502.6 503.6 -0.0\n",
+ "velocity | 0.042 -0.029 -0.947 | 0.012 0.018 0.045 | -0.010 -0.093 -1.112 | 0.066 0.037 -0.776\n",
+ "fuel |310.17 | 12.34 |286.44 |348.55\n",
+ "attitude_321 | 0.040 -0.009 -0.004 | 0.107 0.005 0.007 | -0.214 -0.023 -0.020 | 0.387 0.017 0.027\n",
+ "w | -0.001 -0.004 -0.000 | 0.015 0.011 0.000 | -0.066 -0.053 -0.000 | 0.032 0.021 0.000\n",
+ "glideslope | 25.875 | 14.079 | 12.754 | 162.984\n",
+ "i : 500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10193.23 |3296.10 |3464.10 |20000.00 | 5\n",
+ "glideslope | 4.218 | 8.795 | 0.961 |1645.928 | 311\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.3 500.3 -0.0 | 0.9 1.1 0.0 | 497.9 497.1 -0.1 | 502.6 503.6 -0.0\n",
+ "velocity | 0.042 -0.029 -0.947 | 0.013 0.018 0.044 | -0.010 -0.093 -1.112 | 0.066 0.037 -0.776\n",
+ "fuel |310.05 | 12.14 |286.44 |348.55\n",
+ "attitude_321 | 0.041 -0.009 -0.003 | 0.109 0.005 0.007 | -0.214 -0.023 -0.020 | 0.387 0.017 0.027\n",
+ "w | -0.001 -0.005 -0.000 | 0.015 0.011 0.000 | -0.066 -0.053 -0.000 | 0.034 0.021 0.000\n",
+ "glideslope | 26.294 | 14.515 | 12.754 | 162.984\n",
+ "i : 600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10196.71 |3296.46 |3464.10 |20000.00 | 530\n",
+ "glideslope | 4.225 | 8.650 | 0.960 |1645.928 | 311\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.4 500.3 -0.0 | 0.8 1.1 0.0 | 497.8 497.1 -0.1 | 502.6 503.6 -0.0\n",
+ "velocity | 0.042 -0.029 -0.947 | 0.013 0.018 0.045 | -0.012 -0.093 -1.130 | 0.066 0.037 -0.776\n",
+ "fuel |310.12 | 12.18 |280.66 |350.03\n",
+ "attitude_321 | 0.037 -0.009 -0.003 | 0.109 0.005 0.007 | -0.215 -0.023 -0.020 | 0.387 0.020 0.027\n",
+ "w | -0.001 -0.005 -0.000 | 0.015 0.011 0.000 | -0.066 -0.053 -0.000 | 0.038 0.021 0.000\n",
+ "glideslope | 26.397 | 14.446 | 12.754 | 162.984\n",
+ "i : 700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10191.75 |3292.77 |3464.10 |20000.00 | 530\n",
+ "glideslope | 4.191 | 8.345 | 0.960 |1645.928 | 311\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.3 500.3 -0.0 | 0.8 1.1 0.0 | 497.8 497.1 -0.1 | 502.6 503.6 -0.0\n",
+ "velocity | 0.042 -0.029 -0.947 | 0.013 0.018 0.045 | -0.023 -0.093 -1.183 | 0.066 0.037 -0.776\n",
+ "fuel |310.18 | 12.31 |275.74 |350.03\n",
+ "attitude_321 | 0.039 -0.009 -0.004 | 0.110 0.005 0.007 | -0.215 -0.023 -0.020 | 0.387 0.020 0.027\n",
+ "w | -0.001 -0.004 -0.000 | 0.015 0.011 0.000 | -0.066 -0.053 -0.000 | 0.038 0.021 0.000\n",
+ "glideslope | 26.096 | 13.827 | 12.754 | 162.984\n",
+ "i : 800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10193.47 |3291.26 |3464.10 |20000.00 | 530\n",
+ "glideslope | 4.191 | 8.219 | 0.960 |1645.928 | 311\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.3 500.3 -0.0 | 0.8 1.1 0.0 | 497.8 497.1 -0.1 | 502.6 503.6 -0.0\n",
+ "velocity | 0.042 -0.030 -0.947 | 0.013 0.018 0.045 | -0.023 -0.093 -1.183 | 0.066 0.037 -0.776\n",
+ "fuel |310.00 | 12.39 |275.74 |350.03\n",
+ "attitude_321 | 0.040 -0.009 -0.004 | 0.109 0.005 0.007 | -0.215 -0.027 -0.020 | 0.420 0.020 0.027\n",
+ "w | -0.002 -0.004 -0.000 | 0.015 0.011 0.000 | -0.066 -0.053 -0.000 | 0.038 0.021 0.000\n",
+ "glideslope | 26.302 | 17.449 | 12.754 | 350.115\n",
+ "i : 900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10194.84 |3291.98 |3464.10 |20000.00 | 530\n",
+ "glideslope | 4.155 | 8.030 | 0.960 |1645.928 | 311\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.4 500.3 -0.0 | 0.8 1.1 0.0 | 497.8 497.1 -0.1 | 502.6 503.6 -0.0\n",
+ "velocity | 0.042 -0.029 -0.947 | 0.013 0.018 0.045 | -0.023 -0.093 -1.183 | 0.073 0.037 -0.776\n",
+ "fuel |310.03 | 12.35 |275.74 |350.03\n",
+ "attitude_321 | 0.039 -0.009 -0.004 | 0.108 0.005 0.007 | -0.215 -0.027 -0.020 | 0.420 0.020 0.027\n",
+ "w | -0.002 -0.004 -0.000 | 0.015 0.011 0.000 | -0.066 -0.053 -0.000 | 0.038 0.022 0.000\n",
+ "glideslope | 26.117 | 16.779 | 12.754 | 350.115\n",
+ "i : 1000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10190.05 |3297.30 |3464.10 |20000.00 | 530\n",
+ "glideslope | 4.199 |10.152 | 0.960 |3295.093 | 967\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.4 500.3 -0.0 | 0.9 1.1 0.0 | 497.8 497.1 -0.1 | 502.6 503.6 -0.0\n",
+ "velocity | 0.042 -0.029 -0.946 | 0.013 0.018 0.045 | -0.023 -0.093 -1.183 | 0.073 0.037 -0.776\n",
+ "fuel |310.06 | 12.35 |275.74 |350.03\n",
+ "attitude_321 | 0.039 -0.009 -0.003 | 0.108 0.005 0.007 | -0.215 -0.027 -0.020 | 0.420 0.020 0.027\n",
+ "w | -0.002 -0.005 -0.000 | 0.015 0.010 0.000 | -0.066 -0.053 -0.000 | 0.038 0.022 0.000\n",
+ "glideslope | 26.820 | 30.302 | 12.754 | 838.421\n",
+ "i : 1100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10184.98 |3292.83 |3464.10 |20000.00 | 530\n",
+ "glideslope | 4.217 | 9.949 | 0.960 |3295.093 | 967\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.4 500.3 -0.0 | 0.8 1.1 0.0 | 497.8 496.8 -0.1 | 502.6 503.6 -0.0\n",
+ "velocity | 0.042 -0.029 -0.947 | 0.013 0.018 0.045 | -0.023 -0.093 -1.183 | 0.073 0.037 -0.770\n",
+ "fuel |310.04 | 12.31 |275.74 |350.03\n",
+ "attitude_321 | 0.039 -0.009 -0.003 | 0.108 0.005 0.007 | -0.215 -0.027 -0.020 | 0.420 0.020 0.027\n",
+ "w | -0.002 -0.005 -0.000 | 0.015 0.010 0.000 | -0.066 -0.053 -0.000 | 0.038 0.022 0.000\n",
+ "glideslope | 26.590 | 28.971 | 12.754 | 838.421\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 1200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10181.67 |3284.99 |3464.10 |20000.00 | 530\n",
+ "glideslope | 4.212 | 9.725 | 0.960 |3295.093 | 967\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.4 500.3 -0.0 | 0.9 1.1 0.0 | 497.8 496.8 -0.1 | 502.6 503.6 -0.0\n",
+ "velocity | 0.042 -0.029 -0.947 | 0.013 0.018 0.045 | -0.023 -0.093 -1.183 | 0.073 0.037 -0.731\n",
+ "fuel |309.87 | 12.28 |275.74 |350.03\n",
+ "attitude_321 | 0.039 -0.009 -0.003 | 0.108 0.005 0.007 | -0.215 -0.027 -0.022 | 0.420 0.020 0.027\n",
+ "w | -0.002 -0.005 -0.000 | 0.015 0.010 0.000 | -0.066 -0.053 -0.000 | 0.038 0.022 0.000\n",
+ "glideslope | 26.440 | 27.830 | 12.754 | 838.421\n",
+ "i : 1300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10185.62 |3285.67 |3464.10 |20000.00 | 530\n",
+ "glideslope | 4.297 |10.969 | 0.960 |3295.093 | 967\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.3 500.3 -0.0 | 0.8 1.1 0.0 | 497.8 496.8 -0.1 | 502.6 503.6 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.045 | -0.023 -0.093 -1.183 | 0.073 0.037 -0.731\n",
+ "fuel |309.84 | 12.44 |275.74 |350.03\n",
+ "attitude_321 | 0.040 -0.009 -0.004 | 0.108 0.005 0.007 | -0.219 -0.027 -0.022 | 0.420 0.020 0.027\n",
+ "w | -0.002 -0.004 -0.000 | 0.015 0.010 0.000 | -0.066 -0.053 -0.000 | 0.038 0.022 0.000\n",
+ "glideslope | 26.332 | 26.819 | 12.606 | 838.421\n",
+ "i : 1400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10183.80 |3282.03 |3464.10 |20000.00 | 530\n",
+ "glideslope | 4.288 |10.744 | 0.960 |3295.093 | 967\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.4 500.3 -0.0 | 0.8 1.1 0.0 | 497.8 496.5 -0.1 | 502.6 503.9 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.046 | -0.023 -0.093 -1.183 | 0.073 0.037 -0.505\n",
+ "fuel |309.68 | 12.43 |275.74 |350.03\n",
+ "attitude_321 | 0.040 -0.009 -0.004 | 0.107 0.005 0.007 | -0.219 -0.027 -0.022 | 0.420 0.020 0.027\n",
+ "w | -0.002 -0.004 -0.000 | 0.015 0.010 0.000 | -0.066 -0.053 -0.000 | 0.038 0.022 0.000\n",
+ "glideslope | 26.240 | 26.043 | 12.606 | 838.421\n",
+ "i : 1500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10185.72 |3285.69 |3464.10 |20000.00 | 530\n",
+ "glideslope | 4.288 |10.590 | 0.960 |3295.093 | 967\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.4 500.3 -0.0 | 0.9 1.1 0.0 | 497.3 496.5 -0.1 | 502.6 503.9 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.047 | -0.023 -0.093 -1.183 | 0.073 0.037 -0.505\n",
+ "fuel |309.74 | 12.48 |275.74 |350.03\n",
+ "attitude_321 | 0.040 -0.009 -0.003 | 0.107 0.005 0.007 | -0.219 -0.027 -0.022 | 0.420 0.020 0.027\n",
+ "w | -0.002 -0.004 -0.000 | 0.015 0.010 0.000 | -0.066 -0.053 -0.000 | 0.038 0.022 0.000\n",
+ "glideslope | 26.236 | 25.389 | 12.606 | 838.421\n",
+ "i : 1600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10185.64 |3285.34 |3464.10 |20000.00 | 530\n",
+ "glideslope | 4.275 |10.413 | 0.960 |3295.093 | 967\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.4 500.3 -0.0 | 0.9 1.1 0.0 | 497.3 496.5 -0.1 | 502.6 503.9 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.047 | -0.023 -0.093 -1.183 | 0.075 0.037 -0.505\n",
+ "fuel |309.71 | 12.47 |275.74 |350.03\n",
+ "attitude_321 | 0.040 -0.009 -0.003 | 0.107 0.005 0.007 | -0.219 -0.027 -0.022 | 0.420 0.020 0.027\n",
+ "w | -0.002 -0.005 -0.000 | 0.015 0.010 0.000 | -0.076 -0.053 -0.000 | 0.038 0.022 0.000\n",
+ "glideslope | 26.135 | 24.634 | 12.606 | 838.421\n",
+ "i : 1700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10185.86 |3287.17 |3464.10 |20000.00 | 530\n",
+ "glideslope | 4.265 |10.276 | 0.960 |3295.093 | 967\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.5 -0.1 | 502.6 503.9 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.047 | -0.023 -0.093 -1.183 | 0.080 0.037 -0.505\n",
+ "fuel |309.68 | 12.48 |275.74 |350.03\n",
+ "attitude_321 | 0.040 -0.009 -0.003 | 0.107 0.005 0.007 | -0.219 -0.027 -0.022 | 0.420 0.020 0.027\n",
+ "w | -0.002 -0.005 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.038 0.022 0.000\n",
+ "glideslope | 26.153 | 24.219 | 12.606 | 838.421\n",
+ "i : 1800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10186.24 |3289.81 |3464.10 |20000.00 | 530\n",
+ "glideslope | 4.244 |10.124 | 0.956 |3295.093 | 967\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.5 -0.1 | 502.6 503.9 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.047 | -0.023 -0.093 -1.183 | 0.080 0.037 -0.505\n",
+ "fuel |309.69 | 12.51 |275.74 |350.03\n",
+ "attitude_321 | 0.040 -0.009 -0.003 | 0.107 0.005 0.007 | -0.219 -0.027 -0.022 | 0.420 0.025 0.027\n",
+ "w | -0.002 -0.005 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n",
+ "glideslope | 26.042 | 23.595 | 11.971 | 838.421\n",
+ "i : 1900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10186.11 |3289.69 |3464.10 |20000.00 | 530\n",
+ "glideslope | 4.259 |10.084 | 0.956 |3295.093 | 967\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.4 500.3 -0.0 | 0.9 1.1 0.0 | 497.3 496.5 -0.1 | 502.6 504.2 -0.0\n",
+ "velocity | 0.042 -0.030 -0.945 | 0.013 0.018 0.047 | -0.023 -0.098 -1.183 | 0.080 0.037 -0.505\n",
+ "fuel |309.62 | 12.47 |275.74 |350.03\n",
+ "attitude_321 | 0.040 -0.009 -0.003 | 0.107 0.005 0.007 | -0.231 -0.027 -0.022 | 0.420 0.025 0.027\n",
+ "w | -0.002 -0.005 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n",
+ "glideslope | 25.987 | 23.035 | 11.971 | 838.421\n",
+ "i : 2000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10185.20 |3289.92 |3464.10 |20000.00 | 530\n",
+ "glideslope | 4.238 | 9.942 | 0.943 |3295.093 | 967\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.3 500.3 -0.0 | 0.9 1.1 0.0 | 497.3 496.5 -0.1 | 502.6 504.2 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.048 | -0.026 -0.098 -1.183 | 0.080 0.037 -0.505\n",
+ "fuel |309.57 | 12.52 |275.74 |357.90\n",
+ "attitude_321 | 0.040 -0.009 -0.003 | 0.107 0.005 0.007 | -0.231 -0.027 -0.022 | 0.420 0.025 0.027\n",
+ "w | -0.002 -0.005 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n",
+ "glideslope | 25.910 | 22.501 | 11.971 | 838.421\n",
+ "i : 2100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10187.49 |3290.32 |3464.10 |20000.00 | 530\n",
+ "glideslope | 4.274 |10.099 | 0.943 |3295.093 | 967\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.5 -0.1 | 502.6 504.2 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.048 | -0.026 -0.105 -1.271 | 0.081 0.037 -0.505\n",
+ "fuel |309.49 | 12.48 |275.74 |357.90\n",
+ "attitude_321 | 0.041 -0.009 -0.003 | 0.108 0.005 0.007 | -0.231 -0.027 -0.022 | 0.420 0.025 0.027\n",
+ "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n",
+ "glideslope | 25.948 | 22.378 | 11.971 | 838.421\n",
+ "i : 2200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10189.80 |3291.48 |3464.10 |20000.00 | 530\n",
+ "glideslope | 4.324 |42.327 | 0.943 |34097.994 | 2123\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.5 -0.1 | 502.6 504.2 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.048 | -0.026 -0.124 -1.271 | 0.081 0.037 -0.505\n",
+ "fuel |309.55 | 12.49 |275.74 |357.90\n",
+ "attitude_321 | 0.041 -0.009 -0.003 | 0.108 0.005 0.007 | -0.231 -0.027 -0.022 | 0.420 0.025 0.027\n",
+ "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n",
+ "glideslope | 25.960 | 22.062 | 11.971 | 838.421\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 2300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10188.79 |3292.34 |3464.10 |20000.00 | 530\n",
+ "glideslope | 4.318 |41.431 | 0.943 |34097.994 | 2123\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.4 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.5 -0.1 | 502.6 504.2 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.048 | -0.026 -0.124 -1.271 | 0.081 0.037 -0.505\n",
+ "fuel |309.55 | 12.45 |275.74 |357.90\n",
+ "attitude_321 | 0.042 -0.009 -0.003 | 0.108 0.005 0.007 | -0.231 -0.027 -0.022 | 0.420 0.025 0.027\n",
+ "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n",
+ "glideslope | 25.899 | 21.640 | 11.971 | 838.421\n",
+ "i : 2400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10188.46 |3292.09 |3464.10 |20000.00 | 530\n",
+ "glideslope | 4.304 |40.585 | 0.938 |34097.994 | 2123\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.4 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.5 -0.1 | 502.6 504.2 -0.0\n",
+ "velocity | 0.042 -0.030 -0.947 | 0.013 0.018 0.048 | -0.026 -0.124 -1.271 | 0.081 0.037 -0.505\n",
+ "fuel |309.52 | 12.49 |275.74 |357.90\n",
+ "attitude_321 | 0.042 -0.009 -0.004 | 0.108 0.005 0.007 | -0.231 -0.027 -0.022 | 0.420 0.025 0.027\n",
+ "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n",
+ "glideslope | 25.847 | 21.248 | 11.971 | 838.421\n",
+ "i : 2500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10190.64 |3293.36 |3464.10 |20000.00 | 530\n",
+ "glideslope | 4.288 |39.799 | 0.938 |34097.994 | 2123\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.4 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.5 -0.1 | 502.6 504.2 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.048 | -0.026 -0.124 -1.271 | 0.081 0.037 -0.505\n",
+ "fuel |309.48 | 12.51 |275.74 |357.90\n",
+ "attitude_321 | 0.042 -0.009 -0.004 | 0.108 0.005 0.007 | -0.231 -0.029 -0.022 | 0.420 0.025 0.027\n",
+ "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n",
+ "glideslope | 25.893 | 21.025 | 11.971 | 838.421\n",
+ "i : 2600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10189.45 |3293.83 |3464.10 |20000.00 | 530\n",
+ "glideslope | 4.278 |39.049 | 0.938 |34097.994 | 2123\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.5 -0.1 | 502.6 504.2 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.048 | -0.026 -0.124 -1.271 | 0.081 0.037 -0.505\n",
+ "fuel |309.56 | 12.53 |275.74 |357.90\n",
+ "attitude_321 | 0.042 -0.009 -0.003 | 0.108 0.005 0.007 | -0.231 -0.029 -0.022 | 0.420 0.025 0.027\n",
+ "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n",
+ "glideslope | 25.888 | 20.771 | 11.971 | 838.421\n",
+ "i : 2700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10184.95 |3291.93 |3464.10 |20000.00 | 2616\n",
+ "glideslope | 4.271 |38.340 | 0.930 |34097.994 | 2123\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.6 504.2 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.048 | -0.026 -0.124 -1.271 | 0.081 0.037 -0.505\n",
+ "fuel |309.51 | 12.55 |275.74 |357.90\n",
+ "attitude_321 | 0.042 -0.009 -0.004 | 0.108 0.005 0.007 | -0.231 -0.029 -0.022 | 0.420 0.025 0.027\n",
+ "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n",
+ "glideslope | 25.817 | 20.438 | 11.971 | 838.421\n",
+ "i : 2800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10183.66 |3290.93 |3464.10 |20000.00 | 2616\n",
+ "glideslope | 4.255 |37.667 | 0.930 |34097.994 | 2123\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.6 504.2 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.048 | -0.026 -0.124 -1.271 | 0.081 0.037 -0.505\n",
+ "fuel |309.56 | 12.54 |275.74 |357.90\n",
+ "attitude_321 | 0.041 -0.009 -0.004 | 0.108 0.005 0.007 | -0.231 -0.029 -0.022 | 0.420 0.025 0.027\n",
+ "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n",
+ "glideslope | 25.790 | 20.130 | 11.971 | 838.421\n",
+ "i : 2900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10182.67 |3289.86 |3464.10 |20000.00 | 2616\n",
+ "glideslope | 4.250 |37.035 | 0.930 |34097.994 | 2123\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.6 504.2 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.047 | -0.026 -0.124 -1.271 | 0.081 0.037 -0.505\n",
+ "fuel |309.50 | 12.51 |275.74 |357.90\n",
+ "attitude_321 | 0.041 -0.009 -0.004 | 0.107 0.005 0.007 | -0.231 -0.029 -0.022 | 0.420 0.025 0.027\n",
+ "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n",
+ "glideslope | 25.795 | 20.063 | 11.971 | 838.421\n",
+ "i : 3000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10183.92 |3289.81 |3464.10 |20000.00 | 2616\n",
+ "glideslope | 4.240 |36.436 | 0.930 |34097.994 | 2123\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.6 504.2 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.047 | -0.026 -0.124 -1.271 | 0.081 0.037 -0.505\n",
+ "fuel |309.51 | 12.51 |275.74 |357.90\n",
+ "attitude_321 | 0.042 -0.009 -0.004 | 0.107 0.005 0.007 | -0.231 -0.029 -0.022 | 0.420 0.025 0.027\n",
+ "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n",
+ "glideslope | 25.753 | 19.794 | 11.971 | 838.421\n",
+ "i : 3100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10182.51 |3289.90 |3464.10 |20000.00 | 2616\n",
+ "glideslope | 4.236 |35.873 | 0.930 |34097.994 | 2123\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.4 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.6 504.2 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.047 | -0.045 -0.124 -1.271 | 0.081 0.037 -0.505\n",
+ "fuel |309.57 | 12.53 |275.74 |357.90\n",
+ "attitude_321 | 0.042 -0.009 -0.004 | 0.107 0.005 0.007 | -0.231 -0.029 -0.022 | 0.420 0.025 0.027\n",
+ "w | -0.002 -0.004 0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n",
+ "glideslope | 25.851 | 21.027 | 11.971 | 838.421\n",
+ "i : 3200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10181.69 |3291.33 |3464.10 |20000.00 | 2616\n",
+ "glideslope | 4.228 |35.329 | 0.930 |34097.994 | 2123\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.4 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.2 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.014 0.018 0.047 | -0.045 -0.124 -1.290 | 0.081 0.037 -0.505\n",
+ "fuel |309.62 | 12.55 |275.74 |357.90\n",
+ "attitude_321 | 0.042 -0.009 -0.004 | 0.108 0.005 0.007 | -0.231 -0.029 -0.022 | 0.449 0.025 0.027\n",
+ "w | -0.002 -0.004 0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n",
+ "glideslope | 25.815 | 20.794 | 11.971 | 838.421\n",
+ "i : 3300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10181.54 |3292.06 |3464.10 |20000.00 | 2616\n",
+ "glideslope | 4.225 |34.821 | 0.930 |34097.994 | 2123\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.4 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.2 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.014 0.018 0.047 | -0.045 -0.124 -1.290 | 0.081 0.037 -0.505\n",
+ "fuel |309.61 | 12.56 |275.74 |357.90\n",
+ "attitude_321 | 0.042 -0.009 -0.004 | 0.108 0.005 0.007 | -0.231 -0.029 -0.022 | 0.449 0.025 0.027\n",
+ "w | -0.002 -0.004 0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n",
+ "glideslope | 25.890 | 20.771 | 11.971 | 838.421\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 3400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10183.17 |3292.80 |3464.10 |20000.00 | 2616\n",
+ "glideslope | 4.220 |34.333 | 0.930 |34097.994 | 2123\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.4 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.2 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.014 0.018 0.047 | -0.045 -0.124 -1.290 | 0.081 0.037 -0.505\n",
+ "fuel |309.61 | 12.55 |275.74 |357.90\n",
+ "attitude_321 | 0.042 -0.009 -0.004 | 0.108 0.005 0.007 | -0.231 -0.029 -0.022 | 0.449 0.025 0.027\n",
+ "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n",
+ "glideslope | 25.867 | 20.525 | 11.971 | 838.421\n",
+ "i : 3500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10182.20 |3293.55 |3464.10 |20000.00 | 2616\n",
+ "glideslope | 4.219 |33.864 | 0.930 |34097.994 | 2123\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.4 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.2 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.014 0.018 0.048 | -0.045 -0.124 -1.290 | 0.081 0.037 -0.505\n",
+ "fuel |309.66 | 12.56 |275.74 |357.90\n",
+ "attitude_321 | 0.042 -0.009 -0.004 | 0.107 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n",
+ "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n",
+ "glideslope | 25.845 | 20.366 | 11.971 | 838.421\n",
+ "i : 3600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10183.71 |3293.13 |3464.10 |20000.00 | 2616\n",
+ "glideslope | 4.213 |33.413 | 0.930 |34097.994 | 2123\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.4 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.2 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.048 | -0.045 -0.124 -1.290 | 0.081 0.037 -0.505\n",
+ "fuel |309.65 | 12.53 |275.74 |357.90\n",
+ "attitude_321 | 0.042 -0.009 -0.004 | 0.108 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n",
+ "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n",
+ "glideslope | 25.853 | 20.161 | 11.971 | 838.421\n",
+ "i : 3700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10182.89 |3292.76 |3464.10 |20000.00 | 2616\n",
+ "glideslope | 4.213 |32.983 | 0.930 |34097.994 | 2123\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.4 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.2 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.048 | -0.045 -0.124 -1.296 | 0.081 0.037 -0.505\n",
+ "fuel |309.69 | 12.54 |275.74 |357.90\n",
+ "attitude_321 | 0.042 -0.009 -0.004 | 0.108 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n",
+ "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n",
+ "glideslope | 25.905 | 20.171 | 11.971 | 838.421\n",
+ "i : 3800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10182.73 |3293.84 |3464.10 |20000.00 | 2616\n",
+ "glideslope | 4.210 |32.568 | 0.930 |34097.994 | 2123\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.4 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.2 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.048 | -0.045 -0.124 -1.296 | 0.081 0.037 -0.505\n",
+ "fuel |309.71 | 12.52 |275.74 |357.90\n",
+ "attitude_321 | 0.042 -0.009 -0.004 | 0.108 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n",
+ "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n",
+ "glideslope | 25.898 | 19.966 | 11.971 | 838.421\n",
+ "i : 3900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10182.86 |3293.65 |3464.10 |20000.00 | 2616\n",
+ "glideslope | 4.205 |32.174 | 0.886 |34097.994 | 2123\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.4 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.2 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.048 | -0.045 -0.124 -1.296 | 0.081 0.037 -0.505\n",
+ "fuel |309.68 | 12.52 |275.74 |357.90\n",
+ "attitude_321 | 0.042 -0.009 -0.004 | 0.108 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n",
+ "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n",
+ "glideslope | 25.922 | 19.817 | 11.971 | 838.421\n",
+ "i : 4000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10185.26 |3294.62 |3464.10 |20000.00 | 2616\n",
+ "glideslope | 4.210 |31.877 | 0.886 |34097.994 | 2123\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.4 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.2 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.048 | -0.045 -0.124 -1.296 | 0.081 0.037 -0.505\n",
+ "fuel |309.66 | 12.54 |275.74 |357.90\n",
+ "attitude_321 | 0.042 -0.009 -0.004 | 0.108 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n",
+ "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n",
+ "glideslope | 25.934 | 19.630 | 11.971 | 838.421\n",
+ "i : 4100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10186.64 |3294.66 |3464.10 |20000.00 | 2616\n",
+ "glideslope | 4.214 |31.519 | 0.886 |34097.994 | 2123\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.4 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.2 -0.0\n",
+ "velocity | 0.042 -0.030 -0.947 | 0.013 0.018 0.048 | -0.045 -0.124 -1.296 | 0.081 0.037 -0.505\n",
+ "fuel |309.66 | 12.52 |275.74 |357.90\n",
+ "attitude_321 | 0.041 -0.009 -0.004 | 0.107 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n",
+ "w | -0.002 -0.005 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n",
+ "glideslope | 25.931 | 19.442 | 11.971 | 838.421\n",
+ "i : 4200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10186.05 |3294.44 |3464.10 |20000.00 | 2616\n",
+ "glideslope | 4.210 |31.164 | 0.886 |34097.994 | 2123\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.4 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.2 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.048 | -0.045 -0.124 -1.296 | 0.081 0.037 -0.505\n",
+ "fuel |309.67 | 12.50 |275.74 |357.90\n",
+ "attitude_321 | 0.041 -0.009 -0.004 | 0.107 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n",
+ "w | -0.002 -0.005 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n",
+ "glideslope | 25.920 | 19.275 | 11.971 | 838.421\n",
+ "i : 4300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10184.07 |3291.97 |3464.10 |20000.00 | 2616\n",
+ "glideslope | 4.208 |30.816 | 0.886 |34097.994 | 2123\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.2 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.047 | -0.045 -0.124 -1.296 | 0.081 0.037 -0.505\n",
+ "fuel |309.61 | 12.48 |275.74 |357.90\n",
+ "attitude_321 | 0.041 -0.009 -0.004 | 0.107 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n",
+ "w | -0.002 -0.005 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n",
+ "glideslope | 25.938 | 19.502 | 11.971 | 838.421\n",
+ "i : 4400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10184.17 |3291.72 |3464.10 |20000.00 | 2616\n",
+ "glideslope | 4.196 |30.494 | 0.886 |34097.994 | 2123\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.2 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.047 | -0.045 -0.124 -1.296 | 0.081 0.037 -0.505\n",
+ "fuel |309.59 | 12.46 |275.74 |357.90\n",
+ "attitude_321 | 0.041 -0.009 -0.004 | 0.108 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n",
+ "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.069 0.022 0.000\n",
+ "glideslope | 25.945 | 19.423 | 11.971 | 838.421\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 4500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10183.47 |3290.70 |3464.10 |20000.00 | 2616\n",
+ "glideslope | 4.197 |30.179 | 0.886 |34097.994 | 2123\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.3 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.047 | -0.045 -0.124 -1.296 | 0.081 0.037 -0.505\n",
+ "fuel |309.59 | 12.46 |275.74 |357.90\n",
+ "attitude_321 | 0.041 -0.009 -0.004 | 0.107 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n",
+ "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.069 0.022 0.000\n",
+ "glideslope | 25.977 | 19.386 | 11.971 | 838.421\n",
+ "i : 4600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10183.08 |3289.65 |3464.10 |20000.00 | 2616\n",
+ "glideslope | 4.202 |29.871 | 0.886 |34097.994 | 2123\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.3 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.047 | -0.045 -0.124 -1.296 | 0.081 0.037 -0.505\n",
+ "fuel |309.55 | 12.45 |275.74 |357.90\n",
+ "attitude_321 | 0.041 -0.009 -0.004 | 0.107 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n",
+ "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.069 0.022 0.000\n",
+ "glideslope | 25.966 | 19.356 | 11.971 | 838.421\n",
+ "i : 4700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10180.93 |3288.28 |3464.10 |20000.00 | 2616\n",
+ "glideslope | 4.205 |29.581 | 0.886 |34097.994 | 2123\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.3 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.047 | -0.045 -0.124 -1.296 | 0.081 0.037 -0.505\n",
+ "fuel |309.54 | 12.45 |275.74 |357.90\n",
+ "attitude_321 | 0.041 -0.009 -0.004 | 0.107 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n",
+ "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.069 0.022 0.000\n",
+ "glideslope | 25.938 | 19.187 | 11.971 | 838.421\n",
+ "i : 4800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10182.66 |3288.67 |3464.10 |20000.00 | 2616\n",
+ "glideslope | 4.198 |29.289 | 0.886 |34097.994 | 2123\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.3 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.047 | -0.045 -0.124 -1.296 | 0.081 0.037 -0.505\n",
+ "fuel |309.55 | 12.45 |275.74 |357.90\n",
+ "attitude_321 | 0.041 -0.009 -0.004 | 0.107 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n",
+ "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.069 0.022 0.000\n",
+ "glideslope | 25.965 | 19.290 | 11.971 | 838.421\n",
+ "i : 4900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10181.38 |3287.91 |3464.10 |20000.00 | 2616\n",
+ "glideslope | 4.203 |29.016 | 0.886 |34097.994 | 2123\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.3 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.047 | -0.045 -0.124 -1.296 | 0.081 0.037 -0.505\n",
+ "fuel |309.56 | 12.44 |275.74 |357.90\n",
+ "attitude_321 | 0.041 -0.009 -0.004 | 0.107 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n",
+ "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.069 0.022 0.000\n",
+ "glideslope | 25.934 | 19.137 | 11.971 | 838.421\n",
+ "\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10181.18 |3286.91 |3464.10 |20000.00 | 2616\n",
+ "glideslope | 4.198 |28.740 | 0.886 |34097.994 | 2123\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.3 -0.0\n",
+ "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.047 | -0.045 -0.124 -1.296 | 0.081 0.037 -0.505\n",
+ "fuel |309.55 | 12.42 |275.74 |357.90\n",
+ "attitude_321 | 0.041 -0.009 -0.004 | 0.107 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n",
+ "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.069 0.022 0.000\n",
+ "glideslope | 25.919 | 19.004 | 11.971 | 838.421\n",
+ "\n",
+ "Initial Stats (mean,std,min,max)\n",
+ "position | 1002.4 1.6 2500.4 | 575.3 577.6 58.2 | 0.5 -999.5 2400.1 | 1999.6 999.6 2600.0\n",
+ "velocity | -39.867 0.201 -79.918 | 17.287 17.287 5.827 | -69.996 -30.000 -89.998 | -10.017 29.950 -70.006\n",
+ "fuel | 0.00 | 0.00 | 0.00 | 0.00\n",
+ "attitude_321 | -0.003 0.690 -0.002 | 0.225 0.170 0.228 | -0.392 0.393 -0.393 | 0.393 0.982 0.392\n",
+ "w | 0.000 0.000 0.000 | 0.000 0.000 0.000 | 0.000 0.000 0.000 | 0.000 0.000 0.000\n",
+ "glideslope | 2.191 | 1.109 | 0.938 | 8.298\n"
+ ]
+ }
+ ],
+ "source": [
+ "policy.test_mode=True\n",
+ "env.ic_gen = Landing_icgen(mass_uncertainty=0.05, g_uncertainty=(0.0,0.0),\n",
+ " adapt_apf_v0=True,\n",
+ " attitude_parameterization=attitude_parameterization,\n",
+ " downrange = (0,2000 , -70, -10), \n",
+ " crossrange = (-1000,1000 , -30,30), \n",
+ " altitude = (2400,2600,-90,-70),\n",
+ " yaw = (-np.pi/8, np.pi/8, 0.0, 0.0) ,\n",
+ " pitch = (np.pi/4-np.pi/8, np.pi/4+np.pi/16, -0.0, 0.0),\n",
+ " roll = (-np.pi/8, np.pi/8, -0.0, 0.0),\n",
+ " noise_u=100*np.ones(3), noise_sd=100*np.ones(3))\n",
+ "env.test_policy_batch(policy,input_normalizer,10000,print_every=100)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "policy.close_sess()\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.5.0"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/AAS-18-290_6DOF_journal/Run/Run_4km_terminal/test_4km_2100_divert.ipynb b/AAS-18-290_6DOF_journal/Run/Run_4km_terminal/test_4km_2100_divert.ipynb
new file mode 100644
index 0000000..d096fce
--- /dev/null
+++ b/AAS-18-290_6DOF_journal/Run/Run_4km_terminal/test_4km_2100_divert.ipynb
@@ -0,0 +1,6295 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The autoreload extension is already loaded. To reload it, use:\n",
+ " %reload_ext autoreload\n",
+ "The autoreload extension is already loaded. To reload it, use:\n",
+ " %reload_ext autoreload\n",
+ "/Users/briangaudet/Study/Subjects/MachineLearning/Projects/AAS_TEST/RUN/AAS-18-290_6DOF_manuscript/Run/Run_4km_terminal\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy as np\n",
+ "import os,sys\n",
+ "\n",
+ "\n",
+ "sys.path.append('../..')\n",
+ "sys.path.append('../../../RL_lib/Agents/PPO')\n",
+ "sys.path.append('../../../RL_lib/Utils')\n",
+ "\n",
+ "%load_ext autoreload\n",
+ "%load_ext autoreload\n",
+ "%autoreload 2\n",
+ "%matplotlib nbagg\n",
+ "import os\n",
+ "print(os.getcwd())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ ""
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "%%html\n",
+ ""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Load Policy"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "6dof dynamics model\n",
+ "Quaternion_attitude\n",
+ "Thruster Config Shape: (4, 6) 4\n",
+ "Inertia Tensor: [[2000. 0. 0.]\n",
+ " [ 0. 2000. 0.]\n",
+ " [ 0. 0. 3200.]]\n",
+ "Lander Model: \n",
+ " - apf_v0: 70\n",
+ " - apf_vf1: [ 0. 0. -2.]\n",
+ " - apf_vf2: [ 0. 0. -1.]\n",
+ " - apf_atarg: 15.0\n",
+ " - apf_tau1: 20\n",
+ " - apf_tau2: 100.0\n",
+ "Reward_terminal\n",
+ "queue fixed\n",
+ "Flat Constraint\n",
+ "Attitude Constraint\n"
+ ]
+ },
+ {
+ "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 = $('');\n",
+ " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+ " 'ui-button-icon-only');\n",
+ " button.attr('role', 'button');\n",
+ " button.attr('aria-disabled', 'false');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ "\n",
+ " var icon_img = $('');\n",
+ " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+ " icon_img.addClass(image);\n",
+ " icon_img.addClass('ui-corner-all');\n",
+ "\n",
+ " var tooltip_span = $('');\n",
+ " tooltip_span.addClass('ui-button-text');\n",
+ " tooltip_span.html(tooltip);\n",
+ "\n",
+ " button.append(icon_img);\n",
+ " button.append(tooltip_span);\n",
+ "\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker_span = $('');\n",
+ "\n",
+ " var fmt_picker = $('');\n",
+ " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+ " fmt_picker_span.append(fmt_picker);\n",
+ " nav_element.append(fmt_picker_span);\n",
+ " this.format_dropdown = fmt_picker[0];\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = $(\n",
+ " '', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+ " fmt_picker.append(option)\n",
+ " }\n",
+ "\n",
+ " // Add hover states to the ui-buttons\n",
+ " $( \".ui-button\" ).hover(\n",
+ " function() { $(this).addClass(\"ui-state-hover\");},\n",
+ " function() { $(this).removeClass(\"ui-state-hover\");}\n",
+ " );\n",
+ "\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function(type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function() {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1]);\n",
+ " fig.send_message(\"refresh\", {});\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+ " var x0 = msg['x0'] / mpl.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+ " var x1 = msg['x1'] / mpl.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0, 0, fig.canvas.width, fig.canvas.height);\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+ " var cursor = msg['cursor'];\n",
+ " switch(cursor)\n",
+ " {\n",
+ " case 0:\n",
+ " cursor = 'pointer';\n",
+ " break;\n",
+ " case 1:\n",
+ " cursor = 'default';\n",
+ " break;\n",
+ " case 2:\n",
+ " cursor = 'crosshair';\n",
+ " break;\n",
+ " case 3:\n",
+ " cursor = 'move';\n",
+ " break;\n",
+ " }\n",
+ " fig.rubberband_canvas.style.cursor = cursor;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message(\"ack\", {});\n",
+ "}\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " evt.data.type = \"image/png\";\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " evt.data);\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig[\"handle_\" + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function(e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e)\n",
+ " e = window.event;\n",
+ " if (e.target)\n",
+ " targ = e.target;\n",
+ " else if (e.srcElement)\n",
+ " targ = e.srcElement;\n",
+ " if (targ.nodeType == 3) // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ "\n",
+ " // jQuery normalizes the pageX and pageY\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " // offset() returns the position of the element relative to the document\n",
+ " var x = e.pageX - $(targ).offset().left;\n",
+ " var y = e.pageY - $(targ).offset().top;\n",
+ "\n",
+ " return {\"x\": x, \"y\": y};\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * http://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys (original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object')\n",
+ " obj[key] = original[key]\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+ " var canvas_pos = mpl.findpos(event)\n",
+ "\n",
+ " if (name === 'button_press')\n",
+ " {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * mpl.ratio;\n",
+ " var y = canvas_pos.y * mpl.ratio;\n",
+ "\n",
+ " this.send_message(name, {x: x, y: y, button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function(event, name) {\n",
+ "\n",
+ " // Prevent repeat events\n",
+ " if (name == 'key_press')\n",
+ " {\n",
+ " if (event.which === this._key)\n",
+ " return;\n",
+ " else\n",
+ " this._key = event.which;\n",
+ " }\n",
+ " if (name == 'key_release')\n",
+ " this._key = null;\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.which != 17)\n",
+ " value += \"ctrl+\";\n",
+ " if (event.altKey && event.which != 18)\n",
+ " value += \"alt+\";\n",
+ " if (event.shiftKey && event.which != 16)\n",
+ " value += \"shift+\";\n",
+ "\n",
+ " value += 'k';\n",
+ " value += event.which.toString();\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, {key: value,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+ " if (name == 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message(\"toolbar_button\", {name: name});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.close = function() {\n",
+ " comm.close()\n",
+ " };\n",
+ " ws.send = function(m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function(msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
+ " ws.onmessage(msg['content']['data'])\n",
+ " });\n",
+ " return ws;\n",
+ "}\n",
+ "\n",
+ "mpl.mpl_figure_comm = function(comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = $(\"#\" + id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm)\n",
+ "\n",
+ " function ondownload(figure, format) {\n",
+ " window.open(figure.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy,\n",
+ " ondownload,\n",
+ " element.get(0));\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element.get(0);\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error(\"Failed to find cell for figure\", id, fig);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var output_index = fig.cell_info[2]\n",
+ " var cell = fig.cell_info[0];\n",
+ "\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+ " var width = fig.canvas.width/mpl.ratio\n",
+ " fig.root.unbind('remove')\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable()\n",
+ " $(fig.parent_element).html('');\n",
+ " fig.close_ws(fig, msg);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width/mpl.ratio\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] = '';\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message(\"ack\", {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () { fig.push_to_output() }, 1000);\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) { continue; };\n",
+ "\n",
+ " var button = $('');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = $('');\n",
+ " var button = $('');\n",
+ " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+ " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+ " buttongrp.append(button);\n",
+ " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+ " titlebar.prepend(buttongrp);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function(el){\n",
+ " var fig = this\n",
+ " el.on(\"remove\", function(){\n",
+ "\tfig.close_ws(fig, {});\n",
+ " });\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+ " // this is important to make the div 'focusable\n",
+ " el.attr('tabindex', 0)\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " }\n",
+ " else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " var manager = IPython.notebook.keyboard_manager;\n",
+ " if (!manager)\n",
+ " manager = IPython.keyboard_manager;\n",
+ "\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which == 13) {\n",
+ " this.canvas_div.blur();\n",
+ " event.shiftKey = false;\n",
+ " // Send a \"J\" for go to next cell\n",
+ " event.which = 74;\n",
+ " event.keyCode = 74;\n",
+ " manager.command_mode();\n",
+ " manager.handle_keydown(event);\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.find_output_cell = function(html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i=0; i= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] == html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel != null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "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 = $('');\n",
+ " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+ " 'ui-button-icon-only');\n",
+ " button.attr('role', 'button');\n",
+ " button.attr('aria-disabled', 'false');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ "\n",
+ " var icon_img = $('');\n",
+ " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+ " icon_img.addClass(image);\n",
+ " icon_img.addClass('ui-corner-all');\n",
+ "\n",
+ " var tooltip_span = $('');\n",
+ " tooltip_span.addClass('ui-button-text');\n",
+ " tooltip_span.html(tooltip);\n",
+ "\n",
+ " button.append(icon_img);\n",
+ " button.append(tooltip_span);\n",
+ "\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker_span = $('');\n",
+ "\n",
+ " var fmt_picker = $('');\n",
+ " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+ " fmt_picker_span.append(fmt_picker);\n",
+ " nav_element.append(fmt_picker_span);\n",
+ " this.format_dropdown = fmt_picker[0];\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = $(\n",
+ " '', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+ " fmt_picker.append(option)\n",
+ " }\n",
+ "\n",
+ " // Add hover states to the ui-buttons\n",
+ " $( \".ui-button\" ).hover(\n",
+ " function() { $(this).addClass(\"ui-state-hover\");},\n",
+ " function() { $(this).removeClass(\"ui-state-hover\");}\n",
+ " );\n",
+ "\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function(type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function() {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1]);\n",
+ " fig.send_message(\"refresh\", {});\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+ " var x0 = msg['x0'] / mpl.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+ " var x1 = msg['x1'] / mpl.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0, 0, fig.canvas.width, fig.canvas.height);\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+ " var cursor = msg['cursor'];\n",
+ " switch(cursor)\n",
+ " {\n",
+ " case 0:\n",
+ " cursor = 'pointer';\n",
+ " break;\n",
+ " case 1:\n",
+ " cursor = 'default';\n",
+ " break;\n",
+ " case 2:\n",
+ " cursor = 'crosshair';\n",
+ " break;\n",
+ " case 3:\n",
+ " cursor = 'move';\n",
+ " break;\n",
+ " }\n",
+ " fig.rubberband_canvas.style.cursor = cursor;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message(\"ack\", {});\n",
+ "}\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " evt.data.type = \"image/png\";\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " evt.data);\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig[\"handle_\" + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function(e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e)\n",
+ " e = window.event;\n",
+ " if (e.target)\n",
+ " targ = e.target;\n",
+ " else if (e.srcElement)\n",
+ " targ = e.srcElement;\n",
+ " if (targ.nodeType == 3) // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ "\n",
+ " // jQuery normalizes the pageX and pageY\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " // offset() returns the position of the element relative to the document\n",
+ " var x = e.pageX - $(targ).offset().left;\n",
+ " var y = e.pageY - $(targ).offset().top;\n",
+ "\n",
+ " return {\"x\": x, \"y\": y};\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * http://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys (original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object')\n",
+ " obj[key] = original[key]\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+ " var canvas_pos = mpl.findpos(event)\n",
+ "\n",
+ " if (name === 'button_press')\n",
+ " {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * mpl.ratio;\n",
+ " var y = canvas_pos.y * mpl.ratio;\n",
+ "\n",
+ " this.send_message(name, {x: x, y: y, button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function(event, name) {\n",
+ "\n",
+ " // Prevent repeat events\n",
+ " if (name == 'key_press')\n",
+ " {\n",
+ " if (event.which === this._key)\n",
+ " return;\n",
+ " else\n",
+ " this._key = event.which;\n",
+ " }\n",
+ " if (name == 'key_release')\n",
+ " this._key = null;\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.which != 17)\n",
+ " value += \"ctrl+\";\n",
+ " if (event.altKey && event.which != 18)\n",
+ " value += \"alt+\";\n",
+ " if (event.shiftKey && event.which != 16)\n",
+ " value += \"shift+\";\n",
+ "\n",
+ " value += 'k';\n",
+ " value += event.which.toString();\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, {key: value,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+ " if (name == 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message(\"toolbar_button\", {name: name});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.close = function() {\n",
+ " comm.close()\n",
+ " };\n",
+ " ws.send = function(m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function(msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
+ " ws.onmessage(msg['content']['data'])\n",
+ " });\n",
+ " return ws;\n",
+ "}\n",
+ "\n",
+ "mpl.mpl_figure_comm = function(comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = $(\"#\" + id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm)\n",
+ "\n",
+ " function ondownload(figure, format) {\n",
+ " window.open(figure.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy,\n",
+ " ondownload,\n",
+ " element.get(0));\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element.get(0);\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error(\"Failed to find cell for figure\", id, fig);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var output_index = fig.cell_info[2]\n",
+ " var cell = fig.cell_info[0];\n",
+ "\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+ " var width = fig.canvas.width/mpl.ratio\n",
+ " fig.root.unbind('remove')\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable()\n",
+ " $(fig.parent_element).html('');\n",
+ " fig.close_ws(fig, msg);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width/mpl.ratio\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] = '';\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message(\"ack\", {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () { fig.push_to_output() }, 1000);\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) { continue; };\n",
+ "\n",
+ " var button = $('');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = $('');\n",
+ " var button = $('');\n",
+ " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+ " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+ " buttongrp.append(button);\n",
+ " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+ " titlebar.prepend(buttongrp);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function(el){\n",
+ " var fig = this\n",
+ " el.on(\"remove\", function(){\n",
+ "\tfig.close_ws(fig, {});\n",
+ " });\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+ " // this is important to make the div 'focusable\n",
+ " el.attr('tabindex', 0)\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " }\n",
+ " else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " var manager = IPython.notebook.keyboard_manager;\n",
+ " if (!manager)\n",
+ " manager = IPython.keyboard_manager;\n",
+ "\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which == 13) {\n",
+ " this.canvas_div.blur();\n",
+ " event.shiftKey = false;\n",
+ " // Send a \"J\" for go to next cell\n",
+ " event.which = 74;\n",
+ " event.keyCode = 74;\n",
+ " manager.command_mode();\n",
+ " manager.handle_keydown(event);\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.find_output_cell = function(html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i=0; i= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] == html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel != null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "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 = $('');\n",
+ " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+ " 'ui-button-icon-only');\n",
+ " button.attr('role', 'button');\n",
+ " button.attr('aria-disabled', 'false');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ "\n",
+ " var icon_img = $('');\n",
+ " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+ " icon_img.addClass(image);\n",
+ " icon_img.addClass('ui-corner-all');\n",
+ "\n",
+ " var tooltip_span = $('');\n",
+ " tooltip_span.addClass('ui-button-text');\n",
+ " tooltip_span.html(tooltip);\n",
+ "\n",
+ " button.append(icon_img);\n",
+ " button.append(tooltip_span);\n",
+ "\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker_span = $('');\n",
+ "\n",
+ " var fmt_picker = $('');\n",
+ " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+ " fmt_picker_span.append(fmt_picker);\n",
+ " nav_element.append(fmt_picker_span);\n",
+ " this.format_dropdown = fmt_picker[0];\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = $(\n",
+ " '', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+ " fmt_picker.append(option)\n",
+ " }\n",
+ "\n",
+ " // Add hover states to the ui-buttons\n",
+ " $( \".ui-button\" ).hover(\n",
+ " function() { $(this).addClass(\"ui-state-hover\");},\n",
+ " function() { $(this).removeClass(\"ui-state-hover\");}\n",
+ " );\n",
+ "\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function(type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function() {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1]);\n",
+ " fig.send_message(\"refresh\", {});\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+ " var x0 = msg['x0'] / mpl.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+ " var x1 = msg['x1'] / mpl.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0, 0, fig.canvas.width, fig.canvas.height);\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+ " var cursor = msg['cursor'];\n",
+ " switch(cursor)\n",
+ " {\n",
+ " case 0:\n",
+ " cursor = 'pointer';\n",
+ " break;\n",
+ " case 1:\n",
+ " cursor = 'default';\n",
+ " break;\n",
+ " case 2:\n",
+ " cursor = 'crosshair';\n",
+ " break;\n",
+ " case 3:\n",
+ " cursor = 'move';\n",
+ " break;\n",
+ " }\n",
+ " fig.rubberband_canvas.style.cursor = cursor;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message(\"ack\", {});\n",
+ "}\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " evt.data.type = \"image/png\";\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " evt.data);\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig[\"handle_\" + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function(e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e)\n",
+ " e = window.event;\n",
+ " if (e.target)\n",
+ " targ = e.target;\n",
+ " else if (e.srcElement)\n",
+ " targ = e.srcElement;\n",
+ " if (targ.nodeType == 3) // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ "\n",
+ " // jQuery normalizes the pageX and pageY\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " // offset() returns the position of the element relative to the document\n",
+ " var x = e.pageX - $(targ).offset().left;\n",
+ " var y = e.pageY - $(targ).offset().top;\n",
+ "\n",
+ " return {\"x\": x, \"y\": y};\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * http://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys (original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object')\n",
+ " obj[key] = original[key]\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+ " var canvas_pos = mpl.findpos(event)\n",
+ "\n",
+ " if (name === 'button_press')\n",
+ " {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * mpl.ratio;\n",
+ " var y = canvas_pos.y * mpl.ratio;\n",
+ "\n",
+ " this.send_message(name, {x: x, y: y, button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function(event, name) {\n",
+ "\n",
+ " // Prevent repeat events\n",
+ " if (name == 'key_press')\n",
+ " {\n",
+ " if (event.which === this._key)\n",
+ " return;\n",
+ " else\n",
+ " this._key = event.which;\n",
+ " }\n",
+ " if (name == 'key_release')\n",
+ " this._key = null;\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.which != 17)\n",
+ " value += \"ctrl+\";\n",
+ " if (event.altKey && event.which != 18)\n",
+ " value += \"alt+\";\n",
+ " if (event.shiftKey && event.which != 16)\n",
+ " value += \"shift+\";\n",
+ "\n",
+ " value += 'k';\n",
+ " value += event.which.toString();\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, {key: value,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+ " if (name == 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message(\"toolbar_button\", {name: name});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.close = function() {\n",
+ " comm.close()\n",
+ " };\n",
+ " ws.send = function(m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function(msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
+ " ws.onmessage(msg['content']['data'])\n",
+ " });\n",
+ " return ws;\n",
+ "}\n",
+ "\n",
+ "mpl.mpl_figure_comm = function(comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = $(\"#\" + id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm)\n",
+ "\n",
+ " function ondownload(figure, format) {\n",
+ " window.open(figure.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy,\n",
+ " ondownload,\n",
+ " element.get(0));\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element.get(0);\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error(\"Failed to find cell for figure\", id, fig);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var output_index = fig.cell_info[2]\n",
+ " var cell = fig.cell_info[0];\n",
+ "\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+ " var width = fig.canvas.width/mpl.ratio\n",
+ " fig.root.unbind('remove')\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable()\n",
+ " $(fig.parent_element).html('');\n",
+ " fig.close_ws(fig, msg);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width/mpl.ratio\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] = '';\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message(\"ack\", {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () { fig.push_to_output() }, 1000);\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) { continue; };\n",
+ "\n",
+ " var button = $('');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = $('');\n",
+ " var button = $('');\n",
+ " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+ " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+ " buttongrp.append(button);\n",
+ " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+ " titlebar.prepend(buttongrp);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function(el){\n",
+ " var fig = this\n",
+ " el.on(\"remove\", function(){\n",
+ "\tfig.close_ws(fig, {});\n",
+ " });\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+ " // this is important to make the div 'focusable\n",
+ " el.attr('tabindex', 0)\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " }\n",
+ " else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " var manager = IPython.notebook.keyboard_manager;\n",
+ " if (!manager)\n",
+ " manager = IPython.keyboard_manager;\n",
+ "\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which == 13) {\n",
+ " this.canvas_div.blur();\n",
+ " event.shiftKey = false;\n",
+ " // Send a \"J\" for go to next cell\n",
+ " event.which = 74;\n",
+ " event.keyCode = 74;\n",
+ " manager.command_mode();\n",
+ " manager.handle_keydown(event);\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.find_output_cell = function(html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i=0; i= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] == html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel != null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "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 = $('');\n",
+ " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+ " 'ui-button-icon-only');\n",
+ " button.attr('role', 'button');\n",
+ " button.attr('aria-disabled', 'false');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ "\n",
+ " var icon_img = $('');\n",
+ " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+ " icon_img.addClass(image);\n",
+ " icon_img.addClass('ui-corner-all');\n",
+ "\n",
+ " var tooltip_span = $('');\n",
+ " tooltip_span.addClass('ui-button-text');\n",
+ " tooltip_span.html(tooltip);\n",
+ "\n",
+ " button.append(icon_img);\n",
+ " button.append(tooltip_span);\n",
+ "\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker_span = $('');\n",
+ "\n",
+ " var fmt_picker = $('');\n",
+ " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+ " fmt_picker_span.append(fmt_picker);\n",
+ " nav_element.append(fmt_picker_span);\n",
+ " this.format_dropdown = fmt_picker[0];\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = $(\n",
+ " '', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+ " fmt_picker.append(option)\n",
+ " }\n",
+ "\n",
+ " // Add hover states to the ui-buttons\n",
+ " $( \".ui-button\" ).hover(\n",
+ " function() { $(this).addClass(\"ui-state-hover\");},\n",
+ " function() { $(this).removeClass(\"ui-state-hover\");}\n",
+ " );\n",
+ "\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function(type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function() {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1]);\n",
+ " fig.send_message(\"refresh\", {});\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+ " var x0 = msg['x0'] / mpl.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+ " var x1 = msg['x1'] / mpl.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0, 0, fig.canvas.width, fig.canvas.height);\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+ " var cursor = msg['cursor'];\n",
+ " switch(cursor)\n",
+ " {\n",
+ " case 0:\n",
+ " cursor = 'pointer';\n",
+ " break;\n",
+ " case 1:\n",
+ " cursor = 'default';\n",
+ " break;\n",
+ " case 2:\n",
+ " cursor = 'crosshair';\n",
+ " break;\n",
+ " case 3:\n",
+ " cursor = 'move';\n",
+ " break;\n",
+ " }\n",
+ " fig.rubberband_canvas.style.cursor = cursor;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message(\"ack\", {});\n",
+ "}\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " evt.data.type = \"image/png\";\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " evt.data);\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig[\"handle_\" + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function(e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e)\n",
+ " e = window.event;\n",
+ " if (e.target)\n",
+ " targ = e.target;\n",
+ " else if (e.srcElement)\n",
+ " targ = e.srcElement;\n",
+ " if (targ.nodeType == 3) // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ "\n",
+ " // jQuery normalizes the pageX and pageY\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " // offset() returns the position of the element relative to the document\n",
+ " var x = e.pageX - $(targ).offset().left;\n",
+ " var y = e.pageY - $(targ).offset().top;\n",
+ "\n",
+ " return {\"x\": x, \"y\": y};\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * http://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys (original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object')\n",
+ " obj[key] = original[key]\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+ " var canvas_pos = mpl.findpos(event)\n",
+ "\n",
+ " if (name === 'button_press')\n",
+ " {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * mpl.ratio;\n",
+ " var y = canvas_pos.y * mpl.ratio;\n",
+ "\n",
+ " this.send_message(name, {x: x, y: y, button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function(event, name) {\n",
+ "\n",
+ " // Prevent repeat events\n",
+ " if (name == 'key_press')\n",
+ " {\n",
+ " if (event.which === this._key)\n",
+ " return;\n",
+ " else\n",
+ " this._key = event.which;\n",
+ " }\n",
+ " if (name == 'key_release')\n",
+ " this._key = null;\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.which != 17)\n",
+ " value += \"ctrl+\";\n",
+ " if (event.altKey && event.which != 18)\n",
+ " value += \"alt+\";\n",
+ " if (event.shiftKey && event.which != 16)\n",
+ " value += \"shift+\";\n",
+ "\n",
+ " value += 'k';\n",
+ " value += event.which.toString();\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, {key: value,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+ " if (name == 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message(\"toolbar_button\", {name: name});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.close = function() {\n",
+ " comm.close()\n",
+ " };\n",
+ " ws.send = function(m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function(msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
+ " ws.onmessage(msg['content']['data'])\n",
+ " });\n",
+ " return ws;\n",
+ "}\n",
+ "\n",
+ "mpl.mpl_figure_comm = function(comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = $(\"#\" + id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm)\n",
+ "\n",
+ " function ondownload(figure, format) {\n",
+ " window.open(figure.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy,\n",
+ " ondownload,\n",
+ " element.get(0));\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element.get(0);\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error(\"Failed to find cell for figure\", id, fig);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var output_index = fig.cell_info[2]\n",
+ " var cell = fig.cell_info[0];\n",
+ "\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+ " var width = fig.canvas.width/mpl.ratio\n",
+ " fig.root.unbind('remove')\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable()\n",
+ " $(fig.parent_element).html('');\n",
+ " fig.close_ws(fig, msg);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width/mpl.ratio\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] = '';\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message(\"ack\", {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () { fig.push_to_output() }, 1000);\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) { continue; };\n",
+ "\n",
+ " var button = $('');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = $('');\n",
+ " var button = $('');\n",
+ " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+ " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+ " buttongrp.append(button);\n",
+ " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+ " titlebar.prepend(buttongrp);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function(el){\n",
+ " var fig = this\n",
+ " el.on(\"remove\", function(){\n",
+ "\tfig.close_ws(fig, {});\n",
+ " });\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+ " // this is important to make the div 'focusable\n",
+ " el.attr('tabindex', 0)\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " }\n",
+ " else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " var manager = IPython.notebook.keyboard_manager;\n",
+ " if (!manager)\n",
+ " manager = IPython.keyboard_manager;\n",
+ "\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which == 13) {\n",
+ " this.canvas_div.blur();\n",
+ " event.shiftKey = false;\n",
+ " // Send a \"J\" for go to next cell\n",
+ " event.which = 74;\n",
+ " event.keyCode = 74;\n",
+ " manager.command_mode();\n",
+ " manager.handle_keydown(event);\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.find_output_cell = function(html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i=0; i= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] == html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel != null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "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 = $('');\n",
+ " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+ " 'ui-button-icon-only');\n",
+ " button.attr('role', 'button');\n",
+ " button.attr('aria-disabled', 'false');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ "\n",
+ " var icon_img = $('');\n",
+ " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+ " icon_img.addClass(image);\n",
+ " icon_img.addClass('ui-corner-all');\n",
+ "\n",
+ " var tooltip_span = $('');\n",
+ " tooltip_span.addClass('ui-button-text');\n",
+ " tooltip_span.html(tooltip);\n",
+ "\n",
+ " button.append(icon_img);\n",
+ " button.append(tooltip_span);\n",
+ "\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker_span = $('');\n",
+ "\n",
+ " var fmt_picker = $('');\n",
+ " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+ " fmt_picker_span.append(fmt_picker);\n",
+ " nav_element.append(fmt_picker_span);\n",
+ " this.format_dropdown = fmt_picker[0];\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = $(\n",
+ " '', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+ " fmt_picker.append(option)\n",
+ " }\n",
+ "\n",
+ " // Add hover states to the ui-buttons\n",
+ " $( \".ui-button\" ).hover(\n",
+ " function() { $(this).addClass(\"ui-state-hover\");},\n",
+ " function() { $(this).removeClass(\"ui-state-hover\");}\n",
+ " );\n",
+ "\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function(type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function() {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1]);\n",
+ " fig.send_message(\"refresh\", {});\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+ " var x0 = msg['x0'] / mpl.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+ " var x1 = msg['x1'] / mpl.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0, 0, fig.canvas.width, fig.canvas.height);\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+ " var cursor = msg['cursor'];\n",
+ " switch(cursor)\n",
+ " {\n",
+ " case 0:\n",
+ " cursor = 'pointer';\n",
+ " break;\n",
+ " case 1:\n",
+ " cursor = 'default';\n",
+ " break;\n",
+ " case 2:\n",
+ " cursor = 'crosshair';\n",
+ " break;\n",
+ " case 3:\n",
+ " cursor = 'move';\n",
+ " break;\n",
+ " }\n",
+ " fig.rubberband_canvas.style.cursor = cursor;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message(\"ack\", {});\n",
+ "}\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " evt.data.type = \"image/png\";\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " evt.data);\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig[\"handle_\" + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function(e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e)\n",
+ " e = window.event;\n",
+ " if (e.target)\n",
+ " targ = e.target;\n",
+ " else if (e.srcElement)\n",
+ " targ = e.srcElement;\n",
+ " if (targ.nodeType == 3) // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ "\n",
+ " // jQuery normalizes the pageX and pageY\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " // offset() returns the position of the element relative to the document\n",
+ " var x = e.pageX - $(targ).offset().left;\n",
+ " var y = e.pageY - $(targ).offset().top;\n",
+ "\n",
+ " return {\"x\": x, \"y\": y};\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * http://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys (original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object')\n",
+ " obj[key] = original[key]\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+ " var canvas_pos = mpl.findpos(event)\n",
+ "\n",
+ " if (name === 'button_press')\n",
+ " {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * mpl.ratio;\n",
+ " var y = canvas_pos.y * mpl.ratio;\n",
+ "\n",
+ " this.send_message(name, {x: x, y: y, button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function(event, name) {\n",
+ "\n",
+ " // Prevent repeat events\n",
+ " if (name == 'key_press')\n",
+ " {\n",
+ " if (event.which === this._key)\n",
+ " return;\n",
+ " else\n",
+ " this._key = event.which;\n",
+ " }\n",
+ " if (name == 'key_release')\n",
+ " this._key = null;\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.which != 17)\n",
+ " value += \"ctrl+\";\n",
+ " if (event.altKey && event.which != 18)\n",
+ " value += \"alt+\";\n",
+ " if (event.shiftKey && event.which != 16)\n",
+ " value += \"shift+\";\n",
+ "\n",
+ " value += 'k';\n",
+ " value += event.which.toString();\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, {key: value,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+ " if (name == 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message(\"toolbar_button\", {name: name});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.close = function() {\n",
+ " comm.close()\n",
+ " };\n",
+ " ws.send = function(m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function(msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
+ " ws.onmessage(msg['content']['data'])\n",
+ " });\n",
+ " return ws;\n",
+ "}\n",
+ "\n",
+ "mpl.mpl_figure_comm = function(comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = $(\"#\" + id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm)\n",
+ "\n",
+ " function ondownload(figure, format) {\n",
+ " window.open(figure.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy,\n",
+ " ondownload,\n",
+ " element.get(0));\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element.get(0);\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error(\"Failed to find cell for figure\", id, fig);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var output_index = fig.cell_info[2]\n",
+ " var cell = fig.cell_info[0];\n",
+ "\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+ " var width = fig.canvas.width/mpl.ratio\n",
+ " fig.root.unbind('remove')\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable()\n",
+ " $(fig.parent_element).html('');\n",
+ " fig.close_ws(fig, msg);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width/mpl.ratio\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] = '';\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message(\"ack\", {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () { fig.push_to_output() }, 1000);\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) { continue; };\n",
+ "\n",
+ " var button = $('');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = $('');\n",
+ " var button = $('');\n",
+ " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+ " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+ " buttongrp.append(button);\n",
+ " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+ " titlebar.prepend(buttongrp);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function(el){\n",
+ " var fig = this\n",
+ " el.on(\"remove\", function(){\n",
+ "\tfig.close_ws(fig, {});\n",
+ " });\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+ " // this is important to make the div 'focusable\n",
+ " el.attr('tabindex', 0)\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " }\n",
+ " else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " var manager = IPython.notebook.keyboard_manager;\n",
+ " if (!manager)\n",
+ " manager = IPython.keyboard_manager;\n",
+ "\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which == 13) {\n",
+ " this.canvas_div.blur();\n",
+ " event.shiftKey = false;\n",
+ " // Send a \"J\" for go to next cell\n",
+ " event.which = 74;\n",
+ " event.keyCode = 74;\n",
+ " manager.command_mode();\n",
+ " manager.handle_keydown(event);\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.find_output_cell = function(html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i=0; i= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] == html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel != null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "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 = $('');\n",
+ " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+ " 'ui-button-icon-only');\n",
+ " button.attr('role', 'button');\n",
+ " button.attr('aria-disabled', 'false');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ "\n",
+ " var icon_img = $('');\n",
+ " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+ " icon_img.addClass(image);\n",
+ " icon_img.addClass('ui-corner-all');\n",
+ "\n",
+ " var tooltip_span = $('');\n",
+ " tooltip_span.addClass('ui-button-text');\n",
+ " tooltip_span.html(tooltip);\n",
+ "\n",
+ " button.append(icon_img);\n",
+ " button.append(tooltip_span);\n",
+ "\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker_span = $('');\n",
+ "\n",
+ " var fmt_picker = $('');\n",
+ " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+ " fmt_picker_span.append(fmt_picker);\n",
+ " nav_element.append(fmt_picker_span);\n",
+ " this.format_dropdown = fmt_picker[0];\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = $(\n",
+ " '', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+ " fmt_picker.append(option)\n",
+ " }\n",
+ "\n",
+ " // Add hover states to the ui-buttons\n",
+ " $( \".ui-button\" ).hover(\n",
+ " function() { $(this).addClass(\"ui-state-hover\");},\n",
+ " function() { $(this).removeClass(\"ui-state-hover\");}\n",
+ " );\n",
+ "\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function(type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function() {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1]);\n",
+ " fig.send_message(\"refresh\", {});\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+ " var x0 = msg['x0'] / mpl.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+ " var x1 = msg['x1'] / mpl.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0, 0, fig.canvas.width, fig.canvas.height);\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+ " var cursor = msg['cursor'];\n",
+ " switch(cursor)\n",
+ " {\n",
+ " case 0:\n",
+ " cursor = 'pointer';\n",
+ " break;\n",
+ " case 1:\n",
+ " cursor = 'default';\n",
+ " break;\n",
+ " case 2:\n",
+ " cursor = 'crosshair';\n",
+ " break;\n",
+ " case 3:\n",
+ " cursor = 'move';\n",
+ " break;\n",
+ " }\n",
+ " fig.rubberband_canvas.style.cursor = cursor;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message(\"ack\", {});\n",
+ "}\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " evt.data.type = \"image/png\";\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " evt.data);\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig[\"handle_\" + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function(e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e)\n",
+ " e = window.event;\n",
+ " if (e.target)\n",
+ " targ = e.target;\n",
+ " else if (e.srcElement)\n",
+ " targ = e.srcElement;\n",
+ " if (targ.nodeType == 3) // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ "\n",
+ " // jQuery normalizes the pageX and pageY\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " // offset() returns the position of the element relative to the document\n",
+ " var x = e.pageX - $(targ).offset().left;\n",
+ " var y = e.pageY - $(targ).offset().top;\n",
+ "\n",
+ " return {\"x\": x, \"y\": y};\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * http://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys (original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object')\n",
+ " obj[key] = original[key]\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+ " var canvas_pos = mpl.findpos(event)\n",
+ "\n",
+ " if (name === 'button_press')\n",
+ " {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * mpl.ratio;\n",
+ " var y = canvas_pos.y * mpl.ratio;\n",
+ "\n",
+ " this.send_message(name, {x: x, y: y, button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function(event, name) {\n",
+ "\n",
+ " // Prevent repeat events\n",
+ " if (name == 'key_press')\n",
+ " {\n",
+ " if (event.which === this._key)\n",
+ " return;\n",
+ " else\n",
+ " this._key = event.which;\n",
+ " }\n",
+ " if (name == 'key_release')\n",
+ " this._key = null;\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.which != 17)\n",
+ " value += \"ctrl+\";\n",
+ " if (event.altKey && event.which != 18)\n",
+ " value += \"alt+\";\n",
+ " if (event.shiftKey && event.which != 16)\n",
+ " value += \"shift+\";\n",
+ "\n",
+ " value += 'k';\n",
+ " value += event.which.toString();\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, {key: value,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+ " if (name == 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message(\"toolbar_button\", {name: name});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.close = function() {\n",
+ " comm.close()\n",
+ " };\n",
+ " ws.send = function(m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function(msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
+ " ws.onmessage(msg['content']['data'])\n",
+ " });\n",
+ " return ws;\n",
+ "}\n",
+ "\n",
+ "mpl.mpl_figure_comm = function(comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = $(\"#\" + id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm)\n",
+ "\n",
+ " function ondownload(figure, format) {\n",
+ " window.open(figure.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy,\n",
+ " ondownload,\n",
+ " element.get(0));\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element.get(0);\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error(\"Failed to find cell for figure\", id, fig);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var output_index = fig.cell_info[2]\n",
+ " var cell = fig.cell_info[0];\n",
+ "\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+ " var width = fig.canvas.width/mpl.ratio\n",
+ " fig.root.unbind('remove')\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable()\n",
+ " $(fig.parent_element).html('');\n",
+ " fig.close_ws(fig, msg);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width/mpl.ratio\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] = '';\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message(\"ack\", {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () { fig.push_to_output() }, 1000);\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) { continue; };\n",
+ "\n",
+ " var button = $('');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = $('');\n",
+ " var button = $('');\n",
+ " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+ " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+ " buttongrp.append(button);\n",
+ " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+ " titlebar.prepend(buttongrp);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function(el){\n",
+ " var fig = this\n",
+ " el.on(\"remove\", function(){\n",
+ "\tfig.close_ws(fig, {});\n",
+ " });\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+ " // this is important to make the div 'focusable\n",
+ " el.attr('tabindex', 0)\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " }\n",
+ " else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " var manager = IPython.notebook.keyboard_manager;\n",
+ " if (!manager)\n",
+ " manager = IPython.keyboard_manager;\n",
+ "\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which == 13) {\n",
+ " this.canvas_div.blur();\n",
+ " event.shiftKey = false;\n",
+ " // Send a \"J\" for go to next cell\n",
+ " event.which = 74;\n",
+ " event.keyCode = 74;\n",
+ " manager.command_mode();\n",
+ " manager.handle_keydown(event);\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.find_output_cell = function(html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i=0; i= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] == html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel != null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "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 = $('');\n",
+ " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
+ " 'ui-button-icon-only');\n",
+ " button.attr('role', 'button');\n",
+ " button.attr('aria-disabled', 'false');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ "\n",
+ " var icon_img = $('');\n",
+ " icon_img.addClass('ui-button-icon-primary ui-icon');\n",
+ " icon_img.addClass(image);\n",
+ " icon_img.addClass('ui-corner-all');\n",
+ "\n",
+ " var tooltip_span = $('');\n",
+ " tooltip_span.addClass('ui-button-text');\n",
+ " tooltip_span.html(tooltip);\n",
+ "\n",
+ " button.append(icon_img);\n",
+ " button.append(tooltip_span);\n",
+ "\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " var fmt_picker_span = $('');\n",
+ "\n",
+ " var fmt_picker = $('');\n",
+ " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
+ " fmt_picker_span.append(fmt_picker);\n",
+ " nav_element.append(fmt_picker_span);\n",
+ " this.format_dropdown = fmt_picker[0];\n",
+ "\n",
+ " for (var ind in mpl.extensions) {\n",
+ " var fmt = mpl.extensions[ind];\n",
+ " var option = $(\n",
+ " '', {selected: fmt === mpl.default_extension}).html(fmt);\n",
+ " fmt_picker.append(option)\n",
+ " }\n",
+ "\n",
+ " // Add hover states to the ui-buttons\n",
+ " $( \".ui-button\" ).hover(\n",
+ " function() { $(this).addClass(\"ui-state-hover\");},\n",
+ " function() { $(this).removeClass(\"ui-state-hover\");}\n",
+ " );\n",
+ "\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
+ " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
+ " // which will in turn request a refresh of the image.\n",
+ " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_message = function(type, properties) {\n",
+ " properties['type'] = type;\n",
+ " properties['figure_id'] = this.id;\n",
+ " this.ws.send(JSON.stringify(properties));\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.send_draw_message = function() {\n",
+ " if (!this.waiting) {\n",
+ " this.waiting = true;\n",
+ " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " var format_dropdown = fig.format_dropdown;\n",
+ " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
+ " fig.ondownload(fig, format);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
+ " var size = msg['size'];\n",
+ " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
+ " fig._resize_canvas(size[0], size[1]);\n",
+ " fig.send_message(\"refresh\", {});\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
+ " var x0 = msg['x0'] / mpl.ratio;\n",
+ " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
+ " var x1 = msg['x1'] / mpl.ratio;\n",
+ " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
+ " x0 = Math.floor(x0) + 0.5;\n",
+ " y0 = Math.floor(y0) + 0.5;\n",
+ " x1 = Math.floor(x1) + 0.5;\n",
+ " y1 = Math.floor(y1) + 0.5;\n",
+ " var min_x = Math.min(x0, x1);\n",
+ " var min_y = Math.min(y0, y1);\n",
+ " var width = Math.abs(x1 - x0);\n",
+ " var height = Math.abs(y1 - y0);\n",
+ "\n",
+ " fig.rubberband_context.clearRect(\n",
+ " 0, 0, fig.canvas.width, fig.canvas.height);\n",
+ "\n",
+ " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
+ " // Updates the figure title.\n",
+ " fig.header.textContent = msg['label'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
+ " var cursor = msg['cursor'];\n",
+ " switch(cursor)\n",
+ " {\n",
+ " case 0:\n",
+ " cursor = 'pointer';\n",
+ " break;\n",
+ " case 1:\n",
+ " cursor = 'default';\n",
+ " break;\n",
+ " case 2:\n",
+ " cursor = 'crosshair';\n",
+ " break;\n",
+ " case 3:\n",
+ " cursor = 'move';\n",
+ " break;\n",
+ " }\n",
+ " fig.rubberband_canvas.style.cursor = cursor;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
+ " fig.message.textContent = msg['message'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
+ " // Request the server to send over a new figure.\n",
+ " fig.send_draw_message();\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
+ " fig.image_mode = msg['mode'];\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Called whenever the canvas gets updated.\n",
+ " this.send_message(\"ack\", {});\n",
+ "}\n",
+ "\n",
+ "// A function to construct a web socket function for onmessage handling.\n",
+ "// Called in the figure constructor.\n",
+ "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
+ " return function socket_on_message(evt) {\n",
+ " if (evt.data instanceof Blob) {\n",
+ " /* FIXME: We get \"Resource interpreted as Image but\n",
+ " * transferred with MIME type text/plain:\" errors on\n",
+ " * Chrome. But how to set the MIME type? It doesn't seem\n",
+ " * to be part of the websocket stream */\n",
+ " evt.data.type = \"image/png\";\n",
+ "\n",
+ " /* Free the memory for the previous frames */\n",
+ " if (fig.imageObj.src) {\n",
+ " (window.URL || window.webkitURL).revokeObjectURL(\n",
+ " fig.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
+ " evt.data);\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
+ " fig.imageObj.src = evt.data;\n",
+ " fig.updated_canvas_event();\n",
+ " fig.waiting = false;\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var msg = JSON.parse(evt.data);\n",
+ " var msg_type = msg['type'];\n",
+ "\n",
+ " // Call the \"handle_{type}\" callback, which takes\n",
+ " // the figure and JSON message as its only arguments.\n",
+ " try {\n",
+ " var callback = fig[\"handle_\" + msg_type];\n",
+ " } catch (e) {\n",
+ " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " if (callback) {\n",
+ " try {\n",
+ " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
+ " callback(fig, msg);\n",
+ " } catch (e) {\n",
+ " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
+ " }\n",
+ " }\n",
+ " };\n",
+ "}\n",
+ "\n",
+ "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
+ "mpl.findpos = function(e) {\n",
+ " //this section is from http://www.quirksmode.org/js/events_properties.html\n",
+ " var targ;\n",
+ " if (!e)\n",
+ " e = window.event;\n",
+ " if (e.target)\n",
+ " targ = e.target;\n",
+ " else if (e.srcElement)\n",
+ " targ = e.srcElement;\n",
+ " if (targ.nodeType == 3) // defeat Safari bug\n",
+ " targ = targ.parentNode;\n",
+ "\n",
+ " // jQuery normalizes the pageX and pageY\n",
+ " // pageX,Y are the mouse positions relative to the document\n",
+ " // offset() returns the position of the element relative to the document\n",
+ " var x = e.pageX - $(targ).offset().left;\n",
+ " var y = e.pageY - $(targ).offset().top;\n",
+ "\n",
+ " return {\"x\": x, \"y\": y};\n",
+ "};\n",
+ "\n",
+ "/*\n",
+ " * return a copy of an object with only non-object keys\n",
+ " * we need this to avoid circular references\n",
+ " * http://stackoverflow.com/a/24161582/3208463\n",
+ " */\n",
+ "function simpleKeys (original) {\n",
+ " return Object.keys(original).reduce(function (obj, key) {\n",
+ " if (typeof original[key] !== 'object')\n",
+ " obj[key] = original[key]\n",
+ " return obj;\n",
+ " }, {});\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.mouse_event = function(event, name) {\n",
+ " var canvas_pos = mpl.findpos(event)\n",
+ "\n",
+ " if (name === 'button_press')\n",
+ " {\n",
+ " this.canvas.focus();\n",
+ " this.canvas_div.focus();\n",
+ " }\n",
+ "\n",
+ " var x = canvas_pos.x * mpl.ratio;\n",
+ " var y = canvas_pos.y * mpl.ratio;\n",
+ "\n",
+ " this.send_message(name, {x: x, y: y, button: event.button,\n",
+ " step: event.step,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ "\n",
+ " /* This prevents the web browser from automatically changing to\n",
+ " * the text insertion cursor when the button is pressed. We want\n",
+ " * to control all of the cursor setting manually through the\n",
+ " * 'cursor' event from matplotlib */\n",
+ " event.preventDefault();\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " // Handle any extra behaviour associated with a key event\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.key_event = function(event, name) {\n",
+ "\n",
+ " // Prevent repeat events\n",
+ " if (name == 'key_press')\n",
+ " {\n",
+ " if (event.which === this._key)\n",
+ " return;\n",
+ " else\n",
+ " this._key = event.which;\n",
+ " }\n",
+ " if (name == 'key_release')\n",
+ " this._key = null;\n",
+ "\n",
+ " var value = '';\n",
+ " if (event.ctrlKey && event.which != 17)\n",
+ " value += \"ctrl+\";\n",
+ " if (event.altKey && event.which != 18)\n",
+ " value += \"alt+\";\n",
+ " if (event.shiftKey && event.which != 16)\n",
+ " value += \"shift+\";\n",
+ "\n",
+ " value += 'k';\n",
+ " value += event.which.toString();\n",
+ "\n",
+ " this._key_event_extra(event, name);\n",
+ "\n",
+ " this.send_message(name, {key: value,\n",
+ " guiEvent: simpleKeys(event)});\n",
+ " return false;\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
+ " if (name == 'download') {\n",
+ " this.handle_save(this, null);\n",
+ " } else {\n",
+ " this.send_message(\"toolbar_button\", {name: name});\n",
+ " }\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
+ " this.message.textContent = tooltip;\n",
+ "};\n",
+ "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
+ "\n",
+ "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
+ "\n",
+ "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
+ " // Create a \"websocket\"-like object which calls the given IPython comm\n",
+ " // object with the appropriate methods. Currently this is a non binary\n",
+ " // socket, so there is still some room for performance tuning.\n",
+ " var ws = {};\n",
+ "\n",
+ " ws.close = function() {\n",
+ " comm.close()\n",
+ " };\n",
+ " ws.send = function(m) {\n",
+ " //console.log('sending', m);\n",
+ " comm.send(m);\n",
+ " };\n",
+ " // Register the callback with on_msg.\n",
+ " comm.on_msg(function(msg) {\n",
+ " //console.log('receiving', msg['content']['data'], msg);\n",
+ " // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
+ " ws.onmessage(msg['content']['data'])\n",
+ " });\n",
+ " return ws;\n",
+ "}\n",
+ "\n",
+ "mpl.mpl_figure_comm = function(comm, msg) {\n",
+ " // This is the function which gets called when the mpl process\n",
+ " // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
+ "\n",
+ " var id = msg.content.data.id;\n",
+ " // Get hold of the div created by the display call when the Comm\n",
+ " // socket was opened in Python.\n",
+ " var element = $(\"#\" + id);\n",
+ " var ws_proxy = comm_websocket_adapter(comm)\n",
+ "\n",
+ " function ondownload(figure, format) {\n",
+ " window.open(figure.imageObj.src);\n",
+ " }\n",
+ "\n",
+ " var fig = new mpl.figure(id, ws_proxy,\n",
+ " ondownload,\n",
+ " element.get(0));\n",
+ "\n",
+ " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
+ " // web socket which is closed, not our websocket->open comm proxy.\n",
+ " ws_proxy.onopen();\n",
+ "\n",
+ " fig.parent_element = element.get(0);\n",
+ " fig.cell_info = mpl.find_output_cell(\"\");\n",
+ " if (!fig.cell_info) {\n",
+ " console.error(\"Failed to find cell for figure\", id, fig);\n",
+ " return;\n",
+ " }\n",
+ "\n",
+ " var output_index = fig.cell_info[2]\n",
+ " var cell = fig.cell_info[0];\n",
+ "\n",
+ "};\n",
+ "\n",
+ "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
+ " var width = fig.canvas.width/mpl.ratio\n",
+ " fig.root.unbind('remove')\n",
+ "\n",
+ " // Update the output cell to use the data from the current canvas.\n",
+ " fig.push_to_output();\n",
+ " var dataURL = fig.canvas.toDataURL();\n",
+ " // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
+ " // the notebook keyboard shortcuts fail.\n",
+ " IPython.keyboard_manager.enable()\n",
+ " $(fig.parent_element).html('');\n",
+ " fig.close_ws(fig, msg);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.close_ws = function(fig, msg){\n",
+ " fig.send_message('closing', msg);\n",
+ " // fig.ws.close()\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
+ " // Turn the data on the canvas into data in the output cell.\n",
+ " var width = this.canvas.width/mpl.ratio\n",
+ " var dataURL = this.canvas.toDataURL();\n",
+ " this.cell_info[1]['text/html'] = '';\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.updated_canvas_event = function() {\n",
+ " // Tell IPython that the notebook contents must change.\n",
+ " IPython.notebook.set_dirty(true);\n",
+ " this.send_message(\"ack\", {});\n",
+ " var fig = this;\n",
+ " // Wait a second, then push the new image to the DOM so\n",
+ " // that it is saved nicely (might be nice to debounce this).\n",
+ " setTimeout(function () { fig.push_to_output() }, 1000);\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) { continue; };\n",
+ "\n",
+ " var button = $('');\n",
+ " button.click(method_name, toolbar_event);\n",
+ " button.mouseover(tooltip, toolbar_mouse_event);\n",
+ " nav_element.append(button);\n",
+ " }\n",
+ "\n",
+ " // Add the status bar.\n",
+ " var status_bar = $('');\n",
+ " nav_element.append(status_bar);\n",
+ " this.message = status_bar[0];\n",
+ "\n",
+ " // Add the close button to the window.\n",
+ " var buttongrp = $('');\n",
+ " var button = $('');\n",
+ " button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
+ " button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
+ " buttongrp.append(button);\n",
+ " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
+ " titlebar.prepend(buttongrp);\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._root_extra_style = function(el){\n",
+ " var fig = this\n",
+ " el.on(\"remove\", function(){\n",
+ "\tfig.close_ws(fig, {});\n",
+ " });\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._canvas_extra_style = function(el){\n",
+ " // this is important to make the div 'focusable\n",
+ " el.attr('tabindex', 0)\n",
+ " // reach out to IPython and tell the keyboard manager to turn it's self\n",
+ " // off when our div gets focus\n",
+ "\n",
+ " // location in version 3\n",
+ " if (IPython.notebook.keyboard_manager) {\n",
+ " IPython.notebook.keyboard_manager.register_events(el);\n",
+ " }\n",
+ " else {\n",
+ " // location in version 2\n",
+ " IPython.keyboard_manager.register_events(el);\n",
+ " }\n",
+ "\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
+ " var manager = IPython.notebook.keyboard_manager;\n",
+ " if (!manager)\n",
+ " manager = IPython.keyboard_manager;\n",
+ "\n",
+ " // Check for shift+enter\n",
+ " if (event.shiftKey && event.which == 13) {\n",
+ " this.canvas_div.blur();\n",
+ " event.shiftKey = false;\n",
+ " // Send a \"J\" for go to next cell\n",
+ " event.which = 74;\n",
+ " event.keyCode = 74;\n",
+ " manager.command_mode();\n",
+ " manager.handle_keydown(event);\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
+ " fig.ondownload(fig, null);\n",
+ "}\n",
+ "\n",
+ "\n",
+ "mpl.find_output_cell = function(html_output) {\n",
+ " // Return the cell and output element which can be found *uniquely* in the notebook.\n",
+ " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
+ " // IPython event is triggered only after the cells have been serialised, which for\n",
+ " // our purposes (turning an active figure into a static one), is too late.\n",
+ " var cells = IPython.notebook.get_cells();\n",
+ " var ncells = cells.length;\n",
+ " for (var i=0; i= 3 moved mimebundle to data attribute of output\n",
+ " data = data.data;\n",
+ " }\n",
+ " if (data['text/html'] == html_output) {\n",
+ " return [cell, data, j];\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "// Register the function which deals with the matplotlib target/channel.\n",
+ "// The kernel may be null if the page has been refreshed.\n",
+ "if (IPython.notebook.kernel != null) {\n",
+ " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
+ "}\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ ""
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "lander env att 2 fixed\n",
+ "Landing_icgen:\n",
+ " downrange : (0, 2000, -70, -10)\n",
+ " crossrange : (-1000, 1000, -30, 30)\n",
+ " altitude : (2300, 2400, -90, -70)\n",
+ "PPO Policy 1\n",
+ "Policy Params -- h1: 120, h2: 69, h3: 40, lr: 0.000108, logvar_speed: 8\n",
+ "[[-1.]\n",
+ " [ 0.]\n",
+ " [ 1.]]\n",
+ "10\n",
+ "Actor Test Mode: False\n",
+ "clip param: 0.1\n",
+ "dict_keys(['h3/kernel:0', 'means/bias:0', 'means/kernel:0', 'logvars:0', 'h1/bias:0', 'h2/kernel:0', 'h1/kernel:0', 'h3/bias:0', 'h2/bias:0'])\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "from env_mdr import Env\n",
+ "from reward_terminal_mdr import Reward\n",
+ "import env_utils as envu\n",
+ "import attitude_utils as attu\n",
+ "from dynamics_model import Dynamics_model\n",
+ "from lander_model import Lander_model\n",
+ "from ic_gen import Landing_icgen\n",
+ "from agent_mdr2 import Agent\n",
+ "from policy_ppo import Policy\n",
+ "from value_function import Value_function\n",
+ "from utils import Mapminmax,Logger,Scaler\n",
+ "from flat_constraint import Flat_constraint\n",
+ "from glideslope_constraint import Glideslope_constraint\n",
+ "from attitude_constraint import Attitude_constraint\n",
+ "from thruster_model import Thruster_model\n",
+ "\n",
+ "logger = Logger()\n",
+ "dynamics_model = Dynamics_model()\n",
+ "attitude_parameterization = attu.Quaternion_attitude()\n",
+ "\n",
+ "thruster_model = Thruster_model()\n",
+ "thruster_model.max_thrust = 5000\n",
+ "thruster_model.min_thrust = 1000\n",
+ "\n",
+ "lander_model = Lander_model(thruster_model, attitude_parameterization=attitude_parameterization,\n",
+ " apf_v0=70, apf_atarg=15., apf_tau2=100.)\n",
+ "lander_model.get_state_agent = lander_model.get_state_agent_tgo_alt\n",
+ "\n",
+ "reward_object = Reward(tracking_bias=0.01,tracking_coeff=-0.01, fuel_coeff=-0.05, debug=False, landing_coeff=10.)\n",
+ "\n",
+ "glideslope_constraint = Glideslope_constraint(gs_limit=-1.0)\n",
+ "shape_constraint = Flat_constraint()\n",
+ "attitude_constraint = Attitude_constraint(attitude_parameterization, \n",
+ " attitude_penalty=-100,attitude_coeff=-10,\n",
+ " attitude_limit=(10*np.pi, np.pi/2-np.pi/16, np.pi/2-np.pi/16))\n",
+ "env = Env(lander_model,dynamics_model,logger,\n",
+ " reward_object=reward_object,\n",
+ " glideslope_constraint=glideslope_constraint,\n",
+ " shape_constraint=shape_constraint,\n",
+ " attitude_constraint=attitude_constraint,\n",
+ " tf_limit=120.0,print_every=10)\n",
+ "\n",
+ "\n",
+ "env.ic_gen = Landing_icgen(mass_uncertainty=0.05, \n",
+ " g_uncertainty=(0.0,0.0), \n",
+ " attitude_parameterization=attitude_parameterization,\n",
+ " l_offset=0.,\n",
+ " adapt_apf_v0=True,\n",
+ " inertia_uncertainty_diag=100.0, \n",
+ " inertia_uncertainty_offdiag=10.0,\n",
+ " downrange = (0,2000 , -70, -10), \n",
+ " crossrange = (-1000,1000 , -30,30), \n",
+ " altitude = (2300,2400,-90,-70),\n",
+ " yaw = (-np.pi/8, np.pi/8, 0.0, 0.0) ,\n",
+ " pitch = (np.pi/4-np.pi/8, np.pi/4+np.pi/16, -0.01, 0.01),\n",
+ " roll = (-np.pi/8, np.pi/8, -0.01, 0.01))\n",
+ "\n",
+ "env.ic_gen.show()\n",
+ "\n",
+ "obs_dim = 12\n",
+ "act_dim = 4\n",
+ "\n",
+ "policy = Policy(obs_dim,act_dim,kl_targ=0.001,epochs=20, beta=0.1, shuffle=True, servo_kl=True)\n",
+ "import utils\n",
+ "fname = \"optimize_4km\"\n",
+ "input_normalizer = utils.load_run(policy,fname)\n",
+ "print(input_normalizer)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Test 800m Divert"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10551.32 |3872.88 |3464.10 |20000.00 | 38\n",
+ "glideslope | 3.057 | 7.979 | 0.763 |484.181 | 48\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.3 0.0 | 798.7 798.5 -0.0 | 802.4 803.4 -0.0\n",
+ "velocity | 0.037 -0.047 -0.942 | 0.021 0.032 0.059 | -0.029 -0.126 -1.313 | 0.069 0.009 -0.752\n",
+ "fuel |321.27 | 14.46 |286.38 |357.40\n",
+ "attitude_321 | 0.134 -0.009 -0.001 | 0.186 0.007 0.009 | -0.236 -0.025 -0.015 | 0.503 0.012 0.033\n",
+ "w | -0.007 -0.007 0.000 | 0.021 0.013 0.000 | -0.058 -0.064 -0.000 | 0.038 0.017 0.000\n",
+ "glideslope | 28.160 | 34.061 | 12.025 | 360.911\n",
+ "i : 200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10524.61 |3897.69 |3464.10 |20000.00 | 38\n",
+ "glideslope | 3.241 |11.987 | 0.690 |1752.228 | 133\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.7 -0.0 | 1.0 1.3 0.0 | 798.4 797.0 -0.1 | 802.8 803.4 -0.0\n",
+ "velocity | 0.039 -0.049 -0.940 | 0.021 0.032 0.066 | -0.029 -0.167 -1.313 | 0.069 0.009 -0.721\n",
+ "fuel |322.22 | 14.94 |286.38 |361.94\n",
+ "attitude_321 | 0.137 -0.010 -0.000 | 0.180 0.007 0.009 | -0.236 -0.025 -0.017 | 0.555 0.013 0.036\n",
+ "w | -0.009 -0.009 0.000 | 0.022 0.013 0.000 | -0.060 -0.067 -0.000 | 0.051 0.020 0.000\n",
+ "glideslope | 26.979 | 25.217 | 11.355 | 360.911\n",
+ "i : 300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10534.93 |3909.53 |3464.10 |20000.00 | 38\n",
+ "glideslope | 3.250 |11.698 | 0.690 |1752.228 | 133\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.7 -0.0 | 1.0 1.4 0.0 | 798.1 797.0 -0.1 | 802.9 804.3 -0.0\n",
+ "velocity | 0.039 -0.048 -0.937 | 0.021 0.030 0.065 | -0.029 -0.167 -1.313 | 0.073 0.009 -0.662\n",
+ "fuel |322.20 | 14.75 |286.38 |361.94\n",
+ "attitude_321 | 0.129 -0.010 -0.001 | 0.180 0.007 0.009 | -0.236 -0.025 -0.021 | 0.555 0.013 0.036\n",
+ "w | -0.009 -0.009 -0.000 | 0.022 0.013 0.000 | -0.060 -0.067 -0.000 | 0.051 0.020 0.000\n",
+ "glideslope | 26.952 | 22.165 | 11.355 | 360.911\n",
+ "i : 400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10551.61 |3916.97 |3464.10 |20000.00 | 38\n",
+ "glideslope | 3.213 |10.851 | 0.690 |1752.228 | 133\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.7 -0.0 | 1.0 1.4 0.0 | 798.1 797.0 -0.1 | 802.9 804.5 -0.0\n",
+ "velocity | 0.038 -0.049 -0.937 | 0.022 0.029 0.059 | -0.029 -0.167 -1.313 | 0.073 0.009 -0.662\n",
+ "fuel |322.26 | 14.33 |286.38 |361.94\n",
+ "attitude_321 | 0.140 -0.009 -0.000 | 0.180 0.007 0.009 | -0.236 -0.025 -0.021 | 0.555 0.013 0.036\n",
+ "w | -0.010 -0.010 -0.000 | 0.022 0.014 0.000 | -0.060 -0.067 -0.000 | 0.051 0.021 0.000\n",
+ "glideslope | 27.386 | 23.707 | 10.106 | 360.911\n",
+ "i : 500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10567.80 |3912.30 |3464.10 |20000.00 | 38\n",
+ "glideslope | 3.217 |10.242 | 0.690 |1752.228 | 133\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.4 0.0 | 798.1 797.0 -0.1 | 802.9 804.5 -0.0\n",
+ "velocity | 0.038 -0.049 -0.936 | 0.022 0.030 0.056 | -0.044 -0.168 -1.313 | 0.073 0.009 -0.662\n",
+ "fuel |322.10 | 14.06 |286.38 |361.94\n",
+ "attitude_321 | 0.143 -0.009 -0.000 | 0.178 0.007 0.009 | -0.236 -0.026 -0.021 | 0.555 0.013 0.036\n",
+ "w | -0.010 -0.009 0.000 | 0.022 0.014 0.000 | -0.060 -0.067 -0.000 | 0.051 0.027 0.000\n",
+ "glideslope | 27.210 | 21.895 | 10.000 | 360.911\n",
+ "i : 600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10570.59 |3912.48 |3464.10 |20000.00 | 38\n",
+ "glideslope | 3.220 | 9.797 | 0.690 |1752.228 | 133\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.4 0.0 | 798.1 797.0 -0.1 | 802.9 804.5 -0.0\n",
+ "velocity | 0.037 -0.049 -0.936 | 0.022 0.030 0.057 | -0.044 -0.168 -1.313 | 0.073 0.009 -0.662\n",
+ "fuel |321.87 | 14.06 |286.38 |361.94\n",
+ "attitude_321 | 0.145 -0.009 -0.000 | 0.178 0.007 0.009 | -0.236 -0.032 -0.021 | 0.555 0.015 0.036\n",
+ "w | -0.009 -0.009 0.000 | 0.022 0.014 0.000 | -0.060 -0.067 -0.000 | 0.051 0.027 0.000\n",
+ "glideslope | 27.216 | 21.230 | 9.703 | 360.911\n",
+ "i : 700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10561.03 |3905.08 |3464.10 |20000.00 | 38\n",
+ "glideslope | 3.207 | 9.425 | 0.690 |1752.228 | 133\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.4 0.0 | 798.1 797.0 -0.1 | 803.1 804.5 -0.0\n",
+ "velocity | 0.037 -0.049 -0.935 | 0.022 0.030 0.058 | -0.044 -0.179 -1.313 | 0.073 0.009 -0.605\n",
+ "fuel |321.71 | 14.13 |286.38 |365.10\n",
+ "attitude_321 | 0.144 -0.009 -0.000 | 0.177 0.007 0.009 | -0.266 -0.035 -0.021 | 0.555 0.015 0.036\n",
+ "w | -0.009 -0.009 0.000 | 0.022 0.014 0.000 | -0.060 -0.067 -0.000 | 0.051 0.027 0.000\n",
+ "glideslope | 26.826 | 20.084 | 9.703 | 360.911\n",
+ "i : 800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10551.39 |3897.78 |3464.10 |20000.00 | 38\n",
+ "glideslope | 3.227 | 9.336 | 0.690 |1752.228 | 133\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.4 0.0 | 798.1 797.0 -0.1 | 803.1 804.5 -0.0\n",
+ "velocity | 0.037 -0.049 -0.937 | 0.022 0.030 0.060 | -0.044 -0.179 -1.313 | 0.073 0.009 -0.605\n",
+ "fuel |321.53 | 14.06 |286.38 |365.10\n",
+ "attitude_321 | 0.145 -0.009 -0.000 | 0.177 0.007 0.009 | -0.266 -0.035 -0.021 | 0.555 0.016 0.036\n",
+ "w | -0.009 -0.009 0.000 | 0.022 0.014 0.000 | -0.060 -0.067 -0.000 | 0.051 0.027 0.000\n",
+ "glideslope | 27.133 | 22.225 | 9.703 | 360.911\n",
+ "i : 900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10563.77 |3905.86 |3464.10 |20000.00 | 38\n",
+ "glideslope | 3.224 | 9.760 | 0.690 |1752.228 | 133\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.4 0.0 | 797.6 797.0 -0.1 | 803.1 804.5 -0.0\n",
+ "velocity | 0.038 -0.049 -0.937 | 0.022 0.030 0.058 | -0.047 -0.179 -1.313 | 0.073 0.009 -0.605\n",
+ "fuel |321.58 | 13.99 |286.38 |365.10\n",
+ "attitude_321 | 0.143 -0.009 -0.000 | 0.178 0.007 0.009 | -0.266 -0.035 -0.021 | 0.555 0.018 0.036\n",
+ "w | -0.009 -0.009 0.000 | 0.022 0.014 0.000 | -0.065 -0.067 -0.000 | 0.051 0.027 0.000\n",
+ "glideslope | 27.794 | 25.197 | 9.703 | 414.594\n",
+ "i : 1000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10570.93 |3909.15 |3464.10 |20000.00 | 38\n",
+ "glideslope | 3.219 | 9.503 | 0.690 |1752.228 | 133\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.4 0.0 | 797.6 797.0 -0.1 | 803.1 804.5 -0.0\n",
+ "velocity | 0.037 -0.049 -0.936 | 0.023 0.030 0.058 | -0.053 -0.179 -1.313 | 0.073 0.009 -0.512\n",
+ "fuel |321.57 | 14.04 |286.38 |365.10\n",
+ "attitude_321 | 0.145 -0.009 -0.000 | 0.179 0.007 0.009 | -0.266 -0.035 -0.021 | 0.555 0.018 0.036\n",
+ "w | -0.009 -0.009 0.000 | 0.022 0.014 0.000 | -0.065 -0.067 -0.000 | 0.051 0.031 0.000\n",
+ "glideslope | 27.696 | 24.418 | 9.703 | 414.594\n",
+ "i : 1100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10568.80 |3911.33 |3464.10 |20000.00 | 38\n",
+ "glideslope | 3.217 | 9.458 | 0.690 |1752.228 | 133\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.4 0.0 | 797.6 797.0 -0.1 | 803.1 804.5 -0.0\n",
+ "velocity | 0.037 -0.050 -0.935 | 0.023 0.030 0.058 | -0.053 -0.179 -1.313 | 0.073 0.009 -0.512\n",
+ "fuel |321.70 | 14.06 |286.38 |365.98\n",
+ "attitude_321 | 0.145 -0.009 -0.000 | 0.180 0.007 0.009 | -0.266 -0.035 -0.021 | 0.555 0.018 0.036\n",
+ "w | -0.009 -0.009 -0.000 | 0.022 0.014 0.000 | -0.065 -0.067 -0.000 | 0.051 0.031 0.000\n",
+ "glideslope | 27.483 | 23.532 | 9.703 | 414.594\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 1200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10567.87 |3912.89 |3464.10 |20000.00 | 38\n",
+ "glideslope | 3.217 | 9.423 | 0.690 |1752.228 | 133\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.4 0.0 | 797.6 797.0 -0.1 | 803.1 804.5 -0.0\n",
+ "velocity | 0.037 -0.050 -0.936 | 0.023 0.030 0.058 | -0.070 -0.179 -1.313 | 0.073 0.009 -0.512\n",
+ "fuel |321.65 | 13.94 |286.38 |365.98\n",
+ "attitude_321 | 0.146 -0.009 -0.000 | 0.179 0.007 0.009 | -0.266 -0.035 -0.021 | 0.594 0.024 0.036\n",
+ "w | -0.009 -0.009 0.000 | 0.022 0.014 0.000 | -0.065 -0.067 -0.000 | 0.076 0.031 0.000\n",
+ "glideslope | 27.565 | 23.132 | 9.703 | 414.594\n",
+ "i : 1300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10571.88 |3917.30 |3464.10 |20000.00 | 1253\n",
+ "glideslope | 3.208 | 9.452 | 0.690 |1752.228 | 133\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.4 0.0 | 797.6 797.0 -0.1 | 803.1 804.5 -0.0\n",
+ "velocity | 0.037 -0.050 -0.936 | 0.023 0.030 0.058 | -0.070 -0.179 -1.313 | 0.073 0.009 -0.512\n",
+ "fuel |321.77 | 13.96 |286.38 |365.98\n",
+ "attitude_321 | 0.147 -0.009 -0.000 | 0.180 0.007 0.009 | -0.270 -0.035 -0.021 | 0.594 0.024 0.036\n",
+ "w | -0.009 -0.010 0.000 | 0.022 0.014 0.000 | -0.065 -0.068 -0.000 | 0.076 0.031 0.000\n",
+ "glideslope | 27.730 | 23.079 | 7.631 | 414.594\n",
+ "i : 1400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10563.21 |3916.51 |3464.10 |20000.00 | 1253\n",
+ "glideslope | 3.197 | 9.287 | 0.690 |1752.228 | 133\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.4 0.0 | 797.6 797.0 -0.1 | 803.1 804.5 -0.0\n",
+ "velocity | 0.037 -0.050 -0.936 | 0.023 0.030 0.059 | -0.070 -0.179 -1.313 | 0.073 0.009 -0.512\n",
+ "fuel |321.75 | 13.86 |286.38 |365.98\n",
+ "attitude_321 | 0.147 -0.009 -0.000 | 0.179 0.007 0.009 | -0.270 -0.035 -0.021 | 0.594 0.024 0.036\n",
+ "w | -0.009 -0.009 0.000 | 0.022 0.014 0.000 | -0.065 -0.068 -0.000 | 0.076 0.031 0.000\n",
+ "glideslope | 27.516 | 22.513 | 7.631 | 414.594\n",
+ "i : 1500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10563.70 |3918.11 |3464.10 |20000.00 | 1253\n",
+ "glideslope | 3.193 | 9.311 | 0.690 |1752.228 | 133\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.4 0.0 | 797.6 797.0 -0.1 | 803.1 804.6 -0.0\n",
+ "velocity | 0.037 -0.049 -0.936 | 0.023 0.030 0.059 | -0.070 -0.179 -1.313 | 0.077 0.009 -0.512\n",
+ "fuel |321.72 | 13.79 |286.38 |365.98\n",
+ "attitude_321 | 0.146 -0.009 -0.000 | 0.179 0.007 0.009 | -0.270 -0.035 -0.021 | 0.594 0.024 0.036\n",
+ "w | -0.009 -0.010 0.000 | 0.022 0.014 0.000 | -0.068 -0.068 -0.000 | 0.076 0.031 0.000\n",
+ "glideslope | 27.489 | 22.000 | 7.631 | 414.594\n",
+ "i : 1600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10561.83 |3919.50 |3464.10 |20000.00 | 1253\n",
+ "glideslope | 3.193 | 9.957 | 0.690 |2669.278 | 1557\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.4 0.0 | 797.6 797.0 -0.1 | 803.1 804.6 -0.0\n",
+ "velocity | 0.037 -0.050 -0.936 | 0.023 0.030 0.059 | -0.070 -0.179 -1.313 | 0.077 0.012 -0.512\n",
+ "fuel |321.74 | 13.79 |286.38 |365.98\n",
+ "attitude_321 | 0.147 -0.009 -0.000 | 0.179 0.007 0.009 | -0.270 -0.035 -0.021 | 0.594 0.024 0.036\n",
+ "w | -0.009 -0.010 0.000 | 0.022 0.014 0.000 | -0.068 -0.068 -0.000 | 0.076 0.031 0.000\n",
+ "glideslope | 27.485 | 21.708 | 7.631 | 414.594\n",
+ "i : 1700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10559.36 |3917.95 |3464.10 |20000.00 | 1253\n",
+ "glideslope | 3.201 | 9.844 | 0.690 |2669.278 | 1557\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.4 0.0 | 797.6 797.0 -0.1 | 803.1 804.6 -0.0\n",
+ "velocity | 0.037 -0.050 -0.935 | 0.023 0.030 0.059 | -0.070 -0.179 -1.313 | 0.077 0.012 -0.512\n",
+ "fuel |321.64 | 13.80 |286.38 |365.98\n",
+ "attitude_321 | 0.147 -0.009 -0.000 | 0.180 0.007 0.009 | -0.270 -0.035 -0.021 | 0.594 0.024 0.037\n",
+ "w | -0.009 -0.010 0.000 | 0.022 0.015 0.000 | -0.068 -0.073 -0.000 | 0.076 0.031 0.000\n",
+ "glideslope | 27.353 | 21.183 | 7.631 | 414.594\n",
+ "i : 1800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10555.51 |3916.72 |3464.10 |20000.00 | 1253\n",
+ "glideslope | 3.195 | 9.667 | 0.690 |2669.278 | 1557\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.4 0.0 | 797.6 797.0 -0.1 | 803.1 804.6 -0.0\n",
+ "velocity | 0.037 -0.050 -0.935 | 0.023 0.030 0.059 | -0.070 -0.179 -1.313 | 0.077 0.013 -0.512\n",
+ "fuel |321.57 | 13.79 |286.38 |365.98\n",
+ "attitude_321 | 0.146 -0.009 -0.000 | 0.180 0.007 0.009 | -0.270 -0.035 -0.021 | 0.594 0.024 0.037\n",
+ "w | -0.009 -0.010 0.000 | 0.022 0.014 0.000 | -0.068 -0.073 -0.000 | 0.076 0.031 0.000\n",
+ "glideslope | 27.275 | 20.815 | 7.631 | 414.594\n",
+ "i : 1900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10559.46 |3917.30 |3464.10 |20000.00 | 1253\n",
+ "glideslope | 3.196 | 9.587 | 0.629 |2669.278 | 1557\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.4 0.0 | 797.6 797.0 -0.1 | 803.3 804.6 -0.0\n",
+ "velocity | 0.037 -0.050 -0.935 | 0.023 0.030 0.059 | -0.070 -0.179 -1.313 | 0.077 0.013 -0.512\n",
+ "fuel |321.48 | 13.82 |286.38 |365.98\n",
+ "attitude_321 | 0.147 -0.009 -0.000 | 0.181 0.007 0.009 | -0.270 -0.035 -0.021 | 0.594 0.024 0.037\n",
+ "w | -0.009 -0.010 0.000 | 0.022 0.014 0.000 | -0.071 -0.073 -0.000 | 0.076 0.031 0.000\n",
+ "glideslope | 27.259 | 20.455 | 7.631 | 414.594\n",
+ "i : 2000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10563.89 |3916.88 |3464.10 |20000.00 | 1253\n",
+ "glideslope | 3.196 | 9.489 | 0.629 |2669.278 | 1557\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.4 0.0 | 797.6 797.0 -0.1 | 803.3 804.6 -0.0\n",
+ "velocity | 0.037 -0.050 -0.935 | 0.023 0.030 0.059 | -0.070 -0.179 -1.313 | 0.081 0.013 -0.512\n",
+ "fuel |321.39 | 13.84 |286.38 |365.98\n",
+ "attitude_321 | 0.147 -0.009 -0.000 | 0.182 0.007 0.009 | -0.270 -0.035 -0.021 | 0.594 0.024 0.037\n",
+ "w | -0.009 -0.009 0.000 | 0.022 0.014 0.000 | -0.071 -0.073 -0.000 | 0.076 0.031 0.000\n",
+ "glideslope | 27.202 | 20.602 | 7.631 | 414.594\n",
+ "i : 2100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10564.00 |3917.01 |3464.10 |20000.00 | 1253\n",
+ "glideslope | 3.198 | 9.441 | 0.629 |2669.278 | 1557\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.4 0.0 | 797.6 796.7 -0.1 | 803.3 804.6 -0.0\n",
+ "velocity | 0.037 -0.050 -0.935 | 0.023 0.030 0.059 | -0.070 -0.179 -1.313 | 0.081 0.013 -0.512\n",
+ "fuel |321.39 | 13.80 |286.38 |365.98\n",
+ "attitude_321 | 0.148 -0.009 -0.000 | 0.181 0.007 0.009 | -0.270 -0.035 -0.021 | 0.594 0.024 0.037\n",
+ "w | -0.009 -0.009 0.000 | 0.022 0.015 0.000 | -0.071 -0.073 -0.000 | 0.076 0.031 0.000\n",
+ "glideslope | 27.264 | 20.662 | 7.631 | 414.594\n",
+ "i : 2200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10568.43 |3920.31 |3464.10 |20000.00 | 1253\n",
+ "glideslope | 3.199 | 9.637 | 0.629 |2669.278 | 1557\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.4 0.0 | 797.6 796.7 -0.1 | 803.4 804.6 -0.0\n",
+ "velocity | 0.037 -0.050 -0.935 | 0.023 0.030 0.059 | -0.070 -0.179 -1.313 | 0.081 0.013 -0.512\n",
+ "fuel |321.42 | 13.77 |286.38 |365.98\n",
+ "attitude_321 | 0.148 -0.009 -0.000 | 0.182 0.007 0.009 | -0.270 -0.035 -0.021 | 0.594 0.024 0.037\n",
+ "w | -0.009 -0.010 0.000 | 0.022 0.014 0.000 | -0.071 -0.073 -0.000 | 0.076 0.031 0.000\n",
+ "glideslope | 27.289 | 20.545 | 7.631 | 414.594\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 2300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10567.38 |3922.11 |3464.10 |20000.00 | 1253\n",
+ "glideslope | 3.194 | 9.535 | 0.629 |2669.278 | 1557\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.4 0.0 | 797.6 796.7 -0.1 | 803.4 804.6 -0.0\n",
+ "velocity | 0.037 -0.050 -0.935 | 0.023 0.030 0.059 | -0.070 -0.179 -1.313 | 0.081 0.023 -0.512\n",
+ "fuel |321.54 | 13.78 |286.38 |365.98\n",
+ "attitude_321 | 0.149 -0.009 -0.000 | 0.181 0.007 0.009 | -0.270 -0.035 -0.021 | 0.594 0.027 0.037\n",
+ "w | -0.009 -0.010 0.000 | 0.022 0.015 0.000 | -0.071 -0.084 -0.000 | 0.076 0.031 0.000\n",
+ "glideslope | 27.247 | 20.255 | 7.631 | 414.594\n",
+ "i : 2400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10565.48 |3922.09 |3464.10 |20000.00 | 1253\n",
+ "glideslope | 3.205 |11.942 | 0.629 |6286.215 | 2311\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.4 0.0 | 797.6 796.7 -0.1 | 803.4 804.6 -0.0\n",
+ "velocity | 0.037 -0.050 -0.934 | 0.023 0.030 0.059 | -0.070 -0.179 -1.313 | 0.081 0.023 -0.512\n",
+ "fuel |321.59 | 13.80 |286.38 |372.01\n",
+ "attitude_321 | 0.150 -0.009 -0.000 | 0.181 0.007 0.009 | -0.270 -0.035 -0.021 | 0.594 0.027 0.037\n",
+ "w | -0.009 -0.010 0.000 | 0.022 0.015 0.000 | -0.071 -0.084 -0.000 | 0.076 0.031 0.000\n",
+ "glideslope | 27.210 | 19.988 | 7.631 | 414.594\n",
+ "i : 2500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10563.45 |3920.35 |3464.10 |20000.00 | 1253\n",
+ "glideslope | 3.206 |11.819 | 0.629 |6286.215 | 2311\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.4 0.0 | 797.6 796.7 -0.1 | 803.4 804.6 -0.0\n",
+ "velocity | 0.037 -0.050 -0.934 | 0.023 0.030 0.060 | -0.070 -0.179 -1.313 | 0.081 0.023 -0.497\n",
+ "fuel |321.57 | 13.80 |286.38 |372.01\n",
+ "attitude_321 | 0.150 -0.009 -0.000 | 0.180 0.007 0.009 | -0.270 -0.035 -0.021 | 0.594 0.027 0.042\n",
+ "w | -0.009 -0.010 0.000 | 0.022 0.015 0.000 | -0.071 -0.084 -0.000 | 0.076 0.031 0.000\n",
+ "glideslope | 27.220 | 19.804 | 7.631 | 414.594\n",
+ "i : 2600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10569.67 |3921.06 |3464.10 |20000.00 | 1253\n",
+ "glideslope | 3.207 |11.707 | 0.629 |6286.215 | 2311\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.4 0.0 | 797.6 796.7 -0.1 | 803.4 804.6 -0.0\n",
+ "velocity | 0.037 -0.050 -0.935 | 0.023 0.030 0.060 | -0.070 -0.179 -1.313 | 0.081 0.023 -0.497\n",
+ "fuel |321.58 | 13.77 |286.38 |372.01\n",
+ "attitude_321 | 0.149 -0.009 -0.000 | 0.180 0.007 0.009 | -0.270 -0.035 -0.021 | 0.594 0.027 0.042\n",
+ "w | -0.009 -0.010 0.000 | 0.021 0.015 0.000 | -0.071 -0.084 -0.000 | 0.076 0.031 0.000\n",
+ "glideslope | 27.232 | 19.736 | 7.631 | 414.594\n",
+ "i : 2700\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10570.80 |3922.09 |3464.10 |20000.00 | 1253\n",
+ "glideslope | 3.203 |11.585 | 0.629 |6286.215 | 2311\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.4 0.0 | 797.6 796.7 -0.1 | 803.4 804.6 -0.0\n",
+ "velocity | 0.037 -0.050 -0.935 | 0.023 0.030 0.059 | -0.070 -0.179 -1.313 | 0.081 0.023 -0.497\n",
+ "fuel |321.61 | 13.82 |286.38 |372.01\n",
+ "attitude_321 | 0.149 -0.009 -0.000 | 0.181 0.007 0.009 | -0.270 -0.035 -0.021 | 0.594 0.027 0.042\n",
+ "w | -0.009 -0.010 0.000 | 0.022 0.015 0.000 | -0.071 -0.084 -0.000 | 0.076 0.031 0.000\n",
+ "glideslope | 27.235 | 19.872 | 7.631 | 414.594\n",
+ "i : 2800\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10570.77 |3922.45 |3464.10 |20000.00 | 1253\n",
+ "glideslope | 3.202 |11.498 | 0.629 |6286.215 | 2311\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.4 0.0 | 797.6 796.7 -0.1 | 803.4 804.7 -0.0\n",
+ "velocity | 0.037 -0.050 -0.935 | 0.023 0.030 0.059 | -0.070 -0.179 -1.313 | 0.081 0.023 -0.497\n",
+ "fuel |321.60 | 13.84 |286.38 |372.01\n",
+ "attitude_321 | 0.149 -0.009 -0.000 | 0.181 0.007 0.009 | -0.270 -0.035 -0.021 | 0.594 0.027 0.042\n",
+ "w | -0.009 -0.010 0.000 | 0.022 0.015 0.000 | -0.071 -0.084 -0.000 | 0.076 0.031 0.000\n",
+ "glideslope | 27.258 | 19.750 | 7.631 | 414.594\n",
+ "i : 2900\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10572.74 |3921.64 |3464.10 |20000.00 | 1253\n",
+ "glideslope | 3.201 |11.485 | 0.629 |6286.215 | 2311\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.4 0.0 | 797.6 796.7 -0.1 | 803.4 804.7 -0.0\n",
+ "velocity | 0.037 -0.050 -0.935 | 0.023 0.030 0.059 | -0.070 -0.179 -1.313 | 0.081 0.023 -0.497\n",
+ "fuel |321.59 | 13.82 |286.38 |372.01\n",
+ "attitude_321 | 0.148 -0.009 -0.000 | 0.180 0.007 0.009 | -0.270 -0.035 -0.021 | 0.594 0.027 0.042\n",
+ "w | -0.009 -0.010 0.000 | 0.022 0.015 0.000 | -0.071 -0.084 -0.000 | 0.076 0.031 0.000\n",
+ "glideslope | 27.222 | 19.574 | 7.631 | 414.594\n",
+ "i : 3000\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10572.40 |3922.36 |3464.10 |20000.00 | 1253\n",
+ "glideslope | 3.198 |11.405 | 0.629 |6286.215 | 2311\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.4 0.0 | 797.6 796.5 -0.1 | 803.4 804.7 -0.0\n",
+ "velocity | 0.037 -0.050 -0.935 | 0.023 0.030 0.059 | -0.070 -0.179 -1.313 | 0.081 0.023 -0.497\n",
+ "fuel |321.65 | 13.82 |286.38 |372.01\n",
+ "attitude_321 | 0.148 -0.009 -0.000 | 0.180 0.007 0.009 | -0.270 -0.035 -0.021 | 0.594 0.027 0.042\n",
+ "w | -0.009 -0.009 0.000 | 0.022 0.015 0.000 | -0.071 -0.084 -0.000 | 0.076 0.031 0.000\n",
+ "glideslope | 27.203 | 19.438 | 7.631 | 414.594\n",
+ "i : 3100\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10574.54 |3924.40 |3464.10 |20000.00 | 1253\n",
+ "glideslope | 3.198 |11.294 | 0.629 |6286.215 | 2311\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.4 0.0 | 797.6 796.5 -0.1 | 803.4 804.7 -0.0\n",
+ "velocity | 0.037 -0.050 -0.935 | 0.023 0.030 0.059 | -0.070 -0.179 -1.313 | 0.081 0.023 -0.497\n",
+ "fuel |321.70 | 13.78 |286.38 |372.01\n",
+ "attitude_321 | 0.149 -0.009 -0.000 | 0.180 0.007 0.009 | -0.270 -0.035 -0.021 | 0.594 0.027 0.042\n",
+ "w | -0.009 -0.009 0.000 | 0.022 0.015 0.000 | -0.071 -0.084 -0.000 | 0.076 0.031 0.000\n",
+ "glideslope | 27.216 | 19.427 | 7.631 | 414.594\n",
+ "i : 3200\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10572.42 |3924.23 |3464.10 |20000.00 | 1253\n",
+ "glideslope | 3.194 |11.175 | 0.629 |6286.215 | 2311\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.4 0.0 | 797.6 796.5 -0.1 | 803.5 804.7 -0.0\n",
+ "velocity | 0.037 -0.050 -0.935 | 0.023 0.030 0.059 | -0.076 -0.179 -1.313 | 0.081 0.023 -0.497\n",
+ "fuel |321.73 | 13.81 |286.33 |372.01\n",
+ "attitude_321 | 0.150 -0.009 -0.000 | 0.180 0.007 0.009 | -0.270 -0.035 -0.022 | 0.594 0.027 0.042\n",
+ "w | -0.009 -0.009 0.000 | 0.022 0.015 0.000 | -0.071 -0.084 -0.000 | 0.079 0.031 0.000\n",
+ "glideslope | 27.147 | 19.239 | 7.631 | 414.594\n",
+ "i : 3300\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10572.03 |3923.48 |3464.10 |20000.00 | 1253\n",
+ "glideslope | 3.194 |11.099 | 0.629 |6286.215 | 2311\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.4 0.0 | 797.6 796.5 -0.1 | 803.5 804.7 -0.0\n",
+ "velocity | 0.037 -0.050 -0.935 | 0.023 0.030 0.059 | -0.076 -0.179 -1.313 | 0.081 0.023 -0.497\n",
+ "fuel |321.72 | 13.82 |286.33 |372.01\n",
+ "attitude_321 | 0.150 -0.009 -0.000 | 0.181 0.007 0.009 | -0.270 -0.035 -0.022 | 0.594 0.027 0.042\n",
+ "w | -0.009 -0.009 0.000 | 0.022 0.015 0.000 | -0.079 -0.084 -0.000 | 0.079 0.031 0.000\n",
+ "glideslope | 27.102 | 19.016 | 7.631 | 414.594\n"
+ ]
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "i : 3400\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10573.41 |3923.66 |3464.10 |20000.00 | 1253\n",
+ "glideslope | 3.194 |11.044 | 0.629 |6286.215 | 2311\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.4 0.0 | 797.6 796.5 -0.1 | 803.5 804.7 -0.0\n",
+ "velocity | 0.037 -0.050 -0.935 | 0.023 0.030 0.059 | -0.076 -0.179 -1.313 | 0.081 0.023 -0.497\n",
+ "fuel |321.68 | 13.77 |286.33 |372.01\n",
+ "attitude_321 | 0.151 -0.009 -0.000 | 0.181 0.007 0.009 | -0.270 -0.035 -0.022 | 0.594 0.027 0.042\n",
+ "w | -0.009 -0.009 0.000 | 0.022 0.015 0.000 | -0.079 -0.084 -0.000 | 0.079 0.031 0.000\n",
+ "glideslope | 27.048 | 18.800 | 7.631 | 414.594\n",
+ "i : 3500\n",
+ "Cumulative Stats (mean,std,max,argmax)\n",
+ "thrust |10576.12 |3923.82 |3464.10 |20000.00 | 1253\n",
+ "glideslope | 3.199 |11.284 | 0.629 |6286.215 | 2311\n",
+ "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n",
+ "\n",
+ "Final Stats (mean,std,min,max)\n",
+ "position | 800.4 800.6 -0.0 | 1.0 1.4 0.0 | 797.6 796.5 -0.1 | 803.5 804.7 -0.0\n",
+ "velocity | 0.037 -0.050 -0.935 | 0.023 0.030 0.059 | -0.076 -0.179 -1.313 | 0.081 0.023 -0.497\n",
+ "fuel |321.66 | 13.80 |286.33 |372.01\n",
+ "attitude_321 | 0.151 -0.009 -0.000 | 0.181 0.007 0.009 | -0.270 -0.035 -0.022 | 0.594 0.027 0.042\n",
+ "w | -0.009 -0.009 0.000 | 0.022 0.015 0.000 | -0.079 -0.084 -0.000 | 0.079 0.031 0.000\n",
+ "glideslope | 27.051 | 18.764 | 7.631 | 414.594\n",
+ "i : 3600\n",
+ "Cumulative Stats (mean,std,max,argmax)\n"
+ ]
+ }
+ ],
+ "source": [
+ "policy.test_mode=True\n",
+ "env.lander.divert=(800,800,1500)\n",
+ "env.lander.apf_pot=env.lander.apf_pot4\n",
+ "env.ic_gen = Landing_icgen(mass_uncertainty=0.03, g_uncertainty=(0.0,0.0),\n",
+ " adapt_apf_v0=True,\n",
+ " attitude_parameterization=attitude_parameterization,\n",
+ " downrange = (0,2000 , -70, -10), \n",
+ " crossrange = (-1000,1000 , -30,30), \n",
+ " altitude = (2300,2400,-90,-70),\n",
+ " yaw = (-np.pi/8, np.pi/8, 0.0, 0.0) ,\n",
+ " pitch = (np.pi/4-np.pi/8, np.pi/4+np.pi/16, -0.0, 0.0),\n",
+ " roll = (-np.pi/8, np.pi/8, -0.0, 0.0),\n",
+ " noise_u=0*np.ones(3), noise_sd=0*np.ones(3))\n",
+ "env.test_policy_batch(policy,input_normalizer,5000,print_every=100)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "policy.close_sess()"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.5.0"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/AAS-18-290_6DOF_journal/agent_mdr2.py b/AAS-18-290_6DOF_journal/agent_mdr2.py
new file mode 100644
index 0000000..6626b0b
--- /dev/null
+++ b/AAS-18-290_6DOF_journal/agent_mdr2.py
@@ -0,0 +1,280 @@
+from utils import Logger
+import scipy.signal
+import signal
+import numpy as np
+
+"""
+
+ Adapted from code written by Patrick Coady (pat-coady.github.io)
+
+"""
+
+class Agent(object):
+ def __init__(self,policy,val_func,env,input_normalizer,logger,policy_episodes=20,policy_steps=10,gamma1=0.0,gamma2=9.995,lam=0.98,
+ normalize_advantages=True,use_tdlam=False,use_timestep=False,monitor=None, animate=False):
+ self.env = env
+ self.monitor = monitor
+ self.policy_steps = policy_steps
+ self.logger = logger
+ self.use_tdlam = use_tdlam
+ self.use_timestep = use_timestep
+ self.policy = policy
+ self.val_func = val_func
+ self.input_normalizer = input_normalizer
+ self.policy_episodes = policy_episodes
+ self.animate = animate
+ self.normalize_advantages = normalize_advantages
+ self.gamma1 = gamma1
+ self.gamma2 = gamma2
+
+ self.lam = lam
+ self.global_steps = 0
+
+ """
+
+ Args:
+ policy: policy object with update() and sample() methods
+ val_func: value function object with fit() and predict() methods
+ env: environment
+ input_normalizer: scaler object with apply(), reverse(), and update() methods
+ logger: Logger object
+
+ policy_episodes: number of episodes collected before update
+ policy_steps: minimum number of steps before update
+ (will update when either episodes > policy_episodes or steps > policy_steps)
+
+ gamma: discount rate
+ lam: lambda for GAE calculation
+ normalize_advantages: boolean, normalizes advantages if True
+ use_tdlam: boolean, True uses TD lambda target for value function, else Monte Carlo
+ use_timestep: boolean, True enables time step feature which sometimes works better than a
+ low discount rate for continuing tasks with per-step rewards (like Mujoco envs)
+ monitor: A monitor object like RL_stats to plot interesting stats as learning progresses
+ Monitor object implements update_episode() and show() methods
+ animate: boolean, True uses env.render() method to animate episode
+
+ """
+
+ def run_episode(self):
+ """
+
+ Returns: 4-tuple of NumPy arrays
+ observes: shape = (episode len, obs_dim)
+ actions: shape = (episode len, act_dim)
+ rewards: shape = (episode len,)
+ unscaled_obs: useful for training scaler, shape = (episode len, obs_dim)
+ """
+ obs = self.env.reset()
+ observes, actions, rewards1, rewards2, unscaled_obs = [], [], [], [], []
+ done = False
+ step = 0.0
+ while not done:
+ if self.animate:
+ self.env.render()
+ obs = obs.astype(np.float64).reshape((1, -1))
+ unscaled_obs.append(obs.copy())
+ if self.input_normalizer is not None:
+ obs = self.input_normalizer.apply(obs)
+ if self.use_timestep:
+ obs = np.append(obs, [[step]], axis=1) # add time step feature
+ observes.append(obs)
+ action, env_action = self.policy.sample(obs)# .reshape((1, -1)).astype(np.float64) #[:,0:-1])
+ actions.append(action)
+ obs, reward, done, reward_info = self.env.step(env_action)
+ reward1 = reward[0]
+ reward2 = reward[1]
+ if not isinstance(reward1, float):
+ reward1 = np.asscalar(reward1)
+ if not isinstance(reward1, float):
+ reward2 = np.asscalar(reward2)
+ rewards1.append(reward1)
+ rewards2.append(reward2)
+ step += 1e-3 # increment time step feature
+ #logger.log({'Score': sum_rewards})
+ return (np.concatenate(observes), np.concatenate(actions), np.array(rewards1, dtype=np.float64),
+ np.array(rewards2, dtype=np.float64), np.concatenate(unscaled_obs))
+
+
+ def run_policy(self,episode_cnt,warmup=False):
+ """ Run policy and collect data for a minimum of min_steps and min_episodes
+ Args:
+ episode_cnt: current episode number, used for logging stats
+
+ Returns: list of trajectory dictionaries, list length = number of episodes
+ 'observes' : NumPy array of states from episode
+ 'actions' : NumPy array of actions from episode
+ 'rewards' : NumPy array of (un-discounted) rewards from episode
+ 'unscaled_obs' : NumPy array of (un-discounted) rewards from episode
+ """
+ total_steps = 0
+ e_cnt = 0
+ trajectories = []
+ #for e in range(self.policy_episodes):
+ while e_cnt <= self.policy_episodes or total_steps < self.policy_steps:
+ observes, actions, rewards1, rewards2, unscaled_obs = self.run_episode()
+ if self.monitor is not None and not warmup:
+ self.monitor.update_episode(np.sum(rewards1) + np.sum(rewards2), observes.shape[0])
+ total_steps += observes.shape[0]
+ trajectory = {'observes': observes,
+ 'actions': actions,
+ 'rewards1': rewards1,
+ 'rewards2': rewards2,
+ 'unscaled_obs': unscaled_obs}
+ trajectories.append(trajectory)
+ e_cnt += 1
+ unscaled = np.concatenate([t['unscaled_obs'] for t in trajectories])
+ if self.input_normalizer is not None:
+ self.input_normalizer.update(unscaled) # update running statistics for scaling observations
+
+ self.add_value(trajectories) # add estimated values to episodes
+ self.add_disc_sum_rew(trajectories, self.gamma1, self.gamma2) # calculated discounted sum of Rs
+ self.add_gae(trajectories, self.gamma1, self.gamma2, self.lam) # calculate advantage
+ # concatenate all episodes into single NumPy arrays
+ observes, actions, advantages, disc_sum_rew = self.build_train_set(trajectories)
+
+ if not warmup:
+ self.policy.update(observes, actions, advantages, self.logger) # update policy
+ self.val_func.fit(observes, disc_sum_rew, self.logger) # update value function
+ self.log_batch_stats(observes, actions, advantages, disc_sum_rew, episode_cnt)
+ self.global_steps += total_steps
+ self.logger.log({'_MeanReward': np.mean([t['rewards1'].sum() + t['rewards2'].sum() for t in trajectories]),
+ '_StdReward': np.std([t['rewards1'].sum() + t['rewards2'].sum() for t in trajectories]),
+ '_MinReward': np.min([t['rewards1'].sum() + t['rewards2'].sum() for t in trajectories]),
+ 'Steps': total_steps,
+ 'TotalSteps' : self.global_steps})
+ if self.monitor is not None:
+ self.monitor.show()
+ return trajectories
+
+ def train(self,train_episodes, train_samples=None):
+ _ = self.run_policy(-1,warmup=True)
+ print('*** SCALER WARMUP COMPLETE *** ')
+ print(np.sqrt(self.input_normalizer.vars))
+ episode = 0
+
+ if train_samples is not None:
+ while self.global_steps < train_samples:
+ trajectories = self.run_policy(episode)
+ self.logger.write(display=True)
+ episode += len(trajectories)
+ else:
+ while episode < train_episodes:
+ trajectories = self.run_policy(episode)
+ self.logger.write(display=True)
+ episode += len(trajectories)
+
+
+ def discount(self,x, gamma):
+ """ Calculate discounted forward sum of a sequence at each point """
+ return scipy.signal.lfilter([1.0], [1.0, -gamma], x[::-1])[::-1]
+
+
+ def add_disc_sum_rew(self,trajectories, gamma1, gamma2):
+ """ Adds discounted sum of rewards to all time steps of all trajectories
+
+ Args:
+ trajectories: as returned by run_policy()
+ gamma: discount
+
+ Returns:
+ None (mutates trajectories dictionary to add 'disc_sum_rew')
+ """
+ for trajectory in trajectories:
+ if gamma1 < 0.999: # don't scale for gamma ~= 1
+ rewards1 = trajectory['rewards1'] * (1 - gamma1)
+ else:
+ rewards1 = trajectory['rewards1']
+
+ if gamma2 < 0.999: # don't scale for gamma ~= 1
+ rewards2 = trajectory['rewards2'] * (1 - gamma2)
+ else:
+ rewards2 = trajectory['rewards2']
+
+ disc_sum_rew1 = self.discount(rewards1, gamma1)
+ disc_sum_rew2 = self.discount(rewards2, gamma2)
+
+ trajectory['disc_sum_rew'] = disc_sum_rew1 + disc_sum_rew2
+
+
+ def add_value(self,trajectories):
+ """ Adds estimated value to all time steps of all trajectories
+
+ Args:
+ trajectories: as returned by run_policy()
+ val_func: object with predict() method, takes observations
+ and returns predicted state value
+
+ Returns:
+ None (mutates trajectories dictionary to add 'values')
+ """
+ for trajectory in trajectories:
+ observes = trajectory['observes']
+ values = self.val_func.predict(observes)
+ trajectory['values'] = values
+
+
+ def add_gae(self,trajectories, gamma1, gamma2, lam):
+ """ Add generalized advantage estimator.
+ https://arxiv.org/pdf/1506.02438.pdf
+
+ Args:
+ trajectories: as returned by run_policy(), must include 'values'
+ key from add_value().
+ gamma: reward discount
+ lam: lambda (see paper).
+ lam=0 : use TD residuals
+ lam=1 : A = Sum Discounted Rewards - V_hat(s)
+
+ Returns:
+ None (mutates trajectories dictionary to add 'advantages')
+ """
+ for trajectory in trajectories:
+ advantages = trajectory['disc_sum_rew'] - trajectory['values']
+ trajectory['advantages'] = advantages
+
+ def build_train_set(self,trajectories):
+ """
+
+ Args:
+ trajectories: trajectories after processing by add_disc_sum_rew(),
+ add_value(), and add_gae()
+
+ Returns: 4-tuple of NumPy arrays
+ observes: shape = (N, obs_dim)
+ actions: shape = (N, act_dim)
+ advantages: shape = (N,)
+ disc_sum_rew: shape = (N,)
+ """
+ observes = np.concatenate([t['observes'] for t in trajectories])
+ actions = np.concatenate([t['actions'] for t in trajectories])
+ disc_sum_rew = np.concatenate([t['disc_sum_rew'] for t in trajectories])
+ advantages = np.concatenate([t['advantages'] for t in trajectories])
+ # normalize advantages
+ if self.normalize_advantages:
+ advantages = (advantages - advantages.mean()) / (advantages.std() + 1e-6)
+ else:
+ advantages = advantages - advantages.mean()
+
+ return observes, actions, advantages, disc_sum_rew
+
+ def log_batch_stats(self,observes, actions, advantages, disc_sum_rew, episode):
+ """ Log various batch statistics """
+ self.logger.log({'_mean_obs': np.mean(observes),
+ '_min_obs': np.min(observes),
+ '_max_obs': np.max(observes),
+ '_std_obs': np.mean(np.var(observes, axis=0)),
+ '_mean_act': np.mean(actions),
+ '_min_act': np.min(actions),
+ '_max_act': np.max(actions),
+ '_std_act': np.mean(np.var(actions, axis=0)),
+ '_mean_adv': np.mean(advantages),
+ '_min_adv': np.min(advantages),
+ '_max_adv': np.max(advantages),
+ '_std_adv': np.var(advantages),
+ '_mean_discrew': np.mean(disc_sum_rew),
+ '_min_discrew': np.min(disc_sum_rew),
+ '_max_discrew': np.max(disc_sum_rew),
+ '_std_discrew': np.var(disc_sum_rew),
+ '_Episode': episode
+ })
+
diff --git a/AAS-18-290_6DOF_journal/attitude_constraint.py b/AAS-18-290_6DOF_journal/attitude_constraint.py
new file mode 100644
index 0000000..02e095f
--- /dev/null
+++ b/AAS-18-290_6DOF_journal/attitude_constraint.py
@@ -0,0 +1,69 @@
+import numpy as np
+import attitude_utils as attu
+
+class Attitude_constraint(object):
+
+ def __init__(self, attitude_parameterization, terminate_on_violation=True,
+ attitude_limit=(np.pi/2+np.pi/8, np.pi/2-np.pi/16, np.pi/2-np.pi/16),
+ attitude_margin=(np.pi/8, np.pi/8, np.pi/8),
+ attitude_coeff=-10.0, attitude_penalty=-100.):
+ self.attitude_parameterization = attitude_parameterization
+ self.attitude_margin = attitude_margin
+ self.attitude_limit = attitude_limit
+ self.attitude_coeff = attitude_coeff
+ self.attitude_penalty = attitude_penalty
+ self.terminate_on_violation = terminate_on_violation
+ print('Attitude Constraint')
+ self.violation_type = np.zeros(3)
+ self.cnt = 0
+
+ def get_margin(self,state,debug=False):
+ att = state['attitude_321'].copy()
+ if np.any(np.abs(att) > self.attitude_limit):
+ margin = -1
+ else:
+ margin = 1
+ return margin
+
+ def get_reward(self,state):
+ att = state['attitude_321'].copy()
+ yaw = att[0]
+ pitch = att[1]
+ roll = att[2]
+ reward = self.get_r(yaw, self.attitude_margin[0], self.attitude_limit[0]) + \
+ self.get_r(pitch, self.attitude_margin[1], self.attitude_limit[1]) + \
+ self.get_r(roll, self.attitude_margin[2], self.attitude_limit[2])
+ #print('dEBUG: ', att, reward)
+ return reward
+
+ def get_r(self,ac,margin,limit):
+ ac = np.abs(ac)
+ r = 0.0
+
+ tau = margin / 2
+ if ac > ( limit - margin):
+ err = (limit - margin) - ac
+ else:
+ err = 0.0
+ #print('err: ',ac, err)
+ if err < 0:
+ r = -self.attitude_coeff * err
+ return r
+
+
+ def get_term_reward(self,state):
+ att = state['attitude_321']
+ vio = att > self.attitude_limit
+ self.violation_type += vio
+ if np.any(vio):
+ if self.cnt % 100 == 0:
+ print('*** ATT VIO TYPE CNT: ',self.violation_type)
+ self.cnt += 1
+ margin = self.get_margin(state)
+ if margin < 0:
+ return self.attitude_penalty
+ else:
+ return 0.0
+
+
+
diff --git a/AAS-18-290_6DOF_journal/attitude_utils.py b/AAS-18-290_6DOF_journal/attitude_utils.py
new file mode 100644
index 0000000..8b8c322
--- /dev/null
+++ b/AAS-18-290_6DOF_journal/attitude_utils.py
@@ -0,0 +1,590 @@
+import numpy as np
+import math
+
+class Quaternion_attitude(object):
+ def __init__(self):
+ print('Quaternion_attitude')
+
+ def get_error_norm(self,relative_attitude):
+ target_attitude1 = np.asarray([1.,0.,0.,0.])
+ target_attitude2 = -target_attitude1
+ att_error = np.minimum(
+ np.linalg.norm(relative_attitude-target_attitude1) ,
+ np.linalg.norm(relative_attitude-target_attitude2) )
+ return att_error
+
+ def get_body_to_inertial_DCM(self,attitude):
+ dcm_NB = EP2DCM(attitude).T
+ return dcm_NB
+
+ def qdot(self,attitude,w):
+ return EPdot(attitude, w)
+
+ def fix_attitude(self,attitude):
+ attitude /= np.linalg.norm(attitude) # normalize quaternions
+ return attitude
+
+ def get_random_attitude(self):
+ attitude = np.random.uniform(low=-1.0,high=1.0,size=4)
+ attitude /= np.linalg.norm(attitude)
+ return attitude
+
+ def dcm2q(self,C):
+ q = DCM2EP(C)
+ return q
+
+ def q2dcm(self,q):
+ C = EP2DCM(q)
+ return C
+
+ def q2Euler321(self,q):
+ return EP2Euler321(q)
+
+ #def euler3212q(self,e):
+ # return Euler3212EP(e)
+
+ def euler3212q(self,e):
+ #
+ # use DCM instead of direct mapping from Euler321 to EP to insure we always
+ # get short path
+ #
+ C = Euler3212DCM(e)
+ return DCM2EP(C)
+
+ def sub(self,q1,q2):
+ return subEP(q1,q2)
+
+ def size(self):
+ return 4
+
+class Euler_attitude(object):
+
+ """
+ Note to self (I was confused):
+ yaw -> rotation around z axis
+ pitch -> rotation around y -axis
+ roll -> rotation around x -axis
+ [yaw, pitch, roll]
+ [w1, w2, w3]
+
+ So a rotation around x-axis (roll) should involve we (I had thought this was aa bug)
+ rotation around y-axis (pitch) : w2
+ rotation around z-axis (yaw) : w3
+
+ I guess that is why it is called 321 (z axis first)
+
+ """
+ def __init__(self):
+ pass
+
+ def get_error_norm(self,relative_attitude):
+ att_error = np.linalg.norm(relative_attitude)
+ return att_error
+
+ def get_body_to_inertial_DCM(self,attitude):
+ dcm_NB = Euler3212DCM(attitude).T
+ return dcm_NB
+
+ def qdot(self,attitude,w):
+ return Euler321dot(attitude, w)
+
+ def fix_attitude(self,attitude):
+ for i in range(attitude.shape[0]):
+ attitude[i] = picheck(attitude[i])
+ return attitude
+
+ def get_random_attitude(self):
+ bounds = [np.pi, np.pi/2 , np.pi]
+ attitude = np.random.uniform(low=-bounds,high=bounds,size=3)
+ return attitude
+
+ def dcm2q(self,C):
+ q = DCM2Euler321(C)
+ return q
+
+ def q2dcm(self,q):
+ C = Euler3212DCM(q)
+ return C
+
+ def sub(self,q1,q2):
+ return subEuler321(q1,q2)
+
+ def q2Euler321(self,q):
+ return q
+
+ def euler3212q(self,e):
+ return e
+
+ def size(self):
+ return 3
+
+class MRP_attitude(object):
+ def __init__(self):
+ pass
+
+ def get_error_norm(self,relative_attitude):
+ return np.linalg.norm(relative_attitude)
+
+ def get_body_to_inertial_DCM(self,attitude):
+ dcm_NB = MRP2DCM(attitude).T
+ return dcm_NB
+
+ def qdot(self,attitude,w):
+ return MRPdot(attitude, w)
+
+ def fix_attitude(self,attitude):
+ if np.dot(attitude, attitude) > 1:
+ attitude = -attitude / np.dot(attitude, attitude)
+ return attitude
+
+ def get_random_attitude(self):
+ q0 = np.random.uniform(low=0.2,high=0.9)
+ q13 = np.random.uniform(low=-1.0,high=1.0,size=4)
+ q = np.hstack((q0,q13))
+ q /= np.linalg.norm(q)
+ s = EP2MRP(q)
+ if np.dot(s,s) > 1:
+ s = -s / np.dot(s,s)
+ return s
+
+ def dcm2q(self,C):
+ q = DCM2MRP(C)
+ return q
+
+ def q2dcm(self,q):
+ C = MRP2DCM(q)
+ return C
+
+ def sub(self,q1,q2):
+ return subMRP(q1,q2)
+
+ def size(self):
+ return 3
+
+
+def EP2MRP(q):
+ """
+ EP2MRP(Q1)
+
+ Q = EP2MRP(Q1) translates the Euler parameter vector Q1
+ into the MRP vector Q.
+ """
+
+ if q[0] < 0:
+ q = -q;
+
+ q1 = q[1]/(1+q[0]);
+ q2 = q[2]/(1+q[0]);
+ q3 = q[3]/(1+q[0]);
+
+ return np.asarray([q1,q2,q3])
+
+def MRPdot(q,w):
+ B = np.zeros((3,3))
+ B[0,0] = 1 - np.dot(q,q)+2*q[0]**2
+ B[0,1] = 2*(q[0]*q[1]-q[2])
+ B[0,2] = 2*(q[0]*q[2]+q[1])
+ B[1,0] = 2*(q[1]*q[0]+q[2])
+ B[1,1] = 1 - np.dot(q,q) + 2*q[1]**2
+ B[1,2] = 2*(q[1]*q[2]-q[0])
+ B[2,0] = 2*(q[2]*q[0]-q[1])
+ B[2,1] = 2*(q[2]*q[1]+q[0])
+ B[2,2] = 1 - np.dot(q,q) + 2*q[2]**2
+ qdot = B.dot(w) / 4
+ return qdot
+
+def MRP2DCM(q):
+ qs = skew(q)
+ qm = np.dot(q,q)
+ C = np.identity(3) + (8*qs.dot(qs) - 4*(1-qm)*qs) / (1+qm)**2
+ return C
+
+
+
+def EP2PRV(q):
+ """
+ EP2PRV(Q1)
+
+ Q = EP2PRV(Q1) translates the Euler parameter vector Q1
+ into the principal rotation vector Q.
+ """
+
+ p = 2*math.acos(q[0]);
+ sp = math.sin(p/2);
+ q1 = q[1]/sp*p;
+ q2 = q[2]/sp*p;
+ q3 = q[3]/sp*p;
+
+ return np.asarray([q1,q2,q3])
+
+def Euler3212EP(e):
+ """
+ Euler3212EP(E)
+
+ Q = Euler3212EP(E) translates the 321 Euler angle
+ vector E into the Euler parameter vector Q.
+ """
+
+ c1 = math.cos(e[0]/2);
+ s1 = math.sin(e[0]/2);
+ c2 = math.cos(e[1]/2);
+ s2 = math.sin(e[1]/2);
+ c3 = math.cos(e[2]/2);
+ s3 = math.sin(e[2]/2);
+
+ q0 = c1*c2*c3+s1*s2*s3;
+ q1 = c1*c2*s3-s1*s2*c3;
+ q2 = c1*s2*c3+s1*c2*s3;
+ q3 = s1*c2*c3-c1*s2*s3;
+ return np.asarray([q0,q1,q2,q3])
+
+def subEuler321(e,e1):
+ """
+ subEuler321(E,E1)
+
+ E2 = subEuler321(E,E1) computes the relative
+ (3-2-1) Euler angle vector from E1 to E.
+ """
+
+ C = Euler3212DCM(e);
+ C1 = Euler3212DCM(e1);
+ C2 = C*C1.T;
+ e2 = DCM2Euler321(C2);
+
+ return e2;
+
+def DCM2Euler321(C):
+ """
+ C2Euler321
+
+ Q = C2Euler321(C) translates the 3x3 direction cosine matrix
+ C into the corresponding (3-2-1) Euler angle set.
+ """
+ q = np.zeros(3)
+ q[0] = np.arctan2(C[0,1],C[0,0]);
+ q[1] = np.arcsin(-C[0,2]);
+ q[2] = np.arctan2(C[1,2],C[2,2]);
+ return q;
+
+def PRV2elem(r):
+ """
+ PRV2elem(R)
+
+ Q = PRV2elem(R) translates a prinicpal rotation vector R
+ into the corresponding principal rotation element set Q.
+ """
+ #q = np.matrix("0.;0.;0.;0.");
+ q = np.zeros(4)
+ q[0] = math.sqrt((r.T*r)[0]);
+ q[1] = r[0]/q[0];
+ q[2] = r[1]/q[0];
+ q[3] = r[2]/q[0];
+ return q;
+
+def PRV2EP(qq1):
+ """"
+ PRV2EP(Q1)
+
+ Q = PRV2EP(Q1) translates the principal rotation vector Q1
+ into the Euler parameter vector Q.
+ """
+
+ #q = np.matrix("0.;0.;0.;0.");
+ q = np.zeros(4)
+ q1 = PRV2elem(qq1);
+ sp = math.sin(q1[0]/2);
+ q[0] = math.cos(q1[0]/2);
+ q[1] = q1[1]*sp;
+ q[2] = q1[2]*sp;
+ q[3] = q1[3]*sp;
+
+ return q;
+
+def EP2PRV(q):
+ """
+ EP2PRV(Q1)
+
+ Q = EP2PRV(Q1) translates the Euler parameter vector Q1
+ into the principal rotation vector Q.
+ """
+
+ p = 2*math.acos(q[0]);
+ sp = math.sin(p/2);
+ q1 = q[1]/sp*p;
+ q2 = q[2]/sp*p;
+ q3 = q[3]/sp*p;
+ return np.asarray([q1,q2,q3])
+ #return np.matrix([[q1],[q2],[q3]]);
+
+
+def subEP(b1,b2):
+ """
+ subEP(B1,B2)
+
+ Q = subEP(B1,B2) provides the Euler parameter vector
+ which corresponds to relative rotation from B2
+ to B1.
+ """
+
+ q = np.zeros(4)
+ q[0] = b2[0]*b1[0]+b2[1]*b1[1]+b2[2]*b1[2]+b2[3]*b1[3];
+ q[1] = -b2[1]*b1[0]+b2[0]*b1[1]+b2[3]*b1[2]-b2[2]*b1[3];
+ q[2] = -b2[2]*b1[0]-b2[3]*b1[1]+b2[0]*b1[2]+b2[1]*b1[3];
+ q[3] = -b2[3]*b1[0]+b2[2]*b1[1]-b2[1]*b1[2]+b2[0]*b1[3];
+
+ return q;
+
+def subMRP(q1,q2):
+ """
+ subMRP(Q1,Q2)
+
+ Q = subMRP(Q1,Q2) provides the MRP vector
+ which corresponds to relative rotation from Q2
+ to Q1.
+ """
+ q1sq = np.dot(q1,q1)
+ q2sq = np.dot(q2,q2)
+
+ q = (1-q2sq)*q1 - (1-q1sq)*q2 + 2*np.cross(q1,q2);
+ q = q / (1 + q1sq * q2sq + 2*np.dot(q1,q2) );
+
+ return q;
+
+def rad2deg(phi):
+ return phi * 180 / np.pi
+
+def skew(v):
+ if len(v) == 4: v = v[:3]/v[3]
+ skv = np.roll(np.roll(np.diag(v.flatten()), 1, 1), -1, 0)
+ return skv - skv.T
+
+def dcm2_321(DCM):
+ phi1 = np.arctan2(DCM[0,1],DCM[0,0])
+ phi2 = -np.arcsin(DCM[0,2])
+ phi3 = np.arctan2(DCM[1,2],DCM[2,2])
+ return phi1,phi2,phi3
+
+def Euler321dot(q, w):
+ psi = q[0]
+ theta = q[1]
+ phi = q[2]
+ B = [[0.0 , np.sin(phi), np.cos(phi) ] ,
+ [0.0, np.cos(phi)*np.cos(theta) , -np.sin(phi)*np.cos(theta) ],
+ [np.cos(theta), np.sin(phi)*np.sin(theta), np.cos(phi)*np.sin(theta) ] ]
+ B = np.asarray(B)
+ qdot = 1 / np.cos(theta) * B.dot(w)
+ return qdot
+
+def EPdot(beta1,w):
+ beta = beta1.copy()
+
+ B = [[-beta[1], -beta[2], -beta[3]],
+ [ beta[0], -beta[3], beta[2]],
+ [beta[3], beta[0], -beta[1]],
+ [-beta[2], beta[1], beta[0]] ]
+ B = np.asarray(B)
+ betadot = 1./2 * B.dot(w)
+ return betadot
+
+def EP2DCM(q):
+ b0 = q[0]
+ b1 = q[1]
+ b2 = q[2]
+ b3 = q[3]
+ C = np.zeros((3,3))
+ C[0,0] = b0**2 + b1**2 - b2**2 - b3**2
+ C[0,1] = 2*(b1*b2 + b0*b3)
+ C[0,2] = 2*(b1*b3 - b0*b2)
+ C[1,0] = 2*(b1*b2 - b0*b3)
+ C[1,1] = b0**2 - b1**2 + b2**2 - b3**2
+ C[1,2] = 2*(b2*b3 + b0*b1)
+ C[2,0] = 2*(b1*b3 + b0*b2)
+ C[2,1] = 2*(b2*b3 - b0*b1)
+ C[2,2] = b0**2 - b1**2 - b2**2 + b3**2
+ return C
+
+def Euler3212DCM(q):
+ """
+ Euler3212C
+
+ C = Euler3212C(Q) returns the direction cosine
+ matrix in terms of the 3-2-1 Euler angles.
+ Input Q must be a 3x1 vector of Euler angles.
+ """
+
+ st1 = np.sin(q[0]);
+ ct1 = np.cos(q[0]);
+ st2 = np.sin(q[1]);
+ ct2 = np.cos(q[1]);
+ st3 = np.sin(q[2]);
+ ct3 = np.cos(q[2]);
+
+ C = np.zeros((3,3))
+ C[0,0] = ct2*ct1;
+ C[0,1] = ct2*st1;
+ C[0,2] = -st2;
+ C[1,0] = st3*st2*ct1-ct3*st1;
+ C[1,1] = st3*st2*st1+ct3*ct1;
+ C[1,2] = st3*ct2;
+ C[2,0] = ct3*st2*ct1+st3*st1;
+ C[2,1] = ct3*st2*st1-st3*ct1;
+ C[2,2] = ct3*ct2;
+
+ return C;
+
+
+
+
+def DCM2EP(C):
+ """
+ C2EP
+
+ Q = C2EP(C) translates the 3x3 direction cosine matrix
+ C into the corresponding 4x1 Euler parameter vector Q,
+ where the first component of Q is the non-dimensional
+ Euler parameter Beta_0 >= 0. Transformation is done
+ using the Stanley method.
+ """
+
+ tr = np.trace(C);
+ b2 = np.zeros(4)
+ b2[0] = 1.
+ b2[0] = (1+tr)/4;
+ b2[1] = (1+2*C[0,0]-tr)/4;
+ b2[2] = (1+2*C[1,1]-tr)/4;
+ b2[3] = (1+2*C[2,2]-tr)/4;
+
+ case = np.argmax(b2);
+ b = b2;
+ if case == 0:
+ b[0] = math.sqrt(b2[0]);
+ b[1] = (C[1,2]-C[2,1])/4/b[0];
+ b[2] = (C[2,0]-C[0,2])/4/b[0];
+ b[3] = (C[0,1]-C[1,0])/4/b[0];
+ elif case == 1:
+ b[1] = math.sqrt(b2[1]);
+ b[0] = (C[1,2]-C[2,1])/4/b[1];
+ if b[0]<0:
+ b[1] = -b[1];
+ b[0] = -b[0];
+ b[2] = (C[0,1]+C[1,0])/4/b[1];
+ b[3] = (C[2,0]+C[0,2])/4/b[1];
+ elif case == 2:
+ b[2] = math.sqrt(b2[2]);
+ b[0] = (C[2,0]-C[0,2])/4/b[2];
+ if b[0]<0:
+ b[2] = -b[2];
+ b[0] = -b[0];
+ b[1] = (C[0,1]+C[1,0])/4/b[2];
+ b[3] = (C[1,2]+C[2,1])/4/b[2];
+ elif case == 3:
+ b[3] = math.sqrt(b2[3]);
+ b[0] = (C[0,1]-C[1,0])/4/b[3];
+ if b[0]<0:
+ b[3] = -b[3];
+ b[0] = -b[0];
+ b[1] = (C[2,0]+C[0,2])/4/b[3];
+ b[2] = (C[1,2]+C[2,1])/4/b[3];
+
+ return np.squeeze(b);
+
+def EP2Euler321(q):
+ """
+ EP2Euler321
+
+ E = EP2Euler321(Q) translates the Euler parameter vector
+ Q into the corresponding (3-2-1) Euler angle set.
+ """
+
+ q0 = q[0];
+ q1 = q[1];
+ q2 = q[2];
+ q3 = q[3];
+
+ e1 = math.atan2(2*(q1*q2+q0*q3),q0*q0+q1*q1-q2*q2-q3*q3);
+ e2 = math.asin(-2*(q1*q3-q0*q2));
+ e3 = math.atan2(2*(q2*q3+q0*q1),q0*q0-q1*q1-q2*q2+q3*q3);
+
+ return np.asarray([e1,e2,e3]);
+
+def DCM2q_old(C):
+ print(np.trace(C))
+ b0 = 1./2*np.sqrt(np.trace(C) + 1.)
+ b1 = (C[1,2] - C[2,1]) / (4. * b0)
+ b2 = (C[2,0] - C[0,2]) / (4. * b0)
+ b3 = (C[0,1] - C[1,0]) / (4. * b0)
+ return np.asarray([b0,b1,b2,b3])
+
+def DCM2MRP(C):
+ """
+ C2MRP
+
+ Q = C2MRP(C) translates the 3x3 direction cosine matrix
+ C into the corresponding 3x1 MRP vector Q where the
+ MRP vector is chosen such that |Q| <= 1.
+ """
+
+ b = C2EP(C);
+
+ q = np.zeros(3)
+ q[0] = b[1]/(1+b[0]);
+ q[1] = b[2]/(1+b[0]);
+ q[2] = b[3]/(1+b[0]);
+
+ return q;
+
+def DCM(a,b):
+ """
+ Create the DCM that maps a->b, i.e., BN
+ i.e., inertial (n) -> body (b)
+ """
+
+ eps = 1e-9
+ a += eps
+ b += eps
+ a = a / np.linalg.norm(a)
+ b = b / np.linalg.norm(b)
+ v = np.cross(a,b)
+ s = np.linalg.norm(v)
+ c = np.dot(a,b)
+ V = skew(v)
+ I = np.identity(3)
+ ### begin MOD
+ if s > 1e-8:
+ R = I + V + V.dot(V) * (1-c)/s**2
+ else:
+ R = I
+ ### end mod
+ return R
+
+def DCM2(a,b):
+ """
+ Create the DCM that maps a->b, i.e., BN
+ i.e., inertial (n) -> body (b)
+ """
+
+ v = np.cross(a,b)
+ s = np.linalg.norm(v)
+ c = np.dot(a,b)
+ V = skew(v)
+ I = np.identity(3)
+ ### begin MOD
+ if s > 1e-8:
+ R = I + V + V.dot(V) * (1-c)/s**2
+ else:
+ R = I
+ ### end mod
+ return R
+
+def picheck(x):
+ """
+ Picheck(x)
+
+ Makes sure that the angle x lies within +/- Pi.
+ """
+ if x > np.pi:
+ return x - 2*np.pi
+ if x< -np.pi:
+ return x + 2*np.pi
+ return x
+
diff --git a/AAS-18-290_6DOF_journal/dynamics_model.py b/AAS-18-290_6DOF_journal/dynamics_model.py
new file mode 100644
index 0000000..b9f8e9a
--- /dev/null
+++ b/AAS-18-290_6DOF_journal/dynamics_model.py
@@ -0,0 +1,155 @@
+import attitude_utils as attu
+import env_utils as envu
+import numpy as np
+from time import time
+
+class Dynamics_model(object):
+
+ """
+ The dynamics model take a lander model object (and later an obstacle object) and modifies
+ the state of the lander.
+
+ The lander object instantiates an engine model, that maps body frame thrust and torque to
+ the inertial frame. Note that each lander can have its own intertial frame which can be
+ centered on the lander's target.
+
+ Currentlly this model does not model environmental dynamics, will be added later
+
+ The lander model maintains a state vector:
+ position [0:3]
+ velocity [3:6]
+ body frame rotational velocity (w_bn) [6:9]
+ mass [9]
+ attitude in target frame [10:] (size depends on attitude parameterization)
+
+
+ """
+
+ def __init__(self, h=5e-2, noise_u=np.zeros(3), noise_sd=np.zeros(3), l_offset=np.zeros(3), adjust_inertia_tensor=True):
+ self.h = h
+ self.Isp = 210.0
+ self.g_o = 9.81
+ self.g = np.asarray([0.0,0.0,-3.7114])
+ self.noise_sd = noise_sd
+ self.noise_u = noise_u
+ self.l_offset = l_offset
+ self.adjust_inertia_tensor = adjust_inertia_tensor
+
+ print('6dof dynamics model')
+
+ def next(self,t,thrust_command,lander):
+ #t0 = time()
+ if self.adjust_inertia_tensor:
+ J = lander.inertia_tensor * lander.state['mass'] / lander.nominal_mass
+ else:
+ J = lander.inertia_tensor
+ w = lander.state['w']
+ x = lander.get_state_dynamics()
+ #
+ # get force and torque in body frame
+ #
+
+
+ F,L,mdot = lander.thruster_model.thrust(thrust_command)
+ L += self.l_offset
+
+ #
+ # convert force to acceleration
+ #
+
+ acc_body_frame = F / lander.state['mass']
+
+ #
+ # Find acceleration to inertial frame
+ # Since the attitude is BN (body with respect to inertial) the associated DCM
+ # is BN and maps from inertial to body, so we need to invert it (transpose)
+ # to map pfrom body to inertial (I think)
+ #
+
+ #noise = (self.noise_u + self.noise_sd * np.random.normal(size=3)) / lander.state['mass']
+ noise = (self.noise_u + np.clip(self.noise_sd * np.random.normal(size=3), 0, 3*self.noise_sd)) / lander.state['mass']
+
+ dcm_NB = lander.attitude_parameterization.get_body_to_inertial_DCM(lander.state['attitude'])
+ acc_inertial_frame = dcm_NB.dot(acc_body_frame)
+ thrust = acc_inertial_frame * lander.state['mass']
+ acc_inertial_frame += self.g + noise
+
+ #
+ # Here we use the Euler rotational equations of motion to find wdot
+ #
+
+ Jinv = np.linalg.inv(J)
+ w_tilde = attu.skew(w)
+ wdot = -Jinv.dot(w_tilde).dot(J).dot(w) + Jinv.dot(L)
+ #print('DEBUG: ',L,wdot)
+ #
+ # differential kinematic equation for derivative of attitude
+ #
+ # integrate w_bt (body frame lander rotation relative to target frame) to get
+ # lander attitude in target frame
+ # w_bn is stored in lander (rotation in inertial frame, which is caused by thruster torque)
+ # reward function will try to make w_bt zero
+ #
+
+ w_bt = w
+ qdot = lander.attitude_parameterization.qdot(lander.state['attitude'], w_bt)
+
+ #
+ # Use 4th order Runge Kutta to integrate equations of motion
+ #
+
+ ode = lambda t,x : self.eqom(t, x, acc_inertial_frame, qdot, wdot, mdot)
+ x_next = envu.rk4(t, x, ode, self.h )
+ attitude = x_next[10:]
+ attitude = lander.attitude_parameterization.fix_attitude(attitude) # normalize quaternions
+ assert np.all(attitude < np.pi + 1e-9)
+ # integrate w_bt (lander_body to targeta to get lander attitude in target frame)
+ # w_bn is stored in lander (rotation in inertial frame, which is caused by thruster torque)
+
+ #print(thrust_command, w, x_next[6:9])
+ lander.state['position'] = x_next[0:3]
+ lander.state['velocity'] = x_next[3:6]
+ lander.state['w'] = x_next[6:9]
+ lander.state['mass'] = x_next[9]
+ lander.state['attitude'] = attitude
+ lander.state['attitude_321'] = lander.attitude_parameterization.q2Euler321(attitude)
+
+ #if not np.all(lander.state['attitude'] < 4):
+ # print(lander.state['attitude'] , lander.state['w'])
+ #assert np.all(lander.state['attitude'] < 4)
+
+ lander.state['thrust'] = thrust
+ lander.state['bf_thrust'] = F
+ lander.state['torque'] = L
+
+ _, t_go = lander.track_func(lander.state['position'],lander.state['velocity'])
+ lander.state['t_go'] = t_go
+
+ #print('DEBUG3: ',lander.state['w'])
+ return x_next
+
+
+
+
+ def eqom(self,t, x, acc, qdot, wdot, mdot):
+
+ r = x[0:3]
+ v = x[3:6]
+ w = x[6:9]
+
+ rdot = v
+ vdot = acc
+
+ xdot = np.zeros(10+qdot.shape[0])
+ xdot[0:3] = v
+ xdot[3:6] = acc
+ xdot[6:9] = wdot
+ xdot[9] = mdot
+ xdot[10:] = qdot
+
+ return xdot
+
+
+
+
+
diff --git a/AAS-18-290_6DOF_journal/env.py b/AAS-18-290_6DOF_journal/env.py
new file mode 100644
index 0000000..e43f95c
--- /dev/null
+++ b/AAS-18-290_6DOF_journal/env.py
@@ -0,0 +1,439 @@
+import numpy as np
+from time import time
+import matplotlib as mpl
+from mpl_toolkits.mplot3d import Axes3D
+import matplotlib.pyplot as plt
+from matplotlib import cm
+import env_utils as envu
+from ic_gen import Landing_icgen
+import pylab
+import matplotlib
+
+class Env(object):
+ def __init__(self, lander, dynamics, logger,
+ glideslope_constraint=None,
+ shape_constraint=None,
+ attitude_constraint=None,
+ reward_object=None,
+ nav_period=0.20,
+ rh_limit = 500, tf_limit=200.0, allow_plotting=True, print_every=1,
+ scale_agent_action=True, pp_debug=False):
+ self.scale_agent_action = scale_agent_action
+ self.rh_limit = rh_limit
+ self.nav_period = nav_period
+ self.logger = logger
+ self.lander = lander
+ self.pp_debug = pp_debug
+ self.rl_stats = RL_stats(lander,logger,print_every=print_every,allow_plotting=allow_plotting)
+ self.tf_limit = tf_limit
+ self.display_errors = False
+ self.dynamics = dynamics
+ self.allow_plotting = allow_plotting
+ self.ic_gen = Landing_icgen()
+ self.episode = 0
+ self.glideslope_constraint = glideslope_constraint
+ self.shape_constraint = shape_constraint
+ self.attitude_constraint = attitude_constraint
+ self.reward_object = reward_object
+
+ if allow_plotting:
+ plt.clf()
+ plt.cla()
+ print('lander env att 2 fixed')
+
+ def reset(self):
+
+ self.ic_gen.set_ic(self.lander, self.dynamics)
+ self.glideslope_constraint.reset(self.lander.state)
+
+ self.steps = 0
+ self.min_range = 1e12
+ self.t = 0.0
+
+ self.lander.clear_trajectory()
+ if self.pp_debug:
+ print('PP debug: ',self.lander.state['mass'], self.dynamics.g)
+ return self.lander.get_state_agent(self.t)
+
+ def check_for_done(self,lander):
+ done = False
+ vc = envu.get_vc(lander.state['position'], lander.state['velocity'])
+ altitude = lander.state['position'][2]
+ range = np.linalg.norm(lander.state['position'])
+ if self.glideslope_constraint.get_margin() < 0.0 and self.glideslope_constraint.terminate_on_violation:
+ done = True
+ if self.shape_constraint.get_margin(lander.state) < 0.0 and self.shape_constraint.terminate_on_violation:
+ done = True
+ if self.attitude_constraint.get_margin(lander.state) < 0.0 and self.attitude_constraint.terminate_on_violation:
+ done = True
+ if altitude < 0.0:
+ done = True
+ if self.t > self.tf_limit:
+ done = True
+ error = True
+ if (range - self.min_range) > self.rh_limit:
+ done = True
+ error = True
+
+ return done
+
+ def render(self):
+ self.rl_stats.show(self.episode)
+ self.rl_stats.clear()
+ if self.allow_plotting:
+ envu.render_traj(self.lander.trajectory)
+
+
+ def step(self,action):
+ action = action.copy()
+ if len(action.shape) > 1:
+ action = action[0]
+
+ # update using current state and action so we capture IC
+ self.lander.update_trajectory(False, self.t, action)
+
+ steps_to_sim = int(np.round(self.nav_period / self.dynamics.h))
+ self.lander.prev_state = self.lander.state.copy()
+ for i in range(steps_to_sim):
+ self.dynamics.next(self.t, action, self.lander)
+ done = self.check_for_done(self.lander)
+ if done:
+ break
+
+ self.t += steps_to_sim*self.dynamics.h
+ self.steps+=1
+ self.glideslope_constraint.calculate(self.lander.state)
+ self.min_range = np.minimum(self.min_range, np.linalg.norm(self.lander.state['position']))
+
+ reward,reward_info = self.reward_object.get( self.lander, action, done, self.steps, self.shape_constraint, self.glideslope_constraint, self.attitude_constraint)
+ state = self.lander.get_state_agent(self.t)
+ if done:
+ # also add last state to trajectory
+ self.lander.update_trajectory(done, self.t, action)
+ self.episode += 1
+ return state,reward,done,reward_info
+
+ def test_policy_batch(self, policy, input_normalizer, n, print_every=100, use_ts=False):
+ self.lander.use_trajectory_list = True
+ self.episode = 0
+ self.lander.trajectory_list = []
+ self.display_errors = True
+ for i in range(n):
+ self.test_policy_episode(policy, input_normalizer,use_ts=use_ts)
+ if i % print_every == 0 and i > 0:
+ print('i : ',i)
+ self.lander.show_cum_stats()
+ print('')
+ self.lander.show_final_stats(type='final')
+ print('')
+ self.lander.show_cum_stats()
+ print('')
+ self.lander.show_final_stats(type='final')
+ print('')
+ self.lander.show_final_stats(type='ic')
+
+ def test_policy_episode(self, policy, input_normalizer, use_ts=False):
+ trajectory = []
+ obs = self.reset()
+ done = False
+ ts = 0.0
+ while not done:
+ obs = input_normalizer.apply(obs)
+ obs = np.expand_dims(obs,axis=0)
+ if use_ts:
+ obs = np.append(obs, [[ts]], axis=1)
+ _, env_action = policy.sample(obs)
+ obs, _, done,_ =self.step(env_action)
+ ts += 1e-3
+ return self.lander.get_state_agent(0)
+
+
+
+class RL_stats(object):
+
+ def __init__(self,lander,logger,allow_plotting=True,print_every=1, vf=None, scaler=None):
+ self.logger = logger
+ self.lander = lander
+ self.scaler = scaler
+ self.vf = vf
+ self.keys = ['r_f', 'v_f', 'r_i', 'v_i', 'norm_rf', 'norm_vf', 'gs_f', 'thrust', 'norm_thrust','fuel', 'rewards', 'fuel_rewards',
+ 'glideslope_rewards', 'glideslope_penalty', 'glideslope', 'norm_af', 'norm_wf',
+ 'sc_rewards','sc_penalty','sc_margin',
+ 'att_rewards', 'att_penalty', 'attitude', 'w', 'a_f', 'w_f',
+ 'landing_rewards','landing_margin', 'tracking_rewards', 'steps']
+ self.formats = {'gs_f' : '{:8.1f}' , 'r_f' : '{:8.1f}', 'v_f' : '{:8.2f}' , 'r_i' : '{:8.1f}', 'v_i' : '{:8.2f}' , 'norm_rf' : '{:8.1f}', 'norm_vf' : '{:8.2f}', 'thrust' : '{:8.0f}',
+ 'norm_af' : '{:8.2f}', 'norm_wf' : '{:8.2f}',
+ 'fuel' : '{:8.0f}', 'steps' : '{:8.0f}', 'r_bonus' : '{:8.2f}', 'v_bonus' : '{:8.2f}', 'norm_thrust' : '{:8.0f}', 'a_f' : '{:8.2f}', 'w_f' : '{:8.2f}',
+ 'tracking_rewards' : '{:8.2f}', 'rewards' : '{:8.2f}', 'fuel_rewards' : '{:8.2f}', 'landing_margin' : '{:8.2f}',
+ 'glideslope_rewards' : '{:8.2f}', 'glideslope' : '{:8.2f}', 'glideslope_penalty' : '{:8.2f}',
+ 'sc_rewards' : '{:8.2f}', 'sc_penalty' : '{:8.2f}', 'sc_margin' : '{:8.2f}',
+ 'att_rewards' : '{:8.2f}', 'landing_rewards': '{:8.2f}', 'att_penalty' : '{:8.2f}', 'attitude' : '{:8.2f}', 'w' : '{:8.2f}'}
+ self.stats = {}
+ self.history = { 'Episode' : [] , 'MeanReward' : [], 'StdReward' : [] , 'MinReward' : [], 'KL' : [], 'Beta' : [], 'Variance' : [], 'PolicyEntropy' : [], 'ExplainedVarNew' : [] ,
+ 'Norm_rf' : [], 'Norm_vf' : [], 'SD_rf' : [], 'SD_vf' : [], 'Max_rf' : [], 'Max_vf' : [],
+ 'Norm_af' : [], 'Norm_wf' : [], 'SD_af' : [], 'SD_wf' : [], 'Max_af' : [], 'Max_wf' : [], 'MeanSteps' : [], 'MaxSteps' : []}
+
+ self.clear()
+
+ self.allow_plotting = allow_plotting
+ self.last_time = time()
+
+ self.update_cnt = 0
+ self.episode = 0
+ self.print_every = print_every
+
+
+ if allow_plotting:
+ plt.clf()
+ plt.cla()
+ self.fig2 = plt.figure(2,figsize=plt.figaspect(0.5))
+ self.fig3 = plt.figure(3,figsize=plt.figaspect(0.5))
+ self.fig4 = plt.figure(4,figsize=plt.figaspect(0.5))
+ self.fig5 = plt.figure(5,figsize=plt.figaspect(0.5))
+ self.fig6 = plt.figure(6,figsize=plt.figaspect(0.5))
+ self.fig7 = plt.figure(7,figsize=plt.figaspect(0.5))
+
+ def clear(self):
+ for k in self.keys:
+ self.stats[k] = []
+
+ def update_episode(self,sum_rewards,steps):
+ self.stats['rewards'].append(sum_rewards)
+ self.stats['fuel_rewards'].append(np.sum(self.lander.trajectory['fuel_reward']))
+ self.stats['tracking_rewards'].append(np.sum(self.lander.trajectory['tracking_reward']))
+ self.stats['glideslope_rewards'].append(np.sum(self.lander.trajectory['glideslope_reward']))
+ self.stats['glideslope_penalty'].append(np.sum(self.lander.trajectory['glideslope_penalty']))
+ self.stats['glideslope'].append(np.min(self.lander.trajectory['glideslope']))
+ self.stats['sc_rewards'].append(np.sum(self.lander.trajectory['sc_reward']))
+ self.stats['sc_penalty'].append(np.sum(self.lander.trajectory['sc_penalty']))
+ self.stats['sc_margin'].append(np.min(self.lander.trajectory['sc_margin']))
+ self.stats['att_penalty'].append(np.sum(self.lander.trajectory['att_penalty']))
+ self.stats['att_rewards'].append(np.sum(self.lander.trajectory['att_reward']))
+ self.stats['landing_rewards'].append(np.sum(self.lander.trajectory['landing_reward']))
+ self.stats['attitude'].append(self.lander.trajectory['attitude_321'])
+ self.stats['w'].append(self.lander.trajectory['w'])
+
+ self.stats['landing_margin'].append(np.sum(self.lander.trajectory['landing_margin']))
+ self.stats['r_f'].append(self.lander.trajectory['position'][-1])
+ self.stats['v_f'].append(self.lander.trajectory['velocity'][-1])
+ self.stats['gs_f'].append(self.lander.trajectory['glideslope'][-1])
+ self.stats['w_f'].append(self.lander.trajectory['w'][-1])
+ self.stats['a_f'].append(self.lander.trajectory['attitude_321'][-1][1:3])
+ self.stats['w_f'].append(self.lander.trajectory['w'][-1])
+ self.stats['r_i'].append(self.lander.trajectory['position'][0])
+ self.stats['v_i'].append(self.lander.trajectory['velocity'][0])
+ self.stats['norm_rf'].append(np.linalg.norm(self.lander.trajectory['position'][-1]))
+ self.stats['norm_vf'].append(np.linalg.norm(self.lander.trajectory['velocity'][-1]))
+ self.stats['norm_af'].append(np.linalg.norm(self.lander.trajectory['attitude_321'][-1][1:3])) # don't care about yaw
+ self.stats['norm_wf'].append(np.linalg.norm(self.lander.trajectory['w'][-1]))
+
+ self.stats['norm_thrust'].append(np.linalg.norm(self.lander.trajectory['thrust'],axis=1))
+ self.stats['thrust'].append(self.lander.trajectory['thrust'])
+ self.stats['fuel'].append(np.linalg.norm(self.lander.trajectory['fuel'][-1]))
+ self.stats['steps'].append(steps)
+ self.episode += 1
+
+ # called by render at policy update
+ def show(self):
+
+ self.history['MeanReward'].append(np.mean(self.stats['rewards']))
+ self.history['StdReward'].append(np.std(self.stats['rewards']))
+ self.history['MinReward'].append(np.min(self.stats['rewards']))
+
+ self.history['KL'].append(self.logger.log_entry['KL'])
+ self.history['Beta'].append(self.logger.log_entry['Beta'])
+ self.history['Variance'].append(self.logger.log_entry['Variance'])
+ self.history['PolicyEntropy'].append(self.logger.log_entry['PolicyEntropy'])
+ self.history['ExplainedVarNew'].append(self.logger.log_entry['ExplainedVarNew'])
+ self.history['Episode'].append(self.episode)
+
+ self.history['Norm_rf'].append(np.mean(self.stats['norm_rf']))
+ self.history['SD_rf'].append(np.mean(self.stats['norm_rf']+np.std(self.stats['norm_rf'])))
+ self.history['Max_rf'].append(np.max(self.stats['norm_rf']))
+
+ self.history['Norm_vf'].append(np.mean(self.stats['norm_vf']))
+ self.history['SD_vf'].append(np.mean(self.stats['norm_vf']+np.std(self.stats['norm_vf'])))
+ self.history['Max_vf'].append(np.max(self.stats['norm_vf']))
+
+ self.history['Norm_af'].append(np.mean(self.stats['norm_af']))
+ self.history['SD_af'].append(np.mean(self.stats['norm_af']+np.std(self.stats['norm_af'])))
+ self.history['Max_af'].append(np.max(self.stats['norm_af']))
+
+ self.history['Norm_wf'].append(np.mean(self.stats['norm_wf']))
+ self.history['SD_wf'].append(np.mean(self.stats['norm_wf']+np.std(self.stats['norm_wf'])))
+ self.history['Max_wf'].append(np.max(self.stats['norm_wf']))
+
+
+ self.history['MeanSteps'].append(np.mean(self.stats['steps']))
+ self.history['MaxSteps'].append(np.max(self.stats['steps']))
+
+ if self.allow_plotting:
+ envu.render_traj(self.lander.trajectory,vf=self.vf,scaler=self.scaler)
+
+ self.plot_rewards()
+ self.plot_learning()
+ self.plot_rf()
+ self.plot_vf()
+ self.plot_af()
+ self.plot_wf()
+ if self.update_cnt % self.print_every == 0:
+ self.show_stats()
+ self.clear()
+ self.update_cnt += 1
+
+ def show_stats(self):
+ et = time() - self.last_time
+ self.last_time = time()
+
+ r_f = np.linalg.norm(self.stats['r_f'],axis=1)
+ v_f = np.linalg.norm(self.stats['v_f'],axis=1)
+
+ f = '{:6.2f}'
+ print('Update Cnt = %d ET = %8.1f Stats: Mean, Std, Min, Max' % (self.update_cnt,et))
+ for k in self.keys:
+ f = self.formats[k]
+ v = self.stats[k]
+ if k == 'thrust' or k=='tracking_error' or k=='norm_thrust' or k=='attitude' or k=='w':
+ v = np.concatenate(v)
+ v = np.asarray(v)
+ if len(v.shape) == 1 :
+ v = np.expand_dims(v,axis=1)
+ s = '%-8s' % (k)
+ #print('foo: ',k,v)
+ s += envu.print_vector(' |',np.mean(v,axis=0),f)
+ s += envu.print_vector(' |',np.std(v,axis=0),f)
+ s += envu.print_vector(' |',np.min(v,axis=0),f)
+ s += envu.print_vector(' |',np.max(v,axis=0),f)
+ print(s)
+
+ #print('R_F, Mean, SD, Min, Max: ',np.mean(r_f), np.std(r_f))
+ #print('V_F, Mean, SD, Min, Max: ',np.mean(v_f), np.mean(v_f))
+
+
+ def plot_rewards(self):
+ self.fig2.clear()
+ plt.figure(self.fig2.number)
+ self.fig2.set_size_inches(8, 3, forward=True)
+ ep = self.history['Episode']
+ ax = plt.gca()
+ ax2 = ax.twinx()
+
+ lns1=ax.plot(ep,self.history['MeanReward'],'r',label='Mean R')
+ lns2=ax.plot(ep,np.asarray(self.history['MeanReward'])-np.asarray(self.history['StdReward']),'b',label='SD R')
+ lns3=ax.plot(ep,self.history['MinReward'],'g',label='Min R')
+ lns4=ax2.plot(ep,self.history['MaxSteps'],'c',linestyle=':',label='Max Steps')
+ lns5=ax2.plot(ep,self.history['MeanSteps'],'m',linestyle=':',label='Mean Steps')
+
+ lns = lns1+lns2+lns3+lns4+lns5
+ labs = [l.get_label() for l in lns]
+ ax.set_xlabel("Episode")
+
+ ax.legend(lns, labs, bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
+ ncol=5, mode="expand", borderaxespad=0.)
+ ax.grid(True)
+ ax = plt.gca()
+ plt.tight_layout()
+ plt.gcf().subplots_adjust(top=0.85)
+ self.fig2.canvas.draw()
+
+ def plot_learning(self):
+ self.fig3.clear()
+ plt.figure(self.fig3.number)
+ self.fig3.set_size_inches(8, 3, forward=True)
+ ep = self.history['Episode']
+ ax = plt.gca()
+ ax2 = ax.twinx()
+ lns1=ax.plot(ep,self.history['PolicyEntropy'],'r',label='Entropy')
+ lns2=ax2.plot(ep,self.history['KL'],'b',label='KL Divergence')
+ lns3=ax.plot(ep,self.history['ExplainedVarNew'],'g',label='Explained Variance')
+ lns4=ax.plot(ep,self.history['Beta'],'k',label='Beta')
+ foo = 10*np.asarray(self.history['Variance'])
+ lns5=ax.plot(ep,foo,'m',label='10X Variance')
+
+
+ lns = lns1+lns2+lns3+lns4+lns5
+ labs = [l.get_label() for l in lns]
+ ax.set_xlabel("Update")
+ ax.legend(lns, labs, bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
+ ncol=5, mode="expand", borderaxespad=0.)
+ ax.grid(True)
+ plt.tight_layout()
+ plt.gcf().subplots_adjust(top=0.85)
+ self.fig3.canvas.draw()
+
+ def plot_rf(self):
+ self.fig4.clear()
+ plt.figure(self.fig4.number)
+ self.fig4.set_size_inches(8, 3, forward=True)
+ ep = self.history['Episode']
+
+ plt.plot(ep,self.history['Norm_rf'],'r',label='Norm_rf')
+ plt.plot(ep,self.history['SD_rf'], 'b',linestyle=':',label='SD_rf')
+ plt.plot(ep,self.history['Max_rf'], 'g',linestyle=':',label='Max_rf')
+
+ plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
+ ncol=5, mode="expand", borderaxespad=0.)
+ ax = plt.gca()
+ ax.set_xlabel("Episode")
+ plt.grid(True)
+ plt.tight_layout()
+ plt.gcf().subplots_adjust(top=0.85)
+ self.fig4.canvas.draw()
+
+ def plot_vf(self):
+ self.fig5.clear()
+ plt.figure(self.fig5.number)
+ self.fig5.set_size_inches(8, 3, forward=True)
+ ep = self.history['Episode']
+
+ plt.plot(ep,self.history['Norm_vf'],'r',label='Norm_vf')
+ plt.plot(ep,self.history['SD_vf'], 'b',linestyle=':',label='SD_vf')
+ plt.plot(ep,self.history['Max_vf'], 'g',linestyle=':',label='Max_vf')
+
+ plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
+ ncol=5, mode="expand", borderaxespad=0.)
+ ax = plt.gca()
+ ax.set_xlabel("Episode")
+ plt.grid(True)
+ plt.tight_layout()
+ plt.gcf().subplots_adjust(top=0.85)
+ self.fig5.canvas.draw()
+
+ def plot_af(self):
+ self.fig6.clear()
+ plt.figure(self.fig6.number)
+ self.fig6.set_size_inches(8, 3, forward=True)
+ ep = self.history['Episode']
+
+ plt.plot(ep,self.history['Norm_af'],'r',label='Norm_af')
+ plt.plot(ep,self.history['SD_af'], 'b',linestyle=':',label='SD_af')
+ plt.plot(ep,self.history['Max_af'], 'g',linestyle=':',label='Max_af')
+
+ plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
+ ncol=5, mode="expand", borderaxespad=0.)
+ ax = plt.gca()
+ ax.set_xlabel("Episode")
+ plt.grid(True)
+ plt.tight_layout()
+ plt.gcf().subplots_adjust(top=0.85)
+ self.fig6.canvas.draw()
+
+ def plot_wf(self):
+ self.fig7.clear()
+ plt.figure(self.fig7.number)
+ self.fig7.set_size_inches(8, 3, forward=True)
+ ep = self.history['Episode']
+
+ plt.plot(ep,self.history['Norm_wf'],'r',label='Norm_wf')
+ plt.plot(ep,self.history['SD_wf'], 'b',linestyle=':',label='SD_wf')
+ plt.plot(ep,self.history['Max_wf'], 'g',linestyle=':',label='Max_wf')
+
+ plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
+ ncol=5, mode="expand", borderaxespad=0.)
+ ax = plt.gca()
+ ax.set_xlabel("Episode")
+ plt.grid(True)
+ plt.tight_layout()
+ plt.gcf().subplots_adjust(top=0.85)
+ self.fig7.canvas.draw()
+
diff --git a/AAS-18-290_6DOF_journal/env_mdr.py b/AAS-18-290_6DOF_journal/env_mdr.py
new file mode 100644
index 0000000..e43f95c
--- /dev/null
+++ b/AAS-18-290_6DOF_journal/env_mdr.py
@@ -0,0 +1,439 @@
+import numpy as np
+from time import time
+import matplotlib as mpl
+from mpl_toolkits.mplot3d import Axes3D
+import matplotlib.pyplot as plt
+from matplotlib import cm
+import env_utils as envu
+from ic_gen import Landing_icgen
+import pylab
+import matplotlib
+
+class Env(object):
+ def __init__(self, lander, dynamics, logger,
+ glideslope_constraint=None,
+ shape_constraint=None,
+ attitude_constraint=None,
+ reward_object=None,
+ nav_period=0.20,
+ rh_limit = 500, tf_limit=200.0, allow_plotting=True, print_every=1,
+ scale_agent_action=True, pp_debug=False):
+ self.scale_agent_action = scale_agent_action
+ self.rh_limit = rh_limit
+ self.nav_period = nav_period
+ self.logger = logger
+ self.lander = lander
+ self.pp_debug = pp_debug
+ self.rl_stats = RL_stats(lander,logger,print_every=print_every,allow_plotting=allow_plotting)
+ self.tf_limit = tf_limit
+ self.display_errors = False
+ self.dynamics = dynamics
+ self.allow_plotting = allow_plotting
+ self.ic_gen = Landing_icgen()
+ self.episode = 0
+ self.glideslope_constraint = glideslope_constraint
+ self.shape_constraint = shape_constraint
+ self.attitude_constraint = attitude_constraint
+ self.reward_object = reward_object
+
+ if allow_plotting:
+ plt.clf()
+ plt.cla()
+ print('lander env att 2 fixed')
+
+ def reset(self):
+
+ self.ic_gen.set_ic(self.lander, self.dynamics)
+ self.glideslope_constraint.reset(self.lander.state)
+
+ self.steps = 0
+ self.min_range = 1e12
+ self.t = 0.0
+
+ self.lander.clear_trajectory()
+ if self.pp_debug:
+ print('PP debug: ',self.lander.state['mass'], self.dynamics.g)
+ return self.lander.get_state_agent(self.t)
+
+ def check_for_done(self,lander):
+ done = False
+ vc = envu.get_vc(lander.state['position'], lander.state['velocity'])
+ altitude = lander.state['position'][2]
+ range = np.linalg.norm(lander.state['position'])
+ if self.glideslope_constraint.get_margin() < 0.0 and self.glideslope_constraint.terminate_on_violation:
+ done = True
+ if self.shape_constraint.get_margin(lander.state) < 0.0 and self.shape_constraint.terminate_on_violation:
+ done = True
+ if self.attitude_constraint.get_margin(lander.state) < 0.0 and self.attitude_constraint.terminate_on_violation:
+ done = True
+ if altitude < 0.0:
+ done = True
+ if self.t > self.tf_limit:
+ done = True
+ error = True
+ if (range - self.min_range) > self.rh_limit:
+ done = True
+ error = True
+
+ return done
+
+ def render(self):
+ self.rl_stats.show(self.episode)
+ self.rl_stats.clear()
+ if self.allow_plotting:
+ envu.render_traj(self.lander.trajectory)
+
+
+ def step(self,action):
+ action = action.copy()
+ if len(action.shape) > 1:
+ action = action[0]
+
+ # update using current state and action so we capture IC
+ self.lander.update_trajectory(False, self.t, action)
+
+ steps_to_sim = int(np.round(self.nav_period / self.dynamics.h))
+ self.lander.prev_state = self.lander.state.copy()
+ for i in range(steps_to_sim):
+ self.dynamics.next(self.t, action, self.lander)
+ done = self.check_for_done(self.lander)
+ if done:
+ break
+
+ self.t += steps_to_sim*self.dynamics.h
+ self.steps+=1
+ self.glideslope_constraint.calculate(self.lander.state)
+ self.min_range = np.minimum(self.min_range, np.linalg.norm(self.lander.state['position']))
+
+ reward,reward_info = self.reward_object.get( self.lander, action, done, self.steps, self.shape_constraint, self.glideslope_constraint, self.attitude_constraint)
+ state = self.lander.get_state_agent(self.t)
+ if done:
+ # also add last state to trajectory
+ self.lander.update_trajectory(done, self.t, action)
+ self.episode += 1
+ return state,reward,done,reward_info
+
+ def test_policy_batch(self, policy, input_normalizer, n, print_every=100, use_ts=False):
+ self.lander.use_trajectory_list = True
+ self.episode = 0
+ self.lander.trajectory_list = []
+ self.display_errors = True
+ for i in range(n):
+ self.test_policy_episode(policy, input_normalizer,use_ts=use_ts)
+ if i % print_every == 0 and i > 0:
+ print('i : ',i)
+ self.lander.show_cum_stats()
+ print('')
+ self.lander.show_final_stats(type='final')
+ print('')
+ self.lander.show_cum_stats()
+ print('')
+ self.lander.show_final_stats(type='final')
+ print('')
+ self.lander.show_final_stats(type='ic')
+
+ def test_policy_episode(self, policy, input_normalizer, use_ts=False):
+ trajectory = []
+ obs = self.reset()
+ done = False
+ ts = 0.0
+ while not done:
+ obs = input_normalizer.apply(obs)
+ obs = np.expand_dims(obs,axis=0)
+ if use_ts:
+ obs = np.append(obs, [[ts]], axis=1)
+ _, env_action = policy.sample(obs)
+ obs, _, done,_ =self.step(env_action)
+ ts += 1e-3
+ return self.lander.get_state_agent(0)
+
+
+
+class RL_stats(object):
+
+ def __init__(self,lander,logger,allow_plotting=True,print_every=1, vf=None, scaler=None):
+ self.logger = logger
+ self.lander = lander
+ self.scaler = scaler
+ self.vf = vf
+ self.keys = ['r_f', 'v_f', 'r_i', 'v_i', 'norm_rf', 'norm_vf', 'gs_f', 'thrust', 'norm_thrust','fuel', 'rewards', 'fuel_rewards',
+ 'glideslope_rewards', 'glideslope_penalty', 'glideslope', 'norm_af', 'norm_wf',
+ 'sc_rewards','sc_penalty','sc_margin',
+ 'att_rewards', 'att_penalty', 'attitude', 'w', 'a_f', 'w_f',
+ 'landing_rewards','landing_margin', 'tracking_rewards', 'steps']
+ self.formats = {'gs_f' : '{:8.1f}' , 'r_f' : '{:8.1f}', 'v_f' : '{:8.2f}' , 'r_i' : '{:8.1f}', 'v_i' : '{:8.2f}' , 'norm_rf' : '{:8.1f}', 'norm_vf' : '{:8.2f}', 'thrust' : '{:8.0f}',
+ 'norm_af' : '{:8.2f}', 'norm_wf' : '{:8.2f}',
+ 'fuel' : '{:8.0f}', 'steps' : '{:8.0f}', 'r_bonus' : '{:8.2f}', 'v_bonus' : '{:8.2f}', 'norm_thrust' : '{:8.0f}', 'a_f' : '{:8.2f}', 'w_f' : '{:8.2f}',
+ 'tracking_rewards' : '{:8.2f}', 'rewards' : '{:8.2f}', 'fuel_rewards' : '{:8.2f}', 'landing_margin' : '{:8.2f}',
+ 'glideslope_rewards' : '{:8.2f}', 'glideslope' : '{:8.2f}', 'glideslope_penalty' : '{:8.2f}',
+ 'sc_rewards' : '{:8.2f}', 'sc_penalty' : '{:8.2f}', 'sc_margin' : '{:8.2f}',
+ 'att_rewards' : '{:8.2f}', 'landing_rewards': '{:8.2f}', 'att_penalty' : '{:8.2f}', 'attitude' : '{:8.2f}', 'w' : '{:8.2f}'}
+ self.stats = {}
+ self.history = { 'Episode' : [] , 'MeanReward' : [], 'StdReward' : [] , 'MinReward' : [], 'KL' : [], 'Beta' : [], 'Variance' : [], 'PolicyEntropy' : [], 'ExplainedVarNew' : [] ,
+ 'Norm_rf' : [], 'Norm_vf' : [], 'SD_rf' : [], 'SD_vf' : [], 'Max_rf' : [], 'Max_vf' : [],
+ 'Norm_af' : [], 'Norm_wf' : [], 'SD_af' : [], 'SD_wf' : [], 'Max_af' : [], 'Max_wf' : [], 'MeanSteps' : [], 'MaxSteps' : []}
+
+ self.clear()
+
+ self.allow_plotting = allow_plotting
+ self.last_time = time()
+
+ self.update_cnt = 0
+ self.episode = 0
+ self.print_every = print_every
+
+
+ if allow_plotting:
+ plt.clf()
+ plt.cla()
+ self.fig2 = plt.figure(2,figsize=plt.figaspect(0.5))
+ self.fig3 = plt.figure(3,figsize=plt.figaspect(0.5))
+ self.fig4 = plt.figure(4,figsize=plt.figaspect(0.5))
+ self.fig5 = plt.figure(5,figsize=plt.figaspect(0.5))
+ self.fig6 = plt.figure(6,figsize=plt.figaspect(0.5))
+ self.fig7 = plt.figure(7,figsize=plt.figaspect(0.5))
+
+ def clear(self):
+ for k in self.keys:
+ self.stats[k] = []
+
+ def update_episode(self,sum_rewards,steps):
+ self.stats['rewards'].append(sum_rewards)
+ self.stats['fuel_rewards'].append(np.sum(self.lander.trajectory['fuel_reward']))
+ self.stats['tracking_rewards'].append(np.sum(self.lander.trajectory['tracking_reward']))
+ self.stats['glideslope_rewards'].append(np.sum(self.lander.trajectory['glideslope_reward']))
+ self.stats['glideslope_penalty'].append(np.sum(self.lander.trajectory['glideslope_penalty']))
+ self.stats['glideslope'].append(np.min(self.lander.trajectory['glideslope']))
+ self.stats['sc_rewards'].append(np.sum(self.lander.trajectory['sc_reward']))
+ self.stats['sc_penalty'].append(np.sum(self.lander.trajectory['sc_penalty']))
+ self.stats['sc_margin'].append(np.min(self.lander.trajectory['sc_margin']))
+ self.stats['att_penalty'].append(np.sum(self.lander.trajectory['att_penalty']))
+ self.stats['att_rewards'].append(np.sum(self.lander.trajectory['att_reward']))
+ self.stats['landing_rewards'].append(np.sum(self.lander.trajectory['landing_reward']))
+ self.stats['attitude'].append(self.lander.trajectory['attitude_321'])
+ self.stats['w'].append(self.lander.trajectory['w'])
+
+ self.stats['landing_margin'].append(np.sum(self.lander.trajectory['landing_margin']))
+ self.stats['r_f'].append(self.lander.trajectory['position'][-1])
+ self.stats['v_f'].append(self.lander.trajectory['velocity'][-1])
+ self.stats['gs_f'].append(self.lander.trajectory['glideslope'][-1])
+ self.stats['w_f'].append(self.lander.trajectory['w'][-1])
+ self.stats['a_f'].append(self.lander.trajectory['attitude_321'][-1][1:3])
+ self.stats['w_f'].append(self.lander.trajectory['w'][-1])
+ self.stats['r_i'].append(self.lander.trajectory['position'][0])
+ self.stats['v_i'].append(self.lander.trajectory['velocity'][0])
+ self.stats['norm_rf'].append(np.linalg.norm(self.lander.trajectory['position'][-1]))
+ self.stats['norm_vf'].append(np.linalg.norm(self.lander.trajectory['velocity'][-1]))
+ self.stats['norm_af'].append(np.linalg.norm(self.lander.trajectory['attitude_321'][-1][1:3])) # don't care about yaw
+ self.stats['norm_wf'].append(np.linalg.norm(self.lander.trajectory['w'][-1]))
+
+ self.stats['norm_thrust'].append(np.linalg.norm(self.lander.trajectory['thrust'],axis=1))
+ self.stats['thrust'].append(self.lander.trajectory['thrust'])
+ self.stats['fuel'].append(np.linalg.norm(self.lander.trajectory['fuel'][-1]))
+ self.stats['steps'].append(steps)
+ self.episode += 1
+
+ # called by render at policy update
+ def show(self):
+
+ self.history['MeanReward'].append(np.mean(self.stats['rewards']))
+ self.history['StdReward'].append(np.std(self.stats['rewards']))
+ self.history['MinReward'].append(np.min(self.stats['rewards']))
+
+ self.history['KL'].append(self.logger.log_entry['KL'])
+ self.history['Beta'].append(self.logger.log_entry['Beta'])
+ self.history['Variance'].append(self.logger.log_entry['Variance'])
+ self.history['PolicyEntropy'].append(self.logger.log_entry['PolicyEntropy'])
+ self.history['ExplainedVarNew'].append(self.logger.log_entry['ExplainedVarNew'])
+ self.history['Episode'].append(self.episode)
+
+ self.history['Norm_rf'].append(np.mean(self.stats['norm_rf']))
+ self.history['SD_rf'].append(np.mean(self.stats['norm_rf']+np.std(self.stats['norm_rf'])))
+ self.history['Max_rf'].append(np.max(self.stats['norm_rf']))
+
+ self.history['Norm_vf'].append(np.mean(self.stats['norm_vf']))
+ self.history['SD_vf'].append(np.mean(self.stats['norm_vf']+np.std(self.stats['norm_vf'])))
+ self.history['Max_vf'].append(np.max(self.stats['norm_vf']))
+
+ self.history['Norm_af'].append(np.mean(self.stats['norm_af']))
+ self.history['SD_af'].append(np.mean(self.stats['norm_af']+np.std(self.stats['norm_af'])))
+ self.history['Max_af'].append(np.max(self.stats['norm_af']))
+
+ self.history['Norm_wf'].append(np.mean(self.stats['norm_wf']))
+ self.history['SD_wf'].append(np.mean(self.stats['norm_wf']+np.std(self.stats['norm_wf'])))
+ self.history['Max_wf'].append(np.max(self.stats['norm_wf']))
+
+
+ self.history['MeanSteps'].append(np.mean(self.stats['steps']))
+ self.history['MaxSteps'].append(np.max(self.stats['steps']))
+
+ if self.allow_plotting:
+ envu.render_traj(self.lander.trajectory,vf=self.vf,scaler=self.scaler)
+
+ self.plot_rewards()
+ self.plot_learning()
+ self.plot_rf()
+ self.plot_vf()
+ self.plot_af()
+ self.plot_wf()
+ if self.update_cnt % self.print_every == 0:
+ self.show_stats()
+ self.clear()
+ self.update_cnt += 1
+
+ def show_stats(self):
+ et = time() - self.last_time
+ self.last_time = time()
+
+ r_f = np.linalg.norm(self.stats['r_f'],axis=1)
+ v_f = np.linalg.norm(self.stats['v_f'],axis=1)
+
+ f = '{:6.2f}'
+ print('Update Cnt = %d ET = %8.1f Stats: Mean, Std, Min, Max' % (self.update_cnt,et))
+ for k in self.keys:
+ f = self.formats[k]
+ v = self.stats[k]
+ if k == 'thrust' or k=='tracking_error' or k=='norm_thrust' or k=='attitude' or k=='w':
+ v = np.concatenate(v)
+ v = np.asarray(v)
+ if len(v.shape) == 1 :
+ v = np.expand_dims(v,axis=1)
+ s = '%-8s' % (k)
+ #print('foo: ',k,v)
+ s += envu.print_vector(' |',np.mean(v,axis=0),f)
+ s += envu.print_vector(' |',np.std(v,axis=0),f)
+ s += envu.print_vector(' |',np.min(v,axis=0),f)
+ s += envu.print_vector(' |',np.max(v,axis=0),f)
+ print(s)
+
+ #print('R_F, Mean, SD, Min, Max: ',np.mean(r_f), np.std(r_f))
+ #print('V_F, Mean, SD, Min, Max: ',np.mean(v_f), np.mean(v_f))
+
+
+ def plot_rewards(self):
+ self.fig2.clear()
+ plt.figure(self.fig2.number)
+ self.fig2.set_size_inches(8, 3, forward=True)
+ ep = self.history['Episode']
+ ax = plt.gca()
+ ax2 = ax.twinx()
+
+ lns1=ax.plot(ep,self.history['MeanReward'],'r',label='Mean R')
+ lns2=ax.plot(ep,np.asarray(self.history['MeanReward'])-np.asarray(self.history['StdReward']),'b',label='SD R')
+ lns3=ax.plot(ep,self.history['MinReward'],'g',label='Min R')
+ lns4=ax2.plot(ep,self.history['MaxSteps'],'c',linestyle=':',label='Max Steps')
+ lns5=ax2.plot(ep,self.history['MeanSteps'],'m',linestyle=':',label='Mean Steps')
+
+ lns = lns1+lns2+lns3+lns4+lns5
+ labs = [l.get_label() for l in lns]
+ ax.set_xlabel("Episode")
+
+ ax.legend(lns, labs, bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
+ ncol=5, mode="expand", borderaxespad=0.)
+ ax.grid(True)
+ ax = plt.gca()
+ plt.tight_layout()
+ plt.gcf().subplots_adjust(top=0.85)
+ self.fig2.canvas.draw()
+
+ def plot_learning(self):
+ self.fig3.clear()
+ plt.figure(self.fig3.number)
+ self.fig3.set_size_inches(8, 3, forward=True)
+ ep = self.history['Episode']
+ ax = plt.gca()
+ ax2 = ax.twinx()
+ lns1=ax.plot(ep,self.history['PolicyEntropy'],'r',label='Entropy')
+ lns2=ax2.plot(ep,self.history['KL'],'b',label='KL Divergence')
+ lns3=ax.plot(ep,self.history['ExplainedVarNew'],'g',label='Explained Variance')
+ lns4=ax.plot(ep,self.history['Beta'],'k',label='Beta')
+ foo = 10*np.asarray(self.history['Variance'])
+ lns5=ax.plot(ep,foo,'m',label='10X Variance')
+
+
+ lns = lns1+lns2+lns3+lns4+lns5
+ labs = [l.get_label() for l in lns]
+ ax.set_xlabel("Update")
+ ax.legend(lns, labs, bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
+ ncol=5, mode="expand", borderaxespad=0.)
+ ax.grid(True)
+ plt.tight_layout()
+ plt.gcf().subplots_adjust(top=0.85)
+ self.fig3.canvas.draw()
+
+ def plot_rf(self):
+ self.fig4.clear()
+ plt.figure(self.fig4.number)
+ self.fig4.set_size_inches(8, 3, forward=True)
+ ep = self.history['Episode']
+
+ plt.plot(ep,self.history['Norm_rf'],'r',label='Norm_rf')
+ plt.plot(ep,self.history['SD_rf'], 'b',linestyle=':',label='SD_rf')
+ plt.plot(ep,self.history['Max_rf'], 'g',linestyle=':',label='Max_rf')
+
+ plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
+ ncol=5, mode="expand", borderaxespad=0.)
+ ax = plt.gca()
+ ax.set_xlabel("Episode")
+ plt.grid(True)
+ plt.tight_layout()
+ plt.gcf().subplots_adjust(top=0.85)
+ self.fig4.canvas.draw()
+
+ def plot_vf(self):
+ self.fig5.clear()
+ plt.figure(self.fig5.number)
+ self.fig5.set_size_inches(8, 3, forward=True)
+ ep = self.history['Episode']
+
+ plt.plot(ep,self.history['Norm_vf'],'r',label='Norm_vf')
+ plt.plot(ep,self.history['SD_vf'], 'b',linestyle=':',label='SD_vf')
+ plt.plot(ep,self.history['Max_vf'], 'g',linestyle=':',label='Max_vf')
+
+ plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
+ ncol=5, mode="expand", borderaxespad=0.)
+ ax = plt.gca()
+ ax.set_xlabel("Episode")
+ plt.grid(True)
+ plt.tight_layout()
+ plt.gcf().subplots_adjust(top=0.85)
+ self.fig5.canvas.draw()
+
+ def plot_af(self):
+ self.fig6.clear()
+ plt.figure(self.fig6.number)
+ self.fig6.set_size_inches(8, 3, forward=True)
+ ep = self.history['Episode']
+
+ plt.plot(ep,self.history['Norm_af'],'r',label='Norm_af')
+ plt.plot(ep,self.history['SD_af'], 'b',linestyle=':',label='SD_af')
+ plt.plot(ep,self.history['Max_af'], 'g',linestyle=':',label='Max_af')
+
+ plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
+ ncol=5, mode="expand", borderaxespad=0.)
+ ax = plt.gca()
+ ax.set_xlabel("Episode")
+ plt.grid(True)
+ plt.tight_layout()
+ plt.gcf().subplots_adjust(top=0.85)
+ self.fig6.canvas.draw()
+
+ def plot_wf(self):
+ self.fig7.clear()
+ plt.figure(self.fig7.number)
+ self.fig7.set_size_inches(8, 3, forward=True)
+ ep = self.history['Episode']
+
+ plt.plot(ep,self.history['Norm_wf'],'r',label='Norm_wf')
+ plt.plot(ep,self.history['SD_wf'], 'b',linestyle=':',label='SD_wf')
+ plt.plot(ep,self.history['Max_wf'], 'g',linestyle=':',label='Max_wf')
+
+ plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
+ ncol=5, mode="expand", borderaxespad=0.)
+ ax = plt.gca()
+ ax.set_xlabel("Episode")
+ plt.grid(True)
+ plt.tight_layout()
+ plt.gcf().subplots_adjust(top=0.85)
+ self.fig7.canvas.draw()
+
diff --git a/AAS-18-290_6DOF_journal/env_utils.py b/AAS-18-290_6DOF_journal/env_utils.py
new file mode 100644
index 0000000..debd595
--- /dev/null
+++ b/AAS-18-290_6DOF_journal/env_utils.py
@@ -0,0 +1,246 @@
+import numpy as np
+import matplotlib as mpl
+import matplotlib.pyplot as plt
+import matplotlib.gridspec as gridspec
+
+def limit_thrust(thrust_cmd, min_thrust, max_thrust):
+ eps = 1e-8
+ thrust_mag = np.linalg.norm(thrust_cmd)
+ thrust_dvec = thrust_cmd / (thrust_mag + eps)
+ thrust_mag = np.clip(thrust_mag, min_thrust, max_thrust)
+ thrust = thrust_mag * thrust_dvec
+ return thrust
+
+def scale_thrust(thrust_cmd, min_thrust, max_thrust):
+ thrust_mag = np.linalg.norm(thrust_cmd)
+ thrust_dvec = thrust_cmd / thrust_mag
+ thrust_mag = thrust_mag * max_thrust
+ thrust = thrust_mag * thrust_dvec
+ return thrust
+
+def reverse_thrust(thrust_cmd, min_thrust, max_thrust):
+ thrust_mag = np.linalg.norm(thrust_cmd)
+ thrust_dvec = thrust_cmd / thrust_mag
+ thrust_mag = thrust_mag / max_thrust
+ thrust = thrust_mag * thrust_dvec
+ return thrust
+
+
+def get_vc(r_tm, v_tm):
+ vc = -r_tm.dot(v_tm)/np.linalg.norm(r_tm)
+ return vc
+
+def get_dlos(r_tm, v_tm ):
+ vc = get_vc(r_tm, v_tm)
+ #dlos = r_tm * vc / np.linalg.norm(r_tm) ** 2
+ r = np.linalg.norm(r_tm)
+ if vc > 0.01:
+ dlos = v_tm / r + r_tm * vc / r**2
+ else:
+ dlos = np.zeros(3)
+ return dlos
+
+def get_tgo( rg, vg, g):
+ gamma = 0.0
+ p = [gamma + np.linalg.norm(g)**2/2 , 0., -2. * np.dot(vg,vg) , -12. * np.dot(vg,rg) , -18. * np.dot(rg , rg)]
+ #print(rg, vg, p)
+ p_roots = np.roots(p)
+ for i in range(len(p_roots)):
+ if np.abs(np.imag(p_roots[i])) < 0.0001:
+ if p_roots[i] > 0:
+ t_go = np.real(p_roots[i])
+ #print(t_go)
+ if t_go < 0.:
+ t_go = 0.
+
+ return t_go
+
+def print_vector(s,v,f):
+ v = 1.0 * v
+ if isinstance(v,float):
+ v = [v]
+ s1 = ''.join(f.format(v) for k,v in enumerate(v))
+ s1 = s + s1
+ return s1
+
+
+def rk4(t, x, xdot, h ):
+
+ """
+ t : time
+ x : initial state
+ xdot: a function xdot=f(t,x, ...)
+ h : step size
+
+ """
+
+ k1 = h * xdot(t,x)
+ k2 = h * xdot(t+h/2 , x + k1/2)
+ k3 = h * xdot(t+h/2, x + k2/2)
+ k4 = h * xdot(t+h , x + k3)
+
+ x = x + (k1 + 2*k2 + 2*k3 + k4) / 6
+
+ return x
+
+def get_zem_old(r_tm, v_tm):
+ vc = get_vc(r_tm, v_tm)
+ range = np.linalg.norm(r_tm)
+ if vc > 0.1:
+ t_go = get_tgo(r_tm, v_tm, 4.0)
+ zem = t_go * v_tm + r_tm
+ zem = r_tm - t_go * v_tm
+ #print('zem: ',zem, r_tm, t_go, v_tm)
+ else:
+ zem = np.zeros(3)
+ #zem = np.clip(zem,-2000,2000)
+ return zem
+
+def get_zem(r_tm, v_tm):
+ vc = get_vc(r_tm, v_tm)
+ range = np.linalg.norm(r_tm)
+ if True: #vc > 0.1:
+ t_go = get_tgo(r_tm, v_tm, 4.0)
+ zem = t_go * v_tm + r_tm
+ zem = r_tm - t_go * v_tm
+ #print('zem: ',zem, r_tm, t_go, v_tm)
+ else:
+ zem = np.zeros(3)
+ #zem = np.clip(zem,-2000,2000)
+ return zem
+
+def render_traj(traj, vf=None, scaler=None):
+
+ fig1 = plt.figure(1,figsize=plt.figaspect(0.5))
+ fig1.clear()
+ plt.figure(fig1.number)
+ fig1.set_size_inches(8, 8, forward=True)
+ gridspec.GridSpec(4,2)
+ t = np.asarray(traj['t'])
+ pos = np.asarray(traj['position'])
+ vel = np.asarray(traj['velocity'])
+ norm_pos = np.linalg.norm(pos,axis=1)
+ norm_vel = np.linalg.norm(vel,axis=1)
+
+ x = pos[:,0]
+ y = pos[:,1]
+ z = pos[:,2]
+ plt.subplot2grid( (4,2) , (0,0) )
+ plt.plot(t,x,'r',label='X')
+ plt.plot(t,y,'b',label='Y')
+ plt.plot(t,z,'g',label='Z')
+ plt.plot(t,norm_pos,'k',label='N')
+ plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
+ ncol=5, mode="expand", borderaxespad=0.)
+ plt.gca().set_ylabel('Position (m)')
+ plt.gca().set_xlabel("Time (s)")
+ plt.grid(True)
+
+ vc = np.asarray(traj['vc'])
+ t1 = t[0:-1]
+ plt.subplot2grid( (4,2) , (0,1) )
+ colors = ['r']
+ #print('debug: ',attitude.shape[1],len(colors))
+ plt.plot(t,vc,colors[0],label='vc' )
+ plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
+ ncol=5, mode="expand", borderaxespad=0.)
+ plt.gca().set_ylabel('Closing V (m/s)')
+ plt.gca().set_xlabel("Time (s)")
+ plt.grid(True)
+
+ zem = np.asarray(traj['zem'])
+ x = pos[:,0]
+ y = pos[:,1]
+ z = pos[:,2]
+ xy = np.sqrt(y**2 + x**2)
+ #xy = xy[::-1]
+ plt.subplot2grid( (4,2) , (1,0) )
+ if vf is not None and scaler is not None:
+ state = np.hstack((pos,vel))
+ values = vf.predict(scaler.apply(state))
+ plt.plot(t,values,'r',label='V')
+ else:
+ plt.plot(xy,z,'r',label='altitude')
+
+ plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
+ ncol=5, mode="expand", borderaxespad=0.)
+ plt.gca().set_xlabel("norm crossrange and downrange (m)")
+ plt.gca().set_ylabel('altitude (m)')
+ plt.xlim(1500,0)
+ plt.ylim(0,2000)
+ plt.grid(True)
+
+ r = np.asarray(traj['reward'])
+ cr = np.cumsum(r)
+ plt.subplot2grid( (4,2) , (1,1) )
+ #print(r.shape, t1.shape)
+ t1 = t[0:r.shape[0]]
+ plt.plot(t1,r,'b',label='Reward')
+ plt.plot(t1,cr,'g',label='Cum Reward')
+ plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
+ ncol=5, mode="expand", borderaxespad=0.)
+ plt.gca().set_xlabel("Time")
+ plt.gca().set_ylabel('Reward')
+ plt.grid(True)
+
+ x = vel[:,0]
+ y = vel[:,1]
+ z = vel[:,2]
+
+ plt.subplot2grid( (4,2) , (2,0))
+ plt.plot(t,x,'r',label='X')
+ plt.plot(t,y,'b',label='Y')
+ plt.plot(t,z,'g',label='Z')
+ plt.plot(t,norm_vel,'k',label='N')
+ plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
+ ncol=5, mode="expand", borderaxespad=0.)
+ plt.gca().set_ylabel('Velocity (m/s)')
+ plt.gca().set_xlabel("Time (s)")
+ plt.grid(True)
+
+
+ thrust = np.asarray(traj['thrust'])
+ x = thrust[:,0]
+ y = thrust[:,1]
+ z = thrust[:,2]
+ plt.subplot2grid( (4,2) , (2,1) )
+ plt.plot(t,x,'r',label='X')
+ plt.plot(t,y,'b',label='Y')
+ plt.plot(t,z,'g',label='Z')
+
+ plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
+ ncol=5, mode="expand", borderaxespad=0.)
+ plt.gca().set_ylabel('Thrust (N)')
+ plt.gca().set_xlabel("Time (s)")
+ plt.grid(True)
+
+ attitude = np.asarray(traj['attitude_321'])
+ plt.subplot2grid( (4,2) , (3,0) )
+ colors = ['r','b','k','g']
+ #print('debug: ',attitude.shape[1],len(colors))
+ for i in range(attitude.shape[1]):
+ plt.plot(t,attitude[:,i],colors[i],label='q' + '%d' % (i))
+ plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
+ ncol=5, mode="expand", borderaxespad=0.)
+ plt.gca().set_ylabel('Attitude (rad)')
+ plt.gca().set_xlabel("Time (s)")
+ plt.grid(True)
+
+ w = np.asarray(traj['w'])
+ x = w[:,0]
+ y = w[:,1]
+ z = w[:,2]
+ plt.subplot2grid( (4,2) , (3,1) )
+ plt.plot(t,x,'r',label='X')
+ plt.plot(t,y,'b',label='Y')
+ plt.plot(t,z,'k',label='Z')
+ plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
+ ncol=5, mode="expand", borderaxespad=0.)
+ plt.gca().set_xlabel("Time (s)")
+ plt.gca().set_ylabel('Rot. Velocity (rad/s)')
+ plt.grid(True)
+
+
+ plt.tight_layout(h_pad=3.0)
+ fig1.canvas.draw()
+
diff --git a/AAS-18-290_6DOF_journal/env_utils2.py b/AAS-18-290_6DOF_journal/env_utils2.py
new file mode 100644
index 0000000..d4fbd32
--- /dev/null
+++ b/AAS-18-290_6DOF_journal/env_utils2.py
@@ -0,0 +1,246 @@
+import numpy as np
+import matplotlib as mpl
+import matplotlib.pyplot as plt
+import matplotlib.gridspec as gridspec
+
+def limit_thrust(thrust_cmd, min_thrust, max_thrust):
+ eps = 1e-8
+ thrust_mag = np.linalg.norm(thrust_cmd)
+ thrust_dvec = thrust_cmd / (thrust_mag + eps)
+ thrust_mag = np.clip(thrust_mag, min_thrust, max_thrust)
+ thrust = thrust_mag * thrust_dvec
+ return thrust
+
+def scale_thrust(thrust_cmd, min_thrust, max_thrust):
+ thrust_mag = np.linalg.norm(thrust_cmd)
+ thrust_dvec = thrust_cmd / thrust_mag
+ thrust_mag = thrust_mag * max_thrust
+ thrust = thrust_mag * thrust_dvec
+ return thrust
+
+def reverse_thrust(thrust_cmd, min_thrust, max_thrust):
+ thrust_mag = np.linalg.norm(thrust_cmd)
+ thrust_dvec = thrust_cmd / thrust_mag
+ thrust_mag = thrust_mag / max_thrust
+ thrust = thrust_mag * thrust_dvec
+ return thrust
+
+
+def get_vc(r_tm, v_tm):
+ vc = -r_tm.dot(v_tm)/np.linalg.norm(r_tm)
+ return vc
+
+def get_dlos(r_tm, v_tm ):
+ vc = get_vc(r_tm, v_tm)
+ #dlos = r_tm * vc / np.linalg.norm(r_tm) ** 2
+ r = np.linalg.norm(r_tm)
+ if vc > 0.01:
+ dlos = v_tm / r + r_tm * vc / r**2
+ else:
+ dlos = np.zeros(3)
+ return dlos
+
+def get_tgo( rg, vg, g):
+ gamma = 0.0
+ p = [gamma + np.linalg.norm(g)**2/2 , 0., -2. * np.dot(vg,vg) , -12. * np.dot(vg,rg) , -18. * np.dot(rg , rg)]
+ #print(rg, vg, p)
+ p_roots = np.roots(p)
+ for i in range(len(p_roots)):
+ if np.abs(np.imag(p_roots[i])) < 0.0001:
+ if p_roots[i] > 0:
+ t_go = np.real(p_roots[i])
+ #print(t_go)
+ if t_go < 0.:
+ t_go = 0.
+
+ return t_go
+
+def print_vector(s,v,f):
+ v = 1.0 * v
+ if isinstance(v,float):
+ v = [v]
+ s1 = ''.join(f.format(v) for k,v in enumerate(v))
+ s1 = s + s1
+ return s1
+
+
+def rk4(t, x, xdot, h ):
+
+ """
+ t : time
+ x : initial state
+ xdot: a function xdot=f(t,x, ...)
+ h : step size
+
+ """
+
+ k1 = h * xdot(t,x)
+ k2 = h * xdot(t+h/2 , x + k1/2)
+ k3 = h * xdot(t+h/2, x + k2/2)
+ k4 = h * xdot(t+h , x + k3)
+
+ x = x + (k1 + 2*k2 + 2*k3 + k4) / 6
+
+ return x
+
+def get_zem_old(r_tm, v_tm):
+ vc = get_vc(r_tm, v_tm)
+ range = np.linalg.norm(r_tm)
+ if vc > 0.1:
+ t_go = get_tgo(r_tm, v_tm, 4.0)
+ zem = t_go * v_tm + r_tm
+ zem = r_tm - t_go * v_tm
+ #print('zem: ',zem, r_tm, t_go, v_tm)
+ else:
+ zem = np.zeros(3)
+ #zem = np.clip(zem,-2000,2000)
+ return zem
+
+def get_zem(r_tm, v_tm):
+ vc = get_vc(r_tm, v_tm)
+ range = np.linalg.norm(r_tm)
+ if True: #vc > 0.1:
+ t_go = get_tgo(r_tm, v_tm, 4.0)
+ zem = t_go * v_tm + r_tm
+ zem = r_tm - t_go * v_tm
+ #print('zem: ',zem, r_tm, t_go, v_tm)
+ else:
+ zem = np.zeros(3)
+ #zem = np.clip(zem,-2000,2000)
+ return zem
+
+def render_traj(traj, vf=None, scaler=None):
+
+ fig1 = plt.figure(1,figsize=plt.figaspect(0.5))
+ fig1.clear()
+ plt.figure(fig1.number)
+ fig1.set_size_inches(8, 8, forward=True)
+ gridspec.GridSpec(4,2)
+ t = np.asarray(traj['t'])
+ pos = np.asarray(traj['position'])
+ vel = np.asarray(traj['velocity'])
+ norm_pos = np.linalg.norm(pos,axis=1)
+ norm_vel = np.linalg.norm(vel,axis=1)
+
+ x = pos[:,0]
+ y = pos[:,1]
+ z = pos[:,2]
+ plt.subplot2grid( (4,2) , (0,0) )
+ plt.plot(t,x,'r',label='X')
+ plt.plot(t,y,'b',label='Y')
+ plt.plot(t,z,'g',label='Z')
+ plt.plot(t,norm_pos,'k',label='N')
+ plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
+ ncol=5, mode="expand", borderaxespad=0.)
+ plt.gca().set_ylabel('Position (m)')
+ plt.gca().set_xlabel("Time (s)")
+ plt.grid(True)
+
+ vc = np.asarray(traj['vc'])
+ t1 = t[0:-1]
+ plt.subplot2grid( (4,2) , (0,1) )
+ colors = ['r']
+ #print('debug: ',attitude.shape[1],len(colors))
+ plt.plot(t,vc,colors[0],label='vc' )
+ plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
+ ncol=5, mode="expand", borderaxespad=0.)
+ plt.gca().set_ylabel('Closing V (m/s)')
+ plt.gca().set_xlabel("Time (s)")
+ plt.grid(True)
+
+ zem = np.asarray(traj['zem'])
+ x = pos[:,0]
+ y = pos[:,1]
+ z = pos[:,2]
+ xy = np.sqrt(y**2 + x**2)
+ #xy = xy[::-1]
+ plt.subplot2grid( (4,2) , (1,0) )
+ if vf is not None and scaler is not None:
+ state = np.hstack((pos,vel))
+ values = vf.predict(scaler.apply(state))
+ plt.plot(t,values,'r',label='V')
+ else:
+ plt.plot(xy,z,'r',label='altitude')
+
+ plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
+ ncol=5, mode="expand", borderaxespad=0.)
+ plt.gca().set_xlabel("norm crossrange and downrange (m)")
+ plt.gca().set_ylabel('altitude (m)')
+ plt.xlim(100,0)
+ plt.ylim(0,100)
+ plt.grid(True)
+
+ r = np.asarray(traj['reward'])
+ cr = np.cumsum(r)
+ plt.subplot2grid( (4,2) , (1,1) )
+ #print(r.shape, t1.shape)
+ t1 = t[0:r.shape[0]]
+ plt.plot(t1,r,'b',label='Reward')
+ plt.plot(t1,cr,'g',label='Cum Reward')
+ plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
+ ncol=5, mode="expand", borderaxespad=0.)
+ plt.gca().set_xlabel("Time")
+ plt.gca().set_ylabel('Reward')
+ plt.grid(True)
+
+ x = vel[:,0]
+ y = vel[:,1]
+ z = vel[:,2]
+
+ plt.subplot2grid( (4,2) , (2,0))
+ plt.plot(t,x,'r',label='X')
+ plt.plot(t,y,'b',label='Y')
+ plt.plot(t,z,'g',label='Z')
+ plt.plot(t,norm_vel,'k',label='N')
+ plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
+ ncol=5, mode="expand", borderaxespad=0.)
+ plt.gca().set_ylabel('Velocity (m/s)')
+ plt.gca().set_xlabel("Time (s)")
+ plt.grid(True)
+
+
+ thrust = np.asarray(traj['thrust'])
+ x = thrust[:,0]
+ y = thrust[:,1]
+ z = thrust[:,2]
+ plt.subplot2grid( (4,2) , (2,1) )
+ plt.plot(t,x,'r',label='X')
+ plt.plot(t,y,'b',label='Y')
+ plt.plot(t,z,'g',label='Z')
+
+ plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
+ ncol=5, mode="expand", borderaxespad=0.)
+ plt.gca().set_ylabel('Thrust (N)')
+ plt.gca().set_xlabel("Time (s)")
+ plt.grid(True)
+
+ attitude = np.asarray(traj['attitude_321'])
+ plt.subplot2grid( (4,2) , (3,0) )
+ colors = ['r','b','k','g']
+ #print('debug: ',attitude.shape[1],len(colors))
+ for i in range(attitude.shape[1]):
+ plt.plot(t,attitude[:,i],colors[i],label='q' + '%d' % (i))
+ plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
+ ncol=5, mode="expand", borderaxespad=0.)
+ plt.gca().set_ylabel('Attitude (rad)')
+ plt.gca().set_xlabel("Time (s)")
+ plt.grid(True)
+
+ w = np.asarray(traj['w'])
+ x = w[:,0]
+ y = w[:,1]
+ z = w[:,2]
+ plt.subplot2grid( (4,2) , (3,1) )
+ plt.plot(t,x,'r',label='X')
+ plt.plot(t,y,'b',label='Y')
+ plt.plot(t,z,'k',label='Z')
+ plt.legend(bbox_to_anchor=(0., 1.02, 1., .102), loc=3,
+ ncol=5, mode="expand", borderaxespad=0.)
+ plt.gca().set_xlabel("Time (s)")
+ plt.gca().set_ylabel('Rot. Velocity (rad/s)')
+ plt.grid(True)
+
+
+ plt.tight_layout(h_pad=3.0)
+ fig1.canvas.draw()
+
diff --git a/AAS-18-290_6DOF_journal/flat_constraint.py b/AAS-18-290_6DOF_journal/flat_constraint.py
new file mode 100644
index 0000000..367ac2c
--- /dev/null
+++ b/AAS-18-290_6DOF_journal/flat_constraint.py
@@ -0,0 +1,20 @@
+import numpy as np
+
+class Flat_constraint(object):
+
+ def __init__(self, terminate_on_violation=True):
+ self.terminate_on_violation = terminate_on_violation
+ print('Flat Constraint')
+
+ def get_margin(self,state,debug=False):
+ return 100.0
+
+ def get_reward(self,state):
+ return 0.0, 100.0
+
+ def get_term_reward(self,state):
+ return 0.0
+
+ def get_apf(self,pos,vel):
+ return np.zeros(3)
+
diff --git a/AAS-18-290_6DOF_journal/glideslope_constraint.py b/AAS-18-290_6DOF_journal/glideslope_constraint.py
new file mode 100644
index 0000000..6c6395e
--- /dev/null
+++ b/AAS-18-290_6DOF_journal/glideslope_constraint.py
@@ -0,0 +1,76 @@
+import numpy as np
+
+class Glideslope_constraint(object):
+ def __init__(self, delta=2, debug=False, gs_coeff=-1.0, gs_margin=0.1, gs_limit= 0.1, gs_tau=0.05, gs_penalty=-50.0, terminate_on_violation=True):
+ self.delta = delta
+ self.debug = debug
+
+ self.gs_coeff = gs_coeff
+ self.gs_margin = gs_margin
+ self.gs_limit = gs_limit
+ self.gs_tau = gs_tau
+ self.gs_penalty = gs_penalty
+
+ self.terminate_on_violation = terminate_on_violation
+
+ self.gs = None
+
+ print('queue fixed')
+
+ def reset(self, state):
+ pos = state['position']
+ self.positions = []
+ self.positions.append(pos.copy())
+ self.gs = 100.
+
+ def calculate(self, state):
+ pos = state['position']
+ self.positions.append(pos.copy())
+ z = pos[2]
+ pos_array = np.asarray(self.positions)
+ z_array = pos_array[:,2]
+ indices = np.where( np.abs(z_array - z) > self.delta)[0]
+ if indices.shape[0] > 0:
+ idx = indices[-1]
+ last_position = pos_array[idx]
+ dz = last_position[2] - pos[2]
+ dy = last_position[1] - pos[1]
+ dx = last_position[0] - pos[0]
+ assert np.abs(dz) >= self.delta
+ gs = np.abs(dz) / np.sqrt(dx**2 + dy**2)
+ if self.debug:
+ print('GS: ',gs, dx,dy,dz)
+ self.gs = gs
+ else:
+ gs = 100.
+ self.gs = gs
+ return gs
+
+ def get_reward(self):
+ r_gs = 0.0
+ gs_err = np.maximum(0.0, self.gs - self.gs_limit)
+ if self.gs < self.gs_limit + self.gs_margin:
+ r_gs = self.gs_coeff * np.exp(-gs_err / self.gs_tau)
+ return r_gs
+
+ def get_term_reward(self):
+ r_gs = 0.0
+ if self.gs - self.gs_limit < 0:
+ r_gs = self.gs_penalty
+ return r_gs
+
+ def get_margin(self):
+ return self.gs - self.gs_limit
+
+ def get(self):
+ return self.gs
+
+#
+#delta = 3
+#for z in za:
+# idx = np.where(za - z > delta)[0]
+# if idx.shape[0] > 0:
+# foo = idx[-1]
+# print(z,foo,za[foo],za[foo]-z)
+#
+
diff --git a/AAS-18-290_6DOF_journal/ic_gen.py b/AAS-18-290_6DOF_journal/ic_gen.py
new file mode 100644
index 0000000..6745cad
--- /dev/null
+++ b/AAS-18-290_6DOF_journal/ic_gen.py
@@ -0,0 +1,116 @@
+import numpy as np
+import attitude_utils as attu
+
+class Landing_icgen(object):
+
+ def __init__(self, attitude_parameterization=None,
+ downrange = (500,1500 , -70, -10), crossrange = (-500,500 , -30,30), altitude = (1900,2100,-90,-70) ,
+ yaw = (0.0, 0.0, 0.0, 0.0) ,
+ pitch = (np.pi/4, np.pi/4, 0.0, 0.0),
+ roll = (0.0, 0.0, 0.0, 0.0),
+ scale=None, debug=False, adapt_apf_v0=True,
+ noise_u=np.zeros(3), noise_sd=np.zeros(3), mass_uncertainty=0.0, g_uncertainty=(0.0, 0.0), l_offset=0.0,
+ inertia_uncertainty_diag=0.0, inertia_uncertainty_offdiag=0.0):
+ self.downrange = downrange
+ self.crossrange = crossrange
+ self.altitude = altitude
+ self.attitude_parameterization=attitude_parameterization
+ self.yaw = yaw
+ self.pitch = pitch
+ self.roll = roll
+
+ self.noise_u = noise_u
+ self.noise_sd = noise_sd
+ self.mass_uncertainty = mass_uncertainty
+ self.g_uncertainty = g_uncertainty
+ self.l_offset = l_offset
+ self.nominal_g = -3.7114
+
+ self.inertia_uncertainty_diag = inertia_uncertainty_diag
+ self.inertia_uncertainty_offdiag = inertia_uncertainty_offdiag
+
+ self.debug = debug
+ self.adapt_apf_v0 = adapt_apf_v0
+
+ assert downrange[0] <= downrange[1]
+ assert downrange[2] <= downrange[3]
+ assert crossrange[0] <= crossrange[1]
+ assert crossrange[2] <= crossrange[3]
+ assert altitude[0] <= altitude[1]
+ assert altitude[2] <= altitude[3]
+
+ if scale is not None:
+ self.downrange = tuple([x / scale for x in downrange])
+ self.crossrange = tuple([x / scale for x in crossrange])
+ self.altitude = tuple([x / scale for x in altitude])
+
+
+ def show(self):
+ print('Landing_icgen:')
+ print(' downrange : ',self.downrange)
+ print(' crossrange : ',self.crossrange)
+ print(' altitude : ',self.altitude)
+
+ def set_ic(self , lander, dynamics):
+
+ dynamics.noise_u = np.random.uniform(low=-self.noise_u, high=self.noise_u,size=3)
+ dynamics.noise_sd = self.noise_sd
+
+ dynamics.g[2] = np.random.uniform(low=self.nominal_g * (1 - self.g_uncertainty[0]),
+ high=self.nominal_g * (1 + self.g_uncertainty[0]))
+
+ dynamics.g[0:2] = np.random.uniform(low=-self.nominal_g * self.g_uncertainty[1],
+ high=self.nominal_g * self.g_uncertainty[1],
+ size=2)
+
+ dynamics.l_offset = np.random.uniform(low=-self.l_offset,
+ high=self.l_offset,
+ size=3)
+
+ lander.init_mass = np.random.uniform(low=lander.nominal_mass * (1 - self.mass_uncertainty),
+ high=lander.nominal_mass * (1 + self.mass_uncertainty))
+
+ r_downrange = np.random.uniform(low=self.downrange[0], high=self.downrange[1])
+ r_crossrange = np.random.uniform(low=self.crossrange[0], high=self.crossrange[1])
+ r_altitude = np.random.uniform(low=self.altitude[0], high=self.altitude[1])
+
+ a_yaw = np.random.uniform(low=self.yaw[0], high=self.yaw[1])
+ a_pitch = np.random.uniform(low=self.pitch[0], high=self.pitch[1])
+ a_roll = np.random.uniform(low=self.roll[0], high=self.roll[1])
+
+ v_downrange = np.random.uniform(low=self.downrange[2], high=self.downrange[3])
+ v_crossrange = np.random.uniform(low=self.crossrange[2], high=self.crossrange[3])
+ v_altitude = np.random.uniform(low=self.altitude[2], high=self.altitude[3])
+
+ w_yaw = np.random.uniform(low=self.yaw[2], high=self.yaw[3])
+ w_pitch = np.random.uniform(low=self.pitch[2], high=self.pitch[3])
+ w_roll = np.random.uniform(low=self.roll[2], high=self.roll[3])
+
+ lander.state['position'] = np.asarray([r_downrange,r_crossrange,r_altitude])
+ lander.state['velocity'] = np.asarray([v_downrange,v_crossrange,v_altitude])
+
+ lander.state['attitude'] = self.attitude_parameterization.euler3212q(np.asarray([a_yaw, a_pitch, a_roll]))
+ lander.state['attitude_321'] = np.asarray([a_yaw, a_pitch, a_roll])
+
+ lander.state['w'] = np.asarray([w_yaw, w_pitch, w_roll])
+
+ lander.state['thrust'] = np.ones(3)*lander.min_thrust
+ lander.state['mass'] = lander.init_mass
+
+ it_noise1 = np.random.uniform(low=-self.inertia_uncertainty_offdiag,
+ high=self.inertia_uncertainty_offdiag,
+ size=(3,3))
+ np.fill_diagonal(it_noise1,0.0)
+ it_noise1 = (it_noise1 + it_noise1.T)/2
+ it_noise2 = np.diag(np.random.uniform(low=-self.inertia_uncertainty_diag,
+ high=self.inertia_uncertainty_diag,
+ size=3))
+ lander.inertia_tensor = lander.nominal_inertia_tensor + it_noise1 + it_noise2
+ if self.adapt_apf_v0:
+ lander.apf_v0 = np.linalg.norm(lander.state['velocity'])
+
+ lander.apf_state = False
+
+ if self.debug:
+ print(dynamics.g, lander.state['mass'])
+ print(lander.inertia_tensor)
diff --git a/AAS-18-290_6DOF_journal/lander_model.py b/AAS-18-290_6DOF_journal/lander_model.py
new file mode 100644
index 0000000..3080114
--- /dev/null
+++ b/AAS-18-290_6DOF_journal/lander_model.py
@@ -0,0 +1,550 @@
+import numpy as np
+import env_utils as envu
+import attitude_utils as attu
+
+class Lander_model(object):
+
+ def __init__(self, thruster_model, use_trajectory_list=False, attitude_parameterization=None, divert = (0.0, 0.0, 0.0),
+ apf_v0=70, apf_tau1=20, apf_tau2=250, gain=1.5, apf_vf1=-2.0, apf_vf2=-1.0, apf_atarg=5.0, apf_tau_xy=30):
+ self.traj = {}
+ self.state_keys = ['position','velocity','thrust','bf_thrust', 'torque', 'attitude', 'attitude_321', 'w', 'mass', 't_go']
+ self.trajectory_list = []
+ self.trajectory = {}
+ self.max_thrust = 15000
+ self.min_thrust = 2000
+ self.init_mass = 2000.
+ self.nominal_mass = self.init_mass
+ self.attitude_parameterization = attitude_parameterization
+ self.thruster_model = thruster_model
+ m = self.init_mass
+ a = 2
+ b = 2
+ c = 1
+ self.inertia_tensor = np.diag([1/5*m*(b**2+c**2) , 1/5*m*(a**2+c**2), 1/5*m*(a**2+b**2)])
+ print('Inertia Tensor: ',self.inertia_tensor)
+ self.nominal_inertia_tensor = self.inertia_tensor.copy()
+
+ self.divert = divert
+ self.use_trajectory_list = use_trajectory_list
+
+ self.apf_v0 = apf_v0
+ self.apf_vf1 = np.zeros(3)
+ self.apf_vf1[2] = apf_vf1
+ self.apf_vf2 = np.zeros(3)
+ self.apf_vf2[2] = apf_vf2
+ self.apf_tau1 = apf_tau1
+ self.apf_tau2 = apf_tau2
+ self.apf_atarg = apf_atarg
+ self.apf_tau_xy = apf_tau_xy
+
+ assert self.apf_vf1.shape[0] == 3
+ assert self.apf_vf2.shape[0] == 3
+
+ self.track_func = self.track_func1
+ self.apf_pot = self.apf_pot2
+ self.get_state_agent = self.get_state_agent_tgo_alt
+
+ self.apf_state = False
+ self.trajectory = {}
+ self.state = {}
+ self.prev_state = {}
+ print('Lander Model: ')
+ print(' - apf_v0: ', self.apf_v0)
+ print(' - apf_vf1: ', self.apf_vf1)
+ print(' - apf_vf2: ', self.apf_vf2)
+ print(' - apf_atarg: ', self.apf_atarg)
+ print(' - apf_tau1: ', self.apf_tau1)
+ print(' - apf_tau2: ', self.apf_tau2)
+
+
+
+ def clear_trajectory(self):
+ for k in self.get_engagement_keys():
+ self.trajectory[k] = []
+
+ def update_trajectory(self, done, t, action):
+
+ es = self.get_landing_state(t)
+ for k,v in es.items():
+ self.trajectory[k].append(v)
+
+ if(done):
+ if self.use_trajectory_list:
+ self.trajectory_list.append(self.trajectory.copy())
+
+
+ def get_state_agent_vonly(self,t):
+ error, t_go = self.track_func(self.state['position'], self.state['velocity'] )
+ state = np.hstack( ( error, self.state['attitude'], self.state['w'] ))
+ return state
+
+ def get_state_agent_tgo(self,t):
+ error, t_go = self.track_func(self.state['position'], self.state['velocity'] )
+ state = np.hstack( ( error, self.state['attitude'], self.state['w'] , t_go))
+ return state
+
+
+ def get_state_agent_xy_alt(self,t):
+ error, t_go = self.track_func(self.state['position'], self.state['velocity'] )
+ state = np.hstack( ( error, self.state['attitude'], self.state['w'], np.linalg.norm(self.state['position'][0:2]), self.state['position'][2] ))
+ return state
+
+ def get_state_agent_alt(self,t):
+ error, t_go = self.track_func(self.state['position'], self.state['velocity'] )
+ state = np.hstack( ( error, self.state['attitude'], self.state['w'] , self.state['position'][2]))
+ return state
+
+ def get_state_agent2(self,t):
+ error, t_go = self.track_func(self.state['position'], self.state['velocity'] )
+ state = np.hstack( ( error, self.state['attitude'], self.state['w'] , self.state['mass'], t_go))
+ return state
+
+ def get_state_agent_tgo_alt(self,t):
+ error, t_go = self.track_func(self.state['position'], self.state['velocity'] )
+ state = np.hstack( ( error, self.state['attitude'], self.state['w'] , t_go, self.state['position'][2]))
+ return state
+
+ def get_state_agent4(self,t):
+ error, t_go = self.track_func(self.state['position'], self.state['velocity'] )
+ state = np.hstack( ( error, self.state['attitude'], self.state['w'] , self.state['position'][2]))
+ return state
+
+
+
+ def get_state_dynamics(self):
+ state = np.hstack((self.state['position'], self.state['velocity'], self.state['w'], self.state['mass'], self.state['attitude']))
+ return state
+
+ def show_cum_stats(self):
+ print('Cumulative Stats (mean,std,max,argmax)')
+ stats = {}
+ argmax_stats = {}
+ keys = ['thrust','glideslope','sc_margin']
+ formats = {'thrust' : '{:6.2f}', 'glideslope' : '{:6.3f}', 'sc_margin' : '{:6.3f}'}
+ for k in keys:
+ stats[k] = []
+ argmax_stats[k] = []
+ for traj in self.trajectory_list:
+ for k in keys:
+ v = traj[k]
+ v = np.asarray(v)
+ if len(v.shape) == 1:
+ v = np.expand_dims(v,axis=1)
+ wc = np.max(np.linalg.norm(v,axis=1))
+ argmax_stats[k].append(wc)
+ stats[k].append(np.linalg.norm(v,axis=1))
+
+ for k in keys:
+ f = formats[k]
+ v = stats[k]
+ v = np.concatenate(v)
+ #v = np.asarray(v)
+ s = '%-8s' % (k)
+ #print('foo: ',k,v,v.shape)
+ s += envu.print_vector(' |',np.mean(v),f)
+ s += envu.print_vector(' |',np.std(v),f)
+ s += envu.print_vector(' |',np.min(v),f)
+ s += envu.print_vector(' |',np.max(v),f)
+ argmax_v = np.asarray(argmax_stats[k])
+ s += ' |%6d' % (np.argmax(argmax_v))
+ print(s)
+
+ def show_final_stats(self,type='final'):
+ if type == 'final':
+ print('Final Stats (mean,std,min,max)')
+ idx = -1
+ else:
+ print('Initial Stats (mean,std,min,max)')
+ idx = 0
+
+ stats = {}
+ keys = ['position', 'velocity', 'fuel', 'attitude_321', 'w', 'glideslope']
+ formats = {'position' : '{:8.1f}' , 'velocity' : '{:8.3f}', 'fuel' : '{:6.2f}', 'attitude_321' : '{:8.3f}', 'w' : '{:8.3f}', 'glideslope' : '{:8.3f}'}
+
+ for k in keys:
+ stats[k] = []
+ for traj in self.trajectory_list:
+ for k in keys:
+ v = traj[k]
+ v = np.asarray(v)
+ if len(v.shape) == 1:
+ v = np.expand_dims(v,axis=1)
+ stats[k].append(v[idx])
+
+ for k in keys:
+ f = formats[k]
+ v = stats[k]
+ s = '%-8s' % (k)
+ s += envu.print_vector(' |',np.mean(v,axis=0),f)
+ s += envu.print_vector(' |',np.std(v,axis=0),f)
+ s += envu.print_vector(' |',np.min(v,axis=0),f)
+ s += envu.print_vector(' |',np.max(v,axis=0),f)
+ print(s)
+
+
+ def show_episode(self, idx=0):
+
+ traj = self.trajectory_list[idx]
+ t = np.asarray(traj['time'])
+ p = np.asarray(traj['position'])
+ v = np.asarray(traj['velocity'])
+ c = np.asarray(traj['thrust'])
+
+ f1 = '{:8.1f}'
+ f2 = '{:8.3f}'
+ for i in range(t.shape[0]):
+
+ s = 't: %6.1f' % (t[i])
+ s += envu.print_vector(' |',p[i],f1)
+ s += envu.print_vector(' |',v[i],f2)
+ s += envu.print_vector(' |',c[i],f2)
+ print(s)
+
+
+ def get_landing_state(self,t):
+
+ landing_state = {}
+ landing_state['t'] = t
+ landing_state['position'] = self.state['position']
+ landing_state['velocity'] = self.state['velocity']
+ landing_state['v_ratio'] = np.linalg.norm(self.state['velocity'][0:2]) / np.abs(self.state['velocity'][2])
+ landing_state['attitude'] = self.state['attitude']
+ landing_state['attitude_321'] = self.state['attitude_321']
+ landing_state['w'] = self.state['w']
+ landing_state['thrust'] = self.state['thrust']
+ landing_state['mass'] = self.state['mass']
+ landing_state['fuel'] = self.init_mass-self.state['mass']
+ landing_state['vc'] = envu.get_vc(self.state['position'], self.state['velocity'])
+ landing_state['range'] = np.linalg.norm(self.state['position'])
+ landing_state['los'] = self.state['position'] / np.linalg.norm(self.state['position'])
+ landing_state['dlos'] = envu.get_dlos(self.state['position'], self.state['velocity'])
+ landing_state['zem'] = envu.get_zem(self.state['position'], self.state['velocity'])
+
+ return landing_state
+
+ def get_engagement_keys(self):
+ keys = ['t', 'position', 'velocity', 'attitude', 'attitude_321', 'w', 'thrust', 'bf_thrust', 'torque', 'mass', 'fuel', 'v_ratio','vc', 'range', 'los', 'dlos', 'zem','reward','fuel_reward','tracking_reward','glideslope_reward', 'landing_margin', 'glideslope', 'sc_margin', 'glideslope_penalty','sc_penalty','sc_reward','att_penalty','att_reward','landing_reward']
+ return keys
+
+
+ def show(self):
+
+ """
+ For debugging
+
+ """
+
+ print('Position: ',self.position)
+ print('Velocity: ',self.velocity)
+ print('Mass: ',self.mass)
+
+
+ def track_func1(self,next_pos, next_vel):
+ vtarg, t_go = self.apf_pot(np.hstack((next_pos,next_vel)))
+ error = next_vel - vtarg
+ return error, t_go
+
+ def apf_pot0(self,state):
+ xy = np.linalg.norm(state[0:2])
+ atarg = self.apf_atarg * (1 - np.exp(-xy/self.apf_atarg))
+ #print('DEBUG: ',state[0:2], xy, atarg)
+ self.atarg_debug = atarg
+ rg = state[0:3] - 1.0*np.asarray([0,0,atarg])
+ vg = state[3:6] - 0.0 # self.apf_vf1
+ mag_rg = np.linalg.norm(rg)
+ mag_vg = np.linalg.norm(vg)
+
+ dir_pot = -rg / mag_rg
+ t_go = mag_rg / mag_vg
+ if t_go < 1:
+ t_go = t_go **3
+
+ mag_pot = self.apf_v0 * (1. - np.exp(-t_go / self.apf_tau1))
+ pot = mag_pot * dir_pot
+
+ return pot, t_go
+
+ def apf_pot01(self,state):
+ xy = np.linalg.norm(state[0:2])
+ atarg = self.apf_atarg * (1 - np.exp(-xy/self.apf_atarg))
+ #print('DEBUG: ',state[0:2], xy, atarg)
+ self.atarg_debug = atarg
+ rg = state[0:3] - 1.0*np.asarray([0,0,atarg])
+ vg = state[3:6] - self.apf_vf1
+ mag_rg = np.linalg.norm(rg)
+ mag_vg = np.linalg.norm(vg)
+
+ dir_pot = -rg / mag_rg
+ t_go = mag_rg / mag_vg
+
+ mag_pot = self.apf_v0 * (1. - np.exp(-t_go / self.apf_tau1))
+ pot = mag_pot * dir_pot
+
+ return pot, t_go
+
+ def apf_pot02(self,state):
+ xy = np.linalg.norm(state[0:2])
+ atarg = self.apf_atarg * (1 - np.exp(-xy/self.apf_tau_xy))
+ self.atarg_debug = atarg
+ rg = state[0:3] - 1.0*np.asarray([0,0,atarg])
+ vg = state[3:6] - self.apf_vf1
+ mag_rg = np.linalg.norm(rg)
+ mag_vg = np.linalg.norm(vg)
+
+ dir_pot = -rg / mag_rg
+ t_go = mag_rg / mag_vg
+
+ mag_pot = self.apf_v0 * (1. - np.exp(-t_go / self.apf_tau1))
+ pot = mag_pot * dir_pot
+
+ return pot, t_go
+
+ def apf_pot1(self,state):
+ rg = state[0:3]
+ vg = state[3:6]
+ mag_rg = np.linalg.norm(rg)
+ mag_vg = np.linalg.norm(vg)
+
+ t_go = mag_rg / mag_vg
+ if t_go < 1:
+ t_go = t_go **3
+ mag_pot = self.apf_v0 * (1. - np.exp(-t_go / self.apf_tau1))
+ dir_pot = -rg / mag_rg
+
+ pot = mag_pot * dir_pot
+ return pot, t_go
+
+
+ def apf_pot2(self,state):
+ rg = state[0:3]
+ vg = state[3:6]
+ mag_rg = np.linalg.norm(rg)
+ mag_vg = np.linalg.norm(vg)
+
+ if rg[2] < self.apf_atarg:
+ self.apf_state = True # sticky
+
+ if rg[2] > self.apf_atarg:
+ rg1 = state[0:3] - 1.0*np.asarray([0,0,self.apf_atarg])
+ vg1 = state[3:6] - self.apf_vf1
+ mag_rg1 = np.linalg.norm(rg1)
+ mag_vg1 = np.linalg.norm(vg1)
+ tau = self.apf_tau1
+ else:
+ rg1 = 1.0*np.asarray([0,0,state[2]])
+ vg1 = state[3:6] - self.apf_vf2
+ mag_vg1 = np.linalg.norm(vg1)
+ mag_rg1 = np.linalg.norm(rg1)
+ tau = self.apf_tau2
+
+ t_go = mag_rg1 / mag_vg1
+ mag_pot = self.apf_v0 * (1. - np.exp(-t_go / tau))
+ dir_pot = -rg1 / mag_rg1
+
+ pot = mag_pot * dir_pot
+
+ return pot, t_go
+
+ def apf_pot_xy(self,state):
+ xy = np.linalg.norm(state[0:2])
+ atarg = self.apf_atarg * (1 - np.exp(-xy/self.apf_tau_xy))
+ self.atarg_debug = atarg
+ rg = state[0:3] - 1.0*np.asarray([0,0,atarg])
+ vg = state[3:6] - self.apf_vf1
+ mag_rg = np.linalg.norm(rg)
+ mag_vg = np.linalg.norm(vg)
+
+ dir_pot = -rg / mag_rg
+ t_go = mag_rg / mag_vg
+
+ mag_pot = self.apf_v0 * (1. - np.exp(-t_go / self.apf_tau1))
+ pot = mag_pot * dir_pot
+
+ return pot, t_go
+
+ def apf_pot_foo(self,state):
+ rg = state[0:3]
+ vg = state[3:6]
+ mag_rg = np.linalg.norm(rg)
+ mag_vg = np.linalg.norm(vg)
+
+ if rg[2] < self.apf_atarg:
+ self.apf_state = True # sticky
+
+ if rg[2] > self.apf_atarg:
+ xy = np.linalg.norm(rg[0:2])
+ tau_xy = 100
+ atarg = self.apf_atarg + tau_xy * (1 - np.exp(-xy/tau_xy))
+ rg1 = state[0:3] - 1.0*np.asarray([0,0,atarg])
+ vg1 = state[3:6] - self.apf_vf1
+ mag_rg1 = np.linalg.norm(rg1)
+ mag_vg1 = np.linalg.norm(vg1)
+ tau = self.apf_tau1
+ else:
+ rg1 = 1.0*np.asarray([0,0,state[2]])
+ vg1 = state[3:6] - self.apf_vf2
+ mag_vg1 = np.linalg.norm(vg1)
+ mag_rg1 = np.linalg.norm(rg1)
+ tau = self.apf_tau2
+
+ t_go = mag_rg1 / mag_vg1
+ mag_pot = self.apf_v0 * (1. - np.exp(-t_go / tau))
+ dir_pot = -rg1 / mag_rg1
+
+ pot = mag_pot * dir_pot
+
+ return pot, t_go
+
+ def apf_pot_foo2(self,state):
+ rg = state[0:3]
+ vg = state[3:6]
+ mag_rg = np.linalg.norm(rg)
+ mag_vg = np.linalg.norm(vg)
+
+ if rg[2] < self.apf_atarg:
+ self.apf_state = True # sticky
+
+ if rg[2] > self.apf_atarg:
+ xy = np.linalg.norm(rg[0:2])
+ tau_xy1 = 60
+ tau_xy2 = 30
+ atarg = self.apf_atarg + tau_xy1 * (1 - np.exp(-xy/tau_xy2))
+ rg1 = state[0:3] - 1.0*np.asarray([0,0,atarg])
+ vg1 = state[3:6] - self.apf_vf1
+ mag_rg1 = np.linalg.norm(rg1)
+ mag_vg1 = np.linalg.norm(vg1)
+ tau = self.apf_tau1
+ else:
+ rg1 = 1.0*np.asarray([0,0,state[2]])
+ vg1 = state[3:6] - self.apf_vf2
+ mag_vg1 = np.linalg.norm(vg1)
+ mag_rg1 = np.linalg.norm(rg1)
+ tau = self.apf_tau2
+
+ t_go = mag_rg1 / mag_vg1
+ mag_pot = self.apf_v0 * (1. - np.exp(-t_go / tau))
+ dir_pot = -rg1 / mag_rg1
+
+ pot = mag_pot * dir_pot
+
+ return pot, t_go
+
+ def apf_pot_foo3(self,state):
+ rg = state[0:3]
+ vg = state[3:6]
+ mag_rg = np.linalg.norm(rg)
+ mag_vg = np.linalg.norm(vg)
+
+ if rg[2] < self.apf_atarg:
+ self.apf_state = True # sticky
+
+ if rg[2] > self.apf_atarg:
+ xy = np.linalg.norm(rg[0:2])
+ rg1 = state[0:3] - 1.0*np.asarray([0,0,self.apf_atarg])
+ if xy > 1500:
+ rg1[2] /= 2
+ vg1 = state[3:6] - self.apf_vf1
+ mag_rg1 = np.linalg.norm(rg1)
+ mag_vg1 = np.linalg.norm(vg1)
+ tau = self.apf_tau1
+ else:
+ rg1 = 1.0*np.asarray([0,0,state[2]])
+ vg1 = state[3:6] - self.apf_vf2
+ mag_vg1 = np.linalg.norm(vg1)
+ mag_rg1 = np.linalg.norm(rg1)
+ tau = self.apf_tau2
+
+ t_go = mag_rg1 / mag_vg1
+ mag_pot = self.apf_v0 * (1. - np.exp(-t_go / tau))
+ dir_pot = -rg1 / mag_rg1
+
+ pot = mag_pot * dir_pot
+
+ return pot, t_go
+
+ def apf_pot3(self,state):
+ rg = state[0:3]
+ vg = state[3:6]
+ mag_rg = np.linalg.norm(rg)
+ mag_vg = np.linalg.norm(vg)
+
+ if rg[2] < self.apf_atarg:
+ self.apf_state = True # sticky
+
+ if not self.apf_state:
+ rg1 = state[0:3] - 1.0*np.asarray([0,0,self.apf_atarg])
+ vg1 = state[3:6] - self.apf_vf1
+ mag_rg1 = np.linalg.norm(rg1)
+ mag_vg1 = np.linalg.norm(vg1)
+ tau = self.apf_tau1
+ else:
+ rg1 = 1.0*np.asarray([0,0,state[2]])
+ vg1 = state[3:6] - self.apf_vf2
+ mag_vg1 = np.linalg.norm(vg1)
+ mag_rg1 = np.linalg.norm(rg1)
+ tau = self.apf_tau2
+
+ t_go = mag_rg1 / mag_vg1
+ mag_pot = self.apf_v0 * (1. - np.exp(-t_go / tau))
+ dir_pot = -rg1 / mag_rg1
+
+ pot = mag_pot * dir_pot
+
+ return pot, t_go
+
+ def apf_pot4(self,state):
+ if state[2] < self.divert[2]:
+ divert_vec1 = 1.0 * np.asarray([self.divert[0],self.divert[1],self.apf_atarg])
+ #divert_vec2 = 1.0 * np.asarray([self.divert[0],self.divert[1],state[2]])
+ divert_vec2 = 1.0 * np.asarray([0.0,0.0,state[2]])
+
+ else:
+ divert_vec1 = 1.0 * np.asarray([0., 0., self.apf_atarg])
+ divert_vec2 = 1.0 * np.asarray([0., 0., state[2]])
+
+ rg = state[0:3]
+ vg = state[3:6]
+ mag_rg = np.linalg.norm(rg)
+ mag_vg = np.linalg.norm(vg)
+
+ if rg[2] < self.apf_atarg:
+ self.apf_state = True # sticky
+
+ if rg[2] > self.apf_atarg:
+ rg1 = state[0:3] - divert_vec1
+ vg1 = state[3:6] - self.apf_vf1
+ mag_rg1 = np.linalg.norm(rg1)
+ mag_vg1 = np.linalg.norm(vg1)
+ tau = self.apf_tau1
+ else:
+ rg1 = divert_vec2
+ vg1 = state[3:6] - self.apf_vf2
+ mag_vg1 = np.linalg.norm(vg1)
+ mag_rg1 = np.linalg.norm(rg1)
+ tau = self.apf_tau2
+
+ t_go = mag_rg1 / mag_vg1
+ mag_pot = self.apf_v0 * (1. - np.exp(-t_go / tau))
+ dir_pot = -rg1 / mag_rg1
+
+ pot = mag_pot * dir_pot
+
+ return pot, t_go
+
+ def apf_pot_crater(self,rg1 ):
+ rg = rg1.copy()
+ mag_rg = np.linalg.norm(rg)
+ mag_pot = self.apf_v0 * (1. - np.exp(-mag_rg / self.apf_tau))
+
+ #(x/self.a)**2 + (y/self.b)**2
+ a = 10*np.sqrt(2)
+ b = a
+
+ if (rg[0]/a)**2 + (rg[1]/b)**2 > 650:
+ rg[2] /= 2
+ dir_pot = -rg / np.linalg.norm(rg)
+
+ pot = mag_pot * dir_pot
+ return pot
+
+
diff --git a/AAS-18-290_6DOF_journal/reward.py b/AAS-18-290_6DOF_journal/reward.py
new file mode 100644
index 0000000..aa7e3dd
--- /dev/null
+++ b/AAS-18-290_6DOF_journal/reward.py
@@ -0,0 +1,95 @@
+import numpy as np
+import env_utils as envu
+
+class Reward(object):
+
+ """
+ Minimizes Velocity Field Tracking Error
+
+ """
+
+ def __init__(self, reward_scale=1.0, ts_coeff=-0.0, fuel_coeff=-0.05,
+ landing_rlimit=5.0, landing_vlimit=2.0,
+ tracking_coeff=-0.01, tracking_bias=0.01):
+
+ self.reward_scale = reward_scale
+ self.ts_coeff = ts_coeff
+ self.fuel_coeff = fuel_coeff
+
+ self.landing_rlimit = landing_rlimit
+ self.landing_vlimit = landing_vlimit
+
+ self.tracking_coeff = tracking_coeff
+ self.tracking_bias = tracking_bias
+
+ self.quad_reward = self.quad_reward1
+
+ def get(self, lander, action, done, steps, shape_constraint, glideslope_constraint, attitude_constraint):
+ pos = lander.state['position']
+ vel = lander.state['velocity']
+
+ prev_pos = lander.prev_state['position']
+ prev_vel = lander.prev_state['velocity']
+
+ state = np.hstack((pos,vel))
+ prev_state = np.hstack((prev_pos,prev_vel))
+
+ r_gs = glideslope_constraint.get_reward()
+
+ r_sc, sc_margin = shape_constraint.get_reward(lander.state)
+
+ tracking_error, t_go = lander.track_func(pos, vel)
+ r_tracking = self.tracking_bias + self.tracking_coeff * np.linalg.norm(tracking_error)
+
+ r_att = attitude_constraint.get_reward(lander.state)
+
+ landing_margin = 0.
+ gs_penalty = 0.0
+ sc_penalty = 0.0
+ att_penalty = 0.0
+ if done:
+ gs_penalty = glideslope_constraint.get_term_reward()
+
+ att_penalty = attitude_constraint.get_term_reward(lander.state)
+
+ sc_penalty = shape_constraint.get_term_reward(lander.state)
+
+ landing_margin = np.maximum(np.linalg.norm(pos) - self.landing_rlimit , np.linalg.norm(vel) - self.landing_vlimit)
+
+ reward_info = {}
+
+ r_fuel = self.fuel_coeff * np.sum(lander.state['bf_thrust']) / (lander.thruster_model.num_thrusters*lander.thruster_model.max_thrust)
+
+ reward_info['fuel'] = r_fuel
+
+ reward = (r_att + att_penalty + sc_penalty + gs_penalty + r_gs + r_sc + r_tracking + r_fuel + self.ts_coeff) * self.reward_scale
+ lander.trajectory['reward'].append(reward)
+
+ lander.trajectory['glideslope'].append(glideslope_constraint.get())
+ lander.trajectory['glideslope_reward'].append(r_gs)
+ lander.trajectory['glideslope_penalty'].append(gs_penalty)
+ lander.trajectory['att_reward'].append(r_att)
+ lander.trajectory['att_penalty'].append(att_penalty)
+ lander.trajectory['sc_penalty'].append(sc_penalty)
+ lander.trajectory['sc_margin'].append(sc_margin)
+ lander.trajectory['sc_reward'].append(r_sc)
+ lander.trajectory['tracking_reward'].append(r_tracking)
+ lander.trajectory['landing_margin'].append(landing_margin)
+ lander.trajectory['fuel_reward'].append(r_fuel)
+ return reward, reward_info
+
+ def quad_reward1(self,val,sigma):
+ val = np.linalg.norm(val)
+ reward = 1 + np.maximum( -1, -(val/sigma)**2)
+ return reward
+
+ def quad_reward2(self,val,sigma):
+ val = np.linalg.norm(val)
+ reward = -(val/sigma)**2
+ return reward
+
+ def quad_reward3(self,val,sigma):
+ val = np.linalg.norm(val)
+ reward = 1 - (val/sigma)**2
+ return reward
+
diff --git a/AAS-18-290_6DOF_journal/reward_mdr.py b/AAS-18-290_6DOF_journal/reward_mdr.py
new file mode 100644
index 0000000..3f8b3de
--- /dev/null
+++ b/AAS-18-290_6DOF_journal/reward_mdr.py
@@ -0,0 +1,99 @@
+import numpy as np
+import env_utils as envu
+
+class Reward(object):
+
+ """
+ Minimizes Velocity Field Tracking Error
+
+ """
+
+ def __init__(self, reward_scale=1.0, ts_coeff=-0.0, fuel_coeff=-0.05,
+ landing_rlimit=5.0, landing_vlimit=2.0,
+ tracking_coeff=-0.01, tracking_bias=0.01):
+
+ self.reward_scale = reward_scale
+ self.ts_coeff = ts_coeff
+ self.fuel_coeff = fuel_coeff
+
+ self.landing_rlimit = landing_rlimit
+ self.landing_vlimit = landing_vlimit
+
+ self.tracking_coeff = tracking_coeff
+ self.tracking_bias = tracking_bias
+
+ self.quad_reward = self.quad_reward1
+
+ def get(self, lander, action, done, steps, shape_constraint, glideslope_constraint, attitude_constraint):
+ pos = lander.state['position']
+ vel = lander.state['velocity']
+
+ prev_pos = lander.prev_state['position']
+ prev_vel = lander.prev_state['velocity']
+
+ state = np.hstack((pos,vel))
+ prev_state = np.hstack((prev_pos,prev_vel))
+
+ r_gs = glideslope_constraint.get_reward()
+
+ r_sc, sc_margin = shape_constraint.get_reward(lander.state)
+
+ tracking_error, t_go = lander.track_func(pos, vel)
+ r_tracking = self.tracking_bias + self.tracking_coeff * np.linalg.norm(tracking_error)
+
+ r_att = attitude_constraint.get_reward(lander.state)
+
+ landing_margin = 0.
+ gs_penalty = 0.0
+ sc_penalty = 0.0
+ att_penalty = 0.0
+ if done:
+ gs_penalty = glideslope_constraint.get_term_reward()
+
+ att_penalty = attitude_constraint.get_term_reward(lander.state)
+
+ sc_penalty = shape_constraint.get_term_reward(lander.state)
+
+ landing_margin = np.maximum(np.linalg.norm(pos) - self.landing_rlimit , np.linalg.norm(vel) - self.landing_vlimit)
+
+ reward_info = {}
+
+ r_fuel = self.fuel_coeff * np.sum(lander.state['bf_thrust']) / (lander.thruster_model.num_thrusters*lander.thruster_model.max_thrust)
+
+ reward_info['fuel'] = r_fuel
+
+ reward_tmp = (r_att + att_penalty + sc_penalty + gs_penalty + r_gs + r_sc + r_tracking + r_fuel + self.ts_coeff) * self.reward_scale
+ reward1 = 0.7 * reward_tmp
+ reward2 = 0.3 * reward_tmp
+ reward = (reward1,reward2)
+
+ lander.trajectory['reward'].append(reward)
+
+ lander.trajectory['glideslope'].append(glideslope_constraint.get())
+ lander.trajectory['glideslope_reward'].append(r_gs)
+ lander.trajectory['glideslope_penalty'].append(gs_penalty)
+ lander.trajectory['att_reward'].append(r_att)
+ lander.trajectory['att_penalty'].append(att_penalty)
+ lander.trajectory['sc_penalty'].append(sc_penalty)
+ lander.trajectory['sc_margin'].append(sc_margin)
+ lander.trajectory['sc_reward'].append(r_sc)
+ lander.trajectory['tracking_reward'].append(r_tracking)
+ lander.trajectory['landing_margin'].append(landing_margin)
+ lander.trajectory['fuel_reward'].append(r_fuel)
+ return reward, reward_info
+
+ def quad_reward1(self,val,sigma):
+ val = np.linalg.norm(val)
+ reward = 1 + np.maximum( -1, -(val/sigma)**2)
+ return reward
+
+ def quad_reward2(self,val,sigma):
+ val = np.linalg.norm(val)
+ reward = -(val/sigma)**2
+ return reward
+
+ def quad_reward3(self,val,sigma):
+ val = np.linalg.norm(val)
+ reward = 1 - (val/sigma)**2
+ return reward
+
diff --git a/AAS-18-290_6DOF_journal/reward_terminal.py b/AAS-18-290_6DOF_journal/reward_terminal.py
new file mode 100644
index 0000000..1b91341
--- /dev/null
+++ b/AAS-18-290_6DOF_journal/reward_terminal.py
@@ -0,0 +1,119 @@
+import numpy as np
+import env_utils as envu
+
+class Reward(object):
+
+ """
+ Minimizes Velocity Field Tracking Error
+
+ """
+
+ def __init__(self, reward_scale=1.0, ts_coeff=-0.0, fuel_coeff=-0.05, landing_coeff = 10.0,
+ landing_rlimit=5.0, landing_vlimit=2.0, landing_alimit=0.2, landing_wlimit=0.2, landing_gslimit=5.0,
+ rf_coeff=10.0, vf_coeff=10.0, af_coeff=10.0, wf_coeff=10.0, gs_coeff=10.0,
+ tracking_coeff=-0.01, tracking_bias=0.01, debug=False):
+
+ self.reward_scale = reward_scale
+ self.ts_coeff = ts_coeff
+ self.fuel_coeff = fuel_coeff
+
+ self.landing_rlimit = landing_rlimit
+ self.landing_vlimit = landing_vlimit
+ self.landing_alimit = landing_alimit
+ self.landing_wlimit = landing_wlimit
+ self.landing_gslimit = landing_gslimit
+
+ self.rf_coeff = rf_coeff
+ self.vf_coeff = vf_coeff
+ self.af_coeff = af_coeff
+ self.wf_coeff = wf_coeff
+ self.gs_coeff = gs_coeff
+ self.landing_coeff = landing_coeff
+
+ self.tracking_coeff = tracking_coeff
+ self.tracking_bias = tracking_bias
+
+ self.quad_reward = self.quad_reward1
+
+ self.debug = debug
+
+ print('Reward_terminal')
+
+ def get(self, lander, action, done, steps, shape_constraint, glideslope_constraint, attitude_constraint):
+ pos = lander.state['position']
+ vel = lander.state['velocity']
+
+ prev_pos = lander.prev_state['position']
+ prev_vel = lander.prev_state['velocity']
+
+ state = np.hstack((pos,vel))
+ prev_state = np.hstack((prev_pos,prev_vel))
+
+ r_gs = glideslope_constraint.get_reward()
+
+ r_sc, sc_margin = shape_constraint.get_reward(lander.state)
+
+ tracking_error, t_go = lander.track_func(pos, vel)
+ r_tracking = self.tracking_bias + self.tracking_coeff * np.linalg.norm(tracking_error)
+
+ r_att = attitude_constraint.get_reward(lander.state)
+
+ landing_margin = 0.
+ gs_penalty = 0.0
+ sc_penalty = 0.0
+ att_penalty = 0.0
+ r_landing = 0.0
+ if done:
+ gs_penalty = glideslope_constraint.get_term_reward()
+
+ att_penalty = attitude_constraint.get_term_reward(lander.state)
+
+ sc_penalty = shape_constraint.get_term_reward(lander.state)
+
+
+ gs = glideslope_constraint.get()
+ att = lander.state['attitude_321'][1:3]
+ w = lander.state['w']
+ margins = [np.linalg.norm(pos) - self.landing_rlimit , np.linalg.norm(vel) - self.landing_vlimit, np.max(np.abs(att)) - self.landing_alimit, np.max(np.abs(w)) - self.landing_wlimit, self.landing_gslimit - gs]
+ landing_margin = np.max(margins)
+
+ if self.debug or (np.linalg.norm(pos) < self.landing_rlimit and np.linalg.norm(vel) < self.landing_vlimit and np.all(att < self.landing_alimit) and np.all(w < self.landing_wlimit) and gs > self.landing_gslimit and pos[2] < 0):
+ r_landing = self.landing_coeff
+
+ reward_info = {}
+
+ r_fuel = self.fuel_coeff * np.sum(lander.state['bf_thrust']) / (lander.thruster_model.num_thrusters*lander.thruster_model.max_thrust)
+
+ reward_info['fuel'] = r_fuel
+
+ reward = (r_landing + r_att + att_penalty + sc_penalty + gs_penalty + r_gs + r_sc + r_tracking + r_fuel + self.ts_coeff) * self.reward_scale
+ lander.trajectory['reward'].append(reward)
+ lander.trajectory['landing_reward'].append(r_landing)
+ lander.trajectory['glideslope'].append(glideslope_constraint.get())
+ lander.trajectory['glideslope_reward'].append(r_gs)
+ lander.trajectory['glideslope_penalty'].append(gs_penalty)
+ lander.trajectory['att_reward'].append(r_att)
+ lander.trajectory['att_penalty'].append(att_penalty)
+ lander.trajectory['sc_penalty'].append(sc_penalty)
+ lander.trajectory['sc_margin'].append(sc_margin)
+ lander.trajectory['sc_reward'].append(r_sc)
+ lander.trajectory['tracking_reward'].append(r_tracking)
+ lander.trajectory['landing_margin'].append(landing_margin)
+ lander.trajectory['fuel_reward'].append(r_fuel)
+ return reward, reward_info
+
+ def quad_reward1(self,val,sigma):
+ val = np.linalg.norm(val)
+ reward = 1 + np.maximum( -1, -(val/sigma)**2)
+ return reward
+
+ def quad_reward2(self,val,sigma):
+ val = np.linalg.norm(val)
+ reward = -(val/sigma)**2
+ return reward
+
+ def quad_reward3(self,val,sigma):
+ val = np.linalg.norm(val)
+ reward = 1 - (val/sigma)**2
+ return reward
+
diff --git a/AAS-18-290_6DOF_journal/reward_terminal_mdr.py b/AAS-18-290_6DOF_journal/reward_terminal_mdr.py
new file mode 100644
index 0000000..33cb163
--- /dev/null
+++ b/AAS-18-290_6DOF_journal/reward_terminal_mdr.py
@@ -0,0 +1,121 @@
+import numpy as np
+import env_utils as envu
+
+class Reward(object):
+
+ """
+ Minimizes Velocity Field Tracking Error
+
+ """
+
+ def __init__(self, reward_scale=1.0, ts_coeff=-0.0, fuel_coeff=-0.05, landing_coeff = 10.0,
+ landing_rlimit=5.0, landing_vlimit=2.0, landing_alimit=0.2, landing_wlimit=0.2, landing_gslimit=5.0,
+ rf_coeff=10.0, vf_coeff=10.0, af_coeff=10.0, wf_coeff=10.0, gs_coeff=10.0,
+ tracking_coeff=-0.01, tracking_bias=0.01, debug=False):
+
+ self.reward_scale = reward_scale
+ self.ts_coeff = ts_coeff
+ self.fuel_coeff = fuel_coeff
+
+ self.landing_rlimit = landing_rlimit
+ self.landing_vlimit = landing_vlimit
+ self.landing_alimit = landing_alimit
+ self.landing_wlimit = landing_wlimit
+ self.landing_gslimit = landing_gslimit
+
+ self.rf_coeff = rf_coeff
+ self.vf_coeff = vf_coeff
+ self.af_coeff = af_coeff
+ self.wf_coeff = wf_coeff
+ self.gs_coeff = gs_coeff
+ self.landing_coeff = landing_coeff
+
+ self.tracking_coeff = tracking_coeff
+ self.tracking_bias = tracking_bias
+
+ self.quad_reward = self.quad_reward1
+
+ self.debug = debug
+
+ print('Reward_terminal')
+
+ def get(self, lander, action, done, steps, shape_constraint, glideslope_constraint, attitude_constraint):
+ pos = lander.state['position']
+ vel = lander.state['velocity']
+
+ prev_pos = lander.prev_state['position']
+ prev_vel = lander.prev_state['velocity']
+
+ state = np.hstack((pos,vel))
+ prev_state = np.hstack((prev_pos,prev_vel))
+
+ r_gs = glideslope_constraint.get_reward()
+
+ r_sc, sc_margin = shape_constraint.get_reward(lander.state)
+
+ tracking_error, t_go = lander.track_func(pos, vel)
+ r_tracking = self.tracking_bias + self.tracking_coeff * np.linalg.norm(tracking_error)
+
+ r_att = attitude_constraint.get_reward(lander.state)
+
+ landing_margin = 0.
+ gs_penalty = 0.0
+ sc_penalty = 0.0
+ att_penalty = 0.0
+ r_landing = 0.0
+ if done:
+ gs_penalty = glideslope_constraint.get_term_reward()
+
+ att_penalty = attitude_constraint.get_term_reward(lander.state)
+
+ sc_penalty = shape_constraint.get_term_reward(lander.state)
+
+
+ gs = glideslope_constraint.get()
+ att = lander.state['attitude_321'][1:3]
+ w = lander.state['w']
+ margins = [np.linalg.norm(pos) - self.landing_rlimit , np.linalg.norm(vel) - self.landing_vlimit, np.max(np.abs(att)) - self.landing_alimit, np.max(np.abs(w)) - self.landing_wlimit, self.landing_gslimit - gs]
+ landing_margin = np.max(margins)
+
+ if self.debug or (np.linalg.norm(pos) < self.landing_rlimit and np.linalg.norm(vel) < self.landing_vlimit and np.all(att < self.landing_alimit) and np.all(w < self.landing_wlimit) and gs > self.landing_gslimit and pos[2] < 0):
+ r_landing = self.landing_coeff
+
+ reward_info = {}
+
+ r_fuel = self.fuel_coeff * np.sum(lander.state['bf_thrust']) / (lander.thruster_model.num_thrusters*lander.thruster_model.max_thrust)
+
+ reward_info['fuel'] = r_fuel
+
+ reward1 = (r_att + att_penalty + sc_penalty + gs_penalty + r_gs + r_sc + r_tracking + r_fuel + self.ts_coeff) * self.reward_scale
+ reward2 = r_landing * self.reward_scale
+ reward = (reward1, reward2)
+ lander.trajectory['reward'].append(reward1 + reward2)
+ lander.trajectory['landing_reward'].append(r_landing)
+ lander.trajectory['glideslope'].append(glideslope_constraint.get())
+ lander.trajectory['glideslope_reward'].append(r_gs)
+ lander.trajectory['glideslope_penalty'].append(gs_penalty)
+ lander.trajectory['att_reward'].append(r_att)
+ lander.trajectory['att_penalty'].append(att_penalty)
+ lander.trajectory['sc_penalty'].append(sc_penalty)
+ lander.trajectory['sc_margin'].append(sc_margin)
+ lander.trajectory['sc_reward'].append(r_sc)
+ lander.trajectory['tracking_reward'].append(r_tracking)
+ lander.trajectory['landing_margin'].append(landing_margin)
+ lander.trajectory['fuel_reward'].append(r_fuel)
+ return reward, reward_info
+
+ def quad_reward1(self,val,sigma):
+ val = np.linalg.norm(val)
+ reward = 1 + np.maximum( -1, -(val/sigma)**2)
+ return reward
+
+ def quad_reward2(self,val,sigma):
+ val = np.linalg.norm(val)
+ reward = -(val/sigma)**2
+ return reward
+
+ def quad_reward3(self,val,sigma):
+ val = np.linalg.norm(val)
+ reward = 1 - (val/sigma)**2
+ return reward
+
diff --git a/AAS-18-290_6DOF_journal/thruster_model.py b/AAS-18-290_6DOF_journal/thruster_model.py
new file mode 100644
index 0000000..35d3cc9
--- /dev/null
+++ b/AAS-18-290_6DOF_journal/thruster_model.py
@@ -0,0 +1,67 @@
+import numpy as np
+
+class Thruster_model(object):
+
+ """
+ Thruster model for spacecraft computes force and torque in the body frame and converts
+ to inertial frame
+
+ Commanded thrust is clipped to lie between zero and one, and then scaled based off of
+ thrust capability
+
+ ellipsoid c = 1m, a = b = 2m
+ """
+ def __init__(self):
+ # dvec body position
+ config = [
+ [ 0.0, 0.0, 1.0, 0.0, -2.0, -1.0 ], # rotate around X (roll)
+ [ 0.0, 0.0, 1.0, 0.0, 2.0, -1.0 ], # rotate around X (roll)
+ [ 0.0, 0.0, 1.0, -2.0, 0.0, -1.0 ], # rotate around Y (pitch)
+ [ 0.0, 0.0, 1.0, 2.0, 0.0, -1.0 ] # rotate around Y (pitch)
+ ]
+ # no yaw . note that yaw rotates around z-axis, which we don't want (or need) to do
+
+ config = np.asarray(config)
+ self.dvec = config[:,0:3]
+
+ self.position = config[:,3:6]
+
+ self.num_thrusters = self.position.shape[0]
+
+ self.max_thrust = 4000.0
+ self.min_thrust = 800.0
+
+ self.pulsed = False
+
+ self.Isp = 210.0
+ self.g_o = 9.81
+
+ self.eps = 1e-8
+
+ self.mdot = None
+
+
+ print('Thruster Config Shape: ',config.shape, self.num_thrusters)
+
+ def thrust(self,commanded_thrust):
+
+ assert commanded_thrust.shape[0] == self.num_thrusters
+
+ if self.pulsed:
+ commanded_thrust = commanded_thrust > self.eps
+
+ commanded_thrust = np.clip(commanded_thrust, 0.0, 1.0) * self.max_thrust
+ commanded_thrust = np.clip(commanded_thrust, self.min_thrust, self.max_thrust)
+
+ force = np.expand_dims(commanded_thrust,axis=1) * self.dvec
+
+ torque = np.cross(self.position, force)
+ force = np.sum(force,axis=0)
+ torque = np.sum(torque,axis=0)
+
+ mdot = -np.sum(np.abs(commanded_thrust)) / (self.Isp * self.g_o)
+ self.mdot = mdot # for rewards
+ return force, torque, mdot
+
+
+
diff --git a/AAS-18-290_6DOF_journal/thruster_model2.py b/AAS-18-290_6DOF_journal/thruster_model2.py
new file mode 100644
index 0000000..e5eb482
--- /dev/null
+++ b/AAS-18-290_6DOF_journal/thruster_model2.py
@@ -0,0 +1,68 @@
+import numpy as np
+
+class Thruster_model(object):
+
+ """
+ Thruster model for spacecraft computes force and torque in the body frame and converts
+ to inertial frame
+
+ Commanded thrust is clipped to lie between zero and one, and then scaled based off of
+ thrust capability
+
+ ellipsoid c = 1m, a = b = 2m
+ """
+ def __init__(self, mfrv=0.0):
+ # dvec body position
+ config = [
+ [ 0.0, 0.0, 1.0, 0.0, -2.0, -1.0 ], # rotate around X (roll)
+ [ 0.0, 0.0, 1.0, 0.0, 2.0, -1.0 ], # rotate around X (roll)
+ [ 0.0, 0.0, 1.0, -2.0, 0.0, -1.0 ], # rotate around Y (pitch)
+ [ 0.0, 0.0, 1.0, 2.0, 0.0, -1.0 ] # rotate around Y (pitch)
+ ]
+ # no yaw . note that yaw rotates around z-axis, which we don't want (or need) to do
+
+ config = np.asarray(config)
+ self.dvec = config[:,0:3]
+
+ self.position = config[:,3:6]
+
+ self.num_thrusters = self.position.shape[0]
+ self.mfrv = mfrv
+
+ self.max_thrust = 4000.0
+ self.min_thrust = 800.0
+
+ self.pulsed = False
+
+ self.Isp = 210.0
+ self.g_o = 9.81
+
+ self.eps = 1e-8
+
+ self.mdot = None
+
+
+ print('Thruster Config Shape: ',config.shape, self.num_thrusters)
+
+ def thrust(self,commanded_thrust):
+
+ assert commanded_thrust.shape[0] == self.num_thrusters
+
+ if self.pulsed:
+ commanded_thrust = commanded_thrust > self.eps
+
+ commanded_thrust = np.clip(commanded_thrust, 0.0, 1.0) * self.max_thrust
+ commanded_thrust = np.clip(commanded_thrust, self.min_thrust, self.max_thrust)
+
+ force = np.expand_dims(commanded_thrust,axis=1) * self.dvec
+ force += np.random.normal(scale=force*self.mfrv)
+ torque = np.cross(self.position, force)
+ force = np.sum(force,axis=0)
+ torque = np.sum(torque,axis=0)
+
+ mdot = -np.sum(np.abs(commanded_thrust)) / (self.Isp * self.g_o)
+ self.mdot = mdot # for rewards
+ return force, torque, mdot
+
+
+