{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "9bde898e", "metadata": {}, "outputs": [], "source": [ "#|default_exp app" ] }, { "cell_type": "code", "execution_count": 2, "id": "87c050db", "metadata": {}, "outputs": [], "source": [ "#|export\n", "from fastai.vision.all import *\n", "import gradio as gr\n", "import skimage\n", "\n", "def is_cat(x): return x[0].isupper()" ] }, { "cell_type": "code", "execution_count": 3, "id": "02e134f8", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "PILImage mode=RGB size=192x108" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "im = PILImage.create('Dog.jpg')\n", "im.thumbnail((192,192))\n", "im" ] }, { "cell_type": "code", "execution_count": 4, "id": "8aa2e243", "metadata": {}, "outputs": [], "source": [ "#|export\n", "learn = load_learner('model.pkl')" ] }, { "cell_type": "code", "execution_count": 5, "id": "ec967332", "metadata": {}, "outputs": [ { "data": { "text/html": [], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "/home/jack/anaconda3/lib/python3.8/site-packages/torch/nn/functional.py:718: UserWarning: Named tensors and all their associated APIs are an experimental feature and subject to change. Please do not use them for anything important until they are released as stable. (Triggered internally at /opt/conda/conda-bld/pytorch_1623448278899/work/c10/core/TensorImpl.h:1156.)\n", " return torch.max_pool2d(input, kernel_size, stride, padding, dilation, ceil_mode)\n" ] }, { "data": { "text/plain": [ "('False', tensor(0), tensor([9.9995e-01, 5.1218e-05]))" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "learn.predict(im)" ] }, { "cell_type": "code", "execution_count": 6, "id": "cbbb9d29", "metadata": {}, "outputs": [], "source": [ "#|export\n", "categories = ('Dog','Cat')\n", "\n", "def classify_image(img):\n", " pred,idx,probs = learn.predict(img)\n", " return dict(zip(categories,map(float,probs)))" ] }, { "cell_type": "code", "execution_count": 7, "id": "416893f6", "metadata": {}, "outputs": [ { "data": { "text/html": [], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "{'Dog': 0.9999487400054932, 'Cat': 5.121831418364309e-05}" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "classify_image(im)" ] }, { "cell_type": "code", "execution_count": 8, "id": "c984370a", "metadata": {}, "outputs": [], "source": [ "title = \"Pet Breed Classifier\"\n", "description = \"A pet breed classifier trained on the Oxford Pets dataset with fastai. Created as a demo for Gradio and HuggingFace Spaces.\"" ] }, { "cell_type": "code", "execution_count": 9, "id": "908edaf4", "metadata": {}, "outputs": [], "source": [ "article=\"

Blog post

\"" ] }, { "cell_type": "code", "execution_count": 10, "id": "626ab3b7", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Running on local URL: http://127.0.0.1:7860/\n", "\n", "To create a public link, set `share=True` in `launch()`.\n" ] }, { "data": { "text/plain": [ "(,\n", " 'http://127.0.0.1:7860/',\n", " None)" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#|export\n", "image = gr.inputs.Image(shape=(192,192))\n", "label = gr.outputs.Label()\n", "examples = ['Dog.jpg','Cat.jpg','DogCat.jpg']\n", "\n", "intf = gr.Interface(fn=classify_image, inputs=image, outputs=label, examples=examples)\n", "intf.launch(inline=False)" ] }, { "cell_type": "code", "execution_count": 11, "id": "974b81e0", "metadata": {}, "outputs": [], "source": [ "interpretation='default'\n", "enable_queue=True" ] }, { "cell_type": "code", "execution_count": 12, "id": "c6d080ef", "metadata": {}, "outputs": [], "source": [ "m = learn.model" ] }, { "cell_type": "code", "execution_count": 13, "id": "c8de1551", "metadata": {}, "outputs": [], "source": [ "ps = list(m.parameters())" ] }, { "cell_type": "code", "execution_count": 14, "id": "1c29d8d7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Parameter containing:\n", "tensor([ 2.3532e-01, 2.6711e-01, -5.1096e-08, 5.1703e-01, 3.4404e-09,\n", " 2.2236e-01, 4.2136e-01, 1.3153e-07, 2.5234e-01, 1.5152e-06,\n", " 3.1680e-01, 2.4778e-01, 3.7890e-01, 1.0862e-05, 2.7515e-01,\n", " 2.3752e-01, 2.4186e-01, 3.9407e-01, 4.6862e-01, 2.9020e-01,\n", " 2.7151e-01, 2.7820e-01, 2.9074e-01, 2.0487e-01, 2.6023e-01,\n", " 2.7775e-01, 2.9265e-01, 3.1585e-01, 3.8752e-01, 3.0455e-01,\n", " 2.6713e-01, 2.1207e-01, 2.8719e-01, 3.3273e-01, 4.2679e-01,\n", " 3.7354e-01, 7.4804e-08, 1.9030e-01, 1.4740e-08, 2.2530e-01,\n", " 1.8001e-01, 2.4755e-01, 2.7374e-01, 2.5899e-01, 2.9401e-01,\n", " 2.9993e-01, 2.2322e-01, 2.6375e-01, 2.2001e-08, 2.6563e-01,\n", " 2.2172e-01, 2.8452e-01, 3.3147e-01, 2.2754e-01, 3.6605e-01,\n", " 2.1161e-01, 2.3832e-01, 2.4952e-01, 5.2613e-01, 2.4867e-01,\n", " 2.9496e-01, 2.5869e-01, 4.8316e-01, 2.6730e-01],\n", " requires_grad=True)" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ps[1]" ] }, { "cell_type": "code", "execution_count": 15, "id": "ee70c89e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "torch.Size([64, 3, 7, 7])" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ps[0].shape" ] }, { "cell_type": "code", "execution_count": 16, "id": "820af164", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Parameter containing:\n", "tensor([[[[-1.0371e-02, -6.0737e-03, -1.7333e-03, ..., 5.6638e-02,\n", " 1.7043e-02, -1.2758e-02],\n", " [ 1.1178e-02, 9.6355e-03, -1.0981e-01, ..., -2.7118e-01,\n", " -1.2907e-01, 3.7211e-03],\n", " [-6.8638e-03, 5.9185e-02, 2.9559e-01, ..., 5.1977e-01,\n", " 2.5635e-01, 6.3599e-02],\n", " ...,\n", " [-2.7453e-02, 1.6144e-02, 7.2696e-02, ..., -3.3275e-01,\n", " -4.2049e-01, -2.5774e-01],\n", " [ 3.0674e-02, 4.1065e-02, 6.2963e-02, ..., 4.1391e-01,\n", " 3.9368e-01, 1.6613e-01],\n", " [-1.3681e-02, -3.5849e-03, -2.3989e-02, ..., -1.5065e-01,\n", " -8.2174e-02, -5.7240e-03]],\n", "\n", " [[-1.1323e-02, -2.6540e-02, -3.4532e-02, ..., 3.2586e-02,\n", " 6.5361e-04, -2.5781e-02],\n", " [ 4.5812e-02, 3.3743e-02, -1.0437e-01, ..., -3.1242e-01,\n", " -1.6047e-01, -1.2708e-03],\n", " [-7.3293e-04, 9.8534e-02, 4.0224e-01, ..., 7.0797e-01,\n", " 3.6893e-01, 1.2462e-01],\n", " ...,\n", " [-5.5813e-02, -5.0903e-03, 2.7234e-02, ..., -4.6164e-01,\n", " -5.7068e-01, -3.6541e-01],\n", " [ 3.2956e-02, 5.5721e-02, 9.9830e-02, ..., 5.4647e-01,\n", " 4.8288e-01, 1.9879e-01],\n", " [ 5.3906e-03, 6.8168e-03, -1.7116e-02, ..., -1.4813e-01,\n", " -7.7162e-02, 8.1245e-04]],\n", "\n", " [[-1.8671e-03, -8.9911e-03, 2.1413e-02, ..., 8.9352e-02,\n", " 3.3761e-02, -2.0026e-02],\n", " [ 1.5610e-02, -1.8429e-02, -1.2566e-01, ..., -2.5320e-01,\n", " -1.2964e-01, -2.7851e-02],\n", " [ 1.0033e-02, 4.9258e-02, 2.1723e-01, ..., 3.4891e-01,\n", " 1.0451e-01, 1.8588e-02],\n", " ...,\n", " [-2.8145e-02, 1.8642e-02, 9.8909e-02, ..., -1.1717e-01,\n", " -2.5741e-01, -1.5430e-01],\n", " [ 2.0962e-02, -2.3744e-03, -3.7544e-02, ..., 2.4163e-01,\n", " 2.4366e-01, 1.1816e-01],\n", " [ 9.3660e-04, 9.9884e-04, -9.7999e-03, ..., -1.4845e-01,\n", " -1.1736e-01, -3.8164e-02]]],\n", "\n", "\n", " [[[-4.3598e-03, -4.0001e-03, 3.2201e-03, ..., -3.6965e-02,\n", " -2.5102e-02, -4.7870e-02],\n", " [ 5.1388e-02, 5.3492e-02, 8.0506e-02, ..., 1.4486e-01,\n", " 1.4294e-01, 1.2320e-01],\n", " [-7.2494e-03, 2.2657e-03, 3.7657e-02, ..., 6.1599e-02,\n", " 8.0406e-02, 1.1722e-01],\n", " ...,\n", " [-2.6683e-02, -1.2289e-01, -1.3645e-01, ..., -1.4062e-01,\n", " -1.1146e-01, -4.9471e-02],\n", " [ 2.3581e-02, -1.7209e-02, -1.1016e-02, ..., -1.8736e-02,\n", " -2.3196e-02, -2.9364e-02],\n", " [ 2.8753e-02, 2.1741e-02, 4.7980e-02, ..., 2.5596e-02,\n", " 3.5452e-02, 1.1371e-02]],\n", "\n", " [[ 4.5553e-04, 1.2147e-02, 4.2034e-02, ..., 4.6400e-02,\n", " 4.0403e-02, -1.4438e-02],\n", " [ 4.3474e-02, 6.8798e-02, 1.3268e-01, ..., 2.8604e-01,\n", " 2.6904e-01, 2.0935e-01],\n", " [-5.7608e-02, -2.2630e-02, 3.0541e-02, ..., 1.3763e-01,\n", " 1.6538e-01, 1.7946e-01],\n", " ...,\n", " [-1.0818e-01, -2.5228e-01, -2.9743e-01, ..., -2.8503e-01,\n", " -2.1492e-01, -1.0320e-01],\n", " [ 4.0686e-02, -3.2776e-02, -6.3434e-02, ..., -9.2350e-02,\n", " -6.9845e-02, -4.9818e-02],\n", " [ 8.2932e-02, 8.7583e-02, 1.0112e-01, ..., 5.2723e-02,\n", " 6.0975e-02, 4.1196e-02]],\n", "\n", " [[-1.6455e-02, -1.3923e-02, 5.2383e-03, ..., 4.3658e-02,\n", " 2.2652e-02, -4.6026e-02],\n", " [ 3.3169e-02, 4.1989e-02, 9.3464e-02, ..., 2.6157e-01,\n", " 2.2965e-01, 1.6690e-01],\n", " [-4.6016e-02, -1.6397e-02, 2.6769e-02, ..., 1.4947e-01,\n", " 1.3210e-01, 1.3572e-01],\n", " ...,\n", " [-7.2174e-02, -1.8907e-01, -2.3394e-01, ..., -1.9044e-01,\n", " -1.5614e-01, -7.6042e-02],\n", " [ 5.1112e-02, -2.5866e-02, -6.9388e-02, ..., -5.9046e-02,\n", " -6.1586e-02, -4.4603e-02],\n", " [ 1.1170e-01, 7.8938e-02, 6.5804e-02, ..., 3.1575e-02,\n", " 2.5162e-02, 7.3570e-03]]],\n", "\n", "\n", " [[[-7.0824e-08, -6.4305e-08, -7.3805e-08, ..., -9.7998e-08,\n", " -1.0904e-07, -8.3420e-08],\n", " [-6.1124e-09, 2.0612e-09, -8.0921e-09, ..., -4.9840e-08,\n", " -4.3835e-08, -3.0537e-09],\n", " [ 7.1952e-08, 7.5615e-08, 5.9281e-08, ..., -9.7507e-09,\n", " -1.0951e-09, 4.2442e-08],\n", " ...,\n", " [ 9.5887e-08, 1.0039e-07, 7.9816e-08, ..., -1.7490e-08,\n", " -4.7665e-08, -1.3265e-08],\n", " [ 1.2904e-07, 1.4761e-07, 1.7476e-07, ..., 1.3232e-07,\n", " 1.0628e-07, 9.3314e-08],\n", " [ 1.2558e-07, 1.3644e-07, 1.8431e-07, ..., 2.1398e-07,\n", " 1.7709e-07, 1.7166e-07]],\n", "\n", " [[-1.2690e-07, -9.6137e-08, -1.0372e-07, ..., -1.1808e-07,\n", " -1.3309e-07, -1.0819e-07],\n", " [-5.7412e-08, -2.5054e-08, -3.0114e-08, ..., -7.2921e-08,\n", " -6.7021e-08, -2.2574e-08],\n", " [ 2.1813e-08, 4.8608e-08, 3.1221e-08, ..., -1.8694e-08,\n", " -7.9589e-09, 3.9749e-08],\n", " ...,\n", " [ 5.6012e-08, 7.5524e-08, 4.4495e-08, ..., -4.4127e-08,\n", " -5.9929e-08, -1.8247e-08],\n", " [ 7.7612e-08, 9.8346e-08, 1.0455e-07, ..., 6.3270e-08,\n", " 4.1780e-08, 4.5900e-08],\n", " [ 5.9832e-08, 7.1005e-08, 9.0435e-08, ..., 1.1654e-07,\n", " 8.7549e-08, 9.8835e-08]],\n", "\n", " [[-4.3809e-08, 1.3270e-08, 7.8274e-09, ..., -5.8803e-09,\n", " -2.6217e-08, -1.5649e-08],\n", " [ 4.1699e-08, 1.0777e-07, 1.0946e-07, ..., 7.6402e-08,\n", " 7.1449e-08, 9.7613e-08],\n", " [ 1.0436e-07, 1.6585e-07, 1.5933e-07, ..., 1.3517e-07,\n", " 1.3487e-07, 1.6448e-07],\n", " ...,\n", " [ 9.8762e-08, 1.5072e-07, 1.2546e-07, ..., 6.8314e-08,\n", " 6.8381e-08, 1.1367e-07],\n", " [ 9.1433e-08, 1.3576e-07, 1.3793e-07, ..., 1.1678e-07,\n", " 1.1723e-07, 1.4394e-07],\n", " [ 6.2181e-08, 8.8183e-08, 1.0456e-07, ..., 1.3941e-07,\n", " 1.3332e-07, 1.5844e-07]]],\n", "\n", "\n", " ...,\n", "\n", "\n", " [[[-6.1888e-02, -3.0174e-02, 1.9244e-02, ..., 4.3601e-02,\n", " -2.2192e-02, -4.2292e-02],\n", " [-3.8036e-02, 6.1249e-03, 4.5824e-02, ..., 9.5968e-02,\n", " 5.9178e-02, 2.9933e-02],\n", " [-2.9671e-02, 2.8087e-03, 2.0472e-02, ..., 5.9693e-02,\n", " 4.1303e-02, 2.3059e-02],\n", " ...,\n", " [ 1.1850e-02, 4.5660e-02, 4.4850e-02, ..., 4.7272e-02,\n", " 2.2078e-02, -5.6974e-03],\n", " [-3.2581e-02, -1.2320e-02, 2.1909e-02, ..., 5.7912e-02,\n", " -7.6699e-03, -5.9911e-02],\n", " [-4.3445e-02, -2.8265e-02, -5.9919e-03, ..., 8.8342e-02,\n", " 8.3350e-03, -5.0136e-02]],\n", "\n", " [[-6.1221e-02, -1.3927e-02, 1.7289e-02, ..., 1.8310e-02,\n", " -3.2762e-02, -4.1110e-02],\n", " [-3.1370e-02, 2.4600e-02, 4.5634e-02, ..., 6.6870e-02,\n", " 4.6721e-02, 3.3299e-02],\n", " [-3.2109e-02, 2.0853e-02, 2.3466e-02, ..., 3.5286e-02,\n", " 3.6499e-02, 3.1337e-02],\n", " ...,\n", " [ 1.7768e-02, 6.1103e-02, 4.8322e-02, ..., 3.7737e-02,\n", " 2.8764e-02, 1.3854e-02],\n", " [-1.0903e-02, 2.2090e-02, 4.2763e-02, ..., 6.0185e-02,\n", " 1.6130e-02, -1.2603e-02],\n", " [-2.2318e-02, 1.3237e-02, 3.0937e-02, ..., 1.0400e-01,\n", " 4.0087e-02, -5.3933e-03]],\n", "\n", " [[-8.5255e-02, -4.2523e-02, 6.8824e-03, ..., 3.0748e-02,\n", " -3.4842e-02, -4.9978e-02],\n", " [-2.9072e-02, 1.8316e-02, 5.1211e-02, ..., 9.0290e-02,\n", " 5.3507e-02, 4.0244e-02],\n", " [-3.9814e-02, -9.6470e-04, 9.7550e-03, ..., 2.4207e-02,\n", " 2.6362e-02, 2.5553e-02],\n", " ...,\n", " [-3.1406e-03, 3.0533e-02, 1.6427e-02, ..., 5.5678e-03,\n", " -6.2801e-03, -8.4954e-03],\n", " [-2.2969e-02, -2.7523e-03, 2.3285e-02, ..., 3.5936e-02,\n", " -1.4276e-02, -3.2448e-02],\n", " [-9.8640e-03, 7.1443e-03, 1.0765e-02, ..., 7.0571e-02,\n", " 1.3040e-02, -8.3499e-03]]],\n", "\n", "\n", " [[[-7.9636e-03, 1.9806e-02, 3.4058e-02, ..., 2.8530e-02,\n", " 1.2682e-02, 1.8005e-02],\n", " [ 8.6733e-03, -3.3049e-02, -3.5933e-02, ..., 7.2341e-02,\n", " 4.5721e-02, 5.2235e-02],\n", " [-3.6231e-02, -1.1894e-01, -1.3785e-01, ..., 3.3661e-02,\n", " 3.7666e-02, 2.6798e-02],\n", " ...,\n", " [ 1.7242e-02, 3.8832e-03, -8.3154e-03, ..., 2.6821e-03,\n", " 1.8225e-02, 1.5979e-02],\n", " [-1.0236e-03, 1.6355e-02, 1.7065e-02, ..., 3.2948e-03,\n", " 2.2780e-02, 5.9491e-04],\n", " [ 6.0888e-03, 2.7059e-02, 1.4245e-02, ..., 7.5219e-03,\n", " 1.8695e-02, 1.5569e-02]],\n", "\n", " [[-1.3428e-02, -5.2683e-04, 8.0258e-03, ..., -6.2113e-03,\n", " 9.1388e-03, 1.5659e-02],\n", " [-1.8293e-02, -6.7961e-02, -7.0796e-02, ..., 2.9736e-02,\n", " 2.6144e-02, 2.3664e-02],\n", " [-5.4284e-02, -1.4657e-01, -1.6214e-01, ..., 1.1723e-02,\n", " 3.2393e-02, 1.1879e-02],\n", " ...,\n", " [ 8.7467e-04, -1.7481e-02, -1.9483e-02, ..., -4.1293e-03,\n", " 2.4618e-02, 1.2863e-02],\n", " [-6.1881e-04, 1.1811e-02, 2.4806e-02, ..., 6.0966e-03,\n", " 3.9180e-02, 9.6544e-03],\n", " [-7.1816e-03, 6.6815e-03, 5.2450e-03, ..., -7.6175e-03,\n", " 2.7221e-02, 1.7738e-02]],\n", "\n", " [[-2.6432e-04, -4.9575e-03, 2.2028e-03, ..., -4.8078e-02,\n", " -2.6259e-02, -2.3626e-02],\n", " [-3.2725e-04, -5.1541e-02, -6.0127e-02, ..., -1.7499e-02,\n", " -2.3477e-02, -3.7444e-02],\n", " [-2.2673e-02, -9.9471e-02, -1.1189e-01, ..., -1.1797e-02,\n", " -8.4821e-03, -4.0748e-02],\n", " ...,\n", " [ 1.1402e-02, -8.0548e-03, -1.5673e-03, ..., -3.4194e-02,\n", " -8.8273e-03, -2.3603e-02],\n", " [ 2.9159e-03, 6.3760e-04, 1.9852e-02, ..., -2.2071e-02,\n", " 1.4723e-02, -1.4567e-02],\n", " [-1.9127e-02, -2.9497e-02, -2.3374e-02, ..., -4.8654e-02,\n", " -1.3150e-02, -2.4429e-02]]],\n", "\n", "\n", " [[[-3.6273e-02, 7.2578e-03, 1.9202e-02, ..., 1.9734e-02,\n", " 1.5011e-02, -1.7157e-02],\n", " [-1.1040e-02, 8.5732e-02, 1.2678e-01, ..., 1.3876e-02,\n", " 8.8220e-05, -3.0011e-02],\n", " [ 1.1324e-01, 1.8641e-01, 5.0776e-02, ..., -1.7319e-01,\n", " -7.1880e-02, -6.2327e-02],\n", " ...,\n", " [-5.3042e-02, -2.5774e-01, -2.6736e-01, ..., 2.6796e-01,\n", " 1.4361e-01, 5.5317e-02],\n", " [-2.1005e-02, -2.9936e-02, 1.0252e-01, ..., 2.0855e-01,\n", " -4.0068e-03, -3.7960e-02],\n", " [-2.2157e-02, 1.2397e-02, 8.4349e-02, ..., -4.4893e-02,\n", " -1.4674e-01, -9.0741e-02]],\n", "\n", " [[-5.3739e-03, 3.2867e-02, 1.5604e-02, ..., -7.5765e-03,\n", " 3.2058e-03, 1.2969e-03],\n", " [ 6.1755e-02, 1.4908e-01, 1.4659e-01, ..., -2.8719e-02,\n", " -2.0035e-02, -8.9951e-03],\n", " [ 1.6150e-01, 2.0896e-01, -2.5438e-02, ..., -2.7259e-01,\n", " -1.0714e-01, -6.2789e-02],\n", " ...,\n", " [-1.3717e-01, -4.0851e-01, -3.8537e-01, ..., 4.0864e-01,\n", " 2.6222e-01, 1.3512e-01],\n", " [-5.9357e-02, -6.1123e-02, 1.4207e-01, ..., 3.5796e-01,\n", " 9.1065e-02, -1.5403e-03],\n", " [ 7.8781e-03, 5.8443e-02, 1.5346e-01, ..., 4.7184e-02,\n", " -1.0078e-01, -9.7731e-02]],\n", "\n", " [[-5.6557e-03, 1.3477e-02, -2.6363e-02, ..., 4.6122e-03,\n", " 2.2044e-03, 1.4039e-02],\n", " [ 6.6347e-03, 4.5257e-02, 6.0375e-02, ..., 1.4498e-02,\n", " -4.9248e-03, 4.2125e-03],\n", " [ 5.5308e-02, 1.2406e-01, 4.3308e-02, ..., -1.4471e-01,\n", " -7.4329e-02, -5.7385e-02],\n", " ...,\n", " [-3.1464e-02, -1.6325e-01, -1.5783e-01, ..., 2.2919e-01,\n", " 1.2034e-01, 7.2164e-02],\n", " [-1.0441e-02, -1.0932e-03, 8.4661e-02, ..., 1.5761e-01,\n", " 2.2270e-02, -9.9331e-03],\n", " [-4.8670e-03, -4.9970e-03, 3.6399e-02, ..., -2.4241e-02,\n", " -7.1060e-02, -6.6646e-02]]]], requires_grad=True)" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ps[0]" ] }, { "cell_type": "code", "execution_count": 17, "id": "f479fca8", "metadata": {}, "outputs": [], "source": [ "#This part is for exporting\n", "from nbdev.export import notebook2script" ] }, { "cell_type": "code", "execution_count": 18, "id": "90437873", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Converted app.ipynb.\n" ] } ], "source": [ "notebook2script('app.ipynb')" ] }, { "cell_type": "code", "execution_count": null, "id": "c52e64d8", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.8.13" } }, "nbformat": 4, "nbformat_minor": 5 }