Created
February 16, 2020 02:49
-
-
Save taku-y/abcc919c07631622a9e4549a42edfc07 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 77, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"%matplotlib inline\n", | |
"\n", | |
"import traitlets\n", | |
"import matplotlib.pyplot as plt\n", | |
"from IPython.display import display\n", | |
"import PIL.Image\n", | |
"import gym\n", | |
"import gym_minigrid\n", | |
"import ipywidgets as widgets\n", | |
"from ipywidgets import interact, interactive\n", | |
"from traitlets.config.configurable import SingletonConfigurable" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"env = gym.make(\"MiniGrid-Empty-8x8-v0\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"env.reset()\n", | |
"img = env.render(mode=\"\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.image.AxesImage at 0x7f2ac710b0b8>" | |
] | |
}, | |
"execution_count": 4, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.imshow(img)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 78, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"image = widgets.Image(format=\"png\", height=256, width=256)\n", | |
"\n", | |
"def rgb8_to_png(value):\n", | |
" return bytes(cv2.imencode('.png', value)[1])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 79, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"class Test(SingletonConfigurable):\n", | |
" value = traitlets.Any()\n", | |
"\n", | |
" def __init__(self, *args, **kwargs):\n", | |
" super(Test, self).__init__(*args, **kwargs)\n", | |
" self.value = img" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 80, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"test = Test()\n", | |
"link = traitlets.dlink((test, \"value\"), (image, \"value\"), transform=rgb8_to_png)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 81, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"application/vnd.jupyter.widget-view+json": { | |
"model_id": "8a7ac7f2fa4646ce9793f3b3b706a456", | |
"version_major": 2, | |
"version_minor": 0 | |
}, | |
"text/plain": [ | |
"Image(value=b\"\\x89PNG\\r\\n\\x1a\\n\\x00\\x00\\x00\\rIHDR\\x00\\x00\\x01\\x00\\x00\\x00\\x01\\x00\\x08\\x02\\x00\\x00\\x00\\xd3\\x10?…" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"display(image)" | |
] | |
}, | |
{ | |
"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.6.9" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 4 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment