diff --git a/projects/Activation_Functions_from_scratch/README.md b/projects/Activation_Functions_from_scratch/README.md new file mode 100644 index 000000000..d7560e0e6 --- /dev/null +++ b/projects/Activation_Functions_from_scratch/README.md @@ -0,0 +1,40 @@ +# ActivationFunctions using Custom Layers in Keras +Activation functions are an important are of deep learning research .Many new activation functions are being developed ,these include *bio-inspired* activtions, *purely mathematical activation functions* including others . Despite, such advancements we usually find ourselves using RELU and LeakyRELU commonly without using/thinking about others. +In the following notebooks I showcase how easy/difficult it is to port an activation function using **Custom Layers in Keras and Tensorflow!** + + +Link to main notebook --> [Activations.ipynb](https://github.com/Agrover112/ActivationFunctions/blob/master/src/Activation-Functions(GELU%2CSELU%2CELU%2CLeakyReLU%2CPRELU).ipynb) + +### Implemented activations: + +- LeakyReLu +- ParametricReLu +- Elu +- SElu +- GELU + + + +### Structure + ``` +src +| +|-- Activations.ipynb +|-- utils + |-- Utils.ipynb + |-- utils.py + +references +| +|--Ref1 +|--Refn + +``` + +### Usage + ``` + git clone https://github.com/Agrover112/ActivationFunctions.git +``` + +### References +- [References:D](https://github.com/Agrover112/ActivationFunctions/tree/master/references) diff --git a/projects/Activation_Functions_from_scratch/references/README.md b/projects/Activation_Functions_from_scratch/references/README.md new file mode 100644 index 000000000..1bfdf9369 --- /dev/null +++ b/projects/Activation_Functions_from_scratch/references/README.md @@ -0,0 +1,7 @@ +## References +- SELU : [Self Normailizing Neural Networks](https://arxiv.org/abs/1706.02515) +- GELU : [Gaussian Error Linear Units (GELUs)- Elu ](https://arxiv.org/abs/1606.08415) +- PRELU : [Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification](https://arxiv.org/abs/1502.01852) +- Leaky ReLU : [Rectifier Nonlinearities Improve Neural Network Acoustic Models](http://robotics.stanford.edu/~amaas/papers/relu_hybrid_icml2013_final.pdf) + +- [Activation Functions Blog](https://mlfromscratch.com/activation-functions-explained/#elu) diff --git a/projects/Activation_Functions_from_scratch/src/Activation-Functions(GELU,SELU,ELU,LeakyReLU,PRELU).ipynb b/projects/Activation_Functions_from_scratch/src/Activation-Functions(GELU,SELU,ELU,LeakyReLU,PRELU).ipynb new file mode 100644 index 000000000..27e586254 --- /dev/null +++ b/projects/Activation_Functions_from_scratch/src/Activation-Functions(GELU,SELU,ELU,LeakyReLU,PRELU).ipynb @@ -0,0 +1 @@ +{"nbformat":4,"nbformat_minor":0,"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.8"},"colab":{"name":"Activation-Functions(GELU,SELU,ELU,LeakyReLU,PRELU).ipynb","provenance":[],"collapsed_sections":[]}},"cells":[{"cell_type":"markdown","metadata":{"id":"IVla6vrH5ScY","colab_type":"text"},"source":["# Custom Layers in Keras"]},{"cell_type":"markdown","metadata":{"id":"RYiQ_D825ScZ","colab_type":"text"},"source":["# Task 1: Importing Libraries"]},{"cell_type":"code","metadata":{"id":"zYY9HmiSS0Rv","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":120},"executionInfo":{"status":"ok","timestamp":1595982638698,"user_tz":-330,"elapsed":31262,"user":{"displayName":"Agrover112","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiMJACGAX3kCfRjB2hgzdG8w9zL1lAAKbPPMz0qLA=s64","userId":"09574164879083471944"}},"outputId":"65bff92a-e408-4ab5-b12a-148c5a501d15"},"source":["from google.colab import drive\n","drive.mount('/content/drive')"],"execution_count":1,"outputs":[{"output_type":"stream","text":["Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=947318989803-6bn6qk8qdgf4n4g3pfee6491hc0brc4i.apps.googleusercontent.com&redirect_uri=urn%3aietf%3awg%3aoauth%3a2.0%3aoob&response_type=code&scope=email%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdocs.test%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive.photos.readonly%20https%3a%2f%2fwww.googleapis.com%2fauth%2fpeopleapi.readonly\n","\n","Enter your authorization code:\n","··········\n","Mounted at /content/drive\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"VG_GYD1B2TrE","colab_type":"code","colab":{},"executionInfo":{"status":"ok","timestamp":1595982645364,"user_tz":-330,"elapsed":3345,"user":{"displayName":"Agrover112","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiMJACGAX3kCfRjB2hgzdG8w9zL1lAAKbPPMz0qLA=s64","userId":"09574164879083471944"}}},"source":["import os\n","os.chdir('/content/drive/My Drive/Colab Notebooks/src')"],"execution_count":2,"outputs":[]},{"cell_type":"code","metadata":{"id":"BHnBhBf8S9u9","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":33},"executionInfo":{"status":"ok","timestamp":1595982650881,"user_tz":-330,"elapsed":8846,"user":{"displayName":"Agrover112","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiMJACGAX3kCfRjB2hgzdG8w9zL1lAAKbPPMz0qLA=s64","userId":"09574164879083471944"}},"outputId":"5e471a5f-4616-46e3-e389-90d88ae6cb8b"},"source":["!ls"],"execution_count":3,"outputs":[{"output_type":"stream","text":["'Custom Activations using Layers - Complete.ipynb' utils\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"hIhyYtyaTCCt","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":33},"executionInfo":{"status":"ok","timestamp":1595964076958,"user_tz":-330,"elapsed":922,"user":{"displayName":"Agrover112","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiMJACGAX3kCfRjB2hgzdG8w9zL1lAAKbPPMz0qLA=s64","userId":"09574164879083471944"}},"outputId":"4bf85e55-469c-4827-fe89-909a841b165b"},"source":["#%cd \"./utils\""],"execution_count":12,"outputs":[{"output_type":"stream","text":["/content/drive/My Drive/Colab Notebooks/src/utils\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"EGhe8MIf4UOI","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":33},"executionInfo":{"status":"ok","timestamp":1595964217899,"user_tz":-330,"elapsed":2849,"user":{"displayName":"Agrover112","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiMJACGAX3kCfRjB2hgzdG8w9zL1lAAKbPPMz0qLA=s64","userId":"09574164879083471944"}},"outputId":"b83b4217-00b8-47bf-bad8-3a5d0b745765"},"source":["#!ls"],"execution_count":18,"outputs":[{"output_type":"stream","text":["Utils utils.py\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"hT6lcs952iXc","colab_type":"code","colab":{},"executionInfo":{"status":"ok","timestamp":1595982667751,"user_tz":-330,"elapsed":4552,"user":{"displayName":"Agrover112","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiMJACGAX3kCfRjB2hgzdG8w9zL1lAAKbPPMz0qLA=s64","userId":"09574164879083471944"}}},"source":["%run './utils/utils.py'"],"execution_count":4,"outputs":[]},{"cell_type":"code","metadata":{"id":"PaX7BQU15ScZ","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":33},"executionInfo":{"status":"ok","timestamp":1595982672373,"user_tz":-330,"elapsed":1183,"user":{"displayName":"Agrover112","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiMJACGAX3kCfRjB2hgzdG8w9zL1lAAKbPPMz0qLA=s64","userId":"09574164879083471944"}},"outputId":"2443cde6-069d-4925-cf72-b152a9d27fd8"},"source":["import tensorflow as tf\n","#import utils\n","import matplotlib.pyplot as plt\n","%matplotlib inline\n","\n","print('TensorFlow Version:', tf.__version__)"],"execution_count":5,"outputs":[{"output_type":"stream","text":["TensorFlow Version: 2.2.0\n"],"name":"stdout"}]},{"cell_type":"markdown","metadata":{"id":"okH6xfqU5Scd","colab_type":"text"},"source":["# Task 2: Import and Visualize Dataset"]},{"cell_type":"code","metadata":{"id":"IX9JVAVt5Sce","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":322},"executionInfo":{"status":"ok","timestamp":1595982674797,"user_tz":-330,"elapsed":2644,"user":{"displayName":"Agrover112","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiMJACGAX3kCfRjB2hgzdG8w9zL1lAAKbPPMz0qLA=s64","userId":"09574164879083471944"}},"outputId":"6b22a4f8-3fa7-4321-b8bf-d2dd1e7858fc"},"source":["(x_train, y_train), (x_test, y_test) = load_data()\n","\n","plot_random_examples(x_train, y_train).show()"],"execution_count":6,"outputs":[{"output_type":"stream","text":["Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/mnist.npz\n","11493376/11490434 [==============================] - 0s 0us/step\n"],"name":"stdout"},{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{"tags":[]}}]},{"cell_type":"markdown","metadata":{"id":"c-Ao0bQN5Sch","colab_type":"text"},"source":[" # Creating a Custom Activations"]},{"cell_type":"markdown","metadata":{"id":"3WeVEPWjEoDH","colab_type":"text"},"source":["# One way to create activations by inheriting keras.layers.Layer class"]},{"cell_type":"markdown","metadata":{"id":"Nuo4vm3aKI0X","colab_type":"text"},"source":["Most parameters of activation functions are derived from SELU paper"]},{"cell_type":"code","metadata":{"id":"Z8I7oinq5Sci","colab_type":"code","colab":{},"executionInfo":{"status":"ok","timestamp":1595985710725,"user_tz":-330,"elapsed":770,"user":{"displayName":"Agrover112","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiMJACGAX3kCfRjB2hgzdG8w9zL1lAAKbPPMz0qLA=s64","userId":"09574164879083471944"}}},"source":["# For the absolute sake of simplicity I do not create a file and add these in them\n","\n","# LEAKY RELU\n","\"\"\"\n","Avoids dead relu problem,however no alpha value is learned :/\n","\"\"\"\n","\n","class leakyrelu(tf.keras.layers.Layer):\n"," def __init__(self, **kwargs):\n"," super(leakyrelu, self).__init__(**kwargs)\n"," \n"," def build(self, input_shape):\n"," #self.alpha = self.add_weight(name='minimum', shape=(1,),initializer='zeros',trainable=False)\n"," super(leakyrelu, self).build(input_shape)\n"," \n"," def call(self, x):\n"," alpha=tf.constant([0.01],shape=(1,),name='alpha') #chosing an arbitrary alpha value\n"," return tf.maximum(0., x) + alpha * tf.minimum(0., x)\n","\n","# PARAMETRIC RELU\n","\"\"\"\n","Like Leaky ReLu but alpha parameter is a learnable paramter :D\n","\"\"\"\n","\n","class ParametricRelu(tf.keras.layers.Layer):\n"," def __init__(self, **kwargs):\n"," super(ParametricRelu, self).__init__(**kwargs)\n"," \n"," def build(self, input_shape):\n"," self.alpha = self.add_weight(\n"," name='minimum', \n"," shape=(1,),\n"," initializer='zeros',\n"," trainable=True\n"," )\n"," super(ParametricRelu, self).build(input_shape)\n"," \n"," def call(self, x):\n"," return tf.maximum(0., x) + self.alpha * tf.minimum(0., x)\n","\n","# ELU\n","\n","class Elu(tf.keras.layers.Layer):\n"," def __init__(self,**kwargs):\n"," super(Elu, self).__init__(**kwargs)\n"," \n"," def build(self, input_shape):\n"," self.alpha = self.add_weight( name='minimum', shape=(1,),initializer='ones',trainable=True)\n"," super(Elu, self).build(input_shape)\n"," \n"," def call(self, x):\n"," return tf.maximum(0., x) + self.alpha * (tf.exp(tf.minimum(0., x))-1)\n","\n","\n","#SELU\n","\"\"\"\n","Scaled Elu\n","Note: Requires weight_init:'lecun_normal for self-normalization and AlphaDroput.\n","\"\"\"\n","\n","class sElu(tf.keras.layers.Layer):\n"," def __init__(self,**kwargs):\n"," super(sElu, self).__init__(**kwargs)\n"," \n"," def build(self, input_shape):\n"," #self.alpha = self.add_weight( name='minimum', shape=(1,),initializer='lecun_normal',trainable=True) \n"," super(sElu, self).build(input_shape)\n"," \n"," def call(self, x): #Values from original author\n"," l=tf.constant([1.0507009873554804934193349852946],name='lambda') #Scaling factors as derived by authors \n"," a=tf.constant([1.6732632423543772848170429916717],name='alpha') #Alpha as derived by authors\n","\n"," return l*(tf.maximum(0., x) + (a* tf.exp(tf.minimum(0., x)-a)))"],"execution_count":54,"outputs":[]},{"cell_type":"markdown","metadata":{"id":"6tnlYfNE5Scl","colab_type":"text"},"source":["# Task 4: Creating the Model"]},{"cell_type":"code","metadata":{"id":"4zKiptyZ5Scn","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":251},"executionInfo":{"status":"ok","timestamp":1595985716037,"user_tz":-330,"elapsed":1061,"user":{"displayName":"Agrover112","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiMJACGAX3kCfRjB2hgzdG8w9zL1lAAKbPPMz0qLA=s64","userId":"09574164879083471944"}},"outputId":"a611f535-ec43-4e70-d2de-42dc003a237a"},"source":["def create_model(use):\n"," model = tf.keras.models.Sequential()\n"," if use=='selu':\n"," winit='lecun_normal' #As required by SELU authors\n"," else:\n"," winit='glorot_uniform'\n","\n"," model.add(tf.keras.layers.Dense(64, input_shape=(784,),kernel_initializer=winit))\n"," if use == 'relu':\n"," model.add(tf.keras.layers.ReLU())\n"," elif use== 'prelu':\n"," model.add(ParametricRelu())\n"," elif use== 'leakyrelu':\n"," model.add(leakyrelu())\n"," elif use== 'elu' :\n"," model.add(Elu())\n"," elif use== 'selu' :\n"," model.add(sElu())\n"," \n"," model.add(tf.keras.layers.Dense(10, activation='softmax',kernel_initializer=winit))\n"," model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])\n"," return model\n","\n","model = create_model(use='elu')\n","model.summary()"],"execution_count":55,"outputs":[{"output_type":"stream","text":["Model: \"sequential_11\"\n","_________________________________________________________________\n","Layer (type) Output Shape Param # \n","=================================================================\n","dense_22 (Dense) (None, 64) 50240 \n","_________________________________________________________________\n","elu_3 (Elu) (None, 64) 1 \n","_________________________________________________________________\n","dense_23 (Dense) (None, 10) 650 \n","=================================================================\n","Total params: 50,891\n","Trainable params: 50,891\n","Non-trainable params: 0\n","_________________________________________________________________\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"yNWrD33-_aCB","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":33},"executionInfo":{"status":"ok","timestamp":1595967574676,"user_tz":-330,"elapsed":951,"user":{"displayName":"Agrover112","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiMJACGAX3kCfRjB2hgzdG8w9zL1lAAKbPPMz0qLA=s64","userId":"09574164879083471944"}},"outputId":"292a8b0a-17ec-4f89-c6ce-52d5264f7c0c"},"source":["#model.layers[1].get_weights()"],"execution_count":73,"outputs":[{"output_type":"execute_result","data":{"text/plain":["[array([0.], dtype=float32)]"]},"metadata":{"tags":[]},"execution_count":73}]},{"cell_type":"markdown","metadata":{"id":"QpVxpls2JYJt","colab_type":"text"},"source":["# ELU"]},{"cell_type":"code","metadata":{"id":"g_5Hen4s5Scr","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":301},"executionInfo":{"status":"ok","timestamp":1595985748402,"user_tz":-330,"elapsed":28499,"user":{"displayName":"Agrover112","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiMJACGAX3kCfRjB2hgzdG8w9zL1lAAKbPPMz0qLA=s64","userId":"09574164879083471944"}},"outputId":"fdd6b0d8-5b90-4000-e3f6-4422371793af"},"source":["import time\n","start=time.time()\n","print('Initial alpha:', model.layers[1].get_weights())\n","\n","h = model.fit(\n"," x_train, y_train,\n"," validation_data=(x_test, y_test),\n"," epochs=7\n",")\n","\n","print('Final alpha:', model.layers[1].get_weights())\n","print(time.time()-start)"],"execution_count":56,"outputs":[{"output_type":"stream","text":["Initial alpha: [array([1.], dtype=float32)]\n","Epoch 1/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.3257 - accuracy: 0.9067 - val_loss: 0.2008 - val_accuracy: 0.9393\n","Epoch 2/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.1680 - accuracy: 0.9504 - val_loss: 0.1427 - val_accuracy: 0.9590\n","Epoch 3/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.1174 - accuracy: 0.9650 - val_loss: 0.1066 - val_accuracy: 0.9683\n","Epoch 4/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.0910 - accuracy: 0.9724 - val_loss: 0.1000 - val_accuracy: 0.9717\n","Epoch 5/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.0731 - accuracy: 0.9781 - val_loss: 0.0890 - val_accuracy: 0.9724\n","Epoch 6/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.0620 - accuracy: 0.9809 - val_loss: 0.0840 - val_accuracy: 0.9741\n","Epoch 7/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.0513 - accuracy: 0.9842 - val_loss: 0.0844 - val_accuracy: 0.9748\n","Final alpha: [array([1.0048169], dtype=float32)]\n","27.67535638809204\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"AquGwa2Z5Scu","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":279},"executionInfo":{"status":"ok","timestamp":1595985749101,"user_tz":-330,"elapsed":28995,"user":{"displayName":"Agrover112","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiMJACGAX3kCfRjB2hgzdG8w9zL1lAAKbPPMz0qLA=s64","userId":"09574164879083471944"}},"outputId":"6c8db259-8953-457f-d961-2d540ae5c2b2"},"source":["plot_results(h).show()"],"execution_count":57,"outputs":[{"output_type":"display_data","data":{"image/png":"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HnnkEebMmcNLL73EwoULqV69OqdOnQLgo48+4tFHH2XIkCFkZWVhs9kKaV1dlpveb99++y09e/akYcOGhIWFsWrVKlauXMnevXtZu3Ytfn5+pKSkkJWVxd13383MmTNp3bo1qamplClTxrHxKu+WcRp2LLKmfOxYBFnp1lzpBjdC49ug/o0QFOruKJWDOTO5LkrNVETkQaxNCQKw5uydv/b3fNdWL+Ba59VLrVgb6veA1VOh05Pgq9PTlfIkd911F76+1hdap0+fZsSIEezYsQMRITs7u8BrevXqRWBgIIGBgVSuXJmjR48SFRVV4Ll5/fbbb3z99dcADBs2jKeeegqAjh07MnLkSAYMGEDfvn0BaN++PePGjSMpKYm+ffvSoEEDR7xc5ULTp0/n0UcfBWDgwIFMnz6dPXv28MADD1yYglSpUiU2bNhAtWrVaN26NQChoZokKSDtCGybD1u+hz0/Q242lKsMzftb007rdAK/QHdHqZzI7RmjMeZ94H0RGQz8HzDiKq51br3UuFEwY7A1PaTxbQ5vXimvcw0jzM5Srly5C/efe+45unbtyjfffMPevXvp0qVLgdcEBl78hebr60tOTk6xYvjoo4/4448/mDdvHq1atWLVqlUMHjyYtm3bMm/ePG699VbGjx9Pt27dCm9M/Zkb3m8pKSksWbKEDRs2ICLYbDZE5EICrVSBTuy6OH86KQEwUKkutBtjJdRRrbWOdCnizP/ShdZMzWcGcOc1XuscDW6GkEhrYaNSymOdPn2a6tWtL7emTJni8PY7dOhwYe7t559/zg033ADArl27aNu2LS+99BIREREcOHCA3bt3U7duXR555BF69+7N+vXrHR6Pcp7Zs2czbNgw9u3bx969ezlw4AB16tQhJiaG8ePHX/iDLCUlhUaNGnH48GESEhIASEtLK/YfbMpLGAMHV8NPL8H7beG9lrD4BWvDlm7Pwl9+h4dXw03/hJptNbEuZZw5cl2UmqkNjDHnV/v0As7fnwt8ISJvAZFAA2ClE2MtmK+fNfd62SuQsscqyq6U8jhPPfUUI0aM4OWXX6ZXr17Fbi86Ohof+y/DAQMG8N577zFq1Chef/11IiIimDx5MgBPPvkkO3bswBhD9+7diYmJ4d///jeffvop/v7+VK1alWeeeabY8SjXmT59On/7298uOdavXz+2bNlCzZo1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\n","text/plain":["
"]},"metadata":{"tags":[],"needs_background":"light"}}]},{"cell_type":"markdown","metadata":{"id":"BerqQKSqJcFB","colab_type":"text"},"source":["# SELU"]},{"cell_type":"code","metadata":{"id":"2CccDRmeLngA","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":251},"executionInfo":{"status":"ok","timestamp":1595985749103,"user_tz":-330,"elapsed":28588,"user":{"displayName":"Agrover112","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiMJACGAX3kCfRjB2hgzdG8w9zL1lAAKbPPMz0qLA=s64","userId":"09574164879083471944"}},"outputId":"91f185ae-83b5-4ba7-9e73-326ff47a12ac"},"source":["\n","model = create_model(use='selu')\n","model.summary()\n"],"execution_count":58,"outputs":[{"output_type":"stream","text":["Model: \"sequential_12\"\n","_________________________________________________________________\n","Layer (type) Output Shape Param # \n","=================================================================\n","dense_24 (Dense) (None, 64) 50240 \n","_________________________________________________________________\n","s_elu_3 (sElu) (None, 64) 0 \n","_________________________________________________________________\n","dense_25 (Dense) (None, 10) 650 \n","=================================================================\n","Total params: 50,890\n","Trainable params: 50,890\n","Non-trainable params: 0\n","_________________________________________________________________\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"50IcXmRcL392","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":301},"executionInfo":{"status":"ok","timestamp":1595985776790,"user_tz":-330,"elapsed":56079,"user":{"displayName":"Agrover112","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiMJACGAX3kCfRjB2hgzdG8w9zL1lAAKbPPMz0qLA=s64","userId":"09574164879083471944"}},"outputId":"67aab42d-ed12-418c-e3d8-83d3c08294ef"},"source":["import time\n","start=time.time()\n","print('Initial alpha:', model.layers[1].get_weights())\n","\n","h = model.fit(\n"," x_train, y_train,\n"," validation_data=(x_test, y_test),\n"," epochs=7\n",")\n","\n","print('Final alpha:', model.layers[1].get_weights())\n","print(time.time()-start)"],"execution_count":59,"outputs":[{"output_type":"stream","text":["Initial alpha: []\n","Epoch 1/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.3184 - accuracy: 0.9084 - val_loss: 0.1805 - val_accuracy: 0.9466\n","Epoch 2/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.1601 - accuracy: 0.9523 - val_loss: 0.1330 - val_accuracy: 0.9598\n","Epoch 3/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.1144 - accuracy: 0.9654 - val_loss: 0.1045 - val_accuracy: 0.9675\n","Epoch 4/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.0885 - accuracy: 0.9733 - val_loss: 0.0952 - val_accuracy: 0.9709\n","Epoch 5/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.0718 - accuracy: 0.9785 - val_loss: 0.0924 - val_accuracy: 0.9708\n","Epoch 6/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.0599 - accuracy: 0.9811 - val_loss: 0.0866 - val_accuracy: 0.9726\n","Epoch 7/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.0503 - accuracy: 0.9843 - val_loss: 0.0868 - val_accuracy: 0.9733\n","Final alpha: []\n","27.53625178337097\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"fJBRYu2tMGM9","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":279},"executionInfo":{"status":"ok","timestamp":1595985776791,"user_tz":-330,"elapsed":55940,"user":{"displayName":"Agrover112","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiMJACGAX3kCfRjB2hgzdG8w9zL1lAAKbPPMz0qLA=s64","userId":"09574164879083471944"}},"outputId":"5ede86e7-9dcc-4d19-d038-a1535d668c1e"},"source":["plot_results(h).show()"],"execution_count":60,"outputs":[{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{"tags":[],"needs_background":"light"}}]},{"cell_type":"markdown","metadata":{"id":"tW3ci_-iJbya","colab_type":"text"},"source":["# PRELU"]},{"cell_type":"code","metadata":{"id":"91WmwFJQ5Scy","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":251},"executionInfo":{"status":"ok","timestamp":1595985776792,"user_tz":-330,"elapsed":55457,"user":{"displayName":"Agrover112","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiMJACGAX3kCfRjB2hgzdG8w9zL1lAAKbPPMz0qLA=s64","userId":"09574164879083471944"}},"outputId":"e6bd59d9-d9a9-44a0-e102-f5d3b4ca7754"},"source":["model = create_model(use='prelu')\n","model.summary()"],"execution_count":61,"outputs":[{"output_type":"stream","text":["Model: \"sequential_13\"\n","_________________________________________________________________\n","Layer (type) Output Shape Param # \n","=================================================================\n","dense_26 (Dense) (None, 64) 50240 \n","_________________________________________________________________\n","parametric_relu_1 (Parametri (None, 64) 1 \n","_________________________________________________________________\n","dense_27 (Dense) (None, 10) 650 \n","=================================================================\n","Total params: 50,891\n","Trainable params: 50,891\n","Non-trainable params: 0\n","_________________________________________________________________\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"YVsiHhql5Sc1","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":301},"executionInfo":{"status":"ok","timestamp":1595985804389,"user_tz":-330,"elapsed":82839,"user":{"displayName":"Agrover112","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiMJACGAX3kCfRjB2hgzdG8w9zL1lAAKbPPMz0qLA=s64","userId":"09574164879083471944"}},"outputId":"9fa04eb0-1b8e-49fd-f815-370119abbb75"},"source":["import time\n","start=time.time()\n","print('Initial alpha:', model.layers[1].get_weights())\n","h = model.fit(\n"," x_train, y_train,\n"," validation_data=(x_test, y_test),\n"," epochs=7\n",")\n","print('Final alpha:', model.layers[1].get_weights())\n","print(time.time()-start)"],"execution_count":62,"outputs":[{"output_type":"stream","text":["Initial alpha: [array([0.], dtype=float32)]\n","Epoch 1/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.2943 - accuracy: 0.9169 - val_loss: 0.1568 - val_accuracy: 0.9527\n","Epoch 2/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.1272 - accuracy: 0.9625 - val_loss: 0.1051 - val_accuracy: 0.9688\n","Epoch 3/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.0900 - accuracy: 0.9729 - val_loss: 0.1029 - val_accuracy: 0.9706\n","Epoch 4/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.0710 - accuracy: 0.9779 - val_loss: 0.0945 - val_accuracy: 0.9739\n","Epoch 5/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.0555 - accuracy: 0.9829 - val_loss: 0.0931 - val_accuracy: 0.9731\n","Epoch 6/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.0466 - accuracy: 0.9854 - val_loss: 0.0959 - val_accuracy: 0.9726\n","Epoch 7/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.0409 - accuracy: 0.9869 - val_loss: 0.0939 - val_accuracy: 0.9732\n","Final alpha: [array([-0.97849256], dtype=float32)]\n","27.185328006744385\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"coFyCBgY5Sc4","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":282},"executionInfo":{"status":"ok","timestamp":1595985804390,"user_tz":-330,"elapsed":82660,"user":{"displayName":"Agrover112","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiMJACGAX3kCfRjB2hgzdG8w9zL1lAAKbPPMz0qLA=s64","userId":"09574164879083471944"}},"outputId":"41bdc621-39a5-4118-9e1a-3690743807b9"},"source":["plot_results(h).show()"],"execution_count":63,"outputs":[{"output_type":"display_data","data":{"image/png":"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Xxx3FSIiB6VLrUVERERE8kThWkREREQkTxSuRURERETyROFaRERERCRPFK5FRERERPJE4VpEREREJE8UrkVERERE8kThWkREREQkT8zd464hL8xsO/DKITy1GdiR53KKoVzrhvKtXXUXV7XVfYS7H5bvYkqZ2u2yobqLS3UXV97b7IoJ14fKzJa5e2vcdYxUudYN5Vu76i4u1S1vpVz/jFV3canu4lLd/TQsREREREQkTxSuRURERETyROEaro27gENUrnVD+dauuotLdctbKdc/Y9VdXKq7uFR3pOrHXIuIiIiI5It6rkVERERE8kThWkREREQkT6o6XJvZmWb2gpmtM7Mvx11PLszsejPbZmbPxV3LSJjZdDN7wMxWm9nzZnZZ3DXlwszqzOxJM1sR1f31uGsaCTNLmtkzZnZH3LXkysw2mNkqM3vWzJbFXc9ImNlYM1tiZmvNbI2ZnRR3TZWkHNtsKM92W212PMqxzYbybbcL1WZX7ZhrM0sCLwIfADYCTwEXu/vqWAsbhpmdArQDN7j7O+OuJ1dmNgWY4u5Pm1kTsBz4gzL48zagwd3bzawGeBS4zN2fiLm0nJjZXwCtwGh3PyfuenJhZhuAVncvu8UIzOynwCPu/mMzSwP17r4r7roqQbm22VCe7bba7HiUY5sN5dtuF6rNruae6xOAde6+3t27gJuA82OuaVju/jCwM+46RsrdN7v709H+bmANcHi8VQ3Pg/bobk20lcVvpGY2DTgb+HHctVQDMxsDnAJcB+DuXQrWeVWWbTaUZ7utNrv41GYXVyHb7GoO14cDr2bd30gZNByVwMxagOOA38RbSW6ir+meBbYB97l7WdQNfBv4a6Av7kJGyIF7zWy5mV0adzEjMBPYDvxb9LXuj82sIe6iKoja7JiozS6acm2zoTzb7YK12dUcriUGZtYI3AJ80d3fjLueXLh7r7sfC0wDTjCzkv9a18zOAba5+/K4azkEC939eOBDwOeir9TLQQo4HviBux8H7AHKZlywyIGozS6OMm+zoTzb7YK12dUcrjcB07PuT4uOSYFE499uAX7m7rfGXc9IRV8XPQCcGXctOTgZOC8aB3cTsMjMboy3pNy4+6bodhtwG2E4QDnYCGzM6iVbQmi4JT/UZheZ2uyiKts2G8q23S5Ym13N4fopYLaZzYwGsV8ELI25pooVXWRyHbDG3a+Ou55cmdlhZjY22h9FuJhqbbxVDc/dL3f3ae7eQvi3fb+7fyLmsoZlZg3RxVNEX899ECiLGRbcfQvwqpkdHR16P1DSF3+VGbXZRaQ2u7jKtc2G8m23C9lmp/LxIuXI3XvM7PPAPUASuN7dn4+5rGGZ2X8CpwHNZrYR+Jq7XxdvVTk5GfgksCoaCwfwN+5+Z4w15WIK8NNopoIEsNjdy2qKpDIzCbgt/FwnBfyHu98db0kj8gXgZ1H4Ww/8Scz1VIxybbOhbNtttdmSq3JutwvSZlftVHwiIiIiIvlWzcNCRERERETySuFaRERERCRPFK5FRERERPJE4VpEREREJE8UrkVERERE8kThWqqCmfWa2bNZW95WzjOzFjMr+Tk9RUTKhdpsKWdVO8+1VJ290XK4IiJS+tRmS9lSz7VUNTPbYGb/18xWmdmTZnZUdLzFzO43s5Vm9iszmxEdn2Rmt5nZimj7veilkmb2IzN73szujVYGw8z+3MxWR69zU0wfU0SkIqjNlnKgcC3VYtSgrxg/lvXYG+5+DHAN8O3o2PeAn7r7AuBnwHej498FHnL3dwHHA5kV4mYD33f3+cAu4ILo+JeB46LX+XShPpyISIVRmy1lSys0SlUws3Z3bzzA8Q3AIndfb2Y1wBZ3n2BmO4Ap7t4dHd/s7s1mth2Y5u6dWa/RAtzn7rOj+18Catz9H83sbqAduB243d3bC/xRRUTKntpsKWfquRYBf4v9kejM2u+l/3qGs4HvE3pMnjIzXecgIvL2qM2WkqZwLQIfy7p9PNp/DLgo2v848Ei0/yvgMwBmljSzMW/1omaWAKa7+wPAl4AxwJCeGBERGRG12VLS9BuZVItRZvZs1v273T0ztdM4M1tJ6Mm4ODr2BeDfzOx/A9uBP4mOXwZca2aXEHo7PgNsfov3TAI3Ro25Ad919115+0QiIpVLbbaULY25lqoWjd9rdfcdcdciIiIHpzZbyoGGhYiIiIiI5Il6rkVERERE8kQ91yIiIiIieaJwLSIiIiKSJwrXIiIiIiJ5onAtIiIiIpInCtciIiIiInny/wF9UUHbmMaCuwAAAABJRU5ErkJggg==\n","text/plain":["
"]},"metadata":{"tags":[],"needs_background":"light"}}]},{"cell_type":"markdown","metadata":{"id":"wrsqurgALSXm","colab_type":"text"},"source":["# Leaky Relu"]},{"cell_type":"code","metadata":{"id":"pFnw6soPHMxg","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":251},"executionInfo":{"status":"ok","timestamp":1595985804391,"user_tz":-330,"elapsed":82135,"user":{"displayName":"Agrover112","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiMJACGAX3kCfRjB2hgzdG8w9zL1lAAKbPPMz0qLA=s64","userId":"09574164879083471944"}},"outputId":"cf51b769-357f-4d76-f69a-2543b200495a"},"source":["model = create_model(use='leakyrelu')\n","model.summary()"],"execution_count":64,"outputs":[{"output_type":"stream","text":["Model: \"sequential_14\"\n","_________________________________________________________________\n","Layer (type) Output Shape Param # \n","=================================================================\n","dense_28 (Dense) (None, 64) 50240 \n","_________________________________________________________________\n","leakyrelu_4 (leakyrelu) (None, 64) 0 \n","_________________________________________________________________\n","dense_29 (Dense) (None, 10) 650 \n","=================================================================\n","Total params: 50,890\n","Trainable params: 50,890\n","Non-trainable params: 0\n","_________________________________________________________________\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"8AfF5-kjHWpd","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":301},"executionInfo":{"status":"ok","timestamp":1595985831123,"user_tz":-330,"elapsed":108572,"user":{"displayName":"Agrover112","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiMJACGAX3kCfRjB2hgzdG8w9zL1lAAKbPPMz0qLA=s64","userId":"09574164879083471944"}},"outputId":"43d18ab6-a4b7-46f7-a075-a046b0fe38e5"},"source":["import time\n","start=time.time()\n","print('Initial alpha:', model.layers[1].get_weights())\n","h = model.fit(\n"," x_train, y_train,\n"," validation_data=(x_test, y_test),\n"," epochs=7\n",")\n","print('Final alpha:', model.layers[1].get_weights())\n","print(time.time()-start)"],"execution_count":65,"outputs":[{"output_type":"stream","text":["Initial alpha: []\n","Epoch 1/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.3022 - accuracy: 0.9158 - val_loss: 0.1655 - val_accuracy: 0.9521\n","Epoch 2/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.1455 - accuracy: 0.9579 - val_loss: 0.1265 - val_accuracy: 0.9616\n","Epoch 3/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.1060 - accuracy: 0.9687 - val_loss: 0.1046 - val_accuracy: 0.9685\n","Epoch 4/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.0842 - accuracy: 0.9754 - val_loss: 0.0961 - val_accuracy: 0.9714\n","Epoch 5/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.0696 - accuracy: 0.9792 - val_loss: 0.0926 - val_accuracy: 0.9710\n","Epoch 6/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.0594 - accuracy: 0.9825 - val_loss: 0.0804 - val_accuracy: 0.9752\n","Epoch 7/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.0496 - accuracy: 0.9854 - val_loss: 0.0823 - val_accuracy: 0.9744\n","Final alpha: []\n","26.97652316093445\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"3WsfrSC5H-7_","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":279},"executionInfo":{"status":"ok","timestamp":1595985832360,"user_tz":-330,"elapsed":109490,"user":{"displayName":"Agrover112","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiMJACGAX3kCfRjB2hgzdG8w9zL1lAAKbPPMz0qLA=s64","userId":"09574164879083471944"}},"outputId":"7510eea4-961f-4073-f5d5-5867e8b3c253"},"source":["plot_results(h).show()"],"execution_count":66,"outputs":[{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{"tags":[],"needs_background":"light"}}]},{"cell_type":"markdown","metadata":{"id":"kpLwwA-fGQBh","colab_type":"text"},"source":["# Method 2 for creating activation functions"]},{"cell_type":"code","metadata":{"id":"sSQjWjkcH_d9","colab_type":"code","colab":{},"executionInfo":{"status":"ok","timestamp":1595985832362,"user_tz":-330,"elapsed":108847,"user":{"displayName":"Agrover112","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiMJACGAX3kCfRjB2hgzdG8w9zL1lAAKbPPMz0qLA=s64","userId":"09574164879083471944"}}},"source":["# Creating swish and GELU"],"execution_count":67,"outputs":[]},{"cell_type":"code","metadata":{"id":"f7DovSYOGVzJ","colab_type":"code","colab":{},"executionInfo":{"status":"ok","timestamp":1595986912332,"user_tz":-330,"elapsed":1017,"user":{"displayName":"Agrover112","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiMJACGAX3kCfRjB2hgzdG8w9zL1lAAKbPPMz0qLA=s64","userId":"09574164879083471944"}}},"source":["from keras.backend import sigmoid\n","from keras.layers import Activation\n","from keras import backend as K\n","from keras.utils.generic_utils import get_custom_objects\n","def swish(x, beta = 1):\n"," return (x * sigmoid(beta * x))\n","\n","def custom_gelu(x): #Used in BERT and GPT2 paper yet to read completely\n"," return 0.5 * x * (1 + tf.tanh(tf.sqrt(2 / np.pi) * (x + 0.044715 * tf.pow(x, 3))))\n","\n","\n","get_custom_objects().update({'custom_gelu': Activation(custom_gelu)})\n","get_custom_objects().update({'swish': Activation(swish)})\n"],"execution_count":86,"outputs":[]},{"cell_type":"code","metadata":{"id":"jkC7-MesIrJG","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":217},"executionInfo":{"status":"ok","timestamp":1595987340647,"user_tz":-330,"elapsed":1155,"user":{"displayName":"Agrover112","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiMJACGAX3kCfRjB2hgzdG8w9zL1lAAKbPPMz0qLA=s64","userId":"09574164879083471944"}},"outputId":"6cfcae1a-721a-48fb-de24-4023e6124d64"},"source":["def create_model(use):\n"," model = tf.keras.models.Sequential()\n"," if use=='gelu':\n"," model.add(tf.keras.layers.Dense(64, input_shape=(784,),activation=custom_gelu))\n"," else:\n"," model.add(tf.keras.layers.Dense(64, input_shape=(784,),activation=use)) \n"," model.add(tf.keras.layers.Dense(10, activation='softmax'))\n"," model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])\n"," return model\n","\n","model = create_model(use='gelu')\n","model.summary()"],"execution_count":99,"outputs":[{"output_type":"stream","text":["Model: \"sequential_31\"\n","_________________________________________________________________\n","Layer (type) Output Shape Param # \n","=================================================================\n","dense_54 (Dense) (None, 64) 50240 \n","_________________________________________________________________\n","dense_55 (Dense) (None, 10) 650 \n","=================================================================\n","Total params: 50,890\n","Trainable params: 50,890\n","Non-trainable params: 0\n","_________________________________________________________________\n"],"name":"stdout"}]},{"cell_type":"markdown","metadata":{"id":"LW37FiSrQDxs","colab_type":"text"},"source":["# EDIT: layers[1].get_weights() prints first layers weights than the activation fucntion in previous case"]},{"cell_type":"code","metadata":{"id":"FJzOWqXSMi30","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":1000},"executionInfo":{"status":"ok","timestamp":1595987065103,"user_tz":-330,"elapsed":26899,"user":{"displayName":"Agrover112","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiMJACGAX3kCfRjB2hgzdG8w9zL1lAAKbPPMz0qLA=s64","userId":"09574164879083471944"}},"outputId":"876d7fe3-3d1a-4d2a-e7a9-b708c11a69ed"},"source":["import time\n","start=time.time()\n","print('Initial alpha:', model.layers[1].get_weights())\n","gh = model.fit(\n"," x_train, y_train,\n"," validation_data=(x_test, y_test),\n"," epochs=7\n",")\n","print('Final alpha:', model.layers[1].get_weights())\n","print(time.time()-start)"],"execution_count":92,"outputs":[{"output_type":"stream","text":["Initial alpha: [array([[ 0.12353632, 0.16423404, 0.10222274, 0.1256558 , -0.01892754,\n"," -0.02012911, 0.04866058, 0.12828976, -0.08458149, -0.14631438],\n"," [-0.18274339, 0.05565363, -0.1672585 , 0.27012166, 0.25833252,\n"," 0.14464161, 0.04973227, -0.16902003, -0.037247 , 0.19368479],\n"," [-0.1621024 , -0.1792361 , -0.13050628, -0.08876258, -0.07096566,\n"," -0.01914582, -0.23445225, -0.13684182, 0.1989077 , -0.02570578],\n"," [ 0.12473157, 0.1441727 , 0.09397429, 0.00332046, -0.18190944,\n"," 0.01261935, 0.04458568, 0.16517016, 0.1471281 , 0.1981079 ],\n"," [ 0.09285513, 0.07188725, -0.09558456, 0.274725 , 0.15193444,\n"," -0.15837169, -0.27295187, 0.04262924, -0.12887274, -0.18479514],\n"," [ 0.18666595, 0.19486734, -0.10955802, 0.2639028 , -0.05440684,\n"," 0.1187984 , 0.10627389, -0.0036768 , -0.05467792, -0.03288031],\n"," [-0.28256285, -0.01646656, 0.22653136, 0.14125109, 0.04477257,\n"," 0.18957227, -0.12007512, 0.11028606, -0.05040519, 0.17090565],\n"," [-0.07029289, -0.25333554, 0.26304957, 0.1184682 , -0.20027709,\n"," -0.05293474, 0.22399291, 0.04855311, -0.08478639, 0.0674209 ],\n"," [-0.03744619, 0.08813277, -0.00325006, 0.05665702, -0.25226253,\n"," -0.15875526, -0.20920554, 0.28402016, 0.16325998, 0.0451816 ],\n"," [-0.23873171, 0.23971388, -0.13957408, -0.09348366, -0.12637225,\n"," -0.2402848 , -0.05544731, 0.09038535, -0.08063239, 0.14313167],\n"," [ 0.02704713, 0.03723124, 0.07753408, -0.11149089, -0.11205675,\n"," 0.12067702, -0.04036833, -0.17216973, -0.2718422 , 0.07661545],\n"," [ 0.15340158, -0.02871212, -0.05914746, -0.1691258 , 0.19760653,\n"," 0.07027653, -0.15858269, -0.07719523, -0.24819945, 0.08997631],\n"," [ 0.0839386 , -0.04098694, -0.11869203, -0.03156623, 0.25113901,\n"," 0.22811094, -0.14236392, 0.10863847, 0.17532489, -0.02590632],\n"," [-0.04118179, -0.28281942, 0.25266996, 0.11430162, -0.10380402,\n"," -0.23941793, 0.10782734, 0.01313919, -0.13310677, 0.00274774],\n"," [ 0.2623755 , -0.17281556, 0.26839992, -0.28289232, 0.15371516,\n"," 0.17648354, 0.13412029, 0.25674364, 0.07614484, 0.25217316],\n"," [ 0.09696636, -0.2488767 , -0.14929838, 0.11973554, 0.09945437,\n"," 0.10234487, 0.11125267, -0.02682629, 0.20431268, -0.01868701],\n"," [ 0.2398974 , -0.22453779, 0.00181392, 0.15036017, 0.11731035,\n"," 0.13048673, 0.06268138, -0.1291726 , 0.18524647, -0.00345013],\n"," [ 0.23072919, 0.22656229, -0.0305545 , -0.2006329 , 0.15256426,\n"," 0.24350306, -0.00238964, -0.10016523, -0.07996708, 0.03127399],\n"," [ 0.15715683, 0.13723537, 0.2599326 , -0.00454673, -0.14765364,\n"," 0.01927587, -0.08839978, -0.24598016, 0.24590883, 0.04467174],\n"," [ 0.28469744, -0.19297448, -0.10297522, 0.11548486, -0.27860025,\n"," -0.03212348, 0.12768874, 0.15053445, -0.03746478, -0.01304054],\n"," [ 0.13235274, -0.05376115, -0.09554958, 0.16528022, -0.23063228,\n"," 0.05321336, -0.09569412, 0.04959235, -0.03146312, -0.1879291 ],\n"," [ 0.25544515, -0.07771601, 0.27834478, -0.09400016, 0.01559928,\n"," -0.13363984, 0.25343934, 0.06726781, 0.27582756, 0.25787637],\n"," [ 0.24614927, -0.17233023, -0.05539557, 0.07997304, 0.08181086,\n"," 0.08295244, 0.01330552, -0.14077578, 0.16088969, 0.18886304],\n"," [ 0.12544495, -0.02062023, 0.10558033, -0.23821643, -0.12841733,\n"," -0.01339674, 0.21155944, -0.2312225 , 0.0936223 , 0.11709657],\n"," [ 0.01964247, 0.15839925, -0.03438824, 0.15602586, -0.03220937,\n"," -0.01954573, -0.10929197, -0.2640479 , 0.21952364, 0.12997851],\n"," [-0.1386256 , 0.06569028, -0.00211066, -0.15844487, -0.23060559,\n"," -0.27014038, -0.14225903, -0.10724355, 0.24270931, -0.09780541],\n"," [ 0.20494685, 0.18775538, 0.26191303, -0.24625659, 0.15441811,\n"," -0.2226862 , -0.1990479 , -0.25261033, -0.09195133, -0.02351168],\n"," [-0.09940344, 0.12731686, -0.2561815 , -0.01334909, -0.27055717,\n"," 0.11542323, 0.22242722, -0.01751837, -0.24463385, 0.24589297],\n"," [-0.1280542 , 0.05189216, 0.02981526, 0.03063771, -0.17018221,\n"," -0.11523341, 0.13771433, -0.0179452 , 0.2811208 , -0.03549539],\n"," [-0.23347872, -0.08899802, 0.04703361, 0.04777178, 0.14233187,\n"," 0.14921427, -0.1356962 , 0.14492145, -0.02743274, -0.00032926],\n"," [-0.18051648, 0.19949657, -0.01375461, -0.02836508, -0.11035225,\n"," -0.17213185, 0.277698 , -0.21188986, 0.13773912, 0.0073331 ],\n"," [-0.23618573, -0.12618189, -0.01658034, -0.1678913 , -0.01125064,\n"," -0.14138672, 0.21998921, -0.1972557 , 0.17766333, 0.11622527],\n"," [ 0.05150804, -0.12711108, -0.08839014, -0.19916561, -0.0351184 ,\n"," -0.1060992 , -0.255538 , 0.08533037, 0.1696552 , -0.06783238],\n"," [-0.12689078, 0.14301166, -0.14581323, 0.03414556, -0.23186785,\n"," 0.1128459 , 0.15043709, -0.21621099, -0.09817214, 0.2559931 ],\n"," [ 0.09459901, -0.12084207, 0.00424403, 0.05447888, 0.11810377,\n"," 0.10435757, -0.26264054, -0.23012555, 0.08595327, -0.12397766],\n"," [ 0.19076863, -0.16214782, -0.21515056, -0.26951703, -0.17884976,\n"," 0.24650183, -0.10591686, -0.25283322, 0.13047498, -0.10181399],\n"," [ 0.24983558, 0.13537338, 0.12771943, 0.1549913 , -0.23190615,\n"," 0.23168603, -0.21390176, -0.03953099, -0.03601128, 0.18144977],\n"," [ 0.05047092, -0.08555883, 0.07733807, -0.23212467, -0.17518407,\n"," -0.2589076 , 0.1831406 , 0.11429688, 0.14237288, -0.01749054],\n"," [ 0.23914889, -0.28300542, 0.06449637, -0.09753893, 0.2841176 ,\n"," -0.21432057, -0.18073434, -0.16193268, -0.10360198, 0.19692072],\n"," [-0.10169911, -0.11448473, -0.26023543, -0.2297254 , 0.1457414 ,\n"," -0.20028986, 0.04791528, 0.10843474, 0.19467047, 0.20275837],\n"," [-0.03375539, 0.05803001, 0.22761622, 0.13579336, -0.27878305,\n"," -0.01548332, -0.00145146, -0.26554945, -0.15600704, 0.00683275],\n"," [ 0.24031052, -0.04627523, -0.06291199, 0.24309978, -0.28064948,\n"," 0.24463943, -0.05943939, 0.1267058 , 0.16920772, 0.27216235],\n"," [ 0.16291592, -0.2244496 , -0.27257034, 0.09977853, 0.20331573,\n"," -0.03658576, -0.05307302, 0.10591719, 0.26752636, -0.10431881],\n"," [ 0.12995964, 0.08694682, -0.22049072, -0.09516092, 0.21594968,\n"," -0.27152082, -0.00124571, 0.15669298, -0.0420858 , 0.03831068],\n"," [-0.24632156, -0.20851931, -0.13980335, 0.23447362, -0.26435447,\n"," -0.23892105, -0.04201369, -0.00239655, 0.16152501, 0.02180237],\n"," [ 0.00632393, -0.11826174, 0.07419047, -0.01519534, 0.01887146,\n"," -0.0618487 , -0.03163657, -0.02932727, -0.19730756, -0.03857654],\n"," [-0.10034473, -0.11145274, -0.03592378, -0.05071218, -0.17107406,\n"," 0.11298302, -0.14756504, -0.23586705, -0.10561422, 0.09345698],\n"," [-0.17992043, 0.21630242, 0.0180164 , -0.27457693, 0.00463527,\n"," -0.07183838, -0.10347332, 0.18747059, 0.28024182, 0.04037765],\n"," [-0.21773517, 0.01789156, 0.16346994, 0.20346692, -0.17154339,\n"," 0.09933549, 0.21306312, -0.10411195, 0.02566174, 0.14130554],\n"," [ 0.0747236 , -0.05265021, -0.06506631, -0.10799637, -0.08611858,\n"," -0.19419253, 0.23787501, -0.11132707, 0.27980247, 0.1080716 ],\n"," [ 0.00941235, 0.05866221, 0.01417884, -0.25543818, 0.2470217 ,\n"," 0.2721658 , 0.17885253, 0.08106485, 0.12707469, 0.07814005],\n"," [-0.01358196, 0.19676629, 0.02211621, -0.0294441 , 0.26413247,\n"," -0.04763816, 0.07809713, 0.24337974, 0.04297426, 0.26430747],\n"," [ 0.20576435, -0.15302908, -0.11213054, 0.0764477 , -0.06149025,\n"," -0.04263128, -0.22780538, -0.0414826 , -0.101744 , 0.05337417],\n"," [-0.13963859, -0.02920118, -0.07521382, -0.13908283, -0.22487792,\n"," 0.09819964, 0.10910845, -0.21841136, -0.13357887, 0.15916416],\n"," [-0.16049308, -0.00383851, -0.06512971, 0.2695265 , 0.23787859,\n"," 0.2807723 , -0.02682561, 0.01771674, 0.13609001, 0.10129294],\n"," [-0.03365234, 0.24610916, 0.06191421, 0.03744617, 0.14224485,\n"," -0.15471728, -0.1860874 , 0.04854891, -0.17592685, -0.1490349 ],\n"," [ 0.16308528, 0.27674606, -0.002285 , 0.14865357, 0.10734648,\n"," -0.16728131, -0.1147573 , 0.13631615, 0.09566283, 0.18318635],\n"," [ 0.27222297, 0.243103 , -0.1273102 , 0.24715272, -0.06220607,\n"," -0.14920524, -0.17180428, 0.16067368, 0.00890642, 0.2521982 ],\n"," [-0.05227757, -0.23358694, 0.22480187, 0.21437624, -0.24380282,\n"," 0.17585734, -0.12364249, -0.01528162, 0.0499295 , 0.2150178 ],\n"," [-0.00107393, -0.27451706, -0.0096046 , -0.17229173, 0.11372587,\n"," 0.16570196, 0.08970821, 0.12342274, 0.09351537, 0.11486232],\n"," [ 0.24118587, -0.15010566, 0.11712337, 0.11177421, -0.00830454,\n"," 0.01989925, 0.24000868, 0.18229899, 0.05130878, 0.07131067],\n"," [-0.16590717, -0.05283773, 0.2588742 , 0.20440745, -0.01442698,\n"," 0.26104942, 0.05893219, -0.12315626, -0.25597253, 0.18352267],\n"," [ 0.23686764, 0.12973064, -0.25767562, 0.16183057, -0.04931265,\n"," -0.0014129 , -0.03652439, 0.25875202, -0.26775396, 0.21114567],\n"," [-0.05129379, 0.2568433 , 0.09075764, -0.20865196, -0.20863254,\n"," -0.05773021, -0.05420792, 0.00864473, -0.20908794, 0.15594622]],\n"," dtype=float32), array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], dtype=float32)]\n","Epoch 1/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.3024 - accuracy: 0.9147 - val_loss: 0.1745 - val_accuracy: 0.9492\n","Epoch 2/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.1472 - accuracy: 0.9577 - val_loss: 0.1303 - val_accuracy: 0.9596\n","Epoch 3/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.1036 - accuracy: 0.9701 - val_loss: 0.1071 - val_accuracy: 0.9664\n","Epoch 4/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.0793 - accuracy: 0.9766 - val_loss: 0.0886 - val_accuracy: 0.9734\n","Epoch 5/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.0645 - accuracy: 0.9804 - val_loss: 0.0878 - val_accuracy: 0.9727\n","Epoch 6/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.0533 - accuracy: 0.9837 - val_loss: 0.0799 - val_accuracy: 0.9753\n","Epoch 7/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.0445 - accuracy: 0.9866 - val_loss: 0.0834 - val_accuracy: 0.9744\n","Final alpha: [array([[-5.51505834e-02, 3.73578846e-01, 2.18160808e-01,\n"," 1.89281136e-01, -3.09743397e-02, -1.95218548e-01,\n"," 1.10915758e-01, 7.23766506e-01, -3.90888751e-01,\n"," -1.42245936e+00],\n"," [-6.97991371e-01, 2.21806556e-01, -3.23866487e-01,\n"," 4.13698912e-01, 3.30327451e-01, 1.76613569e-01,\n"," 2.70528235e-02, -1.53197438e-01, -1.12837195e-01,\n"," 1.60273433e-01],\n"," [-7.14135051e-01, -3.84111077e-01, -3.25362712e-01,\n"," 3.83123010e-02, 7.61731192e-02, 1.27703622e-01,\n"," -8.66195798e-01, -1.82165936e-01, 2.32192695e-01,\n"," 6.03046939e-02],\n"," [ 1.53397456e-01, 1.93004221e-01, 2.71225601e-01,\n"," 1.14173107e-01, -9.31931913e-01, -1.78012580e-01,\n"," -2.02706054e-01, 2.84280002e-01, 1.44118667e-01,\n"," 1.57577157e-01],\n"," [-4.52104062e-01, 4.42269355e-01, 1.95545480e-01,\n"," 4.28143531e-01, 1.15830630e-01, -4.23621505e-01,\n"," -8.53335977e-01, 1.93571568e-01, -6.33162335e-02,\n"," -4.72432017e-01],\n"," [ 2.33539820e-01, 6.18296146e-01, -5.08439302e-01,\n"," 2.61154741e-01, -6.16230667e-01, 4.88206834e-01,\n"," 2.81476140e-01, 1.66007712e-01, -4.25962985e-01,\n"," -4.12913948e-01],\n"," [-7.23348677e-01, -3.23724180e-01, 1.10138372e-01,\n"," 3.47361892e-01, 2.64671016e-02, 4.84802753e-01,\n"," -6.27121091e-01, 2.27044895e-01, -1.07306562e-01,\n"," 8.01674724e-02],\n"," [-6.46022618e-01, -3.89056087e-01, 5.18040180e-01,\n"," 2.33966529e-01, -7.85466373e-01, 2.22773284e-01,\n"," 1.24956198e-01, 3.19712490e-01, -2.06578597e-01,\n"," -2.02783182e-01],\n"," [-1.94270879e-01, 1.96908973e-02, 1.39123797e-01,\n"," 1.44398987e-01, -3.97616148e-01, -9.43314508e-02,\n"," -9.58084762e-01, 3.24157357e-01, 1.45783365e-01,\n"," 9.08302739e-02],\n"," [-4.30794001e-01, 3.47088873e-01, -2.97351360e-01,\n"," 2.68718153e-01, -6.13506176e-02, -1.03512180e+00,\n"," 1.27597377e-02, 1.56855106e-01, -1.53342441e-01,\n"," 1.74974769e-01],\n"," [ 3.98639977e-01, 3.96629363e-01, 4.79155153e-01,\n"," -2.20939830e-01, 2.69873329e-02, 2.24445276e-02,\n"," 4.53675315e-02, -1.84099987e-01, -1.41111386e+00,\n"," -7.51903430e-02],\n"," [ 1.45645097e-01, -5.11999577e-02, 9.93342549e-02,\n"," -9.25150394e-01, 5.72837412e-01, 5.57997206e-04,\n"," -3.23916852e-01, 3.22922945e-01, -6.01585567e-01,\n"," 3.22420336e-02],\n"," [-3.98585051e-01, -1.53649658e-01, -3.43202651e-01,\n"," -3.69701833e-01, 4.63366002e-01, 7.80248940e-01,\n"," -2.49694720e-01, 5.34116089e-01, 1.34282306e-01,\n"," -6.13499999e-01],\n"," [-1.73008889e-01, -4.78567600e-01, 3.24908108e-01,\n"," 1.02228291e-01, -3.66966948e-02, -5.63201189e-01,\n"," 1.51918054e-01, 1.34401888e-01, -2.15041533e-01,\n"," 2.01465841e-02],\n"," [ 2.45972767e-01, -8.63556340e-02, 2.61097282e-01,\n"," -8.69829595e-01, 3.19843620e-01, 3.58184725e-02,\n"," 3.75368983e-01, 3.90608847e-01, 1.25720561e-01,\n"," 2.19463900e-01],\n"," [ 6.91306815e-02, -1.11356342e+00, -6.70625210e-01,\n"," -7.75061995e-02, 3.98470432e-01, 4.68372524e-01,\n"," 2.70083189e-01, 1.19890571e-01, 2.44861618e-01,\n"," -3.53949636e-01],\n"," [ 2.88813740e-01, -4.05456662e-01, 5.07115684e-02,\n"," 2.05640808e-01, 7.81333297e-02, 1.62847325e-01,\n"," 1.36840716e-01, -4.74524647e-01, 2.18947664e-01,\n"," -9.06878263e-02],\n"," [ 2.36412778e-01, 4.62457001e-01, -9.83094573e-02,\n"," -5.81608713e-01, 4.17718381e-01, 2.11503178e-01,\n"," 2.87578404e-01, -3.94355595e-01, -1.15082100e-01,\n"," -2.89647877e-01],\n"," [ 9.83626619e-02, 2.03520373e-01, 3.66311431e-01,\n"," 1.13181293e-01, -4.81524497e-01, 1.40585401e-03,\n"," -1.87609151e-01, -3.57733816e-01, 3.16893518e-01,\n"," -1.24811128e-01],\n"," [ 2.80255526e-01, -2.61104703e-01, 1.58064179e-02,\n"," 1.46667898e-01, -8.55100334e-01, -1.35036535e-05,\n"," 1.16491489e-01, 2.39862889e-01, -1.03129216e-01,\n"," 3.38064991e-02],\n"," [ 1.58339292e-02, 2.63533175e-01, 1.13031074e-01,\n"," 2.21886218e-01, -6.95451260e-01, 1.68628648e-01,\n"," -2.08985746e-01, 1.31495997e-01, -1.30006999e-01,\n"," -5.83168268e-01],\n"," [ 4.88550246e-01, -5.65004826e-01, 4.39994276e-01,\n"," -2.87965387e-01, -3.76473879e-03, -6.51037455e-01,\n"," 2.98716724e-01, 9.16175395e-02, 3.01379591e-01,\n"," 3.53878766e-01],\n"," [ 3.75530839e-01, -9.31671977e-01, -1.31610036e-01,\n"," 1.76572666e-01, -1.38502121e-01, 1.26504079e-01,\n"," 1.83227792e-01, -3.19862157e-01, 1.52921513e-01,\n"," 2.69157350e-01],\n"," [ 3.46382648e-01, -3.00707340e-01, 1.40585333e-01,\n"," -4.16014135e-01, -1.42873198e-01, -8.81111540e-04,\n"," 4.21821117e-01, -8.02562475e-01, 8.51515308e-02,\n"," 7.98678547e-02],\n"," [-2.73711354e-01, 1.82169884e-01, -5.04099786e-01,\n"," 3.55911881e-01, 1.30207077e-01, -3.65195796e-03,\n"," -1.71638608e-01, -7.32981145e-01, 3.11867684e-01,\n"," 2.24160895e-01],\n"," [-4.84833777e-01, 2.46580601e-01, 2.43535608e-01,\n"," -4.24618036e-01, -7.16595575e-02, -6.64148510e-01,\n"," -9.31647792e-02, 1.82891622e-01, 3.44082475e-01,\n"," -4.49853539e-01],\n"," [ 1.62116379e-01, 3.49382490e-01, 4.83477205e-01,\n"," -3.98907751e-01, 3.03342700e-01, -3.08440596e-01,\n"," -1.08017392e-01, -6.28300548e-01, -1.83017045e-01,\n"," -2.72244155e-01],\n"," [ 3.92034464e-02, -6.02493659e-02, -1.02726758e+00,\n"," -1.24844000e-01, -2.34646901e-01, 4.28511620e-01,\n"," 4.43206370e-01, 6.47147298e-02, -3.22869599e-01,\n"," 2.88212806e-01],\n"," [-2.05379099e-01, 1.55317381e-01, 9.89728943e-02,\n"," -2.67532226e-02, -1.09758824e-01, -4.03967723e-02,\n"," 2.28549466e-01, 3.13945740e-01, 2.35273361e-01,\n"," -7.87148476e-01],\n"," [-4.99175310e-01, -6.59952611e-02, -1.96608175e-02,\n"," 1.43142357e-01, 1.66675612e-01, 1.31132498e-01,\n"," -2.11439520e-01, 1.37767404e-01, 1.86731592e-02,\n"," 4.36320319e-04],\n"," [-3.22576046e-01, 2.01899037e-01, -4.58608493e-02,\n"," 1.11005511e-02, -1.62024088e-02, -1.82272837e-01,\n"," 3.55563939e-01, -3.87865692e-01, 2.02508181e-01,\n"," -5.44489138e-02],\n"," [-4.21222270e-01, -6.20871186e-01, 2.47824326e-01,\n"," -2.96429038e-01, 9.89662856e-02, -1.35800421e-01,\n"," 2.90876806e-01, -5.88668823e-01, 1.53647184e-01,\n"," 2.22205281e-01],\n"," [ 3.12593788e-01, -5.66752732e-01, -5.60149434e-04,\n"," -3.73968124e-01, -2.26662576e-01, -7.28163719e-02,\n"," -6.07274771e-01, 1.90331176e-01, 3.11372012e-01,\n"," -7.75219128e-02],\n"," [-3.08610380e-01, 2.07665712e-01, -6.40470684e-01,\n"," -5.03992081e-01, -1.91270068e-01, 3.73689234e-01,\n"," 2.76511610e-01, -4.85571682e-01, -6.79584593e-03,\n"," 4.81725186e-01],\n"," [ 4.08859663e-02, -1.85841277e-01, 1.57766379e-02,\n"," 4.89980504e-02, 1.64172396e-01, 9.03615952e-02,\n"," -2.01501667e-01, -3.64198178e-01, 1.39147103e-01,\n"," -1.53852239e-01],\n"," [ 2.35415369e-01, -1.81100354e-01, -1.68376267e-01,\n"," -2.34185219e-01, -9.18609142e-01, 2.66870350e-01,\n"," 2.74072587e-01, -3.45872790e-01, 8.73083621e-02,\n"," -2.80930817e-01],\n"," [ 4.80801821e-01, -8.93363118e-01, 6.82748795e-01,\n"," 5.00835419e-01, -1.27713156e+00, 2.74391651e-01,\n"," -5.23844063e-01, 2.10067585e-01, -2.99477339e-01,\n"," 1.93369955e-01],\n"," [ 3.51075083e-01, -9.38324556e-02, 3.19395959e-01,\n"," -4.37443882e-01, -4.68622714e-01, -5.78787386e-01,\n"," 4.86385643e-01, 5.48239844e-03, 3.35985243e-01,\n"," -4.03295577e-01],\n"," [ 2.00697452e-01, 8.06513056e-03, 3.05461645e-01,\n"," -1.74138233e-01, 4.56847161e-01, -7.36391366e-01,\n"," -3.37537795e-01, -1.26195088e-01, -2.60918587e-01,\n"," 2.45770007e-01],\n"," [-1.72344655e-01, -2.76129782e-01, -3.06598186e-01,\n"," -2.36074239e-01, 2.01668203e-01, -1.90266117e-01,\n"," 7.21276738e-03, 9.98416543e-02, 1.41766295e-01,\n"," 2.56244928e-01],\n"," [-4.96232323e-02, 1.35627508e-01, 2.63745457e-01,\n"," 1.60038844e-01, -4.41211641e-01, 2.40236297e-02,\n"," 7.56934343e-04, -3.70456785e-01, -2.59945393e-02,\n"," -2.34821662e-01],\n"," [ 2.31152609e-01, -3.17051888e-01, -1.10930726e-01,\n"," 3.24497432e-01, -6.77233100e-01, 4.05312717e-01,\n"," -4.08709526e-01, 1.92227229e-01, 2.51065284e-01,\n"," 3.16672504e-01],\n"," [ 1.52516961e-01, -3.46986234e-01, -3.23686361e-01,\n"," 1.40990794e-01, 1.78187594e-01, -7.33078867e-02,\n"," 8.54231417e-02, 7.94802159e-02, 2.22651064e-01,\n"," -7.43361264e-02],\n"," [ 4.26181018e-01, -1.62464932e-01, -8.84373933e-02,\n"," -3.03197056e-01, 3.68682176e-01, -5.83531797e-01,\n"," -2.29052961e-01, 2.41101012e-01, -2.59959400e-01,\n"," 1.63351700e-01],\n"," [-7.34923333e-02, -5.93579233e-01, -5.73022664e-02,\n"," 5.26454806e-01, -8.46837282e-01, -2.39475340e-01,\n"," -8.63206327e-01, 3.10871392e-01, 1.42631516e-01,\n"," 1.49264991e-01],\n"," [ 6.46088868e-02, -5.50804585e-02, 3.36919010e-01,\n"," 1.60521954e-01, 1.93499416e-01, -1.35052636e-01,\n"," 5.77566549e-02, 7.75962397e-02, -6.54211998e-01,\n"," -8.38903844e-01],\n"," [-5.86945236e-01, 3.99507701e-01, -2.19533101e-01,\n"," 1.87201068e-01, -8.30395997e-01, 4.94057864e-01,\n"," -6.38449073e-01, -7.35913754e-01, -8.18934262e-01,\n"," 2.45059431e-01],\n"," [-1.02212894e+00, 2.49391258e-01, 5.62380552e-01,\n"," -2.60277271e-01, -1.20817244e-01, -1.53562063e-02,\n"," -3.19006383e-01, 3.15375715e-01, 4.34687197e-01,\n"," -8.00848961e-01],\n"," [-4.49615598e-01, 5.99613599e-02, 1.38339967e-01,\n"," 3.71684939e-01, -2.20128521e-01, 2.23396197e-01,\n"," 1.06725119e-01, -6.55472159e-01, 1.32115290e-01,\n"," -6.12310972e-03],\n"," [ 3.14214766e-01, -3.06876432e-02, -5.66350333e-02,\n"," 3.29279266e-02, -2.45228648e-01, -2.91911066e-01,\n"," 3.89735371e-01, -4.96832311e-01, 1.99676886e-01,\n"," 3.48792225e-02],\n"," [-6.50617257e-02, 9.84121785e-02, 1.49365559e-01,\n"," -5.29143989e-01, 3.66056025e-01, 1.97056025e-01,\n"," 2.97300845e-01, 1.62361503e-01, 1.42668188e-01,\n"," -7.77110681e-02],\n"," [-2.49579668e-01, 2.05547974e-01, -8.30058306e-02,\n"," -2.06098408e-01, 5.67023039e-01, -2.23882347e-01,\n"," 2.50299312e-02, 4.18976903e-01, -7.54424989e-01,\n"," 3.98831457e-01],\n"," [ 3.76142710e-01, -7.18074024e-01, -7.77058378e-02,\n"," 1.18941948e-01, -4.81039524e-01, 3.90820205e-02,\n"," -4.12987798e-01, -2.20982805e-02, -8.90598893e-02,\n"," 6.34595081e-02],\n"," [-7.44413555e-01, 5.47253549e-01, -5.93255579e-01,\n"," -7.80710936e-01, -6.77866101e-01, 6.36909902e-01,\n"," 3.95002723e-01, -1.55076995e-01, -1.27587989e-01,\n"," 7.38833025e-02],\n"," [-8.52581501e-01, -1.04969859e-01, -5.43715417e-01,\n"," 3.71976048e-01, 5.31706572e-01, 4.27458256e-01,\n"," -6.81082010e-01, -2.48810858e-01, 2.29748100e-01,\n"," 3.31337988e-01],\n"," [-3.41769516e-01, 3.90058547e-01, 1.13639168e-01,\n"," 1.15917876e-01, 3.50691736e-01, -4.72675443e-01,\n"," -6.54472768e-01, 2.93072253e-01, -1.99037358e-01,\n"," -3.12586486e-01],\n"," [ 8.61683562e-02, 2.93199122e-01, 1.67961508e-01,\n"," 4.49944437e-02, 3.92960548e-01, -7.51288831e-01,\n"," -5.24054229e-01, 1.05664633e-01, 6.95991665e-02,\n"," 3.48783553e-01],\n"," [ 2.30035320e-01, 2.90313363e-01, 5.34657091e-02,\n"," 1.91355869e-01, 2.16025516e-01, -1.00515842e+00,\n"," -4.59007829e-01, 2.06776738e-01, -1.44753084e-01,\n"," 4.18160915e-01],\n"," [ 6.07393906e-02, -4.85399008e-01, 3.14326942e-01,\n"," 3.07157040e-01, -1.29150653e+00, 1.77697420e-01,\n"," -5.72632253e-01, 8.24440196e-02, 2.08004281e-01,\n"," 1.60454646e-01],\n"," [-3.76004130e-02, -5.87494493e-01, -1.47681208e-02,\n"," -1.89349294e-01, 1.88457310e-01, 1.76029131e-01,\n"," 1.35160938e-01, 1.10763237e-01, 9.35673043e-02,\n"," 1.14497669e-01],\n"," [ 3.01938832e-01, -4.35179830e-01, 2.92330563e-01,\n"," 2.72229224e-01, -9.39761475e-02, -5.53328767e-02,\n"," 2.95730144e-01, 2.80643344e-01, -3.12305659e-01,\n"," 5.41096777e-02],\n"," [-7.42685199e-01, -3.69091481e-01, 2.89323956e-01,\n"," 3.89100790e-01, 1.59066141e-01, 5.85991323e-01,\n"," -1.97382435e-01, -2.10096657e-01, -7.23838151e-01,\n"," 3.26334834e-01],\n"," [ 1.07716523e-01, 6.46578729e-01, -6.23543918e-01,\n"," 1.00430451e-01, 4.86879498e-02, 8.35271776e-02,\n"," -5.39043918e-02, 5.64687908e-01, -5.38193822e-01,\n"," 1.75215930e-01],\n"," [-5.70870817e-01, 5.45312345e-01, 2.57630527e-01,\n"," -2.77483702e-01, -1.31997645e-01, -2.61727273e-01,\n"," -8.78111362e-01, 1.61465421e-01, -4.19722289e-01,\n"," 2.35004306e-01]], dtype=float32), array([-0.28244337, 0.08475335, 0.07105463, -0.14020827, 0.20067522,\n"," 0.19168544, 0.04727132, 0.03243769, -0.03037991, -0.17500848],\n"," dtype=float32)]\n","26.089535236358643\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"y2JMcbi1PY78","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":217},"executionInfo":{"status":"ok","timestamp":1595987330791,"user_tz":-330,"elapsed":1168,"user":{"displayName":"Agrover112","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiMJACGAX3kCfRjB2hgzdG8w9zL1lAAKbPPMz0qLA=s64","userId":"09574164879083471944"}},"outputId":"9449c445-0aeb-458f-fc95-a33ae933dc0d"},"source":["\n","model = create_model(use='swish')\n","model.summary()"],"execution_count":98,"outputs":[{"output_type":"stream","text":["Model: \"sequential_30\"\n","_________________________________________________________________\n","Layer (type) Output Shape Param # \n","=================================================================\n","dense_52 (Dense) (None, 64) 50240 \n","_________________________________________________________________\n","dense_53 (Dense) (None, 10) 650 \n","=================================================================\n","Total params: 50,890\n","Trainable params: 50,890\n","Non-trainable params: 0\n","_________________________________________________________________\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"a-QTLz6KPoAp","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":1000},"executionInfo":{"status":"ok","timestamp":1595987396895,"user_tz":-330,"elapsed":26910,"user":{"displayName":"Agrover112","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiMJACGAX3kCfRjB2hgzdG8w9zL1lAAKbPPMz0qLA=s64","userId":"09574164879083471944"}},"outputId":"30cc653e-df19-42fd-b372-e72d1378718a"},"source":["import time\n","start=time.time()\n","print('Initial alpha:', model.layers[1].get_weights())\n","sh = model.fit(\n"," x_train, y_train,\n"," validation_data=(x_test, y_test),\n"," epochs=7\n",")\n","print('Final alpha:', model.layers[1].get_weights())\n","print(time.time()-start)"],"execution_count":100,"outputs":[{"output_type":"stream","text":["Initial alpha: [array([[ 0.02084643, -0.16138217, 0.2829087 , 0.14652565, -0.18471095,\n"," -0.12087099, 0.16201237, -0.00325066, -0.06640942, 0.10206673],\n"," [ 0.2119534 , -0.2558481 , -0.01877779, 0.24446562, 0.14282861,\n"," -0.2140877 , -0.00336966, 0.1178225 , 0.06388301, -0.25829393],\n"," [-0.00031894, 0.06267378, -0.16316961, 0.00606263, 0.14348754,\n"," -0.06689693, 0.21690711, 0.05176529, -0.01930445, -0.1682317 ],\n"," [ 0.00494301, -0.2725569 , -0.2420508 , -0.11959603, -0.15769775,\n"," 0.21959278, -0.00450423, -0.22490624, -0.18821198, -0.03454033],\n"," [ 0.2697967 , 0.25885156, -0.06789531, 0.22188452, -0.06498179,\n"," -0.07024346, 0.26663217, 0.07309249, -0.1939106 , 0.20388949],\n"," [ 0.22402522, -0.06327668, 0.18563873, -0.01840398, 0.07488164,\n"," 0.06559807, 0.23722163, 0.0770376 , 0.27612635, 0.01703215],\n"," [ 0.10302907, -0.07591681, -0.05564269, 0.0057731 , 0.18928951,\n"," 0.03045416, -0.22046757, 0.07652864, 0.07531661, -0.1704296 ],\n"," [-0.24654289, 0.02591667, -0.08242914, 0.06724623, -0.02255946,\n"," -0.06534167, -0.03041071, -0.20521495, -0.09052193, -0.02395412],\n"," [ 0.03733844, 0.02324182, -0.03946812, -0.04012549, 0.11786377,\n"," -0.02232137, -0.13969547, -0.2249879 , -0.14508776, 0.10241473],\n"," [-0.12471099, 0.11376971, 0.26658633, 0.09771979, -0.1470983 ,\n"," -0.14927183, -0.21017852, 0.22384271, 0.26428553, 0.15002811],\n"," [-0.02170658, -0.09789501, 0.17826393, -0.17258665, -0.11967471,\n"," -0.11184216, 0.03065729, -0.06385903, 0.0995706 , 0.21970102],\n"," [ 0.00225344, -0.17406702, -0.01554048, 0.21980903, 0.0067156 ,\n"," -0.16654111, 0.27014586, -0.0758528 , -0.13568078, -0.04987341],\n"," [-0.01047686, -0.09353484, -0.22051713, -0.07676102, -0.22467649,\n"," -0.28033516, -0.01440892, -0.01701415, 0.10294256, 0.22294334],\n"," [-0.02973881, 0.13582247, 0.19796541, -0.11861381, -0.15302895,\n"," -0.13404955, -0.14569394, -0.18011805, -0.24014291, 0.03714877],\n"," [-0.03767259, 0.1192722 , 0.02948844, 0.00864023, 0.08161801,\n"," 0.2534999 , -0.15603508, 0.2337307 , 0.05586502, -0.2338084 ],\n"," [ 0.05075806, 0.13535315, -0.08169873, 0.14613399, 0.06401703,\n"," -0.14418918, 0.07675788, -0.14994916, 0.05921 , 0.0635519 ],\n"," [ 0.1362736 , 0.06823626, -0.06310058, -0.01838017, -0.12582092,\n"," -0.03740233, 0.22413996, -0.03163788, -0.13548505, 0.16524538],\n"," [ 0.10721421, -0.17731974, -0.08177286, -0.1505254 , -0.16266818,\n"," -0.24076852, 0.19786757, -0.13847232, -0.18775591, 0.15895933],\n"," [ 0.19633776, 0.1032497 , 0.19593355, -0.07594709, -0.09152892,\n"," -0.00572908, -0.05662838, 0.2556118 , -0.16428271, -0.0455142 ],\n"," [ 0.15621552, -0.10871741, 0.11520198, 0.21218294, 0.20260236,\n"," -0.02090338, -0.13541365, 0.02393022, -0.18551198, 0.1381368 ],\n"," [-0.11146393, -0.04822534, -0.11929087, 0.10261977, -0.21444046,\n"," -0.18618482, -0.22922038, -0.14747508, -0.02894938, 0.09514824],\n"," [ 0.15461281, 0.08405772, 0.22375295, 0.17174503, -0.00862566,\n"," -0.12028931, 0.13597697, 0.19096678, -0.06937021, 0.08396214],\n"," [-0.15037069, 0.08313036, 0.14401206, -0.13487107, -0.07612258,\n"," -0.17269954, 0.06063029, -0.07695641, -0.07378137, 0.12371364],\n"," [ 0.21618941, -0.19685686, 0.05858847, 0.06657121, 0.21787444,\n"," 0.05203846, -0.26722386, -0.21341804, -0.20159483, 0.1061627 ],\n"," [-0.03538975, -0.01283714, -0.01463348, -0.27121174, 0.18494958,\n"," 0.07252604, -0.07034841, -0.1841299 , 0.08446243, -0.21615852],\n"," [-0.07241157, -0.04971816, -0.17552447, -0.13275571, -0.18054391,\n"," 0.23827317, -0.15699598, 0.05304337, 0.24771515, 0.16333485],\n"," [-0.23664792, 0.2255474 , -0.07014237, -0.1325441 , 0.1986373 ,\n"," -0.23995459, -0.20943588, -0.26351523, 0.05878195, 0.15551016],\n"," [ 0.28088918, 0.27939495, 0.27257887, -0.02270904, -0.24145786,\n"," 0.12574074, 0.26299086, -0.1024332 , -0.08219288, -0.23834786],\n"," [-0.03403687, 0.18297529, 0.18877396, -0.26699385, -0.19123428,\n"," 0.10368901, 0.21427968, -0.15455918, -0.02995312, -0.25859454],\n"," [ 0.12787083, -0.28112897, -0.28422084, -0.26531252, 0.06407446,\n"," 0.06723094, 0.09900942, 0.02035722, -0.15822831, 0.15914196],\n"," [-0.10306619, 0.12481752, -0.23747602, 0.15481845, -0.22736837,\n"," -0.2247192 , 0.26547423, -0.11549248, 0.11319953, -0.01798144],\n"," [-0.04967877, -0.23581323, -0.03011072, -0.12657808, 0.01254162,\n"," 0.25962314, 0.23546687, 0.1937531 , 0.2629778 , -0.24065459],\n"," [-0.07207315, 0.14984578, 0.04891658, -0.16558775, -0.20841095,\n"," 0.26410374, 0.15592131, 0.24788007, -0.04526809, -0.15654099],\n"," [ 0.14251709, -0.04788215, 0.21091756, 0.00104713, 0.07697886,\n"," 0.00788239, -0.28213447, 0.22448197, 0.18822801, -0.0202156 ],\n"," [ 0.13989234, 0.06685594, 0.09844527, -0.25709727, 0.12459329,\n"," -0.2257486 , 0.22728655, -0.07445088, 0.03618047, 0.03205171],\n"," [-0.21526754, -0.24205983, -0.07935892, 0.06283155, 0.18435407,\n"," 0.2436826 , -0.01249668, -0.1862504 , -0.19403823, -0.23071305],\n"," [ 0.2707198 , 0.14927861, 0.12231377, -0.03327432, 0.08704871,\n"," -0.03331983, -0.2388021 , 0.10066685, -0.16331354, 0.22260538],\n"," [-0.17580411, 0.26328513, 0.259568 , -0.16348577, -0.24759021,\n"," -0.19446653, 0.2425594 , -0.23651825, -0.12535098, -0.03153217],\n"," [-0.08782028, -0.23186432, 0.24999645, 0.21460542, 0.23606518,\n"," -0.14987986, 0.15601826, 0.11117792, 0.2083005 , 0.13862357],\n"," [-0.24889782, 0.07920352, 0.11266503, -0.02165607, -0.03507306,\n"," 0.27112076, 0.03518331, -0.13260975, -0.09044582, 0.21408355],\n"," [-0.01016191, -0.2489962 , 0.11249158, -0.01823792, -0.24055766,\n"," 0.1866064 , -0.00494021, -0.2464175 , -0.0852762 , -0.11657211],\n"," [ 0.0617117 , 0.11272016, 0.20944694, 0.11803785, 0.08492705,\n"," -0.11481379, 0.15484607, -0.17880535, 0.06415233, -0.00044399],\n"," [-0.17550194, -0.10301508, -0.07243994, -0.16852212, 0.24897459,\n"," 0.13557577, 0.16673848, -0.1274051 , 0.04485092, -0.0618542 ],\n"," [-0.18568802, -0.22905147, -0.23471472, -0.01964867, 0.1105839 ,\n"," -0.24125643, -0.14596659, -0.18829149, 0.01922849, -0.13289489],\n"," [ 0.24782804, 0.25595686, 0.22886387, 0.16376704, -0.18634132,\n"," -0.08184978, 0.09537905, 0.2223821 , 0.1468896 , 0.22825101],\n"," [ 0.0928694 , 0.27780977, -0.2169757 , -0.02437019, 0.15169656,\n"," -0.1642356 , 0.10965878, -0.01916414, 0.17806032, 0.13637432],\n"," [-0.12239414, 0.05058667, -0.22128347, 0.26127097, -0.11112374,\n"," 0.27718422, -0.10541727, -0.19793329, -0.01424891, -0.01252222],\n"," [ 0.08906314, -0.08415489, 0.09313703, 0.16350248, 0.018475 ,\n"," 0.06254464, 0.08313242, 0.051927 , -0.24295814, 0.14814231],\n"," [-0.03566165, 0.14946899, -0.07364878, 0.11060718, -0.23944 ,\n"," -0.24517629, -0.07581158, 0.09334734, 0.2815623 , -0.2156097 ],\n"," [ 0.04218769, -0.06360433, 0.17315093, -0.01326382, 0.21920422,\n"," -0.15908682, -0.05323657, 0.09175879, -0.27456382, 0.0646264 ],\n"," [ 0.05264208, -0.19934362, 0.09685224, -0.04400136, 0.23881957,\n"," 0.18578562, -0.20333217, 0.17000645, 0.00686848, -0.04670395],\n"," [-0.02261004, -0.14172895, -0.2203762 , -0.2665718 , 0.18003365,\n"," 0.07093069, 0.19197237, -0.2753544 , 0.12339076, -0.08356702],\n"," [ 0.08813563, -0.1337513 , -0.18504028, -0.16888186, -0.0177168 ,\n"," -0.10643533, 0.01033068, -0.2234621 , -0.09089254, 0.18746719],\n"," [-0.02683595, -0.00609589, 0.14482272, -0.06072304, -0.03523667,\n"," 0.16612801, -0.17336947, 0.14035529, -0.14926845, 0.05293751],\n"," [-0.18668659, -0.12448832, -0.07681845, 0.13242033, -0.16163376,\n"," -0.2744421 , 0.15240473, -0.18263584, 0.27328065, 0.15156683],\n"," [ 0.18830976, -0.1439126 , -0.06672043, 0.05270451, 0.27797684,\n"," 0.25196138, -0.02368534, -0.28367162, -0.18910378, 0.19605276],\n"," [-0.25458923, 0.2435629 , 0.0686588 , 0.2617816 , -0.18217793,\n"," -0.06256101, 0.18335581, -0.161084 , 0.1517312 , 0.23118523],\n"," [ 0.02999073, -0.05901712, -0.22581317, 0.2324219 , 0.06861562,\n"," -0.22805561, 0.00728938, -0.05975956, -0.08282222, -0.23063804],\n"," [ 0.20924851, 0.24838147, 0.04153079, 0.02092659, 0.236729 ,\n"," 0.12942514, -0.22642294, 0.2024911 , 0.12934518, -0.24207565],\n"," [-0.12063269, 0.23663154, -0.03499451, -0.09778483, 0.27825257,\n"," -0.09390213, 0.02840737, -0.05355938, -0.14777644, 0.18587789],\n"," [ 0.06274125, 0.26942393, -0.18775415, -0.22617833, -0.08337897,\n"," -0.18592732, -0.27785537, -0.12215613, 0.11402479, -0.01824105],\n"," [ 0.21267521, -0.08912987, 0.13815975, -0.04454018, -0.27270332,\n"," -0.18352064, 0.13591087, 0.27991727, -0.00872797, 0.08608878],\n"," [-0.16333397, 0.0175401 , 0.25605974, -0.21664807, -0.13702804,\n"," 0.04848772, 0.24726877, 0.27258316, -0.26583418, -0.18680397],\n"," [-0.20960614, 0.04158959, 0.05945745, -0.24754134, -0.27514347,\n"," -0.09427077, -0.26287577, -0.26811287, 0.11591765, 0.15758154]],\n"," dtype=float32), array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.], dtype=float32)]\n","Epoch 1/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.3040 - accuracy: 0.9131 - val_loss: 0.1710 - val_accuracy: 0.9498\n","Epoch 2/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.1468 - accuracy: 0.9569 - val_loss: 0.1243 - val_accuracy: 0.9643\n","Epoch 3/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.1058 - accuracy: 0.9686 - val_loss: 0.1057 - val_accuracy: 0.9683\n","Epoch 4/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.0829 - accuracy: 0.9747 - val_loss: 0.0975 - val_accuracy: 0.9697\n","Epoch 5/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.0676 - accuracy: 0.9790 - val_loss: 0.0876 - val_accuracy: 0.9728\n","Epoch 6/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.0567 - accuracy: 0.9825 - val_loss: 0.0781 - val_accuracy: 0.9738\n","Epoch 7/7\n","1875/1875 [==============================] - 4s 2ms/step - loss: 0.0485 - accuracy: 0.9848 - val_loss: 0.0826 - val_accuracy: 0.9731\n","Final alpha: [array([[ 1.49731815e-01, -4.33901697e-01, 4.64810282e-01,\n"," 1.87838107e-01, -1.31817329e+00, -1.36781454e-01,\n"," -2.20852926e-01, 2.31495425e-01, -1.28978742e-02,\n"," 2.20830426e-01],\n"," [ 2.61248738e-01, -5.24092019e-01, 1.00676581e-01,\n"," 2.92181581e-01, 3.80533114e-02, -1.31717250e-01,\n"," -9.61486623e-02, 1.64519414e-01, 7.32505098e-02,\n"," -5.89757383e-01],\n"," [-3.05296451e-01, 6.39697552e-01, -3.87004822e-01,\n"," -6.18221819e-01, 2.71083862e-01, -1.89693332e-01,\n"," 2.91126400e-01, 4.93878633e-01, -2.62698948e-01,\n"," -1.83036327e-01],\n"," [-5.38862571e-02, -7.07252800e-01, -7.63772011e-01,\n"," -1.54142007e-01, -7.22303510e-01, 6.31452680e-01,\n"," 4.30042744e-01, -2.54842222e-01, -2.98031420e-01,\n"," -4.55763824e-02],\n"," [ 3.45255196e-01, 2.81854272e-01, -3.33732665e-01,\n"," 4.03077066e-01, -5.35618544e-01, 1.27922833e-01,\n"," 2.60763645e-01, 1.76811785e-01, -1.80308193e-01,\n"," 1.79475561e-01],\n"," [ 2.88037062e-01, -2.40201920e-01, 2.29364634e-01,\n"," 3.54494378e-02, -5.70987118e-03, 9.35580358e-02,\n"," 3.10644329e-01, -2.13796347e-01, 3.88651699e-01,\n"," -4.00517732e-01],\n"," [ 1.14599176e-01, -1.35150164e-01, -3.57839395e-03,\n"," -1.41047761e-02, 2.14041278e-01, -4.79672551e-02,\n"," -4.21247125e-01, 7.78321549e-02, 1.73335016e-01,\n"," -1.63781032e-01],\n"," [-1.03943014e+00, -9.34921056e-02, -6.32488132e-02,\n"," 1.61940694e-01, 7.25572184e-02, 2.86077429e-02,\n"," -9.62173864e-02, -3.63167644e-01, 1.19543605e-01,\n"," -1.29939392e-01],\n"," [ 1.54250547e-01, 1.55645639e-01, -2.09580407e-01,\n"," -3.19190770e-01, 5.04467487e-01, 2.35066921e-01,\n"," -1.03243977e-01, -2.41838843e-01, -6.40206397e-01,\n"," 3.04776937e-01],\n"," [-2.66955823e-01, 1.27322376e-01, 3.34338874e-01,\n"," 2.47939333e-01, -8.36547911e-01, -1.59717470e-01,\n"," -6.66110218e-01, 2.93320715e-01, 3.33404750e-01,\n"," 1.57734320e-01],\n"," [ 1.19577855e-01, -4.92978781e-01, 3.61308038e-01,\n"," -2.37129539e-01, -1.86134428e-01, -4.17890251e-01,\n"," -2.54069623e-02, -4.45761681e-01, 2.12743133e-01,\n"," 4.48796093e-01],\n"," [-2.03864962e-01, -1.26552964e-02, -5.02817743e-02,\n"," 8.00764799e-01, 3.55053276e-01, -6.61997914e-01,\n"," 3.86062682e-01, -1.92408711e-02, -3.82423431e-01,\n"," -7.93853641e-01],\n"," [-2.19265427e-02, -7.44153500e-01, -3.38362545e-01,\n"," -1.10081555e-02, -3.18389714e-01, -2.55181223e-01,\n"," -1.03596978e-01, 1.30094498e-01, 2.47419044e-01,\n"," 2.28916839e-01],\n"," [ 2.77412329e-02, 4.50430721e-01, 2.73981988e-01,\n"," -1.72758430e-01, 1.98844329e-01, -1.16311860e+00,\n"," -9.03018296e-01, -3.59752998e-02, -3.80222112e-01,\n"," 1.88219786e-01],\n"," [-2.83000112e-01, 2.53945857e-01, -1.56773888e-02,\n"," 1.95304617e-01, -9.53796506e-02, 2.92528033e-01,\n"," -3.34107667e-01, 4.25347537e-01, 1.27015461e-03,\n"," -3.62699389e-01],\n"," [ 3.60631227e-01, 3.77687365e-01, 6.54809177e-02,\n"," 1.94285884e-01, -7.11551458e-02, -4.92102623e-01,\n"," 1.69084609e-01, -6.30376816e-01, -8.73351991e-02,\n"," -6.18890747e-02],\n"," [ 1.88840851e-01, 3.37877065e-01, -3.52709025e-01,\n"," -1.50378183e-01, -1.67953104e-01, -1.00718401e-01,\n"," 4.67675924e-01, -2.64248028e-02, -5.72304487e-01,\n"," 3.65288526e-01],\n"," [ 4.64861870e-01, -7.96116769e-01, -5.00862300e-01,\n"," -1.81662235e-02, -4.18075681e-01, -7.59725645e-02,\n"," 4.32134718e-01, -3.14550400e-01, -2.79537499e-01,\n"," 2.25393564e-01],\n"," [ 2.32697517e-01, 6.34995341e-01, 4.37616915e-01,\n"," -5.96251301e-02, -1.94471061e-01, -4.49716561e-02,\n"," 5.08770421e-02, 6.36699736e-01, -7.83131123e-01,\n"," -9.81902480e-01],\n"," [ 2.91462749e-01, -2.46935993e-01, 1.44172609e-01,\n"," 1.20465450e-01, 2.50389934e-01, 2.53296085e-03,\n"," -3.81592959e-01, 1.59573853e-01, -3.78765702e-01,\n"," 2.31516570e-01],\n"," [-1.52619660e-01, -2.41296560e-01, -3.46051544e-01,\n"," 2.24141121e-01, -2.20836669e-01, -2.11424723e-01,\n"," -6.56462908e-01, -1.33018777e-01, 1.54479846e-01,\n"," 1.71771735e-01],\n"," [-2.82411158e-01, 9.74813551e-02, 5.38680196e-01,\n"," 4.65155929e-01, -1.07075536e+00, -3.40946227e-01,\n"," -3.08232546e-01, 7.06230879e-01, -5.75448751e-01,\n"," -9.98748541e-01],\n"," [-3.84267151e-01, 1.53033406e-01, 5.27504385e-01,\n"," -1.67370453e-01, -1.72380105e-01, -9.20377791e-01,\n"," -1.15357086e-01, -2.22334284e-02, -9.82949585e-02,\n"," 2.11369842e-01],\n"," [ 7.89425820e-02, -4.24634099e-01, 4.22227770e-01,\n"," -2.23431643e-03, 2.16251343e-01, 4.93813515e-01,\n"," -7.93480396e-01, -3.75567347e-01, -7.26243377e-01,\n"," 2.69719303e-01],\n"," [-4.86265235e-02, 1.12802371e-01, 2.56450754e-02,\n"," -1.84848830e-01, 2.36759186e-01, -5.61143458e-03,\n"," 4.79701832e-02, -2.93456703e-01, 7.75554031e-02,\n"," -4.66980189e-01],\n"," [-1.52837485e-01, -1.90810576e-01, -3.31633270e-01,\n"," -7.83334970e-02, -1.18793815e-01, 2.20287845e-01,\n"," -2.67406791e-01, 1.15171961e-01, 3.01965356e-01,\n"," 2.12764204e-01],\n"," [-5.22504568e-01, 4.75119263e-01, -1.04377143e-01,\n"," 2.59977337e-02, 2.86525637e-01, -4.48789954e-01,\n"," -7.70045340e-01, -2.75243461e-01, 6.26455024e-02,\n"," 2.01794267e-01],\n"," [ 3.49257261e-01, 4.34420675e-01, 2.72553682e-01,\n"," 1.80262923e-02, -5.70634007e-01, 1.84467852e-01,\n"," 2.97969013e-01, -4.44463670e-01, -1.19978683e-02,\n"," -5.41739285e-01],\n"," [ 7.31817409e-02, 2.00053737e-01, 3.19348454e-01,\n"," -1.50569916e-01, -2.11659268e-01, 1.62159070e-01,\n"," 2.87019700e-01, -7.12357521e-01, -2.04860931e-03,\n"," -9.84278917e-01],\n"," [ 1.12038322e-01, -5.10497868e-01, -4.16805893e-01,\n"," -2.49923721e-01, 6.82155788e-02, 1.22359022e-01,\n"," 9.14279744e-02, 8.82571265e-02, -1.53735951e-01,\n"," 1.65009096e-01],\n"," [-1.05370134e-01, 2.39940397e-02, -7.05469131e-01,\n"," 2.17499971e-01, -8.44108537e-02, -1.24247648e-01,\n"," 4.22534913e-01, -3.24516475e-01, 2.45857835e-01,\n"," -1.78518463e-02],\n"," [-1.27832174e-01, -5.22153318e-01, -2.91783392e-01,\n"," -8.64523724e-02, 3.86161543e-02, 3.00999373e-01,\n"," 2.30741262e-01, 2.31336683e-01, 3.48102123e-01,\n"," -2.02175349e-01],\n"," [-3.94378938e-02, 1.55636549e-01, -6.40811846e-02,\n"," -5.39406687e-02, -4.92361724e-01, 7.37513602e-01,\n"," 1.91578746e-01, 2.93377310e-01, -3.13824117e-01,\n"," -3.90696555e-01],\n"," [ 9.64221582e-02, -3.29347610e-01, 5.09405255e-01,\n"," 2.37738386e-01, -3.82977635e-01, 1.30535722e-01,\n"," -9.69915688e-01, 2.59076029e-01, 3.71975116e-02,\n"," -7.54233077e-02],\n"," [ 2.44937316e-01, -2.70787776e-01, 2.61643827e-01,\n"," -6.45627558e-01, 3.04613680e-01, -3.37191790e-01,\n"," 3.29648584e-01, -6.05162568e-02, -1.97559655e-01,\n"," 3.93660478e-02],\n"," [-2.96712846e-01, -2.63452291e-01, -1.11326106e-01,\n"," 1.19437240e-01, 2.44017825e-01, 2.26376623e-01,\n"," 3.41089666e-02, -4.28911537e-01, -1.09204568e-01,\n"," -2.29447320e-01],\n"," [ 3.68769884e-01, 2.24069402e-01, 3.30290079e-01,\n"," -5.65521121e-01, 2.96533823e-01, -9.65600088e-02,\n"," -6.42778099e-01, 4.14326191e-01, -3.90723974e-01,\n"," 2.54318386e-01],\n"," [-6.78887367e-01, 4.68267381e-01, 7.12026060e-01,\n"," -5.84407926e-01, -6.20597839e-01, -7.86007009e-03,\n"," 2.33101785e-01, 1.07688457e-01, -4.76215541e-01,\n"," -5.92076242e-01],\n"," [-1.77917510e-01, -3.23170960e-01, 2.65124053e-01,\n"," 3.00844699e-01, 3.26788515e-01, -2.62672812e-01,\n"," 9.99861732e-02, 7.83654377e-02, 2.66984969e-01,\n"," 1.24358319e-01],\n"," [-8.46866190e-01, 5.34512818e-01, 4.96943220e-02,\n"," -1.24183938e-01, -5.75144112e-01, 5.61234117e-01,\n"," 1.50435999e-01, -4.10795629e-01, -3.26945558e-02,\n"," -2.19402630e-02],\n"," [ 1.55782923e-01, -3.18065941e-01, 1.37527838e-01,\n"," -1.89514440e-02, -8.31944287e-01, 2.16617480e-01,\n"," 1.06157757e-01, -6.68298721e-01, 2.62244996e-02,\n"," -2.93139726e-01],\n"," [-4.97790538e-02, 4.02206689e-01, 3.90538514e-01,\n"," 1.36215746e-01, 3.74176145e-01, -1.74788311e-01,\n"," 1.13416307e-01, -6.49669766e-01, -4.41111438e-02,\n"," -5.84615350e-01],\n"," [-1.40366808e-01, -7.02978194e-01, -8.11422020e-02,\n"," -5.92402518e-01, 3.70947838e-01, 2.10446447e-01,\n"," 2.57139236e-01, -3.52904409e-01, 4.35765386e-01,\n"," -2.11221486e-01],\n"," [-2.48244941e-01, -3.40930551e-01, -2.32052937e-01,\n"," -1.37954727e-01, 2.25317314e-01, -3.08470964e-01,\n"," -1.57318115e-01, -1.49898171e-01, 6.99235499e-02,\n"," -1.23474807e-01],\n"," [ 3.89223307e-01, 3.60852778e-01, 2.80023336e-01,\n"," 2.99148440e-01, -9.23705637e-01, -2.95859694e-01,\n"," -2.83741266e-01, 1.87985092e-01, 2.38939673e-01,\n"," 2.98416406e-01],\n"," [ 2.19868809e-01, 1.53038442e-01, -9.07539368e-01,\n"," -1.96437500e-02, 2.46366560e-01, -1.60243168e-01,\n"," 6.32638112e-02, 1.71545595e-01, 1.95253208e-01,\n"," 2.82076955e-01],\n"," [-7.42679894e-01, -4.79863472e-02, -4.55233514e-01,\n"," 5.91277838e-01, 1.15367748e-01, 5.63130796e-01,\n"," -9.71859515e-01, -7.72881687e-01, -2.53444344e-01,\n"," 4.80511606e-01],\n"," [-4.93391752e-01, 2.29860060e-02, -2.71073073e-01,\n"," 5.43561161e-01, -3.34929407e-01, 4.90233094e-01,\n"," -9.81485426e-01, -5.17700575e-02, -9.93854880e-01,\n"," 4.83477712e-01],\n"," [ 5.48380688e-02, 1.41188398e-01, -6.44412115e-02,\n"," 1.33213237e-01, -5.37695587e-01, -1.80336669e-01,\n"," -6.32693842e-02, 5.18557020e-02, 2.90645868e-01,\n"," -2.51980096e-01],\n"," [-1.83372930e-01, 3.65850449e-01, 1.80612817e-01,\n"," 1.33650050e-01, 3.87935519e-01, -8.71185184e-01,\n"," -4.30590473e-02, 2.80049175e-01, -5.12915552e-01,\n"," 3.46631669e-02],\n"," [ 7.43601471e-02, -3.60779971e-01, -2.46726759e-02,\n"," 4.55730930e-02, 1.75537989e-01, 1.65782228e-01,\n"," -2.70586193e-01, 1.70745358e-01, 6.67888150e-02,\n"," 1.18683642e-02],\n"," [-5.20109758e-02, -4.45666760e-01, -3.51267159e-01,\n"," -5.51048219e-01, 2.42391750e-01, 2.69737124e-01,\n"," 2.76017815e-01, -4.28650528e-01, 2.16453865e-01,\n"," -1.51956588e-01],\n"," [ 4.31278735e-01, -9.04896736e-01, -2.55938292e-01,\n"," -7.30681777e-01, 6.55984432e-02, -5.66637039e-01,\n"," 1.64588317e-01, -7.40998834e-02, -1.97113231e-01,\n"," 3.00944954e-01],\n"," [-6.09115958e-01, -2.29403347e-01, 5.87410890e-02,\n"," 2.39972323e-01, -2.65979201e-01, 4.26396549e-01,\n"," -6.96407020e-01, 3.38046670e-01, -2.64614165e-01,\n"," 1.08107306e-01],\n"," [-1.07142828e-01, -2.09427252e-01, -8.69332030e-02,\n"," 1.88275158e-01, -1.13172539e-01, -2.74562031e-01,\n"," 1.33884296e-01, -2.69531637e-01, 2.93823957e-01,\n"," 8.38262364e-02],\n"," [-1.08274594e-01, -5.08131862e-01, -3.74762982e-01,\n"," 2.86283642e-01, 1.35801762e-01, 5.82510412e-01,\n"," -5.25634229e-01, -5.35435200e-01, -4.63724166e-01,\n"," 3.52456629e-01],\n"," [-6.30677104e-01, 2.33571649e-01, 5.12483455e-02,\n"," 2.94163167e-01, -1.86544269e-01, 9.73573998e-02,\n"," 1.26142472e-01, -2.81756938e-01, 2.44333550e-01,\n"," 2.21896902e-01],\n"," [-4.10086244e-01, 1.23046376e-01, -1.80108547e-01,\n"," 5.02610862e-01, 1.66548803e-01, -3.30161393e-01,\n"," -1.54134870e-01, 5.63301556e-02, -6.63784966e-02,\n"," -6.57790303e-01],\n"," [-2.17618585e-01, 3.43586743e-01, 1.15578927e-01,\n"," 1.74166456e-01, 4.82927650e-01, 1.75322905e-01,\n"," -2.65136242e-01, 5.54056227e-01, -1.07633181e-01,\n"," -1.01391160e+00],\n"," [-8.87315795e-02, 5.30456722e-01, -4.52662557e-01,\n"," -3.96309078e-01, 6.97408915e-01, -5.39497375e-01,\n"," -2.82823920e-01, 2.41326377e-01, -1.04473746e+00,\n"," 3.96983236e-01],\n"," [ 4.51409295e-02, 3.89143020e-01, -5.30617893e-01,\n"," -1.11014879e+00, 2.28215978e-01, 1.27028674e-01,\n"," -3.75424117e-01, -4.11291532e-02, 1.13378026e-01,\n"," 7.68665150e-02],\n"," [ 3.78078163e-01, -2.17042640e-01, 3.83303612e-01,\n"," 3.88794467e-02, -7.33465075e-01, -4.89541262e-01,\n"," -1.22210853e-01, 3.11729282e-01, 7.76535785e-03,\n"," 1.24798603e-01],\n"," [-2.53623933e-01, -1.46778256e-01, 5.04625916e-01,\n"," -4.46415126e-01, -3.18751544e-01, -7.50553384e-02,\n"," 6.77202344e-01, 4.52303380e-01, -5.34743130e-01,\n"," -5.18810511e-01],\n"," [-1.24668248e-01, -5.25280349e-02, 4.62340042e-02,\n"," -1.55642182e-01, -1.98368356e-01, -1.35572910e-01,\n"," -2.97075570e-01, -4.64215338e-01, 1.78020626e-01,\n"," 7.27451295e-02]], dtype=float32), array([-0.29424328, -0.00455734, -0.14798099, -0.09637861, 0.08103569,\n"," 0.29841307, -0.08061539, 0.14297737, 0.16231781, -0.16612889],\n"," dtype=float32)]\n","25.92690658569336\n"],"name":"stdout"}]},{"cell_type":"markdown","metadata":{"id":"Cw-kjX4yRymq","colab_type":"text"},"source":["Looks like GELU can help in deeper networks "]},{"cell_type":"code","metadata":{"id":"sg0MrzuAP9q5","colab_type":"code","colab":{"base_uri":"https://localhost:8080/","height":561},"executionInfo":{"status":"ok","timestamp":1595987647070,"user_tz":-330,"elapsed":2228,"user":{"displayName":"Agrover112","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiMJACGAX3kCfRjB2hgzdG8w9zL1lAAKbPPMz0qLA=s64","userId":"09574164879083471944"}},"outputId":"3631954e-c179-4d93-8bb1-eda40804117b"},"source":["plot_results(gh)\n","plot_results(sh)"],"execution_count":104,"outputs":[{"output_type":"execute_result","data":{"text/plain":[""]},"metadata":{"tags":[]},"execution_count":104},{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{"tags":[],"needs_background":"light"}},{"output_type":"display_data","data":{"image/png":"iVBORw0KGgoAAAANSUhEUgAAAtcAAAEGCAYAAACuBLlKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdeVxVdf748debHQRU0NxQUXNDBUncNU3LLCtTc0tNxybLsuVbTdPUtDn1q5maqWkznXLKNHBJbVHHyqUyK0FBzX1DxV1QQZH98/vjXBENFfXeey7wfj4ePO65Z31fOh3efu7n83mLMQallFJKKaXU1fOyOwCllFJKKaUqCk2ulVJKKaWUchJNrpVSSimllHISTa6VUkoppZRyEk2ulVJKKaWUchIfuwNwlho1apjIyEi7w1BKqSuyevXqo8aYmnbH4U763FZKlVcXe2ZXmOQ6MjKSpKQku8NQSqkrIiK77Y7B3fS5rZQqry72zNZuIUoppZRSSjmJJtdKKaWUUko5iSbXSimllFJKOUmF6XOtlHKN/Px80tLSyMnJsTuUCiEgIICIiAh8fX3tDsUj6f12YXrvKFU+aHKtlLqotLQ0QkJCiIyMRETsDqdcM8aQnp5OWloajRo1sjscj6T3W+n03lGq/NBuIUqpi8rJySE8PFwTHScQEcLDw7VV9iL0fiud3jtKlR+aXCulLkkTHefR3+Wl6e+odPp7Uap8qNzdQtKSYPMCuPEFuyNRSimllFKuVlQIJ/ZC+g7I2AnZGdDzz069hEtbrkWkr4hsEZHtIvJ0KdsfEJH1IpIiIitEJKrEtr84jtsiIje7JMB9q2HFv+DgepecXil19W644QYWL158zrq33nqL8ePHX/CYnj17llqc5ELrlTrDmfcbwNGjR/H19eWDDz5wapxKqYsoKoRju2HHUkj8EP73DHw2FN5tD6/Uhn/HwPSBsPBJWPkOFBY49fIua7kWEW/gPeAmIA1IFJEvjTEbS+z2mTHmA8f+dwD/Avo6kuxhQCugLvCdiDQzxhQ6Ncg2g+Gbv0LyDLjlNaeeWinlHMOHDychIYGbbz77b+yEhAT+8Y9/2BiVqqicfb/Nnj2bTp06ER8fzwMPPOCsMJVSRUWQmXa2BTpjp2N5BxxLhcK8s/v6BEJYY6jZHJrfai2HN4GwJhBSG5zc5cqV3UI6ANuNMTsBRCQB6A8UJ9fGmMwS+1cBjGO5P5BgjMkFdonIdsf5fnZqhEFh0PwWWD8LbpoIPn5OPb1S6urddddd/PWvfyUvLw8/Pz9SU1PZv38/3bt3Z/z48SQmJnL69GnuuusuXnrppcs+f0ZGBmPHjmXnzp0EBQUxZcoUoqOj+f7773n00UcBq6/rDz/8wMmTJxk6dCiZmZkUFBQwadIkunfv7uyPrGzk7PstPj6ef/7zn9x9992kpaUREREBwLRp03jjjTcQEaKjo/n00085dOgQDzzwADt37gRg0qRJdOnSxaWfVymPVlQEmfushLk4eXa8HkuFwtyz+/oEWElzjWZWbhfW5GwSHVLH6Qn0xbgyua4H7C3xPg3oeP5OIvIQ8DjgB/Qqcewv5x1br5RjxwHjABo0aHBlUbYdCRu/gK3/g6g7ruwcSlUSL321gY37My+942WIqhvKC7e3uuD2sLAwOnTowKJFi+jfvz8JCQkMGTIEEeGVV14hLCyMwsJCevfuzbp164iOjr6s67/wwgvExsYyf/58li5dyj333ENKSgpvvPEG7733Hl27duXkyZMEBAQwZcoUbr75Zp599lkKCwvJzs6+2o+vLqK832979+7lwIEDdOjQgSFDhjBz5kyeeOIJNmzYwMsvv8zKlSupUaMGGRkZADzyyCP06NGDefPmUVhYyMmTJ5362ZXySEVFkLW/RAv0Dkh3vGbsukAC3RSa3exofW7saIGuA16eMU+H7QMajTHvAe+JyN3AX4HRl3HsFGAKQFxcnLnE7qVr0guCa0PKDE2ulfJQZ76qP5PsfPTRRwDMmjWLKVOmUFBQwIEDB9i4ceNlJ9crVqzg888/B6BXr16kp6eTmZlJ165defzxxxkxYgQDBw4kIiKC9u3bM3bsWPLz87nzzjtp27at0z+rsp+z7reZM2cyZMgQAIYNG8bYsWN54oknWLp0KYMHD6ZGjRqAldADLF26lGnTpgHg7e1N1apVXfkxlXKfoiLIOnCBFuhdUFBiiklv/7MJc9ObzmuBrusxCfTFuDK53gfUL/E+wrHuQhKASVd47JXz9oG2w+GntyHrEITUcslllKoILtbi50r9+/fn//7v/1izZg3Z2dm0a9eOXbt28cYbb5CYmEj16tUZM2aMU+cAfvrpp+nXrx8LFy6ka9euLF68mOuvv54ffviBBQsWMGbMGB5//HHuuecep11Tnau832/x8fEcPHiQGTNmALB//362bdvmjo+glPsZYyXQ57RAn1neBQWnz+7r7Q9hjayk+dreZ/s/hzWG0HrlIoG+GFcm14lAUxFphJUYDwPuLrmDiDQ1xpx50vQDzix/CXwmIv/CGtDYFFjlskjbjoQVb8K6BOj6qMsuo5S6MsHBwdxwww2MHTuW4cOHA5CZmUmVKlWoWrUqhw4dYtGiRfTs2fOyz929e3dmzJjBc889x/Lly6lRowahoaHs2LGDNm3a0KZNGxITE9m8eTOBgYFERERw3333kZuby5o1azS5roCccb9t3bqVkydPsm/f2XahF154gfj4eAYNGsSAAQN4/PHHCQ8PJyMjg7CwMHr37s2kSZN47LHHiruFaOu18kiFBXB0C+xPhn1rrNcjmyG/RFc5bz+o7kigm/QqMYjwTALtbV/8Luay5NoYUyAiE4DFgDcw1RizQUQmAknGmC+BCSJyI5APHMPRJcSx3yyswY8FwENOnymkpBrXQv2O1qwhXR5xa6d3pVTZDB8+nAEDBpCQkABATEwMsbGxtGjRgvr169O1a9cynadfv374+voC0LlzZyZPnszYsWOJjo4mKCiITz75BLCmX1u2bBleXl60atWKW265hYSEBF5//XV8fX0JDg4u/gpfVTxXe7/Fx8czYMCAc9YNGjSIoUOH8vzzz/Pss8/So0cPvL29iY2N5eOPP+bf//4348aN46OPPsLb25tJkybRuXNnl31GpcqkqAjSt1sJ9H5HIn1g3dmWaP9QqBMD7cac2wJdNaJCJ9AXI8ZcWVdlTxMXF2euav7a1Z/AV4/AH5dARJzzAlOqnNu0aRMtW7a0O4wKpbTfqYisNsZUqodPac9tvd8uTn8/yqWMsfpA7092tEonw4G1kJdlbfcNshLpurFQ9zrrNaxxue/GcSUu9sy2fUCjx2g1ABb9GZKna3KtlFJKqYrNGGuauzPdOs785By3tnv7Q+02EDPMSqLrXWdNc1dJW6MvhybXZwSEQlR/+O1zuPn/gV+Q3REppZRbiUhf4N9YXfk+NMa8dt72hsBUoCaQAYw0xqQ5tv0Da+yMF/At8KipKF+NKlURZB06t2vH/mQ4dcTa5uUDtVpBqzsdrdKxcE0UePvaG3M5pcl1SbEjrEGNm7+G6CF2R6OUUm5Txqq6bwDTjDGfiEgv4FVglIh0AboCZ+alWwH0AJa7K36lVAmn0uFAia4d+5OtuaQBxAtqtoCmN0Pdtlb3jlqtwDfA3pgrEE2uS2rYDao1sLqGaHKtlKpcLllVF4jCKvoFsAyY71g2QABWMTABfIFDbohZKZVzAvanlOjasQaO7zm7PbwpRHY727Wjdhvwq2JfvJWAJtcleXlB2xGw/DXrxqx2hVUflVKq/ClLVd21wECsriMDgBARCTfG/Cwiy4ADWMn1u8aYTW6IWanKJe+UNVNHya4d6dvPbq8eCfXaQfs/Wsl0nRgI0Okc3U2T6/PFDIflr0JKPPT8s93RKKWUJ3kSeFdExgA/YNUwKBSRa4GWWAW/AL4Vke7GmB/PP4GIjAPGATRooA0YSl1Qfg4c+u3cuaSPbgFTZG0PrWcl0DHDz/aTDgqzN2YFaHL9e9UbQqPrrXLo1/+pUk4vo5QnSU9Pp3fv3gAcPHgQb29vatasCcCqVavw8/O74LFJSUlMmzaNt99+u8zXi4yMJCkpqbg0dSVyycq4xpj9WC3XiEgwMMgYc1xE7gN+McacdGxbBHQGfpdcG2OmAFPAmorPBZ/DKebPn8+AAQPYtGkTLVq0sDscVRkc2w27foC0RKtl+vAmKCqwtlWpafWNPjPgsE5brSjtwTS5Lk3bkTBvHOz+CRp1tzsapSq18PBwUlJSAHjxxRcJDg7mySefLN5eUFCAj0/pj7K4uDji4nRqzTIqS1XdGkCGMaYI+AvWzCEAe4D7RORVrG4hPYC33BW4K8THx9OtWzfi4+N56aWX7A5HVUSZByD1R9j1Pez6EY7vttYHVrcS6K59zs4nHVpXC9yVI9osW5qWt1sVh1Jm2B2JUqoUY8aM4YEHHqBjx4489dRTrFq1is6dOxMbG0uXLl3YsmULAMuXL+e2224DrMR87Nix9OzZk8aNG19Wa3Zqaiq9evUiOjqa3r17s2ePNVho9uzZtG7dmpiYGK6//noANmzYQIcOHWjbti3R0dFs27bNyZ/eNYwxBcCZqrqbgFlnquqKyB2O3XoCW0RkK1ALeMWxfg6wA1iP1S97rTHmK3fG70wnT55kxYoVfPTRR8UVGgsLC3nyySdp3bo10dHRvPPOOwAkJibSpUsXYmJi6NChA1lZWXaGrjzZqXTYMB++fhzebQ//agFz74NNX1uDDG95HR78BZ7aBaPmQe/nrXykaj1NrMsZbbkujV8QtB4I62bBra+Df4jdESnlGRY9DQfXO/ectdvALa9der/zpKWlsXLlSry9vcnMzOTHH3/Ex8eH7777jmeeeYbPP//8d8ds3ryZZcuWkZWVRfPmzRk/fnxxKfSLefjhhxk9ejSjR49m6tSpPPLII8yfP5+JEyeyePFi6tWrx/HjVuGFDz74gEcffZQRI0aQl5dHYWHhZX82uxhjFgILz1v3fInlOViJ9PnHFQL3Oz0gm+63L774gr59+9KsWTPCw8NZvXo1q1atIjU1lZSUFHx8fMjIyCAvL4+hQ4cyc+ZM2rdvT2ZmJoGBgc6NV5VfOSdg90qrq8euH+GQ4172C4aGXeC6e6xuqLVaa2GWCkaT6wtpOxJWfwwb5ln/AyilPMrgwYPx9rb+IJ04cYLRo0ezbds2RIT8/PxSj+nXrx/+/v74+/tzzTXXcOjQISIiIkrdt6Sff/6ZuXPnAjBq1CieeuopALp27cqYMWMYMmQIAwcOBKBz58688sorpKWlMXDgQJo2beqMj6vcKD4+nkcffRSAYcOGER8fz65du3jggQeKuyCFhYWxfv166tSpQ/v27QEIDQ21LWblAfJOwZ5frGQ69UdrAKIpAp8AqN8Rej0HjXpYc0trcZYKTZPrC4mIs8p8Js/Q5FqpM66ghdlVqlQ5O0/rc889xw033MC8efNITU2lZ8+epR7j7+9fvOzt7U1BQcFVxfDBBx/w66+/smDBAtq1a8fq1au5++676dixIwsWLODWW29l8uTJ9OrV66quU2nZcL9lZGSwdOlS1q9fj4hQWFiIiBQn0EoVK8i1Bh+eaZlOS4SifKvaYUR7a1KEyO7WshZoqVQ0ub4QEWvO6+9egKPboca1dkeklLqAEydOUK9ePQA+/vhjp5+/S5cuJCQkMGrUKGbMmEH37tZA5x07dtCxY0c6duzIokWL2Lt3LydOnKBx48Y88sgj7Nmzh3Xr1mlyXY7MmTOHUaNGMXny5OJ1PXr0ICYmhsmTJ3PDDTcUdwtp3rw5Bw4cIDExkfbt25OVlUVgYOAFB9iqcq6wwGqNTv3BSqj3/AIFOVbFwzptofND1iQIDTprkZZKTp8AFxMzDJZMhJTpcOOLdkejlLqAp556itGjR/Pyyy/Tr1+/qz5fdHQ0Xo5pOIcMGcI777zDH/7wB15//XVq1qzJf//7XwD+9Kc/sW3bNowx9O7dm5iYGP7+97/z6aef4uvrS+3atXnmmWeuOh7lPvHx8fz5z+fWOBg0aBCbNm2iQYMGREdH4+vry3333ceECROYOXMmDz/8MKdPnyYwMJDvvvuO4OBgm6JXTlVUZPWT3vWjlUzvXgl5jgGrtVpD3Firz3SDzhBYzd5YlUcRYzx2mtHLEhcXZ5KSkpx/4hlD4OA6+L8NOuBAVUqbNm2iZcuWdodRoZT2OxWR1caYSjVvYGnPbb3fLk5/Py5kDBzd6ujm8T2kroDTx6xt4U2tRLpRd6urR5VKNw++Os/Fntnacn0psSNg1mLYsRSa3mR3NEoppZRyBmPg2K6zLdOpP8LJQ9a2qg2gRT+IdCTUoXXtjVWVK5pcX0qzWyAwDJKna3KtlFJKlWcn9jkKtzj6TZ/Ya60Prm3N5NGou9VCXT3S1jBV+abJ9aX4+EH0EEiaCtkZEBRmd0RKuZ0xBtEiBk5RUbriuZLeb6XTe+cKnDxybjKdscNaHxhmJdJdH7WS6hpNtVCLchpNrsui7Qj49QNYPwc6jrM7GqXcKiAggPT0dMLDwzXhuUrGGNLT0wkI0Gm5LkTvt9LpvVNGxliFh9bPgu1L4PBGa71/KDTsCu3vtVqmr2kFXlqkWrmGJtdlUSfaquqVMl2Ta1XpREREkJaWxpEjR+wOpUIICAgoU+GaykrvtwvTe+ciMg/A+tmwNgEObwAvX4jsCm0GWy3TdWLAW1Me5R56p5VV7ChY9BQc/A1qt7Y7GqXcxtfXl0aNGtkdhqok9H5TZZZ3CjYvsBLqncusaogR7eHWN6D1IO3G6UY5+YUUFBkCfb3x9tJvnDS5Lqs2g+Gbv0LKDOj7qt3RKKWUUpVPURHsXmEl1Bu/gLyT1swe3Z+A6GFa8O0K5BcWkZVTQFZOPlk5BWSezifT8T6zxPqsnHwyTxeQlXt2P2t9AXmFRcXn8/fxItDPmyBfbwL9vB3LPtarnzeBjvVnl31+v97xPsixLcD37P5e5SB51+S6rILCoPktsG4m3PiSNdBRKaWUUq53ZCusjYd1syAzDfxCoNUAq9hbgy6Vtv90UZEhK/fcxDgrx0qAM0+XWJ9TQOY5SfLZxPh0fuElr1PFz5uQAF9CAnwICfAhrIofDcOrEBLgQ6hjvY+XcDq/0PrJKyQ7z3o9nV9Idl4Bx7PzOHDi/PWXvvb5Any9ihPvwPOS8pKJeJCfT4nl85P6c5P9+mFBV/LrvyBNri9H25HWv5S3LYaWt9sdjVJKKVVxnUqH3z63kur9a6wy4016w00vQfNbwc+5CZHdsnLy2XwwiwMnckokv/klkuISrcdn1uUWXPK8/j5ehAT4EupIjEMDfalTNYAQf19CA32Kk+bQ4uTZeq0aaL0G+/vg4+2af7wYY8jJLyI7r+DcpPx3ywVkO97nOJLys8vWtmOn8th37Nzjy/IPBz8fL7a+fItTP5cm15ejSS9rLszkGZpcK6WUUs5WkAtb/wdrZ1oNWUUF1oQCfV6xumeG1LI7wqtmjCHt2Gk2Hchk44HM4te9Gad/t6+Pl5yT8IYG+NIwPMhKlh2JcWgpiXFo4NlWZn8fz60uLSLFXUdcoajIkFNwoaTdSsoLCp0/xaUm15fD28f6CmrlO5B1qEL8T66UUkrZyhhIS7RaqH+bCznHrYasTuOtftTleBKBnPxCth06WZxAn0mms3KsFmcRaBReheh61RjWvgEt64RQv3pQcXIc6OutU1JeBS8vcfTb9iHcjdfV5PpyxY6En96CdQnW5PNKKaWUunzHUq0W6nUJkLETfAKtb4VjhkHjnuDluS2upTl6MpeN+zPPaZHeceQUhUVWy2iQnzctaodwR0xdouqG0rJOKC1qhxDkp6lYRaP/RS9XjaYQ0cHqGtLlEa3opJRSSpVVzgnYMN+a7WPPSkAgsht0fxKi7gD/ELsjvKTCIsOuoyfZsD+TTQeyipPpI1m5xfvUqRpAVJ1Q+kTVLk6kG4YFlYuZLtTV0+T6SsSOgK8ehX2rISLO7miUUkopz1WYDzuWWt0+Ni+Ewlyo0Qx6Pw9thkC1+nZHeEFnBhluOpBZ3Cq9+WAWuQXW1HO+3sK114RwfdOatKwTYiXStUOpXkVnFKvMNLm+Eq0GwqKnIXm6JtdKqQpDRPoC/wa8gQ+NMa+dt70hMBWoCWQAI40xaSJyA/BmiV1bAMOMMfPdE7nyOMbAwXVWC/X62XDqCASGQbvRVrePutd51De/JQcZbjqQxcYDJ9h0IIs9GdnF+1QP8qVlnVBGdWpIyzqhRNUNpUnNYPx8Kuc0gOrCXJpcl+FB/TjwR6AAOAKMNcbsdmwrBNY7dt1jjLnDlbFeloBQ6+ur3+ZaBWV8A+2OSCmlroqIeAPvATcBaUCiiHxpjNlYYrc3gGnGmE9EpBfwKjDKGLMMaOs4TxiwHfjGrR9AeYbM/dZc1GsT4Mgm8PaDZn0hZjhce6NH1IjIyS9k++GTbNx/dpDh5gOZZJ43yLBNvaoMbV/fapGuU5Vaof46uFCVicuS6zI+qJOBOGNMtoiMB/4BDHVsO22Maeuq+K5a2xFWQZlNX0P0YLujUUqpq9UB2G6M2QkgIglAf6DkMzsKeNyxvAworWX6LmCRMSa7lG2qIso7Zf0tXBsPO5cDxhqb1O9fVqEXG8uQHz2Ze06Xjo0XGGR4uw4yVE7kyrvnkg9qR2vHGb8AI10Yj3NFdodqDSBluibXSqmKoB6wt8T7NKDjefusBQZifSM5AAgRkXBjTHqJfYYB/7rQRURkHDAOoEGDBk4IW9miqBBSf3SUIf8S8k9ZfxN7PAXRQyG8iesuXWQ4cTqf9FN5pJ/MJeNUnmM5j4xTuRx1rN955BSHdZChsoErk+uyPKhLuhdYVOJ9gIgkYXUZea20vnu2PqS9vKzW6+WvwfG9Hj0gQymlnORJ4F0RGQP8AOwDikugiUgdoA2w+EInMMZMAaYAxMXFOb96g3Ktw5utqfPWzYLMfeAfCm0GWd0+6ne6ojLkRUWGzJz8cxLks8t5HHUk0NZyHsey84pbns8XGuBDjWB/wqr40a1pDaIcfaN1kKFyJ4/43kNERgJxQI8SqxsaY/aJSGNgqYisN8bsKHmc7Q/pmOGw/FXrq7AeT7n98kop5UT7gJKtBBGOdcWMMfuxWq4RkWBgkDHmeIldhgDzjDH5Lo5VudOpo7B+jvW37kAKiLfVf7rPy9D8lt+NOzLGkHm6gPRTucUJcYajNTnd0cqccSqX9JPW8rFTeRRcIFkOKZEsNwgLIrZBNcKq+BFexZ/wYOs1rIof4cF+VA/y08GFyiO4Mrm+5IMaQERuBJ4Fehhjir+/Mcbsc7zuFJHlQCyw4/zjbVW9ITS6HlJmWHN0XsG/2JVSykMkAk1FpBHWs3oYcHfJHUSkBpBhjCkC/oI1c0hJwx3rVUWQuR/+9zRm8wKkqIDcmm043OE5ttfqy8HCUNIP55K+a2dxC/OZbhrHsvPIv0BJ6RB/H8KD/Qir4kf9sCDa1ncky8H+hDuS5LAqftQI9tdkWZVbrkyuy/KgjgUmA32NMYdLrK8OZBtjch0P865Ygx09T9uRMG+cNRl+ZDe7o1FKqStijCkQkQlYXTq8ganGmA0iMhFIMsZ8CfQEXhURg9Ut5KEzx4tIJFaDyvduDl05kTGGHUdOcmBlAtetewmvojymF/ZldkF3tu6t7+jsubt4/xB/H8IcCXG9aoFE16tanCCXbFmuEexP9Sq++PuUr6qLSl0JlyXXZXxQvw4EA7Md09ucmXKvJTBZRIoAL6w+1xtLvZDdWt4OC0OtOa81uVZKlWPGmIXAwvPWPV9ieQ4w5wLHpmKNtVHlSEFhERsPZLJqVwaJqRls2pXGY/n/YaD3Cn7jWmY3eI6gui0YUtyqfLaFuXqQHwG+miwrdT6X9rkuw4P6xgsctxJrUIzn8wuyphpaPxtufb1clG5VSilVOeXkF5Ky9ziJuzJYlZrBmt3HOJVnjUm9vepO5nu/QzVzlIy4J2h189O09oB5qZUqbzxiQGO5FzsS1nwCG+bBdffYHY1SSikFwInT+azencGqXcdITM1gXdpx8gsNItC8VggDr4ugY4Ngbtg3mSqrJ0FYYxj4GWFafVipK6bJtTNEtIfwppA8Q5NrpZRStjmcmcOq1AxHy/QxNh/MxBjw8RLaRFRlbNdGdGgURlzDMKoG+cKhDTB3BBz6DeLGWjOA+FWx+2MoVa5pcu0MIhA7Ar57EY5uhxrX2h2RUkqpCs4Yw+70bFalZhT3md6dbhXGDPT15rqG1XisdzPaN6pObP3qBPqV6B9dVAQr34UlL0FAVbh7FjS72aZPolTFosm1s0QPgyUTrWn5bnzB7miUUkpVMIVFhs0HM0nclUFi6jFWpWZwxFGBsHqQL3GRYYzs2JD2jcJoVTcUX+8LTGN3fC/MH29VWGzeD+54G6rUcOMnUapi0+TaWULrWJPqr02AXn8FLx1BrZRS6srlFhSyPu1EcTePpN3HyMopAKBu1QC6NAmnfWQYHRqFcW3N4LKV8V43GxY8AaYQ7njXGjMkWv5bKWfS5NqZYkfCrHtgxzJoWupEKEoppVSpTuYWsGa3NfBw1a4MUvYeJ7egCIAmNatwW3QdOjQKo31kGBHVgy7v5KePWUn1b59D/Y4wYDKENXLBp1BKaXLtTM1ugcAwSJmuybVSSqmLSj+Za3XvcPSX3nggk8Iig5dAq7pVGdmpIe0jw2gfWZ3wYP8rv9COZTD/QTh1GHo9B93+T79dVcqFNLl2Jh8/iB4CSVMhOwOCwuyOSCmllIdIO5ZdnEiv2pXBjiOnAPDz8SK2fjUe7NmE9pFhXNewOsH+TvjznH8avnsJfp0ENZrB8M+gbuzVn1cpdVGaXDtb2xHw6wfWV28d7rM7GqWUUjZbn3aCRxOS2XnUSqZDAnyIa1idQe0i6BAZRpuIqs4vC35gLcwdB0c2Q4f74cYXraJnSimX0+Ta2epEQ+02Vjl0Ta6VUqpS+27jIR6OTyasih8v3h5Fh0bhNK8dgndZBh9eiaJC+OnfsOz/QVA4jPzcGmyvlHIbTa5doec3VWQAACAASURBVO1I+N+f4eBvULu13dEopZSywbSfU3nxyw20rleVD0fHcU1IgGsveGw3zHsA9qyEqDvhtje1e6JSNrjAJJjqqrQZDF6+1pzXSimlKpXCIsPfvt7I819soFeLWiSM6+TaxNoYq0LwpK5WpcUBk2Hwx5pYK2UTTa5doUo4NL8F1s2Egjy7o1FKKeUmp/MKeXDGaj5asYsxXSKZPKodQX4u/JL4VDrMGgVfPGh1Sxz/E8QM07mrlbKRdgtxldiRsOlL2LYYWt5udzRKKaVc7EhWLn+clsS6tOM8f1sUY7u5eB7pbd/CFw9Zs1PdNBE6T9Ap9pTyAJpcu0qT3hBc2/qqTpNrpZSq0LYfzmLMfxM5ejKXySPb0adVbdddLC8bvn0OEj+Ea6KsQYu127juekqpy6LJtat4+0DMUFj5LmQdgpBadkeklFLKBX7ekc79nybh5+PFzHGdialfzXUX27fammIvfbvVUt3rOfB18UBJpdRl0T7XrtR2JJhCq++1UkqpCmdechr3TP2Va0IDmPdgV9cl1oUF8P0/4KM+VnGYe76Em1/RxFopD6Qt165UsxlEdLBmDenysA4wUUqpCsIYw9tLtvPmd1vp3DicD0a2o2qQr2sulr4D5t0PaYnWbFS3vg6B1V1zLaXUVdOWa1eLHWFVyNq3xu5IlFLqokSkr4hsEZHtIvJ0KdsbisgSEVknIstFJKLEtgYi8o2IbBKRjSIS6c7Y3SmvoIg/zVnHm99tZeB19fhkbAfXJNbGwOqP4YPucHQrDPoIBn2oibVSHk6Ta1drNRB8AiFlut2RKKXUBYmIN/AecAsQBQwXkajzdnsDmGaMiQYmAq+W2DYNeN0Y0xLoABx2fdTud+J0PmP+u4o5q9N47Mam/HNwDH4+LvhTevIIJNwNXz0KEXEw/mdoc5fzr6OUcjpNrl0tIBSi7oD1n1v95JRSyjN1ALYbY3YaY/KABKD/eftEAUsdy8vObHck4T7GmG8BjDEnjTHZ7gnbfdKOZXPXpJUkpmbwz8ExPHZjM8QV3f22LIL3O8H2JdD3NRg1H6rWc/51lFIuocm1O7QdAbknYPMCuyNRSqkLqQfsLfE+zbGupLXAQMfyACBERMKBZsBxEZkrIski8rqjJfx3RGSciCSJSNKRI0ec/BFcZ13ace58byUHM3P4ZGwHBrWLuPRBlyv3JHz5CMQPg9A6cP/30Gk8eOmfaqXKE/0/1h0iu0O1BpD8qd2RKKXU1XgS6CEiyUAPYB9QiDU4vrtje3ugMTCmtBMYY6YYY+KMMXE1a9Z0S9BX69uNhxg6+Rf8fbyYO74LXZrUcP5F9q6CD7rBmmnQ9TH44xK4pqXzr6OUcjlNrt3Bywti7oad38PxvZfeXyml3G8fUL/E+wjHumLGmP3GmIHGmFjgWce641it3CmOLiUFwHzgOveE7Vof/7SLcZ8m0axWMPMe6kLTWiHOvUBhPix9BabeDEWF8IeFcNNL4OPv3OsopdxGk2t3aTscMLA23u5IlFKqNIlAUxFpJCJ+wDDgy5I7iEgNETnzd+MvwNQSx1YTkTNN0b2AjW6I2WUKiwwTv9rIi19t5MaWtUgY15lrQpw8p/TRbfDRTfDDPyB6GIz/CRp2ce41lFJup8m1u1SPtLqHpMyAoiK7o1FKqXM4WpwnAIuBTcAsY8wGEZkoInc4dusJbBGRrUAt4BXHsYVYXUKWiMh6QID/uPkjOM3pvELGT1/N1J92MbZrIz4Y2Y5Av1K7kF8ZY2DVf6wp9o6lwpBpMGCSNQBeKVXuaREZd4odaRUC2LMSIrvZHY1SSp3DGLMQWHjeuudLLM8B5lzg2G+BaJcG6AZHsnL54yeJrN93ghdvj2JM10bOvUDWQfjiIdj+HVx7I/R/D0JqO/caSilbacu1O7W8A/xCIHmG3ZEopZQ6z/bDWQx4/ye2HjrJ5FFxzk+sN34J73eG1J/g1jdgxBxNrJWqgDS5die/IGg9ADbOh9wsu6NRSinlsHLHUQa+v5Kc/CJm3t+Jm6JqOe/kRUXwxQSYNQqqN4T7f4AO94Er5shWStlOk2t3ix0F+dmwYb7dkSillAI+X53G6KmrqBUawPyHuhAdUc25F9ix1JqKtfMEuPdbqNnMuedXSnkUlybXItJXRLaIyHYRebqU7Y+LyEYRWSciS0SkYYlto0Vkm+NntCvjdKuI9hDe1BrYqJRSyjbGGN76bitPzF5L+8gw5ozvQkT1IOdfKPlTCAqH3i+At6/zz6+U8iguS64d1bneA27BKpk73FEit6RkIM4YE401SOYfjmPDgBeAjlgleV8QkequitWtRCB2BOz5GdJ32B2NUqoCEpHbS0yZp0qRV1DEE7PX8tZ327irXQQf/6EDVQNdkPhmZ8CWhRA9FHz8nH9+pZTHceXDtwOw3VFUIA9IAPqX3MEYs8wYk+14+wtW0QKAm4FvjTEZxphjwLdAXxfG6l7Rw0C8tPVaKeUqQ4FtIvIPEWlhdzCe5sTpfEZPXcXcNft4/KZmvH5XNH4+LvpzuH42FOZZs0UppSoFVybX9YCS5QjTHOsu5F5g0eUcKyLjRCRJRJKOHDlyleG6UWgdawqmlHirIpdSSjmRMWYkEAvsAD4WkZ8dz0snlxcsf/ZmZDNo0kqSdmfw5tAYHundFHHlwMLkT6FuLNRq5bprKKU8ikd8bSgiI4E44PXLOc4YM8UYE2eMiatZs+alD/AkbUdA1n7YsczuSJRSFZAxJhOru10CUAcYAKwRkYdtDcxGa/ceZ8D7KzmcmcO0sR0ZEBtx6YOuxoG1cHC99bxXSlUarkyu9wH1S7yPcKw7h4jcCDwL3GGMyb2cY8u15rdAYHVImW53JEqpCkZE7hCRecBywBfoYIy5BYgBnrAzNrt8s+EgQ6f8TICvF3Mf7ELnJuGuv2jydPD2hzZ3uf5aSimP4crkOhFoKiKNRMQPGAZ8WXIHEYkFJmMl1odLbFoM9BGR6o6BjH0c6yoOH39oMwQ2L7AGvCillPMMAt40xrQxxrx+5vnqGONyr72hud/UFbu4f/pqmtcOZd6DXbn2Gjf0jsnPgXWzoOXtVkOKUqrScFlybYwpACZgJcWbgFnGmA0iMlFE7nDs9joQDMwWkRQR+dJxbAbwN6wEPRGY6FhXscSOsAa6/Pa53ZEopSqWF4FVZ96ISKCIRAIYY5bYE5L7FRYZXvxyAxO/3kifqFok3NeJmiH+7rn4loWQc1wHMipVCfm48uTGmIXAwvPWPV9i+caLHDsVmOq66DxAnRio1cb66rDDfXZHo5SqOGYDXUq8L3Ssa29POO6XnVfAowkpfLvxEPd2a8Qzt7bE28uNFRGTp0PV+tCoh/uuqZTyCB4xoLFSix0BB1Lg0Aa7I1FKVRw+jilQAXAsV5pJlg9n5TBsyi8s2XSIif1b8dxtUe5NrE+kWVUZ294NXvpnVqnKRv+vt1ubIeDlC8k657VSymmOlOh+h4j0B47aGI/bbDuUxYD3VrLt0En+c08c93SOdH8QKfGAsZJrpVSlo8m13aqEQ/O+sG4mFObbHY1SqmJ4AHhGRPaIyF7gz8D9Nsfkciu3H2XgpJXkFRYx6/7O9G5Zy/1BFBVZs0A1uh6qR7r/+kop22ly7QliR0H2UdhasSZEUUrZwxizwxjTCYgCWhpjuhhjttsdlyvNWZ3GPVNXUadqAPMf6kqbiKr2BLJnJRxLtZ7rSqlKqUwDGkWkCnDaGFMkIs2AFsAiY4w2tTpDk94QXNsqh97yNrujUUpVACLSD2gFBJypQGiMmWhrUC5gjOHN77bx9pJtdLu2Bu+PvI7QAF/7AkqeDv5VrSn4lFKVUllbrn/AekDXA74BRgEfuyqoSsfbB2KGWi3XJw9fen+llLoIEfkAGAo8DAgwGGhoa1AukFdQxBOz1vL2km0MbhfBf//Q3t7EOicTNsyH1gPBN9C+OJRStiprci2O4gMDgfeNMYOxWkSUs7QdCabQ6nutlFJXp4sx5h7gmDHmJaAz0OxSB4lIXxHZIiLbReTpUrY3FJElIrJORJaLSESJbYWOegXFNQtc6UR2PvdM/ZW5yft4sk8z/nFXNL7eNvd03DAXCk5rlxClKrkyJ9ci0hkYASxwrPN2TUiVVM1mENHe+krRGLujUUqVbzmO12wRqQvkA3UudoCIeAPvAbdg9dUeLiJR5+32BjDNGBMNTAReLbHttDGmrePnDlxob0Y2Ayf9xJrdx3lraFsm9GrKma4vtkqeDjVbQr3r7I5EKWWjsibXjwF/AeY5qiw2Bpa5LqxKqu0IOLIZ9q2xOxKlVPn2lYhUw6qCuwZIBT67xDEdgO3GmJ2OebETgP7n7RMFLHUsLytlu8ul7D3OgPd/4ujJPKbd24E7Y+u5O4TSHdkCaYlWRUZPSPSVUrYpU3JtjPneGHOHMebvIuIFHDXGPOLi2Cqf1gPBJ9Caxkkppa6A4xm9xBhz3BjzOVZf6xYlq+NeQD1gb4n3aY51Ja3F6h4IMAAIEZFwx/sAEUkSkV9E5M6LxDfOsV/SkSNHyvqxAPh1ZzrDpvxMoJ83cx/sQqfG4Zc+yF2Sp4OXD0QPtTsSpZTNypRci8hnIhLqmDXkN2CjiPzJtaFVQgGOEebrP4f803ZHo5Qqh4wxRVjdO868zzXGnHDS6Z8EeohIMtAD2IdVWh2goTEmDrgbeEtEmlwgvinGmDhjTFzNmjUv6+JRdUO5Pbou8x7sSpOawVf+KZytMB/WJkCzvhB8eZ9JKVXxlLVbSJQxJhO4E1gENMKaMUQ5W+wIyD0Bmxdcel+llCrdEhEZJJfXEXkfUL/E+wjHumLGmP3GmIHGmFjgWce6447XfY7XncByIPbKwy9dSIAvrw+OoUawv7NPfXW2fQunDltdQpRSlV5Zk2tfEfHFSq6/dMxvraPuXCHyeqjawPqKUSmlrsz9wGwgV0QyRSRLRDIvcUwi0FREGomIHzAMOGfWDxGp4eh2AtY4nKmO9dVFxP/MPkBXYKPzPo6HS54OwbXg2pvsjkQp5QHKmlxPxhoQUwX4QUQaApd6UKsr4eUFbYfDzuVwfO8ld1dKqfMZY0KMMV7GGD9jTKjjfegljikAJgCLgU3ALMcA9okicmb2j57AFhHZCtQCXnGsbwkkicharIGOrxljKkdyffIwbFsMMcOsmgVKqUqvTE8CY8zbwNslVu0WkRtcE5Ki7d3w/d+tPnw9tGu7UuryiMj1pa03xvxwseOMMQuBheete77E8hxgTinHrQTaXFGw5d26mVBUYNUqUEopyj6gsaqI/OvMCG8R+SdWK3a59tu+E/xl7jpy8gsvvbM7VY+EyO5WOXSd81opdfn+VOLnOeAr4EU7A6qQjLG6hER0sGoVKKUUZe8WMhXIAoY4fjKB/7oqKHdZvfsY8av2MvD9lexJz7Y7nHPFjoRju2D3SrsjUUqVM8aY20v83AS0Bo7ZHVeFs2+1VZtABzIqpUooa3LdxBjzgqO4wE5HOd3GrgzMHUZ3iWTqmDjSjmVz+7srWLb5sN0hndXyDvALsVqvlVLq6qRh9YtWzpT8KfgGQasBdkeilPIgZU2uT4tItzNvRKQrUCEmYu7VohZfPdyNutUCGftJIm9+u5WiIg/oiuEXBK0HwIZ5kJtldzRKqXJERN4RkbcdP+8CP2JValTOkpcNv82FqDsh4KJjRZVSlUxZk+sHgPdEJFVEUoF3saZ6qhAahldh7vguDGhbj38v2ca9nyRyPDvP7rCsATL52bBhvt2RKKXKlyRgtePnZ+DPxhjtu+BMm76C3EztEqKU+p2ylj9fa4yJAaKBaEcBgV4ujczNAv28+eeQGP52Z2tWbD/K7e+uYMN+ZxU1u0L1O0B4U+0aopS6XHOA6caYT4wxM4BfRCTI7qAqlORPoXojaNjF7kiUUh6mrC3XABhjMh2VGgEed0E8thIRRnVqSMK4zuQVFDHw/ZV8vjrNzoCsafn2/AzpO+yLQylV3iwBAku8DwS+symWiidjF6T+aFXUvawimEqpyuCykuvzVNgnSruG1fn64e7ENqjGE7PX8tf568ktsGm6vpjhIF7aeq2UuhwBxpiTZ944lrXl2llSPgMEYu62OxKllAe6muTaA0b9uU7NEH+m39uR+69vzPRf9jB08i8cOGHDGM7QOtCkN6TEQ5GHzcetlPJUp0TkujNvRKQdFWQQuu2KCq3k+treULWe3dEopTzQRZNrEckSkcxSfrKAum6K0TY+3l785daWvD/iOrYdyuK2t1ewcsdR9wcSOwKy9sPOZe6/tlKqPHoMmC0iP4rICmAmVmlzdbV2fQ+ZaTqQUSl1QRdNro0xIcaY0FJ+QowxZSqdXhHc2qYOX0zoSrUgX0Z++CuTv9+BcWflxOa3QmB1SNauIUqpSzPGJAItgPFYsz21NMastjeqCiJ5uvU8bn6r3ZEopTzU1XQLqVSuvSaELyZ0o2/r2ry6aDMPzljDydwC91zcxx/aDIbNC+C0FllTSl2ciDwEVDHG/GaM+Q0IFpEH7Y6r3MvOgE1fQ5sh1nNZKaVKocn1ZQj29+G9u6/jmVtbsHjDQfq/u4Lth91U4CV2JBTmwvo57rmeUqo8u88Yc/zMG2PMMeA+G+OpGH773HoOa5cQpdRFaHJ9mUSEcdc3YfofO3I8O5/+7/7EgnUHXH/hOjFQq43OGqKUKgtvkbNzxImIN+BnYzwVQ/J0qB0NdaLtjkQp5cFcmlyLSF8R2SIi20Xk6VK2Xy8ia0SkQETuOm9boYikOH6+dGWcV6JLkxp8/Ug3mtUO4aHP1vD/Fm6ioLDItReNHQH7k+HQBtdeRylV3v0PmCkivUWkNxAPLLI5pvLt4Ho4kAKxo+yORCnl4VyWXDtaSt4DbgGigOEiEnXebnuAMcBnpZzitDGmrePnDlfFeTXqVA0kYVwnRnVqyJQfdjLyo185kpXrugu2GQJevjqwUSl1KX8GlmINZnwAWM+5RWXU5UqeAd5+0OauS++rlKrUXNly3QHYbozZaYzJAxKA/iV3MMakGmPWAS5u8nUdfx9v/nZna/45OIbkPce5/Z0VrN7tokGHVcKheV9YNxMK811zDaVUuWeMKQJ+BVKxnsW9gE12xlSuFeRZz90W/SAozO5olFIezpXJdT1gb4n3aY51ZRUgIkki8ouI3FnaDiIyzrFP0pEjR64m1qs2qF0Ecx/sgp+PF8Om/MynP6e6Zrq+tiMh+yhsXez8cyulyjURaSYiL4jIZuAdrG8HMcbcYIx5197oyrGti+B0hg5kVEqViScPaGxojIkD7gbeEpEm5+9gjJlijIkzxsTVrFnT/RGep1Xdqnw1oRvdrq3Bc19s4IlZazmd5+SqitfeCMG1dGCjUqo0m7FaqW8zxnQzxrwDaGnXq5U8HULrQeMb7I5EKVUOuDK53gfUL/E+wrGuTIwx+xyvO4HlQKwzg3OVqkG+fDS6PY/d2JR5KfsYOGklu9NPOe8C3j4QPdRqud680HnnVUpVBAOBA8AyEfmPYzCjXOKYYmUYhN5QRJaIyDoRWS4iEedtDxWRNBGpOK3kmfth+3fQ9m7w8rY7GqVUOeDK5DoRaCoijUTEDxgGlGnWDxGpLiL+juUaQFdgo8sidTIvL+GxG5sxdUx79h8/ze3vrGDp5kPOu0Dnh6BWFCQMhy8egpxM551bKVVuGWPmG2OGYVVnXIZVBv0aEZkkIn0udmwZB6G/AUwzxkQDE4FXz9v+N+CHq/8kHmRtPJgiK7lWSqkycFlybYwpACYAi7EG0swyxmwQkYkicgeAiLQXkTRgMDBZRM7MMdcSSBKRtVh/IF4zxpSb5PqMG5pfw1cTuhFRPYixHyfxr2+3UljkhH7YIbXhj0uh+5OQ8hlM6gqpK67+vEqpCsEYc8oY85kx5nasbw2TsWYQuZhLDkLHSrqXOpaXldwuIu2AWsA3TvgInsEYq0tIw24Q1tjuaJRS5YRL+1wbYxYaY5oZY5oYY15xrHveGPOlYznRGBNhjKlijAk3xrRyrF9pjGljjIlxvH7kyjhdqUF4EHMf7MKg6yJ4e8k2xn6cyPHsvKs/sY8f9H4Oxi62uop8fBssfhbyc67+3EqpCsMYc8wxPqX3JXYtyyD0tVhdTwAGACEiEi4iXsA/gScvFY8nDUS/pD2/QMZOHciolLosnjygscII8PXmjcHRvHxna1buOMpt76zgt30nnHPy+h3ggRXQ/l74+V2Y0gP2pzjn3Eopda4ngR4ikgz0wBpHUwg8CCw0xqRd6gSeNhD9opKng18IRHlkqQWllIfS5NpNRISRnRoy6/7OFBYZBk1ayZzVl/w7VDZ+VaDfP2Hk55BzAj7sDd+/DoUFzjm/UqoyuOQgdGPMfmPMQGNMLPCsY91xoDMwQURSsfpl3yMir7klalfJzYIN86D1QOsZq5RSZaTJtZvFNqjOVw9347oG1Xly9lqenbee3AInzZR17Y3w4M/QagAsexmm9oGj25xzbqVURXfJQegiUsPRBQTgL8BUAGPMCGNMA2NMJFbr9jRjzO9mGylXNsyH/FPaJUQpddk0ubZBjWB/Pr23A/f3aMyMX/cwZPIv7D9+2jknD6wOgz6Eu/5r9RX8oDv8OgWKym0RTKWUG5RlEDrQE9giIluxBi++Ykuw7pA8HWo0g4j2dkeilCpnxCVVBG0QFxdnkpKS7A7jsi1af4AnZ6/F39ebd4fH0uXaGs47eeYB+PJh2P4tNO4J/d+DqhGXOkopZQMRWe0onFVpeOxz++h2eLcd3DQRuj5qdzRKKQ90sWe2tlzb7JY2dfhiQjfCqvgx8qNf+eD7Hc4rmx5aB0bMhtvegr2J8H4XWDfLml5KKaVU6VKmg3hD9DC7I1FKlUOaXHuAa68J5ouHunJL6zq8tmgz46evISsn3zknF4G4P8D4FXBNS5h7H8weDafSnXN+pZSqSAoLICUemt0MIbXsjkYpVQ5pcu0hqvj78O7dsfy1X0u+3XSI/u/9xLZDWc67QFhj+MNCuPEl2LII3u8EW/7nvPMrpVRFsGMJnDwIbUfYHYlSqpzS5NqDiAh/7N6YGX/sSObpfPq/9xNfr9vvvAt4eUO3x+C+ZRB8DcQPtfpk5zoxiVdKqfIs+VOoUtNquVZKqSugybUH6tQ4nK8f7k6L2iFM+CyZl7/eSEGhE2f7qN0a7lsK3R63RsRP6gKpPznv/EopVR6dOmp9oxc9FLx97Y5GKVVOaXLtoWpXDSBhXGdGd27Ihyt2MeLDXzmSleu8C/j4w40vwB8WWQN3Pu4H3/xVy6crpSqvdbOgKF/ntlZKXRVNrj2Yn48XL/VvzZtDY1ibdpzb3vmR1bsznHuRBp2s8ulxf4CV78CUnnBgrXOvoZRSns4Y65u8enHW4G+llLpCmlyXAwNiI5g7viv+Pt4Mm/IL035Odd50fQD+wXDbmzBiDpw+Bv/pDT+8oeXTlVKVx/5kOLwBYnUgo1Lq6mhyXU5E1Q3lqwnduL5pTZ7/YgOPJKSwdu9x5ybZTW+yyqe3vB2W/g3+2xfSdzjv/Eop5amSp4NPALQeZHckSqlyTpPrcqRqkC//uSeOx29qxqL1B+j/3k90fnUpz3/xGyu2HSXfGYMeg8Jg8H9h0EdwdBt80A1W/UcLzyilKq780/DbHIjqDwFV7Y5GKVXO+dgdgLo8Xl7CI72bMqpTQ5ZuPsw3Gw8yK2kv037eTWiAD71aXEOfVrXp0awmVfyv4j9vm7ugYRf4YgIsfBK2LLTKp4fWdd6HUUopT7B5AeSc0IGMSimn0OS6nKpexY9B7SIY1C6C03mFrNh+lMUbDrJk0yHmp+zHz8eL7tfWoE+rWvRuWYsawf6Xf5HQujDyc0iaas0k8n4n6Pcv62tTEed/KKWUskPyp1CtATTsZnckSqkKQJPrCiDQz5ubompxU1QtCgqLSNp9jG82HLKS7c2HEVlPXMPq3NyqNjdF1aJheJWyn1wE2t8LjXvCvAfg83th89dWkh0U5qqPpJRS7nFsN+z8Hnr+Bby0p6RS6uppcl3B+Hh70alxOJ0ah/PcbS3ZdCCLxRsO8s3GQ7y8YBMvL9hEi9oh9ImqRZ9WtWlVNxQpSyt0eBNrTuyV/4Zlr8LulXDHu9Csj+s/lFJKucraeOu17XB741BKVRji1NkmbBQXF2eSkpLsDsOj7c3I5puNh/hmw0ESUzMoMlCvWiA3RdWiT6tadIgMw8e7DC03B9bBvPvh8EZoNwb6vGJN56eUumIistoYE2d3HO5k+3O7qAjejoGwJnDPfPviUEqVOxd7ZmvLdSVSPyyIe7s14t5ujcg4lcd3mw7xzYZDxK/aw8crU6kW5GsNiIyqzfXNahDkd4Hbo040jFsOy16Bn96GncthwGSrII1SSpUXqT/C8T3Q+wW7I1FKVSCaXFdSYVX8GBJXnyFx9cnOK+CHrUf5ZuNBlmw6zNw1+wjw9aJ705r0ibIGRIZV8Tv3BD7+cNNEaNbX6os9tS90fRRueMbappRSni55ujX1Xovb7I5EKVWBaHKtCPLzoW/r2vRtXZv8wiISd2UUdx/5duMhvATaR4bRp1Vt+kTVon5Y0NmDG3aB8T/B4mfhp7dg27cwcDL/v717j66zrvM9/v7m2tza3GNvSW8p0AKltZZrC8IARQVEx6E4osNxhqMLHGY8OuoZr6gj46gHEJfndBAHWqTDRbAicq9SQLQtbekFem9pCr0mpU3SNrfv+eN5kuykLU3K3vvJzv681npWnjz7yd7f3dX1yye//bvwvjOie0MiIidyaD+8vjBYfi97SNTViMggoqnR0kN2ZgbnTSjn21dN5qWvXszjX7iAmz84gXcOtfLdx9cy84eL+NAdi7n92fWsfetAsENkbhFcdSd88kFo2gNzPwiLfwId7VG/HRHpBzObbWbrzGyjmX31/QJBVQAAHCxJREFUGI/XmNlzZvaamf3BzEbFXH/VzFaY2Roz+1zyq++n1Y9A22GtbS0icacJjdJnW/c28czaXTy9didLtzXgDqNK8rhs0vu4bHIV02tKyDrcAL/7Z1j7Gxh9Nlzzf6F0XNSliwx4UU9oNLNMYD1wKVAHLAGuc/e1Mfc8BDzu7vea2cXADe5+vZnlEPw+OWJmhcBq4Dx3f+vdXjPSdvs/L4a2I/C5F7Vuv4j0myY0SlyMKS/gH2aN4x9mjWNv4xGeCydEzv/zNu55aQulBTlccmoll03+IRfWfpicp74MP78ALv8evP8G/QITGdhmABvdfTOAmS0ArgbWxtwzCfhieL4IeAzA3Vti7slloH8qumst7FgGs29TuyQicadwLSelvDCXaz9QzbUfqKbxSBsvrN/D02t28uSanTy0rI687GFcNe7/8cWmO6h6/J+D7YWvuguGDo+6dBE5tpHA9pjv64Cze92zEvgYcAdwDVBkZmXuvs/MRgO/AyYAXz5er7WZ3QjcCFBdXR3fd9BXK+6HjGw442+ieX0RGdQGdu+CpITC3Cw+dMZwbp8zlVe/cSnzP3s2n5g+ij++ncM5dTfxrbYbOLJpMUfunMG+V36Fd3REXbKInJwvARea2XLgQmAH0A7g7tvd/UyCcP0ZM6s61hO4+1x3n+7u0ysqKpJVd7e2Fli5AE65AgrKkv/6IjLoqeda4io7M4MLasu5oLacb185mVU73uHptbX8z9dmcMvBHzP1yc+z+fff5Q/5l7Gu6iMUV46iuiyfmtICasryGT5sSN82shGReNsBjI75flR4rUvYG/0xgHBs9cfdfX/ve8xsNTATeDihFZ+MDU9B816Yen3UlYjIIKVwLQmTkWFMGV3MlNHFcPmpbN71IV584V5Gb32E/9H0X7RvvY9Fm6eyoO0i/tAxhTayyMowRpXkUV1WQE1pPjVl+VSX5lNTVsDo0rzjb2wjIu/VEqDWzMYShOo5wCdjbzCzcqDe3TuArwH3hNdHAfvc/ZCZlQAXAP8nmcX32fL7oWg4jL846kpEZJBKaFIxs9kEY/Mygbvd/bZej88CbgfOBOa4+8Mxj30G+Hr47ffc/d5E1iqJN66qmHGfuAW4BfZuIHP5fC5Z+QB/1fhjWvIq2DT8I7xUNJvlh4bx5r5mVrzZwIHDbT2eo6Iol5rS/B693cF5PqUFOZgmJ4mcFHdvM7ObgacI2ux73H2Nmd0KLHX3hcBFwA/MzIEXgJvCHz8N+HF43YAfufuqpL+JEzm4EzY8HWx4lak/1EUkMRK2FF8fl3UaAwwlGMe3sDNcm1kpsBSYDjiwDHi/uzcc7/W0FF+Kam+Fjc/Cq/Ng/ZPg7TD6nGDt2cnXsL89h237mtlW38yb+5pizpvZeeBwj6cqzM2iurSzpztfw00kpUS9FF8Ukt5uv3g7PPstuHkZlE9I3uuKyKAT1VJ8J1zWyd23ho/1nuF2OfCMu9eHjz8DzAYeSGC9EoXM7GBi0SlXwMFd8NqCIGgvvBl+/xWKT7+G4qmfZsqZM45aMutwazt1Dc1B4N7XzJv1zWzb18T63Qd5/o3dtLR3/7c63nCT6vCrhpuIDHLuwXbn1ecqWItIQiUyUfRlWaf+/OzI3jcNiCWdJH6KqoKPa8/7R9j+F1g+D1b/OviFWD4x6M0+c05wHzAkO5MJlUVMqCw66qnaO5ydBw6zbV8Tb8b0dm+rb2L5mw0c1HATkfSy/S+wbwNc8E9RVyIig1xKd9e5+1xgLgQfL0ZcjsSLGVSfHRyzb4O1jwW92c98E579DkycHQTt2suOO24yM8MYWZzHyOI8zht/9OP7m1uOOdzk5Y37+PWBHgskdA03GV9ZyMTKQmqriphYVUh1ab6GmoikihXzIbsAJn006kpEZJBLZLg+4bJOJ/jZi3r97B/iUpWkltzCIEhP/RTs3RD0Zq94ANb9DgqrYMqcYEmt8tp+PW1xfg7F+TnBSia9HG5tZ3t991CTN+ub2bqviVe3NfDbld37YuRkZTCuvICJYdieUBl8rSkrIDNDPd0iA0ZLU/Ap2OnXBG2KiEgCJTJcn3BZp3fxFPBv4ZJOAJcRLPsk6ay8Fi69FS7+Bmx4Jhgu8vJd8NIdwSTIadcHvVLv8ZfnkOxMaquKqK06erhJ05E2Nu5uZP2ug2zY3ciGXQdZtq2Bhb1C9/iKQmorC5lYFfR011YqdItEZu1voKURzvpU1JWISBpIWLjuy7JOZvYB4FGgBLjSzL7j7pPdvd7MvksQ0AFu7ZzcKEJmNpz6oeCInQT5m5vg91+BydcEvdmjj54E+V4V5GZ1r90dozEM3RvC0L3+XUL3xKogeAfDS4qoLs1X6BZJpOXzoXQ8VJ8TdSUikgYSthRfsmkpvjTnHk6CvA9WPwqtTd2TIKdcB4WVkZTVGNvT3dXb3ciO/Ye67okN3RPDXu5ahe60o6X4EmTfJvjpNLjkWzDzi4l9LRFJG1EtxSeSPD0mQf47rHk06K2KnQQ57XqYcGlSN48ozM3irNHFnHWcnu7O0L1+VyNLtzbwmxXdPd25ncNLYkL3xKoiRit0i/Tdil+BZQR/ZIuIJIHCtQw+uYVBkJ52PexZH6wS0GMS5HVBj3Y/J0HG07uF7g0x47nX72pkyZb6Y4bu2PHcCt0ix9DRHoTrCZfC0OFRVyMiaULhWga3iom9JkHOg5d/Ci/dHtdJkPFSmJvF1OoSplaX9Lh+8HBrOKa7ezLlX7bU81iv0D2hsud47trKQoVuSV+bFsHBt+CK26KuRETSiMK1pIfekyBXPhAMG4mdBDnt0zDqA3GfBBkPRUOy+xS61x8ndI8tL2B8ZSETKgqZUBkcY8sLGJKdmey3IpI8y+dBfhlMvCLqSkQkjShcS/opqgp2aTv/Ftj+55idIOdB+SnhJMg5kU2C7I93C92dQ0s27m5k054mVtW9wxOr3qZzDrMZjC7J7wrb4ysKgvOKIoblZ0fwbkTiqLke1j0BH/h7yMqJuhoRSSMK15K+zIKluarP6TUJ8hvw3Heg9vJIJkHGQ9GQbKZVlzCtV+g+3NrO5j1NbNrTyMbdjWzc08im3Y28uHEvLW0dXfeVF+Z2h+2u8F3I8GFDtBW8pIZVD0F7S/DHsohIEqVWYhBJlN6TIJfPg5ULek6CPOUKGPn+YIhJihqSncmkEUOZNGJoj+vtHU5dQ3PYyx0G792N/HblWxw43NZ1X0FOJuPDoD0h5mtNWT7ZaboVvLtz8EgbDU0tNDS3kp1pTB4xLOqyZPk8GDEVqiZHXYmIpBmFa5HeKibCZd+FS74JG54Od4IMJ0FmF0DNuTBmJoydBcOnQEbqj1vOzDBqygqoKSvgktOquq67O3sbW3r0cm/a08grm/fx6PIdXfdlZRg1Zfk9erk7vxbkpk4z09HhvHOolYbmluBoaqW+uYX9zUFwDgJ0cL0hvLa/uYW2ju79Ai6YUM78vz87wnchvL0Sdq6CD/0o6kpEJA2lzm89kWTLzIZTPxwczfWw9UXY8gJsXQzPfiu4J3cYjDk/CNpjZkLlJMgYPD24ZkZFUS4VRbmcO76sx2ONR9q6wnZnT/eG3Y08+/pu2mPC5ohhQ47Z211emJPQISat7R3sD8NvQ3Mr9U1BSA7CckxQjjnff6iV4+2rlZOZQXF+NiX5OZQUZDOhspCSghxKOq+F10cU5yXsPUkfLZ8Pmblwxl9HXYmIpCGFa5G+yC+FSVcFBwQrjmxdHITtLS8EE6cgWJlgzEwYOxPGXghlEwbk6iPxUHicreBb2jp4s76pK3Bv2hOcP7h0O80t7V33DcvL7jmRMpxMObIk76ilA4+0tbM/DMgNYTjuCstNnQG6hfowTNc3tXAwZjhLb0OyM3oE4kkjhobnMWG513lBTqbGm6eC1sPw2oNw2pWQV3Li+0VE4kzhWuRkFFUFvWKdPWP7t/cM22sfC+8b3j2EZOwsKKmJruYkycnKYEJlERMqi3pc7+hwdh443BW6N4Y93s+/sZsHl9Z13de5dGBWptEQBuemmFDeW2FuVkyPcg5jyvK7gnNpQTbFMSG683peTuoP5ZHjWPcEHN6viYwiEhmFa5F4KB4NZ30yONyhfnP3EJLNi2DVg+F91eEQkllB7/bQEdHWnUQZGcaI4jxGFOcxa2JFj8f2N7f0mEy5aU8T7s7EqqIwJOdQnJ9NaX5OEJYLgvNh+dnkZikoS4zl82HY6OCTIxGRCChci8SbGZSND47pNwRhe8+6sFf7j/D640EAACirDYeQhGO2C8qjrT0ixfk5TB9TyvQxpVGXktbMbDZwB5AJ3O3ut/V6vAa4B6gA6oFPuXudmZ0F/BwYCrQD33f3/05q8QDv1MGm5+HCfxlUcx9EJLUoXIskmhlUnhocZ98IHR2wa1UYthfDaw/B0nuCeysnh0NIZkLN+ZBX/O7PLRInZpYJ/Ay4FKgDlpjZQndfG3Pbj4D73P1eM7sY+AFwPdAMfNrdN5jZCGCZmT3l7vuT+iZWPAB48AmSiEhEFK5Fki0jI1jCb/gUOO8L0N4Gb68IerW3vADL/gv+/HOw8L4x4eTI6nOC9bhFEmMGsNHdNwOY2QLgaiA2XE8CvhieLwIeA3D39Z03uPtbZraboHc7eeG6owNWzA/nNoxJ2suKiPSmcC0StcwsGDU9OGb+L2g7AnVLu8dsv/JzePlOyMgKNrHpHEIyegZka9k3iZuRwPaY7+uA3gt2rwQ+RjB05BqgyMzK3H1f5w1mNgPIATYd60XM7EbgRoDq6uq4Fc+bL0PDVvjgv8bvOUVEToLCtchAk5UbrJ095nzga9DSDNv/3L0SyeKfwAv/EazjO3pG90okI6ZBVk7U1cvg9iXgLjP7O+AFYAfBGGsAzGw4MA/4jLt3HOsJ3H0uMBdg+vTpx1lV/CQsnx+sO3/alXF7ShGRk6FwLTLQ5eTD+A8GB8DhA/Dmn7rD9qJ/g0XfD3aPrD6nO2wPkt0jJWl2AKNjvh8VXuvi7m8R9FxjZoXAxzvHVZvZUOB3wL+6+ytJqbjT4QOw5jGYMkef5ohI5BSuRVLNkKEw8fLggGD3yG0vdYft3rtHjpwGVWdA1WQYNmrQbmoj79kSoNbMxhKE6jlAj5mBZlYO1Ie90l8jWDkEM8sBHiWY7PhwUqsGWPNraDsEU69P+kuLiPSmcC2S6vJLg4/COz8O79w9cuviYDWSzt0jAYYUQ9XpQdB+3+nBeeVp6u0T3L3NzG4GniJYiu8ed19jZrcCS919IXAR8AMzc4JhITeFP/43wCygLBwyAvB37r4iKcUvnw8VpwV/SIqIREzhWmSw6b175OEDsPv1YPm/nath15ogjLQ2BY9bRrBNe1foPiM4HzpCvdxpxt2fAJ7ode2bMecPA0f1TLv7fGB+wgs8lj3roG4JXPZ9/X8VkQFB4VpksBsyFKrPDo5OHR3QsCUI2rtWB6F7x7Lg4/VOeSVh4D497OWeHPQOZg9J/nsQOZ7l84OVdM68NupKREQAhWuR9JSR0b2L5KSruq8ffgd2rQ0Cd2fofvVeaG0OHrdMKK8NgnbV6WEv92QoGq5eQ0m+9lZYuQAmzobCiqirEREBFK5FJNaQYVBzbnB06mgP1g/euSoM3Wtg+xJY/Uj3PXml3WO4O3u6K04NlhUUSZQNz0DTbpj6qagrERHponAtIu8uI7O7l3vyR7uvH9oPu9eG47hXBaF76S+DVRsg7OWeeHToLqxSL7fEx/L5wf+nCZdGXYmISBeFaxE5OXnFUHNecHTqaIf6zWEvdziee9ufYNVD3ffkl/ecOFk1Oezl1gY40g+Nu2HDU3DuTcEupyIiA4RaJBGJn4xwTHZ5LZz+se7rhxqCsL1zdfd47iV3Q9vh8OeyoPyUnksEVpwCRSOC8eEivb3239DRBmdpSIiIDCwK1yKSeHklMOaC4OjU3hb0cscuEbjtJVj1YPc9mblQUgOl46BkLJSODb+Og+Jq9XanK/dgSMioGVAxMepqRER6ULgWkWhkZgXBqGIinP7x7uvN9UHQ3rcxCN8NW6B+a7AhTufa3BCszz10VBC4Y0N353luYdLfkiTJjmWw5w248s6oKxEROYrCtYgMLPmlMHZmcMRyh6Y9UL8lJnSH56//Fpr39by/oPLYobt0LOSXaVJlKls+D7LzYfI1UVciInKUhIZrM5sN3EGwle7d7n5br8dzgfuA9wP7gGvdfauZjQFeB9aFt77i7p9LZK0iMsCZQWFlcMRuiNPp8DtB2O4M3Z1ft74YjM/Fu+/NHQolY8Je715DToaO1DjvgaylGVb/GiZ9NNggSURkgElYuDazTOBnwKVAHbDEzBa6+9qY2z4LNLj7BDObA/w70LnN1iZ3PytR9YnIIDNkGIw4Kzh6az0M+7fFhO7NwfmuNfDGE9DR2n1v5zjvo3q8Nc57QHj9t3DkgNa2FpEBK5E91zOAje6+GcDMFgBXA7Hh+mrg2+H5w8BdZvqsVkTiLHtIsPpIxSlHP9bRDu/U9Rxm0jnOe+uLGuc90CyfF/xbxy4BKSIygCQyXI8Etsd8Xwf0/iy36x53bzOzd4Cy8LGxZrYcOAB83d0X934BM7sRuBGguro6vtWLSHrIyAx7qmtg3EU9HzveOO+GLccZ510RbMV99V3Jqj691G+BrYvh4q9rzLyIDFgDdULj20C1u+8zs/cDj5nZZHc/EHuTu88F5gJMnz7dj/E8IiIn74TjvA/0HGbSsAWGjU5+nemi9RDUXgZTrou6EhGR40pkuN4BxP6WGRVeO9Y9dWaWBQwD9rm7A0cA3H2ZmW0CJgJLE1iviEj/DBkKw6cEhyRe1ST424dOfJ+ISIQSOSV+CVBrZmPNLAeYAyzsdc9C4DPh+V8Dz7u7m1lFOCESMxsH1AKbE1iriIiIiMh7lrCe63AM9c3AUwRL8d3j7mvM7FZgqbsvBH4BzDOzjUA9QQAHmAXcamatQAfwOXevT1StIiIiIiLxkNAx1+7+BPBEr2vfjDk/DHziGD/3CPBIImsTEREREYk37ZQgIiJAsPGXma0zs41m9tVjPF5jZs+Z2Wtm9gczGxXz2JNmtt/MHk9u1SIiA4vCtYiIxG78dQUwCbjOzCb1uu1HwH3ufiZwK/CDmMf+A7g+GbWKiAxkCtciIgIxG3+5ewvQufFXrEnA8+H5otjH3f054GAyChURGcgUrkVEBI698dfIXvesBD4Wnl8DFJlZGf1gZjea2VIzW7pnz56TLlZEZKBSuBYRkb76EnBhuHvuhQR7FbT35wncfa67T3f36RUVFYmoUUQkUgN1h8Z+W7Zs2V4z23YSP1oO7I13PUmQqnVD6tauupMr3equiXch/XTCjb/c/S3CnmszKwQ+7u77T/YF1W6nDNWdXKo7ueLeZg+acO3uJ9UFYmZL3X16vOtJtFStG1K3dtWdXKo76bo2/iII1XOAT8beYGblQL27dwBfA+55Ly+odjs1qO7kUt3JlYi6NSxERERw9zagc+Ov14EHOzf+MrOrwtsuAtaZ2XqgCvh+58+b2WLgIeASM6szs8uT+gZERAaIQdNzLSIi700fNv56GHj4OD87M7HViYikBvVcw9yoCzhJqVo3pG7tqju5VLccT6r+G6vu5FLdyaW6Q+bu8X5OEREREZG0pJ5rEREREZE4UbgWEREREYmTtA7XZjbbzNaZ2UYz+2rU9fSFmd1jZrvNbHXUtfSHmY02s0VmttbM1pjZLVHX1BdmNsTM/mJmK8O6vxN1Tf1hZplmttzMHo+6lr4ys61mtsrMVpjZ0qjr6Q8zKzazh83sDTN73czOjbqmwSQV22xIzXZbbXY0UrHNhtRttxPVZqftmGszywTWA5cSbPO7BLjO3ddGWtgJmNksoBG4z91Pj7qevjKz4cBwd3/VzIqAZcBHU+Df24ACd280s2zgReAWd38l4tL6xMy+CEwHhrr7R6Kupy/MbCsw3d1TbjMCM7sXWOzud5tZDpD/XjZZkW6p2mZDarbbarOjkYptNqRuu52oNjude65nABvdfbO7twALgKsjrumE3P0FoD7qOvrL3d9291fD84ME6+iOjLaqE/NAY/htdnikxF+kZjYK+DBwd9S1pAMzGwbMAn4B4O4tCtZxlZJtNqRmu602O/nUZidXItvsdA7XI4HtMd/XkQINx2BgZmOAqcCfo62kb8KP6VYAu4Fn3D0l6gZuB/4F6Ii6kH5y4GkzW2ZmN0ZdTD+MBfYAvww/1r3bzAqiLmoQUZsdEbXZSZOqbTakZrudsDY7ncO1RMDMCoFHgH9y9wNR19MX7t7u7mcBo4AZZjbgP9Y1s48Au919WdS1nIQL3H0acAVwU/iReirIAqYBP3f3qUATkDLjgkWORW12cqR4mw2p2W4nrM1O53C9Axgd8/2o8JokSDj+7RHgfnf/ddT19Ff4cdEiYHbUtfTB+cBV4Ti4BcDFZjY/2pL6xt13hF93A48SDAdIBXVAXUwv2cMEDbfEh9rsJFObnVQp22ZDyrbbCWuz0zlcLwFqzWxsOIh9DrAw4poGrXCSyS+A1939J1HX01dmVmFmxeF5HsFkqjeirerE3P1r7j7K3ccQ/N9+3t0/FXFZJ2RmBeHkKcKP5y4DUmKFBXffCWw3s1PCS5cAA3ryV4pRm51EarOTK1XbbEjddjuRbXZWPJ4kFbl7m5ndDDwFZAL3uPuaiMs6ITN7ALgIKDezOuBb7v6LaKvqk/OB64FV4Vg4gP/t7k9EWFNfDAfuDVcqyAAedPeUWiIpxVQBjwa/18kCfuXuT0ZbUr98Abg/DH+bgRsirmfQSNU2G1K23VabLX2Vyu12QtrstF2KT0REREQk3tJ5WIiIiIiISFwpXIuIiIiIxInCtYiIiIhInChci4iIiIjEicK1iIiIiEicKFxLWjCzdjNbEXPEbec8MxtjZgN+TU8RkVShNltSWdqucy1p51C4Ha6IiAx8arMlZannWtKamW01sx+a2Soz+4uZTQivjzGz583sNTN7zsyqw+tVZvaoma0Mj/PCp8o0s/80szVm9nS4Mxhm9o9mtjZ8ngURvU0RkUFBbbakAoVrSRd5vT5ivDbmsXfc/QzgLuD28NpPgXvd/UzgfuDO8PqdwB/dfQowDejcIa4W+Jm7Twb2Ax8Pr38VmBo+z+cS9eZERAYZtdmSsrRDo6QFM2t098JjXN8KXOzum80sG9jp7mVmthcY7u6t4fW33b3czPYAo9z9SMxzjAGecffa8PuvANnu/j0zexJoBB4DHnP3xgS/VRGRlKc2W1KZeq5FwI9z3h9HYs7b6Z7P8GHgZwQ9JkvMTPMcRETeG7XZMqApXIvAtTFf/xSevwzMCc//Flgcnj8HfB7AzDLNbNjxntTMMoDR7r4I+AowDDiqJ0ZERPpFbbYMaPqLTNJFnpmtiPn+SXfvXNqpxMxeI+jJuC689gXgl2b2ZWAPcEN4/RZgrpl9lqC34/PA28d5zUxgftiYG3Cnu++P2zsSERm81GZLytKYa0lr4fi96e6+N+paRETk3anNllSgYSEiIiIiInGinmsRERERkThRz7WIiIiISJwoXIuIiIiIxInCtYiIiIhInChci4iIiIjEicK1iIiIiEic/H+JSv+QctvsaAAAAABJRU5ErkJggg==\n","text/plain":["
"]},"metadata":{"tags":[],"needs_background":"light"}}]},{"cell_type":"code","metadata":{"id":"vBWsbYzPQYzR","colab_type":"code","colab":{}},"source":[""],"execution_count":null,"outputs":[]}]} \ No newline at end of file diff --git a/projects/Activation_Functions_from_scratch/src/utils/Utils b/projects/Activation_Functions_from_scratch/src/utils/Utils new file mode 100644 index 000000000..c036cba13 --- /dev/null +++ b/projects/Activation_Functions_from_scratch/src/utils/Utils @@ -0,0 +1 @@ +{"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"Utils","provenance":[],"collapsed_sections":[],"authorship_tag":"ABX9TyMYHshcegvtTBQwBygO/eoj"},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"code","metadata":{"id":"_ImvYera1GfS","colab_type":"code","colab":{},"executionInfo":{"status":"ok","timestamp":1595963420315,"user_tz":-330,"elapsed":2543,"user":{"displayName":"Agrover112","photoUrl":"https://lh3.googleusercontent.com/a-/AOh14GiMJACGAX3kCfRjB2hgzdG8w9zL1lAAKbPPMz0qLA=s64","userId":"09574164879083471944"}}},"source":["import tensorflow as tf\n","import numpy as np\n","import matplotlib.pyplot as plt\n","def load_data():\n"," (x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data()\n"," x_train = np.reshape(x_train, (x_train.shape[0], 784))/255.\n"," x_test = np.reshape(x_test, (x_test.shape[0], 784))/255.\n"," y_train = tf.keras.utils.to_categorical(y_train)\n"," y_test = tf.keras.utils.to_categorical(y_test)\n"," return (x_train, y_train), (x_test, y_test)\n","\n","def plot_random_examples(x, y, p=None):\n"," indices = np.random.choice(range(0, x.shape[0]), 10)\n"," y = np.argmax(y, axis=1)\n"," if p is None:\n"," p = y\n"," plt.figure(figsize=(10, 5))\n"," for i, index in enumerate(indices):\n"," plt.subplot(2, 5, i+1)\n"," plt.imshow(x[index].reshape((28, 28)), cmap='binary')\n"," plt.xticks([])\n"," plt.yticks([])\n"," if y[index] == p[index]:\n"," col = 'g'\n"," else:\n"," col = 'r'\n"," plt.xlabel(str(p[index]), color=col)\n"," return plt\n","\n","def plot_results(history):\n"," history = history.history\n"," plt.figure(figsize=(12, 4))\n"," epochs = len(history['val_loss'])\n"," plt.subplot(1, 2, 1)\n"," plt.plot(range(epochs), history['val_loss'], label='Val Loss')\n"," plt.plot(range(epochs), history['loss'], label='Train Loss')\n"," plt.xticks(list(range(epochs)))\n"," plt.xlabel('Epochs')\n"," plt.ylabel('Loss')\n"," plt.legend()\n"," plt.subplot(1, 2, 2)\n"," plt.plot(range(epochs), history['val_accuracy'], label='Val Acc')\n"," plt.plot(range(epochs), history['accuracy'], label='Acc')\n"," plt.xticks(list(range(epochs)))\n"," plt.xlabel('Epochs')\n"," plt.ylabel('Accuracy')\n"," plt.legend()\n"," return plt"],"execution_count":1,"outputs":[]},{"cell_type":"code","metadata":{"id":"iRwkOk0p1SPt","colab_type":"code","colab":{}},"source":[""],"execution_count":null,"outputs":[]}]} \ No newline at end of file diff --git a/projects/Activation_Functions_from_scratch/src/utils/utils.py b/projects/Activation_Functions_from_scratch/src/utils/utils.py new file mode 100644 index 000000000..de999356f --- /dev/null +++ b/projects/Activation_Functions_from_scratch/src/utils/utils.py @@ -0,0 +1,49 @@ +import tensorflow as tf +import numpy as np +import matplotlib.pyplot as plt + +def load_data(): + (x_train, y_train), (x_test, y_test) = tf.keras.datasets.mnist.load_data() + x_train = np.reshape(x_train, (x_train.shape[0], 784))/255. + x_test = np.reshape(x_test, (x_test.shape[0], 784))/255. + y_train = tf.keras.utils.to_categorical(y_train) + y_test = tf.keras.utils.to_categorical(y_test) + return (x_train, y_train), (x_test, y_test) + +def plot_random_examples(x, y, p=None): + indices = np.random.choice(range(0, x.shape[0]), 10) + y = np.argmax(y, axis=1) + if p is None: + p = y + plt.figure(figsize=(10, 5)) + for i, index in enumerate(indices): + plt.subplot(2, 5, i+1) + plt.imshow(x[index].reshape((28, 28)), cmap='binary') + plt.xticks([]) + plt.yticks([]) + if y[index] == p[index]: + col = 'g' + else: + col = 'r' + plt.xlabel(str(p[index]), color=col) + return plt + +def plot_results(history): + history = history.history + plt.figure(figsize=(12, 4)) + epochs = len(history['val_loss']) + plt.subplot(1, 2, 1) + plt.plot(range(epochs), history['val_loss'], label='Val Loss') + plt.plot(range(epochs), history['loss'], label='Train Loss') + plt.xticks(list(range(epochs))) + plt.xlabel('Epochs') + plt.ylabel('Loss') + plt.legend() + plt.subplot(1, 2, 2) + plt.plot(range(epochs), history['val_accuracy'], label='Val Acc') + plt.plot(range(epochs), history['accuracy'], label='Acc') + plt.xticks(list(range(epochs))) + plt.xlabel('Epochs') + plt.ylabel('Accuracy') + plt.legend() + return plt