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