Skip to content

Instantly share code, notes, and snippets.

@danielpcox
Last active April 17, 2019 14:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save danielpcox/a46e7aa82e3d29d18c26ad8c4fd64589 to your computer and use it in GitHub Desktop.
Save danielpcox/a46e7aa82e3d29d18c26ad8c4fd64589 to your computer and use it in GitHub Desktop.
danielpcox/notebooks/RL/DemoModel.ipynb
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "%load_ext autoreload\n%autoreload 2\n%matplotlib inline\n\nframes = 10000\nseed = 42\n\nfrom exp.nb_PPOPong import make_env, rotate_framestack, framestack, actor_critic, optimizer, load\n\nimport matplotlib.pyplot as plt\nfrom IPython.display import clear_output\n\nenv = make_env('PongNoFrameskip-v4', seed, 0)()\n\nload(actor_critic, optimizer, load_file='PPOPong-10M.pt')\nactor_critic.eval()\n\nobs = env.reset()\nrotate_framestack(obs)\ndone = False\nwhile not done:\n _,actions,_ = actor_critic.act(framestack, deterministic=True)\n cpu_actions = actions.squeeze(1).cpu().numpy()\n obs,reward,done,info = env.step(cpu_actions[0])\n rotate_framestack(obs)\n clear_output(wait=True)\n plt.imshow(obs.squeeze(0))\n plt.show()",
"execution_count": 1,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 432x288 with 1 Axes>",
"image/png": "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\n"
},
"metadata": {}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "",
"execution_count": null,
"outputs": []
}
],
"metadata": {
"gist": {
"id": "",
"data": {
"description": "danielpcox/notebooks/RL/DemoModel.ipynb",
"public": true
}
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3",
"language": "python"
},
"language_info": {
"name": "python",
"version": "3.6.8",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment