{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "Khb4cafb5-It" }, "source": [ "# 합성곱 신경망의 시각화" ] }, { "cell_type": "markdown", "metadata": { "id": "gtBpMgcc5-I0" }, "source": [ "\n", " \n", "
\n", " 구글 코랩에서 실행하기\n", "
" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "id": "sao-3wR_EG3L" }, "outputs": [], "source": [ "# 실행마다 동일한 결과를 얻기 위해 케라스에 랜덤 시드를 사용하고 텐서플로 연산을 결정적으로 만듭니다.\n", "import tensorflow as tf\n", "\n", "tf.keras.utils.set_random_seed(42)" ] }, { "cell_type": "markdown", "metadata": { "id": "10YURv8s5-I0" }, "source": [ "## 가중치 시각화" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "id": "Q7Uqs_t65-I0" }, "outputs": [], "source": [ "from tensorflow import keras" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "FdM7Nyis5-I1", "outputId": "445b7b03-0d05-47b5-cee2-18de9fb7e37c" }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "--2024-08-06 07:29:58-- https://github.com/rickiepark/hg-mldl/raw/master/best-cnn-model.keras\n", "Resolving github.com (github.com)... 140.82.121.3\n", "Connecting to github.com (github.com)|140.82.121.3|:443... connected.\n", "HTTP request sent, awaiting response... 302 Found\n", "Location: https://raw.githubusercontent.com/rickiepark/hg-mldl/master/best-cnn-model.keras [following]\n", "--2024-08-06 07:29:59-- https://raw.githubusercontent.com/rickiepark/hg-mldl/master/best-cnn-model.keras\n", "Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.109.133, 185.199.111.133, 185.199.110.133, ...\n", "Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.109.133|:443... connected.\n", "HTTP request sent, awaiting response... 200 OK\n", "Length: 4038273 (3.9M) [application/octet-stream]\n", "Saving to: ‘best-cnn-model.keras’\n", "\n", "best-cnn-model.kera 100%[===================>] 3.85M --.-KB/s in 0.04s \n", "\n", "2024-08-06 07:30:00 (96.7 MB/s) - ‘best-cnn-model.keras’ saved [4038273/4038273]\n", "\n" ] } ], "source": [ "# 코랩에서 실행하는 경우에는 다음 명령을 실행하여 best-cnn-model.h5 파일을 다운로드받아 사용하세요.\n", "!wget https://github.com/rickiepark/hg-mldl/raw/master/best-cnn-model.keras" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "id": "y6Fx0cai5-I1" }, "outputs": [], "source": [ "model = keras.models.load_model('best-cnn-model.keras')" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "tOhJnNvW5-I1", "outputId": "4c80dadb-5ecb-4863-abce-f9d95c7e8c74", "scrolled": true }, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "[,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ]" ] }, "metadata": {}, "execution_count": 5 } ], "source": [ "model.layers" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "7e-EMS_h5-I2", "outputId": "10eae874-5ed1-4e65-ace7-2743a6149ec7", "scrolled": true }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "(3, 3, 1, 32) (32,)\n" ] } ], "source": [ "conv = model.layers[0]\n", "\n", "print(conv.weights[0].shape, conv.weights[1].shape)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "D5WNlXS55-I3", "outputId": "f3799537-bfa3-460a-b30e-1d83e38ce948" }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "-0.014383553 0.23351653\n" ] } ], "source": [ "conv_weights = conv.weights[0].numpy()\n", "\n", "print(conv_weights.mean(), conv_weights.std())" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "id": "Mm_xATS95-I3" }, "outputs": [], "source": [ "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 449 }, "id": "lm37R-hD5-I3", "outputId": "e63fe729-3b7f-4fd4-afdc-0fa16c989403" }, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ], "source": [ "plt.hist(conv_weights.reshape(-1, 1))\n", "plt.xlabel('weight')\n", "plt.ylabel('count')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 162 }, "id": "FBxjPV045-I4", "outputId": "f3d34ead-f7b7-42fa-96ff-b3b22ac72c3a", "scrolled": true }, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ], "source": [ "fig, axs = plt.subplots(2, 16, figsize=(15,2))\n", "\n", "for i in range(2):\n", " for j in range(16):\n", " axs[i, j].imshow(conv_weights[:,:,0,i*16 + j], vmin=-0.5, vmax=0.5)\n", " axs[i, j].axis('off')\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "id": "P-r4Dx2N5-I4", "outputId": "164da3e4-f6a3-437f-c55f-7f57c6e277a9", "colab": { "base_uri": "https://localhost:8080/" } }, "outputs": [ { "output_type": "stream", "name": "stderr", "text": [ "/usr/local/lib/python3.10/dist-packages/keras/src/layers/convolutional/base_conv.py:107: UserWarning: Do not pass an `input_shape`/`input_dim` argument to a layer. When using Sequential models, prefer using an `Input(shape)` object as the first layer in the model instead.\n", " super().__init__(activity_regularizer=activity_regularizer, **kwargs)\n" ] } ], "source": [ "no_training_model = keras.Sequential()\n", "\n", "no_training_model.add(keras.layers.Conv2D(32, kernel_size=3, activation='relu',\n", " padding='same', input_shape=(28,28,1)))" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "SRz0Z0z_5-I4", "outputId": "99125431-1264-4081-ce30-7e5e40e89f93" }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "(3, 3, 1, 32)\n" ] } ], "source": [ "no_training_conv = no_training_model.layers[0]\n", "\n", "print(no_training_conv.weights[0].shape)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "7FUqZL695-I4", "outputId": "014a0cd1-5cbb-40a7-84fb-57b03226a6f7" }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "0.0053191613 0.08463709\n" ] } ], "source": [ "no_training_weights = no_training_conv.weights[0].numpy()\n", "\n", "print(no_training_weights.mean(), no_training_weights.std())" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 449 }, "id": "DktjNm4Z5-I5", "outputId": "9257bdf3-fa1b-42ba-8a70-70fae886368b" }, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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I8OGDVNaWppqamqsCTjhzJ0TY8aq7rrWlJQUnXHGGaqpqTnpc+J6DU56erqys7NPuCUkJCgvL09NTU2qqqoKnvv666+rvb1dubm5Ea2purpaPXr0OOaxRCxyev668+cSadGcu7Fjx6p3794qLS0Ntu3atUt79+5VXl7ecWuqrq7W6aefHpfhRpISEhI0duzYkOtub29XaWnpca87Ly8vpL8kvfbaa8H+Q4cOldfrDenj9/u1devWE85lvInG3HXk008/1YEDB0LCYrwLZ+6cGDNWdde1trS0qLa2tnO/e11aohxHpkyZYs477zyzdetWs3nzZjNy5MiQt+p++umnZtSoUWbr1q3Btvr6erN9+3bz5JNPGknmzTffNNu3bzcHDhwwxhjz9ttvm2XLlpnq6mpTW1tr/uu//sukp6ebG264oduvL9qiMX8nM64Nwpm7OXPmmEGDBpnXX3/dvPvuuyYvL8/k5eUFj//P//yPefLJJ80HH3xgdu/ebR577DHTt29fs2jRom69tkhbt26dcbvdZs2aNWbnzp3m5ptvNikpKaahocEYY8y//Mu/mIULFwb7b9myxfTq1cv8x3/8h/n444/N4sWLO3ybeEpKinn++efNjh07zNVXX23t28QjOXcHDx408+fPNxUVFaaurs5s2rTJnH/++WbkyJHm8OHDjlxjtHR27gKBgNm+fbvZvn27yczMNPPnzzfbt283u3fvPukxbRKN+bvrrrtMWVmZqaurM1u2bDH5+fkmLS3N7N+//6TrOmUCzoEDB8z06dNNUlKSSU5ONjfddJM5ePBg8HhdXZ2RZN54441g2+LFi42kY7bVq1cbY4ypqqoyubm5xuPxmMTERHPmmWeaf//3f7fuH78x0Zm/kxnXBuHM3ddff21uu+02c/rpp5u+ffua73//+6a+vj54/OWXXzbnnnuuSUpKMqeddpoZM2aMefzxx01bW1t3XlpU/PrXvzaDBg0yCQkJ5sILLzSVlZXBY+PHjzczZ84M6f/73//enHHGGSYhIcGcffbZ5qWXXgo53t7ebu69916TkZFh3G63mTRpktm1a1d3XEq3i+TcHTp0yFxxxRUmPT3d9O7d2wwePNjMnj3byhdoYzo3d9/+m/37bfz48Sc9pm0iPX/XXXedyczMNAkJCeY73/mOue6660xNTU2nanIZE8fvKwUAAOhAXK/BAQAA6AgBBwAAWIeAAwAArEPAAQAA1iHgAAAA6xBwAACAdQg4AADAOgQcAABgHQIOgLgzZMgQLV++/KT779mzRy6XS9XV1VGrCUBsIeAAiDvbtm3TzTffHNEx16xZE/LX2wHEt15OFwAAnZWenu50CQBiHHdwAETdiy++qJSUFLW1tUmSqqur5XK5tHDhwmCfn/zkJ/rnf/5nSdLmzZt16aWXqk+fPvL5fLrzzjvV2toa7Pv3j6g++eQTXXLJJUpMTNRZZ52lTZs2yeVyacOGDSF1/PnPf9Zll12mvn37asyYMaqoqJAklZWV6aabblJzc7NcLpdcLpfuu+++6EwGgG5BwAEQdZdeeqkOHjyo7du3S5LKy8uVlpamsrKyYJ/y8nJNmDBBtbW1mjJligoKCrRjxw797ne/0+bNm3X77bd3OHZbW5uuueYa9e3bV1u3btVvfvMb/exnP+uw789+9jPNnz9f1dXVOuOMMzR9+nR98803uvjii7V8+XIlJyervr5e9fX1mj9/fsTnAUD3IeAAiDqPx6Nzzz03GGjKyso0b948bd++XS0tLfrLX/6impoajR8/XiUlJZoxY4bmzp2rkSNH6uKLL9ajjz6qp59+WocPHz5m7Ndee021tbV6+umnNWbMGF1yySV64IEHOqxj/vz5mjZtms444wwtWbJE//d//6eamholJCTI4/HI5XLJ6/XK6/UqKSkpmlMCIMoIOAC6xfjx41VWViZjjN566y1de+21OvPMM7V582aVl5crKytLI0eO1Pvvv681a9YoKSkpuE2ePFnt7e2qq6s7Ztxdu3bJ5/PJ6/UG2y688MIOa8jJyQl+nZmZKUnav39/hK8UQCxgkTGAbjFhwgStWrVK77//vnr37q3s7GxNmDBBZWVl+uqrrzR+/HhJUktLi2655Rbdeeedx4wxaNCgLtXQu3fv4Ncul0uS1N7e3qUxAcQmAg6AbvHtOpxly5YFw8yECRO0dOlSffXVV7rrrrskSeeff7527typESNGnNS4o0aN0r59+9TY2KiMjAxJf30beWclJCQEF0EDiH88ogLQLU4//XTl5OTomWee0YQJEyRJ48aN03vvvac//elPwdCzYMECvf3227r99ttVXV2t3bt36/nnnz/uIuPLL79cw4cP18yZM7Vjxw5t2bJF99xzj6T/f5fmZAwZMkQtLS0qLS3VF198oUOHDnXtggE4ioADoNuMHz9ebW1twYCTmpqqs846S16vV6NGjZL013Uy5eXl+tOf/qRLL71U5513nhYtWqSsrKwOx+zZs6c2bNiglpYWXXDBBfrJT34SfBdVYmLiSdd28cUXa86cObruuuuUnp6uhx56qGsXC8BRLmOMcboIAIikLVu26JJLLlFNTY2GDx/udDkAHEDAARD31q9fr6SkJI0cOVI1NTX66U9/qtNPP12bN292ujQADmGRMYC4d/DgQS1YsEB79+5VWlqa8vPz9ctf/tLpsgA4iDs4AADAOiwyBgAA1iHgAAAA6xBwAACAdQg4AADAOgQcAABgHQIOAACwDgEHAABYh4ADAACs8/8A/v5YTpGj7fsAAAAASUVORK5CYII=\n" }, "metadata": {} } ], "source": [ "plt.hist(no_training_weights.reshape(-1, 1))\n", "plt.xlabel('weight')\n", "plt.ylabel('count')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 162 }, "id": "b7QmwoUe5-I5", "outputId": "66587103-683f-44e5-ce9e-0a1c16fb9ce3", "scrolled": true }, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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zX3m82h6+Zl7h3P/ruVzrZdGieXBOD2zubSSm7fY5RYREd2PXErP3Hhrf2regdOLnUtLW/mZk06TG9if5ubNYfsD+Xvj1jB5X9rpp+bNanw+/xxw8I3cjWT9lsW+49Y/sZ0fOsl9Rv03Bql589i8Lv9z6hzeTc2bbi127644K40O5e7d42t2UvPm0X1+LT1z4/bcubT85mL37tjN/34yuip3Lk2GyeeKGe17I3+9dz6ee0bdGueeT+dRsXcfPJW72Y2OLPYLSlPws55O8mPvXlzM+80vngAAAAAooXgCAAAAoITiCQAAAIASiicAAAAASiieAAAAACiheAIAAACghOIJAAAAgBKKJwAAAABKKJ4AAAAAKKF4AgAAAKCE4gkAAACAEoonAAAAAEoongAAAAAooXgCAAAAoITiCQAAAIASiicAAAAASiieAAAAACiheAIAAACghOIJAAAAgBKKJwAAAABKdJqmaRZ9EwAAAABcefziCQAAAIASiicAAAAASiieAAAAACiheAIAAACghOIJAAAAgBKKJwAAAABKKJ4AAAAAKKF4AgAAAKCE4gkAAACAEv8HOOrYnmwibzUAAAAASUVORK5CYII=\n" }, "metadata": {} } ], "source": [ "fig, axs = plt.subplots(2, 16, figsize=(15,2))\n", "\n", "for i in range(2):\n", " for j in range(16):\n", " axs[i, j].imshow(no_training_weights[:,:,0,i*16 + j], vmin=-0.5, vmax=0.5)\n", " axs[i, j].axis('off')\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "id": "GEc9KyP35-I6" }, "source": [ "## 함수형 API" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "RZ27RyZJ5-I6", "outputId": "c9f42482-5bc0-4565-a9cb-9ec74ea7d1a2" }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "[]\n" ] } ], "source": [ "print(model.inputs)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "id": "FfHfv9w_5-I6" }, "outputs": [], "source": [ "conv_acti = keras.Model(model.inputs, model.layers[0].output)" ] }, { "cell_type": "markdown", "metadata": { "id": "CF6JzHj-5-I6" }, "source": [ "## 특성 맵 시각화" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "TU5ENBPB5-I7", "outputId": "af7335a3-1549-49cb-e828-400c733ba1b8" }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/train-labels-idx1-ubyte.gz\n", "\u001b[1m29515/29515\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 0us/step\n", "Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/train-images-idx3-ubyte.gz\n", "\u001b[1m26421880/26421880\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 0us/step\n", "Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/t10k-labels-idx1-ubyte.gz\n", "\u001b[1m5148/5148\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 0us/step\n", "Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/t10k-images-idx3-ubyte.gz\n", "\u001b[1m4422102/4422102\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m1s\u001b[0m 0us/step\n" ] } ], "source": [ "(train_input, train_target), (test_input, test_target) = keras.datasets.fashion_mnist.load_data()" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 430 }, "id": "8-GBYsqm5-I7", "outputId": "a0754d5d-290e-4329-8367-265d3edfed85" }, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ], "source": [ "plt.imshow(train_input[0], cmap='gray_r')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "id": "aJDrgyzo5-I7", "outputId": "1f3f3ba1-86fa-45da-ca64-04e4c791d762", "colab": { "base_uri": "https://localhost:8080/" } }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m2s\u001b[0m 2s/step\n" ] } ], "source": [ "inputs = train_input[0:1].reshape(-1, 28, 28, 1)/255.0\n", "\n", "feature_maps = conv_acti.predict(inputs)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "wYMHCQ0C5-I7", "outputId": "ca595440-0f79-4a3c-8c54-8df85c82e752" }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "(1, 28, 28, 32)\n" ] } ], "source": [ "print(feature_maps.shape)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 567 }, "id": "n9hhqasw5-I7", "outputId": "2bda0d0e-695e-448b-ab41-0a287649a572" }, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ], "source": [ "fig, axs = plt.subplots(4, 8, figsize=(15,8))\n", "\n", "for i in range(4):\n", " for j in range(8):\n", " axs[i, j].imshow(feature_maps[0,:,:,i*8 + j])\n", " axs[i, j].axis('off')\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "id": "RBCPiHm_5-I8" }, "outputs": [], "source": [ "conv2_acti = keras.Model(model.inputs, model.layers[2].output)" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "id": "n5U3pxZc5-I8", "outputId": "50a969b3-cf9b-4d6c-d407-dd3c49008702", "colab": { "base_uri": "https://localhost:8080/" } }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "\u001b[1m1/1\u001b[0m \u001b[32m━━━━━━━━━━━━━━━━━━━━\u001b[0m\u001b[37m\u001b[0m \u001b[1m0s\u001b[0m 385ms/step\n" ] } ], "source": [ "feature_maps = conv2_acti.predict(train_input[0:1].reshape(-1, 28, 28, 1)/255.0)" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "9QcCxjOf5-I8", "outputId": "ab5c4a89-6897-4983-9ac2-c0fda90dfab7" }, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "(1, 14, 14, 64)\n" ] } ], "source": [ "print(feature_maps.shape)" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 961 }, "id": "6xc2oG6D5-I8", "outputId": "5ada6959-1ee2-44b6-efd4-aafc943f4ef7" }, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ], "source": [ "fig, axs = plt.subplots(8, 8, figsize=(12,12))\n", "\n", "for i in range(8):\n", " for j in range(8):\n", " axs[i, j].imshow(feature_maps[0,:,:,i*8 + j])\n", " axs[i, j].axis('off')\n", "\n", "plt.show()" ] } ], "metadata": { "accelerator": "GPU", "colab": { "name": "8-3.ipynb", "provenance": [] }, "kernelspec": { "display_name": "default:Python", "language": "python", "name": "conda-env-default-py" }, "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.9.10" } }, "nbformat": 4, "nbformat_minor": 0 }