Skip to content

Instantly share code, notes, and snippets.

@jkrukowski
Created July 17, 2019 22:11
Show Gist options
  • Save jkrukowski/1b40ef7fd3c12cd9c70fa44477644f48 to your computer and use it in GitHub Desktop.
Save jkrukowski/1b40ef7fd3c12cd9c70fa44477644f48 to your computer and use it in GitHub Desktop.
my-mnist.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "my-mnist.ipynb",
"version": "0.3.2",
"provenance": [],
"collapsed_sections": [],
"include_colab_link": true
},
"kernelspec": {
"name": "swift",
"display_name": "Swift"
},
"accelerator": "GPU"
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/jkrukowski/1b40ef7fd3c12cd9c70fa44477644f48/my-mnist.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "CoEfOhVWQI9T",
"colab_type": "text"
},
"source": [
"# MNIST SGD with Swift for TensorFlow"
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "w9oJuFnoUKuS",
"colab_type": "text"
},
"source": [
"## Imports\n",
"### Import necessary libraries"
]
},
{
"cell_type": "code",
"metadata": {
"id": "glNzWvo49gIl",
"colab_type": "code",
"colab": {}
},
"source": [
"import TensorFlow\n",
"import Python\n",
"import Foundation\n",
"import FoundationNetworking\n",
"%include \"EnableIPythonDisplay.swift\"\n",
"IPythonDisplay.shell.enable_matplotlib(\"inline\")\n",
"let plt = Python.import(\"matplotlib.pyplot\")\n",
"let gzip = Python.import(\"gzip\")\n",
"let pickle = Python.import(\"pickle\")\n",
"let dataPath = \"/content/sample_data/mnist.pkl.gz\""
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "S9aaSkrQVw0u",
"colab_type": "text"
},
"source": [
"## Data"
]
},
{
"cell_type": "code",
"metadata": {
"id": "mvW5qNmBNX5_",
"colab_type": "code",
"colab": {}
},
"source": [
"struct MnistData {\n",
" var x: Tensor<Float>\n",
" var y: Tensor<Int32>\n",
"}\n",
"\n",
"extension MnistData {\n",
" init(x: PythonObject, y: PythonObject) {\n",
" self.x = Tensor<Float>(numpy: x)!\n",
" self.y = Raw.cast(Tensor<Int64>(numpy: y)!)\n",
" }\n",
"}"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "bi9j1YCglJ2T",
"colab_type": "text"
},
"source": [
"## Utility functions"
]
},
{
"cell_type": "code",
"metadata": {
"id": "VEHLo6jPCw1i",
"colab_type": "code",
"colab": {}
},
"source": [
"// taken from https://www.tensorflow.org/swift/tutorials/model_training_walkthrough\n",
"\n",
"func download(from sourceString: String, to destinationString: String) {\n",
" let source = URL(string: sourceString)!\n",
" let destination = URL(fileURLWithPath: destinationString)\n",
" let data = try! Data.init(contentsOf: source)\n",
" try! data.write(to: destination)\n",
"}\n",
"\n",
"func loadData(from path: String) -> PythonObject {\n",
" let f = gzip.open(path)\n",
" defer {\n",
" f.close()\n",
" }\n",
" return pickle.load(f, encoding: \"latin-1\")\n",
"}\n",
"\n",
"func parse(data: PythonObject) -> (train: MnistData, vaild: MnistData) {\n",
" let (trainData, validData, _) = data.tuple3\n",
" let (trainX, trainY) = trainData.tuple2\n",
" let (validX, validY) = validData.tuple2\n",
" return (\n",
" MnistData(x: trainX, y: trainY),\n",
" MnistData(x: validX, y: validY)\n",
" )\n",
"}\n",
"\n",
"func randomImage(_ data: MnistData) -> (Int, Tensor<Float>) {\n",
" let index = Int.random(in: 0..<data.x.shape[0]) \n",
" return (index, data.x[index].reshaped(to: [28, 28]))\n",
"}\n",
"\n",
"func plot(_ tensor: Tensor<Float>) {\n",
" plt.imshow(tensor.makeNumpyArray(), cmap: \"gray\")\n",
" plt.show()\n",
"}\n",
"\n",
"func plot(loss: [Float]) {\n",
" plt.plot(loss)\n",
" plt.show()\n",
"}\n",
"\n",
"// taken from https://github.com/tensorflow/swift-models/blob/master/MNIST/main.swift\n",
"\n",
"func minibatch<Scalar>(\n",
" in x: Tensor<Scalar>, \n",
" at index: Int, \n",
" batchSize: Int\n",
") -> Tensor<Scalar> {\n",
" let start = index * batchSize\n",
" return x[start..<start+batchSize]\n",
"}"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "markdown",
"metadata": {
"id": "HWzrsNEGnmSG",
"colab_type": "text"
},
"source": [
"## Get the data\n",
"\n",
"Get the 'pickled' MNIST dataset from http://deeplearning.net/data/mnist/mnist.pkl.gz."
]
},
{
"cell_type": "code",
"metadata": {
"id": "bWcmkZnTocK5",
"colab_type": "code",
"colab": {}
},
"source": [
"download(\n",
" from: \"http://deeplearning.net/data/mnist/mnist.pkl.gz\", \n",
" to: dataPath\n",
")\n",
"\n",
"let data = parse(data: loadData(from: dataPath))"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "310logT4T-mZ",
"colab_type": "code",
"outputId": "02dbaa94-93d7-4496-cd43-930616f483f0",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 286
}
},
"source": [
"let (index, image) = randomImage(data.train)\n",
"plot(image)\n",
"print(\"Recognized as: \\(data.train.y[index])\")"
],
"execution_count": 5,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "stream",
"text": [
"Recognized as: 5\r\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "markdown",
"metadata": {
"id": "EVpVjR7xlggl",
"colab_type": "text"
},
"source": [
"## Train the model"
]
},
{
"cell_type": "code",
"metadata": {
"id": "JrbIs7W9YIDo",
"colab_type": "code",
"colab": {}
},
"source": [
"struct MnistModel: Layer {\n",
" var layer1 = Dense<Float>(inputSize: 784, outputSize: 10)\n",
"\n",
" @differentiable\n",
" func callAsFunction(_ input: Tensor<Float>) -> Tensor<Float> {\n",
" return layer1.call(input)\n",
" }\n",
"}"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "U-GehLP0bWd5",
"colab_type": "code",
"colab": {}
},
"source": [
"func train(\n",
" mnistData: MnistData,\n",
" model: inout MnistModel,\n",
" epochCount: Int = 1,\n",
" larningRate: Float = 2e-2,\n",
" batchSize: Int = 64\n",
") -> [Float] {\n",
" let maxBatch = Int(mnistData.x.shape[0]) / batchSize\n",
" var modelLoss = [Float]()\n",
" for epoch in 0..<epochCount {\n",
" for i in 0..<maxBatch {\n",
" let x = minibatch(in: mnistData.x, at: i, batchSize: batchSize)\n",
" let y = minibatch(in: mnistData.y, at: i, batchSize: batchSize)\n",
" let (loss, grad) = model.valueWithGradient { m -> Tensor<Float> in\n",
" let predicted = m.callAsFunction(x)\n",
" return softmaxCrossEntropy(logits: predicted, labels: y)\n",
" }\n",
" model.layer1.weight -= larningRate * grad.layer1.weight\n",
" model.layer1.bias -= larningRate * grad.layer1.bias\n",
" modelLoss.append(loss.scalarized())\n",
" }\n",
" }\n",
" return modelLoss\n",
"}"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "iHmquk4yzUxG",
"colab_type": "code",
"colab": {}
},
"source": [
"func trainWithWeightDecay(\n",
" mnistData: MnistData,\n",
" model: inout MnistModel,\n",
" epochCount: Int = 1,\n",
" larningRate: Float = 2e-2,\n",
" batchSize: Int = 64,\n",
" weightDecay: Float = 1e-5\n",
") -> [Float] {\n",
" let maxBatch = Int(mnistData.x.shape[0]) / batchSize\n",
" var modelLoss = [Float]()\n",
" for epoch in 0..<epochCount {\n",
" for i in 0..<maxBatch {\n",
" var w2: Float = 0\n",
" for p in model.recursivelyAllWritableKeyPaths(to: Tensor<Float>.self) {\n",
" w2 += pow(model[keyPath: p], 2).sum().scalarized()\n",
" }\n",
" let x = minibatch(in: mnistData.x, at: i, batchSize: batchSize)\n",
" let y = minibatch(in: mnistData.y, at: i, batchSize: batchSize)\n",
" let (loss, grad) = model.valueWithGradient { m -> Tensor<Float> in\n",
" let predicted = m.callAsFunction(x)\n",
" return softmaxCrossEntropy(logits: predicted, labels: y) + w2 * weightDecay\n",
" }\n",
" model.layer1.weight -= larningRate * grad.layer1.weight\n",
" model.layer1.bias -= larningRate * grad.layer1.bias\n",
" modelLoss.append(loss.scalarized())\n",
" }\n",
" }\n",
" return modelLoss\n",
"}"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "dScxOOME2LZK",
"colab_type": "code",
"colab": {}
},
"source": [
"var mnistModel = MnistModel()\n",
"var mnistModelWithWeightDecay = MnistModel()"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "xEr5JA272QXz",
"colab_type": "code",
"colab": {}
},
"source": [
"let loss = train(\n",
" mnistData: data.train, \n",
" model: &mnistModel,\n",
" epochCount: 1\n",
")\n",
"\n",
"let lossWithWeightDecay = trainWithWeightDecay(\n",
" mnistData: data.train, \n",
" model: &mnistModelWithWeightDecay,\n",
" epochCount: 1\n",
")"
],
"execution_count": 0,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "14sham-o5JmP",
"colab_type": "code",
"outputId": "9d048664-2dfb-43ed-fbba-acbd8a86c625",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 521
}
},
"source": [
"plot(loss: loss)\n",
"plot(loss: lossWithWeightDecay)"
],
"execution_count": 11,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "display_data",
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "RxM_NmHf2bdo",
"colab_type": "code",
"outputId": "5208fa85-2b0d-4737-9c41-65620dba5fa2",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 286
}
},
"source": [
"let item = data.vaild.x[0]\n",
"let prediction = mnistModel(item.reshaped(to: [1, 784]))\n",
"plot(item.reshaped(to: [28, 28]))\n",
"prediction.argmax(squeezingAxis: 1)"
],
"execution_count": 13,
"outputs": [
{
"output_type": "display_data",
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAP8AAAD8CAYAAAC4nHJkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4zLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvnQurowAADXZJREFUeJzt3X+MFPUZx/HPo2IEIYqQIuAp9jBN\njPGgXkxNSaO2GGtIUBOJJjZXID1NNKlaTc3VpEbShDT1R+MfGIwErFatoJEoFiwhBbQx4o8qCiIa\nBM47rogRiBqLPv3j5uyJt99ddmd39njer+Ryu/PszDzZ8GFm9ju3X3N3AYjnmKIbAFAMwg8ERfiB\noAg/EBThB4Ii/EBQhB8IivADQRF+IKjjGrkzM+N2QqDO3N0qeV1NR34zu9TM3jWz7WZ2ey3bAtBY\nVu29/WZ2rKRtkmZK2i3pFUnXuPs7iXU48gN11ogj//mStrv7B+7+paTHJc2uYXsAGqiW8E+WtGvQ\n893Zsm8xs04z22Rmm2rYF4Cc1f0DP3dfLGmxxGk/0ExqOfJ3S2oZ9Py0bBmAYaCW8L8i6SwzO9PM\njpd0taSV+bQFoN6qPu1390NmdqOk1ZKOlbTE3d/OrTMAdVX1UF9VO+OaH6i7htzkA2D4IvxAUIQf\nCIrwA0ERfiAowg8ERfiBoAg/EBThB4Ii/EBQhB8IivADQRF+ICjCDwRF+IGgCD8QFOEHgiL8QFCE\nHwiK8ANBEX4gqIZO0Y3qtLW1Jes333xzyVpra2ty3VGjRiXrXV1dyfpJJ52UrD///PMlawcOHEiu\ni/riyA8ERfiBoAg/EBThB4Ii/EBQhB8IivADQdU0S6+Z7ZB0QNJXkg65e3uZ1zNL7xBGjx6drO/c\nuTNZP/nkk/NsJ1fd3d0la6n7EyRp+fLlebcTQqWz9OZxk89F7r43h+0AaCBO+4Ggag2/S1pjZq+a\nWWceDQFojFpP+2e4e7eZfU/SC2a21d3XD35B9p8C/zEATaamI7+7d2e/+yQ9Len8IV6z2N3by30Y\nCKCxqg6/mZ1oZmMGHku6RNLmvBoDUF+1nPZPkPS0mQ1s56/u/vdcugJQdzWN8x/xzhjnH9KYMWOS\n9VWrViXrH3/8ccna66+/nlx3+vTpyfoZZ5yRrLe0tCTrI0eOLFnbs2dPct0LLrggWS+3flSVjvMz\n1AcERfiBoAg/EBThB4Ii/EBQhB8IiqE+1GT8+PHJ+m233VZVTZLmzp2brC9btixZj4qhPgBJhB8I\nivADQRF+ICjCDwRF+IGgCD8QFFN0oyZ796a/uPnFF18sWSs3zl/uz40Z568NR34gKMIPBEX4gaAI\nPxAU4QeCIvxAUIQfCIpxftRk7NixyXpXV1fV2540aVLV66I8jvxAUIQfCIrwA0ERfiAowg8ERfiB\noAg/EFTZ7+03syWSZknqc/dzsmWnSHpC0hRJOyTNcfdPyu6M7+0fdtra2pL1J598MlmfOnVqydq2\nbduS686cOTNZ37VrV7IeVZ7f279U0qWHLbtd0lp3P0vS2uw5gGGkbPjdfb2kfYctni1p4GtUlkm6\nPOe+ANRZtdf8E9y9J3vcK2lCTv0AaJCa7+13d09dy5tZp6TOWvcDIF/VHvn3mNlEScp+95V6obsv\ndvd2d2+vcl8A6qDa8K+U1JE97pD0TD7tAGiUsuE3s8ck/UvSD8xst5nNl7RQ0kwze0/Sz7LnAIaR\nsuP8ue6Mcf6m09HRkazfddddyXpLS0uy/vnnn5eszZo1K7nuunXrknUMLc9xfgBHIcIPBEX4gaAI\nPxAU4QeCIvxAUHx191Fg9OjRJWu33nprct077rgjWT/mmPTxYd++w//m69tmzJhRsrZ169bkuqgv\njvxAUIQfCIrwA0ERfiAowg8ERfiBoAg/EBTj/EeBpUuXlqxdeeWVNW17+fLlyfp9992XrDOW37w4\n8gNBEX4gKMIPBEX4gaAIPxAU4QeCIvxAUIzzHwVaW1vrtu1FixYl6y+99FLd9o364sgPBEX4gaAI\nPxAU4QeCIvxAUIQfCIrwA0GVHec3syWSZknqc/dzsmV3SvqVpP9kL+ty91X1ahJpa9asKVlra2ur\n27al8vcBLFy4sGTto48+qqon5KOSI/9SSZcOsfxed5+W/RB8YJgpG353Xy8pPS0LgGGnlmv+G83s\nTTNbYmZjc+sIQENUG/5FklolTZPUI+nuUi80s04z22Rmm6rcF4A6qCr87r7H3b9y968lPSjp/MRr\nF7t7u7u3V9skgPxVFX4zmzjo6RWSNufTDoBGqWSo7zFJF0oab2a7Jf1e0oVmNk2SS9oh6bo69gig\nDszdG7czs8btLJCRI0eWrD3yyCPJdc8777xk/fTTT6+qpwG9vb0la3Pnzk2uu3r16pr2HZW7WyWv\n4w4/ICjCDwRF+IGgCD8QFOEHgiL8QFAM9R3lTjjhhGT9uOPSt3rs378/z3a+5YsvvkjWb7nllmT9\ngQceyLOdowZDfQCSCD8QFOEHgiL8QFCEHwiK8ANBEX4gKMb5kXTuuecm6/fee2+yftFFF1W97507\ndybrU6ZMqXrbRzPG+QEkEX4gKMIPBEX4gaAIPxAU4QeCIvxAUIzzN4FRo0Yl65999lmDOjlyY8em\np2lcsmRJydrs2bNr2vfkyZOT9Z6enpq2P1wxzg8gifADQRF+ICjCDwRF+IGgCD8QFOEHgkp/absk\nM2uR9LCkCZJc0mJ3/7OZnSLpCUlTJO2QNMfdP6lfq8NXa2trsr5x48Zk/bnnnkvWN2/eXLJWbqx7\n/vz5yfqIESOS9XJj7VOnTk3WU95///1kPeo4fl4qOfIfkvQbdz9b0o8k3WBmZ0u6XdJadz9L0trs\nOYBhomz43b3H3V/LHh+QtEXSZEmzJS3LXrZM0uX1ahJA/o7omt/MpkiaLullSRPcfeC8q1f9lwUA\nhomy1/wDzGy0pBWSbnL3/Wb/v33Y3b3Ufftm1imps9ZGAeSroiO/mY1Qf/AfdfenssV7zGxiVp8o\nqW+odd19sbu3u3t7Hg0DyEfZ8Fv/If4hSVvc/Z5BpZWSOrLHHZKeyb89APVSyWn/jyX9QtJbZvZG\ntqxL0kJJfzOz+ZI+lDSnPi0Of1dddVWyfuqppybr8+bNy7OdIzL48m4otfxJ+MGDB5P166+/vupt\no7yy4Xf3jZJK/Qv4ab7tAGgU7vADgiL8QFCEHwiK8ANBEX4gKMIPBFXx7b2o3rhx44puoW5WrFiR\nrC9YsKBkra9vyJtCv9Hb21tVT6gMR34gKMIPBEX4gaAIPxAU4QeCIvxAUIQfCIopuhug3NdfX3zx\nxcn6tddem6xPmjSpZO3TTz9NrlvO/fffn6xv2LAhWT906FBN+8eRY4puAEmEHwiK8ANBEX4gKMIP\nBEX4gaAIPxAU4/zAUYZxfgBJhB8IivADQRF+ICjCDwRF+IGgCD8QVNnwm1mLma0zs3fM7G0z+3W2\n/E4z6zazN7Kfy+rfLoC8lL3Jx8wmSpro7q+Z2RhJr0q6XNIcSQfd/U8V74ybfIC6q/Qmn7Iz9rh7\nj6Se7PEBM9siaXJt7QEo2hFd85vZFEnTJb2cLbrRzN40syVmNrbEOp1mtsnMNtXUKYBcVXxvv5mN\nlvRPSX9w96fMbIKkvZJc0gL1XxrMK7MNTvuBOqv0tL+i8JvZCEnPSlrt7vcMUZ8i6Vl3P6fMdgg/\nUGe5/WGPmZmkhyRtGRz87IPAAVdI2nykTQIoTiWf9s+QtEHSW5K+zhZ3SbpG0jT1n/bvkHRd9uFg\nalsc+YE6y/W0Py+EH6g//p4fQBLhB4Ii/EBQhB8IivADQRF+ICjCDwRF+IGgCD8QFOEHgiL8QFCE\nHwiK8ANBEX4gqLJf4JmzvZI+HPR8fLasGTVrb83al0Rv1cqztzMqfWFD/57/Ozs32+Tu7YU1kNCs\nvTVrXxK9Vauo3jjtB4Ii/EBQRYd/ccH7T2nW3pq1L4neqlVIb4Ve8wMoTtFHfgAFKST8Znapmb1r\nZtvN7PYieijFzHaY2VvZzMOFTjGWTYPWZ2abBy07xcxeMLP3st9DTpNWUG9NMXNzYmbpQt+7Zpvx\nuuGn/WZ2rKRtkmZK2i3pFUnXuPs7DW2kBDPbIand3QsfEzazn0g6KOnhgdmQzOyPkva5+8LsP86x\n7v7bJuntTh3hzM116q3UzNK/VIHvXZ4zXuehiCP/+ZK2u/sH7v6lpMclzS6gj6bn7usl7Tts8WxJ\ny7LHy9T/j6fhSvTWFNy9x91fyx4fkDQws3Sh712ir0IUEf7JknYNer5bzTXlt0taY2avmlln0c0M\nYcKgmZF6JU0ospkhlJ25uZEOm1m6ad67ama8zhsf+H3XDHf/oaSfS7ohO71tSt5/zdZMwzWLJLWq\nfxq3Hkl3F9lMNrP0Ckk3ufv+wbUi37sh+irkfSsi/N2SWgY9Py1b1hTcvTv73SfpafVfpjSTPQOT\npGa/+wru5xvuvsfdv3L3ryU9qALfu2xm6RWSHnX3p7LFhb93Q/VV1PtWRPhfkXSWmZ1pZsdLulrS\nygL6+A4zOzH7IEZmdqKkS9R8sw+vlNSRPe6Q9EyBvXxLs8zcXGpmaRX83jXdjNfu3vAfSZep/xP/\n9yX9rogeSvT1fUn/zn7eLro3SY+p/zTwv+r/bGS+pHGS1kp6T9I/JJ3SRL39Rf2zOb+p/qBNLKi3\nGeo/pX9T0hvZz2VFv3eJvgp537jDDwiKD/yAoAg/EBThB4Ii/EBQhB8IivADQRF+ICjCDwT1P0/h\nXGStUmRfAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"tags": []
}
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
"[3]\n"
]
},
"metadata": {
"tags": []
},
"execution_count": 13
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "FWBLzSbw-tik",
"colab_type": "code",
"colab": {}
},
"source": [
""
],
"execution_count": 0,
"outputs": []
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment