Last active
November 16, 2017 12:05
-
-
Save gusgad/5ce54ed82ba59d459dd485996fea31cb 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": 1, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "import numpy as np\n", | |
| "import random" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 2, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "Shape of sample_image: (1920, 1080)\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# creating a sample 1920x1080 image and filling it with sequential\n", | |
| "# integers (instead of zeros) just for testing purposes\n", | |
| "sample_image = np.linspace(0, 255, num=2073600, dtype='float16').reshape((1920, 1080))\n", | |
| "print('Shape of sample_image:', sample_image.shape)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 3, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "Shape of images: (100, 3, 1920, 1080)\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# creating a small 100 element image dataset, considering 3 color channels\n", | |
| "# might throw a 'MemoryError' depending on your RAM, if so - decrease the number of elements\n", | |
| "images = np.repeat(sample_image, [300])\n", | |
| "images = images.reshape((100, 3, 1920, 1080))\n", | |
| "print('Shape of images:', images.shape)\n", | |
| "\n", | |
| "# the code above basically creates white images turning into black as the numeber increases" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 49, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "crop_size = 512\n", | |
| "\n", | |
| "# image cropping function which slices random patches\n", | |
| "def crop(image):\n", | |
| " x = random.randrange(image.shape[1]-crop_size)\n", | |
| " y = random.randrange(image.shape[2]-crop_size)\n", | |
| " # printing the random coordiates for testing purposes\n", | |
| " print('x:', x, 'y:', y)\n", | |
| " \n", | |
| " patch = image[:, x:x+crop_size, y:y+crop_size]\n", | |
| " patch = patch.reshape(1, patch.shape[0], patch.shape[1], patch.shape[2])\n", | |
| " return patch" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 50, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "# yielding 32 element image batch at a time\n", | |
| "def generator(images, batch_size=32):\n", | |
| " # length will be the total number of elements\n", | |
| " length = images.shape[0]\n", | |
| " # we use index to check whether we reached the end\n", | |
| " index = 0\n", | |
| " while True:\n", | |
| " images_batch = np.zeros((1, 3, 512, 512))\n", | |
| " # if we did reach the end - start iterating from the beginning\n", | |
| " if index + batch_size >= length:\n", | |
| " index = 0\n", | |
| " #if not - crop the given image, append to the batch while incrementing the index\n", | |
| " for i in range(batch_size):\n", | |
| " cropped_image = crop(images[index])\n", | |
| " images_batch = np.concatenate((images_batch, cropped_image))\n", | |
| " index = index + 1\n", | |
| " yield images_batch[1:]" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 51, | |
| "metadata": {}, | |
| "outputs": [], | |
| "source": [ | |
| "batch_size = 32\n", | |
| "\n", | |
| "image_generator = generator(images, batch_size)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 52, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "x: 800 y: 99\n", | |
| "x: 25 y: 490\n", | |
| "x: 575 y: 171\n", | |
| "x: 1125 y: 564\n", | |
| "x: 980 y: 553\n", | |
| "x: 1098 y: 112\n", | |
| "x: 130 y: 84\n", | |
| "x: 1210 y: 170\n", | |
| "x: 1134 y: 541\n", | |
| "x: 282 y: 381\n", | |
| "x: 808 y: 357\n", | |
| "x: 226 y: 153\n", | |
| "x: 1217 y: 82\n", | |
| "x: 610 y: 467\n", | |
| "x: 1384 y: 311\n", | |
| "x: 17 y: 567\n", | |
| "x: 635 y: 313\n", | |
| "x: 338 y: 94\n", | |
| "x: 352 y: 367\n", | |
| "x: 431 y: 162\n", | |
| "x: 1405 y: 66\n", | |
| "x: 441 y: 385\n", | |
| "x: 1169 y: 116\n", | |
| "x: 21 y: 165\n", | |
| "x: 926 y: 557\n", | |
| "x: 167 y: 450\n", | |
| "x: 522 y: 77\n", | |
| "x: 1102 y: 346\n", | |
| "x: 698 y: 154\n", | |
| "x: 272 y: 341\n", | |
| "x: 1321 y: 55\n", | |
| "x: 974 y: 429\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# calling this function will yield 32 elements each time\n", | |
| "batch_output = next(image_generator)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 53, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "name": "stdout", | |
| "output_type": "stream", | |
| "text": [ | |
| "(32, 3, 512, 512)\n" | |
| ] | |
| } | |
| ], | |
| "source": [ | |
| "# output shape must be 32x3x512x512\n", | |
| "print(batch_output.shape)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 54, | |
| "metadata": {}, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "array([[[[ 0.35424805, 0.35424805, 0.35424805, ..., 0.35449219,\n", | |
| " 0.35449219, 0.35449219],\n", | |
| " [ 0.35449219, 0.35449219, 0.35449219, ..., 0.35473633,\n", | |
| " 0.35473633, 0.35473633],\n", | |
| " [ 0.35498047, 0.35498047, 0.35498047, ..., 0.35522461,\n", | |
| " 0.35522461, 0.35522461],\n", | |
| " ..., \n", | |
| " [ 0.57958984, 0.57958984, 0.57958984, ..., 0.57958984,\n", | |
| " 0.57958984, 0.57958984],\n", | |
| " [ 0.58007812, 0.58007812, 0.58007812, ..., 0.58007812,\n", | |
| " 0.58007812, 0.58007812],\n", | |
| " [ 0.58007812, 0.58007812, 0.58007812, ..., 0.58056641,\n", | |
| " 0.58056641, 0.58056641]],\n", | |
| "\n", | |
| " [[ 1.20410156, 1.20410156, 1.20410156, ..., 1.20410156,\n", | |
| " 1.20410156, 1.20410156],\n", | |
| " [ 1.20410156, 1.20410156, 1.20410156, ..., 1.20507812,\n", | |
| " 1.20507812, 1.20507812],\n", | |
| " [ 1.20507812, 1.20507812, 1.20507812, ..., 1.20507812,\n", | |
| " 1.20507812, 1.20507812],\n", | |
| " ..., \n", | |
| " [ 1.4296875 , 1.4296875 , 1.4296875 , ..., 1.4296875 ,\n", | |
| " 1.4296875 , 1.4296875 ],\n", | |
| " [ 1.4296875 , 1.4296875 , 1.4296875 , ..., 1.43066406,\n", | |
| " 1.43066406, 1.43066406],\n", | |
| " [ 1.43066406, 1.43066406, 1.43066406, ..., 1.43066406,\n", | |
| " 1.43066406, 1.43066406]],\n", | |
| "\n", | |
| " [[ 2.0546875 , 2.0546875 , 2.0546875 , ..., 2.0546875 ,\n", | |
| " 2.0546875 , 2.0546875 ],\n", | |
| " [ 2.0546875 , 2.0546875 , 2.0546875 , ..., 2.0546875 ,\n", | |
| " 2.0546875 , 2.0546875 ],\n", | |
| " [ 2.0546875 , 2.0546875 , 2.0546875 , ..., 2.0546875 ,\n", | |
| " 2.0546875 , 2.0546875 ],\n", | |
| " ..., \n", | |
| " [ 2.27929688, 2.27929688, 2.27929688, ..., 2.27929688,\n", | |
| " 2.27929688, 2.27929688],\n", | |
| " [ 2.27929688, 2.27929688, 2.27929688, ..., 2.27929688,\n", | |
| " 2.27929688, 2.27929688],\n", | |
| " [ 2.28125 , 2.28125 , 2.28125 , ..., 2.28125 ,\n", | |
| " 2.28125 , 2.28125 ]]],\n", | |
| "\n", | |
| "\n", | |
| " [[[ 2.56054688, 2.56054688, 2.56054688, ..., 2.56054688,\n", | |
| " 2.56054688, 2.56054688],\n", | |
| " [ 2.5625 , 2.5625 , 2.5625 , ..., 2.5625 ,\n", | |
| " 2.5625 , 2.5625 ],\n", | |
| " [ 2.5625 , 2.5625 , 2.5625 , ..., 2.5625 ,\n", | |
| " 2.5625 , 2.5625 ],\n", | |
| " ..., \n", | |
| " [ 2.78710938, 2.78710938, 2.78710938, ..., 2.78710938,\n", | |
| " 2.78710938, 2.78710938],\n", | |
| " [ 2.78710938, 2.78710938, 2.78710938, ..., 2.78710938,\n", | |
| " 2.78710938, 2.78710938],\n", | |
| " [ 2.78710938, 2.78710938, 2.78710938, ..., 2.78710938,\n", | |
| " 2.78710938, 2.78710938]],\n", | |
| "\n", | |
| " [[ 3.41210938, 3.41210938, 3.41210938, ..., 3.41210938,\n", | |
| " 3.41210938, 3.41210938],\n", | |
| " [ 3.41210938, 3.41210938, 3.41210938, ..., 3.41210938,\n", | |
| " 3.41210938, 3.41210938],\n", | |
| " [ 3.41210938, 3.41210938, 3.41210938, ..., 3.41210938,\n", | |
| " 3.41210938, 3.41210938],\n", | |
| " ..., \n", | |
| " [ 3.63671875, 3.63671875, 3.63671875, ..., 3.63671875,\n", | |
| " 3.63671875, 3.63671875],\n", | |
| " [ 3.63671875, 3.63671875, 3.63671875, ..., 3.63671875,\n", | |
| " 3.63671875, 3.63671875],\n", | |
| " [ 3.63671875, 3.63671875, 3.63671875, ..., 3.63671875,\n", | |
| " 3.63671875, 3.63671875]],\n", | |
| "\n", | |
| " [[ 4.26171875, 4.26171875, 4.26171875, ..., 4.26171875,\n", | |
| " 4.26171875, 4.26171875],\n", | |
| " [ 4.26171875, 4.26171875, 4.26171875, ..., 4.26171875,\n", | |
| " 4.26171875, 4.26171875],\n", | |
| " [ 4.26171875, 4.26171875, 4.26171875, ..., 4.26171875,\n", | |
| " 4.26171875, 4.26171875],\n", | |
| " ..., \n", | |
| " [ 4.48828125, 4.48828125, 4.48828125, ..., 4.48828125,\n", | |
| " 4.48828125, 4.48828125],\n", | |
| " [ 4.48828125, 4.48828125, 4.48828125, ..., 4.48828125,\n", | |
| " 4.48828125, 4.48828125],\n", | |
| " [ 4.48828125, 4.48828125, 4.48828125, ..., 4.48828125,\n", | |
| " 4.48828125, 4.48828125]]],\n", | |
| "\n", | |
| "\n", | |
| " [[[ 5.35546875, 5.35546875, 5.35546875, ..., 5.35546875,\n", | |
| " 5.35546875, 5.35546875],\n", | |
| " [ 5.35546875, 5.35546875, 5.35546875, ..., 5.35546875,\n", | |
| " 5.35546875, 5.35546875],\n", | |
| " [ 5.35546875, 5.35546875, 5.35546875, ..., 5.35546875,\n", | |
| " 5.35546875, 5.35546875],\n", | |
| " ..., \n", | |
| " [ 5.578125 , 5.578125 , 5.578125 , ..., 5.58203125,\n", | |
| " 5.58203125, 5.58203125],\n", | |
| " [ 5.58203125, 5.58203125, 5.58203125, ..., 5.58203125,\n", | |
| " 5.58203125, 5.58203125],\n", | |
| " [ 5.58203125, 5.58203125, 5.58203125, ..., 5.58203125,\n", | |
| " 5.58203125, 5.58203125]],\n", | |
| "\n", | |
| " [[ 6.203125 , 6.203125 , 6.203125 , ..., 6.203125 ,\n", | |
| " 6.203125 , 6.203125 ],\n", | |
| " [ 6.203125 , 6.203125 , 6.203125 , ..., 6.20703125,\n", | |
| " 6.20703125, 6.20703125],\n", | |
| " [ 6.20703125, 6.20703125, 6.20703125, ..., 6.20703125,\n", | |
| " 6.20703125, 6.20703125],\n", | |
| " ..., \n", | |
| " [ 6.4296875 , 6.4296875 , 6.4296875 , ..., 6.4296875 ,\n", | |
| " 6.4296875 , 6.4296875 ],\n", | |
| " [ 6.4296875 , 6.4296875 , 6.4296875 , ..., 6.4296875 ,\n", | |
| " 6.4296875 , 6.4296875 ],\n", | |
| " [ 6.4296875 , 6.4296875 , 6.4296875 , ..., 6.4296875 ,\n", | |
| " 6.4296875 , 6.4296875 ]],\n", | |
| "\n", | |
| " [[ 7.0546875 , 7.0546875 , 7.0546875 , ..., 7.0546875 ,\n", | |
| " 7.0546875 , 7.0546875 ],\n", | |
| " [ 7.0546875 , 7.0546875 , 7.0546875 , ..., 7.0546875 ,\n", | |
| " 7.0546875 , 7.0546875 ],\n", | |
| " [ 7.0546875 , 7.0546875 , 7.0546875 , ..., 7.0546875 ,\n", | |
| " 7.0546875 , 7.0546875 ],\n", | |
| " ..., \n", | |
| " [ 7.28125 , 7.28125 , 7.28125 , ..., 7.28125 ,\n", | |
| " 7.28125 , 7.28125 ],\n", | |
| " [ 7.28125 , 7.28125 , 7.28125 , ..., 7.28125 ,\n", | |
| " 7.28125 , 7.28125 ],\n", | |
| " [ 7.28125 , 7.28125 , 7.28125 , ..., 7.28125 ,\n", | |
| " 7.28125 , 7.28125 ]]],\n", | |
| "\n", | |
| "\n", | |
| " ..., \n", | |
| " [[[ 74.0625 , 74.0625 , 74.0625 , ..., 74.0625 ,\n", | |
| " 74.0625 , 74.0625 ],\n", | |
| " [ 74.0625 , 74.0625 , 74.0625 , ..., 74.0625 ,\n", | |
| " 74.0625 , 74.0625 ],\n", | |
| " [ 74.0625 , 74.0625 , 74.0625 , ..., 74.0625 ,\n", | |
| " 74.0625 , 74.0625 ],\n", | |
| " ..., \n", | |
| " [ 74.3125 , 74.3125 , 74.3125 , ..., 74.3125 ,\n", | |
| " 74.3125 , 74.3125 ],\n", | |
| " [ 74.3125 , 74.3125 , 74.3125 , ..., 74.3125 ,\n", | |
| " 74.3125 , 74.3125 ],\n", | |
| " [ 74.3125 , 74.3125 , 74.3125 , ..., 74.3125 ,\n", | |
| " 74.3125 , 74.3125 ]],\n", | |
| "\n", | |
| " [[ 74.9375 , 74.9375 , 74.9375 , ..., 74.9375 ,\n", | |
| " 74.9375 , 74.9375 ],\n", | |
| " [ 74.9375 , 74.9375 , 74.9375 , ..., 74.9375 ,\n", | |
| " 74.9375 , 74.9375 ],\n", | |
| " [ 74.9375 , 74.9375 , 74.9375 , ..., 74.9375 ,\n", | |
| " 74.9375 , 74.9375 ],\n", | |
| " ..., \n", | |
| " [ 75.125 , 75.125 , 75.125 , ..., 75.125 ,\n", | |
| " 75.125 , 75.125 ],\n", | |
| " [ 75.125 , 75.125 , 75.125 , ..., 75.125 ,\n", | |
| " 75.125 , 75.125 ],\n", | |
| " [ 75.125 , 75.125 , 75.125 , ..., 75.125 ,\n", | |
| " 75.125 , 75.125 ]],\n", | |
| "\n", | |
| " [[ 75.75 , 75.75 , 75.75 , ..., 75.75 ,\n", | |
| " 75.75 , 75.75 ],\n", | |
| " [ 75.75 , 75.75 , 75.75 , ..., 75.75 ,\n", | |
| " 75.75 , 75.75 ],\n", | |
| " [ 75.75 , 75.75 , 75.75 , ..., 75.75 ,\n", | |
| " 75.75 , 75.75 ],\n", | |
| " ..., \n", | |
| " [ 76. , 76. , 76. , ..., 76. ,\n", | |
| " 76. , 76. ],\n", | |
| " [ 76. , 76. , 76. , ..., 76. ,\n", | |
| " 76. , 76. ],\n", | |
| " [ 76. , 76. , 76. , ..., 76. ,\n", | |
| " 76. , 76. ]]],\n", | |
| "\n", | |
| "\n", | |
| " [[[ 77.0625 , 77.0625 , 77.0625 , ..., 77.0625 ,\n", | |
| " 77.0625 , 77.0625 ],\n", | |
| " [ 77.0625 , 77.0625 , 77.0625 , ..., 77.0625 ,\n", | |
| " 77.0625 , 77.0625 ],\n", | |
| " [ 77.0625 , 77.0625 , 77.0625 , ..., 77.0625 ,\n", | |
| " 77.0625 , 77.0625 ],\n", | |
| " ..., \n", | |
| " [ 77.3125 , 77.3125 , 77.3125 , ..., 77.3125 ,\n", | |
| " 77.3125 , 77.3125 ],\n", | |
| " [ 77.3125 , 77.3125 , 77.3125 , ..., 77.3125 ,\n", | |
| " 77.3125 , 77.3125 ],\n", | |
| " [ 77.3125 , 77.3125 , 77.3125 , ..., 77.3125 ,\n", | |
| " 77.3125 , 77.3125 ]],\n", | |
| "\n", | |
| " [[ 77.9375 , 77.9375 , 77.9375 , ..., 77.9375 ,\n", | |
| " 77.9375 , 77.9375 ],\n", | |
| " [ 77.9375 , 77.9375 , 77.9375 , ..., 77.9375 ,\n", | |
| " 77.9375 , 77.9375 ],\n", | |
| " [ 77.9375 , 77.9375 , 77.9375 , ..., 77.9375 ,\n", | |
| " 77.9375 , 77.9375 ],\n", | |
| " ..., \n", | |
| " [ 78.1875 , 78.1875 , 78.1875 , ..., 78.1875 ,\n", | |
| " 78.1875 , 78.1875 ],\n", | |
| " [ 78.1875 , 78.1875 , 78.1875 , ..., 78.1875 ,\n", | |
| " 78.1875 , 78.1875 ],\n", | |
| " [ 78.1875 , 78.1875 , 78.1875 , ..., 78.1875 ,\n", | |
| " 78.1875 , 78.1875 ]],\n", | |
| "\n", | |
| " [[ 78.8125 , 78.8125 , 78.8125 , ..., 78.8125 ,\n", | |
| " 78.8125 , 78.8125 ],\n", | |
| " [ 78.8125 , 78.8125 , 78.8125 , ..., 78.8125 ,\n", | |
| " 78.8125 , 78.8125 ],\n", | |
| " [ 78.8125 , 78.8125 , 78.8125 , ..., 78.8125 ,\n", | |
| " 78.8125 , 78.8125 ],\n", | |
| " ..., \n", | |
| " [ 79. , 79. , 79. , ..., 79. ,\n", | |
| " 79. , 79. ],\n", | |
| " [ 79. , 79. , 79. , ..., 79. ,\n", | |
| " 79. , 79. ],\n", | |
| " [ 79. , 79. , 79. , ..., 79. ,\n", | |
| " 79. , 79. ]]],\n", | |
| "\n", | |
| "\n", | |
| " [[[ 0. , 0. , 0. , ..., 79.5 ,\n", | |
| " 79.5 , 79.5 ],\n", | |
| " [ 0. , 0. , 0. , ..., 79.5 ,\n", | |
| " 79.5 , 79.5 ],\n", | |
| " [ 0. , 0. , 0. , ..., 79.5 ,\n", | |
| " 79.5 , 79.5 ],\n", | |
| " ..., \n", | |
| " [ 79.6875 , 79.6875 , 79.6875 , ..., 79.6875 ,\n", | |
| " 79.6875 , 79.6875 ],\n", | |
| " [ 79.6875 , 79.6875 , 79.6875 , ..., 79.6875 ,\n", | |
| " 79.6875 , 79.6875 ],\n", | |
| " [ 79.6875 , 79.6875 , 79.6875 , ..., 79.6875 ,\n", | |
| " 79.6875 , 79.6875 ]],\n", | |
| "\n", | |
| " [[ 0. , 0. , 0. , ..., 80.3125 ,\n", | |
| " 80.3125 , 80.3125 ],\n", | |
| " [ 0. , 0. , 0. , ..., 80.3125 ,\n", | |
| " 80.3125 , 80.3125 ],\n", | |
| " [ 0. , 0. , 0. , ..., 80.3125 ,\n", | |
| " 80.3125 , 80.3125 ],\n", | |
| " ..., \n", | |
| " [ 80.5625 , 80.5625 , 80.5625 , ..., 80.5625 ,\n", | |
| " 80.5625 , 80.5625 ],\n", | |
| " [ 80.5625 , 80.5625 , 80.5625 , ..., 80.5625 ,\n", | |
| " 80.5625 , 80.5625 ],\n", | |
| " [ 80.5625 , 80.5625 , 80.5625 , ..., 80.5625 ,\n", | |
| " 80.5625 , 80.5625 ]],\n", | |
| "\n", | |
| " [[ 0. , 0. , 0. , ..., 81.1875 ,\n", | |
| " 81.1875 , 81.1875 ],\n", | |
| " [ 0. , 0. , 0. , ..., 81.1875 ,\n", | |
| " 81.1875 , 81.1875 ],\n", | |
| " [ 0. , 0. , 0. , ..., 81.1875 ,\n", | |
| " 81.1875 , 81.1875 ],\n", | |
| " ..., \n", | |
| " [ 81.4375 , 81.4375 , 81.4375 , ..., 81.4375 ,\n", | |
| " 81.4375 , 81.4375 ],\n", | |
| " [ 81.4375 , 81.4375 , 81.4375 , ..., 81.4375 ,\n", | |
| " 81.4375 , 81.4375 ],\n", | |
| " [ 81.4375 , 81.4375 , 81.4375 , ..., 81.4375 ,\n", | |
| " 81.4375 , 81.4375 ]]]])" | |
| ] | |
| }, | |
| "execution_count": 54, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "batch_output" | |
| ] | |
| } | |
| ], | |
| "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.2" | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 2 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment