From 93d27f873804bbc7a79f432de6e3058ea4629b78 Mon Sep 17 00:00:00 2001 From: Shuhui Bu Date: Thu, 27 Sep 2018 18:55:17 +0800 Subject: [PATCH] add pytorch notebooks --- 1_knn/knn_classification.ipynb | 96 +- 1_knn/knn_classification.py | 55 +- {nn => 1_nn}/Perceptron.ipynb | 0 {nn => 1_nn}/Perceptron.py | 0 {nn => 1_nn}/images/L_b.png | Bin {nn => 1_nn}/images/L_w.png | Bin {nn => 1_nn}/images/bp_loss.png | Bin {nn => 1_nn}/images/bp_weight_update.png | Bin {nn => 1_nn}/images/cross_entropy_loss.png | Bin {nn => 1_nn}/images/eqn_13_16.png | Bin {nn => 1_nn}/images/eqn_17_20.png | Bin {nn => 1_nn}/images/eqn_21_22.png | Bin {nn => 1_nn}/images/eqn_23_25.png | Bin {nn => 1_nn}/images/eqn_26.png | Bin {nn => 1_nn}/images/eqn_27_29.png | Bin {nn => 1_nn}/images/eqn_30_31.png | Bin {nn => 1_nn}/images/eqn_32_34.png | Bin {nn => 1_nn}/images/eqn_35_40.png | Bin {nn => 1_nn}/images/eqn_3_4.png | Bin {nn => 1_nn}/images/eqn_5_6.png | Bin {nn => 1_nn}/images/eqn_7_12.png | Bin {nn => 1_nn}/images/eqn_delta_hidden.png | Bin {nn => 1_nn}/images/eqn_delta_j.png | Bin {nn => 1_nn}/images/eqn_ed_net_j.png | Bin {nn => 1_nn}/images/eqn_hidden_units.png | Bin {nn => 1_nn}/images/eqn_matrix1.png | Bin {nn => 1_nn}/images/eqn_w41_update.png | Bin {nn => 1_nn}/images/eqn_w4b_update.png | Bin {nn => 1_nn}/images/eqn_w84_update.png | Bin {nn => 1_nn}/images/formular_2.png | Bin {nn => 1_nn}/images/formular_3.png | Bin {nn => 1_nn}/images/formular_4.png | Bin {nn => 1_nn}/images/formular_5.png | Bin {nn => 1_nn}/images/forumlar_delta4.png | Bin {nn => 1_nn}/images/forumlar_delta8.png | Bin {nn => 1_nn}/images/neuron.gif | Bin {nn => 1_nn}/images/neuron.png | Bin {nn => 1_nn}/images/nn1.jpeg | Bin {nn => 1_nn}/images/nn2.png | Bin {nn => 1_nn}/images/nn3.png | Bin {nn => 1_nn}/images/nn_parameters_demo.png | Bin {nn => 1_nn}/images/perceptron_2.PNG | Bin .../images/perceptron_geometry_def.png | Bin {nn => 1_nn}/images/sigmod.jpg | Bin {nn => 1_nn}/images/sign.png | Bin {nn => 1_nn}/images/softmax.png | Bin {nn => 1_nn}/images/softmax_demo.png | Bin {nn => 1_nn}/images/softmax_neuron.png | Bin .../images/softmax_neuron_output2_eqn.png | Bin .../images/softmax_neuron_output_eqn.png | Bin {nn => 1_nn}/mlp_bp.ipynb | 0 {nn => 1_nn}/mlp_bp.py | 0 {nn => 1_nn}/note.txt | 0 {nn => 1_nn}/softmax_ce.ipynb | 0 {nn => 1_nn}/softmax_ce.py | 0 2_pytorch/0_basic/Tensor-and-Variable.ipynb | 961 ++++++ 2_pytorch/0_basic/autograd.ipynb | 653 ++++ 2_pytorch/0_basic/dynamic-graph.ipynb | 205 ++ 2_pytorch/0_basic/imgs/autograd_Variable.png | Bin 0 -> 4477 bytes 2_pytorch/0_basic/imgs/autograd_Variable.svg | 2 + 2_pytorch/0_basic/imgs/com_graph.svg | 2 + 2_pytorch/0_basic/imgs/com_graph_backward.svg | 2 + .../0_basic/imgs/tensor_data_structure.svg | 2 + 2_pytorch/0_basic/ref_Autograd.ipynb | 1554 +++++++++ 2_pytorch/0_basic/ref_Tensor.ipynb | 3043 +++++++++++++++++ 2_pytorch/1_NN/bp.ipynb | 128 + 2_pytorch/1_NN/deep-nn.ipynb | 703 ++++ 2_pytorch/1_NN/imgs/ResNet.png | Bin 0 -> 104058 bytes 2_pytorch/1_NN/imgs/lena.png | Bin 0 -> 23303 bytes 2_pytorch/1_NN/imgs/lena3.png | Bin 0 -> 150951 bytes 2_pytorch/1_NN/imgs/lena512.png | Bin 0 -> 150951 bytes 2_pytorch/1_NN/imgs/multi_perceptron.png | Bin 0 -> 7214 bytes 2_pytorch/1_NN/imgs/residual.png | Bin 0 -> 82332 bytes 2_pytorch/1_NN/imgs/resnet1.png | Bin 0 -> 69315 bytes 2_pytorch/1_NN/imgs/trans.bkp.PNG | Bin 0 -> 7835 bytes .../linear-regression-gradient-descend.ipynb | 968 ++++++ 2_pytorch/1_NN/logistic-regression/data.txt | 100 + .../logistic-regression.ipynb | 743 ++++ .../logistic-regression.py | 332 ++ 2_pytorch/1_NN/nn-sequential-module.ipynb | 1133 ++++++ 2_pytorch/1_NN/nn_intro.ipynb | 1955 +++++++++++ 2_pytorch/1_NN/optimizer/adadelta.ipynb | 281 ++ 2_pytorch/1_NN/optimizer/adadelta.py | 169 + 2_pytorch/1_NN/optimizer/adagrad.ipynb | 264 ++ 2_pytorch/1_NN/optimizer/adam.ipynb | 293 ++ 2_pytorch/1_NN/optimizer/adam.py | 182 + 2_pytorch/1_NN/optimizer/momentum.ipynb | 396 +++ 2_pytorch/1_NN/optimizer/momentum.py | 231 ++ 2_pytorch/1_NN/optimizer/rmsprop.ipynb | 347 ++ 2_pytorch/1_NN/optimizer/rmsprop.py | 198 ++ 2_pytorch/1_NN/optimizer/sgd.ipynb | 441 +++ 2_pytorch/1_NN/optimizer/sgd.py | 222 ++ 2_pytorch/1_NN/param_initialize.ipynb | 476 +++ 2_pytorch/2_CNN/basic_conv.ipynb | 355 ++ 2_pytorch/2_CNN/basic_conv.py | 109 + 2_pytorch/2_CNN/batch-normalization.ipynb | 582 ++++ 2_pytorch/2_CNN/batch-normalization.py | 257 ++ 2_pytorch/2_CNN/cat.png | Bin 0 -> 96962 bytes 2_pytorch/2_CNN/data-augumentation.ipynb | 611 ++++ 2_pytorch/2_CNN/data-augumentation.py | 204 ++ 2_pytorch/2_CNN/densenet.ipynb | 396 +++ 2_pytorch/2_CNN/densenet.py | 178 + 2_pytorch/2_CNN/googlenet.ipynb | 385 +++ 2_pytorch/2_CNN/lr-decay.ipynb | 408 +++ 2_pytorch/2_CNN/lr-decay.py | 184 + 2_pytorch/2_CNN/regularization.ipynb | 167 + 2_pytorch/2_CNN/regularization.py | 85 + 2_pytorch/2_CNN/resnet.ipynb | 385 +++ 2_pytorch/2_CNN/utils.py | 144 + 2_pytorch/2_CNN/vgg.ipynb | 417 +++ 2_pytorch/2_CNN/vgg.py | 155 + 2_pytorch/3_RNN/nlp/n-gram.ipynb | 463 +++ 2_pytorch/3_RNN/nlp/seq-lstm.ipynb | 509 +++ 2_pytorch/3_RNN/nlp/word-embedding.ipynb | 241 ++ 2_pytorch/3_RNN/pytorch-rnn.ipynb | 819 +++++ 2_pytorch/3_RNN/rnn-for-image.ipynb | 191 ++ 2_pytorch/3_RNN/time-series/data.csv | 148 + .../3_RNN/time-series/lstm-time-series.ipynb | 385 +++ 2_pytorch/3_RNN/utils.py | 144 + 2_pytorch/4_GAN/autoencoder.ipynb | 486 +++ 2_pytorch/4_GAN/autoencoder.py | 250 ++ 2_pytorch/4_GAN/gan.ipynb | 1431 ++++++++ 2_pytorch/4_GAN/gan.py | 429 +++ 2_pytorch/4_GAN/vae.ipynb | 409 +++ 2_pytorch/4_GAN/vae.py | 208 ++ .../PyTorch快速入门.ipynb | 0 {pytorch => 2_pytorch}/README.md | 4 +- 127 files changed, 27262 insertions(+), 14 deletions(-) rename {nn => 1_nn}/Perceptron.ipynb (100%) rename {nn => 1_nn}/Perceptron.py (100%) rename {nn => 1_nn}/images/L_b.png (100%) rename {nn => 1_nn}/images/L_w.png (100%) rename {nn => 1_nn}/images/bp_loss.png (100%) rename {nn => 1_nn}/images/bp_weight_update.png (100%) rename {nn => 1_nn}/images/cross_entropy_loss.png (100%) rename {nn => 1_nn}/images/eqn_13_16.png (100%) rename {nn => 1_nn}/images/eqn_17_20.png (100%) rename {nn => 1_nn}/images/eqn_21_22.png (100%) rename {nn => 1_nn}/images/eqn_23_25.png (100%) rename {nn => 1_nn}/images/eqn_26.png (100%) rename {nn => 1_nn}/images/eqn_27_29.png (100%) rename {nn => 1_nn}/images/eqn_30_31.png (100%) rename {nn => 1_nn}/images/eqn_32_34.png (100%) rename {nn => 1_nn}/images/eqn_35_40.png (100%) rename {nn => 1_nn}/images/eqn_3_4.png (100%) rename {nn => 1_nn}/images/eqn_5_6.png (100%) rename {nn => 1_nn}/images/eqn_7_12.png (100%) rename {nn => 1_nn}/images/eqn_delta_hidden.png (100%) rename {nn => 1_nn}/images/eqn_delta_j.png (100%) rename {nn => 1_nn}/images/eqn_ed_net_j.png (100%) rename {nn => 1_nn}/images/eqn_hidden_units.png (100%) rename {nn => 1_nn}/images/eqn_matrix1.png (100%) rename {nn => 1_nn}/images/eqn_w41_update.png (100%) rename {nn => 1_nn}/images/eqn_w4b_update.png (100%) rename {nn => 1_nn}/images/eqn_w84_update.png (100%) rename {nn => 1_nn}/images/formular_2.png (100%) rename {nn => 1_nn}/images/formular_3.png (100%) rename {nn => 1_nn}/images/formular_4.png (100%) rename {nn => 1_nn}/images/formular_5.png (100%) rename {nn => 1_nn}/images/forumlar_delta4.png (100%) rename {nn => 1_nn}/images/forumlar_delta8.png (100%) rename {nn => 1_nn}/images/neuron.gif (100%) rename {nn => 1_nn}/images/neuron.png (100%) rename {nn => 1_nn}/images/nn1.jpeg (100%) rename {nn => 1_nn}/images/nn2.png (100%) rename {nn => 1_nn}/images/nn3.png (100%) rename {nn => 1_nn}/images/nn_parameters_demo.png (100%) rename {nn => 1_nn}/images/perceptron_2.PNG (100%) rename {nn => 1_nn}/images/perceptron_geometry_def.png (100%) rename {nn => 1_nn}/images/sigmod.jpg (100%) rename {nn => 1_nn}/images/sign.png (100%) rename {nn => 1_nn}/images/softmax.png (100%) rename {nn => 1_nn}/images/softmax_demo.png (100%) rename {nn => 1_nn}/images/softmax_neuron.png (100%) rename {nn => 1_nn}/images/softmax_neuron_output2_eqn.png (100%) rename {nn => 1_nn}/images/softmax_neuron_output_eqn.png (100%) rename {nn => 1_nn}/mlp_bp.ipynb (100%) rename {nn => 1_nn}/mlp_bp.py (100%) rename {nn => 1_nn}/note.txt (100%) rename {nn => 1_nn}/softmax_ce.ipynb (100%) rename {nn => 1_nn}/softmax_ce.py (100%) create mode 100644 2_pytorch/0_basic/Tensor-and-Variable.ipynb create mode 100644 2_pytorch/0_basic/autograd.ipynb create mode 100644 2_pytorch/0_basic/dynamic-graph.ipynb create mode 100644 2_pytorch/0_basic/imgs/autograd_Variable.png create mode 100644 2_pytorch/0_basic/imgs/autograd_Variable.svg create mode 100644 2_pytorch/0_basic/imgs/com_graph.svg create mode 100644 2_pytorch/0_basic/imgs/com_graph_backward.svg create mode 100644 2_pytorch/0_basic/imgs/tensor_data_structure.svg create mode 100644 2_pytorch/0_basic/ref_Autograd.ipynb create mode 100644 2_pytorch/0_basic/ref_Tensor.ipynb create mode 100644 2_pytorch/1_NN/bp.ipynb create mode 100644 2_pytorch/1_NN/deep-nn.ipynb create mode 100644 2_pytorch/1_NN/imgs/ResNet.png create mode 100644 2_pytorch/1_NN/imgs/lena.png create mode 100644 2_pytorch/1_NN/imgs/lena3.png create mode 100644 2_pytorch/1_NN/imgs/lena512.png create mode 100644 2_pytorch/1_NN/imgs/multi_perceptron.png create mode 100644 2_pytorch/1_NN/imgs/residual.png create mode 100644 2_pytorch/1_NN/imgs/resnet1.png create mode 100644 2_pytorch/1_NN/imgs/trans.bkp.PNG create mode 100644 2_pytorch/1_NN/linear-regression-gradient-descend.ipynb create mode 100644 2_pytorch/1_NN/logistic-regression/data.txt create mode 100644 2_pytorch/1_NN/logistic-regression/logistic-regression.ipynb create mode 100644 2_pytorch/1_NN/logistic-regression/logistic-regression.py create mode 100644 2_pytorch/1_NN/nn-sequential-module.ipynb create mode 100644 2_pytorch/1_NN/nn_intro.ipynb create mode 100644 2_pytorch/1_NN/optimizer/adadelta.ipynb create mode 100644 2_pytorch/1_NN/optimizer/adadelta.py create mode 100644 2_pytorch/1_NN/optimizer/adagrad.ipynb create mode 100644 2_pytorch/1_NN/optimizer/adam.ipynb create mode 100644 2_pytorch/1_NN/optimizer/adam.py create mode 100644 2_pytorch/1_NN/optimizer/momentum.ipynb create mode 100644 2_pytorch/1_NN/optimizer/momentum.py create mode 100644 2_pytorch/1_NN/optimizer/rmsprop.ipynb create mode 100644 2_pytorch/1_NN/optimizer/rmsprop.py create mode 100644 2_pytorch/1_NN/optimizer/sgd.ipynb create mode 100644 2_pytorch/1_NN/optimizer/sgd.py create mode 100644 2_pytorch/1_NN/param_initialize.ipynb create mode 100644 2_pytorch/2_CNN/basic_conv.ipynb create mode 100644 2_pytorch/2_CNN/basic_conv.py create mode 100644 2_pytorch/2_CNN/batch-normalization.ipynb create mode 100644 2_pytorch/2_CNN/batch-normalization.py create mode 100644 2_pytorch/2_CNN/cat.png create mode 100644 2_pytorch/2_CNN/data-augumentation.ipynb create mode 100644 2_pytorch/2_CNN/data-augumentation.py create mode 100644 2_pytorch/2_CNN/densenet.ipynb create mode 100644 2_pytorch/2_CNN/densenet.py create mode 100644 2_pytorch/2_CNN/googlenet.ipynb create mode 100644 2_pytorch/2_CNN/lr-decay.ipynb create mode 100644 2_pytorch/2_CNN/lr-decay.py create mode 100644 2_pytorch/2_CNN/regularization.ipynb create mode 100644 2_pytorch/2_CNN/regularization.py create mode 100644 2_pytorch/2_CNN/resnet.ipynb create mode 100644 2_pytorch/2_CNN/utils.py create mode 100644 2_pytorch/2_CNN/vgg.ipynb create mode 100644 2_pytorch/2_CNN/vgg.py create mode 100644 2_pytorch/3_RNN/nlp/n-gram.ipynb create mode 100644 2_pytorch/3_RNN/nlp/seq-lstm.ipynb create mode 100644 2_pytorch/3_RNN/nlp/word-embedding.ipynb create mode 100644 2_pytorch/3_RNN/pytorch-rnn.ipynb create mode 100644 2_pytorch/3_RNN/rnn-for-image.ipynb create mode 100644 2_pytorch/3_RNN/time-series/data.csv create mode 100644 2_pytorch/3_RNN/time-series/lstm-time-series.ipynb create mode 100644 2_pytorch/3_RNN/utils.py create mode 100644 2_pytorch/4_GAN/autoencoder.ipynb create mode 100644 2_pytorch/4_GAN/autoencoder.py create mode 100644 2_pytorch/4_GAN/gan.ipynb create mode 100644 2_pytorch/4_GAN/gan.py create mode 100644 2_pytorch/4_GAN/vae.ipynb create mode 100644 2_pytorch/4_GAN/vae.py rename {pytorch => 2_pytorch}/PyTorch快速入门.ipynb (100%) rename {pytorch => 2_pytorch}/README.md (64%) diff --git a/1_knn/knn_classification.ipynb b/1_knn/knn_classification.ipynb index ecaa9eb..5e8f477 100644 --- a/1_knn/knn_classification.ipynb +++ b/1_knn/knn_classification.ipynb @@ -4,21 +4,21 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# KNN Classification\n", + "# kNN Classification\n", "\n", "\n", - "KNN最邻近规则,主要应用领域是对未知事物的识别,即判断未知事物属于哪一类,判断思想是,基于欧几里得定理,判断未知事物的特征和哪一类已知事物的的特征最接近;\n", + "kNN最邻近规则,主要应用领域是对未知事物的识别,即判断未知事物属于哪一类,判断思想是,基于欧几里得定理,判断未知事物的特征和哪一类已知事物的的特征最接近;\n", "\n", - "K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。KNN算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。 KNN方法虽然从原理上也依赖于极限定理,但在类别决策时,只与极少量的相邻样本有关。由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合。\n", + "K最近邻(k-Nearest Neighbor,kNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。KNN算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。 KNN方法虽然从原理上也依赖于极限定理,但在类别决策时,只与极少量的相邻样本有关。由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合。\n", "\n", - "KNN算法不仅可以用于分类,还可以用于回归。通过找出一个样本的k个最近邻居,将这些邻居的属性的平均值赋给该样本,就可以得到该样本的属性。更有用的方法是将不同距离的邻居对该样本产生的影响给予不同的权值(weight),如权值与距离成正比(组合函数)。\n", + "kNN算法不仅可以用于分类,还可以用于回归。通过找出一个样本的k个最近邻居,将这些邻居的属性的平均值赋给该样本,就可以得到该样本的属性。更有用的方法是将不同距离的邻居对该样本产生的影响给予不同的权值(weight),如权值与距离成正比(组合函数)。\n", "\n", "该算法在分类时有个主要的不足是,当样本不平衡时,如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个邻居中大容量类的样本占多数。 该算法只计算“最近的”邻居样本,某一类的样本数量很大,那么或者这类样本并不接近目标样本,或者这类样本很靠近目标样本。无论怎样,数量并不能影响运行结果。可以采用权值的方法(和该样本距离小的邻居权值大)来改进。该方法的另一个不足之处是计算量较大,因为对每一个待分类的文本都要计算它到全体已知样本的距离,才能求得它的K个最近邻点。目前常用的解决方法是事先对已知样本点进行剪辑,事先去除对分类作用不大的样本。该算法比较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分。\n", "\n", - "K-NN可以说是一种最直接的用来分类未知数据的方法。基本通过下面这张图跟文字说明就可以明白K-NN是干什么的\n", + "k-NN可以说是一种最直接的用来分类未知数据的方法。基本通过下面这张图跟文字说明就可以明白K-NN是干什么的\n", "![knn](images/knn.png)\n", "\n", - "简单来说,K-NN可以看成:有那么一堆你已经知道分类的数据,然后当一个新数据进入的时候,就开始跟训练数据里的每个点求距离,然后挑离这个训练数据最近的K个点看看这几个点属于什么类型,然后用少数服从多数的原则,给新数据归类。\n", + "简单来说,k-NN可以看成:有那么一堆你已经知道分类的数据,然后当一个新数据进入的时候,就开始跟训练数据里的每个点求距离,然后挑离这个训练数据最近的K个点看看这几个点属于什么类型,然后用少数服从多数的原则,给新数据归类。\n", "\n", "\n", "算法步骤:\n", @@ -32,6 +32,88 @@ "* step.7---选择出现频率最大的类标号作为未知样本的类标号" ] }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(200,)\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "%matplotlib inline\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# generate sample data\n", + "n = 100\n", + "x_1_1 = 10 + (np.random.rand(n, 1)*2 -1)*4\n", + "x_1_2 = 15 + (np.random.rand(n, 1)*2 -1)*4\n", + "x1 = np.concatenate((x_1_1, x_1_2), axis=1)\n", + "y1 = np.zeros([n, 1])\n", + "\n", + "x_2_1 = 20 + (np.random.rand(n, 1)*2 -1)*4\n", + "x_2_2 = 5 + (np.random.rand(n, 1)*2 -1)*4\n", + "x2 = np.concatenate((x_2_1, x_2_2), axis=1)\n", + "y2 = np.ones([n, 1])\n", + "\n", + "x = np.concatenate((x1, x2), axis=0)\n", + "y = np.concatenate((y1, y2), axis=0)\n", + "y = y.flatten()\n", + "print(y.shape)\n", + "\n", + "# draw samle data\n", + "plt.scatter(x[:,0], x[:,1], c=y)\n", + "plt.show()\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[0.0, 0.0, 0.0, 0.0, 0.0]\n", + "[1.0, 1.0, 1.0, 1.0, 1.0]\n" + ] + } + ], + "source": [ + "# generate test data\n", + "x_test = np.array([[12.5, 10.0], [15.4, 8.0]])\n", + "\n", + "k = 5\n", + "# do knn\n", + "for s in x_test:\n", + " d = np.sum((s - x)**2, axis=1)\n", + " idx = np.argsort(d)\n", + " ys_5 = list(y[idx[:5]]) \n", + " print(ys_5)\n", + "\n", + " # TODO: you need to implement the vote algorithm" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -204,7 +286,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 26, "metadata": {}, "outputs": [ { diff --git a/1_knn/knn_classification.py b/1_knn/knn_classification.py index 5ef04bf..f1422b3 100644 --- a/1_knn/knn_classification.py +++ b/1_knn/knn_classification.py @@ -18,21 +18,21 @@ # version: 3.5.2 # --- -# # KNN Classification +# # kNN Classification # # -# KNN最邻近规则,主要应用领域是对未知事物的识别,即判断未知事物属于哪一类,判断思想是,基于欧几里得定理,判断未知事物的特征和哪一类已知事物的的特征最接近; +# kNN最邻近规则,主要应用领域是对未知事物的识别,即判断未知事物属于哪一类,判断思想是,基于欧几里得定理,判断未知事物的特征和哪一类已知事物的的特征最接近; # -# K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。KNN算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。 KNN方法虽然从原理上也依赖于极限定理,但在类别决策时,只与极少量的相邻样本有关。由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合。 +# K最近邻(k-Nearest Neighbor,kNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。KNN算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。 KNN方法虽然从原理上也依赖于极限定理,但在类别决策时,只与极少量的相邻样本有关。由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合。 # -# KNN算法不仅可以用于分类,还可以用于回归。通过找出一个样本的k个最近邻居,将这些邻居的属性的平均值赋给该样本,就可以得到该样本的属性。更有用的方法是将不同距离的邻居对该样本产生的影响给予不同的权值(weight),如权值与距离成正比(组合函数)。 +# kNN算法不仅可以用于分类,还可以用于回归。通过找出一个样本的k个最近邻居,将这些邻居的属性的平均值赋给该样本,就可以得到该样本的属性。更有用的方法是将不同距离的邻居对该样本产生的影响给予不同的权值(weight),如权值与距离成正比(组合函数)。 # # 该算法在分类时有个主要的不足是,当样本不平衡时,如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个邻居中大容量类的样本占多数。 该算法只计算“最近的”邻居样本,某一类的样本数量很大,那么或者这类样本并不接近目标样本,或者这类样本很靠近目标样本。无论怎样,数量并不能影响运行结果。可以采用权值的方法(和该样本距离小的邻居权值大)来改进。该方法的另一个不足之处是计算量较大,因为对每一个待分类的文本都要计算它到全体已知样本的距离,才能求得它的K个最近邻点。目前常用的解决方法是事先对已知样本点进行剪辑,事先去除对分类作用不大的样本。该算法比较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分。 # -# K-NN可以说是一种最直接的用来分类未知数据的方法。基本通过下面这张图跟文字说明就可以明白K-NN是干什么的 +# k-NN可以说是一种最直接的用来分类未知数据的方法。基本通过下面这张图跟文字说明就可以明白K-NN是干什么的 # ![knn](images/knn.png) # -# 简单来说,K-NN可以看成:有那么一堆你已经知道分类的数据,然后当一个新数据进入的时候,就开始跟训练数据里的每个点求距离,然后挑离这个训练数据最近的K个点看看这几个点属于什么类型,然后用少数服从多数的原则,给新数据归类。 +# 简单来说,k-NN可以看成:有那么一堆你已经知道分类的数据,然后当一个新数据进入的时候,就开始跟训练数据里的每个点求距离,然后挑离这个训练数据最近的K个点看看这几个点属于什么类型,然后用少数服从多数的原则,给新数据归类。 # # # 算法步骤: @@ -45,6 +45,49 @@ # * step.6---统计K-最近邻样本中每个类标号出现的次数 # * step.7---选择出现频率最大的类标号作为未知样本的类标号 +# + +# %matplotlib inline +import numpy as np +import matplotlib.pyplot as plt + +# generate sample data +n = 100 +x_1_1 = 10 + (np.random.rand(n, 1)*2 -1)*4 +x_1_2 = 15 + (np.random.rand(n, 1)*2 -1)*4 +x1 = np.concatenate((x_1_1, x_1_2), axis=1) +y1 = np.zeros([n, 1]) + +x_2_1 = 20 + (np.random.rand(n, 1)*2 -1)*4 +x_2_2 = 5 + (np.random.rand(n, 1)*2 -1)*4 +x2 = np.concatenate((x_2_1, x_2_2), axis=1) +y2 = np.ones([n, 1]) + +x = np.concatenate((x1, x2), axis=0) +y = np.concatenate((y1, y2), axis=0) +y = y.flatten() +print(y.shape) + +# draw samle data +plt.scatter(x[:,0], x[:,1], c=y) +plt.show() + + + +# + +# generate test data +x_test = np.array([[12.5, 10.0], [15.4, 8.0]]) + +k = 5 +# do knn +for s in x_test: + d = np.sum((s - x)**2, axis=1) + idx = np.argsort(d) + ys_5 = list(y[idx[:5]]) + print(ys_5) + + # TODO: you need to implement the vote algorithm +# - + # ## Program # + diff --git a/nn/Perceptron.ipynb b/1_nn/Perceptron.ipynb similarity index 100% rename from nn/Perceptron.ipynb rename to 1_nn/Perceptron.ipynb diff --git a/nn/Perceptron.py b/1_nn/Perceptron.py similarity index 100% rename from nn/Perceptron.py rename to 1_nn/Perceptron.py diff --git a/nn/images/L_b.png b/1_nn/images/L_b.png similarity index 100% rename from nn/images/L_b.png rename to 1_nn/images/L_b.png diff --git a/nn/images/L_w.png b/1_nn/images/L_w.png similarity index 100% rename from nn/images/L_w.png rename to 1_nn/images/L_w.png diff --git a/nn/images/bp_loss.png b/1_nn/images/bp_loss.png similarity index 100% rename from nn/images/bp_loss.png rename to 1_nn/images/bp_loss.png diff --git a/nn/images/bp_weight_update.png b/1_nn/images/bp_weight_update.png similarity index 100% rename from nn/images/bp_weight_update.png rename to 1_nn/images/bp_weight_update.png diff --git a/nn/images/cross_entropy_loss.png b/1_nn/images/cross_entropy_loss.png similarity index 100% rename from nn/images/cross_entropy_loss.png rename to 1_nn/images/cross_entropy_loss.png diff --git a/nn/images/eqn_13_16.png b/1_nn/images/eqn_13_16.png similarity index 100% rename from nn/images/eqn_13_16.png rename to 1_nn/images/eqn_13_16.png diff --git a/nn/images/eqn_17_20.png b/1_nn/images/eqn_17_20.png similarity index 100% rename from nn/images/eqn_17_20.png rename to 1_nn/images/eqn_17_20.png diff --git a/nn/images/eqn_21_22.png b/1_nn/images/eqn_21_22.png similarity index 100% rename from nn/images/eqn_21_22.png rename to 1_nn/images/eqn_21_22.png diff --git a/nn/images/eqn_23_25.png b/1_nn/images/eqn_23_25.png similarity index 100% rename from nn/images/eqn_23_25.png rename to 1_nn/images/eqn_23_25.png diff --git a/nn/images/eqn_26.png b/1_nn/images/eqn_26.png similarity index 100% rename from nn/images/eqn_26.png rename to 1_nn/images/eqn_26.png diff --git a/nn/images/eqn_27_29.png b/1_nn/images/eqn_27_29.png similarity index 100% rename from nn/images/eqn_27_29.png rename to 1_nn/images/eqn_27_29.png diff --git a/nn/images/eqn_30_31.png b/1_nn/images/eqn_30_31.png similarity index 100% rename from nn/images/eqn_30_31.png rename to 1_nn/images/eqn_30_31.png diff --git a/nn/images/eqn_32_34.png b/1_nn/images/eqn_32_34.png similarity index 100% rename from nn/images/eqn_32_34.png rename to 1_nn/images/eqn_32_34.png diff --git a/nn/images/eqn_35_40.png b/1_nn/images/eqn_35_40.png similarity index 100% rename from nn/images/eqn_35_40.png rename to 1_nn/images/eqn_35_40.png diff --git a/nn/images/eqn_3_4.png b/1_nn/images/eqn_3_4.png similarity index 100% rename from nn/images/eqn_3_4.png rename to 1_nn/images/eqn_3_4.png diff --git a/nn/images/eqn_5_6.png b/1_nn/images/eqn_5_6.png similarity index 100% rename from nn/images/eqn_5_6.png rename to 1_nn/images/eqn_5_6.png diff --git a/nn/images/eqn_7_12.png b/1_nn/images/eqn_7_12.png similarity index 100% rename from nn/images/eqn_7_12.png rename to 1_nn/images/eqn_7_12.png diff --git a/nn/images/eqn_delta_hidden.png b/1_nn/images/eqn_delta_hidden.png similarity index 100% rename from nn/images/eqn_delta_hidden.png rename to 1_nn/images/eqn_delta_hidden.png diff --git a/nn/images/eqn_delta_j.png b/1_nn/images/eqn_delta_j.png similarity index 100% rename from nn/images/eqn_delta_j.png rename to 1_nn/images/eqn_delta_j.png diff --git a/nn/images/eqn_ed_net_j.png b/1_nn/images/eqn_ed_net_j.png similarity index 100% rename from nn/images/eqn_ed_net_j.png rename to 1_nn/images/eqn_ed_net_j.png diff --git a/nn/images/eqn_hidden_units.png b/1_nn/images/eqn_hidden_units.png similarity index 100% rename from nn/images/eqn_hidden_units.png rename to 1_nn/images/eqn_hidden_units.png diff --git a/nn/images/eqn_matrix1.png b/1_nn/images/eqn_matrix1.png similarity index 100% rename from nn/images/eqn_matrix1.png rename to 1_nn/images/eqn_matrix1.png diff --git a/nn/images/eqn_w41_update.png b/1_nn/images/eqn_w41_update.png similarity index 100% rename from nn/images/eqn_w41_update.png rename to 1_nn/images/eqn_w41_update.png diff --git a/nn/images/eqn_w4b_update.png b/1_nn/images/eqn_w4b_update.png similarity index 100% rename from nn/images/eqn_w4b_update.png rename to 1_nn/images/eqn_w4b_update.png diff --git a/nn/images/eqn_w84_update.png b/1_nn/images/eqn_w84_update.png similarity index 100% rename from nn/images/eqn_w84_update.png rename to 1_nn/images/eqn_w84_update.png diff --git a/nn/images/formular_2.png b/1_nn/images/formular_2.png similarity index 100% rename from nn/images/formular_2.png rename to 1_nn/images/formular_2.png diff --git a/nn/images/formular_3.png b/1_nn/images/formular_3.png similarity index 100% rename from nn/images/formular_3.png rename to 1_nn/images/formular_3.png diff --git a/nn/images/formular_4.png b/1_nn/images/formular_4.png similarity index 100% rename from nn/images/formular_4.png rename to 1_nn/images/formular_4.png diff --git a/nn/images/formular_5.png b/1_nn/images/formular_5.png similarity index 100% rename from nn/images/formular_5.png rename to 1_nn/images/formular_5.png diff --git a/nn/images/forumlar_delta4.png b/1_nn/images/forumlar_delta4.png similarity index 100% rename from nn/images/forumlar_delta4.png rename to 1_nn/images/forumlar_delta4.png diff --git a/nn/images/forumlar_delta8.png b/1_nn/images/forumlar_delta8.png similarity index 100% rename from nn/images/forumlar_delta8.png rename to 1_nn/images/forumlar_delta8.png diff --git a/nn/images/neuron.gif b/1_nn/images/neuron.gif similarity index 100% rename from nn/images/neuron.gif rename to 1_nn/images/neuron.gif diff --git a/nn/images/neuron.png b/1_nn/images/neuron.png similarity index 100% rename from nn/images/neuron.png rename to 1_nn/images/neuron.png diff --git a/nn/images/nn1.jpeg b/1_nn/images/nn1.jpeg similarity index 100% rename from nn/images/nn1.jpeg rename to 1_nn/images/nn1.jpeg diff --git a/nn/images/nn2.png b/1_nn/images/nn2.png similarity index 100% rename from nn/images/nn2.png rename to 1_nn/images/nn2.png diff --git a/nn/images/nn3.png b/1_nn/images/nn3.png similarity index 100% rename from nn/images/nn3.png rename to 1_nn/images/nn3.png diff --git a/nn/images/nn_parameters_demo.png b/1_nn/images/nn_parameters_demo.png similarity index 100% rename from nn/images/nn_parameters_demo.png rename to 1_nn/images/nn_parameters_demo.png diff --git a/nn/images/perceptron_2.PNG b/1_nn/images/perceptron_2.PNG similarity index 100% rename from nn/images/perceptron_2.PNG rename to 1_nn/images/perceptron_2.PNG diff --git a/nn/images/perceptron_geometry_def.png b/1_nn/images/perceptron_geometry_def.png similarity index 100% rename from nn/images/perceptron_geometry_def.png rename to 1_nn/images/perceptron_geometry_def.png diff --git a/nn/images/sigmod.jpg b/1_nn/images/sigmod.jpg similarity index 100% rename from nn/images/sigmod.jpg rename to 1_nn/images/sigmod.jpg diff --git a/nn/images/sign.png b/1_nn/images/sign.png similarity index 100% rename from nn/images/sign.png rename to 1_nn/images/sign.png diff --git a/nn/images/softmax.png b/1_nn/images/softmax.png similarity index 100% rename from nn/images/softmax.png rename to 1_nn/images/softmax.png diff --git a/nn/images/softmax_demo.png b/1_nn/images/softmax_demo.png similarity index 100% rename from nn/images/softmax_demo.png rename to 1_nn/images/softmax_demo.png diff --git a/nn/images/softmax_neuron.png b/1_nn/images/softmax_neuron.png similarity index 100% rename from nn/images/softmax_neuron.png rename to 1_nn/images/softmax_neuron.png diff --git a/nn/images/softmax_neuron_output2_eqn.png b/1_nn/images/softmax_neuron_output2_eqn.png similarity index 100% rename from nn/images/softmax_neuron_output2_eqn.png rename to 1_nn/images/softmax_neuron_output2_eqn.png diff --git a/nn/images/softmax_neuron_output_eqn.png b/1_nn/images/softmax_neuron_output_eqn.png similarity index 100% rename from nn/images/softmax_neuron_output_eqn.png rename to 1_nn/images/softmax_neuron_output_eqn.png diff --git a/nn/mlp_bp.ipynb b/1_nn/mlp_bp.ipynb similarity index 100% rename from nn/mlp_bp.ipynb rename to 1_nn/mlp_bp.ipynb diff --git a/nn/mlp_bp.py b/1_nn/mlp_bp.py similarity index 100% rename from nn/mlp_bp.py rename to 1_nn/mlp_bp.py diff --git a/nn/note.txt b/1_nn/note.txt similarity index 100% rename from nn/note.txt rename to 1_nn/note.txt diff --git a/nn/softmax_ce.ipynb b/1_nn/softmax_ce.ipynb similarity index 100% rename from nn/softmax_ce.ipynb rename to 1_nn/softmax_ce.ipynb diff --git a/nn/softmax_ce.py b/1_nn/softmax_ce.py similarity index 100% rename from nn/softmax_ce.py rename to 1_nn/softmax_ce.py diff --git a/2_pytorch/0_basic/Tensor-and-Variable.ipynb b/2_pytorch/0_basic/Tensor-and-Variable.ipynb new file mode 100644 index 0000000..c5f852d --- /dev/null +++ b/2_pytorch/0_basic/Tensor-and-Variable.ipynb @@ -0,0 +1,961 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Tensor and Variable\n", + "这是 PyTorch 基础的第二课,通过本次课程,你能够学会如何像使用 NumPy 一样使用 PyTorch,了解到 PyTorch 中的基本元素 Tensor 和 Variable 及其操作方式。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 把 PyTorch 当做 NumPy 用\n", + "PyTorch 的官方介绍是一个拥有强力GPU加速的张量和动态构建网络的库,其主要构件是张量,所以我们可以把 PyTorch 当做 NumPy 来用,PyTorch 的很多操作好 NumPy 都是类似的,但是因为其能够在 GPU 上运行,所以有着比 NumPy 快很多倍的速度。" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import torch\n", + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# 创建一个 numpy ndarray\n", + "numpy_tensor = np.random.randn(10, 20)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "我们可以使用下面两种方式将numpy的ndarray转换到tensor上" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "pytorch_tensor1 = torch.Tensor(numpy_tensor)\n", + "pytorch_tensor2 = torch.from_numpy(numpy_tensor)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "使用以上两种方法进行转换的时候,会直接将 NumPy ndarray 的数据类型转换为对应的 PyTorch Tensor 数据类型" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "同时我们也可以使用下面的方法将 pytorch tensor 转换为 numpy ndarray" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 如果 pytorch tensor 在 cpu 上\n", + "numpy_array = pytorch_tensor1.numpy()\n", + "\n", + "# 如果 pytorch tensor 在 gpu 上\n", + "numpy_array = pytorch_tensor1.cpu().numpy()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "需要注意 GPU 上的 Tensor 不能直接转换为 NumPy ndarray,需要使用`.cpu()`先将 GPU 上的 Tensor 转到 CPU 上" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "PyTorch Tensor 使用 GPU 加速\n", + "\n", + "我们可以使用以下两种方式将 Tensor 放到 GPU 上" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# 第一种方式是定义 cuda 数据类型\n", + "dtype = torch.cuda.FloatTensor # 定义默认 GPU 的 数据类型\n", + "gpu_tensor = torch.randn(10, 20).type(dtype)\n", + "\n", + "# 第二种方式更简单,推荐使用\n", + "gpu_tensor = torch.randn(10, 20).cuda(0) # 将 tensor 放到第一个 GPU 上\n", + "gpu_tensor = torch.randn(10, 20).cuda(1) # 将 tensor 放到第二个 GPU 上" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "使用第一种方式将 tensor 放到 GPU 上的时候会将数据类型转换成定义的类型,而是用第二种方式能够直接将 tensor 放到 GPU 上,类型跟之前保持一致\n", + "\n", + "推荐在定义 tensor 的时候就明确数据类型,然后直接使用第二种方法将 tensor 放到 GPU 上" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "而将 tensor 放回 CPU 的操作非常简单" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "cpu_tensor = gpu_tensor.cpu()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "我们也能够访问到 Tensor 的一些属性" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "torch.Size([10, 20])\n", + "torch.Size([10, 20])\n" + ] + } + ], + "source": [ + "# 可以通过下面两种方式得到 tensor 的大小\n", + "print(pytorch_tensor1.shape)\n", + "print(pytorch_tensor1.size())" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "torch.FloatTensor\n" + ] + } + ], + "source": [ + "# 得到 tensor 的数据类型\n", + "print(pytorch_tensor1.type())" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2\n" + ] + } + ], + "source": [ + "# 得到 tensor 的维度\n", + "print(pytorch_tensor1.dim())" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "200\n" + ] + } + ], + "source": [ + "# 得到 tensor 的所有元素个数\n", + "print(pytorch_tensor1.numel())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**小练习**\n", + "\n", + "查阅以下[文档](http://pytorch.org/docs/0.3.0/tensors.html)了解 tensor 的数据类型,创建一个 float64、大小是 3 x 2、随机初始化的 tensor,将其转化为 numpy 的 ndarray,输出其数据类型\n", + "\n", + "参考输出: float64" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "float64\n" + ] + } + ], + "source": [ + "# 答案\n", + "x = torch.randn(3, 2)\n", + "x = x.type(torch.DoubleTensor)\n", + "x_array = x.numpy()\n", + "print(x_array.dtype)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Tensor的操作\n", + "Tensor 操作中的 api 和 NumPy 非常相似,如果你熟悉 NumPy 中的操作,那么 tensor 基本是一致的,下面我们来列举其中的一些操作" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + " 1 1\n", + " 1 1\n", + "[torch.FloatTensor of size 2x2]\n", + "\n" + ] + } + ], + "source": [ + "x = torch.ones(2, 2)\n", + "print(x) # 这是一个float tensor" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "torch.FloatTensor\n" + ] + } + ], + "source": [ + "print(x.type())" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + " 1 1\n", + " 1 1\n", + "[torch.LongTensor of size 2x2]\n", + "\n" + ] + } + ], + "source": [ + "# 将其转化为整形\n", + "x = x.long()\n", + "# x = x.type(torch.LongTensor)\n", + "print(x)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + " 1 1\n", + " 1 1\n", + "[torch.FloatTensor of size 2x2]\n", + "\n" + ] + } + ], + "source": [ + "# 再将其转回 float\n", + "x = x.float()\n", + "# x = x.type(torch.FloatTensor)\n", + "print(x)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "-0.8203 -0.0328 1.8283\n", + "-0.1734 -0.1873 0.9818\n", + "-1.8368 -2.2450 -0.4410\n", + "-0.8005 -2.1132 0.7140\n", + "[torch.FloatTensor of size 4x3]\n", + "\n" + ] + } + ], + "source": [ + "x = torch.randn(4, 3)\n", + "print(x)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 沿着行取最大值\n", + "max_value, max_idx = torch.max(x, dim=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 1.8283\n", + " 0.9818\n", + "-0.4410\n", + " 0.7140\n", + "[torch.FloatTensor of size 4]" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 每一行的最大值\n", + "max_value" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 2\n", + " 2\n", + " 2\n", + " 2\n", + "[torch.LongTensor of size 4]" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 每一行最大值的下标\n", + "max_idx" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + " 0.9751\n", + " 0.6212\n", + "-4.5228\n", + "-2.1997\n", + "[torch.FloatTensor of size 4]\n", + "\n" + ] + } + ], + "source": [ + "# 沿着行对 x 求和\n", + "sum_x = torch.sum(x, dim=1)\n", + "print(sum_x)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "torch.Size([4, 3])\n", + "torch.Size([1, 4, 3])\n" + ] + } + ], + "source": [ + "# 增加维度或者减少维度\n", + "print(x.shape)\n", + "x = x.unsqueeze(0) # 在第一维增加\n", + "print(x.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "torch.Size([1, 1, 4, 3])\n" + ] + } + ], + "source": [ + "x = x.unsqueeze(1) # 在第二维增加\n", + "print(x.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "torch.Size([1, 4, 3])\n" + ] + } + ], + "source": [ + "x = x.squeeze(0) # 减少第一维\n", + "print(x.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "torch.Size([4, 3])\n" + ] + } + ], + "source": [ + "x = x.squeeze() # 将 tensor 中所有的一维全部都去掉\n", + "print(x.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "torch.Size([3, 4, 5])\n", + "torch.Size([4, 3, 5])\n", + "torch.Size([5, 3, 4])\n" + ] + } + ], + "source": [ + "x = torch.randn(3, 4, 5)\n", + "print(x.shape)\n", + "\n", + "# 使用permute和transpose进行维度交换\n", + "x = x.permute(1, 0, 2) # permute 可以重新排列 tensor 的维度\n", + "print(x.shape)\n", + "\n", + "x = x.transpose(0, 2) # transpose 交换 tensor 中的两个维度\n", + "print(x.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "torch.Size([3, 4, 5])\n", + "torch.Size([12, 5])\n", + "torch.Size([3, 20])\n" + ] + } + ], + "source": [ + "# 使用 view 对 tensor 进行 reshape\n", + "x = torch.randn(3, 4, 5)\n", + "print(x.shape)\n", + "\n", + "x = x.view(-1, 5) # -1 表示任意的大小,5 表示第二维变成 5\n", + "print(x.shape)\n", + "\n", + "x = x.view(3, 20) # 重新 reshape 成 (3, 20) 的大小\n", + "print(x.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "x = torch.randn(3, 4)\n", + "y = torch.randn(3, 4)\n", + "\n", + "# 两个 tensor 求和\n", + "z = x + y\n", + "# z = torch.add(x, y)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "另外,pytorch中大多数的操作都支持 inplace 操作,也就是可以直接对 tensor 进行操作而不需要另外开辟内存空间,方式非常简单,一般都是在操作的符号后面加`_`,比如" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "torch.Size([3, 3])\n", + "torch.Size([1, 3, 3])\n", + "torch.Size([3, 1, 3])\n" + ] + } + ], + "source": [ + "x = torch.ones(3, 3)\n", + "print(x.shape)\n", + "\n", + "# unsqueeze 进行 inplace\n", + "x.unsqueeze_(0)\n", + "print(x.shape)\n", + "\n", + "# transpose 进行 inplace\n", + "x.transpose_(1, 0)\n", + "print(x.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "x = torch.ones(3, 3)\n", + "y = torch.ones(3, 3)\n", + "print(x)\n", + "\n", + "# add 进行 inplace\n", + "x.add_(y)\n", + "print(x)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**小练习**\n", + "\n", + "访问[文档](http://pytorch.org/docs/0.3.0/tensors.html)了解 tensor 更多的 api,实现下面的要求\n", + "\n", + "创建一个 float32、4 x 4 的全为1的矩阵,将矩阵正中间 2 x 2 的矩阵,全部修改成2\n", + "\n", + "参考输出\n", + "$$\n", + "\\left[\n", + "\\begin{matrix}\n", + "1 & 1 & 1 & 1 \\\\\n", + "1 & 2 & 2 & 1 \\\\\n", + "1 & 2 & 2 & 1 \\\\\n", + "1 & 1 & 1 & 1\n", + "\\end{matrix}\n", + "\\right] \\\\\n", + "[torch.FloatTensor\\ of\\ size\\ 4x4]\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + " 1 1 1 1\n", + " 1 2 2 1\n", + " 1 2 2 1\n", + " 1 1 1 1\n", + "[torch.FloatTensor of size 4x4]\n", + "\n" + ] + } + ], + "source": [ + "# 答案\n", + "x = torch.ones(4, 4).float()\n", + "x[1:3, 1:3] = 2\n", + "print(x)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Variable\n", + "tensor 是 PyTorch 中的完美组件,但是构建神经网络还远远不够,我们需要能够构建计算图的 tensor,这就是 Variable。Variable 是对 tensor 的封装,操作和 tensor 是一样的,但是每个 Variabel都有三个属性,Variable 中的 tensor本身`.data`,对应 tensor 的梯度`.grad`以及这个 Variable 是通过什么方式得到的`.grad_fn`" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 通过下面这种方式导入 Variable\n", + "from torch.autograd import Variable" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "x_tensor = torch.randn(10, 5)\n", + "y_tensor = torch.randn(10, 5)\n", + "\n", + "# 将 tensor 变成 Variable\n", + "x = Variable(x_tensor, requires_grad=True) # 默认 Variable 是不需要求梯度的,所以我们用这个方式申明需要对其进行求梯度\n", + "y = Variable(y_tensor, requires_grad=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "z = torch.sum(x + y)" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "-2.1379\n", + "[torch.FloatTensor of size 1]\n", + "\n", + "\n" + ] + } + ], + "source": [ + "print(z.data)\n", + "print(z.grad_fn)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "上面我们打出了 z 中的 tensor 数值,同时通过`grad_fn`知道了其是通过 Sum 这种方式得到的" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Variable containing:\n", + " 1 1 1 1 1\n", + " 1 1 1 1 1\n", + " 1 1 1 1 1\n", + " 1 1 1 1 1\n", + " 1 1 1 1 1\n", + " 1 1 1 1 1\n", + " 1 1 1 1 1\n", + " 1 1 1 1 1\n", + " 1 1 1 1 1\n", + " 1 1 1 1 1\n", + "[torch.FloatTensor of size 10x5]\n", + "\n", + "Variable containing:\n", + " 1 1 1 1 1\n", + " 1 1 1 1 1\n", + " 1 1 1 1 1\n", + " 1 1 1 1 1\n", + " 1 1 1 1 1\n", + " 1 1 1 1 1\n", + " 1 1 1 1 1\n", + " 1 1 1 1 1\n", + " 1 1 1 1 1\n", + " 1 1 1 1 1\n", + "[torch.FloatTensor of size 10x5]\n", + "\n" + ] + } + ], + "source": [ + "# 求 x 和 y 的梯度\n", + "z.backward()\n", + "\n", + "print(x.grad)\n", + "print(y.grad)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "通过`.grad`我们得到了 x 和 y 的梯度,这里我们使用了 PyTorch 提供的自动求导机制,非常方便,下一小节会具体讲自动求导。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**小练习**\n", + "\n", + "尝试构建一个函数 $y = x^2 $,然后求 x=2 的导数。\n", + "\n", + "参考输出:4" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "提示:\n", + "\n", + "$y = x^2$的图像如下" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAW4AAAD8CAYAAABXe05zAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xd4VFX+x/H3mcmkQwJJCIQkhBBaRHpHFAW76FpQwIZb\nWLuuW3TVVXddXcvaXQvWVSn2riguKIi0AJGWACEhDUghhCSkkMyc3x+J/hQpQ8jk3DvzfT1PniWz\nw8znMvjh5txzz1Faa4QQQtiHw3QAIYQQR0eKWwghbEaKWwghbEaKWwghbEaKWwghbEaKWwghbEaK\nWwghbEaKWwghbEaKWwghbCbIFy8aGxurU1JSfPHSQgjhl1avXl2utY7z5rk+Ke6UlBQyMjJ88dJC\nCOGXlFL53j5XhkqEEMJmpLiFEMJmpLiFEMJmpLiFEMJmpLiFEMJmpLiFEMJmpLiFEMJmLFPc9Y1u\nXlicy3fbyk1HEUKIo7You5RXluaxv8nj8/eyTHEHORQvLMnlpSV5pqMIIcRRe/abbfz3u+24nMrn\n72Wd4nY6uGhYIos2l7Jrb73pOEII4bXcshpW5lVw8YgklAqg4ga4eHgSHg3vrC40HUUIIbz2ZkYh\nTofioqGJ7fJ+lirulNgIxqTG8GZGIR6PNh1HCCGOqNHt4d3VRZzSrwtdOoa2y3taqrgBpo5MorCi\njmW5u01HEUKII/pfVinlNfuZOiKp3d7TcsV9+nFdiQpzMXdlgekoQghxRPNWFdC1Yygn9fFqRdY2\nYbniDnU5OX9Id77cWELFvv2m4wghxCHtqKzjmy1lTBmeSJCz/erUcsUNcMmIJPa7Pby/tth0FCGE\nOKS3M4rQunliRXuyZHH379aRQUnRvLmqAK3lIqUQwnrcHs1bGYWckBZLUufwdn1vSxY3wNQRSWwp\nqWFtYaXpKEII8QtLc8oprqzjkna8KPkDyxb35EEJhAc7mScXKYUQFjRvVQGdwl2cdlx8u7+3ZYs7\nMiSIyQMT+Pj7nVTXN5qOI4QQPyqvaWDBphIuGJpISJCz3d/fssUNcMnIJOoa3Xz8/U7TUYQQ4kfv\nrymm0a2NDJOAxYt7SFI0feM7MG+VDJcIIaxBa83clQUMTY6mT3wHIxksXdxKKaaPSmZd0V7WFclF\nSiGEectyd5Nbvo9LR/UwlsHSxQ1w/tDuhLmczFkhZ91CCPNmryggKszF2QO7Gctg+eLuGOri3EEJ\nfJi5gyq5SCmEMKisuoEvNuziomGJhLra/6LkDyxf3ACXjk6mrtHNh3InpRDCoLdXF9Lk0UwflWw0\nhy2Ke2BiNAO6d2T2CrmTUghhhsejmbOigNGpnekVF2k0i1fFrZT6g1Jqo1Jqg1JqrlKqfRad/YlL\nR/Uge1c1awr2tPdbCyEEi7eWUbSnzuhFyR8csbiVUt2BG4HhWusBgBOY6utgBzp3UAKRIUHMXi4X\nKYUQ7W/2igJiIoI5/biupqN4PVQSBIQppYKAcGCH7yIdXERIEOcP6c4n63dSWSvLvQoh2s/OvXUs\nzC7l4hFJBAeZH2E+YgKtdTHwb6AA2Ans1Vp/eeDzlFIzlVIZSqmMsrKytk8KTB+VzP4mD++sLvLJ\n6wshxMG8uaoQt0czbYTZi5I/8GaopBNwHtATSAAilFKXHfg8rfUsrfVwrfXwuDjf7ATRv1tHhiZH\nM0cuUgoh2kmT28O8lYWc2CeO5Jj2Xb71ULw5558E5Gmty7TWjcB7wFjfxjq0S0f1ILd8n+xJKYRo\nFwuzS9lVVc+lhqcA/pQ3xV0AjFZKhSulFDARyPJtrEM7e2A3osJccpFSCNEuZq8oIL5jCBP7dTEd\n5UfejHGvAN4B1gDrW37PLB/nOqRQl5MpwxL5YuMuSqrqTcUQQgSA7eX7+GZLGdNGJrfrnpJH4lUS\nrfXdWut+WusBWuvLtdYNvg52OJeN7oFba1m/RAjhU68vzyfIoZg+0jrDJGCTOycPlBIbwUl94piz\nsoD9TR7TcYQQfqh2fxNvZxRyxoCudOnY7vccHpYtixvgijE9mhd82bjLdBQhhB9qXtiuiSvGpJiO\n8gu2Le6T+nQhuXM4ry/LNx1FCOFntNa8tiyffl07MCKlk+k4v2Db4nY6FJeNTmbl9gqydlaZjiOE\n8COr8/eQtbOKK8ak0DyZzlpsW9wAFw9PIiTIwWty1i2EaEP/XZZPh9AgfjUkwXSUg7J1cUeHB3Pe\n4AQ+WFvM3jrZZEEIcexKq+r5fP1OpgxLIjw4yHScg7J1cQNcMSaFuka3rF8ihGgTc1c2b5Zw+Rjz\ny7ceiu2Le0D3KIYmR/PG8nw8Hlm/RAjReo1uD3NW5nNinzh6xkaYjnNIti9ugCvHppBXvo8lOeWm\nowghbOzLjSWUVDVwpYXPtsFPivuMAV2JjQzmte+2m44ihLCx15ZtJ7FTGBP6WmddkoPxi+IOCXIy\nfWQyCzeXsr18n+k4Qggb2rhjLyvyKrhiTA+cDutNAfwpvyhuaF6/JMiheFXOuoUQrfDK0u2EBzu5\nZLi11iU5GL8p7i4dQzlnYAJvZxRSVS9TA4UQ3iurbuCjzB1cODSRqHCX6ThH5DfFDfDrcT3Zt9/N\n2xkyNVAI4b05KwrY7/YwY1yK6She8aviPj4xihEpnXj1uzzcMjVQCOGFhiY3ry/P5+S+cfSKizQd\nxyt+VdwAV43rSWFFHV9llZiOIoSwgU++30l5TQNXjetpOorX/K64T0uPp3t0GK8szTMdRQhhcVpr\nXl6aR1qXSMb3jjUdx2t+V9xBTgdXjOnB8twKNu7YazqOEMLCVm3fw8YdVVw1zpqrAB6K3xU3wNQR\nyYS5nLy6dLvpKEIIC3tlaR5RYS4uGJJoOspR8cvijgp3cdGwRD7M3EF5jdHtMYUQFlVYUcsXG3cx\nfVQyYcFO03GOil8WN8CMcSnsd3uYvVw2FBZC/NJry7ajlOLy0dZel+Rg/La4e8VFMqFvHK8vz6e+\n0W06jhDCQmoampi3qnkj4IToMNNxjprfFjfA78anUl7TwIeZxaajCCEsZN7KAqrrm5g5PtV0lFbx\n6+Ie2yuG9G4deWFJnqzVLYQAoMnt4ZWl2xnZszODkqJNx2kVvy5upRQzT0wlp7SGb7aUmY4jhLCA\nzzbsoriyzrZn2+DnxQ1w9sBudIsKZdbiXNNRhBCGaa2ZtXgbqXERnNLP2mtuH47fF7fL6eDX43qy\nLHc364vkhhwhAtny3Ao2FFfxu/GpOCy+5vbh+H1xA0wdmUSHkCBeWCJn3UIEsheW5BIbGcz5Q7qb\njnJMAqK4O4S6mDYqmU/X76RoT63pOEIIA7aWVLMwu5QrxqQQ6rLXDTcHCojiBpgxNgVF8y4XQojA\n8+KSPEJdDi6z4Q03BwqY4k6IDmPyoATmrSxgb53skCNEICmtruf9tcVMGZZE54hg03GOWcAUN8Bv\nxzfvkDN3pdwGL0Qgee27fBo9Hn5zgn3W3D6cgCru4xKiGJcWwytL82hoktvghQgE+xqaeGNFPqel\nx5MSG2E6TpsIqOIGuPqkXpRUNfDBWrkNXohAMHdlAZW1jfz+pF6mo7QZr4pbKRWtlHpHKZWtlMpS\nSo3xdTBfOSEtlgHdO/LcN7myL6UQfq6hyc2LS/IYndqZocmdTMdpM96ecT8BzNda9wMGAVm+i+Rb\nSimunZBGXvk+5m/YZTqOEMKHPlhbzK6qeq6dkGY6Sps6YnErpaKAE4GXALTW+7XWlb4O5kunH9eV\n1NgInv0mB63lrFsIf+T2aJ7/JpcB3Tvaaj9Jb3hzxt0TKANeUUqtVUq9qJSy9Qi/06H4/UmpbCiu\nYsnWctNxhBA+8MXGXeSW7+Oak9JstZ+kN7wp7iBgKPCs1noIsA+47cAnKaVmKqUylFIZZWXWX4nv\n/CGJdO0YyjNf55iOIoRoY1prnvk6h9TYCM4Y0NV0nDbnTXEXAUVa6xUt379Dc5H/jNZ6ltZ6uNZ6\neFxcXFtm9IngIAe/Hd+T5bkVrCnYYzqOEKINfZtTzobiKn5/UipOGy8mdShHLG6t9S6gUCnVt+Wh\nicAmn6ZqJ9NGJhMd7uLZr7eZjiKEaEPPLNpGfMcQfmXzxaQOxdtZJTcAs5VS64DBwP2+i9R+IkKC\nuHJMCgs2lbClpNp0HCFEG1hbsIdlubv53fhUQoLsvZjUoXhV3FrrzJZhkIFa619prf1mbGHG2BTC\nXE6ek7NuIfzCM19vIyrMxbSRyaaj+EzA3Tl5oE4RwUwbmcyH3++gYLcs+SqEnW3eVc2CTSVcOTaF\niJAg03F8JuCLG/jxAsaz38gMEyHs7KmFW4kIdvLrcSmmo/iUFDcQ3zGUqSOSeGd1kWy0IIRN5ZRW\n8+n6nVw5NoXocPsv3Xo4Utwtrm5ZgOa5b2SsWwg7enphDmEuJ7+18e7t3pLibpEQHcZFw5J4a1UR\nu/bWm44jhDgKeeX7+Oj7HVw2uodfbJRwJFLcP3HthF54tJazbiFs5j+LcnA5HfwuAM62QYr7Z5I6\nh3PB0O7MXVlAaZWcdQthBwW7a3l/bTGXjupBXIcQ03HahRT3Aa47OY0mj2bW4lzTUYQQXnjm65wf\nF44LFFLcB+gRE8F5gxN4Y0U+5TUNpuMIIQ6jaE8t76wuYtqIJOI7hpqO026kuA/iupPTaGjy8MIS\nOesWwsqe/XobSuFX25J5Q4r7IHrFRTJ5YAKvL8tnt5x1C2FJOyrreDujiCnDk0iIDjMdp11JcR/C\njRPTqG9087yMdQthSU8tzEGjuXZCYJ1tgxT3IaV16cCvBnfntWXbKa2WGSZCWEnB7lrezihk2shk\nEjuFm47T7qS4D+PGib1pdGueWSTzuoWwkicXbsXpUFx3sn9tAuwtKe7DSImN4KKhicxZUcCOyjrT\ncYQQwLayGt5bU8Rlo3sE1EySn5LiPoIbJqah0Ty9SFYOFMIKnvhqKyFBTq4JwLHtH0hxH0Fip3Cm\njkjmrVWFsl63EIZt3lXNx+t2MGNcCrGRgXGX5MFIcXvhupPTcDgUTy7cajqKEAHtsQVbiAgOYmaA\nrElyKFLcXugaFcrlo3vw3poicstqTMcRIiBtKN7L/I27+M0JPekUACsAHo4Ut5eumdCLkCAnj38l\nZ91CmPDogi1Ehbn4zfiepqMYJ8XtpdjIEGaMS+HjdTvI2lllOo4QAWV1/h4WZpcy88RUOoa6TMcx\nTor7KPz+xFQ6hATx8BebTUcRImBorXnw82xiI0O4ys/3kvSWFPdRiA4P5poJaSzMLmVF7m7TcYQI\nCIs2l7JyewU3TepNeLD/7tx+NKS4j9KMsSnEdwzhgfnZaK1NxxHCr7k9mgc/30xKTDhTRySZjmMZ\nUtxHKSzYyR8m9WFtQSVfbioxHUcIv/bB2mI2l1Tzp9P74nJKXf1A/iRa4aJhifSKi+Ch+dk0uT2m\n4wjhl+ob3Ty6YAvHd4/irAHdTMexFCnuVghyOvjz6f3YVraPd9cUmY4jhF96Y3k+xZV13HZmPxwO\nZTqOpUhxt9Lpx8UzJDmaxxZspb7RbTqOEH6lqr6RpxflML53LOPSYk3HsRwp7lZSSnHrGf3YVVXP\nq99tNx1HCL8y65tcKmsbufWMfqajWJIU9zEYnRrDyX3jeGZRDpW1+03HEcIvlFbV89K3eUwelMCA\n7lGm41iSFPcxuvXMftQ0NPHk/2TZVyHawr+/3EyTx8OfTutjOoplSXEfo35dO3Lx8CReW7ZdFqAS\n4hht3LGXt1cXceWYFHrERJiOY1lS3G3gltP6EBLk4IHPs01HEcK2tNbc92kW0WEubpjY23QcS5Pi\nbgNdOoRy7clpfLmphGXb5FZ4IVrjf1mlfLdtNzdP6kNUmCwkdThS3G3kNyf0JCEqlH9+ugmPR26F\nF+JoNLo93P9ZFqlxEUwflWw6juV5XdxKKadSaq1S6hNfBrKrUJeTW8/sx8YdVby3tth0HCFsZfby\nfHLL93HHWf3l1nYvHM2f0E1Alq+C+INzByUwOCmah7/IpnZ/k+k4Qljb7NmQkoJ2ODjt7NH8uTyD\nU/p1MZ3KFrwqbqVUInA28KJv49ibUoq/ndOfkqoGZi3ONR1HCOuaPRtmzoT8fJTWJOwt5Zo5D6Lm\nzDGdzBa8PeN+HPgLICsqHcGwHp05e2A3nv8ml51760zHEcKa7rgDamt/9pCjrq75cXFERyxupdQ5\nQKnWevURnjdTKZWhlMooKytrs4B2dNsZ/fBozb8+k+mBQhxUQcHRPS5+xpsz7nHAuUqp7cA84BSl\n1BsHPklrPUtrPVxrPTwuLq6NY9pLUudwfn9SLz76fgfLZaccIX4p+RAzRw71uPiZIxa31vqvWutE\nrXUKMBVYqLW+zOfJbO6ak3rRPTqMez7aKGt2C3GA/f+4l3pXyM8fDA+H++4zE8hmZN6Nj4QFO/nb\nOelk76rmjeX5puMIYSmzEkfzl9Ovpz4hEZSCHj1g1iy49FLT0WzhqIpba/211vocX4XxN6cfF8/4\n3rE8smAL5TUNpuMIYQnFlXU8vSiHxkumEVpcCB4PbN8upX0U5Izbh5RS3D35OOr2u3l4/mbTcYSw\nhPs/bb4d5I6z+xtOYl9S3D6W1iWS35zQkzczCsksrDQdRwijluaU8+n6nVw3IY3ETuGm49iWFHc7\nuGFib7p0COHuDzfIOiYiYDW6Pdz90UaSO4fzuxNTTcexNSnudhAZEsTtZ/Xn+6K9zFtVaDqOEEa8\nsjSPnNIa7jonnVCX03QcW5PibifnDU5gdGpnHvg8i7JquVApAkvRnloeW7CVSf27MLG/rEdyrKS4\n24lSivvOP576Rg///HST6ThCtButNXd9uBGl4O/nDUApZTqS7Ulxt6NecZFcM6EXH2buYPGWwF4W\nQASO+Rt2sTC7lFtO7UP36DDTcfyCFHc7u2ZCL1JjI7jzgw3UN7pNxxHCp6rrG7nn442kd+vIjLEp\npuP4DSnudhbqcvLP8wdQUFHL0wtlZ3jh3x75cgul1Q3864LjCZINEtqM/EkaMLZXLBcM7c7zi7ex\npaTadBwhfOL7wkr+u2w7V4zuwaCkaNNx/IoUtyF3nNWfiJAg7nh/vcztFn6nye3hr++tp0uHEP54\nel/TcfyOFLchMZEh3H5Wf1Zt38PcVbIGsfAvLy/NY9POKu6ZfBwdQ2XH9rYmxW3QlGGJjO0Vw78+\ny6a4UnbLEf4ht6yGR77cwqT+8ZwxoKvpOH5JitsgpRQPXDAQt0fz1/fWo7UMmQh7c3s0f3lnHSFB\nDu4/X+Zs+4oUt2HJMeHcekZfFm8p453VRabjCHFMXlu2nYz8Pdw1+Ti6dAw1HcdvSXFbwBVjUhiZ\n0pl7P9lESVW96ThCtEr+7n08NH8zE/rGceHQ7qbj+DUpbgtwOBQPXjSQhiYPd7wvQybCfjweza3v\nriPIofjXBcfLEImPSXFbRM/YCP58el++yirlw8wdpuMIcVRmryxgeW4Fd5zdn25Rclu7r0lxW8hV\n43oyNDmaez7eSGm1DJkIeyjaU8sDn2Uxvncsl4xIMh0nIEhxW4jToXjookHU7ndzu8wyETbg8Wj+\n/PY6ABkiaUdS3BaT1iWSv7QMmcimC8LqXvo2j2W5u7lrcrpsRdaOpLgt6NfjejIuLYZ7P9nE9vJ9\npuMIcVBZO6t4+IvNnJYez8XDZYikPUlxW5DDofj3lEEEORQ3v5lJk9tjOpIQP1Pf6OYPb2bSMcwl\nQyQGSHFbVLeoMO47/3gyCyv5z6JtpuMI8TOPfLmZ7F3VPHzRQGIiQ0zHCThS3BY2eVACvxqcwJML\nt7K2YI/pOEIA8F1OOS8syeOy0cmc3E/2jzRBitvi/n7eAOI7hHDLW99Tu7/JdBwR4PbWNvLHt78n\nNTaCO85KNx0nYElxW1xUmItHLh7M9t37+MfHssmwMEdrze0frKesuoHHLhlMWLDTdKSAJcVtA2N6\nxXDNSb2Yt6qQDzOLTccRAWrOygI+XbeTW07rIzvaGCbFbRO3nNqH4T06cft768ktqzEdRwSYTTuq\n+PvHmzixTxxXn9jLdJyAJ8VtE0FOB09OG4IryMF1c9bKDvGi3dQ0NHH9nDVEh7l49OJBOBwy9c80\nKW4bSYgO49GLB5G1s4p/firj3cL3tNbc+f56tu/ex5PThhArU/8sQYrbZk7pF8/ME1N5Y3nzeKMQ\nvvR2RhEfZO7g5kl9GJ0aYzqOaCHFbUN/Pr0vg5Oiue3ddeTvllvihW9sKanmro82MLZXDNednGY6\njvgJKW4bcjkdPD19CErBNW+soW6/jHeLtlVd38jVb6wmMiSIx6cOxinj2pYixW1TiZ3CeXzqYLJ2\nVfHX99bJErCizXg8mlve+p783bU8PX0oXTrI3pFWc8TiVkolKaUWKaU2KaU2KqVuao9g4shO6RfP\nLZP68EHmDl5Zut10HOEnnl6Uw4JNJdx5dn8Z17Yob864m4A/aq3TgdHAdUopudfVIq47OY3T0uO5\n77Mslm3bbTqOsLn/ZZXw2FdbuGBId2aMTTEdRxzCEYtba71Ta72m5dfVQBYgWzhbhMOheOTiQaTE\nhHP9nDUUV9aZjiRsKreshpvnZZLerSP3y1KtlnZUY9xKqRRgCLDCF2FE63QIdTHriuE0NHm4+vXV\ncnOOOGo1DU38/vXVBDkVz18+jFCXrENiZV4Xt1IqEngXuFlrXXWQ/3+mUipDKZVRVlbWlhmFF3rF\nRfLYJYNZX7xX9qsUR8Xj0fzxrUy2ldXwn+lDZQsyG/CquJVSLppLe7bW+r2DPUdrPUtrPVxrPTwu\nLq4tMwovnZoezy2n9uG9tcU8vTDHdBxhEw/Oz+aLjSXceXY6Y9NiTccRXgg60hNU80DXS0CW1vpR\n30cSx+KGU9LYXr6PRxZsITkmnPMGy+UIcWhzVxbw/OJcLh/dg6vGpZiOI7zkzRn3OOBy4BSlVGbL\n11k+ziVaSSnFvy48npE9O/Pnd9axOr/CdCRhUUu2lnHnBxuY0DeOuyeny8VIG/FmVsm3WmultR6o\ntR7c8vVZe4QTrRMS5OT5y4bRPTqM3722Wm6LF7+wpaSaa99YQ+8ukTw1bQhBTrkXz07k0/JTnSKC\neXnGCDxac9Wrq9hb22g6krCIsuoGrnplFaHBTl6aMYIOoS7TkcRRkuL2Yz1jI3j+smEUVtQy8/UM\nmSYo2NfQxG9fy2D3vgZeunI43aPDTEcSrSDF7edGpcbw7ymDWJFXwY1z19Lk9piOJAxpaHJz9Rur\n2VC8l6emDWVgomw/ZldS3AHgvMHduWdyOl9uKuGvMsc7ILk9mlve/J4lW8t58MKBnJoebzqSOAZH\nnA4o/MOMcT3ZU9vIE//bSnS4i9vP6i+zCAKE1po7P9jAp+t3cufZ/bloWKLpSOIYSXEHkJsn9aay\ndj8vLMmjU0Qw106QxfEDwcNfbGbuygKuO7kXvx2fajqOaANS3AFEKcXdk4+jsq6Rh+ZvJjosmOmj\nkk3HEj70wuJcnvl6G9NHJfOn0/qajiPaiBR3gHE4FP+eMojq+ibu+GA9QQ7FxSOSTMcSPvDyt3nc\n91kWZw/sxr3nDZChMT8iFycDkMvp4JlLh3Ji7zj+8u463lxVYDqSaGMvfZvHPz7ZxJkDuvL4JbL1\nmL+R4g5QoS4nz18+jAl947j13fXMWynl7S9eXJLLvZ9s4qzju/LktCG45K5IvyOfaAALdTl57rJh\nnNw3jtveW8+cFVLedvfiklz++WkWZx/fjSemSmn7K/lUA1yoy8lzlzeX9+3vr2f2inzTkUQrvbD4\n/0v78amDpbT9mHyygpCg5vI+pV8X7nh/A898nSM36diI1pqHv8j+8ULkE1Lafk8+XQG0lPdlwzh3\nUAIPzd/MvZ9k4fFIeVtdk9vDbe+u5z+LtjFtZBJPTpWV/gKBTAcUPwoOcvD4JYOJiQzm5aV57N7X\nwMMXDSI4SIrAiuob3dwwdy0LNpVw4ylp/OHUPjLlL0BIcYufcTgUd52TTlyHEB6av5k9tY08e+lQ\nIkLkr4qV7K1r5Hf/zWBVfgV/P/c4rhybYjqSaEdyKiV+QSnFtRPSeOjCgXy7tYzpLyyntKredCzR\nomhPLZc8v4y1hXt4atoQKe0AJMUtDuniEUnMunw4W0trOPfppawrqjQdKeCt2l7BeU8vpbiyjldm\njOScgQmmIwkDpLjFYU1Kj+fda8bidCimPLeMDzOLTUcKWPNWFjD9heVEhbn44LpxnNBbdmQPVFLc\n4oj6d+vIR9ePY1BiNDfNy+ThL7Jlxkk7anJ7uOejjdz23npGp8bw/rXj6BUXaTqWMEiKW3glJjKE\nN347imkjk/jPom3MfH01e+tkH0tf213TwFWvruLV77bzmxN68sqMEUSFyx6RgU6KW3gtOMjB/ecf\nzz2T0/l6cylnPbGENQV7TMfyW99tK+fMJ5awIq+Chy4cyN/OSZc52gKQ4hZHSSnFjHE9efvqMSgF\nU55bxrNfb5OhkzbU5Pbw6IItXPriCiJDg3j/2rGy9K74GSlu0SpDkjvx6Y3jOeO4rjw4P5srX1lJ\nWXWD6Vi2t3NvHdNfWMGT/9vKhUMT+fj6EzguIcp0LGExUtyi1aLCXDw9fQj3n388K/MqOPOJJczf\nsNN0LFvSWvNhZjFnPrGEDTv28tglg/j3lEFy45M4KClucUyUUkwflcxH159Alw4hXP3GGq6dvZrS\narlhx1s7Kuv4zX8zuGleJikxEXxywwmcP0Q29BWHpnyxCtzw4cN1RkZGm7+usLZGt4dZi3N54n9b\nCXM5+ds56Vw4tLusn3EIHo9mzsoCHvg8G7dH86fT+zJjbIrsVhOglFKrtdbDvXquFLdoazmlNdz6\n7jpW5+/hxD5x3DM5nVSZd/wzm3dVc9eHG1iRV8G4tBj+df5AkmPCTccSBklxC+M8Hs3ry/N5aH42\nDU0eLh/Tg5sm9iY6PNh0NKPKqht47KstzFtZQGRIEHec3Z+LhyfJTyVCiltYR1l1A48u2MKbqwro\nEOrixom9uXx0j4BbKra+0c3LS/N4ZtE26hvdXDa6+R+yThGB/Q+Z+H9S3MJysndVcd+nWSzZWk7P\n2AhuOCW449d3AAAHMklEQVSNyYMS/H6nloYmN++vKeaphTkUV9YxqX88fz2rn9yyLn5BiltYktaa\nr7eU8eDn2WTvqiaxUxi/P6kXU4YlEupymo7Xpmr3NzF3ZSEvLM5lV1U9x3eP4rYz+zEuTRaGEgcn\nxS0sTWvNwuxSnl6Uw9qCSmIjQ/jt+J5MHZFk+zHw3TUNzFlRwMtL89hT28jo1M5cOyGN8b1jZRxb\nHJYUt7AFrTXLcyt45usclmwtJzjIwZkDunLJ8CRGp8bgsMm0OLdH821OOW+uKmDBphIa3ZqJ/bpw\n7cm9GNajs+l4wiaOprjltixhjFKKMb1iGNMrhk07qnhzVQHvry3mw8wdJHcO5+LhiUwelECPmAjT\nUQ9qW1kNH2Xu4J3VRRRX1tEp3MUVY1KYOiKJ3vEdTMcTfsyrM26l1BnAE4ATeFFr/cDhni9n3KK1\n6hvdzN+wi3mrClieWwFA7y6RTOwfz6npXRic1MnYDSpNbg+r8/fwVVYJX2WVkle+D4DxvWO5ZEQS\np6bHExLkX2P1ov206VCJUsoJbAFOBYqAVcA0rfWmQ/0eKW7RFgoralmwqYSvskpYmVdBk0cTExHM\nqNTODE6KZkhyJwYkRBEW7Juy3NfQxPrivawtqCSzcA8r8iqorG3E5VSMTo3h1PR4JvaPp3t0mE/e\nXwSWth4qGQnkaK1zW158HnAecMjiFqItJHUO59cn9OTXJ/Rkb10j32wpY2FWCasL9vDZ+l0AOB2K\nfl070Ce+A0mdw0nqFEZS53CSO4fTOSKYkCDHIS8Kaq1paPJQXtNAYUUdhRW1FO6ppbCiluxd1Wwp\nqeaH1Wp7xIRzSr8uTOofz/jesXQIlc0MhDneFHd3oPAn3xcBo3wTR4iDiwpzce6gBM4d1Lw5bnlN\nA5kFlWQWNn+tzKvgg8xiDvwB0qEgPDiIsGAn4cFOtIba/W7q9jdR1+jmwGXEHQq6RYWRGhfBaenx\nDEnuxKCkaDrLjTLCQtrs4qRSaiYwEyA5ObmtXlaIg4qNDGFSejyT0uN/fGx/k4cdlXUU7qmloKKW\nytpG6va7qd3vpnZ/E7X73SgF4cFOwlxBzf8b7KRzRDBJnZrP0rtFh/r9TUHC/rwp7mLgp9tvJLY8\n9jNa61nALGge426TdEIcheAgBymxEaTEWnMWihBtxZtTi1VAb6VUT6VUMDAV+Mi3sYQQQhzKEc+4\ntdZNSqnrgS9ong74stZ6o8+TCSGEOCivxri11p8Bn/k4ixBCCC/IVRghhLAZKW4hhLAZKW4hhLAZ\nKW4hhLAZKW4hhLAZn6zHrZQqA/Jb+dtjgfI2jGOSvxyLvxwHyLFYkb8cBxzbsfTQWsd580SfFPex\nUEpleLtCltX5y7H4y3GAHIsV+ctxQPsdiwyVCCGEzUhxCyGEzVixuGeZDtCG/OVY/OU4QI7Fivzl\nOKCdjsVyY9xCCCEOz4pn3EIIIQ7DksWtlLpXKbVOKZWplPpSKZVgOlNrKKUeVkpltxzL+0qpaNOZ\nWkspNUUptVEp5VFK2W4GgFLqDKXUZqVUjlLqNtN5joVS6mWlVKlSaoPpLMdCKZWklFqklNrU8nfr\nJtOZWkspFaqUWqmU+r7lWP7u0/ez4lCJUqqj1rqq5dc3Aula66sNxzpqSqnTgIUtS+M+CKC1vtVw\nrFZRSvUHPMDzwJ+01rbZDbo1G15bmVLqRKAGeE1rPcB0ntZSSnUDummt1yilOgCrgV/Z8XNRzRub\nRmita5RSLuBb4Cat9XJfvJ8lz7h/KO0WEYD1/nXxgtb6S611U8u3y2nePciWtNZZWuvNpnO00o8b\nXmut9wM/bHhtS1rrxUCF6RzHSmu9U2u9puXX1UAWzXvc2o5uVtPyravly2e9ZcniBlBK3aeUKgQu\nBe4ynacN/Br43HSIAHWwDa9tWRD+SimVAgwBVphN0npKKadSKhMoBRZorX12LMaKWyn1lVJqw0G+\nzgPQWt+htU4CZgPXm8p5JEc6jpbn3AE00XwsluXNsQjR1pRSkcC7wM0H/LRtK1prt9Z6MM0/WY9U\nSvlsGKvNdnk/WlrrSV4+dTbNu+/c7cM4rXak41BKzQDOASZqK15Q+Imj+EzsxqsNr0X7axkPfheY\nrbV+z3SetqC1rlRKLQLOAHxyAdmSQyVKqd4/+fY8INtUlmOhlDoD+Atwrta61nSeACYbXltQywW9\nl4AsrfWjpvMcC6VU3A+zxpRSYTRfCPdZb1l1Vsm7QF+aZzHkA1drrW13hqSUygFCgN0tDy234+wY\nAKXU+cBTQBxQCWRqrU83m8p7SqmzgMf5/w2v7zMcqdWUUnOBCTSvRFcC3K21fsloqFZQSp0ALAHW\n0/zfOsDtLXvc2opSaiDwX5r/fjmAt7TW//DZ+1mxuIUQQhyaJYdKhBBCHJoUtxBC2IwUtxBC2IwU\ntxBC2IwUtxBC2IwUtxBC2IwUtxBC2IwUtxBC2Mz/AbHHGCe52T3ZAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "x = np.arange(-3, 3.01, 0.1)\n", + "y = x ** 2\n", + "plt.plot(x, y)\n", + "plt.plot(2, 4, 'ro')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Variable containing:\n", + " 4\n", + "[torch.FloatTensor of size 1]\n", + "\n" + ] + } + ], + "source": [ + "# 答案\n", + "x = Variable(torch.FloatTensor([2]), requires_grad=True)\n", + "y = x ** 2\n", + "y.backward()\n", + "print(x.grad)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "下一次课程我们将会从导数展开,了解 PyTorch 的自动求导机制" + ] + } + ], + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/0_basic/autograd.ipynb b/2_pytorch/0_basic/autograd.ipynb new file mode 100644 index 0000000..e236fbd --- /dev/null +++ b/2_pytorch/0_basic/autograd.ipynb @@ -0,0 +1,653 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 自动求导\n", + "这次课程我们会了解 PyTorch 中的自动求导机制,自动求导是 PyTorch 中非常重要的特性,能够让我们避免手动去计算非常复杂的导数,这能够极大地减少了我们构建模型的时间,这也是其前身 Torch 这个框架所不具备的特性,下面我们通过例子看看 PyTorch 自动求导的独特魅力以及探究自动求导的更多用法。" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import torch\n", + "from torch.autograd import Variable" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 简单情况的自动求导\n", + "下面我们显示一些简单情况的自动求导,\"简单\"体现在计算的结果都是标量,也就是一个数,我们对这个标量进行自动求导。" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Variable containing:\n", + " 19\n", + "[torch.FloatTensor of size 1]\n", + "\n" + ] + } + ], + "source": [ + "x = Variable(torch.Tensor([2]), requires_grad=True)\n", + "y = x + 2\n", + "z = y ** 2 + 3\n", + "print(z)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "通过上面的一些列操作,我们从 x 得到了最后的结果out,我们可以将其表示为数学公式\n", + "\n", + "$$\n", + "z = (x + 2)^2 + 3\n", + "$$\n", + "\n", + "那么我们从 z 对 x 求导的结果就是 \n", + "\n", + "$$\n", + "\\frac{\\partial z}{\\partial x} = 2 (x + 2) = 2 (2 + 2) = 8\n", + "$$\n", + "如果你对求导不熟悉,可以查看以下[网址进行复习](https://baike.baidu.com/item/%E5%AF%BC%E6%95%B0#1)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Variable containing:\n", + " 8\n", + "[torch.FloatTensor of size 1]\n", + "\n" + ] + } + ], + "source": [ + "# 使用自动求导\n", + "z.backward()\n", + "print(x.grad)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "对于上面这样一个简单的例子,我们验证了自动求导,同时可以发现发现使用自动求导非常方便。如果是一个更加复杂的例子,那么手动求导就会显得非常的麻烦,所以自动求导的机制能够帮助我们省去麻烦的数学计算,下面我们可以看一个更加复杂的例子。" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "x = Variable(torch.randn(10, 20), requires_grad=True)\n", + "y = Variable(torch.randn(10, 5), requires_grad=True)\n", + "w = Variable(torch.randn(20, 5), requires_grad=True)\n", + "\n", + "out = torch.mean(y - torch.matmul(x, w)) # torch.matmul 是做矩阵乘法\n", + "out.backward()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "如果你对矩阵乘法不熟悉,可以查看下面的[网址进行复习](https://baike.baidu.com/item/%E7%9F%A9%E9%98%B5%E4%B9%98%E6%B3%95/5446029?fr=aladdin)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Variable containing:\n", + "\n", + "Columns 0 to 9 \n", + "-0.0600 -0.0242 -0.0514 0.0882 0.0056 -0.0400 -0.0300 -0.0052 -0.0289 -0.0172\n", + "-0.0600 -0.0242 -0.0514 0.0882 0.0056 -0.0400 -0.0300 -0.0052 -0.0289 -0.0172\n", + "-0.0600 -0.0242 -0.0514 0.0882 0.0056 -0.0400 -0.0300 -0.0052 -0.0289 -0.0172\n", + "-0.0600 -0.0242 -0.0514 0.0882 0.0056 -0.0400 -0.0300 -0.0052 -0.0289 -0.0172\n", + "-0.0600 -0.0242 -0.0514 0.0882 0.0056 -0.0400 -0.0300 -0.0052 -0.0289 -0.0172\n", + "-0.0600 -0.0242 -0.0514 0.0882 0.0056 -0.0400 -0.0300 -0.0052 -0.0289 -0.0172\n", + "-0.0600 -0.0242 -0.0514 0.0882 0.0056 -0.0400 -0.0300 -0.0052 -0.0289 -0.0172\n", + "-0.0600 -0.0242 -0.0514 0.0882 0.0056 -0.0400 -0.0300 -0.0052 -0.0289 -0.0172\n", + "-0.0600 -0.0242 -0.0514 0.0882 0.0056 -0.0400 -0.0300 -0.0052 -0.0289 -0.0172\n", + "-0.0600 -0.0242 -0.0514 0.0882 0.0056 -0.0400 -0.0300 -0.0052 -0.0289 -0.0172\n", + "\n", + "Columns 10 to 19 \n", + "-0.0372 0.0144 -0.1074 -0.0363 -0.0189 0.0209 0.0618 0.0435 -0.0591 0.0103\n", + "-0.0372 0.0144 -0.1074 -0.0363 -0.0189 0.0209 0.0618 0.0435 -0.0591 0.0103\n", + "-0.0372 0.0144 -0.1074 -0.0363 -0.0189 0.0209 0.0618 0.0435 -0.0591 0.0103\n", + "-0.0372 0.0144 -0.1074 -0.0363 -0.0189 0.0209 0.0618 0.0435 -0.0591 0.0103\n", + "-0.0372 0.0144 -0.1074 -0.0363 -0.0189 0.0209 0.0618 0.0435 -0.0591 0.0103\n", + "-0.0372 0.0144 -0.1074 -0.0363 -0.0189 0.0209 0.0618 0.0435 -0.0591 0.0103\n", + "-0.0372 0.0144 -0.1074 -0.0363 -0.0189 0.0209 0.0618 0.0435 -0.0591 0.0103\n", + "-0.0372 0.0144 -0.1074 -0.0363 -0.0189 0.0209 0.0618 0.0435 -0.0591 0.0103\n", + "-0.0372 0.0144 -0.1074 -0.0363 -0.0189 0.0209 0.0618 0.0435 -0.0591 0.0103\n", + "-0.0372 0.0144 -0.1074 -0.0363 -0.0189 0.0209 0.0618 0.0435 -0.0591 0.0103\n", + "[torch.FloatTensor of size 10x20]\n", + "\n" + ] + } + ], + "source": [ + "# 得到 x 的梯度\n", + "print(x.grad)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Variable containing:\n", + "1.00000e-02 *\n", + " 2.0000 2.0000 2.0000 2.0000 2.0000\n", + " 2.0000 2.0000 2.0000 2.0000 2.0000\n", + " 2.0000 2.0000 2.0000 2.0000 2.0000\n", + " 2.0000 2.0000 2.0000 2.0000 2.0000\n", + " 2.0000 2.0000 2.0000 2.0000 2.0000\n", + " 2.0000 2.0000 2.0000 2.0000 2.0000\n", + " 2.0000 2.0000 2.0000 2.0000 2.0000\n", + " 2.0000 2.0000 2.0000 2.0000 2.0000\n", + " 2.0000 2.0000 2.0000 2.0000 2.0000\n", + " 2.0000 2.0000 2.0000 2.0000 2.0000\n", + "[torch.FloatTensor of size 10x5]\n", + "\n" + ] + } + ], + "source": [ + "# 得到 y 的的梯度\n", + "print(y.grad)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Variable containing:\n", + " 0.1342 0.1342 0.1342 0.1342 0.1342\n", + " 0.0507 0.0507 0.0507 0.0507 0.0507\n", + " 0.0328 0.0328 0.0328 0.0328 0.0328\n", + "-0.0086 -0.0086 -0.0086 -0.0086 -0.0086\n", + " 0.0734 0.0734 0.0734 0.0734 0.0734\n", + "-0.0042 -0.0042 -0.0042 -0.0042 -0.0042\n", + " 0.0078 0.0078 0.0078 0.0078 0.0078\n", + "-0.0769 -0.0769 -0.0769 -0.0769 -0.0769\n", + " 0.0672 0.0672 0.0672 0.0672 0.0672\n", + " 0.1614 0.1614 0.1614 0.1614 0.1614\n", + "-0.0042 -0.0042 -0.0042 -0.0042 -0.0042\n", + "-0.0970 -0.0970 -0.0970 -0.0970 -0.0970\n", + "-0.0364 -0.0364 -0.0364 -0.0364 -0.0364\n", + "-0.0419 -0.0419 -0.0419 -0.0419 -0.0419\n", + " 0.0134 0.0134 0.0134 0.0134 0.0134\n", + "-0.0251 -0.0251 -0.0251 -0.0251 -0.0251\n", + " 0.0586 0.0586 0.0586 0.0586 0.0586\n", + "-0.0050 -0.0050 -0.0050 -0.0050 -0.0050\n", + " 0.1125 0.1125 0.1125 0.1125 0.1125\n", + "-0.0096 -0.0096 -0.0096 -0.0096 -0.0096\n", + "[torch.FloatTensor of size 20x5]\n", + "\n" + ] + } + ], + "source": [ + "# 得到 w 的梯度\n", + "print(w.grad)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "上面数学公式就更加复杂,矩阵乘法之后对两个矩阵对应元素相乘,然后所有元素求平均,有兴趣的同学可以手动去计算一下梯度,使用 PyTorch 的自动求导,我们能够非常容易得到 x, y 和 w 的导数,因为深度学习中充满大量的矩阵运算,所以我们没有办法手动去求这些导数,有了自动求导能够非常方便地解决网络更新的问题。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 复杂情况的自动求导\n", + "上面我们展示了简单情况下的自动求导,都是对标量进行自动求导,可能你会有一个疑问,如何对一个向量或者矩阵自动求导了呢?感兴趣的同学可以自己先去尝试一下,下面我们会介绍对多维数组的自动求导机制。" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Variable containing:\n", + " 2 3\n", + "[torch.FloatTensor of size 1x2]\n", + "\n", + "Variable containing:\n", + " 0 0\n", + "[torch.FloatTensor of size 1x2]\n", + "\n" + ] + } + ], + "source": [ + "m = Variable(torch.FloatTensor([[2, 3]]), requires_grad=True) # 构建一个 1 x 2 的矩阵\n", + "n = Variable(torch.zeros(1, 2)) # 构建一个相同大小的 0 矩阵\n", + "print(m)\n", + "print(n)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Variable containing:\n", + " 4 27\n", + "[torch.FloatTensor of size 1x2]\n", + "\n" + ] + } + ], + "source": [ + "# 通过 m 中的值计算新的 n 中的值\n", + "n[0, 0] = m[0, 0] ** 2\n", + "n[0, 1] = m[0, 1] ** 3\n", + "print(n)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "将上面的式子写成数学公式,可以得到 \n", + "$$\n", + "n = (n_0,\\ n_1) = (m_0^2,\\ m_1^3) = (2^2,\\ 3^3) \n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "下面我们直接对 n 进行反向传播,也就是求 n 对 m 的导数。\n", + "\n", + "这时我们需要明确这个导数的定义,即如何定义\n", + "\n", + "$$\n", + "\\frac{\\partial n}{\\partial m} = \\frac{\\partial (n_0,\\ n_1)}{\\partial (m_0,\\ m_1)}\n", + "$$\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "在 PyTorch 中,如果要调用自动求导,需要往`backward()`中传入一个参数,这个参数的形状和 n 一样大,比如是 $(w_0,\\ w_1)$,那么自动求导的结果就是:\n", + "$$\n", + "\\frac{\\partial n}{\\partial m_0} = w_0 \\frac{\\partial n_0}{\\partial m_0} + w_1 \\frac{\\partial n_1}{\\partial m_0}\n", + "$$\n", + "$$\n", + "\\frac{\\partial n}{\\partial m_1} = w_0 \\frac{\\partial n_0}{\\partial m_1} + w_1 \\frac{\\partial n_1}{\\partial m_1}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "n.backward(torch.ones_like(n)) # 将 (w0, w1) 取成 (1, 1)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Variable containing:\n", + " 4 27\n", + "[torch.FloatTensor of size 1x2]\n", + "\n" + ] + } + ], + "source": [ + "print(m.grad)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "通过自动求导我们得到了梯度是 4 和 27,我们可以验算一下\n", + "$$\n", + "\\frac{\\partial n}{\\partial m_0} = w_0 \\frac{\\partial n_0}{\\partial m_0} + w_1 \\frac{\\partial n_1}{\\partial m_0} = 2 m_0 + 0 = 2 \\times 2 = 4\n", + "$$\n", + "$$\n", + "\\frac{\\partial n}{\\partial m_1} = w_0 \\frac{\\partial n_0}{\\partial m_1} + w_1 \\frac{\\partial n_1}{\\partial m_1} = 0 + 3 m_1^2 = 3 \\times 3^2 = 27\n", + "$$\n", + "通过验算我们可以得到相同的结果" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 多次自动求导\n", + "通过调用 backward 我们可以进行一次自动求导,如果我们再调用一次 backward,会发现程序报错,没有办法再做一次。这是因为 PyTorch 默认做完一次自动求导之后,计算图就被丢弃了,所以两次自动求导需要手动设置一个东西,我们通过下面的小例子来说明。" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Variable containing:\n", + " 18\n", + "[torch.FloatTensor of size 1]\n", + "\n" + ] + } + ], + "source": [ + "x = Variable(torch.FloatTensor([3]), requires_grad=True)\n", + "y = x * 2 + x ** 2 + 3\n", + "print(y)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "y.backward(retain_graph=True) # 设置 retain_graph 为 True 来保留计算图" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Variable containing:\n", + " 8\n", + "[torch.FloatTensor of size 1]\n", + "\n" + ] + } + ], + "source": [ + "print(x.grad)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "y.backward() # 再做一次自动求导,这次不保留计算图" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Variable containing:\n", + " 16\n", + "[torch.FloatTensor of size 1]\n", + "\n" + ] + } + ], + "source": [ + "print(x.grad)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以发现 x 的梯度变成了 16,因为这里做了两次自动求导,所以讲第一次的梯度 8 和第二次的梯度 8 加起来得到了 16 的结果。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**小练习**\n", + "\n", + "定义\n", + "\n", + "$$\n", + "x = \n", + "\\left[\n", + "\\begin{matrix}\n", + "x_0 \\\\\n", + "x_1\n", + "\\end{matrix}\n", + "\\right] = \n", + "\\left[\n", + "\\begin{matrix}\n", + "2 \\\\\n", + "3\n", + "\\end{matrix}\n", + "\\right]\n", + "$$\n", + "\n", + "$$\n", + "k = (k_0,\\ k_1) = (x_0^2 + 3 x_1,\\ 2 x_0 + x_1^2)\n", + "$$\n", + "\n", + "我们希望求得\n", + "\n", + "$$\n", + "j = \\left[\n", + "\\begin{matrix}\n", + "\\frac{\\partial k_0}{\\partial x_0} & \\frac{\\partial k_0}{\\partial x_1} \\\\\n", + "\\frac{\\partial k_1}{\\partial x_0} & \\frac{\\partial k_1}{\\partial x_1}\n", + "\\end{matrix}\n", + "\\right]\n", + "$$\n", + "\n", + "参考答案:\n", + "\n", + "$$\n", + "\\left[\n", + "\\begin{matrix}\n", + "4 & 3 \\\\\n", + "2 & 6 \\\\\n", + "\\end{matrix}\n", + "\\right]\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "x = Variable(torch.FloatTensor([2, 3]), requires_grad=True)\n", + "k = Variable(torch.zeros(2))\n", + "\n", + "k[0] = x[0] ** 2 + 3 * x[1]\n", + "k[1] = x[1] ** 2 + 2 * x[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Variable containing:\n", + " 13\n", + " 13\n", + "[torch.FloatTensor of size 2]\n", + "\n" + ] + } + ], + "source": [ + "print(k)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "j = torch.zeros(2, 2)\n", + "\n", + "k.backward(torch.FloatTensor([1, 0]), retain_graph=True)\n", + "j[0] = x.grad.data\n", + "\n", + "x.grad.data.zero_() # 归零之前求得的梯度\n", + "\n", + "k.backward(torch.FloatTensor([0, 1]))\n", + "j[1] = x.grad.data" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + " 4 3\n", + " 2 6\n", + "[torch.FloatTensor of size 2x2]\n", + "\n" + ] + } + ], + "source": [ + "print(j)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "下一次课我们会介绍两种神经网络的编程方式,动态图编程和静态图编程" + ] + } + ], + "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.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/0_basic/dynamic-graph.ipynb b/2_pytorch/0_basic/dynamic-graph.ipynb new file mode 100644 index 0000000..6669abd --- /dev/null +++ b/2_pytorch/0_basic/dynamic-graph.ipynb @@ -0,0 +1,205 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 动态图和静态图\n", + "目前神经网络框架分为静态图框架和动态图框架,PyTorch 和 TensorFlow、Caffe 等框架最大的区别就是他们拥有不同的计算图表现形式。 TensorFlow 使用静态图,这意味着我们先定义计算图,然后不断使用它,而在 PyTorch 中,每次都会重新构建一个新的计算图。通过这次课程,我们会了解静态图和动态图之间的优缺点。\n", + "\n", + "对于使用者来说,两种形式的计算图有着非常大的区别,同时静态图和动态图都有他们各自的优点,比如动态图比较方便debug,使用者能够用任何他们喜欢的方式进行debug,同时非常直观,而静态图是通过先定义后运行的方式,之后再次运行的时候就不再需要重新构建计算图,所以速度会比动态图更快。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![](https://ws3.sinaimg.cn/large/006tNc79ly1fmai482qumg30rs0fmq6e.gif)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "下面我们比较 while 循环语句在 TensorFlow 和 PyTorch 中的定义" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## TensorFlow" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# tensorflow\n", + "import tensorflow as tf\n", + "\n", + "first_counter = tf.constant(0)\n", + "second_counter = tf.constant(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def cond(first_counter, second_counter, *args):\n", + " return first_counter < second_counter\n", + "\n", + "def body(first_counter, second_counter):\n", + " first_counter = tf.add(first_counter, 2)\n", + " second_counter = tf.add(second_counter, 1)\n", + " return first_counter, second_counter" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "c1, c2 = tf.while_loop(cond, body, [first_counter, second_counter])" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "with tf.Session() as sess:\n", + " counter_1_res, counter_2_res = sess.run([c1, c2])" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "20\n", + "20\n" + ] + } + ], + "source": [ + "print(counter_1_res)\n", + "print(counter_2_res)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到 TensorFlow 需要将整个图构建成静态的,换句话说,每次运行的时候图都是一样的,是不能够改变的,所以不能直接使用 Python 的 while 循环语句,需要使用辅助函数 `tf.while_loop` 写成 TensorFlow 内部的形式\n", + "\n", + "这是非常反直觉的,学习成本也是比较高的\n", + "\n", + "下面我们来看看 PyTorch 的动态图机制,这使得我们能够使用 Python 的 while 写循环,非常方便" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PyTorch" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# pytorch\n", + "import torch\n", + "first_counter = torch.Tensor([0])\n", + "second_counter = torch.Tensor([10])" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "while (first_counter < second_counter)[0]:\n", + " first_counter += 2\n", + " second_counter += 1" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + " 20\n", + "[torch.FloatTensor of size 1]\n", + "\n", + "\n", + " 20\n", + "[torch.FloatTensor of size 1]\n", + "\n" + ] + } + ], + "source": [ + "print(first_counter)\n", + "print(second_counter)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到 PyTorch 的写法跟 Python 的写法是完全一致的,没有任何额外的学习成本\n", + "\n", + "上面的例子展示如何使用静态图和动态图构建 while 循环,看起来动态图的方式更加简单且直观,你觉得呢?" + ] + } + ], + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/0_basic/imgs/autograd_Variable.png b/2_pytorch/0_basic/imgs/autograd_Variable.png new file mode 100644 index 0000000000000000000000000000000000000000..6576cc8704ec2be6429c3a844a3740b4bb0b9c60 GIT binary patch literal 4477 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 P00000NkvXXu0mjfU-P +
data
[Not supported by viewer]
grad
[Not supported by viewer]
grad_fn
[Not supported by viewer]
autograd.Variable
[Not supported by viewer]
\ No newline at end of file diff --git a/2_pytorch/0_basic/imgs/com_graph.svg b/2_pytorch/0_basic/imgs/com_graph.svg new file mode 100644 index 0000000..65c037b --- /dev/null +++ b/2_pytorch/0_basic/imgs/com_graph.svg @@ -0,0 +1,2 @@ + +
X
[Not supported by viewer]
z
[Not supported by viewer]
y
[Not supported by viewer]
b
[Not supported by viewer]
MUL
[Not supported by viewer]
W
[Not supported by viewer]
Add
[Not supported by viewer]
\ No newline at end of file diff --git a/2_pytorch/0_basic/imgs/com_graph_backward.svg b/2_pytorch/0_basic/imgs/com_graph_backward.svg new file mode 100644 index 0000000..f01f536 --- /dev/null +++ b/2_pytorch/0_basic/imgs/com_graph_backward.svg @@ -0,0 +1,2 @@ + +
dX
[Not supported by viewer]
dz
[Not supported by viewer]
dy
[Not supported by viewer]
db
[Not supported by viewer]
mulBackward
[Not supported by viewer]
dW
[Not supported by viewer]
addBackward
[Not supported by viewer]
\ No newline at end of file diff --git a/2_pytorch/0_basic/imgs/tensor_data_structure.svg b/2_pytorch/0_basic/imgs/tensor_data_structure.svg new file mode 100644 index 0000000..33ad624 --- /dev/null +++ b/2_pytorch/0_basic/imgs/tensor_data_structure.svg @@ -0,0 +1,2 @@ + +
Tensor A
Tensor A
+ Long: *size
+ Long: *size
+ Long: *stride
+ Long: *stride
+ int:  nDimention
+ int: &nbsp;nDimention
+ ptr: storageOffset
+ ptr: storageOffset
+ char: flag
+ char: flag
+ Storage: *storage
+ Storage: *storage
Storage
Storage
+ Long: *size
+ Long: *size
+ char: flag
+ char: flag


+      real: *data
[Not supported by viewer]
Tensor B
Tensor B
+ Long: *size
+ Long: *size
+ Long: *stride
+ Long: *stride
+ int:  nDimention
+ int: &nbsp;nDimention
+ ptr: storageOffset
+ ptr: storageOffset
+ char: flag
+ char: flag
+ Storage: *storage
+ Storage: *storage
\ No newline at end of file diff --git a/2_pytorch/0_basic/ref_Autograd.ipynb b/2_pytorch/0_basic/ref_Autograd.ipynb new file mode 100644 index 0000000..533fab6 --- /dev/null +++ b/2_pytorch/0_basic/ref_Autograd.ipynb @@ -0,0 +1,1554 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 3.2 autograd\n", + "\n", + "用Tensor训练网络很方便,但从上一小节最后的线性回归例子来看,反向传播过程需要手动实现。这对于像线性回归等较为简单的模型来说,还可以应付,但实际使用中经常出现非常复杂的网络结构,此时如果手动实现反向传播,不仅费时费力,而且容易出错,难以检查。torch.autograd就是为方便用户使用,而专门开发的一套自动求导引擎,它能够根据输入和前向传播过程自动构建计算图,并执行反向传播。\n", + "\n", + "计算图(Computation Graph)是现代深度学习框架如PyTorch和TensorFlow等的核心,其为高效自动求导算法——反向传播(Back Propogation)提供了理论支持,了解计算图在实际写程序过程中会有极大的帮助。本节将涉及一些基础的计算图知识,但并不要求读者事先对此有深入的了解。关于计算图的基础知识推荐阅读Christopher Olah的文章[^1]。\n", + "\n", + "[^1]: http://colah.github.io/posts/2015-08-Backprop/\n", + "\n", + "\n", + "### 3.2.1 Variable\n", + "PyTorch在autograd模块中实现了计算图的相关功能,autograd中的核心数据结构是Variable。Variable封装了tensor,并记录对tensor的操作记录用来构建计算图。Variable的数据结构如图3-2所示,主要包含三个属性:\n", + "\n", + "- `data`:保存variable所包含的tensor\n", + "- `grad`:保存`data`对应的梯度,`grad`也是variable,而不是tensor,它与`data`形状一致。 \n", + "- `grad_fn`: 指向一个`Function`,记录tensor的操作历史,即它是什么操作的输出,用来构建计算图。如果某一个变量是由用户创建,则它为叶子节点,对应的grad_fn等于None。\n", + "\n", + "\n", + "![图3-2:Variable数据结构](imgs/autograd_Variable.png)\n", + "\n", + "Variable的构造函数需要传入tensor,同时有两个可选参数:\n", + "- `requires_grad (bool)`:是否需要对该variable进行求导\n", + "- `volatile (bool)`:意为”挥发“,设置为True,则构建在该variable之上的图都不会求导,专为推理阶段设计\n", + "\n", + "Variable提供了大部分tensor支持的函数,但其不支持部分`inplace`函数,因这些函数会修改tensor自身,而在反向传播中,variable需要缓存原来的tensor来计算反向传播梯度。如果想要计算各个Variable的梯度,只需调用根节点variable的`backward`方法,autograd会自动沿着计算图反向传播,计算每一个叶子节点的梯度。\n", + "\n", + "`variable.backward(grad_variables=None, retain_graph=None, create_graph=None)`主要有如下参数:\n", + "\n", + "- grad_variables:形状与variable一致,对于`y.backward()`,grad_variables相当于链式法则${dz \\over dx}={dz \\over dy} \\times {dy \\over dx}$中的$\\textbf {dz} \\over \\textbf {dy}$。grad_variables也可以是tensor或序列。\n", + "- retain_graph:反向传播需要缓存一些中间结果,反向传播之后,这些缓存就被清空,可通过指定这个参数不清空缓存,用来多次反向传播。\n", + "- create_graph:对反向传播过程再次构建计算图,可通过`backward of backward`实现求高阶导数。\n", + "\n", + "上述描述可能比较抽象,如果没有看懂,不用着急,会在本节后半部分详细介绍,下面先看几个例子。" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from __future__ import print_function\n", + "import torch as t\n", + "from torch.autograd import Variable as V" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Variable containing:\n", + " 1 1 1 1\n", + " 1 1 1 1\n", + " 1 1 1 1\n", + "[torch.FloatTensor of size 3x4]" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 从tensor中创建variable,指定需要求导\n", + "a = V(t.ones(3,4), requires_grad = True) \n", + "a" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Variable containing:\n", + " 0 0 0 0\n", + " 0 0 0 0\n", + " 0 0 0 0\n", + "[torch.FloatTensor of size 3x4]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "b = V(t.zeros(3,4))\n", + "b" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Variable containing:\n", + " 1 1 1 1\n", + " 1 1 1 1\n", + " 1 1 1 1\n", + "[torch.FloatTensor of size 3x4]" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 函数的使用与tensor一致\n", + "# 也可写成c = a + b\n", + "c = a.add(b)\n", + "c" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "d = c.sum()\n", + "d.backward() # 反向传播" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(12.0, Variable containing:\n", + " 12\n", + " [torch.FloatTensor of size 1])" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 注意二者的区别\n", + "# 前者在取data后变为tensor,而后从tensor计算sum得到float\n", + "# 后者计算sum后仍然是Variable\n", + "c.data.sum(), c.sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Variable containing:\n", + " 1 1 1 1\n", + " 1 1 1 1\n", + " 1 1 1 1\n", + "[torch.FloatTensor of size 3x4]" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a.grad" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(True, False, True)" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 此处虽然没有指定c需要求导,但c依赖于a,而a需要求导,\n", + "# 因此c的requires_grad属性会自动设为True\n", + "a.requires_grad, b.requires_grad, c.requires_grad" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(True, True, False)" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 由用户创建的variable属于叶子节点,对应的grad_fn是None\n", + "a.is_leaf, b.is_leaf, c.is_leaf" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# c.grad是None, 因c不是叶子节点,它的梯度是用来计算a的梯度\n", + "# 所以虽然c.requires_grad = True,但其梯度计算完之后即被释放\n", + "c.grad is None" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "计算下面这个函数的导函数:\n", + "$$\n", + "y = x^2\\bullet e^x\n", + "$$\n", + "它的导函数是:\n", + "$$\n", + "{dy \\over dx} = 2x\\bullet e^x + x^2 \\bullet e^x\n", + "$$\n", + "来看看autograd的计算结果与手动求导计算结果的误差。" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "def f(x):\n", + " '''计算y'''\n", + " y = x**2 * t.exp(x)\n", + " return y\n", + "\n", + "def gradf(x):\n", + " '''手动求导函数'''\n", + " dx = 2*x*t.exp(x) + x**2*t.exp(x)\n", + " return dx" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Variable containing:\n", + " 7.8454 0.4475 5.5884 0.1406\n", + " 0.4044 0.5008 0.4989 13.3268\n", + " 0.3547 0.0623 1.0497 4.2674\n", + "[torch.FloatTensor of size 3x4]" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = V(t.randn(3,4), requires_grad = True)\n", + "y = f(x)\n", + "y" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Variable containing:\n", + " 19.0962 2.1796 14.4631 1.0203\n", + " -0.3276 0.1172 -0.1745 29.7573\n", + " 1.8619 -0.3699 3.9812 11.6386\n", + "[torch.FloatTensor of size 3x4]" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y.backward(t.ones(y.size())) # grad_variables形状与y一致\n", + "x.grad" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Variable containing:\n", + " 19.0962 2.1796 14.4631 1.0203\n", + " -0.3276 0.1172 -0.1745 29.7573\n", + " 1.8619 -0.3699 3.9812 11.6386\n", + "[torch.FloatTensor of size 3x4]" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# autograd的计算结果与利用公式手动计算的结果一致\n", + "gradf(x) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.2.2 计算图\n", + "\n", + "PyTorch中`autograd`的底层采用了计算图,计算图是一种特殊的有向无环图(DAG),用于记录算子与变量之间的关系。一般用矩形表示算子,椭圆形表示变量。如表达式$ \\textbf {z = wx + b}$可分解为$\\textbf{y = wx}$和$\\textbf{z = y + b}$,其计算图如图3-3所示,图中`MUL`,`ADD`都是算子,$\\textbf{w}$,$\\textbf{x}$,$\\textbf{b}$即变量。\n", + "\n", + "![图3-3:computation graph](imgs/com_graph.svg)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "如上有向无环图中,$\\textbf{X}$和$\\textbf{b}$是叶子节点(leaf node),这些节点通常由用户自己创建,不依赖于其他变量。$\\textbf{z}$称为根节点,是计算图的最终目标。利用链式法则很容易求得各个叶子节点的梯度。\n", + "$${\\partial z \\over \\partial b} = 1,\\space {\\partial z \\over \\partial y} = 1\\\\\n", + "{\\partial y \\over \\partial w }= x,{\\partial y \\over \\partial x}= w\\\\\n", + "{\\partial z \\over \\partial x}= {\\partial z \\over \\partial y} {\\partial y \\over \\partial x}=1 * w\\\\\n", + "{\\partial z \\over \\partial w}= {\\partial z \\over \\partial y} {\\partial y \\over \\partial w}=1 * x\\\\\n", + "$$\n", + "而有了计算图,上述链式求导即可利用计算图的反向传播自动完成,其过程如图3-4所示。\n", + "\n", + "![图3-4:计算图的反向传播](imgs/com_graph_backward.svg)\n", + "\n", + "\n", + "在PyTorch实现中,autograd会随着用户的操作,记录生成当前variable的所有操作,并由此建立一个有向无环图。用户每进行一个操作,相应的计算图就会发生改变。更底层的实现中,图中记录了操作`Function`,每一个变量在图中的位置可通过其`grad_fn`属性在图中的位置推测得到。在反向传播过程中,autograd沿着这个图从当前变量(根节点$\\textbf{z}$)溯源,可以利用链式求导法则计算所有叶子节点的梯度。每一个前向传播操作的函数都有与之对应的反向传播函数用来计算输入的各个variable的梯度,这些函数的函数名通常以`Backward`结尾。下面结合代码学习autograd的实现细节。" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "x = V(t.ones(1))\n", + "b = V(t.rand(1), requires_grad = True)\n", + "w = V(t.rand(1), requires_grad = True)\n", + "y = w * x # 等价于y=w.mul(x)\n", + "z = y + b # 等价于z=y.add(b)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(False, True, True)" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x.requires_grad, b.requires_grad, w.requires_grad" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 虽然未指定y.requires_grad为True,但由于y依赖于需要求导的w\n", + "# 故而y.requires_grad为True\n", + "y.requires_grad" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(True, True, True)" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x.is_leaf, w.is_leaf, b.is_leaf" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(False, False)" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y.is_leaf, z.is_leaf" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# grad_fn可以查看这个variable的反向传播函数,\n", + "# z是add函数的输出,所以它的反向传播函数是AddBackward\n", + "z.grad_fn " + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "((, 0),\n", + " (, 0))" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# next_functions保存grad_fn的输入,是一个tuple,tuple的元素也是Function\n", + "# 第一个是y,它是乘法(mul)的输出,所以对应的反向传播函数y.grad_fn是MulBackward\n", + "# 第二个是b,它是叶子节点,由用户创建,grad_fn为None,但是有\n", + "z.grad_fn.next_functions " + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# variable的grad_fn对应着和图中的function相对应\n", + "z.grad_fn.next_functions[0][0] == y.grad_fn" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "((, 0), (None, 0))" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 第一个是w,叶子节点,需要求导,梯度是累加的\n", + "# 第二个是x,叶子节点,不需要求导,所以为None\n", + "y.grad_fn.next_functions" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(None, None)" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 叶子节点的grad_fn是None\n", + "w.grad_fn,x.grad_fn" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "计算w的梯度的时候,需要用到x的数值(${\\partial y\\over \\partial w} = x $),这些数值在前向过程中会保存成buffer,在计算完梯度之后会自动清空。为了能够多次反向传播需要指定`retain_graph`来保留这些buffer。" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Variable containing:\n", + " 1\n", + "[torch.FloatTensor of size 1]" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 使用retain_graph来保存buffer\n", + "z.backward(retain_graph=True)\n", + "w.grad" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Variable containing:\n", + " 2\n", + "[torch.FloatTensor of size 1]" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 多次反向传播,梯度累加,这也就是w中AccumulateGrad标识的含义\n", + "z.backward()\n", + "w.grad" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "PyTorch使用的是动态图,它的计算图在每次前向传播时都是从头开始构建,所以它能够使用Python控制语句(如for、if等)根据需求创建计算图。这点在自然语言处理领域中很有用,它意味着你不需要事先构建所有可能用到的图的路径,图在运行时才构建。" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Variable containing:\n", + " 1\n", + "[torch.FloatTensor of size 1]" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def abs(x):\n", + " if x.data[0]>0: return x\n", + " else: return -x\n", + "x = V(t.ones(1),requires_grad=True)\n", + "y = abs(x)\n", + "y.backward()\n", + "x.grad" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Variable containing:\n", + "-1\n", + "[torch.FloatTensor of size 1]\n", + "\n" + ] + } + ], + "source": [ + "x = V(-1*t.ones(1),requires_grad=True)\n", + "y = abs(x)\n", + "y.backward()\n", + "print(x.grad)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Variable containing:\n", + " 0\n", + " 0\n", + " 0\n", + " 6\n", + " 3\n", + " 2\n", + "[torch.FloatTensor of size 6]" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def f(x):\n", + " result = 1\n", + " for ii in x:\n", + " if ii.data[0]>0: result=ii*result\n", + " return result\n", + "x = V(t.arange(-2,4),requires_grad=True)\n", + "y = f(x) # y = x[3]*x[4]*x[5]\n", + "y.backward()\n", + "x.grad" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "变量的`requires_grad`属性默认为False,如果某一个节点requires_grad被设置为True,那么所有依赖它的节点`requires_grad`都是True。这其实很好理解,对于$ \\textbf{x}\\to \\textbf{y} \\to \\textbf{z}$,x.requires_grad = True,当需要计算$\\partial z \\over \\partial x$时,根据链式法则,$\\frac{\\partial z}{\\partial x} = \\frac{\\partial z}{\\partial y} \\frac{\\partial y}{\\partial x}$,自然也需要求$ \\frac{\\partial z}{\\partial y}$,所以y.requires_grad会被自动标为True. \n", + "\n", + "`volatile=True`是另外一个很重要的标识,它能够将所有依赖于它的节点全部都设为`volatile=True`,其优先级比`requires_grad=True`高。`volatile=True`的节点不会求导,即使`requires_grad=True`,也无法进行反向传播。对于不需要反向传播的情景(如inference,即测试推理时),该参数可实现一定程度的速度提升,并节省约一半显存,因其不需要分配空间计算梯度。" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(False, True, True)" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = V(t.ones(1))\n", + "w = V(t.rand(1), requires_grad=True)\n", + "y = x * w\n", + "# y依赖于w,而w.requires_grad = True\n", + "x.requires_grad, w.requires_grad, y.requires_grad" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(False, True, False)" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = V(t.ones(1), volatile=True)\n", + "w = V(t.rand(1), requires_grad = True)\n", + "y = x * w\n", + "# y依赖于w和x,但x.volatile = True,w.requires_grad = True\n", + "x.requires_grad, w.requires_grad, y.requires_grad" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(True, False, True)" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x.volatile, w.volatile, y.volatile" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "在反向传播过程中非叶子节点的导数计算完之后即被清空。若想查看这些变量的梯度,有两种方法:\n", + "- 使用autograd.grad函数\n", + "- 使用hook\n", + "\n", + "`autograd.grad`和`hook`方法都是很强大的工具,更详细的用法参考官方api文档,这里举例说明基础的使用。推荐使用`hook`方法,但是在实际使用中应尽量避免修改grad的值。" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(True, True, True)" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = V(t.ones(3), requires_grad=True)\n", + "w = V(t.rand(3), requires_grad=True)\n", + "y = x * w\n", + "# y依赖于w,而w.requires_grad = True\n", + "z = y.sum()\n", + "x.requires_grad, w.requires_grad, y.requires_grad" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(Variable containing:\n", + " 0.3776\n", + " 0.1184\n", + " 0.8554\n", + " [torch.FloatTensor of size 3], Variable containing:\n", + " 1\n", + " 1\n", + " 1\n", + " [torch.FloatTensor of size 3], None)" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 非叶子节点grad计算完之后自动清空,y.grad是None\n", + "z.backward()\n", + "(x.grad, w.grad, y.grad)" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(Variable containing:\n", + " 1\n", + " 1\n", + " 1\n", + " [torch.FloatTensor of size 3],)" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 第一种方法:使用grad获取中间变量的梯度\n", + "x = V(t.ones(3), requires_grad=True)\n", + "w = V(t.rand(3), requires_grad=True)\n", + "y = x * w\n", + "z = y.sum()\n", + "# z对y的梯度,隐式调用backward()\n", + "t.autograd.grad(z, y)" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "y的梯度: \n", + " Variable containing:\n", + " 1\n", + " 1\n", + " 1\n", + "[torch.FloatTensor of size 3]\n", + "\n" + ] + } + ], + "source": [ + "# 第二种方法:使用hook\n", + "# hook是一个函数,输入是梯度,不应该有返回值\n", + "def variable_hook(grad):\n", + " print('y的梯度: \\r\\n',grad)\n", + "\n", + "x = V(t.ones(3), requires_grad=True)\n", + "w = V(t.rand(3), requires_grad=True)\n", + "y = x * w\n", + "# 注册hook\n", + "hook_handle = y.register_hook(variable_hook)\n", + "z = y.sum()\n", + "z.backward()\n", + "\n", + "# 除非你每次都要用hook,否则用完之后记得移除hook\n", + "hook_handle.remove()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "最后再来看看variable中grad属性和backward函数`grad_variables`参数的含义,这里直接下结论:\n", + "\n", + "- variable $\\textbf{x}$的梯度是目标函数${f(x)} $对$\\textbf{x}$的梯度,$\\frac{df(x)}{dx} = (\\frac {df(x)}{dx_0},\\frac {df(x)}{dx_1},...,\\frac {df(x)}{dx_N})$,形状和$\\textbf{x}$一致。\n", + "- 对于y.backward(grad_variables)中的grad_variables相当于链式求导法则中的$\\frac{\\partial z}{\\partial x} = \\frac{\\partial z}{\\partial y} \\frac{\\partial y}{\\partial x}$中的$\\frac{\\partial z}{\\partial y}$。z是目标函数,一般是一个标量,故而$\\frac{\\partial z}{\\partial y}$的形状与variable $\\textbf{y}$的形状一致。`z.backward()`在一定程度上等价于y.backward(grad_y)。`z.backward()`省略了grad_variables参数,是因为$z$是一个标量,而$\\frac{\\partial z}{\\partial z} = 1$" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Variable containing:\n", + " 2\n", + " 4\n", + " 6\n", + "[torch.FloatTensor of size 3]" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = V(t.arange(0,3), requires_grad=True)\n", + "y = x**2 + x*2\n", + "z = y.sum()\n", + "z.backward() # 从z开始反向传播\n", + "x.grad" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Variable containing:\n", + " 2\n", + " 4\n", + " 6\n", + "[torch.FloatTensor of size 3]" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = V(t.arange(0,3), requires_grad=True)\n", + "y = x**2 + x*2\n", + "z = y.sum()\n", + "y_grad_variables = V(t.Tensor([1,1,1])) # dz/dy\n", + "y.backward(y_grad_variables) #从y开始反向传播\n", + "x.grad" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "另外值得注意的是,只有对variable的操作才能使用autograd,如果对variable的data直接进行操作,将无法使用反向传播。除了对参数初始化,一般我们不会修改variable.data的值。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "在PyTorch中计算图的特点可总结如下:\n", + "\n", + "- autograd根据用户对variable的操作构建其计算图。对变量的操作抽象为`Function`。\n", + "- 对于那些不是任何函数(Function)的输出,由用户创建的节点称为叶子节点,叶子节点的`grad_fn`为None。叶子节点中需要求导的variable,具有`AccumulateGrad`标识,因其梯度是累加的。\n", + "- variable默认是不需要求导的,即`requires_grad`属性默认为False,如果某一个节点requires_grad被设置为True,那么所有依赖它的节点`requires_grad`都为True。\n", + "- variable的`volatile`属性默认为False,如果某一个variable的`volatile`属性被设为True,那么所有依赖它的节点`volatile`属性都为True。volatile属性为True的节点不会求导,volatile的优先级比`requires_grad`高。\n", + "- 多次反向传播时,梯度是累加的。反向传播的中间缓存会被清空,为进行多次反向传播需指定`retain_graph`=True来保存这些缓存。\n", + "- 非叶子节点的梯度计算完之后即被清空,可以使用`autograd.grad`或`hook`技术获取非叶子节点的值。\n", + "- variable的grad与data形状一致,应避免直接修改variable.data,因为对data的直接操作无法利用autograd进行反向传播\n", + "- 反向传播函数`backward`的参数`grad_variables`可以看成链式求导的中间结果,如果是标量,可以省略,默认为1\n", + "- PyTorch采用动态图设计,可以很方便地查看中间层的输出,动态的设计计算图结构。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.2.3 扩展autograd\n", + "\n", + "\n", + "目前绝大多数函数都可以使用`autograd`实现反向求导,但如果需要自己写一个复杂的函数,不支持自动反向求导怎么办? 写一个`Function`,实现它的前向传播和反向传播代码,`Function`对应于计算图中的矩形, 它接收参数,计算并返回结果。下面给出一个例子。\n", + "\n", + "```python\n", + "\n", + "class Mul(Function):\n", + " \n", + " @staticmethod\n", + " def forward(ctx, w, x, b, x_requires_grad = True):\n", + " ctx.x_requires_grad = x_requires_grad\n", + " ctx.save_for_backward(w,x)\n", + " output = w * x + b\n", + " return output\n", + " \n", + " @staticmethod\n", + " def backward(ctx, grad_output):\n", + " w,x = ctx.saved_variables\n", + " grad_w = grad_output * x\n", + " if ctx.x_requires_grad:\n", + " grad_x = grad_output * w\n", + " else:\n", + " grad_x = None\n", + " grad_b = grad_output * 1\n", + " return grad_w, grad_x, grad_b, None\n", + "```\n", + "\n", + "分析如下:\n", + "\n", + "- 自定义的Function需要继承autograd.Function,没有构造函数`__init__`,forward和backward函数都是静态方法\n", + "- forward函数的输入和输出都是Tensor,backward函数的输入和输出都是Variable\n", + "- backward函数的输出和forward函数的输入一一对应,backward函数的输入和forward函数的输出一一对应\n", + "- backward函数的grad_output参数即t.autograd.backward中的`grad_variables`\n", + "- 如果某一个输入不需要求导,直接返回None,如forward中的输入参数x_requires_grad显然无法对它求导,直接返回None即可\n", + "- 反向传播可能需要利用前向传播的某些中间结果,需要进行保存,否则前向传播结束后这些对象即被释放\n", + "\n", + "Function的使用利用Function.apply(variable)" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [], + "source": [ + "from torch.autograd import Function\n", + "class MultiplyAdd(Function):\n", + " \n", + " @staticmethod\n", + " def forward(ctx, w, x, b): \n", + " print('type in forward',type(x))\n", + " ctx.save_for_backward(w,x)\n", + " output = w * x + b\n", + " return output\n", + " \n", + " @staticmethod\n", + " def backward(ctx, grad_output): \n", + " w,x = ctx.saved_variables\n", + " print('type in backward',type(x))\n", + " grad_w = grad_output * x\n", + " grad_x = grad_output * w\n", + " grad_b = grad_output * 1\n", + " return grad_w, grad_x, grad_b " + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "开始前向传播\n", + "type in backwardtype in forward \n", + "\n", + "开始反向传播\n" + ] + }, + { + "data": { + "text/plain": [ + "(None, Variable containing:\n", + " 1\n", + " [torch.FloatTensor of size 1], Variable containing:\n", + " 1\n", + " [torch.FloatTensor of size 1])" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = V(t.ones(1))\n", + "w = V(t.rand(1), requires_grad = True)\n", + "b = V(t.rand(1), requires_grad = True)\n", + "print('开始前向传播')\n", + "z=MultiplyAdd.apply(w, x, b)\n", + "print('开始反向传播')\n", + "z.backward()\n", + "\n", + "# x不需要求导,中间过程还是会计算它的导数,但随后被清空\n", + "x.grad, w.grad, b.grad" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "开始前向传播\n", + "type in forward \n", + "开始反向传播\n", + "type in backward \n" + ] + }, + { + "data": { + "text/plain": [ + "(Variable containing:\n", + " 1\n", + " [torch.FloatTensor of size 1], Variable containing:\n", + " 0.9633\n", + " [torch.FloatTensor of size 1], Variable containing:\n", + " 1\n", + " [torch.FloatTensor of size 1])" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = V(t.ones(1))\n", + "w = V(t.rand(1), requires_grad = True)\n", + "b = V(t.rand(1), requires_grad = True)\n", + "print('开始前向传播')\n", + "z=MultiplyAdd.apply(w,x,b)\n", + "print('开始反向传播')\n", + "\n", + "# 调用MultiplyAdd.backward\n", + "# 输出grad_w, grad_x, grad_b\n", + "z.grad_fn.apply(V(t.ones(1)))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "之所以forward函数的输入是tensor,而backward函数的输入是variable,是为了实现高阶求导。backward函数的输入输出虽然是variable,但在实际使用时autograd.Function会将输入variable提取为tensor,并将计算结果的tensor封装成variable返回。在backward函数中,之所以也要对variable进行操作,是为了能够计算梯度的梯度(backward of backward)。下面举例说明,有关torch.autograd.grad的更详细使用请参照文档。" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(Variable containing:\n", + " 10\n", + " [torch.FloatTensor of size 1],)" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = V(t.Tensor([5]), requires_grad=True)\n", + "y = x ** 2\n", + "grad_x = t.autograd.grad(y, x, create_graph=True)\n", + "grad_x # dy/dx = 2 * x" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(Variable containing:\n", + " 2\n", + " [torch.FloatTensor of size 1],)" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "grad_grad_x = t.autograd.grad(grad_x[0],x)\n", + "grad_grad_x # 二阶导数 d(2x)/dx = 2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "这种设计虽然能让`autograd`具有高阶求导功能,但其也限制了Tensor的使用,因autograd中反向传播的函数只能利用当前已经有的Variable操作。这个设计是在`0.2`版本新加入的,为了更好的灵活性,也为了兼容旧版本的代码,PyTorch还提供了另外一种扩展autograd的方法。PyTorch提供了一个装饰器`@once_differentiable`,能够在backward函数中自动将输入的variable提取成tensor,把计算结果的tensor自动封装成variable。有了这个特性我们就能够很方便的使用numpy/scipy中的函数,操作不再局限于variable所支持的操作。但是这种做法正如名字中所暗示的那样只能求导一次,它打断了反向传播图,不再支持高阶求导。\n", + "\n", + "\n", + "上面所描述的都是新式Function,还有个legacy Function,可以带有`__init__`方法,`forward`和`backwad`函数也不需要声明为`@staticmethod`,但随着版本更迭,此类Function将越来越少遇到,在此不做更多介绍。\n", + "\n", + "此外在实现了自己的Function之后,还可以使用`gradcheck`函数来检测实现是否正确。`gradcheck`通过数值逼近来计算梯度,可能具有一定的误差,通过控制`eps`的大小可以控制容忍的误差。\n", + "关于这部份的内容可以参考github上开发者们的讨论[^3]。\n", + "\n", + "[^3]: https://github.com/pytorch/pytorch/pull/1016" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "下面举例说明如何利用Function实现sigmoid Function。" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [], + "source": [ + "class Sigmoid(Function):\n", + " \n", + " @staticmethod\n", + " def forward(ctx, x): \n", + " output = 1 / (1 + t.exp(-x))\n", + " ctx.save_for_backward(output)\n", + " return output\n", + " \n", + " @staticmethod\n", + " def backward(ctx, grad_output): \n", + " output, = ctx.saved_variables\n", + " grad_x = output * (1 - output) * grad_output\n", + " return grad_x " + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 采用数值逼近方式检验计算梯度的公式对不对\n", + "test_input = V(t.randn(3,4), requires_grad=True)\n", + "t.autograd.gradcheck(Sigmoid.apply, (test_input,), eps=1e-3)" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "232 µs ± 68.6 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n", + "191 µs ± 6.1 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n", + "215 µs ± 23.1 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" + ] + } + ], + "source": [ + "def f_sigmoid(x):\n", + " y = Sigmoid.apply(x)\n", + " y.backward(t.ones(x.size()))\n", + " \n", + "def f_naive(x):\n", + " y = 1/(1 + t.exp(-x))\n", + " y.backward(t.ones(x.size()))\n", + " \n", + "def f_th(x):\n", + " y = t.sigmoid(x)\n", + " y.backward(t.ones(x.size()))\n", + " \n", + "x=V(t.randn(100, 100), requires_grad=True)\n", + "%timeit -n 100 f_sigmoid(x)\n", + "%timeit -n 100 f_naive(x)\n", + "%timeit -n 100 f_th(x)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "显然`f_sigmoid`要比单纯利用`autograd`加减和乘方操作实现的函数快不少,因为f_sigmoid的backward优化了反向传播的过程。另外可以看出系统实现的buildin接口(t.sigmoid)更快。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.2.4 小试牛刀: 用Variable实现线性回归\n", + "在上一节中讲解了利用tensor实现线性回归,在这一小节中,将讲解如何利用autograd/Variable实现线性回归,以此感受autograd的便捷之处。" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [], + "source": [ + "import torch as t\n", + "from torch.autograd import Variable as V\n", + "%matplotlib inline\n", + "from matplotlib import pyplot as plt\n", + "from IPython import display" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [], + "source": [ + "# 设置随机数种子,为了在不同人电脑上运行时下面的输出一致\n", + "t.manual_seed(1000) \n", + "\n", + "def get_fake_data(batch_size=8):\n", + " ''' 产生随机数据:y = x*2 + 3,加上了一些噪声'''\n", + " x = t.rand(batch_size,1) * 20\n", + " y = x * 2 + (1 + t.randn(batch_size, 1))*3\n", + " return x, y" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 来看看产生x-y分布是什么样的\n", + "x, y = get_fake_data()\n", + "plt.scatter(x.squeeze().numpy(), y.squeeze().numpy())" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAD8CAYAAAB0IB+mAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3Xl4VOX5xvHvkz1AICA7EsMaQJag\nEQXUWrWCW6EuqP1VsWqpbW0LCArWVtwqrVbp4qXFaqVWawBRBFFqBUWtG0gWIOyCLGEnhCVAlvf3\nRwYLIZMMyayZ+3NduZg5c+bM09PjnZP3vPMcc84hIiINX0yoCxARkeBQ4IuIRAkFvohIlFDgi4hE\nCQW+iEiUUOCLiEQJBb6ISJRQ4IuIRAkFvohIlIgL5oe1bNnSpaenB/MjRSTK5G/ZV+PrqY3iaZ+a\nTKxZkCqqvyVLluxyzrWq73aCGvjp6eksXrw4mB8pIlFm8OQFbCkqOWm5GfzlprO4sm+7EFRVP2a2\n0R/b8XlIx8xizWypmc31PO9kZp+Z2RozyzazBH8UJCJSH+OHZJAcH3vCshiDSVefGZFh70+nMob/\nS6DguOe/A55yznUD9gK3+7MwEZG6GN6/AzcN6EiMZ8SmWXI8f7i+HyMHpYe0rnDg05COmZ0OXAk8\nCow1MwMuBr7vWWUaMAl4JgA1ioj4ZP/hUh6as4IZSzbTu0NTptyQSdfWKaEuK2z4OoY/BbgHOLbn\nTgOKnHNlnuebgQ5+rk1ExGdfbNjDmOwcthaVcNe3u/KLS7qREKeJiMerNfDN7Cpgh3NuiZlddGxx\nNatW21jfzEYBowDS0tLqWKaISPWOllXw1H9W8+wH6+jYvBEz7hzI2We0CHVZYcmXM/zBwHfN7Aog\nCWhK5Rl/qpnFec7yTwe2Vvdm59xUYCpAVlaW7rYiIn6zevt+Rr+aw4rCYm48pyP3X9WLJolBnXwY\nUWr9e8c5N9E5d7pzLh24EVjgnPs/YCFwnWe1kcDsgFUpInKcigrH8x99xVV//ojtxYd57pYsJl/b\nV2Ffi/rsnXuBV83sEWAp8Lx/ShIR8a5wXwnjZuTy8drdXNKjNZOv7UurlMRQlxURTinwnXPvA+97\nHq8HBvi/JBGR6r2Zu5X7X8+nrMLx2DV9uPGcjlgEfWM21PT3j4iEvX2HSvnNm8uYnbOV/mmpPDUi\nk/SWjUNdVsRR4ItIWPt47S7Gzchlx/4jjP1Od356URfiYjXdsi4U+CISlg6XlvP4/FU8/9FXdG7V\nmFk/GUS/jqmhLiuiKfBFJOws37qPMdk5rN5+gFsGnsHEy3uSnBBb+xulRgp8EQkb5RWOqYvW8+S7\nq0htlMCLPzyHizJah7qsBkOBLyJhYdOeQ9w9PZfPN+zh8t5tefR7fWjRWE14/UmBLyIh5Zxj5pLN\nPDhnBQB/uL4f15zVQdMtA0CBLyIhs+fgUe6blc87y7cxIL0FfxjRj44tGoW6rAZLgS8iIbFw1Q7u\nmZlH0aGjTLi8Bz+6oDOxMTqrDyQFvogE1aGjZTw2byUvfbqR7m2aMO2HA+jVvmmoy4oKCnwRCZqc\nTUWMzc5h/a6D3HF+J8YNySApXtMtg0WBLyIBV1ZewdML1/GnBWtok5LIK3ecy6CuLUNdVtRR4ItI\nQH216yBjsnPI2VTE8Mz2PDisN82S40NdVlRS4ItIQDjneOXzr3lkbgHxscafb+rP1f3ah7qsqKbA\nFxG/27H/MBNey2fByh2c37Ulj1/fl3bNkkNdVtRT4IuIX81fvo2Js/I5eKSMB67uxciB6cRoumVY\nUOCLiF8cOFLGQ3OWM33xZs5s35QpN2TSrU1KqMuS4yjwRaTeFm/Yw5jpOWzZW8JPL+rC6Eu7kxCn\nnvXhptbAN7MkYBGQ6Fl/pnPuATN7EfgWsM+z6q3OuZxAFSoi4edoWQV/fG81z7y/jg7Nk8n+8UDO\nSW8R6rLEC1/O8I8AFzvnDphZPPCRmb3teW28c25m4MoTkXC1dsd+RmfnsGxLMdeffTq/uboXKUma\nbhnOag1855wDDniexnt+XCCLEpHwVVHhmPbJBia/vZLGiXH89eazGXJm21CXJT7waZDNzGLNLAfY\nAbzrnPvM89KjZpZnZk+ZWaKX944ys8Vmtnjnzp1+KltEQmHbvsOM/PvnPDhnBYO7tuSd0Rco7COI\nVZ7A+7iyWSrwOvBzYDewDUgApgLrnHMP1fT+rKwst3jx4rpXKyIhMyd3K/e/sYyjZRXcf1VPvj8g\nrd49699YuoXH569ia1EJ7VOTGT8kg+H9O/ip4obDzJY457Lqu51TmqXjnCsys/eBoc65JzyLj5jZ\n34Fx9S1GRMLPvpJSHpi9jDdytpLZMZWnbsikU8vG9d7uG0u3MHFWPiWl5QBsKSph4qx8AIV+gNQ6\npGNmrTxn9phZMnApsNLM2nmWGTAcWBbIQkUk+P67bheXT1nEnLxCxlzanZl3DvRL2AM8Pn/VN2F/\nTElpOY/PX+WX7cvJfDnDbwdMM7NYKn9BTHfOzTWzBWbWCjAgB7gzgHWKSBAdLi3nD/9exd8++or0\n0xrz2k8Gkdkx1a+fsbWo5JSWS/35MksnD+hfzfKLA1KRiIRUQWExY7JzWLltPz84L437ruhJowT/\nf0ezfWoyW6oJ9/ap6rkTKPoqnIgAUF7hmLpoHcP+8jG7Dx7l7z88h0eG9wlI2AOMH5JBcpWbnyTH\nxzJ+SEZAPk/UWkFEgM17D3H39Fw++2oPQ85sw2PX9KVF44SAfuaxC7OapRM8CnyRKOacY9aXW5j0\n5nIc8MT1/bj2rA71nm7pq+H9Oyjgg0iBLxKl9h48yq/eyGde/jbOSW/OkyMy6diiUajLkgBS4ItE\noQ9W72T8jFz2HjrKvUN7MOrCzsSqZ32Dp8AXiSIlR8uZ/HYB0z7ZSLfWTXjh1nPo3aFZqMuSIFHg\ni0SJvM1FjMnOYd3Og9w2uBP3DM0gqcosGWnYFPgiDVxZeQXPvL+OP763hpZNEnn5jnMZ3LVlqMuS\nEFDgizRgG3cfZEx2Dl9+XcR3+7Xn4WG9adZIPeujlQJfpAFyzvHqF5t4eO4K4mKMP96YybBMTX+M\ndgp8kQZm5/4jTJyVx38KdjCoy2k8cX0/tSsQQIEv0qD8Z8V27n0tj/1Hyvj1Vb344aB0YjTdUjwU\n+CINwMEjZTw8dwWvfrGJnu2a8soNmWS0TQl1WRJmFPgiEW7Jxr2Myc5h095D3PmtLoz5TjcS4zTd\nUk6mwBeJUKXlFfzpvTU8vXAt7Zolkz1qIAM6tQh1WRLGFPgiEWjtjgOMyc4hf8s+rjv7dB64uhcp\nSZpuKTVT4ItEEOcc//hkI7+dV0CjhFie/cFZDO3dLtRlSYSoNfDNLAlYBCR61p/pnHvAzDoBrwIt\ngC+Bm51zRwNZrEg02158mPEz81i0eicXZbTi99f2pXXTpFCXJRHElzP8I8DFzrkDZhYPfGRmbwNj\ngaecc6+a2bPA7cAzAaxVJGrNyy/kvtfzOVxazsPDe/ODc9OC1rNeGg5f7mnrgAOep/GeHwdcDHzf\ns3waMAkFvohfFR8uZdLs5cxauoV+pzfjyRsy6dKqSajLkgjl0xi+mcUCS4CuwNPAOqDIOVfmWWUz\noO9ti/jRp+t3c/f0XLYVH+aXl3Tjrou7Eh+r21BL3fkU+M65ciDTzFKB14Ge1a1W3XvNbBQwCiAt\nLa2OZYpEjyNl5Tz579VM/XA9Z7RoxMw7B9I/rXmoy5IG4JRm6TjniszsfeA8INXM4jxn+acDW728\nZyowFSArK6vaXwoiUmnltmJGv5rDym37+f65adx/ZU8aJWgynfhHrX8fmlkrz5k9ZpYMXAoUAAuB\n6zyrjQRmB6pIkYauosLxtw/Xc+WfPmL19v0AfLBqJ/9evj3ElUlD4supQztgmmccPwaY7pyba2Yr\ngFfN7BFgKfB8AOsUabC2FJUwbnoun6zfTYxBhfvf8omz8gEY3l+XyKT+fJmlkwf0r2b5emBAIIoS\niQbOOWbnbOXXs5dRUeFITY6nqKT0hHVKSst5fP4qBb74hS75i4RA0aGj3PWvpYzOziGjTQpv//JC\n9lUJ+2O2FpUEuTppqHQ1SCTIPlyzk3Ezctl94Cjjh2Rw57e6EBtjtE9NZks14a6bl4i/6AxfJEgO\nl5Yz6c3l3Pz856QkxfPGzwbzs293JdZzg5LxQzJIjj+xrXFyfCzjh2SEolxpgHSGLxIEy7bsY3R2\nDmt3HODWQelMuLwHSVXC/dg4/ePzV7G1qIT2qcmMH5Kh8XvxGwW+SACVVzie/WAdT727mtOaJPDS\n7QO4oFsrr+sP799BAS8Bo8AXCZCvdx9izPQclmzcy5V92/Ho8N6kNkoIdVkSxRT4In7mnGPG4s08\nOGc5MTHGlBsyGZbZXt0tJeQU+CJ+tPvAESbOyuffK7YzsPNpPDGiHx00y0bChAJfxE8WrNzOPTPz\nKC4p4/4re3Lb4E7ExOisXsKHAl+kng4eKePReQW88tnX9Gibwj/vOJcebZuGuiyRkyjwRerhy6/3\nMjY7h417DvHjCzsz9rLuJMbF1v5GkRBQ4IvUQWl5BX9esJanF66lbdMk/vWj8ziv82mhLkukRgp8\nkVO0bucBxmbnkLt5H9f078CkYWfSNCk+1GWJ1EqBL+Ij5xz//OxrHn1rBUnxsTz9/bO4sm+7UJcl\n4jMFvogPdhQf5p7X8nh/1U4u7N6Kx6/rS5umSaEuS+SUKPBFvHhj6RYen7+KLUUlxBjExhgPDTuT\nm887Q1+ikoikwBepxhtLtzDhtTwOl1UAlXehijejaVK8wl4iltoji1TjkbdWfBP2xxwpq+Dx+atC\nVJFI/flyE/OOZrbQzArMbLmZ/dKzfJKZbTGzHM/PFYEvVySwjpSVM/ntlew6cLTa13X3KYlkvgzp\nlAF3O+e+NLMUYImZvet57Snn3BOBK08keFZv388vX82hoLCYRgmxHDpaftI6uvuURDJfbmJeCBR6\nHu83swJADbulwaiocPz9vxv43TsrSUmM47lbsjh4pIyJs/IpKf1f6Ef73aeOXcTWzVki1yldtDWz\ndKA/8BkwGLjLzG4BFlP5V8Deat4zChgFkJaWVs9yRfyrcF8J42bk8vHa3VzaszWTr+1LyyaJ37yu\ngKv0xtItJ/wC3FJUwsRZ+QBRu08ikTnnfFvRrAnwAfCoc26WmbUBdgEOeBho55y7raZtZGVlucWL\nF9ezZBH/mJ2zhV+/sYzDZRU0io+lqKSUDlEe7N4Mnryg2husd0hN5uMJF4egouhiZkucc1n13Y5P\nZ/hmFg+8BrzsnJsF4JzbftzrzwFz61uMSDDsO1TKr2cv483craSf1ojCfYcpKikFdObqjbeL1bqI\nHVl8maVjwPNAgXPuyeOWH/+d8u8By/xfnoh/fbx2F0OmLGJefiHjLuvO0bIKjlSZfllSWq7pl1V4\nu1iti9iRxZd5+IOBm4GLq0zB/L2Z5ZtZHvBtYEwgCxWpj8Ol5Tw0ZwX/97fPaJQYy6yfDuKui7tR\nuO9wtevrzPVE44dkkBx/YtvnaL+IHYl8maXzEVDdVwvn+b8cEf9bvnUfo1/NYc2OA4wceAYTLu9J\nckJleLVPTa52bFpnric6Nryli9iRTa0VpMEqr3BMXbSeJ99dRfNGCUy7bQDf6t7qhHXGD8nQ9Esf\nDe/fQQEf4RT40iBt2nOIsdNz+GLDXq7o05ZHh/eheeOEk9bTmatEEwW+NCjOOWYu2cyDc1ZgwJMj\n+vG9/h1qbHimM1eJFgp8aTD2HDzKxFl5zF++nQGdWvDkiH6c3rxRqMsSCRsKfGkQFq7cwfiZeRSX\nlHLfFT24/fzOxMaojbHI8RT4EtEOHS3jt/MK+OenX5PRJoWXbh9Az3ZNQ12WSFhS4EvEytlUxNjs\nHL7afZA7zu/EuCEZJFWZKy4i/6PAl4hTVl7BXxau5c8L1tImJZGX7ziXQV1ahroskbCnwJeI8tWu\ng4zOziF3UxHDM9vz4LDeNEuOD3VZIhFBgS8RwTnHK59/zSNzC0iIi+HPN/Xn6n7tQ12WSERR4EvY\n27H/MPfOzGPhqp1c0K0lj1/Xj7bNkkJdlkjEUeBLWJu/fBsTZ+Vz8EgZk67uxS0D04mpx3RL3bVJ\nopkCX8LSgSNlPPjmcmYs2cyZ7Zsy5YZMurVJqdc2ddcmiXYKfAk7X2zYw9jpOWzZW8Jd3+7KLy7p\nRkKcL528a/b4/FUnNEmD//W+V+BLNFDgS9g4WlbBlP+s5tkP1nF680ZM//FAstJb+G37umuTRDsF\nvoSF1dv3M/rVHFYUFnNDVkd+fXUvmiTW7fD0Nk6v3vcS7RT4ElIVFY4X/7uBye+spEliHH+9+WyG\nnNm2zturaZxeve8l2tUa+GbWEfgH0BaoAKY65/5oZi2AbCAd2ACMcM7tDVyp0tAU7ith/Iw8Plq7\ni0t6tGbytX1plZJYr23WNE7/8YSLv1lHs3QkGvlyhl8G3O2c+9LMUoAlZvYucCvwnnNusplNACYA\n9wauVGlI5uRu5Vev51Na7vjt9/pw04CONfas91Vt4/TqfS/RzJd72hYChZ7H+82sAOgADAMu8qw2\nDXgfBb7UYt+hUn7z5jJm52wls2MqU27IJL1lY79tX+P0It6d0lw3M0sH+gOfAW08vwyO/VJo7e/i\npGH579pdDP3jIubmFTL2O92ZeedAv4Y9VI7TJ1fpmKlxepFKPl+0NbMmwGvAaOdcsa9/fpvZKGAU\nQFpaWl1qlDB0Kt9YPewZQ3/+o6/o3LIxs34yiH4dUwNSl+5RK+KdOedqX8ksHpgLzHfOPelZtgq4\nyDlXaGbtgPedczWeRmVlZbnFixf7oWwJpaozYaDyLPqxa/qcFKwrthYzOnspq7cf4JaBZzDx8p4k\nJ6hnvcipMLMlzrms+m6n1iEdqzyVfx4oOBb2Hm8CIz2PRwKz61uMRIaaZsIcU17hePaDdQx7+iP2\nHirlxR+ew0PDeivsRULIlyGdwcDNQL6Z5XiW3QdMBqab2e3A18D1gSlRwk1tM2E27TnE3dNz+XzD\nHoae2ZbfXtOHFo0TglmiiFTDl1k6HwHeBuwv8W85Egm8zYRp1yyJmUs2M+nN5QA8cX0/rj2rg1+m\nW4pI/dW/I5VEnepmwiTFxdAqJZFxM3Lp1a4pb//yAq47+3SFvUgYUWsFOWVVZ8K0aJxAaXkFKwqL\nmXB5D350QWdi69GzXkQCQ4EvdTK8fweGnNmW384r4KVPN9K9TROm3NCfXu2bhro0EfFCgS91krup\niDHZOazfdZA7zu/EuCEZJMVrBo5IOFPgyykpK6/g6YXr+NOCNbROSeSVO85lUNeWoS5LRHygwBef\nfbXrIGOyc8jZVMSwzPY89N3eNGsUH+qyRMRHCnyplXOOf32+iYfnriA+1vjTTf35br/2oS5LRE6R\nAl9qtHP/ESa8lsd7K3cwuOtpPHF9P9o1U+dJkUikwBev3l2xnQmv5bH/SBm/uaoXtw5KJ0bTLUUi\nlgJfTnLgSBkPz1lB9uJN9GrXlFdvzKRbm5RQlyUi9aTAr4dTaREcKZZs3MOY7Fw27T3ETy/qwuhL\nu5MQpy9kizQECvw6qulm2ZEY+kfLKvjje6t55v11tE9NZvqPB3JOeotQlyUifqTAr6OaWgRHWuCv\n3bGf0dk5LNtSzPVnn85vru5FSpKmW4o0NAr8OqqtRXAkqKhw/OOTDTz29koaJcTy7A/OYmjvdqEu\nS0QCRIFfR5F+s+ztxYcZNyOXD9fs4qKMVvz+ur60TkkKdVkiEkC6GldHkXyz7LfyCrnsqUV8sWEP\njwzvzd9vPUdhLxIFdIZfR5F4s+ziw6U8MHs5ry/dQr+OqTw1oh+dWzUJdVkiEiQK/HoY3r9DWAf8\n8T5dv5u7p+eyrfgwoy/txs++3ZX42FP7A68hTkMViSa+3MT8BTPbYWbLjls2ycy2mFmO5+eKwJYp\ndXWkrJzfzivgpuc+JSEuhpl3DmT0pd3rFPYTZ+WzpagEx/+mob6xdEtgChcRv/Plv/oXgaHVLH/K\nOZfp+Znn37LEHwoKixn2l4+Zumg93x+Qxlu/OJ/+ac3rtK2apqGKSGTw5Sbmi8wsPfCliL9UVDj+\n9tF6npi/mqbJ8bxwaxYX92hTr202hGmoItGuPmP4d5nZLcBi4G7n3N7qVjKzUcAogLS0tHp8nPhi\n895DjJuRy6fr93BZrzY8dk0fTmuSWO/tRvo0VBGp+7TMZ4AuQCZQCPzB24rOuanOuSznXFarVq3q\n+HFSG+ccry/dzOVTPiR/8z5+f11f/nrz2X4Je4jsaagiUqlOZ/jOue3HHpvZc8Bcv1Ukp6zo0FF+\n9foy3sovJOuM5jx1QyYdWzTy62dE4jRUETlRnQLfzNo55wo9T78HLKtpfQmcD9fsZNyMXPYcPMo9\nQzP48YVdiA1Qz/pImoYqIierNfDN7F/ARUBLM9sMPABcZGaZgAM2AD8OYI1SjcOl5Ux+eyUv/ncD\n3Vo34fmR59C7Q7NQlyUiYcyXWTo3VbP4+QDUIj7K37yPMdNzWLvjALcN7sQ9QzNIqjK+LiJSlb5p\nG0HKyit49oN1TPnPGlo2SeSft5/L+d1ahrosEYkQCvwIsXH3QcZOz2XJxr1c1bcdjwzvTWqjhFCX\nJSIRRIEf5pxzTF+8iYfmrCAmxvjjjZkMy9SFUxE5dQr8MLbrwBEmzsrn3RXbGdj5NP4wop++6CQi\ndabAD1P/WbGdCbPyKD5cxv1X9uS2wZ2ICdB0SxGJDgr8MHPwSBmPvLWCf32+iZ7tmvLyHZlktE0J\ndVki0gAo8MPEG0u38OhbBew8cASAi3u05pkfnEViXO3TLdWnXkR8oVschoHXlmxm3Izcb8Ie4JN1\nu3k7f1ut71WfehHxlQI/xNbtPMCEWXmUVbgTlvvaa1596kXEVxrSCRHnHC99upGH566gtNxVu44v\nvebVp15EfKXAD4EdxYcZPzOPD1bvpKaJN75MwVSfehHxlYZ0guzt/EIum7KIz77aTbPkeCqqP7n3\nude8+tSLiK8U+EFSfLiUsdNz+MnLX5LWohFzf34BxSWlXtd/7Jo+Ps20Gd6/A49d04cOqckY0CE1\n2ef3ikh00ZBOEHy2fjdjp+dSuK+EX1zclZ9f0o342BivwzEdUpNPKbDVp15EfKEz/AA6UlbOY28X\ncONznxIXa8z8ySDGXpZBfGzlbtdwjIgEk87wA2TVtv2Mzs6hoLCYmwakcf+VPWmceOLu1m0DRSSY\nFPh+VlHheOHjr/j9O6tomhzH327J4tJebbyur+EYEQkWX25x+AJwFbDDOdfbs6wFkA2kU3mLwxHO\nub2BKzMybC0q4e7puXyyfjeX9mzD5Gv70LJJYqjLEhEBfBvDfxEYWmXZBOA951w34D3P86g2O2cL\nQ6YsIndzEb+7tg/P3XK2wl5Ewoov97RdZGbpVRYPo/LG5gDTgPeBe/1YV8TYd6iU+2cvY07uVs4+\nozlPjujHGac1DnVZIiInqesYfhvnXCGAc67QzFr7saawUlMnyo/W7GLcjFx2HTjCuMu6c+e3uhAX\nq4lPIhKeAn7R1sxGAaMA0tLS/L79QLYGPtaJ8lhzsmOdKI+WVVCwrZi/f7yBLq0a89wtg+lzejO/\nfKaISKDUNfC3m1k7z9l9O2CHtxWdc1OBqQBZWVleGgnUjbdABvwS+t46Ud73ej5lFY5bB6Vz79Ae\nJCfU3rNeRCTU6jr+8CYw0vN4JDDbP+WcmkC3BvbWcbKswvGP2wYw6btnKuxFJGLUGvhm9i/gEyDD\nzDab2e3AZOA7ZrYG+I7nedAFujWwt46T7ZomcWH3Vn75DBGRYPFlls5NXl66xM+1nLJAtwYed1l3\n7nkt74R+9UlxMdx7eQ+/bF9EJJgiekpJIHvR7D5whHeWb6O03JEQV7mbOqQmM/navvpmrIhEpIhu\nrRCoXjQLV+5g/Mw8iktKue+KHtxxfmdiarpTiYhIBIjowAf/9qI5dLSMR98q4OXPvqZH2xReun0A\nPds19cu2RURCLeID31+Wfr2XsdNz2bD7IKMu7MzY73QnKV4zcESk4Yj6wC8tr+AvC9byl4Vrads0\niVfuOI+BXU4LdVkiIn4X1YG/fucBxkzPJXdTEdf078CkYWfSNCk+1GWJiARERM/SqSvnHP/8dCND\np3xI3uYiAD77ag8LCrx+YVhEJOJF3Rn+jv2HuXdmHgtX7STGwHmm2Pu7LYOISLiJqjP8d5ZtY+iU\nD/nvut00S46nokpnH3+2ZRARCTdREfj7D5cyfkYud/5zCe1Tk3jrF+dTXFJa7br+assgIhJuGvyQ\nzhcb9jAmO4etRSXc9e2u/OKSbiTExQS8LYOISLhpsGf4R8sq+N07Kxnx10+IMWPGnQMZNyTjmzYJ\ngWzLICISjhrkGf7q7fsZ/WoOKwqLufGcjtx/VS+aJJ74PzVQbRlERMJVxAV+TXe4qqhw/P2/G/jd\nOytJSYzjuVuy+E6vNl635c+2DCIi4S6iAr+mO1yd27kF42bk8vHa3VzSozWTr+1Lq5TEUJYrIhJW\nIirwvd3h6sE5yymvcJRVOB67pg83ntMRM3W3FBE5XkQFvrcpk3sPldI/LZWnRmSS3rJxkKsSEYkM\nERX43qZSpiTFMePHA4mLbbCTjkRE6q1eCWlmG8ws38xyzGyxv4ryZvyQDJLiTiw5MTaGh4f1VtiL\niNTCH2f433bO7fLDdmrVrU0TUhslsK34MADtmiVx79AemmkjIuKDiBjSKa9wTF20niffXUXzRglM\nu20A3+reKtRliYhElPoGvgP+bWYO+KtzbmrVFcxsFDAKIC0t7ZQ/YNOeQ9w9PZfPN+zhij5teXR4\nH5o3Tqhn2SIi0ae+gT/YObfVzFoD75rZSufcouNX8PwSmAqQlZXlqttIdZxzzFyymQfnrMCAJ0f0\n43v9O2i6pYhIHdUr8J1zWz3/7jCz14EBwKKa31W7PQePct+sfN5Zvo0BnVrw5Ih+nN68UX03KyIS\n1eoc+GbWGIhxzu33PL4MeKi+BS1ctYN7ZuZRdOgoEy/vwR0XdCY2Rmf1IiL1VZ8z/DbA654hljjg\nFefcO3XdWMnRcn47r4CXPt1rJDRZAAAHNElEQVRIRpsUpv1wAL3aN61HeSIicrw6B75zbj3Qzx9F\n5G4qYkx2Dl/tPsiPLujE3ZdlkFSldbGIiNRPSKdllpVX8PTCdfxpwRrapCTy8h3nMqhLy1CWJCLS\nYIUs8L/adZAx2TnkbCpieGZ7BnRqwfgZeepNLyISIEEPfOccr3z+NY/MLSAhLoY/39Sf8grnte2x\nQl9ExD+CGvhlFY47pi3mvZU7OL9rS564vh9tmyUxePKCatsePz5/lQJfRMRPghr4a7bvp2TtLh64\nuhcjB6YT45lu6a3tsbflIiJy6oIa+HGxMcz9+fl0a5NywnJvbY/bpyYHqzQRkQYvqD2Fu7ZqclLY\nQ2Xb4+Qq0zCT42MZPyQjWKWJiDR4QT3D99YG59g4vbebk4uISP2FTXvk4f07KOBFRAJIt4kSEYkS\nCnwRkSihwBcRiRIKfBGRKKHAFxGJEgp8EZEoocAXEYkSCnwRkShRr8A3s6FmtsrM1prZBH8VJSIi\n/lfnwDezWOBp4HKgF3CTmfXyV2EiIuJf9TnDHwCsdc6td84dBV4FhvmnLBER8bf6BH4HYNNxzzd7\nlomISBiqT/O06npfupNWMhsFjPI8PWJmy+rxmcHSEtgV6iJ8oDr9JxJqBNXpb5FSp196xdcn8DcD\nHY97fjqwtepKzrmpwFQAM1vsnMuqx2cGher0r0ioMxJqBNXpb5FUpz+2U58hnS+AbmbWycwSgBuB\nN/1RlIiI+F+dz/Cdc2VmdhcwH4gFXnDOLfdbZSIi4lf1ugGKc24eMO8U3jK1Pp8XRKrTvyKhzkio\nEVSnv0VVnebcSddZRUSkAVJrBRGRKBGQwK+t5YKZJZpZtuf1z8wsPRB11FJjRzNbaGYFZrbczH5Z\nzToXmdk+M8vx/Pwm2HV66thgZvmeGk66Wm+V/uTZn3lmdlaQ68s4bh/lmFmxmY2usk5I9qWZvWBm\nO46fDmxmLczsXTNb4/m3uZf3jvSss8bMRoagzsfNbKXn/9PXzSzVy3trPD6CUOckM9ty3P+3V3h5\nb9BasXipM/u4GjeYWY6X9wZlf3rLoIAen845v/5QeQF3HdAZSABygV5V1vkp8Kzn8Y1Atr/r8KHO\ndsBZnscpwOpq6rwImBvs2qqpdQPQsobXrwDepvK7EecBn4Ww1lhgG3BGOOxL4ELgLGDZcct+D0zw\nPJ4A/K6a97UA1nv+be553DzIdV4GxHke/666On05PoJQ5yRgnA/HRY25EOg6q7z+B+A3odyf3jIo\nkMdnIM7wfWm5MAyY5nk8E7jEzKr7IlfAOOcKnXNfeh7vBwqI3G8KDwP+4Sp9CqSaWbsQ1XIJsM45\ntzFEn38C59wiYE+Vxccff9OA4dW8dQjwrnNuj3NuL/AuMDSYdTrn/u2cK/M8/ZTK77qElJf96Yug\ntmKpqU5P1owA/hWoz/dFDRkUsOMzEIHvS8uFb9bxHND7gNMCUItPPENK/YHPqnl5oJnlmtnbZnZm\nUAv7Hwf828yWWOU3l6sKpzYXN+L9P6Rw2JcAbZxzhVD5Hx3Qupp1wmmfAtxG5V9x1ant+AiGuzxD\nTy94GYIIp/15AbDdObfGy+tB359VMihgx2cgAt+Xlgs+tWUIBjNrArwGjHbOFVd5+Usqhyb6AX8G\n3gh2fR6DnXNnUdmZ9GdmdmGV18Nif1rlF/C+C8yo5uVw2Ze+Cot9CmBmvwLKgJe9rFLb8RFozwBd\ngEygkMrhkqrCZn8CN1Hz2X1Q92ctGeT1bdUsq3V/BiLwfWm58M06ZhYHNKNufybWi5nFU7mjX3bO\nzar6unOu2Dl3wPN4HhBvZi2DXCbOua2ef3cAr1P55/HxfGpzEQSXA18657ZXfSFc9qXH9mNDXp5/\nd1SzTljsU8/FuKuA/3OewduqfDg+Aso5t905V+6cqwCe8/L54bI/44BrgGxv6wRzf3rJoIAdn4EI\nfF9aLrwJHLuqfB2wwNvBHCiecbzngQLn3JNe1ml77NqCmQ2gcn/tDl6VYGaNzSzl2GMqL+RVbUD3\nJnCLVToP2HfsT8Ig83rmFA778jjHH38jgdnVrDMfuMzMmnuGKC7zLAsaMxsK3At81zl3yMs6vhwf\nAVXletH3vHx+uLRiuRRY6ZzbXN2LwdyfNWRQ4I7PAF19voLKK87rgF95lj1E5YELkETln/1rgc+B\nzoG8Gu6lxvOp/BMoD8jx/FwB3Anc6VnnLmA5lTMKPgUGhaDOzp7Pz/XUcmx/Hl+nUXkzmnVAPpAV\ngjobURngzY5bFvJ9SeUvoEKglMqzotupvF70HrDG828Lz7pZwN+Oe+9tnmN0LfDDENS5lspx2mPH\n57GZbe2BeTUdH0Gu8yXPcZdHZVi1q1qn5/lJuRDMOj3LXzx2TB63bkj2Zw0ZFLDjU9+0FRGJEvqm\nrYhIlFDgi4hECQW+iEiUUOCLiEQJBb6ISJRQ4IuIRAkFvohIlFDgi4hEif8HC5wNJAVBQWYAAAAA\nSUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2.0188677310943604 2.8898627758026123\n" + ] + } + ], + "source": [ + "# 随机初始化参数\n", + "w = V(t.rand(1,1), requires_grad=True)\n", + "b = V(t.zeros(1,1), requires_grad=True)\n", + "\n", + "lr =0.001 # 学习率\n", + "\n", + "for ii in range(8000):\n", + " x, y = get_fake_data()\n", + " x, y = V(x), V(y)\n", + " \n", + " # forward:计算loss\n", + " y_pred = x.mm(w) + b.expand_as(y)\n", + " loss = 0.5 * (y_pred - y) ** 2\n", + " loss = loss.sum()\n", + " \n", + " # backward:手动计算梯度\n", + " loss.backward()\n", + " \n", + " # 更新参数\n", + " w.data.sub_(lr * w.grad.data)\n", + " b.data.sub_(lr * b.grad.data)\n", + " \n", + " # 梯度清零\n", + " w.grad.data.zero_()\n", + " b.grad.data.zero_()\n", + " \n", + " if ii%1000 ==0:\n", + " # 画图\n", + " display.clear_output(wait=True)\n", + " x = t.arange(0, 20).view(-1, 1)\n", + " y = x.mm(w.data) + b.data.expand_as(x)\n", + " plt.plot(x.numpy(), y.numpy()) # predicted\n", + " \n", + " x2, y2 = get_fake_data(batch_size=20) \n", + " plt.scatter(x2.numpy(), y2.numpy()) # true data\n", + " \n", + " plt.xlim(0,20)\n", + " plt.ylim(0,41) \n", + " plt.show()\n", + " plt.pause(0.5)\n", + " \n", + "print(w.data.squeeze()[0], b.data.squeeze()[0])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "用autograd实现的线性回归最大的不同点就在于autograd不需要计算反向传播,可以自动计算微分。这点不单是在深度学习,在许多机器学习的问题中都很有用。另外需要注意的是在每次反向传播之前要记得先把梯度清零。\n", + "\n", + "本章主要介绍了PyTorch中两个基础底层的数据结构:Tensor和autograd中的Variable。Tensor是一个类似Numpy数组的高效多维数值运算数据结构,有着和Numpy相类似的接口,并提供简单易用的GPU加速。Variable是autograd封装了Tensor并提供自动求导技术的,具有和Tensor几乎一样的接口。`autograd`是PyTorch的自动微分引擎,采用动态计算图技术,能够快速高效的计算导数。" + ] + } + ], + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/0_basic/ref_Tensor.ipynb b/2_pytorch/0_basic/ref_Tensor.ipynb new file mode 100644 index 0000000..a593048 --- /dev/null +++ b/2_pytorch/0_basic/ref_Tensor.ipynb @@ -0,0 +1,3043 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 第三章 PyTorch基础:Tensor和Autograd\n", + "\n", + "## 3.1 Tensor\n", + "\n", + "Tensor,又名张量,读者可能对这个名词似曾相识,因它不仅在PyTorch中出现过,它也是Theano、TensorFlow、\n", + "Torch和MxNet中重要的数据结构。关于张量的本质不乏深度的剖析,但从工程角度来讲,可简单地认为它就是一个数组,且支持高效的科学计算。它可以是一个数(标量)、一维数组(向量)、二维数组(矩阵)和更高维的数组(高阶数据)。Tensor和Numpy的ndarrays类似,但PyTorch的tensor支持GPU加速。\n", + "\n", + "本节将系统讲解tensor的使用,力求面面俱到,但不会涉及每个函数。对于更多函数及其用法,读者可通过在IPython/Notebook中使用函数名加`?`查看帮助文档,或查阅PyTorch官方文档[^1]。\n", + "\n", + "[^1]: http://docs.pytorch.org" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'0.4.1'" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Let's begin\n", + "from __future__ import print_function\n", + "import torch as t\n", + "t.__version__" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.1.1 基础操作\n", + "\n", + "学习过Numpy的读者会对本节内容感到非常熟悉,因tensor的接口有意设计成与Numpy类似,以方便用户使用。但不熟悉Numpy也没关系,本节内容并不要求先掌握Numpy。\n", + "\n", + "从接口的角度来讲,对tensor的操作可分为两类:\n", + "\n", + "1. `torch.function`,如`torch.save`等。\n", + "2. 另一类是`tensor.function`,如`tensor.view`等。\n", + "\n", + "为方便使用,对tensor的大部分操作同时支持这两类接口,在本书中不做具体区分,如`torch.sum (torch.sum(a, b))`与`tensor.sum (a.sum(b))`功能等价。\n", + "\n", + "而从存储的角度来讲,对tensor的操作又可分为两类:\n", + "\n", + "1. 不会修改自身的数据,如 `a.add(b)`, 加法的结果会返回一个新的tensor。\n", + "2. 会修改自身的数据,如 `a.add_(b)`, 加法的结果仍存储在a中,a被修改了。\n", + "\n", + "函数名以`_`结尾的都是inplace方式, 即会修改调用者自己的数据,在实际应用中需加以区分。\n", + "\n", + "#### 创建Tensor\n", + "\n", + "在PyTorch中新建tensor的方法有很多,具体如表3-1所示。\n", + "\n", + "表3-1: 常见新建tensor的方法\n", + "\n", + "|函数|功能|\n", + "|:---:|:---:|\n", + "|Tensor(\\*sizes)|基础构造函数|\n", + "|ones(\\*sizes)|全1Tensor|\n", + "|zeros(\\*sizes)|全0Tensor|\n", + "|eye(\\*sizes)|对角线为1,其他为0|\n", + "|arange(s,e,step|从s到e,步长为step|\n", + "|linspace(s,e,steps)|从s到e,均匀切分成steps份|\n", + "|rand/randn(\\*sizes)|均匀/标准分布|\n", + "|normal(mean,std)/uniform(from,to)|正态分布/均匀分布|\n", + "|randperm(m)|随机排列|\n", + "\n", + "其中使用`Tensor`函数新建tensor是最复杂多变的方式,它既可以接收一个list,并根据list的数据新建tensor,也能根据指定的形状新建tensor,还能传入其他的tensor,下面举几个例子。" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "tensor([[0.0000, 0.0000, 0.0000],\n", + " [0.0000, 0.0000, 0.0000]])" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 指定tensor的形状\n", + "a = t.Tensor(2, 3)\n", + "a # 数值取决于内存空间的状态" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "tensor([[1., 2., 3.],\n", + " [4., 5., 6.]])" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 用list的数据创建tensor\n", + "b = t.Tensor([[1,2,3],[4,5,6]])\n", + "b" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]]" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "b.tolist() # 把tensor转为list" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "`tensor.size()`返回`torch.Size`对象,它是tuple的子类,但其使用方式与tuple略有区别" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "torch.Size([2, 3])" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "b_size = b.size()\n", + "b_size" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "6" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "b.numel() # b中元素总个数,2*3,等价于b.nelement()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(tensor([[ 0.0000, 0.0000, 0.0000],\n", + " [ 0.0000, -0.0000, 0.0000]]), tensor([2., 3.]))" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 创建一个和b形状一样的tensor\n", + "c = t.Tensor(b_size)\n", + "# 创建一个元素为2和3的tensor\n", + "d = t.Tensor((2, 3))\n", + "c, d" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "除了`tensor.size()`,还可以利用`tensor.shape`直接查看tensor的形状,`tensor.shape`等价于`tensor.size()`" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "torch.Size([2, 3])" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "c.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "c.shape??" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "需要注意的是,`t.Tensor(*sizes)`创建tensor时,系统不会马上分配空间,只是会计算剩余的内存是否足够使用,使用到tensor时才会分配,而其它操作都是在创建完tensor之后马上进行空间分配。其它常用的创建tensor的方法举例如下。" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "tensor([[1., 1., 1.],\n", + " [1., 1., 1.]])" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "t.ones(2, 3)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "tensor([[0., 0., 0.],\n", + " [0., 0., 0.]])" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "t.zeros(2, 3)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "tensor([1, 3, 5])" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "t.arange(1, 6, 2)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "tensor([ 1.0000, 5.5000, 10.0000])" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "t.linspace(1, 10, 3)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "tensor([[ 0.4388, 0.9361, 0.8411],\n", + " [-1.0667, -0.5187, 0.5520]])" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "t.randn(2, 3)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "tensor([2, 0, 4, 1, 3])" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "t.randperm(5) # 长度为5的随机排列" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "tensor([[1., 0., 0.],\n", + " [0., 1., 0.]])" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "t.eye(2, 3) # 对角线为1, 不要求行列数一致" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 常用Tensor操作" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "通过`tensor.view`方法可以调整tensor的形状,但必须保证调整前后元素总数一致。`view`不会修改自身的数据,返回的新tensor与源tensor共享内存,也即更改其中的一个,另外一个也会跟着改变。在实际应用中可能经常需要添加或减少某一维度,这时候`squeeze`和`unsqueeze`两个函数就派上用场了。" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "tensor([[0, 1, 2],\n", + " [3, 4, 5]])" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a = t.arange(0, 6)\n", + "a.view(2, 3)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "tensor([[0, 1, 2],\n", + " [3, 4, 5]])" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "b = a.view(-1, 3) # 当某一维为-1的时候,会自动计算它的大小\n", + "b" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "tensor([[[0, 1, 2]],\n", + "\n", + " [[3, 4, 5]]])" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "b.unsqueeze(1) # 注意形状,在第1维(下标从0开始)上增加“1”" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "tensor([[[0, 1, 2]],\n", + "\n", + " [[3, 4, 5]]])" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "b.unsqueeze(-2) # -2表示倒数第二个维度" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "tensor([[[[0, 1, 2],\n", + " [3, 4, 5]]]])" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "c = b.view(1, 1, 1, 2, 3)\n", + "c.squeeze(0) # 压缩第0维的“1”" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "tensor([[0, 1, 2],\n", + " [3, 4, 5]])" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "c.squeeze() # 把所有维度为“1”的压缩" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "tensor([[ 0, 100, 2],\n", + " [ 3, 4, 5]])" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a[1] = 100\n", + "b # a修改,b作为view之后的,也会跟着修改" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "`resize`是另一种可用来调整`size`的方法,但与`view`不同,它可以修改tensor的大小。如果新大小超过了原大小,会自动分配新的内存空间,而如果新大小小于原大小,则之前的数据依旧会被保存,看一个例子。" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 0 100 2\n", + "[torch.FloatTensor of size 1x3]" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "b.resize_(1, 3)\n", + "b" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 0.0000e+00 1.0000e+02 2.0000e+00\n", + " 3.0000e+00 4.0000e+00 5.0000e+00\n", + " 4.1417e+36 4.5731e-41 6.7262e-44\n", + "[torch.FloatTensor of size 3x3]" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "b.resize_(3, 3) # 旧的数据依旧保存着,多出的大小会分配新空间\n", + "b" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 索引操作\n", + "\n", + "Tensor支持与numpy.ndarray类似的索引操作,语法上也类似,下面通过一些例子,讲解常用的索引操作。如无特殊说明,索引出来的结果与原tensor共享内存,也即修改一个,另一个会跟着修改。" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 0.2355 0.8276 0.6279 -2.3826\n", + " 0.3533 1.3359 0.1627 1.7314\n", + " 0.8121 0.3059 2.4352 1.4577\n", + "[torch.FloatTensor of size 3x4]" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a = t.randn(3, 4)\n", + "a" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 0.2355\n", + " 0.8276\n", + " 0.6279\n", + "-2.3826\n", + "[torch.FloatTensor of size 4]" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a[0] # 第0行(下标从0开始)" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 0.2355\n", + " 0.3533\n", + " 0.8121\n", + "[torch.FloatTensor of size 3]" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a[:, 0] # 第0列" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.6279084086418152" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a[0][2] # 第0行第2个元素,等价于a[0, 2]" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "-2.3825833797454834" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a[0, -1] # 第0行最后一个元素" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 0.2355 0.8276 0.6279 -2.3826\n", + " 0.3533 1.3359 0.1627 1.7314\n", + "[torch.FloatTensor of size 2x4]" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a[:2] # 前两行" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 0.2355 0.8276\n", + " 0.3533 1.3359\n", + "[torch.FloatTensor of size 2x2]" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a[:2, 0:2] # 前两行,第0,1列" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + " 0.2355 0.8276\n", + "[torch.FloatTensor of size 1x2]\n", + "\n", + "\n", + " 0.2355\n", + " 0.8276\n", + "[torch.FloatTensor of size 2]\n", + "\n" + ] + } + ], + "source": [ + "print(a[0:1, :2]) # 第0行,前两列 \n", + "print(a[0, :2]) # 注意两者的区别:形状不同" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 0 0 0 0\n", + " 0 1 0 1\n", + " 0 0 1 1\n", + "[torch.ByteTensor of size 3x4]" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a > 1 # 返回一个ByteTensor" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 1.3359\n", + " 1.7314\n", + " 2.4352\n", + " 1.4577\n", + "[torch.FloatTensor of size 4]" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a[a>1] # 等价于a.masked_select(a>1)\n", + "# 选择结果与原tensor不共享内存空间" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 0.2355 0.8276 0.6279 -2.3826\n", + " 0.3533 1.3359 0.1627 1.7314\n", + "[torch.FloatTensor of size 2x4]" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a[t.LongTensor([0,1])] # 第0行和第1行" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "其它常用的选择函数如表3-2所示。\n", + "\n", + "表3-2常用的选择函数\n", + "\n", + "函数|功能|\n", + ":---:|:---:|\n", + "index_select(input, dim, index)|在指定维度dim上选取,比如选取某些行、某些列\n", + "masked_select(input, mask)|例子如上,a[a>0],使用ByteTensor进行选取\n", + "non_zero(input)|非0元素的下标\n", + "gather(input, dim, index)|根据index,在dim维度上选取数据,输出的size与index一样\n", + "\n", + "\n", + "`gather`是一个比较复杂的操作,对一个2维tensor,输出的每个元素如下:\n", + "\n", + "```python\n", + "out[i][j] = input[index[i][j]][j] # dim=0\n", + "out[i][j] = input[i][index[i][j]] # dim=1\n", + "```\n", + "三维tensor的`gather`操作同理,下面举几个例子。" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 0 1 2 3\n", + " 4 5 6 7\n", + " 8 9 10 11\n", + " 12 13 14 15\n", + "[torch.FloatTensor of size 4x4]" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a = t.arange(0, 16).view(4, 4)\n", + "a" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 0 5 10 15\n", + "[torch.FloatTensor of size 1x4]" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 选取对角线的元素\n", + "index = t.LongTensor([[0,1,2,3]])\n", + "a.gather(0, index)" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 3\n", + " 6\n", + " 9\n", + " 12\n", + "[torch.FloatTensor of size 4x1]" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 选取反对角线上的元素\n", + "index = t.LongTensor([[3,2,1,0]]).t()\n", + "a.gather(1, index)" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 12 9 6 3\n", + "[torch.FloatTensor of size 1x4]" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 选取反对角线上的元素,注意与上面的不同\n", + "index = t.LongTensor([[3,2,1,0]])\n", + "a.gather(0, index)" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 0 3\n", + " 5 6\n", + " 10 9\n", + " 15 12\n", + "[torch.FloatTensor of size 4x2]" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 选取两个对角线上的元素\n", + "index = t.LongTensor([[0,1,2,3],[3,2,1,0]]).t()\n", + "b = a.gather(1, index)\n", + "b" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "与`gather`相对应的逆操作是`scatter_`,`gather`把数据从input中按index取出,而`scatter_`是把取出的数据再放回去。注意`scatter_`函数是inplace操作。\n", + "\n", + "```python\n", + "out = input.gather(dim, index)\n", + "-->近似逆操作\n", + "out = Tensor()\n", + "out.scatter_(dim, index)\n", + "```" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 0 0 0 3\n", + " 0 5 6 0\n", + " 0 9 10 0\n", + " 12 0 0 15\n", + "[torch.FloatTensor of size 4x4]" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 把两个对角线元素放回去到指定位置\n", + "c = t.zeros(4,4)\n", + "c.scatter_(1, index, b)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 高级索引\n", + "PyTorch在0.2版本中完善了索引操作,目前已经支持绝大多数numpy的高级索引[^10]。高级索引可以看成是普通索引操作的扩展,但是高级索引操作的结果一般不和原始的Tensor贡献内出。 \n", + "[^10]: https://docs.scipy.org/doc/numpy/reference/arrays.indexing.html#advanced-indexing" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + "(0 ,.,.) = \n", + " 0 1 2\n", + " 3 4 5\n", + " 6 7 8\n", + "\n", + "(1 ,.,.) = \n", + " 9 10 11\n", + " 12 13 14\n", + " 15 16 17\n", + "\n", + "(2 ,.,.) = \n", + " 18 19 20\n", + " 21 22 23\n", + " 24 25 26\n", + "[torch.FloatTensor of size 3x3x3]" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = t.arange(0,27).view(3,3,3)\n", + "x" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 14\n", + " 24\n", + "[torch.FloatTensor of size 2]" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x[[1, 2], [1, 2], [2, 0]] # x[1,1,2]和x[2,2,0]" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 19\n", + " 10\n", + " 1\n", + "[torch.FloatTensor of size 3]" + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x[[2, 1, 0], [0], [1]] # x[2,0,1],x[1,0,1],x[0,0,1]" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + "(0 ,.,.) = \n", + " 0 1 2\n", + " 3 4 5\n", + " 6 7 8\n", + "\n", + "(1 ,.,.) = \n", + " 18 19 20\n", + " 21 22 23\n", + " 24 25 26\n", + "[torch.FloatTensor of size 2x3x3]" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x[[0, 2], ...] # x[0] 和 x[2]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Tensor类型\n", + "\n", + "Tensor有不同的数据类型,如表3-3所示,每种类型分别对应有CPU和GPU版本(HalfTensor除外)。默认的tensor是FloatTensor,可通过`t.set_default_tensor_type` 来修改默认tensor类型(如果默认类型为GPU tensor,则所有操作都将在GPU上进行)。Tensor的类型对分析内存占用很有帮助。例如对于一个size为(1000, 1000, 1000)的FloatTensor,它有`1000*1000*1000=10^9`个元素,每个元素占32bit/8 = 4Byte内存,所以共占大约4GB内存/显存。HalfTensor是专门为GPU版本设计的,同样的元素个数,显存占用只有FloatTensor的一半,所以可以极大缓解GPU显存不足的问题,但由于HalfTensor所能表示的数值大小和精度有限[^2],所以可能出现溢出等问题。\n", + "\n", + "[^2]: https://stackoverflow.com/questions/872544/what-range-of-numbers-can-be-represented-in-a-16-32-and-64-bit-ieee-754-syste\n", + "\n", + "表3-3: tensor数据类型\n", + "\n", + "数据类型|\tCPU tensor\t|GPU tensor|\n", + ":---:|:---:|:--:|\n", + "32-bit 浮点|\ttorch.FloatTensor\t|torch.cuda.FloatTensor\n", + "64-bit 浮点|\ttorch.DoubleTensor|\ttorch.cuda.DoubleTensor\n", + "16-bit 半精度浮点|\tN/A\t|torch.cuda.HalfTensor\n", + "8-bit 无符号整形(0~255)|\ttorch.ByteTensor|\ttorch.cuda.ByteTensor\n", + "8-bit 有符号整形(-128~127)|\ttorch.CharTensor\t|torch.cuda.CharTensor\n", + "16-bit 有符号整形 |\ttorch.ShortTensor|\ttorch.cuda.ShortTensor\n", + "32-bit 有符号整形 \t|torch.IntTensor\t|torch.cuda.IntTensor\n", + "64-bit 有符号整形 \t|torch.LongTensor\t|torch.cuda.LongTensor\n", + "\n", + "各数据类型之间可以互相转换,`type(new_type)`是通用的做法,同时还有`float`、`long`、`half`等快捷方法。CPU tensor与GPU tensor之间的互相转换通过`tensor.cuda`和`tensor.cpu`方法实现。Tensor还有一个`new`方法,用法与`t.Tensor`一样,会调用该tensor对应类型的构造函数,生成与当前tensor类型一致的tensor。" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [], + "source": [ + "# 设置默认tensor,注意参数是字符串\n", + "t.set_default_tensor_type('torch.IntTensor')" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + "-1.7683e+09 2.1918e+04 1.0000e+00\n", + " 0.0000e+00 1.0000e+00 0.0000e+00\n", + "[torch.IntTensor of size 2x3]" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a = t.Tensor(2,3)\n", + "a # 现在a是IntTensor" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + "-1.7683e+09 2.1918e+04 1.0000e+00\n", + " 0.0000e+00 1.0000e+00 0.0000e+00\n", + "[torch.FloatTensor of size 2x3]" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 把a转成FloatTensor,等价于b=a.type(t.FloatTensor)\n", + "b = a.float() \n", + "b" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + "-1.7683e+09 2.1918e+04 1.0000e+00\n", + " 0.0000e+00 1.0000e+00 0.0000e+00\n", + "[torch.FloatTensor of size 2x3]" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "c = a.type_as(b)\n", + "c" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + "-1.7682e+09 2.1918e+04 3.0000e+00\n", + " 0.0000e+00 1.0000e+00 0.0000e+00\n", + "[torch.IntTensor of size 2x3]" + ] + }, + "execution_count": 51, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "d = a.new(2,3) # 等价于torch.IntTensor(2,3)\n", + "d" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\u001b[0;31mSignature:\u001b[0m \u001b[0ma\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mnew\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mSource:\u001b[0m \n", + " \u001b[0;32mdef\u001b[0m \u001b[0mnew\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\n", + "\u001b[0;34m\u001b[0m \u001b[0;34mr\"\"\"Constructs a new tensor of the same data type as :attr:`self` tensor.\u001b[0m\n", + "\u001b[0;34m\u001b[0m\n", + "\u001b[0;34m Any valid argument combination to the tensor constructor is accepted by\u001b[0m\n", + "\u001b[0;34m this method, including sizes, :class:`torch.Storage`, NumPy ndarray,\u001b[0m\n", + "\u001b[0;34m Python Sequence, etc. See :ref:`torch.Tensor ` for more\u001b[0m\n", + "\u001b[0;34m details.\u001b[0m\n", + "\u001b[0;34m\u001b[0m\n", + "\u001b[0;34m .. note:: For CUDA tensors, this method will create new tensor on the\u001b[0m\n", + "\u001b[0;34m same device as this tensor.\u001b[0m\n", + "\u001b[0;34m \"\"\"\u001b[0m\u001b[0;34m\u001b[0m\n", + "\u001b[0;34m\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__class__\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mFile:\u001b[0m /usr/lib/python3.6/site-packages/torch/tensor.py\n", + "\u001b[0;31mType:\u001b[0m method\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 查看函数new的源码\n", + "a.new??" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": {}, + "outputs": [], + "source": [ + "# 恢复之前的默认设置\n", + "t.set_default_tensor_type('torch.FloatTensor')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 逐元素操作\n", + "\n", + "这部分操作会对tensor的每一个元素(point-wise,又名element-wise)进行操作,此类操作的输入与输出形状一致。常用的操作如表3-4所示。\n", + "\n", + "表3-4: 常见的逐元素操作\n", + "\n", + "|函数|功能|\n", + "|:--:|:--:|\n", + "|abs/sqrt/div/exp/fmod/log/pow..|绝对值/平方根/除法/指数/求余/求幂..|\n", + "|cos/sin/asin/atan2/cosh..|相关三角函数|\n", + "|ceil/round/floor/trunc| 上取整/四舍五入/下取整/只保留整数部分|\n", + "|clamp(input, min, max)|超过min和max部分截断|\n", + "|sigmod/tanh..|激活函数\n", + "\n", + "对于很多操作,例如div、mul、pow、fmod等,PyTorch都实现了运算符重载,所以可以直接使用运算符。如`a ** 2` 等价于`torch.pow(a,2)`, `a * 2`等价于`torch.mul(a,2)`。\n", + "\n", + "其中`clamp(x, min, max)`的输出满足以下公式:\n", + "$$\n", + "y_i =\n", + "\\begin{cases}\n", + "min, & \\text{if } x_i \\lt min \\\\\n", + "x_i, & \\text{if } min \\le x_i \\le max \\\\\n", + "max, & \\text{if } x_i \\gt max\\\\\n", + "\\end{cases}\n", + "$$\n", + "`clamp`常用在某些需要比较大小的地方,如取一个tensor的每个元素与另一个数的较大值。" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 1.0000 0.5403 -0.4161\n", + "-0.9900 -0.6536 0.2837\n", + "[torch.FloatTensor of size 2x3]" + ] + }, + "execution_count": 54, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a = t.arange(0, 6).view(2, 3)\n", + "t.cos(a)" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 0 1 2\n", + " 0 1 2\n", + "[torch.FloatTensor of size 2x3]" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a % 3 # 等价于t.fmod(a, 3)" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 0 1 4\n", + " 9 16 25\n", + "[torch.FloatTensor of size 2x3]" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a ** 2 # 等价于t.pow(a, 2)" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + " 0 1 2\n", + " 3 4 5\n", + "[torch.FloatTensor of size 2x3]\n", + "\n" + ] + }, + { + "data": { + "text/plain": [ + "\n", + " 3 3 3\n", + " 3 4 5\n", + "[torch.FloatTensor of size 2x3]" + ] + }, + "execution_count": 57, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 取a中的每一个元素与3相比较大的一个 (小于3的截断成3)\n", + "print(a)\n", + "t.clamp(a, min=3)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 归并操作 \n", + "此类操作会使输出形状小于输入形状,并可以沿着某一维度进行指定操作。如加法`sum`,既可以计算整个tensor的和,也可以计算tensor中每一行或每一列的和。常用的归并操作如表3-5所示。\n", + "\n", + "表3-5: 常用归并操作\n", + "\n", + "|函数|功能|\n", + "|:---:|:---:|\n", + "|mean/sum/median/mode|均值/和/中位数/众数|\n", + "|norm/dist|范数/距离|\n", + "|std/var|标准差/方差|\n", + "|cumsum/cumprod|累加/累乘|\n", + "\n", + "以上大多数函数都有一个参数**`dim`**,用来指定这些操作是在哪个维度上执行的。关于dim(对应于Numpy中的axis)的解释众说纷纭,这里提供一个简单的记忆方式:\n", + "\n", + "假设输入的形状是(m, n, k)\n", + "\n", + "- 如果指定dim=0,输出的形状就是(1, n, k)或者(n, k)\n", + "- 如果指定dim=1,输出的形状就是(m, 1, k)或者(m, k)\n", + "- 如果指定dim=2,输出的形状就是(m, n, 1)或者(m, n)\n", + "\n", + "size中是否有\"1\",取决于参数`keepdim`,`keepdim=True`会保留维度`1`。注意,以上只是经验总结,并非所有函数都符合这种形状变化方式,如`cumsum`。" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 2 2 2\n", + "[torch.FloatTensor of size 1x3]" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "b = t.ones(2, 3)\n", + "b.sum(dim = 0, keepdim=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 2\n", + " 2\n", + " 2\n", + "[torch.FloatTensor of size 3]" + ] + }, + "execution_count": 59, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# keepdim=False,不保留维度\"1\",注意形状\n", + "b.sum(dim=0, keepdim=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 3\n", + " 3\n", + "[torch.FloatTensor of size 2]" + ] + }, + "execution_count": 60, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "b.sum(dim=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + " 0 1 2\n", + " 3 4 5\n", + "[torch.FloatTensor of size 2x3]\n", + "\n" + ] + }, + { + "data": { + "text/plain": [ + "\n", + " 0 1 3\n", + " 3 7 12\n", + "[torch.FloatTensor of size 2x3]" + ] + }, + "execution_count": 61, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a = t.arange(0, 6).view(2, 3)\n", + "print(a)\n", + "a.cumsum(dim=1) # 沿着行累加" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 比较\n", + "比较函数中有一些是逐元素比较,操作类似于逐元素操作,还有一些则类似于归并操作。常用比较函数如表3-6所示。\n", + "\n", + "表3-6: 常用比较函数\n", + "\n", + "|函数|功能|\n", + "|:--:|:--:|\n", + "|gt/lt/ge/le/eq/ne|大于/小于/大于等于/小于等于/等于/不等|\n", + "|topk|最大的k个数|\n", + "|sort|排序|\n", + "|max/min|比较两个tensor最大最小值|\n", + "\n", + "表中第一行的比较操作已经实现了运算符重载,因此可以使用`a>=b`、`a>b`、`a!=b`、`a==b`,其返回结果是一个`ByteTensor`,可用来选取元素。max/min这两个操作比较特殊,以max来说,它有以下三种使用情况:\n", + "- t.max(tensor):返回tensor中最大的一个数\n", + "- t.max(tensor,dim):指定维上最大的数,返回tensor和下标\n", + "- t.max(tensor1, tensor2): 比较两个tensor相比较大的元素\n", + "\n", + "至于比较一个tensor和一个数,可以使用clamp函数。下面举例说明。" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 0 3 6\n", + " 9 12 15\n", + "[torch.FloatTensor of size 2x3]" + ] + }, + "execution_count": 62, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a = t.linspace(0, 15, 6).view(2, 3)\n", + "a" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 15 12 9\n", + " 6 3 0\n", + "[torch.FloatTensor of size 2x3]" + ] + }, + "execution_count": 63, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "b = t.linspace(15, 0, 6).view(2, 3)\n", + "b" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 0 0 0\n", + " 1 1 1\n", + "[torch.ByteTensor of size 2x3]" + ] + }, + "execution_count": 64, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a>b" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 9\n", + " 12\n", + " 15\n", + "[torch.FloatTensor of size 3]" + ] + }, + "execution_count": 65, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a[a>b] # a中大于b的元素" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "15.0" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "t.max(a)" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(\n", + " 15\n", + " 6\n", + " [torch.FloatTensor of size 2], \n", + " 0\n", + " 0\n", + " [torch.LongTensor of size 2])" + ] + }, + "execution_count": 67, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "t.max(b, dim=1) \n", + "# 第一个返回值的15和6分别表示第0行和第1行最大的元素\n", + "# 第二个返回值的0和0表示上述最大的数是该行第0个元素" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 15 12 9\n", + " 9 12 15\n", + "[torch.FloatTensor of size 2x3]" + ] + }, + "execution_count": 68, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "t.max(a,b)" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 10 10 10\n", + " 10 12 15\n", + "[torch.FloatTensor of size 2x3]" + ] + }, + "execution_count": 69, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 比较a和10较大的元素\n", + "t.clamp(a, min=10)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 线性代数\n", + "\n", + "PyTorch的线性函数主要封装了Blas和Lapack,其用法和接口都与之类似。常用的线性代数函数如表3-7所示。\n", + "\n", + "表3-7: 常用的线性代数函数\n", + "\n", + "|函数|功能|\n", + "|:---:|:---:|\n", + "|trace|对角线元素之和(矩阵的迹)|\n", + "|diag|对角线元素|\n", + "|triu/tril|矩阵的上三角/下三角,可指定偏移量|\n", + "|mm/bmm|矩阵乘法,batch的矩阵乘法|\n", + "|addmm/addbmm/addmv/addr/badbmm..|矩阵运算\n", + "|t|转置|\n", + "|dot/cross|内积/外积\n", + "|inverse|求逆矩阵\n", + "|svd|奇异值分解\n", + "\n", + "具体使用说明请参见官方文档[^3],需要注意的是,矩阵的转置会导致存储空间不连续,需调用它的`.contiguous`方法将其转为连续。\n", + "[^3]: http://pytorch.org/docs/torch.html#blas-and-lapack-operations" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "False" + ] + }, + "execution_count": 70, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "b = a.t()\n", + "b.is_contiguous()" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 0 9\n", + " 3 12\n", + " 6 15\n", + "[torch.FloatTensor of size 3x2]" + ] + }, + "execution_count": 71, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "b.contiguous()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.1.2 Tensor和Numpy\n", + "\n", + "Tensor和Numpy数组之间具有很高的相似性,彼此之间的互操作也非常简单高效。需要注意的是,Numpy和Tensor共享内存。由于Numpy历史悠久,支持丰富的操作,所以当遇到Tensor不支持的操作时,可先转成Numpy数组,处理后再转回tensor,其转换开销很小。" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1., 1., 1.],\n", + " [1., 1., 1.]], dtype=float32)" + ] + }, + "execution_count": 72, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import numpy as np\n", + "a = np.ones([2, 3],dtype=np.float32)\n", + "a" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 1 1 1\n", + " 1 1 1\n", + "[torch.FloatTensor of size 2x3]" + ] + }, + "execution_count": 73, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "b = t.from_numpy(a)\n", + "b" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 1 1 1\n", + " 1 1 1\n", + "[torch.FloatTensor of size 2x3]" + ] + }, + "execution_count": 74, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "b = t.Tensor(a) # 也可以直接将numpy对象传入Tensor\n", + "b" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 1 100 1\n", + " 1 1 1\n", + "[torch.FloatTensor of size 2x3]" + ] + }, + "execution_count": 75, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a[0, 1]=100\n", + "b" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 1., 100., 1.],\n", + " [ 1., 1., 1.]], dtype=float32)" + ] + }, + "execution_count": 76, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "c = b.numpy() # a, b, c三个对象共享内存\n", + "c" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**注意**: 当numpy的数据类型和Tensor的类型不一样的时候,数据会被复制,不会共享内存。" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[1., 1., 1.],\n", + " [1., 1., 1.]])" + ] + }, + "execution_count": 77, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a = np.ones([2, 3])\n", + "a # 注意和上面的a的区别(dtype不是float32)" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 1 1 1\n", + " 1 1 1\n", + "[torch.FloatTensor of size 2x3]" + ] + }, + "execution_count": 78, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "b = t.Tensor(a) # FloatTensor(double64或者float64)\n", + "b" + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 1 1 1\n", + " 1 1 1\n", + "[torch.DoubleTensor of size 2x3]" + ] + }, + "execution_count": 79, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "c = t.from_numpy(a) # 注意c的类型(DoubleTensor)\n", + "c" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 1 1 1\n", + " 1 1 1\n", + "[torch.FloatTensor of size 2x3]" + ] + }, + "execution_count": 80, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a[0, 1] = 100\n", + "b # b与a不通向内存,所以即使a改变了,b也不变" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 1 100 1\n", + " 1 1 1\n", + "[torch.DoubleTensor of size 2x3]" + ] + }, + "execution_count": 81, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "c # c与a共享内存" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "广播法则(broadcast)是科学运算中经常使用的一个技巧,它在快速执行向量化的同时不会占用额外的内存/显存。\n", + "Numpy的广播法则定义如下:\n", + "\n", + "- 让所有输入数组都向其中shape最长的数组看齐,shape中不足的部分通过在前面加1补齐\n", + "- 两个数组要么在某一个维度的长度一致,要么其中一个为1,否则不能计算 \n", + "- 当输入数组的某个维度的长度为1时,计算时沿此维度复制扩充成一样的形状\n", + "\n", + "PyTorch当前已经支持了自动广播法则,但是笔者还是建议读者通过以下两个函数的组合手动实现广播法则,这样更直观,更不易出错:\n", + "\n", + "- `unsqueeze`或者`view`:为数据某一维的形状补1,实现法则1\n", + "- `expand`或者`expand_as`,重复数组,实现法则3;该操作不会复制数组,所以不会占用额外的空间。\n", + "\n", + "注意,repeat实现与expand相类似的功能,但是repeat会把相同数据复制多份,因此会占用额外的空间。" + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "a = t.ones(3, 2)\n", + "b = t.zeros(2, 3,1)" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + "(0 ,.,.) = \n", + " 1 1\n", + " 1 1\n", + " 1 1\n", + "\n", + "(1 ,.,.) = \n", + " 1 1\n", + " 1 1\n", + " 1 1\n", + "[torch.FloatTensor of size 2x3x2]" + ] + }, + "execution_count": 83, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 自动广播法则\n", + "# 第一步:a是2维,b是3维,所以先在较小的a前面补1 ,\n", + "# 即:a.unsqueeze(0),a的形状变成(1,3,2),b的形状是(2,3,1),\n", + "# 第二步: a和b在第一维和第三维形状不一样,其中一个为1 ,\n", + "# 可以利用广播法则扩展,两个形状都变成了(2,3,2)\n", + "a+b" + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + "(0 ,.,.) = \n", + " 1 1\n", + " 1 1\n", + " 1 1\n", + "\n", + "(1 ,.,.) = \n", + " 1 1\n", + " 1 1\n", + " 1 1\n", + "[torch.FloatTensor of size 2x3x2]" + ] + }, + "execution_count": 84, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 手动广播法则\n", + "# 或者 a.view(1,3,2).expand(2,3,2)+b.expand(2,3,2)\n", + "a.unsqueeze(0).expand(2, 3, 2) + b.expand(2,3,2)" + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "metadata": {}, + "outputs": [], + "source": [ + "# expand不会占用额外空间,只会在需要的时候才扩充,可极大节省内存\n", + "e = a.unsqueeze(0).expand(10000000000000, 3,2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.1.3 内部结构\n", + "\n", + "tensor的数据结构如图3-1所示。tensor分为头信息区(Tensor)和存储区(Storage),信息区主要保存着tensor的形状(size)、步长(stride)、数据类型(type)等信息,而真正的数据则保存成连续数组。由于数据动辄成千上万,因此信息区元素占用内存较少,主要内存占用则取决于tensor中元素的数目,也即存储区的大小。\n", + "\n", + "一般来说一个tensor有着与之相对应的storage, storage是在data之上封装的接口,便于使用,而不同tensor的头信息一般不同,但却可能使用相同的数据。下面看两个例子。\n", + "\n", + "![图3-1: Tensor的数据结构](imgs/tensor_data_structure.svg)" + ] + }, + { + "cell_type": "code", + "execution_count": 86, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + " 0.0\n", + " 1.0\n", + " 2.0\n", + " 3.0\n", + " 4.0\n", + " 5.0\n", + "[torch.FloatStorage of size 6]" + ] + }, + "execution_count": 86, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a = t.arange(0, 6)\n", + "a.storage()" + ] + }, + { + "cell_type": "code", + "execution_count": 87, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + " 0.0\n", + " 1.0\n", + " 2.0\n", + " 3.0\n", + " 4.0\n", + " 5.0\n", + "[torch.FloatStorage of size 6]" + ] + }, + "execution_count": 87, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "b = a.view(2, 3)\n", + "b.storage()" + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 88, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 一个对象的id值可以看作它在内存中的地址\n", + "# storage的内存地址一样,即是同一个storage\n", + "id(b.storage()) == id(a.storage())" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 0 100 2\n", + " 3 4 5\n", + "[torch.FloatTensor of size 2x3]" + ] + }, + "execution_count": 89, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# a改变,b也随之改变,因为他们共享storage\n", + "a[1] = 100\n", + "b" + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + " 0.0\n", + " 100.0\n", + " 2.0\n", + " 3.0\n", + " 4.0\n", + " 5.0\n", + "[torch.FloatStorage of size 6]" + ] + }, + "execution_count": 90, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "c = a[2:] \n", + "c.storage()" + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(94139619931688, 94139619931680)" + ] + }, + "execution_count": 91, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "c.data_ptr(), a.data_ptr() # data_ptr返回tensor首元素的内存地址\n", + "# 可以看出相差8,这是因为2*4=8--相差两个元素,每个元素占4个字节(float)" + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 0\n", + " 100\n", + "-100\n", + " 3\n", + " 4\n", + " 5\n", + "[torch.FloatTensor of size 6]" + ] + }, + "execution_count": 92, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "c[0] = -100 # c[0]的内存地址对应a[2]的内存地址\n", + "a" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 6666 100 -100\n", + " 3 4 5\n", + "[torch.FloatTensor of size 2x3]" + ] + }, + "execution_count": 93, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "d = t.Tensor(c.storage())\n", + "d[0] = 6666\n", + "b" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 94, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 下面4个tensor共享storage\n", + "id(a.storage()) == id(b.storage()) == id(c.storage()) == id(d.storage())" + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(0, 2, 0)" + ] + }, + "execution_count": 95, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a.storage_offset(), c.storage_offset(), d.storage_offset()" + ] + }, + { + "cell_type": "code", + "execution_count": 96, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 96, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "e = b[::2, ::2] # 隔2行/列取一个元素\n", + "id(e.storage()) == id(a.storage())" + ] + }, + { + "cell_type": "code", + "execution_count": 97, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "((3, 1), (6, 2))" + ] + }, + "execution_count": 97, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "b.stride(), e.stride()" + ] + }, + { + "cell_type": "code", + "execution_count": 98, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "False" + ] + }, + "execution_count": 98, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "e.is_contiguous()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可见绝大多数操作并不修改tensor的数据,而只是修改了tensor的头信息。这种做法更节省内存,同时提升了处理速度。在使用中需要注意。\n", + "此外有些操作会导致tensor不连续,这时需调用`tensor.contiguous`方法将它们变成连续的数据,该方法会使数据复制一份,不再与原来的数据共享storage。\n", + "另外读者可以思考一下,之前说过的高级索引一般不共享stroage,而普通索引共享storage,这是为什么?(提示:普通索引可以通过只修改tensor的offset,stride和size,而不修改storage来实现)。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.1.4 其它有关Tensor的话题\n", + "这部分的内容不好专门划分一小节,但是笔者认为仍值得读者注意,故而将其放在这一小节。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 持久化\n", + "Tensor的保存和加载十分的简单,使用t.save和t.load即可完成相应的功能。在save/load时可指定使用的`pickle`模块,在load时还可将GPU tensor映射到CPU或其它GPU上。" + ] + }, + { + "cell_type": "code", + "execution_count": 99, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "if t.cuda.is_available():\n", + " a = a.cuda(1) # 把a转为GPU1上的tensor,\n", + " t.save(a,'a.pth')\n", + "\n", + " # 加载为b, 存储于GPU1上(因为保存时tensor就在GPU1上)\n", + " b = t.load('a.pth')\n", + " # 加载为c, 存储于CPU\n", + " c = t.load('a.pth', map_location=lambda storage, loc: storage)\n", + " # 加载为d, 存储于GPU0上\n", + " d = t.load('a.pth', map_location={'cuda:1':'cuda:0'})" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 向量化" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "向量化计算是一种特殊的并行计算方式,相对于一般程序在同一时间只执行一个操作的方式,它可在同一时间执行多个操作,通常是对不同的数据执行同样的一个或一批指令,或者说把指令应用于一个数组/向量上。向量化可极大提高科学运算的效率,Python本身是一门高级语言,使用很方便,但这也意味着很多操作很低效,尤其是`for`循环。在科学计算程序中应当极力避免使用Python原生的`for循环`。" + ] + }, + { + "cell_type": "code", + "execution_count": 100, + "metadata": {}, + "outputs": [], + "source": [ + "def for_loop_add(x, y):\n", + " result = []\n", + " for i,j in zip(x, y):\n", + " result.append(i + j)\n", + " return t.Tensor(result)" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "222 µs ± 81.9 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n", + "The slowest run took 11.03 times longer than the fastest. This could mean that an intermediate result is being cached.\n", + "5.58 µs ± 7.27 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" + ] + } + ], + "source": [ + "x = t.zeros(100)\n", + "y = t.ones(100)\n", + "%timeit -n 10 for_loop_add(x, y)\n", + "%timeit -n 10 x + y" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可见二者有超过40倍的速度差距,因此在实际使用中应尽量调用内建函数(buildin-function),这些函数底层由C/C++实现,能通过执行底层优化实现高效计算。因此在平时写代码时,就应养成向量化的思维习惯。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "此外还有以下几点需要注意:\n", + "- 大多数`t.function`都有一个参数`out`,这时候产生的结果将保存在out指定tensor之中。\n", + "- `t.set_num_threads`可以设置PyTorch进行CPU多线程并行计算时候所占用的线程数,这个可以用来限制PyTorch所占用的CPU数目。\n", + "- `t.set_printoptions`可以用来设置打印tensor时的数值精度和格式。\n", + "下面举例说明。" + ] + }, + { + "cell_type": "code", + "execution_count": 102, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "16777216.0 16777216.0\n" + ] + }, + { + "data": { + "text/plain": [ + "(199999, 199998)" + ] + }, + "execution_count": 102, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a = t.arange(0, 20000000)\n", + "print(a[-1], a[-2]) # 32bit的IntTensor精度有限导致溢出\n", + "b = t.LongTensor()\n", + "t.arange(0, 200000, out=b) # 64bit的LongTensor不会溢出\n", + "b[-1],b[-2]" + ] + }, + { + "cell_type": "code", + "execution_count": 103, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + "-0.6379 0.5422 0.0413\n", + " 0.4575 0.8977 2.3465\n", + "[torch.FloatTensor of size 2x3]" + ] + }, + "execution_count": 103, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a = t.randn(2,3)\n", + "a" + ] + }, + { + "cell_type": "code", + "execution_count": 104, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + "-0.6378980875 0.5421655774 0.0412697867\n", + "0.4574612975 0.8976946473 2.3464736938\n", + "[torch.FloatTensor of size 2x3]" + ] + }, + "execution_count": 104, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "t.set_printoptions(precision=10)\n", + "a" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 3.1.5 小试牛刀:线性回归" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "线性回归是机器学习入门知识,应用十分广泛。线性回归利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的,其表达形式为$y = wx+b+e$,$e$为误差服从均值为0的正态分布。首先让我们来确认线性回归的损失函数:\n", + "$$\n", + "loss = \\sum_i^N \\frac 1 2 ({y_i-(wx_i+b)})^2\n", + "$$\n", + "然后利用随机梯度下降法更新参数$\\textbf{w}$和$\\textbf{b}$来最小化损失函数,最终学得$\\textbf{w}$和$\\textbf{b}$的数值。" + ] + }, + { + "cell_type": "code", + "execution_count": 105, + "metadata": {}, + "outputs": [], + "source": [ + "import torch as t\n", + "%matplotlib inline\n", + "from matplotlib import pyplot as plt\n", + "from IPython import display" + ] + }, + { + "cell_type": "code", + "execution_count": 106, + "metadata": {}, + "outputs": [], + "source": [ + "# 设置随机数种子,保证在不同电脑上运行时下面的输出一致\n", + "t.manual_seed(1000) \n", + "\n", + "def get_fake_data(batch_size=8):\n", + " ''' 产生随机数据:y=x*2+3,加上了一些噪声'''\n", + " x = t.rand(batch_size, 1) * 20\n", + " y = x * 2 + (1 + t.randn(batch_size, 1))*3\n", + " return x, y" + ] + }, + { + "cell_type": "code", + "execution_count": 107, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 107, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 来看看产生的x-y分布\n", + "x, y = get_fake_data()\n", + "plt.scatter(x.squeeze().numpy(), y.squeeze().numpy())" + ] + }, + { + "cell_type": "code", + "execution_count": 108, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1.9918575286865234 2.954965829849243\n" + ] + } + ], + "source": [ + "# 随机初始化参数\n", + "w = t.rand(1, 1) \n", + "b = t.zeros(1, 1)\n", + "\n", + "lr =0.001 # 学习率\n", + "\n", + "for ii in range(20000):\n", + " x, y = get_fake_data()\n", + " \n", + " # forward:计算loss\n", + " y_pred = x.mm(w) + b.expand_as(y) # x@W等价于x.mm(w);for python3 only\n", + " loss = 0.5 * (y_pred - y) ** 2 # 均方误差\n", + " loss = loss.sum()\n", + " \n", + " # backward:手动计算梯度\n", + " dloss = 1\n", + " dy_pred = dloss * (y_pred - y)\n", + " \n", + " dw = x.t().mm(dy_pred)\n", + " db = dy_pred.sum()\n", + " \n", + " # 更新参数\n", + " w.sub_(lr * dw)\n", + " b.sub_(lr * db)\n", + " \n", + " if ii%1000 ==0:\n", + " \n", + " # 画图\n", + " display.clear_output(wait=True)\n", + " x = t.arange(0, 20).view(-1, 1)\n", + " y = x.mm(w) + b.expand_as(x)\n", + " plt.plot(x.numpy(), y.numpy()) # predicted\n", + " \n", + " x2, y2 = get_fake_data(batch_size=20) \n", + " plt.scatter(x2.numpy(), y2.numpy()) # true data\n", + " \n", + " plt.xlim(0, 20)\n", + " plt.ylim(0, 41)\n", + " plt.show()\n", + " plt.pause(0.5)\n", + " \n", + "print(w.squeeze()[0], b.squeeze()[0])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可见程序已经基本学出w=2、b=3,并且图中直线和数据已经实现较好的拟合。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "虽然上面提到了许多操作,但是只要掌握了这个例子基本上就可以了,其他的知识,读者日后遇到的时候,可以再看看这部份的内容或者查找对应文档。\n" + ] + } + ], + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/1_NN/bp.ipynb b/2_pytorch/1_NN/bp.ipynb new file mode 100644 index 0000000..c1b811b --- /dev/null +++ b/2_pytorch/1_NN/bp.ipynb @@ -0,0 +1,128 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 反向传播算法\n", + "\n", + "前面我们介绍了三个模型,整个处理的基本流程都是定义模型,读入数据,给出损失函数$f$,通过梯度下降法更新参数。PyTorch 提供了非常简单的自动求导帮助我们求解导数,对于比较简单的模型,我们也能手动求出参数的梯度,但是对于非常复杂的模型,比如一个 100 层的网络,我们如何能够有效地手动求出这个梯度呢?这里就需要引入反向传播算法,自动求导本质是就是一个反向传播算法。\n", + "\n", + "反向传播算法是一个有效地求解梯度的算法,本质上其实就是一个链式求导法则的应用,然而这个如此简单而且显而易见的方法却是在 Roseblatt 提出感知机算法后将近 30 年才被发明和普及的,对此 Bengio 这样说道:“很多看似显而易见的想法只有在事后才变得的显而易见。”\n", + "\n", + "下面我们就来详细将一讲什么是反向传播算法。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 链式法则\n", + "\n", + "首先来简单地介绍一下链式法则,考虑一个简单的函数,比如\n", + "$$f(x, y, z) = (x + y)z$$\n", + "\n", + "我们当然可以直接求出这个函数的微分,但是这里我们要使用链式法则,令\n", + "$$q=x+y$$\n", + "\n", + "那么\n", + "\n", + "$$f = qz$$\n", + "\n", + "对于这两个式子,我们可以分别求出他们的微分 \n", + "\n", + "$$\\frac{\\partial f}{\\partial q} = z, \\frac{\\partial f}{\\partial z}=q$$\n", + "\n", + "同时$q$是$x$和$y$的求和,所以我们能够得到\n", + "\n", + "$$\\frac{\\partial q}{x} = 1, \\frac{\\partial q}{y} = 1$$\n", + "\n", + "我们关心的问题是\n", + "\n", + "$$\\frac{\\partial f}{\\partial x}, \\frac{\\partial f}{\\partial y}, \\frac{\\partial f}{\\partial z}$$\n", + "\n", + "链式法则告诉我们如何来计算出他们的值\n", + "\n", + "$$\n", + "\\frac{\\partial f}{\\partial x} = \\frac{\\partial f}{\\partial q}\\frac{\\partial q}{\\partial x}\n", + "$$\n", + "$$\n", + "\\frac{\\partial f}{\\partial y} = \\frac{\\partial f}{\\partial q}\\frac{\\partial q}{\\partial y}\n", + "$$\n", + "$$\n", + "\\frac{\\partial f}{\\partial z} = q\n", + "$$\n", + "\n", + "通过链式法则我们知道如果我们需要对其中的元素求导,那么我们可以一层一层求导然后将结果乘起来,这就是链式法则的核心,也是反向传播算法的核心,更多关于链式法则的算法,可以访问这个[文档](https://zh.wikipedia.org/wiki/%E9%93%BE%E5%BC%8F%E6%B3%95%E5%88%99)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 反向传播算法\n", + "\n", + "了解了链式法则,我们就可以开始介绍反向传播算法了,本质上反向传播算法只是链式法则的一个应用。我们还是使用之前那个相同的例子$q=x+y, f=qz$,通过计算图可以将这个计算过程表达出来\n", + "\n", + "![](https://ws1.sinaimg.cn/large/006tNc79ly1fmiozcinyzj30c806vglk.jpg)\n", + "\n", + "上面绿色的数字表示其数值,下面红色的数字表示求出的梯度,我们可以一步一步看看反向传播算法的实现。首先从最后开始,梯度当然是1,然后计算\n", + "\n", + "$$\\frac{\\partial f}{\\partial q} = z = -4,\\ \\frac{\\partial f}{\\partial z} = q = 3$$\n", + "\n", + "接着我们计算\n", + "$$\\frac{\\partial f}{\\partial x} = \\frac{\\partial f}{\\partial q} \\frac{\\partial q}{\\partial x} = -4 \\times 1 = -4,\\ \\frac{\\partial f}{\\partial y} = \\frac{\\partial f}{\\partial q} \\frac{\\partial q}{\\partial y} = -4 \\times 1 = -4$$\n", + "\n", + "这样一步一步我们就求出了$\\nabla f(x, y, z)$。\n", + "\n", + "直观上看反向传播算法是一个优雅的局部过程,每次求导只是对当前的运算求导,求解每层网络的参数都是通过链式法则将前面的结果求出不断迭代到这一层,所以说这是一个传播过程\n", + "\n", + "### Sigmoid函数举例\n", + "\n", + "下面我们通过Sigmoid函数来演示反向传播过程在一个复杂的函数上是如何进行的。\n", + "\n", + "$$\n", + "f(w, x) = \\frac{1}{1+e^{-(w_0 x_0 + w_1 x_1 + w_2)}}\n", + "$$\n", + "\n", + "我们需要求解出\n", + "$$\\frac{\\partial f}{\\partial w_0}, \\frac{\\partial f}{\\partial w_1}, \\frac{\\partial f}{\\partial w_2}$$\n", + "\n", + "首先我们将这个函数抽象成一个计算图来表示,即\n", + "$$\n", + " f(x) = \\frac{1}{x} \\\\\n", + " f_c(x) = 1 + x \\\\\n", + " f_e(x) = e^x \\\\\n", + " f_w(x) = -(w_0 x_0 + w_1 x_1 + w_2)\n", + "$$\n", + "\n", + "这样我们就能够画出下面的计算图\n", + "\n", + "![](https://ws1.sinaimg.cn/large/006tNc79ly1fmip1va5qjj30lb08e0t0.jpg)\n", + "\n", + "同样上面绿色的数子表示数值,下面红色的数字表示梯度,我们从后往前计算一下各个参数的梯度。首先最后面的梯度是1,,然后经过$\\frac{1}{x}$这个函数,这个函数的梯度是$-\\frac{1}{x^2}$,所以往前传播的梯度是$1 \\times -\\frac{1}{1.37^2} = -0.53$,然后是$+1$这个操作,梯度不变,接着是$e^x$这个运算,它的梯度就是$-0.53 \\times e^{-1} = -0.2$,这样不断往后传播就能够求得每个参数的梯度。" + ] + } + ], + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/1_NN/deep-nn.ipynb b/2_pytorch/1_NN/deep-nn.ipynb new file mode 100644 index 0000000..6cd0290 --- /dev/null +++ b/2_pytorch/1_NN/deep-nn.ipynb @@ -0,0 +1,703 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 深层神经网络\n", + "前面一章我们简要介绍了神经网络的一些基本知识,同时也是示范了如何用神经网络构建一个复杂的非线性二分类器,更多的情况神经网络适合使用在更加复杂的情况,比如图像分类的问题,下面我们用深度学习的入门级数据集 MNIST 手写体分类来说明一下更深层神经网络的优良表现。\n", + "\n", + "## MNIST 数据集\n", + "mnist 数据集是一个非常出名的数据集,基本上很多网络都将其作为一个测试的标准,其来自美国国家标准与技术研究所, National Institute of Standards and Technology (NIST)。 训练集 (training set) 由来自 250 个不同人手写的数字构成, 其中 50% 是高中学生, 50% 来自人口普查局 (the Census Bureau) 的工作人员,一共有 60000 张图片。 测试集(test set) 也是同样比例的手写数字数据,一共有 10000 张图片。\n", + "\n", + "每张图片大小是 28 x 28 的灰度图,如下\n", + "\n", + "![](https://ws3.sinaimg.cn/large/006tKfTcly1fmlx2wl5tqj30ge0au745.jpg)\n", + "\n", + "所以我们的任务就是给出一张图片,我们希望区别出其到底属于 0 到 9 这 10 个数字中的哪一个。\n", + "\n", + "## 多分类问题\n", + "前面我们讲过二分类问题,现在处理的问题更加复杂,是一个 10 分类问题,统称为多分类问题,对于多分类问题而言,我们的 loss 函数使用一个更加复杂的函数,叫交叉熵。\n", + "\n", + "### softmax\n", + "提到交叉熵,我们先讲一下 softmax 函数,前面我们见过了 sigmoid 函数,如下\n", + "\n", + "$$s(x) = \\frac{1}{1 + e^{-x}}$$\n", + "\n", + "可以将任何一个值转换到 0 ~ 1 之间,当然对于一个二分类问题,这样就足够了,因为对于二分类问题,如果不属于第一类,那么必定属于第二类,所以只需要用一个值来表示其属于其中一类概率,但是对于多分类问题,这样并不行,需要知道其属于每一类的概率,这个时候就需要 softmax 函数了。\n", + "\n", + "softmax 函数示例如下\n", + "\n", + "![](https://ws4.sinaimg.cn/large/006tKfTcly1fmlxtnfm4fj30ll0bnq3c.jpg)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "对于网络的输出 $z_1, z_2, \\cdots z_k$,我们首先对他们每个都取指数变成 $e^{z_1}, e^{z_2}, \\cdots, e^{z_k}$,那么每一项都除以他们的求和,也就是\n", + "\n", + "$$\n", + "z_i \\rightarrow \\frac{e^{z_i}}{\\sum_{j=1}^{k} e^{z_j}}\n", + "$$\n", + "\n", + "如果对经过 softmax 函数的所有项求和就等于 1,所以他们每一项都分别表示属于其中某一类的概率。\n", + "\n", + "## 交叉熵\n", + "交叉熵衡量两个分布相似性的一种度量方式,前面讲的二分类问题的 loss 函数就是交叉熵的一种特殊情况,交叉熵的一般公式为\n", + "\n", + "$$\n", + "cross\\_entropy(p, q) = E_{p}[-\\log q] = - \\frac{1}{m} \\sum_{x} p(x) \\log q(x)\n", + "$$\n", + "\n", + "对于二分类问题我们可以写成\n", + "\n", + "$$\n", + "-\\frac{1}{m} \\sum_{i=1}^m (y^{i} \\log sigmoid(x^{i}) + (1 - y^{i}) \\log (1 - sigmoid(x^{i}))\n", + "$$\n", + "\n", + "这就是我们之前讲的二分类问题的 loss,当时我们并没有解释原因,只是给出了公式,然后解释了其合理性,现在我们给出了公式去证明这样取 loss 函数是合理的\n", + "\n", + "交叉熵是信息理论里面的内容,这里不再具体展开,更多的内容,可以看到下面的[链接](http://blog.csdn.net/rtygbwwwerr/article/details/50778098)\n", + "\n", + "下面我们直接用 mnist 举例,讲一讲深度神经网络" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import torch\n", + "from torchvision.datasets import mnist # 导入 pytorch 内置的 mnist 数据\n", + "\n", + "from torch import nn\n", + "from torch.autograd import Variable" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Downloading http://yann.lecun.com/exdb/mnist/train-images-idx3-ubyte.gz\n", + "Downloading http://yann.lecun.com/exdb/mnist/train-labels-idx1-ubyte.gz\n", + "Downloading http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz\n", + "Downloading http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz\n", + "Processing...\n", + "Done!\n" + ] + } + ], + "source": [ + "# 使用内置函数下载 mnist 数据集\n", + "train_set = mnist.MNIST('./data', train=True, download=True)\n", + "test_set = mnist.MNIST('./data', train=False, download=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "我们可以看看其中的一个数据是什么样子的" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "a_data, a_label = train_set[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAAAAABXZoBIAAABAElEQVR4nGNgGMyAWUhIqK5jvdSy\n/9/rGRgYGFhgEnJsVjYCwQwMDAxPJgV+vniQgYGBgREqZ7iXH8r6l/SV4dn7m8gmCt3++/fv37/H\ntn3/iMW+gDnZf/+e5WbQnoXNNXyMs/5GoQoxwVmf/n9kSGFiwAW49/11wynJoPzx4YIcRlyygR/+\n/i2XxCWru+vv32nSuGQFYv/83Y3b4p9/fzpAmSyoMnohpiwM1w5h06Q+5enfv39/bcMiJVF09+/f\nv39P+mFKiTtd/fv3799jgZiBJLT69t+/f/8eDuDEkDJf8+jv379/v7Ryo4qzMDAwMAQGMjBc3/y3\n5wM2V1IfAABFF16Aa0wAOwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a_data" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "5" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "a_label" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "这里的读入的数据是 PIL 库中的格式,我们可以非常方便地将其转换为 numpy array" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(28, 28)\n" + ] + } + ], + "source": [ + "a_data = np.array(a_data, dtype='float32')\n", + "print(a_data.shape)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "这里我们可以看到这种图片的大小是 28 x 28" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 3. 18.\n", + " 18. 18. 126. 136. 175. 26. 166. 255. 247. 127. 0. 0. 0. 0.]\n", + " [ 0. 0. 0. 0. 0. 0. 0. 0. 30. 36. 94. 154. 170. 253.\n", + " 253. 253. 253. 253. 225. 172. 253. 242. 195. 64. 0. 0. 0. 0.]\n", + " [ 0. 0. 0. 0. 0. 0. 0. 49. 238. 253. 253. 253. 253. 253.\n", + " 253. 253. 253. 251. 93. 82. 82. 56. 39. 0. 0. 0. 0. 0.]\n", + " [ 0. 0. 0. 0. 0. 0. 0. 18. 219. 253. 253. 253. 253. 253.\n", + " 198. 182. 247. 241. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [ 0. 0. 0. 0. 0. 0. 0. 0. 80. 156. 107. 253. 253. 205.\n", + " 11. 0. 43. 154. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 14. 1. 154. 253. 90.\n", + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 139. 253. 190.\n", + " 2. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 11. 190. 253.\n", + " 70. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 35. 241.\n", + " 225. 160. 108. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 81.\n", + " 240. 253. 253. 119. 25. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 45. 186. 253. 253. 150. 27. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 16. 93. 252. 253. 187. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 249. 253. 249. 64. 0. 0. 0. 0. 0. 0. 0.]\n", + " [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 46. 130. 183. 253. 253. 207. 2. 0. 0. 0. 0. 0. 0. 0.]\n", + " [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 39. 148.\n", + " 229. 253. 253. 253. 250. 182. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 24. 114. 221. 253.\n", + " 253. 253. 253. 201. 78. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [ 0. 0. 0. 0. 0. 0. 0. 0. 23. 66. 213. 253. 253. 253.\n", + " 253. 198. 81. 2. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [ 0. 0. 0. 0. 0. 0. 18. 171. 219. 253. 253. 253. 253. 195.\n", + " 80. 9. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [ 0. 0. 0. 0. 55. 172. 226. 253. 253. 253. 253. 244. 133. 11.\n", + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [ 0. 0. 0. 0. 136. 253. 253. 253. 212. 135. 132. 16. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]\n", + " [ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.\n", + " 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]]\n" + ] + } + ], + "source": [ + "print(a_data)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "我们可以将数组展示出来,里面的 0 就表示黑色,255 表示白色\n", + "\n", + "对于神经网络,我们第一层的输入就是 28 x 28 = 784,所以必须将得到的数据我们做一个变换,使用 reshape 将他们拉平成一个一维向量" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "def data_tf(x):\n", + " x = np.array(x, dtype='float32') / 255\n", + " x = (x - 0.5) / 0.5 # 标准化,这个技巧之后会讲到\n", + " x = x.reshape((-1,)) # 拉平\n", + " x = torch.from_numpy(x)\n", + " return x\n", + "\n", + "train_set = mnist.MNIST('./data', train=True, transform=data_tf, download=True) # 重新载入数据集,申明定义的数据变换\n", + "test_set = mnist.MNIST('./data', train=False, transform=data_tf, download=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "torch.Size([784])\n", + "5\n" + ] + } + ], + "source": [ + "a, a_label = train_set[0]\n", + "print(a.shape)\n", + "print(a_label)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "from torch.utils.data import DataLoader\n", + "# 使用 pytorch 自带的 DataLoader 定义一个数据迭代器\n", + "train_data = DataLoader(train_set, batch_size=64, shuffle=True)\n", + "test_data = DataLoader(test_set, batch_size=128, shuffle=False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "使用这样的数据迭代器是非常有必要的,如果数据量太大,就无法一次将他们全部读入内存,所以需要使用 python 迭代器,每次生成一个批次的数据" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "a, a_label = next(iter(train_data))" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "torch.Size([64, 784])\n", + "torch.Size([64])\n" + ] + } + ], + "source": [ + "# 打印出一个批次的数据大小\n", + "print(a.shape)\n", + "print(a_label.shape)" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 使用 Sequential 定义 4 层神经网络\n", + "net = nn.Sequential(\n", + " nn.Linear(784, 400),\n", + " nn.ReLU(),\n", + " nn.Linear(400, 200),\n", + " nn.ReLU(),\n", + " nn.Linear(200, 100),\n", + " nn.ReLU(),\n", + " nn.Linear(100, 10)\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Sequential(\n", + " (0): Linear(in_features=784, out_features=400)\n", + " (1): ReLU()\n", + " (2): Linear(in_features=400, out_features=200)\n", + " (3): ReLU()\n", + " (4): Linear(in_features=200, out_features=100)\n", + " (5): ReLU()\n", + " (6): Linear(in_features=100, out_features=10)\n", + ")" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "net" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "交叉熵在 pytorch 中已经内置了,交叉熵的数值稳定性更差,所以内置的函数已经帮我们解决了这个问题" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 定义 loss 函数\n", + "criterion = nn.CrossEntropyLoss()\n", + "optimizer = torch.optim.SGD(net.parameters(), 1e-1) # 使用随机梯度下降,学习率 0.1" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch: 0, Train Loss: 0.525527, Train Acc: 0.830690, Eval Loss: 0.214004, Eval Acc: 0.929292\n", + "epoch: 1, Train Loss: 0.169223, Train Acc: 0.948527, Eval Loss: 0.156571, Eval Acc: 0.951048\n", + "epoch: 2, Train Loss: 0.119509, Train Acc: 0.962537, Eval Loss: 0.141246, Eval Acc: 0.955301\n", + "epoch: 3, Train Loss: 0.093633, Train Acc: 0.970349, Eval Loss: 0.096926, Eval Acc: 0.970036\n", + "epoch: 4, Train Loss: 0.077827, Train Acc: 0.975413, Eval Loss: 0.088236, Eval Acc: 0.971025\n", + "epoch: 5, Train Loss: 0.062835, Train Acc: 0.980211, Eval Loss: 0.090155, Eval Acc: 0.973200\n", + "epoch: 6, Train Loss: 0.053678, Train Acc: 0.983109, Eval Loss: 0.084136, Eval Acc: 0.974189\n", + "epoch: 7, Train Loss: 0.056607, Train Acc: 0.982343, Eval Loss: 0.075727, Eval Acc: 0.976562\n", + "epoch: 8, Train Loss: 0.040552, Train Acc: 0.986774, Eval Loss: 0.065600, Eval Acc: 0.980024\n", + "epoch: 9, Train Loss: 0.034272, Train Acc: 0.989272, Eval Loss: 0.121962, Eval Acc: 0.963212\n", + "epoch: 10, Train Loss: 0.030490, Train Acc: 0.990005, Eval Loss: 0.067141, Eval Acc: 0.979233\n", + "epoch: 11, Train Loss: 0.027200, Train Acc: 0.991188, Eval Loss: 0.160441, Eval Acc: 0.953521\n", + "epoch: 12, Train Loss: 0.023948, Train Acc: 0.991904, Eval Loss: 0.076049, Eval Acc: 0.980123\n", + "epoch: 13, Train Loss: 0.018909, Train Acc: 0.993503, Eval Loss: 0.065272, Eval Acc: 0.980518\n", + "epoch: 14, Train Loss: 0.017229, Train Acc: 0.994386, Eval Loss: 0.067790, Eval Acc: 0.981309\n", + "epoch: 15, Train Loss: 0.014564, Train Acc: 0.995253, Eval Loss: 0.067104, Eval Acc: 0.981804\n", + "epoch: 16, Train Loss: 0.013621, Train Acc: 0.995819, Eval Loss: 0.076764, Eval Acc: 0.980716\n", + "epoch: 17, Train Loss: 0.012969, Train Acc: 0.995836, Eval Loss: 0.154731, Eval Acc: 0.963805\n", + "epoch: 18, Train Loss: 0.012531, Train Acc: 0.996202, Eval Loss: 0.098053, Eval Acc: 0.975574\n", + "epoch: 19, Train Loss: 0.010139, Train Acc: 0.996635, Eval Loss: 0.072089, Eval Acc: 0.982002\n" + ] + } + ], + "source": [ + "# 开始训练\n", + "losses = []\n", + "acces = []\n", + "eval_losses = []\n", + "eval_acces = []\n", + "\n", + "for e in range(20):\n", + " train_loss = 0\n", + " train_acc = 0\n", + " net.train()\n", + " for im, label in train_data:\n", + " im = Variable(im)\n", + " label = Variable(label)\n", + " # 前向传播\n", + " out = net(im)\n", + " loss = criterion(out, label)\n", + " # 反向传播\n", + " optimizer.zero_grad()\n", + " loss.backward()\n", + " optimizer.step()\n", + " # 记录误差\n", + " train_loss += loss.data[0]\n", + " # 计算分类的准确率\n", + " _, pred = out.max(1)\n", + " num_correct = (pred == label).sum().data[0]\n", + " acc = num_correct / im.shape[0]\n", + " train_acc += acc\n", + " \n", + " losses.append(train_loss / len(train_data))\n", + " acces.append(train_acc / len(train_data))\n", + " # 在测试集上检验效果\n", + " eval_loss = 0\n", + " eval_acc = 0\n", + " net.eval() # 将模型改为预测模式\n", + " for im, label in test_data:\n", + " im = Variable(im)\n", + " label = Variable(label)\n", + " out = net(im)\n", + " loss = criterion(out, label)\n", + " # 记录误差\n", + " eval_loss += loss.data[0]\n", + " # 记录准确率\n", + " _, pred = out.max(1)\n", + " num_correct = (pred == label).sum().data[0]\n", + " acc = num_correct / im.shape[0]\n", + " eval_acc += acc\n", + " \n", + " eval_losses.append(eval_loss / len(test_data))\n", + " eval_acces.append(eval_acc / len(test_data))\n", + " print('epoch: {}, Train Loss: {:.6f}, Train Acc: {:.6f}, Eval Loss: {:.6f}, Eval Acc: {:.6f}'\n", + " .format(e, train_loss / len(train_data), train_acc / len(train_data), \n", + " eval_loss / len(test_data), eval_acc / len(test_data)))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "画出 loss 曲线和 准确率曲线" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.title('train loss')\n", + "plt.plot(np.arange(len(losses)), losses)" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(np.arange(len(acces)), acces)\n", + "plt.title('train acc')" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nPsT8gwlEaAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(np.arange(len(eval_losses)), eval_losses)\n", + "plt.title('test loss')" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(np.arange(len(eval_acces)), eval_acces)\n", + "plt.title('test acc')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到我们的三层网络在训练集上能够达到 99.9% 的准确率,测试集上能够达到 98.20% 的准确率" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**小练习:看一看上面的训练过程,看一下准确率是怎么计算出来的,特别注意 max 这个函数**\n", + "\n", + "**自己重新实现一个新的网络,试试改变隐藏层的数目和激活函数,看看有什么新的结果**" + ] + } + ], + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/1_NN/imgs/ResNet.png b/2_pytorch/1_NN/imgs/ResNet.png new file mode 100644 index 0000000000000000000000000000000000000000..ef45c0be0144fca1c5bb34d35ad2967c9802678b GIT binary patch literal 104058 zcmce;Wn5Ox+cvsDqy=dSK>=x{k&u#$l5XklPH9lOMMCKg>6S(s=?3YLkXE|)T&Tvf z{~?(Q%LqeIc@)N#{#|hV$WTI227=saAjsDrf-b-*-%SW|W`UqBJqY6c1VKc0$@K~^ zzy)LjDRCHd3;!>@DK7?`L2;6l5k*->CcuW+Wx5G7z{8LvOjy}=VezbaJS=sP(x6cd=w%(_>0|kRW ziHCR`l;97q9Vr4F_H?iaQ-MP^R_S5*WogX+pD(kqDt_kBZDPj3F*kT8W@M0=m9@OL z7kO}C*JD&c=Ea;K9SHti+t5J8%d4>?PD`123wq4P`c$I|f?VC*GZk}Qy{@rJ7%9|L z{EXih|5POBRov3gpPx^fVK8a|jDVLJ_xVsM6^TelLT%>jKkqs^Idzojw+}aac_`=0 zBgo3iwy|PhU_^N2-;70ugtV@9N7Q2!JC4> zxYEk<^7oN3AG}}PZ{H%uiT(?mX3{!BUm3wOUv44^||q+ z0q1Fg2{fJz?__%6l>5`RK&Hiw(j(1qNE&s3z}rtGd2$R`c)`vj**4s{Ws8| z5W~9>J<`;)wC#g~&t^~ckHdp|j>TT? zA4iIRj~e0E0x^sK_Du)gH<3W)5wQr8&L5!Je)#2F0|SGlot@;LZm0W;K`}8g)62Lx z(FpK+mB26^93KxHkm>5`!p&j=Hw$~bIzhw)J0;~|2RcbKabJFD7u>Sv2H-{de-`}x zt!DW1jxz;+E%qE(?6>dHUu*U!#Z4o8D!`@?&^z6me=k985cD$pqxXyYkNcU`)kK7}|KD8n$s?JOLj*r5_9i3x0?g{SC~3*r21mc};Lr za1ZLIbR6)P@Bj;!^Y=Bx zcisonMd{(u;wTVO)3$U9Hk=|rTayK?V1U9y2{=X{#e6GUFCB2by=fAj;^Cdn@+p-& zl*Tk78`5oroz;cCht0QDlYV)BMuWEY@Zpk19-+J2o0pxx*D&iBI}35icnKprI-b+% zG}5^{{q)tCC|tX64DcuKnEi5#2q9m1<{p#PX+@50Jk!^mR+#fSLoLNyOm|nI9sjKI z&|1^;-PT01BfkwL8@BYYMEf#c9;-py5tH_8qdApw$!h_*4x#Udd-EPlug_7|pXmf- z|1c`v2v6d|FvYSGS-r4vpFh0udtJ4&?svK`hL(0UFR5h^Py^VQwo zBkBIKhuL|=gK^*Mw0Y*{Iw%Tb>e{x9f^aYq+0t@bD=IBmniP*?R6f^9vRs5E@j4{GW;hVAWw8q&;HWqES>-ynlK2c>!%^`m^BYC#F!kJe|Y! zd1}{_rGt<$$hRhSfTO@yO0~566TM);ZlQ9<3!P^7r__b$0f>xK*6*sTIl*toZx0E< zawE`4%*}r6h0;z@9qc!}Nl5je|4nj%MT`aIYn3;SFsS9;zhfLBO(W7$Du(_|U319f zHRmmDt+KNs-~R5bkNuAy#8nmxu+mF%ZU@AMlOP1>!fF4VkIOFJF0o(D{yVK_DCtdZ zhg;R8kgt2SrNPl{V7mB6EIO46|KT6!E%r)wR2NvjRYoNr-BByyUGs;mw&RTc*>-hNigR5*- zESp(hjWpNCJm*g#z01^V;8rE>;c@gT!9ZYc*R*0Uqw&ZD4i%wM9Voa7W>bsx!ESFwMoHR8>;J z8B8^%b8CKd!m8HrkQ+MHDmvW7#?~1b&GL<}I4>gPguJGB56qM)?p%839v{}Z?;?9^ zQXoN_m+ER&$5!#nj;Svk$y;Y#T1Q6_W4b(p(AUT+kL&1nG58{3vDiL z4}UE#nc+|E=)_3tOu+bPcRsymfPtK38 zFuGoxJ=k)l^sSOzI<}Y^=QjO5Cxj2?H&pg)lOkE*jlyp2%Z#sI3~8yJJh=;%S=`9c zy)H{vFdUxhAQm+2m1{x&mH@oT*W=WWE!}&0I0ZcLa79woFh_1**HgaXPE%Cyw(YIW92ch-_{E9O10o{s zL63wl$h-nQgT}{|tG9Wpe&H7cMNiolM5IdZ?_Hz3beQa!C*agBFgbUW+FzNlY;$SS z;H>a!Vc%dz8}N-0^P#Tm%50=(4LRyTRG7HSwiUy*^Y^W)jdK$g6S-^h01P6;_mlqLt8edjbV}hI z9^i28PZx5X#)G8G)7`1F*V#O-cHprG%k`y##-hk~Q*7w!!YPPVyDmQ7DVA~Dmr@jc zb$z#C+VKFjZAeFGCnk^1!ZfU&voK4xnB=U;5+(KxQ{kbGLmgQb&0R!^%LWebvnjC% zPR8(wM&iq}5Dj+gmed6UK@t$;Rfl`@Jg~@H!77KK4TiX-d4*Gn#(i;2(Uimqgly*$ zo%(e-NXWB|T^jR>7}C?t1=4 zn^!hjASiB|OaDg)q-;B?YBn>mej1Tv|Fb1@t}QK>SXp}j&35r7Y}W%Dk|33w8E(>v z-#_mAu;{-_b8oIz8Xw18@0}R3X6*{LzDLKDpOcF>3S?<%S(JDibHKZ_A?k`t6ve9K zgP%xCbj2}|{uUvy>wWZ8h^@c3gJ>vzm)adKr_^mdU1XIMhC9$gi%--5-w7lk<-}I7 zM8K?yPZi|-qM7|Deb6xoYbz=(H+;&yDCkvMN!~9slI|okWSlGv8-vrMPx?&(iu{CE&Tg(A0gf zpGURhTHDnGqIJaQ%29?=ZN91r58lXRd|Y?=PlSf)azjju8z7dxK3??2Vq|1gP!)be zIo6F7f$1QM8?c&31wl16q6cff%?UbVZCT~-�f!W@+9sm-A3Rt@}A%5;tk=5dP5b zS>BK~zDcI-WGzA{5o5uW^TspLmHCD$=a>8>6GK(D%9S+tluMcl4jaQKW0~?kNOwx5 zne&SuSI$+4IHrF!iSzRIayL469HUXsaW}EHj$mzX?r4&twOjw{!j#DWaIA$QAblbX z$9esc!0xyX_i0dqBd6*e)HAoosV%N(AmwFZi&j5TNqUZARBnE@=(DK5xhdI3{RL0l ztI&A~6$b~8gRQ46j)GCm@A6cvJoDlShvOY@U$2Bw=#f(_vtl-j>eWS-&J-yXvNie5 z^Cw7-ZykDbCofg*CPhV^U7eC=1X)&5pbntnmfXy_y z22HgxOJcdL%_RqYjm35yzqpVWpHTz9<>{xVn2+kn+_ZNOV`1~S7o!mrH=G4LYOEH? z>NrHq1PorqNghV#W$%EiP2cZYSy4fQ(v2%=KJnW4Pe+NtXhP9Qe(suUz0uhN=&4(2MbjE4)lKIfRw%9gueL{_`0D60r{m2|AGbP68cry>s%4uXDD8ARV85Bn z?8tPsmb2KcQcsxl=;y-srR|Ny;O; z7r|!dFjlVQ({^}UAX^|~xfq#J#L8+V+nFx&8TX0*ZY|Pv5_w;K(d+l#?=-BHX;Yr2 z*<@-OZZ94x=@0u`R4aUMR4*_>bF!K0-Q2e{H%Bv#TVHVfd5AgWlX50D{p>YM@dy00 zgK}GK;6sxeoK&_cCUT-v`F$Sms71wwH1#qW^{5(sI~ zo*K6xwE-X4=aUd3wkseCW{3&1)?4p1H`8gYgp>ztqhG7BUd7Wzek|2lJ(+(%_QD-E z#Yy?2fajSnN_mt*QzHA^*5pg|AhuvR*T4;C9fP4(s?E<-Jn#F~&aO)b+O|`9-ovst zrt(lg!gUv##;qU%&Rvx+J^_^EMxT9@3kk{L!4_Id)6U?C ze!XsG9j3Qxi^1-dR!Q_MOZ1}v#tGyFN_MvBiG>$_h@ z7A*p_V`Ys~@Ai~r>P?>_87%g;EF^}Fzq z;V+{AmfLim4`7UbeKqS22?4*#nT!94)t;kf2emV%)|CuHFzmSXRbXwz;g@@i{pwY?Aji_a^a?3OIT4wSAJ8*a zf!^#1e$9-t3R^)>khx5Zz@t&+GTudpP5|rIi{M z{F{QtEHuOqnUhOFmjl;?(cP`z8SH3vYS+}aJIIoD@`PRhtl&?9)k1>v&Hrb z0a`@qfBUA}g-)qHR>5Fc?Hg`qIqey?>oG|%d?83`HI`Aw6&Q$y8T=TI8gs{griF@f zbB>pC;rUkc%^tjVjW5zEJ?8I?eHLK7t+u|Eo$cM^ksmRKbY!^@%lM3b*;CK<)-d+<;Bp0U3 zU|^?Qms}hlbw$VI*&mIogZ%mt2$)XW)01?p4>FrAA8KI>2B#5~c0>;QwfU5Rk{n*V zgPIiO);8#?uyLFEqhdDKpPS@GuN!b~chEZn7;!Tk49v|#E=rt-n<|N}S{@cT9_ey! z^yVuJ5Tnz{H(7Lz1y)&1A}Nf#kbtw!a|mdOfrJb;77ZgYpm1Va!hSJ2W(OkP<{O;>$R%O=0U2)^;D`nxatH?>tU zZynQcaEJj?LkS?BZe}T;JCHP~Anvh6(!Nnamuq~wwYg&&0h5^@06#*nC1A1G3Hzlz zFe8prijK@8FXAeIywF5msP5RoeBzlePP=F$wz8bV@s+dCDh=E+dGx+j!zy14n;y6Y%LOwD| z%3frEaJqf{wc2gJGtCNpEjR2Q&XpmpvYFS|DGLs!3!Cncj73Qn^bu&E0=THor}UqC zrlzzms4#aaS=qq@&S?78)2Goi0G6$?n0N(8Tz}v7Uc?2gL$1hbSHwt-wPtzyBg)>f znHuY`t_aewhse?2%Hc#xx!bJk2Elq-y_pycLtCMqwW!p57U8Dnyaiz=v!K1czAfE zpd~6Zh&nj1$)*WJ@V(hv`tdCW6$4|8`^{Lc%)#Ly-ha~+?=1+P=KWz1+^10@dXUsX zsJpp3ulucYxG`kv0GI^>IHImlr|=iq=YUfLnGRWhv3GMg_U^xC^cR;O>jbzwTHiMY zl0Os&+;Dgw@%~X6q;M+Z8SOt{o(ll;{l2XKhz)`N>yba}zdKRj*Z%WJ!sXvJZ1}bR zJd#%ZcZ~>s?LUv+KmJDqV1vGx^t}Ju&-EZUw~!OhbQi&A%oi2skod2vz?hC;-z!hb{k)47ma3?4>edBPQXr@DC$mW&?yAnwf`Xy_vW0df}?7Xu$^K*0ns zGT^NVcSk;K4<%rPAWqB4{t2X~Y;3sE(b14En7$^7$xU9DgkYk&USDt)sFg;3cp?>g z+6qVxR4#kmXoc(JDc!b{uW#>Er&4|F!@XVxLBwwQPq6om3Bjv?UpTHos7 zkYM+G!<$ZTd`ij@IANKkK%)aPpUq&bhrDLVj@y$@$4hl7?jU1+U2YG09P@2FQqb!H zpY*v6tUd6a{mG7cIYmgY1isY@HDwl$=NU`t3pYdv5K5wN5$|#gs#lreP~)OOUxB|_ zSXeL{PDe-;^oaze(CWc*JLKEZ0mCHYmf!3XgT{ zXW^NmVd$5jny}lOQIVegH3=hp3U31X3Ibe*HwR^=7Jw&y7cVX8ot>Yzf`B@d zCK!~G@{sVER(`E+8PF%xkTe;Oy)SZe|iH zBF8PAy0xEUc`r9^CW|$*3_3%<*XvqY6_sh%Sb;&03Z|Q46{bQQ{;Whx#^Znl#;2o5 zz4AVo&A^*cv9R2~i$RD4!Tl;8jr4G>Dk#i7PWQMS*D;~5ot<}mZq8}p;|l7LM__ye zuMYg)>lN#^kXM=vjFJSg?#Cs)d-v{rVj}vZ)pZ#!kf@QpaFutRueMbC^W&%V!M{I) zg+T|Q`dEzTXViLK)^xdn<@W_lkCzBS`o_jNt`|q2XMRl-s$rZ0&M|dmt?#48qV4s? zF*?Xc??M2tji3||&{-ujoR>QO4#wisYFbW1Lj$63rrmN|D3}0N^NiHgu;BRzr@(WF z0~Qz|U!$5Kl8gtDh=?e{5H!_Jo92o5sJOoJ&Av|cs#H7^PL1hcatQ8|S7u&O%*|(r zV6LM;o@WQb)~`a7Yt?L`C8*opZSuPx$&=dY=ffG&m5z|MZOIrK<85ysCjh_+j&C%T zc;?Fhbl#}b%@L95X7B6zvg@VRJ6a7c_aOOl15u~_1^)I^h23$Vl@7FO!>&d(n^Ds} zcCV+e%b<~w5eRzz{Q1>EJ9Z{N5l-|c;J|)nfce^X;)jCmzZ)Eksy{nFuf5%WUQnP? zNMp5FYcI0<37A|{`J;=2ot+TyJe8iMB0*UCGgamw2O=dc(r!?-<^TkycN+hNU+}zx#v&_29%6#y784ujs638Z?(Ri1Nir$%i{;3jeku(7>z;fz= zEKKnB3NM0$6L&2EuUrAa@PAHQ z<7jZVK6+7F42)crt3gSr1SBM=Uz@!yhrihB7E8|5Id1p|G!z#V4L7{8U4H#@G$$ZB z4DgsB4H-KppDNYu2C)VK0xQlxEiG-v-f%%mmsT#dWBjvHxz%^JMxR@q{q2>NmHUK* z$dK7YL7c`hGyAu1-!>wW`EB z8kt0YHsfBi4!wSlpY7e<;+wi^pB0}}pD(a|NXbco=VD5EvIr7M3_tpqTRKLv#Mv8j zfl2`R$y*Qw<#uu~gF7HlJb(-Aifj@WZG7k6n*)SecTwH9ous7due6zDPRay$A z(<$e_9~^>_CP?Rkd{EH?+3UvD)%8c)A}S^2SS#0E%Iv4{-dAV#z)ju(7MDwX(F#lv zunGc9dxl8RxR^#kB8xsE&@)6;822GU@ZbT0CQM9h<$I+m)D#J>gox`_??BqH~S0V-$1i7%+qk2BlYopaxx}l_Pyc>NFGYmtiC5)_JgoQ#H{15 z%)q%>5Ap+ICjp%3y2^ifI&S-Z%WWihV?+oZw7^h>Jya~&0`sQEdKMXY2(3m}oa3#D zz9SMaDd6c3xCM*>W~zW!;@ZR=Fsq(}%w$dEx$OcBL`z8T;^?P4pzZCBHWgmDAE83S zEj~VQ0Sb>l8i|6y5y(tLK+I6c68pq$pSdtaY-mmkiWM?Ej!e&W&^9VM`pedLcgwx6 z-TeymOovkMLL4@84`hYs zB)|xSm#pAU4lLYs&u!4;8Td_LzF#2!X#e(25~wzUgQ0&aE}k8~|65rI$OdD@LBs&^ z6HpSO0k_6Z8!fT4w})kFY8uO^hPAxBY!C#5CEq*Dxq|z(g0LQf)kxFm;^^28B2*_< zSa5K~TTpK#jMbnc-m2r_B*5(js=R~;|0e~?|041Hf6%Ycz$l}CTx4#5C69XV9>L`Z zNZIa!F5)RxTc~jJ@wLy-^LG>RM*)!*5Z~yVng*?OhJ{^k!eH6&EbVa^bCMkb$!LnW_6u?eHbSvC+=yBjc$&y3@Qxmj;~_r-tszcZN9Jp zq}i|sE=~d>{70F-Tx71P^+uP^xO#Y4?u^A@^78P6T+_i~yWyfad$;1yc-^y$i-M*S zl|n)-EiM14nGgIl?y&3*q==r5^3Zs}oYK7(nj79o$d2mB@81OotgNiOQ9x~ij2i;mE(a@mQ~HIUpC1sY#bl8MSlZfR zgFlD@k4LuqrI8j0rTs9MLNhJSN0*>dBIkF{E*JFrkoWXgAM=C|NF&CJHPtL}yG>Lm zuR*@YMx|byxwf{IQ1>crC#Uo%NA7ndIe%zvEq8f47y25in(-|+jU6lz-l6CsRUn`1 z^H5H5&dSU@*qUI3zNYZKu{&IsfqX&H{QC8$=?oIscUoEXw}oJ4FevALrBUvE1AmrS zRb;Qd^ANa;2ozbe?m(u!Vrf(P|(|oZEzZ;q&nBw)U>>{6$-K@2To)*dbshF zP2iPo4_UU{QmofXhlSWND1Ja-hL;~8X!yk(eK3Q+(dT}6wXC3X9}ka8T9{JxcWz?U zM5%6C99J&^yq!-a@PamWivF^Np3&ChWanG8iIQ;(m#wWWhwVbL9}b;3yl;l}f12^8 ziF<`ZMD%a*z(hsYTvyiD)&juzmGz2=f&8JTKc^I~)63SDmJZkGd`g@2YJP4Go@gE=cu^DcU=$lwSd^mvdcOf!~=c4Ghi3I`xr!xqf!fw5v7{EW|l9H03o{jws z%8AwKazi^iyRSg**?|=#!3^T?=3HInwE`wzg#Hoj zu>>ETEVrWoH-jP)h$+0*8`lXMu!T1;-|%Hx-{=)h%rZ#MfM$?q^u^ZpcG%lHD48HT zPM+}tzIe={E1cLMNXV#c_KR&6NEHl%gpF7nuLt8^-I8=7WTPoDl)OvtZKluHdZIc{mZc$ND zeUp+%=K$(}kM9pKkaCKM3g17Eg_M8!A`TLD`_19U8T8}BMsTNS-O1-+iR##zX z2eTAp?4K&=IrzTK0KCD!K*P+8?y?{O;ZJ}vp=|i3VPr&I@4QWOq+)oO_YK)OW2;oJ=x1u|7kK|w(p3mT9H z;NU2buYmOiGJGm}dbA`i>(Pb+LNc;`*nt0^xZLXpy#MmX2Cedhrg+5 z()=(Y&14968EGw_C94u!XoMZL93&DJmsG!c*y?>|da3%L;=}yDPmx%fH~&bvl*iHTB1XpLN$9mJOl%c&DLwrW^^+%$ zSy<#tEkEUlgjw2Kv{rLFs;(r#q>}`QN&Rkm4+Q0(tG%(ByAL#;4C~*3qA}A3roVM0 z$?bAw7Pw)3?ZG$mrO(rU_VYo^=0auCOfz5r4ZmdqK*J(6CT(hk;|Y*EYSvh_*4nRv zawl(!^X=QW51!kQ5t$D?(bA4{m~T99St^wwg&@)0P>}Aq*f~0jD~^&TqYHv`dFT#A z`9zJ?>g@S+ofkIK(+JHS&VUDWmL<9^fwJ?B2PeClkWgnR5Xc-W)z&JD7f1(Aitr0VvLx7FwrGO4>Fh@+SVC=mJh_^Ma?)Sh)#`O-ta2V;45 zOG^SyKj)q@+8U3tzF!8I1Xhdib-)j+wlfMA{VQyZn2nB(DLRd+*SV)xhPx!N`CvpS z{LBWQkSUSMCl1Vr^Jvk^p41c-t~oExH{r9}oH5noU;836DZECzy0oZn3GNOV&X zq=)<^TCsX(Wzi%dI1nZU7jDV1KqT)6E%uw=)Ij1%Y%|DQd7t$1KE&d^gLK8BUoqHg zQf|-*xP$2BYdB!S)6$O&IUQ~J%Rb}_yAFnBD$rN}R3jiO%P??5OiZk8VBp@(%}w$S zR}hPEmX=zb0|9vzEw@n~lsp_pyEH^<`i-+Cn><1UejMLN8dV@uE27;8)l5nqJU}#uwK9(zuR}GLC zIG~b|kzo*&vH_Mw%+Xb+qyB7btMKZXX_KI6d+y%mbPm7GLjC7M0fe_>!_!#^8a39D zdG>Mm+3(^{xwyE-6w-iGgBP(^S68oP*ePku zj2z$`IR?=nM(MoPJm=tNl}auHgT2+Z&cg?M-m#O>pHSMd^nU*CtbKF)Y^QHJE7_0- zPQ!v(cJOOAqO^th-5r!uG&EdjuEB?>PnAhHOf_w3?i@A3a?OD!cj!|nm(J62`ZMMZ z+K$49EuazAVx6}%X&gfG2VyC#;34dhFIo1xiAc;kjbG<+s>^bu+@@`ZJ-l1pzwwbO;wuclET|lB49-d*wBgW;qh* z8W@m+!-v707$5b!Yvx~b`=Gr@bcg;($Z&2J^{4hy61tAsf9$iKPQi5wo8#peg#DV~ zXsbR#)dkPmc)+W{hoNm7`IxjVN5dKVI#!z(9L!yKc(cKrjK|=fSK;MYms$Nn_Y}~(uTgCk0X$?l zKi{cg`r<|#=PFHj7r?jK!hb5CNxs(9G;FVzL0zaN_CvYXij7CJdXQn5zYo^P0nN{Q zlO>lTyY&K1m*}&zZ*0cgZXfcA2;ivG~TJn#N7XwBq``yn(uT1g;-K zAtNEBOMQH1GS)qT52}F?juSIqMXXNwu5zR~(h0vPTU-A$fdHV&`qg6F+@9ejE?;fI znKI?GHUBV$*9GA{7s-CNy7@IVh)d-b$LNqylY7Yn0V`N!=lf`5#*gT;?50=L${ETk zgK2)?hLdxux~4QUC(5OHx1E&C^Hr6Ufv*F~EKji@bE$qO&Xp?akdV@704_tW zG;x_a*E0_U^)aym9}0o+4Vm8|w-H@z8`S1wG3$XmIi1QT7ngieo)ZBK5kC3X2bW_> zV1X4C6>XqQw!gi(#w;`kF~ZK#(J;o85N;QV95jv7ZrYC3@t-kgho#O5s{Y>BZmGjB zs=eEJlldqRZds||Kn>8af2)f+D}K`;`|+0{ZMq@Ku976jWp-Uz%KJS>dj|)xRWb7{4Ln@j z``#C^UB@^Zln0<$NNDQWf|xaz=k7;dAYRVJ;%YU}w4S{8DKl?hvG`?Pr1tnakL5zq-9XP@PrPr8xx5oj*&)3>=E{-9ZlVBm0z^nUkqrj~Vk|7I zPu%(+6bz|*qhcpGKy7gJb4+}rLIF;Jf$Eh7B=Y4VT%<+m(PkuEW*`x0NLT89cINr@ zk#rKS@0|?&=_V@WO)c-kNg2=Mf%lkvNm!RI+*=b;Ndp=Q$tp$iI7&1!ebo;}rR0h2 z)ti%VvcwUVmiLeXbMcXx*Cl+;pUh9iGb&|dAV;H}^QmJon6b<{TCN*nCa3-uhhw&y zpsTFID`54nm2OhiUTb}7J*s#~8LZiPJ4AP(C$Hi;Hk)({!_z@+;*`5V^z?$&?fgLa zHaa|zLA#z~rrI3)QE|)cHzitsLsP0jRHfjfi=wEJsZGX$59$0KH%#r07=%o89Nmat z+k>z(%fBk6(aDW^)`H@I6aeV>T#4=A`!pwm`2UuP+=7tRTv{2;Z zGwn~=KjCpMnMd_bXOc%?9sJtjkbEE+|)2R^kba0p!$}m)ImH zG%jG*bSQ0k;ku#LV;>7z`W+_)cc8s$F2iT5^I2hb+90I*U#~V(q-3QrD(GY+KeqOV%Ya=hZA=wFj-Z4h z&50X=?BlT8jd~pMNt}|+k66HJr)y5hl^bs_0+yN} zl3ef|Wk48eNLe`wN`8TQ6AdUtkfG@oLHugViAi@Ipn?QoI8$SZQo}P~s*r%gk4x=9 zG~3+WJ{|P>X7PwlhUB?unvVHli`U8slenN-W@8V)Xp6f$8NEv43v zZ&BILH(;3c%5OfuEf_Q>NCR%kuum|_In@KmzjkJC%X!jY5rD7ev{8g+7!X>MoU!G6 zz?)58{YpCErA;InQ<71)vRkc?-;^F6mzXHnWgl|Er*XY1 zM9kVkt8yfIU(;{6-M0KE2d8M|QogD!V&c$<6e~0#^SW$i+b>N2$_i+fcsu5UUmy)I z?yf3&gf_QT+Q`n9+nXdRR-+$Dr7Z+CcM$W?q%i1na&rxKF9e6{Q)nlP)k=Tgqu^4U z#=2sK_^PCZE_c4OW0J7R=j(V)Hswuzvx_K}*{*4$`_|;~#&F7KAnD%Lb7f67hNfo= z4@U}Zv0ZC!kn-B(NUoaa1+Ou4UgZ?m+JQ{CWiYMqS0$hK%7f-x{l)|Lqx^DSaSvRD zJ$Wqh9y&>&B}ksuPb8bfr&j|s_8sVC7rV3hIwSve2Bnr(L6()eI5kak7x>MIM1ozb z-7uu0y@2>UFLu7$ZCJVI{iPxA9MXOAEeF=@VV zpnK_JBhpca3ZJAY4bDQlGtTl2Cf1DrB%Lae@(UIY&XdPV@9s) zeSMd3JSnK_9%*}5?xWNfUg25Yk*H`EAY1)(+V@WDoR|=NB+?|X?YB5t)RC0^+%@J1 zS!jKN&sYURKFw8C7w~Z%SGt7yJySs8`gDT;9;m9!&`sKg+C0 z!B)yaIss?=a-@j-0|Ly+bSsR|;KB|ZDlwzwJvSgy=~X$NC)N95=W|tK@&sPyh(}SN zg<0mQ&FAn=UeyrVlb7_X0B?&Zp~>yBFc(0gf(!g)|E=@m8E3P5pmH!~jBm>; zWww|qu#SCj1Q+um+0G#@z7+`OCPDz$^Ygdc(C@s0uQaeSI7@B~kKMzG_nDcHN|U*t zH`Q3r=&w~w(5WyS(({Dp*iuk{&g2}-fDc=MA!3#}3noecVQBi(%fsmwv(o2+Sa2XU z`Ws7KE2p$R4kG#1o<9Gx@Z`o zL68M56MpiNczZZ8d)3}4#UO4``3s*LGLM&Us8;6GU%1})`^c>O75s8%D1kW8(=1O6 zVm#z?nyi;N_d{WQU1fv-yraM`v-o92iKH(`t49fTaBmwXEHbW2*dvP>2&gU8`7cBs zr@O7Yvm+9(-2Fy#`qE`n>Nn@gF=nc*)0U6bN_4tF0%`a2_mdYMH<;*kWME0XZP4^` z+8vd#4xzEmv=uj;utN!2Mq76C43kbhD)5eCDjOCLb_KcGFH1C<5P@E%6|kgf zt{ft_-rl@JUL>dZCC8R!9W$&y!6Vb!TE?!YouR#^r;JfIJ}+NQsVLHG=#CFesn+ zHq^@7A5-FuWQt;>^u3HA$uJ>Z*LTfqPE z<}GfHWCgu_)29g_a)n4h8FfwRVs-W!w`6Fl+5Tw}A0I#4Su!8I5YpYd#>rrrI5huh3NO?3)0dgh85EuGT=Z}I22FnD9>f z9TsI8TK{bDApH)I$%6u>q+C|_`5Lu4|DFttii(Y6D zH2`qcsIxAc4jd^^Vf>>(1L~!Cxa=LIw-0z6vb)NGN+Z*9s>C4Z6XTyx?BV1t zP-TLz*#=YEZ>}#pu|k6BGy^e-Go5dcm;N-glc{bwM-)Ht=Bt5w(;b^x?4 z5PtS@f=T1fJZl6X4M6;w?_gtLac%PFDAKpJw|9Cw`TYTXGqnr>i3MoYTCjHo9UUrQ zHHlM8Er(N;83qn`|88pmmpy@0-axRXm0QBM2cGNTBqSZB-2OKQLe6P1E>8*pKIRT+ zE5ZX{&;>GMAAo`k7R&b`CI*nEAD4M_bacu9jtBQ&rVkH6a+FY(eD|ucW)7Y z1(ePY_-nx{O|a8OEWOfjscsAA#w9CStxLFhJ2UB(i=o zJjPslgg_a?ZrFth2?2N%I9W6l6ck`R!|xTwfM`i@$(NC%iFr&zgA7o_&EbqYJ3Bk@ zofoK00pKh>2&7)$XJ#l_SXjgt+Xn^)m}1y{fsixi2iQ)er>6&VNZ}cEQSp9fzCspw zQ+uF_lK!(3N63@BLbG)Z{yT8~D;sP!0(KQyKf6RiMy}W=#tC7_yU0wiTx5R&Cs;vW zHC)z$j(384s@9YV29gU+p-b>s5dov>kIic@FRz4Toajx5Oy)$MQ+}oY62tC-?L2oV- zpGsAuGXEX;a>eNSt6I%{R`@?p=4ZOOxv}z4QO10XW6;nkOhtfiDiQ%FZD(vh!eZYL z1DZQ*(H4F-WJh`A_sZY1ilTjmf6v1C)W2uH{M7s(XTiN&@O!`fR1)p$`+F~(KXp6) zB1PGI$yNvm+kN=<9R1;-*FYGOJ5}d){`XozW*nUYrJPR-oHGyn?XidnK3;P2T8toO zM+Su%aBO7l@Et&U_r2JI>2Bc~t;y>M(&vPHRb+4pazgLWp9^3X0r+EVI&Df#41A>A zBMpSSU_TgtAcdNKjEiHO1fv|OUtCzw0c#x}taWxSz{?k3f&?2I&daw`QTEpGdz_f< zz#jsBbvk2>4onLZX-$Fwu;q(@fPg^|5J=;TN0CoVPyJDp_u9j0Q>}|XV;8FiwpX!C zIUJdt)r7l~md<15JRAQagO0+;nCni+jtuUHtB)@RO1&cy@u*ZrnDCrFlYsJT3naZpSQ%36no_j{zRzE_BD-(0bwJ^%ZFB4F|3nbb4O7yJ4c7p18HK@O+wUcq4glh=k_ z;W)t6|Ba2(y`baOd$#lS)u43}U~a(Hu>oHO-*xBDN70+0Iac0`g35`c=yB@CJ>*WDb+!XhG%`d6Kr{J@lrzPUrA_fMOp+wABQ|>nK zPyeT*#ABI_#!szAvjKrki%w%k4KEE12IthL@#;zU7h9&d_kR2cr!eh*`K4sRjTgDM zKG@Ne)vHSx;K{Pv_8%=K%B`hPfv73@XA?+egu~*=0qqf8w%^yPtG~dE(djLn>8U?a zprUb^3RZb5eEJ-~T4`i^ol&s%M8YQ1^fY?}Um7R_)gVYgQ30tn*S+C)UA8w=?Z$=N z3ztmoi``&rH}VxcF$Jj%oq9#=!NuVGY^~@2!Pr|zRkcQK-wQDarIi*zKtxbNT0ufW zN~DpHl2$@MkdhFPl2RI^C8Zk#5d`TDX({P$_~yd%JmVYRH^w{O^Vc~Z*zUFWTK7Hg zd0oG2PUmay9NLa*76Ek*MgO(!B%*0t*e20Zp-L{`2VFB)U?*Pw==r^f570x#(GF5UBq_oe5_+ZUv{W5H_;50D4|54{4 z?q;5EsC8^~rU2u~<8xz2FV8|23Ed*l$yh@r8zMi8M~sKEXh*A^{lJ_{>K$~o;gd&A zvkj)+jOc=*u3Ovu&4BWE25>L(DfMg2RM) zAAgnbfZcaJ0IV=()MQZSM&!aa0X_WMejVq~iM93V<|GeQiN)VVn26;@UjSSv`HRkw zbBG%>u%30ltKkaa6!lsj_PZ{DkBOwp#pU#gJrd))b@wg_1_p*k(9v2W&7P_H4U33` zU@7Qd`F~}Vm+j?sS?|HV=e&OwN`K*D?xklYU#f}(8D|7!(A>gu zUNkv1b#llSJ4dtXOjD8Mz~E4#ww7w4+3;0R>f1K=;lM__xJnDgb!bvmdwO_a!Z|De z&QwXS=KXW!Wt;-OOW-FZ$O^w&?2w9BTpQxT-loQS=;TE8x7S8AR9v<&(8=lekS{R) z9{4!7rEJ1%SUyc0{Ag^ve%NwTO+zCwN%ck%j-j1qK&3nAtdK*qx0|TasxeqT2GkF` zq2tgT8$1cD7*}AkBexqwj)7na z5dx+qt+zR#!28;`rlHJ2qvQuoX8#xE5VU{v@^~lQ(&<2DY2nY!fXx#;T?sr41aC>m zUHlTI(O!XK(VO<$x)nx2+Jn_&&k+v9eM>#J^sZGRv^&Ekzlf^bu$Ap6{PgIT-H zxoK8e3BGJ`2#wayDNaq5Nx z5C(6P8iNpoStZ@)-6aacd7JK;=H8&|9F#pT!S{dP@em7?{tF*e0yd2IeL?b~8wqQQ zEWXJF4|c5w6r-d9GNDjA$~1$^VAp!?S@LmzGVhC)9gR#?*85Lu(_XqFCdB@7Q5?cc zyCBc5^`~A!+(55lt9QdY-f#F2c>!OK&2$q&<2VqLqtWHj_qFq(vjo((_@r&x;&7Nn z+`RMfdvj#r?iKd9Fb-Y~#I3!2N9<3^LaE&rqli7tgD`rErzfL}s0ZS=CwpYW zT`(s2$ooiyHpp7tT|E0jvm)SvJ&isrr(QUt(893XUL>E0g5OC}Y-~fiQcDMlB<#;w z?2L}o&Gx0)>lB$t=P#K4xr{tmn`C&Lp=9!N+FG;P8vB;((?D40re<}X>o?{Q{I0ZB zWWCw@-0>U9;lWA`dcQ(%?5>8tSn|{7O@lyMY%IkX4FRew1|4p;<;LI8TyF&3n~>UB zdJfY-U*DriNaja6VUn%3kl73s)xB2;-2U~W9rt-(?Ox+AT=79o{4J#l2m+-HOH7TJ zQR0UYGLC%9H76)aFp=tACpMQzPWh$Ry&1h<_2!v3=X+JBhEjfg8gJ^pfw+N$FdoFU zz!mq|S>Vp%NEv=?mB2MVK5$eneG7=@c?{0`SaxXCB`W{w!`e41=-|nER_nfNy{h_p zbB^{3t5l{;&hXbO@lIVbr8zHGTn35+SlMw0^JHgz`ltm;aEF~8cYbxvrnW)@&~LWA zo7odqBN15t%?I~+KqDxM)5(py_3^d_o_)zaMWdWoe0`u6G}e5H8EfGmkN|`2A{o%5 z02#ZUC$#EFUfUq4H`qG6}=LB*3(``R%=#d0;4pxBc^)4`f4~U8z0oPcP@s`AYD;V z#!@nDvRZ#pp`L1#`?>0U_;bzagIlo5ju$M)gJ#`b3<77sg8j+}1AT?Mthuej2BX4K z5xl1?jcSUWmyMG>d7J~6^GSJfM{0vb8z&YuA&j7RDQ%FmH|GG{HNQ(Exec3t^KBI3 zwOpf{0`jr>t2OE>gf4(Db*dEjxf1vETOFw`3A|0xy0aO3Q^C1E2PICvQSY*1f^`KEh_!CIby`@rgRGHT`jO0);l%W{rE&3DK&4BL?~+?0mn@3XyY2ZMdlWbR4}| zJKVEDnPxa8@ZVsRm69T4e4@ZuO7y*o zTbX>KWxN~^;C!kKDXxkmCbDI&Sz6g!MmaFSZXCnh=Azs2;DM1$GEvTpvw0X&7=SD}zC&A$Mc; zjHGm1-8Kzj)C3;2Ad^hmhfsE7#q20Qz_lhYJw^*qIcK}bEb@jIJeHS>i)3%<%D`df z%14iK%e8y(1<}#cVx+ZuV(#(|ao$MZZd8<`%lef)_q47!NuMu_bpfj}KM+m>O7C2i zRQ17zN4O2*C>v;BbT$l-8VPg{^dt=;V)*#^C!rT2({>Tv?7N`av)cR1Fk#zD5haVF zLLgn#!5?BEHby7!p~BK_leh7*afvv*4_+Rl<9F)*!k?gs!o>v2kY;^X+fQCV4O z35YB&*y^eC)q!y+`)l%B(dl61u_S#kc^uD18hKra2;}Jyq`rQ<1yzd3bVJ2(+N$Xo z2GWt8$;0nxdj$O#hEr(iva*x}9)2=S>e_3^G`yF3sSLwR5Ox++)<)`~y2+x{H zvy{zoYw>#Jv6V_fTeUH|*TRmDxB;$|US%XV-#si5@rl)-(T-M~S*4H+mDV=OK|D$D zv%lc9HvOQ!k+N?Q7r{IfBrV=q!GD2o4Qzkk-i`HRTbV|b9;S}^21IW>hIOc9fA(H502Q5fHT^VQ%enr9u@WDgxaYj{t~Nn9OI zpJh`9r$MI+yU)PZQ);ureOsr@6MRQr5`GP870dROPFqiwhG^g?@0P@Zbq_CgSQlik z`o_ko-po%v@5=+pInyShb!m(?<9Y0LQ@h`jiK3etVZQ41Tr4T;9r-r~yT==(ZK$fY zI9hP4dvB=l%kmRUEq?oR2$(x2y5mL&z)OOfCP6};0Ihs(xaQN>Nn!9)vOE9vr#iXk zv+frWL52dcKnDj0lb^URz+MAZVQ!P>m=~}g=VZVOqS}t$q*)B#8w#VgxVF_p!7670 zHrB`bC-qHJUa7y<^cfTMyxyBOW-3|Lk)2r8(f!eH2&l{Zo(73P7KLOSiUs1bEZSd5 z#sUs$z}W^SpKrBaF*VvPhErpQ!0vTR_h_hwZ53Asl`=xif_I(1F5fASf8Hj(Lp2wZ z>nA_vQddavC^BGFMru#(T+82=-M2pGxT~hwp)LU63Egtv;emP$*R{6Oz&c3rLt4xP znCF?6NDttBtJ-ECAXCrI1z3l}aZfJZ|J$nW^$E2;g;@vC>rj7KmiAsn!z-NNkW7*A zWbrKuvg6q8WBlXmjR_5|)W2T-uB2sIx9}(1>}_u(ed=CV4*c<|8bZgK|r zKj;>}vA_B|@NnVaDVzXPjBYIs+dN*_dh`&7^hz-<>Fp5R%4T03=;nn@IE+-iNq9Bi zRk!f>b}wg)z1-)=SlyQB!BKl8i`54hF6_mzH(1BlCCp^kajvlV2v+S+{^_(VDiYgL zmYgoby~1p;x+Ufy1!i?{k)xcQsx`N14-$lgyQy^^)=mX!YmShxFi*37`q$fs4PzMyj3zkl!RaR5b+ z!^9yYi7^hS_G?%HA=xd5UE0+Vo=xnov+(NQYDa0m)7!z_{`t(@uq*QMj(X%$J11mC zvg0pL0f+aY>4`$Ql1XV<8Lrvl0ijHjV4%w{o3+NDpkGwM<44R_lFw@QuStA7}{4TqLB-U7SNA-2CPJ6+kSjp zzTV8lL~T6_=_)Z}B9+bTvIRKAvBA9961$N(FhMXa-JEO==<0bcU1sQC>B8@sH@6r< ztB$F$R4Eg0zWdXnxqR3!xMC~l$g$iod@z*W!mi)&b)!b|RJqf$77r6hesZ%dUML8x z=M=x4zWkY)dFM-fBN1A*F-JNEr+vSc55TlT`IMg!nvI^TRr z@n;In2THvFySx6h>Bxc6%=ioCRKUC?F7*>(G(6?134^iVbqOw`FzIcB3Ve0PB=G?E zpdfr;LEDpCWY~o{-HI6=`N-5}s^+2qMNft@?rF9(72P8V=5RDg05oTAQ(KuPaC!qE z{SfGo!A_wdfDR01;Hf`Fj(P1C$pD;&9@bMo>MIJ>DH`Mz4jZYRq3qWz${4^>2F$Oo z>?eoQMmV&TZx;1KBislGLR|O=!6vmyz_=unZ;Qd`8(Q2qVy5Y)qp< zHC-^$!xQHVK`PorL_|H>&_VU1CJG(}-KHLoRuO7Zv^NUx2l}sYx#3GUZ*zS2^al{9 z6L@{|;bPfSiLVk~7Jx;!LLGDXixU$QErBbK5p?F4xTQA_H^OK5?$FEzfo)=h(O9E5 z`za}6IsOeprOU_1S`xIxPGDX&-w1tCdJozr{2~Q{zHiBtE~?yjDYLMeL)<{3)l@^e zVj5n5Iej(@367V@;x!+p1rU?(Zm-32O-nSNWnpH5$4 zZ44AwD0>&0X(DE@9wz&tx%$}yjdK?t1p0^E4TEM5nkoa`{3KzI^XZR2p9y7ezJhk6 z=_#N|3GW}n?eU)D+N4*;li1f&mb-FLNpLB@N<*rC`+z@@aomTmFfdLF#GZTkN!9n&DzWO zKslrJZH7|xdF5&E!>GW^i@#lEL46Hc2eu`=1me%#^_fT6C2Cb_7tK*kn!!M;ZmDfysJVk{-A)HIM=wj zAwbcITEyqz1hG$tyU6WDn%12|04A*~=9t&BxvtQMYTv^1nZ{y#vV-xsZXI8=n?TV4 z3(4icyyk~t8|c*}!2LNeI0#QnB%xtED?=}%7$WjR+1JLAFp?W?7e-UquK|xD5V+Wk z0T%^&LQcc+rqtyG?W!kw)(^vWU|r!*044FN7ItWeHT~z?&BrS9d3+yy@*%MSc+ys8 zjVi~j$60FZ9=W%GJ+JKtpcH3op&zo@&Rue8-;}kDoCv!J5E}Y^*i<@uQdW$@wfEbW z<_*Js=M8@FkwJ+(;>K#@$*$hRFZ?N2#t3AA)vU&M_?;p7$>`%Vb!49x|qJNqM8JR<0w!0Oz#zL;k`O4s;n%l(6N^bGH z)X%Vm5K>Y`UqAZ%iuFnkzH?u*5 zjlTcuFy}%2(M9WgM{ybmC4shB=8}N(e&Nufz3Rd^k}4)!zV3 z^@-e*)R}&Bx|;c}@;h_pmZ`3X9ZhxJuv{dT*hBppoS`770vLZ%@auxot=Ac{#Tm*K z5SMbDgX78KtS>Fffp_F7$p720gBXFd9ZdN zsqrm0LwSI@)Fr??s8-Mhv&YYimsde|vN%#h;_d z^Z(GLjJ?M;&9#Khf;O=JJk->TNnbOO{>^KM6^ZI(&q3-2($l~+ES%RcG~*_{CERbu z-Km%E-MiNTFN*j08rrb^DI-Ns1VzaFy|%yPk=G5+*u!>+rck8G$6qmICNeB)9Ui6x z#1Ty-3FU59M%B;=NH1xt7D74GB&wc-sLJW*Cp^8$*>LfT{o;J+ol1_2kMEt9me$~+ z(#})^9t6VkY)~s)V`gSn&473E0ys>bp^}$D5SnDUkI#YXg3sliqLEFBcR?!v;->6l zX-aOs6~P(9%jm}s3@KUyvS?STL137ShK$Tb^!feu=?=R6^6^X7_V<6nrX=?VuK#L+ z#={EN6TuVWYt8QPOo9}GPvmlM*U}r02!SGF9$EU z4qDDI)!(9ye<2@>35Ay_$?-M!#gcN$ctMb5=d|0t1g-`0^cKViiF^I*r#nyP?+?F z!S2y9)xmewgqMGybzSh&ty0CIWhe}WAsv!gxL%~6; z2l*3VTO5a@uH>Ufb-)^2lIug`M+gWIP$y9n3rOl8nhYSYoBTigG{30mA>gM4;aLzx z^!aJY3m61Llxg}LoH9`Ak^g*=pQ@p}v9Y1A!$l0s5txcvjHUa2|NgyMEy&AD2A5!I zZ*R1b=KBviZ3t@`f>?#%4g21QHJoD7tl;^w{r1~+#= z%eDJ|{P>~!%?$&Zir;}zj!ch)!iT<`N9v{Jt$hf-xEJK<>FGp?X{ZIt4tW2jfZTe0 z_{XYvdF%M-O&*Om({PxgJvh~9Z{BQ5$UuEy#9YMiIE#T`{uSVlS8K~in(5`vmI7>k zJCh)dEzNPIY`SBfL&|#&`}FON57a+J>{4(VwLVy|i%XyT=Yx!MXV0Q&AZYE2 zNsRENhAjXDh}{ly^x|t*u^7Jx`@IcBWAtc$y0cJSGzQ4T_J#-Qq$HJu0r&pucTS%B zpy}6>?g$$jk?V2M)f;kD{R=Lx7DH}Y74|qg4$x6q9<5>p5R*JSKf?|RW-w9xh0V)+ zUujz*={NWctVg28RB89^?jqj`9!ei_7+u|7;`7ONec1@j|Hq(*Bj2Fgx3;wUS<)#q z;)Z@g)?l?hrTDI^HM4;BZLSFejaQuJrtrj;xCUZ2IXb>60UKATmyHm{z)Mf*fy+V zQw(QZmok)X2#cWs`q}Cph)O~6_Zr{>=d26@l?wp7*IR#6I`!GYAjf;;jr~`BRV-*^ z`T!bwsr(rH2Oz=?@tSd5P>b(@dbO#WH?NTJNsfr__Oe&IgIGM!&CN&lAjdP=hz zc@QVI=ymiL7`3x4A9PyUeenbuv;LEg>syy<=g0loj9`4u=5)Dckv#vGE3@P47l9~l zGtXm8CpPo?lDVY~a(Epvz*gbXCEu-_v~OpptCvv3WU8W$b9lRX=0AvfY;%2Ij0j9+ ze)fRp-y}+ z(c-12UIXWM@mjWzz=bV#+%KxA(IlxaRY%@Pv+-)Q0nR$blT+Ux{CCe=eDF%d2v+@-NvfBGeRG}>|28LWn z^aL;!ZkhT*v#*!GW4yWd*DCb@ey!`vF5d0QA2w*4QAj4z4QMTm6<09lqb~P%K@_PQ zehOO!!GfWQs$*9p1obn-y%wMo7{N6wArqOZEoC~I<@L2nzu)e&uR=6DVEV(`t_bqu z{gv)P&zQ^5s~{`n<(533UWtHd_2lvO2@>+5d6nr^3Og0^D`LzvPt!M zhyaRtg4&HwzW7INE^pryT-z0!s;t#<@@)u+LJ$ZR`B8b!rZ=#$L9jlitN=l#e}y;p zG<636r3$Dt+O^Z2>;YL^cPhTN)Okvz-w!N7#5X@B#y^{(?M4Pa@Q z2;jp%-lt?*vQOd=#Z`XWEBM6b*h4mPI9|h}dt9f(8DR2L)x&b~j}=Ld_ot z#7Yq~f4T+m(=TvV-`Lq3=2Phl^+OP2E z$IogL9Z->$T<$U8<^Y@R#II38@z zdlwLzY}9%!4!o1EsxYf^{n^R6$-fnU)WsCHOj+&|b-7I zz)k@*F%v8}e2veppza67@>k^92UC+%<3e`yj@$Eb6LTWSu5O*dXUr4SI|2f+OdLNU z0!Lh{me~7u8udG78d@pA!f^rV$x9jM<5%dBD{41N@!i)6*#%F_2UQ|6IFwPjk_-6%VXqt!3S$Yv6dhSGjYR z^m@*-;g8gSZCrt+%>#Bw-_XWRV59J8I<>@6OWREA(Qf?ej*vfbss~oY6(8t-&Ah%i zq*-z0ra7Rx-xJL49P)gH>2AHY4?!>GxHmS~q&^TBSRFncFM&Qrmq`j`Z*`T(3+cXT zY+IseRNf&kaNw*0q0(}%@~rd~R&UhI zM1_2;tSBqjUrnIpyK-H@1%inE(5Oa03drMTp(cm0uJ_bAsDzey6QphE2|`{oO8XiQ zr&6cNN51{}tG_c{S06Fyjam_Rf$}A8p;EpPFP3XxjLTy3bHD31(2=T)+J)>??&##W z3&%^xG{3qQo~hKddB|ZX$W2}8c*Fr>_u)PBE}}vuhm3~2HtGs2MFlEY5&L$ei!xM_ z94{s9EP!%W`jz$5uZi*TgpJ=Xw5k*URdOp-NNHxMQaLWxOn-O0zHu)}W!Gn203tgyIioMCl?Xp;^ZT7H04IljAEEz&H~rr)RcErgQ{- z^g6qVx_1EvN>#;=Yg=-QijN1v@7|EO4pYytMo$>(z~M={AB|yx{S-X5$kwCiJQCJ@ zs}GGf_lXR_4Oh1fd?C!=WKrNLNTAgcD#VF{mCFQw5)=S5^-Yj)r%HGrUi)p24iVUus(G zOikRA;ke1GGLWNu%cwtO)4cOZ#Olt^PBxU_gR;|WMm8w*D*pvqgHQQ`M97QL=F(h{ zr0l(xx>6n`S#r3tt=+LdV9&@%7i zC!cvuc3&3u?d?Zp}J~rC$a#SfpYhjA18!Qli@7-CGrMs=U zJD@a}AS{Yj4^T2#{@oqCcmkrGl_|-}i+G%a0)En~3NC#R^my?ggoj_WQ(AA7bd|>GBw{JdnFvO~FqF1*um@yR6CKfUk)6NzuZ| zw_RWT-jD1dzot>YozwnK9Vm(jqJP-<`PF<(eE+ZB-b+QMsaz>n@4JYp?SIjFntO5f zGUfW#H5RqI_{29{U#=E1pn(?Qj~~7P>`t_r!V|12jj+{594t^B9{w_i$Op!Y>XUvx z*6*sSoKvMJB}=FTE*|- zy8c)aFi~WLQlcjUs}Ih(oAXN^uEiF@u--5pvf;tu(V~Zpqq{Sc7^P8<)hf<|C4=+1 zT%&(vw?f}%7MO$QsSt!bPRZYYMG^nn$$efClW-qlw2A84=`@sg1AjdR*bl#?sik$D&pYRVNy}i(b0Y37tWkHGY;V~uoUNsa*@MW zlbj5d-gDr%I|I(Zx@x#5$2+GaOnrkPapU}@!!s9lXgbqz&|)l+0Zt{8Kct^E++C`1 zIO5g+$VO*9cKldZERG#cXLoF7bQkB=>K3;Vf_Q>E^hO}SH5i}dMI3c&2ACa51U9TQ z-11^T*@flbRRI8@ida84GV?YG#r(Q#Ke90LMXoA%@GjMrlh#Wg2OXRpGjmBE_vA2@ zlXaY3OzfH%BY=RL+K)9QxHdg7o)SEt#Naw04k-YIK_AWryLNMI9xE?@8a)(y*OV2) z{p=f(!<+CQ#a7n??K05?my?MpKWbJPpQmO=n(XQA(fDCaJ!zCLwI+dX(Z7lppU_gN`1B`!O@sL3^K6;l4= z*DOR^ZpBJFgeo!js!IWj^Jggb1XA(Pu+XXf$zN{=s*Fgpva`XkYw%8rYuZAl0}Fv; zJEXQ{ZAHM$=2=NhNUde^emEA`5LZaM}I7_1lW<)$hdwAA8 zi43@KiQ~&EG~jnIIC&=)b^}fG0;{P;(Epbq1sk0|JX3Gs-urk*D|{uI#Yb`krY%fB zUALtMAYDD4ywa&;4O2mJP``2a4Z49sDKUyLGka6YL2`&D2TdzalmrHw0znG5pg8m< z(1aQoJxoVz2;D%T<6Y5(JTM5Rw~|N3gK`1wOaWlO$- z!l|!Z=-RbwI(THD|3b&~KX%jxAU-|sPYWRQK<`ot65C?>FfgIw-phFp!Ul@t{QuZd zrl6m>*JEMC(>#FST9{*iL@7PzySdLF*O>_S zr#)6c6;LDe^Wd}xZnUT$j`pN5$T-nFuc!#+`R;B@{Ga(zAc{K6g&-syMV6pzAH`+% z4ibUu+S=rxYY#EJs;a85mVc`+vi%g}gu-7aSvvnW37Tx;|NAFQ z{lJ`Ehw^@9qbOho5;TAxg~UN9c<8s2Q0@|5X*vpQmuT|h^71m|;kLfAb%Q`INjXD_@SyY3X&j@EbwGAD>lsW;bY25wsn^1I0!Vtp!pHBA%If{1D6!xS zB0|yfCrSDUJ{v~J?Y|%|FMk#i9>FMZnr90yq!1(aJTQsZ_vdd=z!qYfn*q6CeOm14 z=Z6cquz@f$w6wI;IHm-q8*I*XVk#&oltO411aoE=%x}O7gx=i?@VFt#ttUyji;Tw5 z&qjaZ#zlri%@mXrwfQej*hSL=u$-Ts1CTTe?ke;`Aurk5+B&c@2=1%>=OBhoN2e(I z{CtJ_S5!xhpwx!k!H?*;aJ{Y*m3eS)K;u3MtiS0xHG%-M^|tk=xif|~t_@;U0s4|sy=$nf%-bkt@M~yM4-VU+|8?3tlQy?JL{g(p^k)Wuc z#J^Hx(hb`usNDlFBxioZ`4jcbz>W+gS_We`XIGP>{N(_|Q05sl5hacFqi`tPv!P+# zHOkB=fT@QX?FtGCI#13xi#+m~sj2^i8l z&Zo5Hq`&&ZU(z*NL<*y!u|R|#xSVRY{zcD6Kq%t7$x0Ymh)xBVFR$D_`j-a`FWK)> zL7!NO3fv&oo!1H_trhKpQzj)g(=akZ z4b3IT*yymZvw(*~kP$P=g-WWNrtJoob(Xxp0`T5!$SD|Gpl^ISsf9yzA1+I8>ms_I zEdC4I^=VOl4xa$Pz34|I{Vy?>&gPQ>FtYIFqpuoL{qM8<4Flu1mPZ8I;ph+FT0wGq zrLlvRHcSLMo!nsSs;%B7MT*Ld%mx2oPEw$5O-9DP>Wad1tpIm@i<0>1Ycb`5Jpx$E zEHxAwKlRU~W}c3InZArFaRal!gw57Wp&tpm#lK&F}mY3btv#tqcf<9gx(vyh1Gc2{+?4>tA@3^(j3m7$>uUzteQ*C5Z<3%sK5sd0jZ zUj=krKjQ`_DU-#G_4Q`b5#IGUDdQaC~14Xt`STy;`m%bTU9i1_!?*Ao2 z^R1^JWgkF|ej9=U&}kO1bf1NIeJ)|BCt6ftFecmtbaWhqU?S-(=iP@4;dSK=M$pL6 zjS+Ue@1<5lvy{C>LU&HRU}A~g%J(U`Oi5r3`hj<+e>&HZHj)IIbcz!!CRe z;VbEyUpPSO5QaX+_>*kMYM;0H%Ya<@@Y-Kd;7KI7Y)k!ewDK+Zg&Yq4mT$}CDSG?OyQ$7R{p0I?2U!5?_?BrsO4KN|u&6w_P} z8`Z#6R9aS!M&LqR%_=-f0ArycFa}>Z4)+Vz`j+j`W&D1RW#%7=+~iO`%a5bI8L0J{AQ3Ff^$ay>%De zgTG6Bb||<~mj~S~y~W+m0XU8#s~|wl^_K`y@R)|o>RtN|cEgK%`?$1xW&r4*ooE1^ zdfH&*IxEmOfzO$RRJHJEu)jm7&nb}c9isK>QDjyW*iQY%K#d@n(lav*h`#U{dUvp# zqBJOk9jddkpK*hRhu&V7vZ=E-gjP0%0yhdh+V{jay8Gr9=6bP*OO|^i+mHmwU^+BW z^8IDjj}u2Qgn`YZS?nLUv(*0`&8>BUHur6f3+F+o|7*V8awh^#H)h@CtWXqd&aS~s z$0WmFeRT`NB}p3w7Y)dO$SqpvLlEGI-zwiyNqX@1%wYL!M(-`l*%umIFP38*n4X1K z9S{Z|gT*b?R_X@A`+D_Rb@UEP)#1^mK|YR}%VAJgTTXhz8XS)&=DTm8!w|#+$O7Pk zOsm?VI3~2)y#|?N?$}c|5)GQ3i2KzN&Tjv{HESF3-| z0;mz&4-r9EDs~pdK->WT@ogBA>mijH~nA@>87UcCzlauE!Y2ZkEKI!cFt=iGnyV zT%VW^pTU)u_NTso6@-`eKBF`eyWIq~gekzD=MN(nZh_mjrY#y5nL9SYFEkyb0F{OF zQI=R(9@J3a>VLA32PTJ88v3;0m+6|${N%Z0+N*gtP^a99&^svkXoewN@O#&fUtDcy zW^-;exj*zcm27j~k#`$WaGiH%)u=>-PWUN-AMJPz*##$JfF$J2=hmPe>Zu_Zsg9B& zpq-0ZoIvUiuf54o512G8)M*p zJWAyWr&`1fc*7(}O$xAqJjiOctskl5H3U}6SwmKky#$H@9Vj5kSIc8P5*D?NbYM=e zSyDW2i=w4B+WK2InR&;1vS9hXLY~M&CHY4unS_0!Odo!&{J# zF6WpGms39qf0UV_RpWB0WM%Hfa+T{z+=rN6`qw}4gw zce&k`IA5c+#tO_~1DbFL={mj|u=^rRVTzt^32ONc7!(xSC?Croo-1LI3MGmdr{kjJ z@3J=+z#5OL^{{AP`;^AO3^#z@@}dss;!h##QlaC);&VJNN5mlKFzeX)@;he%DmXA< zVa1$B(1peYCng*w+8cmGSGNrbaHdV<2nnQ>xm06z)@Blibjub4fOJMzJ7?vXN8~!} z25>_xj^>fZSwu~BCaIzMoomD}2-0@=;uOV{5MFoc+4QAM)%MHKcbo9ONsJ%@_A3NL zcM)_2k?gQr?1@eAS{wqOLSdm;Zu`Cg3Mzw91*i&@*CU{#0h%i{RoQJ+*Dbh0uDIIW z!iN&96tm_7yEmYnfq}H_%^P_zXNrY!k#m`yF;O%vG!EV?{yDFnaymhM?RF-q~68*U;e$O_Qq!{~v-BxE}I-e~U2~ zAp8lEg?XLsW(R44HLLqDp$q-WA7~_QEb)}5xiG0@m1+p(Rvl~` zkoA+sa&JsnOSYTYuEy)tG4JQLo-{WSR9Dcg3Upbjr}b% zT>&5)pta-f<#i5iP@`52mk2g;h)84IoPz8L0FlT%^c#aRMrNUzziVQ5&8^UcANE_l zLNZ^;ijIyBna~2zeEq0Xn;=d_Y(sI}{GPuv79#n95wLDD&5GN?P9pcv>}lmp)n||x z9KpFj8jCyaGP#B=NW+GOdUODp*xlW}vaeV4ayCWfT=N&QLSJ4Q+7_`f=#G=zQqf#7 zyQ5X@0~HGfg6`xdC+QHP=~B7f^#hnhg{0IreM9B*H|Zsb?*{J7_mXa0IXr`)pHz|S zV;!11@IaiVt#ZH2P-%yr5c_84ONjk__ZeIprn3yyQuQa*2j>s)lV$G-K%oTCDDB;Y zwm1P?NXACjoSBv=vmUtGSg80G2MY)Z2og4^7>&xoXxn-5X#Z(|Gh`%u`#a|P{m`oh zQXq8oJ9J*}9N$;TJ=B_Y1`AJpHRk8n+l!GOVlIP0XTw!J!i+r`2BtM`-Ty`T^%>6x z?!+fw9$ik8X}AAsPf$EHHN|mXhZM%T=;8#zr1VUyN?3@)&sqpDrb)vMEF;|ka>m)0 zE6eJEqS16GTj7{)@CTESL0lB43bDd0Q8j0`f@o?Xm6YIS+55TS&UE!8#>B)N+}6VD z)s*KzVG|Ds_7MzulmceEZoYQ%Z+}=gVKQRqlYE1lGKVfiE(+=g>p(N#jml7h+#Mp1 z^LQ%5{apoI%&Ivd=$rpLEv-A;ky=gK9*;YGx!Fk2TkQ)B`&vr=^M~brfnY{O&jaV3 z^FR=DGK5G@3@izB)~%~+@!Pg`CA{}1xwUQe&~3Io&hT{(415{-OMtHrjdEBe(K%gc zWH_{7`L_88r|qHSgX5!28#*&0GP%~{UHaB9eyhKwZ8q@$Y=JIF1CmEuq}8^aC$;P1Vc>xDF{FozNOmc}e=254hX z1QmCho}|3(GXS|ONBc1z%s-*Ir6(UJ*t+S|i)}=0E5oYG0*~MIERBSyu$$35Q1No!s0s@BiU^y*)J@4Kp1j{T*8_4WsUxgq6f*|+> ze0t!tuLBF@tGKCuVSBHZhLk~2K63y(@q5L2`4qFx1qd0@Ul5AMNDiRVJZaRK>#HJ$ z^$VnelDyaRB2Gdt^a2|aWJmaIy_V9`nREp?ozZ-i;&vUM2axOvPn2z(tE{2>5E}ci zr@o~Ca~BI=^q!XpqOOHX2a;ikpn9aE=Z?2MVfn6B0Mk$?O6`SMr39@Pv7kFIGFzs= zlY=`9GkVjZi|_2X_2U4aTy+$V3BGW2!a(2}#GQBc5o9GNeg-~!gB)Kyt5LEe z2FA#lJBOF=3oV?3;2azJ^IE?(QH!orCAbLD1rrp>&g$4teKtbi@EwrASI9OUvVH>7 z@!+P#MCBIvX2I!2Gdfau0}IUsIM%pRdEE0ecB5#1c=&=uPzq}WNxpss+n~izp38~R zO52oP+X=5*%_Hlu%rGleYZ6%&Zsvt%WnI=GRv581*+?hdCu^$Om(v$wHuyuMm!CL1 z>G$Qb%VlN+8CJ;@vpt8$Kb@jYmZSFDWL9RUCh|DP%tpuV2vogsy`3^!{bnanz374B zi<}p{PJgZ;*Bo8L>dr2iH>*Ft?6bc`nIJtI^vu-seE{XL${snIe|@bzq$X{&%29ud z#!NX*RMIxN4NEo;de4An#H(O+5O7(AFxx^vG_Pw9;lhcgpS#GOa{=TK2TF~}KTB0H z9{5W5u374_h|3;1{?)KoNIZuFb3xXJBz*}PDjg0Um>{#lX48ise#L{1k&$urK=0y) zAlqv~PM+vwN}iYB^euH*w4d9}$QItaN=Q2nlH59L#(C!(E8d+^+ZAx%!R zw2V2=K=D&~FUDNPDP1VE;8(ASjBtIzC7@qyqL; zHs@yg`%NzHG_!36qpk<7CDU?P*tGecB0z=Eb-<9j@TSO8DH}LRhQ)+q-e-T3vcA6l zVT%bDt+Kleg=&Y*$bhx?X6%#wpz|T<4f)Pjh-~>Y`^hfw#BkpFuK9rEUw%{+c^9yN zAgoa(-?AdRS|e;`TNCA^2+cp2vyIqTi?=6fV~m6t4U}*sTBLqTiYQ z)V_x!+Y3?Zxiw6b*Xw;l z6u!a`*Tz_Zl8KI5;iUGW!ovEnrtYuS%1rP5{Mh&X+S#^$<#zt6;*pV&`4H@Yzrd4a z7?mPWxN>b{#hu`ZpvY$en3*Q_;DK8g2BL@dk}q9Ksn0qy*A&b=-P44vCG_{5->2K- zU}J7^?_Ebxv>MOD^YNWJk`|;mUJ-&e6r2mLKihwScS-Au{@=*{@A9=UAU7|WsK~fU z!VptIYo_&e?QyAXV)H|3Zr==@TtUW1S?7^3dd)X>5B2}d zO#mv4clHd%@$bT`t}it1*i^%S+2awSw}I3G%G)|L`kPENi$`CFgy*@ZTcdv@c5R76 z+@@wuyB6C^LR7em7{DZemVV{dOY>3Y;a7u$Ww^(fJX7HsmXV# zW9uq|aq^?c$jAvx%`=n4c=~`U^S)VT$u(`s6Ox46*_6|7K`*wY~wc!k0K(E@|c)X-ssm?Z>f6GZ9luX z!Pn5xU_6#{|NJEi_a@@BpG&;Mi4M3i_da^ol$eWb9y_B;>HGKZBQ|3BttR;DaZjRo z)#s7(Pbr@cl$hWKOL}tKS%ftV7o<_X7^(J!U4!Xz;Y*Hyt^p%7y)&L`=+P79 zN{Eud78YFLydQ=Xi*ianeE9I^uU{Sz5YW=PpghF%K+9*MHJXQsg+&aSdUxfniO~^i zSGR~-S+P@aM|_7x^;74e_=?HwFk2gN68dez4?Y=)?>7iMFABr2Gow7ytm)-S#^ zRP@U>2l~tnN8_(*A#@`vgi#ON%Ngg^BlaxDgd( zh>V57&naqZ`YUHjU&)TYZ+4rCnraZw_k(Fb`z-X9s42EsiIeKHOcmV4vA*2hS=j(C z+$-+BCcE>{#p3U@$r?mA3_+3TO2<}Y0rPn14f#}MB!leq@7Fgo^Df1d7{K%RVCvmC z1p%3Ef=xl|Nsu@TDC|XX%}BHB=;)xD9MoCn zV^4}C{{5Wyu9F}j{CS|!K~_Q70Y3!!+sw3lHjNDYd^UhU1gjI%NstDt?~P#L1G>1) zTD8e7gs}xCKkF|Jp6GLg3;iC$rEmHJZij`!hihlPm!xZ-TQ;|;7R&8Ve%Qo}--d^yqwZ|M1yg(|c}GQS z{$_O?1DfFY@V~h&hQ199L@a&4q9vja&4U*Pf4}JwClm?n5a+kKJQB^nPl@%Y1FKWt z#KZ)hY=(>v6`Acq6fe8MPlDp_bjd@LYp*5cl{4w zX~E&ibxgw7JqhY?tR}ZWumfuy%>$EZzknGDWqM+E;D@0P`b61ZiDF;%Ar`IJE&6DR zA4gRP+vPh5ughVn%15>gnX6Z?!c1Iu;9oULUIc(&Op#7JgX+i(UYAakWAMzQXi|)M zPifUCaxR8QPcHKT6e)t=NL1hTZA(CJ=Zj$vuE7^-G%Br9gv^WKb_D(XSYE1m8$LF4 zz&s$$am>16D;+gYL|%D5W-^$*aN%jZGzsxeYY6?-SSH3eW|0tD2DN6N19uEJcpnIC z9oRsCC7tyryST3^;}eL^c`mnGdJp9zXv^7MLh}DsO&A6!?&NfDxFnaSJ~XQN`rt(- zDQ%8(bI&DS7yI7Qf!2nC>+#Hygn3mr=w%ZaZH7d;BU9?T z2^bZcP+#BQ2u^xLG)kB&ei<#WZ!#EGH*`OTJFk=9jcJOo1smIfnQI|pH*Vg%!@_dy z>E`rjc#o;RutUH5GryknRb4az>z49lA0`TLo<2L-5134%$nxR@;9uTdj?$SZ4u%2b zXl)+#60yk&@99eP0^F(|_eTY*v;OC^z{Wd8 zAcjK#VRV(TIJbzQoa!ZAcfY1EWk+t!c@lhV zpN^t*nLcqymvPXPeV1WyQ!k*Es6(EN@~b2`fCb3C0^R@NydqAdwD+t*Jza zje$XOPDCUdgk6`vZ|WFDu(<8qy!S?>I#~TWa&2_t(p*^kP?AsHnEJ}pLn!HWt(ZmE zT9}I~VMEU(hA*DzLA9*r;#;rexJV?13#-I4lTM9RuZMOm$b4kiyMFK0@7pc~O4IL| zvryXl5qUDcSSm=U+mrAru~ruz7PTnxu^Q2^qKlk}%&F>+iW%)Hxc9gU278O>?ye5P*}u*u|x zjTGgo>_@MXI#cmGU+_7jby=zv{};xfBbnIf{aiKV#o`qe|N9uNb2gu|e?3(D^WVJD z^4gE-UCLF;7D;+fpb0x%c$TUr@*JEz7KwGKsj1ARP00$AZ@rS#?<2RP7Fi4~4` z|2B)__v_$s5eQpJ9?VE+M#^1kA^ZN{{*v0nOsX-6$)s}MSjsNq-R!n&d>$s?f7J5Q5hNJwc<1q1qdDpl|j%~b^=#v0yhl5hR0^; za<=cm?Q|ZSRu4vOtjlQn4K4*k%uoJ{77sz)3WVv0w2vch$bMbaZt)YQw~{DFjEF(l z2i@C=r(Wad-iHt#O(FPlgM+7aW!D)QoqJ4|?89KM@qRKoshsv?l;%+)odaP^WMr`u)qUCTIArd+kV%OZ zhet$U!DTBvw@qQu5jQk60D>6;;>^ymo`C^L2*a>}fMr0XWk2bkqi3~_@zz)n93Xd+ z17~z}$TU zaxB0;y?&YGm<;f&fYE0A{aplz;{SLG)jGx`q5u1)a9qebT7i(0R`_*?&JO5m zNN@G(YHp3uJ)HkO@uIq_s#v+|CG;2rJ??w^2||eA_?VaNX9-mTVe!LA#Y!{Sfi)@- z-aU>755lsusd)X@IbbfrCr~#sp?1)=9 z*3_lA^^%GT{BEnnxcxsgJJ+zkB25YED#OGvq(|qzZpdWIaes~=7i; zp&Bj*1%)8Mwu+=iAQ985&+@x|baaH+gk%UftCVQ6!W)Uhc6N0Qf;)o@GWhFPWypys zCnhFj2MO-l!Yl`&GV;TzIu%w}>&5z#ox=C@ns0DAV<1gQ)6VYSul;M&t?KFJP3DG^ zf2ul=*)dOl&H22Qzu{zK>U~F6rV6yKPu3k{VZ0Zh$9~IPxW}~C_oV-+_VzE?TE}Gk zQVwqJHgH@;oN_?aO$3qx+q<@q17c!fAp}DB=2B&%yG5#DvE;#eTa@EOHLql%VN<(8 zOG~>`CmC}u^$;m#0R}hPyy?jD zQjXpVg#h!ljw$%1$XkKeIec0)piVLW8EkHq-mLK#<0I$Yj?NCmnh1#p(-XV#Zp>G7 zn(T%8o;^3X*m$gWQrlMvcCKw_CqhBdfk{fnU+#}XR2mP>dKPV*mIX@O`vspmnzePhqfl=Y(-qKU!$tmw3O1@ZqFHWu9sUK3jjzFV z8j!ZC7St;aq>4VJVat^3_^sm#6^u*J4dEdqx8GW_F>(*ck-uI-fxNa82*204uI4tN zbDmUs_`*5v`*+;CFBs-aIL%bxl(A*m)~QP{uXhR2PIAc{|NJKWFTTL9PU{5XY|uOwBWUy#6cIj%C!ZSd?s<6`2A;< z$4^lYV@P@Nn>R$A(yeP#-wQcom^uFzM{5Rbw8&Cbte8xJ5Shn?6N$w($w61K@H5S9 zCQ`i&^wsIAFWlytguHf0UcQX^22vXmvfc~fpswC_kaMWKQ8d6I=a9}*Nh>z}Dxso6 zP-dXimRzD0=fO(6Y-zbV@(t_k_#iAKq@ZWFn$m)1&RU3zYjX~4Z4r$;RF?KOhCx2i zGdMWtACcD;oBPs+6)uR$z(9Y|Yt;BMG$?E#E-^7iF|&SkrlxT^J{C?GZJ<{{p@e04Gs2ocRw0RlOQ1@Gt23s4w0!SEGslbCKCz;6@gsw6I|lvWspl$8gC1s=oMbg zMpJ}ADae}MP;4)aPbDfmT$w-B81i7GMa2tpel(!7)rvo0gl#x8G0QL0>qoJMUD{c- z<>05x#-}J$VAOLs?&5KEEiQfhM9q!|VRMALJWOsyO@o0uy*;Ol+bWUZ&jMb(*RR4p z5kObv|8DwY>fdOmQ%s-~s*eo`+$A9LdAM0)H}W>Hyz52Ve2AQKi=l5rmjqRK=iY6# zODLH)s$bu#(4KM(Q%TL^b(2qlL+|NF=O}gJHIO@|@~sJ4Ud$MLlihkcxwjSXbdM5+ z@4rg&!EdB=dQfpFF!ikO7eSloa1U?W_cGJtTj$5U*dY-jG^5F|kYM{o45L1MdKl7W zVPzH6yVN>6O9d7JE-i!M%d2D&t4VSx>|A-fNUT;0i;3fxbXgCY74wh3?TeA*#;~$` zL|=aEicL~R5mAspZtkJ!U#l5;7fW;VVB8JC9Os3Eb?~9ss(|V3cf>2;2mop^l(Moc?iTq4`Mh7w21- z3lY3?QF)VN%V=1An?L4hj`sMc6$d|sRHtlrtbmm>1|F4k=Bw-rLbI0JK~RQ3M~P6} zM=MGxTbLYu6)xyRvSw3P`K#rl{L0@wvNg<9VQ~xj#5eL1iVnCRo}Q3&5h>1f)(F=7 zZxLvoen>cqIfRu6wgRF2Z~V@#lJGcj1SBxA9dt34QUkb_ zl*bxWn{r6F1;0S;ixu5_`a)DKr=-t)Px8ReU7;vnJ-#FG8uUZ9L*{Qzho}v!q8Lsx zw6%aO5Yny^H>{%HzwMz$2>*V*5w}k{N`uAX@jF_Aft?8Iz~I_X;DAV!FF1L5J5C#} z&57<~gsiY%Hw>lS4vSAYM5}b>3>WpjjDC!VbRXoP{Y3S!+tH6jT#H5i1~X|87rZ8} z-7CIlqYwVNPhc0Fd3ZdjV6#V;gtGARbVW_cHq3U^r<_3XKZk{-T!)~6#xTvpGp#s8 zVO~a)*qRMPDu%Cvf?89d;`m3Vd?x(wQ;gvU?=(ww{~o;Bic8){`M+Z;l6RP>y$#$x z^8qs99oOHY$_c5DH>QFdiRqe7au2!6rD9H-^amBPfY-4wQJsMO8jxnRpqnNuWfyUY zuV@edDrRQjA9U&RxeE6F$WC=5JvorNgj(*)!T|iUv_m%h_3qwYJE%kfb`5}CoJGh1 zL=cdAeFkp!+wSU&)gl5-`OI@+wI}iIHm#q3Q>~cnNmCW9fW_b)#y@up{YQT{R68y2 z@xQ~?i-4}PV5hJ2>NSr^ku^>v;#bgk@cXjz&^x5&9@2I2YszTd7fO${PiA|XE;x;A zTQ65b1_4jJjj7j&jRFur@t$r@eYQ0Fq0%3tzicCA26~pWt13nuSh||u#fyAlf5?3l z6zX}zh1YGB00A}#yvw91cA-UGhN4hM`_k%9?J}#ogT1FIeZTtpaF+d$Saq-=_$fF3 z3K$56Oi$~h=+UW#!f;!=%_1rshc(xAp=g@Q?RXQFNBtb^L%@oS0wJVVRhbIfe-u~92qtc83TuO!=D_rT_4oI;tAzoA;I>kb zl5+6*J-wejWcO_Ckl6dc>5B4D{$KF`(c$th%?f&b>HKQW zG<`(aQ1#BVnQMY8047+7vUOkHnm)Qw(1lCMBjMn36;(=~?%a{hZV5P(QkXAxPQKFA zIr@qDfGB=rwv0#bt8r#kA9uj8V=uz%^wXCkWf?x(^oH-T_EtM$&baB#fgm#C#zR`Tl- zbvC!s7?Q;X*TehZo*MO%H1k!uN3z$C+9!g^T@UOu)3sl2^cF?{=e4!3?{}MTOVWg> zx4KQDh58<4+F3&XE7~QVDa~M;{-Hn|ND7hL5Xox^fHT2}b7p4a&so;FzLPVI+=8od zh(ircFLaX##XGr?y|-RE%7+EGbYCAB-~<96Eu<@4%8P-XzLKKM5RU1q!MZiJuZ?EU z`6}3PjbfN6Wa`}}lw97t#kT{fpwnMa#dZo-aVlL2vniw8bORL%lnrGnI1PlOkm73K zDOT9(Puj<2XP57ITG*0|p->H(zkLpz9!KGIFHa;@Bax;$c5sE3a}BId`bR1Hd7G>> z)<;Xan*5G-3Wm%eiJo8BWa~RYChPu?#pf@OPXJl?=bIdSe6jakgM)a0jmTo)Ly>a$ z=cVh)zS*l8#4TkK)33FKd=79BQR(NPO6vJ+-JAs*tU_$$J-q_(U=Dc+PT~ zlkXq9FuegqaNgUum`H;x&!&&QdW8*#b795vy(wOpvD3IY`TU1l{bWm7Cla~r{RJ#3 z_H)DS~55mqvb{dHuh!D<3l5P ztjFWLGBbB2mbMeRwC_8-+xZ(AM=o8#{(lZr;@NIh^8|Gp9A1 zG81@~-bN&@=HH3vQB#QMR;T~*@hL`22pfiSLIyp#KqpUI2bFNEe1UQr=a=Ea7~$RH z^Pm$_U&|AZjkK|`vLZ$7EsJS0LzZ++F+FktK91f;2KAnlpuBqM;J}tJn6$@25PR?r zC*f?nJrR?|<<|l0GVe;;kh(&;(o0>eD;OvKE_M#tB)ZAi@6PblIFegXQj2gn-PpWr3$TYs@FvB!G=Xb!SVjO+0TGS*n@i24!ohBc%Q~*{US2R`_p|d8As1*_5BhL zn@?@FNC3R&CI+iH;S7>*uD1ZTgc!NXCcd{BF8sEtcm;VR2HFKmkBynYnX?~ry!ITm zQug9K4b}Dj*9ZuRCzvF)5o89@!$%?H`Or!96rNQ_fnEP9>Ew$tNk;&-nrg}`=8|$36BsCXasu@NSBb0)YrSWEwlR1J)XH% zxNUI)54bO--&MdRrF&Q`4;KI-(WRYTqxrrG^9=r1 z@Am$}z~k35N?V>}995?l_Udq3<~`oMsd}PUSNl17?NZ;JMQ*fH=XvWpkk}X1kf_^0 zXx2QV4BdL8@EoRhd~h3If|K@UC3r+7de7!Qmb3qH%HDiBc?)q9ovcxRwjYz-I(W>_ zce#!EwQKVokvvhW!clxRUhmzrlOg6D&t_hQ(rZ%?xz3!}7ub-a&KAQn+QWLFb^L7E z5M<$rOu^4Jn5XOiVQ_v!8XW@{VYig>Q3oCqm!VHe70T~#FNa9wiB%&2re zGa9cyXHQ$Zp*mc~rIFzAWXh!HaCp(s?D+j{>%-S(N6^tD^>K3zLC^=0!|jfNFT(O& z$5lw~-1s!GK5l&`}ZY-u3rDS`jsF?L;hBLW@60zys5UH4vRtY8`wDb8~8c6xWtHl zF>u^}dFGqn#A&^L?n?;_fgrI*G^Bd>;T$bhL?@L7%_H^U$oyt7E4RL$1dM?trMh0& z#-{dlcL!qLDZpYv0ci-EeaA58(b-k5>b(?tK+AduL*nBJ-j%*fW~hX8UH;0~!zfPe zMsMGc>=h{Ke{RfrHb$Br_#F~MRROVhdBd&! zrVnKWJ5vxb#y1YanG)KYnhHu}KEz5VM@rhlltIVy&_@W;zSgwi6=RdvhNiMOc(8lj zgSa~Tu|b>3ejDf{Gkj!FY4H~%x1<3$7GDa?p;MO;w*!0MB z$OaVXrbkt?<4{JPtL80%E@FDfb?@)5577)fq%Q=p_p1^0U+JE~qGnPp+Q4OzK$KHF@%c zwK}tRX&$mH`!Fqww+Qw#)%di0@`hRNv(E{gVH58aYLEI%DGa`=0q&BIzF zl#quXI%>)okq6_eMnK`319Tv@ZPWtxP$K7=DpupZd!3M4A{OMw{}5j+now$1R)tN{ z%>SJ{O|r;@@Q#L|2&YLrq*wtQ{Bz_L{?0^Jp zaI*;d+W6EFio)IGTdS*#hXQMBYrwpSZ;buNa<~eF2r-CsC~9~S8+v0T`^YG%P{9p0 z&ux1`u{(KUV9Dj%8zm|btmXjrinufbupS6Wat}EfxQl><7phDE?La{l9dQ4!AH8>)|yJI7g!5S?Pg_sLNZGEEIS4^6Ber4tEgS28C z$c3>>o_vTthGj{MI6XPe2q9H+=o0yTR(*z$Vey;fLw! zotAM)9lq}kcxHe8@gvgx16e)T;M1$TLa-j(BpU9ddejfB-L7trc#(Rld8lT zJiet_myj^v3TQ(CAtNUq9v-0Pt>CB#;4F%|j!MeJga!y5l>cFgw9r2lSY*InfGRF{ zE^0S*KIU{0twGd!kYxA( zh+*R!r7LQ$T)Cp+B8h3DVFACo(rjgl+&{)+2?=9JrIU|u15_2f`n>0D?wZd&P7XF8 zsoh;&Z&d$bSi!50pG zC{^R}5n2;h`N{z&AO$MxAWQG{_0wRb($GL&ahFX=q@^{8T*Yvdyb|w;pZetiL`q== zkq+P%t-k`H2UGMk?SGQ$A}zyb9eJb!@P(=IF^wG@3^#Z8eH8@6r1xL1k!FS-pGgu! zs0c_)yA9oBdVHH{&OKx>Ipxzezv1kk#4rOo9I=D^y-rRnd`=ZE_hr@*88jv2(r^FW zLCObs)N{W)7%p##Vdiw23*-{^#l_a4=l@+kyb$@sMgqR+xVi?g(Eq#eZTAvuKrMjS zVIin5hRO8cvBrDwb`R=WsH89~$VDzE`Ga{9PO;;-$@pT-?GPn_2=#Je^Y`yQ59{QA zU~gP;gk6I^8#q9Y<0is~0EwOlss`7TC;)EAT1RGD7|iUXgZ>;C?RI?Vg53RM2DF_2 z`_nf!+~W$6A1TAS>iscOW+3?geiY-B`|n2p13udH07HQP{ZUuXKj;>dlMbANUruOd zb&Tx)!{sZh{+k#$AnA0}6~_ zmbKB*IKO9GvNt%waRt40@~1aI25u?%p7{|m4?iP6?Xl&bpPvz_ID$_S9GB7efV#HV z9!LiO=a?a%gE)CL=fg7-0S5O^~Z5bdyvHeza=29vReo@C@){EWDxP+KDUbVxc?Qm zWuGy8=VSOz02kdlo4j@x9kzgg1ea&}Z-dJv@)SbYYZkR9$H$tD-`0^W7;faB!#?;K zsufmH=q4jG9{%?o5$0t~9Gs+yfjOt2%gdb}o*Kx+K(x384wNyd z20T39{iD&qFQ;>uJfGfxs50u{6rjDIwjHyY1Z6ifDEK*@wsQ*gc?Udyjs_w;>?f1& zLssyW{`zjyN5`-n9%2}T2PVxzhe78(ZL}dreX0L|JXF~54X8nw{;eP&;Wxbz4b51a zXN>$E+h5aS#Aj#6Lh5KdJvRH38olN-Wg>6qHhBvZP=Ny;Ki(`?(De%e>=v+l= zrA~n)NmsKq@Iw$Gkm6FjXoCy29z2P+{?-)os1q>6Gf9D)Y*}GYA@BXYu+8;(!Qu{_ zNMcCui(U9p+8S^}mBe!J6@5)9(;Ft(-_*HYE5EJ4;=Xt9-6W{VWxq-j>k%BYoL^_Z zEom^=L}%KJQj@{~F+)c|zHPdb6cIi{mbcIRk_~{%6(|#vEG`AYy1j&g z%?ZnK@O4F;&p?(k=10sMO<+qJ9@nTI%)Bv>YsO6zZxsPHRqJ&_uI>Sn(Agynr^d z`^U_?-!m7(b0Kj;(6rk)_)P`flV0v$1c$1P{4-~`0w zXCg*+hni_H{*`uPxTpX~I#Y%1$~4PPhKJ~p8ZF=<+O=-{Fmt4901QO>X~FR#&6gY( z19FT1a%|FX{DWDdW`r;ihzB(xvo7o^flO~JBiRV zQwD2|))`-)pC?NzPHwhg9xptsP1+tkNMX}%GN%Far~JKBI9JQR61jq#Ihh-B9b=m9 z#n1QF(GJj!-G5FWKw?#IKS-kYoPLEW9XHSjzFF-31J+<9+y~d*SIp)3cHKv=Ti(3g zmR8-(wQ`p{CM?QMtG?c&qf>!QeP(O9)W5BxhQ<5CQ>*mrH8kG-H?XncrO&=NQDjk| z0^2pq<2#CJLf30+J#?c|@b6?RGq%Ukh{wgnQ9r%d{Lxsl{|O}nAtG}JrWnNOEU!U# zmzVs7;yxIEJk#o-A(-XBPRi{FER+->F0K6rv$^?9kcJrx&l1n5EzUX=2(hSU<4HuF z$#JRpztBme5L&t2_tMa*yTVSJ&m#L80OCLfnunX*8+o}tRbuKp?KeP!Sp8-E6%3~XxtI{H+Pl0 z#<*<5psqX};asf7Yh;CQ&NN;t>C{~EcG$^~;csiwd}?0EbtfLvb@>bv=+evm>9jCi zb)%B;b5pApfmRz1?o@EJaFa#qI>iZjLA0S>y|^ug9R37}PMHe)QC}`v3l6SbMnh_T z|NJ5007a!6`-m7W=h#dZmDeTP91g_gPx%qEX1zvJ6{bg9B)mfy2x{$jE_Yg^Q=4(I zkddYhRU2SB!!n**Iic4q)erLZ!8Nv6wXJ{l8x4h!1q&4~C{OStN}_F`4u(8EBO6;M zg4dixYQP+3n;f6u?&?cBq=iZa*H)w3Ip)EWNi+@d&ra0sdqoQsToo#q3UucAi>Xcsy4WHqh=3 z^eAeOc?gAhzBXx-L z-9o3?K&&gL#iY45PgR`2;bIXHQY%6|gcE$FFQ)?as_ry~s<! zAeNM$wB^~Vbjt&8Jny|#ro-ct+&tOA+e>O?{&PV#c1i;9@ee~_{zHjR{PQHlOdVKBEi z$%Xo8hSx{1zrJy+cYvLNFrosn!bXx;p&C9`8JMv*h>0(uvUZMEM*qH3up)Ci#4v)x0MKFsMh8|#xyw{Lw2X=g#$t>O)^}lGt%TxP}8e>^0{G`32dE7L7HM>Zy&AE62`P4 zUk1>O*XbhX&~Q1JBP;OzIUq0I^Xw+s1(67t?xAFvLz<1ERlGOH*;_0PsZN}-?o?Y2 zbbh+D^Co_EqAl4gQ*XHeN)owxV+ksy0LsXRsHpZd+z|5HAwm7*Z`UhP2xT{VdB5Q% zHum;%KN-NXCdcooDxS#kndai%*{c)H-(+R>W>+&va)X{!41w8veuU6aH>ZXVi)IK8 zRsdxbaq$mZKE)IlLm)R5p95|zRkmzAAn1S&2q6R^A|ymhE@0wlJcHO<|r#;<}8LerVLPNc;oEAiSvb5|B}ad>-M>ZYXvJFYdi7NUXyh0 zzsDoIGGBUVtX1~-i9eaH=R`&upnoA>X2Jc?!MB5H#5bWx{0Jb*{DZBincgN!VO1aS zGx@XWyY~LhbyA-8V_q^2>!0{VUIY3*A50*9noltj|MM%-2!-nPzyA4_NV95x^X|<) zc&WkQi3oV?8-S^33ZOZ{&!vL;1jX(&Ti75pfg?~dy#d+8Uys%?s8j$kgQ58qAFdQG zrAF$a{Q2yS-_sw_$I1#gyLFYdH@ z)_&AYJAW~AFpTvw7@Q^#!ti1i^61<{*&nSq!pVJcaT%;e^!ga5>w_x!JWd%=#@)Hb z$*yw*Vmx6)ymN1#j_^HH6Pbl;0Z^BBy@wL=ROafgkfsweR+br>DcF@F5wX8K z)8s|FE9Jstt>VmCZ7{KSCpZqNrT{%jBRvD820vl52C@k7^m1L1(kumq+^bFS+IahC z9IEGk?RF)Lo~#VK;UJ3Bd<@`Jky@D7+35s#%^-UID;n3))Fq=TDgy|w%x;6l(Ub-P z+SInQSwmxhXX=uFWU_Q{7!VqM;5hS;8lO?P*&<4_&(2va1@`Gfu1z!)(y9>z<~cen zc4?wBZDAZMlIOPu?D76?hauq4DmUyR|IKouZLVX=mnF#8VcWWHSvb-`A z6Il;ap(OivFclkG{6P)ov}#Yw(g<=Ygivyt5!p!{yLh>jpS08X$&X;KGwBZIOQ`&p zvXwSZ)Lx%xbhuXB+U@YBK0tw-DHbk79?p~&)DP4zP^D=yWwY|9YmN@-#Zsn-Ja7(y zPQCpYKGHp3`ram;+>w|C56aijy$So4@GbBx5eME`jSR=CWlgvHPT5Q}~6chqzDA1Hta=G!&eDp2ZbEOn|7EnV~ zD7`kbVTRPpQ8{69O88>3+nz#5Z!Hiu$;QH=fX`(S6Uu$#xHsS`#ZRp4;Sr?X*sQz=B`rJ)eGr zj$yVHW;y!y%!hL!4AsyD+F%mC z?;U(hd{WZl_t|Nw;8p}=5lM||ms|!#RSP!54*?FsAB_9P*_{Nolcrycy&+PXYm8V( z?N*)w$!8$?)o$_!uHW(Gjq-uH!>Pd_CntALSNXVu({4Z>tj#~Dnkrl7w&NXq%6Z&Z zC1wij3`9w|x4H6yRj;7rnHodNed5b!H^O~g7;=2!Skn38B%#RASHM1ay4$IyRB5YO zer0BS9DV!(EQ>&uoBuMJ*)II>;j{bReA7OM4<{QR|7T%Zr|*R7)Jj&N;}M81oJF~T*qGdnsJ-m%@A2Ab;tTVuS^yA*1x`PVxEOdH zuK}w<&XWuZdG5aXm`BN5&6xpjSA~(oC`@aPaXVx>&V8M^1VzAl58;@!@tU%PWz z_DNpJEUba10<`3!&e1Z;Q{xk69px=r-LodZp!_rO zChyNm;XWhdy@!xep+-jqoi(n-WqE2EKo2>w)pCF1>A#gI*_XSKlXVyl4j+wG+b%<% zBF%SmkZzPV)W5L8Rt8fg8%p$GbX4KCrdlLY9tqxgrruD$DEdh@+}0?1>dYA)8jt12RYU5CAwKLXWVxxNjYK^j9BKn#yu+=A&RmwZ@F-Rvw!H!Oku_P>m=+kGDEEMD+dpckEdIgtK5Bt`du0 z%_UjS4hDr&$~-B*7f&u6I`;SM>QkKYTJO-@W4*WS{Pb4zsr~zrRXv4?iQ3OkXB9s+ z);Z2C@xGrPqmeKwC@4U*4$OiVQO74t6ft=<7vUC zxePU%t`FDkP$)-c2So0P4djF|S7ky_FiUH?y25hVE)dQt9AxjHb2{hEy0qNW< zSOtwB_}m3TrTq_0E=<$KaFwJCf?RPREJ35o0uSy&5_(GwNQnXEny7FVHUujzD2CoM zIv|^x!&lwdK6(Z^N^~ef487I8s%)w`3KKY3J@R=gn*C{sc~#*})oj8;kS5c5TynA=Al))TDZ*d%XUWi~zH-VQ3`jacr*R;$j zv4F07Sq=jOL$+t{##t$WDK!j&`yYA(E>j6oQ@&g8RJ-|0!^6aPA;$co;D+}#TvA|?U3hHSSxKVMoa$L9Nz>N-?!}bVo zgxrCekcfx~-0q{5fy}iOZgdF*4%-9>sNQ3P^q-&NK#msa**dCIBRhZ>aJ|Ay(SM5fi2QasNs<`fJX~_WfYEvf|KWuDl<{D-OnT)uG z`g$-=@2sj4~&z=vmJxXZwE=(*#aclYbTHZ&(1M0j%}VW{2M4`Mcs~ z<8^$k4t)cIZv}F+g#7Jv?XwTfZw3aWI!fefp0cYn1#585WDuj}Ih+tapc!8P^HoHYJ}mVXEX*d)a}s}lVvB8Bl#w?iq%SO?n01eU z#0SNZ%#Lz$cfW#Kk5(!c1~}jwC!8QarK394-mQCaer6H6S0eir-ey&GHDU^CKlxs! zaKS@aIZl3GUSmjAWuEtXuXvSF5_1xr25Yx%3Xquf_4QE!HZGSLx9><8z?;ksYS-Yg z0OQ=Ra2`8_7Af{&ayUs)JgR2MH&2!mS_&p{ue~dAf=qV|h`xcnOH~wCIZ^Ytd!`8y zH)xu=7zw=tBh7wRv%NPBGq41MG#ZJ(!W&TTigB?D;~cM(HIIagTo|P z1%n$2+}-(!)1pa9%x|Ow01(kLFhruP zH)26eHnJ})B&43zHs>S(RXeWABGHg!(6+g77gyKbGkap+ zGHrN(K5oP<7`CGb#I)f2q`$8(>Esy}&FC#;crUS~l+;{i<>ppfpIoO40JO$sLG^)` zdeSOTFpAtoQhJm5>nbXgHx`vC-3PU9_}JPO_gq%fczz4)sa;=y==;mqnAXPSSbWn| zp z`%U>}evvHhY>R(6&m;Bk63`N$L^FYb{j-M0;5yw1(nAG&A5u!znV7&`yM4(8`IcND z))qD-fe1tMNP(%XCf7WWRyU>G4}Tq&K2S&|CALTsP{f6uv6fzo)`t2QR5|Sy_4cBpLiG zXqUiORpVSxH90>y#z06a6GYTkaY!D@NfM|&LZ+HjkKW_qrS;oPfO8=R*N9#ov3G$@ zNF$2~7!@EsX*gMgw~%pHMkRsd)-4Q>^@Xg!oTU~KF6ZBZ)-Cg|PWGHVUMj{}`1WJx{hUtx0scUz6lo0OEe(0!rd z;MJ-xk| zg_JUvMACgMU+D zMZ!x!p0-;42`6Ee2Y^>D1f-vfi{N68p-UP~av6Cd@&A;-%!!^ith~Ji)FMEntT7?M z4^2Yf8Gh7V2XF7h$0wS>* zJFR59;bPe#7y;Px(k@|xS9(tHi&b*uyVL-h2d2aE^R9*0IXNh}TV@PC*iM0YSJG72 z^avXgC$jtYpMZ3^n6&_;4&We>s>r&bA&ZeI@F5D0a3Lo}-jX=U#Wo^0uDd9^Q!4L7 z^@EtJC|6S3s?P%z9Jd2(BXJ1J)4uv_DGA)B6+*(o@o8xhFtsmVxdOdwZ$0d8IRW`V z2(2;(E;%M{Sl-?w5Qw1LYf$SM+yOKjbMo-$1nP^q<|k?iy??wTHT8d-iJhW#(ob_v zPRo6_8~QU~hY&p#B7) zptQ7f`qB0OQLlEspy)l=AV3#Gm=O9C%;{CPr=fWGZ-t4#=z-);ydZHGZJjl~z&621 zY~*o`Ha}E+o#$GwWC*xpL!7e@6Azb#von%>8CzP0LYdgKJAvLlOd?zsvJw&@&k9|l z1R+!o&*&nZn&U7465XGXQe-WY}DckR>k11QsKIysI9BZEMEbS3=7)E)Fzhz@;B%& zat)kQq(Bw&0kp9J_`njY!h1a|d9X0RUvV+A(^pvs}2kO_cV z7*gO`#|U*UQo5YLBJLIwgzojt&dzVP#{=_Snt(eq_#xmE5z$uT7FAgk!ZLzJDXAik zPzgezU=2r8iDn&Vk}?8W2H<=R3H?hxJBwHVjv~_tCJq$97|9jV6B6!lQ(r`hxG zd3lLv&zh!PK}rm5J8*!bEC1^Lb+AnV(?W4oRl=z{arOT>m=J+^L@GRfmXO!;zCL-7 zV{6PU)tdNR`0VmB~pb#14@b z@V(g;n<@FdO$t#g_iD0!?VQ0yzq%jt@uNXac%Zuc@4z-`MfpG*RyFxd5rUU5Z`x*R zfrpSQ)2(=?MLx=D|M1h4D;0KTQMkBI<_=_(-rJa!e0Se5T3)bjm6>kv#e3>7+xBbB z(b#MlWDEC6ey;^Cv!+)b*w35dLR|sWAldAa>aZ>(h#{QAs{Z+()lrsuHjl=yAi{&M zrfV*Yy7gnqFTE!}no;@To?nlxqU`i7RT#h6o3+}# z*&mm3Ncg-p!H)yV7Rb~|XW*>_%io4E9gYVidKYX@YS&H)ZsFo?fG)&NU#>CG=P5T7 z!32ZPDlfGjZV`}IRmf(md3dlXW-_LAemYCc0u-+{>k`e9g@r|d%l>oNEYoaXK?e`S z-;j_nm#dPNSjzWnaT?i}BO2-|?q=+2{e=_DE}_TP$*r&#k~ABZ*rBn1OkezHS~Jpb za+;tvqfVD=@goX4j{P)$B#OLbKq6pn_49t{tQm1b1q7M-ywg2laj-J%gaQ5HnHq^6 z=8sk4RZ7s3;2nU?WY>9+ zAb#@#d;Nz7=?%N_x0hPKm&YAH5nbxL0y1*z%_x-xr+pVv;P`MjoTk8+kqCGUy<70P zxa9liWZi-<{su-1yHsBMV{udf)Xcp1e!md@Hf3U|nZhr^a2(gii`zlZQ6BViK&o!j z!2HG09=GG)7q>f_L|;8?mdzd=xX4AJfbjPG@atz?|Et03_brAU&8@7=zzNJg%=!=G zqY_J)v{FiAvBaC@YH#j)`_A_?wYZ*S0XK-JYtT2+;YTC&+~TEE(qkgh`?fjTyfF5y zT1Nht%*>9Agfj{iey$0Jd-?zRPLXCdRQ|)*@Nl*0@2tw0LuT3-9;La)gsUvPn=#S$ z)iq)K<^8^zb7Z`rCLx>hGBP?E2--pLw!@=Id1d{bQeX8RaBEXm5h_tywN+JKDOAYL z|AXNUF@cZNAI*Jz?vJTeoD)3z_6eUuwTa@Jv$yaS_x4IFnguuTEN-}D*qcr1+WtNK9-d|Qj{4QKh( zm$dcyp$-ujCEw4PUHdYp4mnJwc@S3(@aEDc7m_OBv^E{x`nCP5N)+)u zDB4J2H|%J+I1L-1a^7}aWN_m9&b2}*k{Uo|#nzhGHK97SwM#jF+93D$F#F=?&vD9M z4@xDv6mhv$vSmaD_fkl?4_yDaW}Eipqs&FSG0HV);JTBCPk>ee=t2V1svv zzM@5;ZVec8M&$Dq9DZ?wp~>FH?j#*RhZ^6Im@7A47bBD%gFJ$x6+ zC?@`=5tPD>z2socOePV!g$C_Pb%@R|_KFh5qoSfJt+YU)*Hg@SeDF(yX)qwJ*cdDx zfPf7yA#;se&Eg)ldxwZ;1Jk1t2_R(W{|=uH+QZBI3&yb=Jy!L7oV{A7?ee|^mA!hW#o383AG%5I@(g8OdfA&mmLHcK5`u` zwu1SwxMZ%C(2GVQqa#K0glf%FJ>#UoHz2USo*hHk$z$+Cy5&mwqr5ar*2f;_x2|Ll zHcK8Pl56Ymc3S0ywvP6Pq@g_@^pA8lQV;_m%2hGDd9x31_1Bog&rOPs{*P(557QR= z8ls4PPt`IVx|*p?hWVfZ4sbWj50tV5DEG-m&{5?4Za26K`#T`aq@5v+ob$JbxBq;m zMSaR=nq_)dWiz#w*e$ z!0ANGG5@|>Q}W=>@7U`o6xa&9({0o*yud+?kJq;LQN5vAd_#|(Y@)307vLVaqNS*UR8 zwuhq~*+UubqHKCniY2ggd3j;Vz-BH1_&e~)qos6| zQf)2?@bgnIj?v2s?kGW?0#RV$d%vJGgt}Mfrx=ON7dIOko?T`&yb4mbal+4Xw={Ke zicc$Z-IBgN|3p=gz>R_zb@f?S^z*JyBKS9C+08#PyHU(Evle|&NZ-knce$FxW3mwy zA>sHy$z1qZu$|2Vr*(;hp>AD&%)gY^ZeB3flqM$977m_L?ye-=vuzR;06Y+7ythJ| zdYM&#SySfuP4pado}A`$Wur41evAM%gG}Q4B?r5!F_|hC#+~mQzVy|{3f66XcHFD$ zI}eQ^{rM&?9tP*k)1j6=e^I!1$Bp%${c7d9={(nb9JYU_PGkW8XFEjo!3*iV2D9GfYyj90u83kPbQd` z=_8tz_)DzP|2?g_dHx6$X!0T0Xq>i=f=A4#`k$dIsY32T3`!KSDk9mrCtXyp;l{so z&n*n@>v6bM;Q6HrgdGLa#>&My{B`-gf|8X?_vN%D&pk+@yMHDm5?_p_p@|cjA@~&Q z|0C?Zie5y{9NAtPI4MOI{02wB;CkL*npWs|)VvbRw7cCK5$ z=Q+>oIp;j*zh1e&>mHxabzSc@qu%-1{rLI{Uv|-Mbu_D9b37ltd)#NI)qFdV*7cj7 zbdH6$tmzr3@8W9=W(RY%6?m_=|J6v)M9pNiNn>qcTxQHlD9z>!os%nV28z3x^2( zwVln)hVA768bX|(xGF`;1ZF%ur=I#9R<3`Auf?B^zmH@Y7Kd5S@noX&*6v+itHTG= zju*TZrvNV@0V;t*D(^9k4E$lW}$nYt(4Hzejq7k7e%xZOm>FmJ9i^>niGYQh(OwA<$0@^W`|KQFB(x>kjHTt=~v*o#$Tsu$DS8e$pk zMsNSJm`uHU8Z@5a@M4Ro<1yFw*u415_=;2phbLN^+zo8sF44FxPG&#;mJ#Q4o0aO@ zNolU?hGEEHzar$&SsY%$>QirL_@vIAd?PdjpZk_EEM7VHv_2})vk340EL-dp)-{sG zr7ZY!_$IE2I>cXQc^l)>C7&CKI%THjh6nQ&`+e!1+j+8ig9j ze_|Kt!D9oi)YN7#N*3-`adE4ZC}WUr zv`A!-3Z!Vy*QEY=O<}y|XST|N?X4wU^W-9Hq${cOp+{G^!JQvM=~|gV_1C46a;ugYuNDeuR&5M3Fq7T?R44`x?TwiOFE@=|Av7ydd;F&-`PHo#x+HRJrn{_Zumfr+#MV@&%=##Q)Eb~SgSl*d>$do{@ z_U$xT?GRdWeVA<3x3oyDTvNFT%WYdh{L9|Va3S9Ou|V-lC#8DAJ&nlnfVAsWYRy_SOejQKUEqc%emG;N7!(K~Xb)=BjnB+tQjxU7 zpUM`&{9w2Hw!xUTa>FRp$Mf*ycYmB)gMYO**uPHM@4Jz0{zq%fpMICe2oT5*Cf{b>u05vV%DGmek@qB;eRdN z0MaYoK(&$jKw$XgIFxTWxeUsjCAlMqJf1WbJ!lK=(IHj)hhrS7tvzuiueCJt^hE5B zYvvwDCXap8XEWXLhAr{pp3#!C`N1WP?EL%IGBdTmpexSglu|qOyi#1(;0(D;f!G!_~oB$ zCU40Zd3+uphv!ILq!f%W-E!tk2BO#lcM|=!7FoeL(dej>a^$PE@3=i;vQvH8l=*~D zZNh8|7J;VUqFAVB#x}lC392Wh7r-J-1B1ozS2oa8!SuL-xo-$f#K)qkGoKZg;rIRH z(AkkMuA<$EwYPT~5oZ$QKJ*Nk0OG4=jyY@7^U2QvKZ+*mh6{Pd$6f0zvybmRrj^2N zhF0XEusenndqeZ($LzMsqHvzD84GE{x|@yFmtHkBQyJdtfR=e}bj-N-!|DFy-lVJo zFUv68zZ6P=jSJsSn@_VfpHwHbsND+;3YuCbF@;5+*L@7?yW94 zd1lG3!wKmpn_u_8>{>@s{g_PWgJr$0i~N(}McS&Jl{dSTgvrQHukqC9^!gNAO_m@e z6uGK}OL_0&%MFukcQ;qeH-A|fIhwhfSg1sdx01V*a7RwrwOX}=2iL;}5v z(~E479^d~DC)>^DG$U?{!D4YsAB{}WA2uzpaiXD!F}ho}W5KU9M-_aqFDxvW-cb0X z9cs39&{p)~PO8bD@6Ce)^GONSpS8A*G-9paf3^2Fe6&q@gNlmvk#1ga_FIjvb6fbR zdCSfIR#MOr_<$|^r@4^OP?hS#hLU9{X||=USZ)Lt#<^@)vM}NHVqdWPoAnGh`Lb<;33y{4NIrA?2o6XMv~S( zI7mq*cO_l3Pac9LXFB;+sk@N(5yeh?fX%@~=f17e^!gXr7qZv1;unmr&UFqxYE z{W}m?6P1lQcH9re&^L!a&`OX9JO4pJ*AA*~$vh1r9fKrLJHBzwe1pUhfB6Drkbi=D z^>eK}!m0uCBh^Jz0$BV4l5`(-L16XZiMK0I<59D-D_iJ*ECJ|P030@f#_??&KX#w} zN5#ajS4ea-%BPHpbyDMQSWd6V{9J>$Sy$ARprsO9!3RoN$0nbB}j-!B# zV*w6^=x9Mme11})I!;pKGE-Jou7J=#>bXdhM| zX#Z0JkUF?5YOySj3!l{pz6R6NLI6n%F9x*E*7x*;#O`b8BRW(OX*kgD>kB6*DL8rH zzr`RQ^SVd$i~@YhwZD7?Dix@uIY9Cb%!doT-@aNRnDruZsh8s6dctLrvnF7)1jFBV ziHV6)-y=ZLtD!**U*x}}fro3?aBv#VSu)l^aIg3!AplZZ2*NJ`v=I%l8wa|}hfxv& z0?>kZ9P`8ZjMS5!%r!&7UAYwTAJ^tlmOMf#gL;B3S|{{kQ0uHAl;Eh8mx#c6JHCcl z`)P0M3fVa!MEY2V-nX$HY>)fCd3qut;L|pqaSYD@O8{omNVz$|)|e&Gvmg-=NL!%w zPgex5?d=lKts@F`m2I6&pt?XN?j^{k;};Nk(>Pt%-Y#qSmH`i|ZgDF#DJd8P#gL@k zA-|6m!A%2;VX^y|_XmsY(!6JfkW38cM}kqk*(TBmk;@n7fU1)D=tE@mSCEt|(PK12LATdu4o>O+1oO|nyf?-Ar$hHu*ZA)RXC9hyi9!O_K)g!yZ;33-n<}g-$o?%?7-jydjw0jq*V9w&lXYXgYR*2uA&E= z53G{=mngvE!0YJWr)AuNPdh?Bt%|!K4VW_xU0p$I#TD-n%sO=QpQyZ#F;1-y?2_xj z{}%b_Li6V);CN{^g9T}15E+el6TFf>Cm>+a96n5hkA$<2{K#nT{|+rer1lm6+zM(l zp8q>bz}qu@2bL*{>-WIH#7m(YM8H^masYQCgoTjH*w}_bYCyWflav_&E0LeL1*-pS z!`07EeG^_&Yioy<jTY{I$VcqX@x-^2!ESje4d~I+OMU5(#%m}cH~}1ZAj*ZmV$o=WJm-88lirTF%fPmg z2q_fcr11tQ-WnbLpUgkJ#>nbEeg{i3jYLtwfjbMLo`+|ye%>xLG4U!2bnFmZgmBCL zS0%k9H6A;N=O7$q%yXS$=QSWB<41QL0v|E`W-84VJ1duk)Wn z38@DN*o;sWzy$=!lo6uSfa96f4e!%XiFQkYg+8=dXqJ|F7G&s5-=bX(*mKM;aFu<& zk$eQDoUq3>=>gkigC8x#SIK#9zoY<~2aM4F0)Q|wS}9(8xHICx?M<2wM3OSf3&`e< zoYU)nHxvOJ2tbNtFk*r?D)Oy=AYAGkk?f2+Wl-D zv&cml9MD?qp?TX(`p-2Hf;f=lD2}^CylCQijK~J&$Y_Oz%iT9qM7;SYJ87@TROs++7>qv-f3dhLlG!>` zpo1y2d+G&v2!hET<6Or1YyZb)1W?YLrdNAkJ^Q{Ced)K~n5g!(X;rKb+SZW`;VLo< z)>RqnEpR3AX-yD)iEZr8II}!p##~fkHu=qhK1AYFRS60}?3`|RBFZfWl67L6+6o?D zyF$r(QL&p+MN`=?qp57){+B7Ff#QNUR}0c#oAlo=;3HZV2V@wxx!KsM&PdoLLAP*= zFMq6)&a6QDQ(ayC$#m12A4!k?6u|BY_hPT4&|xPCPh%#?-}44hZQGN@<}KmCGgId9 zgq^MZi?e5YS1Bk)r=fFyD5ubR$P;h7!x>|;fkM4T$w=H+Yv%!c+Nj_ArtNQsJDpv5 zKW=l0Kb!|M$Y<(z2eg-l#)#h3Z%vI?hYx=BpsM9~=7(8>5qtq9?Dhu>b9QEWtJw^L z1if!Ogp0&zb#fZ@8j^0NeP1*2N86#b;w$F32SFX0_B3w+>q?SuYNK!6NR>m%A>o<- zzWs^morEI-)a&R2R6L(`oM-E?DX4zJ=0j{0DGTM+1~@IMP7JmvG71bwL#0yjt8Wq z^Hq#45ulzl^-Yi4Q9~^g#Eij-7^oWOQ*qO8Vt;Vhw)D~r)8E;}CpSUi9U9*#4VZAI z)S@}2~@ErR?fp`JDA8WPNFGkcu{0qFUT`1P-q)>8@L5bIA@g zXR@&B*WjS4k`KhzIh3eG4fTMtpz2(JG($xS@=L1`cnTRHV1SXO>X>2zf4!5Ypx0NG zhmo^S$IbNkZ2II)JwpmlKAg~D!e@*SS6}zS*ozj(0;X#cy3{marl10E8QM0f2&Zv0 z>TMeM*z>2Of3oD|9va~s$-_1K^%?J*i;B^%*I+F{rinlbc+JSD0x0h5n-{VS_OaNi zlfRh#@Q}YDN{RYlx6E&4rDNDQ`tAB|YqBaOFzhW}e}B|6>-&1+Y1ofnLVMFk{#CWz`Bshu44l6v{)v?O9xKR^y()Ehcl*rb z_UTUwn(zd)x}gs9{mrev`)o#^26q>G^bM8_ZgwUU(D6Z1G@wrGr}2=_;1V^sjcWw! zgOQ%7`{9-JdnY(=EXDI*xs~^f$e=)6#Oa#V+K)YLIFi~JLPq^Lle&3_0enR{2{M*+n6*GJP`E+ zM6BOd2VQT07nwIrbQL6&8SORBNxmD5-3It%MX6p>{psT~j z)0}#CEVEDpVoJAz1Lr6Fo@6Kk%O5u^dGqV4I~f1W{iIB&b+`h3B}eNSz+KbY4kRT1`D5{EA?udf1G>nWiCTFR(eC^Ip_F5v z)(yvov1&RyFi}@XM@UxrPH6U?fNP<5Amp)b(3%o_)$+^~pXxCmiNyLu!**;L%xS;u?(UE8aUJh=Fmsz5btQaqAHz*J zQ?6eH<`;*rlgti{P(vlA;niCf3lKjY4}cw)1#91tbL(g6Ey{nwa> zSpwY?6S&W7U!_!OdM{;bf)>ko;9Y^{=O?e;t*hK?MBrsq-Pc-t-;}jO1S& zcz;S@*bH;%KQoe4ufsyq9tdLs9taaKH!f3r{23)N<=b_GGG)as15SfB$|1|&o=pzp z!lUK|6d(u*!K+=Ip1x1Zk2qd1ONzc^t5yhC;2)0p_KX;TVu3Z-uqEVVS9b>Z?P>!r zGEZ}=yY(Aj*uf<9hkh`9Ar*9k1lPaW<)jhU{Ut^Y_na0^0MMPseZ~&9-qSRjjZ3|)g^z;-w4zUyA}{AqJTbv^3!;nfwx zpEma+sl0CS*^Em8FfaB!L370^%5$IkGI$!$$tc9XU>_NHu>7}C^e!d!hXe=3=@(~5 zr#jUTan8>lq49FRTIuO7pVc4=C?04i5SC&9Ruw6*u;j~(uiP&xml#_5+4Lmt+lvi7 z22@>%F{XU7fY!VKgk999=eIhaX!G_d`H8-fnf0t|#MH8yga)R0Xov_{<(10@tHOs1h^ACws=w0re`$UM@{5RW^Bdo0p3ej z!K`ur;DEyu>Bn(p7@=TimIRYg@M6QTx95TyR4Un{wwT?PxA2KvleDf7`t2M=`9y9x z!+sPB9djpqnPBK-HiX?NVZ{Sy^!@!Lup8qlis!M+-F1N=(9Ts29A>?+8#J=QR4FoGHyF+&UhUP;NkY&+Gf=&&|?2^fwNn+F%OEaLWN=%sMU z8#@c6u-=S^E=q7kq=Yi7f4lE)6)@hWM!kRhaiok(ds(2lxnHI^oKe8;C`#S*%G27Y z{o~P_h3U&KE8Duc=BnEBOg5eZj^IdtdEx;k8Va_G)@?p?S$y6%DJHVl-1Cw|ToSHM z_DynPoAvf={RMiAY!9GLE!#QvANJDdXim2_)b~ABoO2c@;dzv3J!uWxc01ao%yK`Y zJyE_jL>1EN1!+AD_omE@hPFbzP=lFKpQ7}NM z^3gkgu1A4kTq)^X4r5=nFrV}ZTk;`(K&hG8Vz#i}X3RVMvf;Rq7o=J2ZQ zsiMs}lDL7)SBk|UVefEz8JQQtunI*@LxTod;6@1MNzikFHBZx!p5y)!q$kW#g`aWW zv^R~E$A%d+#nG%2J1za$lTTU}wN35s?_d8uggGcv-lSb_(Ot9fR9M-?O+#ZjBbSn5 zRAb3Q{l)5#SL~m?{k}(Sp0Odo72)#2xaYK-YfJsM&;@7%>F+#!TyJ8$aa$L{7rm>K zF1Y7Cy2s?U+Z&$@t6d^C)mV+U%u-Q8Wz4qksCDh99N?H~!GL}5fM ze;;<0zP%7lyZ9iv0FaES^yi7!*ZQsmP!y7Klx7@kz+l@iK;$j0Z}7~{Dj#b5qe~g}H&nVP zdBFB69~vq-=*Ih@RS)$q{`-KeEK~@(6HL~!B<|Gw-lp?b!vy$6ga7Xxl%`hBr*5`T zFpTVrYj`UTmYEOcIVsO1e@kUGX~%fY%M-tXy~}D$wR8c36mUsJ|5~Ez=5l6Zu`P@A z6dR$p$bsFXq_Wb;bjovYosze3GVRX@Y=QYtN{Ge2H;lO-c{cpkA+J=Kc7cVqrSfhl zN_OE<-unf~@21`Eu0}BnNJ#CKvrf6?YO}B&gsZi`+T*FIlPgK>dgsPpI?Mh;E`UdKMqHlwNj z!#_BtIrLzcfa~e+QVtOLYo5GQ6AdQRYiNuO8>-An&$`qSWLOg$?-=ZIXT_E6Y}j_< zYSLABm_pG4yZ6*q=p?&B(SVuayUa|V+z-s1{;Phwl(KQEN)$>aQ64Kl&ImN2HF&kY zU-Z!c;OiJZSDET8R;D|IQ-9MLRXyp#)6IJH9HqfUtf`qrSU}`V&8o;gf zzzD%Pi%4wkbX_tqy)YKf_uP2q)2ZE}pd7TMkM-pxPCLTpi{81f__qYzz5md$%&dp1 zdJHrRkX%0kXQ(gVR>CsQRyK;Oz03VQtlh@Vn?tbe`$Re#&n=R)-C>xh)Fsb9;8I%< zWOk&~pcFlLd}0`NYJ~y|g2eu26i`*L z1c=&jA>>is?~ND0P1L+`Opc@`=P*g-_SI*j?hDw=I9FBJl+uU%-Ks6 zow;@Dyu369CNsZ()h4_2bhx1=Rc6&Z)?o{o{Zn##!M#!HDqg8D-sxm?KI%G&{YBWW zy#RRA)Z&wRp~7Kjzu%eh3DsMwZeMX!b=~M83}m@(i-rAXKM~%e0h33+VW8*-{7Lj| z)Jlt81opdg#EvF22Pc$EKqG$BD4lMSD_+xyskw6m3=_&?63m{+Bdz+<1ZrRAVl-Z6>tEGZJTk;@7(Q#sFJJ9bq+@^hHL7^=O(z(wUnXeaL^M><}$>*cbMT2P9u>AVbeIK0zMmuwuy1?BXW zo6|m3`?XWH`8)@j;tok-)M6467oCNZ8jOK%2J}aeLLh>r|2UX1%8N)){{W_p_$8Fy zg<7DzA76W9<^g`iuV$fwPY`mwer;W}X={-U**!6?t~Az{h>VLa=dd%i!(zKn%Sg@4 zDkaT`nHiuw`PGpm=W$^@V6)GYw<8YFv?fT~Y5Af<(*H6dLnT6D;xqs=`S~lQi6_eR&Q~91=*24 z9-CR*oE&KnGY=;E0+fp+8TniJ!KPjD4a0>M4JYO~%T?~Htff@<8p0WWg8Mub3~1hG zb;YGv?y(N$=cMv{vx)qfwImc>`~a{kZf-(I^6TUUIKbQ6yEp$#-4Bo?1VrGP{Tde- zbK#%e+v^Zr)0BTlmMj-{=q5G|ksX|jCMy0bs2HBsQSPj`Wr3+9j+XcyEGm+6PqU|B?-y!`@s$`HqGH)_RpkV7JJ zIcFCaWCQ}6yH9d*^0-7-dpi!iRKnSrpPwRF&1hk9QF`bFaW4TQ0Ag3X!N;n$wzgrR z9q=;{ix>iDlk*5}Nf1_H0))CCVt7r&9Y(iJVi3dk$XuTj1^Uo;{U;GI%NSq^1@GbT zL|gj?_+L>I;t)|GV`x0Qlx;!KmJUYCDhQTT2<=h}bOa}l5rvHC7H^m_r9d2?O zK9!DkaCH;`*rHk?UV`u6ka-F3jaVJsQ@EI_3Q?e$BIPm-9G8s^3JOw__DrE;3J404 z1m|XeSP_vJDC&4r9&piMOx2&Ub1o?n+{_}O;`6mVuR zbzqh4<)%g~4o2wku#iY}a8!cynk(R8a30PH=CmkN!2ob$m5`J)JUQG!y@vIu5tLo) z0x~i(Fzi-)rR#VY8XFU%Z00E<4aR0mB@cXYY54d^#AHf|$;msM9(v=UfUflh1S_Bm z&5UCPSAyyF_28)~gX)tuP-Wr~5@!7Q49*EK-nN>g$^j+F^|aPP-7gF~dI|X;$%e`Q zJ2+iTA`Ae@K2Ljk&NU{X<=_ZimTsB0h1Yunz6&9F-cp7d1Zrmy>A?6#aKCdGgnCfR z83|p?gr&B$wDiOOMA{nRZh%j;J9-Id5|WNI?+7Ytb{OgV9Q_&}{}31V9&A1nJ*6`2 zl;1K)gZC&J3R1+R;cNr60qzP&ZYF5F^R~Hs#8XET7sEk>w!Y5#auT$$^Skt}J1Ypj z5$UwK_vcSty%(nX?sbrlr>R5_#r#{%F4APU!Kz?V*>~3O9RW?2F|+v-_y0x!(%7Xsy&{Fj#KW*f(4uRXn&j{`#uZC4kcbqNOhT1&v`igM#XaeD?FO%xs)2 z=ITcdR5YXKQL*Po!gKW+(XAf=std{MPo;Qp{?jm<6v6caJV;&h5}4~Q{VZd&r-XSF zu*(pS2*mzF#y}=B&72n=frx-opD)cIl0|;|DYx~g+H_o)5!@mwF$rj5P=Mo6i(&o>5&aUTJ3HO(H-hHqH}u||2oHrdVU>`Js{c>ShknIO~Ga4?1rLs{qBTz;mSU(sqKifXTp*aL|esKpsXs%EOASi{z zZxw;ir!EBC|CFroCHtRoUj+jK5G&DwwF#K8pb&{`rsw1L_;>!3l$#ShRDYZKdqZic z+6WTS{X#;bM*)F0u(2sBO|LD*K_Zc1sch(p-mBhRp9Z0yt%HLExDY-=vsJZ5&Ju2D z0>vZYlBeJbK?ISnbco44qf%1Sdm@&MD9$h7d?m#d1?H!*5{)olDA<}$%v(MHXb-Lo z;yz-3bJNs;Eud!+s2J^Z6f3-uOoBI+lQOag)IQ$!a3r`RDHHcuMg!34@gou(A23SE zZ!nd0G;4w@X7}k)gQOq+Eg*zU+g0B}ae6`_4vU{*T2qsRim7Q9lnCENAU4Dw21jh| zot=a}zP_+_y_JBUY8MiD93B&s%~=T|*6Y5FOg|3VyN6m1z}FxRoD!l}pWyn^ws&>i z-7`bS10{T0!rtkLYeiBm|LJBD+eX7s*U24AusYr7%SlA(n5PVOHs|=PljG3~rq3@O zbDzCuHVEsnfi{$LY-qU=oboXdngTWWTL7F|y7}|H$4DM|c+I>GcXjgngreKuRT!7m zqY`puOW`?W)vL)au2vj6Xun6UJnnlH_4RmDE|!TI5Ne=1i#ywZKG;kuni3tjPz-QBpv#Kd-@Kib>hN6o>uNRPnUhE}_hTn;ln zMIEXU6qV0^-2hYh=%0E{sn0>fjB$R%J2lBX)}|qGng3+lTVD+u-@#29A@~koMBEPn zhx=Z@F&^y}~V9u%!AL_yhkRz{0!Yh5)_@+;Ze(thjb(0NJ_v-VGw zxD^nN54Veq*SeB`r=i->KBSoEB}93t1)7L6YGoq2>)Ka4&%Bvw?jXNf1YQ!Il$gC>)h!^dy zN=TYXu~ir&+uuCaA+Z;dihB6cUAf-Rkf(iHLJ}Acnj!;cPs3|VBfpl)B+<}2&&VeH zOSO+#P?Md)LfUGYR~hGt>SR>kiLOFQdMteg-O&N81(}!gSDB#(%(}psYo7DMVJj$(7qR{Ee zhC&K#Y9ymsb$cN$Kz0->583&YnDP)-0_g>qJ*iEO$WGigr?mng6i*~GA9)X>CD>{n zxxkmY|LWDNNbdOeM-~3@(v%bw*-GR&gy+S^ocehpJQqMlu;&AGrmi)EM6d(VD%JDs z6p3Izv6CnVHkSDIe-Z4VkkazvXxAEX*8mDoN#I}W?Khua&IH{nqm^bKm0 zgw!7(Go{Z3E=9t1Xzc5|4g+vggr>1DH|GsoYANMA*|5mU_GeT(P@X_^Iy;1kTj0`z z)yEvzn_&Y>A}tgmYJgAamun`mv9!8Z0NgEb5VM6LNWwjLZA*o8*!#j6mHq{@Q@Nis zKtO@J@$Jb^01HBh0z&kHw+MuKy5Px=$;sryLiI=BG-Y^OpA_hQt5*(=q9CIMTt6Tt zrBBwUtFaLsk_u8x3gS{OD&V^4lb-i^nsDro;p4CBrtvh4&%)?ftor);h!i1@oy)Do z3KK{ma96{82W}xG7aTSV6ayu6Q^;R+9{U zx8PZTj2>p-=U{+yOTKmmj#85Fec*9{;mp+Zbn4#<`F=DzEvjZDK+<{_9s?x%nd~d6d-^{zn&q z=JGv`p)2KILvRJG79c6-3OoS2cdyeUofL3%0{OKF_OvcvyM_rx&(SfMzJOk29^1}glN3!W*D+Ah;>d`n{E$}en7ZQ3T%0mg+2tcVZqJ}v-lHiMoW+Cdw z;_(o;Qa}-}=pTohs;=ojjO`dEl>NINu(rS^KJ@ zeXGeIahU;n1rk!RTcD;>J{V3>KKSThZKC9wDCXHa&_2$u^Fd1Lr`c}}X(7h zsE;J=_WEjY;V(fh{|_)u0XjThm2D1u$@U@yk^FIb^-~DuLvZsMsWQCW;>o4XEMPg2 zM%LLW_k)QL5I2wx+|jC%U#=kTyeic@qaQPuza{+yH19q@mgrr0u(Pu^_7dyJ7~Ml} zlVvO<2(QBLC|AU7UwLhz2a0`Dc38{Jj)-%KAgp`Oyh-eTFDRVN%=mNwQ-diPX2cxXXIOWV&bVM9y$Tn++-m5_+E!6!7ASNn z#*BwX^+|vAOE9MWUaN>O>JMM?zYe>2X3(J5bTg!7 z#qry8QGuoH?u?4nC_V;w&7tVO5k8TVGducwJ&pIp)*^Tcg+dLckwy%L9-u~qW_utm zSshG7(s=$q`~}3y78GKwnao&85pRdDq&&Ef**+peB7kB2%Sb{}jTxmYdNxE;u6gL! zUSSNIncACw#$Eah3vtVr3Q77^!uU$4vvY;B6+*!0ud4$=vD#no+Fry^~Jz zuf|dw8$Ark$hTBw1?JxkdJE|3ksNH87mVQknnI?@SugcpZabW4PM-=oTBQGAEbKgj zTb>O0QUC-Z??#s({96Bkr#OrmxdlCeXW_Q9Lju8cXB92xqZgAVykhn~J^vNz`UFT> zovTzLL}xlHqXk@BhxJ}}DsSGTAxe`;ivj>244*7^^G$$xu9kxs2{^~eZC}OL`QMBL zd>#HbBY_Hu|6e14tm0BcCGvkX5?~+)O<1?caka-~i`Y1$?qf0pWyIOMjQ7=@1ox)A zn4%MFLRIk6XzgXGqreX?Qa}3pOC0TG9!-3tt(iWRQOewNVK|`J{r&zOSUi|sl)pb< znt&rJBqJRxoepuz4U3sq!xXaKiXU|R8qCr0g^blibn-C`yO56WOegh&pB+1717bhq z(kTwY+5hwF#RUR|tZwxaL1Ra9fk(QCbO)$Wh|_(t z;gI%E+!4e$#rws;A7~Un6>IR~4@E&siog1|qEJ(Aya$toI*DM|K9J|cX?aEbazCU_8hG>%ZG znkBerYd>)c?WIli!6yWGDQKuF+jUMwIwqS^O@2PooX22-&!BjiCElYz#aMXQ6+6EJ z`2W^uLt5y#@xA|lGlA_9>>Syoq$J4TrEyvx_vbKfxh>)Zaa|*&PcMTR8n_BHJ1t>& z#qrBT{=8m|xqMUbFQjRM%-=TFII3vhpUj%<|6w6;=IQ#9ip2i3742AEQ29BNwAy<5 z3kK$w-s94hrA~ z;AH+pt}kW%)PXnThU%n3qC3FoUFcr=^~jKj)!qwaDTZuXE0 zj)%tHT&=HtmakJG^IP!DOZrdQ79r%_gTaWDz}3ct11=7uZ9Gy9j*BQ^e|HRN-#+I% z{c{Xmp`LH2xo1c+YGr&wRjdO^c}RIHhdZ~gJz3WYJab|G>Uq}vWS}gXGCTu#mKR^J zW$^7WFw}tSLFL-rz6|qOBhTkn?+^Z70kzpvF8@XOcn)m!Jasfwf~f2DbuN-yjEuel zNpQ>NgqzYFs57GsRyGJSHGX2Lm_U99L4sEC3pJt4k zR?jr0_#rUP(eN3^-e{R8Ijioq#?h-2Bk<34DgEYQ%2kzuSL!AEvorX`2HmQ2^Yiy% z-L@QdoqoQ}v%fas?Gs>T{3GdZmE#%yBZZl#TkOUw6m9W^wqsGc`==*DS@M)2UpRgg zuND z!6iuO)0Xra1j1;}xPYT`(|YY!c{|soI>YT!`zD{QXj_&QR*YRr|Ki>))aw_sy2XR` z_r^k`9_Dbevm=(yA7Wx|fAWlj_6Wv`&oVyZL!B1!ymIW;70P`AjJ=oQm~ujz+{F-W zpz~*54tG?uvZ>^Qmo2FQ+s+|bSyqZmKo;uaBevfYJA5c=TCdARPv0Kof!ycPMx>nV zT?`jqn~`oSw%r&;UUy8CTDCG;cVW8iY`0`pPh$P=$(b^A0fD#g#|9@Ejb@qxaRR_3E#vbP_zNz2mtYDY_uv+FsG2oTDmfs!!gb5yRsuxOHga=ghUR#L*aQ z-A9+7^1{Idu;vf`O+l z_gnp@cK-aVDOEe_yq+ctTxKMp8W5CrVK$&Q0$KW@tgMlcNd+{EDxWJT$JKW9fhRv@R;s0>Dq+eiR`^|v ze1ZEHH>EVfsE+7%oi{?BxB*l7hT9(vi&w_cpnnm6B}nq+c-PR@lku3t7|ppx3H0K> zG6`CO$0Qu{l~NW%{@g!)f$kVYt9mKHT_YH>Glgwz^N@mzR4qU)`>6 zKV2EgNgQ{iC=h&!_eCQr>sEL%vB@1yu{Ry=I!pU)eFw>z>~9F^NAGBd-E*}%I6k<1 z8dLp2rvKOYM_Ec|8pu(2P`uh7vdl6v_El(rZ*Afi=F%@~yr{c+-^ZgrY&JmwV%D7y zs-s}<;NT4|k7Luh^f#JiBA)l#d?Os)JJn@y+87N{Ag}c5S!_I;y6y&n%iX`?GbdUb zU9We)^O;>6JBtb4grD4S7_=GvOjYAbSO&vK&as{M>_gs536?>fb1#|sICHzKNb=o? zeBjb^U20ua(#N5^InPaaZ}p;nDdSu565GF4C9@4#J@1KjIG)*_8MW5GtEmx|Po4?( z6_r|ds#p#b*fMLcVSu6kgSB(dTd6xP*aG}v{{X7)^_s1D7HT>OUY?qp2 zntu29-rar!B603F#c{mgJM6GFs=g9I0fjJPliZykfKEv%D?}(s#I4F;F_<5G5O7*I zdR4FUYYHt*mEH2^LCf49+3%7)Ph_l;bzhQmTMedk8hx0nZJYVoaw)6l!~8GLjo7tU zJM)ZA6&CYK=-`Aom!$thA&ysSY&QyZu`8CN@1TRYxz?{We8dd(`V{?$*j4$Gj&M}I z_>xThd$cYc?&kWsUv?zClf_P8a`SUUoA$V!$ux8qIzfZ3S8V$?4=$_c;^dl}HL@C< z#ND+LWv0nT+!yWaI1?aZGl_tTDi|m*y;E;)ArJCwsxMALW*g ze+H=jP`(pHO4rwyQ)lIQ98>Ve@$=^cPXUkp5A=J-ot?)L#j=si^sh`^B&1DoFfXEJ zXoZFfT&?_9saoug69jElJzJ+^oaRrn;>KULDChrB*Am=$(84qR(x@OFeTMwQ2jpu9ZYCwv&kfLuyBEDOobizQf7Qm@FJYwrcl z%8TD^*r>OmUar@EzjlmPM7^#e!5;Z+{&9Sd$^1$`D5Bo}^w`{w9T#Z#9@Sh>TD4sq z7BMZ=HK%HwQ&JvFHU5GxQX~vZ-_pbY@oNJfFU-BPzsP#z%B)#r*Y@X4@6gcQA<_u? z-ZRpL9xWVHwrT}V@THp)ETPG<5A|fLa z+)pIT31!s!`#JyoxqqrEmnb2{i~}M=GW%bb2-;UxR*Vuu_{z)6i=WThsby0?(;F{0 z6q=dAhmA(-&RC`CFji2AQd8#5N6#N_?yNp;YGu5D(*9)rM$qvh<=JGdYsi+_S>!8S zNK(Q*rEIHlqL_Kz&oJsu<|eF`AC}cNS59AG!Ti9sm+6?}LGgC~@^l_sr6t{S!S$VJoT`>!UyQ1( z$D(DYT|ZnXw|qP$!H>J%166=H-F+@=&EyxNE&xhFkf8f0jtim9b_GZZh`FD0F(?eN3o zm2!&$%t!wCuWZ?Fz&3)00z(>Kfvx5ro;rU%3MpPpmKu$Bka+UNU+m1-)`>E6kd%*6hony)pN1*zg?9KF53%~S@^{8XSo@*YqG}Wb$oZ@DqSaq46Gv8J{w2b#&+eGG z9vwD-uPMelCM*TKfuL$s2ctE=a`jWE_JJ%w34Z>s2I ztT#{TrKvugz`z^3Tr+xfZ8e?++B_wbo{XOzD#DzPrzXz~pfE($Z4SwCI38Zi*(+tA zpE4enCM6q^vKqI}Sxf|CiE*nu{@6>A72&e&DDI$@N~7E`8pE@?mf_EB$!1(-yUu6# z9!+nN#|*cgNWX1jXJo{@x^jECM_z4*O#v_A{f+3{UPw{~vzch!)+dgmZKTW{C)_@eg$0IW1 zpIu0pZV`O8FgH&%FKbyco@cvTDD=MI`-5eg z*k$c1*G05Lfo%=hE0Tua&3*iINQ#?VuNi*q;o8V7CLX+%)JLkvGlP zwHBN`C?k0`{KP43sP!u*6nV`9j6JEB?v6OE-r^HD+Fs`R>Q2C|LP~lg#agJt$UVu+ z7xzPa`Fo2APEl5OclSWM8w?r;kGvg!G$?!mTBG<yHNV#$!3A|pn`J&&{_oLr(}I&$Ri z)URlgUDAx=a61U|f(id%wn`#dXNn(`F>Y<0;?MPvG`d2k0Go}?u>ktZ(deis=g!vr zp93SfIci{oM)mF;h8^Q)`hF0)w&i6=N=rBPmpXgSncv7w2~~ZRDt>7YKlVs&z&Kk| z40!>FFu714GE+hH z=?gR$Qc}`lO6Jw<$1F4%Be1sHm<@(K6 zl1Pkjh9=bT(?`Y)Q`MKp5pEeGOwYy!y*DzZpDBUSFVNUaC~qO+K5xQ~jtmphp`5GH zCF#=(_afJ9vB1!Fs_u=gy?wZ|)l8E=;0sp1ZOq7wxY_7=A6DvOuu;dZ<6yZA785Zr zVQl$*9v{IdyfNAH^gHDG{u^@Bm8-N(WP~30`TO`4(qrfM6m53$E!p03n3bz&Q^!po7EBj;}wtv z7T$!04x5UfzrUeS4X5<^cv@WZBh)qEEA&v9*LBybvXRA}n^*6C7&roWTSJte^YK0h z#9jmg8zBvH(aJUGKyLbTbo6cGG_|0hwv{Ikf&fVcI>HEUNhhLV=W$x>rlb({pg=^a z_6t`4WNkx;EULHqbDtr2zOP0Wf;|NR9Yg*14rpXYaQz`xt7&vpd&W-@C_Laf3*Q51 z+A_dO>jd5E?Ti{WAMwF>AD>GAtq^6vHwML}oG>vFQL~ftQ#etOXGO^*11`dgc{9`IQb*LvFnHS}PIL`44YrRC)EdhZ?T$Kj=6BQyaJwum2nb3f8x z9X`thoidzZwcsybzBHWxqG2dh&WYS8$bTvVqDQxW4Hp-}syXiiVJDjdAul~Eh5Rex zID#&aUE565z$;V{9Y0))2yE79os6gPkQejhnZCBRcBoYGma}lh6Whdp7dOKH29HGw z?D-%IV1;+VV2x(kax?Erz{bY5n`F6l>q41n*W1)o8ojS>-*?kV$ROf6ttHz(953xT z%)qBsR@!S8Z21vGZGc$3OuORz?=CjY{xx{^Omm3};Bpv)80u{uxWOU-ZXx)osi~mZ z1?^T$3^>MXtx0*P0{Z?Qh~|=~7gVI)w!ljb4C;1g3B=p6K^FxCNGKs?L|P{%s30i_ z@m&Dg#XCrkDVYUZRa;xzx`B^MFP8i1WA~V2I&&_=jjwVYl>G{E+;2icu0awAq3p11 zSPF!uA@;}110S)lundm=V$;k&tY_9XSNQ=h0lfk; zAW7gg_zb`v4YG?j>UkO^CrjQR>{`G%f96$u`@-yOdenC^Sh2*_-e;T=18|PK2V`dB z0t{4gO7>o@7yPa9$jJlj7rPB%tutx`P763yw(T0jPfYDEOv|wcbvi&zk+W-SSK;o9 zT?G6F{k5jFCJjt_h20McpRhij;bcmK#{d`jK$SPatOJ*+pQM0puwo+?YE|!SQsCi_H!a5%-u52+jRNNES>hUTPQOR$chm93+pGIm0Z!k(;~3QbDdWRn79m^lPnVvn>_ntM0Mceq*Q;n{{!_P04BgIq zpT#u9^%}JJ+4=CPh{Qb2;{T%UEu*Sxqkqwjpb~l$3;$3JNG4 z0@5Yj-6)74tu%tPAl;pkcP@PYmxH)SVka|ZP<-o95XaKU6WTSHxUiVGni$DPqc7{6bD`v+dT8Q zgY*0VjgJtq4N2l03u}0hu}fk`R=xeS*KwzbZNvj^Ok>Z{S(#XZZUB`I4$@ z1*sNW``3}5Oecl>tsm`$-^o}MU|E2XWMM52BM39WMPQKuEdyBdcCFxm#!M~6MCA-C+8RADSdn-SjbWFsz z)q9L!9TIrGm*4-Bg*LaTrR5T6<1VA#{N1_;-6N9n{|E+ZE=<&ko`{L1PuW!w9wk52 z(<`IWjZMam!vJ9q4AZJWrdYtbnrzmcNH~vkQn(HH_1B*PlVRdfv4 zS<=hP${Ije{x!heaH05?TaQMqKEPxqJd}v}Znrij=#LCYfghy!fan%2#kZe7!_FfG zazLl2W}XBSgGLP_$sr5^YNlicJp+T>iaQ_7ma3Fs<e*y4WLM2Skte0#RZ=r_}?cG z!Z0LyTX*NUCla6!K3}QXZ{8H2`hx=Fja`)~>wio2Z^*l3Sc}%u>~r{^6&iF`gn4F^ zcv)k(c=)N27_vFvyXGdPXKtt0$T!24G8`#JgBB4<6;IB~)3Y(U!LU8&NU=5%=#yAW z?Xp+u860e+|4_en=8v@GwI^Q{rL_iRba?q>wxg8bvoBe%rk*^G3$1SsG~0Z&d6zn= z?#(+8v3A_<=*f2uzc~?zuSNzUlO}&62I^5TzQIg;SVL1a0Kw4t@{CS7Nyzu($0G0G z_*j0g!GLBmf$Svd*8B24-Sfutdv(P&yQXhWk1wKL9H)y`?-qwTKi*&m} zfH?Gin#X^2Td$Gc4D}&Co^`u=11H+h*d)Z${fv$aEX5Hs8j6RGmyWMehdLLbAEEaa z?Q=2;g0UST0g+(+xsSI>x;Of=^*2?%aaD?Pi}!264P)B%k$F=`Ru&UZ42XJCdCkPT z>2A%lA|?O?POFHY-`G-O3wt8k0tk}%&wdZVmy1cP8{Etf>5OkQH%_}Y{FG{+>@gFd zZoUgPPBIOxgTtN=JO^70mqADK;?M$Pk7}ne!B^XMQVo-YJuwL2!B~4zjvZ+@lm7e8 zghyB0yY?~8adL%w^K`TfmtLk7P0AfpHQfztC?a|syG`1)-2^?ZmHQj7Y%0*+Kw^pf zUBGXVksXy1Pl*u-g-x&k0U*cRUJ-ATbcqK>bv}T0Tchw17Qjn?4&>aCKT#Whw@HDZ z(?kxP$Ig${X>BMF@Fb8xU%1sxDgB8$fd4tK)zg4bWeMA(dK0UOSx+&E!?e&?<`Ks~ z23^Oo0&XmC1*4-o8{eJ0BU~q1aDSgu+m*+mdG|`lfH}L$?JL<11F|Qw2 zQP%IZ%J_|t^V@uEdWQy&EE0zaXFB*0aFbX8laC$Kj?1y%YV|oj-X*w%dUd!{CEapA zVE**0xkireMI6#E##1x4*$+}KI32919vlvDn|{A*0~>AFsI~mHKZ7Cd_grZ=Yd|^A zIV$0U8{tytcJg|E#N}_l-T&cEf3iEMKWjH$b`Im^YOTg~?17>Y zhpNtP_tJQcoCNH9dtoo1lQt7Zs6V;3dX%kEMR+K*!}2p*(V6SoFL?1L(;ODHh+lnL zj1E#PmExloOeUxxW%GlxHSD30q>s%_x$ke1{DoSi&3jYHUG^4zVE5ft!*@;wydpk4 zbXi#Li6@^tU}7XOYixi-BQ%9}tp)R6)CHsEYz`;xXI~qC(L^Q{@+BCm4eHDtWn|eC zIG-?@UK9O|RF|F7 zM&PcpRm+6R*0<^gxg3A8%^j2wT{aO}&R^Vq!F7y{`ZLyS;IPnND4FzFEZpr#DrY~O zeqI5u3=w$y&m%W3(94%m7*zNC`JxKw6G<7j%F5QBX)cuzrDFZ-R&H&^K)M<%0^gkc zSUeAtL%HqG)+EMi9j~IG)8zHS^TkX3Siyg*rGl2<=ldlAL9{pdmZ zj3RKQj#ICg5cDOC2QuJ!pZ7+PFYW`}2V;(50&-nVqGH2&&SYoi)%D9bC)5JXYrGMOxr5n#BTwo z1IZM7z_ca$JB3ki-SEB|!V?07pI_UwT@~4#XA%9=upfT#s<3hEEg?_^Hw%9^rEl`Y zFiP!L)ullwv3FP5@;Gr?>lNr50C{z1-yjrrquV0EqY}7szb8x9fj6Pl=s^=~h!G~J z4};IPP2jFdO~|t9{3iV=Uh3N82D153)LZSFX&1{xo=!%WsK=&TF1(N#b9bQXRk8Wg zKTP*(hYj1;b1&`L9kE|4aw|L?_WC#Z6DQo`gLWL)g&tPO97L+W+Bqg6R7)*^i!q0@ ze)#J;#BTH1EB$(=*<0jJgYsZz6PM_c|LVSwQ`RxhXSai2VxiFA+?pR^l<@a5?jpx# zO;kag@#NHS$2_-nfbdvmw}kX1(uXvqobFv}Z2ONcqs#~2d9HrpD?NcGx(4R)z(7F% z?F6)Muvuw8$?o)E(qxc-Ig>OkEC0qD3S)X^P0O~~=4VLsK#7%2q%xFo84o;HE7GrZ z!D9b-MjE>=dV_7}ZUe_7AJ>V*gTr0cxsF33R5I*ZgY>i&l&;BBc;40HTQis&q1eyk z8OSG9p}$QLZ#de8OD5>zH*~sM`(<;k;tx)){+Y2IdI1%mi?h;DQO3Xnw&y?L+N37=V@DEK&)i) z8P~@vf}R0~hX?C*FHvuk9!VSh(!H9a)Z>MZ_OLS!1 zKCfkUl}fmaO_9j&*i|^mlw)UCA=ltIR*k4*z*=`|(BHVkb@>d15|fcA1~N2f-FWaT z>xJMI;`n6+^PQMUMGvjwA49eJDjIoDh-tXXUeHaE{OqgZVAPtR(rO1C#cN|k`%?a*Nz;u^&m*pmEBgugBe0?xq2neti5MSt zRhSPe+K3j8-~92rAo~kTR4_TCvOc05k zs1a^t-8r4c$V|_2XGPR*;aq$R=&ixjOj7gS?()QC;KG?1;Wzd5gY@m8=eH`QUDMuA78*b&a1NfHNm`rP6dd;pC~QBD{U zaGv8leI#^Fx_qMM`~2c>y3UzYcSasV@D6?YU6>h$?%NppS^Vt>u(vXpVV~2Wj@P4k z`ivkl0M|@e;rUH~uC5oJ>g4M#9RB)Fs2LtW;YmMHH_tJ0^0-AZ^WyB>oSDo-ty}nO zx2})?T9ihFIu{!jTr?2k#5hyk{MkWHVHfo<{n77Bmn9$7`ID>9qwp1T?7q2^f)AK> zJ8mUpSckV8{cZAJ{)Kc=sK%tiGN3@A9>?Kw@1^OemBP83!QP`R>-=qc^Uu`O1^CY# zx;top0FecApESYRBRAMrwM76mF67@qPJDFW-*5lP`Y(+Ujp#*Gj2`cW8!;}%rz;sI zB%bt|Qqrp?PhSw%7FNsBWR{mZRLy67{UMsAwfZw5=ZQcC7Rt+y*FF)G#A+FOjPDP2 z$xR&R_gp^BggvD{Fj`zw#t;Ctu5BZ!&?h=1_0sC zvnLwFO+q;*iQh{pH~NriOJr|)WTIBuFnGs$+-um4l1`La(NE=RrJ%K5^n&xOMQ3KN|DvU@vs#@1xe$<&%4~lmCICU5;_S=}m=nq79DyRiP6&^V_7${o=l&J) zYq{n@nyF*{qwoo{$?m_2K(#TP;Rcd>vQY_D7+>NT`?`JKW>!+*LaD27Wru9LmlwUM zAgzU@@XG#DUs_Dk=P5}Ub03VPmK-9pm|xhEtX8=zi{bNR_g2iFy5jE)>wT%eKJDhH zb>Px#p#qI?+dX|=X4bX<60d9?L;FmCi92ddQGeFgLvTphd#2`_0i93{DCb{{;Txvn z>Mh~!)|;#feyEl$?u|_ttt$k=s+)AFD9lXBg+A>MAFojMUv)j&h1-F>VbtC_r};); zN(vg~Wns>u!Td2MC^kLO9D*^TX3Uvqj4_e5Y8e4!BHVRhWet{8Jlqw@;kO#_NnEH= z$c7FWPwg$5FiKFXnh-`1wMy7-$>^5@v6WmT!4W&Sw(%Rc)h&(lblyUd$nc?ppGw1b z+QJSN-0{391Mzoaj9U))v4`|C2Nor!a~^9Gu6{rlUci4Jp}9Ab?v+gekSG`~$Y9Q# zRTl;dCOLzB>NAq;TRD>I|IA+vnC7XWP$B`R84RcqEo9N55aP`BK4|#{>oOhT6cM83 z_yZgLxwwf;mAA3Z5+z6JS@x4v4#cQ>j(fei)v_VH$Q}L6T{;D4O%Ego^Yhm zs_`yEekEYVQaTIHaN~O|f95hDFJ&$*E8W}>yHaVjC9##Ku~XTd)NOT|DvIy2L@8qG zD%n&Kzc67YFvlL_9jvvQQk3O8STylxVUlR5!kELpvpT4KR+%;R3bN&D>7pPQw3(Xp zl<7F7mAL%f^$fzvCM7bHQw8mI9^|w${jgi_LT?J>UB2)we(*1GE*xmn;qe{o5wcaG z7Z6;Y*=0EAZ28nQV1Iqw_}3OL_e2?xuL8$9YuKojqg@a9!N@Lt^wXK)!nY*O=aXzZ zD}A`ISGo__{O7SVd_u|qrR7gN3a%%7t{0Sa6?jQtX#&Rur&$+etWvBv@F2(_!h*bq z;ya538OX^6t&~UpRT^8mttcHr`X91cDd*ddQ>pE{F>^V?+grkhICr>tnt_pueK=|M z<#t2epm<7NUS2ubH87eJS#3QIg4%bJgX1b`mp;N6(kG6Vy>#;!_*O2mM>X`$mR)@V zVh)=mTc=317ZsG9i*!?a(sSFmT{>Qv>f+K$Nk0z=mM8A2($c7VpTJUP#PA4L?0ZAQ z71jNVNq+~6^lgs@?#&HBqYN0y_A)&ZyXM|UrfWKOQj>r15N|z$dQ4l@?8|8^(vUTk2Cd@FVqf5YnrLdoi&!f_5 zvhGg6bqQOLQAm#kVt@xU&1qHFyf-&iJfWqm%=y(dqQJB9S_x2#Jo{DX55v@0?iz6e zaSse=%y(H?wE7+T*mWLN(6=!@3m)9TITuc6xCv|BO5=%t z$-$iteW|RRa&!EkMK;)GARaWZ+A#?B)E`zi`nxKFj&N4PcU%>QkR(=sS=(3j83W>Y z6t23arfYy)3x#|AN7C)O8_xbd54^F7n+Aq7Os_Qee(%tjydx+@PC=2Zpq*z_S5)(G z)0;)R(5o$ymD!;%I5>E$TdRLANEn3z5MZ*x&bA~;iWrQ)^-bx)4QK3Fs{Fv)0I=N% zZy;XMXPlXx^%k_B>sjbf18e|j)xt;B!AGLf+%`isgz(H72-A!EQ9_^&E86(zq?(#4<#QF=^8ez?+Piu3`gY6eRo~4kN}kH8xmj{XRPp zna<&sxO^o=+~M>

Q{H!3o};fPOD5Orf)*g9C$wo|K4~64Pbs|I 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 literal 0 HcmV?d00001 diff --git a/2_pytorch/1_NN/imgs/lena.png b/2_pytorch/1_NN/imgs/lena.png new file mode 100644 index 0000000000000000000000000000000000000000..4a243df89947e325e0812d5dc7a4d52c2a20917d GIT binary patch literal 23303 zcmV)1K+V62P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00002 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˙Hww(mP0bW%ieJk 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 WIxsL#g+^@v0000r literal 0 HcmV?d00001 diff --git a/2_pytorch/1_NN/imgs/lena3.png b/2_pytorch/1_NN/imgs/lena3.png new file mode 100644 index 0000000000000000000000000000000000000000..7091ad558e28a6a1efb72b58a2737cd6ff92f275 GIT binary patch literal 150951 zcmV(>K-j;DP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00002 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 RwGu%N(9=d}HA8J<{tupAQmX&} literal 0 HcmV?d00001 diff --git a/2_pytorch/1_NN/imgs/residual.png b/2_pytorch/1_NN/imgs/residual.png new file mode 100644 index 0000000000000000000000000000000000000000..3202ab5bd7eb906b85ed2b0c431c66e8ef5e70c0 GIT binary patch literal 82332 zcmbq*RaBc@uy%q&kOD0fr^SjF4-UoMOM&9Wio08JcXui7?)u^GPLTk?gF8Lxzt(?w zuFiTdvVhI(nb~9S>}L|DtSE(rL5u+a0I+1F#Z>_SpdbK%V1|YQ|IMChU>y7d=%_07 z1yD6fdI$iB0A$2P)!l$6S*W>W8jY{69@W&bvaINDJXjG#!_|KWpoO9-;r{;i#_b#V zB~0aQVQ5!KDB7>t!Y~+4rwk4=B{elte5{B^_sENHx9wDRCcyvAS?frr+4+yN@srM5 zZOiJko2r-QlSq>YN~agj z|0A9VU$HR1HyJenr#PIOa_(;hf70vVE7IH6TWkMOB)Yy7gm1vCtOj49sg}ae!wsiM z8KBpN`j4ZZqwp0!j~osLP5&`GJ$47*ph-kQ3%)`@_iTOnA4NFRKHuSW1 zca(6GWb5d1fif=&)XE3jKMw1o59=y~cmR*(F1 z_Mdc@bqA7Wp!uqQ+B$2TVxA%>k@=_nk+JOmZG$VzYu^UNFFW_p*Ku}z_q`-oi170^$I{q4;z9U+#Dmdka!oy|I$JYR6j;SM zK98z%W_`hpa0IYCL)oqU6S-SNtJ9>phyT0-Uo!GNuFHn=(r4?{2D`s6 zcOi5+UhJ5p;Ll#$Abm6vtD0V;@q_U+d~&xf|C*QEwGbBFw$xjSzxPrl<>jCZn>LGO zoA%Q$IYQn9<^3a_cbg=^m_(PgCg+`ZdTwW}2Yuw8C)*x(>yAophrd($I^3@iI%Ei=Y(@s zJO71k%jrL=z8CUx1K)22^y_(^zRUJFq7RsN?YhdUndCbT{Krr&U*<{o-&Z+Or9#H` zyG_p&XZT+#?8caz1Bp0H134za{cFFFL8F&m%HAM|boC?mBwlg>awrU&51MOtT-hAV z+`L{l57F#?)BwNU@AebuSQ!GCKu&f?rNzNMFONZN#)E;1S$wUbpJ0hA{BfEbfGin9-YH(nB>JJU?Wjzyu#_qFv*DLL3n4uq zJY?7+x1ebSy&FTQSkO@==C=9dIkq8U#b^9S?JvZ1=_iJP3`wxA)GO=CWPb`vS zBgB>!xJ8OtN5$eos;L}hHvS#p)+5?Ug!FV|A6Njz`v)L<^;&4Aj5cRMXx8;YHc|Vh0Xu1u@n9P z1=cKTTe|BI>%iiFRW_~uw2&4%UaaiL=0B-XZ%8XKWR4xWCSJ@=(}4%r9t<0}{uu9( zN00s`3eF06Y~rdAl9}F& z>`=JWQEh9Z`;Srx{GiXpP)3UXMf-`he{x|+ zh~;*d=Na}8sizkdMjumM35&9@!MHrJR$M_~EJMELj(?G( z&{5XqrOyN0aW*d-eUo3=2)1^Y{@&>Sedn@nFV$T~9|yyr+w@a?cv)3%`gr=#a)&EL zs#50Ehfa6DyJ;dR^sS0uxH?(8YJaLv*b1oEUUg>WcE24m_K_T?{c@DC|3e6=>V72@ zHGx(E{Z52jzrN4Io=>|&S{zPt23*6;JacBfBM2O(<7iI0?pJn?4Ij@l3L-q=QJnQA zWeBhPory1;hY;`Em7yc^KFaBdJ*;tFW_=Lk>=Z8Lgq$xto(a5aJbWM*YH)<-fS}6e z&9;%XkY={I3FKuNc*wGuKCwx#)l{<)iM~$1T(InGWBuOpIn#C1-9K$owr3762KIb4 z#RKZuy@cnCX0SeA+WQV(^3oG6F_;1SN^80WD z`MPS*xbPM9Zxg{HO;heGL|P6MEaJDD?gwPe*Pef#^zLt}eK*E+I(N8Or92onxh%Me zYvp(QK&+T+R`nA`enYcw7dJJ8surw>U(m4**IVnmd*h_PRYa0G{QUke@7SN}a?B1! zkq|};Jwol^2{YMxpX6=#!-Q?7zUkr?5T9s-CDKgja+pft)%cIXA^W~`HN9>nZT|6T z^B;2VRr7+`T9u3#1NdQ~SqkEAH(IYPn!26T4)rZ)>gyiUTFl?VYaDe)9$Q1l{qYNq zqNmel{jC)>)qm-S$Sf0=-1~awU-00vMPxELUetBnfW4gib{7i0T+dyNsmNKX|D|-b zEw|lGkA>|-uzJ+(?4{_ltnnN4`1O=0xxiJy&PpK;`kW!?2HWZZ5l9zjdz1|c8(X~U zDEt#JeX$aEGv&KOnEstQx*L-M5j=6DbkM9LlHG9cfmm8{nM^7i{|m+4a~CRspFp9e z;2O8*BwP{M`fu%)bX}9IPv=V$QVdC5*X>R8guc}wyR4X`T#h6@7Y@ds&d1WgPklC> z>%WL*Acf;Nn_*udx=Fc~-&h2~qK<7RoHwsJ9# zDMT~INqTTQ$&7ZxeLA~>l24}8_D|P#x@8r*{__r@+Sg5ANf7MYCcNBG6Uug-ksu6G zQ{>&_a2SEeS^jf~%HQd1WUOcFu7AA6baglIbVf*&o0g40N{ZAU+YA8)C>=lIOxEsB zRyZ=@UTb2aCw%kzbe?kXkn7K^9FgNUX05l5pe=QvM3C*gs1-p7mH*>bLP(jM!#RJd z`6o{-#G~`|nW}-;c!l}1?PiBZaCyDj`g5dSR||4#eY5UI!^_GJmH_0!~9TjH_F@3yPohtn;$mt+0E+Ey>i#WM$&!Sw)P*^PEr9x=Uo-vtd# zF48OFgT(e`E;mGVA;_!6#DTY4e=rt^|FmJQIBx$ErKyM2_hGE3{Z{(r>F(~%f34Z} zPmk))7~SaWpC{>852A}Z%+|7F-x%n4lACObp1cU|&s@7n+{R=68wzZoe7<5EZ?uNn z*}`;G4|pS4$41M?$wNk=SZ6@9ec5e>hJ@l`+rBiDcnJZZOZ?|}piST$H%P;3y*`c^ix@3G&}_LhIhp!V6o5~xnqR=uP+BE7U~G7CDRDVs>0gmA zwOsS9Yk_*J!vTb+ zhBvy5N$s5sVoeXn?>CDU$Tt%k4b+I(XPu?_jHK`$W5?y(_ZmMPrLqcO5JP9Vl&oD0 zCER~k{5N$ujn5yN+=i3gWVuy2{+$B)lYZtEi)a0F$Kz4C4L3*oL8hZ3b6T$Gns!nc zCJP=eIfnwN<}aMp;*4aH?2J?gZu6B-X0~RL?@sKVR})h3ntd1-Q2p$*1MvI`j7f9q zASIcIPDWN{2uz`*fUvLPZ+4PCq95fE0ub%C24N^~$Ccc#Kz{7{Z&lOY@}T8WSv&GK zpca-KxQG=vM6av~&6YMsGb=d(7;lcl1>0H`ATlf>5`y>ngbo|n3krTxPoK)?oc##A zw=Dn*e;-GVGvP zCB~IV$xa#!4FQ4gleS?HUXOh2Xl5zt$uC4h;&${?TPWXTv2&9EGX{B%>nt-7?(_cM zd8j>Nfe>}Do#jOxVjm7!104}K-1tC_@HUawPMqLWjxtCub4tu?#Ge&ACXziYq!;nQ zilMxL>@*ma_o(hsH;!q=pD%S9d9s}x?a-soHNtLwwLtCTsRp@C`)XdVuaOPkDG z)RYkKo7~jN1bn-KgpdF`d2iQNyV<^N(!8xu2K-u!Jf4zw*hmI%dSh+x-jX#K5d*_L zrpp8le|G+dZ-$&I4HbDSv&7^7HX1#5HB4i&3v04m5KxN37h@iWhCb9}l|%;%WNjEO z^oC+nxHYSgLFwh(NfA*R2DpE-93Ye3VA|vtkeYuX;6xG5>K`*G^)5>R3<}hSKtECC zQLTmG??LF4e`h`}Pt^TJL~r{qLePXhr_+R>&YXf11_{CSd}@=!_K?dxjk`}%iF)bX zPhutBJGS6m)oIGeWynpjQM_HBUf)88#HV+q&4t~DMSJnL9&HbUiv;=@M)u0r zG&81B9is&-2ALugxb)UQOm#`m~&)!g{E5N83woG2<;VnHWL3rqvpSxCt9vn_AMF}nYEhF}&QU9O%9ue069 zO91A_cbVCah{^YHB{^<d z+xgn4mm|9!(`#+zEDq~>BhDo1lj7L!eo4+Morz$x0wI??UFh&2*9V$dV;nM0DDq3l zm8ws?l(z_WO>xz0tjWs^SFsz84|sJfVo>-gOT~FwjK;>p#zBfch$=RRG;B99mnNrk z=ok_R`04|(lfgl}u%)uJNqDA*UZ zib3D``HcgiCG4b$6T#|we8tgZgezsoP5Gc9D?V=DnY@4@Y#_;f>AFh3$gr;J;odDH zg+VUq=I|F(+tFe{@jet;x3F=S`OO=P1gK0VUC*ygYt8l=W|OL7ub$DzUd^Fpd=hFQ z(;{JtuBQ2rY$QPvuMxSi)bAz2VaaR~Oo73W(qDTjti|TQ{7x+Hqma>J#w9Z>e0|6J2xo@@H>aC z0)eBI2j}d37XJ97T5*&OX&68tZbei-%Pc4J^97Jp8qB!y4S+!@JwxuHG0MEA0*$V+ zslV=vn@Qs)v2s4Mss2HowT zWfAJwHcT6Bj{5D2AU;`(uJcn9;q$#(4709SErVKqv%p@R(lh?le@kry);q*cZJP7+ zX^Z#3+c_QuS;p^P7XyZakwoxv`rZko{_c7cBTLk+sM8o5Vd6SZe;%Jw?TRiF}br@ykpxSR(KC0i(g zO2(;TRv$LZNmKt4?^|p3Wi9%MbA!_97O9Sw(oEs;pnJZ3#(xE>cTSj7;+A%dM>IaL zkgwuRG@eUw72>;*&qD;@>uIqUU3|sV@%vL--wfs}A|_>xX}QT?LS3bx0r3955|8I9 zotf;U5kQ5k2f(vMDm5?ye@i54a|)GHIdKb`qx>jgG*6Xpe8O~5$g+j_IX0eyxMi!F zPljbO#c9Exj3W0#Ocnbx{P1g+@!uKFI@%_hiE2iiwo8*CX`ysQU{-k%woReNXcCLnu=}LK>7zhK)EN;oOIzie;D?nG8&R6LV{t!~6WLOot;DhyP^TEm922 z;NwO0^b7T-!O|^*fWat=BMRrnY)5Maj^L-UjG*Jc#woDnw5OmD-wq`=n3QM8-={%E z!;nUgp)_3y-|^VG&%_1+6qINp6hAexHkr+Wi9iDBBdz%Xq>uB6itEk0kP+EQoiIhv+*?WDw79*^*daf~1y4%7{X&I_T{wS|HYhCZzj`at4p$cGXSr;M67L|=_Tq|WmyhVagr(7vU!roOjx z)3~a3Zdq;!N8L8&`tbUCsa#Sf-Np$-O!JV*Cg7-Nx5j!Ao5$B|>2rzg9jvGPJXo#D zQ^4z`ETqrfRfxiLsvML;+UgDdTVs8~Qy>g1uod5V>P*)Kf@@mnh}A`dV6=a2T$9Co<&nC9_wu`vNYhRWTrf=+G>oXGct z(T^`;+u=|8STP+!ECP3ng?4wa=6=^|&yShj#~g-JAIgKzPr7QeVr5WCL0#g;U`2j1 ze8JUib%O1_pNYP)=wP4+`n{K87k6{P7LbBFGr{ZX9o@AOy3eF$D~14WpZkg=E?$}u z>Sdl(73vj8C^7H&SAIK2u4*)c%IFdS=3>X%qnF+KjHOfuzq~@b_!^rEo_lDQ+j~(J-Hxtf)k{db*^h8MYhq zxPrNS?|C_Vp6P>z7UXFDvzE&NMB9#w;O^hGUG)Al@4oqhs zUGLDJV0OR~eX2Zaxzwg{->HK&-pAwEaRyy{x5{$+e!lxEsJUO4wTmoz-L!JL z%i5`l8u1PAJtk>T|HHRSvWZfm1DGhqF#{iIngBiF9Un_?*))&DM`+Gyu4a%!2eu%9 z#K~{a4>>B{S_P(nt)vSb_>U7t#bAwPo*LUwtFGhiNHU~-BA-f_ zX3kEvVM3`Fklc{aktt*Z)a!x4BVzlw@ZaaFv0bm4AE5u7N#t1mey0JW>V&^sw{E4Y z+s}DV+~KX?mz%o$4BeXV*PC@x**$&SEKX1j?^9*+qDR3=_pyt5tr1IrE`i&Z8rkM( z!wfD>Y|DyuuE=ySvp^oye752Nh1h%v&zk??L2kFmTio`(QGLn2z40ryt$Zr+ph6hV z_}sptwNB8)fNM?Lk<)~}yQ}Pb7VrHDLbSI%hHvWk@u*(_##VJUIW`DKLEBL>9HU&` z&@WovFMTzqeBS+X=U#7Um2wCdDQZ-|b!vKTLnIMBgIP|sLo|n!&?)3|@Y@<~$+)3^ zI0PQgFHF>jV-O#m&zHHa1ahUmb^FGA*4?^~x4Ou`?*E$TNY+|pd3|;y?Qp+#9-^na z8d5o5bo1zhV@x}RsnqqL=cf6D^zHkdY>$}Pq#F5S|C+(njYh*^sHVZ_xT7M4t$%_d zAN_Z`UgYTUhoX@H9HCVG)4vx*430W4>ZJmfxrmv+&Sq|=x{fo5QMZF>Y3R0SQP=H) z6Q|gmMtXtK-aJ}d74xm$EwCI`{_qcNc`Q0AwMa~Udu?=^nCHVQ(#q3WFSD`!+oJ`| zI2jmk4#ulN$5pe;q@6E(hC?@xfkS@=nN6clRWQ*?yn=8-vE|o4*%mwp^x?_5aBx ze^)dfPBFh}*y*!fw(HV#!nXhfN5B2k$wU60+}qpB&9}|1+*&-K{N@brcGcXV<)kZR zRQme5lLsrKqDi&oJjr!kC?FUKfnePHkNs%&_Mr-XKfl^RV1es59xwMRt}j!Hr(gb( zll7aH-(gS2&1tFd2_Oq>3 zlXSI+{)MGlahaHA(ukk&bbbDG(tP;SP;sNrZe^*72he1*^6`Ydr243W>T?e1W?W?r z=ne^;q}VbA5aaa+H3&P}ZA4vm>2WLSE4FT%lRZ-UkyQBVt6alSIRt)fYC&T3@2WAB zD!RnFz)SYHocNHf9St^pgS(mpGPFk^&B(~^_03Pel>C|vjCWYjb^bkR*pQ#Dj><>+ ziC3N&LQ6q>)Yf%`fW!|9^kJ7Lo_YdV#j zq(n~U?bB@-EL7AF8 zjWM$0ZqF6TrhH(JWycagC}@f1x@ITRve!C;8wk?PCVTM#|E(fim!Qf2fRSA+eK_R% zk}}A6+&>eZjfu8{8})TrvKaT{4lg${H6Q|y5>x|_Prx!~9I0=ZCiKFqb|6)0%j|fH zg>6~x_U-lSHAdmpOr&y5H67*JJZuwla4A)lHep-qgmBpU@X4q0G44nFMUbfR)ofoI ziC(Mf47U!_m3}q};F+vuax6uw41}iNsH5&wn%PA+YNb~H%i35OvRlmfC}E~=JPwujUi=wIsUp| z45>QZUF9~nbvIQv=&*{?(U? z<|Ci3>>RxJ82(DN+sH7=BsEmO&y413S!W)Dg_`VKqNMqk#`z)aiwrb)B74s5kSR*j z#kyM4Bu?E%j{#paQhR{~&v|*8t5X++@_@K3H?l_|^RHJ0vZBxfggs|z?0^tAasPf; z)LB%ChdB<@_FS4rFj`B}ukFEmGOBW7SN3EN6O0x&?k4f3yrevgYWuB=(J8N4y>W>a z>6J^O)8ri5OS`LGz~4$4G|2KH25-x!p3B824nY;8gM4`>{Q2LFLVWv4isZ5QAGCmW#_qwr|T0AB|Dya^NFly z;-*o3t%-+-_d4Tr^%wc&^jV;GF_J*ndQ>gFME*ww?p`9@^fWUe^9lG1Xnb zK8~q$d=v-4baxbZHs(3&O(z^&@9-Jt?F@qsI6K~bGwPifOI2wb2`d5LrgM<0?oDrv zv(e6oI=mr^Udr|CJ|ojDp0Bang4~PCm&$bnqx{th9g9yUC+0ZVzF&!E z@KdQdIvhLceRVzgEb`W_lz$*rksM)L9+~#oN>U6qwGU@a#*~EA4l5;)iMM;2BT1sn zNFYi6(?9_d0U5uhb?&>3FukOrv9BE#gZLmm9=BP&k*p&2>@D+h8S+UPXV8CA9^f## z2l0|pA13Jmwsb}y#naIcI!P{8MsMrZfoHJS8t>(>FT7MAH9wz~V`V>>HO(Hw9~fi$#v2{B1qa!I3%nue$iYNDI<(6?`c9UBpC3hD?WkU z{+J+UyqQTL_IpEO5Z=+i)+z>3XaH3wPH(UeEG?-YL{B%Mj$0I0vt2g+wlpLeo_rRG ziye||h~5-`jVMf|{`-IgB6V3d+&kbOiY6nmY28a!%B|YShj3`riiC@|*sF04Evw@l zk&qtr)rtpj+#_c@ARO&{^Y#2$m>j@_hHBO1fu8*dRCx%p`*^O5RX4S`Jon-ukL6Q9 zt4POh#VJBjnv5w$U55IHz=7e1b?x9Nad(8%h~Wh%VmeeHJ47wt7)aR=67>i^b5n2= z$aA*PUolc>PB0;D{`5%oVDV-K$PjsfHPfPnpyp?iO&-NzJ7ZHtLjye-K^}|r+iNN# zeKFV9m*_&lJrvhWcW|q!ypW6U75C_+17ggi98%+p$i}g_Tk|`i6@aEm@>jlzOoC#5 z^DKRk2+{e8fU2WHHyY-7eL&ns2GBGtmVP_rgk=ut$I)$2TFSf-3HToW+fgb!|Eg1U zn4|mIER4Y5`%@sk;-@jz_LI6xFa=YcNMDWwFP0nR#${)Sm4^qcsOX9-#Wihl{^`qJ z3(lko4}*KW{9~W73+Y=vCv%E52C`N3RBg2Hi!-aedD?#l(}fYW zgFY@t2MP}U#M&A3zy(h2TzEgyGv+L{NRObEhXnA|^4B{7|C86H~ zs~^%)k*ew&VGk8A+;fpIe#5dJVy)kZCPzcJxJ}W#V1ZH`et){?!6M z+hMHC3|$AmYf%{Q2^Z`18j#7(-=?zf-;*)tpXJhgc=mH51Y|eZ*He|X5X10X zibaIIfu4!r(4{hVec1v@tB7c#SxS$7T0fGudmm}1kIw2$g7Q>+Wa2$)@T$$s9}cVv zM#Ki^Qg=OHj=^6=-!LmL42*=<>>d{ll->uK#a!_n7Ababx1ixutlzt2Umvp&w>i=2 z{}sQ_UR?KfUUTjXYq!ajnk7K{LEwhB6OiV3^ZkrNo8&fGMAjg0IE>5VKWC;=@Jaa7 z&GZZH_O042ELDrHk~yPb__*1FcpC>NCiV(_o_dH4L-E@^BOm)=oN5{~u{qXid=UPW znv;7%-kqNVy4Ja@CzU$rT8J% z05WSp`258$dl#^)YAamqbt9|*MtpAZhN0I#0o#8MHFN-ty$W?)G5BZrv32(kA)dB) zRbE>fSVWQ9^BPKzhv{CqHjkp(vEEI7Pss@`I2?_D_JDk$L0FXsv=PS7tZn+008n&_ zn~A|MJ(Q?QBq{5mhUyW((;(pqFta**5^oy(`V43TVTz5K{K-t-M4-!dGirgO; z*Vt;{^Ny=8OI7wz!Up)WbhPlll7__;oL6Y;|h&u-GkI+MX z5IjcE?J$Ldayy6olr_8_ofp#Co#o7?DnV3SD7RI9Q7qY1A-|M}``PbRl=gJ_nn1_q zr<>HwGDPKU6>s+_g?ZDR<1q6TVlGNq40i3gp%~hi@dB=h5+P#!9R3KW_Uamt;-*=f zY=>`BQ!|Q$Z=!$5M15p!Z#qg1amt;5Dy<*e{w*7KndYT366kAkXjVMCyv$_0mDSbN z(cm*;g;bSZbe(1K2QCdNpmUf`HJ*|4;IksW;h&+|crg6tnZ)uKR|2v<3d8G}++y~j zZ+#hX=PR-v;U+ESvuQWa6GL$+#C%dlsZ`s+VSZRudtIu=LVtO@0g**$K1%I8yUGx} zXa6C+(r7|UNI6dbud~>Euou&s5rpUv;COXuP7HFudILE$MMaYF3-Om60;6`r^a{%z zr7*$4+@|VSUnB%GBaxKw4qyYN%!G9KtYZwBn0#~POcL%vYiW}=vBgNjuKgf0L@ok}f@9!uy} zvGKVlSV4-KHd94e(_Bk$;qWSn2bAO}?$u8naP*j*Mm0fbxR0rGdN|3JI=Gf+<3E&- z8?eMU)K7NxyVC%o1C&om+tXldPgMlmWOorW?ISU&o`!&M7K!+xy!_GAL|E091bH36 z$S-jMm;7N>`YKWCixjQVN#IY^M-L;(y+yTyDmjvcJ(@J(2AFE=6}52GRqOWyXiT&X z#Sm>|TP^3%WVOJW;&VmDEer^530)*0_oFzFAThT^pjg(9J_3iKN&(*ZNs(3g`S&#NBGT>4i79ht%{_30?n2KP znsk2%4vrGMRyQ-7mA8ane6*|p@rrkX_lsD_RQFyrSZ~pv*Y{M&$8@&*jREZQ{cOss z(Q07i1R86kKyZ1&C6HR!n$jb4b>?@^rwf@$6eUtdtOgPTr!zsmVbRh6a`Kq@?6zcj z_Y;|Y|E_tOT0&-BPEt}pUiMvs1htc{MM!&^gpQNyD4?h0!+$%uOUDJMm-+8s#lu@)oy5$UkgRpx)W!a8c%3^bWw;|0D z;=`i5C>EmiVQ_Lm{FkBv%uIB;*(jVEWgDK}xM5Afrnk&s(;olf07=guTQD%a=lxdX zy!~4#ArVS#{*Tuq^dP;GA7<~edd2p@96duqBRlW=fe1;@6*vMkAn$2GYZs><<>RL+ z-ct6{3>2~U;^mJcdM6fQ@uF+0Pw#p5mcyE$fT#HBn1Mg97t_2hTrKf*%0MfN2rA{I zjA}@o6rC%FMFIDZ_U{kN>?H>evClCYer(Dw zYx)~gbJ#a|6akLO@{)0d!EJx;X-V z{#eCk2`te~09xx|R?)xgzFJR{SkdD%U!IPyCQSE|c$KQ1%TFUpuC zB7W0bXI`N{lGpWxPFLb3;(g*{C?ajQxXNy_t7=N*o?(0RV02R86GQbbrQ-hNW<(P2 z92|njy=^_wMLrp3O<$dK*|NW!MLfy+qkqXbayk6+S24EZBPPMJ$8ja%u6rRIoE7{J zRg;tFaz#_g00j!HUsLx0nq3>{LV9Y~_f)fOeM-?dO#NBTsG# z-0xBc8NZjNoNX1Aa~@aX1T*7GJFFvdLX$pzMz76wG1#LsgN#JJ6%5aNPz!OmRuY&d z3gJpE%ZkR`)Qs zcyDP7BT%rY{!&z}U|;!NvjHai`1Op}1^CK#=&mH zSBRKcKU9B5)(qp5;bMc_c@?pPIkqw<)mlaK?L4#tuHM^)??MXaKj4PhjiWHP-KRQa zWkeev!cV{G%(^TAK)M31qar`-v9jAaU=zG%S&ef;WVeFR#gw3Cfs1TtQrlRp1IUHS z!~!GaPhNX#W~vlA#*B9e|ins4liq$a{bm>oO7B1 zSOkvi^}oum8p~B7lL8I1K(-BDKP!Hi1LU!1&gDvzkzJKaBVxt<{6L{~b@N|n0mFU$ z2YrFKIa!rxfAt{%zt?hTlUrA^@k>~o+=mcH*Ngv#B61t)_y$>2hn>ya*Ca^>#zcyZ zO>6L(DSLy&rKEI_%|DeRaRd`hr?~uWQl3p7oL z(D3Yf@pa>UAiMX=gCe868IxpDy%e;o1v=<_666mszv_ZdmvJAon~+$NahR8YdeAC| zBgFCSlWi&4A?mTbiJx?FU+U;@)Oej|xFiBdi`lKj$c{DV^Dr@_o+LagarVlNZ@(0Z z>#h|o53N7DYBAZ3vkfIKRKaoP%T)A^KhNPfm=Gd+;(P|bspww;^!D-%zXF!yoYdAV zAV^&!A5_VAja<-XfM|NGQe+oMNCM>4#1Lg+UUKIxg)TBeJwCGn%mc})2Xk9{C@m^s z+~KeoVOuP{3SlQxd943aI~Ht_);}42nKHw1OjS^1ux)1Y7k!5`dc_Reh0>|C0T$~u zhwX~UxE1RC+)eZAs2I-4Kp@VT4wIPsaC23>=4GJ*OrtOR5Nif1dWnPcEH32<=#lMF zbP2M}kC9S+*Ht>P6K8HscX7qbj?q~XLpD8RLRwC~6?QhP;E+3EamZZrbk-j7`tsBc zN8jT2ZMgpFyiUsaVA8Qm(qg!tDXv1EGcz$NhxCj=Ga{qA>NL08LG7C4lz_+??co%O zC@OU~nhTVE8!bwfiA(oI&jEwqX?qw}OVz8-3CqWRY&iz`-iKnh4*Qd@BBffaM+*E% zh{3#9mXyWSLLhM6rH>WhK1z0n`s+EG1!)=UgX%Zk1;^7k7u!DYUr6KAK?5_X%jY#4 z7B!zk=Tqqi34ZI&)!vd1iTzFdRNymXbB!pE70ah6{HcL)W!xh)+eMRh)S}>&ragA6 zKSpjgtwWtc+Y0FYlhG5;WBGNMIa-Y*jC+oY&HlB1o}kA@ip*JE#&?2iDRHRLEtkUa zY&BS6{o1R5fIBB+_^~G$fx#;w~wzf z@bR24Q`v%I@KK%J8fjp>#+wx@t?2h`A2G=VmQVYOc86k`bu+93g!2rK=(xOgOijK= zW+drD9bnzt5?or*&y{eXAy@v1)d=Iz5H!G$4?ZlG6at^mQqkZE5_E{Hj4^J&Dw!Y9~{rDb!qV1t6Hyf z^vbJd7-3!RIn=aA=SPBxARio#j^#0L_NCyfXf?ye+GvDo(555J6RqcXdGl9o3z}mk z@l4^BW{4a*Z14Jk`LoS>%V)bSk(ky?F?Q4OREJ-?SB|!Pq-E@JDl1+#%N^eHC;(mA zx#FR7#UK3M^NK{US>4NryABO^=yaZ``1$caNbG^xDiW{yZ_hQPQ)P`L_mmYav#dsO zqIEyG@tsSJPQi!fYT&O%zSP2IKR`_7$ZlVDH$Bgto%O!hty&Z_GnUipR3B}u(ORaV zsFN!1Dl}DhT#l+b>iWLi^hdCEK`$zPS0$p?BMS{6$mdqpjWT3^4|IYI$8qt5eZ4t5 zE&d*m{>k(i0-x=AmA4Mc_JEIBauy=Dxt^1MtH@M+OqS%U4)VS&lWZIPH=sx9p_7h8 zb`4*o-j5JM>L5MB9iV3s?lnD4aL+WO7kx>*`k1Ew8~OH+@88P_#)>u1s|g;)h>REe z=xgE&JXVE?yZt*W5ZzxMwa zPwo#Yv5yGU(SFY~%}XR4VJdP34O zmuuUN=KpD=;-z6~3*_0%9v>51xqk7%;{Z0kB)@6 zC|jq`oUv;CT3cym+2|du8UOKR1teWN<&~ z$NSkWBDyzkxqyKo^3kW?$p60OkogUErO?*~KXw(FA&))d750yWE5AGrAx#n%Ygul1f6;m?&gvr+WP}oe1n$Y1di>3p z=iPTeTRVxBNOrHvaZqgxd7WllL6e;@y-FQTuNS$S8~2)$gbrSbYS7*=xJo-j7H>kz z)|^C9j^Di5PgQ`IFmq%j!kAZZ&rcF27|{-{MI1?F)3b*w7#=c48=OT9kE`4@#Y)Zm^%LQozF z5EOeYt$2hb-;wxXh#*8Rw>MVllbnQ2)N-^9mNkKz*kI+SO%jHzki7o!G!9)G!w01R zEkHYbT4j@_8$L-}FJM!JssR+t#8;;LJ%#c(NEln_INEZt@`*|%Ca^#5;T;cDrltIl!#pzhuxs{~FsfOF zVkl}R^ghgYr!lnpI-#B}H^?M>a;q5O7=LXtW#Qj!mkqP#ZK@XP zN+nm%Z-HY4Pvmca_aallQK8vA#t-@$6I^)XA+`; zfk9RXLIO?iu)o4Yx`gq=#0cDFg5k%ZKo^+e0Z+TrlJXQg1 zK~7^cE0Q&O4@&)72JpNUUDX=m4($Ce3}5Vgvy()z2V)Gp)b{_s3t&*DS+~E~$+0Md z3`TV+_aKe*hCvPC%O$TVejFLWw5kdJ8$wh6wx5Z(?_$?0ncJ-C8JwDx6y-VJkqJtE zoF<8EpzEU=bx>EAByi~O+s>n*$(qhVLn*0oL~JNy-OIGiO~l_l`^4|-llfomPMKUF z+H?ZIyjfxkwfk#wHFs;3!`lm$K3|be4U)EXYcEH3lu!#*>Jjpd=>#-D?^?vOmRn&+{J*Ez>N$;b(mV=5N#N9Q7QM-4n(#1?q{^oHnhcQ@AMFezo}wWPD#R z5LfJs|eE&J4gYm69C_%fNGM&KeU7m0iZ$@_s3{M1)9hjg&~qO zr>egdd%4yyXI0p?5lO%E;DjFcVHxk-XkG3AdL9PwF9^p}O!wZQlnl?e@9gWc$VdGj z0OUX$zrE0xc3=zJUiHdrBB?~n9>YUl$(g4gCfe)B5?T6Z0MuX0kWBajctns)=6JXQ z(9}P41?1){vIWq59V9*iq@sTG0ThdFda^I_{15%a!#{Gx#d2hyE?nMM%>sMuu}8_f zxp#4^4tiLUn;Ykgz_n-$4@Y9FOwf|Yp6(h^9Y9AO4vQ<|OzqpZi=gFvxlz0(j)M)V^KYcG?&Af)_jmNc_N9N6|SV6mX#_@29S zIwxAQJUM*o;u!!`#w;*(aVkfKqNUr`p<@U0fi3|Mv$=pAy3EB{H5&?0vbTfFk?H;+ z3$OK34do?=#j*Wgay_P{5`z=;L}QYR4sA4+M}&vmIOD1^CBO`DjbJWtE4qEw50FrO z;xU7_08|Yy$YB$=L;I+w;?Y_ z*u}M#t|`%OXrSj>B|C84U0-&EFV{Np0+g{;j0R(59`6-p=2TS+@FDQ@?d9>~$A_0+ zez~ghmM8P7f*#{|Y`)QTbCcZV(Vm;xAmrTm2Rh1A8RsPSi54fp1#r?ibLWJ!~iFFCw*RYi1&>)oiY$V31~G~({IfP*?|vu-{oA|g5k z%%YQ*-9#K6Cs&t`66(;j*maAb01&!MTC~??(5b_ly3{~UoV<_-0Zy7sQFi37HFKDm zb^%%de{0(d88P}pcDe?!D+^G@h?usLqK&bqPYrkg5$)nSIKri{u!E`4K_KT1CAf4+ zFCAbnN1AG90yo=G=W3#VI1tFSN(p;#?x;0o=6zKxz%}1_=bcO5!-fqjkDJ?pZnx?s z44E7ZXG_UIVW$-kDBpmfeFCa!rph>a0wzF#D2&C(I3IQFL~nWl?dlNVsrfd{r20JwP-^Ig)LFPbbv=eo#ht7$1iB>%UA)omLt~aKbUC#<0N9p+ieC%^CC-jqaDtZMXw&_>{P@6VN0uv_mK# zCn2ToD*1o}&g)-(9RpZIaR!f6rhSSGVwX@3Cy|WHAuG|cHV#LE2YJW`B^dvrODWIv zMme%Q>7XbBV2YXvMD!0ZZQHiBx^#dRC5*Mn^{Fr2NRIAsQ?-d1S+z&A?30Pa<3CJS7$!bB3MVHUSktL>u8xzG_)CwzDM4WOG*}gLYU4 zh9P1bAf&ziN16Tu*`95c>8vxq13GTqLeVlt*ME_?%ujJBLs!f+bpQSIhh$?PPh_}V zy3X)js5Z8QL2NVE#*;NZmkler%_ho!s$zkmLx+}pAAIn^MZQwzHjjgurPVfRMFtP zcw&qg;e*o>84^J-mNkFwJdd3LYIJp57dikKB=j(dsa(D({piw0z{9EQwZ3e=A{L^u z`uYOo}H3DM@Byx{`Si41|+~DMuxNtdx>6b_F8whu>HU-!WsAd!eC~wk$Nn9VF^o=%sJzO z0&_r8xhxN9rD7taK zF8&E%nJ9r5*B%)Wu*FmS7BZQmeDe4)tCyV_>ugDcnN!s*u-`R&Q?zWZ+A`?$|N z_gwiFmZ}SHL;=y;t0WKyCb4G&%n}d+MkL?#y7^hYkpM4&UiWrg!_YN$a1=9X_T(^W z_6Om8Z7hjcv&U-TJ6nAt-1*f%hXdE&+h9U;*GiEXeCBD=fkA(|fpl?OYG$!*TTNaN z@yM}~PF6yH26pWyKKs}aDI-b~Qv(-XZ!nZsGuuixFGW-A-4&#bI$nR}^}>)<2AeIw zvZ#9;!H0+x5C&)sENXjOCQ95DrppQ9v<$0s=^b`m>kHw>JDnWX>9rO{Ead<~9%Cz% zUt6}=an)_5Q_)ovSUa*6E21|5xlVvzj;X1fo+MFY>~h9yL%Y$B+10so=4vc+o^>T3 znbcg7aV#*jBHFwE{`(t8Xd_Fh>Q5*)b^1jIh?0}D=O!mFl_x-~JWmdF-HSJc=f=O} z`i!};mP;q0eVg{-$2)vCoUZMK@h^u_Q^rI`B04D&<681eg8=RY5VE{Qz8Rw%=|SW( zxc9o@``djx+%Wt$SQiNo<|OJ%G~%wA&iT*7_B?G-MuT+YOl?VSqsO|CtEi}@x^T29 zc8$>?IzD@%Ex;~1cmx5Icx%er;pant6uy4j_X>al&@3JtG*EaCu@d~TFSaGcXjL-X zsT->E`j$jk(8WoQ77JqZXwXrCqd;bOSsYz}oEImvl!b{HLopb%;9EH)4?d>a7@bCC@-Bx`F0Q)0U8orowdBG>_vcZ_fNV z;ljtR2yNsbTlL$-wD9+G6zXcTJmn#S^=?FaM3u;eyT`gzUM6UZGRFJp7K@Sj;IY(q^7HWgsvn7w}hlm}mGr?#K}=%ry`xBlUX z4G%C4Kmr)WNUms~YLI9KAjcZGXhT2-UPvtn*o%LhI3brd(H>M6u+d&+qc?5BZjJ^4 zDE9J2 zi=|gijbniwcigcQ#2Z(9jmn(naZuGr4-;WDoCN3L7-vk5z%gCYWLO-71h{b=9oK$j zu%e8-M32i(n=>uUt(zNqcIaV1#Gz6>=-2JNmH=_Huu7+1VaD7U;gw1M4v&oamw4dB zQNL{lZXVX@xrQBY$2Ijhj`V!u?PoMD#S;riSs1#s?;JK-dHt|)-wjMRddk>v-^ho; zTmT5i$A6_8N!6XVa;KHTR{b{*YxZ0%y!pYX@c5Xg!v}MxYM6{r4KM(Raesln{`rwD z)%OI70E6`2^hx2rAN+Or*{(kd!$v+5-kLl{xqulg;y%JgagGYA>IKar>eZ!J*kqOU z!+Jf}_VB=~@4X&ge*blki?X)Quq?e-TWO8ZscpwF;{AVzKAl%qoeey0`t-OLLdP~8 z!e)Ip3QvuDUSohQ!{+@r4x9AZAk3OSJ3R2#V`22vv6k7nZKts5Dnr7MK7+%18gu>E z*yqAq)800SaZLcW^y6UQHr%Q8MAKY)>;^z`ujtf`q&XS%utuXK#`SpamgjHZfB*gP z>Z`8?-t66+QdNIK(<*+CwF$)Huf6VWIU~SlK-4cgDFGqJ?*0|!v8;$T@N_u@4n)+{ zLi=@ktr^<2ZWl&Q9&LVNWH~%(K)3Mv1AeRVuB}4Xc3r|?jko=BxBm>+eC0QxQ@f6e zI;4yI?YK?98una!s2A^kck6G2leBee+d*ZqD>|sxI^m{6uL}RY+nIsm?FMccezEJ1 zHJ*5F*tpO71}!|+6C&uSbdbge|9Z$(;frhT82SoCPT1n8aO0u>8;0~=uXJc&4Qe8( z76Mn+)fxEd9;$sLAo0%E?-K|=9nRVH^w74T0j&5jQFCd6H<(2L)L+?VpLKT+cO3qw zaLP9S5e9Va8+Kju3*n0W&JS1ab3s_CU3b|lA|w+!hYs04d~cg?hJ96sank=9dU{yB z`>Ns-Lf@{dgv<6hFAQF3?Qq?}zYQmDb!_ON|v$^`r9Fga0@D$CgLw z2c~z}cfCErUk<)9Y}I#DF1NwXZ&k6TM3w?O*_ZZnANU7@Yp3?b))4*a2TWzOHK)e2 zKxMQ?7q_{ksz!QoEf^6^1USHouMRmV{O;*%1hJ{^B9ed30~dvx55GDbvC%=A8UCw^ z`Qe~Ds3Xx9Jvmh+KFAC`4}G+4|UU>#KK%YoGg@_{J_cpv>&|DR-Z(al(FKzxBVQDsg5N zo2{)b{;!|-UHIo4!@^um(4aH+G;gtgVAP}Gj@R|^n9|N6414q8(5qw5KsWe~*Y1np zrfS&q{*e!d^%dFD?KOz0o}*!m4qvqkeUXj*D)F93mmfsWBRL|afjKpX1pvL2o_OMk zbl7b6_)gUl_bLm3S*Bp;)s0T~%^)X-wF7YT`=*aTXz+8lGdeTMz5f0i;hAy6!_)6P z7oL9i`SAGLPlfvxi9GY}aD&^G`<|~ZSRVlhkq_}lefa)AeinZ7_*Hf&FN%=g1XqaRmvyOY-|0=6`tF}i=e_Wum}UL0K5 zgb4}KgKs@yP=g*&gWJC+k8;_=qn|K9c}*fsQ2B^SZ@R2&n=a;$jr;>cbV@tnFD71; zjqYlQhc@`J)G@YW;)-jRQ{!1+lT9}9ThEdB=9_PNe6R7OS6@<9ySHA}pqo3s4k~tS z0X0B|2?DyS00=iX$-nr;p7V68-#X$S;TZv*U-n6~;N=slD{$=Bv5z9ai^BJ|K0cg& z-+xh!5GYKT`JO`u*1K(_LHAX=4KNT4)|lLSz19vdO&lRIBBeNs3m_oR;7ExgjXvFb zyPNx}CO@3S*W+L!H0UgxA6|U#6}ZUB<){Ft9F#$PoZ9;94;?`qeD;Fb5iATo=&9)o zVNy%IV$TEo;$No-D@HtYQ~A+Qmrw8I^Ng~1|NOxVJ-&F@Mqdus4ObULeCgtnz!AEY ztMwQl9t*>p>h^n#488Rai@LSyPLKLvO!%TeFJ2E7iO;*!#(RRJjox5GJ3Uh_-f3cJ zf);}t>BNVt=1VC$(ga1&09`A>N!nKdRBg3b+qNil6-=8C!x$d&P<_v$%T5sh1$Y<+ z9aJZo%YyQss#}2754?cjvBw^>tS6s*GVs;3=92iau3Adb6%!ex^oz|6-lkY6jC0Vf zWwUePxy5FOq@r&A7Fq%k2fpPfUgn{(9z~I(C%+x8diFYxqxq4j=>J|M{HKF15BD5( zV>oTQZ-qg<*A6r1%?f{b?)n(H;ehZFkMyKM($Nv9z_4fgZe)eYvnGQVc4R;j{9y6{ zEaMo!qbtbx96Ha}xRmqhIzq#s6d+(AKtVaOY=DEe)VLl*5%7urB7ZMZ7A17lgAa2X z@K~D+U6@tierANhzigs8fN@#+T7`)>#7{t z5rCGADRVXcs2>!%-MrF^CpxGX`rzy6>*7{5(!*iP$&12y z>B5kQll$hD7xA=2bR9)J0!RaZ$}1Cj;6V(U0Eg&!M2oM#KQeS_*V#b#q9VAJ+I0(; z?|q)TzXxcro@EoRkMoJopx*1?V;(ny50a969Mpa;$D26oeXG!0vyo$`(Or$8WO`Kq zu!uxbU9G<{J?BKXG{NtulgATzIRh>_jLTD^4ccfT$NEVZULvr7wxMfEI!8nIG6keJ zzj8;|bDdp0QE}X@r>cl@A}?*C8#`m1$I-fU=q&J?<=+s-Nugt`jCFZL!0)IF4tTX~ z53tI#>h^oq*m~0z@e{oNEy(8wi{gsJDYNZXLHc{5LYb^p z1PIaI%bHM;9|JQWmyL*-eNK&Ofo-T({U7ko>Vy|D(5G;!u65iJbcufDaGsB{fK zdEkHal*VYw#^L=Whv?|)!VhPR;JL`D(93*P_U_bij&3&Vv!TwQX9}Pu*6jHQ&Q?u2ijWuE7Apx0>BJ@EwV12W`8*7=*7;1T4B-g<8 zC7f&E?yVwW%p8Ah*sCs}rOg2AI;M#9iuTAat!aH+4TDHe=^&bgnvFNW`ds;{gFQrI zMg7BLWyt3qC>ZG|r^c~BCFni%)Kk7jjU&1GQVLY5jv!_c86V)LCiyv3j&T+NA4xRSg?e2J_y76#bp zJUUKvo&H_=YQgZP@kDym*$E|2&TcIWfX4A9G2HsfUEz=o_Yd7VbQMU+T&m+FVwSmV ztntF9G`WI|7^R4{85tt2uQO;Y^@|iw0T_XZWb=Yjk7K2B2uKD;X1R52@MpF=C`ub2 zF4j!z$=jR|`e_{<3lHKqktU3Jy+<3LlVPW6OFW6H0ltVLc}B`N;p*WJymtp~cb zrwa=pve5CEtCh}EA(O6!#1mK8Ma+r+p3#~9ai7QfOFiYM}$9X*~%7r zLg38%&Xq&TK?GV)>&XGe+)my0KSJkroh-YZ2Gd!9{2Q&48>1%(c6<3wqaAx44x)&LbH0Qwc2Qz5lI8^(K_Zql4N}<*ZVJ z2oIdbopD+69O`Hn<0qmRo?m6`j2ErSwFQ9D*#R06DtSgz<7|u>dM4K0y%;_JW%w;& z#KeDxJ=Wf(fCXd&CN08$KXh@}K+AG2+2>p>ap~iHy1RQ1+CBWwZfA#^)J1-I;_DHY z48|yc4%(8g;$z(lWq9ie&n`>5s4wkx!y;huB!w|hOvv{bEsfwuj(_6Ik4bBf=ZdrI zvPY)w5$uj31gwsRbxZ_k0{G$dr{8x@=-8@*7Uy0Rp8Ah_!&k09#t-$sJpMJ$UfzDhwPCiN>HX$yC#!2b zHjJD8UO4Qp-weO_;+cAq@Hai_K?0)U ztayts@`KUgz`uOM%UkX~>Mvos9>L==v)R)B*Nn;gCZPX=DwmBTm7We{LI;JI~Heo;*2x>DI66rjEb*fEr_a zJn!l6QUC-vm^RAzg=Z$!03mG{zak1^k^>%qrpL+XUg_x!zn6`AatIHe%S(s~aHljr z)uC;>uvU-N^~hPL@T%6-&6qojki^d1O*5Ar^i1h{vnJW`0U)>y(KDyB=grnr9wS4Y zJuW&r0MSvPv2Kqw!#q8y0I1Ban{B<(-vj#gcX_G6E-tH)E()6fc>`MXU;`R6x8&DB z%Qts{9uMqGKSxrs8&`$PBmTCBy8QqWt@OfS*~DE}@r|FKj6mw)0P2boy}P#Us)fg^ zd41j(0ePKRril%Mt9ZuifV?D6sf+^;JkUaR z-F4S+-+lL0S70M?uX?1%7?5vf8l=0~OB4zq^iqkUq0Hpct&K}T^s5gI{-&sa*GU0< zbUNh&>1?7aVc};290idCO7QJ;=|aFyN~P@MF2`|+G&Na_Ns{Y#kFSO zQsGRzLY_5hDN1p4Xk~Cj@nq&0&_qw19o1CMXCKjtNJhvc?&!leHu(59E!qE+2&GPbyNXPG~0U87V`OlV^YJf z#j-H| z;BZ21I4BNm5D|eV6v$USZvqRshoTCcJ~|Ul246>%a!}7AIxW3Ww0mP%Lp9xmm0Kx@)j#7KLqLA8V`->NL^OGVH;t0*aB^_1Q;WuKHu(fs54^(`o zAHr#y?g0p}2Z-ns6(I)#{Sa^;UKzia%jsh*u+c^vmAS)*4=<0K z@;D;s9ib>g+_Ki~fWh{0qlJUc79MI7E<~4ucT&#hGOm3rGDIs7pz-X)u)2 z6OkDl;IC-U%#kf#L`9|pJoS%YM}O_>$S$295P)91&>K1@0T@vZ?QtG7Y7XznV?i*o ziG*kbfa1pJnCOlOi!QRqKy?m`KuU_yUVL4zEsvHFD&~_rgUm!ddNT=|%@608G`T9*$)vSGI5> zf(?!cbCLl~4y8ImhehR*CI2*Fx*IEw6noHLAh|#bW*vnfLu?qo!r>TCLtc z5UfjNsE-xSVflq9eX95u-JJ^@)%i z1*u*fTas$3gM;B5fQTP^;@2M!!Exmaj+BZn8(R|!Ao(gJIy12IG=-v_*j+@9W@YK(ijaTk@9rhtG=L2T zB$~k=<+(QuumV~{Z=x|s8|*|S9#)2GlDj}-dj>0IwpL{69~XG5lJyo_o>vAq5I0{@ z9d?6Ge++nTP7!6opQzT6oA_`&_<^Adty3p#jS`MX1dk}PARgG$X2NwTf{b2P-WO7r{!XS9O->Vv(K43$2WI!5^iXYiJ*vr`2GRO zH+2jWB7Ff0$w>hTq9q3L<-_=$fx$iqZNXQS4H{&*y9kmgk8_-o;x>BM9o;ztlAM;V zFa@p2Lm45){CWDmZF}Af5~B@#yJZW>*V7`7qEtuR6m207k#XkPQKOD|Ctr-VRHn*| z+Yu=`x8d8=#aZx?#?jM1N@CfDoQ4C*b2eb}9fzEA-u6#JNEMB|rlQ zNRcAW)0)9~mqtgXK7Ior#z_3#!L zL{@Z%=~e@Hss!*@2iX7sA<;A!>R2*qGZAH!sY10k;w9h$$VXNZ#HEO~ppxWAoeNN> zPzgP;8Ovl^3t&ANV@1&T zyP&1r0JjMkwJ%Q&Bvj)juL#?j^eA>3Tt$Q{!1+&>+2KyhtNPj7Wz~c8_~D zc(Nk`DsnEO4};d6d6FY1#^H*tBtV2i;Tt#;=QyfoY>Rw=Xn{Zg-z1-|E>4i@@=XPR zh3+X1BsO+%8kNSz@HrSn;A8oUoJzdxi~39VllR9V2mgjPMSuP{Hwuz1UHp8hoEmWP zauby)t`V0AK+)l83#~1{UGz9_;l^sS5L#^z0u_3R7JA7xNQ#~=1jnq=W1Ni5h7wpT zTAmYa=e37K(c%XmuZN2&qXGB}<06Nhi2MV9ZTS(1AV`Et7nN(oYot7;2C4W0o}Xn7+G5hUZo zT=xuoGF2m|!Gq(+>k-S>(VBXy%Ixj`XYWnmJ-ezp-(7d8%1}vVo=M0+2nk6DnVDq< ziD)25;DaDOZKrNW)PB-=tuOjo(GO@VYIke5ATo$D&p|-O00|@^i6QemSEj0@hI^~t z_xsytpZaI6g8JWEx9aSw|2^mIz4lsbuXEP#tUa7_yf7Ejef{_=-j&DER;*Z&Z=^1C zV{K0TFTVKV@{V`DBP<;^`ITS!mCeb1tKcQbZMWTaW!bW2#mCPw3A0tSY+*HG0KJVk zUtX+&o)@ck=zOF*A=E}x-bP4nyY03N4BK4obnw9kZzC<=_-3{qgV)mb+iyQ~aW~#{ zo0W33d+TJzLQi9h^t>y3m-d3~muM_>Yi&mT4?5_ep4)x*-BBR~%-91aEx%&`Roy_OdG0_Cx+(`&{Vw$%cTZJu@3S({`I z>8&@U!2(-?1?=9oboJF&x7`J~9lUCePTLu0oKcM4HYQ0Y{g4I=Y$+BPU2SmfwbyPb zYW+ZZ450S|nQhZ6ZA!E^M0uNT-=W5MEiejt*Ijqrc!iCbJJ00%;L?!h!UC>Wbe!(7 z#`cWzd~ey%wVjJIGRW9i3%Hha=bd*Bx$AEqcz};$EzmSXdUJT%@lL%(X(s&ebCw{CRZEsbyhy*WN3k2SV8jOESo$r!|Kk_8St@W7t_`s=Un z_ZQmE0D5zL#vUu$8=|~9J{g0!O|rlN2OQAT-+1GV{r*DR89;9y&e$VGdqb2r4<}*} zxk(oAakQ3hzWL_1yWqA1=*`0^d!%S@i1Oy)L<}M~$pWL#i{Et9O`BAAOClaXZ=TM^ zXtXy(dGmA<2C0lFo!?#XU2^6%P;4LnCL`b2aP_p`qwsqX`H+m?obXJ;BVSl! zH_qW!S;&SRIsmwSH-de?R^~S+tb-!So8dbSei6;@KKKEiwQFYTF>+1H@LL&8*ZSoz zJ^+OL=_x+u?YAzZfv+Fqk+0vPsNb4MQDmxOTPn>?|twwiYes!-H_PI=I}j#wj=|Rt`~+I@N{$=X$H$_6yV2~#ufuid}hxw+f+ebfB^i$laKR2+hnQV zx=Cm$ub-pz#!)}<7}>OW-MY2#0^9%+N%?(#w&8ICV1xE5m^{x9l<_6#kK&TV+Mwfz6YlCIVShJ4qt-A0tD%Cbd!7T~G z6YIOrAa;&lec$#}5Hi9eR-&#rq#d=XZE_1uROlktv{d0uLbbQ{nV^!{f|lT=jn)Ci z+B>#Uu#9QbdH^aB8^>vl=7*3vmMh4M+7AQg&OM@B0~>+CG6AvW zwF^HE(E*b*aVU?eV+vU4Kz0}L?soUrA?*U=?g1kT;+Szn^ojRakNtGZET@jHDmV~l z^bUp#5&;=y7NWuFL{|;$^z2z2Q&2HXQ9e*qKXZwW(^RV9-oOQV0fVk;KI4ca`OXk| z$;0;94u#vsX`>vrf_U=T?;|T{v>kC1fF%DK*+m!f^8H_+MgH}}+kXBL+xc%ImY~c! zf{FT*XWQY$|5}F41#(Jjk{L3?lpN2GJk-18dDHOhSSO&_(LtO%>!`POPxNP-sPF{8UjJc&>FcuZJezszaK43mEOSr!nrhB0q_hG92-j=%5=_jD|IYo%LDq< zWm~`FYL^vf)A22YqHf)I`rWBB5sc0~oOR8|&D)~;Q{IAM*D>|Pte zP5WVPiXC6Gt19^Q{Ajy6N-!%J@$<+i&uDdun}m^0y84g`*0!-mbTyjFc%79@VNq=) zUB1anc0fM1z&`MET(f?tT$HIg1p+1pqCRXLtk1bhSN)GXfm8aTp$ z$L;4u-u5kP^bIU6Pc(r;&M?6sSXAc%Km|BH%$@Ef6(NO}4oPHY+=cTcs-R4#j6(`Y zIu3b8QY|n0>Ox){L!0))(lCodCvvLJ8Z7DB5S_bvvyMX%8Op;Hy6g+OwQc4{fAgug zq#Gw|Jk>2WfzH^`NeCftW;M~P6A!SNaYeUB$5YTOY9Np9cFUD7wJmmnLlBhS zc00DJ&7u$Gu{ZT{a}z9;N99?@BxT~cGN}+Qw?KR8fSUMimxY+d0(#95?Lzg! z)&ace-5&+EM%%V=0-X!GfPi%YzP7L9>HO0ppO)0A?BYoynCTwYH!^C#8j$mtvb8P` z(aCW7St5%%Ha7tP;Hb#5j?Nc1V_yfIq^^!R3nLxT$SqNy&ZvCaXP2!9KEuuc5;{pk zS$^!RixE@60I;c(3^mde6r`BxBI9(c<=g!emE5cVfa|_%p8-*kzYpdiewB^`_XcV^_?J zUq?w4z||WkghVH3fb`Hj=`GhyGRDJJ8jl5+^*R{591~m(fa!e6r`#@8oDA8@Orl&q z;Q?Ql$mrC9-?THj@G~vhVM)4G4RFE-P;j_n!eHqL;{u` z8=qANXay1Vu)fL2ZHlNaV^`2*S&6f$M0ZAUj_tXeL|x=HqaCDk&*%BXH;#uyDd zEK*nMbaJ%fByGfU=uHi(2`UCq0t)P)b&L_a870Hd{MZW}1+f5@@;l;8ZosicaWb&Z zgOcs-boN}ew#&=5v^?v2F60#+5T>mFwkdQEVf`RE!@-zS?yMbQ8V~pwwC-FZInh8@dL})Vs4o?4siEGD(~B<$h~pvzY{)ZMB6mthFxZn&X&S z4)W(f-RoiUhClObfo02<^$HA;UT=yGJ1t@}r-4J;7x)^ewXy(_4u%(7H&KSpfRmVX zB%?4LsqqeI7>(#~(%~RZ4!9mqnk@b$B22vwd~{X;BeSA7mQh(8T>d&DTXoPW-Kv+1 zm+M+M0FyeC(=1Ll@>8yLU|^Nhi?-@mqnO4gZICBB0bkpM?pAc>Sspf^^07G`(7DK% zGUdwOF1WUn&hEMGX%iTh*L8q`Ze0)!g_8JR^$|?cCUp-FXNqftC$F{IQ)T3({n?j8 zB3x`?vJD6-lhUzGyF0p^AL=>I7hvq{D!65wkYl$wCeQOA*F>1)XZ#Vf*bbMi45){3 zwvaSLdXIA=yx?0B*}5~u7OE?}r*Sx2Yir!%&(A*HMXfYt#3 zdZUYJTi4pUMl`*Xa~yy~ra+j*#OkSoBEzi?teiN!im3+xG|K|v#ek(fNwjf2OS+&! zLId!oQydt6ae7!ZAdO9QZ1|^4*-3yIz|-=~R*&c+NO|lpPg&F&YnjDX4P|HIg>f(% z7v3&ksX7VLb{Pe)3Y^vEIZQh$q!}SXLxPMy{N>m5*XBJ?kspwP%*hM^(mLjaULdzV z?HAZQZ|M@lL;Gmg+Ae4~UPn6YH)Z0+$&Ddx5f*5#j8_?7A-@pQSSK=i zAixO(IvqlXGYN1Fh|Cw5q_Nzs7k?6EjgNGubOoVrUCq!YTGQ<+V97^Ubjb+r8mDvo zPtX#O1iVol^-L0C((cB_b zFp`f}ua->#8Qd87S-#%L+iZc?t>@W%+MXK#dD_gMc6Y)mn3%h|;11|xojh~t4vC&xrJe@F3fkpFdXU9W6 zIuvLUP?)6a6Ni(Yd>01eSpXlmUIvOJSS(8ppNE4xO=wcDP_4oDqGtns21hcw?77(nlF&Oq<* zID!{_97Sj07Y8G+-SKrg0dVxV(M#*TG#O0C12aLuv5wdr1_l+J3{SdLfucI5uDcFE zbgWG$P9&zYb@c)sOcEffmO*nl5z^h4eJ|W}a>w>SUc}Cn-HtfAobm^MUQYTie^kEw zt8b=W)jtdXBBPZ>nK?CTL4S^IgU(%PYP$phv+}I4z{0V1FxkB`xxB=78vO-;$m1}) zjC|9kY%3sX?y$_?tJnYKydI_%p8-*cw2u zdeoTAD2TP0TOCSA^uljoX1PCspgDzQ8yvpYG0O2-SD)uiM4=P$gD?)GBMELvyxzRbxAO3eB|X=85Q^~D$6gsxLp2E?=HI^c}!Wn zbf?rv+uQ@J@&p8Rq6>A>^=0cs%lbsCK6%iA0W903hP)%U-}+cz_w)n6+4Plf+NX+$ zv>Ae;wAF@!j3pNOpFc?zw9_>vFWWS;Mrxtz?2vQAc?&2ZPr&j#`s`(%vf&)GSzYa< zG{M_nA~*B+Gv#Wf>9swi=h)G~n-)A2#!7fvo}b#@fC0+~|}# ziOv(y;DQb?aPjMyPB_GIq17==f?M0KfZ^ms?JVgKMiQp{r;Ny zYw<3-mffHFbh@ukDGw~aqb$Gld*vR05@DSUbo8K2r1{8}sG%N4Rt~5sJ8SkRNV99x zJMDlmj+K}>9Ch;;9+QlN)q0iGh19Vdd=qIwmtg=wkDJQGEH@q|YGN;#+BQY?wkA(o zXc>XcvbNT+-9X67&B$>+m2fD+`kpiE3T*9$5*tVPO6Qrc@&MLEdmfu3tFhjjBV+ip zaTeHNhaGyt`|rQM-(N^OV+B2(SO;mdwtZI!5EQ5ah&ZD&j{!Hm6-OA2u96RJUM7&} z3D9!f34f5hEdbW>@hiGTI2QD#HV#&CWdrEy^g3T07l#K0L+>_^R>3I1K(5hRT#txM z;I$1Iq}Q?OvO3|hcEx>V<#pFYu8|hC%6`v&K{?^Key^+o?C$#hrDgY{o>rdvv%gwy z{NiWIci!=bW!;)pu}wvg>fCwRfc*Jq^duh?0XV!NsK0Hlk&_BLF_B{rs_ATW_HDb0 zhZ|dIU2@~(uK-l@u{AcG=CxK*+NHHDf;>N=GwKY>9`H1LER0T>KY>oWDB8NtFjJyd z0X+52M2tFm(xC6#p^m9*y&CyDEC3O8uzlB_FdP2Ny9Hd>-%@*%QafHK+p&UP?&h77 zCYsYZIJWDPXbCIjg_}fII)QJ~(4q2Zm>0ctI>egQ_(>hy*RX*h=n}QD_&BqYIIZ2I z3Fs1GQ0`15D~~CsF7K*qQH!$T(D2r&d~VhhKx65Pd;_M*RUVFtL#B&o9_4n^b~@mo za_H%=FSnn6F52R#>I8`Fb;2{s$!Gm>x$rOkxLp154@Q;{u=K!#%PGJA_HxWG{6_iC z+y4NarpnqpTU!P7UF`rKx&W5vKmbWZK~&;Zt-}Rq@DhPau<ci#AkG#*^03_iqGrdwnv#K}cF*s?GXm4%^97KBl=<(=n9>>wmouq0jA3ZZi0G}0*rG_SX=I3AK zqg~dmg9f`{RcwjPX|H399@l!-q&zmFw&01Oj2^{4!8vu5L0ts}kfHb3C{Q5wUu_wG z{V%vuW{L!Os#6bxu0@V`%ER9MTqHfdTX$=QMb&WGi(&_43P;~0r^)Uv5H6Ur17+1rAGk(anK7Iz^5Gha? zIr7n|15R#n-sBmfbYzGK09rYJHmIjnGS$?V9y^SAOVyWp>pAX_pSa z?C>Mg<^9(0|CX&yz4hqhqizD}?H7DI_4Ydc)N;)y|0N({+f7DIf=SaeKxCMNZ2X^g z00IH_kn^XjY1>thSx#TZ&~79_mQHVNX_p;qr*a~1?B-B`O;_v$OId>T+6I6MdbvTk zU0RbT7cT>elez!`GRuS$_}K2x5< z;my}*Rk%)i`IS~LJCIDnDn$Fm%+(%qGSeF_A3IKi5 z`K2M^<1GMmkts`5(9uxjk``qsPukYyjhAt3L`=PfU(;{g_Dv&=Qc5ZyAu(wfT?3>< zS{R_TFpwB98dO3`T4I2JgmjG#ix}OEk;3R4-Oqm4^IXq;{{cH+du`{wJ3q(yK8^!p zYZos;M(81OY+=V_(HM7@j@4zvlg0m*Ou{#liC7F+^qh0gHqJRJzAFgaE7k|l%=u_D za_@VO{EU8f=69)OPczlqXSPskawF~jWFhPl^eY^p#i3ugo%}RP>9uzW4cEg_lTgIf zT#~_;x<1etOeTz{hV{TpI`nG;$mQK*!wq6a_s1RgQr8Fbvs+LL4WVP=lJf`R6puAm z%VwtzPfU!~n+RAY-@Uqco|wk5E-tF}N?+@js@8}ma0Bv56#S(eFOsJ|@;A9N1q1pO zGltr^zZxe+Q_Z6_a5X^m!tdE6w=v$V!v4JXd0=q{Ud)?14OzwpU84J^;r10PD|-I4 zqgo4m;Z+AWq(Pb*f8_alWRLkX$ck8ne6BYAaePEJ_Q2!U!o;d{g;q6>*6r*V#{R?12-$~c}u+^dk(jjjRt zhg%2-3vUS;+gRk1mniZ0O|;5}Ml9U2exT#KZkS*t^N}u4uowSUH{x6yQ^cDz_E$Y3 z=g|_UJ17#7iv2xW`>9*`>{dRA(aY5c#VYQ-s!jOLGza@7A~2+EujzYv^Zr6DomkUU zmW|3Pe$K#`VOU5Y<9!aW#@1@a0(F}OQO1-(_lW$jve%-}h{>~A0}-2uhqYyDpT~49 zVMiwp>1?NSt#a?z+3+<1N?F2CZ^>8xoLc8k`2^fs65E8sMMc%z@Ti}AWxE~vAgVyl zAfLCE7B40eR{Gjd!;&Z~h;2SZ?{k}^yf?Bitj4I(;}`EEm}+23Et=>9Cz z?X#aUJ|ZW*kOB{O#F1Utg5np&t%9S%AsTK(gqY&X$)2kEG{CpbV_+ePXW+2CV7O5? z+?!q4jqRyHXy~s`3ov&j9WIL^!a;2P$9d8D&}Ym1)?V)uSl3+~v7;aOvXXK=rH9N? z-Wkd${c+n!N!+3G*K$D4>qH(aHZlNS3MwydnmLkBe%0rMYed>{+=NTJrmPQ4W@ro+uRJ`%RC;p5$~(quOP1{f!n3T&!N z0QmsF^^3^qaRNfg6V!r%RGn%06otT&z`8kg*w_;a@u<3H7XscS4##vFXwp8%?At;q zOt>zxu=xrZGThR}dt_N@P>we`3m9Ck3hxUn)#7VZk3a81B>bKaRCuhoWb!O9Gb&c8SGzk#LDy&x^=Vx{|KB^R7$={@u zk|*TbWUQqWc)T+#9xC?C0VfmGF;DJ&xcwL2ZjCA z`bZKLt`aO=3X4e>)Pq6q{qY`J_GK;dFjB64WL0ogwqi7?Oiaz@@tNr%pMEn^yl=cs z?I}=}TCNTOdKQ242^2K){kyu)GO##i+aQOJh5%FEv8~tgC3eN&;ey&brkg=ovohZo zGKao*7N|G-H=Mp2Ji^qshtp}iH>)iD3>?>yo{J5p_Au?B1a>-xnDm$H6SY0#dV;MS zzHd>xGjuTkikas)`;Vz*)0nO&71QJs&&z0^*bk8x)xr*bhh_sg=5&ZL6^7{?^`jEgG4PalD_BckZXp^gXQ=fL%M>Wu# z{^(tp5aqVy1!xqx(Q*Px+4^F=iuND=t0sem?+g8hOdO(yXM`mp6}=!~X!p+corY5oDpZ)m2l(6X zDp$a6`=mTHKhWz<+?dKu-C*TM2~MKZbuz^|EU1XRWH+onZOzz#eG&ecaCb0?GJo4)jdKWMo_{P?S@f z4;VQubKM))7b9=LZjs!TBw;JvJenm|HTJdYH_`dh3Sz26uc3DxbMoAf)LU$OdZ{{| zjoGkzBdtcIbxN#F%UnZh%f&eVL(H!)1#%*JwXY(9nu?#gfU2Jr@RGJ?xj)RlYhV*~ zRb;b-3yIVCb4e(V_I8)^^UzOS)V{>ewjE3=nTTe<`{Q$ETbtY~XkHE|4=u*8X2c5@ z3f%g`)w&VR3Edg`VcTHcAjCQ5Q=o|tvg!M0qx5M=IGJ;n=$So1Huk^|>C`%oKE1Tg zg3-k+xO&CU@Mu4PlGX$b2sH}C8{X4Le|3tJ^DK*-(KmW0+gGvv)icZ}|9=!)RrzPh z#77n%O|pvqm?;nAyRJ|wvX6JKnPE91NARJ-1vxGK3OyiQ4XJYl5a;M{^1!$!T2rglb5$<){j7~2YH+p zF_(Oqp@n+pNgs+>O+0oe*y%cK!u%2QZmv`3rH%I2*Ol(wYlZlNOhN=s%dNuV;pqm2 zNvY~;YlB2^8;uNPbH#2ie#n?lKL*`~q1Qic!|BVBG6|qZ|ARq%c&?vo$(8FdjX#--B3M^tF{O4t+Kn z>(&^bVVXQtWk^Q9_dDv-uhayM>T>G8VfR0SLCzK9-8bBxKCftzu|hox01Img^^Z~I z>U1YD_V<@Ruj>`__w<}I-MslhC#%4(`Eb+7rm}^EFV6#=QavdAYm%r4j{@OhpvS4x zQu-&t9*H8^{?!&1lLrZ?rBqwEPnmmQ$kF_2$ZSKcr4?-F;NYr6wTej;qZ;9VpeNa1 zTUp^;(9?TxsL&YI?S{1(CRCanXK$BrEe*@J4NICOzj!p+m=#W(rmlxU!b<12x*cbR za)~1}_dQ(Q8xhc$cfQ2yc(lybn7?V^+A+aE(kN{-hKr0EU*|NgI`*+QZCGS}=+_>P z6wp3?JbiI;)QTFsTHNHvhbuhYE?T=Tt?8>{A`7t-nP0hELvVJ(&=TUbr(0nma3v9% zp!c52qVo!&L;7kC&QaLqZwsU5-*~)VpeGuV-^k8E^tES#8fHW!h|z>+-EUHO%?ez3 zBCwn!U)L{;cWt@5ZL%O#55+7hYFGtM=+bK_4B&&Q^&op^|KkTsu30~dJJ8f0QR<|2 z9;{1gRWHUXoqub+s<7zy`tSkNN;J2$tri84IeA^OUI_}HnnbiwQO=iFg}fAnGy5KRGm!+FtavPR4Vh=+Q!1VA5lJ9T5}t`rmII3hFK?s}jG& zmn?2=05g<6a7Ac9)gqd{JXLJc)Mmpl_m%d?#{4L4^sAXy=|-|faj8q4Fon*L(_)9d zrV(ukcRkjYElI8oOl3svd;!p^nxY|TEd?I~R%InMXNcWx9^ANwy+i%wWl{*|w`R0; z6*hQ!O;8x6C&f5e^ER}**umAO{pVvY8%W03i0bvEn&iaju!Gs@nzw#TujC+CU5#&#P3^JJVu#96sjE)n#1!G03`c#VO zBp3oc%wDQgGc|2Vb6Yr%&{1Ffl&f{Edn}9xq+aW%&9)g~hQOi?z6_7*9sa2NI;nWQ zT4Y%;^UjNTFa%8;QO$sduZr9@6QE;LXJ;mTY|7Dd*tGocKKbXdS$j#&V(vh2@Y@2+ zqb0=s5%ibXzPDoWTQcdq5ErSZ=!`=!GAn3C7yU;6srT}0&BDy^%VJOi*Q4KiZRTC> z1@+>gR&{@Rr`Bbd95dA86n@xx#CaWFefA8~*D(LX@=@$Lpm#%j?J(v@x{{=1Q`#^F zUm$+vO^PY$$7h7QuS^}^$tC^F1+JOGWGOPAieP{DU3u`HZ>Av42Ta&Nt=2G3qL<1K zPl(wU_q6}mvnUx(*PtT2JL7mf-om0u^@f@zt1868bYn|KK8Ap^FskNQS6PNoJ{nt! z+m{^e*}GJ!A$+TyiP=gyny)Z<424QxQ_Q)N3gJXsPef)h38{2iWWgZh(0Ts72K5@Z z`;FqGr9PX)tt57!bOJkE7t*|IG1RNBpz#5&kmpqZ{3HXypu_xbn6 zJ*YG3&=Qs`yZ_`}h8gYSDCx|Ca(fYPM)u$1XT5y|AW{!rY|1NmPo;DBI-by19&6h8 zZDmugFI&~YOQ2BEK2@N#Kdm{}&^xw*;?SZ$tlDLqkTvreGMX4-MyIZB=4j%2!~4uo zJ&_Yg9r)F;R&ZPgk(A=Y6mz4{-%RyuH-67`8Yi8!@+k1gRh07Z(l_q&LFfQ!q(w&U za4tKviS~$MqPTZ>HlhUbJqN_o`6B7{X~jI_q!0HCh7-~IAK>y#BhIS$BM6x5XUo|S z_R@K=JAvZx>?e>%j1P(1pNs|c%7`$J9P+|w{DSH}+xo_eE>{CTr+eUmcpq=}0^@97 z1H;``^?OcgL;{QYt$J*+Y_M`fe)UlSlgq` zet4F5W1&xKw^_&8G&;SFowJsflIZpyF6dxCe(d6>xbxl}7M9G@(AOjO)PDLI+)565 z11gxcdgRRI@24;!boo<$ails(h|KcfxpupJq=WQ=6Puw@9E4376 zVPaz;s*%O3o}E|V(s|tgl|tpbC-nT1xcB{sx5}%ES3ToT%~Z zjiS^C@Z_n#*gs=+9I=XA;%wCZL`r-hI`zkcka9$9cnRzMsL#!eI0mt!qVdE1!5iK@ zhht8-O)Y*bw%3f%JhUPH$v?kq)i-#b`j~Q#pO>~iWcJ-_YX>C~SU~;QT0j~MW<+B) zJdce(DBJlC?M)BY(zyRrx>6E;&6~@59Oi54#$!2Jj3CBx_c!!#s%lX0kd&3^e>?b9 zGH?K_V*zaq>jyF6>zT{xNG)m_FDU#groyV=4HeKm^Q_+%j+X!v@zJodKi6XDc6E(( zd78|3z;I-!aHkEYwAEYz$6g}Kz42f_W)}9=L|^R{nqkUFR5Jk-b2!wweFN_EW6^(4 zjInoUrlqmNe9+%D%QxaO_80%g0Bt0?cgoPfP%jF3A_+YTOx?ZZIa1JK#MU`-Vw znbw#6X+r&CjT9$jp`YxIdd8u6?HV;-n9B0j|8B9(GSN;%Z5TXr{eZ&dqCpnlwUYf8 z{~jW@V?8N?(2P@| z)WE{fxYolzZb`%>BWP|fsy{Rh|4G1!|I0H!ys18;-GoFtI#EnJZ!EYi^E$oUf5Z4N z?)Y@pr7AKNkP`bXKvv)Jo%k3_OXL5t(OGUSr8oolV$jviCxlq&f*ibNRMQ==9R?)( zFoPqrs---W+rMD2fH7!S2{r#^OZ_(OG7Kdh!KVrcF*p!M< zH(^564Ql>@TU`lkl+KkxOEJbQ2hA-(QKxH{l$2P>zXZQN0*FtAHh2_i>t8BT;#ij~ z&owEo-HiZ}$g3d-@tv-Bf{gE*Ul7V!^EbT2*I%K`lSF$7}jQA*4i{~x95-aw36y43eS;#SF z6DIWczYWIk_!fV&hJSQ{79*5L*BV#ik4ZH>6_Q{5qI&t?vgPAhzw6d!<$5;RU0jFx z_VZ(K4T1HqETiQkg z96RA&Fd$AVpGM5i{~w^=Q#k2ux1K2EX9fYrYtJ7w z@&PW~E5m1hn%TPcm#4P{tPVeWUTzjMHPYZL2EWM=hpaz`a)0A@1dQzBg?a@T#8&b* zxNOUqZ8!_&@%A=Xu76y-a}qWI%#eh;p+5=IzG$@TOInq%q31*Ytw6zhB-*l900<%`!=U--b|1&2rCS4ET1Eqr}w zW`tXsKi}(n>HUI=7swEV#UHKIUL)S4Sz=oY|MqzQAlP1RcJk$zSy8*IeqEO56j~2k zR8(A7rNCaSi)*-T(^^Hdi}NR^6t}1F%U+|>eVtH9bglX=U$Uc1$aqcrl2MS(@+3+c z+6r72NQmziMUMx^?K{ExynnQ_;> z_*cJ_nM5kB+FKe8Tf5qublE9H3m!XmV5~OMwD^@^HD}aM?)TMdIT1Zo=C$EnQWDTK zKVqbmQM4XKx zj~yjdz&C)bRJo|i>LZ^ES+z-93`g7VIwTG3B|xHuT2^MrULU#cJDH>1*V`2%I(-J> zNENo|TWj|X@zxYmOnKdAV*3dGbG8n{@Nm17W^q(x*1`l`Og(rM4$&eV6KPu#a#2hW z63dw8EMXMNs2YDIf`bDb-Kk3pydIl(smwaV(*ofOQ9RUo%{|*Cvf6)`969x+@9Pje zJ|MG3AWa>-fIlr4urWH@npIYXQ`DP;23vnRM!&-bwr)nc-PLTJ#KO4FL#y5??2oz{b$_d4 z;DHmC;B@`3dq(ICwrwLzRf0DO#0y@OL9`Jt0%@3&bw#*e!kz z`FlKjCLZZVU9_T)pMq^*5jZ~%Rh^%DTHg^EyIg2ak*Dhm$jAwCdy0q?6{5A#D0<9jQxiOGg73K3pr72#8x7gabtP-?|B15F2 zZDS~)3*zho`?foyG#uk~yiUBWK0j76{&iY-V`{#^EyjfCn@qrdPhXl9VzH8Wkq((2DK-vBE+2 zth`Z^*$GJ}TYI$7so7P=>gcN-t&CC}WN2@7{=1R1LKyIy{6M4=z7KMdhh?~1C0%k^ zTcF{Mx?*E5rJq$jpb6=L;CBWia0iko6b@rXhLN&MyCr)43K7hk7I$ZYdbuT_hbh{3 zr6LcSz;kK5xfMgUeI>b9e1b(6 zW-%E6v&*{pYYUb_cj)V!W8L67_gMiNdu$yQ50qu>+RR2ADZBR7c1D=_n!{?c)Cs3aGpoe z&%7r>i}QX};eR{So1^yMF6p!%6L6vb^0=Z)B)0OR=Fd~ z?6BPSj8F0fd*iB%2mssbdh&hLCvFOHDb~FiN)i_k)fRY3J5;*wX>AS{u$1}b-!($!I({01tC6*rJZ7i*!>>-aGR+H6WN)fiO zCN)sIC<$-LM(^5wwQ7EDhXtqui{Wiwc@dtXM6dLU=fwL)0VztujQ*~-WAySB=|*9C z`ibrq*Ah`)-l!gby4CAhI<}eg^u*j<_{rB?TD#UsnVzW{VHh@1BVT^@amB@GgKRvw z^^z((^QL0aPic&I^L2)WA>r?wC^q}7`cGF7mm7pTY{hsvWrKd+HO4tb_|flNnYylv z_1wjN|Jm`JseQmP{J)#>&rJ3A)xF38=Om#t?Rikj&4I?8dM#k=(DwrD_#tNWTs$%f zfv;-`daXQq8BP#LXf`oz8~_I9ao)3>&ldjhhI>$gY=%)^O(1%(E6A|m(d2Ys0++8{=P2TOv;ymz45?`k_xF}`|Crtu zDelYoUxBdyoBzr+J3B{wyUG2n1_qVcx9$A*rV*lu1^iLZPi|I(=k0y{%ha5?^FlJ8%#v?4*N84SC4 zoYxi8-|Ll0_s+jo2=WtsFOpRuP@%eqtCY@-imROh8&^V!g+ijwM=Ca17RC%0Tg*R? zhlx)nF*lL>Bedr0KR}6GVSaTlu1eo@^aY*;u(kTc=lljaf}J&X%WgEb6R^p`lA!5& z3lLmyt2ih^95+cEisjZxpu~V%B?W6HVInVB1U4i{4MG5}_`R!ttLn_$g1xFop9&6= zwQUeaOlYNi!nJ0lL;C*p)p|16S|8N2@WJh4%;_N?zuRuFhTEL~`~W8}oPd4dQklln z2_i~jl>g?sg?a*}oN4eE=W9X7ODm!!X#p>vCM5$-Kw()mHn z6+lVGn8HRZQH47*M4MC2NrMe_11g|K%vG)>UhTgQ-h=7$cb?`{z3l|T9ud(1e2(N!4R{;ZE?o59FzJw9_0i>;1#c2-q`B-{8g%%f1~J#emS!fy<$$aG zT2&aThBQqv%TaHPm-*%1e(wL=*VoRpGA3}V0RBnQmMdiMq6|d|!98qIFX|O3xAPJl|b}A+1 zW4&2MT67z8lB8N}4i~5~=6ut#s{@O;)3q(gO*WG)Lazs&Mh&6Vthc46IO#-|x z{it7OxoX4=6}a>?Z*Cw)-_e|*We~37z%Nx&2nVUnLg#f<%WFvDdKM(&!OUzW)zl9C zLrL4luEx%rU8`<9|8{=%5Xa;E)BLlho3`FT7p8XVBCc3=saZ!>gek1QKb}9gV7JO&SmpU8?SY#MYf-}PjT0oG;Q%JdZk|?^q=+3_S1IHL<%rrlw9Ak2z~S)Z^_ks zvuu+dBRB1>Qr5;bNu}iOAg)42s!XP0gu*d$B3d^*j-sf7ZeBLCw>I|Ldm9(n6}PlC zs4`zf{Pf};Yf2Vt*1$izQ^J4jbpQ@DWH!v{yh8Ex*b^mmmKIalSy#FHVJ~ZX&fxa< zV#xRM*BWf`Xrl1-uG|xd*Q{>y(t5{58imtd;}K@c)38p}H8Gp{zEtpF#1zMTBV4#w zvf;2Bn!TMlF2XG7^)}2saD}BkJ6R7{y12;f)6KjoLHf@3eC@f1cR7;=?(#u`)R}r^ zDydI>8~4LF-oVBQxC?b2>97AYlV}kgdZ6Y_5C6xt4hHKf*i~UK4QYfz?j{8`YK!lX%by+q7Q zbICxT+b7l>%aqI!#!B!4>-&h&TOWsjT$~t-$cfb}?})A_Wx_S8sKP!43}W*%U=QHC z(D)37;5r3Kowz{Xifv4e%O%{v=G>@vXD)dfbIywNSL}1H;`Cl8Smaz_$@7vs<1xy! z!$UXN&DRUVdbl06{RpmpyZ8l-IiF zAT|}_ve?-?*PK+$NKd`{CO}vS4aj-M^Z#Ie7aU<47t>FP z#rejC=|*z>XBI|p7L3I(eOH14r2EZ=e(Vi*!nn|#Xixt8i}Pny{H<>jxW3$__PfU| zL_bW8X7e32A>GLo`Fr)1Z_I=#e{mK?wSAfrFtVrJKO`%teAn8~9^06sWO)~ddMQ1@1-*j>_i4~I7E5zp!@Ks`xcugJ>(dO1 zK*#dD^mRLtm))P5s);E8TWV10bfy3cmMIOq)xRQwk*C$|>8V+J9i4$UpDhSo#~ONn z-$?fE-d;@4Sy>&%4;OXl*-hA-9cer|lHE?#PpGr@yTN)6;J2n)2i_)Pkmx<3&WkYj zH1zu+?(CzJVpitrtLvvysf&J_BKX6pWz!DV+tb$96Iho0I|rG&Ewm^OAq#Fzxx4%7=pPZ?jh-JJdY{hD6sxU+q2HP#p%O^5{mioQqGF&b)?YMJ2CxLoOZKGraHT=I!rSEuQaSV?ypQp{V`@m(+8j%46u(tB{2~G>++UJy8r5s zANf7tr{SqU$oW<>Qg*1h={h&$>g=m=COq0H%bNRDY(T?I>>e+5W{P14dur0?e7Y+1BK}>2sj4QiwfMyyC(zgxsP$hlA!V zQd(c~B1YL0N5a&3Rb}6;&;G5X2UTqy6z6t)G2h)qG6k1NI7cPsiSsb!mPsxI$58}wU+-vV}QWgql;u|vF^P>q3_ zUXEb~BeEB($?JLttXl7a#Th-U%7F!kFNEjzRP?TYbu3NqtpTlC@<-w;`DJNG#xvOI zpL)mV{np-Yk#lq|Tj8Ry0(}9_h6EmtVv+|eZ}$PYix7P&&L z!$vkS{{8t70l>Nj=oyp|DyMil@6tbn)=yvA;OP$_1}i$ohU_$bc;=3E{gAjDuciqg zqP)YPP0x}kItO-+E_5EZ?IttfefFNjcS*M^&jee?&SjSdj*I2cS2xB?=bQbMn+Km9 z<$6}<0t;_8c>Pep$@7-UFGt;keWD53dPihrY3!tqPF`*yKC+Vth8|`+%b2P`vOSCIvCbJ zRmETZ<2s|+brfzH4umdDf9J1XX#Rp6Et z(m1bCpRhvxiMR@)cHQHNO4}q_d!-yRxyiB^8x$q>uP(JJTGs^YJX5p_ z#7xiM7JKnYv|w^bkyiZ({h)+oAgNn?uCVY>MJ)H$m0EXLtI*&w1Ms`(^`?!Qx=?0Y zgjNJ$p0+PVM-h4t%+NEv9Juu)@%}~G=9J7=fOJ_EHv4&V&R&_eL+rroj?u;9sOP4H zGl+Gv(9fG!jdO-4N=#v0S>akNCH)=F0ygTwEmtY9@e#L*D?qy^5!oC53wTb&fTv-% zVV$XRJ1OINhU^!4O-grPx~I(d<5b7b!)=HXZ8jhQ+C8Hc| zJ!3j*d@hY}gno*jVi(=|2gYs&*BSD*v*)&3uHUK z7lK?|yoG81^7Otc>I~Q%+V4GI;08+Gim8<#<8{v0vOVWGb)dCyglXp7(gam-4ZhEi z_M?&lxey9M)1k^O%QUJ?BicUI{Py=d{#Sd&e7%a z7(;%SeX!5KK;cQ&@6VzHiPvny+NLIKeH8He>+-6V;1svTz0ldZ_&k>v{!j7zh{3D- zH500lIiW*NBlS|+vdmw}1zoP+znZ>n_gUy@QnP#7MF*bp#ZIKRtWCJ8LY0M=07l8!}G(LdiBVHR-we8fZ|B)acSHH|te+HBTDoJUbiKAu9hiw8_iL z>NxoZN*hut0N6HMkENsOtBnN&-=(oyQyqMbcNjEhjcL)EQcu(Km%EReoX?cHkmEDR ziTdP^b@wkVyiRe4TWtOdy7`PoCLA`U1JMmPBe3a@A$}@eZ2F(2+0VtN)+L^g9;V|7 z2NUbk`umT6M}0E{p)*!@rBNMn{=7@26|mXq%g9~u^s0K%<%{3$;wb9vSOk=0>E<@h zH)7{uH!sE>9b2N?jGyQ$H@w|#!nU7nghb1v6kiqjlhkDexj*E06j&SuvZ{eN3H2&vo9=uo6&c0A1*K>^MUOiDn*wrrqn4ZVy|Ni@^?Q8QF`Kg}+M}8+ij8DRD zhfqY>7{S7u8Q)4F#go|I$RqRMq!Pm7=MUa5=8g_%$IEMe8hQ38#5Zz#-Z+??|BvzXtY>;%BPb zK1zhOJ`f7J4&NSgD-g3Edd_(M#z8#fGYa+B5Nfl4Xyn6ofnkhkmv_CMjL-h?1Q|u{ zkjPag%bt?8rh{8HCRw5o<0gtH1H4ivKRPD1e^LRR3-!4NkJ^eD?H4;8(nNZ<`}Gz3 zQ7h#BX=SZ)mYM&4t)B(1Ajz#(vuG2!_YFq2De@>rm}Ptr2XmUa+uuY&we#P)<_~1^ zZgZl�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 literal 0 HcmV?d00001 diff --git a/2_pytorch/1_NN/imgs/resnet1.png b/2_pytorch/1_NN/imgs/resnet1.png new file mode 100644 index 0000000000000000000000000000000000000000..eeb062c69610492d75a16b7bd8318db333b5a5ab GIT binary patch literal 69315 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%0DAyjW` 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 z�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 literal 0 HcmV?d00001 diff --git a/2_pytorch/1_NN/linear-regression-gradient-descend.ipynb b/2_pytorch/1_NN/linear-regression-gradient-descend.ipynb new file mode 100644 index 0000000..8f25d9a --- /dev/null +++ b/2_pytorch/1_NN/linear-regression-gradient-descend.ipynb @@ -0,0 +1,968 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 线性模型和梯度下降\n", + "这是神经网络的第一课,我们会学习一个非常简单的模型,线性回归,同时也会学习一个优化算法-梯度下降法,对这个模型进行优化。线性回归是监督学习里面一个非常简单的模型,同时梯度下降也是深度学习中应用最广的优化算法,我们将从这里开始我们的深度学习之旅" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 一元线性回归\n", + "一元线性模型非常简单,假设我们有变量 $x_i$ 和目标 $y_i$,每个 i 对应于一个数据点,希望建立一个模型\n", + "\n", + "$$\n", + "\\hat{y}_i = w x_i + b\n", + "$$\n", + "\n", + "$\\hat{y}_i$ 是我们预测的结果,希望通过 $\\hat{y}_i$ 来拟合目标 $y_i$,通俗来讲就是找到这个函数拟合 $y_i$ 使得误差最小,即最小化\n", + "\n", + "$$\n", + "\\frac{1}{n} \\sum_{i=1}^n(\\hat{y}_i - y_i)^2\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "那么如何最小化这个误差呢?\n", + "\n", + "这里需要用到**梯度下降**,这是我们接触到的第一个优化算法,非常简单,但是却非常强大,在深度学习中被大量使用,所以让我们从简单的例子出发了解梯度下降法的原理" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 梯度下降法\n", + "在梯度下降法中,我们首先要明确梯度的概念,随后我们再了解如何使用梯度进行下降。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 梯度\n", + "梯度在数学上就是导数,如果是一个多元函数,那么梯度就是偏导数。比如一个函数f(x, y),那么 f 的梯度就是 \n", + "\n", + "$$\n", + "(\\frac{\\partial f}{\\partial x},\\ \\frac{\\partial f}{\\partial y})\n", + "$$\n", + "\n", + "可以称为 grad f(x, y) 或者 $\\nabla f(x, y)$。具体某一点 $(x_0,\\ y_0)$ 的梯度就是 $\\nabla f(x_0,\\ y_0)$。\n", + "\n", + "下面这个图片是 $f(x) = x^2$ 这个函数在 x=1 处的梯度\n", + "\n", + "![](https://ws3.sinaimg.cn/large/006tNc79ly1fmarbuh2j3j30ba0b80sy.jpg)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "梯度有什么意义呢?从几何意义来讲,一个点的梯度值是这个函数变化最快的地方,具体来说,对于函数 f(x, y),在点 $(x_0, y_0)$ 处,沿着梯度 $\\nabla f(x_0,\\ y_0)$ 的方向,函数增加最快,也就是说沿着梯度的方向,我们能够更快地找到函数的极大值点,或者反过来沿着梯度的反方向,我们能够更快地找到函数的最小值点。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 梯度下降法\n", + "有了对梯度的理解,我们就能了解梯度下降发的原理了。上面我们需要最小化这个误差,也就是需要找到这个误差的最小值点,那么沿着梯度的反方向我们就能够找到这个最小值点。\n", + "\n", + "我们可以来看一个直观的解释。比如我们在一座大山上的某处位置,由于我们不知道怎么下山,于是决定走一步算一步,也就是在每走到一个位置的时候,求解当前位置的梯度,沿着梯度的负方向,也就是当前最陡峭的位置向下走一步,然后继续求解当前位置梯度,向这一步所在位置沿着最陡峭最易下山的位置走一步。这样一步步的走下去,一直走到觉得我们已经到了山脚。当然这样走下去,有可能我们不能走到山脚,而是到了某一个局部的山峰低处。\n", + "\n", + "类比我们的问题,就是沿着梯度的反方向,我们不断改变 w 和 b 的值,最终找到一组最好的 w 和 b 使得误差最小。\n", + "\n", + "在更新的时候,我们需要决定每次更新的幅度,比如在下山的例子中,我们需要每次往下走的那一步的长度,这个长度称为学习率,用 $\\eta$ 表示,这个学习率非常重要,不同的学习率都会导致不同的结果,学习率太小会导致下降非常缓慢,学习率太大又会导致跳动非常明显,可以看看下面的例子\n", + "\n", + "![](https://ws2.sinaimg.cn/large/006tNc79ly1fmgn23lnzjg30980gogso.gif)\n", + "\n", + "可以看到上面的学习率较为合适,而下面的学习率太大,就会导致不断跳动\n", + "\n", + "最后我们的更新公式就是\n", + "\n", + "$$\n", + "w := w - \\eta \\frac{\\partial f(w,\\ b)}{\\partial w} \\\\\n", + "b := b - \\eta \\frac{\\partial f(w,\\ b)}{\\partial b}\n", + "$$\n", + "\n", + "通过不断地迭代更新,最终我们能够找到一组最优的 w 和 b,这就是梯度下降法的原理。\n", + "\n", + "最后可以通过这张图形象地说明一下这个方法\n", + "\n", + "![](https://ws3.sinaimg.cn/large/006tNc79ly1fmarxsltfqj30gx091gn4.jpg)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "上面是原理部分,下面通过一个例子来进一步学习线性模型" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import torch\n", + "import numpy as np\n", + "from torch.autograd import Variable\n", + "\n", + "torch.manual_seed(2017)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 读入数据 x 和 y\n", + "x_train = np.array([[3.3], [4.4], [5.5], [6.71], [6.93], [4.168],\n", + " [9.779], [6.182], [7.59], [2.167], [7.042],\n", + " [10.791], [5.313], [7.997], [3.1]], dtype=np.float32)\n", + "\n", + "y_train = np.array([[1.7], [2.76], [2.09], [3.19], [1.694], [1.573],\n", + " [3.366], [2.596], [2.53], [1.221], [2.827],\n", + " [3.465], [1.65], [2.904], [1.3]], dtype=np.float32)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 画出图像\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline\n", + "\n", + "plt.plot(x_train, y_train, 'bo')" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 转换成 Tensor\n", + "x_train = torch.from_numpy(x_train)\n", + "y_train = torch.from_numpy(y_train)\n", + "\n", + "# 定义参数 w 和 b\n", + "w = Variable(torch.randn(1), requires_grad=True) # 随机初始化\n", + "b = Variable(torch.zeros(1), requires_grad=True) # 使用 0 进行初始化" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 构建线性回归模型\n", + "x_train = Variable(x_train)\n", + "y_train = Variable(y_train)\n", + "\n", + "def linear_model(x):\n", + " return x * w + b" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "y_ = linear_model(x_train)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "经过上面的步骤我们就定义好了模型,在进行参数更新之前,我们可以先看看模型的输出结果长什么样" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD8CAYAAABn919SAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAFuVJREFUeJzt3X9wVeWdx/HPNxjFKONayVIUk+CMZYsgCBcX16mlgsoW\nu8rYdspkK5ltG1uKazsdd9zljzKVbDtOF3ans2NN1YVK6taiax3XqT+Q0f5wqoFFi7AFBxMKoiC4\nFAkUSL77x7lBEpPc3/ec+9z3a+bOvffkcs83R+8nz33Oc57H3F0AgMpXE3cBAIDiINABIBAEOgAE\ngkAHgEAQ6AAQCAIdAAJBoANAIAh0AAgEgQ4AgTijnDsbO3asNzU1lXOXAFDxNm7c+K6712d6XVkD\nvampSZ2dneXcJQBUPDPrzuZ1GbtczOxiM9tgZlvN7HUzuyO9fbmZ7TGzzenbpwstGgCQv2xa6Ccl\nfcvdN5nZGEkbzezZ9M9Wufv3S1ceACBbGQPd3fdK2pt+fNjMtkm6qNSFAQByk1Mfupk1SbpC0m8l\nXS3pdjO7VVKnolb8e7kWcOLECe3evVvHjh3L9Z9iGKNHj9aECRNUW1sbdykAysiynQ/dzM6V9IKk\nNnd/zMzGSXpXkku6W9J4d/+7If5dq6RWSWpoaJjZ3T2wb//NN9/UmDFjdMEFF8jMCvplILm7Dhw4\noMOHD2vixIlxlwOgCMxso7unMr0uq3HoZlYr6VFJHe7+mCS5+zvu3uvufZJ+JOnKof6tu7e7e8rd\nU/X1Hx51c+zYMcK8iMxMF1xwAd94gKTo6JCamqSamui+o6Nku8rY5WJR0j4gaZu7rzxt+/h0/7ok\nLZS0Jd8iCPPi4ngCCdHRIbW2Sj090fPu7ui5JDU3F3132bTQr5b0RUnXDhqieI+Z/c7MXpP0KUnf\nLHp1AFDJli37IMz79fRE20sgm1Euv5I0VJPvqeKXU5laWlp044036rOf/WzcpQBIkl27ctteoIqb\ny6XU3VHurr6+vuK+KYDq1NCQ2/YCVVSg93dHdXdL7h90RxUa6l1dXZo0aZJuvfVWTZkyRQ899JCu\nuuoqzZgxQ5/73Of0/vvvS5K+853vaNasWZoyZYpaW1uV7QghAFWqrU2qqxu4ra4u2l4CFRXopeyO\n2rFjh5YsWaIXXnhBDzzwgJ577jlt2rRJqVRKK1dG54KXLl2qV155RVu2bNHRo0f15JNPFr5jAOFq\nbpba26XGRsksum9vL8kJUanMk3MVqpTdUY2NjZo9e7aefPJJbd26VVdffbUk6fjx47rqqqskSRs2\nbNA999yjnp4eHTx4UJdddpk+85nPFL5zAOFqbi5ZgA9WUYHe0BB1swy1vVDnnHOOpKgP/brrrtPD\nDz884OfHjh3TkiVL1NnZqYsvvljLly9nrDeARKmoLpdydEfNnj1bv/71r/XGG29Iko4cOaLt27ef\nCu+xY8fq/fff17p164q3UwAogopqofd/a1m2LOpmaWiIwryY32bq6+u1evVqLVq0SH/6058kSStW\nrNDHPvYxfeUrX9GUKVP00Y9+VLNmzSreTgGgCLKey6UYUqmUD17gYtu2bfr4xz9ethqqBccVCEdR\n53IBACQfgQ4AgSDQASAQBDoABIJAB4BAEOgAEAgCPQerV6/WW2+9der5l7/8ZW3durXg9+3q6tJP\nfvKTnP9dS0sLFzgBOKXyAr2MyzkNNjjQ77//fk2ePLng98030AHgdJUV6CWaP3ft2rW68sorNX36\ndN12223q7e1VS0uLpkyZoqlTp2rVqlVat26dOjs71dzcrOnTp+vo0aOaM2eO+i+UOvfcc3XnnXfq\nsssu07x58/Tyyy9rzpw5uuSSS/TEE09IioL7E5/4hGbMmKEZM2boN7/5jSTprrvu0i9/+UtNnz5d\nq1atUm9vr+68807NmjVLl19+ue677z5J0TwzS5cu1aRJkzRv3jzt27evoN8bCFKMjb7YuXvZbjNn\nzvTBtm7d+qFtw2psdI+ifOCtsTH79xhi/zfeeKMfP37c3d2/9rWv+fLly33evHmnXvPee++5u/sn\nP/lJf+WVV05tP/25JH/qqafc3f3mm2/26667zo8fP+6bN2/2adOmubv7kSNH/OjRo+7uvn37du8/\nHhs2bPAFCxacet/77rvP7777bnd3P3bsmM+cOdN37tzpjz76qM+bN89Pnjzpe/bs8fPOO89/9rOf\nDft7AVVn7Vr3urqB+VBXF22vYJI6PYuMrai5XEoxf+769eu1cePGU3OzHD16VPPnz9fOnTt1++23\na8GCBbr++uszvs+ZZ56p+fPnS5KmTp2qs846S7W1tZo6daq6urokSSdOnNDSpUu1efNmjRo1Stu3\nbx/yvZ555hm99tprp/rHDx06pB07dujFF1/UokWLNGrUKF144YW69tpr8/69gSCNtGhCmaawjVNl\n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\nEOgAEIj/B0G15NO6D6dTAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(x_train.data.numpy(), y_train.data.numpy(), 'bo', label='real')\n", + "plt.plot(x_train.data.numpy(), y_.data.numpy(), 'ro', label='estimated')\n", + "plt.legend()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**思考:红色的点表示预测值,似乎排列成一条直线,请思考一下这些点是否在一条直线上?**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "这个时候需要计算我们的误差函数,也就是\n", + "\n", + "$$\n", + "\\frac{1}{n} \\sum_{i=1}^n(\\hat{y}_i - y_i)^2\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "# 计算误差\n", + "def get_loss(y_, y):\n", + " return torch.mean((y_ - y_train) ** 2)\n", + "\n", + "loss = get_loss(y_, y_train)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Variable containing:\n", + " 153.3520\n", + "[torch.FloatTensor of size 1]\n", + "\n" + ] + } + ], + "source": [ + "# 打印一下看看 loss 的大小\n", + "print(loss)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "定义好了误差函数,接下来我们需要计算 w 和 b 的梯度了,这时得益于 PyTorch 的自动求导,我们不需要手动去算梯度,有兴趣的同学可以手动计算一下,w 和 b 的梯度分别是\n", + "\n", + "$$\n", + "\\frac{\\partial}{\\partial w} = \\frac{2}{n} \\sum_{i=1}^n x_i(w x_i + b - y_i) \\\\\n", + "\\frac{\\partial}{\\partial b} = \\frac{2}{n} \\sum_{i=1}^n (w x_i + b - y_i)\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 自动求导\n", + "loss.backward()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Variable containing:\n", + " 161.0043\n", + "[torch.FloatTensor of size 1]\n", + "\n", + "Variable containing:\n", + " 22.8730\n", + "[torch.FloatTensor of size 1]\n", + "\n" + ] + } + ], + "source": [ + "# 查看 w 和 b 的梯度\n", + "print(w.grad)\n", + "print(b.grad)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "# 更新一次参数\n", + "w.data = w.data - 1e-2 * w.grad.data\n", + "b.data = b.data - 1e-2 * b.grad.data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "更新完成参数之后,我们再一次看看模型输出的结果" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAW4AAAD8CAYAAABXe05zAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAFfJJREFUeJzt3X9w3HWdx/HXO2mgtOXwbDMIliR15uxZUhrKlinHiT1o\nsVJUGM4ZO1Gpdxi1lqung4PTP47DIo5z08rgDJIrikBAj6Ie0+E8BKr4gwO2NXDYSuuVpAbQxlYr\nbVraJu/7YzehDZvud5P97vf72X0+ZjLJbje77+5OX/1839/P5/M1dxcAIBx1SRcAACgNwQ0AgSG4\nASAwBDcABIbgBoDAENwAEBiCGwACQ3ADQGAIbgAIzKQ4nnTGjBne0tISx1MDQFXasmXLH9y9Mcpj\nYwnulpYWZbPZOJ4aAKqSmfVGfSytEgAITNHgNrPZZtZ93NefzeyzlSgOAPBmRVsl7v6ipDZJMrN6\nSS9L+n7MdQEAxlBqj/sySf/n7pF7McOOHj2qvr4+HT58uNRfxRgmT56smTNnqqGhIelSAFRQqcH9\nYUkPFPoDM+uQ1CFJTU1Nb/rzvr4+nX766WppaZGZlVonRnF37d27V319fZo1a1bS5QCooMgnJ83s\nFEkfkPRgoT939053z7h7prHxzTNaDh8+rOnTpxPaZWJmmj59OkcwQBp0dUktLVJdXe57V1esL1fK\niPt9kra6++/H+2KEdnnxfgIp0NUldXRIAwO52729uduS1N4ey0uWMh1wucZokwBAzVqz5o3QHjYw\nkLs/JpGC28ymSloi6XuxVZJyK1as0MaNG5MuA0Da7N5d2v1lECm43f2gu0939/2xVTJKnC0jd9fQ\n0FD5nhBA7SowGeOk95dBKldODreMensl9zdaRhMJ756eHs2ePVsf+9jH1NraqnvvvVcXXXSR5s+f\nrw996EM6cOCAJOnmm2/WggUL1Nraqo6ODrl7mf5WAKrSLbdIU6aceN+UKbn7Y5LK4I6rZbRz506t\nXLlSP/nJT3TXXXfpscce09atW5XJZLRu3TpJ0qpVq/Tss8/qhRde0KFDh7Rp06aJvSiA6tbeLnV2\nSs3Nklnue2dnbCcmpZg2mZqouFpGzc3NWrhwoTZt2qRt27bp4osvliQdOXJEF110kSRp8+bN+upX\nv6qBgQHt27dP5557rt7//vdP7IUBVLf29liDerRUBndTU649Uuj+iZg6daqkXI97yZIleuCBEyfJ\nHD58WCtXrlQ2m9U555yjm266iXnSAFInla2SuFtGCxcu1M9//nP95je/kSQdPHhQO3bsGAnpGTNm\n6MCBA8wiAZBKqRxxDx9xrFmTa480NeVCu1xHIo2Njbr77ru1fPlyvf7665KktWvX6p3vfKc+8YlP\nqLW1VW9729u0YMGC8rwgAJSRxTFrIpPJ+OgLKWzfvl3vete7yv5atY73FagOZrbF3TNRHpvKVgkA\nYGwENwAEhuAGgMAQ3AAQGIIbAAJDcANAYAjuAu6++2698sorI7evu+46bdu2bcLP29PTo/vvv7/k\n32NLWQDHS29wV/hSQMcbHdwbNmzQnDlzJvy84w1uADheOoM7jn1dJd1333268MIL1dbWpk9+8pMa\nHBzUihUr1Nraqrlz52r9+vXauHGjstms2tvb1dbWpkOHDmnRokUaXlA0bdo03XDDDTr33HO1ePFi\nPfPMM1q0aJHe8Y536OGHH5aUC+h3v/vdmj9/vubPn69f/OIXkqQbb7xRP/3pT9XW1qb169drcHBQ\nN9xwgxYsWKDzzjtPd955p6TcXiqrVq3S7NmztXjxYu3Zs2dCf28AVcbdy/51wQUX+Gjbtm17031j\nam52z0X2iV/NzdGfo8DrX3nllX7kyBF3d//0pz/tN910ky9evHjkMX/84x/d3f0973mPP/vssyP3\nH39bkj/yyCPu7n7VVVf5kiVL/MiRI97d3e3z5s1zd/eDBw/6oUOH3N19x44dPvx+bN682ZctWzby\nvHfeead/6Utfcnf3w4cP+wUXXOC7du3yhx56yBcvXuzHjh3zl19+2c844wx/8MEHx/x7AQifpKxH\nzNhU7lUSx76ujz/+uLZs2TKy/8ihQ4e0dOlS7dq1S9dff72WLVumyy+/vOjznHLKKVq6dKkkae7c\nuTr11FPV0NCguXPnqqenR5J09OhRrVq1St3d3aqvr9eOHTsKPtejjz6q559/fqR/vX//fu3cuVNP\nPvmkli9frvr6ep199tm69NJLx/33BlB90tkqieFSQO6ua6+9Vt3d3eru7taLL76o2267Tc8995wW\nLVqkb3zjG7ruuuuKPk9DQ8PI1dXr6up06qmnjvx87NgxSdL69et15pln6rnnnlM2m9WRI0fGrOn2\n228fqemll16K9J8HUPMSPAeWBukM7hj2db3sssu0cePGkX7xvn371Nvbq6GhIV1zzTVau3attm7d\n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\nPvGXtjZEeztBDVQSrZIUq4U2BIDSEdwpRm8VQCG0SlKONgSA0RhxA0BgCO7jpH2xCwBItEpGRLmO\nAgCkASPuvBAWuwCAlKLgTrpNUQt7bgCoDqkI7q4u6bGPd+nHvS065nX6cW+LHvt4V0XDuxb23ABQ\nHVIR3E+v7tLXj3aoRb2qk6tFvfr60Q49vbpyyc1iFwChSEVwf27vGk3ViQ3mqRrQ5/ZWrsHMYhcA\noUjFJlNDVqc6vbmOIZnqPEW7KQFATIK7kMLA9MKN5LHuB4BalorgnnbbLTp2yokN5mOnTNG022gw\nA8BoRYPbzL5pZnvM7IXYqmhv16RvnthgnvRNGswAUEjRHreZXSLpgKR73L01ypNyIQUAKE1Ze9zu\n/qSkfROuCgBQFqnocQMAoitbcJtZh5llzSzb399frqcFAIxStuB29053z7h7prGxsVxPCwAYhVYJ\nAAQmyqySByQtkjRD0u8l/Yu731Xkd/olFbg++QlmSPpD5EprB+/L2HhvxsZ7U1hI70uzu0dqV8Sy\n5D3SC5tlo059qSW8L2PjvRkb701h1fq+0CoBgMAQ3AAQmCSDuzPB104z3pex8d6MjfemsKp8XxLr\ncQMAxodWCQAEpqLBbWbnmNlmM9tmZr8ys9WVfP0QmFm9mf3SzDYlXUuamNlbzGyjmf3azLab2UVJ\n15QGZvbP+X9LL5jZA2Y2OemaklJoJ1Mze6uZ/cjMdua//2WSNZZLpUfcxyR93t3nSFoo6TNmNqfC\nNaTdaknbky4ihW6T9EN3/2tJ88R7JDN7u6R/kpTJ79xZL+nDyVaVqLslLR11342SHnf3v5L0eP52\n8Coa3O7+qrtvzf/8mnL/+N5eyRrSzMxmSlomaUPStaSJmZ0h6RJJd0mSux9x9z8lW1VqTJJ0mplN\nkjRF0isJ15OYMXYy/aCkb+d//rakqypaVEwS63GbWYuk8yU9nVQNKfQ1SV+QxIU2TzRLUr+kb+Xb\nSBvMbGrSRSXN3V+W9G+Sdkt6VdJ+d3802apS50x3fzX/8+8knZlkMeWSSHCb2TRJD0n6rLv/OYka\n0sbMrpS0x923JF1LCk2SNF/SHe5+vqSDqpJD3onI92s/qNx/bGdLmmpmH0m2qvTy3BS6qphGV/Hg\nNrMG5UK7y92/V+nXT7GLJX3AzHokfUfSpWZ2X7IlpUafpD53Hz4626hckNe6xZJecvd+dz8q6XuS\n/ibhmtLm92Z2liTlv+9JuJ6yqPSsElOuT7nd3ddV8rXTzt2/6O4z3b1FuRNMT7g7oydJ7v47Sb81\ns9n5uy6TtC3BktJit6SFZjYl/2/rMnHSdrSHJV2b//laSf+ZYC1lU+kR98WSPqrcaLI7/3VFhWtA\nmK6X1GVmz0tqk/TlhOtJXP4IZKOkrZL+V7l/z1W5UjCK/E6mT0mabWZ9ZvaPkr4iaYmZ7VTuCOUr\nSdZYLqycBIDAsHISAAJDcANAYAhuAAgMwQ0AgSG4ASAwBDcABIbgBoDAENwAEJj/B4eTq//LFqBm\nAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "y_ = linear_model(x_train)\n", + "plt.plot(x_train.data.numpy(), y_train.data.numpy(), 'bo', label='real')\n", + "plt.plot(x_train.data.numpy(), y_.data.numpy(), 'ro', label='estimated')\n", + "plt.legend()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "从上面的例子可以看到,更新之后红色的线跑到了蓝色的线下面,没有特别好的拟合蓝色的真实值,所以我们需要在进行几次更新" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch: 0, loss: 3.1357719898223877\n", + "epoch: 1, loss: 0.3550889194011688\n", + "epoch: 2, loss: 0.30295443534851074\n", + "epoch: 3, loss: 0.30131956934928894\n", + "epoch: 4, loss: 0.3006229102611542\n", + "epoch: 5, loss: 0.29994693398475647\n", + "epoch: 6, loss: 0.299274742603302\n", + "epoch: 7, loss: 0.2986060082912445\n", + "epoch: 8, loss: 0.2979407012462616\n", + "epoch: 9, loss: 0.29727882146835327\n" + ] + } + ], + "source": [ + "for e in range(10): # 进行 10 次更新\n", + " y_ = linear_model(x_train)\n", + " loss = get_loss(y_, y_train)\n", + " \n", + " w.grad.zero_() # 记得归零梯度\n", + " b.grad.zero_() # 记得归零梯度\n", + " loss.backward()\n", + " \n", + " w.data = w.data - 1e-2 * w.grad.data # 更新 w\n", + " b.data = b.data - 1e-2 * b.grad.data # 更新 b \n", + " print('epoch: {}, loss: {}'.format(e, loss.data[0]))" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD8CAYAAACMwORRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGcFJREFUeJzt3X+QVfWZ5/H3B9IRf23YkS5jhO42VZYbQERsGdBKQiko\nUTPGMqnS7Yk6tYYg4prdrFPuWJVxjEymUls6/tgSGc06KnFSwYxrUbiTxDBRY1QapmUUDFKmwTZM\n6GCCgjD86Gf/uLfbpu3mntt97z3nnvt5Vd3qe889nPNwq/vpbz/n+32OIgIzM8uXcWkHYGZmlefk\nbmaWQ07uZmY55ORuZpZDTu5mZjnk5G5mlkNO7mZmOeTkbmaWQ07uZmY59LG0Tjxp0qRoa2tL6/Rm\nZnVp/fr1v4uI5lL7pZbc29ra6OzsTOv0ZmZ1SdK2JPu5LGNmlkNO7mZmOeTkbmaWQ6nV3Idz8OBB\nenp62L9/f9qh5MaECROYPHkyTU1NaYdiZjWUqeTe09PDiSeeSFtbG5LSDqfuRQS7du2ip6eH0047\nLe1wzKyGMlWW2b9/PyeddJITe4VI4qSTTvJfQmZZsXIltLXBuHGFrytXVu1UmRq5A07sFebP0ywj\nVq6ERYvggw8Kr7dtK7wG6Oio+OkyNXI3M8ut2277MLH3++CDwvYqcHKvsOuuu45Vq1alHYaZZc32\n7eVtH6O6Tu7VLl9FBH19fZU9qJk1ppaW8raPUeLkLmm8pH+RtHqY9yTpXklbJW2UNKuyYX5Uf/lq\n2zaI+LB8NdYE393dzRlnnME111zD9OnTeeyxx5g7dy6zZs3iK1/5Cnv27AHgjjvu4Nxzz2X69Oks\nWrSIiKjA/8rMcmvZMjjuuCO3HXdcYXsVlDNyvxnYPMJ7XwBOLz4WAQ+MMa6Sqlm+evPNN1myZAk/\n//nPefjhh/npT3/Khg0baG9v56677gJg6dKlrFu3jtdee419+/axevVHfueZmX2oowNWrIDWVpAK\nX1esqMrFVEg4W0bSZOBSYBnw34fZ5XLg0SgMX1+SNFHSKRGxo3KhHqma5avW1lbmzJnD6tWr2bRp\nE+effz4ABw4cYO7cuQCsXbuW7373u3zwwQe8++67TJs2jS9+8YtjP7mZ5VdHR9WS+VBJp0L+LfDn\nwIkjvH8q8Pag1z3FbVVL7i0thVLMcNvH6vjjjwcKNfcFCxbwxBNPHPH+/v37WbJkCZ2dnUyZMoXb\nb7/dc8nNLFNKlmUkXQbsjIj1Yz2ZpEWSOiV19vb2julYtShfzZkzh1/84hds3boVgL1797Jly5aB\nRD5p0iT27Nnj2TFmljlJau7nA38iqRv4B+ACSY8P2ecdYMqg15OL244QESsioj0i2pubS/aaP6pa\nlK+am5t55JFHuPrqq5kxYwZz587ljTfeYOLEiXzta19j+vTpXHzxxZx77rmVO6mZWQWonFkekuYB\n/yMiLhuy/VJgKXAJ8MfAvREx+2jHam9vj6E369i8eTOf+cxnEsdjyfhzNcsPSesjor3UfqNuPyBp\nMUBELAfWUEjsW4EPgD8b7XHNzGzsykruEfHPwD8Xny8ftD2AGysZmJmZjV5dr1A1M7PhObmbmeWQ\nk7uZWQ45uZuZ5ZCT+xg88sgj/OY3vxl4ff3117Np06YxH7e7u5vvf//7Zf87txs2s371ndxreMuq\n4QxN7g899BBTp04d83FHm9zNzPrVb3KvVs9f4PHHH2f27NnMnDmTr3/96xw+fJjrrruO6dOnc+aZ\nZ3L33XezatUqOjs76ejoYObMmezbt4958+bRvzDrhBNO4JZbbmHatGnMnz+fV155hXnz5vHpT3+a\np59+Gigk8c9+9rPMmjWLWbNm8eKLLwJw66238vzzzzNz5kzuvvtuDh8+zC233MK5557LjBkzePDB\nB4FC75ulS5dyxhlnMH/+fHbu3Dnm/7uZ5UREpPI455xzYqhNmzZ9ZNuIWlsjCmn9yEdra/JjDGPT\npk1x2WWXxYEDByIi4oYbbojbb7895s+fP7DP73//+4iI+PznPx/r1q0b2D74NRBr1qyJiIgvfelL\nsWDBgjhw4EB0dXXFWWedFRERe/fujX379kVExJYtW6L/M1m7dm1ceumlA8d98MEH49vf/nZEROzf\nvz/OOeeceOutt+LJJ5+M+fPnx6FDh+Kdd96JT3ziE/HDH/5w2P+TmeUD0BkJcmzmbpCdWJV6/j77\n7LOsX79+oF/Mvn37WLhwIW+99RY33XQTl156KRdddFHJ43z84x9n4cKFAJx55pkcc8wxNDU1ceaZ\nZ9Ld3Q3AwYMHWbp0KV1dXYwfP54tW7YMe6wf//jHbNy4caCevnv3bt58802ee+45rr76asaPH8+n\nPvUpLrjggjH9380sP+q3LFOlW1ZFBNdeey1dXV10dXXxq1/9invuuYdXX32VefPmsXz5cq6//vqS\nx2lqakISAOPGjeOYY44ZeH7o0CEA7r77bk4++WReffVVOjs7OXDgwIgx3XfffQMx/frXv070C8as\n4aV8XS5N9Zvcq9Tz98ILL2TVqlUD9et3332Xbdu20dfXx5VXXsmdd97Jhg0bADjxxBN5//33R32u\n3bt3c8oppzBu3Dgee+wxDh8+POxxL774Yh544AEOHjwIwJYtW9i7dy+f+9zn+MEPfsDhw4fZsWMH\na9euHXUsZrlTxety9aB+yzL9vX1vu61QimlpKST2Mfb8nTp1KnfeeScXXXQRfX19NDU1cdddd3HF\nFVcM3Cz7O9/5DlCYerh48WKOPfZYfvnLX5Z9riVLlnDllVfy6KOPsnDhwoGbhMyYMYPx48dz1lln\ncd1113HzzTfT3d3NrFmziAiam5t56qmnuOKKK/jZz37G1KlTaWlpGbhLlJlx9Htx1uhuSGkqq+Vv\nJbnlb+34c7WGNG5cYcQ+lATFgVo9Stryt37LMmZmR1Ol63L1wsndzPKpFvfizLDMJfe0ykR55c/T\nGlYt7sWZYZm6oDphwgR27drFSSedNDCN0EYvIti1axcTJkxIOxSzdHR0NEwyHypTyX3y5Mn09PTQ\n29ubdii5MWHCBCZPnpx2GGZWY5lK7k1NTZx22mlph2FmVvcyV3M3M7OxK5ncJU2Q9IqkVyW9Lumv\nhtlnnqTdkrqKj29VJ1wzM0siSVnm34ELImKPpCbgBUnPRMRLQ/Z7PiIuq3yIZmZWrpIj92KXyT3F\nl03Fh+fXmZmVqZZ9zBLV3CWNl9QF7AR+EhEvD7PbeZI2SnpG0rQRjrNIUqekTs+IMbNGUus+ZmX1\nlpE0EfhH4KaIeG3Q9v8A9BVLN5cA90TE6Uc71nC9ZczM8qqtrZDQh2ptheItHhKpSm+ZiPgDsBZY\nOGT7e/2lm4hYAzRJmlTOsc3M8qxK9xcaUZLZMs3FETuSjgUWAG8M2eeTKi4plTS7eNxdlQ/XzKw+\n1bqPWZKR+ynAWkkbgXUUau6rJS2WtLi4z5eB1yS9CtwLXBVuamJmNqDWfcySzJbZGBFnR8SMiJge\nEXcUty+PiOXF5/dHxLSIOCsi5kTEi9UJ18wsuSzdZa/Wfcwy1X7AzKxS+men9N+MqX92CqTXS6yW\nfczcfsDMculod9lrBE7uZpZLtZ6dkjVO7maWSw1+lz0ndzPLpwa/y56Tu5nlU4PfZc+zZcwsvxr4\nLnseuZuZ5ZGTu5lZDjm5m5UhSysezY7GNXezhLK44tFsJB65myXU6Cserb44uZsl1OgrHq2+OLmb\nJdToKx6tvji5myXU6Cserb44uZsl1OgrHq2+eLaMWRkaecWj1ReP3M3McsjJ3cwsh0omd0kTJL0i\n6VVJr0v6q2H2kaR7JW2VtFHSrOqEa2ZmSSSpuf87cEFE7JHUBLwg6ZmIeGnQPl8ATi8+/hh4oPjV\nzMxSUHLkHgV7ii+bio8YstvlwKPFfV8CJko6pbKhmtmouCFOQ0pUc5c0XlIXsBP4SUS8PGSXU4G3\nB73uKW4zszT1N8TZtg0iPmyI4wSfe4mSe0QcjoiZwGRgtqTpozmZpEWSOiV19vb2juYQZlYON8Rp\nWGXNlomIPwBrgYVD3noHmDLo9eTitqH/fkVEtEdEe3Nzc7mxmlm53BCnYSWZLdMsaWLx+bHAAuCN\nIbs9DVxTnDUzB9gdETsqHq2ZlccNcRpWkpH7KcBaSRuBdRRq7qslLZa0uLjPGuAtYCvwd8CSqkRr\nZmV54ZJl7OXIhjh7OY4XLnFDnLwrORUyIjYCZw+zffmg5wHcWNnQzGys/nRNB+cBf81ttLCd7bTw\nFyzjxTUddKcdnFWVe8uY5dj27bCNDp7gyIY4csk999x+wCzHXHJvXE7uZlWShbVD7kHfuJzczaqg\nKmuHRvHbwj3oG5cK10Jrr729PTo7O1M5t1m1tbUVEvpQra3Q3T2KA/b/thi8IOm445ypG5Ck9RHR\nXmo/j9zNqqDia4e80tTK5OTeILJQ/20kFb+Q6ZWmViYn9wbg3lG1V/ELmZ72YmVycm8A/ou+9ip+\nIdPTXqxMvqDaAMaNK4zYh5Kgr6/28dgorVxZ+I28fXthxL5smS+mNqCkF1S9QrUBtLQMP3PDf9HX\nmY4OJ3NLzGWZBuC/6M0aj5N7A/BCFrPG47JMg/Bf9GaNxSN3M7MccnK33EttAZdXjlmKXJaxXBva\nkqV/ARdUuUyV2onNCjzP3XKt4g28Mn9iyzs3DjMjhZYs/aWY4RJ7VU9sdiQnd8u1mrZkGdzEp9yA\nEh7eJXxLqmRylzRF0lpJmyS9LunmYfaZJ2m3pK7i41vVCdesPDVdwDVcE58KndjN36xcSUbuh4Bv\nRsRUYA5wo6Spw+z3fETMLD7uqGiUZqNU0wVcRyu5jPHEbv5m5So5WyYidgA7is/fl7QZOBXYVOXY\nzCqiZgu4RmriU4GLqG7nbuUqq+YuqQ04G3h5mLfPk7RR0jOSpo3w7xdJ6pTU2dvbW3awZqk7WuG7\nijUgt3O3ciVO7pJOAJ4EvhER7w15ewPQEhEzgPuAp4Y7RkSsiIj2iGhvbm4ebcxm6ShV+K5iDcjN\n36xciea5S2oCVgP/FBF3Jdi/G2iPiN+NtI/nuVvdSXnuutu5G1Swn7skAQ8Dm0dK7JI+Cfw2IkLS\nbAp/EewqM2azbEu58O3mb1aOJO0Hzge+CvyrpK7itr8AWgAiYjnwZeAGSYeAfcBVkdbSV7Nq8V1P\nrI4kmS3zAqAS+9wP3F+poMwyadmyI/vFgAvfllleoWqWlO96YnXEXSHNyuHCt9UJj9zNzHLIyd3M\nLIec3M3McsjJ3cwsh5zcLf/cCN0akGfLWL75XqbWoDxyt3xzI3RrUE7ulm9uhG4Nysnd8s2N0K1B\nOblbvrkRujUoJ3fLN/eDsQbl2TKWf+4HYw3II3czsxxycrfUeY2RWeW5LGOp8hojs+rwyN1S5TVG\nZtXh5G6p8hojs+oomdwlTZG0VtImSa9LunmYfSTpXklbJW2UNKs64VreeI2RWXUkGbkfAr4ZEVOB\nOcCNkqYO2ecLwOnFxyLggYpGabnlNUZm1VEyuUfEjojYUHz+PrAZOHXIbpcDj0bBS8BESadUPFrL\nHa8xMquOsmruktqAs4GXh7x1KvD2oNc9fPQXgNmwOlhJN230MY5u2ujAcyHNxirxVEhJJwBPAt+I\niPdGczJJiyiUbWhxUdXAcyHNqiTRyF1SE4XEvjIifjTMLu8AUwa9nlzcdoSIWBER7RHR3tzcPJp4\nLW88F9KsKpLMlhHwMLA5Iu4aYbengWuKs2bmALsjYkcF47S88lxIs6pIMnI/H/gqcIGkruLjEkmL\nJS0u7rMGeAvYCvwdsKQ64VrdGqnHgOdCmlVFyZp7RLwAqMQ+AdxYqaAsZ45WV1+27Mj3wHMhzSrA\nvWWs+o5WV+/u/nCf7dsLI/Zly3wx1WyMVBh01157e3t0dnamcm6rsXHjYLjvMwn6+mofj1kdk7Q+\nItpL7efeMlZ9rqub1ZyTu1WfewyY1ZyTu1WfewyY1ZwvqFpt+D6mZjXlkbuZWQ45uZuZ5ZCTu5lZ\nDjm5V9BIK+ytcfh7wLLCF1QrxJ1rzd8DliVeoVohbW2FH+ahWls/XGFv+ebvAasFr1CtMXeuPbpG\n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\nUdOFjLYuAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "y_ = linear_model(x_train)\n", + "plt.plot(x_train.data.numpy(), y_train.data.numpy(), 'bo', label='real')\n", + "plt.plot(x_train.data.numpy(), y_.data.numpy(), 'ro', label='estimated')\n", + "plt.legend()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "经过 10 次更新,我们发现红色的预测结果已经比较好的拟合了蓝色的真实值。\n", + "\n", + "现在你已经学会了你的第一个机器学习模型了,再接再厉,完成下面的小练习。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**小练习:**\n", + "\n", + "重启 notebook 运行上面的线性回归模型,但是改变训练次数以及不同的学习率进行尝试得到不同的结果" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 多项式回归模型" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "下面我们更进一步,讲一讲多项式回归。什么是多项式回归呢?非常简单,根据上面的线性回归模型\n", + "\n", + "$$\n", + "\\hat{y} = w x + b\n", + "$$\n", + "\n", + "这里是关于 x 的一个一次多项式,这个模型比较简单,没有办法拟合比较复杂的模型,所以我们可以使用更高次的模型,比如\n", + "\n", + "$$\n", + "\\hat{y} = w_0 + w_1 x + w_2 x^2 + w_3 x^3 + \\cdots\n", + "$$\n", + "\n", + "这样就能够拟合更加复杂的模型,这就是多项式模型,这里使用了 x 的更高次,同理还有多元回归模型,形式也是一样的,只是出了使用 x,还是更多的变量,比如 y、z 等等,同时他们的 loss 函数和简单的线性回归模型是一致的。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "首先我们可以先定义一个需要拟合的目标函数,这个函数是个三次的多项式" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "y = 0.90 + 0.50 * x + 3.00 * x^2 + 2.40 * x^3\n" + ] + } + ], + "source": [ + "# 定义一个多变量函数\n", + "\n", + "w_target = np.array([0.5, 3, 2.4]) # 定义参数\n", + "b_target = np.array([0.9]) # 定义参数\n", + "\n", + "f_des = 'y = {:.2f} + {:.2f} * x + {:.2f} * x^2 + {:.2f} * x^3'.format(\n", + " b_target[0], w_target[0], w_target[1], w_target[2]) # 打印出函数的式子\n", + "\n", + "print(f_des)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "我们可以先画出这个多项式的图像" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nIpIk/j8hjlpJApitKgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 画出这个函数的曲线\n", + "x_sample = np.arange(-3, 3.1, 0.1)\n", + "y_sample = b_target[0] + w_target[0] * x_sample + w_target[1] * x_sample ** 2 + w_target[2] * x_sample ** 3\n", + "\n", + "plt.plot(x_sample, y_sample, label='real curve')\n", + "plt.legend()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "接着我们可以构建数据集,需要 x 和 y,同时是一个三次多项式,所以我们取了 $x,\\ x^2, x^3$" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 构建数据 x 和 y\n", + "# x 是一个如下矩阵 [x, x^2, x^3]\n", + "# y 是函数的结果 [y]\n", + "\n", + "x_train = np.stack([x_sample ** i for i in range(1, 4)], axis=1)\n", + "x_train = torch.from_numpy(x_train).float() # 转换成 float tensor\n", + "\n", + "y_train = torch.from_numpy(y_sample).float().unsqueeze(1) # 转化成 float tensor " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "接着我们可以定义需要优化的参数,就是前面这个函数里面的 $w_i$" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "# 定义参数和模型\n", + "w = Variable(torch.randn(3, 1), requires_grad=True)\n", + "b = Variable(torch.zeros(1), requires_grad=True)\n", + "\n", + "# 将 x 和 y 转换成 Variable\n", + "x_train = Variable(x_train)\n", + "y_train = Variable(y_train)\n", + "\n", + "def multi_linear(x):\n", + " return torch.mm(x, w) + b" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "我们可以画出没有更新之前的模型和真实的模型之间的对比" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 画出更新之前的模型\n", + "y_pred = multi_linear(x_train)\n", + "\n", + "plt.plot(x_train.data.numpy()[:, 0], y_pred.data.numpy(), label='fitting curve', color='r')\n", + "plt.plot(x_train.data.numpy()[:, 0], y_sample, label='real curve', color='b')\n", + "plt.legend()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以发现,这两条曲线之间存在差异,我们计算一下他们之间的误差" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Variable containing:\n", + " 413.9843\n", + "[torch.FloatTensor of size 1]\n", + "\n" + ] + } + ], + "source": [ + "# 计算误差,这里的误差和一元的线性模型的误差是相同的,前面已经定义过了 get_loss\n", + "loss = get_loss(y_pred, y_train)\n", + "print(loss)" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 自动求导\n", + "loss.backward()" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Variable containing:\n", + " -34.1391\n", + "-146.6133\n", + "-215.9148\n", + "[torch.FloatTensor of size 3x1]\n", + "\n", + "Variable containing:\n", + "-27.0838\n", + "[torch.FloatTensor of size 1]\n", + "\n" + ] + } + ], + "source": [ + "# 查看一下 w 和 b 的梯度\n", + "print(w.grad)\n", + "print(b.grad)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 更新一下参数\n", + "w.data = w.data - 0.001 * w.grad.data\n", + "b.data = b.data - 0.001 * b.grad.data" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAD8CAYAAAB0IB+mAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xd4VGX2wPHvoUtRUFCR0FYR6cWAoIuogFgQLCAouui6\nYAEFdREQfzbEBgv2ZVlEsFFVYLHQBF0FREBYpElAkNClY3rm/f1xJhAxIWVmcqecz/PcZ5I7N/ee\nSeDMO+993/OKcw5jjDHRr5jXARhjjCkalvCNMSZGWMI3xpgYYQnfGGNihCV8Y4yJEZbwjTEmRljC\nN8aYGGEJ3xhjYkS+E76IjBeRvSLyY7Z9Z4rIPBHZ5H+slO25ISKSICIbRaRjsAM3xhhTMJLfmbYi\ncjlwDHjXOdfQv+9l4IBz7kURGQxUcs4NEpH6wCSgJXAeMB+40DmXeaprVK5c2dWqVavQL8YYY2LR\nihUrfnXOVcnruBL5PaFz7msRqXXS7i7AFf6vJwKLgEH+/ZOdc6nAzyKSgCb/Jae6Rq1atVi+fHl+\nQzLGGAOIyLb8HBdoH/45zrld/q93A+f4v64GbM92XKJ/nzHGGI8E7aat076hAldiE5E+IrJcRJbv\n27cvWOEYY4w5SaAJf4+IVAXwP+71798BVM92XJx/3x8458Y65+Kdc/FVquTZBWWMMaaQ8t2Hn4tZ\nQC/gRf/jzGz7PxSRUehN2zrAssJcID09ncTERFJSUgIM1RRGmTJliIuLo2TJkl6HYowJUL4TvohM\nQm/QVhaRROApNNFPFZF7gG3ArQDOubUiMhVYB2QAffMaoZObxMREKlSoQK1atRCRwpzCFJJzjv37\n95OYmEjt2rW9DscYE6CCjNK5LZen2uVy/HBgeGGCyi4lJcWSvUdEhLPOOgu7t2JMdIiImbaW7L1j\nv3tjokdEJHxjjIlmr70Gs2eH/jqW8PPhtddeo169evTs2ZNZs2bx4osvAjBjxgzWrVt3/LgJEyaw\nc+fO49//7W9/+93zxhhzsj17YNAg+OST0F8r0FE6MeGtt95i/vz5xMXFAdC5c2dAE36nTp2oX78+\noAm/YcOGnHfeeQCMGzfOm4CzycjIoEQJ+zMbE65Gj4a0NBg8OPTXshZ+Hu677z62bNnCtddey+jR\no5kwYQL9+vVj8eLFzJo1i4EDB9K0aVNeeuklli9fTs+ePWnatCnJyclcccUVx0tFlC9fnqFDh9Kk\nSRNatWrFnj17ANi8eTOtWrWiUaNGPPHEE5QvXz7HON59910aN25MkyZNuPPOOwG46667mD59+vFj\nsn520aJFtGnThs6dO1O/fn0GDx7Mm2++efy4p59+mpEjRwIwYsQIWrRoQePGjXnqqaeC/ws0xuTq\n4EF46y3o1g3q1An99SKr6TdgAKxaFdxzNm0Kr7yS69Njxozhiy++YOHChVSuXJkJEyYAcOmll9K5\nc2c6depE165dAfj8888ZOXIk8fHxfzjPb7/9RqtWrRg+fDiPPfYY//73v3niiSfo378//fv357bb\nbmPMmDE5xrB27Vqee+45Fi9eTOXKlTlw4ECeL2vlypX8+OOP1K5dmx9++IEBAwbQt29fAKZOncqc\nOXOYO3cumzZtYtmyZTjn6Ny5M19//TWXX355nuc3xgTu9dfh6FF4/PGiuZ618ItIqVKl6NSpEwAX\nX3wxW7duBWDJkiV069YNgNtvvz3Hn/3yyy/p1q0blStXBuDMM8/M83otW7Y8Pna+WbNm7N27l507\nd7J69WoqVapE9erVmTt3LnPnzqVZs2Y0b96cDRs2sGnTpkBfqjEmH44dg1dfhRtugMaNi+aakdXC\nP0VLPNyVLFny+BDH4sWLk5GREfA5S5Qogc/nA8Dn85GWlnb8uXLlyv3u2G7dujF9+nR2795N9+7d\nAZ1YNWTIEO69996AYzHGFMy//gUHDhRd6x6shR+QChUqcPTo0Vy/z49WrVrx0UcfATB58uQcj7nq\nqquYNm0a+/fvBzjepVOrVi1WrFgBwKxZs0hPT8/1Ot27d2fy5MlMnz79+CeKjh07Mn78eI4dOwbA\njh072Lt3b67nMMYER0oKjBwJV10FrVoV3XUt4QegR48ejBgxgmbNmrF582buuusu7rvvvuM3bfPj\nlVdeYdSoUTRu3JiEhATOOOOMPxzToEEDhg4dStu2bWnSpAmPPPIIAL179+arr76iSZMmLFmy5A+t\n+pPPcfToUapVq0bVqlUBuPrqq7n99ttp3bo1jRo1omvXrgV+wzLGFNw778Du3TB0aNFeN98rXhWF\n+Ph4d/ICKOvXr6devXoeRRR6SUlJnHbaaYgIkydPZtKkScycOTPvHyxC0f43MKYopafriJyqVWHx\nYgjGZHYRWeGc++NokZNEVh9+FFqxYgX9+vXDOUfFihUZP3681yEZY0Loww9h2zYdoVPUlUss4Xus\nTZs2rF692uswjDFFIDMTXnhBR+X4B+0VKUv4xhhTRCZNgo0bYerUom/dg920NcaYIpGRAc88o637\nW27xJgZr4RtjTBF47z1ISIAZM6CYR01ta+EbY0yIpafDs8/CxReDv/aiJ4KS8EXkYRFZKyI/isgk\nESkjImeKyDwR2eR/rBSMa0Wik4ucGWNiyzvvwNatmvS9XFMo4IQvItWAh4B451xDoDjQAxgMLHDO\n1QEW+L+PaM6546UMvJaZWaglgo0xRSw1FZ57Di65BK691ttYgtWlUwI4TURKAGWBnUAXYKL/+YnA\njUG6VpHaunUrdevW5S9/+QsNGzZk+/btzJ07l9atW9O8eXO6det2vDTBs88+S4sWLWjYsCF9+vQh\nr0ltCQkJtG/fniZNmtC8eXM2b97MokWLjhdZA+jXr9/xCp21atVi0KBBNG/enBEjRtCyZcvfxdmo\nUSNAx/a3bduWiy++mI4dO7Jr164g/1aMMfk1bhxs3w7Dhnnbuocg3LR1zu0QkZHAL0AyMNc5N1dE\nznHOZWWa3cA5gV7Lg+rIAGzatImJEyfSqlUrfv31V5577jnmz59PuXLleOmllxg1ahRPPvkk/fr1\n48knnwTgzjvvZPbs2dxwww25nrdnz54MHjyYm266iZSUFHw+H9u3bz9lLGeddRYrV64EtPbOzz//\nTO3atZkyZQrdu3cnPT2dBx98kJkzZ1KlShWmTJnC0KFDbUKXMR5ITobnn4c//xnat/c6miAkfH/f\nfBegNnAImCYid2Q/xjnnRCTH5q6I9AH6ANSoUSPQcEKiZs2atPJXOFq6dCnr1q3jsssuAyAtLY3W\nrVsDsHDhQl5++WWSkpI4cOAADRo0yDXhHz16lB07dnDTTTcBUKZMmXzFklXpEuDWW29lypQpDB48\nmClTpjBlyhQ2btzIjz/+SIcOHQDt+smqnWOMKVpjx8LOnfDBB9637iE4wzLbAz875/YBiMjHwKXA\nHhGp6pzbJSJVgRzLMDrnxgJjQWvpnOpCXlVHzl6UzDlHhw4dmDRp0u+OSUlJ4YEHHmD58uVUr16d\np59+mpSUlAJfK3vJ46zz5hZL9+7d6datGzfffDMiQp06dVizZg0NGjRgyZIlBb62MSZ4jh3TWbVX\nXglXXOF1NCoYffi/AK1EpKxowfd2wHpgFtDLf0wvILwqghVSq1at+Pbbb0lISAB0JauffvrpeGKu\nXLkyx44dy3NUToUKFYiLi2PGjBkApKamkpSURM2aNVm3bh2pqakcOnSIBQsW5HqO888/n+LFizNs\n2LDjLf+6deuyb9++4wk/PT2dtWvXBvy6jTEFM2qULlA+fLjXkZwQjD7870RkOrASyAB+QFvs5YGp\nInIPsA24NdBrhYMqVaowYcIEbrvtNlJTUwF47rnnuPDCC+nduzcNGzbk3HPPpUWLFnme67333uPe\ne+/lySefpGTJkkybNo0//elP3HrrrTRs2JDatWvTrFmzU56je/fuDBw4kJ9//hnQlbWmT5/OQw89\nxOHDh8nIyGDAgAE0aNAg8BdvjMmXvXthxAi4+Wbw9/iGBSuPbPJkfwNjCqZfPxgzBtauhbp1Q3+9\n/JZHtpm2xhgTRJs26fKFvXsXTbIvCEv4xhgTRE88AaVKgX+EdliJiIQfTt1OscZ+98bk3/ffa+nj\nRx/VFa3CTdgn/DJlyrB//35LPB5wzrF///58zxEwJpY5B489BlWqwMCBXkeTs7AvjxwXF0diYiL7\n9u3zOpSYVKZMGeLi4rwOw5iw9/nnsGiRLl1YoYLX0eQs7BN+yZIlqV27ttdhGGNMrjIzYfBgOP98\n6NPH62hyF/YJ3xhjwt24cbBmjfbflyrldTS5C/s+fGOMCWcHD8LQoXD55dC1q9fRnJolfGOMCcCz\nz2rSf/XV8CiQdiqW8I0xppDWr4c33tBJVk2beh1N3izhG2NMITina3SUK6eLm0QCu2lrjDGF8Omn\nMHcujB6tY+8jgbXwjTGmgNLS4OGH4aKLoG9fr6PJP2vhG2NMAb36KiQkwBdfQMmSXkeTf9bCN8aY\nAti1S/vsO3WCjh29jqZgLOEbY0wBPPywdumMHu11JAVnCd8YY/JpzhyYMgUefxwuuMDraAouKAlf\nRCqKyHQR2SAi60WktYicKSLzRGST/7FSMK5ljDFeSE6GBx6ACy+EQYO8jqZwgtXCfxX4wjl3EdAE\nXcR8MLDAOVcHWOD/3hhjItLzz8OWLbp0YenSXkdTOAEnfBE5A7gceBvAOZfmnDsEdAEm+g+bCNwY\n6LWMMcYL69fDSy/BnXfClVd6HU3hBaOFXxvYB7wjIj+IyDgRKQec45zb5T9mN3BOEK5ljDFFyjm4\n/34oXx5GjvQ6msAEI+GXAJoD/3TONQN+46TuG6fLVeW4ZJWI9BGR5SKy3BY5McaEm3ffha++0hb+\n2Wd7HU1ggpHwE4FE59x3/u+no28Ae0SkKoD/cW9OP+ycG+uci3fOxVeJlPnJxpiY8Ouv8Pe/w6WX\nwj33eB1N4AJO+M653cB2Eanr39UOWAfMAnr59/UCZgZ6LWOMKUoPPQSHDumN2mJRMIg9WKUVHgQ+\nEJFSwBbgbvTNZKqI3ANsA24N0rWMMSbkZsyASZPgmWegUSOvowkO0e718BAfH++WL1/udRjGmBh3\n4ADUrw9Vq8KyZeFfL0dEVjjn4vM6zoqnGWPMSfr3h/37I684Wl6ioFfKGGOCZ9YseP99Xac2Elax\nKghL+MYY43fgANx7LzRurPVyoo116RhjjN/DD8O+fbqaValSXkcTfNbCN8YYYOZMnWQ1ZAg0b+51\nNKFhCd8YE/N27dKJVU2bwhNPeB1N6FjCN8bENJ8PevWCpCQddx+plTDzw/rwjTEx7ZVXYN48nU17\n0UVeRxNa1sI3xsSsVau0z75LF+jTx+toQs8SvjEmJiUlwe23w1lnwbhxIOJ1RKFnXTrGmJg0cKAu\nbDJ3LlSu7HU0RcNa+MaYmDNzJrz1Fjz6KHTo4HU0RccSvjEmpmzerKNy4uNh+HCvoylalvCNMTEj\nORm6dtXa9tOmRfcQzJxYH74xJmY8+KCOzPn0U6hVy+toip618I0xMeGdd+Dtt3Um7XXXeR2NNyzh\nG2Oi3qpV8MAD0K4dPP2019F4J2gJX0SKi8gPIjLb//2ZIjJPRDb5HysF61rGGJNfhw9rv/1ZZ8GH\nH0Lx4l5H5J1gtvD7A+uzfT8YWOCcqwMs8H9vjDFFJjNTJ1dt2wZTp8LZZ3sdkbeCkvBFJA64HhiX\nbXcXYKL/64nAjcG4ljHG5Ndjj8Fnn8Gbb8Kll3odzSkcOwZFsL54sFr4rwCPAb5s+85xzu3yf70b\nOCdI1zLGmDy9/TaMGqUjc8K6Tk5yMlxzjS61FWIBJ3wR6QTsdc6tyO0Y55wDcnz7EpE+IrJcRJbv\n27cv0HCMMYavv4b779dZtKNGeR3NKWRmwh13wLffQvv2Ib9cMFr4lwGdRWQrMBm4SkTeB/aISFUA\n/+PenH7YOTfWORfvnIuvUqVKEMIxxsSyn3+GW26B2rVhyhQoEa6zjZyDAQPg449h9Gi49daQXzLg\nhO+cG+Kci3PO1QJ6AF865+4AZgG9/If1AmYGei1jjDmVo0ehc2fIyID//AcqhfPYwBEj4I03tKDP\ngAFFcslQvve9CEwVkXuAbUDo376MMTErLQ26ddMKmF98ARde6HVEp/D++zBoEPToAS+/XGSXDWrC\nd84tAhb5v94PtAvm+Y0xJic+n65JO2eO1rYvgu7wwps/H+6+G668EiZM0MI+RcRm2hpjIt7gwdpo\nHjZME3/YWroUbroJ6tWDTz4p8uptlvCNMRFt9GjtDu/bF4YO9TqaU1i5Uodfnnuu9jmdcUaRh2AJ\n3xgTsSZNgkce0VE5r74axssUrl0LV1+tSX7BAjjvPE/CsIRvjIlI8+bpQiZt22p3TtjWyPnpJ63a\nVqqUJvsaNTwLJVxHqBpjTK4WLYIuXbQrfMYMKFPG64hysXWrJnufDxYuhAsu8DQcS/jGmIjyzTfQ\nqZNOrJo3DypW9DqiXGzbBlddpXVyFi3SdyePWZeOMSZiLFkC114LcXHaOxK21S8TEqBNGzh4UMeK\nNmnidUSAtfCNMRFi2bITg1y+/FIfw9K6dToRID1du3GaNvU6ouOshW+MCXsrV0LHjrqIyZdfejbI\nJW+rV+tdZOe0GyeMkj1YwjfGhLlvvtFJqaefrsm+enWvI8rF999roGXKwFdfQYMGXkf0B5bwjTFh\n64svdPj6uefCf/8LtWp5HVEuFizQ0TgVK2pt5jAt5GMJ3xgTlqZN08qXdetqsvdw+PqpffCB3kmu\nUUOTfe3aXkeUK0v4xpiwM26cFpK85BK97xmWo3Gc00qXd9wBl12mfU9xcV5HdUqW8I0xYSMrh/bu\nrV05c+aE6Tj7zEx46CEtcdy9u/Y9hWWgv2cJ3xgTFtLTdVnXrDLxM2dC2bJeR5WDpCRdnSpr8ZIP\nPyzyqpeFZePwjTGeO3QIunbVe59Dh8KzzxZpmfj8++UXuPFGWLVKy3QW0UpVwWIJ3xjjqS1b4Prr\nYfNmXQ+kV688f8Qb33wDN98MqakwezZcd53XERVYOL6HGmNixOLF0KoV7NlzovplWPr3v7UuTqVK\n8N13EZnsIQgJX0Sqi8hCEVknImtFpL9//5kiMk9ENvkfw3k5YWNMEXIO3nwTrrhCS8QvXaoTVMNO\nWhr06wd9+ug4++++g4su8jqqQgtGCz8DeNQ5Vx9oBfQVkfrAYGCBc64OsMD/vTEmxv32m45k7NdP\nyyUsWxam85S2btUCaG++CX//u3bjRMBInFMJOOE753Y551b6vz4KrAeqAV2Aif7DJgI3BnotY0xk\n27hRx9ZPngzDh+tInErh+Nl/xgxo1gw2bNAZYCNGhPEKK/kX1D58EakFNAO+A85xzu3yP7UbOCeX\nn+kjIstFZPm+ffuCGY4xJoxMmwYtWmh//Zw58PjjYTgSJzUV+vfXhcYvuAB++EGHD0WJoP26RaQ8\n8BEwwDl3JPtzzjkHuJx+zjk31jkX75yLr1KlSrDCMcaEiSNH4O67deh6gwaaQ9u39zqqHPz0E/z5\nz/Daazrc8ttv4U9/8jqqoApKwheRkmiy/8A597F/9x4Rqep/viqwNxjXMsZEjv/+V9f+ePddeOIJ\nLTUTdtUHfD5N8k2b6tjQTz7RMfalSnkdWdAFY5SOAG8D651zo7I9NQvIGmTVC5gZ6LWMMZEhLQ2G\nDNGRN8WL6xD2YcOgZEmvIztJ1pqz/fvrsMu1a3ViVZQKxsSry4A7gTUissq/73HgRWCqiNwDbANu\nDcK1jDFhbvlyrYWzahX87W/aWC5f3uuoTuKcVmh75BEQgbff1n4nEa8jC6mAE75z7hsgt99Su0DP\nb4yJDEePwv/9H7z+Opxzjg506dLF66hysGEDPPCAluG88kp45x2oWdPrqIpEuN0jN8ZEoJkzoX59\n7Qq/7z5Yvz4Mk31ysr4jNW6sd47/+U+YPz9mkj1YLR1jTAA2b9aCkTNnQqNGOvSyVSuvo8rBF19A\n375auOeOO2DkSP0YEmOshW+MKbCDBzXR16unjeQXX4QVK8Iw2W/cqDdhr71W7xgvWADvvReTyR4s\n4RtjCiA9XbttLrhAb8b+5S+waZPWsA+rETj79mnthgYNdOXzF16A1at1JE4Msy4dY0yeMjJg0iQd\nWrlpk06c+sc/tDs8rCQnw6uvwvPP60Il994LTz0VpmskFj1L+MaYXGVk6Brdzz0HCQk6ierTT7WH\nJKxGMCYlwb/+pesj7t6tq5+/9FJEV7YMBUv4xpg/SE3VlfuGD9cbs82a6QTUzp3DrP5NUhKMGaOJ\nfs8eHWY5ZQpcfrnXkYUlS/jGmOP27tX8+c9/akO5eXMdgXPDDWHWoj9wAMaO1RsJe/dq3/zUqZbo\n82AJ3xjD6tXa9f3BB1oW4dprtdrA1VeHWaL/6ScNdMIEbd136KBj69u08TqyiGAJ35gYdeiQ1qUf\nPx6+/x7KltVSCA89BHXreh1dNj6fDqd8/XVdhKRkSejZUytaht1d4/BmCd+YGJKZqRUF3nkHPv4Y\nUlJ0wtSoUXDXXWG2GEliorbk335bi5xVrqyt+fvvh3PP9Tq6iGQJ35gol54OixbBRx/pjde9e3Wl\nvr/+VeuFXXxxGHXbJCfDZ59pov/sM23dt2un4+hvvBHKlPE6wohmCd+YKHT4sPaCfPqpFjE7cADK\nlYNOnXQBp06dwih3pqXB3Lk6umbGDDh2DKpWhcGD4Z57om4REi9ZwjcmCmRmaj2wOXO0bMySJbrv\n9NN1hE3Xrrpg+GmneR2p35EjMG+e9snPnKm1GipVgh49dGvbFkpYego2+40aE4GSkmDZMl1Y5Jtv\nNMEf8S8s2ry5ljro2BFatw6TkgfO6cytzz+H//wHvvpK+5oqVtSPG7fdptN3o3CVqXBiCd+YMHfs\nmA6b/OEH3VauhB9/1FmwIlou5vbbdWRi+/ZhVEVg61a9Q7xwodaz2bFD99erpyNsOnWCSy+1lnwR\nst+0MWEgMxN27tRZrRs36hodWY9bt2oDGaBKFZ31OnCgrrfdunWYjKxJStJ3o+++O7Ft26bPVami\nM2CvvFLHzZ9/vrexxrCQJ3wRuQZ4FSgOjHPOvRjqaxoTLtLS9Abqvn0683/PHp3BumePNni3bdMt\nMVGTfpayZXUs/CWX6EiaZs10O+88j0fUOKfB/+9/sGaNPmZ9nfUCatbUwB99VGfA1q8fRsOAYltI\nE76IFAfeBDoAicD3IjLLObculNc1oeecLmm3bx/8+qs+Hjqkye3IkRPbb7/pSLvkZB3znZysSTAj\n4/dbVq7IaslmKVZMF8EuVuzE1yVK/HErWVK37F9n37L2lyhx4hxZj8WKaT7K/uicjgjM/pierlta\n2omvk5O1cfvbb/qYlKSv++BB/X0kJeX8+ytRQgei1KypLfWaNXWrXVvrfVWr5mHNGuf0D/rLL9rv\nnpCgJTI3bdKZrvv3nzi2alUdyD9okCb5Sy6J2VrzkSDULfyWQIJzbguAiEwGugCW8MPc0aPavZCQ\noP/vExN1275dH/fu1cSXmxIl4IwzdCjgaafpVqaMPpYrdyL5Zm1ZyRZOPGYlW196Br7UdDKT08lM\nzSAzLZOMNB8ZST4y0hyp6Y5jGUJ6hpCRKaRnFCM9sxjpvmKk+4qT4X9MzyxGpitGhitOhq94oX4v\nxYv5KFnC6VYSTivjKFfWUbasUK68UK6ccF7VYlSsJFSsyPGtcmXNg1lbpUpFnNDT0k68Ix88qAl9\n3z79Q+7dq6327H/g1NTf/3xcnBbBv/lmaNhQk3yjRvrCTMQIdcKvBmzP9n0icEn2A0SkD9AHoEaN\nGiEOx5zs119//6n8p5+0Ibdnz++PK1sWqlfX//dXXaUTHatU0a1yZX0880wdBnj66VC6dB6f4n0+\n2LXrRJ/Gjh2/7+/Ys0cT0cGDf0w+eSld+kQTvmSxEx8PRLK9i/jwZToyfMVwGZn40jNxPh8+iuGj\nGMXwIbjjj4KjJOkU8zlIQzeAw7nEUKqUvsNlbaVLn9hKlTrxWKrUHz+KnPyRJivu7JvPd+JjRvaP\nHklJJz52JCXpHd/Dh/XjVW5OO03v9MbFQYsWmtSz/tgXXKB97mXLFuxvYMKS5zdtnXNjgbEA8fHx\nLo/DTQAOHtR7aUuX6uPq1Zpzs1Spot0J11+v/8/r1NHHWrW0tV7gblifT1uMGzf+ftuyRfenp//+\n+DJltPl77rl60RYt9F2kUiVtJleqpIGUL68fE7K2smVPJNASJfIdaDHgd4MAndP+pawEmpqqSTQ1\n9fdbSsqJLev77H1WWfuyP3fyOVJTdf/JSTsjQ39vmZm6+d+cEPn9VqzYH/utSpXS30XFitrZn/Vx\n6owzdF/2x7PPPrGVK1fAP6yJVKFO+DuA6tm+j/PvM0Vg506dbblwoY7T3rBB9xcrpkP5OnTQ2lNZ\nW0Bdr8nJ+hFh1SrdVq/W7bffThxToYLeiWzZErp1O9FxXbOmtiZPP93bm3siJ5KnMVEo1An/e6CO\niNRGE30P4PYQXzNmHTumC0rPn6+JPivBn3WWDne+805dZLpFC829heacduwvXqzvJEuWaJLPyNDn\nTz9dl0b661+1v7duXbjwQm2522gNYzwT0oTvnMsQkX7AHHRY5njn3NpQXjPW7NmjExdnzNBEn5qq\nn+ovv1zLkLRvr633gG8QZn1cyNoSE3V/2bLaYh84UN9JmjbV7hhL7MaEnZD34TvnPgM+C/V1Ysm+\nfVpnavJkbWQ7pzn2vvugSxe47LIgzFBPT4f//hdmzdKaJ+v8A6vOOkvv2rZtq7N+Gje2mZLGRAj7\nnxohkpO1Jf/ee1ocKyNDc+1TT2nV2MaNg9CoPnJEa53MmqWlaQ8d0hupbdvq7J927bSrJqwWNTXG\n5Jcl/DC3di289Ra8/77m42rV4JFH4I47dBh0wFJStIbuBx/oY1qajrO86SZdsbpDBxvFYUyUsIQf\nhtLTtWLsm2/qwhWlS+uglrvugiuu0KHZAfH59MTvv6+rYhw5okN07r9f6+i2bh2Eixhjwo0l/DBy\n5Aj885/X6y84AAAO2klEQVTw2mt6j7RmTXjxRb35GpQJjXv36kpCY8fqNNoKFXSSTc+eWtjK+uKN\niWr2PzwM7NunSf7113VSZIcO8K9/wbXXBqGh7Rx8/TWMGaOt+fR0HcLz7LPabRM2K2IYY0LNEr6H\ndu6El1/WBndKija2hwzRNUYDlp4O06bByJFatrZSJejbF/r00XrkxpiYYwnfA4cOaaJ/5RW9R3rH\nHVpsMCh5+OhRGDdOT/7LL3rSceN0hQxrzRsT0yzhF6GUFL0R+/zzuqh0z57asxKUNZoPH4ZXX4XR\no/Ud5fLL9WLXXWfDKI0xgCX8IuEcTJoEgwdrzbCOHeGFF3RBi4AdO6ad/yNGaHW0Ll3g8cd19qsx\nxmRjTb8QW7dOJ6b27KmFCRcs0IlTASf75GTtn69dWxP8pZfC8uVaY8GSvTEmB5bwQ+TYMXjsMZ2Y\nunq1jrpZtkyTf0Cc07oKF12k9WuaN9fiZbNnB+lurzEmWlnCD4FPPtF8PGIE9Oqli4r06ROErvTv\nv4c2baBHDx118+WXMGeOlsA0xpg8WMIPogMHdDDMzTfrRKnFi3WATMCTpnbt0neOli11Oap//xtW\nrNDJUsYYk0+W8INk9mxdVGTaNHjmGW2Mt24d4El9Pu0LqldPS2MOHqwJ/29/s9IHxpgCs1E6ATp0\nCAYMgIkTtZjZZ58FafTN2rVw773w7bfakh8zRhcRMcaYQrIWfgCWLtWbsu+/D0OH6iCZgJN9Sgr8\n3//piTZs0No3CxZYsjfGBMxa+IXgHIwapT0scXHaCL/kkiCceNUqnXa7dq2uR/iPf+jK4sYYEwQB\ntfBFZISIbBCR/4nIJyJSMdtzQ0QkQUQ2ikjHwEMND/v3a5n4v/8dbrhBy9QEnOwzM7UsZsuWeuf3\n88/h3Xct2RtjgirQLp15QEPnXGPgJ2AIgIjURxcsbwBcA7wlIhF/l3HJEu1pmTNHqxh89BFUrJj3\nz53Sli26otSQITpLds0auOaaoMRrjDHZBZTwnXNznXMZ/m+XAnH+r7sAk51zqc65n4EEIKKnf779\ntublEiW0C+ehh4KwpOB77+lNgDVr9OupU3XNWGOMCYFg3rT9K/C5/+tqwPZszyX690WcjAx4+GEd\nCdm2rQ5/b9EiwJMmJ0Pv3vCXv+hM2TVrtO8+4HcQY4zJXZ43bUVkPnBuDk8Ndc7N9B8zFMgAPiho\nACLSB+gDUKNGjYL+eEgdOqSTWufM0Rb9P/4RhEWhEhJ0vcJVq7Qb59lnbaUpY0yRyDPTOOfan+p5\nEbkL6AS0c845/+4dQPVsh8X59+V0/rHAWID4+HiX0zFe+OknvTm7ebMuUNK7dxBO+vHHcPfdOmlq\n9my4/vognNQYY/In0FE61wCPAZ2dc0nZnpoF9BCR0iJSG6gDLAvkWkVpyRItT7N/vw6BDzjZZ2Zq\nobNbbtEiOz/8YMneGFPkAu1LeAMoDcwT7X9e6py7zzm3VkSmAuvQrp6+zrnMAK9VJD79VHtcqlXT\nrpyAFyc5ckQL7Hz6Kdx/v65EVapUUGI1xpiCCCjhO+cuOMVzw4HhgZy/qE2YoDdnmzbVEglnnx3g\nCbds0X6hDRvgrbc04RtjjEfsbiE6c/bll3XmbIcOOr6+QoUAT/r111o20+eDuXODUAjfGGMCE/O1\ndJzTWbODB8Ntt+m91ICT/YQJ0L691kX+7jtL9saYsBDTCd/ng379tC7OQw9pEbSAuted0xXK775b\nB+0vXQp16gQtXmOMCUTMJnyfD/r21a71xx7Te6kBrUjl80H//lo2s2dPvUkbcN0FY4wJnphM+D6f\n3j8dM0a7cl58McBJrqmp2h/0+uvwyCNa+MxG4hhjwkzM3bT1+XRdkXHjtDE+bFiAyf7IEbjpJl1f\ndsQIvSFgjDFhKKYSvs+nk6jGj9c1Rp55JsBkf+AAXH21lkmYOFFr4xhjTJiKmYTvnBZBGz8ennxS\nk31Afv1Vx3CuWwczZkCnTkGJ0xhjQiVmEv6wYfDaa5r0n346wJPt3avDLjdtglmzoGPUrO9ijIli\nMZHw33gDnnoKevWCkSMD7MbZvRvatYOff9ZB++3aBS1OY4wJpahP+B9+CA8+qItJjRsX4NDLnTt1\nElViotZeuOKKYIVpjDEhF9UJ/7PPtFV/xRUweXKAZef37IErr9Sk//nn0KZNsMI0xpgiEbUJ/7vv\noGtXXUFw5kwoUyaAkx08qKNxEhO1hOaf/xy0OI0xpqhEZcLfulWLVFatqq38008P4GTHjsF112nF\ny//8x5K9MSZiRV3CP3xYR0impsJXXwVY4jglBW68Eb7/HqZN01a+McZEqKhK+BkZcOutsHEjfPGF\nLi5VaOnp0L27Lnk1caLOpjXGmAgWNQnfOR2NM3eujsYJaLSkzwd//auOsX/jDZtBa4yJCkEpniYi\nj4qIE5HK2fYNEZEEEdkoIiGfmfTKK1oMbdAguOeeAE82dKjWSh42TEtqGmNMFAi4hS8i1YGrgV+y\n7asP9AAaAOcB80XkwlCta7toETz6qC4w9fzzAZ5szBgtn3nvvZr4jTEmSgSjhT8aeAxw2fZ1ASY7\n51Kdcz8DCUDLIFwrR61ba22c994LcGLV7Nnaor/+eu3KCWhKrjHGhJeAEr6IdAF2OOdWn/RUNWB7\ntu8T/ftConRprX5ZtmwAJ1m+XG/SNmsWhFlaxhgTfvLMaiIyHzg3h6eGAo+j3TmFJiJ9gD4ANWrU\nCORUhbd1q47lrFJFW/nly3sThzHGhFCeCd851z6n/SLSCKgNrBbt+ogDVopIS2AHUD3b4XH+fTmd\nfywwFiA+Pt7ldExIHT6sE6tSU2HhQjg3p/c2Y4yJfIXu0nHOrXHOne2cq+Wcq4V22zR3zu0GZgE9\nRKS0iNQG6gDLghJxMGVmwu23a5njTz6BevW8jsgYY0ImJB3Vzrm1IjIVWAdkAH1DNUInIE88obUX\n3nrLKl8aY6Je0BK+v5Wf/fvhwPBgnT/oJk06Mfzy/vu9jsYYY0IuKBOvIs6KFTqTtk0bXQbLGGNi\nQOwl/D17tCDa2WfD9OlQqpTXERljTJGIrcHmaWlwyy2wfz8sXhxgKU1jjIkssZXwBw+Gb7/ViVVN\nm3odjTHGFKnY6dL5+GMYPVpLanbv7nU0xhhT5GIj4W/eDHffDS1bwsiRXkdjjDGeiP6En5IC3bpB\n8eIwdardpDXGxKzo78Pv3x9++EHXo61Z0+tojDHGM9Hdwn//fRg7VldF6dTJ62iMMcZT0ZvwN27U\nWbRt2sBzz3kdjTHGeC46E35aGvTsCWXKaAkFq21vjDFR2of/1FNaPuHjj6FayNZdMcaYiBJ9LfxF\ni+Cll6B3b7jpJq+jMcaYsBFdCf/gQbjzTqhTRydZGWOMOS56unSc05u0u3fDkiVQrpzXERljTFiJ\nnoT/7rswbRq88ALEx3sdjTHGhJ3o6NLZvBn69dNVqwYO9DoaY4wJSwEnfBF5UEQ2iMhaEXk52/4h\nIpIgIhtFpGOg18nTpZdqK7948ZBfyhhjIlFAXToiciXQBWjinEsVkbP9++sDPYAGwHnAfBG5MGTr\n2p5/PsyZE5JTG2NMtAi0hX8/8KJzLhXAObfXv78LMNk5l+qc+xlIAFoGeC1jjDEBCDThXwi0EZHv\nROQrEWnh318N2J7tuET/PmOMMR7Js0tHROYD5+bw1FD/z58JtAJaAFNF5E8FCUBE+gB9AGrUqFGQ\nHzXGGFMAeSZ851z73J4TkfuBj51zDlgmIj6gMrADqJ7t0Dj/vpzOPxYYCxAfH+/yH7oxxpiCCLRL\nZwZwJYCIXAiUAn4FZgE9RKS0iNQG6gDLAryWMcaYAAQ68Wo8MF5EfgTSgF7+1v5aEZkKrAMygL4h\nG6FjjDEmXwJK+M65NOCOXJ4bDgwP5PzGGGOCJzpm2hpjjMmTaA9MeBCRfcC2AE5RGb2HEOmi5XWA\nvZZwFC2vA+y1ZKnpnKuS10FhlfADJSLLnXMRXzktWl4H2GsJR9HyOsBeS0FZl44xxsQIS/jGGBMj\noi3hj/U6gCCJltcB9lrCUbS8DrDXUiBR1YdvjDEmd9HWwjfGGJOLqEr4IjJMRP4nIqtEZK6InOd1\nTIUlIiP8C8v8T0Q+EZGKXsdUWCLSzb9Ajk9EIm5EhYhc41/IJ0FEBnsdT2GJyHgR2eufGR/RRKS6\niCwUkXX+f1v9vY6pMESkjIgsE5HV/tfxTEivF01dOiJyunPuiP/rh4D6zrn7PA6rUETkauBL51yG\niLwE4Jwb5HFYhSIi9QAf8C/g78655R6HlG8iUhz4CeiAlvn+HrjNObfO08AKQUQuB44B7zrnGnod\nTyBEpCpQ1Tm3UkQqACuAGyPt7yIiApRzzh0TkZLAN0B/59zSUFwvqlr4WcnerxwQse9mzrm5zrkM\n/7dL0YqjEck5t945t9HrOAqpJZDgnNviLyUyGV3gJ+I4574GDngdRzA453Y551b6vz4KrCcC19xw\n6pj/25L+LWR5K6oSPoCIDBeR7UBP4Emv4wmSvwKfex1EjLLFfMKciNQCmgHfeRtJ4YhIcRFZBewF\n5jnnQvY6Ii7hi8h8Efkxh60LgHNuqHOuOvAB0M/baE8tr9fiP2YoWnH0A+8izVt+XosxwSYi5YGP\ngAEnfcKPGM65TOdcU/RTfEsRCVl3W6DlkYvcqRZkOckHwGfAUyEMJyB5vRYRuQvoBLRzYX6zpQB/\nl0iT78V8TNHy93l/BHzgnPvY63gC5Zw7JCILgWuAkNxYj7gW/qmISJ1s33YBNngVS6BE5BrgMaCz\ncy7J63hi2PdAHRGpLSKlgB7oAj/GQ/6bnW8D651zo7yOp7BEpErWCDwROQ0dHBCyvBVto3Q+Auqi\nI0K2Afc55yKyNSYiCUBpYL9/19IIHnF0E/A6UAU4BKxyznX0Nqr8E5HrgFeA4sB4/1oPEUdEJgFX\noFUZ9wBPOefe9jSoQhKRPwP/Bdag/98BHnfOfeZdVAUnIo2Biei/rWLAVOfcsyG7XjQlfGOMMbmL\nqi4dY4wxubOEb4wxMcISvjHGxAhL+MYYEyMs4RtjTIywhG+MMTHCEr4xxsQIS/jGGBMj/h8fNpTE\n/JAtQgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 画出更新一次之后的模型\n", + "y_pred = multi_linear(x_train)\n", + "\n", + "plt.plot(x_train.data.numpy()[:, 0], y_pred.data.numpy(), label='fitting curve', color='r')\n", + "plt.plot(x_train.data.numpy()[:, 0], y_sample, label='real curve', color='b')\n", + "plt.legend()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "因为只更新了一次,所以两条曲线之间的差异仍然存在,我们进行 100 次迭代" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch 20, Loss: 73.67840\n", + "epoch 40, Loss: 17.97097\n", + "epoch 60, Loss: 4.94101\n", + "epoch 80, Loss: 1.87171\n", + "epoch 100, Loss: 1.12812\n" + ] + } + ], + "source": [ + "# 进行 100 次参数更新\n", + "for e in range(100):\n", + " y_pred = multi_linear(x_train)\n", + " loss = get_loss(y_pred, y_train)\n", + " \n", + " w.grad.data.zero_()\n", + " b.grad.data.zero_()\n", + " loss.backward()\n", + " \n", + " # 更新参数\n", + " w.data = w.data - 0.001 * w.grad.data\n", + " b.data = b.data - 0.001 * b.grad.data\n", + " if (e + 1) % 20 == 0:\n", + " print('epoch {}, Loss: {:.5f}'.format(e+1, loss.data[0]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到更新完成之后 loss 已经非常小了,我们画出更新之后的曲线对比" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAD8CAYAAAB0IB+mAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmcjXX/x/HXZxbr2Ee2wUgS2Zs0FJUldVeksiWpRIpC\nfkIjtLgjpdImqUiLEYWUiFCyhVIMsoUZOynLrGc+vz+uwz0VGXPOzDUz5/N8PK77nHOd61zfzxnd\n7/nO97qu7yWqijHGmPwvyO0CjDHG5AwLfGOMCRAW+MYYEyAs8I0xJkBY4BtjTICwwDfGmABhgW+M\nMQHCAt8YYwJEpgNfRN4VkYMisiHDutIi8rWIbPU+lsrw3lAR2SYiW0Skjb8LN8YYc2Eks1faikhz\n4ATwvqrW8a57HjiqqqNFZAhQSlUHi0ht4GOgMVARWAhcqqqef2sjPDxcIyMjs/xljDEmEK1du/aw\nqpY933Yhmd2hqn4rIpF/W90OuM77fAqwBBjsXT9NVZOBnSKyDSf8V/xbG5GRkaxZsyazJRljjAFE\nZFdmtvN1DL+cqu7zPt8PlPM+rwTsybBdvHedMcYYl/jtoK06Y0MXPBObiPQSkTUisubQoUP+KscY\nY8zf+Br4B0SkAoD38aB3fQJQOcN2Ed51/6CqE1U1SlWjypY97xCUMcaYLMr0GP45zAG6A6O9j7Mz\nrP9IRMbhHLStAazOSgOpqanEx8eTlJTkY6kmKwoVKkRERAShoaFul2KM8VGmA19EPsY5QBsuIvHA\nCJygny4iPYBdQEcAVd0oItOBOCAN6HO+M3TOJT4+nmLFihEZGYmIZGUXJotUlSNHjhAfH0+1atXc\nLscY46MLOUunyzneanmO7UcBo7JSVEZJSUkW9i4REcqUKYMdWzEmf8gTV9pa2LvHfvbG5B95IvCN\nMSZfGz8e5szJ9mYs8DNh/Pjx1KpVi65duzJnzhxGjx4NwKxZs4iLizuz3eTJk9m7d++Z1w888MBf\n3jfGmH/44w8GD0xjwphj2d6Ur2fpBIQ33niDhQsXEhERAUDbtm0BJ/BvueUWateuDTiBX6dOHSpW\nrAjApEmT3Ck4g7S0NEJC7J/ZmNxq76szGZf2CI9EHs32tqyHfx69e/dmx44d3HTTTbz00ktMnjyZ\nvn37snz5cubMmcOgQYNo0KABY8aMYc2aNXTt2pUGDRqQmJjIddddd2aqiLCwMGJiYqhfvz7R0dEc\nOHAAgO3btxMdHU3dunUZNmwYYWFhZ63j/fffp169etSvX59u3boBcO+99zJjxowz25z+7JIlS2jW\nrBlt27aldu3aDBkyhNdff/3MdiNHjuSFF14AYOzYsVx55ZXUq1ePESNG+P8HaIw5N1UmvJKEh2D6\nPlPu/Nv7KG91/fr3h59+8u8+GzSAl18+59sTJkzgq6++YvHixYSHhzN58mQAmjZtStu2bbnlllu4\n8847AZg3bx4vvPACUVFR/9jPyZMniY6OZtSoUTz++OO8/fbbDBs2jH79+tGvXz+6dOnChAkTzlrD\nxo0befbZZ1m+fDnh4eEcPXr+nsC6devYsGED1apV48cff6R///706dMHgOnTpzN//nwWLFjA1q1b\nWb16NapK27Zt+fbbb2nevPl592+M8V3y198y4fCd3NognosvrpLt7VkPP4cUKFCAW265BYArrriC\n3377DYAVK1bQoUMHAO66666zfvabb76hQ4cOhIeHA1C6dOnztte4ceMz5843bNiQgwcPsnfvXtav\nX0+pUqWoXLkyCxYsYMGCBTRs2JBGjRqxefNmtm7d6utXNcZkUuyTGzjERTw6Kvt795DXevj/0hPP\n7UJDQ8+c4hgcHExaWprP+wwJCSE9PR2A9PR0UlJSzrxXtGjRv2zboUMHZsyYwf79++nUqRPgXFg1\ndOhQHnzwQZ9rMcZcGN27j/Gro6ldZj8tbiqfI21aD98HxYoV4/jx4+d8nRnR0dHMnDkTgGnTpp11\nmxYtWvDJJ59w5MgRgDNDOpGRkaxduxaAOXPmkJqaes52OnXqxLRp05gxY8aZvyjatGnDu+++y4kT\nJwBISEjg4MGD59yHMcZ/Voycz1qu4NF+Qk5d7mKB74POnTszduxYGjZsyPbt27n33nvp3bv3mYO2\nmfHyyy8zbtw46tWrx7Zt2yhRosQ/trn88suJiYnh2muvpX79+jz22GMA9OzZk6VLl1K/fn1WrFjx\nj1793/dx/PhxKlWqRIUKFQC44YYbuOuuu2jSpAl169blzjvvvOBfWMaYLEhL45UPylAy5Dh3P5Yz\nwzlwAXe8yglRUVH69xugbNq0iVq1arlUUfY7deoUhQsXRkSYNm0aH3/8MbNnzz7/B3NQfv83MCan\nxb8zn8gHWjKg3U7Gzqrh8/5EZK2q/vNskb/JW2P4+dDatWvp27cvqkrJkiV599133S7JGJPN3hx1\n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\neQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 画出更新之后的结果\n", + "y_pred = multi_linear(x_train)\n", + "\n", + "plt.plot(x_train.data.numpy()[:, 0], y_pred.data.numpy(), label='fitting curve', color='r')\n", + "plt.plot(x_train.data.numpy()[:, 0], y_sample, label='real curve', color='b')\n", + "plt.legend()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到,经过 100 次更新之后,可以看到拟合的线和真实的线已经完全重合了" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "**小练习:上面的例子是一个三次的多项式,尝试使用二次的多项式去拟合它,看看最后能做到多好**\n", + "\n", + "**提示:参数 `w = torch.randn(2, 1)`,同时重新构建 x 数据集**" + ] + } + ], + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/1_NN/logistic-regression/data.txt b/2_pytorch/1_NN/logistic-regression/data.txt new file mode 100644 index 0000000..3a5f952 --- /dev/null +++ b/2_pytorch/1_NN/logistic-regression/data.txt @@ -0,0 +1,100 @@ +34.62365962451697,78.0246928153624,0 +30.28671076822607,43.89499752400101,0 +35.84740876993872,72.90219802708364,0 +60.18259938620976,86.30855209546826,1 +79.0327360507101,75.3443764369103,1 +45.08327747668339,56.3163717815305,0 +61.10666453684766,96.51142588489624,1 +75.02474556738889,46.55401354116538,1 +76.09878670226257,87.42056971926803,1 +84.43281996120035,43.53339331072109,1 +95.86155507093572,38.22527805795094,0 +75.01365838958247,30.60326323428011,0 +82.30705337399482,76.48196330235604,1 +69.36458875970939,97.71869196188608,1 +39.53833914367223,76.03681085115882,0 +53.9710521485623,89.20735013750205,1 +69.07014406283025,52.74046973016765,1 +67.94685547711617,46.67857410673128,0 +70.66150955499435,92.92713789364831,1 +76.97878372747498,47.57596364975532,1 +67.37202754570876,42.83843832029179,0 +89.67677575072079,65.79936592745237,1 +50.534788289883,48.85581152764205,0 +34.21206097786789,44.20952859866288,0 +77.9240914545704,68.9723599933059,1 +62.27101367004632,69.95445795447587,1 +80.1901807509566,44.82162893218353,1 +93.114388797442,38.80067033713209,0 +61.83020602312595,50.25610789244621,0 +38.78580379679423,64.99568095539578,0 +61.379289447425,72.80788731317097,1 +85.40451939411645,57.05198397627122,1 +52.10797973193984,63.12762376881715,0 +52.04540476831827,69.43286012045222,1 +40.23689373545111,71.16774802184875,0 +54.63510555424817,52.21388588061123,0 +33.91550010906887,98.86943574220611,0 +64.17698887494485,80.90806058670817,1 +74.78925295941542,41.57341522824434,0 +34.1836400264419,75.2377203360134,0 +83.90239366249155,56.30804621605327,1 +51.54772026906181,46.85629026349976,0 +94.44336776917852,65.56892160559052,1 +82.36875375713919,40.61825515970618,0 +51.04775177128865,45.82270145776001,0 +62.22267576120188,52.06099194836679,0 +77.19303492601364,70.45820000180959,1 +97.77159928000232,86.7278223300282,1 +62.07306379667647,96.76882412413983,1 +91.56497449807442,88.69629254546599,1 +79.94481794066932,74.16311935043758,1 +99.2725269292572,60.99903099844988,1 +90.54671411399852,43.39060180650027,1 +34.52451385320009,60.39634245837173,0 +50.2864961189907,49.80453881323059,0 +49.58667721632031,59.80895099453265,0 +97.64563396007767,68.86157272420604,1 +32.57720016809309,95.59854761387875,0 +74.24869136721598,69.82457122657193,1 +71.79646205863379,78.45356224515052,1 +75.3956114656803,85.75993667331619,1 +35.28611281526193,47.02051394723416,0 +56.25381749711624,39.26147251058019,0 +30.05882244669796,49.59297386723685,0 +44.66826172480893,66.45008614558913,0 +66.56089447242954,41.09209807936973,0 +40.45755098375164,97.53518548909936,1 +49.07256321908844,51.88321182073966,0 +80.27957401466998,92.11606081344084,1 +66.74671856944039,60.99139402740988,1 +32.72283304060323,43.30717306430063,0 +64.0393204150601,78.03168802018232,1 +72.34649422579923,96.22759296761404,1 +60.45788573918959,73.09499809758037,1 +58.84095621726802,75.85844831279042,1 +99.82785779692128,72.36925193383885,1 +47.26426910848174,88.47586499559782,1 +50.45815980285988,75.80985952982456,1 +60.45555629271532,42.50840943572217,0 +82.22666157785568,42.71987853716458,0 +88.9138964166533,69.80378889835472,1 +94.83450672430196,45.69430680250754,1 +67.31925746917527,66.58935317747915,1 +57.23870631569862,59.51428198012956,1 +80.36675600171273,90.96014789746954,1 +68.46852178591112,85.59430710452014,1 +42.0754545384731,78.84478600148043,0 +75.47770200533905,90.42453899753964,1 +78.63542434898018,96.64742716885644,1 +52.34800398794107,60.76950525602592,0 +94.09433112516793,77.15910509073893,1 +90.44855097096364,87.50879176484702,1 +55.48216114069585,35.57070347228866,0 +74.49269241843041,84.84513684930135,1 +89.84580670720979,45.35828361091658,1 +83.48916274498238,48.38028579728175,1 +42.2617008099817,87.10385094025457,1 +99.31500880510394,68.77540947206617,1 +55.34001756003703,64.9319380069486,1 +74.77589300092767,89.52981289513276,1 diff --git a/2_pytorch/1_NN/logistic-regression/logistic-regression.ipynb b/2_pytorch/1_NN/logistic-regression/logistic-regression.ipynb new file mode 100644 index 0000000..25465b9 --- /dev/null +++ b/2_pytorch/1_NN/logistic-regression/logistic-regression.ipynb @@ -0,0 +1,743 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Logistic 回归模型" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "上一节课我们学习了简单的线性回归模型,这一次课中,我们会学习第二个模型,Logistic 回归模型。\n", + "\n", + "Logistic 回归是一种广义的回归模型,其与多元线性回归有着很多相似之处,模型的形式基本相同,虽然也被称为回归,但是其更多的情况使用在分类问题上,同时又以二分类更为常用。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 模型形式\n", + "Logistic 回归的模型形式和线性回归一样,都是 y = wx + b,其中 x 可以是一个多维的特征,唯一不同的地方在于 Logistic 回归会对 y 作用一个 logistic 函数,将其变为一种概率的结果。 Logistic 函数作为 Logistic 回归的核心,我们下面讲一讲 Logistic 函数,也被称为 Sigmoid 函数。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Sigmoid 函数\n", + "Sigmoid 函数非常简单,其公式如下\n", + "\n", + "$$\n", + "f(x) = \\frac{1}{1 + e^{-x}}\n", + "$$\n", + "\n", + "Sigmoid 函数的图像如下\n", + "\n", + "![](https://ws2.sinaimg.cn/large/006tKfTcly1fmd3dde091g30du060mx0.gif)\n", + "\n", + "可以看到 Sigmoid 函数的范围是在 0 ~ 1 之间,所以任何一个值经过了 Sigmoid 函数的作用,都会变成 0 ~ 1 之间的一个值,这个值可以形象地理解为一个概率,比如对于二分类问题,这个值越小就表示属于第一类,这个值越大就表示属于第二类。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "另外一个 Logistic 回归的前提是确保你的数据具有非常良好的线性可分性,也就是说,你的数据集能够在一定的维度上被分为两个部分,比如\n", + "\n", + "![](https://ws1.sinaimg.cn/large/006tKfTcly1fmd3gwdueoj30aw0aewex.jpg)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到,上面红色的点和蓝色的点能够几乎被一个绿色的平面分割开来" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 回归问题 vs 分类问题\n", + "Logistic 回归处理的是一个分类问题,而上一个模型是回归模型,那么回归问题和分类问题的区别在哪里呢?\n", + "\n", + "从上面的图可以看出,分类问题希望把数据集分到某一类,比如一个 3 分类问题,那么对于任何一个数据点,我们都希望找到其到底属于哪一类,最终的结果只有三种情况,{0, 1, 2},所以这是一个离散的问题。\n", + "\n", + "而回归问题是一个连续的问题,比如曲线的拟合,我们可以拟合任意的函数结果,这个结果是一个连续的值。\n", + "\n", + "分类问题和回归问题是机器学习和深度学习的第一步,拿到任何一个问题,我们都需要先确定其到底是分类还是回归,然后再进行算法设计" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 损失函数\n", + "前一节对于回归问题,我们有一个 loss 去衡量误差,那么对于分类问题,我们如何去衡量这个误差,并设计 loss 函数呢?\n", + "\n", + "Logistic 回归使用了 Sigmoid 函数将结果变到 0 ~ 1 之间,对于任意输入一个数据,经过 Sigmoid 之后的结果我们记为 $\\hat{y}$,表示这个数据点属于第二类的概率,那么其属于第一类的概率就是 $1-\\hat{y}$。如果这个数据点属于第二类,我们希望 $\\hat{y}$ 越大越好,也就是越靠近 1 越好,如果这个数据属于第一类,那么我们希望 $1-\\hat{y}$ 越大越好,也就是 $\\hat{y}$ 越小越好,越靠近 0 越好,所以我们可以这样设计我们的 loss 函数\n", + "\n", + "$$\n", + "loss = -(y * log(\\hat{y}) + (1 - y) * log(1 - \\hat{y}))\n", + "$$\n", + "\n", + "其中 y 表示真实的 label,只能取 {0, 1} 这两个值,因为 $\\hat{y}$ 表示经过 Logistic 回归预测之后的结果,是一个 0 ~ 1 之间的小数。如果 y 是 0,表示该数据属于第一类,我们希望 $\\hat{y}$ 越小越好,上面的 loss 函数变为\n", + "\n", + "$$\n", + "loss = - (log(1 - \\hat{y}))\n", + "$$\n", + "\n", + "在训练模型的时候我们希望最小化 loss 函数,根据 log 函数的单调性,也就是最小化 $\\hat{y}$,与我们的要求是一致的。\n", + "\n", + "而如果 y 是 1,表示该数据属于第二类,我们希望 $\\hat{y}$ 越大越好,同时上面的 loss 函数变为\n", + "\n", + "$$\n", + "loss = -(log(\\hat{y}))\n", + "$$\n", + "\n", + "我们希望最小化 loss 函数也就是最大化 $\\hat{y}$,这也与我们的要求一致。\n", + "\n", + "所以通过上面的论述,说明了这么构建 loss 函数是合理的。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "下面我们通过例子来具体学习 Logistic 回归" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import torch\n", + "from torch.autograd import Variable\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 设定随机种子\n", + "torch.manual_seed(2017)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "我们从 data.txt 读入数据,感兴趣的同学可以打开 data.txt 文件进行查看\n", + "\n", + "读入数据点之后我们根据不同的 label 将数据点分为了红色和蓝色,并且画图展示出来了" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\ngeA7hAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 从 data.txt 中读入点\n", + "with open('./data.txt', 'r') as f:\n", + " data_list = [i.split('\\n')[0].split(',') for i in f.readlines()]\n", + " data = [(float(i[0]), float(i[1]), float(i[2])) for i in data_list]\n", + "\n", + "# 标准化\n", + "x0_max = max([i[0] for i in data])\n", + "x1_max = max([i[1] for i in data])\n", + "data = [(i[0]/x0_max, i[1]/x1_max, i[2]) for i in data]\n", + "\n", + "x0 = list(filter(lambda x: x[-1] == 0.0, data)) # 选择第一类的点\n", + "x1 = list(filter(lambda x: x[-1] == 1.0, data)) # 选择第二类的点\n", + "\n", + "plot_x0 = [i[0] for i in x0]\n", + "plot_y0 = [i[1] for i in x0]\n", + "plot_x1 = [i[0] for i in x1]\n", + "plot_y1 = [i[1] for i in x1]\n", + "\n", + "plt.plot(plot_x0, plot_y0, 'ro', label='x_0')\n", + "plt.plot(plot_x1, plot_y1, 'bo', label='x_1')\n", + "plt.legend(loc='best')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "接下来我们将数据转换成 NumPy 的类型,接着转换到 Tensor 为之后的训练做准备" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "np_data = np.array(data, dtype='float32') # 转换成 numpy array\n", + "x_data = torch.from_numpy(np_data[:, 0:2]) # 转换成 Tensor, 大小是 [100, 2]\n", + "y_data = torch.from_numpy(np_data[:, -1]).unsqueeze(1) # 转换成 Tensor,大小是 [100, 1]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "下面我们来实现以下 Sigmoid 的函数,Sigmoid 函数的公式为\n", + "\n", + "$$\n", + "f(x) = \\frac{1}{1 + e^{-x}}\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 定义 sigmoid 函数\n", + "def sigmoid(x):\n", + " return 1 / (1 + np.exp(-x))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "画出 Sigmoid 函数,可以看到值越大,经过 Sigmoid 函数之后越靠近 1,值越小,越靠近 0" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nAzXYfAgnMBMxAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 画出 sigmoid 的图像\n", + "\n", + "plot_x = np.arange(-10, 10.01, 0.01)\n", + "plot_y = sigmoid(plot_x)\n", + "\n", + "plt.plot(plot_x, plot_y, 'r')" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "x_data = Variable(x_data)\n", + "y_data = Variable(y_data)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "在 PyTorch 当中,不需要我们自己写 Sigmoid 的函数,PyTorch 已经用底层的 C++ 语言为我们写好了一些常用的函数,不仅方便我们使用,同时速度上比我们自己实现的更快,稳定性更好\n", + "\n", + "通过导入 `torch.nn.functional` 来使用,下面就是使用方法" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import torch.nn.functional as F" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "# 定义 logistic 回归模型\n", + "w = Variable(torch.randn(2, 1), requires_grad=True) \n", + "b = Variable(torch.zeros(1), requires_grad=True)\n", + "\n", + "def logistic_regression(x):\n", + " return F.sigmoid(torch.mm(x, w) + b)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "在更新之前,我们可以画出分类的效果" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 画出参数更新之前的结果\n", + "w0 = w[0].data[0]\n", + "w1 = w[1].data[0]\n", + "b0 = b.data[0]\n", + "\n", + "plot_x = np.arange(0.2, 1, 0.01)\n", + "plot_y = (-w0 * plot_x - b0) / w1\n", + "\n", + "plt.plot(plot_x, plot_y, 'g', label='cutting line')\n", + "plt.plot(plot_x0, plot_y0, 'ro', label='x_0')\n", + "plt.plot(plot_x1, plot_y1, 'bo', label='x_1')\n", + "plt.legend(loc='best')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到分类效果基本是混乱的,我们来计算一下 loss,公式如下\n", + "\n", + "$$\n", + "loss = -(y * log(\\hat{y}) + (1 - y) * log(1 - \\hat{y}))\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 计算loss\n", + "def binary_loss(y_pred, y):\n", + " logits = (y * y_pred.clamp(1e-12).log() + (1 - y) * (1 - y_pred).clamp(1e-12).log()).mean()\n", + " return -logits" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "注意到其中使用 `.clamp`,这是[文档](http://pytorch.org/docs/0.3.0/torch.html?highlight=clamp#torch.clamp)的内容,查看一下,并且思考一下这里是否一定要使用这个函数,如果不使用会出现什么样的结果\n", + "\n", + "**提示:查看一个 log 函数的图像**" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Variable containing:\n", + " 0.6412\n", + "[torch.FloatTensor of size 1]\n", + "\n" + ] + } + ], + "source": [ + "y_pred = logistic_regression(x_data)\n", + "loss = binary_loss(y_pred, y_data)\n", + "print(loss)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "得到 loss 之后,我们还是使用梯度下降法更新参数,这里可以使用自动求导来直接得到参数的导数,感兴趣的同学可以去手动推导一下导数的公式" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Variable containing:\n", + " 0.6407\n", + "[torch.FloatTensor of size 1]\n", + "\n" + ] + } + ], + "source": [ + "# 自动求导并更新参数\n", + "loss.backward()\n", + "w.data = w.data - 0.1 * w.grad.data\n", + "b.data = b.data - 0.1 * b.grad.data\n", + "\n", + "# 算出一次更新之后的loss\n", + "y_pred = logistic_regression(x_data)\n", + "loss = binary_loss(y_pred, y_data)\n", + "print(loss)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "上面的参数更新方式其实是繁琐的重复操作,如果我们的参数很多,比如有 100 个,那么我们需要写 100 行来更新参数,为了方便,我们可以写成一个函数来更新,其实 PyTorch 已经为我们封装了一个函数来做这件事,这就是 PyTorch 中的优化器 `torch.optim`\n", + "\n", + "使用 `torch.optim` 需要另外一个数据类型,就是 `nn.Parameter`,这个本质上和 Variable 是一样的,只不过 `nn.Parameter` 默认是要求梯度的,而 Variable 默认是不求梯度的\n", + "\n", + "使用 `torch.optim.SGD` 可以使用梯度下降法来更新参数,PyTorch 中的优化器有更多的优化算法,在本章后面的课程我们会更加详细的介绍\n", + "\n", + "将参数 w 和 b 放到 `torch.optim.SGD` 中之后,说明一下学习率的大小,就可以使用 `optimizer.step()` 来更新参数了,比如下面我们将参数传入优化器,学习率设置为 1.0" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "# 使用 torch.optim 更新参数\n", + "from torch import nn\n", + "w = nn.Parameter(torch.randn(2, 1))\n", + "b = nn.Parameter(torch.zeros(1))\n", + "\n", + "def logistic_regression(x):\n", + " return F.sigmoid(torch.mm(x, w) + b)\n", + "\n", + "optimizer = torch.optim.SGD([w, b], lr=1.)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch: 200, Loss: 0.39730, Acc: 0.92000\n", + "epoch: 400, Loss: 0.32458, Acc: 0.92000\n", + "epoch: 600, Loss: 0.29065, Acc: 0.91000\n", + "epoch: 800, Loss: 0.27077, Acc: 0.91000\n", + "epoch: 1000, Loss: 0.25765, Acc: 0.90000\n", + "\n", + "During Time: 0.595 s\n" + ] + } + ], + "source": [ + "# 进行 1000 次更新\n", + "import time\n", + "\n", + "start = time.time()\n", + "for e in range(1000):\n", + " # 前向传播\n", + " y_pred = logistic_regression(x_data)\n", + " loss = binary_loss(y_pred, y_data) # 计算 loss\n", + " # 反向传播\n", + " optimizer.zero_grad() # 使用优化器将梯度归 0\n", + " loss.backward()\n", + " optimizer.step() # 使用优化器来更新参数\n", + " # 计算正确率\n", + " mask = y_pred.ge(0.5).float()\n", + " acc = (mask == y_data).sum().data[0] / y_data.shape[0]\n", + " if (e + 1) % 200 == 0:\n", + " print('epoch: {}, Loss: {:.5f}, Acc: {:.5f}'.format(e+1, loss.data[0], acc))\n", + "during = time.time() - start\n", + "print()\n", + "print('During Time: {:.3f} s'.format(during))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到使用优化器之后更新参数非常简单,只需要在自动求导之前使用**`optimizer.zero_grad()`** 来归 0 梯度,然后使用 **`optimizer.step()`**来更新参数就可以了,非常简便\n", + "\n", + "同时经过了 1000 次更新,loss 也降得比较低了" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "下面我们画出更新之后的结果" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 画出更新之后的结果\n", + "w0 = w[0].data[0]\n", + "w1 = w[1].data[0]\n", + "b0 = b.data[0]\n", + "\n", + "plot_x = np.arange(0.2, 1, 0.01)\n", + "plot_y = (-w0 * plot_x - b0) / w1\n", + "\n", + "plt.plot(plot_x, plot_y, 'g', label='cutting line')\n", + "plt.plot(plot_x0, plot_y0, 'ro', label='x_0')\n", + "plt.plot(plot_x1, plot_y1, 'bo', label='x_1')\n", + "plt.legend(loc='best')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到更新之后模型已经能够基本将这两类点分开了" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "前面我们使用了自己写的 loss,其实 PyTorch 已经为我们写好了一些常见的 loss,比如线性回归里面的 loss 是 `nn.MSE()`,而 Logistic 回归的二分类 loss 在 PyTorch 中是 `nn.BCEWithLogitsLoss()`,关于更多的 loss,可以查看[文档](http://pytorch.org/docs/0.3.0/nn.html#loss-functions)\n", + "\n", + "PyTorch 为我们实现的 loss 函数有两个好处,第一是方便我们使用,不需要重复造轮子,第二就是其实现是在底层 C++ 语言上的,所以速度上和稳定性上都要比我们自己实现的要好\n", + "\n", + "另外,PyTorch 出于稳定性考虑,将模型的 Sigmoid 操作和最后的 loss 都合在了 `nn.BCEWithLogitsLoss()`,所以我们使用 PyTorch 自带的 loss 就不需要再加上 Sigmoid 操作了" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 使用自带的loss\n", + "criterion = nn.BCEWithLogitsLoss() # 将 sigmoid 和 loss 写在一层,有更快的速度、更好的稳定性\n", + "\n", + "w = nn.Parameter(torch.randn(2, 1))\n", + "b = nn.Parameter(torch.zeros(1))\n", + "\n", + "def logistic_reg(x):\n", + " return torch.mm(x, w) + b\n", + "\n", + "optimizer = torch.optim.SGD([w, b], 1.)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + " 0.6363\n", + "[torch.FloatTensor of size 1]\n", + "\n" + ] + } + ], + "source": [ + "y_pred = logistic_reg(x_data)\n", + "loss = criterion(y_pred, y_data)\n", + "print(loss.data)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch: 200, Loss: 0.39538, Acc: 0.88000\n", + "epoch: 400, Loss: 0.32407, Acc: 0.87000\n", + "epoch: 600, Loss: 0.29039, Acc: 0.87000\n", + "epoch: 800, Loss: 0.27061, Acc: 0.87000\n", + "epoch: 1000, Loss: 0.25753, Acc: 0.88000\n", + "\n", + "During Time: 0.527 s\n" + ] + } + ], + "source": [ + "# 同样进行 1000 次更新\n", + "\n", + "start = time.time()\n", + "for e in range(1000):\n", + " # 前向传播\n", + " y_pred = logistic_reg(x_data)\n", + " loss = criterion(y_pred, y_data)\n", + " # 反向传播\n", + " optimizer.zero_grad()\n", + " loss.backward()\n", + " optimizer.step()\n", + " # 计算正确率\n", + " mask = y_pred.ge(0.5).float()\n", + " acc = (mask == y_data).sum().data[0] / y_data.shape[0]\n", + " if (e + 1) % 200 == 0:\n", + " print('epoch: {}, Loss: {:.5f}, Acc: {:.5f}'.format(e+1, loss.data[0], acc))\n", + "\n", + "during = time.time() - start\n", + "print()\n", + "print('During Time: {:.3f} s'.format(during))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到,使用了 PyTorch 自带的 loss 之后,速度有了一定的上升,虽然看上去速度的提升并不多,但是这只是一个小网络,对于大网络,使用自带的 loss 不管对于稳定性还是速度而言,都有质的飞跃,同时也避免了重复造轮子的困扰" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "下一节课我们会介绍 PyTorch 中构建模型的模块 `Sequential` 和 `Module`,使用这个可以帮助我们更方便地构建模型" + ] + } + ], + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/1_NN/logistic-regression/logistic-regression.py b/2_pytorch/1_NN/logistic-regression/logistic-regression.py new file mode 100644 index 0000000..60f0178 --- /dev/null +++ b/2_pytorch/1_NN/logistic-regression/logistic-regression.py @@ -0,0 +1,332 @@ +# -*- coding: utf-8 -*- +# --- +# jupyter: +# jupytext_format_version: '1.2' +# 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.5.2 +# --- + +# # Logistic 回归模型 + +# 上一节课我们学习了简单的线性回归模型,这一次课中,我们会学习第二个模型,Logistic 回归模型。 +# +# Logistic 回归是一种广义的回归模型,其与多元线性回归有着很多相似之处,模型的形式基本相同,虽然也被称为回归,但是其更多的情况使用在分类问题上,同时又以二分类更为常用。 + +# ## 模型形式 +# Logistic 回归的模型形式和线性回归一样,都是 y = wx + b,其中 x 可以是一个多维的特征,唯一不同的地方在于 Logistic 回归会对 y 作用一个 logistic 函数,将其变为一种概率的结果。 Logistic 函数作为 Logistic 回归的核心,我们下面讲一讲 Logistic 函数,也被称为 Sigmoid 函数。 + +# ### Sigmoid 函数 +# Sigmoid 函数非常简单,其公式如下 +# +# $$ +# f(x) = \frac{1}{1 + e^{-x}} +# $$ +# +# Sigmoid 函数的图像如下 +# +# ![](https://ws2.sinaimg.cn/large/006tKfTcly1fmd3dde091g30du060mx0.gif) +# +# 可以看到 Sigmoid 函数的范围是在 0 ~ 1 之间,所以任何一个值经过了 Sigmoid 函数的作用,都会变成 0 ~ 1 之间的一个值,这个值可以形象地理解为一个概率,比如对于二分类问题,这个值越小就表示属于第一类,这个值越大就表示属于第二类。 + +# 另外一个 Logistic 回归的前提是确保你的数据具有非常良好的线性可分性,也就是说,你的数据集能够在一定的维度上被分为两个部分,比如 +# +# ![](https://ws1.sinaimg.cn/large/006tKfTcly1fmd3gwdueoj30aw0aewex.jpg) + +# 可以看到,上面红色的点和蓝色的点能够几乎被一个绿色的平面分割开来 + +# ## 回归问题 vs 分类问题 +# Logistic 回归处理的是一个分类问题,而上一个模型是回归模型,那么回归问题和分类问题的区别在哪里呢? +# +# 从上面的图可以看出,分类问题希望把数据集分到某一类,比如一个 3 分类问题,那么对于任何一个数据点,我们都希望找到其到底属于哪一类,最终的结果只有三种情况,{0, 1, 2},所以这是一个离散的问题。 +# +# 而回归问题是一个连续的问题,比如曲线的拟合,我们可以拟合任意的函数结果,这个结果是一个连续的值。 +# +# 分类问题和回归问题是机器学习和深度学习的第一步,拿到任何一个问题,我们都需要先确定其到底是分类还是回归,然后再进行算法设计 + +# ## 损失函数 +# 前一节对于回归问题,我们有一个 loss 去衡量误差,那么对于分类问题,我们如何去衡量这个误差,并设计 loss 函数呢? +# +# Logistic 回归使用了 Sigmoid 函数将结果变到 0 ~ 1 之间,对于任意输入一个数据,经过 Sigmoid 之后的结果我们记为 $\hat{y}$,表示这个数据点属于第二类的概率,那么其属于第一类的概率就是 $1-\hat{y}$。如果这个数据点属于第二类,我们希望 $\hat{y}$ 越大越好,也就是越靠近 1 越好,如果这个数据属于第一类,那么我们希望 $1-\hat{y}$ 越大越好,也就是 $\hat{y}$ 越小越好,越靠近 0 越好,所以我们可以这样设计我们的 loss 函数 +# +# $$ +# loss = -(y * log(\hat{y}) + (1 - y) * log(1 - \hat{y})) +# $$ +# +# 其中 y 表示真实的 label,只能取 {0, 1} 这两个值,因为 $\hat{y}$ 表示经过 Logistic 回归预测之后的结果,是一个 0 ~ 1 之间的小数。如果 y 是 0,表示该数据属于第一类,我们希望 $\hat{y}$ 越小越好,上面的 loss 函数变为 +# +# $$ +# loss = - (log(1 - \hat{y})) +# $$ +# +# 在训练模型的时候我们希望最小化 loss 函数,根据 log 函数的单调性,也就是最小化 $\hat{y}$,与我们的要求是一致的。 +# +# 而如果 y 是 1,表示该数据属于第二类,我们希望 $\hat{y}$ 越大越好,同时上面的 loss 函数变为 +# +# $$ +# loss = -(log(\hat{y})) +# $$ +# +# 我们希望最小化 loss 函数也就是最大化 $\hat{y}$,这也与我们的要求一致。 +# +# 所以通过上面的论述,说明了这么构建 loss 函数是合理的。 + +# 下面我们通过例子来具体学习 Logistic 回归 + +import torch +from torch.autograd import Variable +import numpy as np +import matplotlib.pyplot as plt +# %matplotlib inline + +# 设定随机种子 +torch.manual_seed(2017) + +# 我们从 data.txt 读入数据,感兴趣的同学可以打开 data.txt 文件进行查看 +# +# 读入数据点之后我们根据不同的 label 将数据点分为了红色和蓝色,并且画图展示出来了 + +# + +# 从 data.txt 中读入点 +with open('./data.txt', 'r') as f: + data_list = [i.split('\n')[0].split(',') for i in f.readlines()] + data = [(float(i[0]), float(i[1]), float(i[2])) for i in data_list] + +# 标准化 +x0_max = max([i[0] for i in data]) +x1_max = max([i[1] for i in data]) +data = [(i[0]/x0_max, i[1]/x1_max, i[2]) for i in data] + +x0 = list(filter(lambda x: x[-1] == 0.0, data)) # 选择第一类的点 +x1 = list(filter(lambda x: x[-1] == 1.0, data)) # 选择第二类的点 + +plot_x0 = [i[0] for i in x0] +plot_y0 = [i[1] for i in x0] +plot_x1 = [i[0] for i in x1] +plot_y1 = [i[1] for i in x1] + +plt.plot(plot_x0, plot_y0, 'ro', label='x_0') +plt.plot(plot_x1, plot_y1, 'bo', label='x_1') +plt.legend(loc='best') +# - + +# 接下来我们将数据转换成 NumPy 的类型,接着转换到 Tensor 为之后的训练做准备 + +np_data = np.array(data, dtype='float32') # 转换成 numpy array +x_data = torch.from_numpy(np_data[:, 0:2]) # 转换成 Tensor, 大小是 [100, 2] +y_data = torch.from_numpy(np_data[:, -1]).unsqueeze(1) # 转换成 Tensor,大小是 [100, 1] + +# 下面我们来实现以下 Sigmoid 的函数,Sigmoid 函数的公式为 +# +# $$ +# f(x) = \frac{1}{1 + e^{-x}} +# $$ + +# 定义 sigmoid 函数 +def sigmoid(x): + return 1 / (1 + np.exp(-x)) + +# 画出 Sigmoid 函数,可以看到值越大,经过 Sigmoid 函数之后越靠近 1,值越小,越靠近 0 + +# + +# 画出 sigmoid 的图像 + +plot_x = np.arange(-10, 10.01, 0.01) +plot_y = sigmoid(plot_x) + +plt.plot(plot_x, plot_y, 'r') +# - + +x_data = Variable(x_data) +y_data = Variable(y_data) + +# 在 PyTorch 当中,不需要我们自己写 Sigmoid 的函数,PyTorch 已经用底层的 C++ 语言为我们写好了一些常用的函数,不仅方便我们使用,同时速度上比我们自己实现的更快,稳定性更好 +# +# 通过导入 `torch.nn.functional` 来使用,下面就是使用方法 + +import torch.nn.functional as F + +# + +# 定义 logistic 回归模型 +w = Variable(torch.randn(2, 1), requires_grad=True) +b = Variable(torch.zeros(1), requires_grad=True) + +def logistic_regression(x): + return F.sigmoid(torch.mm(x, w) + b) +# - + +# 在更新之前,我们可以画出分类的效果 + +# + +# 画出参数更新之前的结果 +w0 = w[0].data[0] +w1 = w[1].data[0] +b0 = b.data[0] + +plot_x = np.arange(0.2, 1, 0.01) +plot_y = (-w0 * plot_x - b0) / w1 + +plt.plot(plot_x, plot_y, 'g', label='cutting line') +plt.plot(plot_x0, plot_y0, 'ro', label='x_0') +plt.plot(plot_x1, plot_y1, 'bo', label='x_1') +plt.legend(loc='best') +# - + +# 可以看到分类效果基本是混乱的,我们来计算一下 loss,公式如下 +# +# $$ +# loss = -(y * log(\hat{y}) + (1 - y) * log(1 - \hat{y})) +# $$ + +# 计算loss +def binary_loss(y_pred, y): + logits = (y * y_pred.clamp(1e-12).log() + (1 - y) * (1 - y_pred).clamp(1e-12).log()).mean() + return -logits + +# 注意到其中使用 `.clamp`,这是[文档](http://pytorch.org/docs/0.3.0/torch.html?highlight=clamp#torch.clamp)的内容,查看一下,并且思考一下这里是否一定要使用这个函数,如果不使用会出现什么样的结果 +# +# **提示:查看一个 log 函数的图像** + +y_pred = logistic_regression(x_data) +loss = binary_loss(y_pred, y_data) +print(loss) + +# 得到 loss 之后,我们还是使用梯度下降法更新参数,这里可以使用自动求导来直接得到参数的导数,感兴趣的同学可以去手动推导一下导数的公式 + +# + +# 自动求导并更新参数 +loss.backward() +w.data = w.data - 0.1 * w.grad.data +b.data = b.data - 0.1 * b.grad.data + +# 算出一次更新之后的loss +y_pred = logistic_regression(x_data) +loss = binary_loss(y_pred, y_data) +print(loss) +# - + +# 上面的参数更新方式其实是繁琐的重复操作,如果我们的参数很多,比如有 100 个,那么我们需要写 100 行来更新参数,为了方便,我们可以写成一个函数来更新,其实 PyTorch 已经为我们封装了一个函数来做这件事,这就是 PyTorch 中的优化器 `torch.optim` +# +# 使用 `torch.optim` 需要另外一个数据类型,就是 `nn.Parameter`,这个本质上和 Variable 是一样的,只不过 `nn.Parameter` 默认是要求梯度的,而 Variable 默认是不求梯度的 +# +# 使用 `torch.optim.SGD` 可以使用梯度下降法来更新参数,PyTorch 中的优化器有更多的优化算法,在本章后面的课程我们会更加详细的介绍 +# +# 将参数 w 和 b 放到 `torch.optim.SGD` 中之后,说明一下学习率的大小,就可以使用 `optimizer.step()` 来更新参数了,比如下面我们将参数传入优化器,学习率设置为 1.0 + +# + +# 使用 torch.optim 更新参数 +from torch import nn +w = nn.Parameter(torch.randn(2, 1)) +b = nn.Parameter(torch.zeros(1)) + +def logistic_regression(x): + return F.sigmoid(torch.mm(x, w) + b) + +optimizer = torch.optim.SGD([w, b], lr=1.) + +# + +# 进行 1000 次更新 +import time + +start = time.time() +for e in range(1000): + # 前向传播 + y_pred = logistic_regression(x_data) + loss = binary_loss(y_pred, y_data) # 计算 loss + # 反向传播 + optimizer.zero_grad() # 使用优化器将梯度归 0 + loss.backward() + optimizer.step() # 使用优化器来更新参数 + # 计算正确率 + mask = y_pred.ge(0.5).float() + acc = (mask == y_data).sum().data[0] / y_data.shape[0] + if (e + 1) % 200 == 0: + print('epoch: {}, Loss: {:.5f}, Acc: {:.5f}'.format(e+1, loss.data[0], acc)) +during = time.time() - start +print() +print('During Time: {:.3f} s'.format(during)) +# - + +# 可以看到使用优化器之后更新参数非常简单,只需要在自动求导之前使用**`optimizer.zero_grad()`** 来归 0 梯度,然后使用 **`optimizer.step()`**来更新参数就可以了,非常简便 +# +# 同时经过了 1000 次更新,loss 也降得比较低了 + +# 下面我们画出更新之后的结果 + +# + +# 画出更新之后的结果 +w0 = w[0].data[0] +w1 = w[1].data[0] +b0 = b.data[0] + +plot_x = np.arange(0.2, 1, 0.01) +plot_y = (-w0 * plot_x - b0) / w1 + +plt.plot(plot_x, plot_y, 'g', label='cutting line') +plt.plot(plot_x0, plot_y0, 'ro', label='x_0') +plt.plot(plot_x1, plot_y1, 'bo', label='x_1') +plt.legend(loc='best') +# - + +# 可以看到更新之后模型已经能够基本将这两类点分开了 + +# 前面我们使用了自己写的 loss,其实 PyTorch 已经为我们写好了一些常见的 loss,比如线性回归里面的 loss 是 `nn.MSE()`,而 Logistic 回归的二分类 loss 在 PyTorch 中是 `nn.BCEWithLogitsLoss()`,关于更多的 loss,可以查看[文档](http://pytorch.org/docs/0.3.0/nn.html#loss-functions) +# +# PyTorch 为我们实现的 loss 函数有两个好处,第一是方便我们使用,不需要重复造轮子,第二就是其实现是在底层 C++ 语言上的,所以速度上和稳定性上都要比我们自己实现的要好 +# +# 另外,PyTorch 出于稳定性考虑,将模型的 Sigmoid 操作和最后的 loss 都合在了 `nn.BCEWithLogitsLoss()`,所以我们使用 PyTorch 自带的 loss 就不需要再加上 Sigmoid 操作了 + +# + +# 使用自带的loss +criterion = nn.BCEWithLogitsLoss() # 将 sigmoid 和 loss 写在一层,有更快的速度、更好的稳定性 + +w = nn.Parameter(torch.randn(2, 1)) +b = nn.Parameter(torch.zeros(1)) + +def logistic_reg(x): + return torch.mm(x, w) + b + +optimizer = torch.optim.SGD([w, b], 1.) +# - + +y_pred = logistic_reg(x_data) +loss = criterion(y_pred, y_data) +print(loss.data) + +# + +# 同样进行 1000 次更新 + +start = time.time() +for e in range(1000): + # 前向传播 + y_pred = logistic_reg(x_data) + loss = criterion(y_pred, y_data) + # 反向传播 + optimizer.zero_grad() + loss.backward() + optimizer.step() + # 计算正确率 + mask = y_pred.ge(0.5).float() + acc = (mask == y_data).sum().data[0] / y_data.shape[0] + if (e + 1) % 200 == 0: + print('epoch: {}, Loss: {:.5f}, Acc: {:.5f}'.format(e+1, loss.data[0], acc)) + +during = time.time() - start +print() +print('During Time: {:.3f} s'.format(during)) +# - + +# 可以看到,使用了 PyTorch 自带的 loss 之后,速度有了一定的上升,虽然看上去速度的提升并不多,但是这只是一个小网络,对于大网络,使用自带的 loss 不管对于稳定性还是速度而言,都有质的飞跃,同时也避免了重复造轮子的困扰 + +# 下一节课我们会介绍 PyTorch 中构建模型的模块 `Sequential` 和 `Module`,使用这个可以帮助我们更方便地构建模型 diff --git a/2_pytorch/1_NN/nn-sequential-module.ipynb b/2_pytorch/1_NN/nn-sequential-module.ipynb new file mode 100644 index 0000000..d88e8fa --- /dev/null +++ b/2_pytorch/1_NN/nn-sequential-module.ipynb @@ -0,0 +1,1133 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 多层神经网络,Sequential 和 Module\n", + "通过前面的章节,我们了解到了机器学习领域中最常见的两个模型,线性回归模型和 Logistic 回归模型,他们分别是处理机器学习中最常见的两类问题-回归问题和分类问题。\n", + "\n", + "下面我们会讲第一个深度学习的模型,多层神经网络。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 多层神经网络\n", + "在前面的线性回归中,我们的公式是 $y = w x + b$,而在 Logistic 回归中,我们的公式是 $y = Sigmoid(w x + b)$,其实它们都可以看成单层神经网络,其中 Sigmoid 被称为激活函数,之后我们会详细介绍激活函数以及为什么必须使用激活函数,下面我们从理解神经网络入手。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 理解神经网络\n", + "神经网络的灵感来自于人脑的神经元系统,下面我们放一张人脑的神经元和神经网络的对比图(来自 cs231n)\n", + "\n", + "![](https://ws4.sinaimg.cn/large/006tNc79ly1fmgiz5mqs3j30or0773zg.jpg)\n", + "\n", + "左边是一张神经元的图片,神经元通过突触接受输入,然后通过**神经激活**的方式传输给后面的神经元。这对比于右边的神经网络,首先接受数据输入,然后通过计算得到结果,接着经过**激活函数**,再传给第二层的神经元。\n", + "\n", + "所以前面讲的 logistic 回归模型和线性回归模型都可以看做是一个单层神经网络,而 logistic 回归中使用了激活函数 sigmoid。\n", + "\n", + "神经网络使用的激活函数都是非线性的,每个激活函数都输入一个值,然后做一种特定的数学运算得到一个结果,下面举几个例子\n", + "\n", + "sigmoid 激活函数\n", + "\n", + "$$\\sigma(x) = \\frac{1}{1 + e^{-x}}$$\n", + "\n", + "![](https://ws1.sinaimg.cn/large/006tNc79ly1fmgj7yto7gj308w05oa9w.jpg)\n", + "\n", + "tanh 激活函数\n", + "\n", + "$$tanh(x) = 2 \\sigma(2x) - 1$$\n", + "\n", + "![](https://ws3.sinaimg.cn/large/006tNc79ly1fmgj8yjdnlj308w05mt8j.jpg)\n", + "\n", + "ReLU 激活函数\n", + "\n", + "$$ReLU(x) = max(0, x)$$\n", + "\n", + "![](https://ws1.sinaimg.cn/large/006tNc79ly1fmgj94ky2oj308n05uq2r.jpg)\n", + "\n", + "我们下面重点讲一讲 ReLU 激活函数,因为现在神经网络中 90% 的情况都是使用这个激活函数。一般一个一层的神经网络的公式就是 $y = max(0, w x + b)$,一个两层的神经网络就是 $y = w_2\\ max(0, w_1 x + b_1) + b_2$,非常简单,但是却很有效,使用这个激活函数能够加快梯度下降法的收敛速度,同时对比与其他的激活函数,这个激活函数计算更加简单,所以现在变得非常流行,之后你会发现我们激活在所有的神经网络中都会使用它。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 神经网络的结构\n", + "神经网络就是很多个神经元堆在一起形成一层神经网络,那么多个层堆叠在一起就是深层神经网络,我们可以通过下面的图展示一个两层的神经网络和三层的神经网络\n", + "\n", + "![](https://ws2.sinaimg.cn/large/006tNc79ly1fmgjiafmmjj30nu07075w.jpg)\n", + "\n", + "可以看到,神经网络的结构其实非常简单,主要有输入层,隐藏层,输出层构成,输入层需要根据特征数目来决定,输出层根据解决的问题来决定,那么隐藏层的网路层数以及每层的神经元数就是可以调节的参数,而不同的层数和每层的参数对模型的影响非常大,我们看看这个网站的 [demo](http://cs.stanford.edu/people/karpathy/convnetjs/demo/classify2d.html)\n", + "\n", + "神经网络向前传播也非常简单,就是一层一层不断做运算就可以了,可以看看下面这个例子\n", + "\n", + "![](https://ws2.sinaimg.cn/large/006tNc79ly1fmgj4q1j78g309u0cc4qq.gif)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 为什么要使用激活函数\n", + "激活函数在神经网络中非常重要,使用激活函数也是非常必要的,前面我们从人脑神经元的角度理解了激活函数,因为神经元需要通过激活才能往后传播,所以神经网络中需要激活函数,下面我们从数学的角度理解一下激活函数的必要性。\n", + "\n", + "比如一个两层的神经网络,使用 A 表示激活函数,那么\n", + "\n", + "$$\n", + "y = w_2 A(w_1 x)\n", + "$$\n", + "\n", + "如果我们不使用激活函数,那么神经网络的结果就是\n", + "\n", + "$$\n", + "y = w_2 (w_1 x) = (w_2 w_1) x = \\bar{w} x\n", + "$$\n", + "\n", + "可以看到,我们将两层神经网络的参数合在一起,用 $\\bar{w}$ 来表示,两层的神经网络其实就变成了一层神经网络,只不过参数变成了新的 $\\bar{w}$,所以如果不使用激活函数,那么不管多少层的神经网络,$y = w_n \\cdots w_2 w_1 x = \\bar{w} x$,就都变成了单层神经网络,所以在每一层我们都必须使用激活函数。\n", + "\n", + "最后我们看看激活函数对神经网络的影响\n", + "\n", + "![](https://ws1.sinaimg.cn/large/006tNc79ly1fmgkeqjr34g306r065diu.gif)\n", + "\n", + "可以看到使用了激活函数之后,神经网络可以通过改变权重实现任意形状,越是复杂的神经网络能拟合的形状越复杂,这就是著名的神经网络万有逼近定理。\n", + "\n", + "下面我们通过例子来感受一下神经网络的强大之处" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import torch\n", + "import numpy as np\n", + "from torch import nn\n", + "from torch.autograd import Variable\n", + "import torch.nn.functional as F\n", + "\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def plot_decision_boundary(model, x, y):\n", + " # Set min and max values and give it some padding\n", + " x_min, x_max = x[:, 0].min() - 1, x[:, 0].max() + 1\n", + " y_min, y_max = x[:, 1].min() - 1, x[:, 1].max() + 1\n", + " h = 0.01\n", + " # Generate a grid of points with distance h between them\n", + " xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))\n", + " # Predict the function value for the whole grid\n", + " Z = model(np.c_[xx.ravel(), yy.ravel()])\n", + " Z = Z.reshape(xx.shape)\n", + " # Plot the contour and training examples\n", + " plt.contourf(xx, yy, Z, cmap=plt.cm.Spectral)\n", + " plt.ylabel('x2')\n", + " plt.xlabel('x1')\n", + " plt.scatter(x[:, 0], x[:, 1], c=y.reshape(-1), s=40, cmap=plt.cm.Spectral)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "这次我们仍然处理一个二分类问题,但是比前面的 logistic 回归更加复杂" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "np.random.seed(1)\n", + "m = 400 # 样本数量\n", + "N = int(m/2) # 每一类的点的个数\n", + "D = 2 # 维度\n", + "x = np.zeros((m, D))\n", + "y = np.zeros((m, 1), dtype='uint8') # label 向量,0 表示红色,1 表示蓝色\n", + "a = 4\n", + "\n", + "for j in range(2):\n", + " ix = range(N*j,N*(j+1))\n", + " t = np.linspace(j*3.12,(j+1)*3.12,N) + np.random.randn(N)*0.2 # theta\n", + " r = a*np.sin(4*t) + np.random.randn(N)*0.2 # radius\n", + " x[ix] = np.c_[r*np.sin(t), r*np.cos(t)]\n", + " y[ix] = j" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nfopUyhxCuwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.scatter(x[:, 0], x[:, 1], c=y.reshape(-1), s=40, cmap=plt.cm.Spectral)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "我们可以先尝试用 logistic 回归来解决这个问题" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "x = torch.from_numpy(x).float()\n", + "y = torch.from_numpy(y).float()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "w = nn.Parameter(torch.randn(2, 1))\n", + "b = nn.Parameter(torch.zeros(1))\n", + "\n", + "optimizer = torch.optim.SGD([w, b], 1e-1)\n", + "\n", + "def logistic_regression(x):\n", + " return torch.mm(x, w) + b\n", + "\n", + "criterion = nn.BCEWithLogitsLoss()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch: 20, loss: 0.7033562064170837\n", + "epoch: 40, loss: 0.6739853024482727\n", + "epoch: 60, loss: 0.6731640696525574\n", + "epoch: 80, loss: 0.6731465458869934\n", + "epoch: 100, loss: 0.6731461882591248\n" + ] + } + ], + "source": [ + "for e in range(100):\n", + " out = logistic_regression(Variable(x))\n", + " loss = criterion(out, Variable(y))\n", + " optimizer.zero_grad()\n", + " loss.backward()\n", + " optimizer.step()\n", + " if (e + 1) % 20 == 0:\n", + " print('epoch: {}, loss: {}'.format(e+1, loss.data[0]))" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def plot_logistic(x):\n", + " x = Variable(torch.from_numpy(x).float())\n", + " out = F.sigmoid(logistic_regression(x))\n", + " out = (out > 0.5) * 1\n", + " return out.data.numpy()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5,1,'logistic regression')" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEWCAYAAABmE+CbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzsvXdwJNl54Pn70pRDOXjb3k/b8Y4c\nxxHJoZMorUSt3O5eKKjVXWzshnSnW/H2Nu4udk97OsVJ2jsp9ni3Wl1otZQjKXpyOOTMkBzb43q6\np70B0PCmUIXyVZn57o8soAFUFRroBlBAd/4iOhpI8/JlIvN9731WlFJ4eHh4eHhoje6Ah4eHh8fm\nwBMIHh4eHh6AJxA8PDw8PCp4AsHDw8PDA/AEgoeHh4dHBU8geHh4eHgAnkDw2GBEpF9Enl2Ddv6D\niPyPt3DedhHJiIh+u33Y7IjIh0XkQqP74bF1EC8OwWMjEZF+4NeVUi/cidfz8NjKeCsED49bQESM\nzdyeh8et4AkEj4YhIn4R+SMRGan8+yMR8S/Y/zsiMlrZ9+siokRkb2Xfn4vIv6n83CYi3xSRpIgk\nROTHIqKJyF8A24FvVNREvyMiOyvtGJVzW0TkP1WuMSMif1+nr/9YRF4RkT8UkQTwP1W2/1cicq5y\n7vdEZMeCcz4qIhdEJCUifyoiL4vIr99Ke+LyhyIyUWnvfRE5Utn3CRE5KyJpERkWkf+2sv0pERla\n0J9DIvJS5Tl9ICKfWbDvz0XkT0TkW5V23hCRPbf7N/bYWngCwaOR/A/AI8AJ4DjwEPCvAETk48Bv\nAc8Ce4Enl2nnt4EhoB3oBL4AKKXUrwKDwKeVUmGl1O/XOPcvgBBwGOgA/nCZ6zwMXK0c929F5Gcq\n1/rZyrV/DHyp0v824O+A3wVagQvAY7faHvBR4AlgPxAHPgdMV/b9R+A3lFIR4Ajww6UdFxET+Abw\nfOV6/wz4SxE5sOCwfwj8z0AzcBn4t8s8C487EE8geDSSXwb+F6XUhFJqEncw+tXKvl8A/pNS6gOl\nVK6yrx5loBvYoZQqK6V+rFZgHBORbuA54J8qpWYq5768zCkjSqn/UyllKaXywG8Av6eUOqeUsoD/\nFThRmdV/AvhAKfWVyr5/D4zdRntlIAIcxLX9nVNKjS64/3tEJFq5j3dq9P0RIAz8O6VUSSn1Q+Cb\nuEJgjq8opd6sXPsvcQW1x12EJxA8GkkPMLDg94HKtrl91xfsW/jzUv533Bnt8yJyVUT+5Qqvvw1I\nKKVmVnj80j7sAP64ooJJAglAgF6W9L8ioIaWnL/i9ioD+P8F/AkwLiJfFJFo5byfwxVAAxW11KM1\n+t4DXFdKOQu2DVT6OsdCgZXDFSAedxGeQPBoJCO4g+Ac2yvbAEaBvgX7ttVrRCmVVkr9tlJqN/Bp\n4LdE5CNzu5e5/nWgRUTiK+zv0rau46pq4gv+BZVSry7tv4jIkvtZbXsopf69Uup+XPXWfuC/q2w/\nqZT6aVxV0N8Df1Oj7yPANhFZ+M1vB4ZXeO8edwGeQPBoJF8C/pWItFd07v8a+M+VfX8D/JOKITRU\n2VcTEfmUiOytDLqzgF35BzAO7K51XkXl8h3gT0WkWURMEXliFf3/D8DvisjhSj9iIvLzlX3fAo6K\nyM9UDNj/DdB1q+2JyIMi8nDFFpAFCoAtIj4R+WURiSmlygvufylvVM77ncp9PoUrPP9qFffrcYfj\nCQSPRvJvgLeA94HTwDuVbSilvoOrd38RVx30WuWcYo129gEvAJnKcX+qlHqpsu/3cIVOcs77Zgm/\niquDPw9MAP9ipZ1XSn0V+N+AvxKRWeAMrk0CpdQU8PPA7+Maf++p3Gut/t+0PSAK/D/ADK6qZxr4\ngwX30F85558Cv1Kj7RLwmUp7U8CfAr+mlDq/0vv1uPPxAtM8tgQicgh3gPRXjJ5bioqqZgj4ZaXU\ni43uj4dHLbwVgsemRUQ+W1GJNOPOnL+xlYSBiHxMROLixlZ8AddA/HqDu+XhURdPIHhsZn4DmASu\n4OrFf7Ox3Vk1j+L2fQpXX/8zFfdSD49Niacy8vDw8PAAvBWCh4eHh0eFLZVQK274VJcZanQ3PDw8\nPLYUFwqpKaVU+82O21ICocsM8Wd7P9Tobnh4eHhsKR4/862Bmx/lqYw8PDw8PCp4AsHDw8PDA/AE\ngoeHh4dHBU8geHh4eHgAnkDw8PDw8KjgCQQPDw8PD8ATCB4eHh4eFTyB4OHh4eEBeALBw8PDw6OC\nJxA8PDw8PABPIHh4eHh4VPAEgoeHh4cH4AkEDw8PD48KnkDw8PDw8AA8geDh4eHhUcETCB4eHh4e\nwBYrkOPh4bH2KKXIph1mEha2pWiKaDS3mhiGNLprHhuMJxA8PO5ypsbLzCRslHJ/L5ZsUjM2O/YE\nME1PKNxNNFxlJCK6iLwrIt9sdF88PO42yiVnkTAAQIFtw/REuWH98mgMDRcIwD8HzjW6Ex4edyPZ\njFN3XyZtb2BPPDYDDVUZiUgf8Eng3wK/1ci+eNweSinKZYWuC7q+vmqGKV+cN1qOMRZsw+eUOZy6\nzPHkeXTUzU/2WIQsMyUUT1t019FoG8IfAb8DROodICKfBz4P0GkGN6hbHqthZrrM1IQ1r3YIR3S6\neky0dRAM074YX+t9BksMEMHSTN5pvodJfwsfG39lza+3lVBK4TigaSAiKKXI5x2sssIf0PD7q0f/\ncERnjNqqoWhcX+8ue2wyGiYQRORTwIRS6m0RearecUqpLwJfBDgYjHtTwE1GasZictxapIPOpG2G\nBhXbd/kXHZtJ28xMW1iWIhTSaGk3MM3Fg1Sx6JCZdVUVkaiOb8kg9mbLUSzRF01fbc3geqiLhC9G\nSym1xne4+VFKkUxYTE9a2LY764/FdDIZG9tyH5VSEGrS6NnmQ9NuPDvlQL2FVS0B4nFn08gVwuPA\nZ0TkE0AAiIrIf1ZK/UoD++SxSqYmFwsDcAefQt6hWHTmB5WpyTKJBceWijazKZsdu/3zg/7kWGmR\ngXN60qK51aC905xvezzQVlfPMRZouysFwsy0tWiFphxIztzQ/89tz2YchgaLOLZrNG4Ka+j6DYGx\nlKmJMrmsgz8gxOLGuqz4PDYXDZsCKKV+VynVp5TaCfwi8ENPGGw9rHLt6aUIlIruPstSi4TBHI4D\nE2OuuiKXtau8XfL+ENdUC4nSDYHgt0s1r2eLzuXwNsrSaC3oxqKUYrrGs61HPqsoFhRWWZGasUlM\n2XXPLZchlbSZGLO4fKFAIecZme907q6vx2PNMQywrOrtSoHP584o81kHhJqqiVzW9XJJztwYmCzd\n4Oz9T5Js70Ych1O6zq7ZQR4ffZOjqYu80XocS1vy6oow5m/ju90f4tMjL63Z/W12bLv27H6tUQoG\n+kvsPRBYd6cBj8axKZSESqmXlFKfanQ/PFZPa7tR0xvFHxD8Aff1Wokni23dGNXO3fdhZtq7cXQD\n2/ThaDrXwtv4gf8owbfPsCM1WHMUVJrOuL+VhC92W/e0ldA38gtWkJjyYhPuZDaFQPDYusSaDVco\naHPeLa5uum/HDYNyqEmj1pxSBCIxjbGR0vxKoeQPMNPRi9IXrwAcw2B0+36KlsaOV36EqDr+87ZD\nf64JtRHT5k2AaEKsWd8wF9FsxlMb3cl4KiOP20JEaG03aW41KJcUuiFVOXA0TejZ5mN40NX/K+Wu\nGkwDigVFIX9jcC8GmhDHgVoejwKW6cMo5QmW8uQC4apDlAjORIpU0CbefHe83h2dJo4N6Vl73kAc\nDAmhJo3pyfo2glvBcYTZlEU4oi/yVvK4M7g7vhiPdUfTBH+g9gBRLDrMJi1MvytAdM21O5TLClVa\nPFoFs7MorfbCVRwbs1RAKdg38D5n9j6EvXAl4dgEc2nCM1MksnLXCATRhO4+H+2WolR0ME3B9LnP\ncHoyv6bXKpcUY8NlNK3Mtp3+ebWgx52B99f0WFcmx0r0Xy4ym3IoFaCYV+SyilJRUUvrY1hluvsv\nolmLddWaVWbnxVNoSiEC20Yvs+3S+2iWhV4uodkW0Zkpjr/2PMJim8TdgmEIoSZ9XhjA8vYb4xbl\nparkOhoeLN01qrm7hbtjCuXREDJpm8T06nXOez84iWGVGN5zD7amo1sWOy68R981N+WVCGRmHXbO\nvk/flbPkIjF8xQKBfHa+DU0H21Z3vUdMNKaRTNS2t9g2hKNCZvbWBnXLUhSLikCdlaHH1sMTCB7r\nxq16pAiKXRfeY+eFU/iiJk6+hGMBAj6/EIvrTE1YOA4YtkU0OV3Vhm3B1UsFduxyA98cWzE1WWY2\n5erUIxGdtg4T4w5P79zcYpJMFGvuE4GWFpNSsTwfMzJHsEnIZ5cXFCLg2N4K4U7CEwge60a9oLWV\nIiisdInuPpNAUEcAwxQyafumaeyUAmXD6HCJ7bv8DPYXXTVV5cRU0iaTttm1N4B+BxeCMX2CbrgC\nshb+oMbOPX6yGYd81gaBmWn7psIA3MDCVNJiZKiEiCuoW9oMz9i8hfFsCB7rRiB0+8nRlILZpI1p\nyvxsPtSk1c2/s5RCQZGcsSguEAZzOA7MJOqMlHcIIkJHl1nllioCbZ3u4C0ihCM68RaDmenVeSXN\nJh1syxX+iSmL69eKnl1hC+MJBI91o17QGtwISBPNncWGI/VfxaXji6YJXb3Vg1ztk2Fi1KopQJS6\nO/zqozGDvh0+giENTYdAwHUDbm4xFx03NlK+LRdVpaBYcstxemxNPJWRx7rh92ts3+VnfKREoeCO\nND4fdPaYWGXX7dTv12iKaGQzDtlMqWpAEoForHqlEY0ZBAIayYRFseSQz9X2WroZm93orJSikFfk\nsjbFgkOx6HpZxVsMYnEdWWFEWqhJZ/uu+is2x1HzwYG31V/HFbLhqJc6eyviCQSPNcVxXNXBbNLV\n80ejGn07/cyFFtQbwJrCGqEmjVzWmRcKIhAICpEaAgHA59fo6PYBkE3bDF+vFijLIQLNrZv3E3Ac\nxdBAiVzOYbJnJ9ePH6bkDxKfHmfnpVO0zWbo3e5bsVBYljXU8tzJNpk7nc37NXhsOZSjGLy22Hg7\nk7BJpx127vYvmz5ZROjd7iM96xZ4VwpicZ1obGWz4KaIzo7dfmamLTftdkDDLisyy5SIbGkzaApv\n3pns1HiZfN7h6sH7GN59CMdwVTzjgRBTXdu475Vv05LLEWq6/XvQdDewsFion712JcJWxCuss5Xx\nBILHmpFO24uEAbiDiFVWpJIWza1m/ZNxhUI0ZhCN3dpr6Q9odPX65n9PzVhkF6w4FtLcqtPSajAx\nWiKVdAVQU1ijvdOsKsrTKFJJm6IvyNCeexbndtI0bDG5fM+D9F364ZoIBICuHh/X+4s4S2RoJKqR\nnq0vWBfK685uE59vczw/j9XjCQSPNSMzW3vwVQoyaYfm1o3tTySmMzVpVbm/6rqrKlrqippJO+Sy\nRXbu9VdVcmsEjgOp1k40x8FeOuaLuPuurJ16JlBxQZ2ZtijkFaZfaGk1KBYcMhmnpo3G5xPira7z\nQDiiV+Wx8thaeALBY83Ql3mbGmG81TRhx24/k2Nl0mkbFIQj7iqgWFCUSrVdURNTFp3dvtqNbgAK\nGAl2cOVEFzkzhKqjMtNsu6bB/XYwfTfsMje2CTJarjIziLieZNG4N4zcKXh/SY81I9ZszOv/F+J6\nxTRGr2wYbuK37iXbkzOlul5Ja+Ftc6so4Pudj3E91IUlRmVLtUDQbIvdU5c3RL2laULfDj/Dg0U3\n4K/S0eYWva7B32Nr4gkEjzUjENBo6zCYmlgc7NXcahAMaqSSFumU7RaBjxs0hbW18ZC5BQxDA2rH\nIDQysOpqU58rDLQ5e4vMdQrNtnE0Dc2xiWVn+FDh3Ib1KxjS2LXXz2zKuaEeusPTftyNeALBY01p\naTOJxAwys+5g2xTRMAxhsL9IsXBDRZNNl4jEdLp6zIYIhaaIBmO199mWKxQa0a/z0d0LhMEClCKa\nGKd5aozozCSdmXHMvYEN6ZNSiqnxMjOJG/UW0rM2Pdt8mz6Ow2N1NN5y5nHHYZpCc6tBc6uBz+eu\nDBYKA6gMKil7UXGcjcSxqRvprFT93D/rjVPvkxQhmMuw4/JpmqfHMDdwdj4zZTGTcFWBjuM+n1zW\nmS945HHn4AkEj3UnnazvfZSebUzqiJsFT2kNUo3vywxgONXSSLMt2kf6gY0NqFNKMTVl1fz7FfIO\npaKXpuJOwhMIHuvPJtQqmKYQCFa//iIQjjauPOTe9AAhK7+oZrRmlWmZGqE1MTrv2bPeAXXFosP0\nZJn+y4W6xncRN/2Ix52DZ0PwWHdicZ1CvnqV4OYpatwr2LPNx9CAG4uAAAqCQY2u7uUD6NYLBfyg\n8xGyRgA1V+pMOcSsLB8Zew29x0eoSVvX1BCOoxi5XlqUQqRuf5Ubh+Bx5+AJBI91JxrXmU3Z5PM3\ngptEINas15ylbxSG4cYpFAuKcknh80tDawQP+DsZCnVhLzQqi0ba18RU93b2Zq6vex8mx8srEgbg\nRnabXlTyHYUnEDzWHRGhb4ePTNohnbLRNFdIBEONH0xEhEBQCAQb14dCwWFsuMR7B3trehhZmsml\n8I51FwhKKZKJldt0unobs5LyWD88geCxIYgIkahOZAukRXZsRTJpkcs4GIYQbzHWbSVjlRXnJ/yM\n7ryH2Xi7q4ep4f4ka5mOtA6rrQ3hVUa78/AEgkdDKZccpqcsCjkHwxRa2ow1S9Z2K1iWYuBKAdu+\nkd1zNmXT3mVUFZRZC942d/L+Ew/giLiuTTV0NYZT5kC6f82vvZTE9MoFgs8nDQsq9Fg/PIHg0TCK\nBYfBazeyaxaLily2RHuncdPMqOvF1HgZa4HX52yslWRbFyNWiYecMULa2gUoZPQg7297AGdhEqiF\neaZFMJwyfbkxdmaH1+y69bBKK1uFiEB7l6cuuhPxBIJHw5gYLVelWlYKJsctYnFj2foJ68VcXIQj\nwgcPPE2ivRslGoLiEvCxiVfYnqsT4rxK+pv6au8QQS+X6J25zmFriG35sQ3x3PUHpK4bqaZVvIr8\nQnunuanrSHjcOp5A8GgISilyufpBTbmsTTjagNezMvIO7zzEdEfPfApXVfn33c7H+bVrf0+gTh6k\n1WCLVjdc2iwVeTZxcsMikpWj6goD0yfs2uv3VER3AY138/C4a1kudcTUpNWQJHNzRu+hPffUzOet\nROctffeaXGt7bqSmsVhsiz2ZwQ1NT5Gcsdx4jBp0djcm35THxuMJBI+GICLLFmIvFhSp5MantWjr\nMDFMoeTz1z1mONx1y+0rpVCOO/A2l9McnL2K4ZTn9+uORZNT4IHcxVu+xq0wm6xOWz5HLtuY9CIe\nG4+nMvJoGJ1dJpnZ+gNRMlEm3ryxr6hhuOoRn12iaNQwnIogzupXLuWSw9homVylxnMwpNHZY/L4\n9Ltsy4/xQXQvRd3HrswQh9JX8S8QEhuBl4DCAzyB4NFAdEMQDVSdCajToImppgkH0v2877unWq/l\nOHRPD8IqCqrZtmLgahF7wf3kcw6DV4vs2htgR26UHbnRten8LRKN60yNVyexE4FII2w5Hg3BUxl5\nNJTlNNO+BqaRuC99AV+5uDguwHHwF/Mcd4ZW1dZs0qrypgJwFMwkNnYlUI94s4HfL4vkn4grKBqZ\nXsRjY2nYX1pEtonIiyJyTkQ+EJF/3qi+eDSO5QabeHPjXBv9TpmfH/4e2xL9aJaFZpXpGb/GT/c/\nTzSwupTP+Vx17WYAlLtvM6BpwvZdfjp7TJrCGpGoTu92H50NSvTn0RgauRa0gN9WSr0jIhHgbRH5\nvlLqbAP7VJMrTdt4q+UwaaOJqJXlgcRpdm9AoNDdQFuHSS5brBowDcMtxuI4qmEpEsJOgU8k34Tk\nmzc2rkJVNIfpk/lsqkvZyGyhVlkxPVkmk3bcMqbNOi0tBlJ5vqIJsbhBLO6piO5WGrZCUEqNKqXe\nqfycBs4BvY3qTz3ORPfyUsdDJH0xbM1gxhfjxY5HOBdZG9fDu51AUKNvhw+/f/HAaNkwPlLm8oXC\nqnPsbDbiLXpN1dhGFrqxLEX/1QLJGRvLcrO7Tk9YXB8sNbSG9EajAPsmw15ZdMpydwbebYqpgIjs\nBO4F3qix7/PA5wE6zY1NSWmj8WbLUSxt8WOyNIM3Wo9xIH0N7Rb9M0YC7bzVcoQZM0q0nOH+mQ/Y\nnl+bCNitRqhJZ+denfSsxcj1ik5duTp2gOHBErv3BzDWsQ7AeqAcxeyszWzSwjCgvMBcIOJmC92o\ndNsz0+VFRm1wzSOFnEM2YxOObIqh4LbI6gGuhLdT1Ex68xN0FybnBfHct3w2tgdLDKJWlkem3mVX\nbmT+/KQZ4eX2BxgPtAHQWZjmicmT+J0S78YP0d/Uh6FsDs1e4XDqMjp3XrW4hr8FIhIGvgz8C6XU\n7NL9SqkvAl8EOBiMb+hUZtZsqhs9ZYtOxggRtbKrbvdqUy8vdjwyL2gKRoDv+x/nsal3OJS+Vve8\npBnmvfghxgOtRMtZjiQvYioLU9m0lJKbsTDZqlgu9XI6ZW/YbHo5SkWHdMVVNhzVCdQZ0B1HMXit\nQLFQvU/EVRWFIxs3C82knZoqK6VgdKjM7v06egNShawVV5r6eLHjYRSCIxrvNR8iZOX5yPjrdBWn\neaHzEa6HurEr39ysGeaHnY/y7Pir7MiNktd8fLX3WUqaAZXiRGOBVr7a+yyGcihqJk6lrurJlqMM\nhrr55OjLW/6bW0pDvzARMXGFwV8qpb7SyL7UIuCU6hY9d0TwO6svMq6AV9rur7nqeL31BOFyjrdb\njpDwxWiyc9w3c459mQHOh3fyo44HUQiIkDSjDIa60ZSNAD6nzHOjP6K9lFzUbk4PoIAmu8bItMmw\nrNryXimwrMbPxqYmyiQW1BdOTFlE43rNSN6ZRJliwf17j23bS/+BExQDIQL5DDvPv0v3yDVSSWtd\nMqjWwh3saz9fx4HEVJn2zlswkGwCcpqfH3Q+eqPKHOCgkzGa+FrPM5hOmbLuq5rcuSv94+zIjfJe\n/CAlzVx8jGiUNQMLFrVtaQbjgVZGAh30FibW+/Y2lIYJBHG/oP8InFNK/R+N6sdyBO0iXYVJRoPt\nOAt0ippj05cfu6XgoawepFijCAqAJTrf6Xli/uVL6jFe7HiIV1uPU9ADVPkEAo64f8K86Hyl76P0\n5Mc5nrpI0MrzUsfDpMwIANFyhqcn3qC9NLPqPm8UoSaNUrF6lSAaBEP6vK67EWkUCnlnkTAAV1DN\nJm3CEb1qtp+spJK+vucI/QeO41SC3ApNUS4efwzbMAlMXqa5ZWP639xikM/Vn8DMphzaOzemL7dC\nygjzXvyguzq2MhxPXqC7MAUwvzKoQtzJU1mqhcEcycr3cT66p/YxUlspbInBUKjTEwhryOPArwKn\nReS9yrYvKKW+3cA+VfGR8df4Vs9TpMxwxVFEiJdmeXrizZueWwtTWag6L6dTI9mZEo2CsQLbSeW8\nkVAX44E2HMQVLJXtM/4Y3+h9ms8NfnvTrhZa2kxmk/Yin30RME23eMvI9RJKuV47HV3mhqpcUsnq\noC1whUJqxqrqi+OArekMLBAG8/sMk2uH7mdv4sp6dnkR4ahGICgU8rVXCY1SfZRFJ6cHCdl5zDoR\nipO+Zr7e+zS26CjRmPHFGAp2cWj2CmErx1Cwo35iLFh2X8AuMms0UdbqDIV1ChYBjAbayOqBTfs9\n3QoNEwhKqZ/QuPdwxQSdEj839DwT/lZSZoR4eZb2YuKWO+53yvTmJhgKdaAWejIs8+KtFlszarZn\no/FBbC8PJc5giU5/Uw85PUh7MUG8NMuFyC5mfFHaizPsywxsePoE03RrHE+Ol8lmKq6RMZ1c1llk\nXyiX3ELwvdt9G5aGebmo6VpBZ6ZfSBuRmgVvABxNw+yIAhszmIgIPX0+rl4q1tgHkdjGetXYCK+3\nnuBcdDcaCgfh0OwVHp0+VeWo8eP2+xeXFhXBFoMzsf1oypnX+a8W3bE4mrxAUfdhKJtyrXbqfZMi\nTPhb+bttH+MfXH+eJjt/S33YbDTeSrcFEKCzOE1ncXpN2nt68g2+1vMMOSOIjVZzZXDb1GjP0XSm\nfM1M+pr5Vs+TOKJh4+b6d0RDUw62ZnDVsXir5Qg/M/wC8XJmbft1E3x+jd7tNxLLTU2UKNbIwqkU\njI2U2LN/YzzPwlGddNpGLRn8RdzZ91I6Ok3SI4V5Q2QVmkZLYIMFrk+jrcNgevLGakfEXXG1tm3s\nUPBa2wkuRHZja8Z8IvEzsf2MBDr49OhLBCr2ORuNKX9z7UZEFqlyV4VS7Mlc50TqgrvyuJUmNJ2i\nEt5uvocnpt6+tX5sMryY9AYQtIt87vp3+OjYKzySOIXhrF0VruXQHJvmUorvdH+You6nXPGcsDUD\nJdq8B4alGRQ1kxc7Ht6QftVDKUViqv7U3CqzYT704YhGIFCd2sH0Sc1ArlCTTk+8THxqFFni76k5\nFjuzw/jXoKbCamltN9m2y08srhOOaHR2m+zY7V/TYkQOQl7z1/X3L4vB+cjuKscKREj443y576fm\n4wCktnXgtjGUzROTJ5HKzw9Nn67+DlfwbinRuBDZxd/1fZS34ocpaFvTMD+Ht0JYByzRGQm0I0B3\nYRKjhm5UgL78OH35cUYD7fQ39S7yZFgRC6d5tfYt2a7h0F5McC629+ZtizszK2i++dnaRmNZN/8m\niwVFILj+mkcRoW+Hn+SMNZ8qOhrTaW4x6kZSt7T7eLh4kVdKEXK+JjQcHNHoKE7z5OTJde9zPYJB\njWDv+gxcH0T28EbrMSwxUEC8nOL+mXPsyg4xNw/PGEE0VG1xKEJeD3AxspPDs1fQUGzPjjDQ1HPz\n70MpN1Oi6MuuuDXH5oHEGRauC47OXqLJzvFO82EyRoh4aRYlwpSvuf4qr4Kj6Uz7m0n4YpyJ7+Pn\nrn8Pn7IYDPVgi0ZfbozwFlEpeQJhjbnS1MdLHQ8hlZFMifDUxJvsydZPiPZw4n2Gg52UKzP1miwZ\nGQ1l05WfoKyZ84E0cx+B4ZSJl9IUdJ/rnYRrPHtm4nWKmm9FM5/5y9aYn+U1H1fC28npATqL02zL\njdUN0CtVvKB8avWrIH2TBYtJ81luAAAgAElEQVRqmtDSatKygnrPKSPMt7ufIGcEEKVQInTnJ3lo\n+n1ay1XhNncEZyO7eaX9vkXvcNLfzA86HyFWzvDZ4RfwO2WarDzOMvN+WzMYDHVzeNY1un946i2m\n/c9SqKxq69nbgnaB50Z/xKwZ5kxsHwlf/EbEsbhrDb9T4v7EGY7MXq46f3d2eFFKmoLm45s9TzHt\ni8+3sRxKNIqajy9t/yQaqlL8yL3useR5Hpo5s+z5mwFPIKwhM2aEFzsenle9zPFSx8O0DKVoLqdr\nnhcrZ/i5oed5p/keroV6KS31mVaKgF3k6fHXGQ11YIvOruwQXYUpBNdTYyDUw+XIdhw09mUG2J25\njoZi1gyjKtcQ3MF8pXrXWDlD0FlshBwKdvC9rg+7KQBEx1AWsXKazwy/uGjQT5hRXup4iOmK/ret\nmOCpiZM0r2Iw1DQhEtNJp2qrVjTNrQO80eRzNokpi1JJEQxqtLQZ+PwLfeCFb/Q8RdYILjJ4jgQ7\nGQu2b1mBkNUDfBDby4S/lVg5zZHUpfl3WgGvtx6vPaERjVmziddaj/PU5Fv4lMWBdD/nortrHi/K\nIWTdMLaH7CKfG/wO15p6mfS3kDMCXGvqW/SdGY7Fh6bepr2UpL2UrJqAKdyVu1GJ21kJAafEE5Mn\n+XrPM1XftNtoDcEkgkLDXrL9dPwAXcVptjc4zfnN8ATCGvJBdK9rIF6CLRo/brufbfkxevIT+JwS\n5yN7yBghevPj7MsMELWyPDV5kic5yTvxe3i3+RCaclUMbcUZPjr+KiG7wPbCeFX7prLZm73O3uz1\nqn2xJUbhoFPiWPI8p+MHbuhwlQMIgkKJhqZsNOXw5MRitYYlGs93fmiR7tcSkxkzxsmWozw+/S4A\nOd3P13o/sijqc8Lfyt9s+ziCImQVeGT6vZr9XUpXt0m55FS5S4pAzzbfhsckpGYsxkfL84usUtFm\nNmWzbaefYMi91yF/OwUxq7xfLM3gVPzg/Mx3K5HwxfhazzNYouNoOiOqg4uRXfzU+Ktsz41ii+bO\n3uugROdKeAdPTb4FwGNT71DQfVxt2lY1qOrK4Z4lz0jHWfSOD4QGeaf5MLNmmHgpxQOJD5aNCRCo\n69a6HEXNj66c1Vl7aryTlmZwOrbPEwh3E2mzqeaMR4nGWLCdsWD7/KxCAYjG1fA2Xmm/j/sSH3Ai\neQEdh/uTZzmWusiML0rQLhCxcmvazwdnztBSSnEqfpCcEaSjMM3+9DUGQz3M+GK0FxMcTV2sSssx\nHOys6SjsaDoXIzvnBcLZyJ5KAfkFz6LykSiErBniB52PkpkOciK1fKlITRd27A6Qy9kkExZWGYIh\nId5sYPo21ifCcRTjY+VFGrdcU4RiMIyaTnIg5G4bmTVRXbUFVb6iwttqvNz+wKJIXiUalmj8sONh\nfq3/a+hL3a9q4CwYKHUUPzX+Gu/FpjnZcgxRDiKg0Hho+tRNAyg3qqhQezGBvUaJ7gp6/bKsmwVP\nIKwh3flJhoOdNZeX84Ji6TghgoPO2y1HGAp18+mRF9FQmMqio5hYl34K1FxRLEz0VQtLjLq1Fu0F\ng/9EoLX2EntRJ4STrcc4mrrESpz+QiGdUKixRoVCwZnPYl3y+Tnz4DNkYq2IY+PoOiOZQR4fO4lv\nYgr21zE0F5M1t29myqIz6W+p7cpccT7oKCboKEwxEWir4+Tg0JurXt2eSF3kQGaAwVA3ANtzowTt\n6liJRhFwShxLXuB0fP+ilbHuWNyTuszp+IEVuYxrjs22Tb46AM/tdE05lL6Kz7FY5Ky+QgOuEo1p\nf3z+w9iM9BQmaqrEUA59+Rsfe3NpFm0Fy3MHjVkzvJZdXFe0uZUdcObBZ0g3t+EYBrbPj9INrkS2\n81bLEcKZJLHpMTR7sSFdsyweGH+vuuFNgI3GpL+ZoUAHJ5uP8GL7g1wM78BagefbnAPFR8dfQVd2\n9TuvHHyOxWPTte89aBc5kO7nQLp/UwmDOR6cOc2HJt8mXprFZ5foyY3zqZGXeCxxynVddRbcs3JA\nKbQFkYyiHHxOmaOpS425gVXgrRDWEL9T5rPD3+fV1nsZbOpBMTehXpmeu6yZ9Df1si03xrWmXkaC\nHTRZeQ6kr20Kt7WgXeTe5Fneix+any2JsjEdm0emT80fd3j2Mmdje3FWcNu1XFot0bnatI0pf4x4\nOcOezOCGR03Xwh8QdA1mg1EysVbUEndEWzM437qfx9VJjpx8kWsH72Vk5wEc3aApnWTf2Tfpa5tZ\n+yDE2+RcZDevtZ24ESQJIMLV8DbebjnMZ4deoKswxVigrUolajgWbRX1TpNd5JcGv8XbzfdwJbwN\nW3R8dold2WFOJM9vinf4VhDgQKafA5n+qn2H0tdoKyZ5r/kgCV+M1mKSI6lLDDZ1u4F3orEzO8yD\niTObUtgtRbZScYyDwbj6s70fanQ3VkzCF+PLvc/i3Ex9ModyODR7hdFgJxkjiKWZaI6NhuIj46+x\n8yYqnY1iINTN+7ED5IwgPflxTiTPV9k5hoId/LDjUcqa7qqalg6CFc+pfzTwtUWb00aIv6+kIbY0\nE8MpoynFp0depK3UeHVLIe9wKt3C6QeewjardcKiHH7mzb8mOeFWgZubEGiiaO80aF6By+pGcj3Y\nyfNdH6oOEqugOTb70/2cSJ7nq33PYouOpRnz7+Vzoz+ipzC5wb3eeBSQMUIohIiV3fw5d5bw+Jlv\nva2UeuBmx3krhHWkpZSiuTTrul6uYFbo5l33MWs0zQfDOJpbhuMHnY/wa/1fuyVPibVmJQa9vvwE\nvzrwNaZ9cS6Gt3M6ftDdIQLK9dH+xOjLVee91P4ged0/PxO1Kn7nX+t5hs9d/86qZpm2pSgUHDRd\nKlHGt/8ZB4Ia9wTzvK/X/nSCdoG2VsHUDBKTFpYFhglt7Sax5s33ub3bfE9dYQDu+3clvI0np97i\nHw5+i/ORXUz4W4mX025yuS06618Nk/5mftDxCBnD9RoI2QWeqdRZuNPYfG/oHUZXYYrpwApyHCuF\n7lhcDW+vKTxEwVCwi125rVPLWYC2UpK2hOsXfrLlCBmjic78JA8nThNaEuNQEoOxYHu1p5YIlmbw\nd9s+xs9f/w5jgQ7yeoDO4hTtxWpvFKUUU+NlZhL2nPzBMIS+Hb5F8QK3SoQi+zIDXA5vX2w8V4qW\n/Awl3U9zi2xYrYPbYSU2nLm/h98pc/wmXmFbEUs0zkX3cCGyCwdhf3qAw7OXMJVNTg/wjZ6nF7nU\nprUw3+p5kl+4/t019wBsNJ5AWGe6ilNccHYtztZYh6KxvEuivQID32als5jgU6M/WvaYmgbrOUQo\ni8F/2f4p9Ep2TAE6C1M8N/rjReUMU0mLmYSbXmJOI1ouKwb7i+zZH1iTlcITk28hmSwXug676cwr\n/4ZDnfxt30f5+aHnG5byYzW0FJNk9WD9Faxy2J7dHKrK9cBB+GrPsyT8sXk36TfNCBcjO/jZ4e9z\nNrK7ZlS1g8aZ6F4eTby/0V1eVzyBsM7sygxzsvkoGUNbPifKTQYpR7RFnjx3IgGnRLScIemL1dw/\nr0ZbsG000MZX+p4lrwcwlMU9qSuEL79f07nLtuB6f4mObrNu6cuVomyH0NVB6Djo6oTmtusGOU3n\nb7Z9nEemT7EvM7Am+mbbViSmysym3LuPxjRa2szbLnv5wMwHDIW6aqeQUwqfU+aRxKnqfXcI78f2\nk/DHF31/StNJ+qJcDu8g4Y/XdKF2NN097w5j6045twg6Dp8dfoG9mQF0p5KtbWkQz3KGfaUwHIsH\nE6e3xIzzdnly8i2k4rpXRY1tjmaQ8MXJG0HSZoQ3Wo/zg5/6FU49/CzpaLWqLp9zGLxaJJO+PVtM\nLusw3dGLqmVLECFvBPlx+wP8pO2+27oOVOozXy0yM21jlRVWWTEzbTN4tYjj3J5TSEcxwdPjr1c/\nc+XQXkjwi4PfuePUIgs5VSeOwM1iuoPWYtL9bpegOTatWzCm5GZ4K4QNIOCUeHryJE9PnsRB+Enb\nfVyM7EJXNmXRKxXUql9KwynTlxvnaOriXeHJAa7N5eOjP+K73U+sPPHx0pzUIsx09PJOayf3/uQ7\nRGcXB/gpBWPDJfYcuHX1kQgYVhlxHFSdLHyWZnAhspvjyQtVUd+rYTZlUy6rqvKd5bIinbJv21i9\nL3ud3oEJ3o0fYjjYScApcSR1iV3ZoS3nTXMzbDQsTcfnlBGgWC96WCkc0TmUvsKp5oNVqSs0HI5s\ngbiC1eIJhA1GQ/HE1Ns8mDjNjC+G7lh8o/eZKvuA4Vg8PvUuB9PXGtTTxrE9P84z46/zcsdDbsZI\n5dpPFFK3/GgVIijd4J0nP0XPtQvsOfcW+oK6BLYNuaxNIKih66tfKIeaNNr7+7l24N5l46wFh5Fg\nB9Hb+Dtm0nbdBVM6ffsCAdwEco/XCRzbipRFZ6Cph6Lmozs/ScTK8ZO2e7kS3oESIWjleWz6XUzH\ncpNJ1mBndpiQXeQzwz/kB52PkDbCgCJs5Xh64o070sPKEwgNIuiUCFZm/c9MvM4POx5BcI1cGoqd\n2SEO3IXCYI692ets7x9lKNSFg9CXH+ft5sOcjy4orHKzsqOVldfYjn1ko3HuffV7i3YPDbjBboYJ\n23b4V+WBpGlCxMqx9/3XuXzsEde+Ucs7DDBvM6jOWGAnKARCTPbuwtINWiZHiKr1SW+ylRkJtPPd\n7g+DupE/yXQsSpWCUABZs4kfdjzCzswQVyPbqzzbdGVzLHkBcD3lPnf9u2R0tzpfk52/41ZOc3gC\nYROwOztMz8A3uNrUh6UZ9ObHaS2lVnz+tVAvb7YeZdYM02TluXfm7PzK4nqoi5FABwGnyL704Jaq\n/epTFrsXpDF+bPpdWktJ3o8fIK/5abJzJM3oTfMmObpBOt7GbKyVaKrad9wqw7XLRXbv8684YZ5S\ninJZ0XP9Mi2TI1w4/hjJ9u6q6GVg1RkulVIUiwptriJbs8Fsyma0dw8Xjz/qRsBrOtf3HmEyN85z\nk6/WrUdxt1EWne92f7gq86pdo2iOrRkk/VH6cmOMBDtwREOUQlc2nx55qSrH1p24IliKJxA2CQGn\nxD3pq6s+72J4Bz9uf2B+1pw2w7zadh9po4nhUCcJXwxLM9Edm7eaj/DMxOuLioBsJQQ4mL42L+wU\nbhbOS+Edbo2HZdVJQiZeWyDM0X+lyK59fgxjdSqkQCHH0ZM/5P2Hn2W2uR1Hc/PuI8JHx15ZVTDh\nbMpifKTsDkUKDFPo3eYj1BPh4vFHcRYYsR3DZCzcxbni7i2ZUns9eD+2H6tWdtI670bKjPIPhr7P\nlC/OeKCVoF1gR3Z0kRvzVuALn/yvlz/gzLdW1I4nELYwc0VJlkaaWprBe82HEOXMp82wKzPXH3Q8\nQu/A1zdFbqDbRYCnJt/iRPIC5yK7OBvbWztNBqCJQ7O2/AzPceDqxSJdvSbR2PKfhogQieqkZ93B\nXnMcjr/2PLPN7cy2d9HbYrM7O7Sq55zL2owOLT6+XHLjJ/IP7q85plmawdnoHk8g4EYUv9NyeFWl\naEOW+060lZKbIjXKHIEXfxaA3/qDrg29ricQtjAF3e+WxKyBQlB10nD3h3o4kBmo2jfti/NGy1HG\ngu347DKHU5c4nrqw6dUR8XKaRxPv81DiDK+1HuNcdO/imA/lYCqbo8EpqgsnLsb1QCpjGEKoafl0\n253dJoWCg2UplAOaQHNqkmPNswTSq1tlOI5ieLC2W7FjQ7ak1w3cWy71xN3EGy3HcOp50teoP244\nFvclz25Az+DEc67rauj3/3ue+pcrUD39wTp3qA7em7SFMR1r5V43FRTCeKCtSiBM+2L8fe8z8zPs\nsmbyTsthpgLN/NT4a2vZ7XVDx+Hx6fcwlc3p2AF0ZeOIELSLPDf6I3SBSEwjnVpeHaAUTE1YbN+1\nvEDQDWHXXj+ZtEMhb2P6NKJRHe0WgsVmUzbOMt1qnR5G7zlSlY5ac2x2ZramCnCOomZyMbyTyUAz\n8VKag+lrhOzCzU9cwkSgtU4tBoWmbGLlLLNm03wlwuPJ8+xP999W3088Z/G7P/NrnPr6CoPUViIM\nGognELYwhrKJlDPM+qLVO+eS+NSo+Zo0I1WHv9lyzNW9Ljje0gwGQj3MmFHyup9z0d0UNR87s8Ps\nywxsikR7SxHg4cRpjiUvMOlvIeCUaC8m5r1Cunt9FIsFSjcZb0rFlemQ51RHTWGN9KzN+GgZ3YB4\ns3FTryXbUiRnylhlRS63/Cqsy0qyMztEf1PvfBoUzbEJOCVOJM+vqK+bkZQZ5qu9N7Ko6o7Fe82H\n+MTIy6tOHhewizXLeAqKx6fe4570FVJmmLweoKWYXFQDfCGPnf5tgJXN5AG+vqpubmo8gbDFOZE8\nz4/bH6jWm1bqJNdCaqiAxgJtVTWAqbTweusxRoKd7uxUNEaD7ZyOH+CzQ9+v+1E1mqBTYnt+rGq7\niLBrT5CpiRLTk/UFmukTSkWH1IybsTQU1ohEdTSt+pnatmLgahFrQfBYMmHT2WMSi9f+xCbGisxM\nr1ToQDiq88zEG1wK7+SD2B5Kmsmu7DBHkxcIbrEIdgch6YtiOmVebH+Ionaj/rStGdjAC52P8suD\n31yVe+fR5EXebD22WIWmFH67xOcev8in9X+2soY2+Sx+PfEEwhZnf3qA9+KHSBuhGy6PFZ25g2DL\n4j+x4ZTZX8N+4HdKdQJ0FEPBrkU6eUszSRvCqfgBHpz5YC1vZ8No6/ARjdkMXC1VqWpEIBjS6L/i\n1jQoBkJYykd0Ks2uXdX5g6YmypTL88UPAHdxNj5SJhzRq44fHS4wm1y5Xaa7z5wXRPsz/eyvUahl\nq3ClqY8ftz+AIxoOWqX2dvWwX9R9zPhitNzE/fqv/+9fAnBVNkrRMpalabaSRVdcm9nVXZ0rFwZ3\nOZ5A2OLM5Up6vfU4V8LbcNDYlh/j0al3eb31OEOhrnkVg+FYtJRS7E0PVrVzJHWJky1HqwyUquZ6\nwp3JXY7s2LICAcDn19m518/I9RLFggJxV0St7TpTEzYFX5CzDzxJOt6GVKTG5MC7PEr/onZSSbtm\nrWkFZDP2Io+lQsFesTAQgVizTiS6uT7TWaOJU/EDjAfaiJUzHEuep3MF9b/HAm281PFw1Qy+FiXd\n5I8//DnKgZvc+0J1jQiJ7jCp1iD+goWjC4WQuekq1G1mNteb5nFLBJwST02e5KnJk4u2f3T8Va42\nbeN8dBcOGvsyA+xLD9T0sT6SusSkv5lrTX1IJYuQphz2p69xNrq3KpcLUHMQXEhJDCxNJ2gXN21k\np2lq7NgdoFxysB3w+4R02kaJzXuPf5x8KAKaBpUF0pmd99E5VV4Uy7E0V+GNHdXjXXL65naXaFxD\nEyEaNwiGNlf+ySlfnK/3PoMlulsH3BdjMNTNhyffqrnynOPRPzvGL/zRMYLZ8uJ3oc5grQTK/uWN\n+vWwfTo5362de7fjCYQ7GAH2ZK+zJ3v9psdqKD4y8QYp8wNGA+0E7CLbcmPkjABno/uqjtcdi/11\nUmvkdD/f6fowU/5mQPA5JZ6YfIs9C6KONxumT2PeHKkg2dJFKRByhcECHMPk7ebD8wLhZsZnX9jk\nUng7GSNEa2kGseoPmuDWbe7urZNwbRPwo/YHFhtuRcMSjR90P8Kf7/2E63tbiy9DT2lmRRMDBSQ6\nmryZfQPwBILHImLlDLFyZv73iJXj/pkzvN18GEc0lGgYTtlVFdSonuUg/PW25yhpvvkPuqT7eaHz\nMcyRl9leWL6mw6zRxFCoC8Ox2ZEbbkgAXSiskzcidRdAbpIzl3JZIVrtVUImEuev9z6HIxqWuNHL\nwdhxjr78bcxybUNwV2/tuJKN4NE/OwbA01+uU7fcUWy/mKjrquAvWBRD9QtBlfw6RrlWuZlq8pHG\nPYe7GU8geNyUe5Pn6cuPcy5ScTvNDbM7M1RT9XQhsnORMFjIj9vv55evf7vmNRTwWusJzkb3Mme5\n+BH38/TEG/Mri5IY5I0ATVYOo66e5vYxDKHHyFAvuXG8nAYgn7NJTJdrCgMFnHn4I27gYOVZlEXD\nDkS4dPwR7nmrunpc347bK9yjcEti2mjEy+lFAYU3TW0A8OWb7F9uJFfqpjExs20hgtkUstD4vqRZ\nBeTDJuoWMtB63D6eQPBYEe3FGdqLb9/0uIFQb+0dImTNprrn9Tf1ci66ez7FxhwvdjxM2/UE77Qc\n4UrTdgTXnfZY8jwPzHwwP5go4Gx0D6fiByjoAdoLCR5KvL8iY2ct9gWSvFdOk9RiixLWGY7FAzOn\nmUmUmRyz6tY2ysZasPyBKsHoaDpTXTsIRXVyadcYHWrS6Or1YZq1B9RpM0rKjNCTn8CnLAZDXZT+\nyXPoGnzpPSHXZNI0W6J5ModUCuYoXZjuDpMPr+FMW4R82CSYKVfJBkcXSoHl9falgMFkb4TWsSya\n7SDKtRWoBVKh7NeZ7r55nWeP9cETCB5rStCpH/GlLTOrPx3bX6futPB814dJmeGKsHAHnffjBzEc\nm3tTblDWK233cSGya96DZSTUyTcDT/PJ0ZfpKkwtavFaqJdT8QPkjCDd+QnumzlH0hfhVGw/eS1A\nX36cE6kLfGbsZV5qf5DroW6UCJpy2DV5GfPqIBMV43A62sJE7y7yTRGsSinNlskRwqkEylHzxuiF\nOKLx/cd/gYCVxxBFQJX52K7LHIv086kF7pF60aJ7IIVW67F9N+t6RAFti55WBVvRNpxmbEfs5p46\nqyDRGaarkESzFZoCp3LByd7IinT+hbCP4T0muuWgNMHRBH/ewijblH06pUDtXFQeG8Oyb4qIRIF2\npdSVJduPKaVuu7q0iHwc+GPcz+b/VUr9u9tt06Ox3Jv4gPOR3dU7lGJPptrddY56OZls0ZjxRasC\n7+YS+B1PniOnBzkfqV5dWJrBq60n+NnhF+a3nWw+zPvxg/OCI2OEuBze4VbIqmQSTZkRLkR28slL\n3yV06RrqWBcK19X2asseRo50cO9Pvs3gvqMM7T6Ms6RiWrK9x/2hXi4KEcqmn7JxQ530Z+Md/Gn6\nSehT81HmPf2uemW54VGjWu0yfxkF0USe6Z7qyPRbxTY1hnc305Qu4StYWKZGNubHWY2KRwTbvPHM\niiGTIvVtDx4bR12BICK/APwRMCEiJvCPlVJzfo1/DtxWsVgR0YE/AX4KGAJOisjXlVIbk23KY12I\n2nnuT5zh7ZYj7obK4Baxsnx46p26523LjZI0I4uT0uEWKhGoyuEDbu77cxdtZtoj0GdDjVoErqeT\nS173cyp+aJHgUKKhUIu8Y5SuU3aEH8dPMLOkbrJtmuTCUS4ffYiJnt04xjJzKk1zM9PNBwwuSSWy\n4GdNQSBXJpAtUwj7aEoVbyoM5ptZZrtZtBHH4eDb73LwnXfRHJtrhw5y6vHHsM1bHIQ1IRvzk41t\nXm8oj1tjuRXCF4D7lVKjIvIQ8Bci8gWl1FdY2Xt6Mx4CLiulrgKIyF8BPw14AmGL80DyLHuy1zkd\n209e97M3Pciu3PCyWVOPJs9zLryLEjLv6qk7Fs3FFDP+2onDdNtCt8qYxWLddg3rhpfSaKAdTTnY\nS/U4tVQUmkaivRethtpH6QYTvburhFcVIqCEyMwk6XjbTVUhmoJQukQh7MNXuP2UIAooBXQ+9f/9\nBc2TU/Mf7ZE332L/qdP87W9+HtvnefN43GA5gaArpUYBlFJvisjTwDdFpI+bhiStiF5goYP8EPDw\n0oNE5PPA5wE6zeAaXNZjI2gup3liqtoIXSw4JKYtigUb3dCIxXUiUZ3UYIb7L3+da/tPMN21Dc22\n6R68yOPWJV7d+RiDoe5FldE0q8y2S2cQIJYYR7fK2MbiqFTNtugevMCXf++zvP2TbgKZEu0j6do6\n+RpoyqnrOVOvZOZSRCm6By6SC8ewzeUHX4VrZAUoBg0iyfqCbiUoIDo9skgYgDub8xWLPPzCD3n1\nEx+f3948PsFDP3iRjuFhHF3nyuFDvP3Uk5T93krgbmE5gZAWkT1z9oPKSuEp4O+Bw2tw7VpfU5Wg\nUUp9EfgiwMFgfHMn5vdAVdxupMZgmUnbS3L+O+QyDuNaGccBPzkOnnoVTt04IhHSeCb0Bj9qv5+r\nTdsxA1DOO/RdOcv2y6fdawHHX/8+7z36URzdqAziQnxqlJ7LZ/neV49COxSazEoM9pLXqEZWWLEt\n2oeuMLG9OiivrmtRDUQ56LZF59AVRnYcqAp0W9SsMK+GyUX9qLEsLFUbLe3rXF+Umm9bAY4Gk31R\nnvny92rbF4AdFy/OC4TodILn/stfYZbdFZVmWew5c5a20TG++Y9+9abCTxyHnWfPsf/900RnkuSb\nQpy//z4uHznsGYm3EMsJhN8ENBG5Z06vr5RKVwzBv7gG1x4Cti34vQ8YWYN2PRpAqWAzNFiiMp6g\nG9DT55svMqOUYnS4TgGYZWbs6ZLGv/7EbwAgtoNuKT7+pb+kdWJy0XFN6SSPfv9vmWnvoeQPEklO\nEU4nKZsms80VlZMIk30ROq7Pur9W3B4DuQyWP+jO0HUDzSoTzMzSNn4NX7nE0O57XINzvZTiN6F1\n7DrNE8MkW7vIRW70ZaFgUQLpeJBS0JzfP7w7Tnd/Ct2eO04RzMxSCjbh6DqabdE8OULH9ctcuO8R\nSr4Iti6kmwOuYBFBXAtJHaPzjesfe+11dGuxmsqwbaIzSXr6BxjZtbPu/YWTSZ77yy8RzObcdoFQ\nNstDz79AV/8AP/n0J1f1vDwaR12BoJQ6BSAiZ0TkL4DfBwKV/x8A/uI2r30S2Cciu4BhXCHzS7fZ\npkcDsMoO164sHuxtC64PlDjw8if5wjcP0jI2zscu/zU+u3bkcb1BqxS4oa5Quoalw9kHH+CR51+Y\nn83OoSlF68SNHENlw+C9xx9dZPgthkyG9rpeMrrlUAwa4Ph5/Lvfx9FDFPxBoslJrt6zh+/88i/y\nzFe+Tmg2Saa54tz5//ELa/EAACAASURBVLf35tFxXfed5+e+92qvAgo7QCzcV5GiFlKiZFGyJVuS\nZdmSZTu2YztOnE7smfTp9JnO6el0zvwxc+afnPTpTGa6Z9G0+2QSW+14jbxIliVZokUtJCWu4ipu\n2IgdKNS+vPfu/PEKRRSrCgQJoAog78cHMlH16tWtV3j3d+9v+f7mawykRApoGLtIpKWJtM/H3W/9\nikhLB0M9m0h7/XhTCcBmaE0Pkx0NTsrlLGyXzuDGRrSchWHaZD06d791mnvfOoxuWWhSknO5mGhr\npXdrZ0m2E8C5nTtoHiqVAZfAldWrC7+3Dl5BK7PzMXI5moeG5zQIj/70n/ElkiXfn8uyWHf6DMM9\n3ZzfeeccF0uxXJhPgvL9wF8D7wAh4PvAxxb6xlJKUwjxL4FXcMJ2/1VKuXKlM28hshmnLaTHqxVJ\nN8+0AXxK+1dFx9//yqts5njJhCAl/O4rR+DrW7B1rahCtRzXGgXTMDh9z90lx13ctpX6iQm2HXwf\nISWalEUFagCJuhBHHvoYF7eXejelrhEPe2c94ub1L30eXzyOJ50m2tCAreusO3qOj3Y87BiBG3V7\nCMc1dfiRB0B7kGf/3+/iskxahvtpGb4aOrN0nVN7vl1iDGZju3Sy+TTNI4/spX/jBjac+BAjl6N3\n80YG1q9HVnBFnd+xgx3vHSQUmS66Rpau897jnywclwgFCU2XSk2bLhfJYOWCwvqJiaJzl1wGYM+r\nrzPd1ERHXx8dl3tJBoOcufduxjorFDEqasZ8DEIOSAE+nB3CJSkXRzdASvkSUF7LQLHkSCmJTVtc\n9AZhKMNESwuBRJxQZBpb19DNHMNdnQyv7mFw3VqmtNay5+no66vop24cGwUg0txMxustWdXPYBk6\nOcOFbtsIKRFS0rdxAyfv213mxIIjD+/l1O5dtAxeoeXKEKsuXcKdydC7cSMnHtxzU4HQVDBIKhgE\nKWm/FMHyNM7PEFRwI2m2jW5LpLSpi5ROtlPN7fStv4PWvhjTTZJ4g3de+fzjqzoYX9Uxr8+EEPzz\nH/8Rd+1/m03HTqDZFoNr13Lw0U+QDl6tCD55326aRkZw5YrdRlIILm/eXPH07nQae464CDjxhcf/\n6UcgwDAtbKDno/PE6+twZ7LEwmGOP7hnzl2IojrMxyAcAl4EduMURv4/QogvSim/uKQjUyyIcm0A\nvYkkd+3fz+pzHwGCeF0d4YlJfOYUAJ29jhKnAMjPC6t6++jo7WPnO+9xefMm3n7qyZLJLxUMUDcV\nKWsUcjOZNUKw75nP8vgPfohhmsU7AV1npKuL17/4HB29fXiTScZWdRBraChzxqtkfD4GNqxnYMN6\njjxcQZDtRpGS1t4o7ow1P2NgW2U7zYEzEVq6E+C2dB1jlo/+8sY76du4A1s30KSgfiJF3WQKT3oY\ny6UzsG4t5iJl90hd58gjD3PkkYcrHjOwYT3H9+xh57vvFtJpbV3n9S88i+mpnB011dKKNlcQCKd4\nTlhW4TvXAM2yqJ+cKsQbPvGzFzn42Cf4SLmWasp8DMIfSynfz/97GHhGCPGNJRyTogyV3DUVuaYN\noCuT4el/+Ee8iSR6/gb2pFIl6YjXIvI/mmmy+txHXFmzhkt3bC065vDDe/n0939Q8loJnLz/6gp/\nfFUHP/nOn7Bz/7usOXsWbypFzu3m3F07OfLQg0hNq+kq0chatPRP48rJii6QAvkYgTsboWlkgpHO\ntUjDVfR83cQwiHYAzt25g03HjmNYFhmPj95NO5GzfP6aBCybpqGok2kFpPw+Dj32KJe3blncD1qB\nDx+4n3N33Unr4BVybjejXZ0VXVEzmG4XRx56kLv2v43LLN/roWJQe9a/DdNk1xv7uHDHtrmL/RRL\nynWv/CxjMPuxhQaUFXkePPFv+PN3hoB8G8AlQM/luPeNN/HMMgZw49WFrlyOLUeOlBiEsc5OTtx/\nHzsOHCx6fHDtak7turfosYzfz8HHH+Pg44/d4LsvLUbGouNyZH7VwVKSCLmZaguy9xdv033hAlMt\nq8jos3R4hCDS2oknmSPjd/HBxx+mbmqK9v4Bxjp6ENJGXlvxpmlMtPcg8gbBn0zx8C9+xaajx3jt\nS1+oykSZze+6boRT9+0mUV/Pjv1v0zjhiAnebKJpeHyCyfa2ksedauvDbDlyFFcmy9Dq1Rzd++B1\nd5GKG0OZ4iXgurrys/l3KWBpDAFAz5mzPPTyK+imWTaL5EapVBV85JG9nNx9L3cc+gDdNDm3cwfR\n5uayxy5HwmOJ6xuD/PUbb/eTaPAD0DY4SCLUQM5dqmyK0AiPJRlZXY9tGLz+pS8QHh8nPBrF1oyy\n73WtAKAA2vsH+Mr//p85uXsXJx64f1muoHs3b6J38ybqJyZ45MVfEopMIYVGzu1morWVVb29RYuR\ncmi2XTH288iLv2DVpcu48m63NWfP0nXxIr/85jeINSzd/XO7sfz+spYx89KUh+vryi8B7lSK+3/z\nGqs/Oo9m25guF2d23snWo8eKfNcLwdR1+jaWKdTKk/X7OfLI3kV5r0VHSsLj43iTKSbbWsl6vUVP\n+5LmnMbAKfYSXFnXgO266kbJejzE65qoVLzvzhS7USLNzUQbGuk8P1WSdSXyBWzXIgCXabL94EHa\n+/t55atfXrbFXtNNTfz8W98kEI2imybRhgbc6TSf+d4L+OIJXLlcXsC82PjaQhBtaCg7uTeMjNJ5\n6XLR37EmJUYux86332H/008t+ee6XbjtDYL3jecA+B/+Q3uNR3LzeJJJPv/8d3Fns4WbzJXLsf39\n6/cvKMfseWrmfJamkfV6Ob1rQZqGNSEwPc1jP/4Zweg0UtPQTItTu+51AtH5idXWhKNbVAYJZN0a\nw2vqSyqNT917D+tOflRU5DUbSy+duG1dY6I9QNPw1V2JbubwJmOsPnus9CR5DMumaWSUtv4BRnq6\nKx63HEjU1RX+nfX5ePGPvsmas+fouNxLxuuh5/wFPMkUumVhGQamy8Ubn/9c2XO19w+UrQ7XpKSj\nt7KCruLGueUMwg25awD+wxIOpkrsePdAkTGY4Xor3krPW7rO6889S/3kJJuPnXDy3Tdt5MP7d5Px\n+xdn0NVCSp74wQ8JRGNFLrOthw8TC9cXCqZiYQ/1EyknuDv75UDapzPaXV+2X/DA+nXsemOfo6Wk\nG0UGQwLTjd6S1wAk671kfS4C02k8qSw73zlAW/8F9Ou49fRcjtbBwWVvEK7FNgwu3rGNi3dsA+CD\nT3ycVZd7qR+fIB6up3/9uqIg+2wyXo+T2mqVBq2z88zE0nM52vsHkMBId9fNK73e4qwogzAYbrm+\n26YG7polpUKOe8PoGK2Dg6R9PtaeOVNxci838VuaxnB3F62Dg+imVdDUB4g2hNn/mU8zvmoVw2vX\ncPbelbcjmE17Xz+eVKokfuLKmew4cLBgEKJNPjwpE28y50ha5I+bbAuQaCg/qQNsP3gIgWTd6Q84\nc/e17jJJIJYl0VBelNF060y3BIAA79Z9nN2vS7ovOC6jisbaMMj4rjmflLRcGSIUiRBpaioblF1u\nSE1jcN1aBtetve6xfRs3sufV10sezxkGp+8tLVwUtk1b/wDeRALNtmm+MsSmY8cLfwO2prH/00/Q\nt2UzummSc5dv+Xo7sqIMwu3Eug9PcvdbbxOMxch4PFi6jjudJlkXIuv2EJ6YABz3gys7dyN6Gyf3\nGxxfbdbr4XfPfBZvIsH2AwdpHh4h2tDAyft2M9a5amk/WJUJxGIVK6R9icTVX4RgrLsOd8rEk8ph\n6xrJoBtZxuUzm9Vnz6HbNoNrt5YK5OF0A3NlTHKeuW+1eLieN77wLNg2e37zGhs+PIlmFzekz3j9\nZF0uLm+6GsfxxuN85h9fwB+PA04h2VRrC7/58pduGZVS0+Pmt889w6M/fRHJTOBd0L9xA+fu2ll0\nbNPQMI/95Ke4Mln0WTuK2ddRt20e/tXL2C+/AkAyGOTQY5+gf+OGpf8wyxxlEJYhm44cZdeb+wpV\no55ZmT11keniVX/+j76SC0gCfZs20n3hIiAZWLeOQ499gqzXS9br5Z2nPr10H2QZMNnaWlGdNNJU\nmgWV9RlkffO7LXrOnsOTcuo9EnWV0x/daeu6BqGApvHek49z4JOPct9rv2XDhydJ1DdydufHSAXq\nsHWN1sE00QaINvp4+h++hz+euPrdS0nT8AgP/fIl9j3zWbouXsKbcAr9ptrKV5qvBIZXr+aHf/Yd\nus9fwJ3JMNzdzXRzU9Exei7Hp37446L7ZS5msp5C0SgP/+JXvP6FZxmepe90O6IMwjJD2Db3vPV2\niYRA0TFlHrs2EDzz+5vPfo7+TZUzg251plpbGOtcRevAIMasFaNpGBxeYEbU3W+9Xdh5uTIpMv7S\nVpWGaWIaN9BeMo80DA48+Tgn99xP01AWKQTO/0C3JOHxFOHxJFlPiEA8UfRaAXRfuMjX/+PfAc6u\nUGoaw6t7eOPzz5QVwVsJmG43l7Ztrfh8z7nz162anuHae8gwTe753X5e+sbtbRBu/C9VsaR4E8kS\nGeL5YBkGZ3feyWRLC/FggMubNvLDP/vObW0MADTL5sAnn+Loxx5jvLUTSwimG8K8+cxnGV7ds6Bz\nzxaD6/noQzTzGtedbePKpAlEJ2/6PYTtxta0vCmY9TiOS+rD+x/DNEoDpGLWjy4lhmXR3tfPne+8\ne9NjWe74E3G0MoHn+VI/cfPf062C2iEsM7Jezw01YJlBIDm1exexRlW5OYM3kaNlwOl9EAuv4vgD\nq8h5dEZ66pFlMoZulGTwqkLoqt6zpAIhrqzdgrAtpNDwpBJs/WAfx/buYbLj5gK9roxVkvk0GwmM\nrVpDR99H1z2XYZpsPnqco3sXSfdpmTHe3o6t69ctgKtEag5V19sFZRCWGZbLxaWtW1h7+kyRi2M2\nM/PDzJSWcxn0btqkjMFsbEnLYLRoMhXSmWDrx5NEWhd+8x958AE2HTvjyE0gae+/QM/5E8Trm3Bl\n0gSjk5guF9EFfC85j44tqGgUbE0n666cBXUtrmz5JkW3AiPdXUy1NNM4PIJxjVG49vJJit0jOcPg\n+J6SDr63Hcog1AAjm6NxdISsx0M0HEaTEnNWs/MDn3oMbzJJR18/tqbhyuWQUmIaBkIIUsEA0w1h\nWoaGyXi9nL73Xs7evXOOd7z98CXKZ15pEoLTmYUbBClJ1Hdx5t5WR+1USsbbe2gZ6mXLkf0InPTe\naEMD4+03X/SYqPdQP55CygqCewKCkbGyxYTlGJuvbPZKRAhe/b0vcffv3mLDiRO4ciZSCGxd58rq\nHibb2sj4vEy0t3H/q69TPzmFrWlots2JPfcVaiSAQnDeH48x2dpGor6u8vveQgi5CPo21SLUsVHe\n+82/q/UwFsTWQx9wz1v7sTWBkTMRUjqpgi3NvPfEpxjvuHrDhqYi1E9MEGsIo5kW4fEJYg31zjEq\nb3pOAtMZGofjZVfWtoD+zU2lT9wAockUDaOlXcI002TrB2/SMD7ESHcXbz391IKL+Vxpk5bBGEbO\nWfXOvKctIOs1iNfDutOncafS+ONxes5fKJErkTjSI6/8/leY6HAMVP34BHfv309b/yAZr5dTu+5x\n0jhvk7+tuolJPKkUUy0tRRLfgWiUT/7wJwRiMaQQaJZF36aN7H/qyYrFc8udfX/9mQ+klLuud5wy\nCFWk+6Pz7P3lrypmEOVcLn7xh9+4LRUc2/oH2HjsOK5slt5NG7m8ZfONibhJ6RSU5WMDes5i1cVI\n2crjZNDFeNfCVnxd5ybQy7mqpUTPxbmyvpV0YHGruj2JLPUTKTxJE6kL4vUeppv9RfEQzbJ4+Be/\npPPiJZCgWxZSCEa6Onn/0Y8z2ebEMsJj4zz1vRfQc7mC6yRnGFzeupl3Pv1k0edZffYcWw8fwZ1K\nM7B+Lad27yIdWPn+dk8ySff5CwhbMrh+LclQCKTkmf/699RNThUVM5qGwcnd93J070PouRw9584T\njEaZbG3hyto1ZWXCw2NjbDx+Am8yxcC6dfRu3lgzYcL5GgTlMqoiO947MGc6qW6a3HHwEO898XgV\nR1V77nnzd2w5cgQ9Z6IBHb19bHv/MC9/7SvXlRjQTJvG4Tj+uOMiynl0JtsCZPwuYmEvoUi6YBQk\njsFYqLtIN+287lH5lXQgGscfbaZpaApbF0RnNb1fCJmAm9FA5WY14DS1efPZZwhNTtE0MkIqGGSk\nq7Pkve/Z97siYwCOgN7a02c5sWdPQWRuphZiptNd3dQUG06c5Jd/+A1nAl2hbDx2nPte+60zkUvJ\nfa//lhN77mdg/boSmRNwAvJbDh/l8tYtPPHCP6HZFkbOxDQMUqEgL//+V4p2gpsPH2HXm79Dy/e+\n7j5/gR0HDvLS1746Z8OhWqPSTqtIIBqb83lNSlqulDZEv5Wpn5hg6+EjuPLGABxhvvrJSbYcPjrn\na7WcyaoLU/jjuUKKpTtj0dofxZU2ibT6megIkvEa5Fwa8XoPQ2vqMd0L3Pbbcs7+0PFwC6GpFIZp\n485YNA/FaByOL+w9b5BYYwOXt25hpLurrCFqGxgse/NLIWgdGAAgNDnFxhMfFrU91W0bdya9otNX\n6ycmuO/1NzAsC1cuh8s0MSyL7QcP0nG5F1nBcLszGT7x03/Gk07jzubQpMSdyxGMTLPnN68VjvPG\nE+x6Yx/GLMl5Vy5HaGqK7df0DFluqB3CEqLncqz/8CTd5y+Q8XmJ14XwJRIVg342jpbQrUT9+ASb\njh7DH49zZc1qLt6xrWjV3/3ReUSZNEHDNFl/8lRRx7XZ6DmLzgtOymeJqJ+E+okU450hknUeknWL\nK+FguTQn86fck1I6QmyzXQhCIxRJE23yL9wYLRI5txt3mYwjKURBGnxVby/lZL1121nxvvfEUo9y\nadhw/MOy9QpGzqRtYLBI8mI28bo6fInSuJFu23Sfv4BmmtiGQff5C2WNimFZrD95iqOL1e51CVAG\nYQnwx2J0XLrM3fvfwZ1J48qZzCcz2jaM8k3lVyjrT3zInldfL2ybOy9dZsd7B/nVH3xtwYHWpmGn\nOrdSa0Z3enF6QJRDs/OCgyW5jBLNtsv6iTXLJhhJEGldHtkqZ+7eyc53D5QGn4VgcO0awPGbS6EB\npROkNasYzhtPsO7UKfzxBKNdnfRvWH/d1pu1xJtMlm0WJQAjl+XCtq2sO32m6NqYhsHZu3dy57sH\nyp5T4HzHtgGiUkYYVJRJXy4s329tJSIlu1/7LZ9//rs88Mqr+OPxQsxAy//MyErM/NhCkHW5yLrd\nvPPk44yvlLRAKfHGE7jT6bJPu9Jp9rz6esm22R+Pc8/v9heO69u4oezkYRoG57dvK3l8Bm8iN2d6\npelaupW4P5Yt3w9HiIruBkf5NLpkY7pRTt63mytrVmMaBqZhkHW7yHrcvP7F5woGrX/jhrITmGkY\nnLtzBwCrLl3mC8//F+5+623ueP8D9v7yJZ757t9X7Ky3HBhct5ZcmdiUaRgMrF/Hxa1bSu7Rk7t3\nceaeuytO6NMNDYXYwOD6tWWLSy1d5/KWzYv4SRYftUNYRNafPMXG48crFpTNIHAyivY9/RTJujoM\n02SivW3ZaMwIy0JIWTEjor23lwd/7Rg8pGSscxUf7N2LL5UgFQgy3tHOqsu92GWqgXXbZvXZc7z7\npBM4jzY1cWrXPWx9/7DT5hPn2kw3NnL27rvKvr83PndxlcSRs14qNNOuvAK07YrXzhZLt2u5UaSu\n88Zzz9IwOkrr4BXSPh8D69cVufOyXi/7n3qSh176tZM9ZVmYLhcT7W2c2n0vmmnyyIu/KFpJG6ZJ\n3dQUT/3jC/z8W99cljuFvk0b2fHuAeqmpgr3qqVpzjVYt46n//H7hVad4Kzq7zj0Ppe3bOb9jz/M\nrjf2FZ63cWRjjux9iHve/B3dH53Hm0yS9XgQmQzCcuTlc4ZBOuDn+APLu/hNGYQFUj8xwdb3D1M/\nMUF4fByXOT8tFVcuR/eFi5y7ayedFy7SefEivZs3M9XasqTj1SyL1WfP0XPuI3JuF+d37GC0uwtw\nXF0PvPwKnb19ICWmy+Dkrns5/rEHCzd2w+gYj/7kn4tumLb+AZ564b+Rc7kQOJIOp+8p1amfQVyz\nvD7y8F4G1q1j44kTuNOZQn/ecgYyPBynLpKZs/9DrM5NOrB0DVAqdVYDpzYgPDlCtLHV0SCyHanm\nrgunaB28wHtPPMbg+nVLNrYbZaq1lanWyiqovVs2M9rZydozZ/Ck0gyt7ma4pweEoPPCxbKvEUD9\n5CQ73jvAqV27aO/rQ0ib4Z4eR5JbStr7+mkcHSNeX8fA+nVVXQzZus7LX/sq2w8cYMPJUwhbcnnz\nJo4/uIfNR46VjWlplsXWDw7z7pOPEw+H2f7eQYLT00y2tTLW0c4jv/hlIS4x87dpahrTzU2kAwH6\nN6zn/I7tRQWoyxFlEBZA54WLfPzFXxR85DfiHbSFoPnKEOtPnUYzTRCCOw59wOl77ubwxx9ekvHq\nuRxP/LcfEp6YKPS2XXP2HGfuvptjH3uAz/zD94uC3q6cyc53D9A2eIXffPlLIAQ73jtQEnSbOd6d\nz0YJRSJs++AwmlV6Y1maRm+ZvsxjXZ2MdXXOOX53KlfRGMxc+4xHY6ojOOd5FkpltxCYXjfNwx+x\n5uxRxjpWM9KzEVtoDK7bSv+GO1h1sZfh7i6sZT4xzCYVCnJqd2kKu2GaCFk+OiaA7e8dZPuBQ871\nyu8wBteupnF0HG8igW7b2JpGzu3m5a9/lWhj4xJ/kquYHjdHH97L0YeLFW/rJifK7vA1KambdMTv\nrqxdw5W1awDwxeM89/x3ywaiDdumbirCK7//lZIe3suV5befWyEI2+ahl14u8pHfSJa51DTqIhHn\n9eSbhpsmWw4foWVwcEnGvPHYcRrGxwtphBrOpL/18BHuOPQ+nlSqbBvO1v4B2vv6AWeHUC4gNxtN\nSnyJBKd23YNpGNj5CTRnGKT9fg4/fHOy0+HR5JzPT3QEGFkTXvJK26zPQJZ5Cwmk/S5e/70v4I9F\nGOtci+lyYbtcWC43UjcY71hNx+XRJR1fRWxJcCpFa980Lf1RfLHsTQkpzjDc013W6M9gmCauXA53\nNos7l3OycS5cIhCLYeSb/+i2jSed5snv/2BBY1kMhGXRPDxadmFn6nrZ5lFrzpybc9y2rtM8tHJS\nydUO4SZpGB2bt9TutX8utqYRDdfTUEZuVzdNNpw4yVhnhdWylIQi07gyaTovXcYXTzDS003fhvXX\nLavf+OHJkqwScLbD606eqqgSqUlJ54WLDK/uIdrYQN3k5HVXElIIxlet4uXNm9ly5Cj+eJzBtWs4\nv2P7/Dt5SUlgOkN4PIluXsfoCkjUV2cVlgq4MF06rqxVNB4prsYuok1tTiaOKL5StmGg2dWXhhC2\npK13Glf2qnqqN5kjGfIw0RG4KSOa8fk4uXsXOw4cnPdiqFJWmDeVor23j+E1C+9HoJkm3Rcu4o/F\nmGhrY7RMYV45Nh4/4XTYu+ZxiXPPXtqyBU8qVdTC1JXNztmDQUhJZoXsDkAZhJtGatqcxUnXUjxx\niIqTogaEx8d54OVXSIaCnN+xnUR9PQBd5y/wwCuv4k6lCpO3ADZ8eJKddXW8/PWvzj3ZVhivkJLg\nVGTOrmum2/HJn9hzP6su9zpurjnQLIuJ9jaSoRDvfPrmEtbrJlJlG9+XHd91Wl0uKkIw2h0kPJYi\nkM84ynqdCumZzmgjnV1zvL76yQPBSLrIGIAj9OePZYg1eMj6bi7mcuSRvTQPDdHeP1C0c7SFuO5O\n8lq6Ll5csEEIj43zxA9+iGZZ6JaFrWlEmpv4zZe/dF3//cbjJ8oumMAxCJ/53guAZLKllf2feZJo\nUxNDq3vYfuAgWq5UTFHiGM2JFdDjegblMrpJplqayZaZfG2c9LKcy8DS9bKTrG5ZGNlc2dQ3CTSO\njLLpxIfsOHCIZ7/79/ScPUfT0DCP/PyX+BOJwnb7qq8/R93UFHe99facYz6/fRtmmewXAehlxln4\nTLrOpa1Op6rxVR3sf+pJMl4vOZer8BlnYxoGl7dsXpC0gbDlvIzBzPjT82x7uSCkZOuhD/i9/+P/\n5Gt/+3c8+rPv40kN0LepgeE14aJJ9dxd25wCtTJk5ttOcxEJRDNlr6WQ+TTaBfDal77Ah/fvJut2\nOxle4XrO3bmd3A3q9ixYCkNKHvvxT/GkUrizTk9lVy5Hw+gYu97Yd92Xz7XS92Yy6JaFbtk0DQ/z\n1Pd/gCudZmxVB0Oru4vuq5l01YzXy2tffG5FiQWqHcLNIgT7nnmaT/3wJwhpY5gWOcPAMgxe+tpX\nCY+Pc+++t6iLREpfilMAEwvXEx4bL1jlmft1Jqg1E6h66KWXGerpmXNVrts260+d5viDe2geHiE9\nszKZ9cd47q6drDt1hvrJSUdSe9Z4rmXmOVsIDj+8l2jT1YBf75bN9G3aSP3EBJbhIjQ1xa439xGe\nmCTj9XD63ns4sQBteVfapGE0Me8dmA2kQ0vfUH7n2+9yx8FDhQwrfyLB7t++iSub49R9xUHXaHMD\nvsQU3oRZVLVsC4i0Lq7o3XyoXCpF2XjIDZ1b1zny8F6O7H3IUe/VNIxslu6Ll9DicfR5fI+2EPRu\n3rSgcTQPDePOpEvbY+YrhN97/JNzTs6Xtm6hbvLd66aNazhuqQ0fnuT0rnt589ln2HT0OJuPHsWT\nSjHd0MjF7du4eMe2ZZNKPl+UQVgAY52d/PRP/piNx49TPznJeEcHF7bfQXtfPw//6mV00yx7G9o4\nvX4bRseLHq+YSik0moeGr7udM7JZvvh/PY+t6wgpSQUCvPal5wrqqZbLxctf/yprzpxl9dlzhKam\nysYxALJuNyfv28XlrVsLQmdFY9I0Ii1OimysIczP1629zujmhyeRo3UgipDzC9LbgOnWSYaWNmtH\nz+XYfvBQiUvBrtqPzQAAG7pJREFUZZrsfPddTt97d0kMZ6QnTN14irpIGs2SZL06U62O8F61SYQ9\nuEfMUvVXAcnFMqazCvNMt5tf/sHX2fXGPlafPYtuFUt3z+ycJU7m2fEH95CoW1gVt1MkWf6vRjev\nSs1X4sw9d7Pp2An8sVjBJVvJ9eUyTZqGR5zPommcvecuzt5Tvm5mJaEMwgJJBwOcePCBwu/Ctnnw\n17+p6IsEJ7A41LOajt7+efvskqGQU3Jf4XmJEwvQbRtmdhiRCI//4Ef89Nv/olBHYOs6F+9wVi89\n5z7ioV+9XCReBmBpgkvbthZ9rmrRNFK+h8G1OBWkTiA50uJb8m15eHwcKrgUhG3jjydKm6gIQbTF\nT7Sl+juCa4nXe/BHM3hSjlGQ5IPgjT5y3qWZBtKBAPuffor9Tz9F4/AIO995l8bRUWL19Uy0tlI/\nNUXG5+PcXXdWTqK4AcZXdaDZ5Vf3k22t1y2S23bofXzxOMK289dHkPZ68aZSJfedaehEmpsXPObl\nhjIIi0z95CR6BWMggUQoyDuffoL6icl5ZylplsXhRx7i0Z++WOQ2mlllWbqOsO2SlYwGuDNp2vv6\nGSoTrOvfsJ5kKEgwMl1YEUkcnZoPK4jKLSWaZWNkr6/6JIGsR2d4bXWEAF3pNI/8/FcVs7CELcn4\nlnkmiRCMdtfhTeTwx7JIIUjUe8hWI/YCTLa38cZzzy7pe2S9Xk7cfx/bDx4qSMbYOAuwA489Oudr\nw2Nj7DhwqMhdJKR0XKu6XlhkzWBrOud3bF/0z1BrlEFYZEzDqKh3Ymsav/jmN8jmhd2kppX8ocHV\niX52WfzQmjXs+9zTPPDKq06qW15GIBEKMbB+HVs/+ACtTJW0kDgSE2WQmsZLX/squ97Yx9ozZ9Es\ni+Gebg49+olCZlM1mWs7P9vFIDUYX1U9Lf4d7x1wVo5lnjM1jd7Nm5d9BSoAQpAOukkHV8BYb5Lj\nH3uQ6aYmdrx3EH88znh7G0cf+hiT18n0WXv6TNkFmss0mWhpxpdM5ftRS9L+APs+9/SiN0BaDtTE\nIAgh/gb4LJAFLgB/JKUsjb6uQOLhMPH6OuominP1bSEY72gvGIOh1atJBgMEp6fRZ0khmLrO5c2b\nqItEHAmIXfcw2uWkMA5sWM+P1q8jFIlgulykglcrctv7+2m9MlQyHiElE22Vb4asz8c7Tz3JO089\nWfGYaiE1QSrgwneNcN2MeyPj1sgE3MQafFiu6iXIrTt9pmygUQLRxkbefeKTN3fimYXDCspCWQn0\nbtlM7w2KyOmmVbHAzDYMfvTff5vwxAS20Ig2Ntyy31mtdgivAn8ppTSFEH8N/CXwP9ZoLIvOvmc+\ny5Mv/BNaPu0t53KRc7nY/5mnrh4kBL/+6lfY+6uXaBsYxNY0LMPgwGOf4PK2rZVPLkTZFpuHH3mY\nT/7oJ9dI9uoMd3cRaVkhvk4pCxkvs29NCQyvriPnrX4w1qH8zW8ZBmfvueu6Xd2uJTw2zn2v/5a2\n/gGkpnF582YOPfbxooKnamNkLQLTGTRbkg64SAVct+ykV47+jRvYdOx4ST2BaRhc3LYVhLglYwbX\nUhODIKX8zaxf3wO+WItxLBWR5mZ+/O0/Ye2ZM9RNTBJpbeHy5k0lE0c6GODVL38JTzKJK5slUVd3\n0+qQI91d/Pa5Z9n92zcIj09gulycu3MHhx+5OZmIWuBN5kp2B+AYBMOUlJb+VIeL27aw9f3DpbsE\nKelfv/6GzhWYinDHgQ+5vOl+Lm55gJahPro/Os6nh17gxW/9YU2auAciaRpHEoXMrmAkTdZjMNJT\nB2UUa29FRro6GVy3ls6LlwpJFqZhEG0I81Fe6vt2YDnEEL4F/FOlJ4UQfwr8KYCnbmmVQBcT0+Pm\no513zuvYjN+/4IYxAENrVvPzb/3hinVFBKYzZWsPtPxzqRr5vk/suZ/ujy4QiMUcUUAhsHWdw3sf\nIhW6ASE9KWnvjzK4ditSd269odUbGe/o4a79v6Ln/IUF5+LfKJpp0ziSKKlgdmdM6iZTRJtvPT95\nWYRg3+eeZs2Zs2w8dgLdMrm0ZQvn79x+wzvAlcySGQQhxGtAe5mn/kpK+WL+mL8CTOD7lc4jpXwe\neB4g1LFxebcbWi6sMEMww5y1BzUUPst5PPziD7/ButNn6LxwkbTfx0d33nndQOW1+OI5bN1TMAYA\nUtPJudyMdq6nefBK1Q1CpSplTUJwOnP7GAQAIbi8dQuXt26p9UhqxpIZBCnlnJE2IcQ3gaeBx6Rc\n5n3lFFUhUefBF8+W1CHYgkXvi3yj2IbB+R3bF5Rq6E1ksfXSW07qBuPt3ViuxEKGeFPM1dJxubd7\nVCw+NdEyEkI8iRNE/pyUcm5NY8VtQyroIu13MVsM1BaQ8bmWvBK5Gti6RqWuGa5chkt3VG4ZulSk\ngu6yoocS0CxJ82AM1xL2p1YsL2oVQ/hPgAd4VTjujfeklN+p0VgUywUhGOsK4Y9lCUw7PXkT9R7H\nGFTRDeaLZamfSKHnLLJeg+lm/6IUcCXqPdRNpkriJJppMtLdUpMsI8vQKkpSzwjf+WJZxrqCpIO1\n3aUplp5aZRltqMX7KlYAQpCs89TMRRSaSBEeTxbcVnoihzc5zWhXHZkFtuU03Y5EduOI4xqacclM\ntQSItC1tl7dKuNMmUgNRoUB8RlW3+UqcgY3VNcyK6qPkrxWKPMKWRcYAnMlQkxQm8YWSCHsZ6QqR\n9eiYhkYi5CEerl39ga2Jin0yZqPZTq2C4tZmOaSdKhQ1x53K0ThcWXLblbUQtkQuMC/fF8/SPBgr\nZFQZsSz+eJbRrhC2oSGFwHRXrxYh59Edt1HOvq66rCttYtagl4OieqhvV3Hb403kaBmIzq2yKhbe\nNwApaRqKl+xAhIS2/ljh/KZLZ6wzWJ3JVwhGu0K090URlixqvHQtN1s0qVg5qG9YcdvTcE1h1rXY\nQGIRAtszu4xyzLimNOkc194brXjsYmN6DAbWNzDRHpjzuKxvZTV7Udw4aoegqCneeJaGsSSujIVl\naEQbvcQavNULXtoSVwXf+IyonunWmWqbe7KcD3Opuc7G2TVI/NEMiXCVZLU1QTLsJZHIEoiVigum\nAi5sQxmEWx1lEBQ1wxfL0nwlVlidG6ZNeCyJnrOql3UzxxwtgcnWAImwZ1EMlOnSsFwaInt9f/3M\nTqHaTHaE0OwY3kSuoDee8RuMd1ZPblxRO5RBUNSMhtFSV40mIRTJEG3yYxtV8GhKsHSBbsmSVbHl\n0hbNGABOncWqEG19UYSUhc5lUGqXbAHZGgRwpSYY665Dz1q4chamS69qkFtRW5RBUNQGKTFy5ZPf\npRC4MyZpY+mrk+umUmh2+Rb04x3BRXdd5bwGg+vDBKYzuLIWtq6VFKvNtAetZXW25daxlCG47VAG\nQbGk6Dmb8GgCf9wRUUsG3UTaAli6QArKpnkKKbGqsTsAgpFM2YCyFODOWmT9i690KXWNeOPV2oOM\n30XjcBx9VuqnJqHj8jRjXSG1QldUDZVlpFgyhGXTfjlCIJYtZNAEYlnaL0cQtiQe9hTpFoGzOjbd\nOrkquUvmFHerUpZPOuAi0uwDcbUyeCaG0NYXranSq+L2Qu0QFEtGMN+Ba/acL3BE04LTGaZaAhg5\n2wlg5rEMjdGu6gUwk0E3oUimrMsoFaiey6Z+Il2yU3GulXN9qtkHWdiSYCTt6EkJiNd5iIe9t02z\nnNsZZRAUS4Y3kSvrjtGk0x0t1uhjrKsOI2PhzphYhkbGZ1RVL2e62Y8/lkWzZWGstoB4vQfTUz1X\njWFWEBOCirGWJcGWtPVO48pahevhSicJRdJkvQbCskkH3CTr3CoN9RZEGQTFkmG6NCSlGTQSMGfF\nCEyPXtXJdza2oTG0LkxoMo0/nsXSBbEGb9W7s2U9Ot5UeZnprFcHKdFNia2LBctnzEUgmikyBuD4\nlV1ZG1c2iwD8CZPG0SSpgIuJVUFsXXmebxWUQVAsGfEGL8EybTGlcJ5bLti6xnSLn+mW2nUHi7T4\nae0vls+whaM15EqbtA7EEHn3WyLkZrI9uCSGwR8rbVAElLj9AHyJHK19UYbX1CsV1FsEZRAUS0bO\nYzDZHqBxOHF1FpEw0R6oWtB4Ltr6+rnz3feom5piqrmZ4w8+wPiqjpqMJeN3MdYZonEk4biI8mmn\naZ9B42ixAqs/lkU3Y4z21C36OKQmyu7qyiEAd8bCkzQXLA2uWB7U/q5U3NLk3DqpgBt3xiTn1plq\n9VddMTMwPY03mSLS3FRomL721Gke/PVvMEzHTeOPxujo6+fNZz7L4Pp1VR3fDOmgmytBN8KSSA0Q\nglUXpsoW73lSOYyMteiutkTIXbHPciWahmJcWdeggs63AMogKJaMhqE4oXznM4ETHPX2TjPcU0/O\no1NYii6Ru8Efi/Hxf/45DWPj2JqGkJJjD+7h1K57uf+11wvGABw/uWaa7PnNa/zkO39SUxeI1K++\nd8WAsgBX1lx0g2AZN/a5BaCbkkAsS6JedVRb6SiDoFgSgpNJQtOZUt+zDS2DMSerx5LYmiDa6CXa\n5FvcSVhKHv/BDwlFptFm5fHvfPtdkE46Zzm8qST+eJxkaHlo91iGVj4DSToy2Yv+fi69YsFgJVeS\nBvhjGWUQbgFUeoBi8ZGShrFUxV69Rs4uaAfptqR+IkV4NLmo79/WN4A3nkBqGil/EEtzJk+XabLx\n2PGKBWnCluRcy8cfPt3kLVu8l/Po5LyLv56zXDoZn4trTZCdf99yV02S77ymWPGoHYJi0TGy9pxt\nGa+dOhxBuzTTzT7kQlIYpaRuIkXdZBrd8vHep74MmkDYzvTWeek0604fwZ9MMt3YSMPYWNHuwRaC\nke4uct7lkwEVD3vRLedzFdRHfUurPjrWGaRlMIYnZRbeMxlyY+mCuqlMyfEyP07FykcZBMWiY+ti\nXlkqRQhw5WyyCzAI4bEkoal8xa8QSMP585b53cHg2q0goX5qkN997mmefOEHGLkcRi6HaRhkfD72\nP/Xpm37/JUEIppv9RBt9GHkxPMu1tBt7qWuM9tRjZC30nI3p0bE1QddHk2W/V6kLMkug+aSoPsog\nKBYd29BI+114k7l5GwYhi4vVipASfyzrrPxNm7TfYLrZXyT6Jix51RhUHJeLwXVbuehbQ6whzE++\n/S/oPn+BuqkIkeZGBtavX7ZtIqUmilxERiZL65UrmC6DsVWrlmTcpvuq9LUnmXNiPGVcbZolF6Xf\ntKL2KIOgWBLGVwVp649iZKw5+/SC45/OenTCY0k0W5IMuR3p53yQuWjlDwSiWfyxLMOr6wuTpJGz\nCu6NubANg5GensK/e7dsXtDnrAVbPjjMvfvewtY0QGIZLt74/DOMda4qPlDOmqjnEbAXlu3UOFiS\njM8okhGxtfLGoPBWyhbcEiiDoFgSbENjaE097lSO9r5Y2WNmgpSWIZwCp7RjPHzxLKFJnZGeejRb\nUjeVLsp6EfkXN4wmC8VZlqFd1xiAEydYyVIL7b293LPvraKUWbI5Pvmjn/Dj7/xJIf7hn07TMJpE\ntyRSQKLew2RroHytgJSEJtM0jF0N7Evh9KUQtgTNqU+wdQ3tmownCaSCLlWpfIuwcu8MxfJHCLK+\nuX3L001O0FSTV3cRmnQqYEORNN5kruzqUwDe1FWVVNvQSAdKs2NmYwOxsHdFuza2HziEyyzVPBK2\nzdrTZwHwRzM0DScw8plcmoTAdIaWK45hFpZNMJKmfiyJL5qhpT9Kw1iysJObeY1mS6c+w4bAdLaQ\nTTST9WQLR69qor1K7U4VS47aISiWFiFIhFxlG7fPTCzlct41SV4iu7K+kH3NqnS8I0jX+amyOwWJ\nIxIXaa2dXtFiEIiW3225TBN/3HkuPJYsW93sTeTwRTM0D8dBOte9UBtY5pyzH9MALJuJtgAaoOcs\nsl7DEQFUu4NbBrVDUCw5k+1Bch69kMtuA7YGI2vquV4+UjrgolyDS1tAos6NfzqDL5ZxfOW6hjlH\nBk76Fpi8xjpXlRhCgJzLxUR7G1C5ullIaL4SR7Mp7Mg05qdbBHnJjIxFPOxluiVAKrSI/aYVywK1\nQ1AsOVJ34gneZA532sJ0aSSDbtAEyTpKegpDvidBnTOBj3WFaB2IXl3VCie1NRTJEIpczYufavGR\nDHkwJlMlK2QpqLqk9VJwYs99rDlzFi03q6mQppEMBRlYvx5wro1ulW6TFjp12wJMHQKRNP5YFqkJ\n4mEPab+KIdwqqB2CojoIQTrgJl7vQQqBO2OClOQ8hvMYVz09tnBE8eINTt/hjN/FwPpGJtsCRFr8\nRJp8aKYs8nkLoGEshWU4QePZ1b0zDeuzS1DZW21iDQ38+ve/zEhnpxOQ13Uub9nMy1/7qpN6KqUT\nAK7w+gVN2xKCsRyNIwn8iRz+WJaWgRgNI4mFnFWxjFj5d4hiZSAlDSMJQtMZJ0gsncygifYAgWgG\nibM6kTj/SYTcheCvnrMcnf58t676sUTZlYwAwmMprqyrJxjJEIhlsTVBLOwlWbfydwczTLa18euv\nfeVqGmh+de5O5Zy+CVIWZeDOxwjMJXk9c56sR8M9q3mOwNmxBaczxMPeJZHSUFQX9Q0qqkJwKl1o\nljPjHhI5Oz+BXZ2MZlb74YkUibAXbyJL07CzAhUS6ibTc6aXarYEIYg2+4k2r+wA8nWZ5aYRlk1b\nfxTtmq3B9TJxZ3ZmcxmDGePiydjlg8/S6dEwrQzCikd9g4qqUD9Zvok8svJk5I9laRhNFL1uJjNm\nrkmsXND1Vscfy5ad/Rd6JcQ1/6+4tVExBEVVqCQ3PRfudPkew7OarxUhcWIFt2OjFt20y6bvQnGK\n77WHzE45nUddX/nzC24pl9ztjDIIiqqQnaNLWjlTIfLFVJUmOUvLV9Ny9Sfr0ZloDyzCaFceWZ9R\ntoBPAsmgi2iDF1NUrjeY+ZGzXnc9ZgxNrMG7LFqiKhZOTb9FIcRfAH8DtEgpx2s5FsXSEmkt30Q+\n7XNhmBZGzkaTxYHQStJEEkjWe5lq9eNN5DByNjmPXqS9c7uR9rvIeXRcmatBX4ljNCPNfppGEujz\nmOUF+aysoNNKs9KKUeKkBccbvNetRlesHGpmEIQQ3cCngL5ajUFRPTJ+F6NddTSMJnBnLKQmiIU9\nRJr9IBwfeP1YEleuOHA5YxRmHrNx5Jan8x3W0rdAbcGiIAQjPfWERxMEoxmEDWm/wVRrAHfWwp02\nb0h51rCmCUbTJAMh0IunCVtApNlHrOkWD9rfhtRyh/C3wL8FXqzhGBRVJBNwMbw27KRLXrOST9Z5\nCOf1dMphGgJbE6SCbqKNPuxKUtm3MVITTLUHmbpGW6h+orRQby5ybo1Hf/ozdNNitHMtg2u3kgqE\nsHUDpMVkZ1i1y7xFqYlBEEJ8DhiUUh4T19niCyH+FPhTAE9dSxVGp1hyKnzntq5BGdkFKWC62a+6\nct0kUoiyWVnl6hRsAa7sFAC6bdHRf56O/vOF5xOhID/+7769lMNV1JAlMwhCiNeA9jJP/RXw74HH\n53MeKeXzwPMAoY6NN5sIoVgBRBu9NA3Fy65mEyHlGrpZ4mEP/lhpgN6R83DhS5hOL2m3zlSbn64L\nVyr2nHZls1UYsaJWLJlBkFJ+stzjQogdwFpgZnfQBRwWQtwnpRxeqvEolj/JkBt32kvdVNpZvQrn\nP6NdoYX1Wr7NyfgM4mEPwchVo1DokdAWuNoJLb9zG+nuLvShno0NDHV3V3HkimpTdZeRlPIE0Drz\nuxDiMrBLZRkpEIJIa4Boo8/pg6AJUn7XbVlXsKgIwVRbkES9F3/UEQNMhtzF2UGz3HixhjAXt21l\n7ekzhd4LthCYLheHH9lb1aErqotKHlYsO2xDI1mngpaLTdZrzFvg790nH2dsVQfb3j+MJ51muKeb\nYx97gGhj4xKPUlFLam4QpJRraj0GhUJxDUJwfuednN95Z61HoqgiyjGrUCgUCkAZBIVCoVDkUQZB\noVAoFIAyCAqFQqHIowyCQqFQKABlEBQKhUKRRxkEhUKhUADKICgUCoUijzIICoVCoQCUQVAoFApF\nHmUQFAqFQgEog6BQKBSKPMogKBQKhQJQBkGhUCgUeZRBUCgUCgWgDIJCoVAo8iiDoFAoFAoAhJSy\n1mOYN0KIMaC31uOoQDNwu/eFVtfAQV0HdQ1geV2D1VLKlusdtKIMwnJGCPG+lHJXrcdRS9Q1cFDX\nQV0DWJnXQLmMFAqFQgEog6BQKBSKPMogLB7P13oAywB1DRzUdVDXAFbgNVAxBIVCoVAAaoegUCgU\nijzKICgUCoUCUAZhSRBC/IUQQgohmms9lmojhPgbIcQZIcRxIcTPhBDhWo+pWgghnhRCnBVCnBdC\n/Ltaj6faCCG6hRBvCCFOCyFOCiH+vNZjqhVCCF0IcUQI8ctaj+VGUAZhkRFCdAOfAvpqPZYa8Sqw\nXUp5J3AO+Msaj6cqCCF04D8Dnwa2AV8VQmyr7aiqjgn8GynlVmAP8Ge34TWY4c+B07UexI2iDMLi\n87fAvwVuy2i9lPI3Ukoz/+t7QFctx1NF7gPOSykvSimzwA+AZ2o8pqoipRySUh7O/zuGMyF21nZU\n1UcI0QV8BvgvtR7LjaIMwiIihPgcMCilPFbrsSwTvgW8XOtBVIlOoH/W7wPchpPhDEKINcDdwIHa\njqQm/G84i0K71gO5UYxaD2ClIYR4DWgv89RfAf8eeLy6I6o+c10DKeWL+WP+CseF8P1qjq2GiDKP\n3Za7RCFEEPgJ8K+llNFaj6eaCCGeBkallB8IIT5e6/HcKMog3CBSyk+We1wIsQNYCxwTQoDjKjks\nhLhPSjlcxSEuOZWuwQxCiG8CTwOPydun0GUA6J71exdwpUZjqRlCCBeOMfi+lPKntR5PDfgY8Dkh\nxFOAF6gTQnxPSvn1Go9rXqjCtCVCCHEZ2CWlXC5qh1VBCPEk8B+BR6SUY7UeT7UQQhg4QfTHgEHg\nEPD7UsqTNR1YFRHOSuj/AyallP+61uOpNfkdwl9IKZ+u9Vjmi4ohKBab/wSEgFeFEEeFEP93rQdU\nDfKB9H8JvIITTP3h7WQM8nwM+AbwaP67P5pfKStWCGqHoFAoFApA7RAUCoVCkUcZBIVCoVAAyiAo\nFAqFIo8yCAqFQqEAlEFQKBQKRR5lEBSKRUII8WshRGSlKVwqFDMog6BQLB5/g5OHr1CsSJRBUChu\nECHE7ny/B68QIpDX/t8upXwdiNV6fArFzaK0jBSKG0RKeUgI8XPgfwV8wPeklB/WeFgKxYJRBkGh\nuDn+Fxy9ojTwr2o8FoViUVAuI4Xi5mgEgji6Td4aj0WhWBSUQVAobo7ngf8Jp9/DX9d4LArFoqBc\nRgrFDSKE+APAlFK+kO+l/I4Q4lHgfwa2AEEhxADwx1LKV2o5VoXiRlBqpwqFQqEAlMtIoVAoFHmU\nQVAoFAoFoAyCQqFQKPIog6BQKBQKQBkEhUKhUORRBkGhUCgUgDIICoVCocjz/wP12NqcwI1LDAAA\nAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_decision_boundary(lambda x: plot_logistic(x), x.numpy(), y.numpy())\n", + "plt.title('logistic regression')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到,logistic 回归并不能很好的区分开这个复杂的数据集,如果你还记得前面的内容,你就知道 logistic 回归是一个线性分类器,这个时候就该我们的神经网络登场了!" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 定义两层神经网络的参数\n", + "w1 = nn.Parameter(torch.randn(2, 4) * 0.01) # 隐藏层神经元个数 2\n", + "b1 = nn.Parameter(torch.zeros(4))\n", + "\n", + "w2 = nn.Parameter(torch.randn(4, 1) * 0.01)\n", + "b2 = nn.Parameter(torch.zeros(1))\n", + "\n", + "# 定义模型\n", + "def two_network(x):\n", + " x1 = torch.mm(x, w1) + b1\n", + " x1 = F.tanh(x1) # 使用 PyTorch 自带的 tanh 激活函数\n", + " x2 = torch.mm(x1, w2) + b2\n", + " return x2\n", + "\n", + "optimizer = torch.optim.SGD([w1, w2, b1, b2], 1.)\n", + "\n", + "criterion = nn.BCEWithLogitsLoss()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch: 1000, loss: 0.29002276062965393\n", + "epoch: 2000, loss: 0.276983380317688\n", + "epoch: 3000, loss: 0.26818233728408813\n", + "epoch: 4000, loss: 0.2620616555213928\n", + "epoch: 5000, loss: 0.2571246325969696\n", + "epoch: 6000, loss: 0.23155273497104645\n", + "epoch: 7000, loss: 0.2241673469543457\n", + "epoch: 8000, loss: 0.220903217792511\n", + "epoch: 9000, loss: 0.21872615814208984\n", + "epoch: 10000, loss: 0.2170446664094925\n" + ] + } + ], + "source": [ + "# 我们训练 10000 次\n", + "for e in range(10000):\n", + " out = two_network(Variable(x))\n", + " loss = criterion(out, Variable(y))\n", + " optimizer.zero_grad()\n", + " loss.backward()\n", + " optimizer.step()\n", + " if (e + 1) % 1000 == 0:\n", + " print('epoch: {}, loss: {}'.format(e+1, loss.data[0]))" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def plot_network(x):\n", + " x = Variable(torch.from_numpy(x).float())\n", + " x1 = torch.mm(x, w1) + b1\n", + " x1 = F.tanh(x1)\n", + " x2 = torch.mm(x1, w2) + b2\n", + " out = F.sigmoid(x2)\n", + " out = (out > 0.5) * 1\n", + " return out.data.numpy()" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5,1,'2 layer network')" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_decision_boundary(lambda x: plot_network(x), x.numpy(), y.numpy())\n", + "plt.title('2 layer network')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到神经网络能够非常好地分类这个复杂的数据,和前面的 logistic 回归相比,神经网络因为有了激活函数的存在,成了一个非线性分类器,所以神经网络分类的边界更加复杂。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Sequential 和 Module" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "我们讲了数据处理,模型构建,loss 函数设计等等内容,但是目前为止我们还没有准备好构建一个完整的机器学习系统,一个完整的机器学习系统需要我们不断地读写模型。在现实应用中,一般我们会将模型在本地进行训练,然后保存模型,接着我们会将模型部署到不同的地方进行应用,所以在这节课我们会教大家如何保存 PyTorch 的模型。\n", + "\n", + "首先我们会讲一下 PyTorch 中的模块,Sequential 和 Module。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "对于前面的线性回归模型、 Logistic回归模型和神经网络,我们在构建的时候定义了需要的参数。这对于比较小的模型是可行的,但是对于大的模型,比如100 层的神经网络,这个时候再去手动定义参数就显得非常麻烦,所以 PyTorch 提供了两个模块来帮助我们构建模型,一个是Sequential,一个是 Module。\n", + "\n", + "Sequential 允许我们构建序列化的模块,而 Module 是一种更加灵活的模型定义方式,我们下面分别用 Sequential 和 Module 来定义上面的神经网络。" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# Sequential\n", + "seq_net = nn.Sequential(\n", + " nn.Linear(2, 4), # PyTorch 中的线性层,wx + b\n", + " nn.Tanh(),\n", + " nn.Linear(4, 1)\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Linear(in_features=2, out_features=4)" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 序列模块可以通过索引访问每一层\n", + "\n", + "seq_net[0] # 第一层" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Parameter containing:\n", + "-0.4964 0.3581\n", + "-0.0705 0.4262\n", + " 0.0601 0.1988\n", + " 0.6683 -0.4470\n", + "[torch.FloatTensor of size 4x2]\n", + "\n" + ] + } + ], + "source": [ + "# 打印出第一层的权重\n", + "\n", + "w0 = seq_net[0].weight\n", + "print(w0)" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "# 通过 parameters 可以取得模型的参数\n", + "param = seq_net.parameters()\n", + "\n", + "# 定义优化器\n", + "optim = torch.optim.SGD(param, 1.)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch: 1000, loss: 0.2839296758174896\n", + "epoch: 2000, loss: 0.2716798782348633\n", + "epoch: 3000, loss: 0.2647360861301422\n", + "epoch: 4000, loss: 0.26001378893852234\n", + "epoch: 5000, loss: 0.2566395103931427\n", + "epoch: 6000, loss: 0.2541380524635315\n", + "epoch: 7000, loss: 0.25222381949424744\n", + "epoch: 8000, loss: 0.2507193386554718\n", + "epoch: 9000, loss: 0.24951006472110748\n", + "epoch: 10000, loss: 0.2485194206237793\n" + ] + } + ], + "source": [ + "# 我们训练 10000 次\n", + "for e in range(10000):\n", + " out = seq_net(Variable(x))\n", + " loss = criterion(out, Variable(y))\n", + " optim.zero_grad()\n", + " loss.backward()\n", + " optim.step()\n", + " if (e + 1) % 1000 == 0:\n", + " print('epoch: {}, loss: {}'.format(e+1, loss.data[0]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到,训练 10000 次 loss 比之前的更低,这是因为 PyTorch 自带的模块比我们写的更加稳定,同时也有一些初始化的问题在里面,关于参数初始化,我们会在后面的课程中讲到" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def plot_seq(x):\n", + " out = F.sigmoid(seq_net(Variable(torch.from_numpy(x).float()))).data.numpy()\n", + " out = (out > 0.5) * 1\n", + " return out" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEWCAYAAABmE+CbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsvXeQbNl93/f53dQ5TJ5583LYXW7exS4AgmsQIAhSwFKk\nRNISxRKrLFkF2SuJZpGyTK5sS6WyZUlFK5Uki5DMkkWLJiSBogASEkjaAEgQICKxGdi3L0+OndO9\n9xz/cXt6uqe7J7wJPTPvfqq29k3f231Ph3u+5/yiaK0JCQkJCQkxBj2AkJCQkJDjQSgIISEhISFA\nKAghISEhIU1CQQgJCQkJAUJBCAkJCQlpEgpCSEhISAgQCkJIyLFCRM6LSElEzF2c+wERmTmKcYU8\nGISCEBIyQETktoh8/8bfWuu7Wuuk1tof5LhCHkxCQQgJCQkJAUJBCDmFiMj/ICKzIlIUke+IyIdE\nxBCRnxeRGyKyKiL/VkSG257zUyJyp3nsr7ev3EXkX4nI/9J2boepRkTOiMgnRWRZRG6JyE+3Hfub\nzWv96+Z43hCR55rHfgU4D3y6aSb6ayJyUUS0iFjNc/6ciLzVfO5NEfmLh/8JhjyohIIQcqoQkYeB\nvww8r7VOAT8I3Ab+CvAngO8FzgDrwD9tPudR4P8Afqp5bAQ4u8vrGcCngVeAaeBDwM+IyA+2nfbD\nwK8BWeBTwD8B0Fr/FHAX+ONNM9Hf63GJJeCHgDTw54B/ICLP7mZsISF7JRSEkNOGD0SAR0XE1lrf\n1lrfAP4b4K9rrWe01nXgbwI/3lyJ/zjwm1rr32se+58AtcvrPQ+Maa3/lta6obW+CfwL4Cfazvmi\n1vozTb/ArwBP7fbNaK1/S2t9Qwd8Afht4L/Y7fNDQvaCNegBhIQcJFrrd0TkZwgm/MdE5LPAzwIX\ngP8gIu0TvQ9MEOwK7rW9RllEVnd5yQvAGRHJtT1mAr/f9vdC278rQFRELK21t9OLi8hHgL8BPESw\ngIsDr+1ybCEheyLcIYScOrTWv6q1foFgstbA3yWY8D+itc62/RfVWs8C88C5jeeLSJzAbLRBmWAi\n3mCy7d/3gFtbXjeltf7obofb74CIRIBPAr8ITGits8BnANnla4eE7IlQEEJOFSLysIh8X3MyrQFV\nAvPPPwf+VxG50DxvTER+pPm0fw/8kIi8ICIO8LfovDe+BXxURIZFZBL4mbZjXwWKTUd2TERMEXlc\nRJ7f5ZAXgct9jjkE5q9lwGvuFn5gl68bErJnQkEIOW1EgL8DrBCYasaBXwD+EYFD97dFpAj8IfAe\nAK31G8BfAn6VYLewDrQnfP0KgdP4NoEN/xMbB5p+gR8CngZuNa/7L4HMLsf7vwH/o4jkROSvth/Q\nWheBnwb+bXNMP9l8DyEhh4KEDXJCQroRkdvAX9Ba/+6gxxISclSEO4SQkJCQECAUhJCQkJCQJqHJ\nKCQkJCQECHcIISEhISFNTlRiWtZy9KQd3/nEkJCQkJAW36nlV7TWYzudd6IEYdKO88tXXxj0MEJC\nQkJOFN/z+m/d2c15ockoJCQkJAQIBSEkJCQkpEkoCCEhISEhQCgIISEhISFNQkEICQkJCQFCQQgJ\nCQkJaRIKQkhISEgIEApCSEhISEiTUBBCQkJCQoATJgiz2TGe/siObWhDQkJCQu6DEyUIAB81fpqX\nX3xp0MMICQkJOXWcOEHY4OUXXwqFISQkJOQAObGCsMHLL77EJ37pJwc9jJCQkJATz4kXBIBXPpXl\n5RdfCv0LISEhIfvgVAjCBqF/ISQkJOT+OVWCsEHoXwgJCQnZO6dSEDYI/QshIbujUVcsLTSYn21Q\nyHuEvdYfTE61IEDoXwgJ2Yli3uP2jTrrqz6FnM/CnMvdW3WUCkXhNPC+135u1+cOvIWmiJjA14FZ\nrfUPHdZ1Pmr8NLwIf/u3/tlhXSIk5MShlGZhzqV9Q6AV1Gua/LrH0Ig9uMGF7ItP/NJP8sqnsvDz\n1V0/Z+CCAPx3wFtA+igutuFbCIUhJARqVdXzca2hWFAMjRzxgEL2zdMf8YIF8Kf2/tyBCoKInAVe\nBP5X4GeP8tovv/gST/1wjj/9F3/1KC8bcgDUDIdXsw9xJ36GuF/nidx3OF9dGPSwTiSGIfQzDIkc\n6VBCDoD9BtMMeofwD4G/BqT6nSAiHwM+BhBJjx3oxV/5VJZXXnyJz6h/zLf+06A/ipNLpeyztOBS\nr2lME4ZHLYZGLOQQZpSa4fDvz/0gNSOCb5isAQvRUZ5be42n8m8f+PVOOp6n8TyN4wiG0f19RKKC\nYYC/ZaMgAtnh8J44CbR2BAfAwL5xEfkhYElr/Q0R+UC/87TWHwc+DpCaunYoXq7Qv3D/1KqKmTuN\nlg3a92FlycP3NGOTTse5jYYiv+bhupBIGqQyZtckpXxNpaxAIJ4wuo6/nr7WEoMNPMPia8NP8F2F\nmzj6wQweqJR9VhZd6nWNbQvDYxalgqJU9BEJTEDDYxYjo91CrXtYjbQG2+l+POR4cdDh9YNcAnwP\n8MMi8lEgCqRF5P/WWv/ZQQ0o9C/snZWlTockBJPJ+prPyLhuTejlks/s3U3hKBV91lY9LlyKYJjB\nOcWCx/yM2zJVaA1nzjkkU5uT/93EVIcYbGBqxUpkiDO15YN/k8ecStnvEOV6XTM/47aObzy+tuyB\n1rgu+J4mkTKwrP67uNUlj3hSE4kIsbhxKDu+kPvjsPKsBiYIWutfAH4BoLlD+KuDFIN2QmHYPfV6\nn02bgOsGk4nWmvmZRmckiwa3oVlb9Rgdt/HcYBLTenMCUyLcWRCuxcBp/lITXpVlrbsM3A3DZiY2\nzlRtmQdt2lpe7BblXmgNq8t+6+9KWWGa9H1uqagoFYPtg20LF644mOapj1Q/1hx2wm1oJNyGl0P/\nwo5EIoLn9phRNNjN1WejrlF9zBLFgs/ouE2x4Lc/lTvXnuTe1cdRhslXtcfza6/xWOEdnsx/h5n4\nJJ5s+U5EeC37CFoM3rP22gG+w+NPvXZ/llStwdulhc11NbffqXP5oWi4UxgAR1V54VjIvdb684eZ\ng7AfwvpI2zMyZndFo4hAZshsmYJkm1+Z0Tzm+7q1Ur179QnuXnsC33bQpknDivDl4af4vfwU+voc\n7138JqJV19LWMyxeyzxEY6tYnHIse38T9G7nd8+DSql3mGrI4RD93I8e6fxzLAThJBDWR+pNLG4w\nfd7BcYJZxTCCKKPxyc2EJscxWsfb2YhkKeQ91laDpaoG7l17HGV1JkQpy+b2w89QLPjEX3mLlFvq\nPZP5isVG7ODe4AlgZMzq/ij2oBF7qVJRKvk7nxSyb57+iMfLL77Ez/7i5JFe98FaSh0AoX+hm0TS\n5NI1E611X3PCmfMO927VN8MbNaQzJo26Ym1lc5JRpoln9s6ObcTiALieJlUtULCTXdsPbRgUbueo\nnRWisQdjvZPJWiilWVnygoghgeERi1hcWJxzcd0dX2LX+J6mXlNEog/GZ3vURD/3o0cuAu2EgnCf\nvPziS3zux77Il//8q4MeyrGhnxgopaiUFcm0ASJYptBoKOp1RS3XuTw1fB+nXqURS3S9TryQC/6h\n4ZGZ11n4rkn8NkEwPJexudtYjQZrKyZnzj04cZNDwzbZIQvfB9Pc/C4Mw4O+qWd7p1hQlIp1IlHh\n7IUIphn6Ew6CVi7BLw52HKHM74MPfvKF0Iy0A6Wix/W36izOueTWFLlVn5Ulj0JOUat2T1QCXHnj\naxhbvJ2G53Hlza+3ThqprPLYVz9HtFxAlMLwPM7ceZuHX/kyEOQ8PGiICJYlHcK8nf8mmTKw7qNU\nkdZQq2oWZhv3McqQrbz84ksHlli2X8IdwgEQmpF602goZu/u3V4xMXcb0/eYffJZilaSeDHH5Te/\nQXZtESQIgVxbcRl2Z3nP//vrKNPC8H3aizDYtmxrwnpQGBqxOnIS2imXFGOTFkvz3aFGImDb0Nhm\nzi+XFErpnhnQITtzHBeToSAcIKEwdJJbu/+s4dHFGcZ+d4bhMYt6VVEuBdnL6YxJdtjk7q1gphLA\n9LuvUy4p7tysc/5ikPimtaZY8Mmv+ygF6YxBdshCTvlklkqbzNNbEHTTj1Oragq5TT+OYQZCsra8\n/fendTPLObQz7InjKAQbhIJwCIT5CwGNxv5s11oH2bUXr0aYdjZnHXcX5iCtg/yHpUWXyTMOi3Mu\nhby/mc1bUxQLPucuRk71LkJEiCeMoBzIFiIRwTQNpqYdRsYU1YrCMILs89Vlb0fXg2UH2eXFggoi\nxoYsEqkwo7kfx1kINniwZ6xDJKyPBPG4Qbm4O1u+aQZ1kLaiNRTzPiNjm4JgOwa2LTsKzsZzs8M+\n+ZzfdaxW05SLimS6uxTGaWJ80m42vNl8TAQmznSGBluWcPtGDXeXrgERWFrwWiJbKTfIDJlMTD04\nzvzdcBKEYINQEA6ZB9mMlBmyWF/1embDitAqupZIGsTiRhA22SvpucdjZ8453L1V7yh10QutYeZ2\n7xlOq6DG0mkXhEjU4OKVCOurHtVqEDI6PGLhRDptPatL7q7FwDAIwlm3lCPJr/sMjSgcJ7QjnSQh\n2CAUhCPiQRQG0xQuXImysuRSapamSCQNxqdsXDeoZRSJCE7EoNFQrCz1dm72mrAjUYMrD0cpFnw8\nN/AP9CrhoHXvnUdrjNsUdzsueJ6mVvVxXU2tohEjyD2IxXc/6dqOwfgOK/etu6jtMAxQfVwMlfKD\nLQiDziXYD6EgHDGnXRi0Dsww+Vyw2k9nTSambCbPdE5GpgnR6ObfjmMwMmaxury5SxCBoWGTaJ8k\nKMMQMtngJ5xKmy2zyEbtOxFQmr62cBHIZI/v7kBrzcqiy9qqTymVZfbiI9TjSYaWZjlz7zoTwz4j\nYwfX4nIvHp9+NZBEeKBzE15+8aWB5xLsh1AQBsRpdTxvdd5Wyopi3ufMOWdHZ+PImE0iZVLMeWgg\nnbF2nW3sRAwuXYtSyHk06ppozMD3Ncs9dh0bnDnnYB/jlWwx77O+5rM8eZ63nn0/yjDAMMiNTDB7\n+VGe+/1Pk8nqfdcy2iCVNsmv7780RSJ5fD/Tw+Ikmod6cbpmoxPGaXM812uqQwwgWK2XS0EESzyx\n82o8GjWITt6fU9I0paMpfLWqELyula8ITJ21SSQN8jmP3JrXDEU1GRq2WkX5Bs3aqoeP8J2n34ey\nNm9VZdnURbh75THOFl5v7ZL2y9i4TaWk8DzdsUsbm7BYWfJ6VqyFwHykm/8/ez7yQOUlnBYh2CAU\nhGPAaTEjlUuqr1O4XPJ3JQgHSSxmEE8aVNrGJRK0jUymTBbnXQq5TQFbXfYo5H0uXD4ek5ryoZLM\noHs0BNKmxcrkBYzSGwd2PdMSLl6NUCr4VKsKxxHSWQvX1eg+nejSGYPMUNCFLRqTBybk9LQJwQah\nIBwjTrowBDV0uqN+BmlXnj7nkFvzyK/7TTOUydBIMMm1iwFsNu0pFvwDW3XfL2UzxvLV8xTqFrrP\nJGu5jQM3zxhGIALpbPtj4DjS1QxJBIZG7b4+ntPIaRWCDUJBOIa8/OJL/P2/ukDtg78+6KHsiWTa\nZHHB7emdTGcG81MTCcxI7aYkgGrFD9Kce7T/LBcVmSwD47X0Nb4y8hSg0UqjxAClNptHEBTye7J4\n/Uh2MiLC2YsRZu/VqVc1NB32E1MPjhicdiHYIBSEY8rP/uIkvPjSidotmKZw9rzD7N3OYPapsw6W\nLdSqm03f0xlzoA5dy5L+YTVycNVB98q6neIrI09u9o3e+Ii0xvBcRGuUYXJ15TqPejNHNi7LEs5f\njOA2NEppItEHIyP5QRGCDUJBOOacNDNSPGFy9ZEo1Upgt4/FDQxDWJxvBGabNnv9+FRQsnkw4zT6\nJrQ1+vWJPgKuJy8EO4ItiO9x9sYbpHOrpHIrjEUbyNmjywgu5D2WFz08V2MYQa2joDHP6RSF9732\nc3zg56uDHsaREwrCCeEkCUNQP2fTEVqt+B1iAIFpZmneJZkyg9X6EbNddvMgBUGJge7R7kyASK3K\n6OI9AKzU0d265ZLPwqzb+syUgrUVD6U04/cZEXZcaQnBAygGENYpPHGcxFaeW0NRW0gw2QyCjcS1\nXgwye/lSeQZL9/hMRBhpikFQSO7oIrbakwU30Bpyaz5KDU48D5L3vfZzvPziSw/krqCdUBBOKCdJ\nFPpaFQY4l4gI2WGza2wiMDwyuOzlifoaF0szGFq16ksbvselb3+TWL2CacH0+cNPqFNKUyn7zM/U\nqVb6Fyj0vZMvCKEQbBKajE4wJ8WMlM5Y5NZ67xKSycFNvmMTNsoPdjAbEUdDIxbZ4cHdFq+mH+JW\n8iwKDU3T0cOlW3y3cQN1OYITOdxYf601qyseaz12BVsRYSDmvoPiJC2qjopQEE4Bx10YojGD4VGL\ntRWvbZqDyWl7oOYZEWFy2mFsUuO5GtuWgWYpF604X22PMApGydupSzyevMFwI3/4Y8j7uxIDgOHR\nk9lgKBSC/oSCcIo4zsIwOm6TzphB2KkhpNKDcSb3wjRloAXZfE+zvOTy5vBFVI+ZWInBrcT0kQjC\n8pK7KzGw7EAQThKhEOzMyfpGQ3bFyy++xOd+7It8+c+/OuihdOBEDIYjx99tpbWmWlFUygrTEtIZ\n89AEQyvNzbs+C0PnyGfG+vhVdmj6cEC4DYW3yxbYQUXZ4yHoOxEKwe4JBeGU8sFPvgAvvnAsdwvt\nKKUp5n0qZYXtCJkhC/uAqnfeD1prZu40WnkUIrC86HLugkMsfvD+jltqmC984APBtQ2jZ90iQ2uu\nlO8d+LW3sr6HHtjxQ/gsDppQCPZOKAinnONsRvJ9zZ2bdTy3WV1Tgvj2sxecIy+Et0Fu3WuJAUDD\ncigMjVMs1nkmVsQ4wFWxj/D5y9+Lb2+J5dcaUQoRjSC8e/U1sm7pwK7bj932wDYMGB0/vlNHKAT3\nz/H9VkMOlOMoDKvLLq6rN80kzX/Oz7pcvjaY0gjtBe/uXnmMW488gzTrPr+pG/zw/BfIeAczOc/H\nxtB9nLKJ4joPl27zsD9PyqscyPV2Yrse2NGY4PvBOcNj1rHsiPagZhcfJMfvWw05VF5+8SW++5ef\nHPQwACgWVE+bue8FUT+DZH1kklsPP4M2LZTtoGyHip3gP0584MDSJ5QYPXKSARGitQrvqr1zZGIA\nBOLcg1Ta5MLlKJevRZmcdo6lGIS5BAdDuEN4ADku/oV+EYtaB/bsQZRFyAxZ1Gsu9y4/ija3mK1E\nqEbi3PCGuWqt7ftaU9VldI+6Rabn8rh/70h3SJVmeZFejE8dz2niu3/5yeC3HHJgHD+pDzkyBl0G\nI9MjU3iD9VV/2wzZwyKTNYknDaqpTN8U65vOxIFcy9Y+37v0VUzlYTTLVVjKZbq+zLXa7IFcY7ds\n7Q2xgRhBG9TjxssvvhSKwSFwPKU/5EgZlH9haNgiv+73LSZXyHnE4ke7SxARps85ZPwSVZ3uKQri\n+rBHn7dSOujI1uoXbTIyZnO1fI+xe+u8nbpA3YhwoTLH2epCb1NSSOgwPmRCQQhpcdT5CyKCZUGj\n3vu45w/GjyAiPFm+wUL6TPcxpZiuLUJi96+ntWbmdp1abbNXcW7Np1xSXLwSIeOVeH794Fph3g/p\njNl7l6AhMcDyIhuEQnA0hIIQ0sFR+xe2K5Y5yG5cF6vzjJSWWYuPtHwJ4nsMrS1yzcnBHtbw1Yrq\nEANotut0NaWiIpUe/IQbixtkhszNMuUSvMOJM/ZAs7hDIThaBiYIInIO+NfABEGsyce11v9oUOMJ\n6eSozEiJhEmt0jshKpUZ3EQpwJ9c+gJ/FLvC2+lLoDSXVt7hXe6tPSfO1aqqp31eq6BXxHEQBBFh\nYsohkw262hlG8Pnb9mBEORSCwTDIHYIH/JzW+psikgK+ISK/o7V+c4Bj6old88isVrHrHo2oRWEk\nhht5MDZXhy0M2WGL3JqH3xbgIgLxpDHQ8tgAJornqtd5rnp988H7+Nptx8BotkVuR4QjDeHUSlPI\n+xTyPoYJ2SGryxwUjRlEY4PbmYWRQ4NlYLOa1noemG/+uygibwHTwLEShEjFZfxeAQl6i2M3GsSL\nDRbPp2nE7B2ff1o4LP+CZQkXrkRZWXSDZjkCyodySXG7VMd2AievcwJqIPUjmTQQA+ghCEe1C9Ja\nc+9OnVp103RVLjYYGrEYmxj87/gTv/STvPKpLHxy0CN5sDkWy1wRuQg8A3ylx7GPAR8DiKTHjnRc\nAEOLZYy2laoQ9GAfXqywcDFz369ruj6ptRqRmkcjYlIcjuE5gzcdbMdh+RdsW5g669BoKG6/U29N\nWJqgneW923UuPxQ9McXU2qlVFcWCRzxhUC4pVHMn5ETgzNnIkdnnSwXVIQYQ+DHWVj2yQ+ahN9zp\nR2tH8KkDeDGtiVZcDF9Tj9v4Vud7ihfqpFerWJ6iFrPIjcXx2nb64iuyK1UShSDKoZyKkBuLoQ0h\nUWgQL9TRhlDMRqknBi+ih8HABUFEkgTrgp/RWhe2Htdafxz4OEBq6trRGhG0xqn3TtZxarsvBLYV\nu+4xeaeAqKB7bqTqkczXd9x1iNIkcjWiVQ/XMSllIygj6AXZrwTCYXBYZqTcWu86/EoFsfDHIdpF\nKU25FCz14wlj2wl9Ya5Ofr07hl8EYjETJ3J031mx2KeNqYa5mQbnL0WOXHBffvGlA9sR2HWPibsF\nRAf1T0RDJWmzNpVEmQap1SrZlUprcRcvucQqeeYvZPEiJmjN5N0CVt1vJWcl8zWi5QbKMnBqHkaz\ntEqs1KAwHCM/Fj+YwR8jBioIImIT/CT+jdb61wc5lp40J1rpEQqj9rGyG1qstMQA2nYdC2WWz6ZI\nr1aJNCf9wkgMN2ph1Tym7uYR1WruRWZ1M1W/mrBYnUqhrKNb6R20MPQrvawB7xi0aiyXfGbvNVrf\nm9ZBFE4m230bVcpeSwwK2VFuP/QUlVSWZH6NC2+/Avk1MkPmoVRQ7YW1zZ1eqx5ttNOBO4y1ZuJO\nAaPtnoLmpH99nXrUJFrzO44JgILMaoXVMymipQZ2vfMcQ4PlKvBUS0g27tXMWpVSNoo/IKf7YTHI\nKCMB/k/gLa313x/UOHaiMBQlvVbtMBspCR6/X6JVt2fQolP3OXMz1/JXOHWfRKlBNWYRa0bitItI\nO7Gyx/Q76xRGopQyUbQpDC2WiRcbAFRSDuvjiUMRjIPyLyRSBqVeK1kdhEUOEt/XzN5toHWnr3tx\nziUWN7qcw2srwc5yfXSK1979IZRpgBjUYgnWxqd56sufJVtYOzJByGT7tzEFyK97hy4I+xECUZpE\nvtZaKJWz0ZZJKL1a7RIDaE7e0CUG7ccjzfsqu9K7DtKGAGxFE/gXK5nI/b2hY8ogdwjfA/wU8JqI\nfKv52Mta688McExd5EdjmJ4K7IoS/DjKmQiFkdh9v6YyBLNP0tWGGEDz/xrilc7Wkz2f1/x/ZrVG\nerWGNsBQm48nCg0iVY+5y9ltut7fPwfhX0ilTdZWPNzGpq1bBNJZk1pVMXe3gedrYnGDsXH7SB3N\npUJv06HWQdvJkbHOsXhesDu4/vi7Ue3Lc8NAGQbvPP5uLr31nw9tvFuJRA2ywybrq73fx2Gy3x2B\n4Smmbucx/GClriTYHa+cSaENIbVW3dW90QvfMVqm4X7n9br3RAdm40raOZT7aVAMMsroi+wlu2dQ\niLA2lSQ3HsdqKDzHCFZ7+6CY7d517HbC33aobf/Xiq4tsukp4sUGlXSwqrFrHqanaEQtlClEyy62\n69OIWNRj1n390PdjRjIM4cKlCOtrHsW8jxhBeYtqxWd+ZtOeVCooyqU6F69Ejixsc2vIaOexbnGP\nxU1qNZ9KKtvzOaXMMOkepqbDZGzc7rlLEAmK+h00OwlBPF8ju1LFchWebZAbjVHJdO+8MysVTE+1\nfs8b983YbBFlCMZ9llpSAvmReM8dwAb97gABUus1olWXhfOZ/pUaTxgDdyqfFJRp0Dig+Oz8aAzL\n9YkXG2iRntvdw0A02A0fw1OM3ytgN3yQwEeiDEHYtIe4jsni+Qz6Pn0l9ysMhimMjNmMjAXO9XLJ\nJ9fDMasVLC+4TJ8/mi17ImmwvNj9uAgkUt2mlpFRm/U1H9NzuxvgAI7XIHLEobRiCNPnHWbvBmbE\njY5wqbRJMnVwY9nNjiCerzGysBnBZ7uK0fkyxYrL+mSyYzGSKDb6mnzM7VLdt0EDq5MJas1oIdcx\ncBqq65ztfv0GYNd9kvkapaH7txgcJ0JBGAQirJ5JkXN97IZPdrFMpLH3Zc5OP9iu8yWY6Efniptb\n5OZycaso2Q2f7HI5uDn3wX79C0sLjb7HNqJ9jgInYjA0bLLetsIWgWTaJNZjoWDZwvmLDuduvcnd\ny4+hrM3oMUt5PFP49lENvYNE0uTKQ1GKBR/f1ySS5oElou3FNDS03LlDhuaqO9/A8ossT6daoqAN\ngQOua+U6RsduZG0y2ZFvtNurGZpWEEglFaGatE+0CSkUhEPCdANbrW/3d9T5tolvm1TSHvZq9w2y\nG7YThfZjmiAyqhazGJ33ejrg2jF04HdYn9z7mLayH/9Cv8J3EGiZUhrjiLbrY5MOiZRPIeejdFAQ\nLpHs39ktnjB5v9zgDwopbmcvYGiNEuGx/HWezL99JGPuhWkJ2eGDu/Xbs4sjFZfsYhmn7qONIPSz\nMNIZ74/WmF5vMRcgWnaJVD3q8UBEi5kImV3cH1sP970vBNYmOhc69bjNwsUM6dUadsOjHrXQAqlc\nfdvrasDyNHahQaLQoBG1WLiQBoLdg2hNI3p/5tdBEArCAWPXPEbnikG4GuDZBivTqW1LXRSHYiQL\ndXBVK9Z5689Ht/+/eTA3EsPyNclcrcMOqgVK2SiW6xMrBbb3atJmbSLR9/V7If1CUrQmUvEw/cD/\nsNuEuvsxI1kWePef8nHgxBPmrvo9u2Lx+fHnuR2fxkBjaY9n1t7k0eItbH2M3tA+ePojHh81frqV\nS+BUXcbvFjabrChIFlyShTzllMPqmaYpSATfMrD6iYKGaMVtCUJhJEak5hEtu63jve6PWtxi6Wwa\ny/VJ5upVjNAwAAAgAElEQVTNJLWgK99GtJAbMcmNxVuv3Y4bsYIxtl5UYyhI5oNVST+zVfu/nZrH\nmRvrCBJcW0AjrE4lqaaOvuHTXgkF4QARXzNxtzMe2m4oJu4UmL061Dd5TJvC/MUsiVyNRKFOpNYZ\nCaKBWsxieTpFrOIiSlNNOq0Q0vWJBFbDJ16oBwk5KQc32vxq2+0bzb97bcG3ioQmeJ2tWA2f8bsF\nTKWCZ2hNORNhbSLRsQoyfEVmuUKiEJh8ymmH3FgcbRp7EobhUYulhd4TaCxuHNnuoB3P1eTXPep1\nTSwuZLIWxhZfy+9OvJeZ2CTKMFGAh8XXR55kor7GZH31yMd8EPgIdxLTRH70Yf6vmxco0+m/GVoo\n9915xosN6rlNW3tuNMZIj/MhWND47YEbIiyfTWPXPZyahyjN0FKlw7yjjeA+wBC8iEVu4gCmNhHW\nx+Mk8/Xe46RbJIRgxxDIQPMkNKNzReYvZY99NYJQEA6QeLGOaN21ahCtSa9UaMRs6nELLUK82MD0\nFPVYENGjDaE0HKM0HCNaajC8WMZyVXO1H2F9PJhwNyKEtuI5JoXRHpmTW7eqIqxOJhmdK7ZuqObU\njhJaYX3KNIJrbmFstojVivgIRCWRr1OP2ZQ3YrKbiUJWoy3rM1cnma+jDKERtciNx3n5xZf4/N+J\n8aUn/ve+n2l22MJtaNbXOkXStGBq+ujLB9Sqinu3g/IaWkOpCGsrHheuRLGs4FMpGVFmYhMoo/Pm\n98TgW0OP8McW/uDIx71f6obNb0x/P2uRNMaXYEjKZJcrLFzItCa57UI3DQLzy4YglLNRRGmGlyo9\nn1NJdy9G3IjV2mnXEg6ptSpOzacRsygMR7c1z94vhtJo6Z2L0I+eOwkNiVyNfI976jgRCsIBYnmq\n5w9HNKTXa5Crbc6+bdtezwq2lPVEcBPUkg5zSQdp/hgP2v5YTTksXMiQWq9huT61uE05HSFWbmA3\nFI2oSSUV6drRWA0fq9F90xs6CMHbEIRYycVy/Y7+rAbBBGr5GrPsEruVZ+F8ig/8PPDiS313CyLC\n+JTDyLiikFf4nsaJCMmUOZDdwfxsoyME1ROTmumwvOi2BGqu5CC+6m5QKwZFa39O+kHxj5/5MyTb\n7OmGBu1rRuZKLDZreukeBfza2ZrxXxoOsvDHZgqbvi4RlqdTO4Z2e46574CH3eBbRhDa2mNHvReh\nEOibe3ScCAXhAKnHrL4/EiPYRQLNcL+2Y5anmbhXpDAUJTexuYI4zPpEbtRibarzhio524fO9fUp\n0HmzO3WvtzBu+f/oXIm5q8PAzv4F0zQYGh58tvJGu08lws1Hn2PuwsMgYPg+78u9wiOFm/gzq+jv\n6h6rKJ+p6tJRD3tfbHwvZ6+vdesbEKl5iK/RplDKREmv13qukBVQ7rG7rcdtZq4N49R84Bg6YEVY\n27Kj1gTJpStTCcZnS8FpbU/pZUpSQivE9TgTCsIBUovbNCIWTt1rraT62Rl7/Z3K1SgNRY+tndF1\nzJ7+ByWBj2ADzzZ3tXqyPL0ZDN9kUP2dd0P7PLUhBhtZyMq0+NLos0T9OoZ7g/PvvMrdq09shpsq\nhel5PJ0bTLjpbnDFRAMz8Sk+8dSHqe22vPtGkMN4nHipgeWq1sS5YZL0HJPCcJ9yLyI0Ysd3Kqqm\nHBYvZIJKqc0ddXEohm8bzF00mbyTR3SwIVTNN65lM4FOCTQiZk+f3HHj+H4LJxERls6nSa1VA0eU\n1hje3pLOYuUGRSeGXfeIVDx8yzg+sc0irEwlGZtt8z9IEElVbKvtVEk5ZJcE8Xfx3vu8r7/xoY/h\n1Dz+/Dc+xWRt5ViktBuGEE8aFCvSIQYbeIbFN4Yf413OTS68/SqxcpF7Vx+n4cQYWpnnodvfInnm\n+EUYLUaG+b2x51l30igJ9gHZxQoIVBMOK9NJSukIqVytK7u+Frc2d7IizF3OksjXSeTrGL7Ctwwq\nmQjlVOREZ/M2ohYr06mux72oxdzVIZK5Gk7Npx41KWciRCteK/qvnHIoZaPH4x7egVAQDhhtCIXR\nOIXROOJrzl5f29PzlQgjc8VWUbqN11w4nwnK9A6YWtJh/lKWZK6G5SpqicD/0G7e0oawcCHDyEKJ\n6JaifK1zgFqsx/tRmvGZApFq8LzfOPshRms5/vjc54iq/klqR8XUtEN5zugbt1u2EoxP2czebTAx\ne4uJ2VtAMBecveAAg/8O2ylYCX7zzAfwjGA30GHW08ECJZmrkR+LE6242A0f0YG/QBmB76sDEcrZ\nKOXs/Rd/PLZsjdhrokyDwkhnQEclbfYNADnOhIJwiGhTKGUjpHLdYWv9cgFEaeLFRudKzNeMzxaY\nu3Q4hen2iueY5HaIlvAdk6XzGURp7EqDyZlNW2tgg4Xls+mu52VXKkSqXsf7X41k+fjDP8ZfeusT\nmNt5LbegtcZzNYYpB9aIxrKEa+c0X9Y+ja23j9aM1tZIJE3OXXRYWfJoNDSRiDA6bg+0NWU/Pvmj\nP4T7jf55KYYOIsRKQzEWLmaIVlycmo9nG4EJ5Bj8Hg8bw1MMt1UODnJ6kqeu9DWEgnDouFELLfUu\ne3ovgahHLbLLlZ4p/aargiJgx9S/0A9tCI1khJmrNslcDbvuU03YQdngHpNJMt+dGSqA01D8k8f/\nDIvn0/z3v/NvKFtRRuu5vruGYsFjcc5tRQQlkgaT086BCIMp8N61V/nS6DN4xma+h6CZqi6iEGJx\nk3MXj+93tZFUNv5Wnhjbm7Fan5gItYRD7XhHTu4drYlWPBL5GhA4v2uJpplWaybv5Ft+EQii6CZr\neWYvZ0+0GawXoSAcMvU9OMui1e6SEu1sF+Vz3FGW0TtPYgv9HNGbWaA5fu3CR0DA9nyeyr3Fc+tv\ndHxutapifsbtqOpZKinm7jU4d/FgtvHfVbyJUanypYl30YgG70uLwTezjzEbm+TFhd/D2HVFnKOl\nveZQPWYTrfT/3Smg1CMn4DQxtFAimW+0+ifECw0qaYfVqSSxkovpq47PRwgSL+Olxok0C21HKAiH\njBuxqCYcYuXGtjVRdlpnKENwT9ju4H6oJG0Shd7VLQ0NspEUp8E3TF4bfpiyGaXgpIn4DR4rvINx\n717PJjuVsmJ5scHwqL3vnYLWGnVjHu9c507Ht2zmjHE+M/V+3rv6CqON3L6u0369UkGRzwWr+UzW\nIpnuX0epF72KzxWbDaDa82Ja1wTciHFqKnn2wqk0SOU7f28GgSgUh7zAZ9LDSmnooG0nhIIQskdW\nppMk12tBoSxfYW6JvtmutpBqHlg5k3og7LW5sQSxpg9lN34XF5tvZ662KrfeSZzBHq4yefcdzt14\nE9vtrI63tuKTW/e5cCmyrwY7bkOzkp1ElOr2ExsGs7EJ/uP0h3j/8te4Vrp739eBQAzmZ9yObnKV\ncoNk0eTM2Z1X79tVIVWWwfzFDJNtLSg3tLQwFAl8Raf4d5dd7t8pLVas04g5PUOolbBtfbKTyul7\nR8cR2SxLAUEK+9By0Fe518oMmqszx6CcjlDORA4lLf844tsGc5eHmL653vez2Uq7jVsjNKIJ7l15\nnIVzV3nuC5/C2VIyVfmwMOdy/tI+VncCVr8m0M2xeGLx+2PPcak8g6Xvv1R30PO4s7GN1kEXt2pV\n9Sy/DbsvR+1FLGauDREvNoiVGvimQSkbPRZRbYeN3SPzfgNDC9WkjW8ZSJsPIagcbFBJnj5TWigI\nA6CcjVLORDB8jTJg+kaue9cgsDqVOtYJO4eFsg0WLmQYmy22yiQrI2jkY+7SLK9Nk0Y0ztc+8Ce4\n8ubXmZi50fH5VisKrfWeTC7t2LYwuj6/K7/OijO0r4J2lXLvXshaQ6XkdwnCfbWsbNbJOjU2ca2x\n6z6GCrKftUAyVyO9VsP0NbVYUE/Ls00sv7dTvdxsj7lwIcPQUhBlJEAl4bA2mTh1DmUIBWFwiKCa\nxdCWzqcZv1fA8DVaBNGa9fH4AykGG7hRi7nL2aB2UrNscbxQDypkbmli0ve2FMGNxnj7yfdSTma4\n8u1vdhx++80gqiSZMpg66+ypNpKIEI/Ak3/4O7z63u/HsxwwulfqGsFR2+wkdoFhykbAC0qE9dEz\n+LbN0OoChrlZ9G+/vYtPC6brM36viOX6LXNPLWoRrW2GM8fKLtE7edbHEh2VBWBzd95oZmory2D1\nTIqTWaN2bzy4M84xwo1YzF4ZIlINSvvWYxZ6D32b7bpHeqVKpObhOib50Vjrx2w2fKJVD9+UzVC6\nk4JIR2OVSiaK51ik1oM+vI2I2cwI3/5llGUzc+VRzt94HdvtDlMtFRU3r9e4fC2C0WNS70e1qkh7\nK7zvs5/g7tUnuPPQU2hz08wiWpH0ygy5hV2/ZmvMSjdbBwiptMnygksxM8Ir3/1hdDObWBkmz62+\nxtSnHuNnf/EAOhmdBrRm/F5x0xS0IQBbIvgEQAWRa/mRGJnVauvxhmOydK47R+ZBIBSE44JIz6Yd\nO+HUPCaatVQEsFxFtOKyPJ0kWnZJ5Zr2cwkqSS6eT59oZ1gjZrEa2ywh0IhaDC+WW6LQ1x6sFJV0\nlsxq7+Jyvgf3bjc4fymyazOSYQg+GkNrLl5/FW0Y3L36BIbyMQwhqup8ZP7391R2o15TLMw1qFWD\nN5RKm0ycsZk6H+GLj3wYz+nMAP7KxNN8+m+lYeeI3geCSNnd1i/QjgCRqsfaVJbiUBSn7uObxgPh\nO+nHyZ0ZQgDILpY7trtCsEUenSsHtZTaWq1pgtXT7JXjkfF8EJSzUSrpCNFSg+xKFbsRmFC2vjvP\ntnn9uWd5729/FrOP3b9W1dy5UWfqrEMkuvNOITtksrLktez7l77zLaZvfZv61DhnRxQT9dU9iYHn\nae7crHf4C4oFn0ZDYT12HqzuiUp0YBu/n8XEacPwFGNzpZ7HtgvcANCmQT1++jKP90r4CZxwIrXe\nDjFD6Z4Zv4ansOt+7+c0u5xN3coxfq9AtDz42kG7QRtCNR1h/nKW5elk0EOiDUVQifadpx6jHt8+\npr5e19y9Vcdt7BwVNDRikUyZgWnHCP5LSp2no0tM7lEMAGbv1ns6jxt1TcU1Ma3ug0J3n4EHlfRa\nFVG9Cyq2VZ/ffEzoqkH0oBMKwglnrz0ThI2Emk4MXzF1K0d6rYpT94mVXcZmiiTXesdpH1eqqQgr\nZ1J4pqAkuOmrSZvlZqXKb37v+3fMH1YK1ld3rkoqIpw553DxSoTJMzbnLkS4eCXS6py2p3FXVMtM\ntBUNfOHcI1ToDnNUwsmPDNKaSNkltVYlVmrQUxV3QbTs9pzQNOAbQca1kubOwDJYnn4wo/i2I/w0\nTjjVmEWi5PbssdAv4a3XDiG1VsPwO3cVhoah5QrlbBRDaeKFOoavqSXsoCTHMTU7VVMOs8khTE+h\nDOlw0N94/DESa+s8/Ydf2XYFX+0zOffCiRg4EYNaVZFb8zEtdtXRTWtNpazwXE2l0nvXBuCLQW5s\nFNeOd/QSVhL4UE5Cnf1+iNJM3M0Hv8nmD9a3DBYvZPCtva1XfctA92njuXg+jRe1WdMaQ2mUIcf2\n9ztIQkE44RRGYiRK3WGN201nvW6DWKlPaQ0RUutVMivNKAwdbM0rSYfVM8nje1OJ9E3me/X9L7B4\n8Twf+uRvYLndYgoQiQpKBQlhvgexuNG3WmlHJnFwaQSXcxcjfZ9TLHrM3d05HFUDhaEh1sfHgKD2\nUDIXxNJXUs7JrTja3AVklytBvkCbr0tcxfB8ieU9RvoURmJEK25H1JkmqCfmRZs+FhHUAVW+PY2E\ngnDCcWM2laQTTOjNxzaa1lgN1TXZaYFKqtvE0Hd1pTWZ5WrHVlw0QWGvUoNqj9c6CSyeP8+v/ZWX\n+MH/5xOMLC5htjVKdm2bRBJufKcW2J51EKGVThpMnbW7opAKeb8jk1gHCejM3mtw+Vp31FIh5zE/\nu7vcBC3Cb/+pH9scW9Q6kl7Ch4Vd8xheKAe+r2ZuRa/WnLGyC0rvKfmrHrdZm0gwvFRurYjqsd6N\nbUJ6EwrCKWBlOkkyF9RKEq0ppSMUh2Mk12tkVyqtFZMWKGYjPe2mheHeqyvfMjB91dU83dCQyNdP\nrCAAKMvis3/mT/P8//d5rr7+BqbnsTY+xh9++EO8/9OfIaF9bj76LuYuPIQyLRKFdd47/3Wu2usd\nr7O+6vU0e/te0IM5Et2c1JSvtxWD4DO3mgmKii9+9CPUUsdrQhOlSRTqOFUPzzEoZaKoXZh3TE8x\nebew6fjdwSonO5/SRTkbpZyOYDd8lNl/lxjSm1AQTgMilIZiXVUpiyMxakmbeCFI3qqkeosBQD1h\nsz4e2Kg37kQ3EvTBHVkoH8GbGAzKsvjKD3w/X/nwhxCl0KZJdnmFaLXKW8+8wOrk+VarzHJmmM8n\nP8jI7O92JJt5bn9n8FahKBb6+woAqrEYr77wPnzT5N7VK9TjxysKxvAUk3fymJ7C0MFuNLNaZeF8\nBje6/XSSXK/BliigfhFB9Zi154CJzUHKjmMJ6U34qZ1y3IhFfmx3X3NpKEY5E8WueyjTCJrxKM0I\nFbau1ZTQv02i1mQXy6SaWcT1iMnqmWRH1vGxQ6SVZWwon0YkyurUeZTZOWZfTL6VfYQPLn8VCDKK\n/X5zvA58EatOloKVYLSxjuvm+w5BA7cfeZjvPPP0QbyjQyGzUuloFmPoQPRG50vMX8pu+1yn7u06\nrLGrNWfIkXCM79CQQaANaZW9AMAQlqeTjM0UgcB/oCXoKlVN9E6GmriTJ1Lb9EdE6j5nbuWZvZLd\neQuvNJGahxahETUH4jBdHxujnMr2LW29Fsm0/lR+q7FWF37E4TfOfpg1J4NohRKTxy7dJvXpL2Nv\nKagWhEJavPLC+w7+DR0giWJ3r4oglNnH8BVqm5Ir9agVhIbuVGrElBPXGfC0EApCyI7UEg6zV4Py\nyIavqSbsvltyq+Z1iAFs2oKHF8rbRo4ExetKbHgblWmwdC515KU2tGHwzfd/N7FS96SkgVvjUzAT\nmIpy6/39AW8/+wIrThZlbL7Ot/QVJp90efiVr7Yc2RpoRBz+/cf+Al5sn81o+jSCPyi09Lfs72Tv\nL2WjpNdqQZXZtue0j1QJFIb77DxDDp1QEEJ2hWrWyN+JRKl3dvNG3Zh+WHWfkflSc/UYTC3iKSbu\nFpi5kiWZr5NZqWL6GtcxWB9PUNtSjz5SCZKbLFdRS9gUhmO7cnb2YvHCOcbu5oiX3SAFuTmqILs1\nxj94+kd48Vd/rW8OlW9ZLI9Md4gBBCaWuUvfRTVlc/W11xGteefxR3nj3c+3fBVdaN3amSGC4QYF\nC6VZ2tmNWlh1j5GFcuszrscsVqeSB77SLmYjZFarXdVBa3F7x4KMyjJYuJhhaLFMtOKiRfAtwW4E\n+SKiNeVMhMLw6e3QdtwJBSHkQHG3mYC3i/9O5mpdVUuDukyaocUyycJmnoTTUIzNFlk+m6KWCEQh\nnq91lMZ26j7JfJ35i5kuM5VV90mt17A8n2rcppyNYnoqiO/3FLWEQznlsHwuQ3q1Sma1imiNZ5s0\nIj7nrn+H5z/3BbQGz7JZnThHw4miRPBtm5HFGWKVYt8Vs+FpVkevsPJ9F2nEoijTxPRAbb0bVSCI\nkdqmk8Izwdris/AsA6vZN6Jlpqt6TN4OzHR7qZy7E0Gsv0ekurkz8i0jyEnZBZ5jdu0SDU9huT6e\nY25rcgo5fLYVBBFJA2Na6xtbHn9Sa/3qfi8uIn8M+EcEltp/qbX+O/t9zZDBUslEoEdUkgbyI/1X\nflsbmbdQdIjBBoYOkpoWEg5ozfBipavIn+Fr0qvVjrj9WKnB6GyxJRzRsktmtYrl+c2geJPUeoUh\n22RtwuG5z3+e2w8/j0YwfZ9IDUbnikQqFVYmzvLmuz6AFkG3lc2++9BTGJ6LVavixjsnSk0Qd++4\nwb8ijWBHlcrVyI/EKIxuRhVN3c5jb8klsfzuyBzL6/7sNsQ0ma9TPMgVtwhL59M4NQ+n5uHZBrX4\n/sqqK8ugcZ87uZCDpa8giMifAv4hsCQiNvBfaa2/1jz8r4Bn93NhETGBfwp8GJgBviYin9Jav7mf\n1w0ZMCIsnksxca/Y8XA55VDO9M9ZqCadwEfRY5fQb6kdLdf58X/2S5STab797AdRVqeTW4BYyaWV\nNaB1m1kqwNDBCjWoTtc8zbSwXY8nv/hH3Lv6DL7daZpambrA4so815/47r5mHmXZwXh8DxFBG2Zg\n+tmYOLdMoIYOwjc32qWada9LDFqfxy4e23jNjTIlo7NzPPbVr2P6Ht95+ilmr1ze1yTeiFo0wtDO\nU8d23+jLwLu01vMi8m7gV0TkF7TW/4HdtbrdiXcD72itbwKIyK8BPwKEgnDCqScc7j00TKzYrH2U\ndHa0ZVdSDiPzPqIIJk8CB2MxEyFVaPSs6JkorJMolbAbXqtpzFai1RIwBDT75/aqDNpjYlSmRW78\nLL7ZfYsoy+bu1SdR2zXTab6moWHy9ndYuHCtS7B6ESu5lIZMnNr2+Qq7QQGNqMm7f+d3eeSPXmk9\nfvbmLZamz/Cff/InTmbZi5BDYztBMLXW8wBa66+KyAeB3xSRc+w9gbAX08C9tr9ngPdsPUlEPgZ8\nDGDCjvG3f+ufHcClQwaF72sKOY96TWE7BqmMieMYrK+5LCxp5s9eZensJQzfY3LpJkt//z2Ub0ap\n/QHQFtBj+B6Xv/1HADiNGtmVeXKjUx0dywzP5aE3v07q5aDmkipoCv8C2OVca6j+J1YTqV1OppqJ\nuVsURiYoZUe2v54FZ5+pEHmyhp9TFD++u3GidddYNKAMQFV55I9e6VrBjc/OceX1N7jxxOOtxyKV\nCk98+Sucf+cdXMfhrWef4Z0nnwhF4wFCdJ8wCRH5EvBT7f4DEUkBvwG8oLXeV80CEflx4I9prf9C\n8++fAt6jtf7L/Z7zSCyrf/nqC/u5bMgAadQVd27V2TrPxuISVBft8VMcGjEZm3R4I32Vbw49StWM\nEq8UuPz61xhdnGmd59oObzz3AQrD40HGsRhcePsVLrzzGg89Gm2Zan59+vtZcYY6bP69QjUNz+Xh\nV77E9Sfei+ds+anvIbTT8Fye/eJnKGZG+M6T74UeO44NTOXxZ+98mqgK/Ar/bvoHWItsaWa0dfLX\nuhmFpNCm1RrbZG2ZDy3+IeWZPLm13sLmRODS1cC/4Pua2+/U8NoCwUQgnTGZnN5dNdV6zaeQ86nV\nNLYtZIYtYn2K+4UcLd/z+m99Q2v93E7nbbdD+G8BQ0Qe3bDra62LTUfwTxzAGGeBc21/n20+FnIC\nUUqzMNugVAyiXWJxYeqsg9XmLJyfbXSJAUC10n/DWS4pxoHHC+/weOEdNDA/06CY73wh223w9Jd/\nm2osSSMaI1FYx/I9HEc6isv9wMIf8JtnPkDFioEGJQaTS7dZzkziWzYgaEOYvPcO18p3sb/Z4PXn\nPhg4jk2z52q8RY/JOlKrkiiskyyuUxgeY/7ctW7/ge8jBnxo8Q9bYgDwJ2d/l9+e/B7uxacAsJTH\n6MwtCkOj1KMJIvUqE3evMzl7k/oT11jKTJF2Szyef6dVWqO8zV5et3USyq97XRnXWgeF+0bGgt1c\nP5TSzNytU91ysULeZ2zSYmg47OZ2UugrCFrrVwBE5HUR+RXg7wHR5v+fA35ln9f+GnBNRC4RCMFP\nAD+5z9cMGQBaa26+XeuYUCplzc2361x5OIJpGiil+zaA2Y6tzWYEGB6xKBX8njkAsWqJWDVooygC\nE2c6J6OkX+VP3/tPLEZGqFgxxmurJNwKSzc8bpnj1J0oY6VlLg3ViZ6xYXmZ1VtvMnv18e3FYOOC\nG2iNbwq+USI7ZGJZ8MirX+bc9ddYnL5CIxYnXswRtRUjGeFybY6I6kxys1B8dOH3g5drvvdiwWP+\nVbfjsaFhk7HKdahc7xpSdsQit957h5Ad2jSvVcqqd06FEKz4t9kkLM65XWLQ/AhYmveIxQyisTDz\n+CSwmzCB9wB/F/gSkAL+DfA9+72w1toTkb8MfJYg7PSXtdZv7Pd1Q/aPVhqlwDDZVcP5Yt7vWc9H\na1hd9hifvL8GLiIwPNr9E43GDM6cdViYb+D3yXVLpAxGx+ye/QgEmKyvQr35gCFMTNqM67XgeEYA\nk3t+is8++334TmTvdnQRtMD1Z5/g+rNP8Jf++T9Aa4hXSly6vungNS248lB0x89542gqbRF7yKRU\n8FEKkqmgOU8/IhGDdMagkO8sV2tZQQvQDRxH6FnCUHeLcjtK6R0L9t273eDStQi1qqZS8rFsIZ21\n7quzXMjhshtBcIEqECPYIdzSWu/ccHYXaK0/A3zmIF4r5P6oVRXrqx6uq4nFBc8NKnJqgp7u6axJ\nLG4SixuYfRLLisX+E0K5qGASDENIJA3Kpd4/HRGIRoVaTbdqA41NWCSSvVeWybTJlVQUz9U0Gppi\n3kcpTSpjNvsc732yaX/OF0ee5o3MQ5uD244+O4eNZDGAZS9KjErH8Vo0zuK5K8wNpzhfX+R8ZR5j\nF/EaliVkh3cf8jl1NkIq47G67KEVZIZMskNWx/vNDgc7ia27BNsRorH+77/pwtgWreHOjTq+Aq2C\nj2p50SOVNvB9cCLC0IiFs41ZKuRo2M2v6mvAfwSeB0aBfy4iP6a1/i8PdWQhB47Wmty6RyHnIwhO\nFAq5TVNBtXO+wvNgbcVHJJjwxyctsj3swbbdf8Jo96FOnnG4c6uGt6X8z8ZOYHTcxnUVvhdMEju1\noBQRbEewHfoKx/3w9eyjgRjsQghEKdAa3SMfIVItA0Gns1o8Rqyy+QGvjZ3h9ee/Dy1B3sN1dYnR\n+jofuvE5bFE4EbkvUetHMmWRTPW/3Z2IwfR5p8PPs7ET224chhF8/26fEuAQCEK7s3rj91YsBIJZ\nKUN+3efcxQixeCgKg2Q3n/5/rbX+n7XWrtZ6Xmv9I8CnDntgIQeL1pqZOw2WFzxqVU21qsiv97Eb\nd6bTTmEAACAASURBVD23aQ9e8KjVulf4Iz3MOhuMTWwKiGULl69FmTpjE40JphXsCqamHUaaJbpt\nO2hVuZMYHAauWHxu7Hm+Mfz4jmKgAd8USmnFtVe/jHhbbFdKES0vt/58/T3vxrWD96hEePNd34uy\nrCAyCPAMmyV7iK+q89y+UeftN2vcu12jfgD5CLslkTS58lCUi1cjXH4oyvlLEaxtxB4CUZ44Y+87\nMlVrWJzrXQcr5OjYURC01l/v8dh+HcohR0wh71Op7E4A+qE15Ne6jfamZTB9rnvnMDoemJvaERHS\nQxYXLke5+nCMC1eipDL3Z+I5SBpi8e/O/gBvpy5tLwZNdVwfizNzdZjJ2btMztxgZGmm03YikBu7\nhOkGE/rNR7+L19/9PJ5lsT462awa2omybBbPXmn9XSlrbt9osLzYoF94+EEjIjiOsSf7fiJpcuFy\nhFTG2Jcw1Osa1StxsEml7DN7t87dW3XWVlyUfzSfyYNEmHt+yqnXFHMzDRr1g7l5+jWDSaYtHnrU\npFJSKBU4dQexyr9f/v/23jw40vO+7/z83qPvC0ADAwzm5lAiKYoidVCiyJJlS+XYHh0pRYlzObGd\nKmWXztqpeMtrU5s/srWbSsrOZrdqk8pqN65KVex1UpEdK1LsSLKo2JEsWbIkipR4DsmZAQYzuPs+\n3uPZP97uBhr9No5Bo7sBPJ8qFgfdb3c//b79Pt/n+Z0vZO+nYsX3FgN8bl+ewGk1bT//2nU8K8L6\nmXPdrxUDUGTW62ycSYII33/y/fzwPe8mt7xBvGKF9gUwQk7w+qpHqegxfSZCKm2MXDzDiMYMzp6L\n4nmK5SUn8EMpSCQN4glhfTU8Kmw7Iv1P//qqw+ryVqvSes1nc8Pj0pUoxi5FEzUHQwvCCaHtH1hb\ncfG9wBk4fcZiadEJjf2/F0QgnelvqxcRkunxDS/0fYXvBX6NnZPqm8l5fKP/7aCAetxi+WK2a9aq\nphJEatnQZjqCEK12O0zcSITV+Rnmr28iO4rSGa7D3I1XQj/faQb5FxOTQaLeuGKaQf7JbGvmFhGU\nUjTqqhNQECYMIvTdKXqe6hKD9nsE/ShcJvM6z2FQaA/OCUApxY3X6ywvuXhucLM0G4rFmw7+QOLB\nWlFAcYNU5vj9ZHxfsbTQ5LWX6rz+ap3rr9QpFbdMX89ce5qbU7N9X68I+gAsX8r1LGFffNe7sJr1\n7sznba9z7ZDzJcLyuTS+IfgCKB/Dc5m+/SYzt9/oPw4FG+te3x7O44TIllNcRJi/EOXC5SjTZ2xm\n563WTidwSotAPGFwZi58Yq/X/NCdg1J0EiE1g0HvEE4ApYJHo97nyXuYO0wTLl2N0WwE23LfV2Qy\n5ljY+u+FpYUmlfKW/8RzYWnB4f/5G3+Z1bNBFnBxIka06vQ0fgEo5ON9S3evzs0iosiu3WFjarYr\nrErRv/uXE7NYuDpBotzEdFze96U/ZPbWjT2rRopAreaT3qsV6RgSixudvJBsDpymT6OhiERk11wK\n05S+P+OD+Dqcpg8SBC5owtFn5pjieYpqxaNR9ylsHswmJAL5aauVeNb9XDpjcOm+GJYlJJImZ89F\nOHchSiZnHUsxcB3VJQZtPAUPf/PPOn/XUxEKU3F8Ac8QfMC1hNuXsxTyib7G7ft+8EMi9Tr3vfAt\nRIwue4gA8Wr/LnEYQjUTpTSV5NlPfIzvPvUkTdveVcMVgWD3fE9XUa/5eMfI0WpHDFJpc1cxAIjG\nJHTiF4HcVLgwuo6iUfdo1D1KBZdXX6rx+qsNXn+lwfWXa9Rrw4veOk7oHcKYUq/5rC47NOo+ph3E\n5HuOIhIVLFsobHhbzd33mKe3N4EXCW6wyWmL3JRFcdOlVlNEo0J24uRljzqO6vr+bQwgs7HR9Vgx\nn6A8ESNSc4OmLdEQxdzBlR/8ENt1ef3ygyhUp90mBJcls1ajOBFH7eH4dCM2LzzxXl544r1cfOkl\n3vVf/4RUodhzaU1TumL1lVLcvtXsMp3kJk1mZu1jKeBhiAjnLkZYvNHsup7TsxaJHVFsrhucj1q1\nvynJdeHG600sG3wvMFdNz9pE9xCm04AWhDGkVvW49WazM4m5rqJtwGg2t2a2ziS3y6LQMGBy2qLQ\nqmeTzZlMTAWrfdOEiSm71S3gZBKJChKxoN69UvcM4e65cz3H+6bR06u5H7nVVaYXbwNQmDoT1PrY\niYDteDR3qXK6kxsPPMCNBx7g4ksv8/4//CKuZfPmW9/JytlL+KbJ2eoy717/PmcbayzeaFDZUUdo\nc93DsmEqH6HZ8HFdRTTWP9P8OBCJGFy6Gg1CUz1FLGb0RBcFuTYNGvX97ZLaCZKVsk/t9QaX7ovu\nWsTvNKAFYQxZvuMcKl+gg8DF+6JEIgZTpzQS4x9+7Bd49E++xkPf/ja2E4hCu/fxC+99/FDv/cjX\nv4G0LlS8WqKa7nU6G56Pd4/tIW888FZuXb2Ps69vYPhG0BYTuJ2Y4XOJDzNVX+ctr/8RsZAqRKt3\nPdaWa11VNSanLfLTx/d3ICLEYv1FrVFX9xxe7fuwtuoye3Z8I7iGgRaEMWS/K5ztGEZQ2bNS9nCd\nwBeQnTiedv/D8sRvPsKPfrbVN0MpXnzneyhMzPDgd75FurDJnfPn+c4HnqKSzez+RnsweXe544S7\n8OrzbOTPdrXUFM9lYuU2ty+n8axw5/JeRBoKUUaX6aj977XYBM898eM8/pXfC7UathcV7f+vr7hE\no8auocPHGdcNNw/ul3pNRyxpQRhDTEsOHFqoFKTSJpns6b6kz1x7Gj4b/Ntsepy5VcR0fdzIJM+/\n9y9QmoixOd3fSXwQNvNTpDc2MIDsxgoPfPdPePXt78OzbJQI+aWbXHnxW9x44Czrs/cmCFazv/NT\nEJqxBMWJabIbK32Pa6MUbKy5J1YQYjHjUDtrXVxPC8JYMpk3Wbnj7vvHLRIUnjtOmcGD5plrT/c8\nNrNYwnJayV+tc5neqNOIW9TSh2r4B8D3n3gfk3dX2ZyeB6WYXrrB+7/472jEElhOE8tzcU2T8iF2\nInv1okYpmtHwkNjQ93OPTxTSQbFsITth9u0Q14XQ5XvrV2r9tKHPwAhQKsiYFYPQSTw3YeF5wRY/\nOD54vL2oDWrgC5WywrKDuvY7oy1OC2FCAMHK2mp6PaYUQ0Fmoz4QQXCtNN/+4McRXyEo3njwndz3\n/DeZv/lq63mL6297kGZ8/xP2TuoJCzdiYjd6vwuAa9vEy5t4Ihjt7OBd3i+VPtmr4JnZoAfG+qqD\n6wT3jGkJmaxBNGZ0/BDLd11KhaCchm0LZ+Z6e2d4nsJzg3agckoWW1oQhky14nFn0dkqFyxbJSGm\nz9hYVpDhmZ+2mZyycF2FZQlKgdMMfpxmKzQ0PzPCLzJi+glBG8NXPavAznMDiNW3qw651RqCgBEk\nTingtbe/j6nlRQzf5cV3PcZzT77/cB8kwt0LGSbuVEiWgmqg7anJFyjl4vzep36O+TfeJFKvY/ge\n7/nKVzsO9O2YFl1lHjxPsbnuUi75J2ZhISJkcxbZ3O5T29x8hDNzChXSCCpoB+tQLnnB/QnkZywm\npo6vQ36/aEEYIs2Gz8KNZrcpqFVaurjpUS17XL4a64TTGYYQiWz9UM1dGpUcd1wn6Lzl+4pkygzt\ndAZ7C0GbZtREhSiCL1BJHz6SZOpuJYgw2uGLUCI8+xc/yfKF6UN/RhvfNFibT7Pu+aTXayTLDr4h\nlCZiVNMREOHW/Vc7x9sNh0e/9nVQCsvzMEWRnTCZzNudPBPPU7x5vd4pdUINKqUmM3MWuYnuia9R\n9ylsuLhusMM4rhnrOxGBRlOhlCIeNzq7gDu3AzFQLZVXBA19LHvLIV+v+zhNRTQmfX0PnqcoFz08\nT5FImcRi478704IwRNbXdvcLeB4UCu6pa0peKrosLbT6BLfabmayZqvOfnCT9hUCpcis10hvNBCl\nqCVtNqcTeLbJ+mySqaUy0tos+AKebVCauDcH73bshhfumBZh7o03qaZTxMsOvhl8XjN++FtNmQbF\n6STFPbTmh4+/m5cfeweZjU1qyST1ZAKAf/yFf9k5Zn11q+5V5/1bPS8y2S1/VGHT5e7trTDocslj\nY93l/KXosfZZ1ao+izcbtDeSAGfPR4jFjdB+3UoFFVcTSaOT69COaEqlTebOdScCViseCzebnQWf\nLAfO/Nn58U4Y1IIwRPaKkVYK6lUFk0Ma0Bjge4qlBadnYioWPNJZk//tp/+H/i9Witk3Nok0t6qG\nJotN4hWHxSs5qpkoTtQktVHHcnxqKZtKNoYawEQmnRb3vdTSeaaWSoEtQvkki3XWZlNUcocXov3i\n2TYbM93K0RbVf/yFf0mlHF6OWgjCnuMJwfcVd5d6r02jrihsHt+Fi+8FCWztwo/tr7d4s8m5S/13\nj66juLPYpF4LXrFdJNdXhalWjkc7e3x7o2Glgta0qYw51lFe47+HOcYopahWPVbuNllfc4nGZNdo\nR5Egs/Yk4XuKwobL2opDrer1NHqpVMIrWfoK/mvyvt4n2ijF/GsbXWIAwYQmviK1GVT7c6IWG7Mp\nVs5nKE/EByIGAM1Id92i9pisRg0nEt/KWhYDQZi6U0Z2af4yTJ659jRTH7gc+pxSW7WS6jW/b35D\nqXB8Y/ZLJa9vcn+t4vW9R2NxI7S6qlJ0RTbV+jSiUgoKG7vUthoD9A7hCFBKUa/7rC27VCvtH8fe\noXAikJ04OZekXvO59Waj04JTJGiYMn9hq0/v7tNz/2czq1VMT4UeYSiI1VxKhxn8biiF2Wc+tJ0m\ntVii53HLcYjUHBrJ8ciE/TfZx/igfbPH+RyJblUeFelfZXR7tW+lFNVyUCIjnjD2LFY3anyP0GAD\npQKz7fSsxfJSt3nXMIKw1HIpvM3nbp3edn7GOHNyZp8xobjpcnfJwd8qP9SX7VmV0agwOx85McXl\nlFIs3mp09WNQCqoVn82NLXNDIhWeTOTaNtcffrDv+6cKzb5yoQBnr/j9QxCtuRhur0MZpfCscDOK\nEiHSqI2NINy+fInn3v8Ej37tT/ENg6jTJBIVzl3YCseNxQXTAHeH+IlAbjKYOppNn1tvNPB8Or/3\nVMZgbj4ytrbyRDJcsESCdqCRqBCJeDRaJl7DgLlzNvGESSQiXfXE2mxvDBXvExAhEtQSG2e0IAyQ\nes1nadHZ+0CCH8flq1HMVkjpcSo85jR9lu84VMp+a1djMpUPcidMSzBNodlQeCG7Y6WguOF1BOF/\n/ugvcO7B6/zI5z4PgPg+yjC4/raHWLp4MfTzraaHsUfnn0E4jvthuOGmFAwD8RwM18HfLgy+T7Re\npR47XKmMQfOD9z7OK4++g6k7d6knE2zm812O56DKaJRbbza6FjgTkyap1gS4eLOJu+M6lwo+Ik3m\n5g+f63EURGNBpFQ7DwG2mvTEE8Ibrza6vpPvw9Kiw5X7A6fw9sKT7SY/+RmLUtGjWHBxHUUsbnQq\nrnZ2x6ngc8cZGVbz7kHwQDynfvPqU6MeRhe+pygWPJpNv9WfYH+vC7KLbdJZk0o5MCclU+ZQhKFe\n96mUPAxDSGfNzq7E9xVrKw6FDQ/fBztCq4/v1o/Y8xRvvFoP7a3caiNMKm0yMWV23TjbicaEz/zi\nP+h6LFapcvHll7GbTRavXGZjJjzJIlZqMLNYDj4v5HkFrMwlqWWPThBi5SYzC6Wez1eAqAYXXnmR\nhasPB201AavZ5Orzf0q8UuCLf+2vUJoc7/qyX/0ncb7+9n/W+VspRbUS9FqIJ0xsO/jmzabPm681\n+ppB5i9ESKaMIOdGBW1d27uGoF+Bj71Hc5yjQilFuRjsVpUKFjWZrEm55LO02O0Qhq37NTdp4TR9\nNtZdmo3ARBZLGCzdaobeE9mciWkF93Y8Mbp+2E++8IU/V0q9e6/jtCAcgmbD5+YbgVnkoKdRBDJZ\nk2LB25rZFMzN26SPqB6RUorlO8GEvz2Efu6cTSptcutGg1ql94tMTZvkZwJTx85m52EEW2+DWs3v\n2SU4lsWff/ADvPzOxw48fvF8zr+6EToRtylMxCicSR74vQ9Cotggf7scKkjVhMXcrR/w4Le/x+bU\nDLcvP0Qpl8doNbaeu/FDvvaRDx3p+AbF9t1CGI26z43X+wtCJApKbdXlMszA1FSv+cHukuC+icWD\nncg47JLX11xW7oTv8iemTGZ29LNWSnH95fAFEoBlwZW3xEZuPtuvIIy392fMubMYrAruVVMLm8HE\nrPzWfyrYmh5VvZlqxe+IAdBx9i4tONQqfhDyGsLaylYf31otPIJiO0oFNeZn5yNIq2euAhzbZuXs\nWV59xyP3NP7MWi30cQF8AxYvZ49cDACaMQsVFhklUE9G+P6T76eSTnD3wv2UcnmUaeLZETw7wu1L\nD5O7u9H74mGgFJGaQ265Qna1umvhPAiikXZLBIxEhZBW0h2ajSC7vv0781xYW3aplPxOfD5AvaZY\nvNm4l280cPp1Umv3FN/JVtBIOJ5Hj0ltnNE+hHvE9xW12r1N3CKQzhoUN8Pt4KWix8Tk7pdG+UFr\nSNdVxJPGvro9FQvhsecIna1zPyplj+yERSxqUJG9RQEgYgsPvfhJ/vXf2yBWrnD3wjnuXLhwoEqj\nkZpDdrVGtO4ifaKKIMjm9aLD+Tm7EZNqOkKi1Oz0YFaAbwrlXGA39+0Im1OzqB39Ln3LIlH22Twz\nlKFuoRSTdyokiw2kNebMWo31M8k98yO25y9sR0SYm7dZuLk/v9lu1KoKz/MxzcGsURsNH9cJGgPt\nN1CjWvUoF8PvSdOCdLrX/r+HKwtgV9EcN7QgjAizTzx8ULMosFFalpBMGZ2M0GbD5+6SQ7Wy9Sts\nz637yoLsM4krH0p9boQ27TFkJ609M64BrEyUf/Tx/x71r014LNw5vBexSpPphVIn0xgITQdTBKUq\nhsnaXIpmrE56o474ilo6wmY+gWpNaG++5QEM38cLGZaS4c8Q0apLstjoCBiAKJi8W6GWjuDvYyJ+\n5trTPf6FZNpiasZnbXnHyrpPHandqFZ80pnDnRvPVSzc7M4kzk7sr6VocaPPggmwLOHVl+qtxVxQ\nd6zdznS3eyGRPF6d6rQg3COGISSSRtfk3Mayt9rzhaEAz+8OO93OxpqHSJAgIwLnLwXRSDdeb/Ss\nSNqvLxU9Eilj16JemZxJKSQtfy9EINmqkmlZwoXLUe7c3srY3IlrWXz9fR/oWR0flMk7la4JDPpn\nJtQHUBpiP5y5eYtHv/Z1smvrbEzn+d5TT7Iyf7bnuFff8TDnrveahhSKemL4oafJ0tbOYCfxskMl\nu7+IoA/+ag2uPd21W8hPR4hGPdZWAnNnPG6QyphdJS/2wyDM7EshmcSFDY9oVMjtkVm921i3v2dh\n06Ne87l4JYplCVPTFmsrvYukWBzmzo1HmPF+0YJwCObmI9x4o4HvKXw/iLKJRIQLl6J4vmJ5qUm5\nFJYBE0TrZLImhc1wm2Xb7gqweKtJJrP7SiTIlgxqALmOwjClZ2WSSBpkcibFzf2LggicuxjpqlsT\njRlcvBLrZB07TYVvN3lhMU01neb5J97L4pXwTNj9YHg+qY0alrO/bFgFNPbZB/kwzF9/nQ/+/n/C\nahmFYzduMrN4my9/8hPcvXC+61gnFmH1TIrJ1RptGVOAbxgUp4ZXwqJNX2ObEOoP2YudZqT0jpIM\nSimKm17frN2eYQgkk4dbQHieCl2gKQUb696egpDO7nPBpIIyNNWKTzJlMjVtE08YbG54eG5Q8C6b\nM4nGxjvENAwtCIfAsoUr90eplH2aTUUsFmwhm03FzV2iL0SC5JVaHwfWTlxH7cuZ67pBxEN7F5FM\nG8ydjXSqp4oIs2cj5CZ8KmWPRsMPTEWhoaGQn4mQSBp9i5iJSHe7ygFgOh5zbxZ29RdsxxeopiM4\nQ/AfPP5Hz3bEAIJp3nJd3vOVr/L5n/2ZnuNL+SRuzCazVsN0fWpJm+JUHM8e/kRRyUZIFeq9uwQF\ntUMky+3mXzh3McLGusvmuosTnuDbYf5C5NA9B/xdyprv9lybZMogmTaolPYROAE0GopkKvg7kTRJ\nHFLQxgEtCIdERLri9AHu3m7u6mwSAxIpk7WV/YcfRCJGqxZQvzftNVNVSj63F5qcu9htDojFDWJx\ng2bDp1xs9OhBkIlq93yv7Tz6ky4/Zfxip13loJhYrmLsQwwU0IhblHMxKpmj3x2I55He3Ax9Lre6\n2vd1tVSE2hB2L3vRjNsUJ+Nk1rsjtVbn06gB2LjD/AsiwuSUzeSUjesGvRfqNZ9IVIjHDRoNhWl2\n58IcBssWDJPQhMhkau/JulL2A6fytqEkkkKtqnruOxG6StOfFLQgDBilVCdDMYxU2mB61sZp7r8h\nuGHC5LTVN0pIjFbo5Y7n2qUiHEd1kom2E4kGtt7t5X5Fghsrs0tG5X57EtwL8YqzLzEo5aJszKaO\nbBzdH6j4wH/6fN+n64ne2kXjSGE6QSUbJVZxUMK+ncn7Jcy/0MayhPxMt8kmPbBPDmjvgG/f6s0k\nnprZ3VzkeUGFUqBrx1ytKIyQOobtgI+ThhaEIWIYMN+qFSP7CN1sO9nOnotg2wYXrkRZ3hZlFI0J\n0ZhBKmWystzED9mWiwSmpDBBgCARbjMubG54KD+oQzM1bYeaiY5SCNr4Ep4c044u8gVc22BzeniT\n8OUXX2L+jRuhQuVYJs+/7/GhjeWwuBGT8hHWeYL+ZqRhkEqbXLwSZWPNpdkMMoknpqw9dyCVstc3\nMiqVMXAdOvddKm1w5uz41mo6DCMRBBH5deCjQBO4DvycUip8P37MEJFOnZTux7sLW9m2QSptbnVm\n6hwIM7MWzUbQOjObs7Bak3k0anD+Ung0SKViUghJNFIKortsbUWEiSl71/aAwxCCNqVcjOx6rSu6\nSBGUm24kbBoJu9MlbFjc98IPsJ3esDEFvPHgg7z82KNDG8txYlTCEI0ZzM4fzEy32+LMEOH8pUgn\niOIkCkGbUe0QvgT8mlLKFZF/Cvwa8D+NaCwD58ycTbPhdzXEicUN8me6J925eZvVlaCWuu8HxbXa\nTcIPytS0RangdfkuRIKSvcY92oiHKQRtPEsQ1b1Qcy2DuxeznRj/YaP6TABOJML1h992YHGK1Os8\n/I1vcumlV/Asi5cfewcvP/YoapQZTL4iUW5i+Ip6wsYd4C5ilDuG/ZJMmqB6Rb+ddxD8++QKQZuR\nCIJS6ovb/vwG8MlRjOOoME3h4pUo9VogCtGYETrJiyFMn4kwPYCsVds2uHhfNCgNUPGwLGEyb91T\nd6ZRCAEEEUaTy9Ue04zp+Ziewh1REMdrb3+YMwuLPbsEZRihOQi7YTabPPmfv8JG/hzX3/YEZxZf\n59E//m/MLCzyxx//6CCHvW8iNZeZW8WgC1w7ryUXY3MmMdCd2DgLg2UL0zMWK9vqdIkE4bTxxMnz\nFfRjHHwIPw/8u35PisingE8BnLHjwxrToRER4gmT+BD9jZGIcahEmFEJQZtEn+YjooLnilOjuf43\n3voWLrz6GudffQ3D9/BNExCe/YsfO/Cq/vyrS7z5lnd2ymMXJ/Kkz13h4T/7Ctm1NQpTU0fwDXZB\nKWYWipg7IhLSm3XqSZv6EURIPXPtaZ79S/+NP/357w/8vQ/DRN4mkTIpbAai0BaD07AzaHNkgiAi\nXwZmQ576tFLq91vHfBpwgd/q9z5Kqc8An4Gg2ukRDPXUE3v2E/yD3wi7VENGceByB0NBhD/56DWm\nlu4wd/MmjViMG299C83YwRLMrKaHkkSX6cu3bEq5POtn5skv3Rm6IERrLhJiQDcUpDbrRyIIQJC7\ncu2psdstRGNGT0XT08SRCYJS6sO7PS8iPwt8BPiQOk41uE8QnR3Bb4x2HG1q6Qi51WqPKCiB6hjE\n8q/NzbI2d+/CGauG1zPxLZv1/Fkq6SGF0W4jTAzaGENomzzOZqTTyEiMYyLyE8CvAB9TSlVHMYbT\nTOzZT4zcPBSGGzEpTMXxZWuz4AsUp+K4Qy5edxT4hoTG/YvnYSgvqAQ7ZBpxG0ImfgWYrkdmrYrh\nHb0y7FVqWzMcRtIgR0ReA6LAWuuhbyil/ru9XjduDXKOI8fhprMbLoli4E+oZoZTlmI7VsMjvVHD\nbng0EjaliRi+NYC1k68499pGj71ePI/VuSjlyezhP+OgqNaYdpR2aOd9BPWX4M6l3EAjj3ZjZ8az\n5vDst0HOqKKMro7ic08zx0EI2jhRi8L0aOIdohWHmYVip+R2tO6S3qizdDl7+BpEhrB8IcP0QhHD\n34roWb2Qo5YejUnM8FQwlh3Itv8bPuRvl7hzKTeUMe2W8aw5WsYhykhzhBwnIRg5SjF1p9yVFGeo\noBxJbqXK2tnDF1toxiyWLmXJrNWwmz61hEU9sXtZhaNE7aOgnACRurfVLX5IaP/C8NGCcELRQnAw\nTNcns1oNLbktBDWWBoHV8Ji9UUCUwlCBozm3XmfpUhavbZYa4qSrDKGatImXnT0diqan8AZQhO6g\naGEYHloQThhaCA6O2WyV3PZ3adF5yNLMbabulDG2fY6hQHmKuTcKgelGoJKOsH4mObTM7LW5FDML\nJSJ1t6s73U78EYfjP3Ptad7xsU1++u/+9mgHcoLRgnBC0EJw7+RWq12T9E58gdLEAJraKBXE/e94\nOLDTtz5fQaLYxG563LmYHcpuQZlBaRCr4TL3RiH0PKjWcaPmuc/leC6k1LZmMGhBOOYcdyGwmh7Z\n1SrRmtsJO20M2aber+S2gmDFnokORhB2YfvnG4Dd8IjUPZpDag0K4EYtNqfj5FZqXeYjBWxOj1eV\nAO14Phq0IBxT3v/8Lwc3xTHGanjM3dhEWj1JbMcnWnVYm0tRzeyvx+8g8E3pCbtsc/tSbnA5ECJU\n0xESpebe3eAE7OZwBQGgNBlHFGRXt35bxak4pcnxEoQ22r8wWLQgHDM6LSuPuRgA5FYqHTFoqgur\n7gAAE1NJREFUYyiYvFsZaolrxzKwmn7XOHyglrIHnhC3PpvEbnpY7VLlLZt9zzdV0BxFMp4IxXyC\n4lQc0/XxTAMG5D85SrQwDAYtCMeEzo5gwC0rR0ksxJ4OIL4KJqMh9B6OlZuh4xBgbTY58M/zTYOl\nS1miNRe76eFYBtNL5a62oT7QiJk4sRHeniIj6f18WLQwHI7Re4k0e/LMtaePr3nIV6TXasy9vsnc\nG5uk12udbiRen+xfgYG2dtyN1Ga9K++gjTIg0jyikg0iNBI25VyMRirC0sUs1ZSNz1aGcKzuMXW7\nhIQkjWn25plrT/PEbz4y6mEcO/QOYYw57g5jlOLMrSKRutuZdHMrVeLlJsvnMxQm4z2JYL5ANR3d\nV8LUINitgNtuhd8GiRcxKeQTxCsFpP2RrZLfhldi5XxmKOM4aYxrRdVxRgvCGHLshaBFrOp2iQEE\nPoJozSVadalmIlhOnOxaDUQQpailIqwfgammH5VMhGjN6d0lqFbhtyGRWa9tiUGLduKa6XjDNd8o\nRazqkig2AKhko0OP/Bok2oy0f7QgjBEnRQjaRGtOzyQHQcObaM2hkbQp5hOUJuNYTQ/PMgZTRO4A\nVLJRUoVGR7gUQbnttdnk0HYpEEQUhYa+CljOcPwpbSbvVkgWGp1rlyw2KGeiuFETUVBL2qP1b9wj\nWhj25vhd1RPISROCNp5loIQeUVDS7T9QhoxughHh7oUM8XKTRKmJZxmUs7Ghl9tuxG0i9V5RMBQ4\nQ6oyCkE7zWSh0bVjEgXpQqPj38itBNewOBmjkB9sm81hoIWhP1oQRshJFYI2lXSEieVqx4kM7WQv\nGWqewZ6IUEtHqaVHN6biZCyYiLdlTPsC5VwUy/GYWCgRabj4pkFhMkZ5InYkE3G83Azf1dEdGisK\nMut1TE+xPjv8xj6DQAtDL1oQRsBJF4I2yjS4eyFDfrGE6QbeW88yWJlPD9Uc049EscgD3/0eE8sr\nrM7N8vJjj1JPDs9/sR3PNrlzKUtuuUKs6uKbQnEiRiNuMXuz2FmxG67PxEoV01MUpgffsPsg1yVo\ns9lgcyqOfwxDVNuMa4/nUTCSBjn3ynFvkHMSsosPiuH6JDfrRBouzZhNKReFIdfEEd/HdD3cyJZj\ndOLuMj/x//0Opudjeh6uaeJZFl/4mb9BaXJiqOPbjemFIvFyb2kNX2Dh/smBC6vZdJl/PbyeURgK\nqKZsVs+djEiok7pbGOsGOaeRZ649fSKyiw9Cotggf7sMtHILyg7pzTp3LmWHkmdguC7vfvar3P/8\nDzA8j1Iuxzd+/EPcuXiRJ774Jezm1kRreR6G5/H4V57ljz75iSMf236xQ/wKAAiYjj9wX8dBr4sA\n8bKDXXePpaN5J6fdjHT8r+AY0ykzcQqJ1Bzyt8s9ZSnE8Zm4U8b0FJGGh2ObFKbj1JOD7xj21Bf+\ngPPXX8dyXQCyGxt86LP/kT/46z9N/s7dXgcuMHvj5sDHcRjcqInl+qGlLfol9h0GZQjKAOnTZzk0\ns5zA93ASBKHNaRUGnal8RDxz7elTKwYAk0vlvpNHsuQQr7qYniJWd5leKBFvxbwPili5wvnXrnfE\noI3hebztm9/CN8J/+q49XvH2hak4aseJ9AXK2SjKPAI/jAjFiXhP7wMfcGwhzMCs5GC+h+PEact4\nPjmSPiacFofxrii1a9mHsNDKyeUqiwMoaBerNMmt1IjUHb79Ix/DN22caIxYtcSVH/4503duklvf\n4PpDD3Llhy9ieV7nta5l8co7xuvmbyRsVubTTN6tYDk+qtWbYfMIHMptCvmgsmlmPTBxKhE2p+O4\ntsnMQqn3BSooEX5SOU0Zz1oQBoQWgm2IoAw5UB0e0/URRc9q+CDEiw3yS+1SGEI9le08V0tlefGd\nH0B994/ZnM7yrR/7UdKFAtO3l/ANA8P3uX3pIs899f57H8ARUU9FuJ2KgN8ujXrEq3ERCtMJCvk4\nhqfwTQER5l7f7BFzBTTi1tATCkfBaTAjaUE4JFoIwilOxMis1fZtk1SG7CoGdsMltVHHcnzqSZty\nNtZtMlGKieVqaKG6Nr5l8caD72LxvknciM0X/+pfIbe6Snpjg82p/FhFF4VidH/fRLmMZ1k04kfU\nq0AEv9VD2fB87KbXewgQCXn8JHOShUELwj2ihWB3Cvmgnn6y0Aiv978NX6CUi5LaDBKzaikbJ7r1\n04yXmuRvlzr9fmNVh/TGjmglBZa7d3XSaipDaSLX+Xszn2czn7+3LzkiZm4t8NR//gPi5QqCYuXs\nWf74o9eopQ6ZIKYUkbqL6aqeVb/aZVey23MnmZMoDFoQDshpjhw6ECKsz6XYnE4w/9pG/z69QDUV\nIb1RD16mILsaZOhuzARJYjsrohoKcH0yazU2W8cg4BuCuYeZyj3GCVQAyUKRD/+H38V2nM5jMwuL\n/IXf+ff8x7/zcx1zkl13mViuEq27eKZQmIpTyUb7mpsiVYeZxa1y2wLUYxam56NEKOdi1JJ2T7vR\ntpifZk6SMJx8w9+AiD37iVMfOXQv+JaBZ/VfQS5ezpIoNzFUKyyVrQzYaDVoIhPmizAUJMrNrQdE\nKE7G2G2P4MOROmOHwf3PPYfhd39LQykSpTIzi4tAYF6bvVEgVnUwfIXt+EzerZBea+XBKEW06pAo\nNrCaHum1apAN7amt66CCBkaRpk+04TGxXMEXcKImfkt8fQkK3RWnxrO95rA5CRFJeoewB50dwW+M\neiTHl+JkPLDvb3sscEaaRJteoAI75nxRkCo22Mz3n2x2ho4Wp+IkSk0ijd5kLgUUJ6LjVUPpHshs\nbGJ6vTZ7BSSLQQRQdqXaMa+1MRTk1mpUM1FmFopYjt95YT+T3s7XJyoOSxezGEphOT7NqDX0IoDj\nznGPSNI7hF3QO4LBUJ6IUclGUQQmBp+gX/BKu9xBPyuPUni2iRM1ew7xJZjg7bob9CdWCkRwI2a4\necoAZ4j9DY6Ku+fP41i96zhD+azOzgIQ7ZPdLApmbhWwm35nJ3DQCSBad2nGbaqtctiacJ659vSx\n9DPqHUIIx/FCjjUtf0IhHyfS8HBto+M0rvdpvKIk6FUAsDKfZuZWsROHb7Rq8k/eqXR8C74BK+cy\nVNMR4i0TVPcbQj15/AXh+sMP8fCffQujXMZsmY4cy+LW1audKCknYvR1sNuO6hGLg7iEPcsgUnOJ\nl5soQ6hkIsey9/KwOG7+BV3cbhtaCIZAy9zgm9KJEEoU6uSXKluHSJDotD6b3HKCbouA8UzhzM1i\njwkK4PalDBMrtcB+vq3hzcZMgvLEybB1R6tVHvn6N7j46mu4tsVLjz3Ky489imqZ0OKtGlKD3P4r\nwDOhloqQLAYlslvpHqzNJqlmYwP8tJPJKCuq7re4nRYEtBAMi0ShzuTdKqKCVWo1abM2m+LMQhG7\n7mFAxym8cj6ztaJXilglcJDWEzaZtSqZjUZ4klTM5O7FLPGyQ6LUwDcNytnoiaqz0w/T9ckvlojU\n3eDctG7tvXYA7Rmg33EK8Awo5WJkN+o9uy9fYOHqBGrIVWyPK6PYLehqp/tAC8HwiFYdpraZeADi\nFYfZGwUs1++sZtv/z98usXB1ArvhceZWcavhvQLHNvo6QSMNr9XwJkItPfiCeWOLUszcDPwD289N\nX/cMrQq0BBO62efA9sOmD7n1evhBElzL4+6wHxbjbEY6lYKghWD4ZNbCm8jbTkglT0B8hV13ObNQ\nwvS6X2g3/b6VN/0TWmRtLyJ1F6vPudx5rrb/LQShwaYT7nPY19k8PkaGsWIcheFUCYIWgtHRb7La\nDbvpbe0MtrE9SnXnRHdaY+JNV4WH7xLsABRbva1lx/N2Swx2E469qKVO0W5swIxTx7ZTYfR74jcf\n0WIwYuoJq+9CcufatD15ZVeqoatPAepxEydidLKdFUFJ6NLE6XRuNmNmaC9kX2AzH2f1bIpGLDwa\nSLb91w4N3ksMOiHEAqtnx6Ml6nHmRz/71FjMUSPdIYjILxOkfE0rpVaP4jOeufY0fPYo3llzEIpT\ncZLFZk8T+cJUHLvpkSgFWcfbV7ERV4WKiC9QzQWlGEzHw3J8nIh5Kipu9sOzTcrZKMlCYysUl6AD\nWjkXI7tWI9rYuwidAI5tUpyIMrlLsUDPFAr5BNV05FSf90EzajPSyARBRM4DPw4MvEXVoz/p8lPG\nLw76bTWHwLNNli5nya3WiFUcPEsoTsY7jshi3SWzWiVRdrq2rTvNQ75AM2ZRyUQ676vj4APWzyRp\nxC3S63UMX1FNRyhOxTFdRXqjHrqDCEOUQhlN8ndusjF1FmW2zq9IJ4x37Wz6ROR1jCujEoZR7hD+\nOfArwO8P8k3HYdulCcezTdbmwityOjGrb+askpbJyTCopiNUB9BI50QiQiUbo7IjJyC12evQh3Cz\nkCJIFvzQ7/4u2dVVKtkpls7dR3FyBjcSpZaMcvdCnmb8VLkfR8Yz157mq/8kztff/s+G8nkjuaoi\n8nFgUSn1nOxxY4vIp4BPAZyx+zsMtRAcf1zb6Gu7Lk4laPTJatbsjt/qNRHqY2BLhBVBXwrfbJDe\n2MBUiszmKpnNLWvuwuVL3HrrXxrCqDVtPvirNbj29FB2C0cmCCLyZWA25KlPA88QmIv2RCn1GeAz\nECSm7XxeC8HJoTwRI1VodE1ciqBcQkOvSO+ZajrCxHKl53ElsD6TIF1oYro+9YRFIZ9gYuVuJ+t5\nJ7Fa7aiHq+nDMMxIR3aXKaU+HPa4iLwduAy0dwfngO+IyONKqTv7fX8tBCcPJ2qxejbN1FK5E27q\nRExWzqW1iegQ+JbB2lyKqaVy1+Prs8nAxLSjpMf6zHRouK9rmty8evVIx6rZm6MUhpGXrhCRN4F3\n7yfK6IF4Ts3+0m8f/aA0o0Up7IaHbwheRDuMB4V4Poly0FinlrK3us2FcN/3n+d9X/4KhutiAK5l\nUU2l+Pzf/ps4UZ2RPC6842Ob/PTf3XtOPJGlKxZz06E2KM0JQ+RU1B4aNso0OhVk9+L6I2+nMJ3n\ngW9/h0S5wsLVK7zyyCO4UZ2ANk4897kczw3QvzDyHcJBSM/dr971t//PUQ9Do9FoxpJ+wrDfHYLO\nKNFoNJoTwmEb82hB0Gg0mhPGvQqDNtRqNBrNCaUjCi98YV/H6x2CRqPRaAAtCBqNRqNpoQVBo9Fo\nNIAWBI1Go9G00IKg0Wg0GkALgkaj0WhaaEHQaDQaDaAFQaPRaDQttCBoNBqNBtCCoNFoNJoWWhA0\nGo1GA2hB0Gg0Gk0LLQgajUajAbQgaDQajabFseqYJiIrwI1Rj6MPeWDPvtAnHH0OAvR50OcAxusc\nXFRKTe910LEShHFGRL69nxZ1Jxl9DgL0edDnAI7nOdAmI41Go9EAWhA0Go1G00ILwuD4zKgHMAbo\ncxCgz4M+B3AMz4H2IWg0Go0G0DsEjUaj0bTQgqDRaDQaQAvCkSAivywiSkTyox7LsBGRXxeRl0Tk\n+yLyeyKSG/WYhoWI/ISIvCwir4nIr456PMNGRM6LyLMi8kMR+YGI/NKoxzQqRMQUke+KyOdHPZaD\noAVhwIjIeeDHgZujHsuI+BLwsFLqEeAV4NdGPJ6hICIm8C+AnwQeAv6aiDw02lENHRf4ZaXUQ8D7\ngF84heegzS8BL456EAdFC8Lg+efArwCn0luvlPqiUspt/fkN4NwoxzNEHgdeU0q9rpRqAr8DfHzE\nYxoqSqklpdR3Wv8uEUyI86Md1fARkXPANeD/HfVYDooWhAEiIh8HFpVSz416LGPCzwN/MOpBDIl5\n4Na2vxc4hZNhGxG5BDwGfHO0IxkJ/wfBotAf9UAOijXqARw3ROTLwGzIU58GniEwF51odjsHSqnf\nbx3zaQITwm8Nc2ya0SMiKeCzwN9XShVHPZ5hIiIfAZaVUn8uIh8c9XgOihaEA6KU+nDY4yLyduAy\n8JyIQGAq+Y6IPK6UujPEIR45/c5BGxH5WeAjwIfU6Ul0WQTOb/v7XOuxU4WI2ARi8FtKqd8d9XhG\nwJPAx0Tkp4AYkBGRf6uU+psjHte+0IlpR4SIvAm8Wyk1LtUOh4KI/ATwvwM/opRaGfV4hoWIWARO\n9A8RCMG3gL+ulPrBSAc2RCRYCf0bYF0p9fdHPZ5R09oh/I9KqY+Meiz7RfsQNIPm/wLSwJdE5Hsi\n8q9GPaBh0HKk/z3gvxA4U//9aRKDFk8CPwP8WOvaf6+1UtYcE/QOQaPRaDSA3iFoNBqNpoUWBI1G\no9EAWhA0Go1G00ILgkaj0WgALQgajUajaaEFQaMZECLyhyKyedwqXGo0bbQgaDSD49cJ4vA1mmOJ\nFgSN5oCIyHta/R5iIpJs1f5/WCn1R0Bp1OPTaO4VXctIozkgSqlvicjngP8ViAP/Vin1woiHpdEc\nGi0IGs298b8Q1CuqA7844rFoNANBm4w0mntjCkgR1G2KjXgsGs1A0IKg0dwb/zfwDwn6PfzTEY9F\noxkI2mSk0RwQEflbgKOU+u1WL+Wvi8iPAf8IeABIicgC8HeUUv9llGPVaA6Crnaq0Wg0GkCbjDQa\njUbTQguCRqPRaAAtCBqNRqNpoQVBo9FoNIAWBI1Go9G00IKg0Wg0GkALgkaj0Wha/P8QaeHZfngd\nkgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plot_decision_boundary(lambda x: plot_seq(x), x.numpy(), y.numpy())\n", + "plt.title('sequential')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "最后我们讲一讲如何保存模型,保存模型在 PyTorch 中有两种方式,一种是将模型结构和参数都保存在一起,一种是只将参数保存下来,下面我们一一介绍。" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 将参数和模型保存在一起\n", + "torch.save(seq_net, 'save_seq_net.pth')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "上面就是保存模型的方式,`torch.save`里面有两个参数,第一个是要保存的模型,第二个参数是保存的路径,读取模型的方式也非常简单" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 读取保存的模型\n", + "seq_net1 = torch.load('save_seq_net.pth')" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Sequential(\n", + " (0): Linear(in_features=2, out_features=4)\n", + " (1): Tanh()\n", + " (2): Linear(in_features=4, out_features=1)\n", + ")" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "seq_net1" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Parameter containing:\n", + " -0.5532 -1.9916\n", + " 0.0446 7.9446\n", + " 10.3188 -12.9290\n", + " 10.0688 11.7754\n", + "[torch.FloatTensor of size 4x2]\n", + "\n" + ] + } + ], + "source": [ + "print(seq_net1[0].weight)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "我们可以看到我们重新读入了模型,并且将其命名为 seq_net1,并且打印了第一层的参数\n", + "\n", + "下面我们看看第二种保存模型的方式,只保存参数而不保存模型结构" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 保存模型参数\n", + "torch.save(seq_net.state_dict(), 'save_seq_net_params.pth')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "通过上面的方式,我们保存了模型的参数,如果要重新读入模型的参数,首先我们需要重新定义一次模型,接着重新读入参数" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [], + "source": [ + "seq_net2 = nn.Sequential(\n", + " nn.Linear(2, 4),\n", + " nn.Tanh(),\n", + " nn.Linear(4, 1)\n", + ")\n", + "\n", + "seq_net2.load_state_dict(torch.load('save_seq_net_params.pth'))" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Sequential(\n", + " (0): Linear(in_features=2, out_features=4)\n", + " (1): Tanh()\n", + " (2): Linear(in_features=4, out_features=1)\n", + ")" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "seq_net2" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Parameter containing:\n", + " -0.5532 -1.9916\n", + " 0.0446 7.9446\n", + " 10.3188 -12.9290\n", + " 10.0688 11.7754\n", + "[torch.FloatTensor of size 4x2]\n", + "\n" + ] + } + ], + "source": [ + "print(seq_net2[0].weight)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "通过这种方式我们也重新读入了相同的模型,打印第一层的参数对比,发现和前面的办法是一样" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "有这两种保存和读取模型的方法,我们推荐使用**第二种**,因为第二种可移植性更强" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "下面我们再用 Module 定义这个模型,下面是使用 Module 的模板\n", + "\n", + "```\n", + "class 网络名字(nn.Module):\n", + " def __init__(self, 一些定义的参数):\n", + " super(网络名字, self).__init__()\n", + " self.layer1 = nn.Linear(num_input, num_hidden)\n", + " self.layer2 = nn.Sequential(...)\n", + " ...\n", + " \n", + " 定义需要用的网络层\n", + " \n", + " def forward(self, x): # 定义前向传播\n", + " x1 = self.layer1(x)\n", + " x2 = self.layer2(x)\n", + " x = x1 + x2\n", + " ...\n", + " return x\n", + "```\n", + "\n", + "注意的是,Module 里面也可以使用 Sequential,同时 Module 非常灵活,具体体现在 forward 中,如何复杂的操作都能直观的在 forward 里面执行\n", + "\n", + "下面我们照着模板实现一下上面的神经网络" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "class module_net(nn.Module):\n", + " def __init__(self, num_input, num_hidden, num_output):\n", + " super(module_net, self).__init__()\n", + " self.layer1 = nn.Linear(num_input, num_hidden)\n", + " \n", + " self.layer2 = nn.Tanh()\n", + " \n", + " self.layer3 = nn.Linear(num_hidden, num_output)\n", + " \n", + " def forward(self, x):\n", + " x = self.layer1(x)\n", + " x = self.layer2(x)\n", + " x = self.layer3(x)\n", + " return x" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [], + "source": [ + "mo_net = module_net(2, 4, 1)" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Linear(in_features=2, out_features=4)\n" + ] + } + ], + "source": [ + "# 访问模型中的某层可以直接通过名字\n", + "\n", + "# 第一层\n", + "l1 = mo_net.layer1\n", + "print(l1)" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Parameter containing:\n", + " 0.1492 0.4150\n", + " 0.3403 -0.4084\n", + "-0.3114 -0.0584\n", + " 0.5668 0.2063\n", + "[torch.FloatTensor of size 4x2]\n", + "\n" + ] + } + ], + "source": [ + "# 打印出第一层的权重\n", + "print(l1.weight)" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 定义优化器\n", + "optim = torch.optim.SGD(mo_net.parameters(), 1.)" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch: 1000, loss: 0.2618132531642914\n", + "epoch: 2000, loss: 0.2421271800994873\n", + "epoch: 3000, loss: 0.23346386849880219\n", + "epoch: 4000, loss: 0.22809192538261414\n", + "epoch: 5000, loss: 0.224302738904953\n", + "epoch: 6000, loss: 0.2214415818452835\n", + "epoch: 7000, loss: 0.21918588876724243\n", + "epoch: 8000, loss: 0.21736061573028564\n", + "epoch: 9000, loss: 0.21585838496685028\n", + "epoch: 10000, loss: 0.21460506319999695\n" + ] + } + ], + "source": [ + "# 我们训练 10000 次\n", + "for e in range(10000):\n", + " out = mo_net(Variable(x))\n", + " loss = criterion(out, Variable(y))\n", + " optim.zero_grad()\n", + " loss.backward()\n", + " optim.step()\n", + " if (e + 1) % 1000 == 0:\n", + " print('epoch: {}, loss: {}'.format(e+1, loss.data[0]))" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 保存模型\n", + "torch.save(mo_net.state_dict(), 'module_net.pth')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到我们得到了相同的结果,而且使用 Sequential 和 Module 来定义模型更加方便\n", + "\n", + "在这一节中我们还是使用梯度下降法来优化参数,在神经网络中,这种优化方法有一个特别的名字,反向传播算法,下一次课我们会讲一讲什么是反向传播算法" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**小练习:改变网络的隐藏层神经元数目,或者试试定义一个 5 层甚至更深的模型,增加训练次数,改变学习率,看看结果会怎么样**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "下面举个例子" + ] + }, + { + "cell_type": "code", + "execution_count": 103, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "net = nn.Sequential(\n", + " nn.Linear(2, 10),\n", + " nn.Tanh(),\n", + " nn.Linear(10, 10),\n", + " nn.Tanh(),\n", + " nn.Linear(10, 10),\n", + " nn.Tanh(),\n", + " nn.Linear(10, 1)\n", + ")\n", + "\n", + "optim = torch.optim.SGD(net.parameters(), 0.1)" + ] + }, + { + "cell_type": "code", + "execution_count": 104, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch: 1000, loss: 0.3165791928768158\n", + "epoch: 2000, loss: 0.25367119908332825\n", + "epoch: 3000, loss: 0.22129501402378082\n", + "epoch: 4000, loss: 0.20364265143871307\n", + "epoch: 5000, loss: 0.19186729192733765\n", + "epoch: 6000, loss: 0.18199527263641357\n", + "epoch: 7000, loss: 0.173702672123909\n", + "epoch: 8000, loss: 0.16727975010871887\n", + "epoch: 9000, loss: 0.16238373517990112\n", + "epoch: 10000, loss: 0.15855807065963745\n", + "epoch: 11000, loss: 0.15542374551296234\n", + "epoch: 12000, loss: 0.1527201235294342\n", + "epoch: 13000, loss: 0.15030623972415924\n", + "epoch: 14000, loss: 0.14812862873077393\n", + "epoch: 15000, loss: 0.1461697667837143\n", + "epoch: 16000, loss: 0.14440736174583435\n", + "epoch: 17000, loss: 0.14280635118484497\n", + "epoch: 18000, loss: 0.1413293182849884\n", + "epoch: 19000, loss: 0.13908402621746063\n", + "epoch: 20000, loss: 0.13768813014030457\n" + ] + } + ], + "source": [ + "# 我们训练 20000 次\n", + "for e in range(20000):\n", + " out = net(Variable(x))\n", + " loss = criterion(out, Variable(y))\n", + " optim.zero_grad()\n", + " loss.backward()\n", + " optim.step()\n", + " if (e + 1) % 1000 == 0:\n", + " print('epoch: {}, loss: {}'.format(e+1, loss.data[0]))" + ] + }, + { + "cell_type": "code", + "execution_count": 105, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 105, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\noVAoGvz/dG9A+o7Owg0AAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "def plot_net(x):\n", + " out = F.sigmoid(net(Variable(torch.from_numpy(x).float()))).data.numpy()\n", + " out = (out > 0.5) * 1\n", + " return out\n", + "\n", + "plot_decision_boundary(lambda x: plot_net(x), x.numpy(), y.numpy())\n", + "plt.title('sequential')" + ] + } + ], + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/1_NN/nn_intro.ipynb b/2_pytorch/1_NN/nn_intro.ipynb new file mode 100644 index 0000000..1e995c6 --- /dev/null +++ b/2_pytorch/1_NN/nn_intro.ipynb @@ -0,0 +1,1955 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 第四章 神经网络工具箱nn\n", + "上一章中提到,使用autograd可实现深度学习模型,但其抽象程度较低,如果用其来实现深度学习模型,则需要编写的代码量极大。在这种情况下,torch.nn应运而生,其是专门为深度学习而设计的模块。torch.nn的核心数据结构是`Module`,它是一个抽象概念,既可以表示神经网络中的某个层(layer),也可以表示一个包含很多层的神经网络。在实际使用中,最常见的做法是继承`nn.Module`,撰写自己的网络/层。下面先来看看如何用nn.Module实现自己的全连接层。全连接层,又名仿射层,输出$\\textbf{y}$和输入$\\textbf{x}$满足$\\textbf{y=Wx+b}$,$\\textbf{W}$和$\\textbf{b}$是可学习的参数。" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import torch as t\n", + "from torch import nn\n", + "from torch.autograd import Variable as V" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "class Linear(nn.Module): # 继承nn.Module\n", + " def __init__(self, in_features, out_features):\n", + " super(Linear, self).__init__() # 等价于nn.Module.__init__(self)\n", + " self.w = nn.Parameter(t.randn(in_features, out_features))\n", + " self.b = nn.Parameter(t.randn(out_features))\n", + " \n", + " def forward(self, x):\n", + " x = x.mm(self.w) # x.@(self.w)\n", + " return x + self.b.expand_as(x)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Variable containing:\n", + " 0.6614 2.4618 1.6848\n", + " 1.7110 2.8197 -1.7891\n", + "[torch.FloatTensor of size 2x3]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "layer = Linear(4,3)\n", + "input = V(t.randn(2,4))\n", + "output = layer(input)\n", + "output" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "w Parameter containing:\n", + " 0.7730 0.1062 -1.4568\n", + "-0.0182 0.3505 1.9311\n", + "-0.6398 -1.5122 0.5403\n", + " 0.1200 -0.3439 0.3741\n", + "[torch.FloatTensor of size 4x3]\n", + "\n", + "b Parameter containing:\n", + " 0.4206\n", + " 1.5090\n", + " 1.1140\n", + "[torch.FloatTensor of size 3]\n", + "\n" + ] + } + ], + "source": [ + "for name, parameter in layer.named_parameters():\n", + " print(name, parameter) # w and b " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可见,全连接层的实现非常简单,其代码量不超过10行,但需注意以下几点:\n", + "- 自定义层`Linear`必须继承`nn.Module`,并且在其构造函数中需调用`nn.Module`的构造函数,即`super(Linear, self).__init__()` 或`nn.Module.__init__(self)`,推荐使用第一种用法,尽管第二种写法更直观。\n", + "- 在构造函数`__init__`中必须自己定义可学习的参数,并封装成`Parameter`,如在本例中我们把`w`和`b`封装成`parameter`。`parameter`是一种特殊的`Variable`,但其默认需要求导(requires_grad = True),感兴趣的读者可以通过`nn.Parameter??`,查看`Parameter`类的源代码。\n", + "- `forward`函数实现前向传播过程,其输入可以是一个或多个variable,对x的任何操作也必须是variable支持的操作。\n", + "- 无需写反向传播函数,因其前向传播都是对variable进行操作,nn.Module能够利用autograd自动实现反向传播,这点比Function简单许多。\n", + "- 使用时,直观上可将layer看成数学概念中的函数,调用layer(input)即可得到input对应的结果。它等价于`layers.__call__(input)`,在`__call__`函数中,主要调用的是 `layer.forward(x)`,另外还对钩子做了一些处理。所以在实际使用中应尽量使用`layer(x)`而不是使用`layer.forward(x)`,关于钩子技术将在下文讲解。\n", + "- `Module`中的可学习参数可以通过`named_parameters()`或者`parameters()`返回迭代器,前者会给每个parameter都附上名字,使其更具有辨识度。\n", + "\n", + "可见利用Module实现的全连接层,比利用`Function`实现的更为简单,因其不再需要写反向传播函数。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Module能够自动检测到自己的`Parameter`,并将其作为学习参数。除了`parameter`之外,Module还包含子`Module`,主Module能够递归查找子`Module`中的`parameter`。下面再来看看稍微复杂一点的网络,多层感知机。\n", + "\n", + "多层感知机的网络结构如图4-1所示,它由两个全连接层组成,采用$sigmoid$函数作为激活函数,图中没有画出。\n", + "![图4-1;多层感知机](imgs/multi_perceptron.png)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "class Perceptron(nn.Module):\n", + " def __init__(self, in_features, hidden_features, out_features):\n", + " nn.Module.__init__(self)\n", + " self.layer1 = Linear(in_features, hidden_features) # 此处的Linear是前面自定义的全连接层\n", + " self.layer2 = Linear(hidden_features, out_features)\n", + " def forward(self,x):\n", + " x = self.layer1(x)\n", + " x = t.sigmoid(x)\n", + " return self.layer2(x)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "layer1.w torch.Size([3, 4])\n", + "layer1.b torch.Size([4])\n", + "layer2.w torch.Size([4, 1])\n", + "layer2.b torch.Size([1])\n" + ] + } + ], + "source": [ + "perceptron = Perceptron(3,4,1)\n", + "for name, param in perceptron.named_parameters():\n", + " print(name, param.size())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可见,即使是稍复杂的多层感知机,其实现依旧很简单。这里新增两个知识点:\n", + "\n", + "- 构造函数`__init__`中,可利用前面自定义的Linear层(module),作为当前module对象的一个子module,它的可学习参数,也会成为当前module的可学习参数。\n", + "- 在前向传播函数中,我们有意识地将输出变量都命名成`x`,是为了能让Python回收一些中间层的输出,从而节省内存。但并不是所有都会被回收,有些variable虽然名字被覆盖,但其在反向传播仍需要用到,此时Python的内存回收模块将通过检查引用计数,不会回收这一部分内存。\n", + "\n", + "module中parameter的命名规范:\n", + "- 对于类似`self.param_name = nn.Parameter(t.randn(3, 4))`,命名为`param_name`\n", + "- 对于子Module中的parameter,会其名字之前加上当前Module的名字。如对于`self.sub_module = SubModel()`,SubModel中有个parameter的名字叫做param_name,那么二者拼接而成的parameter name 就是`sub_module.param_name`。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "为方便用户使用,PyTorch实现了神经网络中绝大多数的layer,这些layer都继承于nn.Module,封装了可学习参数`parameter`,并实现了forward函数,且很多都专门针对GPU运算进行了CuDNN优化,其速度和性能都十分优异。本书不准备对nn.Module中的所有层进行详细介绍,具体内容读者可参照官方文档[^1]或在IPython/Jupyter中使用nn.layer?来查看。阅读文档时应主要关注以下几点:\n", + "\n", + "- 构造函数的参数,如nn.Linear(in_features, out_features, bias),需关注这三个参数的作用。\n", + "- 属性,可学习参数,子module。如nn.Linear中有`weight`和`bias`两个可学习参数,不包含子module。\n", + "- 输入输出的形状,如nn.linear的输入形状是(N, input_features),输出为(N,output_features),N是batch_size。\n", + "\n", + "这些自定义layer对输入形状都有假设:输入的不是单个数据,而是一个batch。若想输入一个数据,则必须调用`unsqueeze(0)`函数将数据伪装成batch_size=1的batch\n", + "\n", + "[^1]: http://pytorch.org/docs/nn.html" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "下面将从应用层面出发,对一些常用的layer做简单介绍,更详细的用法请查看文档,这里只作概览参考。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.1 常用神经网络层\n", + "#### 4.1.1 图像相关层\n", + "\n", + "图像相关层主要包括卷积层(Conv)、池化层(Pool)等,这些层在实际使用中可分为一维(1D)、二维(2D)、三维(3D),池化方式又分为平均池化(AvgPool)、最大值池化(MaxPool)、自适应池化(AdaptiveAvgPool)等。而卷积层除了常用的前向卷积之外,还有逆卷积(TransposeConv)。下面举例说明一些基础的使用。" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\nX6lU7Q3We5CWAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from PIL import Image\n", + "from torchvision.transforms import ToTensor, ToPILImage\n", + "to_tensor = ToTensor() # img -> tensor\n", + "to_pil = ToPILImage()\n", + "lena = Image.open('imgs/lena.png')\n", + "lena" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 输入是一个batch,batch_size=1\n", + "input = to_tensor(lena).unsqueeze(0) \n", + "\n", + "# 锐化卷积核\n", + "kernel = t.ones(3, 3)/-9.\n", + "kernel[1][1] = 1\n", + "conv = nn.Conv2d(1, 1, (3, 3), 1, bias=False)\n", + "conv.weight.data = kernel.view(1, 1, 3, 3)\n", + "\n", + "out = conv(V(input))\n", + "to_pil(out.data.squeeze(0))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "除了上述的使用,图像的卷积操作还有各种变体,具体可以参照此处动图[^2]介绍。\n", + "[^2]: https://github.com/vdumoulin/conv_arithmetic/blob/master/README.md" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "池化层可以看作是一种特殊的卷积层,用来下采样。但池化层没有可学习参数,其weight是固定的。" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pool = nn.AvgPool2d(2,2)\n", + "list(pool.parameters())" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAAAAABVicqIAAAZt0lEQVR4nEV6Sa9lWXbW96299znn\nNq9/8eK96DIiMiOzsquiqih32FbJNjAwMp5YDJAQA5gwYMIY8Q8QI4QsMfCkQJjGSBjbYKrswmVX\n48rKqsiK7CIjMzKjyXgRr73NafZeazG4YXMHV1dXV3efs9c63/qazd+hmrnUlfRPPmyb6KSHOkYJ\nhCGAhIkL3IsQEPeQaTQ6SumGCzvj0FFE4UIyvT6xb789rkg4hRpd8952LDQ3GAgdvBQxguJ0E4Bu\nQndXKpywoIRR3d0AOBzeZQ3B4AQc8O68CdfuqIoQhNEZ5eP/LTCQjMFVzeEW6Eo3pxlIVwNAd4cT\nBvD58iwghXG+zB5iTFFIV9UHHa69nIu7uxkIxsd/+UTcCUgFLYV0Ak44ACfhpACkgySFBBhIgrBE\nCCXYIpeYggQJIBznh1p9eVrUGSgMVfrwRz3EhUIR10IhXGy1isEdbu5mZg5XLcXVzZ5/62YwBuNQ\n3Al3GAE6Hsx994tubu4IKXx4xxBFQISKXiBW1I0AHCDgZgDc3DzQclZTs1KccCfdQRdhKPZ8a0gR\non2cw+u7xYXu8Hd+ko0iJKUKdAfIQDzfLJiv3kAXV4O7GszcHauqA4CCsFLMnQ6nUISfner6L4Sc\nPQR5/x0PiRARiWJFCTMtjmIA4OrmMHNzBWHmAlgpZv5X9wkDGGmmpZibwwnAkD8ruHazL8rw7k8s\n1cQgAGPuB2B1eU7CHSThBqGbwBxOCVKPa+SianCKgAZzumkp6mYGdS1FcXhk1VeanP3Ddy1Fc/VI\nD9qWMHGKCAxiXD2CIEgQEHNvQorjtRh9dvy0j4xiBqdT3RwFoBsBteKGcn9jevFvvJU+umMhktkl\nepB2kddIAOZugAACQFzECHf1OGlymFZMqpsXvnD0wcID4W5mcJA0JWEGV1PQnz66WX/l8Tt3LET0\nJm7CShfHbRSSsOKqVuhm7mqmbjpaH6nYktL3Q6uBiFd++WbOpZhbMTUA4l7MSynmDnfaRwvbvHG7\nMImbEEEqdiePlSRI6qBqMFMzdbhbiuXs3HVou0E9u9TBLcc3fyEscimrX0KEbsVZ1AARhtDd0/yd\nXhKZDYUiKc8fn8FBqJqRgTA3e35VcrToYVB61/aMLE4Cvv1r1+bzvpg5nRKCl76jAAQgkOrp4Te+\nFYUoknJqTqO2x08DSHeHggI6VkAlxrXT0EWJFqPTy9COEqMIneFn198/HkNpihDE2zZILMEBoVDC\nf/y2S+2DN7kaH31JutkjE7oLV93kTkJWkMXSZqHCtMDc1VOguufM8cbX/+nmbMjFCCejHz+ZQ8xJ\nAowP/0IZvViTsT5c+jVZPjkVAQCYklSBrOCREHlmVQwciguAwd1d2Lb11lrQNvxGbrWompsztPee\ndgICAKT907lX0bUaOEm7X09y9FAC4e5cbakJnAYQkHkWUtUDA2NMpiUvziYHI1VV7a7++rwr5k7C\nQ3z62bnTAYD8/nlsAkrtNpqs/czmXB71CWbucDoYAszoJN0l5ySiRauYWNWelXaEa+MM6xXU/LWv\nLOeDEoCQ5elxK3CA8cHtIYp3Il7JxmtbeV2OAoTmK4A0dcIFDoCxje6Oqo6Mbjm7leP9XZXS5oCS\nfci/9Q+sVQdIQTi7f5IJY+z+LLMWQ9WH0Nzc9kktCGAQ+F/Du0AdTht3fQkwYxUnElBKWcqNDe3m\nAxJDCKq5fPXvzAZzdzcJ5eGDucMpbz2NyV3rPkJe3S+xgUTA1QG4rHrLhUJovroQFEqMSNq753m5\ncZ2tZaMIDKpa3L/+8lIdBBCku/upX6iqB7dDim7Bg7QvvqjV2CzC3N2wGigr8Aows9FahkQTiZUK\nbV62Xlpf1oOOaijEjBAUn/76vzWYQAh4++Wf1+B/lFOCGDUtrn3JwzoU0Shubi50z6pOhxmsvLB0\nklECS65k1t46sCVmo9oLkZkiPUez5a2rnQvdNeeL/+xa2Ujpq+8DyLSo06+O8oYoXEIIMThEBHC6\niASBBLkyz0DxkPo26qx/Y7/vB29ywJB7iZ7V3IHBfrOYCLVdfulfbaXpMOteA0xtgPibl/KEBY4Y\nGGzFSUIIIQkoCOK+cVe8b2LoMJbWX2nmIg206dmHZjV3hiqItFe//qmKLvt/9IvdXmpzTfEgnYcw\n339Nm8rcTWIkSMAhIhSQpAJo4jms9t7q2GfexJlMKg3ehflIvE2s7FlT04uWW3JY8sVfqO2CtRYT\nngZjzMHwlVFuHA5oJJwxEMJAQuA0V+S9ZaxtYGPWYrRjg05cBmvkdGreSq77oZEhGGTe7nxev7je\nVql3CUJ8EoMVIN26lms6aO7RxUhIEAbCYeJG47CPJngIEi3KLpc6jn46TUuMVHqJaR7qXPmQgyvT\njY3B15FdJAO85y4ews4blAR3AJRVC7sI3OkON7i7bVq1NSIy6Ttl6JswW45tHpKxYOj7yL4u/aIt\ny/PMYJNmKArmZ6onH6k5U76+YzWdpDBEA9zwHCJDoBgd7rGMB+37SZF9xfl2MJS5r4k6tIvdEOrY\n21APZ9wWroUBdAl8tMy7d5ZJMmz/utVhxYDEBWYGEZiDWJE0QEuwECduJewN+WQqfWZYxq6YLdT6\nbFh2XTssumYD44m2mUIJZ3P73L5lUSHTL048Pcd2IAJwrgaKCAADYdARYzVMtd4puthOfW7CMM1h\n2YdUMDIbMHeWZttHsYNIiEDEY7RVfj+pRN+7bBVdIeZ0RAQLFR0EaWpOC07VRkbZh/PNnu2W52UK\n3drJPI/RPHh51Fr081TZfkgj7z2JRELi4/nH7a+8PZ+6hHAzWsKqwHCPhAiFpK9IIyMImFW1+2i6\nqBfbyF0Vl9PTpcw+ib8aP+05OZ63p7+1m9eawoAQIE4++cH78rP7/7pyrcrBQRmJwelwh0cGZRCh\nr+iiwwkynI/XHh55jic7krtKuumJ8lTH7U/LXYyPj5b1L1bVtmW6B7rTP/7Jw3byxmv/+agi2L8Y\nWIEQd9AdMdCxamenkwBocD68ao7JcL7R5LZiHs365mg4PGIt69XD2KW/d2F7VFYFZAjPvvlA1196\n+cq/eye51rhwYGti9NUyQIwWXOFGBwS++hCqD3/OpmepH0+GRc1uzeejD878tH01/vhKvxxP/v7a\njaqrYSJCefb9ki7v7k42f+entRQP/kqDaiWnnE5oJFalAAA+ZxMu6XAZd8oT27TjqffVUSg/HvJZ\nmeCnlzbvLa//avMF9KF3VuDwR+9eDa9MQ9r43e/VwS3m8bUyJVasAnSnQOCqIEnC3GHmCCn95Thv\nnm2U0zXkCt2dDy2fH7TbH9ni2YWtV5o3ksEHNfHhm2+txXRqo/jb366iwMkrwRvQSQGFhAtAz8VW\n9JPqBCkMox893YqjPNSBkhfHqbYn07K2QN2Wza/pFzBkU42hWP3iVjqrS/Po39xJDX1gGF9aVgG2\nQi2u/s8dRd2dpJg7aABjCnfXGilLWXgoTx4/Y197XR/1i2U6Tde75bzVIrlpmnjl4OH5o/Tw956w\nkugabHvDR6u5T4qDQDTQzZ9rLAmBhIOCVJrj4zSe7/jJe6VdxGo9VzvLvLy+d+HF7TQsK5lN1mu6\nVLu4f0VtISKIA51XpYGt1K07CK56YIUqTllpGglgqI54Nw9lenR4cshzOVPWn+6Nlld/7o0X1Nla\nnFejSKma6e54ftqzDQHimb61z/V+MSjcV8V3xOdiF6S4CBnopru5VCcnfZObMHt8JKVJ/XG8VC8P\nL/7yzv6isHg8aeokZJDqwkY8fnRx1IYQe1T5YkrNoB2CiAhgDkSaqa/AHohR3MnQeUS5vTHb5Ozz\nuS+3BZK6Nuver0z2xv6sPu+HuhIBhQjrm+OzY6laETdBvOmTyGzmvTMKHHBRd/pKgtLMAQqliJZ4\n99laHD4405RO9vqSJs/KO39rcqFjM1qcaaoDFKrqmOxs+LknSvAcyuUpa0McjaoE7xftYCvShRXZ\nptMNgMGJOLl4Wnl3No8NuT0bwrDWnH0p3BgVVuGHRzmmaEPRUooitT4fNkYSMoVXvKK7e4ixChTP\nXTcIKEJ3CCBOPrc9KHuPv/Pu1c/e3z6/1PGsjzb1buP6a+MU0tGH8vhP/uTjbH3RIfcP/u+dTJ1t\nmlgBmt0ycTXN2Uxi3VT0vIgQFDOHUSCkUJ3McmBbX2refhz7gwcb7eLq/TIft796c7r2+e6d++P5\nfp795fx6rdFP3/l4GO31pVsrSU2420h0d3cXuAvpVjxCXYsDwkJRNQNM93clxpe+e7Z76eHupxfq\n46MXP5odf/XC1pqsf+etrhvGy1dv2dl0Mw0//uGztokqQ53YO7p9GeGvjB+H0dSDSclD3/cuAMyM\nrqp99Utus/vfPLyK97Yjzprp6fyirL10TRr84M8fd+36P3zj3sz7IpPv/Pfjr+0vFy6tjFjo9UWZ\nrNwrN4eV0ucua5Tn0oESwBiTQIZP3n6h+7OPFtcfjXzcIT/bap9mvLGVN+Wdp5vdK4drr974b7mt\nMT7/5JLvlwcF9VBPjyHlwlpY2XzidDOzknNYjwLj6mGkhCqm6B/Wr+1t/8F7wxufhcmmbI/bpSYf\nbly7tDF6+7MLVz6uD26V+Y1ZKRg/2j4Y7d0elVK1o1BUeJE1zCzEImZqxYpc3JxGYS6ucEpY0fl6\n82+W9/7Hh5cO8mwzdKN0cFeyZHn9cpr88N5eHV/uZw8fHGwuo+ey+dLR/NvnFx+59BueEdIVrc0d\n5q4oWhTbu5OIqHnQbjAAJM1M9JfO3rLDapHSeFZdPmtKVMDeXN/bvPPWpTSOLFuxlqFin/Noq9Cn\nZ4dZS6UObcaB7kYoYGZFru5FN8S+5FzM3Vdz3sLoWG6+55f2lt2z6Xa7OU6jZZHJrUtrh7//QnBU\nVaXitqwzhzytm36MgRFt0sKyLw1tZd+alcIbF2N2SBxU1QCsTFYbb6TZu/l8I47C+6n7+ODz+38X\nd5nfbK7w309qumkI0X1gMil91CBMwYJ0ZZyTHkizwlt392JXL4iTIcZetbj+tVfZmS42h5g63svR\n20fBhhvvaX312vQ/Pd0W0TIMManmYq6pD/Qg6NRkOWx5hc2qHoDVvmjZ2A9GSZFSDJodZmqOsp4n\nm0PTcNmnUZ1KHpW1gK+Ul3nzs2+NVAHzoR9US26z6mI1r+dDRFc2abtNWk0mN9MSrtTurBpxEYFp\nWTE903AQn85jN9u/FLaK9WF/49YXPjrxm5ftt3Ws5qamXTsUy6VY7svI3MupV8j9BP1+qNQcQsLN\ndjeBMKqEjKLQXIwUF+IsxYHzfmqdLwvH0r4of3i//xr3/svjagoz10KziL5vp46+1AO0PWIwnU/H\nw34IK7YAQsNBUtbRXCgxIIRIOMiwvbnQszBZhlMs0uVY9/bO4s78hd945fjtIDUFBjM3Vc8hS2kX\nCyvl81agPK+m9Vak+8pNdlufOFMwBynFJEw3K8DBcH5oGaJnBz7YxY1uI9298nloXhvv/oejxLpx\nw8pYRxjz84fHz54eQ/P9EIKHZ5hcraK5O9yKuW9GxIqMgYju4Np6glLgEFRnk/eufpImJV18e/Pm\nN+flZ1548uQHT3YW3nSBZhqc4jJhNfKXmlPPj+eMI4tHGO8h+mrw0SxMIUkcdGdUh3otDoEQLhvJ\nbj57utPw2cEtf7LV/e3LH8jZW2Ote4+BJIskA9jUV2VjyFruiddgPOH0gothZbO7pwohAjQhpZRs\nNCcdhNr2mV98OpvY2cmhXpl+uvvqHu6v/25US6W3Qrq5dkOfi4zWpxGDHZ4giJt1w2QUVvGNO1BS\nkooQJ4HYe4IbVpGBXzgZD+0MMmUbPnj5k6u/sjf6X1e/W3aO2HgfBgvuMLQxINq9zT4fV+8jMCCF\nTseBgDudbu5BquCEiBhiF2hBJES66w4wzQ+YlmuT+fn2R9M3dl76r/X8ETon2MfOUChV+zFGacij\n9aPR2uFhyBPz3CyXG2klpUAjLKVqlWuBiO6G+rkkmsqnrx01dnxhujbH7lE8aGbv9y98o+4KWeoe\nbe+BUo2vt5amu83avVK++dwVrTmsizgQFE53r+tgJEl3jwYHi7sANe5c70/X8tHENssz3cV+Xr/7\nxW+UlDTCUyFaqyhDrG3w7lQeI75/FCEamBCtdkDcxRVummpxhJXvLaqZKQ8GsJ/p9snTyaxqZ7vl\nVldtPpylV/7wSEiKqPS2OGv7Yrkg1qGcnDEevueeaktCRpUVewugmxVEShDkghCjq21Mq+JGMMoi\nh3ZedViOm6tPriy4+cfvBY0O62NcSjmlJINJasIk5dLd7hliseRCKVUWN3cC7mpB4FATMXhUQXye\nEsJ4NgwTicPoyafcGOzgo+99ly7RgQxK9uX5gaYoMU5iQpr1jxgTiLoUrW1VCwfdzDGVohBR9ZUV\n1fVR6CRR/HG3E8UWG90DuTisjX80CBgYNGgQZ5h/0mFtSg6JinyoqYYMIZTARNeOTndTc5UpDUIt\nunz0bjTqIi/pRmh/dX+4fxJtUHnx0+Vivb5664+fhroyybTciOfdzk9N1WKLUnIfCDoE0cJQ94cY\nVSGKA6WMpmpQL7MP/uynOY5sWc7rAhjzC/hztjtDHreznc8/fFMe8s5v/v7DldUGL8G69ZsXmhiZ\nxBZhfOmNr/zFu52WBgayXvbaUUJT0a3sVYPSyuz27x1Od+OLz8RmYaFuYfvsT6/9qC95uPn4J1++\nsHfw9nhjsnhz5oWRFrwkJ8ZBjVEHQzUNzauvPf7Wd/vkRel13kDfd+UkBpEexYRY3P6D053tKK+9\n+cJOPmvdGbsnr2CG8wuzyd7RvZTfG9fVXvfuGzY44JG0EQfNRnMUDXWSnO3yP/4X13KXc9YQJuPJ\nxtak6s+O/eTYIDZ75/e6g61KRC6/ernJIFGGW5MPWJqtn+kX23gwPJg16xvv7Z9d7EMIZEJskjto\nEsUQk5eSi9oX/uXrx+1gfZIU63q0vr65NlmvdkISe+cbabder1zacOHqhoNRiKvDrF6z248+Xdgn\nG58EHHeyV23vDwSDSKimG22UXCVzpkjt+5yL2cY/v7woLoEEQ6iayfoat2+E4Cc/ibvV+hoauX02\nPthxUoLIk/vLbCpPLobDnXf3hiXbxSXIhmT3bOjL2lYuOg2gC91yybmYmq3/k9jO4io9EYYQm2pn\nR6D3n1ySeqOwkbuP02hzcILkbAJMFirrOc7Gi63dxdEQ5YdXNsoqEdOmztbQnUKaWlY3czO7+hv9\nslFx54pG+ORGQ+8+CKGZdotaZDjxSgZzgvHMY8zFZNo2C+SFTM9SOMVOTrES7zk2VpQiMMOKqKkX\nB81+bbqYiJCAmaluv3y9oj0+HFU1lpEmed7DzQgKtp5K3Wrejb1NZs/aeT337mDz8XZyDSqy1kyj\nhEjY6uXFDOpwXf/FYbpip2ZZ5fWDStB+kL2ue68B8aVKTSXgXM5GS+fowmOItnX7VDYD49cflLhk\ngK5dGpc6mAhBNxhUV6cC3PTnMQGeRyQ63kmRevgkMea+EluKF/WmUtgwFK63CKPRR1ZTg9R867o8\nu/tELl/ZmjplfSQ5peAUFjM1MyvqbmauN/Yah6k7xTkJg7P7RELCoFGHHNl1UgU3JobQimEQPQl9\n0+a1tjmDjn94ht0tn7cbGzG0kxEDVla1azDVnMzEvf5iQ0AKAMZQEO34qdGHeQyd1ZL6VsPIzOHe\nNMhpV72lIAi26iiPN65vyfGDjwefjmGn0yoF+f/muxVdlUd/Pg4ZTCII1fLusejpcsg400lXAoWl\nLXFi5gb6JKTR8ZAYG60mZyW++8A+uHXNtM9DvTbivNuIpJDigLuWbJrNQPjr9SefHrUmkupp+Pgk\n5aO81DxMy0CcRw1DaoKaC2QuQealif30LGtMa1e/9/7W+r33XW2YbK6LP2w2CIJ0WRkC9JxKcAc3\nl59xNJ42TTNtTrHN88PT2fR0HYM058eRuQ+jaTEHuajJISVVbXKVy4CffX/r5MfI1DDamsrZJ19e\n+SYAXElQNRR1DQLuNjIsHyNMb1za7zbKxx8/XluMxi3q0vayfREyHtFhDPMyWBWHQvdaHffvb7+G\nqh3ENK5vQG/vXgiEm4is4lq3XLwUNXV/Ja5vraXlw9vf276yWZ/d+RTFtvrBYp5bvInG0ubCKWIh\n5BS6yioVM4nxXvXK1INaqbY2Jrjtr1R4Hh2YuCghtCGYqSgOxmiE9JNh09e6H3zf6nJxOJdJyqkW\n3Zo6xoQLWZaiQwjW18MFGdfV+vFn3QMPLtPNtdn3+9enz8WaQ1Zqqrjr0Gd1eLrWeYjTzYOd5Zb9\nn//Z17YTTrWedpareLo960OgEc68LA0hEevtxixXEm3rrpbA0MyP/GB/ugrYAIqYKE3MSvBStAT3\nl36aYgrc5nD0p+/mTVyYHM0m69QZLJ5+jn40CgoRyUdBK0kopR9d/+kLH758PBw8jaD0zeXtSYo0\nBTU4QVAIh7karAQVv+a91FrX5Xb/sKm78ejkzHYm2g+5j+Gsks3dJyTQPwvihI6fpb7diqPp07WH\nEzWm7YOtKiXh6riB0whBMBe4uWaREIKtb8zAOoHzfjOcjMZHC9najOenfTEp7XJ77WrtbmaTPohI\nZfUkVecv3dteVJ/bFcXW/kZKFDcJukq8HCRDogQHTM2sQG7kkoMEidOdkCZ9CaPLo+XJaQl7Yrq0\nAiGI/txNQtXkF2e1HY5Hm/1MH9ubO9tVCBJAcSdWh8ugcEEg6aZqpup2qxmGITTV5ELs8snQVDsb\n/uzzBXYP/h8CwMEc4WwTQAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "out = pool(V(input))\n", + "to_pil(out.data.squeeze(0))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "除了卷积层和池化层,深度学习中还将常用到以下几个层:\n", + "- Linear:全连接层。\n", + "- BatchNorm:批规范化层,分为1D、2D和3D。除了标准的BatchNorm之外,还有在风格迁移中常用到的InstanceNorm层。\n", + "- Dropout:dropout层,用来防止过拟合,同样分为1D、2D和3D。\n", + "下面通过例子来说明它们的使用。" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Variable containing:\n", + " 0.0529 0.4152 0.6688 0.4281\n", + " 0.4504 -0.3291 0.4206 1.4391\n", + "[torch.FloatTensor of size 2x4]" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 输入 batch_size=2,维度3\n", + "input = V(t.randn(2, 3))\n", + "linear = nn.Linear(3, 4)\n", + "h = linear(input)\n", + "h" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(Variable containing:\n", + " 1.00000e-07 *\n", + " 0.0000\n", + " 0.0000\n", + " 0.0000\n", + " 2.3842\n", + " [torch.FloatTensor of size 4], Variable containing:\n", + " 15.9960\n", + " 15.9988\n", + " 15.9896\n", + " 15.9994\n", + " [torch.FloatTensor of size 4])" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 4 channel,初始化标准差为4,均值为0\n", + "bn = nn.BatchNorm1d(4)\n", + "bn.weight.data = t.ones(4) * 4\n", + "bn.bias.data = t.zeros(4)\n", + "\n", + "bn_out = bn(h)\n", + "# 注意输出的均值和方差\n", + "# 方差是标准差的平方,计算无偏方差分母会减1\n", + "# 使用unbiased=False 分母不减1\n", + "bn_out.mean(0), bn_out.var(0, unbiased=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Variable containing:\n", + "-7.9990 0.0000 7.9974 -7.9998\n", + " 0.0000 -0.0000 -0.0000 7.9998\n", + "[torch.FloatTensor of size 2x4]" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 每个元素以0.5的概率舍弃\n", + "dropout = nn.Dropout(0.5)\n", + "o = dropout(bn_out)\n", + "o # 有一半左右的数变为0" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "以上很多例子中都对module的属性直接操作,其大多数是可学习参数,一般会随着学习的进行而不断改变。实际使用中除非需要使用特殊的初始化,应尽量不要直接修改这些参数。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 4.1.2 激活函数\n", + "PyTorch实现了常见的激活函数,其具体的接口信息可参见官方文档[^3],这些激活函数可作为独立的layer使用。这里将介绍最常用的激活函数ReLU,其数学表达式为:\n", + "$$ReLU(x)=max(0,x)$$\n", + "[^3]: http://pytorch.org/docs/nn.html#non-linear-activations" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Variable containing:\n", + "-0.6869 0.7347 -0.2196\n", + " 0.9445 -0.9042 -1.2652\n", + "[torch.FloatTensor of size 2x3]\n", + "\n", + "Variable containing:\n", + " 0.0000 0.7347 0.0000\n", + " 0.9445 0.0000 0.0000\n", + "[torch.FloatTensor of size 2x3]\n", + "\n" + ] + } + ], + "source": [ + "relu = nn.ReLU(inplace=True)\n", + "input = V(t.randn(2, 3))\n", + "print(input)\n", + "output = relu(input)\n", + "print(output) # 小于0的都被截断为0\n", + "# 等价于input.clamp(min=0)" + ] + }, + { + "cell_type": "raw", + "metadata": {}, + "source": [ + "ReLU函数有个inplace参数,如果设为True,它会把输出直接覆盖到输入中,这样可以节省内存/显存。之所以可以覆盖是因为在计算ReLU的反向传播时,只需根据输出就能够推算出反向传播的梯度。但是只有少数的autograd操作支持inplace操作(如variable.sigmoid_()),除非你明确地知道自己在做什么,否则一般不要使用inplace操作。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "在以上的例子中,基本上都是将每一层的输出直接作为下一层的输入,这种网络称为前馈传播网络(feedforward neural network)。对于此类网络如果每次都写复杂的forward函数会有些麻烦,在此就有两种简化方式,ModuleList和Sequential。其中Sequential是一个特殊的module,它包含几个子Module,前向传播时会将输入一层接一层的传递下去。ModuleList也是一个特殊的module,可以包含几个子module,可以像用list一样使用它,但不能直接把输入传给ModuleList。下面举例说明。" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "net1: Sequential(\n", + " (conv): Conv2d (3, 3, kernel_size=(3, 3), stride=(1, 1))\n", + " (batchnorm): BatchNorm2d(3, eps=1e-05, momentum=0.1, affine=True)\n", + " (activation_layer): ReLU()\n", + ")\n", + "net2: Sequential(\n", + " (0): Conv2d (3, 3, kernel_size=(3, 3), stride=(1, 1))\n", + " (1): BatchNorm2d(3, eps=1e-05, momentum=0.1, affine=True)\n", + " (2): ReLU()\n", + ")\n", + "net3: Sequential(\n", + " (conv1): Conv2d (3, 3, kernel_size=(3, 3), stride=(1, 1))\n", + " (bn1): BatchNorm2d(3, eps=1e-05, momentum=0.1, affine=True)\n", + " (relu1): ReLU()\n", + ")\n" + ] + } + ], + "source": [ + "# Sequential的三种写法\n", + "net1 = nn.Sequential()\n", + "net1.add_module('conv', nn.Conv2d(3, 3, 3))\n", + "net1.add_module('batchnorm', nn.BatchNorm2d(3))\n", + "net1.add_module('activation_layer', nn.ReLU())\n", + "\n", + "net2 = nn.Sequential(\n", + " nn.Conv2d(3, 3, 3),\n", + " nn.BatchNorm2d(3),\n", + " nn.ReLU()\n", + " )\n", + "\n", + "from collections import OrderedDict\n", + "net3= nn.Sequential(OrderedDict([\n", + " ('conv1', nn.Conv2d(3, 3, 3)),\n", + " ('bn1', nn.BatchNorm2d(3)),\n", + " ('relu1', nn.ReLU())\n", + " ]))\n", + "print('net1:', net1)\n", + "print('net2:', net2)\n", + "print('net3:', net3)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(Conv2d (3, 3, kernel_size=(3, 3), stride=(1, 1)),\n", + " Conv2d (3, 3, kernel_size=(3, 3), stride=(1, 1)),\n", + " Conv2d (3, 3, kernel_size=(3, 3), stride=(1, 1)))" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 可根据名字或序号取出子module\n", + "net1.conv, net2[0], net3.conv1" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "input = V(t.rand(1, 3, 4, 4))\n", + "output = net1(input)\n", + "output = net2(input)\n", + "output = net3(input)\n", + "output = net3.relu1(net1.batchnorm(net1.conv(input)))" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "modellist = nn.ModuleList([nn.Linear(3,4), nn.ReLU(), nn.Linear(4,2)])\n", + "input = V(t.randn(1, 3))\n", + "for model in modellist:\n", + " input = model(input)\n", + "# 下面会报错,因为modellist没有实现forward方法\n", + "# output = modelist(input)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "看到这里,读者可能会问,为何不直接使用Python中自带的list,而非要多此一举呢?这是因为`ModuleList`是`Module`的子类,当在`Module`中使用它的时候,就能自动识别为子module。\n", + "\n", + "下面举例说明。" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "MyModule(\n", + " (module_list): ModuleList(\n", + " (0): Conv2d (3, 3, kernel_size=(3, 3), stride=(1, 1))\n", + " (1): ReLU()\n", + " )\n", + ")" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "class MyModule(nn.Module):\n", + " def __init__(self):\n", + " super(MyModule, self).__init__()\n", + " self.list = [nn.Linear(3, 4), nn.ReLU()]\n", + " self.module_list = nn.ModuleList([nn.Conv2d(3, 3, 3), nn.ReLU()])\n", + " def forward(self):\n", + " pass\n", + "model = MyModule()\n", + "model" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "module_list.0.weight torch.Size([3, 3, 3, 3])\n", + "module_list.0.bias torch.Size([3])\n" + ] + } + ], + "source": [ + "for name, param in model.named_parameters():\n", + " print(name, param.size())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可见,list中的子module并不能被主module所识别,而ModuleList中的子module能够被主module所识别。这意味着如果用list保存子module,将无法调整其参数,因其未加入到主module的参数中。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "除ModuleList之外还有ParameterList,其是一个可以包含多个parameter的类list对象。在实际应用中,使用方式与ModuleList类似。如果在构造函数`__init__`中用到list、tuple、dict等对象时,一定要思考是否应该用ModuleList或ParameterList代替。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 4.1.3 循环神经网络层(RNN)\n", + "近些年随着深度学习和自然语言处理的结合加深,RNN的使用也越来越多,关于RNN的基础知识,推荐阅读colah的文章[^4]入门。PyTorch中实现了如今最常用的三种RNN:RNN(vanilla RNN)、LSTM和GRU。此外还有对应的三种RNNCell。\n", + "\n", + "RNN和RNNCell层的区别在于前者一次能够处理整个序列,而后者一次只处理序列中一个时间点的数据,前者封装更完备更易于使用,后者更具灵活性。实际上RNN层的一种后端实现方式就是调用RNNCell来实现的。\n", + "[^4]: http://colah.github.io/posts/2015-08-Understanding-LSTMs/" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Variable containing:\n", + "(0 ,.,.) = \n", + " 0.0545 -0.0061 0.5615\n", + " -0.1251 0.4490 0.2640\n", + " 0.1405 -0.1624 0.0303\n", + "\n", + "(1 ,.,.) = \n", + " 0.0168 0.1562 0.5002\n", + " 0.0824 0.1454 0.4007\n", + " 0.0180 -0.0267 0.0094\n", + "[torch.FloatTensor of size 2x3x3]" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "t.manual_seed(1000)\n", + "# 输入:batch_size=3,序列长度都为2,序列中每个元素占4维\n", + "input = V(t.randn(2, 3, 4))\n", + "# lstm输入向量4维,隐藏元3,1层\n", + "lstm = nn.LSTM(4, 3, 1)\n", + "# 初始状态:1层,batch_size=3,3个隐藏元\n", + "h0 = V(t.randn(1, 3, 3))\n", + "c0 = V(t.randn(1, 3, 3))\n", + "out, hn = lstm(input, (h0, c0))\n", + "out" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Variable containing:\n", + "(0 ,.,.) = \n", + " 0.0545 -0.0061 0.5615\n", + " -0.1251 0.4490 0.2640\n", + " 0.1405 -0.1624 0.0303\n", + "\n", + "(1 ,.,.) = \n", + " 0.0168 0.1562 0.5002\n", + " 0.0824 0.1454 0.4007\n", + " 0.0180 -0.0267 0.0094\n", + "[torch.FloatTensor of size 2x3x3]" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "t.manual_seed(1000)\n", + "input = V(t.randn(2, 3, 4))\n", + "# 一个LSTMCell对应的层数只能是一层\n", + "lstm = nn.LSTMCell(4, 3)\n", + "hx = V(t.randn(3, 3))\n", + "cx = V(t.randn(3, 3))\n", + "out = []\n", + "for i_ in input:\n", + " hx, cx=lstm(i_, (hx, cx))\n", + " out.append(hx)\n", + "t.stack(out)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "词向量在自然语言中应用十分普及,PyTorch同样提供了Embedding层。" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "# 有4个词,每个词用5维的向量表示\n", + "embedding = nn.Embedding(4, 5)\n", + "# 可以用预训练好的词向量初始化embedding\n", + "embedding.weight.data = t.arange(0,20).view(4,5)" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Variable containing:\n", + " 15 16 17 18 19\n", + " 10 11 12 13 14\n", + " 5 6 7 8 9\n", + "[torch.FloatTensor of size 3x5]" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "input = V(t.arange(3, 0, -1)).long()\n", + "output = embedding(input)\n", + "output" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 4.1.4 损失函数\n", + "在深度学习中要用到各种各样的损失函数(loss function),这些损失函数可看作是一种特殊的layer,PyTorch也将这些损失函数实现为`nn.Module`的子类。然而在实际使用中通常将这些loss function专门提取出来,和主模型互相独立。详细的loss使用请参照文档[^5],这里以分类中最常用的交叉熵损失CrossEntropyloss为例说明。\n", + "[^5]: http://pytorch.org/docs/nn.html#loss-functions" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Variable containing:\n", + " 1.5544\n", + "[torch.FloatTensor of size 1]" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# batch_size=3,计算对应每个类别的分数(只有两个类别)\n", + "score = V(t.randn(3, 2))\n", + "# 三个样本分别属于1,0,1类,label必须是LongTensor\n", + "label = V(t.Tensor([1, 0, 1])).long()\n", + "\n", + "# loss与普通的layer无差异\n", + "criterion = nn.CrossEntropyLoss()\n", + "loss = criterion(score, label)\n", + "loss" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.2 优化器\n", + "\n", + "PyTorch将深度学习中常用的优化方法全部封装在`torch.optim`中,其设计十分灵活,能够很方便的扩展成自定义的优化方法。\n", + "\n", + "所有的优化方法都是继承基类`optim.Optimizer`,并实现了自己的优化步骤。下面就以最基本的优化方法——随机梯度下降法(SGD)举例说明。这里需重点掌握:\n", + "\n", + "- 优化方法的基本使用方法\n", + "- 如何对模型的不同部分设置不同的学习率\n", + "- 如何调整学习率" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [], + "source": [ + "# 首先定义一个LeNet网络\n", + "class Net(nn.Module):\n", + " def __init__(self):\n", + " super(Net, self).__init__()\n", + " self.features = nn.Sequential(\n", + " nn.Conv2d(3, 6, 5),\n", + " nn.ReLU(),\n", + " nn.MaxPool2d(2,2),\n", + " nn.Conv2d(6, 16, 5),\n", + " nn.ReLU(),\n", + " nn.MaxPool2d(2,2)\n", + " )\n", + " self.classifier = nn.Sequential(\n", + " nn.Linear(16 * 5 * 5, 120),\n", + " nn.ReLU(),\n", + " nn.Linear(120, 84),\n", + " nn.ReLU(),\n", + " nn.Linear(84, 10)\n", + " )\n", + "\n", + " def forward(self, x):\n", + " x = self.features(x)\n", + " x = x.view(-1, 16 * 5 * 5)\n", + " x = self.classifier(x)\n", + " return x\n", + "\n", + "net = Net()" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "from torch import optim\n", + "optimizer = optim.SGD(params=net.parameters(), lr=1)\n", + "optimizer.zero_grad() # 梯度清零,等价于net.zero_grad()\n", + "\n", + "input = V(t.randn(1, 3, 32, 32))\n", + "output = net(input)\n", + "output.backward(output) # fake backward\n", + "\n", + "optimizer.step() # 执行优化" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [], + "source": [ + "# 为不同子网络设置不同的学习率,在finetune中经常用到\n", + "# 如果对某个参数不指定学习率,就使用最外层的默认学习率\n", + "optimizer =optim.SGD([\n", + " {'params': net.features.parameters()}, # 学习率为1e-5\n", + " {'params': net.classifier.parameters(), 'lr': 1e-2}\n", + " ], lr=1e-5)" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [], + "source": [ + "# 只为两个全连接层设置较大的学习率,其余层的学习率较小\n", + "special_layers = nn.ModuleList([net.classifier[0], net.classifier[2]])\n", + "special_layers_params = list(map(id, special_layers.parameters()))\n", + "base_params = filter(lambda p: id(p) not in special_layers_params,\n", + " net.parameters())\n", + "\n", + "optimizer = t.optim.SGD([\n", + " {'params': base_params},\n", + " {'params': special_layers.parameters(), 'lr': 0.01}\n", + " ], lr=0.001 )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "对于如何调整学习率,主要有两种做法。一种是修改optimizer.param_groups中对应的学习率,另一种是更简单也是较为推荐的做法——新建优化器,由于optimizer十分轻量级,构建开销很小,故而可以构建新的optimizer。但是后者对于使用动量的优化器(如Adam),会丢失动量等状态信息,可能会造成损失函数的收敛出现震荡等情况。" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [], + "source": [ + "# 调整学习率,新建一个optimizer\n", + "old_lr = 0.1\n", + "optimizer =optim.SGD([\n", + " {'params': net.features.parameters()},\n", + " {'params': net.classifier.parameters(), 'lr': old_lr*0.1}\n", + " ], lr=1e-5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.3 nn.functional\n", + "\n", + "nn中还有一个很常用的模块:`nn.functional`,nn中的大多数layer,在`functional`中都有一个与之相对应的函数。`nn.functional`中的函数和`nn.Module`的主要区别在于,用nn.Module实现的layers是一个特殊的类,都是由`class layer(nn.Module)`定义,会自动提取可学习的参数。而`nn.functional`中的函数更像是纯函数,由`def function(input)`定义。下面举例说明functional的使用,并指出二者的不同之处。" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Variable containing:\n", + " 1 1 1 1\n", + " 1 1 1 1\n", + "[torch.ByteTensor of size 2x4]" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "input = V(t.randn(2, 3))\n", + "model = nn.Linear(3, 4)\n", + "output1 = model(input)\n", + "output2 = nn.functional.linear(input, model.weight, model.bias)\n", + "output1 == output2" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Variable containing:\n", + " 1 1 1\n", + " 1 1 1\n", + "[torch.ByteTensor of size 2x3]" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "b = nn.functional.relu(input)\n", + "b2 = nn.ReLU()(input)\n", + "b == b2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "此时读者可能会问,应该什么时候使用nn.Module,什么时候使用nn.functional呢?答案很简单,如果模型有可学习的参数,最好用nn.Module,否则既可以使用nn.functional也可以使用nn.Module,二者在性能上没有太大差异,具体的使用取决于个人的喜好。如激活函数(ReLU、sigmoid、tanh),池化(MaxPool)等层由于没有可学习参数,则可以使用对应的functional函数代替,而对于卷积、全连接等具有可学习参数的网络建议使用nn.Module。下面举例说明,如何在模型中搭配使用nn.Module和nn.functional。另外虽然dropout操作也没有可学习操作,但建议还是使用`nn.Dropout`而不是`nn.functional.dropout`,因为dropout在训练和测试两个阶段的行为有所差别,使用`nn.Module`对象能够通过`model.eval`操作加以区分。" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [], + "source": [ + "from torch.nn import functional as F\n", + "class Net(nn.Module):\n", + " def __init__(self):\n", + " super(Net, self).__init__()\n", + " self.conv1 = nn.Conv2d(3, 6, 5)\n", + " self.conv2 = nn.Conv2d(6, 16, 5)\n", + " self.fc1 = nn.Linear(16 * 5 * 5, 120)\n", + " self.fc2 = nn.Linear(120, 84)\n", + " self.fc3 = nn.Linear(84, 10)\n", + "\n", + " def forward(self, x):\n", + " x = F.pool(F.relu(self.conv1(x)), 2)\n", + " x = F.pool(F.relu(self.conv2(x)), 2)\n", + " x = x.view(-1, 16 * 5 * 5)\n", + " x = F.relu(self.fc1(x))\n", + " x = F.relu(self.fc2(x))\n", + " x = self.fc3(x)\n", + " return x" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "对于不具备可学习参数的层(激活层、池化层等),将它们用函数代替,这样则可以不用放置在构造函数`__init__`中。对于有可学习参数的模块,也可以用functional来代替,只不过实现起来较为繁琐,需要手动定义参数parameter,如前面实现自定义的全连接层,就可将weight和bias两个参数单独拿出来,在构造函数中初始化为parameter。" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [], + "source": [ + "class MyLinear(nn.Module):\n", + " def __init__(self):\n", + " super(MyLinear, self).__init__()\n", + " self.weight = nn.Parameter(t.randn(3, 4))\n", + " self.bias = nn.Parameter(t.zeros(3))\n", + " def forward(self,input):\n", + " return F.linear(input, self.weight, self.bias)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "关于nn.functional的设计初衷,以及它和nn.Module更多的比较说明,可参看论坛的讨论和作者说明[^6]。\n", + "[^6]: https://discuss.pytorch.org/search?q=nn.functional" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.4 初始化策略\n", + "在深度学习中参数的初始化十分重要,良好的初始化能让模型更快收敛,并达到更高水平,而糟糕的初始化则可能使得模型迅速瘫痪。PyTorch中nn.Module的模块参数都采取了较为合理的初始化策略,因此一般不用我们考虑,当然我们也可以用自定义初始化去代替系统的默认初始化。而当我们在使用Parameter时,自定义初始化则尤为重要,因t.Tensor()返回的是内存中的随机数,很可能会有极大值,这在实际训练网络中会造成溢出或者梯度消失。PyTorch中`nn.init`模块就是专门为初始化而设计,如果某种初始化策略`nn.init`不提供,用户也可以自己直接初始化。" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Parameter containing:\n", + " 0.3535 0.1427 0.0330\n", + " 0.3321 -0.2416 -0.0888\n", + "-0.8140 0.2040 -0.5493\n", + "-0.3010 -0.4769 -0.0311\n", + "[torch.FloatTensor of size 4x3]" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 利用nn.init初始化\n", + "from torch.nn import init\n", + "linear = nn.Linear(3, 4)\n", + "\n", + "t.manual_seed(1)\n", + "# 等价于 linear.weight.data.normal_(0, std)\n", + "init.xavier_normal(linear.weight)" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 0.3535 0.1427 0.0330\n", + " 0.3321 -0.2416 -0.0888\n", + "-0.8140 0.2040 -0.5493\n", + "-0.3010 -0.4769 -0.0311\n", + "[torch.FloatTensor of size 4x3]" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 直接初始化\n", + "import math\n", + "t.manual_seed(1)\n", + "\n", + "# xavier初始化的计算公式\n", + "std = math.sqrt(2)/math.sqrt(7.)\n", + "linear.weight.data.normal_(0,std)" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "metadata": {}, + "outputs": [], + "source": [ + "# 对模型的所有参数进行初始化\n", + "for name, params in net.named_parameters():\n", + " if name.find('linear') != -1:\n", + " # init linear\n", + " params[0] # weight\n", + " params[1] # bias\n", + " elif name.find('conv') != -1:\n", + " pass\n", + " elif name.find('norm') != -1:\n", + " pass" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.5 nn.Module深入分析\n", + "\n", + "如果想要更深入地理解nn.Module,究其原理是很有必要的。首先来看看nn.Module基类的构造函数:\n", + "```python\n", + "def __init__(self):\n", + " self._parameters = OrderedDict()\n", + " self._modules = OrderedDict()\n", + " self._buffers = OrderedDict()\n", + " self._backward_hooks = OrderedDict()\n", + " self._forward_hooks = OrderedDict()\n", + " self.training = True\n", + "```\n", + "其中每个属性的解释如下:\n", + "\n", + "- `_parameters`:字典,保存用户直接设置的parameter,`self.param1 = nn.Parameter(t.randn(3, 3))`会被检测到,在字典中加入一个key为'param',value为对应parameter的item。而self.submodule = nn.Linear(3, 4)中的parameter则不会存于此。\n", + "- `_modules`:子module,通过`self.submodel = nn.Linear(3, 4)`指定的子module会保存于此。\n", + "- `_buffers`:缓存。如batchnorm使用momentum机制,每次前向传播需用到上一次前向传播的结果。\n", + "- `_backward_hooks`与`_forward_hooks`:钩子技术,用来提取中间变量,类似variable的hook。\n", + "- `training`:BatchNorm与Dropout层在训练阶段和测试阶段中采取的策略不同,通过判断training值来决定前向传播策略。\n", + "\n", + "上述几个属性中,`_parameters`、`_modules`和`_buffers`这三个字典中的键值,都可以通过`self.key`方式获得,效果等价于`self._parameters['key']`.\n", + "\n", + "下面举例说明。" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Net(\n", + " (submodel1): Linear(in_features=3, out_features=4)\n", + ")" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "class Net(nn.Module):\n", + " def __init__(self):\n", + " super(Net, self).__init__()\n", + " # 等价与self.register_parameter('param1' ,nn.Parameter(t.randn(3, 3)))\n", + " self.param1 = nn.Parameter(t.rand(3, 3))\n", + " self.submodel1 = nn.Linear(3, 4) \n", + " def forward(self, input):\n", + " x = self.param1.mm(input)\n", + " x = self.submodel1(x)\n", + " return x\n", + "net = Net()\n", + "net" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "OrderedDict([('submodel1', Linear(in_features=3, out_features=4))])" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "net._modules" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "OrderedDict([('param1', Parameter containing:\n", + " 0.3398 0.5239 0.7981\n", + " 0.7718 0.0112 0.8100\n", + " 0.6397 0.9743 0.8300\n", + " [torch.FloatTensor of size 3x3])])" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "net._parameters" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Parameter containing:\n", + " 0.3398 0.5239 0.7981\n", + " 0.7718 0.0112 0.8100\n", + " 0.6397 0.9743 0.8300\n", + "[torch.FloatTensor of size 3x3]" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "net.param1 # 等价于net._parameters['param1']" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "param1 torch.Size([3, 3])\n", + "submodel1.weight torch.Size([4, 3])\n", + "submodel1.bias torch.Size([4])\n" + ] + } + ], + "source": [ + "for name, param in net.named_parameters():\n", + " print(name, param.size())" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Net(\n", + " (submodel1): Linear(in_features=3, out_features=4)\n", + ")\n", + "submodel1 Linear(in_features=3, out_features=4)\n" + ] + } + ], + "source": [ + "for name, submodel in net.named_modules():\n", + " print(name, submodel)" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "OrderedDict([('running_mean', \n", + " 1.00000e-02 *\n", + " 5.1362\n", + " 7.4864\n", + " [torch.FloatTensor of size 2]), ('running_var', \n", + " 0.9116\n", + " 0.9068\n", + " [torch.FloatTensor of size 2])])" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "bn = nn.BatchNorm1d(2)\n", + "input = V(t.rand(3, 2), requires_grad=True)\n", + "output = bn(input)\n", + "bn._buffers" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "nn.Module在实际使用中可能层层嵌套,一个module包含若干个子module,每一个子module又包含了更多的子module。为方便用户访问各个子module,nn.Module实现了很多方法,如函数`children`可以查看直接子module,函数`module`可以查看所有的子module(包括当前module)。与之相对应的还有函数`named_childen`和`named_modules`,其能够在返回module列表的同时返回它们的名字。" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Variable containing:\n", + " 0 2 0 0\n", + " 8 0 12 14\n", + " 16 0 0 22\n", + "[torch.FloatTensor of size 3x4]" + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "input = V(t.arange(0, 12).view(3, 4))\n", + "model = nn.Dropout()\n", + "# 在训练阶段,会有一半左右的数被随机置为0\n", + "model(input)" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Variable containing:\n", + " 0 1 2 3\n", + " 4 5 6 7\n", + " 8 9 10 11\n", + "[torch.FloatTensor of size 3x4]" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.training = False\n", + "# 在测试阶段,dropout什么都不做\n", + "model(input)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "对于batchnorm、dropout、instancenorm等在训练和测试阶段行为差距巨大的层,如果在测试时不将其training值设为True,则可能会有很大影响,这在实际使用中要千万注意。虽然可通过直接设置`training`属性,来将子module设为train和eval模式,但这种方式较为繁琐,因如果一个模型具有多个dropout层,就需要为每个dropout层指定training属性。更为推荐的做法是调用`model.train()`函数,它会将当前module及其子module中的所有training属性都设为True,相应的,`model.eval()`函数会把training属性都设为False。" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "True True\n" + ] + }, + { + "data": { + "text/plain": [ + "(False, False)" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "print(net.training, net.submodel1.training)\n", + "net.eval()\n", + "net.training, net.submodel1.training" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[('', Net(\n", + " (submodel1): Linear(in_features=3, out_features=4)\n", + " )), ('submodel1', Linear(in_features=3, out_features=4))]" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "list(net.named_modules())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "`register_forward_hook`与`register_backward_hook`,这两个函数的功能类似于variable函数的`register_hook`,可在module前向传播或反向传播时注册钩子。每次前向传播执行结束后会执行钩子函数(hook)。前向传播的钩子函数具有如下形式:`hook(module, input, output) -> None`,而反向传播则具有如下形式:`hook(module, grad_input, grad_output) -> Tensor or None`。钩子函数不应修改输入和输出,并且在使用后应及时删除,以避免每次都运行钩子增加运行负载。钩子函数主要用在获取某些中间结果的情景,如中间某一层的输出或某一层的梯度。这些结果本应写在forward函数中,但如果在forward函数中专门加上这些处理,可能会使处理逻辑比较复杂,这时候使用钩子技术就更合适一些。下面考虑一种场景,有一个预训练好的模型,需要提取模型的某一层(不是最后一层)的输出作为特征进行分类,但又不希望修改其原有的模型定义文件,这时就可以利用钩子函数。下面给出实现的伪代码。\n", + "```python\n", + "model = VGG()\n", + "features = t.Tensor()\n", + "def hook(module, input, output):\n", + " '''把这层的输出拷贝到features中'''\n", + " features.copy_(output.data)\n", + " \n", + "handle = model.layer8.register_forward_hook(hook)\n", + "_ = model(input)\n", + "# 用完hook后删除\n", + "handle.remove()\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "`nn.Module`对象在构造函数中的行为看起来有些怪异,如果想要真正掌握其原理,就需要看两个魔法方法`__getattr__`和`__setattr__`。在Python中有两个常用的buildin方法`getattr`和`setattr`,`getattr(obj, 'attr1')`等价于`obj.attr`,如果`getattr`函数无法找到所需属性,Python会转而调用`obj.__getattr__('attr1')`方法,即`getattr`函数无法找到的交给`__getattr__`函数处理,没有实现`__getattr__`或者`__getattr__`也无法处理的就会raise AttributeError。`setattr(obj, 'name', value)`等价于`obj.name=value`,如果obj对象实现了`__setattr__`方法,setattr会直接调用`obj.__setattr__('name', value)`,否则调用buildin方法。总结一下:\n", + "- result = obj.name会调用buildin函数`getattr(obj, 'name')`,如果该属性找不到,会调用`obj.__getattr__('name')`\n", + "- obj.name = value会调用buildin函数`setattr(obj, 'name', value)`,如果obj对象实现了`__setattr__`方法,`setattr`会直接调用`obj.__setattr__('name', value')`" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "nn.Module实现了自定义的`__setattr__`函数,当执行`module.name=value`时,会在`__setattr__`中判断value是否为`Parameter`或`nn.Module`对象,如果是则将这些对象加到`_parameters`和`_modules`两个字典中,而如果是其它类型的对象,如`Variable`、`list`、`dict`等,则调用默认的操作,将这个值保存在`__dict__`中。" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "OrderedDict([('param', Parameter containing:\n", + " 1 1\n", + " 1 1\n", + " [torch.FloatTensor of size 2x2])])" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "module = nn.Module()\n", + "module.param = nn.Parameter(t.ones(2, 2))\n", + "module._parameters" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "_modules: OrderedDict()\n", + "__dict__['submodules']: [Linear(in_features=2, out_features=2), Linear(in_features=2, out_features=2)]\n" + ] + } + ], + "source": [ + "submodule1 = nn.Linear(2, 2)\n", + "submodule2 = nn.Linear(2, 2)\n", + "module_list = [submodule1, submodule2]\n", + "# 对于list对象,调用buildin函数,保存在__dict__中\n", + "module.submodules = module_list\n", + "print('_modules: ', module._modules)\n", + "print(\"__dict__['submodules']:\",module.__dict__.get('submodules'))" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ModuleList is instance of nn.Module: True\n", + "_modules: OrderedDict([('submodules', ModuleList(\n", + " (0): Linear(in_features=2, out_features=2)\n", + " (1): Linear(in_features=2, out_features=2)\n", + "))])\n", + "__dict__['submodules']: None\n" + ] + } + ], + "source": [ + "module_list = nn.ModuleList(module_list)\n", + "module.submodules = module_list\n", + "print('ModuleList is instance of nn.Module: ', isinstance(module_list, nn.Module))\n", + "print('_modules: ', module._modules)\n", + "print(\"__dict__['submodules']:\", module.__dict__.get('submodules'))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "因`_modules`和`_parameters`中的item未保存在`__dict__`中,所以默认的getattr方法无法获取它,因而`nn.Module`实现了自定义的`__getattr__`方法,如果默认的`getattr`无法处理,就调用自定义的`__getattr__`方法,尝试从`_modules`、`_parameters`和`_buffers`这三个字典中获取。" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 52, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "getattr(module, 'training') # 等价于module.training\n", + "# error\n", + "# module.__getattr__('training')" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "module.attr1 = 2\n", + "getattr(module, 'attr1')\n", + "# 报错\n", + "# module.__getattr__('attr1')" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Parameter containing:\n", + " 1 1\n", + " 1 1\n", + "[torch.FloatTensor of size 2x2]" + ] + }, + "execution_count": 54, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 即module.param, 会调用module.__getattr__('param')\n", + "getattr(module, 'param')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "在PyTorch中保存模型十分简单,所有的Module对象都具有state_dict()函数,返回当前Module所有的状态数据。将这些状态数据保存后,下次使用模型时即可利用`model.load_state_dict()`函数将状态加载进来。优化器(optimizer)也有类似的机制,不过一般并不需要保存优化器的运行状态。" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": {}, + "outputs": [], + "source": [ + "# 保存模型\n", + "t.save(net.state_dict(), 'net.pth')\n", + "\n", + "# 加载已保存的模型\n", + "net2 = Net()\n", + "net2.load_state_dict(t.load('net.pth'))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "实际上还有另外一种保存方法,但因其严重依赖模型定义方式及文件路径结构等,很容易出问题,因而不建议使用。" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/usr/local/lib/python3.5/dist-packages/torch/serialization.py:158: UserWarning: Couldn't retrieve source code for container of type Net. It won't be checked for correctness upon loading.\n", + " \"type \" + obj.__name__ + \". It won't be checked \"\n" + ] + }, + { + "data": { + "text/plain": [ + "Net(\n", + " (submodel1): Linear(in_features=3, out_features=4)\n", + ")" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "t.save(net, 'net_all.pth')\n", + "net2 = t.load('net_all.pth')\n", + "net2" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "将Module放在GPU上运行也十分简单,只需两步:\n", + "- model = model.cuda():将模型的所有参数转存到GPU\n", + "- input.cuda():将输入数据也放置到GPU上\n", + "\n", + "至于如何在多个GPU上并行计算,PyTorch也提供了两个函数,可实现简单高效的并行GPU计算\n", + "- nn.parallel.data_parallel(module, inputs, device_ids=None, output_device=None, dim=0, module_kwargs=None)\n", + "- class torch.nn.DataParallel(module, device_ids=None, output_device=None, dim=0)\n", + "\n", + "可见二者的参数十分相似,通过`device_ids`参数可以指定在哪些GPU上进行优化,output_device指定输出到哪个GPU上。唯一的不同就在于前者直接利用多GPU并行计算得出结果,而后者则返回一个新的module,能够自动在多GPU上进行并行加速。\n", + "\n", + "```\n", + "# method 1\n", + "new_net = nn.DataParallel(net, device_ids=[0, 1])\n", + "output = new_net(input)\n", + "\n", + "# method 2\n", + "output = nn.parallel.data_parallel(new_net, input, device_ids=[0, 1])\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "DataParallel并行的方式,是将输入一个batch的数据均分成多份,分别送到对应的GPU进行计算,各个GPU得到的梯度累加。与Module相关的所有数据也都会以浅复制的方式复制多份,在此需要注意,在module中属性应该是只读的。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.6 nn和autograd的关系\n", + "nn.Module利用的也是autograd技术,其主要工作是实现前向传播。在forward函数中,nn.Module对输入的Variable进行的各种操作,本质上都是用到了autograd技术。这里需要对比autograd.Function和nn.Module之间的区别:\n", + "- autograd.Function利用了Tensor对autograd技术的扩展,为autograd实现了新的运算op,不仅要实现前向传播还要手动实现反向传播\n", + "- nn.Module利用了autograd技术,对nn的功能进行扩展,实现了深度学习中更多的层。只需实现前向传播功能,autograd即会自动实现反向传播\n", + "- nn.functional是一些autograd操作的集合,是经过封装的函数\n", + "\n", + "作为两大类扩充PyTorch接口的方法,我们在实际使用中应该如何选择呢?如果某一个操作,在autograd中尚未支持,那么只能实现Function接口对应的前向传播和反向传播。如果某些时候利用autograd接口比较复杂,则可以利用Function将多个操作聚合,实现优化,正如第三章所实现的`Sigmoid`一样,比直接利用autograd低级别的操作要快。而如果只是想在深度学习中增加某一层,使用nn.Module进行封装则更为简单高效。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 4.7 小试牛刀:搭建ResNet\n", + "Kaiming He的深度残差网络(ResNet)[^7]在深度学习的发展中起到了很重要的作用,ResNet不仅一举拿下了当年CV下多个比赛项目的冠军,更重要的是这一结构解决了训练极深网络时的梯度消失问题。\n", + "\n", + "首先来看看ResNet的网络结构,这里选取的是ResNet的一个变种:ResNet34。ResNet的网络结构如图4-2所示,可见除了最开始的卷积池化和最后的池化全连接之外,网络中有很多结构相似的单元,这些重复单元的共同点就是有个跨层直连的shortcut。ResNet中将一个跨层直连的单元称为Residual block,其结构如图4-3所示,左边部分是普通的卷积网络结构,右边是直连,但如果输入和输出的通道数不一致,或其步长不为1,那么就需要有一个专门的单元将二者转成一致,使其可以相加。\n", + "\n", + "另外我们可以发现Residual block的大小也是有规律的,在最开始的pool之后有连续的几个一模一样的Residual block单元,这些单元的通道数一样,在这里我们将这几个拥有多个Residual block单元的结构称之为layer,注意和之前讲的layer区分开来,这里的layer是几个层的集合。\n", + "\n", + "考虑到Residual block和layer出现了多次,我们可以把它们实现为一个子Module或函数。这里我们将Residual block实现为一个子moduke,而将layer实现为一个函数。下面是实现代码,规律总结如下:\n", + "\n", + "- 对于模型中的重复部分,实现为子module或用函数生成相应的module`make_layer`\n", + "- nn.Module和nn.Functional结合使用\n", + "- 尽量使用`nn.Seqential`\n", + "\n", + "![图4-2: ResNet34网络结构](imgs/resnet1.png)\n", + "![图4-3: Residual block 结构图](imgs/residual.png)\n", + " [^7]: He K, Zhang X, Ren S, et al. Deep residual learning for image recognition[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016: 770-778." + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "metadata": {}, + "outputs": [], + "source": [ + "from torch import nn\n", + "import torch as t\n", + "from torch.nn import functional as F" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": {}, + "outputs": [], + "source": [ + "class ResidualBlock(nn.Module):\n", + " '''\n", + " 实现子module: Residual Block\n", + " '''\n", + " def __init__(self, inchannel, outchannel, stride=1, shortcut=None):\n", + " super(ResidualBlock, self).__init__()\n", + " self.left = nn.Sequential(\n", + " nn.Conv2d(inchannel,outchannel,3,stride, 1,bias=False),\n", + " nn.BatchNorm2d(outchannel),\n", + " nn.ReLU(inplace=True),\n", + " nn.Conv2d(outchannel,outchannel,3,1,1,bias=False),\n", + " nn.BatchNorm2d(outchannel) )\n", + " self.right = shortcut\n", + "\n", + " def forward(self, x):\n", + " out = self.left(x)\n", + " residual = x if self.right is None else self.right(x)\n", + " out += residual\n", + " return F.relu(out)\n", + "\n", + "class ResNet(nn.Module):\n", + " '''\n", + " 实现主module:ResNet34\n", + " ResNet34 包含多个layer,每个layer又包含多个residual block\n", + " 用子module来实现residual block,用_make_layer函数来实现layer\n", + " '''\n", + " def __init__(self, num_classes=1000):\n", + " super(ResNet, self).__init__()\n", + " # 前几层图像转换\n", + " self.pre = nn.Sequential(\n", + " nn.Conv2d(3, 64, 7, 2, 3, bias=False),\n", + " nn.BatchNorm2d(64),\n", + " nn.ReLU(inplace=True),\n", + " nn.MaxPool2d(3, 2, 1))\n", + " \n", + " # 重复的layer,分别有3,4,6,3个residual block\n", + " self.layer1 = self._make_layer( 64, 64, 3)\n", + " self.layer2 = self._make_layer( 64, 128, 4, stride=2)\n", + " self.layer3 = self._make_layer( 128, 256, 6, stride=2)\n", + " self.layer4 = self._make_layer( 256, 512, 3, stride=2)\n", + "\n", + " #分类用的全连接\n", + " self.fc = nn.Linear(512, num_classes)\n", + " \n", + " def _make_layer(self, inchannel, outchannel, block_num, stride=1):\n", + " '''\n", + " 构建layer,包含多个residual block\n", + " '''\n", + " shortcut = nn.Sequential(\n", + " nn.Conv2d(inchannel,outchannel,1,stride, bias=False),\n", + " nn.BatchNorm2d(outchannel))\n", + " \n", + " layers = []\n", + " layers.append(ResidualBlock(inchannel, outchannel, stride, shortcut))\n", + " \n", + " for i in range(1, block_num):\n", + " layers.append(ResidualBlock(outchannel, outchannel))\n", + " return nn.Sequential(*layers)\n", + " \n", + " def forward(self, x):\n", + " x = self.pre(x)\n", + " \n", + " x = self.layer1(x)\n", + " x = self.layer2(x)\n", + " x = self.layer3(x)\n", + " x = self.layer4(x)\n", + "\n", + " x = F.avg_pool2d(x, 7)\n", + " x = x.view(x.size(0), -1)\n", + " return self.fc(x)" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": {}, + "outputs": [], + "source": [ + "model = ResNet()\n", + "input = t.autograd.Variable(t.randn(1, 3, 224, 224))\n", + "o = model(input)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "感兴趣的读者可以尝试实现Google的Inception网络结构或ResNet的其它变体,看看如何能够简洁明了地实现它,实现代码尽量控制在80行以内(本例去掉空行和注释总共不超过50行)。另外,与PyTorch配套的图像工具包`torchvision`已经实现了深度学习中大多数经典的模型,其中就包括ResNet34,读者可以通过下面两行代码使用:\n", + "```python\n", + "from torchvision import models\n", + "model = models.resnet34()\n", + "```\n", + "本例中ResNet34的实现就是参考了torchvision中的实现并做了简化,感兴趣的读者可以阅读相应的源码,比较这里的实现和torchvision中实现的不同。" + ] + } + ], + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/1_NN/optimizer/adadelta.ipynb b/2_pytorch/1_NN/optimizer/adadelta.ipynb new file mode 100644 index 0000000..25fbee0 --- /dev/null +++ b/2_pytorch/1_NN/optimizer/adadelta.ipynb @@ -0,0 +1,281 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Adadelta\n", + "Adadelta 算是 Adagrad 法的延伸,它跟 RMSProp 一样,都是为了解决 Adagrad 中学习率不断减小的问题,RMSProp 是通过移动加权平均的方式,而 Adadelta 也是一种方法,有趣的是,它并不需要学习率这个参数。\n", + "\n", + "## Adadelta 法\n", + "Adadelta 跟 RMSProp 一样,先使用移动平均来计算 s\n", + "\n", + "$$\n", + "s = \\rho s + (1 - \\rho) g^2\n", + "$$\n", + "\n", + "这里 $\\rho$ 和 RMSProp 中的 $\\alpha$ 都是移动平均系数,g 是参数的梯度,然后我们会计算需要更新的参数的变化量\n", + "\n", + "$$\n", + "g' = \\frac{\\sqrt{\\Delta \\theta + \\epsilon}}{\\sqrt{s + \\epsilon}} g\n", + "$$\n", + "\n", + "$\\Delta \\theta$ 初始为 0 张量,每一步做如下的指数加权移动平均更新\n", + "\n", + "$$\n", + "\\Delta \\theta = \\rho \\Delta \\theta + (1 - \\rho) g'^2\n", + "$$\n", + "\n", + "最后参数更新如下\n", + "\n", + "$$\n", + "\\theta = \\theta - g'\n", + "$$\n", + "\n", + "下面我们实现以下 Adadelta" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def adadelta(parameters, sqrs, deltas, rho):\n", + " eps = 1e-6\n", + " for param, sqr, delta in zip(parameters, sqrs, deltas):\n", + " sqr[:] = rho * sqr + (1 - rho) * param.grad.data ** 2\n", + " cur_delta = torch.sqrt(delta + eps) / torch.sqrt(sqr + eps) * param.grad.data\n", + " delta[:] = rho * delta + (1 - rho) * cur_delta ** 2\n", + " param.data = param.data - cur_delta" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import torch\n", + "from torchvision.datasets import MNIST # 导入 pytorch 内置的 mnist 数据\n", + "from torch.utils.data import DataLoader\n", + "from torch import nn\n", + "from torch.autograd import Variable\n", + "import time\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline\n", + "\n", + "def data_tf(x):\n", + " x = np.array(x, dtype='float32') / 255\n", + " x = (x - 0.5) / 0.5 # 标准化,这个技巧之后会讲到\n", + " x = x.reshape((-1,)) # 拉平\n", + " x = torch.from_numpy(x)\n", + " return x\n", + "\n", + "train_set = MNIST('./data', train=True, transform=data_tf, download=True) # 载入数据集,申明定义的数据变换\n", + "test_set = MNIST('./data', train=False, transform=data_tf, download=True)\n", + "\n", + "# 定义 loss 函数\n", + "criterion = nn.CrossEntropyLoss()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch: 0, Train Loss: 0.365601\n", + "epoch: 1, Train Loss: 0.159966\n", + "epoch: 2, Train Loss: 0.123347\n", + "epoch: 3, Train Loss: 0.102201\n", + "epoch: 4, Train Loss: 0.087986\n", + "使用时间: 59.26491 s\n" + ] + } + ], + "source": [ + "train_data = DataLoader(train_set, batch_size=64, shuffle=True)\n", + "# 使用 Sequential 定义 3 层神经网络\n", + "net = nn.Sequential(\n", + " nn.Linear(784, 200),\n", + " nn.ReLU(),\n", + " nn.Linear(200, 10),\n", + ")\n", + "\n", + "# 初始化梯度平方项和 delta 项\n", + "sqrs = []\n", + "deltas = []\n", + "for param in net.parameters():\n", + " sqrs.append(torch.zeros_like(param.data))\n", + " deltas.append(torch.zeros_like(param.data))\n", + "\n", + "# 开始训练\n", + "losses = []\n", + "idx = 0\n", + "start = time.time() # 记时开始\n", + "for e in range(5):\n", + " train_loss = 0\n", + " for im, label in train_data:\n", + " im = Variable(im)\n", + " label = Variable(label)\n", + " # 前向传播\n", + " out = net(im)\n", + " loss = criterion(out, label)\n", + " # 反向传播\n", + " net.zero_grad()\n", + " loss.backward()\n", + " adadelta(net.parameters(), sqrs, deltas, 0.9) # rho 设置为 0.9\n", + " # 记录误差\n", + " train_loss += loss.data[0]\n", + " if idx % 30 == 0:\n", + " losses.append(loss.data[0])\n", + " idx += 1\n", + " print('epoch: {}, Train Loss: {:.6f}'\n", + " .format(e, train_loss / len(train_data)))\n", + "end = time.time() # 计时结束\n", + "print('使用时间: {:.5f} s'.format(end - start))" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nhNBQfwGGqd9/90rFTwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x_axis = np.linspace(0, 5, len(losses), endpoint=True)\n", + "plt.semilogy(x_axis, losses, label='rho=0.99')\n", + "plt.legend(loc='best')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到使用 adadelta 跑 5 次能够得到更小的 loss" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**小练习:思考一下为什么 Adadelta 没有学习率这个参数,它是被什么代替了**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "当然 pytorch 也内置了 adadelta 的方法,非常简单,只需要调用 `torch.optim.Adadelta()` 就可以了,下面是例子" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch: 0, Train Loss: 0.356505\n", + "epoch: 1, Train Loss: 0.158333\n", + "epoch: 2, Train Loss: 0.120510\n", + "epoch: 3, Train Loss: 0.100807\n", + "epoch: 4, Train Loss: 0.084741\n", + "使用时间: 47.90947 s\n" + ] + } + ], + "source": [ + "train_data = DataLoader(train_set, batch_size=64, shuffle=True)\n", + "# 使用 Sequential 定义 3 层神经网络\n", + "net = nn.Sequential(\n", + " nn.Linear(784, 200),\n", + " nn.ReLU(),\n", + " nn.Linear(200, 10),\n", + ")\n", + "\n", + "optimizer = torch.optim.Adadelta(net.parameters(), rho=0.9)\n", + "\n", + "# 开始训练\n", + "start = time.time() # 记时开始\n", + "for e in range(5):\n", + " train_loss = 0\n", + " for im, label in train_data:\n", + " im = Variable(im)\n", + " label = Variable(label)\n", + " # 前向传播\n", + " out = net(im)\n", + " loss = criterion(out, label)\n", + " # 反向传播\n", + " optimizer.zero_grad()\n", + " loss.backward()\n", + " optimizer.step()\n", + " # 记录误差\n", + " train_loss += loss.data[0]\n", + " print('epoch: {}, Train Loss: {:.6f}'\n", + " .format(e, train_loss / len(train_data)))\n", + "end = time.time() # 计时结束\n", + "print('使用时间: {:.5f} s'.format(end - start))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**小练习:看看 pytorch 中的 adadelta,里面是有学习率这个参数,但是前面我们讲过 adadelta 不用设置学习率,看看这个学习率到底是干嘛的**" + ] + } + ], + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/1_NN/optimizer/adadelta.py b/2_pytorch/1_NN/optimizer/adadelta.py new file mode 100644 index 0000000..fab95ed --- /dev/null +++ b/2_pytorch/1_NN/optimizer/adadelta.py @@ -0,0 +1,169 @@ +# -*- coding: utf-8 -*- +# --- +# jupyter: +# jupytext_format_version: '1.2' +# 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.5.2 +# --- + +# # Adadelta +# Adadelta 算是 Adagrad 法的延伸,它跟 RMSProp 一样,都是为了解决 Adagrad 中学习率不断减小的问题,RMSProp 是通过移动加权平均的方式,而 Adadelta 也是一种方法,有趣的是,它并不需要学习率这个参数。 +# +# ## Adadelta 法 +# Adadelta 跟 RMSProp 一样,先使用移动平均来计算 s +# +# $$ +# s = \rho s + (1 - \rho) g^2 +# $$ +# +# 这里 $\rho$ 和 RMSProp 中的 $\alpha$ 都是移动平均系数,g 是参数的梯度,然后我们会计算需要更新的参数的变化量 +# +# $$ +# g' = \frac{\sqrt{\Delta \theta + \epsilon}}{\sqrt{s + \epsilon}} g +# $$ +# +# $\Delta \theta$ 初始为 0 张量,每一步做如下的指数加权移动平均更新 +# +# $$ +# \Delta \theta = \rho \Delta \theta + (1 - \rho) g'^2 +# $$ +# +# 最后参数更新如下 +# +# $$ +# \theta = \theta - g' +# $$ +# +# 下面我们实现以下 Adadelta + +def adadelta(parameters, sqrs, deltas, rho): + eps = 1e-6 + for param, sqr, delta in zip(parameters, sqrs, deltas): + sqr[:] = rho * sqr + (1 - rho) * param.grad.data ** 2 + cur_delta = torch.sqrt(delta + eps) / torch.sqrt(sqr + eps) * param.grad.data + delta[:] = rho * delta + (1 - rho) * cur_delta ** 2 + param.data = param.data - cur_delta + +# + +import numpy as np +import torch +from torchvision.datasets import MNIST # 导入 pytorch 内置的 mnist 数据 +from torch.utils.data import DataLoader +from torch import nn +from torch.autograd import Variable +import time +import matplotlib.pyplot as plt +# %matplotlib inline + +def data_tf(x): + x = np.array(x, dtype='float32') / 255 + x = (x - 0.5) / 0.5 # 标准化,这个技巧之后会讲到 + x = x.reshape((-1,)) # 拉平 + x = torch.from_numpy(x) + return x + +train_set = MNIST('./data', train=True, transform=data_tf, download=True) # 载入数据集,申明定义的数据变换 +test_set = MNIST('./data', train=False, transform=data_tf, download=True) + +# 定义 loss 函数 +criterion = nn.CrossEntropyLoss() + +# + +train_data = DataLoader(train_set, batch_size=64, shuffle=True) +# 使用 Sequential 定义 3 层神经网络 +net = nn.Sequential( + nn.Linear(784, 200), + nn.ReLU(), + nn.Linear(200, 10), +) + +# 初始化梯度平方项和 delta 项 +sqrs = [] +deltas = [] +for param in net.parameters(): + sqrs.append(torch.zeros_like(param.data)) + deltas.append(torch.zeros_like(param.data)) + +# 开始训练 +losses = [] +idx = 0 +start = time.time() # 记时开始 +for e in range(5): + train_loss = 0 + for im, label in train_data: + im = Variable(im) + label = Variable(label) + # 前向传播 + out = net(im) + loss = criterion(out, label) + # 反向传播 + net.zero_grad() + loss.backward() + adadelta(net.parameters(), sqrs, deltas, 0.9) # rho 设置为 0.9 + # 记录误差 + train_loss += loss.data[0] + if idx % 30 == 0: + losses.append(loss.data[0]) + idx += 1 + print('epoch: {}, Train Loss: {:.6f}' + .format(e, train_loss / len(train_data))) +end = time.time() # 计时结束 +print('使用时间: {:.5f} s'.format(end - start)) +# - + +x_axis = np.linspace(0, 5, len(losses), endpoint=True) +plt.semilogy(x_axis, losses, label='rho=0.99') +plt.legend(loc='best') + +# 可以看到使用 adadelta 跑 5 次能够得到更小的 loss + +# **小练习:思考一下为什么 Adadelta 没有学习率这个参数,它是被什么代替了** + +# 当然 pytorch 也内置了 adadelta 的方法,非常简单,只需要调用 `torch.optim.Adadelta()` 就可以了,下面是例子 + +# + +train_data = DataLoader(train_set, batch_size=64, shuffle=True) +# 使用 Sequential 定义 3 层神经网络 +net = nn.Sequential( + nn.Linear(784, 200), + nn.ReLU(), + nn.Linear(200, 10), +) + +optimizer = torch.optim.Adadelta(net.parameters(), rho=0.9) + +# 开始训练 +start = time.time() # 记时开始 +for e in range(5): + train_loss = 0 + for im, label in train_data: + im = Variable(im) + label = Variable(label) + # 前向传播 + out = net(im) + loss = criterion(out, label) + # 反向传播 + optimizer.zero_grad() + loss.backward() + optimizer.step() + # 记录误差 + train_loss += loss.data[0] + print('epoch: {}, Train Loss: {:.6f}' + .format(e, train_loss / len(train_data))) +end = time.time() # 计时结束 +print('使用时间: {:.5f} s'.format(end - start)) +# - + +# **小练习:看看 pytorch 中的 adadelta,里面是有学习率这个参数,但是前面我们讲过 adadelta 不用设置学习率,看看这个学习率到底是干嘛的** diff --git a/2_pytorch/1_NN/optimizer/adagrad.ipynb b/2_pytorch/1_NN/optimizer/adagrad.ipynb new file mode 100644 index 0000000..85bfd1a --- /dev/null +++ b/2_pytorch/1_NN/optimizer/adagrad.ipynb @@ -0,0 +1,264 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Adagrad\n", + "这个优化算法被称为自适应学习率优化算法,之前我们讲的随机梯度下降以及动量法对所有的参数都使用的固定的学习率进行参数更新,但是不同的参数梯度可能不一样,所以需要不同的学习率才能比较好的进行训练,但是这个事情又不能很好地被人为操作,所以 Adagrad 便能够帮助我们做这件事。\n", + "\n", + "## Adagrad 算法\n", + "Adagrad 的想法非常简答,在每次使用一个 batch size 的数据进行参数更新的时候,我们需要计算所有参数的梯度,那么其想法就是对于每个参数,初始化一个变量 s 为 0,然后每次将该参数的梯度平方求和累加到这个变量 s 上,然后在更新这个参数的时候,学习率就变为\n", + "\n", + "$$\n", + "\\frac{\\eta}{\\sqrt{s + \\epsilon}}\n", + "$$\n", + "\n", + "这里的 $\\epsilon$ 是为了数值稳定性而加上的,因为有可能 s 的值为 0,那么 0 出现在分母就会出现无穷大的情况,通常 $\\epsilon$ 取 $10^{-10}$,这样不同的参数由于梯度不同,他们对应的 s 大小也就不同,所以上面的公式得到的学习率也就不同,这也就实现了自适应的学习率。\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Adagrad 的核心想法就是,如果一个参数的梯度一直都非常大,那么其对应的学习率就变小一点,防止震荡,而一个参数的梯度一直都非常小,那么这个参数的学习率就变大一点,使得其能够更快地更新\n", + "\n", + "Adagrad 也有一些问题,因为 s 不断累加梯度的平方,所以会越来越大,导致学习率在后期会变得较小,导致收敛乏力的情况,可能无法收敛到表较好的结果,当然后面有一个对其的改进,我们之后会讲到\n", + "\n", + "下面我们来实现一下 Adagrad 的算法" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def sgd_adagrad(parameters, sqrs, lr):\n", + " eps = 1e-10\n", + " for param, sqr in zip(parameters, sqrs):\n", + " sqr[:] = sqr + param.grad.data ** 2\n", + " div = lr / torch.sqrt(sqr + eps) * param.grad.data\n", + " param.data = param.data - div" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import torch\n", + "from torchvision.datasets import MNIST # 导入 pytorch 内置的 mnist 数据\n", + "from torch.utils.data import DataLoader\n", + "from torch import nn\n", + "from torch.autograd import Variable\n", + "import time\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline\n", + "\n", + "def data_tf(x):\n", + " x = np.array(x, dtype='float32') / 255\n", + " x = (x - 0.5) / 0.5 # 标准化,这个技巧之后会讲到\n", + " x = x.reshape((-1,)) # 拉平\n", + " x = torch.from_numpy(x)\n", + " return x\n", + "\n", + "train_set = MNIST('./data', train=True, transform=data_tf, download=True) # 载入数据集,申明定义的数据变换\n", + "test_set = MNIST('./data', train=False, transform=data_tf, download=True)\n", + "\n", + "# 定义 loss 函数\n", + "criterion = nn.CrossEntropyLoss()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch: 0, Train Loss: 0.406752\n", + "epoch: 1, Train Loss: 0.248588\n", + "epoch: 2, Train Loss: 0.211789\n", + "epoch: 3, Train Loss: 0.188928\n", + "epoch: 4, Train Loss: 0.172839\n", + "使用时间: 54.70610 s\n" + ] + } + ], + "source": [ + "train_data = DataLoader(train_set, batch_size=64, shuffle=True)\n", + "# 使用 Sequential 定义 3 层神经网络\n", + "net = nn.Sequential(\n", + " nn.Linear(784, 200),\n", + " nn.ReLU(),\n", + " nn.Linear(200, 10),\n", + ")\n", + "\n", + "# 初始化梯度平方项\n", + "sqrs = []\n", + "for param in net.parameters():\n", + " sqrs.append(torch.zeros_like(param.data))\n", + " \n", + "# 开始训练\n", + "losses = []\n", + "idx = 0\n", + "start = time.time() # 记时开始\n", + "for e in range(5):\n", + " train_loss = 0\n", + " for im, label in train_data:\n", + " im = Variable(im)\n", + " label = Variable(label)\n", + " # 前向传播\n", + " out = net(im)\n", + " loss = criterion(out, label)\n", + " # 反向传播\n", + " net.zero_grad()\n", + " loss.backward()\n", + " sgd_adagrad(net.parameters(), sqrs, 1e-2) # 学习率设为 0.01\n", + " # 记录误差\n", + " train_loss += loss.data[0]\n", + " if idx % 30 == 0:\n", + " losses.append(loss.data[0])\n", + " idx += 1\n", + " print('epoch: {}, Train Loss: {:.6f}'\n", + " .format(e, train_loss / len(train_data)))\n", + "end = time.time() # 计时结束\n", + "print('使用时间: {:.5f} s'.format(end - start))" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n3wSkAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x_axis = np.linspace(0, 5, len(losses), endpoint=True)\n", + "plt.semilogy(x_axis, losses, label='adagrad')\n", + "plt.legend(loc='best')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到,使用自适应的学习率跑 5 个 epoch 可以得到比随机梯度下降得到更小的 loss,学习率能够自适应地降低,所以能够有着更好的效果" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "当然 pytorch 也内置了 adagrad 的优化算法,只需要调用 `torch.optim.Adagrad()` 就可以了,下面是例子" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch: 0, Train Loss: 0.408064\n", + "epoch: 1, Train Loss: 0.262110\n", + "epoch: 2, Train Loss: 0.219893\n", + "epoch: 3, Train Loss: 0.192386\n", + "epoch: 4, Train Loss: 0.173119\n", + "使用时间: 56.94233 s\n" + ] + } + ], + "source": [ + "train_data = DataLoader(train_set, batch_size=64, shuffle=True)\n", + "# 使用 Sequential 定义 3 层神经网络\n", + "net = nn.Sequential(\n", + " nn.Linear(784, 200),\n", + " nn.ReLU(),\n", + " nn.Linear(200, 10),\n", + ")\n", + " \n", + "optimizer = torch.optim.Adagrad(net.parameters(), lr=1e-2)\n", + "# 开始训练\n", + "\n", + "start = time.time() # 记时开始\n", + "for e in range(5):\n", + " train_loss = 0\n", + " for im, label in train_data:\n", + " im = Variable(im)\n", + " label = Variable(label)\n", + " # 前向传播\n", + " out = net(im)\n", + " loss = criterion(out, label)\n", + " # 反向传播\n", + " optimizer.zero_grad()\n", + " loss.backward()\n", + " optimizer.step()\n", + " # 记录误差\n", + " train_loss += loss.data[0]\n", + " print('epoch: {}, Train Loss: {:.6f}'\n", + " .format(e, train_loss / len(train_data)))\n", + "end = time.time() # 计时结束\n", + "print('使用时间: {:.5f} s'.format(end - start))" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "mx", + "language": "python", + "name": "mx" + }, + "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.0" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/1_NN/optimizer/adam.ipynb b/2_pytorch/1_NN/optimizer/adam.ipynb new file mode 100644 index 0000000..d313fa0 --- /dev/null +++ b/2_pytorch/1_NN/optimizer/adam.ipynb @@ -0,0 +1,293 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Adam\n", + "Adam 是一个结合了动量法和 RMSProp 的优化算法,其结合了两者的优点。\n", + "\n", + "## Adam 算法\n", + "Adam 算法会使用一个动量变量 v 和一个 RMSProp 中的梯度元素平方的移动指数加权平均 s,首先将他们全部初始化为 0,然后在每次迭代中,计算他们的移动加权平均进行更新\n", + "\n", + "$$\n", + "v = \\beta_1 v + (1 - \\beta_1) g \\\\\n", + "s = \\beta_2 s + (1 - \\beta_2) g^2\n", + "$$\n", + "\n", + "在 adam 算法里,为了减轻 v 和 s 被初始化为 0 的初期对计算指数加权移动平均的影响,每次 v 和 s 都做下面的修正\n", + "\n", + "$$\n", + "\\hat{v} = \\frac{v}{1 - \\beta_1^t} \\\\\n", + "\\hat{s} = \\frac{s}{1 - \\beta_2^t}\n", + "$$\n", + "\n", + "这里 t 是迭代次数,可以看到,当 $0 \\leq \\beta_1, \\beta_2 \\leq 1$ 的时候,迭代到后期 t 比较大,那么 $\\beta_1^t$ 和 $\\beta_2^t$ 就几乎为 0,就不会对 v 和 s 有任何影响了,算法作者建议$\\beta_1 = 0.9$, $\\beta_2 = 0.999$。\n", + "\n", + "最后使用修正之后的 $\\hat{v}$ 和 $\\hat{s}$ 进行学习率的重新计算\n", + "\n", + "$$\n", + "g' = \\frac{\\eta \\hat{v}}{\\sqrt{\\hat{s} + \\epsilon}}\n", + "$$\n", + "\n", + "这里 $\\eta$ 是学习率,$epsilon$ 仍然是为了数值稳定性而添加的常数,最后参数更新有\n", + "\n", + "$$\n", + "\\theta_i = \\theta_{i-1} - g'\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "下面我们来实现以下 adam 算法" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def adam(parameters, vs, sqrs, lr, t, beta1=0.9, beta2=0.999):\n", + " eps = 1e-8\n", + " for param, v, sqr in zip(parameters, vs, sqrs):\n", + " v[:] = beta1 * v + (1 - beta1) * param.grad.data\n", + " sqr[:] = beta2 * sqr + (1 - beta2) * param.grad.data ** 2\n", + " v_hat = v / (1 - beta1 ** t)\n", + " s_hat = sqr / (1 - beta2 ** t)\n", + " param.data = param.data - lr * v_hat / torch.sqrt(s_hat + eps)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import torch\n", + "from torchvision.datasets import MNIST # 导入 pytorch 内置的 mnist 数据\n", + "from torch.utils.data import DataLoader\n", + "from torch import nn\n", + "from torch.autograd import Variable\n", + "import time\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline\n", + "\n", + "def data_tf(x):\n", + " x = np.array(x, dtype='float32') / 255\n", + " x = (x - 0.5) / 0.5 # 标准化,这个技巧之后会讲到\n", + " x = x.reshape((-1,)) # 拉平\n", + " x = torch.from_numpy(x)\n", + " return x\n", + "\n", + "train_set = MNIST('./data', train=True, transform=data_tf, download=True) # 载入数据集,申明定义的数据变换\n", + "test_set = MNIST('./data', train=False, transform=data_tf, download=True)\n", + "\n", + "# 定义 loss 函数\n", + "criterion = nn.CrossEntropyLoss()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch: 0, Train Loss: 0.372057\n", + "epoch: 1, Train Loss: 0.186132\n", + "epoch: 2, Train Loss: 0.132870\n", + "epoch: 3, Train Loss: 0.107864\n", + "epoch: 4, Train Loss: 0.091208\n", + "使用时间: 85.96051 s\n" + ] + } + ], + "source": [ + "train_data = DataLoader(train_set, batch_size=64, shuffle=True)\n", + "# 使用 Sequential 定义 3 层神经网络\n", + "net = nn.Sequential(\n", + " nn.Linear(784, 200),\n", + " nn.ReLU(),\n", + " nn.Linear(200, 10),\n", + ")\n", + "\n", + "# 初始化梯度平方项和动量项\n", + "sqrs = []\n", + "vs = []\n", + "for param in net.parameters():\n", + " sqrs.append(torch.zeros_like(param.data))\n", + " vs.append(torch.zeros_like(param.data))\n", + "t = 1\n", + "# 开始训练\n", + "losses = []\n", + "idx = 0\n", + "\n", + "start = time.time() # 记时开始\n", + "for e in range(5):\n", + " train_loss = 0\n", + " for im, label in train_data:\n", + " im = Variable(im)\n", + " label = Variable(label)\n", + " # 前向传播\n", + " out = net(im)\n", + " loss = criterion(out, label)\n", + " # 反向传播\n", + " net.zero_grad()\n", + " loss.backward()\n", + " adam(net.parameters(), vs, sqrs, 1e-3, t) # 学习率设为 0.001\n", + " t += 1\n", + " # 记录误差\n", + " train_loss += loss.data[0]\n", + " if idx % 30 == 0:\n", + " losses.append(loss.data[0])\n", + " idx += 1\n", + " print('epoch: {}, Train Loss: {:.6f}'\n", + " .format(e, train_loss / len(train_data)))\n", + "end = time.time() # 计时结束\n", + "print('使用时间: {:.5f} s'.format(end - start))" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x_axis = np.linspace(0, 5, len(losses), endpoint=True)\n", + "plt.semilogy(x_axis, losses, label='adam')\n", + "plt.legend(loc='best')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到使用 adam 算法 loss 能够更快更好地收敛,但是一定要小心学习率的设定,使用自适应的算法一般需要更小的学习率\n", + "\n", + "当然 pytorch 中也内置了 adam 的实现,只需要调用 `torch.optim.Adam()`,下面是例子" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch: 0, Train Loss: 0.359934\n", + "epoch: 1, Train Loss: 0.173360\n", + "epoch: 2, Train Loss: 0.122554\n", + "epoch: 3, Train Loss: 0.100869\n", + "epoch: 4, Train Loss: 0.085850\n", + "使用时间: 93.85302 s\n" + ] + } + ], + "source": [ + "train_data = DataLoader(train_set, batch_size=64, shuffle=True)\n", + "# 使用 Sequential 定义 3 层神经网络\n", + "net = nn.Sequential(\n", + " nn.Linear(784, 200),\n", + " nn.ReLU(),\n", + " nn.Linear(200, 10),\n", + ")\n", + "\n", + "optimizer = torch.optim.Adam(net.parameters(), lr=1e-3)\n", + " \n", + "# 开始训练\n", + "start = time.time() # 记时开始\n", + "for e in range(5):\n", + " train_loss = 0\n", + " for im, label in train_data:\n", + " im = Variable(im)\n", + " label = Variable(label)\n", + " # 前向传播\n", + " out = net(im)\n", + " loss = criterion(out, label)\n", + " # 反向传播\n", + " optimizer.zero_grad()\n", + " loss.backward()\n", + " optimizer.step()\n", + " # 记录误差\n", + " train_loss += loss.data[0]\n", + " print('epoch: {}, Train Loss: {:.6f}'\n", + " .format(e, train_loss / len(train_data)))\n", + "end = time.time() # 计时结束\n", + "print('使用时间: {:.5f} s'.format(end - start))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "这是我们讲的最后一个优化算法,下面放一张各个优化算法的对比图结束这一节的内容\n", + "\n", + "![](https://raw.githubusercontent.com/cs231n/cs231n.github.io/master/assets/nn3/opt1.gif)\n", + "\n", + "![](https://raw.githubusercontent.com/cs231n/cs231n.github.io/master/assets/nn3/opt2.gif)\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "这两张图生动形象地展示了各种优化算法的实际效果" + ] + } + ], + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/1_NN/optimizer/adam.py b/2_pytorch/1_NN/optimizer/adam.py new file mode 100644 index 0000000..4875d40 --- /dev/null +++ b/2_pytorch/1_NN/optimizer/adam.py @@ -0,0 +1,182 @@ +# -*- coding: utf-8 -*- +# --- +# jupyter: +# jupytext_format_version: '1.2' +# 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.5.2 +# --- + +# # Adam +# Adam 是一个结合了动量法和 RMSProp 的优化算法,其结合了两者的优点。 +# +# ## Adam 算法 +# Adam 算法会使用一个动量变量 v 和一个 RMSProp 中的梯度元素平方的移动指数加权平均 s,首先将他们全部初始化为 0,然后在每次迭代中,计算他们的移动加权平均进行更新 +# +# $$ +# v = \beta_1 v + (1 - \beta_1) g \\ +# s = \beta_2 s + (1 - \beta_2) g^2 +# $$ +# +# 在 adam 算法里,为了减轻 v 和 s 被初始化为 0 的初期对计算指数加权移动平均的影响,每次 v 和 s 都做下面的修正 +# +# $$ +# \hat{v} = \frac{v}{1 - \beta_1^t} \\ +# \hat{s} = \frac{s}{1 - \beta_2^t} +# $$ +# +# 这里 t 是迭代次数,可以看到,当 $0 \leq \beta_1, \beta_2 \leq 1$ 的时候,迭代到后期 t 比较大,那么 $\beta_1^t$ 和 $\beta_2^t$ 就几乎为 0,就不会对 v 和 s 有任何影响了,算法作者建议$\beta_1 = 0.9$, $\beta_2 = 0.999$。 +# +# 最后使用修正之后的 $\hat{v}$ 和 $\hat{s}$ 进行学习率的重新计算 +# +# $$ +# g' = \frac{\eta \hat{v}}{\sqrt{\hat{s} + \epsilon}} +# $$ +# +# 这里 $\eta$ 是学习率,$epsilon$ 仍然是为了数值稳定性而添加的常数,最后参数更新有 +# +# $$ +# \theta_i = \theta_{i-1} - g' +# $$ + +# 下面我们来实现以下 adam 算法 + +def adam(parameters, vs, sqrs, lr, t, beta1=0.9, beta2=0.999): + eps = 1e-8 + for param, v, sqr in zip(parameters, vs, sqrs): + v[:] = beta1 * v + (1 - beta1) * param.grad.data + sqr[:] = beta2 * sqr + (1 - beta2) * param.grad.data ** 2 + v_hat = v / (1 - beta1 ** t) + s_hat = sqr / (1 - beta2 ** t) + param.data = param.data - lr * v_hat / torch.sqrt(s_hat + eps) + +# + +import numpy as np +import torch +from torchvision.datasets import MNIST # 导入 pytorch 内置的 mnist 数据 +from torch.utils.data import DataLoader +from torch import nn +from torch.autograd import Variable +import time +import matplotlib.pyplot as plt +# %matplotlib inline + +def data_tf(x): + x = np.array(x, dtype='float32') / 255 + x = (x - 0.5) / 0.5 # 标准化,这个技巧之后会讲到 + x = x.reshape((-1,)) # 拉平 + x = torch.from_numpy(x) + return x + +train_set = MNIST('./data', train=True, transform=data_tf, download=True) # 载入数据集,申明定义的数据变换 +test_set = MNIST('./data', train=False, transform=data_tf, download=True) + +# 定义 loss 函数 +criterion = nn.CrossEntropyLoss() + +# + +train_data = DataLoader(train_set, batch_size=64, shuffle=True) +# 使用 Sequential 定义 3 层神经网络 +net = nn.Sequential( + nn.Linear(784, 200), + nn.ReLU(), + nn.Linear(200, 10), +) + +# 初始化梯度平方项和动量项 +sqrs = [] +vs = [] +for param in net.parameters(): + sqrs.append(torch.zeros_like(param.data)) + vs.append(torch.zeros_like(param.data)) +t = 1 +# 开始训练 +losses = [] +idx = 0 + +start = time.time() # 记时开始 +for e in range(5): + train_loss = 0 + for im, label in train_data: + im = Variable(im) + label = Variable(label) + # 前向传播 + out = net(im) + loss = criterion(out, label) + # 反向传播 + net.zero_grad() + loss.backward() + adam(net.parameters(), vs, sqrs, 1e-3, t) # 学习率设为 0.001 + t += 1 + # 记录误差 + train_loss += loss.data[0] + if idx % 30 == 0: + losses.append(loss.data[0]) + idx += 1 + print('epoch: {}, Train Loss: {:.6f}' + .format(e, train_loss / len(train_data))) +end = time.time() # 计时结束 +print('使用时间: {:.5f} s'.format(end - start)) +# - + +x_axis = np.linspace(0, 5, len(losses), endpoint=True) +plt.semilogy(x_axis, losses, label='adam') +plt.legend(loc='best') + +# 可以看到使用 adam 算法 loss 能够更快更好地收敛,但是一定要小心学习率的设定,使用自适应的算法一般需要更小的学习率 +# +# 当然 pytorch 中也内置了 adam 的实现,只需要调用 `torch.optim.Adam()`,下面是例子 + +# + +train_data = DataLoader(train_set, batch_size=64, shuffle=True) +# 使用 Sequential 定义 3 层神经网络 +net = nn.Sequential( + nn.Linear(784, 200), + nn.ReLU(), + nn.Linear(200, 10), +) + +optimizer = torch.optim.Adam(net.parameters(), lr=1e-3) + +# 开始训练 +start = time.time() # 记时开始 +for e in range(5): + train_loss = 0 + for im, label in train_data: + im = Variable(im) + label = Variable(label) + # 前向传播 + out = net(im) + loss = criterion(out, label) + # 反向传播 + optimizer.zero_grad() + loss.backward() + optimizer.step() + # 记录误差 + train_loss += loss.data[0] + print('epoch: {}, Train Loss: {:.6f}' + .format(e, train_loss / len(train_data))) +end = time.time() # 计时结束 +print('使用时间: {:.5f} s'.format(end - start)) +# - + +# 这是我们讲的最后一个优化算法,下面放一张各个优化算法的对比图结束这一节的内容 +# +# ![](https://raw.githubusercontent.com/cs231n/cs231n.github.io/master/assets/nn3/opt1.gif) +# +# ![](https://raw.githubusercontent.com/cs231n/cs231n.github.io/master/assets/nn3/opt2.gif) +# +# + +# 这两张图生动形象地展示了各种优化算法的实际效果 diff --git a/2_pytorch/1_NN/optimizer/momentum.ipynb b/2_pytorch/1_NN/optimizer/momentum.ipynb new file mode 100644 index 0000000..da9019f --- /dev/null +++ b/2_pytorch/1_NN/optimizer/momentum.ipynb @@ -0,0 +1,396 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 动量法\n", + "使用梯度下降法,每次都会朝着目标函数下降最快的方向,这也称为最速下降法。这种更新方法看似非常快,实际上存在一些问题。\n", + "\n", + "## 梯度下降法的问题\n", + "考虑一个二维输入,$[x_1, x_2]$,输出的损失函数 $L: R^2 \\rightarrow R$,下面是这个函数的等高线\n", + "\n", + "![](https://ws1.sinaimg.cn/large/006tKfTcly1fmnketw5f4j30az04lq31.jpg)\n", + "\n", + "可以想象成一个很扁的漏斗,这样在竖直方向上,梯度就非常大,在水平方向上,梯度就相对较小,所以我们在设置学习率的时候就不能设置太大,为了防止竖直方向上参数更新太过了,这样一个较小的学习率又导致了水平方向上参数在更新的时候太过于缓慢,所以就导致最终收敛起来非常慢。\n", + "\n", + "## 动量法\n", + "动量法的提出就是为了应对这个问题,我们梯度下降法做一个修改如下\n", + "\n", + "$$\n", + "v_i = \\gamma v_{i-1} + \\eta \\nabla L(\\theta)\n", + "$$\n", + "$$\n", + "\\theta_i = \\theta_{i-1} - v_i\n", + "$$\n", + "\n", + "其中 $v_i$ 是当前速度,$\\gamma$ 是动量参数,是一个小于 1的正数,$\\eta$ 是学习率" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "相当于每次在进行参数更新的时候,都会将之前的速度考虑进来,每个参数在各方向上的移动幅度不仅取决于当前的梯度,还取决于过去各个梯度在各个方向上是否一致,如果一个梯度一直沿着当前方向进行更新,那么每次更新的幅度就越来越大,如果一个梯度在一个方向上不断变化,那么其更新幅度就会被衰减,这样我们就可以使用一个较大的学习率,使得收敛更快,同时梯度比较大的方向就会因为动量的关系每次更新的幅度减少,如下图\n", + "\n", + "![](https://ws1.sinaimg.cn/large/006tNc79gy1fmo5l53o76j30ak04gjrh.jpg)\n", + "\n", + "比如我们的梯度每次都等于 g,而且方向都相同,那么动量法在该方向上使参数加速移动,有下面的公式:\n", + "\n", + "$$\n", + "v_0 = 0\n", + "$$\n", + "$$\n", + "v_1 = \\gamma v_0 + \\eta g = \\eta g\n", + "$$\n", + "$$\n", + "v_2 = \\gamma v_1 + \\eta g = (1 + \\gamma) \\eta g\n", + "$$\n", + "$$\n", + "v_3 = \\gamma v_2 + \\eta g = (1 + \\gamma + \\gamma^2) \\eta g\n", + "$$\n", + "$$\n", + "\\cdots\n", + "$$\n", + "$$\n", + "v_{+ \\infty} = (1 + \\gamma + \\gamma^2 + \\gamma^3 + \\cdots) \\eta g = \\frac{1}{1 - \\gamma} \\eta g\n", + "$$\n", + "\n", + "如果我们把 $\\gamma$ 定为 0.9,那么更新幅度的峰值就是原本梯度乘学习率的 10 倍。\n", + "\n", + "本质上说,动量法就仿佛我们从高坡上推一个球,小球在向下滚动的过程中积累了动量,在途中也会变得越来越快,最后会达到一个峰值,对应于我们的算法中就是,动量项会沿着梯度指向方向相同的方向不断增大,对于梯度方向改变的方向逐渐减小,得到了更快的收敛速度以及更小的震荡。\n", + "\n", + "下面我们手动实现一个动量法,公式已经在上面了" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def sgd_momentum(parameters, vs, lr, gamma):\n", + " for param, v in zip(parameters, vs):\n", + " v[:] = gamma * v + lr * param.grad.data\n", + " param.data = param.data - v" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import torch\n", + "from torchvision.datasets import MNIST # 导入 pytorch 内置的 mnist 数据\n", + "from torch.utils.data import DataLoader\n", + "from torch import nn\n", + "from torch.autograd import Variable\n", + "import time\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline\n", + "\n", + "def data_tf(x):\n", + " x = np.array(x, dtype='float32') / 255\n", + " x = (x - 0.5) / 0.5 # 标准化,这个技巧之后会讲到\n", + " x = x.reshape((-1,)) # 拉平\n", + " x = torch.from_numpy(x)\n", + " return x\n", + "\n", + "train_set = MNIST('./data', train=True, transform=data_tf, download=True) # 载入数据集,申明定义的数据变换\n", + "test_set = MNIST('./data', train=False, transform=data_tf, download=True)\n", + "\n", + "# 定义 loss 函数\n", + "criterion = nn.CrossEntropyLoss()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch: 0, Train Loss: 0.367609\n", + "epoch: 1, Train Loss: 0.168976\n", + "epoch: 2, Train Loss: 0.123189\n", + "epoch: 3, Train Loss: 0.100595\n", + "epoch: 4, Train Loss: 0.083965\n", + "使用时间: 69.73666 s\n" + ] + } + ], + "source": [ + "train_data = DataLoader(train_set, batch_size=64, shuffle=True)\n", + "# 使用 Sequential 定义 3 层神经网络\n", + "net = nn.Sequential(\n", + " nn.Linear(784, 200),\n", + " nn.ReLU(),\n", + " nn.Linear(200, 10),\n", + ")\n", + "\n", + "# 将速度初始化为和参数形状相同的零张量\n", + "vs = []\n", + "for param in net.parameters():\n", + " vs.append(torch.zeros_like(param.data))\n", + " \n", + "# 开始训练\n", + "losses = []\n", + "\n", + "start = time.time() # 记时开始\n", + "for e in range(5):\n", + " train_loss = 0\n", + " for im, label in train_data:\n", + " im = Variable(im)\n", + " label = Variable(label)\n", + " # 前向传播\n", + " out = net(im)\n", + " loss = criterion(out, label)\n", + " # 反向传播\n", + " net.zero_grad()\n", + " loss.backward()\n", + " sgd_momentum(net.parameters(), vs, 1e-2, 0.9) # 使用的动量参数为 0.9,学习率 0.01\n", + " # 记录误差\n", + " train_loss += loss.data[0]\n", + " \n", + " losses.append(loss.data[0])\n", + " print('epoch: {}, Train Loss: {:.6f}'\n", + " .format(e, train_loss / len(train_data)))\n", + "end = time.time() # 计时结束\n", + "print('使用时间: {:.5f} s'.format(end - start))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到,加完动量之后 loss 能下降非常快,但是一定要小心学习率和动量参数,这两个值会直接影响到参数每次更新的幅度,所以可以多试几个值" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "当然,pytorch 内置了动量法的实现,非常简单,直接在 `torch.optim.SGD(momentum=0.9)` 即可,下面实现一下" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch: 0, Train Loss: 0.369134\n", + "epoch: 1, Train Loss: 0.176699\n", + "epoch: 2, Train Loss: 0.125531\n", + "epoch: 3, Train Loss: 0.100507\n", + "epoch: 4, Train Loss: 0.083820\n", + "使用时间: 63.79601 s\n" + ] + } + ], + "source": [ + "train_data = DataLoader(train_set, batch_size=64, shuffle=True)\n", + "# 使用 Sequential 定义 3 层神经网络\n", + "net = nn.Sequential(\n", + " nn.Linear(784, 200),\n", + " nn.ReLU(),\n", + " nn.Linear(200, 10),\n", + ")\n", + "\n", + "optimizer = torch.optim.SGD(net.parameters(), lr=1e-2, momentum=0.9) # 加动量\n", + "# 开始训练\n", + "losses = []\n", + "idx = 0\n", + "start = time.time() # 记时开始\n", + "for e in range(5):\n", + " train_loss = 0\n", + " for im, label in train_data:\n", + " im = Variable(im)\n", + " label = Variable(label)\n", + " # 前向传播\n", + " out = net(im)\n", + " loss = criterion(out, label)\n", + " # 反向传播\n", + " optimizer.zero_grad()\n", + " loss.backward()\n", + " optimizer.step()\n", + " # 记录误差\n", + " train_loss += loss.data[0]\n", + " if idx % 30 == 0: # 30 步记录一次\n", + " losses.append(loss.data[0])\n", + " idx += 1\n", + " print('epoch: {}, Train Loss: {:.6f}'\n", + " .format(e, train_loss / len(train_data)))\n", + "end = time.time() # 计时结束\n", + "print('使用时间: {:.5f} s'.format(end - start))" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAAD8CAYAAAB+UHOxAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsvXmUXFd97/vddYaaq0d1qzVP1mBZkgd5whiMwcHEmABO\nuCQkBEIgEOCyLusFuPfmgUlyCSRk8fKekzhcY4aXGJwYgm3AhvjFBjwEWbJlWZY1qy21hp67a65T\n59R5f5yz9xlq7O6q7uru32ctL7m7q07tmvZ3/2ZmmiYIgiCI5UdgoRdAEARBLAwkAARBEMsUEgCC\nIIhlCgkAQRDEMoUEgCAIYplCAkAQBLFMIQEgCIJYppAAEARBLFNIAAiCIJYp8kIvoBa9vb3mhg0b\nFnoZBEEQi4YDBw6Mmaa5opHbtrUAbNiwAfv371/oZRAEQSwaGGOvNXpbcgERBEEsU0gACIIglikk\nAARBEMuUto4BEATRXIrFIoaGhpDP5xd6KcQcCYVCWLNmDRRFmfU1SAAIYhkxNDSEeDyODRs2gDG2\n0MshZolpmhgfH8fQ0BA2btw46+uQC4gglhH5fB49PT20+S9yGGPo6emZsyVHAkAQywza/JcGzXgf\nl6QAfPOZM3j0pQsLvQyCIIi2ZkkKwAO/OosfH7q40MsgCGKRcPDgQfzkJz+Zl8d6/PHHsW3bNmzZ\nsgVf/vKXK95mcnIS73rXu7B7925cd911OHz4cEvWsiQFIBqUkdH0hV4GQRCLhPkSAMMw8PGPfxyP\nPfYYjhw5gu9+97s4cuRI2e2+9KUv4corr8ShQ4fwne98B5/61Kdasp4lKQCxoIx0gQSAINqNwcFB\nbN++HR/4wAewdetWvO9978MTTzyBm266CZdddhn27dsHAJiYmMA73/lO7N69GzfccAMOHToEALj7\n7rvx+7//+7j55puxfv16/OAHP8BnPvMZ7Nq1C7fffjuKxSIA4MCBA3jjG9+Ia665Bm9961tx8aLl\nEbjlllvw2c9+Ftdddx22bt2KX/7yl9A0DZ///Ofx4IMP4sorr8SDDz6Iu+++G1/96lfFuq+44goM\nDg42vP5q7Nu3D1u2bMGmTZugqire+9734uGHHy673ZEjR3DrrbcCALZv347BwUEMDw/P/Q3wsSTT\nQKNBCSMpynMmiFp88dFXcORCsqnXvHxVAl+4c2fN25w8eRL/+q//ivvvvx/XXnstHnjgATz99NN4\n5JFH8KUvfQk//OEP8YUvfAFXXXUVfvjDH+I//uM/8P73vx8HDx4EAJw6dQpPPvkkjhw5ghtvvBHf\n//738Vd/9Vd417vehR//+Me444478MlPfhIPP/wwVqxYgQcffBD/83/+T9x///0AAF3XsW/fPvzk\nJz/BF7/4RTzxxBP4sz/7M+zfvx/33HMPAEto5rL+/fv3495778V9993nue/58+exdu1a8fOaNWvw\nq1/9quwx9uzZgx/84Ae4+eabsW/fPrz22msYGhpCf39/Q+9DoyxRAZCRKRgLvQyCICqwceNG7Nq1\nCwCwc+dOvPnNbwZjDLt27cLg4CAA4Omnn8b3v/99AMCtt96K8fFxJJOWWL3tbW+DoijYtWsXDMPA\n7bffDgDi/seOHcPhw4dx2223AbDcLgMDA+Lx3/3udwMArrnmGvF4zV7/3r17yzb/mfC5z30On/rU\np3DllVdi165duOqqqyBJ0qyvV422FADG2J0A7tyyZcus7k8uIIKoT72TeqsIBoPi/wOBgPg5EAhA\n1+t/b923VxRFpEPy+5umiZ07d+K5556reX9Jkqo+nizLKJVK4md3vv1c1r969WqcO3dO/Dw0NITV\nq1eX3S6RSOCb3/wmAKvoa+PGjdi0aVPNa8+GtowBmKb5qGmaH+no6JjV/S0LwPogEASx+Lj55pvx\nz//8zwCAp556Cr29vUgkEg3dd9u2bRgdHRUCUCwW8corr9S8TzweRyqVEj9v2LABL7zwAgDghRde\nwJkzZ2bzNMq49tprceLECZw5cwaapuF73/se3vGOd5TdbmpqCpqmAQDuu+8+vOENb2j4+c+EthSA\nuRILytBLJgp6qf6NCYJoO+6++24cOHAAu3fvxuc+9zl8+9vfbvi+qqrioYcewmc/+1ns2bMHV155\nJZ599tma93nTm96EI0eOiCDwXXfdhYmJCezcuRP33HMPtm7dOqP179+/H3/4h39Y9ntZlnHPPffg\nrW99K3bs2IH3vOc92LnTssTuvfde3HvvvQCAV199FVdccQW2bduGxx57DH/7t387o8dvFNbOp+S9\ne/easxkI8+1nB/GFR17BgT99C3piwfp3IIhlwquvvoodO3Ys9DKIJlHp/WSMHTBNc28j91+SFkA0\naIU2KBBMEARRnSUpALGgFS1PFYoLvBKCIIj2ZUkKAFkABFGddnb7Eo3TjPdxiQsApYIShJtQKITx\n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\nSgFERAzqLxIbIBORLYJtAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x_axis = np.linspace(0, 5, len(losses), endpoint=True)\n", + "plt.semilogy(x_axis, losses, label='momentum: 0.9')\n", + "plt.legend(loc='best')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "我们可以对比一下不加动量的随机梯度下降法" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch: 0, Train Loss: 0.735494\n", + "epoch: 1, Train Loss: 0.364616\n", + "epoch: 2, Train Loss: 0.318786\n", + "epoch: 3, Train Loss: 0.290835\n", + "epoch: 4, Train Loss: 0.268683\n", + "使用时间: 50.32162 s\n" + ] + } + ], + "source": [ + "# 使用 Sequential 定义 3 层神经网络\n", + "net = nn.Sequential(\n", + " nn.Linear(784, 200),\n", + " nn.ReLU(),\n", + " nn.Linear(200, 10),\n", + ")\n", + "\n", + "optimizer = torch.optim.SGD(net.parameters(), lr=1e-2) # 不加动量\n", + "# 开始训练\n", + "losses1 = []\n", + "idx = 0\n", + "start = time.time() # 记时开始\n", + "for e in range(5):\n", + " train_loss = 0\n", + " for im, label in train_data:\n", + " im = Variable(im)\n", + " label = Variable(label)\n", + " # 前向传播\n", + " out = net(im)\n", + " loss = criterion(out, label)\n", + " # 反向传播\n", + " optimizer.zero_grad()\n", + " loss.backward()\n", + " optimizer.step()\n", + " # 记录误差\n", + " train_loss += loss.data[0]\n", + " if idx % 30 == 0: # 30 步记录一次\n", + " losses1.append(loss.data[0])\n", + " idx += 1\n", + " print('epoch: {}, Train Loss: {:.6f}'\n", + " .format(e, train_loss / len(train_data)))\n", + "end = time.time() # 计时结束\n", + "print('使用时间: {:.5f} s'.format(end - start))" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x_axis = np.linspace(0, 5, len(losses), endpoint=True)\n", + "plt.semilogy(x_axis, losses, label='momentum: 0.9')\n", + "plt.semilogy(x_axis, losses1, label='no momentum')\n", + "plt.legend(loc='best')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到加完动量之后的 loss 下降的程度更低了,可以将动量理解为一种惯性作用,所以每次更新的幅度都会比不加动量的情况更多" + ] + } + ], + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/1_NN/optimizer/momentum.py b/2_pytorch/1_NN/optimizer/momentum.py new file mode 100644 index 0000000..1135a14 --- /dev/null +++ b/2_pytorch/1_NN/optimizer/momentum.py @@ -0,0 +1,231 @@ +# -*- coding: utf-8 -*- +# --- +# jupyter: +# jupytext_format_version: '1.2' +# 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.5.2 +# --- + +# # 动量法 +# 使用梯度下降法,每次都会朝着目标函数下降最快的方向,这也称为最速下降法。这种更新方法看似非常快,实际上存在一些问题。 +# +# ## 梯度下降法的问题 +# 考虑一个二维输入,$[x_1, x_2]$,输出的损失函数 $L: R^2 \rightarrow R$,下面是这个函数的等高线 +# +# ![](https://ws1.sinaimg.cn/large/006tKfTcly1fmnketw5f4j30az04lq31.jpg) +# +# 可以想象成一个很扁的漏斗,这样在竖直方向上,梯度就非常大,在水平方向上,梯度就相对较小,所以我们在设置学习率的时候就不能设置太大,为了防止竖直方向上参数更新太过了,这样一个较小的学习率又导致了水平方向上参数在更新的时候太过于缓慢,所以就导致最终收敛起来非常慢。 +# +# ## 动量法 +# 动量法的提出就是为了应对这个问题,我们梯度下降法做一个修改如下 +# +# $$ +# v_i = \gamma v_{i-1} + \eta \nabla L(\theta) +# $$ +# $$ +# \theta_i = \theta_{i-1} - v_i +# $$ +# +# 其中 $v_i$ 是当前速度,$\gamma$ 是动量参数,是一个小于 1的正数,$\eta$ 是学习率 + +# 相当于每次在进行参数更新的时候,都会将之前的速度考虑进来,每个参数在各方向上的移动幅度不仅取决于当前的梯度,还取决于过去各个梯度在各个方向上是否一致,如果一个梯度一直沿着当前方向进行更新,那么每次更新的幅度就越来越大,如果一个梯度在一个方向上不断变化,那么其更新幅度就会被衰减,这样我们就可以使用一个较大的学习率,使得收敛更快,同时梯度比较大的方向就会因为动量的关系每次更新的幅度减少,如下图 +# +# ![](https://ws1.sinaimg.cn/large/006tNc79gy1fmo5l53o76j30ak04gjrh.jpg) +# +# 比如我们的梯度每次都等于 g,而且方向都相同,那么动量法在该方向上使参数加速移动,有下面的公式: +# +# $$ +# v_0 = 0 +# $$ +# $$ +# v_1 = \gamma v_0 + \eta g = \eta g +# $$ +# $$ +# v_2 = \gamma v_1 + \eta g = (1 + \gamma) \eta g +# $$ +# $$ +# v_3 = \gamma v_2 + \eta g = (1 + \gamma + \gamma^2) \eta g +# $$ +# $$ +# \cdots +# $$ +# $$ +# v_{+ \infty} = (1 + \gamma + \gamma^2 + \gamma^3 + \cdots) \eta g = \frac{1}{1 - \gamma} \eta g +# $$ +# +# 如果我们把 $\gamma$ 定为 0.9,那么更新幅度的峰值就是原本梯度乘学习率的 10 倍。 +# +# 本质上说,动量法就仿佛我们从高坡上推一个球,小球在向下滚动的过程中积累了动量,在途中也会变得越来越快,最后会达到一个峰值,对应于我们的算法中就是,动量项会沿着梯度指向方向相同的方向不断增大,对于梯度方向改变的方向逐渐减小,得到了更快的收敛速度以及更小的震荡。 +# +# 下面我们手动实现一个动量法,公式已经在上面了 + +def sgd_momentum(parameters, vs, lr, gamma): + for param, v in zip(parameters, vs): + v[:] = gamma * v + lr * param.grad.data + param.data = param.data - v + +# + +import numpy as np +import torch +from torchvision.datasets import MNIST # 导入 pytorch 内置的 mnist 数据 +from torch.utils.data import DataLoader +from torch import nn +from torch.autograd import Variable +import time +import matplotlib.pyplot as plt +# %matplotlib inline + +def data_tf(x): + x = np.array(x, dtype='float32') / 255 + x = (x - 0.5) / 0.5 # 标准化,这个技巧之后会讲到 + x = x.reshape((-1,)) # 拉平 + x = torch.from_numpy(x) + return x + +train_set = MNIST('./data', train=True, transform=data_tf, download=True) # 载入数据集,申明定义的数据变换 +test_set = MNIST('./data', train=False, transform=data_tf, download=True) + +# 定义 loss 函数 +criterion = nn.CrossEntropyLoss() + +# + +train_data = DataLoader(train_set, batch_size=64, shuffle=True) +# 使用 Sequential 定义 3 层神经网络 +net = nn.Sequential( + nn.Linear(784, 200), + nn.ReLU(), + nn.Linear(200, 10), +) + +# 将速度初始化为和参数形状相同的零张量 +vs = [] +for param in net.parameters(): + vs.append(torch.zeros_like(param.data)) + +# 开始训练 +losses = [] + +start = time.time() # 记时开始 +for e in range(5): + train_loss = 0 + for im, label in train_data: + im = Variable(im) + label = Variable(label) + # 前向传播 + out = net(im) + loss = criterion(out, label) + # 反向传播 + net.zero_grad() + loss.backward() + sgd_momentum(net.parameters(), vs, 1e-2, 0.9) # 使用的动量参数为 0.9,学习率 0.01 + # 记录误差 + train_loss += loss.data[0] + + losses.append(loss.data[0]) + print('epoch: {}, Train Loss: {:.6f}' + .format(e, train_loss / len(train_data))) +end = time.time() # 计时结束 +print('使用时间: {:.5f} s'.format(end - start)) +# - + +# 可以看到,加完动量之后 loss 能下降非常快,但是一定要小心学习率和动量参数,这两个值会直接影响到参数每次更新的幅度,所以可以多试几个值 + +# 当然,pytorch 内置了动量法的实现,非常简单,直接在 `torch.optim.SGD(momentum=0.9)` 即可,下面实现一下 + +# + +train_data = DataLoader(train_set, batch_size=64, shuffle=True) +# 使用 Sequential 定义 3 层神经网络 +net = nn.Sequential( + nn.Linear(784, 200), + nn.ReLU(), + nn.Linear(200, 10), +) + +optimizer = torch.optim.SGD(net.parameters(), lr=1e-2, momentum=0.9) # 加动量 +# 开始训练 +losses = [] +idx = 0 +start = time.time() # 记时开始 +for e in range(5): + train_loss = 0 + for im, label in train_data: + im = Variable(im) + label = Variable(label) + # 前向传播 + out = net(im) + loss = criterion(out, label) + # 反向传播 + optimizer.zero_grad() + loss.backward() + optimizer.step() + # 记录误差 + train_loss += loss.data[0] + if idx % 30 == 0: # 30 步记录一次 + losses.append(loss.data[0]) + idx += 1 + print('epoch: {}, Train Loss: {:.6f}' + .format(e, train_loss / len(train_data))) +end = time.time() # 计时结束 +print('使用时间: {:.5f} s'.format(end - start)) +# - + +x_axis = np.linspace(0, 5, len(losses), endpoint=True) +plt.semilogy(x_axis, losses, label='momentum: 0.9') +plt.legend(loc='best') + +# 我们可以对比一下不加动量的随机梯度下降法 + +# + +# 使用 Sequential 定义 3 层神经网络 +net = nn.Sequential( + nn.Linear(784, 200), + nn.ReLU(), + nn.Linear(200, 10), +) + +optimizer = torch.optim.SGD(net.parameters(), lr=1e-2) # 不加动量 +# 开始训练 +losses1 = [] +idx = 0 +start = time.time() # 记时开始 +for e in range(5): + train_loss = 0 + for im, label in train_data: + im = Variable(im) + label = Variable(label) + # 前向传播 + out = net(im) + loss = criterion(out, label) + # 反向传播 + optimizer.zero_grad() + loss.backward() + optimizer.step() + # 记录误差 + train_loss += loss.data[0] + if idx % 30 == 0: # 30 步记录一次 + losses1.append(loss.data[0]) + idx += 1 + print('epoch: {}, Train Loss: {:.6f}' + .format(e, train_loss / len(train_data))) +end = time.time() # 计时结束 +print('使用时间: {:.5f} s'.format(end - start)) +# - + +x_axis = np.linspace(0, 5, len(losses), endpoint=True) +plt.semilogy(x_axis, losses, label='momentum: 0.9') +plt.semilogy(x_axis, losses1, label='no momentum') +plt.legend(loc='best') + +# 可以看到加完动量之后的 loss 下降的程度更低了,可以将动量理解为一种惯性作用,所以每次更新的幅度都会比不加动量的情况更多 diff --git a/2_pytorch/1_NN/optimizer/rmsprop.ipynb b/2_pytorch/1_NN/optimizer/rmsprop.ipynb new file mode 100644 index 0000000..e55cced --- /dev/null +++ b/2_pytorch/1_NN/optimizer/rmsprop.ipynb @@ -0,0 +1,347 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# RMSProp\n", + "RMSprop 是由 Geoff Hinton 在他 Coursera 课程中提出的一种适应性学习率方法,至今仍未被公开发表。前面我们提到了 Adagrad 算法有一个问题,就是学习率分母上的变量 s 不断被累加增大,最后会导致学习率除以一个比较大的数之后变得非常小,这不利于我们找到最后的最优解,所以 RMSProp 的提出就是为了解决这个问题。\n", + "\n", + "## RMSProp 算法\n", + "RMSProp 仍然会使用梯度的平方量,不同于 Adagrad,其会使用一个指数加权移动平均来计算这个 s,也就是\n", + "\n", + "$$\n", + "s_i = \\alpha s_{i-1} + (1 - \\alpha) \\ g^2\n", + "$$\n", + "\n", + "这里 g 表示当前求出的参数梯度,然后最终更新和 Adagrad 是一样的,学习率变成了\n", + "\n", + "$$\n", + "\\frac{\\eta}{\\sqrt{s + \\epsilon}}\n", + "$$\n", + "\n", + "这里 $\\alpha$ 是一个移动平均的系数,也是因为这个系数,导致了 RMSProp 和 Adagrad 不同的地方,这个系数使得 RMSProp 更新到后期累加的梯度平方较小,从而保证 s 不会太大,也就使得模型后期依然能够找到比较优的结果\n", + "\n", + "实现上和 Adagrad 非常像" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def rmsprop(parameters, sqrs, lr, alpha):\n", + " eps = 1e-10\n", + " for param, sqr in zip(parameters, sqrs):\n", + " sqr[:] = alpha * sqr + (1 - alpha) * param.grad.data ** 2\n", + " div = lr / torch.sqrt(sqr + eps) * param.grad.data\n", + " param.data = param.data - div" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import torch\n", + "from torchvision.datasets import MNIST # 导入 pytorch 内置的 mnist 数据\n", + "from torch.utils.data import DataLoader\n", + "from torch import nn\n", + "from torch.autograd import Variable\n", + "import time\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline\n", + "\n", + "def data_tf(x):\n", + " x = np.array(x, dtype='float32') / 255\n", + " x = (x - 0.5) / 0.5 # 标准化,这个技巧之后会讲到\n", + " x = x.reshape((-1,)) # 拉平\n", + " x = torch.from_numpy(x)\n", + " return x\n", + "\n", + "train_set = MNIST('./data', train=True, transform=data_tf, download=True) # 载入数据集,申明定义的数据变换\n", + "test_set = MNIST('./data', train=False, transform=data_tf, download=True)\n", + "\n", + "# 定义 loss 函数\n", + "criterion = nn.CrossEntropyLoss()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch: 0, Train Loss: 0.363507\n", + "epoch: 1, Train Loss: 0.161640\n", + "epoch: 2, Train Loss: 0.120954\n", + "epoch: 3, Train Loss: 0.101136\n", + "epoch: 4, Train Loss: 0.085934\n", + "使用时间: 58.86966 s\n" + ] + } + ], + "source": [ + "train_data = DataLoader(train_set, batch_size=64, shuffle=True)\n", + "# 使用 Sequential 定义 3 层神经网络\n", + "net = nn.Sequential(\n", + " nn.Linear(784, 200),\n", + " nn.ReLU(),\n", + " nn.Linear(200, 10),\n", + ")\n", + "\n", + "# 初始化梯度平方项\n", + "sqrs = []\n", + "for param in net.parameters():\n", + " sqrs.append(torch.zeros_like(param.data))\n", + " \n", + "# 开始训练\n", + "losses = []\n", + "idx = 0\n", + "start = time.time() # 记时开始\n", + "for e in range(5):\n", + " train_loss = 0\n", + " for im, label in train_data:\n", + " im = Variable(im)\n", + " label = Variable(label)\n", + " # 前向传播\n", + " out = net(im)\n", + " loss = criterion(out, label)\n", + " # 反向传播\n", + " net.zero_grad()\n", + " loss.backward()\n", + " rmsprop(net.parameters(), sqrs, 1e-3, 0.9) # 学习率设为 0.001,alpha 设为 0.9\n", + " # 记录误差\n", + " train_loss += loss.data[0]\n", + " if idx % 30 == 0:\n", + " losses.append(loss.data[0])\n", + " idx += 1\n", + " print('epoch: {}, Train Loss: {:.6f}'\n", + " .format(e, train_loss / len(train_data)))\n", + "end = time.time() # 计时结束\n", + "print('使用时间: {:.5f} s'.format(end - start))" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\ngg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x_axis = np.linspace(0, 5, len(losses), endpoint=True)\n", + "plt.semilogy(x_axis, losses, label='alpha=0.9')\n", + "plt.legend(loc='best')" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch: 0, Train Loss: 0.471134\n", + "epoch: 1, Train Loss: 0.188616\n", + "epoch: 2, Train Loss: 0.148085\n", + "epoch: 3, Train Loss: 0.124590\n", + "epoch: 4, Train Loss: 0.107619\n", + "使用时间: 70.13240 s\n" + ] + } + ], + "source": [ + "train_data = DataLoader(train_set, batch_size=64, shuffle=True)\n", + "# 使用 Sequential 定义 3 层神经网络\n", + "net = nn.Sequential(\n", + " nn.Linear(784, 200),\n", + " nn.ReLU(),\n", + " nn.Linear(200, 10),\n", + ")\n", + "\n", + "# 初始化梯度平方项\n", + "sqrs = []\n", + "for param in net.parameters():\n", + " sqrs.append(torch.zeros_like(param.data))\n", + " \n", + "# 开始训练\n", + "losses = []\n", + "idx = 0\n", + "\n", + "start = time.time() # 记时开始\n", + "for e in range(5):\n", + " train_loss = 0\n", + " for im, label in train_data:\n", + " im = Variable(im)\n", + " label = Variable(label)\n", + " # 前向传播\n", + " out = net(im)\n", + " loss = criterion(out, label)\n", + " # 反向传播\n", + " net.zero_grad()\n", + " loss.backward()\n", + " rmsprop(net.parameters(), sqrs, 1e-3, 0.999) # 学习率设为 0.001,alpha 设为 0.999\n", + " # 记录误差\n", + " train_loss += loss.data[0]\n", + " if idx % 30 == 0:\n", + " losses.append(loss.data[0])\n", + " idx += 1\n", + " print('epoch: {}, Train Loss: {:.6f}'\n", + " .format(e, train_loss / len(train_data)))\n", + "end = time.time() # 计时结束\n", + "print('使用时间: {:.5f} s'.format(end - start))" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x_axis = np.linspace(0, 5, len(losses), endpoint=True)\n", + "plt.semilogy(x_axis, losses, label='alpha=0.999')\n", + "plt.legend(loc='best')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**小练习:可以看到使用了不同的 alpha 会使得 loss 在下降过程中的震荡程度不同,想想为什么**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "当然 pytorch 也内置了 rmsprop 的方法,非常简单,只需要调用 `torch.optim.RMSprop()` 就可以了,下面是例子" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch: 0, Train Loss: 0.372473\n", + "epoch: 1, Train Loss: 0.164288\n", + "epoch: 2, Train Loss: 0.122384\n", + "epoch: 3, Train Loss: 0.100739\n", + "epoch: 4, Train Loss: 0.088391\n", + "使用时间: 85.15531 s\n" + ] + } + ], + "source": [ + "train_data = DataLoader(train_set, batch_size=64, shuffle=True)\n", + "# 使用 Sequential 定义 3 层神经网络\n", + "net = nn.Sequential(\n", + " nn.Linear(784, 200),\n", + " nn.ReLU(),\n", + " nn.Linear(200, 10),\n", + ")\n", + "\n", + "optimizer = torch.optim.RMSprop(net.parameters(), lr=1e-3, alpha=0.9)\n", + " \n", + "# 开始训练\n", + "\n", + "start = time.time() # 记时开始\n", + "for e in range(5):\n", + " train_loss = 0\n", + " for im, label in train_data:\n", + " im = Variable(im)\n", + " label = Variable(label)\n", + " # 前向传播\n", + " out = net(im)\n", + " loss = criterion(out, label)\n", + " # 反向传播\n", + " optimizer.zero_grad()\n", + " loss.backward()\n", + " optimizer.step()\n", + " # 记录误差\n", + " train_loss += loss.data[0]\n", + " print('epoch: {}, Train Loss: {:.6f}'\n", + " .format(e, train_loss / len(train_data)))\n", + "end = time.time() # 计时结束\n", + "print('使用时间: {:.5f} s'.format(end - start))" + ] + } + ], + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/1_NN/optimizer/rmsprop.py b/2_pytorch/1_NN/optimizer/rmsprop.py new file mode 100644 index 0000000..4547a7e --- /dev/null +++ b/2_pytorch/1_NN/optimizer/rmsprop.py @@ -0,0 +1,198 @@ +# -*- coding: utf-8 -*- +# --- +# jupyter: +# jupytext_format_version: '1.2' +# 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.5.2 +# --- + +# # RMSProp +# RMSprop 是由 Geoff Hinton 在他 Coursera 课程中提出的一种适应性学习率方法,至今仍未被公开发表。前面我们提到了 Adagrad 算法有一个问题,就是学习率分母上的变量 s 不断被累加增大,最后会导致学习率除以一个比较大的数之后变得非常小,这不利于我们找到最后的最优解,所以 RMSProp 的提出就是为了解决这个问题。 +# +# ## RMSProp 算法 +# RMSProp 仍然会使用梯度的平方量,不同于 Adagrad,其会使用一个指数加权移动平均来计算这个 s,也就是 +# +# $$ +# s_i = \alpha s_{i-1} + (1 - \alpha) \ g^2 +# $$ +# +# 这里 g 表示当前求出的参数梯度,然后最终更新和 Adagrad 是一样的,学习率变成了 +# +# $$ +# \frac{\eta}{\sqrt{s + \epsilon}} +# $$ +# +# 这里 $\alpha$ 是一个移动平均的系数,也是因为这个系数,导致了 RMSProp 和 Adagrad 不同的地方,这个系数使得 RMSProp 更新到后期累加的梯度平方较小,从而保证 s 不会太大,也就使得模型后期依然能够找到比较优的结果 +# +# 实现上和 Adagrad 非常像 + +def rmsprop(parameters, sqrs, lr, alpha): + eps = 1e-10 + for param, sqr in zip(parameters, sqrs): + sqr[:] = alpha * sqr + (1 - alpha) * param.grad.data ** 2 + div = lr / torch.sqrt(sqr + eps) * param.grad.data + param.data = param.data - div + +# + +import numpy as np +import torch +from torchvision.datasets import MNIST # 导入 pytorch 内置的 mnist 数据 +from torch.utils.data import DataLoader +from torch import nn +from torch.autograd import Variable +import time +import matplotlib.pyplot as plt +# %matplotlib inline + +def data_tf(x): + x = np.array(x, dtype='float32') / 255 + x = (x - 0.5) / 0.5 # 标准化,这个技巧之后会讲到 + x = x.reshape((-1,)) # 拉平 + x = torch.from_numpy(x) + return x + +train_set = MNIST('./data', train=True, transform=data_tf, download=True) # 载入数据集,申明定义的数据变换 +test_set = MNIST('./data', train=False, transform=data_tf, download=True) + +# 定义 loss 函数 +criterion = nn.CrossEntropyLoss() + +# + +train_data = DataLoader(train_set, batch_size=64, shuffle=True) +# 使用 Sequential 定义 3 层神经网络 +net = nn.Sequential( + nn.Linear(784, 200), + nn.ReLU(), + nn.Linear(200, 10), +) + +# 初始化梯度平方项 +sqrs = [] +for param in net.parameters(): + sqrs.append(torch.zeros_like(param.data)) + +# 开始训练 +losses = [] +idx = 0 +start = time.time() # 记时开始 +for e in range(5): + train_loss = 0 + for im, label in train_data: + im = Variable(im) + label = Variable(label) + # 前向传播 + out = net(im) + loss = criterion(out, label) + # 反向传播 + net.zero_grad() + loss.backward() + rmsprop(net.parameters(), sqrs, 1e-3, 0.9) # 学习率设为 0.001,alpha 设为 0.9 + # 记录误差 + train_loss += loss.data[0] + if idx % 30 == 0: + losses.append(loss.data[0]) + idx += 1 + print('epoch: {}, Train Loss: {:.6f}' + .format(e, train_loss / len(train_data))) +end = time.time() # 计时结束 +print('使用时间: {:.5f} s'.format(end - start)) +# - + +x_axis = np.linspace(0, 5, len(losses), endpoint=True) +plt.semilogy(x_axis, losses, label='alpha=0.9') +plt.legend(loc='best') + +# + +train_data = DataLoader(train_set, batch_size=64, shuffle=True) +# 使用 Sequential 定义 3 层神经网络 +net = nn.Sequential( + nn.Linear(784, 200), + nn.ReLU(), + nn.Linear(200, 10), +) + +# 初始化梯度平方项 +sqrs = [] +for param in net.parameters(): + sqrs.append(torch.zeros_like(param.data)) + +# 开始训练 +losses = [] +idx = 0 + +start = time.time() # 记时开始 +for e in range(5): + train_loss = 0 + for im, label in train_data: + im = Variable(im) + label = Variable(label) + # 前向传播 + out = net(im) + loss = criterion(out, label) + # 反向传播 + net.zero_grad() + loss.backward() + rmsprop(net.parameters(), sqrs, 1e-3, 0.999) # 学习率设为 0.001,alpha 设为 0.999 + # 记录误差 + train_loss += loss.data[0] + if idx % 30 == 0: + losses.append(loss.data[0]) + idx += 1 + print('epoch: {}, Train Loss: {:.6f}' + .format(e, train_loss / len(train_data))) +end = time.time() # 计时结束 +print('使用时间: {:.5f} s'.format(end - start)) +# - + +x_axis = np.linspace(0, 5, len(losses), endpoint=True) +plt.semilogy(x_axis, losses, label='alpha=0.999') +plt.legend(loc='best') + +# **小练习:可以看到使用了不同的 alpha 会使得 loss 在下降过程中的震荡程度不同,想想为什么** + +# 当然 pytorch 也内置了 rmsprop 的方法,非常简单,只需要调用 `torch.optim.RMSprop()` 就可以了,下面是例子 + +# + +train_data = DataLoader(train_set, batch_size=64, shuffle=True) +# 使用 Sequential 定义 3 层神经网络 +net = nn.Sequential( + nn.Linear(784, 200), + nn.ReLU(), + nn.Linear(200, 10), +) + +optimizer = torch.optim.RMSprop(net.parameters(), lr=1e-3, alpha=0.9) + +# 开始训练 + +start = time.time() # 记时开始 +for e in range(5): + train_loss = 0 + for im, label in train_data: + im = Variable(im) + label = Variable(label) + # 前向传播 + out = net(im) + loss = criterion(out, label) + # 反向传播 + optimizer.zero_grad() + loss.backward() + optimizer.step() + # 记录误差 + train_loss += loss.data[0] + print('epoch: {}, Train Loss: {:.6f}' + .format(e, train_loss / len(train_data))) +end = time.time() # 计时结束 +print('使用时间: {:.5f} s'.format(end - start)) diff --git a/2_pytorch/1_NN/optimizer/sgd.ipynb b/2_pytorch/1_NN/optimizer/sgd.ipynb new file mode 100644 index 0000000..5d3470b --- /dev/null +++ b/2_pytorch/1_NN/optimizer/sgd.ipynb @@ -0,0 +1,441 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 随机梯度下降法\n", + "前面我们介绍了梯度下降法的数学原理,下面我们通过例子来说明一下随机梯度下降法,我们分别从 0 自己实现,以及使用 pytorch 中自带的优化器" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import torch\n", + "from torchvision.datasets import MNIST # 导入 pytorch 内置的 mnist 数据\n", + "from torch.utils.data import DataLoader\n", + "from torch import nn\n", + "from torch.autograd import Variable\n", + "import time\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline\n", + "\n", + "def data_tf(x):\n", + " x = np.array(x, dtype='float32') / 255 # 将数据变到 0 ~ 1 之间\n", + " x = (x - 0.5) / 0.5 # 标准化,这个技巧之后会讲到\n", + " x = x.reshape((-1,)) # 拉平\n", + " x = torch.from_numpy(x)\n", + " return x\n", + "\n", + "train_set = MNIST('./data', train=True, transform=data_tf, download=True) # 载入数据集,申明定义的数据变换\n", + "test_set = MNIST('./data', train=False, transform=data_tf, download=True)\n", + "\n", + "# 定义 loss 函数\n", + "criterion = nn.CrossEntropyLoss()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "随机梯度下降法非常简单,公式就是\n", + "$$\n", + "\\theta_{i+1} = \\theta_i - \\eta \\nabla L(\\theta)\n", + "$$\n", + "非常简单,我们可以从 0 开始自己实现" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def sgd_update(parameters, lr):\n", + " for param in parameters:\n", + " param.data = param.data - lr * param.grad.data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "我们可以将 batch size 先设置为 1,看看有什么效果" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch: 0, Train Loss: 0.350681\n", + "epoch: 1, Train Loss: 0.213382\n", + "epoch: 2, Train Loss: 0.181885\n", + "epoch: 3, Train Loss: 0.160208\n", + "epoch: 4, Train Loss: 0.151504\n", + "使用时间: 473.28675 s\n" + ] + } + ], + "source": [ + "train_data = DataLoader(train_set, batch_size=1, shuffle=True)\n", + "# 使用 Sequential 定义 3 层神经网络\n", + "net = nn.Sequential(\n", + " nn.Linear(784, 200),\n", + " nn.ReLU(),\n", + " nn.Linear(200, 10),\n", + ")\n", + "\n", + "# 开始训练\n", + "losses1 = []\n", + "idx = 0\n", + "\n", + "start = time.time() # 记时开始\n", + "for e in range(5):\n", + " train_loss = 0\n", + " for im, label in train_data:\n", + " im = Variable(im)\n", + " label = Variable(label)\n", + " # 前向传播\n", + " out = net(im)\n", + " loss = criterion(out, label)\n", + " # 反向传播\n", + " net.zero_grad()\n", + " loss.backward()\n", + " sgd_update(net.parameters(), 1e-2) # 使用 0.01 的学习率\n", + " # 记录误差\n", + " train_loss += loss.data[0]\n", + " if idx % 30 == 0:\n", + " losses1.append(loss.data[0])\n", + " idx += 1\n", + " print('epoch: {}, Train Loss: {:.6f}'\n", + " .format(e, train_loss / len(train_data)))\n", + "end = time.time() # 计时结束\n", + "print('使用时间: {:.5f} s'.format(end - start))" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\nHwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x_axis = np.linspace(0, 5, len(losses1), endpoint=True)\n", + "plt.semilogy(x_axis, losses1, label='batch_size=1')\n", + "plt.legend(loc='best')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到,loss 在剧烈震荡,因为每次都是只对一个样本点做计算,每一层的梯度都具有很高的随机性,而且需要耗费了大量的时间" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch: 0, Train Loss: 0.735301\n", + "epoch: 1, Train Loss: 0.362765\n", + "epoch: 2, Train Loss: 0.316051\n", + "epoch: 3, Train Loss: 0.287766\n", + "epoch: 4, Train Loss: 0.264757\n", + "使用时间: 40.03663 s\n" + ] + } + ], + "source": [ + "train_data = DataLoader(train_set, batch_size=64, shuffle=True)\n", + "# 使用 Sequential 定义 3 层神经网络\n", + "net = nn.Sequential(\n", + " nn.Linear(784, 200),\n", + " nn.ReLU(),\n", + " nn.Linear(200, 10),\n", + ")\n", + "\n", + "# 开始训练\n", + "losses2 = []\n", + "idx = 0\n", + "start = time.time() # 记时开始\n", + "for e in range(5):\n", + " train_loss = 0\n", + " for im, label in train_data:\n", + " im = Variable(im)\n", + " label = Variable(label)\n", + " # 前向传播\n", + " out = net(im)\n", + " loss = criterion(out, label)\n", + " # 反向传播\n", + " net.zero_grad()\n", + " loss.backward()\n", + " sgd_update(net.parameters(), 1e-2)\n", + " # 记录误差\n", + " train_loss += loss.data[0]\n", + " if idx % 30 == 0:\n", + " losses2.append(loss.data[0])\n", + " idx += 1\n", + " print('epoch: {}, Train Loss: {:.6f}'\n", + " .format(e, train_loss / len(train_data)))\n", + "end = time.time() # 计时结束\n", + "print('使用时间: {:.5f} s'.format(end - start))" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n0AOEE3qAcA9RQjQEnHV9sQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x_axis = np.linspace(0, 5, len(losses2), endpoint=True)\n", + "plt.semilogy(x_axis, losses2, label='batch_size=64')\n", + "plt.legend(loc='best')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "通过上面的结果可以看到 loss 没有 batch 等于 1 震荡那么距离,同时也可以降到一定的程度了,时间上也比之前快了非常多,因为按照 batch 的数据量计算上更快,同时梯度对比于 batch size = 1 的情况也跟接近真实的梯度,所以 batch size 的值越大,梯度也就越稳定,而 batch size 越小,梯度具有越高的随机性,这里 batch size 为 64,可以看到 loss 仍然存在震荡,但这并没有关系,如果 batch size 太大,对于内存的需求就更高,同时也不利于网络跳出局部极小点,所以现在普遍使用基于 batch 的随机梯度下降法,而 batch 的多少基于实际情况进行考虑" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "下面我们调高学习率,看看有什么样的结果" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch: 0, Train Loss: 2.462500\n", + "epoch: 1, Train Loss: 2.304734\n", + "epoch: 2, Train Loss: 2.305732\n", + "epoch: 3, Train Loss: 2.304950\n", + "epoch: 4, Train Loss: 2.304857\n", + "使用时间: 42.85314 s\n" + ] + } + ], + "source": [ + "train_data = DataLoader(train_set, batch_size=64, shuffle=True)\n", + "# 使用 Sequential 定义 3 层神经网络\n", + "net = nn.Sequential(\n", + " nn.Linear(784, 200),\n", + " nn.ReLU(),\n", + " nn.Linear(200, 10),\n", + ")\n", + "\n", + "# 开始训练\n", + "losses3 = []\n", + "idx = 0\n", + "start = time.time() # 记时开始\n", + "for e in range(5):\n", + " train_loss = 0\n", + " for im, label in train_data:\n", + " im = Variable(im)\n", + " label = Variable(label)\n", + " # 前向传播\n", + " out = net(im)\n", + " loss = criterion(out, label)\n", + " # 反向传播\n", + " net.zero_grad()\n", + " loss.backward()\n", + " sgd_update(net.parameters(), 1) # 使用 1.0 的学习率\n", + " # 记录误差\n", + " train_loss += loss.data[0]\n", + " if idx % 30 == 0:\n", + " losses3.append(loss.data[0])\n", + " idx += 1\n", + " print('epoch: {}, Train Loss: {:.6f}'\n", + " .format(e, train_loss / len(train_data)))\n", + "end = time.time() # 计时结束\n", + "print('使用时间: {:.5f} s'.format(end - start))" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x_axis = np.linspace(0, 5, len(losses3), endpoint=True)\n", + "plt.semilogy(x_axis, losses3, label='lr = 1')\n", + "plt.legend(loc='best')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到,学习率太大会使得损失函数不断回跳,从而无法让损失函数较好降低,所以我们一般都是用一个比较小的学习率" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "实际上我们并不用自己造轮子,因为 pytorch 中已经为我们内置了随机梯度下降发,而且之前我们一直在使用,下面我们来使用 pytorch 自带的优化器来实现随机梯度下降" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch: 0, Train Loss: 0.747158\n", + "epoch: 1, Train Loss: 0.364107\n", + "epoch: 2, Train Loss: 0.318209\n", + "epoch: 3, Train Loss: 0.290282\n", + "epoch: 4, Train Loss: 0.268150\n", + "使用时间: 46.75882 s\n" + ] + } + ], + "source": [ + "train_data = DataLoader(train_set, batch_size=64, shuffle=True)\n", + "# 使用 Sequential 定义 3 层神经网络\n", + "net = nn.Sequential(\n", + " nn.Linear(784, 200),\n", + " nn.ReLU(),\n", + " nn.Linear(200, 10),\n", + ")\n", + "\n", + "optimzier = torch.optim.SGD(net.parameters(), 1e-2)\n", + "# 开始训练\n", + "\n", + "start = time.time() # 记时开始\n", + "for e in range(5):\n", + " train_loss = 0\n", + " for im, label in train_data:\n", + " im = Variable(im)\n", + " label = Variable(label)\n", + " # 前向传播\n", + " out = net(im)\n", + " loss = criterion(out, label)\n", + " # 反向传播\n", + " optimzier.zero_grad()\n", + " loss.backward()\n", + " optimzier.step()\n", + " # 记录误差\n", + " train_loss += loss.data[0]\n", + " print('epoch: {}, Train Loss: {:.6f}'\n", + " .format(e, train_loss / len(train_data)))\n", + "end = time.time() # 计时结束\n", + "print('使用时间: {:.5f} s'.format(end - start))" + ] + } + ], + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/1_NN/optimizer/sgd.py b/2_pytorch/1_NN/optimizer/sgd.py new file mode 100644 index 0000000..a42be92 --- /dev/null +++ b/2_pytorch/1_NN/optimizer/sgd.py @@ -0,0 +1,222 @@ +# -*- coding: utf-8 -*- +# --- +# jupyter: +# jupytext_format_version: '1.2' +# 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.5.2 +# --- + +# # 随机梯度下降法 +# 前面我们介绍了梯度下降法的数学原理,下面我们通过例子来说明一下随机梯度下降法,我们分别从 0 自己实现,以及使用 pytorch 中自带的优化器 + +# + +import numpy as np +import torch +from torchvision.datasets import MNIST # 导入 pytorch 内置的 mnist 数据 +from torch.utils.data import DataLoader +from torch import nn +from torch.autograd import Variable +import time +import matplotlib.pyplot as plt +# %matplotlib inline + +def data_tf(x): + x = np.array(x, dtype='float32') / 255 # 将数据变到 0 ~ 1 之间 + x = (x - 0.5) / 0.5 # 标准化,这个技巧之后会讲到 + x = x.reshape((-1,)) # 拉平 + x = torch.from_numpy(x) + return x + +train_set = MNIST('./data', train=True, transform=data_tf, download=True) # 载入数据集,申明定义的数据变换 +test_set = MNIST('./data', train=False, transform=data_tf, download=True) + +# 定义 loss 函数 +criterion = nn.CrossEntropyLoss() +# - + +# 随机梯度下降法非常简单,公式就是 +# $$ +# \theta_{i+1} = \theta_i - \eta \nabla L(\theta) +# $$ +# 非常简单,我们可以从 0 开始自己实现 + +def sgd_update(parameters, lr): + for param in parameters: + param.data = param.data - lr * param.grad.data + +# 我们可以将 batch size 先设置为 1,看看有什么效果 + +# + +train_data = DataLoader(train_set, batch_size=1, shuffle=True) +# 使用 Sequential 定义 3 层神经网络 +net = nn.Sequential( + nn.Linear(784, 200), + nn.ReLU(), + nn.Linear(200, 10), +) + +# 开始训练 +losses1 = [] +idx = 0 + +start = time.time() # 记时开始 +for e in range(5): + train_loss = 0 + for im, label in train_data: + im = Variable(im) + label = Variable(label) + # 前向传播 + out = net(im) + loss = criterion(out, label) + # 反向传播 + net.zero_grad() + loss.backward() + sgd_update(net.parameters(), 1e-2) # 使用 0.01 的学习率 + # 记录误差 + train_loss += loss.data[0] + if idx % 30 == 0: + losses1.append(loss.data[0]) + idx += 1 + print('epoch: {}, Train Loss: {:.6f}' + .format(e, train_loss / len(train_data))) +end = time.time() # 计时结束 +print('使用时间: {:.5f} s'.format(end - start)) +# - + +x_axis = np.linspace(0, 5, len(losses1), endpoint=True) +plt.semilogy(x_axis, losses1, label='batch_size=1') +plt.legend(loc='best') + +# 可以看到,loss 在剧烈震荡,因为每次都是只对一个样本点做计算,每一层的梯度都具有很高的随机性,而且需要耗费了大量的时间 + +# + +train_data = DataLoader(train_set, batch_size=64, shuffle=True) +# 使用 Sequential 定义 3 层神经网络 +net = nn.Sequential( + nn.Linear(784, 200), + nn.ReLU(), + nn.Linear(200, 10), +) + +# 开始训练 +losses2 = [] +idx = 0 +start = time.time() # 记时开始 +for e in range(5): + train_loss = 0 + for im, label in train_data: + im = Variable(im) + label = Variable(label) + # 前向传播 + out = net(im) + loss = criterion(out, label) + # 反向传播 + net.zero_grad() + loss.backward() + sgd_update(net.parameters(), 1e-2) + # 记录误差 + train_loss += loss.data[0] + if idx % 30 == 0: + losses2.append(loss.data[0]) + idx += 1 + print('epoch: {}, Train Loss: {:.6f}' + .format(e, train_loss / len(train_data))) +end = time.time() # 计时结束 +print('使用时间: {:.5f} s'.format(end - start)) +# - + +x_axis = np.linspace(0, 5, len(losses2), endpoint=True) +plt.semilogy(x_axis, losses2, label='batch_size=64') +plt.legend(loc='best') + +# 通过上面的结果可以看到 loss 没有 batch 等于 1 震荡那么距离,同时也可以降到一定的程度了,时间上也比之前快了非常多,因为按照 batch 的数据量计算上更快,同时梯度对比于 batch size = 1 的情况也跟接近真实的梯度,所以 batch size 的值越大,梯度也就越稳定,而 batch size 越小,梯度具有越高的随机性,这里 batch size 为 64,可以看到 loss 仍然存在震荡,但这并没有关系,如果 batch size 太大,对于内存的需求就更高,同时也不利于网络跳出局部极小点,所以现在普遍使用基于 batch 的随机梯度下降法,而 batch 的多少基于实际情况进行考虑 + +# 下面我们调高学习率,看看有什么样的结果 + +# + +train_data = DataLoader(train_set, batch_size=64, shuffle=True) +# 使用 Sequential 定义 3 层神经网络 +net = nn.Sequential( + nn.Linear(784, 200), + nn.ReLU(), + nn.Linear(200, 10), +) + +# 开始训练 +losses3 = [] +idx = 0 +start = time.time() # 记时开始 +for e in range(5): + train_loss = 0 + for im, label in train_data: + im = Variable(im) + label = Variable(label) + # 前向传播 + out = net(im) + loss = criterion(out, label) + # 反向传播 + net.zero_grad() + loss.backward() + sgd_update(net.parameters(), 1) # 使用 1.0 的学习率 + # 记录误差 + train_loss += loss.data[0] + if idx % 30 == 0: + losses3.append(loss.data[0]) + idx += 1 + print('epoch: {}, Train Loss: {:.6f}' + .format(e, train_loss / len(train_data))) +end = time.time() # 计时结束 +print('使用时间: {:.5f} s'.format(end - start)) +# - + +x_axis = np.linspace(0, 5, len(losses3), endpoint=True) +plt.semilogy(x_axis, losses3, label='lr = 1') +plt.legend(loc='best') + +# 可以看到,学习率太大会使得损失函数不断回跳,从而无法让损失函数较好降低,所以我们一般都是用一个比较小的学习率 + +# 实际上我们并不用自己造轮子,因为 pytorch 中已经为我们内置了随机梯度下降发,而且之前我们一直在使用,下面我们来使用 pytorch 自带的优化器来实现随机梯度下降 + +# + +train_data = DataLoader(train_set, batch_size=64, shuffle=True) +# 使用 Sequential 定义 3 层神经网络 +net = nn.Sequential( + nn.Linear(784, 200), + nn.ReLU(), + nn.Linear(200, 10), +) + +optimzier = torch.optim.SGD(net.parameters(), 1e-2) +# 开始训练 + +start = time.time() # 记时开始 +for e in range(5): + train_loss = 0 + for im, label in train_data: + im = Variable(im) + label = Variable(label) + # 前向传播 + out = net(im) + loss = criterion(out, label) + # 反向传播 + optimzier.zero_grad() + loss.backward() + optimzier.step() + # 记录误差 + train_loss += loss.data[0] + print('epoch: {}, Train Loss: {:.6f}' + .format(e, train_loss / len(train_data))) +end = time.time() # 计时结束 +print('使用时间: {:.5f} s'.format(end - start)) diff --git a/2_pytorch/1_NN/param_initialize.ipynb b/2_pytorch/1_NN/param_initialize.ipynb new file mode 100644 index 0000000..81282e9 --- /dev/null +++ b/2_pytorch/1_NN/param_initialize.ipynb @@ -0,0 +1,476 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 参数初始化\n", + "参数初始化对模型具有较大的影响,不同的初始化方式可能会导致截然不同的结果,所幸的是很多深度学习的先驱们已经帮我们探索了各种各样的初始化方式,所以我们只需要学会如何对模型的参数进行初始化的赋值即可。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "PyTorch 的初始化方式并没有那么显然,如果你使用最原始的方式创建模型,那么你需要定义模型中的所有参数,当然这样你可以非常方便地定义每个变量的初始化方式,但是对于复杂的模型,这并不容易,而且我们推崇使用 Sequential 和 Module 来定义模型,所以这个时候我们就需要知道如何来自定义初始化方式" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 使用 NumPy 来初始化\n", + "因为 PyTorch 是一个非常灵活的框架,理论上能够对所有的 Tensor 进行操作,所以我们能够通过定义新的 Tensor 来初始化,直接看下面的例子" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import torch\n", + "from torch import nn" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 定义一个 Sequential 模型\n", + "net1 = nn.Sequential(\n", + " nn.Linear(30, 40),\n", + " nn.ReLU(),\n", + " nn.Linear(40, 50),\n", + " nn.ReLU(),\n", + " nn.Linear(50, 10)\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 访问第一层的参数\n", + "w1 = net1[0].weight\n", + "b1 = net1[0].bias" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Parameter containing:\n", + " 0.1236 -0.1731 -0.0479 ... 0.0031 0.0784 0.1239\n", + " 0.0713 0.1615 0.0500 ... -0.1757 -0.1274 -0.1625\n", + " 0.0638 -0.1543 -0.0362 ... 0.0316 -0.1774 -0.1242\n", + " ... ⋱ ... \n", + " 0.1551 0.1772 0.1537 ... 0.0730 0.0950 0.0627\n", + " 0.0495 0.0896 0.0243 ... -0.1302 -0.0256 -0.0326\n", + "-0.1193 -0.0989 -0.1795 ... 0.0939 0.0774 -0.0751\n", + "[torch.FloatTensor of size 40x30]\n", + "\n" + ] + } + ], + "source": [ + "print(w1)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "注意,这是一个 Parameter,也就是一个特殊的 Variable,我们可以访问其 `.data`属性得到其中的数据,然后直接定义一个新的 Tensor 对其进行替换,我们可以使用 PyTorch 中的一些随机数据生成的方式,比如 `torch.randn`,如果要使用更多 PyTorch 中没有的随机化方式,可以使用 numpy" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 定义一个 Tensor 直接对其进行替换\n", + "net1[0].weight.data = torch.from_numpy(np.random.uniform(3, 5, size=(40, 30)))" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Parameter containing:\n", + " 4.5768 3.6175 3.3098 ... 4.7374 4.0164 3.3037\n", + " 4.1809 3.5624 3.1452 ... 3.0305 4.4444 4.1058\n", + " 3.5277 4.3712 3.7859 ... 3.5760 4.8559 4.3252\n", + " ... ⋱ ... \n", + " 4.8983 3.9855 3.2842 ... 4.7683 4.7590 3.3498\n", + " 4.9168 4.5723 3.5870 ... 3.2032 3.9842 3.2484\n", + " 4.2532 4.6352 4.4857 ... 3.7543 3.9885 4.4211\n", + "[torch.DoubleTensor of size 40x30]\n", + "\n" + ] + } + ], + "source": [ + "print(net1[0].weight)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到这个参数的值已经被改变了,也就是说已经被定义成了我们需要的初始化方式,如果模型中某一层需要我们手动去修改,那么我们可以直接用这种方式去访问,但是更多的时候是模型中相同类型的层都需要初始化成相同的方式,这个时候一种更高效的方式是使用循环去访问,比如" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "for layer in net1:\n", + " if isinstance(layer, nn.Linear): # 判断是否是线性层\n", + " param_shape = layer.weight.shape\n", + " layer.weight.data = torch.from_numpy(np.random.normal(0, 0.5, size=param_shape)) \n", + " # 定义为均值为 0,方差为 0.5 的正态分布" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**小练习:一种非常流行的初始化方式叫 Xavier,方法来源于 2010 年的一篇论文 [Understanding the difficulty of training deep feedforward neural networks](http://proceedings.mlr.press/v9/glorot10a.html),其通过数学的推到,证明了这种初始化方式可以使得每一层的输出方差是尽可能相等的,有兴趣的同学可以去看看论文**\n", + "\n", + "我们给出这种初始化的公式\n", + "\n", + "$$\n", + "w\\ \\sim \\ Uniform[- \\frac{\\sqrt{6}}{\\sqrt{n_j + n_{j+1}}}, \\frac{\\sqrt{6}}{\\sqrt{n_j + n_{j+1}}}]\n", + "$$\n", + "\n", + "其中 $n_j$ 和 $n_{j+1}$ 表示该层的输入和输出数目,所以请尝试实现以下这种初始化方式" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "对于 Module 的参数初始化,其实也非常简单,如果想对其中的某层进行初始化,可以直接像 Sequential 一样对其 Tensor 进行重新定义,其唯一不同的地方在于,如果要用循环的方式访问,需要介绍两个属性,children 和 modules,下面我们举例来说明" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "class sim_net(nn.Module):\n", + " def __init__(self):\n", + " super(sim_net, self).__init__()\n", + " self.l1 = nn.Sequential(\n", + " nn.Linear(30, 40),\n", + " nn.ReLU()\n", + " )\n", + " \n", + " self.l1[0].weight.data = torch.randn(40, 30) # 直接对某一层初始化\n", + " \n", + " self.l2 = nn.Sequential(\n", + " nn.Linear(40, 50),\n", + " nn.ReLU()\n", + " )\n", + " \n", + " self.l3 = nn.Sequential(\n", + " nn.Linear(50, 10),\n", + " nn.ReLU()\n", + " )\n", + " \n", + " def forward(self, x):\n", + " x = self.l1(x)\n", + " x =self.l2(x)\n", + " x = self.l3(x)\n", + " return x" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "net2 = sim_net()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sequential(\n", + " (0): Linear(in_features=30, out_features=40)\n", + " (1): ReLU()\n", + ")\n", + "Sequential(\n", + " (0): Linear(in_features=40, out_features=50)\n", + " (1): ReLU()\n", + ")\n", + "Sequential(\n", + " (0): Linear(in_features=50, out_features=10)\n", + " (1): ReLU()\n", + ")\n" + ] + } + ], + "source": [ + "# 访问 children\n", + "for i in net2.children():\n", + " print(i)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sim_net(\n", + " (l1): Sequential(\n", + " (0): Linear(in_features=30, out_features=40)\n", + " (1): ReLU()\n", + " )\n", + " (l2): Sequential(\n", + " (0): Linear(in_features=40, out_features=50)\n", + " (1): ReLU()\n", + " )\n", + " (l3): Sequential(\n", + " (0): Linear(in_features=50, out_features=10)\n", + " (1): ReLU()\n", + " )\n", + ")\n", + "Sequential(\n", + " (0): Linear(in_features=30, out_features=40)\n", + " (1): ReLU()\n", + ")\n", + "Linear(in_features=30, out_features=40)\n", + "ReLU()\n", + "Sequential(\n", + " (0): Linear(in_features=40, out_features=50)\n", + " (1): ReLU()\n", + ")\n", + "Linear(in_features=40, out_features=50)\n", + "ReLU()\n", + "Sequential(\n", + " (0): Linear(in_features=50, out_features=10)\n", + " (1): ReLU()\n", + ")\n", + "Linear(in_features=50, out_features=10)\n", + "ReLU()\n" + ] + } + ], + "source": [ + "# 访问 modules\n", + "for i in net2.modules():\n", + " print(i)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "通过上面的例子,看到区别了吗?\n", + "\n", + "children 只会访问到模型定义中的第一层,因为上面的模型中定义了三个 Sequential,所以只会访问到三个 Sequential,而 modules 会访问到最后的结构,比如上面的例子,modules 不仅访问到了 Sequential,也访问到了 Sequential 里面,这就对我们做初始化非常方便,比如" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "for layer in net2.modules():\n", + " if isinstance(layer, nn.Linear):\n", + " param_shape = layer.weight.shape\n", + " layer.weight.data = torch.from_numpy(np.random.normal(0, 0.5, size=param_shape)) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "这上面实现了和 Sequential 相同的初始化,同样非常简便" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## torch.nn.init\n", + "因为 PyTorch 灵活的特性,我们可以直接对 Tensor 进行操作从而初始化,PyTorch 也提供了初始化的函数帮助我们快速初始化,就是 `torch.nn.init`,其操作层面仍然在 Tensor 上,下面我们举例说明" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "from torch.nn import init" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Parameter containing:\n", + " 0.8453 0.2891 -0.5276 ... -0.1530 -0.4474 -0.5470\n", + "-0.1983 -0.4530 -0.1950 ... 0.4107 -0.4889 0.3654\n", + " 0.9149 -0.5641 -0.6594 ... 0.0734 0.1354 -0.4152\n", + " ... ⋱ ... \n", + "-0.4718 -0.5125 -0.5572 ... 0.0824 -0.6551 0.0840\n", + "-0.2374 -0.0036 0.6497 ... 0.7856 -0.1367 -0.8795\n", + " 0.0774 0.2609 -0.2358 ... -0.8196 0.1696 0.5976\n", + "[torch.DoubleTensor of size 40x30]\n", + "\n" + ] + } + ], + "source": [ + "print(net1[0].weight)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Parameter containing:\n", + "-0.2114 0.2704 -0.2186 ... 0.1727 0.2158 0.0775\n", + "-0.0736 -0.0565 0.0844 ... 0.1793 0.2520 -0.0047\n", + " 0.1331 -0.1843 0.2426 ... -0.2199 -0.0689 0.1756\n", + " ... ⋱ ... \n", + " 0.2751 -0.1404 0.1225 ... 0.1926 0.0175 -0.2099\n", + " 0.0970 -0.0733 -0.2461 ... 0.0605 0.1915 -0.1220\n", + " 0.0199 0.1283 -0.1384 ... -0.0344 -0.0560 0.2285\n", + "[torch.DoubleTensor of size 40x30]" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "init.xavier_uniform(net1[0].weight) # 这就是上面我们讲过的 Xavier 初始化方法,PyTorch 直接内置了其实现" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Parameter containing:\n", + "-0.2114 0.2704 -0.2186 ... 0.1727 0.2158 0.0775\n", + "-0.0736 -0.0565 0.0844 ... 0.1793 0.2520 -0.0047\n", + " 0.1331 -0.1843 0.2426 ... -0.2199 -0.0689 0.1756\n", + " ... ⋱ ... \n", + " 0.2751 -0.1404 0.1225 ... 0.1926 0.0175 -0.2099\n", + " 0.0970 -0.0733 -0.2461 ... 0.0605 0.1915 -0.1220\n", + " 0.0199 0.1283 -0.1384 ... -0.0344 -0.0560 0.2285\n", + "[torch.DoubleTensor of size 40x30]\n", + "\n" + ] + } + ], + "source": [ + "print(net1[0].weight)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到参数已经被修改了\n", + "\n", + "`torch.nn.init` 为我们提供了更多的内置初始化方式,避免了我们重复去实现一些相同的操作" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "上面讲了两种初始化方式,其实它们的本质都是一样的,就是去修改某一层参数的实际值,而 `torch.nn.init` 提供了更多成熟的深度学习相关的初始化方式,非常方便\n", + "\n", + "下一节课,我们将讲一下目前流行的各种基于梯度的优化算法" + ] + } + ], + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/2_CNN/basic_conv.ipynb b/2_pytorch/2_CNN/basic_conv.ipynb new file mode 100644 index 0000000..841de95 --- /dev/null +++ b/2_pytorch/2_CNN/basic_conv.ipynb @@ -0,0 +1,355 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 卷积模块介绍\n", + "前面我们介绍了卷积网络的基本知识,其在计算机视觉领域被应用得非常广泛,那么常见的卷机网络中用到的模块能够使用 pytorch 非常轻松地实现,下面我们来讲一下 pytorch 中的卷积模块" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 卷积\n", + "卷积在 pytorch 中有两种方式,一种是 `torch.nn.Conv2d()`,一种是 `torch.nn.functional.conv2d()`,这两种形式本质都是使用一个卷积操作\n", + "\n", + "这两种形式的卷积对于输入的要求都是一样的,首先需要输入是一个 `torch.autograd.Variable()` 的类型,大小是 (batch, channel, H, W),其中 batch 表示输入的一批数据的数目,第二个是输入的通道数,一般一张彩色的图片是 3,灰度图是 1,而卷积网络过程中的通道数比较大,会出现几十到几百的通道数,H 和 W 表示输入图片的高度和宽度,比如一个 batch 是 32 张图片,每张图片是 3 通道,高和宽分别是 50 和 100,那么输入的大小就是 (32, 3, 50, 100)\n", + "\n", + "下面举例来说明一下这两种卷积方式" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import torch\n", + "from torch import nn\n", + "from torch.autograd import Variable\n", + "import torch.nn.functional as F\n", + "from PIL import Image\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "im = Image.open('./cat.png').convert('L') # 读入一张灰度图的图片\n", + "im = np.array(im, dtype='float32') # 将其转换为一个矩阵" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 可视化图片\n", + "plt.imshow(im.astype('uint8'), cmap='gray')" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "# 将图片矩阵转化为 pytorch tensor,并适配卷积输入的要求\n", + "im = torch.from_numpy(im.reshape((1, 1, im.shape[0], im.shape[1]))) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "下面我们定义一个算子对其进行轮廓检测" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [], + "source": [ + "# 使用 nn.Conv2d\n", + "conv1 = nn.Conv2d(1, 1, 3, bias=False) # 定义卷积\n", + "\n", + "sobel_kernel = np.array([[-1, -1, -1], [-1, 8, -1], [-1, -1, -1]], dtype='float32') # 定义轮廓检测算子\n", + "sobel_kernel = sobel_kernel.reshape((1, 1, 3, 3)) # 适配卷积的输入输出\n", + "conv1.weight.data = torch.from_numpy(sobel_kernel) # 给卷积的 kernel 赋值\n", + "\n", + "edge1 = conv1(Variable(im)) # 作用在图片上\n", + "edge1 = edge1.data.squeeze().numpy() # 将输出转换为图片的格式" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "下面我们可视化边缘检测之后的结果" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.imshow(edge1, cmap='gray')" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 使用 F.conv2d\n", + "sobel_kernel = np.array([[-1, -1, -1], [-1, 8, -1], [-1, -1, -1]], dtype='float32') # 定义轮廓检测算子\n", + "sobel_kernel = sobel_kernel.reshape((1, 1, 3, 3)) # 适配卷积的输入输出\n", + "weight = Variable(torch.from_numpy(sobel_kernel))\n", + "\n", + "edge2 = F.conv2d(Variable(im), weight) # 作用在图片上\n", + "edge2 = edge2.data.squeeze().numpy() # 将输出转换为图片的格式\n", + "plt.imshow(edge2, cmap='gray')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到两种形式能够得到相同的效果,不同的地方相信你也看到了,使用 `nn.Conv2d()` 相当于直接定义了一层卷积网络结构,而使用 `torch.nn.functional.conv2d()` 相当于定义了一个卷积的操作,所以使用后者需要再额外去定义一个 weight,而且这个 weight 也必须是一个 Variable,而使用 `nn.Conv2d()` 则会帮我们默认定义一个随机初始化的 weight,如果我们需要修改,那么取出其中的值对其修改,如果不想修改,那么可以直接使用这个默认初始化的值,非常方便\n", + "\n", + "**实际使用中我们基本都使用 `nn.Conv2d()` 这种形式**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 池化层\n", + "卷积网络中另外一个非常重要的结构就是池化,这是利用了图片的下采样不变性,即一张图片变小了还是能够看出了这张图片的内容,而使用池化层能够将图片大小降低,非常好地提高了计算效率,同时池化层也没有参数。池化的方式有很多种,比如最大值池化,均值池化等等,在卷积网络中一般使用最大值池化。\n", + "\n", + "在 pytorch 中最大值池化的方式也有两种,一种是 `nn.MaxPool2d()`,一种是 `torch.nn.functional.max_pool2d()`,他们对于图片的输入要求跟卷积对于图片的输入要求是一样了,就不再赘述,下面我们也举例说明" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "before max pool, image shape: 224 x 224\n", + "after max pool, image shape: 112 x 112 \n" + ] + } + ], + "source": [ + "# 使用 nn.MaxPool2d\n", + "pool1 = nn.MaxPool2d(2, 2)\n", + "print('before max pool, image shape: {} x {}'.format(im.shape[2], im.shape[3]))\n", + "small_im1 = pool1(Variable(im))\n", + "small_im1 = small_im1.data.squeeze().numpy()\n", + "print('after max pool, image shape: {} x {} '.format(small_im1.shape[0], small_im1.shape[1]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到图片的大小减小了一半,那么图片是不是变了呢?我们可以可视化一下" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQUAAAD8CAYAAAB+fLH0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztnXm0XlV9/p99781ASAIkBEjCFAQtARksWoaKVBRxxCK4\nsFVoFy7sooOldmn8Wetql67S1dalpa0tdQqCAyqToMggOIsBARljQIGEBAhhhkw3d//+uPdzzj7P\n++77vvfeJPeV7metrDfve87ZZ+99zt3fZ3/HEGNUQUFBAeib7A4UFBT0FsqiUFBQ0EBZFAoKChoo\ni0JBQUEDZVEoKChooCwKBQUFDZRFoaCgoIFttiiEEE4MISwPIdwXQliyre5TUFCwdRG2hfNSCKFf\n0q8kvV7SKknLJL0rxnj3Vr9ZQUHBVsXANmr3VZLuizH+WpJCCF+VdJKktovCjBkz4s4771x9Z6Hq\ntGD58Rhj9tq+vr62v2/ZsqXx6ceHhoYav/M9hDBq3wYG6qnl2h133LHxfePGjY2+0XZ6bbvv06dP\nlyT19/c3ru/UJ9pP/8+1gDa8rdy8gM2bN0uS1q1bJ0maNm1a4/jg4GDb8/v6+qrx+TgZn3/3vuT6\n3Gk+2h0f6zvnv3e651iR3q/d+97Ndz7XrVv3eIxxXqd7bqtFYaGklcn3VZJ+Lz0hhHCWpLMkaaed\ndtJ73/veqvO8QP7i+R8mn/xBb968ubqWl46HxB8S54Knn35akvTUU081jnOvDRs2ND75Q/YX1F+G\nefPmtfzxH3300Y2+/epXv5JULxact9NOOzXuMWfOnMb3l770pY3z+AOcMmVKow+czzxt2LChGt8L\nL7wgSZoxY4akenHgmqlTpzba8sWTvoJHHnlEkrR06VJJ0n777deYFxYLrl+7dq2k4eey6667SpJ2\n2WWXRl9mz57d6NPMmTMbbdA259Nn5p3vvgDmFtEQQsviBWiTZ+e/+3uQW6h8EXa4EBocHKz+7+9u\nbqFN/x4kadOmTZKkCy644MFRbz6CbbUodESM8XxJ50vSwoUL48DAQMvE+h9/buJB+p3/84fy3HPP\nSaonkk8Wi0WLFkmSnnjiCUn1S047s2bNyo2jbR+eeuop7bPPPpKkhx9+WJK0bNkySdKhhx4qqX54\njI+XnjZYiJCgHKcvLCacz3mMmZeCP6oddtihuhd/MFxDG5zri6P3lfOZr/vvv1+StHjxYknSXnvt\nJan+42fxueOOOyTVz2NoaEhPPvmkpHqhYRFkHDvssIOkeiHjd8bgjILf/Q/QF812YD46vXt8dwbq\nC1VuUcgxNJ/3KVOmtAg/Z5S+6OUWwW6xrRSND0vaK/m+58hvBQUFPY5txRSWSToghLBIw4vBaZL+\naLQL0hWVld+lF/AVEwmwZcuWalXkHKeQ69evb7QNtWJlRreBFH722WclSY8//njjOFLYaTTtDg4O\nVsde8pKXSKqlKpLxkEMOkSTdc889klqlNmBMCxcubIzJKX8nytrX19dCvX1u+d2pJyyF77AYpPfc\nuXMlSQceeGCj3WeeeUZSzcj43GOPParznn/++ca92dI5K6HvtO1bHebPtw/Ar2+nH+hWZ+RzDnLP\nIIccm0m3zvTbj/l2mvfNtxlj1XNsk0UhxjgYQvgLSd+V1C/p8zHGu7bFvQoKCrYutplOIcb4bUnf\n7ubcEEJbbT3wfZazgXYaWs5BsiE1+HQJz3ckIBJt9913b3yiHHQLgCug+vr6Wvbj6DGQnjCFBx8c\n1v8gCWgbBeKCBQsk1XtrPoFLvlSzLzUlhe87XX/DtfQFXQCMgDEwr5yPnoOxIv3RHTBmzmOMa9eu\nbShCpZqV7bbbbo1rYWmM060WLqVdkjImHzMYGhrKWqlAJ11BDn6df3fm1u6d9vG4Yp455btbp7pF\n8WgsKChoYNKsD47U+uBIdQZSvVK6pnxgYKDtb+k1uX1qqguQagmIToE98MEHHyyp1k088MADkupV\nGiaCZJXqPTLWiFWrVkmSbrrpJknSK17xCknSL37xi0Yb8+fPl1SzFGcIrl3m0yUFSE1uzANsxH0m\n6AOSnnuvXr26MT/MG+c/9thjkqTbb7+9cW+f/wMOOECStP/+++vuu4fdV9CZMLcwBK5hTrkXY3Gm\nQF99bPzOd9pJdQ3+fvg76XPq0ruTriH3zHLMIYTQwox9Lhk/8zFWZuAoTKGgoKCBnmAKIYTGCpxb\nnXNSP/30PTP7VN9f5RgFEpDvMACkF1KG/e1hhx0mSbr33nsbfZ8xY0a170ZiYX/3fTcSCysFjlQw\nBPbhvt91KYMkdcmRauEZn2vmXUK69MVywnX0HWawZs2aRvsrVw77rmG12HvvvSVJ++67r6R6/let\nWlUdo01nMzgxod+AvXA+OgjmgXkGPu/+HqUsMae/8vcq5zHbrfOSv4c5xpBKfdc3+PvvbM+ZY7co\nTKGgoKCBnmEK7awPORdiX13T1dt1A/gbAN+XjebzkP7u+3T3rkPXgL5g8+bNFVOgT1gZsCbg7cf+\nG2sEzALJmNM+M2ewIeBsB72IVLtGcw4MyP06XFfAvWEGuC1zb/b/tOMuy+hTmMfU05G5pE0k+557\n7ilp2GVcUqV78HlgztH7oPdwD0bmk3cCxsEznTJlSjVen9OcjiGHTjqE9J7p785eUp0CaHeO1Koj\nacc2ukFhCgUFBQ30BFOQmqtZjink4gxSptBpBUZSue+A23x9/+n7XNplXwvQC7zwwguVxHKWwfff\n//3fl1QzCFZ6tPDoEtxS4vZ1+khf6JtLu4GBgRZ7eGolSfsAu4BJMD94Y6IzIObhNa95TeM4epEj\njzxSUq1zoX2ez5o1a1qeGffkdxgC80ZcCn1knnJ6EfQaXE/fYAycl1ofXJPvc95tZGon/4ROVoi+\nvr6W998D3XLWOGfN3aIwhYKCggZ6gim49cGR2yPlPNjS/7Ov5xqkkXvD5fIweKSh+5e7xEV6veQl\nL6lCgu+77z5Jrdpz167TBnto4JGNIBfm7AwBC8qMGTOqY8yDWyiQwvwOa0EHAKtBh0JU5Ctf+UpJ\n0m233Saptpwg9dGT0D7M4bnnnquO4c/h8SX8zvzwTBkX8HtxPr9zPvPLs0LPMjQ0VM01eo2c9cB1\nMC7FXZr7e5d7h/33/v7+lvfbLSPAGQPH3du2EwpTKCgoaKAnmILU6imWolP+hNH0EazQnbLSsJry\n2c4vvl0/PVqS81auXFnpF/bff39JtT0dBuHSmL1uKrnScSIBkfY+JqQQjMT7vm7duqoN2AoS0W3c\nSELyH8BmXv3qVzfGctBBB0mqdQvs77FGcP33v//9Rh/xe5g9e3bFNrgGawJ9Yo5J3EJ+CsaCHsO9\nLLFGwG7I8cB3GARj3nXXXatoT8/ZgDdkJ49H14O5bitnhfB3OX3PcpaJ3D3HmoHK0ROLQghh1I47\nPc4pIEcLhc2Zknix/B6uWPRAIP4wUVbx8Dk+MDBQme88qIq2uDeLAi8kcBrtYc3uUu0hw77VmTZt\nWosSzik6iwQu2ICFjT9mKDjbAcb/gx/8QFJNzVl8eLFZNFhMbr/99qqfKCVR0LJl4Q/ETbd33nln\nY5yejIXFgusxeTKvPNu0j564hXmibQ+syy0COWV5zmlptJBrv9YFVm6LM978q2X7UFBQ0EBPMAWp\nNWlnCnfvzClcRkvc6qzCv7t7q0tUp5Ge85HvmAW3bNlSXQsths4iqTxZCm3AGFxauUR0ByxYSjv3\nXe6HVOQaEry86lWvklRL06OOOkpS0/FJqhkSDAHJ/8tf/rLRLu1wPWN94xvfKEm6+uqrJUmHH354\n1W9PeAMLIzAM+r98+fLG+JhXwHjZHrhyDwbn8z9z5szqWcEyCN9212gPw3ZTq5sL/XwwmoKR33Mm\nydy77n8Xziw6oTCFgoKCBnqCKfT19Y2aVLNT+ux0pRyrkgXJltvbIb08TBcJyeejjz4qqdYTbNq0\nqSUoy51IuKeHRLuDFH3kXkg62oN5oEBDctJOqtj0rNToOVAcwlIYB/f+9a9/LalmQjfffLOk1kzL\nMA50FSgo0UmQpAYT5l577VX9xlx7shlYB+yE8Z5wwgmN35HyMAR0E8CdvNwd/Fe/+lUl8ZkX1zsw\nt8yPsxBXSOcS5LpuwRXYqfI8p2/IMeecmbNbFKZQUFDQQE8wBWn01azTStfOjTPn2OHIrdSuK8iF\na6O1R8Ly+5NPPllJIjT67JFhBp7CzPuONEfKoFV3t2DXeyBxYQhIxg0bNuiaa66RJB177LGSains\nJjgPmMJcyl77oYceklRLoze/+c2SpOuvv15SncCV+VixYoWkYR1COhfLli2rAsRw8nJTI58ehIa+\ngrbpO+dzHvMFc+CZ0l7KErk388IzYh5gWm6KZh5oOxfmnwuVzlkMRrPMdbK+jWaVGw2FKRQUFDTQ\nE0yhk5tzp5VutKSvuRTmwN2Vc/uwbldjJMJuu+1WsQj6hybb96MeKOVuyh7oktNkI9U8uAsJedVV\nV1XHvvWtb0mq98helQlp+/nPf75xD6Q59z7xxBMb1+NgBBvCKvGyl72sMT/4GDzyyCNVkRz28egI\nqIRFH2En+C/QBvMDc0C/4fNKODe6B7d4TZs2rUUX4Knp0S24X4sn8nU214kh5NhAO+tDtzoG/71b\nFKZQUFDQQE8wBWl0K8FoPgx+bc4/IffdE1P4PT202uFBJynjYN/sRVxyJdnYn3ooMOfBNNARIM1h\nHq6joD2unzNnTqVvQJKT/ASdCJ6Kt956q6TayoAkRAqfffbZjfOxXvie/JhjjpFUS0yYBuzllltu\nqcZFG+gYeAYwA0Ko0QUQrs2cY5X4zW9+I6kOznLfAZ6ZWwRijC3eovQX/Qzj517ORnK6K/dXALn3\najTPxtxnJxfsblGYQkFBQQM9wxTSvdNYAz7SFbHb5Be+mua0v15gw/dt7ueAdN64cWNLoVRPTe4S\n3T0b+Z3v7IW5t3s2sifHUuAVs9euXVvd85RTTpHUmsiFc9mvYy1AWr/1rW+V1KrRJyCKsaFbgNVc\nfvnlkmpvRPq+YMGCKt07AWTME16P6BiOOOKIxvhgSq7nwAMSHQJANwFDgOUQxj00NFT1CybgRXA8\nJDpXeMWZgcdE5DwZQTtp3ylOol3SofGgMIWCgoIGeoIpkJxyokyhnU23W8bQCb4PBV5+jlV64cKF\nlU7BNdO0hbbcpU/qiy+1+ie4fd3jMJBKSFS8LQ899NBKChOliJSkr+zrsf3DJM4888xG23hV/u7v\n/m41Xkn6yU9+IqkubEMfCIeGofz4xz+u+vGOd7xDUm0RgQG89rWvlVRHbGIZ4d7M174jaeP/6I/+\nqHE+7wXsh1TysB6Ov+1tb5Mk3XDDDQLuheqFirFCEKbO+TCNXHr1XOi9x7mAdolbc/E7OZ+HEvtQ\nUFAwIfQEU5CaaadAzj7rx91ykB7rNrEmcGmdi12nT2jb2TsjjQYGBlq82txPHimMNOET6QML8eQq\nwOMxOI/7If2RynPnzq0kNSyFeyDJr732Wp8iSfX++8Ybb2yMEwn6qU99qjEPXn4OfQB9Pf7446u2\nsXRgXSChLXN88sknS6r1ET/60Y8k1ToU9Bf4O7iHp6fzw+JCbgjmZ5999qlYBPPhEaou2bHa4PHo\n+TU8ktXZnPs1dGLF6W+dGMN4rRDjZgohhL1CCDeEEO4OIdwVQnj/yO9zQgjXhhBWjHzu0qmtgoKC\n3sFEmMKgpA/EGH8RQpgl6ZYQwrWS/kTS9THGc0MISyQtkfShTo2l+oBOvt6Odqmrct8duZRmgBUd\nCeFWB0CsP+fPmTOnkpqelckzI9Emadg8lZyzFXQKaNNzCV2ReugczjzzzJZyb9j0PUsT5fDYOxPJ\niGafFGr/8i//0pgf7Plc9xd/8ReSailPOjeOr1q1quoDmZdICkuuB6wPWDhgHbAXrDJcx3feF/Qa\nzAcsh7HS57lz51ZtYjmCTaCXYZ7wrqRv6DU4HzbiuTNgc54G0BMIp+907u8ip2vw79tNpxBjXBNj\n/MXI/5+VdI+khZJOkrR05LSlkt4+3nsUFBRsf2wVnUIIYV9Jh0u6SdLuMcY1I4cekbR7F9c3Vr1O\n+/zRmMR4k1b6eblErUhpT9SKTTy1NLC/RBpgTWhXrqzdvYB7QCLNkHDALSE///nPJdU5DW+//faq\nFBvSFAlIgVi++zyw73/FK14hSfr6178uqd5Ln3rqqZJqSUnfsBjg2cj8LVq0SNKwbgNpSt/wO2Dc\nWCM4j/kjtoQYCSwnWFTQ2bDvx1OSPmJhQXo/++yzFZtgfriXe5N6FCV9Zlz0lfF7Xs5OpQXSYkQ5\nnZp7MOYK1owWV9QOE7Y+hBBmSvqmpL+OMT6THovDo2mr5QghnBVCuDmEcDMPt6CgYPIxIaYQQpii\n4QXhohjjJSM/PxpCmB9jXBNCmC/psXbXxhjPl3S+JB1wwAFxtEwzuc82/dnqfgoupflEOw1DgBUg\nGfr6+lqKuPAdKcJe1yM0XSfgkXswDo/Vx0b+wAMPSJK+973vSaqzIe2///6Vph2Jd9ddd0mqGQDp\n091i8oY3vEFSbbUgc9L73//+xjx8+9vfltSqY0E6/87v/I6kWnIuWLCgYilIY+YFb0nGw76dZ8L8\nkD6evsEIkOZc/9Of/lRSrdvx7FB33XVXlSEKRsM56D38fYFR8Izcv4HvjM2zgXt0qkv3NO9orrAs\ncCbtFo9uMRHrQ5D0OUn3xBg/mRy6QtIZI/8/Q9Ll471HQUHB9sdEmMIxkt4j6Y4Qwm0jv/0/SedK\nujiEcKakByW9s5vGRrM+dPIPb/e9Wz8Fv0euSCl7S6RPWvZMqrXNaRSc242RZOwrYQzs49lTI1WR\nQugQvNiLF2SlL+z/0dKTBenxxx+vpAYFYmE4MATa5hOpy3GsDr6/h3kgERkD59FXYirSMnWMH/bl\nc4tU5XekKjkp+Y5OBR0Ez8p9AY477jhJtTRnLnbeeecqF6X7I2AZYlywMo96ZB7QV/BsuBc6B/dG\nddaX6hhyPgydyie6haNbjHtRiDH+SFLuL+74zO8FBQU9jp7waIQldIr+Go9OoZOfgp/vWY7cd53v\n73rXuyTVEpUVHxZw5513tlzLPpU9PlIEhsAemhUerTlto+l2fwfPVUCVJhgC++F777236h+g/zAG\n9BX4QMCAkNpcj3Snb2j+0S0wBhgGY6fPMJAZM2ZUDAApCwPwore0zXHujSRkXmjHM1vh+fgHf/AH\njXnC92LPPfes7oWk5z14+ctfLqn278Bvg3lh/hgn904jVNM+e60KZ5Upg+D/7XwY2rUx3tyMoMQ+\nFBQUNNATTEEaXv1y+RXHkk/BkfNxyLXl2Xp9P4qUZ6/s+zYkxn777aePfvSjkmqffCQZEYenn366\npHp/yr4VSYiU9voP9BkpBZBGMASkOvvkGGMldZDOb3nLWxrjQPOPRx9MAg0+7Ib5wOsQfQk5EZh3\nJKfHHXznO9+RNMwkkL58ek0N5gUmRZUp7k01q4svvlhSHRPBsyQnBPt55gWvTdjRpZdeWjEboj+Z\nF3JN8pxhd4ybZwsDYJ7pg0eX8h1/DvQhjJX5GhwcbHnuwHNxul7M/Va6RWEKBQUFDfQMU4gxZnPO\ndbI+pL/nbLW5ug65+osASYk098rQHg2II9Zll11WrdREBCJliDSEEXz84x9v3NtzOvqY+I40hyH8\n13/9l6Q6hoCoQ3QKO++8cyW5YDxkWSYHAfOBZKQv1113naTac9GzQTNu5pF7Yxl4/etfL6nWReAX\nMXXq1IqdoDOAIXBvrC94LtI2maSxePzd3/2dpJrVIPXJ7MR5sDykOedjWZHqWA3mi3G6VyltYelA\n14DvBSwEtoafBu8G+g/eK39vU3+XnIXMs3/l9GHdojCFgoKCBnqCKcQYtWnTpmqv1yke3CVm+rtL\n+rFkgk7b9JwHnmHZNf9Iim9+85uShq0PrjV2qXPHHXdIGo5JkFojCD2Czr/TBzIuk90Yb0K06/Tx\n5S9/eeULAHNyHQEM4otf/KKkWlozlp/97GeSag9H5oXMyeyRmT+vioVkxV9hxYoV1TjY82OZYL6Q\n4PhtkCcSSciYOI97wkaQ1i7d8edA55PmsCQbE1YIJDlMh3HCcnj++EjQN9gcfYC18YzSuIv0Op7x\nlClTqnngGeX+TgDvm1fx7haFKRQUFDTQE0whhKDp06e3+Gjnqju1Ywh8dvJgdHuwRyq6DwA6Bc+a\n5HkWyFjE3vG5556r2njTm94kqd67XnXVVZJqiXXeeedJqnMSIn3Zb7ruhHujfcdfHwlJ3gGkGVJp\nYGCg8t5D8qOPYA+MFEIywhSw8XMvvCXx8MPqwH4faY6WHil96aWXNsZwyimnVLkJOId7epVpWAz3\nAFhbeJZYH5DSSFrmk/Od9UyfPr16ZrTlfhyek9H9CtAfMU9IfrJZe3te7QvdDM9h+vTp1TH3AQFe\nc8J1D9vNo3FrgtDpXJII/4N0dEOPfBvhNA0azUSiIPNgIxREvKhXXHGFpPoPFDp5ww036JJLhmPE\ncHzBHEdIMy8etJ8X0hcuXhzf2vCS03fvGy87f+DPPPNMRWNJaYbiixRovHgoKwGmMhKU8HLjMAVo\nn0WG6+gbfyz8Yd5xxx1VaDdg/ARdefJXXnI3WfoC7qXtOY+FkYWNxWfevHlVv0k8yyKPgxN/rFzD\nosr7wdaQe7BAve9972uMge2CK2RRhrJoDA4OVvdkwfCtrSeJZX4Qsp7GrxPK9qGgoKCBnmAKMUYN\nDQ210ORcEU5342zHIJxC5Yq9sLoiVTxdlivkPIDoS1/6kqRagmLKkmppwzGkwpIlSySpcm4iNXma\nWCPtmyuY0tLyUq38giFA5ZFmSK3/+I//qEyDRx99tKRaipLKDMnmDjBIJaQ2v5MqnvmjD3xidoVB\n0D6KyZkzZ1bsxAvF0ge2IK6opU84SKHk86SqbHGYV54hkhcpv2bNmpZ3jPGx9WObwPvAVoe+0Rc3\nr2Kq5DhOTMcee2xjzLiLwyjmzJnTkp6PPvIe8Cw4Tl/43dP1dUJhCgUFBQ30BFMIITRCUD0tdrsC\nGeknSAvKAC8Amtune7osZxTONJB0vj9ljx1jrBRo//u//yupdsP9z//8T0m1iQ1pgvRhvF4MxpNt\nMAYvaefFTthLf/azn63Gwb0w/2EGdWcs7gUTcOUve2HuSSIU5pE9MuC+KOQeeeSRat/OPHANfWL8\n9BUJiaTnPWHf7+yQPvo8M39pctXLLrtMUq1YhQmcc845kpph1mlbSHovAMSzYX7oG3olTLO8t7Cb\n9P308oCuI0CXwnxxb757ir1OKEyhoKCggZ5gCtLwKuhmQtcLeHASGK1snAdT5QrF5kpuecou+sIK\n74E/6Qp/wQUXSKolNfd+73vfK6m2XLhk83Jy6RxJtQMM+1YCfjxRLBIF9+DU7dVTunnZd9pyXYub\nbHHA8gAqd9zygqzoJrZs2VKZTPkN6cszoy2kNH2nT/TF0/DTF+6NfoMxIIFhEP39/dWzcTMgc0lf\neN70lTF4ABh9wZ3cE9eeddZZkmp9CH2DRW7evLml4DAOVTAnmJYX9oEhwFi7RWEKBQUFDfQMU5A6\nWx28hDvSLA0h7cQUACsydmn2ch6OjAMQ5yOlPD0XqzW/P/3005Wkcick3G892Yprl/mORKNv2PqR\nfIceemijD16stJ1uBqmCBPTELlhXPBkIFg36wCdj8P0tUhr2g68Gc7LLLrtUko19fGqZSNvkWTDH\nngLe99KeCo2xuRswmDVrViWh0SV4UV/mECsB4+M94p2FxfDsCPt292/GzjOH7aBX2bx5c9V/2CpO\nXrSFHsf1RVzHs+Y96YTCFAoKChroCaYQQmgbuOR7bbe3uoTt7+9vSafGMVZL7sMnqy57afaQ7sHo\nSTOw63vCEzTgTz31VNU/gBfflVde2RgXffE0Y0gt9tred6QJNm/G7oVrU70Jv7nOAEnoHp2wD3d7\nxiOSfS2+GLTrCW+53v0W1q5dWz0DvEI5xvh4huzDvfAu4Dv6DaSuJ8BxPRE+CLNnz67uDSuBGbkP\nBfMIa3FfEd4L+gTb8aQsniiFZ5/6ouT0Xc50POVdp2DAHApTKCgoaKAnmII0eqKUXNFYL7e2adOm\nltTsHj/BCuyrLKurJ65g9UVyIGWQWn//938vSfrEJz4hqd4XE0uQXkNxFqQxUtRZiks4+uradMYG\nI/G048wL7UyZMqXFwgGzQTeCZKRIDG0gZdm/kvwUqUzoMPOHhQRJyjwSa0FfH3vsseoebgnxArE/\n+clPJNXPkDRssDcYkxd1zRUF9uIxAwMDVR8YPwzIC8x6wR7262j6uRftOOPAs9N9KNBVgFSn4BYd\nHw9zylzn0tB3QmEKBQUFDfQMU0jTseX2UIAV0v0XUknI6uqrpPs+4JPuZb3clo1EYIXnnoQ7s+Jf\neOGFkoa19+wnCZv1MnFIHbcucG8kJhYAzmcMXrgWaYRUdw14f39/S0JaD0NGj0EbSFNAH4jrINbD\nvTBhUjw7fucTP4+VK1e2JCLxginMCwyA3/EK5N74CvgYmRfAmPCIhM3suOOOFeuiD6SpI+KU9wVm\nhY7l05/+tKQ6VgI9CWyF34njQFfDe+WFZxnjCy+80KIX83Rr6blSzRzTYsdjQWEKBQUFDfQMU+jv\n78+W2h4tqYpUr5ghhBZPRbfZe+IJ2mZPjE6AFRy4JPRSbvjyEwPxT//0T3r729/edqys9Egs9pNu\n23fvQY/+c1u5J5VF+qTz6gwAiedegUgZJJrvZ0mGyjy4FcZL3JFyDkmLl+UhhxxS9QWWAgvBto/+\nAsmOr4PrXmBEjIn5gYnQN7wLGQsWkYceeqhiZfg+IOE/+9nPSqpZGxYLEtqQSo93kVR46GBgFMTG\n0BeePczJrTZTpkypruV5Mk/0DX0HuhXeL+ah6BQKCgomhJ5gCl42Lv1d6lwOK7XHsiqyqrLP8qKs\nAOmKRhupi0ba92OemtvTuOGhtscee1R7XK5x7Trj8BRctO0puz0dPd9hNZ53oF1OCSQg+3OkNNIZ\nCwjMgYKWBls1AAAgAElEQVQ1bpf3uANnZLSHHoW8ATAPrDmrV6+u2uJcpCYsBKkME0Aycj59YJ7Y\nU7vHKCzJ81vQ/qxZsyoWAcvAooEXKvMGA+D58wxgQhx3CwDvIV6bXkaO+8Gkli9fXhXuwXIDmGP+\nTmCxvE8wDPfS7YTCFAoKChroCaYgjV5G3j2znDGwCm/ZsqWlpDcrM5IOqeIFV9iXYl2gTaSR+wRg\nbXBrB0zh1FNPbSna4V6VDs8s5NYIJCfSiL01e0ykPtLMC+Fs3LixJecC44MBILnIG0kbrtlnLP4M\nsOIgjWEm6BSQnPhsSHVqdlgbEh62RlyB54/g2XIdv3MdY/QisFgjaI+iMvfff3+Lf4KnU/dMXTwL\n5o954j3K6VZ4RjxrngPPEKvO7Nmzq/cIHQFtMU7a4t2jrzAG2HK3mDBTCCH0hxBuDSFcOfJ9Tgjh\n2hDCipHPXSZ6j4KCgu2HrcEU3i/pHkmzR74vkXR9jPHcEMKSke8f6qahXEYlL7Dp/gyspOkxL5nF\nub4v97wCHnmJ5tp9A1jxsWfDIMiPODAwULEJjzdw/YUXd6EtL9QCUmaUAqnDcSQFUn39+vXVMWLy\nYUywDmI6GLdnFELSe9YopDESz30KPGs2OSI5X6qfHeNgXw+T8ILDMAjyLDB/9AlJCjPw8mqeSn/h\nwoVVG+gZ3HKBx2KuQAvl9phnrDTcG7bHuD/3uc9Jkv7kT/6kMVbG/txzz1XPiHFjweBezDXvE/oI\nnj96km4xIaYQQthT0pslfTb5+SRJS0f+v1RSe7tcQUFBT2KiTOFTkj4oaVby2+4xxjUj/39E0u7d\nNNTX15ctF58ygdy10uhFat3LjX0WUslzDvheECAhYQSejwBJGkKojrGvRmogLdmHkruAviKdvAQ7\n40SK8B0pn9q20+NIkkcffbRiRpRaR/KxB6ZvnoHJPe/cMgQbwXJA3Qj2udyXscJApk2bVlkiPIsV\n40HLzjjxKfHiMfgMwAyIv2DemUfXL6XskWNEbGI14XnTf9rCysAz4V5YSJg3Ykxgj+geaB/dxA9/\n+ENJzWdIdiusS86kmXvmg/nh/RlrMZhxM4UQwlskPRZjvCV3Thx+Y9pWagkhnBVCuDmEcHNKIQsK\nCiYXYazFJ6sLQ/gnSe+RNChpuoZ1CpdIeqWk42KMa0II8yXdGGMcdVOzePHi+OUvf7lFV5DTHYxW\n98GtD+4NyarpuQT57seB6xRgBKziaN3TfSuSjraQSGnUYjoO2AnSGKnkkYxIAM9p6X1G4iJJQgiV\nRGMhZl+NBt9LrNFHvjNupCx+Bz7vlGTjPieddJKk2g8CxrV27dpqDk8++eRG24ybeyAJ8UCkL56T\n0VmiZ0PmOO0x35s3b67OoX9IXeaSZ8K1MCFYiXuVwtIYCzoD3jv8Ergv7cF+rrvuusqnARZHm4cd\ndpikmlG5bw5+Dbybb3zjG2+JMR6hDhg3U4gxfjjGuGeMcV9Jp0n6Xozx3ZKukHTGyGlnSLp8vPco\nKCjY/tgWfgrnSro4hHCmpAclvbObi1J9gLOXnNT37zHGFpbhGmf2yF7gM6fpZy+M5KBdJKrvh1O7\nNtIAKQKQGuxfuTfjRpvufvCcxz4WKUYf03261Fo5afbs2S3xE+7hiRRyTT/3YN7QHdAn975EOiPl\nv/Od70iq62qmNvbTTjutMR631buOgT4TwcgzcLaHDoL9PRKT+BY8BdMoS/qPVQnWwhwyftpEf4HH\nI+OEAVBcmHlAp8D8wzhgf8wL1q0TTzyx6i+MiveJc4i3YZ54FjfeeKOk+pl2i62yKMQYb5R048j/\n10k6fmu0W1BQsP3REx6NMUYNDg5mrQ/uTea/I5GHhoZafPDZTwPP64dkYO+LRHRJyZ7a7fMACZBK\ndXQInjMRKQLbwNqAJQDJ53UbkV6MDQngcfboDeg7mvTPfOYzlX8C96ZmxJ/+6Z9Kkk444YTGPKED\nQJKhK0Dqsm9F849WnjwTMAOOM1Y8Bw866KCWyEM+8SrkXoyb+aNt2IrHDbhUh4G45SDVTcGA/L2h\nj4yDeXTrChGdPAsYAn2C3cBqkPJf+9rXJEmve93rJNXvzA9/+EP93u/9XmM+qDhGHy+99FJJ0h//\n8R83+ox/AhaNblFiHwoKChoYt/Vha+LAAw+MS5cubcm45J8gV9uh3TWsyGl2pvQTCei1A7gHUghp\n61l6aYc9IudPnTq18ijzXA6wDfrId/aTXvsPHQSf7HOxRnjtiW9961uS6j0lEnTu3LmVBGdevvnN\nb0qqmQNxAOedd17jWiQXtnJYDfdGH0DGasbGHpu9M1Ia6b9y5cqqbY8X8ErXXkPRGSP3AJ6HEl8A\n5g/pz/V77LFHdW+eHWyDcfIeoLfAq5D9PYzhne8cVqUtW7asMT//+I//2PZ8/BY4n+NHHXWUbrjh\nBkmqKoYzD/hvMC7eG/J44PHJmP75n/9521ofCgoKXpzoCaawePHi+KUvfan63q6adPq7f6Z7QmcV\nXn/Sbdku8d33gb2v1ytAu84q3O56JJ1bT5BCbpVAKrl+gnuxR3TpfN1110mq95ZIY6+XcN5551VS\n5eyzz27cC30Hn1gE/vZv/1ZSLW3RgMOoPL8k84E93ytswYquvvpqScPPg6zM7tGY1puU6rlFl4LU\n5hnCDLDewATQ3jO/vAOvfOUrJdUMa+HChS2+DZ4Z2a0sjBup/OUvf1lSzTyJ8SB3A8/E60twH+Yn\ntXp5padzzz1XUs1Sbr755sa40SnxzBjvpz71qcIUCgoKxo6eYQoXXnhhlgm474AzB/9dapX4rPR8\n+nlIPlZy9owf/OAHJdWrLtKH70hEPNXSqEDvN9KFFd2rS7s3HG2h4UbTDxMgwu6nP/2ppNZYf7TR\nH/jAByQN7zn/53/+R1LNBDgX1oJ23CMWzz//fEm1ZKQGA+NmLOQmZN+OxEMSsu9l///Sl760Gvct\ntwx7zKOvQMfCPWFI7lXKfpyxoCeiTzxb9ut4CyJByd+wcePGysrkeSL8E4nOnMMEGC9j+cY3viGp\nrgvh7JCx8aypeo0XI1YOqc4Dyjyg3+FdRPfAGLCu8H594Qtf6Iop9IRJUho9xXun8ldpQJQXlGVC\n3OkoVzCFe33sYx+TVFPPNNBJqikrLzSONijQnn322cqExGKAo4uXR6NP0MO0NLpULwoXXXSRpJru\nukmSl58xsKBx/Oyzz67MePxBHHfccZJqU9utt94qqU4Kykv9kY98RJK0ZMmSRpuY8Lg3ode0D43G\n9Ol/4I8//ni1YPBHzZxi/qRN/phR5rJ9QplJHxgj9+D9YL75Y2KeWWQHBgaqhYQ2+M4z4P1i4aHN\nQw45RFK9KBJwhtKPUoHMMwpcN4FjbmQR2Xnnnat3k62sO9Sx0GDu5b3IpRTshLJ9KCgoaKAnmEII\nQdOmTWtxuWWF9EKp6XVScyXMlbEHSHhPhooE83RiruSB/uJ0giSkJHsalssxlFBIJPrEd0xx9Ik+\nMt7vf//7kmoK/u53v1tSrYiDOdAurAblKI5JixcvrlgEkpA2kXwch/56uTPGQnEUthE4OUHlr7nm\nGkm1cg8J6UWCN23a1JIaDklH6T2uYW5JMsL7AQth3th+0GckJudzH1gR87zbbrtV40Iqw1pyjmLM\nD/eEfVAAiO3lm9/8ZknSWWedJameX9rhelgQ24YFCxa0bG15Ru5SzjvvDAFlcrcoTKGgoKCBnmAK\n0rA5ygM63GU5pxRN2UAudJpVFSWM7789MMpTpAGYAoo3JC77uzSJJvdCmsBKkLb0jf0nx9nHMl4U\nYZ4EFT0GLMXNoh6s1N/fX7X93//935JqJeQ//MM/SJKOOeYYSbWkY25R0jEvZ5wxHAjrUph5Zk+M\nVPeS98z/xo0bW8rnMZfMtYcTwz5oi/HSB4KTeAdIEos0Zr5gR7xnM2fO1Cc/+cnGbx5i7+HWPBN3\nJGPuUQJeccUVklrfBeA6KuZi06ZNlQ6Buead9LR7rtSFWblrfycUplBQUNBAzzCFvr6+FndgkEvC\n6nqDtPScF5/ld2cEHm7rziUeMo2JDosBWmWkP2bDnXbaqbrWg6m4FicT9t/vec97JNWS0S0bJNXA\nlZiUZ9dff72k1kIrS5cOp8pMC7+gO+ETzb0XYaV4K/OCVh0T5Fe/+lVJtVRmfjC3enIWGATzkyaf\nZc+LboFzYQQEE2EJwuLBe0GqNOaTeUDa8swYC1YL7sM7cMMNN1QafNdHMF+MB5MhOgSeGYzKx838\nwBBo35PIch90M3vttVdlLeG5etEb5pL5Qi/mRWu7RWEKBQUFDfQEUwghqK+vr2MqtRxDaKdTSFOQ\nSfVq6SXqWXWRCOwR0T773pL9K/s6pD4a7WuvvVbSsHsrko/9KOey8rP3ozgpUgprxL/9279JqvfA\n7KmRzkgCUp194hOfkFRrvLl/WvKNfTrMxh2BLrnkksY1bgkhDJcQYVgI+3a+wyhoH4aAVj1NiQaD\n8sIoPBueJdIYpxxs/Uht2J1bUFx771aulJG4IxmSnb5wT/rPfDJPsBbeHw/B5t315Lp8p69p8Bvv\nDX3iPUGX4OULeDf5pM1uUZhCQUFBAz3BFIaGhrRp06asR2PO7dm9EdNELZ7E1FO8A6QKWmOkFnZ1\nJB+f7N/ZByOdWI25z5o1a6p9opdxYy8IQyBgib7h8cheGqaAhEBieDEZvBM//vGPS6qlVmqFgBHA\nJpgvL27i0gXmgO8DzICkIOz3YT/ME0Fc7t7L/R544IHqGEwBDb+n4/dr2TvzDHiGMA0vR8cYYIPu\nYjw4OFg9PxiNzwfPnXujO/jxj38sqWYInt6Pe3hBXgcp4mGuzIlUMwP3nUAfBOPhdy9+3C0KUygo\nKGigJ5hCCKGthhRJyOrKvhaJy8qf2uFzBWRySWG5lr0ix1mxkRh4HyK1kEpIb7TFBBQtWrSo+g1d\nANLGk716OTmkORLTi54wH+xj+Xzb294mqdbOY5fHHo+OgblKx+uJbr18O30iGSrSFv8GPDw5ztgZ\nIxYT7sd8PvPMM5W+gf7BHHi+OZ8RL47rPgSwIXQRXkzFE5rOmDGjYg/oAugDz4bnjr8HfXPdAGzG\ndTI5axjPFsZFX3fbbbcqDoX3h2eDlQX9g78P9NmT9nRCYQoFBQUN9ARTkIZXUlZdl+pu2/XVOfVj\nyBWM8VBql5B8Z9/GqkzKK2cy73jHOxrt4fuPNJs7d26lC0ASsj/kHugc0H/4Xpn9K5YCvsNOfN+P\nNP/oRz8qSfqbv/kbSbVU27BhQ3WtSzTgoeTMJ/oJ2Mdf/uVfSqqlLRYAL1WH1PIktql/PhINKen7\ncfpIn+gjUhupDnPAOoH0JbEM12Pd4TmkHo2uW+EeMCPGwT4ehsl5zlD9OzoLniU6F9gjbIn777//\n/i0xIZ7mD6bAPPK88dvwdAGdUJhCQUFBAz2RZOXggw+OF198cYsUZ3/rUsvLf4GhoaGWvRvw351R\nwDbYh5LQlD6dfvrpkmpPP6QRe2ckAPvbjRs3VlKRNrxmpjME17bDPjzhKxIVCYkE8TJ1eBfiv3D1\n1Ve32OqROs6k0KkgwbgHFhHXFSDhkM6czzPyXBFpKT2PS/FcDM7iOO5xLLASmJXHLfCM6APSPY2E\n9chcWAvfkb4wBZ4p+3Yv5MN1nr6PeYQ9Yoni99QCw3uBHuaqq65q3It3DhZDPA6MiGdw+umnl3Rs\nBQUFY0fP6BRCCC3WBFZVVu92HoxSkzm4FyTSA2ns17IKI4VpCyntkoO9Nb4FrNIgZR7sN9Hgs/oj\n0TmXFd29JH1vjURFYuAzQEyEe12iP4Ap7L333lWsg2vH+USiMd7XvOY1jb7wnX0s80nyWO7N/Pl8\ntyuV53MOQ8D/wK0F7JmZe+5JO54iDkbgrJDreU6PPvpoi14nl8qfZ/qjH/1IUj33PGNYjPuWEIWK\nfwe6BS+Wy3u3fv366jljRSGHBeeiM2F+GA9ep7C3blGYQkFBQQM9wRRijJUUlFqLfKTH2iGVRm5V\n8AhL1yUgAZDWSAakFKss2nVyG3h+RVZ2fp8/f34l4T23Hns/vl944YWSpD/7sz+TVO+d3ecCJoGE\nQ/qwr6XcGr8zJnQU55xzjv7wD/9QUh3diS4ASYdVgHmjjzAEZ0ZIY9f4e8QmuhfOTzNfMU9IV76z\nT6dv9AlGQVvOPgDPxtPYc54X9n3Vq15V6Qpcz8G56CvQU8AoSNzKO8sz4JnB5khn7/EXPAe3lk2b\nNq3qy2WXXdZ23G6VYr68fGC3KEyhoKCggZ5gCiEE9ff3VyuiF/8Y7br0s91vrp/IxVcg6dkrojtA\nquOpRztuIXAt/vr166uVHI0yK/y3v/1tSfX+8pRTTpFU7xnZG7LSMx/0FWlGXgD/BPSV/erzzz9f\n6QJI/45Eo99ILCQZ2nF0Lp552cu801f28eRhYExYNbBarF69uuofjAgJj5WAZ4ME9NT4MCL3a/H8\nDMwH13m+gRdeeKF6nhzzwjpYfjjOM2Hfjz4EhnDmmWdKqrM90zf3D/HIWdjf3XffXZUBxNrAOfQJ\npsD80Jbry7rFhJhCCGHnEMI3Qgj3hhDuCSEcFUKYE0K4NoSwYuRzl4nco6CgYPtiokzh05KujjGe\nEkKYKmmGpP8n6foY47khhCWSlkj6UKeGUlbgUZCevcY12qO15+Xrcz4O7i3J/gxNLkB6I71gFLAB\nGMPq1aur/bdrsMmuDC644IJGH4499ti243Z/DfapaP75HcnBd7wQ582bV0kwdAdIEe6FpESXALiO\n6FGOM09IJzxAiRqk/a9//euS6iKpnHfkkUc2PC7TccI2mDfOY+6ZV3wguBfsh/mHgZGh270GU09J\n3hckNW1yT5gT90RX4kzp5JNPllRHuHI+88Z9vIgu9yH+Y9myZRX78HfYLSX0jXHyjMeKcTOFEMJO\nko6V9DlJijFuijE+JekkSUtHTlsq6e3jvUdBQcH2x0SYwiJJayV9IYRwqKRbJL1f0u4xxjUj5zwi\nafduGkOvkMIlJegmq7PDr3HbtgMdAjoGpBRSmHshSdBKp5WD0FyzosNCkEyM79RTT5VUSzCkBRpt\n/OORjOzP2WN6diByHbBvJ1PTAw880OIPT58YJ31DP+E5K5gX9rVYF5DqSD5KnH3lK1+RVFslyBLN\n/nfNmjU64YQTJNXPhChP9+hEEnItLM5zHbhVgfN5Vl48ljkZHBxsmQ/u6Tk/Oc7cM8f0yTN3e8Zt\nGBbtoruAYaGruffeeytW4d64vF88G9gIzw6fCWd9nTARncKApFdI+kyM8XBJz2t4q1AhDj+Vtn/B\nIYSzQgg3hxBu5oUqKCiYfEyEKayStCrGeNPI929oeFF4NIQwP8a4JoQwX9Jj7S6OMZ4v6XxpOPZh\nNCnvXopt2pI0LL270TekcM2+6xxcWrGAYZf3Wg1IoTlz5rTsE91OjrRhv45eAmnD3ti9DZE27OOB\na7bxFWCMixYtqsaFdEQy0iekC3PqmY+5N2PBEsIYkXBcTy4A6h7QPjEmd955Z3UNpeGxJlAzAnaC\n1OVZwFLwEGV+mFfPheD1EGAWqdTnGLohnivPyHNfMNfs3z1PAs+EdwEmxX141likkPboEXbccceW\nKGHuARNEr0XMg+eJGCvGzRRijI9IWhlCeNnIT8dLulvSFZLOGPntDEmXT6iHBQUF2xUTtT78paSL\nRiwPv5b0pxpeaC4OIZwp6UFJ7+ymocmK1nTdAis1v7ut35kBq7Z7+g0ODrZ44qV5CaU6z4Ln3kPK\ncNz3xugePCqQvSMWArTQ2NZvv/32qhoV+3AkNtKGvsEA6BP3QNsOs2AekE6cj6RjPuk790Nirly5\nsppjdCHoH2Bj+ACgE6DvzBv35hm6jsX9RJDazDN9TSs80yf6DZPkXI82hQGhgyDPpmfoIpMXn5de\neqmk+hl77Mmuu+5a9YG55F74fBCHA/PJ1U/pFhNaFGKMt0lqF4p5/ETaLSgomDz0hEejNDpT2JYs\ngtXUdQte9wDJBjNAYrA6Y1dG4k6fPr0lMhMpgC7Aqwh5jAOfSEjs7TACJAfeclgj2JMj7Wl3+fLl\n1TjoCzoTfBkYj+/XPS8gjADWwnHGRF/woGT/e/DBB0tS5aU3c+bMqk3Pi0nMCPt4qlDDFNhj33DD\nDZJq/QXMAaZEe8wDbIjjzMVTTz1VPXeks/uv0DbPxnM6etZwrkNvAotDV0N7nl2LZzh37txKX8Ex\nnqFbI1yf4d663aLEPhQUFDTQE0whjamXWq0N4/Fo7ARvw/dhrMJuMeA40orjSH/6/sILL7RURfY9\nnmdeQlqkOQOlWlIizdkzs09FOvM7lgWADXzOnDnVONF6cy8kHtIIHwmkDH2nz0hbpBJsBuZAZWyP\ntmQe0ZTfd999Vf/vvffexjhgafSBcaDXgCHhA8A88klkKyyFZ4aOgfaYg3nz5lXvGvPh74nv+WFC\ngHlgvLA7rzHhNUwYC/oCLC7z5s2r5oG553suQ7m/b52sd47CFAoKChroCaaQQydGMNrxbtmEn5dj\nEF57glU4V3lKaq1wjbbcqwQjVdhnuvacTywcvlf0qlj0maxA7E+feeaZSgOPdKUP9BE24rUDsAy8\n4Q1vaNwDRkEfkYxuIUBDDtLaHT6XHHNPUK+5kNZblFqjJNEZwJzQn3h2KM5ft25dJdHZ6+fqmfK8\nPTeDR/jSN3Q0ab0LqWYe6AmYJ6wYO++8c/W+8Ew6Ice0u0VPLgo52pOjS+lxPzbehcUTjgIv/8XL\n307R5Gm/3HmGRYAXwhNv5BYH7sH2ATMf30lHxlx87WtfkzS8+PAHBQX3wC9PGsIfFuHdKO1INsMf\nLI5G9Nm3Ix60BF0+4ogjqkKwt956q6RamekFa/hkEcVUSR8ZC/PEcRYX+oayj8WSPs6ePbtaKHhW\nbuajLRSH/PG6ezTPhGeF0pdFlneCvmN+Zv7TBT73R577O/D5GivK9qGgoKCBnmEKMcZsQlbgSpp2\nK6EfG69S0kvYg3al6qRWaS7VFBRnGSQVVBJpAoWkTVcswiQ8AYqnUc+FBHN8xYoV1TVIfJSbmFKR\naDgOwRhQ1rkTlyssYRBIYyQvYwDQ7SeeeKJSOnro9C9/+UtJrc8A6ct4YRiwHxSJmCiZL0yXPv+p\na3PKGtI+sQVhHLAVFK6cT9955r6t4J1mHmEKOGx5oNrQ0FCLCz7HcozAUw7mitnmUJhCQUFBAz3F\nFEBOuo/HxOKOHTk20ml/BrzIh5dfS8Oi2T+7SzTXopdg/4iOgd+RPjhKIVW4HinOvhZFlJsuSWzy\nxS9+sdrTIuFxGEKK0gd37GF/zidMgL5QYJZ2YR6EAhPsxHyikNxvv/20fPlySbVDlIc+w16YY/b7\nbubzIi/oMRgLzIGU6K5knTlzZoszkStkmT/6hgkRZuDPlra977AdL3zk6Ovra2EK6bEUbk4fr26h\nMIWCgoIGeoIp4LyUk+addA1gNAbhOgbXT+T0FO7E5IFSfMIYUgmAdPBgF6QCUgPp4+G17GM9SShm\nLaQU2nrfl6IHYG9+zjnnVKnbfvazn0lSFSBF+rBLLrlEUq2vcFbiBXXpC/t6LADMJ1r1G2+8UVLt\n5IUeIcZYsSuYFZKeuXXrjBfT4TrMnx7MBdOiPeYDCwB93mmnnRrBUVLNGJD8nvCE8z2BL31kLHyH\ntRx66KGN+WBsXhoxncucNa5TEqKx6tUKUygoKGigJ5iCNLy6uTTPMYaxWBZyJee71dy6+7O3h9T3\nAJgNGzZUugL2lUh8T0QC0AF4YBSSELu6l6D3pCLoGJBOaOOnTJnSUjAVpyQv446uAUZBIBPXo0NA\nMtJHJCGafQLFAPfF+rHffvtV40KfgYsvLAQfCObTWRnPgPMAUp5ngm6H6/mdvq9bt66hX5DquebZ\ncE/GzXmMl+sZC2zRi+LA6ngnPFlxanHxhK3+u6Pb9IU5FKZQUFDQQE8xhdwK10nHkOoHut1feel1\n/+4JO5wpuA3YLQuzZs2qJDV7VyQ/WnGkh5eUR9og8ZFOaOyRmJ7A05OKcj8k5Pr16ys32jvuuENS\nLQlhL0hNxoN35LXXXiup3jtzPZKPcSOd0RnQLolNSdya+kHASjx83XUj3NOLu7gUhzHQV/QajM1T\n76fp2nzfji8EzwIG4Pod2sA6w3zgocg8+7vg7x1I39uc/qsTUy7Wh4KCgq2CnmIK/v9cARdfOVP/\nhRy7yK2aOZ2CJ19h5ffyc7kEFilrYQ/ryVbcRo3E8z2z27TZx6LZpl0vG+dWizSOA78B9sae8IXx\nEs58+OGHS5IuuugiSbV+g7EceeSRkmpmQOg019EeMRSkKxsaGqr0GbAS+uQMCSnLOBmPe+y5FyJ6\nEdgJY0V6p8WCPZaFtmEAPCOPX4EhMX8wAfrCM6Vd+sB5tOuesimD7hT7M9YQ6RwKUygoKGigZ5iC\nNPF4hdRPvNt7uf+BS0o++R2p4klZXcewcePGSoryyZ7W02nlbOCwFY+eBFwHe0Gyur9D2vd2rEGq\n99+eXo4+Icmwr6OnoI94LqI7IB0bVgaYBX1F57BixYpKB8L+HSnKNdwLxuCsjblHyjt78yKwMAb8\nGXjfFixY0OKZSNv0KS1iI9XP1EvW4yPBcRiUp4rnO/D3Kj3HSyB2i6JTKCgomBB6himke6dOK9to\nHlseH5HTLbjN1xN0sPJ7/LunYfOS9qmeI+eJycrvSVJ87+jxFXwiTbBu5OLrXZcxODiY1cs4Q0Lb\nznfuRVwFx73UG16aJ554oqRad8A8ss+HkbzsZS9ryTXAPtz9Ciifx724t/srYNXxJLtYXpDenhvj\n4YcfrqwFvAeAe8F8uBdtefo2/w5r82LDXtgGBsH5U6dObYll8Ofq+rKJpissTKGgoKCBnmAKqTej\nlNeydpN5CeQixnKeiV7e20u+sb/1pKK5vApTp05tsaMjBVjpuYfb3V2K+z08vwBwXYQXS1m3bl0l\n+csrr2EAABi4SURBVD3dGBKdPTHMyCMOaRudAz4AeDziz0B0oe/3uS977Mcff7xiPjABoiaRyp4U\nF7g3qRda9RRnSO/U2pD2jTlKj/HsYDaeR8KtBp5Xw1PKua4CwJI8xVx/f3+W1Y435WAnFKZQUFDQ\nQE8wBam9R2Mnz63RMi85cpGVrPR8ImWQDKz4SFAsCb4Xd1+KoaGhFlbiXpJILN+/emy9x+j7+Ugh\ntyi4/8Ozzz7borGHtcAMkLZYDwCSjNgG9tJEHJJxiXuSn+GYY46RVHv+wbCYT6lmG+z90dy/+tWv\nliQtW7ZMUp3DARbiPhZuhfEkrOhBPBMW3/v7+1t8Hjz/BG3zLNChOCN1BoEuBebA+OkjehXGBHbd\nddcW/xbQ7d/HWMvHFaZQUFDQQM8whW7QKU58NL1ELloSScmKjyRjb5kWCpFaC46OlkcyFy+R82TM\nnYcEdFZCX710mXvTIXmfeOKJqv+cQ38pQuuWDS+Dzj4dqc388f1973ufJOnf//3fG33Aro/UTgu7\nwARoC+mM7wS6BX73CEV0Au4l6KnhYTmwIqQ1z37Dhg0tPg4e+wJyXoYeS+NxGZ6ByQv1MgeMra+v\nrxqfjyuHkk+hoKBgq+K3ginkpLyjXd0Hj2Vwa4OXHvd8/RT3dNuw+7K38zXIrdg5r0tv26W0jwWm\n4JYSPtFFpIwBPwMvf+Yl6vA4JKuTRzDSJroF5gGvxDe96U2SpB/84AeSaiaCZKSddevWtWjomQf8\nEd761rdKkq644gpJrftujzdgTMwDktbHwnlpPQ63Dvgzy5Vk82fj5wPG6n3mk/mDme66664thYqB\ns5Ox6uRymBBTCCGcE0K4K4RwZwjhKyGE6SGEOSGEa0MIK0Y+d5nIPQoKCrYvxs0UQggLJf2VpMUx\nxvUhhIslnSZpsaTrY4znhhCWSFoi6UMT6eRY/BVy2Zly0ZFIE3QIfGffidR2ae2rdDum4L4SOYtF\njnUALz/n3pRIQvrE/hSmgQ/CPvvsU7EKtN0AXQH7eJiEF6897LDDJNVWBSQbUh5pDIiVIIMyY8a6\n8+tf/7qaHyQi9/DaC7AN9BNudXCmxXGerXsRetbogYGBFt8H0C53Yvo9xxhyXq2ewYnfYWppqXp+\nAzBEtySNlxk4JqpTGJC0QwhhQNIMSaslnSRp6cjxpZLePsF7FBQUbEeMmynEGB8OIfyrpIckrZd0\nTYzxmhDC7jHGNSOnPSJp9zG0Oer3bq53KZtGm6XfkXxpfr70d9dsewSj7/fbZcXJ5eX3SEWXcEgw\n95LkuFsXvHIQfeZ7yg6wl3MPGALnMB9kO8KT0/fn5FH0MeGRB2PgesZCVmik/Q477FDdkzm96667\nJElHH320pDqTEtaDNJNUOj85aQ5jAN3Y7cdq28+dn2O5rtfgWfIe8v7NnDmzpZ6lx87wTHgGbp3Y\nbqXoR3QFJ0laJGmBpB1DCO9Oz4nDM9L2LzuEcFYI4eYQws28kAUFBZOPiVgfXifpNzHGtZIUQrhE\n0tGSHg0hzI8xrgkhzJf0WLuLY4znSzpfkg488MDxlcdtbbMj20AaoXHmE1s2e2lWZ9dJsDp7joN2\n/ug5KdGpkk8uatLhFgHOQ5LwnboG06ZNq6IA8VhEQgGkNlYDvA3pG9YL3+/j38AnugkkH96ESHn6\nvnbt2hYGQB/4JPaBPmAR4jjSFuaFj4XX5nDWOBnwd8L9Iug7TCqEkC1v71633UYZd8JEdAoPSToy\nhDAjDPfmeEn3SLpC0hkj55wh6fIJ9bCgoGC7YiI6hZtCCN+Q9AtJg5Ju1bDknynp4hDCmZIelPTO\nrdHRDn1p+/8UrKJe0YnzkTJINBgEv+MViFXCV+fR7p+zcbvOALjm2zXbudyVuVwSaQYosg4hlT1e\ngH06Eh/PQ7IeoTMg/t/1G8wbWnXaQap7xup99923soR4ZWosFlgw8GykJqTnleSZMn5YYc63pBfg\nUZXMW/p+8fzQM/Dd3xOPy8n5SnTChJyXYowfk/Qx+3mjhllDQUHBbyF+KzwaO6FdzIMfcymNZESa\nEHmHTZ+9t+9ncz7v3fhOODrFT+Ti6IHvNV2jDbBrDw4OVkwHiU/0Hxpsl6auQ0EXAcNgD/zAAw9I\nqpkUOgXGDgPzaMMNGzZU/U0jJ6U6avK73/2upNqSQS4HdBGeadlzG4xXYm4LOKtzMAbGPjg4WD0/\nwNw7U/D3LHdeJ/TMojCRBzZa0gn/w+FheMjrTTfdJKn+4/DSbG5K8nJy7RaLXFp5/6PPlabzbYVv\ndTwpC3SaPjDGNA2c/+EwTneldWUliwgp3/lD5HcUirzM/PHTBxYJ7os7+dNPP12ZSdmSsFXjWnc6\nIlybRcLNzG6ay6Wrmwx0MnV6avnnn3++UjoC32b5ouEK7O1mkiwoKHhxomeYgjS20OjccWcNOWUe\nx93NlE93WkJy0g70dzSzYS5QJQc/z5WZXoQU6k6fc2np06QsOTOmK7wYP22jxELiO3B7vvLKKyW1\nmgNRGsIs0kKs3AOJiOTDlArrgF0gKWFGbPW43guw5ELSexn0cf369ZUrOXPmqQN5NphqeT9c8dgt\nClMoKChooGeYQjcp3jsFN6Xhyt0mt0TyEapKwVS8LCkZjrTiPJekub6Ohk5KUdAp1Np1EUgQT1c2\nc+bMigmQONVNibSBdAJIZ0/9xrx4wVSUgZgk6StuzkixqVOnVvcGOJIh8bxAihdF8WfhylLXSUwm\ncu/waKwYpgczRNnrCWA85T/vaknHVlBQMCH0FFMAY2UMo13r0tR1C0g4GALaczThaNkpl+77uVwp\ne6k1WMrH2olNuFUCCelWCw+VRkLSR1jB6tWrq3M8Masn//CEtbjU0gf2/TAKjmPCpWw80suL5qa6\nDZ8nDxRzfY7rPXhmmJXRX3DPXnBvduTe4ZyjmtQabu0pBT3se7wh1IUpFBQUNNATTCHGqC1btmSd\nMTppi9ulQHOtOmC1dZdg9rVI0ltuuUVSa6APqzLOON7HNPFFLskKcF0AyDmb5KwTnjTEpT7Hn3rq\nqZaU9khyPmnDQ8hpC6nsDInwZtyoff6ZP79/yhSAJ5HxsHVPquLl93CgSlO3p9d5ENj2RKd3uZ3D\nmrMI+u/p5GAQuJTzOyy4WxSmUFBQ0EBPMAXQaRXtRmPbyUKRS8iBJLvtttsktaYLZ8/Meex7+Y52\nHgk4ffr0ce/pOvXdPfQ8HNkLlbDvX7t2bUsJdC9vlkuPjpXGU8Ajjd1qge8AwU5IL08Yu2XLluw8\neZq2XDEUxoTFA49I18ZPNE3ZZMN9Ytw7F69S5raThSyHwhQKCgoa6BmmkO7BO9nlx5LiPWf7dxs3\ngVCuyUdKkVzE/eqRZp6Upa+vL6szyAVRjdfjzlOku7WC4xs3bmzZj3ufGAfSl/kgPgGPROaN/Tv3\ngjl4MV1nZmkiXN8zu88D9wAe+0FbXgQYCxLWl17wU5gIOoXr86x4Nozb43g6oTCFgoKCBnqCKcAS\nOoUSg7GkeM9p9r18OftQrAr40fu9PTkqugTOc3/7dn3I+Sl4JKePKceg6IvbqUlowth22GGH6h7o\nTJDC3BNpy/7dC6HCJNKyZlK9r+VesBN8B9AtcL+05LtbBzztGN+Za5gC2nYkInoML1SLT8VkWh22\nJjoxSp4F3qbOtDqhMIWCgoIGeoIpSMOSyiVnLs1Y7ngIIevR6NLWbdZo1UldjkRkn4aUYtX1cl8g\n9c/v5HPvEZywFmcMXnDGS9HDCDwnAvcnfmNgYKClQAr3RFfgOgLuhdSBISB9mSf66olx+Q7zoE/M\n9+bNm1t8IzxFuSde5d60BYshdZwX7PUkuy9W8Aw8pT3Rpd2iMIWCgoIGeoYptEvP7uhknWh3fS5q\n0vf+SCO05khEpBASFAmHhHSpDfr6+jru/Vwj7/EZ7jWY04/Qd6Sxa/iJ29i8eXMjYlJqLVXnn2nS\nV6n2NwD4LyC96btngfIITvq2du3a6lz6TZ+cQXiaNfrkZd09Hf94MxD1Grr18HX/BS8R2Am/3bNU\nUFCw1dFTTCFX3NMxmo4ht4rm/BTcv96j0zydNhLW97/ukxBjbPHhz/XfIwdz1odcolba8SK4Xlas\nv7+/RTfiqewZr18Ls0LqwKAYIwzLGYYX2fGU8jAvqbYm5HQK+Erk/Dz8u+cb+G33aOwEHyfvB8+q\nWxSmUFBQ0EBPMAX3U8h5buXKg4O+vr6sNHAvP9+ne7YerA78jiTM7e9dOqf9ze1lczkegFtXnI3k\nrDXc1/MSzJgxo0UTjy4AXQHMAEaEJPeYCDwXkULkB3RvOrL/4BHq+SimTZvWUrQXxgCLceuMs5Sc\nlcbfpxcLcrqFXC6GsY6/MIWCgoIGeoIpSN1ZHzplYkrZBsjtzz17kddzYM+NdGI/iwR1ZuFlwgcG\nBlp0JDlrQs4L01mNR0k6O2Hf7h6BaOWnTJmSrfeQK2fuOgPiCWAYMAaYFX3AuxB/CBgD80ifV69e\nXV3DXMJasErQR7cqOFwi/rbHOjjGmothvOMvTKGgoKCB3yqm0E0UZW51zMUfeKSd78PS+gRSa8Yi\n/OuRtKmEdcsG8Ao+uYxKroV3hpD77rkJU+uEF9p1PQ37+Jw/B+wDL0qYA96EtMu8wKy84CznS62Z\no51ReZxKwbZFYQoFBQUN9BRT6MQEOkVPpmzANbGdvAtderNnRnJ6ZiV0Dq7xTzXfLsGdAeSK1aY6\nAKlVy+6Vn7zaU7t8kZyf82XwDEyepdn9MQCMAf8FcjXSrlsWmE/ae/755yt9BMdSy0S7Ngq2LToy\nhRDC50MIj4UQ7kx+mxNCuDaEsGLkc5fk2IdDCPeFEJaHEN6wrTpeUFCwbdANU/iipP+QdEHy2xJJ\n18cYzw0hLBn5/qEQwmJJp0k6SNICSdeFEF4aYxzVUJrLp+B77Zz0b5dvoFsfANfs+z4W336kGLqD\nXPRl2p5LeJfOuZx7MAX64LUhPUbAvSzdwxHJu2HDhpZq0h5RR/+JrGPcSG3G7/t7LAj4J1D3wfME\nEm2JFQLrRXpvkGMMLza/g15DR6YQY/yBpCfs55MkLR35/1JJb09+/2qMcWOM8TeS7pP0qq3U14KC\ngu2A8eoUdo8xrhn5/yOSdh/5/0JJP0vOWzXyWwtCCGdJOksatmGne9XRKjm3O97Ow8sleLt8+n5N\neh37eaSU+zV4e25hSK0PgIxAtO35FpDa9Anp6/kiPduRt+O6CywlGzdubNFTeF3GNJ+jVOsW0hiF\ntA8wD9r1mBAYAWPzrEBp3sgcU/RK4M7qwHhzXBY0MWHrQxx+AmN+CjHG82OMR8QYjxhruqiCgoJt\nh/EyhUdDCPNjjGtCCPMlPTby+8OS0nI0e4781hHdWB/GIwF8/5mLWXANvktU3xu7dr2dlyHSlmOe\nbde9CpGmtI0U9niBThGftIvURlo/+eSTLQzIqyvRNnt9zoNtwBhoE+uEx1TAihgD7aAvSStPpbUy\n0rY82pH5dN+Kwgy2LsbLFK6QdMbI/8+QdHny+2khhGkhhEWSDpD084l1saCgYHuiI1MIIXxF0nGS\ndg0hrJL0MUnnSro4hHCmpAclvVOSYox3hRAulnS3pEFJf97J8jByXWO1zzGGsTCJ3P60E1NwKeT7\nf7coANd/DA4OVpKNnAIeL4GXH959rm2nTRiGZ1qiz8Ql0Cf/TuWk5557rjqGxKctpDGsxmtGIPm5\nHt0Av6fjTvuWm580x6PHQ/gzc+ZQdAnbFh0XhRjjuzKHjs+c/wlJnxhrR7oJZsr9obdTTHZyWsq5\nGPt17moM3PW23ULFHwiLALoTtgn333+/pHrR8IWLvhB2THgy8FLtwJ18SFc/NDTUkv4dyg6tB/yh\nsijQF5yUuI4/bldYemo4N8PSj+nTp1cLjQeXsRjkUrqVxWDboLg5FxQUNNAzbs5jMUkCVw6m549m\nrhztuzsvuQR0uHt0yjSg4nPmzGmcixIPRx93qSZ0GOWeBwy5wo2tAPfjfBgE25T0nLRAjNSa6p57\n0yfmGpYDG+EeuYAy4NsUmMO0adMqZaWnY3P2xbX0kT57WroXW8j09kZhCgUFBQ30BFNA0dhtQJRL\nhPR8T+fdKaFJp7TZnRiGI1VY4iLtkgvpvPfee0tqTVGOYhFpjQT1wKA0qEiqJSfnI4HTvtMmbaE7\ncOcrT4HmzkvcA5ZDwFguNBt25MVO0yAtdC5e3i3nUu7sZGswhG7TqL+YUZhCQUFBAz3BFKT2ZeNA\nJx1DO0tCt1IDCZnTDXRqL8c8+vv7WySZF7OFMTz44IOSamkLfK/swUtYEADHc8lXYowtzkYwB5e2\n9B0Wk5sX9Bu05wV4PfEr98PisHnz5hZzL+BcT8RKnzxd3VilvDOPNEnP1mQfv20oTKGgoKCBFwVT\nGM36kEO3yVP9fJckOWkltSZTgSl4kVba8DLt7iKMVEYKcxwmQLuAdlM/Bq51fYM7IbmrNd9dmiNl\n0QPAgpDmjAlW4+xpYGAg6wjGPd2FOldSvttiL7lU8O2Y5v9FHUNhCgUFBQ30BFPA8tCpyEUn1+Vu\nmEJur+gMgXt1G4TjiVT6+/uziVs8hTv7bqwKJEMlLTrWCKS5p1RzKwzt4AeBlJ4yZUqLFQE9BqwG\nHwlP4AKwIjCP7pLNvT19Hb4aAH3B7Nmzq3nA89JdrL040Gi+IeNBqlvoxBD/LzCGwhQKCgoa6Amm\nII2+AvtqPVpJ8ZyfQk5nkCsUm7NK+Kdr+kfTf/i1bstHih900EGSamsCvgS+t3avQaQxUtjDnWfN\nmlXpEvCJcL8C4jDQa8AEOE5bXpDWx+hxDDAQT87yzDPPtARCedCZx3J0SpDTbamAds+o20S/L2YU\nplBQUNBAzzCFdI/v2uBuS4mnx3MrvLfpEj/HQnJJY3N27KGhoazewXUKucQuSFPXAyDlYQJeng4L\nA6Xb2hVRcQ2/l5L35DH0wdOqAU8IQ3swBMDYU/8Ij350Rug6hYn6DoyWtLdTUp7/CyhMoaCgoIGe\nYArEPuQkQTs7cjuMx/rg98qlD8+xFbdKpOfnvCKRPi7B+R2p6xGKMAl+91Lznv7NcyU8//zzLRYR\nZxmeJp4+wxS4l0dRYjHxvsB6SNTqjOKJJ55oeb7MS84iNFG0S8ef9vX/OgpTKCgoaCD0wp4phLBW\n0vOSHp/svmSwq0rfxoPSt7FjW/ZrnxjjvE4n9cSiIEkhhJtjjEdMdj/aofRtfCh9Gzt6oV9l+1BQ\nUNBAWRQKCgoa6KVF4fzJ7sAoKH0bH0rfxo5J71fP6BQKCgp6A73EFAoKCnoAPbEohBBODCEsDyHc\nF0JYMon92CuEcEMI4e4Qwl0hhPeP/D4nhHBtCGHFyOcuk9jH/hDCrSGEK3upbyGEnUMI3wgh3BtC\nuCeEcFQP9e2cked5ZwjhKyGE6ZPVtxDC50MIj4UQ7kx+y/YlhPDhkb+L5SGEN2yPPk76ohBC6Jf0\nn5LeKGmxpHeFEBZPUncGJX0gxrhY0pGS/nykL0skXR9jPEDS9SPfJwvvl3RP8r1X+vZpSVfHGH9H\n0qEa7uOk9y2EsFDSX0k6IsZ4sKR+SadNYt++KOlE+61tX0bevdMkHTRyzX+N/L1sW+BiPFn/JB0l\n6bvJ9w9L+vBk92ukL5dLer2k5ZLmj/w2X9LySerPniMvzWslXTny26T3TdJOkn6jER1V8nsv9G2h\npJWS5mjYrf9KSSdMZt8k7Svpzk7z5H8Lkr4r6aht3b9JZwqqHxpYNfLbpCKEsK+kwyXdJGn3GOOa\nkUOPSNp9krr1KUkflJQGVfRC3xZJWivpCyNbm8+GEHbshb7FGB+W9K+SHpK0RtLTMcZreqFvCXJ9\nmZS/jV5YFHoOIYSZkr4p6a9jjI3Y3zi8ZG93k00I4S2SHosx3pI7Z7L6pmEJ/ApJn4kxHq5hl/UG\nHZ/EedtF0kkaXrgWSNoxhPDuXuhbO/RCX3phUXhY0l7J9z1HfpsUhBCmaHhBuCjGeMnIz4+GEOaP\nHJ8v6bFJ6Noxkt4WQnhA0lclvTaEcGGP9G2VpFUxxptGvn9Dw4tEL/TtdZJ+E2NcG2PcLOkSSUf3\nSN9Ari+T8rfRC4vCMkkHhBAWhRCmalixcsVkdCQMx+5+TtI9McZPJoeukHTGyP/P0LCuYbsixvjh\nGOOeMcZ9NTxH34sxvrtH+vaIpJUhhJeN/HS8pLt7oW8a3jYcGUKYMfJ8j9ewErQX+gZyfblC0mkh\nhGkhhEWSDpD0823em+2t+MkoXt4k6VeS7pf0kUnsx+9rmLr9UtJtI//eJGmuhhV8KyRdJ2nOJM/X\ncaoVjT3RN0mHSbp5ZO4uk7RLD/XtHyTdK+lOSV+SNG2y+ibpKxrWbWzWMMM6c7S+SPrIyN/Fcklv\n3B59LB6NBQUFDfTC9qGgoKCHUBaFgoKCBsqiUFBQ0EBZFAoKChooi0JBQUEDZVEoKChooCwKBQUF\nDZRFoaCgoIH/D6wrIj2H7thAAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.imshow(small_im1, cmap='gray')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到图片几乎没有变化,说明池化层只是减小了图片的尺寸,并不会影响图片的内容" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "before max pool, image shape: 224 x 224\n", + "after max pool, image shape: 112 x 112 \n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# F.max_pool2d\n", + "print('before max pool, image shape: {} x {}'.format(im.shape[2], im.shape[3]))\n", + "small_im2 = F.max_pool2d(Variable(im), 2, 2)\n", + "small_im2 = small_im2.data.squeeze().numpy()\n", + "print('after max pool, image shape: {} x {} '.format(small_im1.shape[0], small_im1.shape[1]))\n", + "plt.imshow(small_im2, cmap='gray')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**跟卷积层一样,实际使用中,我们一般使用 `nn.MaxPool2d()`**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "以上我们介绍了如何在 pytorch 中使用卷积网络中的卷积模块和池化模块,接下来我们会开始讲卷积网络中几个非常著名的网络结构" + ] + } + ], + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/2_CNN/basic_conv.py b/2_pytorch/2_CNN/basic_conv.py new file mode 100644 index 0000000..97ca50a --- /dev/null +++ b/2_pytorch/2_CNN/basic_conv.py @@ -0,0 +1,109 @@ +# -*- coding: utf-8 -*- +# --- +# jupyter: +# jupytext_format_version: '1.2' +# 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.5.2 +# --- + +# # 卷积模块介绍 +# 前面我们介绍了卷积网络的基本知识,其在计算机视觉领域被应用得非常广泛,那么常见的卷机网络中用到的模块能够使用 pytorch 非常轻松地实现,下面我们来讲一下 pytorch 中的卷积模块 + +# ## 卷积 +# 卷积在 pytorch 中有两种方式,一种是 `torch.nn.Conv2d()`,一种是 `torch.nn.functional.conv2d()`,这两种形式本质都是使用一个卷积操作 +# +# 这两种形式的卷积对于输入的要求都是一样的,首先需要输入是一个 `torch.autograd.Variable()` 的类型,大小是 (batch, channel, H, W),其中 batch 表示输入的一批数据的数目,第二个是输入的通道数,一般一张彩色的图片是 3,灰度图是 1,而卷积网络过程中的通道数比较大,会出现几十到几百的通道数,H 和 W 表示输入图片的高度和宽度,比如一个 batch 是 32 张图片,每张图片是 3 通道,高和宽分别是 50 和 100,那么输入的大小就是 (32, 3, 50, 100) +# +# 下面举例来说明一下这两种卷积方式 + +import numpy as np +import torch +from torch import nn +from torch.autograd import Variable +import torch.nn.functional as F +from PIL import Image +import matplotlib.pyplot as plt +# %matplotlib inline + +im = Image.open('./cat.png').convert('L') # 读入一张灰度图的图片 +im = np.array(im, dtype='float32') # 将其转换为一个矩阵 + +# 可视化图片 +plt.imshow(im.astype('uint8'), cmap='gray') + +# 将图片矩阵转化为 pytorch tensor,并适配卷积输入的要求 +im = torch.from_numpy(im.reshape((1, 1, im.shape[0], im.shape[1]))) + +# 下面我们定义一个算子对其进行轮廓检测 + +# + +# 使用 nn.Conv2d +conv1 = nn.Conv2d(1, 1, 3, bias=False) # 定义卷积 + +sobel_kernel = np.array([[-1, -1, -1], [-1, 8, -1], [-1, -1, -1]], dtype='float32') # 定义轮廓检测算子 +sobel_kernel = sobel_kernel.reshape((1, 1, 3, 3)) # 适配卷积的输入输出 +conv1.weight.data = torch.from_numpy(sobel_kernel) # 给卷积的 kernel 赋值 + +edge1 = conv1(Variable(im)) # 作用在图片上 +edge1 = edge1.data.squeeze().numpy() # 将输出转换为图片的格式 +# - + +# 下面我们可视化边缘检测之后的结果 + +plt.imshow(edge1, cmap='gray') + +# + +# 使用 F.conv2d +sobel_kernel = np.array([[-1, -1, -1], [-1, 8, -1], [-1, -1, -1]], dtype='float32') # 定义轮廓检测算子 +sobel_kernel = sobel_kernel.reshape((1, 1, 3, 3)) # 适配卷积的输入输出 +weight = Variable(torch.from_numpy(sobel_kernel)) + +edge2 = F.conv2d(Variable(im), weight) # 作用在图片上 +edge2 = edge2.data.squeeze().numpy() # 将输出转换为图片的格式 +plt.imshow(edge2, cmap='gray') +# - + +# 可以看到两种形式能够得到相同的效果,不同的地方相信你也看到了,使用 `nn.Conv2d()` 相当于直接定义了一层卷积网络结构,而使用 `torch.nn.functional.conv2d()` 相当于定义了一个卷积的操作,所以使用后者需要再额外去定义一个 weight,而且这个 weight 也必须是一个 Variable,而使用 `nn.Conv2d()` 则会帮我们默认定义一个随机初始化的 weight,如果我们需要修改,那么取出其中的值对其修改,如果不想修改,那么可以直接使用这个默认初始化的值,非常方便 +# +# **实际使用中我们基本都使用 `nn.Conv2d()` 这种形式** + +# ## 池化层 +# 卷积网络中另外一个非常重要的结构就是池化,这是利用了图片的下采样不变性,即一张图片变小了还是能够看出了这张图片的内容,而使用池化层能够将图片大小降低,非常好地提高了计算效率,同时池化层也没有参数。池化的方式有很多种,比如最大值池化,均值池化等等,在卷积网络中一般使用最大值池化。 +# +# 在 pytorch 中最大值池化的方式也有两种,一种是 `nn.MaxPool2d()`,一种是 `torch.nn.functional.max_pool2d()`,他们对于图片的输入要求跟卷积对于图片的输入要求是一样了,就不再赘述,下面我们也举例说明 + +# 使用 nn.MaxPool2d +pool1 = nn.MaxPool2d(2, 2) +print('before max pool, image shape: {} x {}'.format(im.shape[2], im.shape[3])) +small_im1 = pool1(Variable(im)) +small_im1 = small_im1.data.squeeze().numpy() +print('after max pool, image shape: {} x {} '.format(small_im1.shape[0], small_im1.shape[1])) + +# 可以看到图片的大小减小了一半,那么图片是不是变了呢?我们可以可视化一下 + +plt.imshow(small_im1, cmap='gray') + +# 可以看到图片几乎没有变化,说明池化层只是减小了图片的尺寸,并不会影响图片的内容 + +# F.max_pool2d +print('before max pool, image shape: {} x {}'.format(im.shape[2], im.shape[3])) +small_im2 = F.max_pool2d(Variable(im), 2, 2) +small_im2 = small_im2.data.squeeze().numpy() +print('after max pool, image shape: {} x {} '.format(small_im1.shape[0], small_im1.shape[1])) +plt.imshow(small_im2, cmap='gray') + +# **跟卷积层一样,实际使用中,我们一般使用 `nn.MaxPool2d()`** + +# 以上我们介绍了如何在 pytorch 中使用卷积网络中的卷积模块和池化模块,接下来我们会开始讲卷积网络中几个非常著名的网络结构 diff --git a/2_pytorch/2_CNN/batch-normalization.ipynb b/2_pytorch/2_CNN/batch-normalization.ipynb new file mode 100644 index 0000000..c174430 --- /dev/null +++ b/2_pytorch/2_CNN/batch-normalization.ipynb @@ -0,0 +1,582 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 批标准化\n", + "在我们正式进入模型的构建和训练之前,我们会先讲一讲数据预处理和批标准化,因为模型训练并不容易,特别是一些非常复杂的模型,并不能非常好的训练得到收敛的结果,所以对数据增加一些预处理,同时使用批标准化能够得到非常好的收敛结果,这也是卷积网络能够训练到非常深的层的一个重要原因。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 数据预处理\n", + "目前数据预处理最常见的方法就是中心化和标准化,中心化相当于修正数据的中心位置,实现方法非常简单,就是在每个特征维度上减去对应的均值,最后得到 0 均值的特征。标准化也非常简单,在数据变成 0 均值之后,为了使得不同的特征维度有着相同的规模,可以除以标准差近似为一个标准正态分布,也可以依据最大值和最小值将其转化为 -1 ~ 1 之间,下面是一个简单的图示\n", + "\n", + "![](https://ws1.sinaimg.cn/large/006tKfTcly1fmqouzer3xj30ij06n0t8.jpg)\n", + "\n", + "这两种方法非常的常见,如果你还记得,前面我们在神经网络的部分就已经使用了这个方法实现了数据标准化,至于另外一些方法,比如 PCA 或者 白噪声已经用得非常少了。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Batch Normalization\n", + "前面在数据预处理的时候,我们尽量输入特征不相关且满足一个标准的正态分布,这样模型的表现一般也较好。但是对于很深的网路结构,网路的非线性层会使得输出的结果变得相关,且不再满足一个标准的 N(0, 1) 的分布,甚至输出的中心已经发生了偏移,这对于模型的训练,特别是深层的模型训练非常的困难。\n", + "\n", + "所以在 2015 年一篇论文提出了这个方法,批标准化,简而言之,就是对于每一层网络的输出,对其做一个归一化,使其服从标准的正态分布,这样后一层网络的输入也是一个标准的正态分布,所以能够比较好的进行训练,加快收敛速度。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "batch normalization 的实现非常简单,对于给定的一个 batch 的数据 $B = \\{x_1, x_2, \\cdots, x_m\\}$算法的公式如下\n", + "\n", + "$$\n", + "\\mu_B = \\frac{1}{m} \\sum_{i=1}^m x_i\n", + "$$\n", + "$$\n", + "\\sigma^2_B = \\frac{1}{m} \\sum_{i=1}^m (x_i - \\mu_B)^2\n", + "$$\n", + "$$\n", + "\\hat{x}_i = \\frac{x_i - \\mu_B}{\\sqrt{\\sigma^2_B + \\epsilon}}\n", + "$$\n", + "$$\n", + "y_i = \\gamma \\hat{x}_i + \\beta\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "第一行和第二行是计算出一个 batch 中数据的均值和方差,接着使用第三个公式对 batch 中的每个数据点做标准化,$\\epsilon$ 是为了计算稳定引入的一个小的常数,通常取 $10^{-5}$,最后利用权重修正得到最后的输出结果,非常的简单,下面我们可以实现一下简单的一维的情况,也就是神经网络中的情况" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-23T06:50:51.579067Z", + "start_time": "2017-12-23T06:50:51.575693Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "import sys\n", + "sys.path.append('..')\n", + "\n", + "import torch" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-23T07:14:11.077807Z", + "start_time": "2017-12-23T07:14:11.060849Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "def simple_batch_norm_1d(x, gamma, beta):\n", + " eps = 1e-5\n", + " x_mean = torch.mean(x, dim=0, keepdim=True) # 保留维度进行 broadcast\n", + " x_var = torch.mean((x - x_mean) ** 2, dim=0, keepdim=True)\n", + " x_hat = (x - x_mean) / torch.sqrt(x_var + eps)\n", + " return gamma.view_as(x_mean) * x_hat + beta.view_as(x_mean)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "我们来验证一下是否对于任意的输入,输出会被标准化" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-23T07:14:20.610603Z", + "start_time": "2017-12-23T07:14:20.597682Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "before bn: \n", + "\n", + " 0 1 2\n", + " 3 4 5\n", + " 6 7 8\n", + " 9 10 11\n", + " 12 13 14\n", + "[torch.FloatTensor of size 5x3]\n", + "\n", + "after bn: \n", + "\n", + "-1.4142 -1.4142 -1.4142\n", + "-0.7071 -0.7071 -0.7071\n", + " 0.0000 0.0000 0.0000\n", + " 0.7071 0.7071 0.7071\n", + " 1.4142 1.4142 1.4142\n", + "[torch.FloatTensor of size 5x3]\n", + "\n" + ] + } + ], + "source": [ + "x = torch.arange(15).view(5, 3)\n", + "gamma = torch.ones(x.shape[1])\n", + "beta = torch.zeros(x.shape[1])\n", + "print('before bn: ')\n", + "print(x)\n", + "y = simple_batch_norm_1d(x, gamma, beta)\n", + "print('after bn: ')\n", + "print(y)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到这里一共是 5 个数据点,三个特征,每一列表示一个特征的不同数据点,使用批标准化之后,每一列都变成了标准的正态分布\n", + "\n", + "这个时候会出现一个问题,就是测试的时候该使用批标准化吗?\n", + "\n", + "答案是肯定的,因为训练的时候使用了,而测试的时候不使用肯定会导致结果出现偏差,但是测试的时候如果只有一个数据集,那么均值不就是这个值,方差为 0 吗?这显然是随机的,所以测试的时候不能用测试的数据集去算均值和方差,而是用训练的时候算出的移动平均均值和方差去代替\n", + "\n", + "下面我们实现以下能够区分训练状态和测试状态的批标准化方法" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-23T07:32:48.025709Z", + "start_time": "2017-12-23T07:32:48.005892Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "def batch_norm_1d(x, gamma, beta, is_training, moving_mean, moving_var, moving_momentum=0.1):\n", + " eps = 1e-5\n", + " x_mean = torch.mean(x, dim=0, keepdim=True) # 保留维度进行 broadcast\n", + " x_var = torch.mean((x - x_mean) ** 2, dim=0, keepdim=True)\n", + " if is_training:\n", + " x_hat = (x - x_mean) / torch.sqrt(x_var + eps)\n", + " moving_mean[:] = moving_momentum * moving_mean + (1. - moving_momentum) * x_mean\n", + " moving_var[:] = moving_momentum * moving_var + (1. - moving_momentum) * x_var\n", + " else:\n", + " x_hat = (x - moving_mean) / torch.sqrt(moving_var + eps)\n", + " return gamma.view_as(x_mean) * x_hat + beta.view_as(x_mean)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "下面我们使用上一节课将的深度神经网络分类 mnist 数据集的例子来试验一下批标准化是否有用" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "from torchvision.datasets import mnist # 导入 pytorch 内置的 mnist 数据\n", + "from torch.utils.data import DataLoader\n", + "from torch import nn\n", + "from torch.autograd import Variable" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "# 使用内置函数下载 mnist 数据集\n", + "train_set = mnist.MNIST('./data', train=True)\n", + "test_set = mnist.MNIST('./data', train=False)\n", + "\n", + "def data_tf(x):\n", + " x = np.array(x, dtype='float32') / 255\n", + " x = (x - 0.5) / 0.5 # 数据预处理,标准化\n", + " x = x.reshape((-1,)) # 拉平\n", + " x = torch.from_numpy(x)\n", + " return x\n", + "\n", + "train_set = mnist.MNIST('./data', train=True, transform=data_tf, download=True) # 重新载入数据集,申明定义的数据变换\n", + "test_set = mnist.MNIST('./data', train=False, transform=data_tf, download=True)\n", + "train_data = DataLoader(train_set, batch_size=64, shuffle=True)\n", + "test_data = DataLoader(test_set, batch_size=128, shuffle=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "class multi_network(nn.Module):\n", + " def __init__(self):\n", + " super(multi_network, self).__init__()\n", + " self.layer1 = nn.Linear(784, 100)\n", + " self.relu = nn.ReLU(True)\n", + " self.layer2 = nn.Linear(100, 10)\n", + " \n", + " self.gamma = nn.Parameter(torch.randn(100))\n", + " self.beta = nn.Parameter(torch.randn(100))\n", + " \n", + " self.moving_mean = Variable(torch.zeros(100))\n", + " self.moving_var = Variable(torch.zeros(100))\n", + " \n", + " def forward(self, x, is_train=True):\n", + " x = self.layer1(x)\n", + " x = batch_norm_1d(x, self.gamma, self.beta, is_train, self.moving_mean, self.moving_var)\n", + " x = self.relu(x)\n", + " x = self.layer2(x)\n", + " return x" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "net = multi_network()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "# 定义 loss 函数\n", + "criterion = nn.CrossEntropyLoss()\n", + "optimizer = torch.optim.SGD(net.parameters(), 1e-1) # 使用随机梯度下降,学习率 0.1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "为了方便,训练函数已经定义在外面的 utils.py 中,跟前面训练网络的操作是一样的,感兴趣的同学可以去看看" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 0. Train Loss: 0.308139, Train Acc: 0.912797, Valid Loss: 0.181375, Valid Acc: 0.948279, Time 00:00:07\n", + "Epoch 1. Train Loss: 0.174049, Train Acc: 0.949910, Valid Loss: 0.143940, Valid Acc: 0.958267, Time 00:00:09\n", + "Epoch 2. Train Loss: 0.134983, Train Acc: 0.961587, Valid Loss: 0.122489, Valid Acc: 0.963904, Time 00:00:08\n", + "Epoch 3. Train Loss: 0.111758, Train Acc: 0.968317, Valid Loss: 0.106595, Valid Acc: 0.966278, Time 00:00:09\n", + "Epoch 4. Train Loss: 0.096425, Train Acc: 0.971915, Valid Loss: 0.108423, Valid Acc: 0.967563, Time 00:00:10\n", + "Epoch 5. Train Loss: 0.084424, Train Acc: 0.974464, Valid Loss: 0.107135, Valid Acc: 0.969838, Time 00:00:09\n", + "Epoch 6. Train Loss: 0.076206, Train Acc: 0.977645, Valid Loss: 0.092725, Valid Acc: 0.971420, Time 00:00:09\n", + "Epoch 7. Train Loss: 0.069438, Train Acc: 0.979661, Valid Loss: 0.091497, Valid Acc: 0.971519, Time 00:00:09\n", + "Epoch 8. Train Loss: 0.062908, Train Acc: 0.980810, Valid Loss: 0.088797, Valid Acc: 0.972903, Time 00:00:08\n", + "Epoch 9. Train Loss: 0.058186, Train Acc: 0.982309, Valid Loss: 0.090830, Valid Acc: 0.972310, Time 00:00:08\n" + ] + } + ], + "source": [ + "from utils import train\n", + "train(net, train_data, test_data, 10, optimizer, criterion)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "这里的 $\\gamma$ 和 $\\beta$ 都作为参数进行训练,初始化为随机的高斯分布,`moving_mean` 和 `moving_var` 都初始化为 0,并不是更新的参数,训练完 10 次之后,我们可以看看移动平均和移动方差被修改为了多少" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Variable containing:\n", + " 0.5505\n", + " 2.0835\n", + " 0.0794\n", + "-0.1991\n", + "-0.9822\n", + "-0.5820\n", + " 0.6991\n", + "-0.1292\n", + " 2.9608\n", + " 1.0826\n", + "[torch.FloatTensor of size 10]\n", + "\n" + ] + } + ], + "source": [ + "# 打出 moving_mean 的前 10 项\n", + "print(net.moving_mean[:10])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到,这些值已经在训练的过程中进行了修改,在测试过程中,我们不需要再计算均值和方差,直接使用移动平均和移动方差即可" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "作为对比,我们看看不使用批标准化的结果" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 0. Train Loss: 0.402263, Train Acc: 0.873817, Valid Loss: 0.220468, Valid Acc: 0.932852, Time 00:00:07\n", + "Epoch 1. Train Loss: 0.181916, Train Acc: 0.945379, Valid Loss: 0.162440, Valid Acc: 0.953817, Time 00:00:08\n", + "Epoch 2. Train Loss: 0.136073, Train Acc: 0.958522, Valid Loss: 0.264888, Valid Acc: 0.918216, Time 00:00:08\n", + "Epoch 3. Train Loss: 0.111658, Train Acc: 0.966551, Valid Loss: 0.149704, Valid Acc: 0.950752, Time 00:00:08\n", + "Epoch 4. Train Loss: 0.096433, Train Acc: 0.970732, Valid Loss: 0.116364, Valid Acc: 0.963311, Time 00:00:07\n", + "Epoch 5. Train Loss: 0.083800, Train Acc: 0.973914, Valid Loss: 0.105775, Valid Acc: 0.968058, Time 00:00:08\n", + "Epoch 6. Train Loss: 0.074534, Train Acc: 0.977129, Valid Loss: 0.094511, Valid Acc: 0.970728, Time 00:00:08\n", + "Epoch 7. Train Loss: 0.067365, Train Acc: 0.979311, Valid Loss: 0.130495, Valid Acc: 0.960146, Time 00:00:09\n", + "Epoch 8. Train Loss: 0.061585, Train Acc: 0.980894, Valid Loss: 0.089632, Valid Acc: 0.974090, Time 00:00:08\n", + "Epoch 9. Train Loss: 0.055352, Train Acc: 0.982892, Valid Loss: 0.091508, Valid Acc: 0.970431, Time 00:00:08\n" + ] + } + ], + "source": [ + "no_bn_net = nn.Sequential(\n", + " nn.Linear(784, 100),\n", + " nn.ReLU(True),\n", + " nn.Linear(100, 10)\n", + ")\n", + "\n", + "optimizer = torch.optim.SGD(no_bn_net.parameters(), 1e-1) # 使用随机梯度下降,学习率 0.1\n", + "train(no_bn_net, train_data, test_data, 10, optimizer, criterion)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到虽然最后的结果两种情况一样,但是如果我们看前几次的情况,可以看到使用批标准化的情况能够更快的收敛,因为这只是一个小网络,所以用不用批标准化都能够收敛,但是对于更加深的网络,使用批标准化在训练的时候能够很快地收敛" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "从上面可以看到,我们自己实现了 2 维情况的批标准化,对应于卷积的 4 维情况的标准化是类似的,只需要沿着通道的维度进行均值和方差的计算,但是我们自己实现批标准化是很累的,pytorch 当然也为我们内置了批标准化的函数,一维和二维分别是 `torch.nn.BatchNorm1d()` 和 `torch.nn.BatchNorm2d()`,不同于我们的实现,pytorch 不仅将 $\\gamma$ 和 $\\beta$ 作为训练的参数,也将 `moving_mean` 和 `moving_var` 也作为参数进行训练" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "下面我们在卷积网络下试用一下批标准化看看效果" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def data_tf(x):\n", + " x = np.array(x, dtype='float32') / 255\n", + " x = (x - 0.5) / 0.5 # 数据预处理,标准化\n", + " x = torch.from_numpy(x)\n", + " x = x.unsqueeze(0)\n", + " return x\n", + "\n", + "train_set = mnist.MNIST('./data', train=True, transform=data_tf, download=True) # 重新载入数据集,申明定义的数据变换\n", + "test_set = mnist.MNIST('./data', train=False, transform=data_tf, download=True)\n", + "train_data = DataLoader(train_set, batch_size=64, shuffle=True)\n", + "test_data = DataLoader(test_set, batch_size=128, shuffle=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "metadata": {}, + "outputs": [], + "source": [ + "# 使用批标准化\n", + "class conv_bn_net(nn.Module):\n", + " def __init__(self):\n", + " super(conv_bn_net, self).__init__()\n", + " self.stage1 = nn.Sequential(\n", + " nn.Conv2d(1, 6, 3, padding=1),\n", + " nn.BatchNorm2d(6),\n", + " nn.ReLU(True),\n", + " nn.MaxPool2d(2, 2),\n", + " nn.Conv2d(6, 16, 5),\n", + " nn.BatchNorm2d(16),\n", + " nn.ReLU(True),\n", + " nn.MaxPool2d(2, 2)\n", + " )\n", + " \n", + " self.classfy = nn.Linear(400, 10)\n", + " def forward(self, x):\n", + " x = self.stage1(x)\n", + " x = x.view(x.shape[0], -1)\n", + " x = self.classfy(x)\n", + " return x\n", + "\n", + "net = conv_bn_net()\n", + "optimizer = torch.optim.SGD(net.parameters(), 1e-1) # 使用随机梯度下降,学习率 0.1" + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 0. Train Loss: 0.160329, Train Acc: 0.952842, Valid Loss: 0.063328, Valid Acc: 0.978441, Time 00:00:33\n", + "Epoch 1. Train Loss: 0.067862, Train Acc: 0.979361, Valid Loss: 0.068229, Valid Acc: 0.979430, Time 00:00:37\n", + "Epoch 2. Train Loss: 0.051867, Train Acc: 0.984625, Valid Loss: 0.044616, Valid Acc: 0.985265, Time 00:00:37\n", + "Epoch 3. Train Loss: 0.044797, Train Acc: 0.986141, Valid Loss: 0.042711, Valid Acc: 0.986056, Time 00:00:38\n", + "Epoch 4. Train Loss: 0.039876, Train Acc: 0.987690, Valid Loss: 0.042499, Valid Acc: 0.985067, Time 00:00:41\n" + ] + } + ], + "source": [ + "train(net, train_data, test_data, 5, optimizer, criterion)" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 不使用批标准化\n", + "class conv_no_bn_net(nn.Module):\n", + " def __init__(self):\n", + " super(conv_no_bn_net, self).__init__()\n", + " self.stage1 = nn.Sequential(\n", + " nn.Conv2d(1, 6, 3, padding=1),\n", + " nn.ReLU(True),\n", + " nn.MaxPool2d(2, 2),\n", + " nn.Conv2d(6, 16, 5),\n", + " nn.ReLU(True),\n", + " nn.MaxPool2d(2, 2)\n", + " )\n", + " \n", + " self.classfy = nn.Linear(400, 10)\n", + " def forward(self, x):\n", + " x = self.stage1(x)\n", + " x = x.view(x.shape[0], -1)\n", + " x = self.classfy(x)\n", + " return x\n", + "\n", + "net = conv_no_bn_net()\n", + "optimizer = torch.optim.SGD(net.parameters(), 1e-1) # 使用随机梯度下降,学习率 0.1 " + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 0. Train Loss: 0.211075, Train Acc: 0.935934, Valid Loss: 0.062950, Valid Acc: 0.980123, Time 00:00:27\n", + "Epoch 1. Train Loss: 0.066763, Train Acc: 0.978778, Valid Loss: 0.050143, Valid Acc: 0.984375, Time 00:00:29\n", + "Epoch 2. Train Loss: 0.050870, Train Acc: 0.984292, Valid Loss: 0.039761, Valid Acc: 0.988034, Time 00:00:29\n", + "Epoch 3. Train Loss: 0.041476, Train Acc: 0.986924, Valid Loss: 0.041925, Valid Acc: 0.986155, Time 00:00:29\n", + "Epoch 4. Train Loss: 0.036118, Train Acc: 0.988523, Valid Loss: 0.042703, Valid Acc: 0.986452, Time 00:00:29\n" + ] + } + ], + "source": [ + "train(net, train_data, test_data, 5, optimizer, criterion)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "之后介绍一些著名的网络结构的时候,我们会慢慢认识到批标准化的重要性,使用 pytorch 能够非常方便地添加批标准化层" + ] + } + ], + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/2_CNN/batch-normalization.py b/2_pytorch/2_CNN/batch-normalization.py new file mode 100644 index 0000000..9c2ae7a --- /dev/null +++ b/2_pytorch/2_CNN/batch-normalization.py @@ -0,0 +1,257 @@ +# -*- coding: utf-8 -*- +# --- +# jupyter: +# jupytext_format_version: '1.2' +# 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.5.2 +# --- + +# # 批标准化 +# 在我们正式进入模型的构建和训练之前,我们会先讲一讲数据预处理和批标准化,因为模型训练并不容易,特别是一些非常复杂的模型,并不能非常好的训练得到收敛的结果,所以对数据增加一些预处理,同时使用批标准化能够得到非常好的收敛结果,这也是卷积网络能够训练到非常深的层的一个重要原因。 + +# ## 数据预处理 +# 目前数据预处理最常见的方法就是中心化和标准化,中心化相当于修正数据的中心位置,实现方法非常简单,就是在每个特征维度上减去对应的均值,最后得到 0 均值的特征。标准化也非常简单,在数据变成 0 均值之后,为了使得不同的特征维度有着相同的规模,可以除以标准差近似为一个标准正态分布,也可以依据最大值和最小值将其转化为 -1 ~ 1 之间,下面是一个简单的图示 +# +# ![](https://ws1.sinaimg.cn/large/006tKfTcly1fmqouzer3xj30ij06n0t8.jpg) +# +# 这两种方法非常的常见,如果你还记得,前面我们在神经网络的部分就已经使用了这个方法实现了数据标准化,至于另外一些方法,比如 PCA 或者 白噪声已经用得非常少了。 + +# ## Batch Normalization +# 前面在数据预处理的时候,我们尽量输入特征不相关且满足一个标准的正态分布,这样模型的表现一般也较好。但是对于很深的网路结构,网路的非线性层会使得输出的结果变得相关,且不再满足一个标准的 N(0, 1) 的分布,甚至输出的中心已经发生了偏移,这对于模型的训练,特别是深层的模型训练非常的困难。 +# +# 所以在 2015 年一篇论文提出了这个方法,批标准化,简而言之,就是对于每一层网络的输出,对其做一个归一化,使其服从标准的正态分布,这样后一层网络的输入也是一个标准的正态分布,所以能够比较好的进行训练,加快收敛速度。 + +# batch normalization 的实现非常简单,对于给定的一个 batch 的数据 $B = \{x_1, x_2, \cdots, x_m\}$算法的公式如下 +# +# $$ +# \mu_B = \frac{1}{m} \sum_{i=1}^m x_i +# $$ +# $$ +# \sigma^2_B = \frac{1}{m} \sum_{i=1}^m (x_i - \mu_B)^2 +# $$ +# $$ +# \hat{x}_i = \frac{x_i - \mu_B}{\sqrt{\sigma^2_B + \epsilon}} +# $$ +# $$ +# y_i = \gamma \hat{x}_i + \beta +# $$ + +# 第一行和第二行是计算出一个 batch 中数据的均值和方差,接着使用第三个公式对 batch 中的每个数据点做标准化,$\epsilon$ 是为了计算稳定引入的一个小的常数,通常取 $10^{-5}$,最后利用权重修正得到最后的输出结果,非常的简单,下面我们可以实现一下简单的一维的情况,也就是神经网络中的情况 + +# + {"ExecuteTime": {"start_time": "2017-12-23T06:50:51.575693Z", "end_time": "2017-12-23T06:50:51.579067Z"}} +import sys +sys.path.append('..') + +import torch + +# + {"ExecuteTime": {"start_time": "2017-12-23T07:14:11.060849Z", "end_time": "2017-12-23T07:14:11.077807Z"}} +def simple_batch_norm_1d(x, gamma, beta): + eps = 1e-5 + x_mean = torch.mean(x, dim=0, keepdim=True) # 保留维度进行 broadcast + x_var = torch.mean((x - x_mean) ** 2, dim=0, keepdim=True) + x_hat = (x - x_mean) / torch.sqrt(x_var + eps) + return gamma.view_as(x_mean) * x_hat + beta.view_as(x_mean) +# - + +# 我们来验证一下是否对于任意的输入,输出会被标准化 + +# + {"ExecuteTime": {"start_time": "2017-12-23T07:14:20.597682Z", "end_time": "2017-12-23T07:14:20.610603Z"}} +x = torch.arange(15).view(5, 3) +gamma = torch.ones(x.shape[1]) +beta = torch.zeros(x.shape[1]) +print('before bn: ') +print(x) +y = simple_batch_norm_1d(x, gamma, beta) +print('after bn: ') +print(y) +# - + +# 可以看到这里一共是 5 个数据点,三个特征,每一列表示一个特征的不同数据点,使用批标准化之后,每一列都变成了标准的正态分布 +# +# 这个时候会出现一个问题,就是测试的时候该使用批标准化吗? +# +# 答案是肯定的,因为训练的时候使用了,而测试的时候不使用肯定会导致结果出现偏差,但是测试的时候如果只有一个数据集,那么均值不就是这个值,方差为 0 吗?这显然是随机的,所以测试的时候不能用测试的数据集去算均值和方差,而是用训练的时候算出的移动平均均值和方差去代替 +# +# 下面我们实现以下能够区分训练状态和测试状态的批标准化方法 + +# + {"ExecuteTime": {"start_time": "2017-12-23T07:32:48.005892Z", "end_time": "2017-12-23T07:32:48.025709Z"}} +def batch_norm_1d(x, gamma, beta, is_training, moving_mean, moving_var, moving_momentum=0.1): + eps = 1e-5 + x_mean = torch.mean(x, dim=0, keepdim=True) # 保留维度进行 broadcast + x_var = torch.mean((x - x_mean) ** 2, dim=0, keepdim=True) + if is_training: + x_hat = (x - x_mean) / torch.sqrt(x_var + eps) + moving_mean[:] = moving_momentum * moving_mean + (1. - moving_momentum) * x_mean + moving_var[:] = moving_momentum * moving_var + (1. - moving_momentum) * x_var + else: + x_hat = (x - moving_mean) / torch.sqrt(moving_var + eps) + return gamma.view_as(x_mean) * x_hat + beta.view_as(x_mean) +# - + +# 下面我们使用上一节课将的深度神经网络分类 mnist 数据集的例子来试验一下批标准化是否有用 + +import numpy as np +from torchvision.datasets import mnist # 导入 pytorch 内置的 mnist 数据 +from torch.utils.data import DataLoader +from torch import nn +from torch.autograd import Variable + +# + +# 使用内置函数下载 mnist 数据集 +train_set = mnist.MNIST('./data', train=True) +test_set = mnist.MNIST('./data', train=False) + +def data_tf(x): + x = np.array(x, dtype='float32') / 255 + x = (x - 0.5) / 0.5 # 数据预处理,标准化 + x = x.reshape((-1,)) # 拉平 + x = torch.from_numpy(x) + return x + +train_set = mnist.MNIST('./data', train=True, transform=data_tf, download=True) # 重新载入数据集,申明定义的数据变换 +test_set = mnist.MNIST('./data', train=False, transform=data_tf, download=True) +train_data = DataLoader(train_set, batch_size=64, shuffle=True) +test_data = DataLoader(test_set, batch_size=128, shuffle=False) +# - + +class multi_network(nn.Module): + def __init__(self): + super(multi_network, self).__init__() + self.layer1 = nn.Linear(784, 100) + self.relu = nn.ReLU(True) + self.layer2 = nn.Linear(100, 10) + + self.gamma = nn.Parameter(torch.randn(100)) + self.beta = nn.Parameter(torch.randn(100)) + + self.moving_mean = Variable(torch.zeros(100)) + self.moving_var = Variable(torch.zeros(100)) + + def forward(self, x, is_train=True): + x = self.layer1(x) + x = batch_norm_1d(x, self.gamma, self.beta, is_train, self.moving_mean, self.moving_var) + x = self.relu(x) + x = self.layer2(x) + return x + +net = multi_network() + +# 定义 loss 函数 +criterion = nn.CrossEntropyLoss() +optimizer = torch.optim.SGD(net.parameters(), 1e-1) # 使用随机梯度下降,学习率 0.1 + +# 为了方便,训练函数已经定义在外面的 utils.py 中,跟前面训练网络的操作是一样的,感兴趣的同学可以去看看 + +from utils import train +train(net, train_data, test_data, 10, optimizer, criterion) + +# 这里的 $\gamma$ 和 $\beta$ 都作为参数进行训练,初始化为随机的高斯分布,`moving_mean` 和 `moving_var` 都初始化为 0,并不是更新的参数,训练完 10 次之后,我们可以看看移动平均和移动方差被修改为了多少 + +# + {"scrolled": true} +# 打出 moving_mean 的前 10 项 +print(net.moving_mean[:10]) +# - + +# 可以看到,这些值已经在训练的过程中进行了修改,在测试过程中,我们不需要再计算均值和方差,直接使用移动平均和移动方差即可 + +# 作为对比,我们看看不使用批标准化的结果 + +# + +no_bn_net = nn.Sequential( + nn.Linear(784, 100), + nn.ReLU(True), + nn.Linear(100, 10) +) + +optimizer = torch.optim.SGD(no_bn_net.parameters(), 1e-1) # 使用随机梯度下降,学习率 0.1 +train(no_bn_net, train_data, test_data, 10, optimizer, criterion) +# - + +# 可以看到虽然最后的结果两种情况一样,但是如果我们看前几次的情况,可以看到使用批标准化的情况能够更快的收敛,因为这只是一个小网络,所以用不用批标准化都能够收敛,但是对于更加深的网络,使用批标准化在训练的时候能够很快地收敛 + +# 从上面可以看到,我们自己实现了 2 维情况的批标准化,对应于卷积的 4 维情况的标准化是类似的,只需要沿着通道的维度进行均值和方差的计算,但是我们自己实现批标准化是很累的,pytorch 当然也为我们内置了批标准化的函数,一维和二维分别是 `torch.nn.BatchNorm1d()` 和 `torch.nn.BatchNorm2d()`,不同于我们的实现,pytorch 不仅将 $\gamma$ 和 $\beta$ 作为训练的参数,也将 `moving_mean` 和 `moving_var` 也作为参数进行训练 + +# 下面我们在卷积网络下试用一下批标准化看看效果 + +# + +def data_tf(x): + x = np.array(x, dtype='float32') / 255 + x = (x - 0.5) / 0.5 # 数据预处理,标准化 + x = torch.from_numpy(x) + x = x.unsqueeze(0) + return x + +train_set = mnist.MNIST('./data', train=True, transform=data_tf, download=True) # 重新载入数据集,申明定义的数据变换 +test_set = mnist.MNIST('./data', train=False, transform=data_tf, download=True) +train_data = DataLoader(train_set, batch_size=64, shuffle=True) +test_data = DataLoader(test_set, batch_size=128, shuffle=False) + +# + +# 使用批标准化 +class conv_bn_net(nn.Module): + def __init__(self): + super(conv_bn_net, self).__init__() + self.stage1 = nn.Sequential( + nn.Conv2d(1, 6, 3, padding=1), + nn.BatchNorm2d(6), + nn.ReLU(True), + nn.MaxPool2d(2, 2), + nn.Conv2d(6, 16, 5), + nn.BatchNorm2d(16), + nn.ReLU(True), + nn.MaxPool2d(2, 2) + ) + + self.classfy = nn.Linear(400, 10) + def forward(self, x): + x = self.stage1(x) + x = x.view(x.shape[0], -1) + x = self.classfy(x) + return x + +net = conv_bn_net() +optimizer = torch.optim.SGD(net.parameters(), 1e-1) # 使用随机梯度下降,学习率 0.1 +# - + +train(net, train_data, test_data, 5, optimizer, criterion) + +# + +# 不使用批标准化 +class conv_no_bn_net(nn.Module): + def __init__(self): + super(conv_no_bn_net, self).__init__() + self.stage1 = nn.Sequential( + nn.Conv2d(1, 6, 3, padding=1), + nn.ReLU(True), + nn.MaxPool2d(2, 2), + nn.Conv2d(6, 16, 5), + nn.ReLU(True), + nn.MaxPool2d(2, 2) + ) + + self.classfy = nn.Linear(400, 10) + def forward(self, x): + x = self.stage1(x) + x = x.view(x.shape[0], -1) + x = self.classfy(x) + return x + +net = conv_no_bn_net() +optimizer = torch.optim.SGD(net.parameters(), 1e-1) # 使用随机梯度下降,学习率 0.1 +# - + +train(net, train_data, test_data, 5, optimizer, criterion) + +# 之后介绍一些著名的网络结构的时候,我们会慢慢认识到批标准化的重要性,使用 pytorch 能够非常方便地添加批标准化层 diff --git a/2_pytorch/2_CNN/cat.png b/2_pytorch/2_CNN/cat.png new file mode 100644 index 0000000000000000000000000000000000000000..e432f2cc0ac95cabef848561fb1fa0af06ae422c GIT binary patch literal 96962 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鷍nLeeoPwBVQW5@kfh0MM}r-1=YKJ>dCRxw#RqUIiO*(V}hxA2Cp@x`-Do z+7pDMj_8B0%T_;CKYvB}2&h2H%M&Jc(0Uyu5O4xNZBAn(Wxg6IV)?K(y?0sKNCu!> zGd2q93WHbr^hWxDEV&fcX}xivkbMS`?o%K@!Eq35RcQjvT&a}ge9o^!LET)O zl)U5kEM{5)TwIsGju87-;gdo5LqXk>9%2B_D_D*yhQ>-ev4@4&k4@ z1mPV*!N=dv7hnAqjqTymDYn>w*23JdvG=Z8UHI+MO+C5MGLp&W9P}B8>(bIP{`{U| zuI=aWS`p66r?n;wiE!qEi)Z} z6T_n>&QOwO8m49*iU_IfYN*g+CPXhV_6Gd4OahLnd3~}8g5@s5PVt&mKvxMMRHhgO zWWAVUbiu;>u zNEGVK_<@k0gNG{;FZ}0=bHMPLA#+9kqD0TAPZP5l<>p%QI;{@u2#_h;Kag)-0fmAO z+zRC`mvJMoR_JW18=>) zFetDX@#>^Y@OLwM;HHtdp@zM;Q=aZq~I(Q>R_`vmv1vM#ATK@C z)d;g@mSK_}5`|{u-M%Yj2{Qg$U-jb`moRW<@8fBVAqqLkzUNlF&?eg6k;5W-coG5%P0z2LlK)RA7Uxb z%iBk;W!b!;$@WY2Du6W@GGq=z1-QhyS*&b<#6co-iKsgWZ_BD=+89U|z1kI7l0i+y z3Bjbs+`DK!_vXbl*=5w6>Ekrr4H*D2IW5)kqr^jIQ}hJZs%7+-UFP1lnbEU6w}HaV zV(~=)`Nrp$CH5`M2I2v*Kyyz{*VwtN5n)7-qW~45fWOUFpYmmc#O-AHvrX*mvP_(! zTzKUKle@p>Tj525%EH(#z{e@zW0g#aNbZ!?)ZwCZL`c51cqS6W0#PR6E6VeXXyjweF;aw<$SGxkdaE~l0%8oE_k5%xz)D?_v+)`X{P42`r|11ip%SVLe#YMby z6wD0!knp2Lzr*kOTa)-kd9rMFxLwTq_XKhoy;HVO7hh?xcIqw>hC3m*Q-%~fpFM(H z0U5^lLiL*IY948G&Y@a~g85HS3Jc31I?_O;u-LAa#m}K4yVKtcB7$j6(=n6V@uMx0 z6YJ_gcpr?t^Nbzj8$)LUpC2tZ_fCZ;x-2LF+9r@O?CFOjS}G+clPmzY9KTi)U zEU=LwgaKzISkQe~OB^E^BF4DR>&w2ovc5$5!N!&#Ukp)aDXe=oYiUK>@pn>+GT+4` zY?6KS}D5SaKyZwMA@RS zec~4~G?olE7e)^nUhUWoy`29HBu&+ZMblPbKQ;Vg0v*?(NxbB>$IH7S@k)uTdu=>c zQYjuxn=!@~S}V7r0UA{Z_Vfq3q1u2=wDoVBo**%cX*7W1y)I%5Bu6mpn+rGur4Z}I z@;+4`02Xl`7Z_~;0FJx1=6;KC#P<;TjACQRKQDx~W|VXvnOHlb)-P9srO#v02U<=P zC_*N*6?j0n`vEt<4E^(tDV38w)o*pNIq?M1c=MTeS?%_%vF18aL>PcnU1{YK_SQOY z&%~urQl9o3q9!ejoAD!Or4>G1#=9xnnM@wL#qC_xqUm{w|Xf24apAkPlcF zoVT}|5p^r-+>WvnAZ6Ky@^l|YshqF%NU%4@t!6PiDQN{FU|?)WFJ>w?eeNbtriqe@^@ztugvsLbS(DS1Cet5Ld(#imM_FXfH1OOh0fH%hRg_iz9wn6g*T#l@~DxoO%1U8<76#4qESEZ z#E(Z@^XaH^m`+mROdRm&i$Ipu4F*eCFT$<)YcY$Najzfzj9e6m;t$+spm;U$VzluP zv^s_9KMTnR^!Xh5@l2D_go92X;GtgkmHr%2M55KRi8Cv1vQpCI;CUoG`no1@nj8zD zrBf}EZT^)%O}^%lOU|#NQ6TU&o`F<@c#MGoQ-z*XBYDy+*n?KAW?E8=Hd*?gshmGs zQU!_ApD~j}yLXs$>PGOJ1Tq&f?9D5B9Seu!Pe2h}ZO}TfFt9JZQ+dFm!YWoW+sEw^ zF^_5U?Hwl>oehMkR$f9)g+b>9JEk=sJFdIQDh_HuT$uHJUp}D`N>E;`%`PtTwJ{$X zk9fR<3;nA&i61%;%p4Bt4y{08F3 zHMNS_v@E?pxh`P`V*DxjB`$tGi7JF%pOpmDbC+yr^oV1H9_Tam1Tc|#`{iQ-mxU}| zzP!GD^ORsIa!zAYB_5N_2W!y(=ZN-dA6eqSD^~@chuiSMW|s$+ii1ouQ;yp}%IAU` zd)&{>^o_D^&fno#;=u+|*MCf*J!7UOjda>vb|>XtxSyJM62u^w{>NIDX6yO$N3i=;cqAo|v-ylO1-La-HZC!b~gUdYr`*;C;LKugx%qtgU|O zVd~>7Cn>uGnz4xM60qgyRt>Cl3y*n4y9i2hQj){4th|C;7(=ZkcHLS*evFF#d3=_f z3gUMDtPLD66ghV06jAZbLxYP(tMFlz!5Vk zW8?CZE||@qKAPOav1)1wnk~QfCW3{D`;fe)_=3a}?biBs|LgWZWKe`y#j2%Obys+i zn*79%Ts@UaZTw|G&fL4OZ=B=hqd=ZztEqGZvQLl~1XkfzKg@m}mb&yyzlx;67e)1>mM@~gug#}rW%0x9*trAn#Y*boe1dHhsrXN) zCzgctI!H2%5@cgh&k&~+HHqT7U-n(RSjawtlCkE_+k{7<`fDdN3umwuu#({zd=ERm zWh$4FRsc+^F$;0{v7iGmv)%`g;d+*=hy$W0SD7S#K*f44Kq^yD&D-E z$x8Kqi#I2ODbnu3s6n9QQ{dow6J06oqKk#R%-(`I8P=UU*SmK~IBV zPy2BVPlbs0XvOkkT*zWD;{KPzJz2k4%taNCkB`gP8ivuexydAi{NMnjod7nLC?t1} zrP&8t$P$FLN(pHASc0qJP+Qfbadqe{+a-&?4Zo#Y#0Sj$x%^Vf=D7xvB z$kF4OOagc3F`~%h_sgI0@%(aHu3B0Zd)?=lpAew`aX?N}=!xm)tOk%o*_#nj`x!j_ zyW0fnyz4A1-Hua$`O>x(F537Tr(( zk*u}osH4XIh`_uW^xtRwMU?u%*Z%p0+Ue(%!!<8TPn7@~Fpqa@?G27h{c0D=J<2SL zWWzrCalHxe8lgwEAb#CL0zbIVsn3j)5z{hCQk+fiYex&<0J3Deg&Nk3s+P!A8J3jN zSJ)oRkiQz(k^nO~rxjkQl8`q-6VW z(N0Z(ZQ_rv6QO_)?M^na1?}0 z8R+FL>uszYJ&$2D^|Gxflo5l#g2H>aE$YHHAD(A)OxV6Q+)VX9c(bRpx=rE_C%KuT z@(H#O%AMRliLUWaR`T0-r4;g#sG9tEhJ~shTH||Y8zn{Ob``@ntyd&MVfyE- z%oi?lEDm#6>vB-#dw=gtTawqObihvn<{oX%;>~}3j<5V)gQPbya#ma5yi?Uk=)B$Z z&-Qz6Fskcv6h5N^+8?XhNZO5B-U48dLYHIoD(XH63fE>i`|Xvd&ITJ>@#&2fBQw zo-;u(%acwB0!+`Q#o5Ow*{Tn~n>@&|T*Pb6JRF%Ms71$7z{wO5!1QI^6QSvNX%hq? z%a^F-L(K#!6NA!Cp#L@6(-!XUmZ(Ue15V-i7opyTbcJz!zKOHfZCwi>|F-=zH&R)W zd@&crU_YElo44@3qujKL+G)jj_mN`ocgQdphCTGsJ#Ka0lhB)wzrH{7A1NZK z{^;^u2|wgIMy_I|tLa78JH7~YeL|#Yw@9j+C7jcmNB<`-qo-bxKZ!LRJygCIw)*Xt zw3ff-_*PaeOOZAilQ3$;v?I{}qi_K>#f1r{Sr&v`Z{Zz@s zRkQ~L74n8mM~eVlo1uVkV&Lv193@E?Ay4{)I}^RnfN&&k78=!m;>Vv&i|FDd_Yd0U z);gx=(B6RSekm9$TMn01NtR}QD=28jnf@OxA_7dfN%j- zBSoWj<2UZ_I3soTFPKgP$d6ZYRcdHP1K?I&R@`R33M!wEtU?!=Vo(dh!2jYB`x39m z%=Cb*W3%*Q9ur4Um%DzDxvIt6>G`Oxi!}McAH@V_I`8$ctL`?^gGWPuA%tthH9@a4GSCxc~4#dLA&QUMz$@7&xw2)Nl_{MT7nK>}p6Z|ZDx5Lm?O zi%^TO!0n2@zA7@~jl}Kg#w8Aw^7UdJ1$_jzoBK@Vfb+jM?`eI`FL|QvQt18=08>ui z0GHRF&T5tf!J^e;P)utdoCCcVc7t1HKGX0t<|4OMQ)bklIAa}0=$$vkix==-krSPx z)eczQvdQsUST+jrVG(7llxa&9@55x+Mf9s4sF}H^jvOVr-wBsUAFxgV-!ph`Urofp z7l1N0)&K7xYHwWrkjLZAPP5Mi%eu#p^>u_s^YsPn@XfUa>^CbNHkAORN+3^-szYcQ3XBk{;qXzKFP1@f} z`h&lOPrG_T?D;4-vw)tHA9Ybzx@{sq2<{=4QT}uVSR^*1h7ayxSlXlIWkWvt zig8C#os>fBN{VK)viVc7b;V2t{lx)y1G{Ol_sUyHDupduzowl#aU#4XmbSlgZq6V3 zFVybstr{6q$0Y?9vav`YeK`Ow5I}z_RFQs#3W*s6K!&=u8FN?rXm^Lzd`^XXi>~=I z%XrnPgNxEP8QcN}U|;~;-)?&Gyh4iwv$m`Qya`NMD#ZBH_03P$G*5%6PybE0GS_8o zZBc5m8x2&wX?_@Qz3z}BEkRZLdEh3KfZAzjYHpe>**<=~8z#`S(wmg}-3J~}K3JP% z#%l^Hf89g&CWrRH%fP|=+0G7`WRgNy45r#IO-)h?tlvw&-#5>xb@-{;bRxm@tL6?C z!rgvku0HZMS{t`wo2%eT;)xajmw)QbW$DDxk*T5g1%aSX{g}hkrNh}jLG?lBV}%)P zd}SREB{bASvpZ1HEG`H~D?LQ6~0!=YFsY>dnp z@^Y{YKJ13FVZvT$=?$gjcvjv}(#c01W;(5PFMf;+_gM{l{>(CVmx9SIC^tsG>+B7E z5|&|xrL^@=E1qvbRm2NN>;;q37vvweqT#@MH$~OQ=XJefUT(1rauWU#ga2W)4k{|- zE!27h#WQ5txrWiD)%M32!7YGIih zEpM_~$}xEQttmF^1po-8c1nlV@dX>6D>nDCB4jiPnS5(r*$NFiD;^&CHKG1SoxW7U-@B5Kb}ETzayM%Iw9e!)JXJU@;I zrm?}t?wP)MLum|g+6pF_`CRiRY%_^|Y}h&Z6sA&&6ry|mMUF679X5xaJCcgr?K+Unik z);zH2k!NCnX}{ypOQSo)>MGUA@}xqi9|eQ400mVtuWBMiZcC2XF#+CtSbX58e70Q| zfwYwVl}Gl}YT;OObnH9X@@2SCOl(Z}RM4=QyoN?)HJh`KPmrmA&m~I7KY`Cb@9~?? z2L-{2=QRKHsSX|PIfsYdsJ;2KM~*wcUXA4E&f5IktA|sB(oQg)ViwY$By;z>2<9H2qJi&8$&=$V~=urC0O)nm|DxVf)KX4 zWwA6yRkGhPqu`6WhZ7PdMR40o6N(}wZ^?C9Nv(*#V9!$vW;BSRU(?hUiD&kOt%*11 z)JJZ7SDzkyjzUES2eugtCc{Eo1^!I^H$8CnT(C1_uZ2*f-->_hWEXYO4H6~w_n7Ky zXXnHu9B+C)iCa;oE^6IH0wQImQ_dxWrn<4f8?76CVZQaIbLPWz<(&2GKAUSR+m#nU zA-;b+pLpyc$tm*Twfz26GV@7EYRqyrCFBc^ZVylxA>!*KQ?pKS(<#jK)Y~Q2mY4F7 zfl;>RACHDl<*KL83Wg!m-+q60i+&vcl92J0tz0&5TWI1rCdH^RXEv^)Zuwug zUq5Tm%pM!V`moYA?A~!<-!qIk4c+C=1X&Iy=#jN-PiV z9Cwzl!U`aRjlY*Yf7}l6=Xh*sFm7_F5ITMJ?`p2IbbRq~Ka|2Ww?FXrCD4)>$w zejFdK(b23iHH=N(G6yy0jGg+yPMXM_(&MpF z*2INk{+EpPvNeV;9*4u3&pgI+CRUwq+b3?DZ)}kh%9%>d!YgIV#n7&As{`NZs7g5n zS?fs{hiTye;6B}$Gkw5{Y%KN3jr-H%s`J)gPl`cfV#&%H2h|j!>?3^ZlyClDl^`J? zK(SWLM$9~A2Xl~4f1($k7_bmGUp_776fW+mCKI)`3i#Zx8V!8Z*OfDnm4zZP{M6mA zZETVCKmN21=crW;$;P3ybAC8%f(ylZUmgFno7rP~<#g7bdEbTO3l<>0KydwAgpYax zBZ1z+(j8^7_WRQbLbOHTq#4-l0dXGBsR#saT1mdSWSTpNrkOLT#?UV1c ziF^K=I0J#}eAQB4h(PPmmD^Mc;PMk-wCO27-BbGlxfib&o~B#Sy|PXdeTm;-fw8Ei z6L9Eh<~e+{LWx5uw6O?2pT_`px^1JHn z_WjIl3!HlT_Dd!WHSqU}9zrqgy*t=Z$$@sqGzHg@7(P{S@{M9@a4>S#?A zt5FQ9(nT=kPk+FN;Tc0d?rp$y53wN;4~7~e4$Dpkr)}>AGXrRbBC=}B!={t?Vvka(#+p_)a5^tFI_?I@F7t z)5fHuW7PYV4Se-){vPBE#QmhAIJ>nJR*2vE9@B4h(?bG@3HkeP_@dZ+xxr(OPRB|q zYf%*yFJvmez|a3Wx_|nWSXox(Mu1g;8P>$4s92V58Yu!hOwL7Y1AjA3gWeFroPUJ zl|wh14t|ksY`+ET`Zt#cD?!lN0`cZ#nDIk-E60#mUENXTFl+FtI}yelQZC6!aMyKcdtDGb(g)mh-fcGoOqxUQa`oq!e!H zvn(dr8O(WHGuXh#8j$xZjae&5_gbASQ!7DL^Sj}@tO1Y$q+&b6VNWvM2vM-mt{$8^ zWr;bUV?#04E%Y4kp5%CVd^eWQDueb1CaRI5T`Yr(Sg-dg#ak$!shEWoQ^%N`@w2@e z#xvmNt+GfQi*{W&4Y@JR*=#1rF;jo+l+G^C^YRH95!!3rVlH4C^PSrot z!nY5b!YH9AQBtPnolAE6Z`C7qn1`G9*v#;Q!Kewp_y9g-TT|QE0CV?DmTc|iR%M>* zKij!EJ@!wpvup$lI)E;09!*V;lJa>tFxo=#KS6P%$OPmczrEDQ7h{@<6TU~zGy6Ov zvapEg2BM>tmSH>2V#6~K`-T~cawoy%s?qMUM_VxYsVW*Pq!;1y4#-Q3r4*)DQh(V% z?7&k$~M+VJM4BHI);1E9SGGN8Oxt)!2j$+Dg(9vZjSj>c>u{eN-D%!fd zzP1~;2$CaYhYJP;{!;#px9vZqA0<3BYwn_+q|Hg_R!b6o0-IK&6FyX)g*h#RBi7yBAc&E*$8OscZ~ zWq9UEZ~96W;MMI#(Z|S4C&g6n*mNkBEL*rX4}ubYXPhbF8bd1wgbYW6GZws+hHIb` zOEG12t3T_Ku@?7y(5uRa_8?)yrOdAic1UmY>qB3POYK!)Pi+L&)9Q#+E=O+kS?1me^ypKPpc&90pn0eW)dtyV7 z^(@C74}RHq+$Y!I&g}m&mw|;JcrPvbVHW4k?m?qXESw^^F;g_X$`=JxU+TB#xxCUl zBnEQWK`_X-JeTq6)ejvP;993iX7zs}Gk=vkbZ{9*bLYB*S%4hlh9S z$$f76{L9#Kat0B!JMeLK018S==>;{iP6}(ktFfw#xUqu51sJ@)Ckx5=Og9vnkY5Qk zNR_Opn$nvtoc}=3&ta~?9Fu!c`^`0^t+KQbj55F=asuS7VRhVXX9}*&7p;mEi>Nz( zhsF%?*bFvqdsw1rz$zwt+yy~0?g49sKA&?40Joj>B=3B8S^wvpH@Ei;R;-aLnC-*y z0Yx2_55+|P{a((~F4+lP&+ogHJ14r_&+3fqx!)a=k)I9W>##JxS-l#rBb?AubsG#F ztOUl7rlyH0)mUAFy~H3D`KCG3vZnlN^CPrpBB(ay!)h`aW606E&sj=Ktr~SPL+EPT zy1v>^36`|aFx0R}u49fmNuNgLt484j zWK-Z179P0Je;i-E5%~M}FkuIYrBTn^Xsrj4v={UlJ)kag)A!J z@i2`kEAFzUjQ6PKQdNjQzS@!Wa&pw~tP2`6*pc^g4s#W8r;;EQ7uh^aeL9-L2k zLgNMA6nk*|jpCvd6@q%9^ zg+?LKs}APR-B3%ixliT0t26~G&=?AKul3ZbDKjon8P>H zpsLr(i%#*M%;%{I4aV!)*hcfp>2*>njze}jd`$N@XmDP2PEhD%4 zEUa=uy3xoN)XIvc#m!$W;zCq0`ewMCa+8R*m7eZJ?$jjSZK9d<<$On;v29|TwR&eI zq$++;B>g<37cW~;OAfubKI2vJU=kSPjcG<&Q<$KBHeY0WeTABcIOv4-ET^DA95xxL z>h#}#9-=Z5qUy*E3URWxa#U{^#=wr_8VA&z7GP!mY6!DXjZr-W5LK#_&^$ zPK(K+zBHAe>&FqK{2*dMJO!q$Kc=~_dXWc7;>?BU2`)mjb1{g?I$u88P>ufdrTF>YZd4B$}E3X2yKI6 z@V#s8Gc_w<70dbM@ABo?Oi=m$ z{WvBD)Ir|8dI4~AQd;HMu3FB$Mk}kC;)?-(hCdn^;AafAuoi^o`d#g2t=}jFc;#lW zr*ut`U>lDRnaKeEZ>nkH_WzxPB+%gMDq>bi>ILyg`ZHD<&I=KbA!T zYMFR?W|``l?wPNY6jcgjmZXLXvrc1f7>nQbaPGc$h$r-`*HTAWN;n}h)jFvp6Kcq0 z4N8x`Ke%TMW<#?nS4k{JGmlTSM5`@zd=Z&(u#v`?!u(YskI!}!Z*wn=Yp3zVC$=|G ze2RX%>di_Yul?l}j_3U@hyNai(b}?}ySA>*=281y+wJhNv0ys|dWAM=>f<;55aNLA9HlnU_sPj@(!&P&JB`}I1jONGQUL(ah#=svOQj?xLm zke>gZFHv`09ngD@@86QOC-XoNy@660=T5t)P{pCNUs)CuEKIT%iOet!Yu@(Ion{KE zE9SFj;@UH|3MnaCIyyQ9%SU)KWbzhh(O^j6#!UZXBW%)4UWbSpG1@|I4{tbvPjl^v zI|htGEea&Zu5|WYw2k!4?d^jvE?jvvwRRg9L8ruZVC$l*kl||H`pb&9bk^5y?iYy* zgU1_@9oF{m@v>b%t``=sR(J58L{ypqhKM7y&>N&d3JU^g#Y%MyKqz9CSE@8N4D0xJ8IU9W!_1bfI}t^4V@Ha8J;>A+U2(AICmC! zG<6INj7@#BH|db{&V)!Xhu0?&Qta#MmrQMKBR{x@)60Qd<<*WBl9y}TlRu|7;4Ikh zCOt#_bh4{m@vW7tfGtS|8C^|ZHr#stS`=&a+b{;tip*428(31C1;?o|aY@W{dsw{I`B-uT;r z(P6zE+vou9_C_;q@qSsBSZeyy$&Nb7xro;J-B;<-Us?KWl2xh2LMXFhSqD+&nvFJ= z6%yJ-EsDA75ib+bKrZhH=Hwai{<3pV$tIst+`Bq?6=w^lu$^WMc$v04Qbnz50{&QW zg5?j+ep>=$Frwp&fZGb=Pzk=b_sv#pRT#T!zFF}G^O5zv?kD$-GXqeMfD_FnRjYKC z+(R@PCD#4>#~XB#38Suh#LipRPT360w%d`4-_^Z#{F{rb57=_c?Bsfx^%)AXK-y3z zS24|qP6t&m^tds{zV&4|h${j~YoXSBY7HX`WZ;vhSTdcrVpV=@WgiWSDEaA)`{1+p zsBK-QcaP601-~n`E_c`5$q$&CF>}01ENA0j31^UJdu1a~f}?>S#0|mlP<89W(~q&>UpiXujD-@hY_Io9X*Z5tTz&XjUmx_j8^orkMZNq7g7s?e7C3IN z_@j);G!jucB!dBaQjrge*kco;)p(<>JtUhz^wv`c49#T{a9`q0JJ$Zph6{$eRrIPh zjhgWp4y`@^og$9Q^!CxKeSG8;eas@zqAvXS?t4sVg+N9zu18Gd1t!7b&Ardjx6}HI zRehe7`(veOnn!209vlT2)(o!UZcHhSQXET2OEN4^lCbt!nZzRzuGssuV&wIVLTgE2 zq8YtNe*GGX*m-$2VnXh8*iQ@UyCTq8dG-!%fbPWk%w4Ji`PT)`3GXfINaey-`m`sWuQ|P#U(3 zQZFvBR@z-LM66B=L@tp!E~*@yJ^r1%aI(Zb^|Cg!Zbxoai8W1v-cO26avB;@A9>4L_bN~%oPc6|K3GuJP?vDuc`E86QRRw63#2P5VR}>>{Z2T0C<;m>YIAFo6l4&X%#jwI8YYW+ zSQd3VeqKDY8|;P)f-k|tgSg~0S}_zJ@ZWTOX?em2rErE+m?8yC{v`qOgDLjq<^1aM zONEbS4BuXnuR13aN;#x+k?YxgsGdGxpFDK2ZdyR>D8bdJ4mE9MsnsP$&CAMHqH8~= zcES6$^FS#6R%U`K6TGdDp|2lzDj$T)iD$|$ZB$-m2+JbM!qG6cO)iOajq0bcTZ=^v z2@%PJ)?1Ex3f@<hQg{aNv5_ zq=#(&>u1I0&hQ?jm5xW=UU<+&v}=$#-psR=R@Y20UtPaN=)9ovkCdzkhR)Kq`D}3> zue9|a0EU5gg5=;drkKE7-!r&fY4+yF)Dl~9Nz}MErf#@9hT>?W| z%9tbH+Q!Y}(2(qqt zS|a=%6S&2nmV(toKPI=KPnr)p4wWAU9qRR-*Sj>+dmi0RE(TH@`Yg#OyaVMXoVRVPLl)s%)}2Mj$AH z4R99ShEBy`-{^}p9h5a?wM&-wz<|S3rJS{l<|L48I=$R!gKxk|D5#9sjBrr*RIG>t zreiXXZorv7j@pY_D5|4DLGkx&q@t$OtB#37AyedbU(0hnn53+5O1#%1y@J!!>j&7JX&*5C0hZ^}t&zEjBSJg#Vk(-=}a za{%;KAlB^X-_Qs)1)vXo1Hrs)1A$ThEp@spy?r6Wu$5}L_3Tn$$Cd0E=!gQ>wP#(T z{}Z?5sJ7=Ki#f3sP7c~y0f141;z>JaM~}Xhl@3{y=Q+?A)L!XXmm)L4bbJ_^su(D~ zCfT$;{cS5nZSecyLX2-o+Vin=ZXb1#Rsr8)J*sU8h+tZaWFw&_yqRD_W1XS;2dOpz zf=U56XF_BbfO2Bf_qDNBvb9ROyMxLq-ek5pYwja*27}ors5}%&O#3}LG4TwleFxna z5B77vGb%wkq=($ni=5ggI=VIeZ4-E7vwz?4Q18rJ?%j0bqAnXTrjaBzx!Ou91m9ZqsftWT%4~8nE21uHgDPdv*~A*CXW>K}_g-ZeC_EMZ%&V z8>oYDC*Rb0HpXFmAR9R32U~E^+Ux0Af)HF#dN{#*7{HnA;QZJFOW-b8)Y}$$98WE4 zB9pCEf%G|rNSI{uhCa~gzg~0p-wSPa1&QvSXQ1!o1^Um!&{)z5#;mvAl#9-e`Z=Kj zv0c!40sf7n%jb`ooexc(*J}udxXKRP9(RXLAR*&kjNQ-LI=tJl?;k)Yy-rp%clDSK zGcbQh+rX%3?tp^=^Y`L%(Y)Q1b<^9W)sk6tO&gi~mca7FCcf`|-|!h5Uqk{V6@;72 z^_5fU)KlHgxZ~!4_manzP{;9IXAY}Y&dz&>9Qp}u13kJZv5-I-aEmH>vt(TW;&88EEPgTWsyj7B6Fsd%~6kLoW|T_Dk-yK zXyZ;43}mwg`O7w&cL+V|>J^DM^|T2S6NBaD+~=yhE{bSLGR*bTZJwts-5b6k#wKac z&N}a!pVlL(Ec5QI8%wZ+b8vlGSPyF}+K`CI6z-mrmXn7kL6Y;-Y}KCNWM-_0#r94! zRHbeW2P!h*)^EWa>esI~q)IOfJw*uzQAZhNO#-~c4bUPJ##K`Tdril`2n?<~u8Y0r zWyL7uwtDTFK1O@{APk6;mV9K!s9Tl?7kOB{~iXz;0BgJXND;Lniz z+=5ih&PTvlq5lG2xw1E8pSoR$KOXjz%=3H47(Fx?Z5C-6GQ36y$~nJOXat}8BdtT* z4I_T{_AlaAZxljv83+TWlY zz0QkFp!%&*`$Gx@Dbdlc*s<8CmTGYcJJtFY?mHZSbHID zE;1k9^2*?|7KS5)R1R^O*P96NMr%d}_R_K2(2qau7(K8iaBn8&_+-1UdTZUZyiv>w zLhg;{_bVUKXE42XDp(Y-h~7Q;O)V#nwC{Bf+Oe zS!C3CB)_N8&LX}i%ml($EmtsKIB!!PpS)TAV<_z|&q`sb*(MjNbpCO2P0ROnP|?1K z=e}#6sv2g)e;k-U{Budx2E+BK+@A*b!q`_Ts4yNFvRx9CwNlWRZ-wEc>Re){~KN$+#s_v?OL*Ymo}TfH3K7)rgo!q-pO zb9Q?F(JC-$;cRZf&cQv}dtG?%97ti%V~muv+**OLe9jZ60kFzeNG)vsyIHD+5@m_@ z1;_9IN?apbS{}6?BvtMW3RZgjqn0R$fazw(eSz@j+VF{qg=MeE&$+E>(DrKes)t-D zZguAE-8d$O;TP{Db&k~eM6{nP)VdLlR7`J1@fnO*Nsd}eW=}mmqyxVt2vq(Ue6HEn zeHO{&x94%E&r@wYgmV;Sx(Tsh<|v*@lMOx=@Wgmc?k*F_fzJ)Epr!~#qvj*-x4F;( zZwFfY%<-BeQ^c~5vDj#miZ(MmA9YJHn*Xh7v{6&}(_zMnb-}N%*Tr@}Y1--hCzVow zq!myqC``&}WI&M285&BU3R08=7$g{J!;);QuP(DL`S>L6>2g{!)-?OoN*`Zr1f~aF zam#Jr48BsQBF)L)@ey}yB?)!Z{_^IBH~XU;;*R=~P5uQcwVHHnf(b@DJs*JA%snRc zc|X3RMyw@m{rm{~j(tz}XfoFg0NJesoII>lVWt3I&~_f__F$&Qd^GNlc-tH&8PtxbR87wR{d;HJ4YXOvc8%?e0)5`rFXf z4Xjrs5pSc9pEqVa_*d}Y=@yxn$Hh9$RZOT=NLNrf;Q|D`lEK7fsKT9MLlaE611YQV z)LLCOP?%}{y-)6>nVG-ZcbISWyz8R&0tA<9NO)~hsjwhEsp$W^P*1ou+<2$b1lN4o z*wDakOQL}JC@tM&=+NUU>nN6TPs_QU9rr?hYr_l@TrBi3~yO)+P{+zfxxMLo;&+~MyF_fMcj9Lf{x&0p}dpk|L z0@jU0*I?mA6UK4p&K)&@Ai&_n2DRxHkKHiw)_@5?qmtaD~iO04~Ow zwv23Ug5H_=)#!!=d?k-Rzoo$LM7e1W5fqWf0hlc4kfhwsgmVM1?00zdryQ;`2+FDV zmnM{pJNX@X5F6YHOC`!j^}0RaQBTSozVH~dc6Pld^y>x z9%-s=bTQ8MxsOAG9$KRZQ3H?92wkb8zCDdMWhUdF+MABUCfbwHy-83MxgW_NZ0mdk`o6t%fqH=VKFxw9qffAm4-<AG3`|?@bEMT!uZnW*Zz-sBd^+X&P)4*Z*qx?bQ0KE+gT+5d;lpMzlZ^y*+ zB|oL?lBL-d3w^U}lB_5?iTCZ{gWD9U|202Pdr>rmc$TtFOm#N$vaM@yP)xNi&|gy% zWHyOqgpo|-&ut3@5WN~I{nD9yPQ{MH)hqA-@B4i&TRK&m<;A#M{^Ds@utw$&my-OR zhvxC5rQ;)2$HcD>ZcKZco6Bd&yebdKt_<;RZH+iq}4?>;ekF#s>Dy%y^#O4UWZCB()|{%H`IhY%$my34Ry^J z%{EkgO2Ql)1|muk<-?LEIca(Ny>_85l3#ufSa6bM+Y+uqFe7rfdq8W-KtwtSI006C zYuOBbOluA^GpL^9)=q(Q+}V1&^;r@cpT;9V_e3N~ z*FW{AV{MJG#zP~4+uZL;3M{stESyRsk&A?K)0I~1OjiTK2L+&pN9`r&Wh%~Kc4lUg zFZf{B3(z67+s~K?@ao-x&hgJGzT5Ij>DAmr@C#@aEr%Mv*-nPufBvuUfU5O~82Ai> z_G;w&GiDo(d-M>S&RjgM9jLb`w0Iia_l<5QWRtl-;}NB&EuO`SR3_t>=l`ODyP#yC zzM+s`V4(&X!#f>vo~i%l$rmq9s@%*vs3s^h_>V3| zMbH_RJeq|$n_g^ecf~Tb)W*?+dIZ+fC&kmI1jj6M1#G~>4qSJje(>~7rL~>^5ziX= zC;~Mt`}VfN61I9m#HblVu5ZbLoc?q%~} za+1X10Jq-mbbO3PrgFE&W=^vh5mH!?%`9)`o-oM4UhtL*-eCpL`<+fr&%1Lf`cAc% zX~bPLFr%+TlsZLLIGM^#1NgpD_gEZ z-scU$zIDtC-SVgSdozR@DqIN-P+}S8?HV(Ya6K}AA<0%xlBB#oMdwP z!UW}WX1*~IM@E`=3=Kt-eO4(6Z%W`M-8l9qds!Tc>RT2S6x_t7x-KpNp4~*y%?Z`( z3>$a89h+^$rELHmM(=G&EE&3#Ox_`rpz9T#d-~Bul8XdCpsm+Unv2ZIM@HZ|GFkDL z(0%dLsA`LkGd{h4dwEZG=7BfQ;#^n*)N%ha1p*`Y%);z4$PbeZIE`xu{l@#bVwvG| zS8KW#ltEh$gF!a+X-V5j;zjIr<@Lk7{nroYgCaGJg-V^}S%C$(aMsKgjOSza-HRO@ z_3mJLKHF!%-n!V?y$}NVrx(#}`*h7`bGx=F8kFwd-tPu{6l-###9zLA0qluEQF(cC zE(z2G5;!POj`fjAVgeG{ogONgAF;zv!3WTK4P4s zc34iXa3?KZJBl3onmkF~0WmCDh>M-nEzI`#hS1_GiMOVA%^sTPzd(qExKd;)mrFI; z&qp({sO4@o!dd;rZeC<->Eo|0oTpfwE_G7bUXibvw-ik%>C8V=?a2yS*ti@GxSZTg zD@vs;s6n}Gyzv?d`$&j`#v>I_EB&%PaZ-i)98qK_d$eB!`>A2lW(Wg3rc6L~wC4uv zEUz{#bckD88o35Eud;RdMIiv!_n zG5L$nZ6Uko01u9diJkfW9oR>!YMLTlSXfzO_5$J3_lFV$j9W=wX9f>59JU|3y-kf> z{;?8@sQnWVE51JBknd*qx&KeoI`Y2 z0WM+M!aO|U^Cs4vU9p`Lh{R?OEpNrv@+S$_hKi=F`xn_^qU(97jF=6ZG@;I_q#UOl zoKR21LnKq}I01eR%j0noJ$k&)d+XwB5wy|>7R8~;WUM}y)=e#on=HEJU*HvgCodj}CXu&_z264kAg8Qice1IwRccT)lC62SQ|+ev-e!TJmf65?d=~z9V!|{I7QW zx@WF)v;|)2LcbgCPFqme-X8*QUg!`)NVARwvn&+#2>cvcQ^NXUP?k8~)!6J73E{0` ztj48uHoIT~k^<`q z`E131(tuxrY;FS2v(_`l@)vjHNdOh_bMakY^93;VZOax;Y`jLZva?q=PA-F`+P?s& zjt)8bqnS}#(hdL}F$fT?KAqft0rrn8fM(+4DJ!p7JeQ+llT~Kfe3h*KZXq}D;m=1Y{T!;1{-P@*{geWf_O$cdQu`V)sy~iF_D`~hqja7zNA4pZ*1lC z)THD;6l14|q_kWvU_}@po{|m^?$V7Eb}yoxALvVdYyR4)W1Y+xwrZXH0JHq2>c~ml z1Ijdg>;e3{IJ9eB#XddCJn=~>!sRAj5?(R}qdqyLlTJ|0H*)+rIKtCw{-*8&o6OH2 zGWRb~gsa4t7d7=0#mQL14PgBnK_MB@4hqQPa~wZ^q}BjEMxdt}R{ZTyHZUiNM33x= zB5)3}IMEZ` zmhVwW?2y)OW6%tk`?X)OUu$wA6kmNuu{1KMa$w5ST?)!3NAJ+i))#9`mHqN*0vx?P zij(5q{CI-v$&>0OZq2hlFWY*CgjJV0Glp%dEPEN z+Jz%PRW$F1l+1jMB+1r+p%}i$bh$m~@pOY4=rP_tZq!ZSpU(CxGO?!q#O9K!h+KR% z=yaFElT{TZ_EGBk>SJ)Uv88`JFeC^6!6znu#mY*dHjz9GTCO=hy*j^D*?d4&NDU6r z$HNMg>J76wmX-T^i#G>x0PXSE`A@3-o;t0N<)`lbeNjKlVnVLTFTy0Q-KYqM8Q{_a z?ws%h^FzF0__u0iRp-#B6i3zkq7*&SRql7f%_o-zwR%)YJjp(8$k~KRO$I3SdDi|l z3lY&SocOnAl#EiJFxenXB6P4s3?wvT4X4LzMYQg8Rrwq$IHx_=3|{;ED`E4(2$Ary zps*Gh@ic@Jzqt6Rz-pahrX>MM%j2GN#-EAt9@RIl=SO8-zMdT|Q>C5+ntz|EVLWtE zo5}r<6rqA(ltNnazt4nnMcNI@<_T!B&K5GB`nJAeBnl54^GC1RNChs01fSp-8e;FPY6Vf!JQzA<@vkG8Ck6)Y5m}#IfYAJg$E? zIxu#GmHD28apH9N#9P-5vX=guO;>9%$M$}z(END@?v(G@&o9>f&i|Sjnr=&LBLp-; za#HC!MSRyYUixm+Wo7ew5nal)6bPx)d;0{0aL@Kz*QbZ1T>9Vbq6V*4x((4d z7ohF1C2&Lh;yH#Aa`k{RNedx@V{Vcam5!XAS^sA)^38n~_38N=4N6Myom++9Md8R2 zggO^aApZ{qTHq2*q{#ItWHMPF^@!n2r&3u-AARGnDCqCHJT2*=!eMl5gl|z+mZgub zisEGuN}quTnVDEXilQ~JCv{=wCg=Y8XRXJN z!?bz68e+f=)PvE6%v&_r$4yljA@LD+|IRE6DRxzJ-pbfbFS z7yg{dib{xpK@vT@u$DuDRu#jr=!2Crt{};;$SZ4@&0qw^hM#BaSzHtVGRFhFM_y2t zO3l9#IY{e%^sdM10en7S>u!bI%h1Z;%Plm#gDP-`_;xHW8mUt>$1Cimm6K|e*YO%; z30EDSR*OxRO_9ERz3;5pVw5M(jKB~wZp2sGI)s?3w5@dQ=aM1X=hk zmR%zGO9pE^v^@N>)BE~^&m!Wpag0f>yy}Y71SB>f^?>Q>08_x~bV7A&04!W}2XN^i zx@IB@r#JT!y>QFvwnSG;nS~7eaU^s4Egn*l1Uz_81(&Z&~*|5k;LPmpHM*Rk{Z`X>X%A8 zs^~VsT}(JBOJ(p&PLx5B`MaVYxv3&Qzh!~-U;NO)Z0w#nF)E4PudtRS^ag6t_m)el zH8W9#dwf15M&)E0pIr%iJ%rOrknFA3avS1~;AGW|e$eSrICICl{Y~ri_-z!%mKgyb z63Oou$6ru2D#%q$(O89s+XXDFgUDt*Bkr*%#hOnKLA*07yPeD}RH|O(G&2=3I%(z0 zjQ7R-ZeWUT-~of&*$=^sKi6010S9#-{m#o9M70xJ<}8FP8?!?llIlO%t^IE zoMBA0LUuDdbk?xMCQ~$R7@&fU^#(DuhxAjEwkF7ey$t<)dpJdxwJe+P#gEvS*#5(G zSa{O#^NM^Wt(^N`$saW&GBEtuQV@4ztS!v_nnE5)?qrJYR>u!hM<)FkRoGZzX`Py5BDtoIhkp%%)ShmLtnza2}<#N?`cIE_cf9u0}**$O48d8 zK;@I$Q@4Yk9XIjYRBGmI#8SYWcIUsg_uGPk9?avdq3F=Z!Mbx!0YrkR@ zkcyUX9X1Y;CS;#;n0%!Uph{PPEY zkn^J7HhO3*WN^qZ(Wqu1vF<(j(^w;%2O5eQlgPq%70iaxn)g|xvtnF^lQKje8(1R% zz=0EhkR$0*3h%|BO$<_2lQHV4-TCTRy%QuHTiLEp8}C3`NIj@k%U^PYr(I*neh*mS zizCt{(>Y5OB_iXvJ)V&el$T|_IV&Xa7M+eVD7rtb3qfJr1O zS}w$7nqpDgRez*aOn5;E)9XkK^v4j z#9^%XAsE!Njh^g{4^{5XJ)E}(200*Rj94{y@5~DUBCntX&ILBu-LQy%p|P|D1zg8H zx)LR5F3;3L-^}+e5rp?z$D9F{@0Xd#9o|}OM7}7<5i*XKF^rCnESMYx`5Q5IXhZc9 zll??ewNP7H{2rgItp9kOMISQYX*&42nmwq8v=_%Qm@>!~@zWc@DmAuslM|CboW6DH zgU)e&ChazS4>vjvUBkNsd|Y}{aTAe$47t+f7`8e=q5 znDRe+JxBsTmI{FeB~%lk;T~=AOUI%{pDV&?#jk==kz&vs^5Hi2vZ44K(0QcbE247EwR8CZVR=!Cn!M`c>0Ux{QQ-VjK!ammp7{1(}LPYL1!z*p*q-Ct)YQ{ z0bqEEytlJ1R`@_cxzL12;au^)^UJL0V`SqT&%EFIza)J0nlrOkKmd4b-wuKwR4k9} zQaRT(Y3#I=Ny_dV9+YPNlmUxQ4_OrxMh2qG4n2<7*a#4})ij}R|D8LhKPj29n4+`3 z93CPVfj{jH_B%zjV$p;u$mrXX-#Ml-k6lt}`UHjzX(TMHgV!5!^}bax)M6pV^c5n`t>#iABgMJ#W?3PVTApDOmrZmS6TA@7j{hIBX;lAN1J-;-)WZ zaT*`T&7o;$U*g)zIm};b>$w<@gvaM6KQ5YD@p!2_MXzx;ggfF0V3oOXNl6Uj+&$0H z)@6{N+gr~BhqV^g_pGyk+E(AN3#wbc%g9=n%r5@=^#L@>=BdV#xXQ_&-jwezPury( z;S{ij{XSfZ6vnj#W-WR=Zkn)^RDKlH47e{M{q(QwQB`+8&dmjixI5Z_%0Z6d7k6g& zKLs5M)fc6ISgzH(`KS3SrRWp=A|$d}?RqS-;~Pp-pI$OXyJn^v2j!tJ>tpj4tdi7W zw0KhYa}qyYSnc`Pgv9_3k)nz^SQ#ijGNX7joAyw3ZLA7v=v~M!79qHBVTX+61%xz##BV zTt13`^%~lkP;GD#srH!^!W$-dQX$9&U}9fVJ7aHtwM_I;$O70y3YSSMTmK52u)A@& zrNuu*fJhZuxah;D|NVR)e5wk*HZm`F#){80)W`;Ud!=_<&)EuHaE-0KBRfJU{i!73(m@khP3zJRI?BmSmrtn2%X=ChW$R&NpneMJ_ym@ zKhjpq^pm+{(T^SY2avJn6r%*H18d^;Jsu}9Fc;Xvm=X3;eea21Zwh?dlpEGb1I``3 zVq$>G^&Je7S>AvAoiWYK>^nwXGHtw=5cD^`H_B5VraFCiy%0P+Q!d_ousNix{sk}( zz{0DbpX8SDsH=>0IvG!2wOd7kL!K51-~u#t4*tO zPr}ZZ=9}6Ka6I41<_+ZR|R1s5Cu%^bi60suV9bs`@PBy z9r%U)Cc4G$<7B&F_g9w$3mP|#v35^TjF^&xOYWH3h+24jDdRcoiYZbGj!6iisVKkL zI435)r|Gy%y1c0N+|EfnE@IY%9G`k~X>#lMllS^9Vaul8<-Sy9Dq6Y&Y-;K%Pg4o=YUnRzP^Z(MVH-3ouc8ZdA!RpnmcJuzDK^qL-il*Lc0hO zK^zAVu@NM)ZM}JYO~2XMysnnuBJM98F)|3?k(arRZtWIxjDElm17-5>^=!Jf4$zbX= z-+5?W5aB-ay}mqNh6v;0`t5x<&lmU~82gveYa$7vcr^Lt%eu=FgRij@QBoNXWLxef z-O<;ArNr|WLO7-nF!HGd%wb>eZJQSv{OL4@jlXm0t1r=o|acnS0=0Z z;g-k^0cfp~#ygd~4$#nkvNM-gK?&~^SpgS%*?^-P6ZEwoO=SaoqaYL`=`wvSubKps zXnAL;UXljHj@hfw7J+nKQF5iinh$v$alq?9<+U~cNQ7WWQ0n(ZO$nNG(WHAn)-1obd{}9knH|RiX>d_l$Y(1SYr@tnupBhbbTC2P~VN!C-f*q`eAU6IF`a| zW(f3f=ceI}My2}ngf6MJv-J-aLnObDI?>b@PuiMDRf{k9fekB?uWA!k{I@LYO$o`Vxs#eSeX{f~4@NFHdj1b_@!g zB;F)wsbJJC5GF4$Ea6j(TS@8U*o+L>mW=#t#3Sg|S6HS&FjzTX4}}^~hl&Hh9-g@c zQzmU@d2NRx$u1*fowb*~Z8yv4!fG@7U{FF$v|BZgqu#FcR}A;C7zJMV8flCw*T_@% zcwSNvRc8}u_YRBwJ}dvT=ZUaKRndP@IPQY!?XT`26G(N2rawWGX;d^LIxgwo^BP?2 zkdu*#{Z(t$*pU-<6|=iUcq>m`twrCCk@r((G?VY|yTA80`7DX_X+r5@Vs3%QzV3Up zCkHt9D59GoIbyH*DVTN?yE>>*C8Dtorrgyy8Utojfoo>>ZSU{)DE^?;0KtQU@F}sZ zV>!>z;H81Y2D;QqVgh1%Dcg?fq}PTI2o%YpXzeX+4W*M{1QmDmSl%kKn8dsfCj`C6 z3KO|liU^#kk4z-)tHy4a<(TU}sgi{Am$o8O1_22AahP+ehL>A zEUc#A`+yscCX}IS5Y6wdqwIZ$SFRF0W%=>4#RBLedgN#tVt-{1P7my&W08EnEMhpX zAV6$AbJPZ1_Bu@Owk$_E$2zf@-R(%l#gsu@H|>vXDsv)f1eSAe9E}sYIA5sSaFCS?&R2;Xc z!Z44pScr>WDdBJS9gudxcKEORMibX1N~ry8;E{azdKtkRjXA8w&5EH2&SCUq#~4RlyPd~>PSUr>p48o@B#Kg1 zlH1=D{M2|3(aI^q3Y2iSXjh+h=>)erMRUmgdY0fEGE!1&kWIXJC>ky@WulNLy!OZ3 zFO!Y{&(9M3r2sKDlU&sDH@9f-?LAFGxd+c5i850l;d)8_M5y9PJq<7SY!_xCmsBqw zpIYWj_TyNfH+93bV{Y9-Sy|b6$ljZ#-9W_~R8G6V(7Wdy9eBXZ^u z_Q!6Fp2UY`j~Q|rRBYjJxLkC<|04>e;T=HIH@$k5{^%73G|ObJ1Axu*_>AdO@X4+E zZD_By_nl87Q6}3L3v75r3n=*AbbThsXg%M2}lfUFD_?BJh2dbHR)mG;P zOGLDk>|Rannpgc~vUsJGm~F)DAL1fz#rP zqd2DV5$^<~hJOh_AIbFx+cK~I{8rSiu&fl`d?>${qQek$+!;y^IGbxz@3$Cpdq^l5kKQG=DAmSrgk~mF&J>y^?#8%O7uAQ*5qQtQH~G7e{LVVoS)0 zOzJ~jNbg(Nyv{j(qU|nUYdtu`chw{xNFY0B6sSVh__#l-u`!w1RH`(8&^7|b1MfN-%T?HkItkrTv_{pxXkZ{4@Y0A`I$954yuT6HzL!{OK3!A9xMyyt zc6f_$GgnmjH+ja}LUp1KiHUAwmsoVMN6z?D4uXm;ePn`>=JWfM(U-9N?&C>P3ao{& zf~uB*=ny$i3)}nn7eDJ@!4>)6iVZLYu4l6mgNf?`wDZBIak8VI1J1-AKAX#Js{OK@ zVPQ1=?J@J9K3T`+rnD!Tzm0gJ7w7&qTZJAHOf-5TB`HZj0V1wcmPscz(1%W=AZU2V zN7_QKl|I>DC`>liSJ(CprQNMZujExuuP3(+3B~1!88x1<+~)}$42s*7)DY0>(v#aW zg%3|^{5)iA&QX{y93kn+9VuhH-p*1dizw64`Ew?>On;)TO4+5S;p~0)Yc78rykl%$ z2*Z&at#aDhclc2lOc-tpNF|2_gMQN47apu;XI)YctodiF3|eQ|dyE5E-Vdg~cPXa2 zSXn6Wv-5X`QuJhtWN9c&VOm>Lp2MoGD=4YmwpB?<5Ba z<8w_X;dXG-OdU|HS?`!C`Bz5Ysoy08u!q=NSBK`orj!1nGjWIFDT#OgCL1C{ZE*}F zc=dK%lnNYzTElVFjcW!px<#4Zav})3FjRiwx2zs^Pw8l|qYD3J>S&2y5aEyGFFANC zJG^J{Q3fQ9elxT6c2AOd_|(I&AZw$8F|I1d;BLeAmnAG`2BGd?ky3wGGFb8SaTL7o}Vm zo#;>pubj$8Bua?+8ij%M>~y@YHR?JE4C%ie#e1Zxv;;*4Q+*w~v2ilr)N?3ozPk7S zD%A9|X3Yfd1z67F#`2g}jPrjTFxJ@fw48895)gFKRZ3i#q2i+W;adUYB`tWo%e}+!_R({>q4%tl^6HoS zWomza%eN}KPKoFLm7$EjMU#YhFJu7M9GsvR`1}L@Iv(Le?4B|s-s;fI* zww+s8`fuUaO?BL3Hg`<{y3>u_y2^uI2!2~hKaW-Auj>=3qmBwy?tMrLcgV_!8?SYo=IEF&Bo_!qe%6=3q zl{)tQmqM=GlEy4;KIKKUBx(5i>wPaB_XPSRd|%^n-z8Rw;7#_+|Cp|Q*e})fS)%xK zeMj&GyKeh%1Zp^nu<{(NI&5LiaZu z{WSsliGg|{udG5+RabhfEx7(;qEGPSHk{dL4i7109uCfOk^#(0Lib>I*K1frf1OHE zs6sr%;?6WqqQl5~)-?cVQWze!+&G+`Hro)6zf{9>1*<`0eVluY-*PWhaVsiJX*JZw z41@&Xsy}x?)4|F!+>WPQGE=8Nk`}_DE(XHvT`+d0WbN+BZwKrLGhbMz4lBNR@nYko z&sxoWyIkvOuHNw0+f+>q2Jk1K+w#C-kiz*T4}_f_^PXvCM{dB^bYgpe?kYWA>nqj8nx<150tlT#ini7}uipqQHH6P!2B z=YI(YlP(i1v9EKyJBk>`Iw^pjJd^jD>j7{wB27`#H3Va<06CqR#S zILbusnsZApb5b>CJC5nIEon0En{`1wC8TR2?Ns}Wyri|e`&}C{Fh_$_lL1r4lHs(5c?0EdC{e3cn~MA`9l@oivg;ukJj-Ba z{wOh=SS(c&BQN(m7R6>^I@L(vKw#ZTB_zB)?U%= zFpZLI?nXY4j-LJTBR4oeO*X@0MBB*`C%yDvnNE}ZWJN5Te~9)dnJ3x~$H_B*AXBoH zy7l5|qA?GU4R4R~578l=S2cqV&TQv6v=6l!I;KpzyW6Yo=R)(8$1M>HDXabf7bSWJ ztioa$*vWB`ZFo%|7)omGLF36MiE=G#VZ=`9P=hDB0ar-te5Ub7ngIIo|$&t!4p?N5_=L_Pnp5|bbhnO*e( zn2+P^O<&MZgeC|u$Ri|vY4G37U$^}f)0iFfwezpFemALxo34bY zYXpnf>aY&uqM8Mmvf2PoYYuU8lBUd1?Ux;`&M*D^oIm61esWN7|4fb3=eCxXPX}Q@ z#2o=4k*3-XR4$eviUCKGbx&HjU89I-5`}R&&C2~r@7H`9v_>#{k3?+(J?7lq+e-wZ z+D4sG(t}y7R1+|!PhaI1=#P}mH)=g96^>V48IE})sJ%AjhT8f0HPs5Tu@u~lnC&;U zRrj-S=`YAx!(AXVLEdb5*RZi?LSl`2|DC?h%6cfKGi|KGgEB*{?hN1Yk-lqs ze1HDciG@m+oN=XP!IW!tThn`3_BS`@!Xwi6Wy-eSBz%p8V~QaBhaG1VlplNWFFz>R z-}WCHW_nn3V;*5kLW(F66QqhX7cC^`iPu5utw7Z2v9NJkYtjTLPn7Mgm@pDeI0&)k zhaqyYXpQ8O>v_o-CKkx%Cnu6V70FvJ$f~yBV&%wj^ot^;yfIr5-`6%J;MKtqiDMjt&~Yd^C}GPI)7W(dl06?0!gCbgnraWRa3&_rk`lY7VyU6 zZaKggrABoWvg#ha3YKs(DGue)VG$B>vijom`Vd~!_}07N5(JrnhdPiOH{0+m(cw1u z|LUo8n-4m74}B$@S5cg}_(4R&#B@jhSv^DR`VqCohm*jO3G#zLwd6C@-c{QR&u1iz zpG)ve&*7KNaXgI0p++nHVnqT5my%ulniLuosC$uUXf*oo8$A6~kqmfL?@j34o*J#; z=*Kdo1tqjWgI>Hfw{INFn!T&9O zSRb!jm*dllkJWjLZ)N7_U-R|H_QY2R9GDM4{+1Y+$rij_v!tRGe| z2rP>nL$o+pAC>HvtP5iK%O1LnC@BZ4&G^i)v(ekDx^ttWR>MmunDLsaLztnpeSWtH z{ofoY(ED*^C@j)8*i+PegUZLRoaQY%B$EAS3z6m=my z&(iLJ!Jfzvj-<<%124;gOf7~{R4&|?@AXZd+s~YX$r;I<>M@SS=u$eX7(XdJ40ZtU zj@=%ThLofhMWaov!J_q>x~G2=)2Q*4G%TbI{T~Q$OegD4^F}&-p-`IYRCD8NuMKoP zm}JJ6^L+X-SV|k zLbqJE0*c`&K~^Yw`M3GO)7HH;$!4m*GIFlxB9I=xM`lQdFnZHeC2TCW+7*I61G#V|}Ap zz+1h=u@%$Axs^Hg;yGhJ}7q@k4+fpO0mI=Gxe!{dp?sHwDTFPJ(oqnx5#F^N!Li zG^*l%Rf$1ZC$6F4-LfRw;VR_w^2JM3QtU4OqT%Cr2|bBr zH+=oJVdD7#DV^F~RSE?#0r99!^m++moA1RqYN^~j;LKn@aeDGXF3?tPYhQKyI(y;a zb^DXjq5lGQdu?k)PG~>*9a;cbIi_5e{s8LmAWh^pWs0^6@Y%y|#s6?#Muq%W)JMer zCq-927!$RmdN*X^=FwS?VlswyW2^yZh?#XjA?$hl5?qboq1l~r*wzQ}p9uw(aF6pSoOxidhI{z8O4N<&}LZ+ipwr({9u z`e2IhB7$&`SUPWO8k0RiA!LwRIdv9;_ zoGOHg6z$48%X;FR7p~71m2)&*H%MGazUEeaQCKcCb>s1FdweWoJ_NUo$)k2zwhvpIQS!34KOCWzA@UV>yxZh3to&-WD_K$T~V_7L3cD; z99$LJooQ`R0s>BcZ|qD39N_WMOfylQh|!rCb!0}AFLWp%cRn+CLF4H>%DMeCGgm#j z&)`7T7=K9NF+H4oIBmjT^t#{~pVvDUQE{hJ*SW7^IwYc#)?Ff1kC;ZQYkSHYXYEMc6uSmyJMd1*563{>91(^uDE1OyQjPR_!6R1G1BWQ zcsR#E_h#L-@?H&md2Qu*Lf^=>UbdiJ#IVtfVQqj@f-tPsv-!2@*Y=a5d_TNSPLVp* zw`FL$1ec#b9yn|WSyrCQ)n$imd{0MN8PJ~iy?JJ4h*+9stQRT4I>-BuuIEWCIBbRu z?i&j{{BQLs)702-@pM27i8uZbMUA#L_ zgxC0G_oZy;l)Vqadmr*e9!02 zwf>EFu}$~qpYd-&)I&v}Ar5xQQndV(Z^H2~`SWgZ_K@R^5bj}5ikyp$g4ESjWDNR& zWKjT=qWDZM`rbW3P1ACsMIS|GKKj(z^;yOOQoXL@C(L07zQV%^VODuNQ@3BWzKtJ9 zC>Rk_Bmo-}68tOxIxe?73N?X{kr~XWk#nG*R8}<9KtbwbxuS>SXzF?0=kr+6XAmRgb_=;e;CD`N`qq0BmaAp z8z9XofUI^^s4mvo|NWZoK696e`F%$HP7yWOOVBF?cEz9SqjzWWJry&HfPv#faaf}f z2?rx%4-jS?x1b2srn4!(TdrYrASSaW^GAMWASD02D;A9m!cTh_YMLS`@!L2k%$47w z8&c@LNc{ZnR8nk+2nDpOqrLluBM9JsIrB}ZTF5hv3{Y8>l((A{EX zK>mbfr1*(K5lp*Un>Y^&I9178lWFB}N(;lmcr}f8F8_!zgdvY7EN`ax|LXe6ptho} zU8EGJ6xZT3!GlXnaS2k~iU&`TBB5A;;uLR?qJ^RXg1fsr1d3BytT@H(=Kbd0nfKnA z`{T^{v7fcp-fPd9Ia}8AOtr(3^K=S*&@AL=1wx0huhGI9vq4Nz5MZbGhR@#ZRD%4( z83hOWmO%}X;Vs9_!}5$7;~JWoE|m03pJ(`rqP7 z1=|y1L25QOMP&o;v(>$uCo^^&Ilc-fS0z4KFXfAC!L||Ls^KnGLjByev#J8oFb8A5 z8R-b^8^Y&%4t;ttfSvOu(5ivDW%J~Uc|`^3N_R<-c>7@m)23mCxMsq|v!w zm;+EQGEB33Wg9F)YftMP*JCyCDt2@`alOyhKHI*G@oFiR|J5u1ZX%LRC6b&MCu3jJ z{?hlfk^5I{R6AE)UfTfO^;yfW4xp#-A5#l&kR0w3WEjjvEOOn&O7Ros0d^n%xT$(Vt> zeXB04ys;~&-N#wAl}Bye<&?L^T3mA%{<4X!kL?oc18ZU~^8+58FBrxZ**9~B2fldPIOVgguL&e@M%jp#S!BB z-m4kCp$OES3NVVRb7!(7AvMScK-3Rr8>We=%ha@Qn(Q-6>e=Wl0^h|N2hDEpvL0Q( zy0r3HETxOd4dG1J+^yzW(QK|#s72xhLMA2gURjiIW3D2vRsw!M4$X_1f8GNKB<2GO z@+R1Nu|PM;#2+s4+nd;s7J(BO4={F?U_d(&ej@*%BC{#@9h@>Ezvl#CrfEB<2#S-c zr8i3HbaT7EcJXcyebVvLu(5DPU$D(_Ua$0*ow#na@1^7oNwLij9)ct#1=Ea&4kU(W zXEA0$zP#!nz;@EkCPIbcrg2u*M}~;C^j|w)Xl5^N51!^%#Ji^1MQ|89gziX{CC{{< zOGXug3y0;Y6+bg0WV=k@g*7v0yn)Uchkfr)(U&a62BA|_sF$!A!G#V}KI<~4u=^EK zz9o;=HqXT|q{zold;erWSyq!y$kT@T)X}B)$8Gqp%T~9Sat$OgU|X8 z{0o_u+i)m=_wqN}m-zi>mix@C;{CtEF~#=r9C?4adYAZ_Mv?{RQ_fO1z{b1z=<(6)6NQ zEiLqUx_$>MsnKS^YT^2wku>;t;4L+**J#>nac>ASQ17fV#?JvX@rRhi=m9KtPJArB5>ONWbe*e4M6#&pbnBeN5c#!4U zX``!bt700%Y$#!-lrQo9`eSRzB)3`?s>Ye5V`WZtCzu<KqRw(rB8E#yB&i5U@FAZx)Q4&KCs*caI z$xjkTZ`21q5NzvUiRKfQz%2OBW;6KJIPfaO7LtE?ddU~!3+%3bTScwD8EeiH8gd%; zb*4cDGdjO3^QT*kjzy*wbG;sP#C5Z0Rzks>bpR*rAQQu>G3PbC#X%)dZ zP;VJd993uZMxR7m`-z+Q>GhdC>=s*E$vkIm;XrAB)4oJ?xK!W>!k*miNmcj>_^WB7 zKbXdYX|JO_OJE!{!HQafPrGaPYSAd`((@n4IoKXYE8PHYuYMXn%{)|ZxcKE4@(gFI z2?)_P zamxqO$Iz=9(;R?}V`v5XbI*h1yy=Bc1gKwaeQJP+9oiO3#^uxCsdXBUeCi0vl*k#+ zTw7g;_1o(6kbcW!j#m$&EbJ5FC9L3g9bF~=EF1t1w>6KfS#GrUuQ-_IiY=$wd0V#> zPK23Sm5vvu!M&1oB=Ii2ZqbqDD4BQj%B z{EH8^Hs_0xa;)1fgqI5fuqE@V^AO#M2o%A2T&DhciNleWa^o`I6aes z#8HH0Tpb_Fj3=I5^T_VJp83=L;W3Er`EA(>X0>&?y}LF;KjZaAVwa@3Isb2-pr{10 zGh3GV{#aD{%83kKu+N2He*BoZS}lKS+SUBRgtXD0_&eV=+Iu(R#sW4~Umxt>tFImo zgUm<5oZ!2=o01XaCE~%7QNXC0Y3FyD^1!~-M?o3JC)jh$9~c>hHx}&3%Vs5$0D$M$ z<-ZMmTv6XFfjA*0UEct}Xr*EuxZXXJpnk8Y!3cB)+mJgfDk*78gW&yn_>7S*MXk!C zgJ2W8H7U#=9M)qM;Q_hStv3OQ%SVTAT*;^=o;}2#?e@BV`*?j5I`dil`t;A21-T#1 z4_`bqr&Vw|(Cd9=E*8>mbsl5MDf+yFi@OFjmHRLGNr8WEP9&H$Op9=qZ=@`Bj{+EG zO?LTUgnwmBfqj4O>cJO2Z-t$RNuVdhT=n?POZwp5%`l~!sb;~hnpyYzUx;`$V6Hn0 zu!%UIN1F2fT-mB>z)5mZU7BJH6O8dwqq|~OuT|U6MhxlJq!S5D(uIFeiN5l&OXoM$ zq_+0`y>TovnwZ4iNJ$HSG9w*M!f_P04)x!kEuHCc}OIl1-O6D?~=O=7RL_CP#%e|k-t-ksA zeR@jPrz~J804U9`OHuTmb{Ok<=q&0<{NrhrZEv2P9VIQp=YMk-S>MBjk=du_CYd#b zO6Zy9EzFQPX6P-LAJCI(6tpo!MK*L*tl#RQ;wLaM5v4mK5y$B$4_EUf=&kvDg&(fI zT2OH1vKlZSK*!m{?Q!t)DE@QN@*wjvO!D3K=?YEm-w32s9#^EgQp|73cTkOVJ$l{( zJbV6Bqt_%*Ff=9&v<3T0`lNLxTn{T>Jz8#XjzmDof3vO;n7lqTW#~yNj`Mr)*UMoK zX5R@HG0TG>lF8{a+vjqp0!02d|5Wq&Q^FcQ+EF}0vn6sS_AivJheB!6QVV9nw|F#_ z$NU8BH~Jzdnnv*<3SE*)pr!XE?NguKuaiR`7H&qMou#sO2Og9FWBrr7W>uCJG$p+= zPsCfSM$J!_GzBMCF^OGOby}Wl*CrU|BHHQC%$~EXP$dAxT%(+*jB!lVR(|S`z7@~< z+KC9+@!P{vRNF}5;;SYet_x10FpkQxT9RKUQOdCkI!LRh{bh}0`Ss_kFC-@`6C#|7DCCGPQzxE1o7;_w3+!#0Ldq+uVpohhK?C5m|-2?nyBrP>UtbO7cuv2s$c=SAx&$_R)>#uycBGZ%~UUt2GaYR{c4UjA+j*A8lArRv8Qg?`Ovv}^g?Q&w= z4)xdKsgC`(1#H6ag$#gE41F0a%BuKkNf5BFb!{AjqETJGN|Y*tEB%!bw>74P@fDf> zFWT%fPTz@F6Ff7D{#eCIFRfSxf-0&>W`uLgts0iR%*|sG=g(9lo5!DXm*_*s$ZVx? zlRh2d=86*c1kp0IyAwe)M_JY(%)I~+d*H9K+f${y8&4aBy-HCyJVxeLLugxWRL7%` z3;7Rv|34qs`SZ&hp+C{mKxe8VnQg8QuBvq@)2QL`e0Kd<4)U-`0H!`=hMH6Rr>ffn zRT;aKkFE03@b!VBrTG{i&xonJr)K#2*>atsj&X_h_Lnqg63VZ;FgEns*YTS~ zn_2VXKY0;z$E!s>!6|+U4r`fB7v+)_4fwBPw_Ydm=e)E#(oT`|b(`ZWYkQ;f@{q*u*!;UgcPv@W*ow+iDvP%5ufnc+L|8h2 z1PGEXS1KCT#@C8`oIgCRIDh^3jWfvtR%KCMMy(Jw6}IBJi{nr^OHKAN@4g{ztTwo; ztNt;7xp+s`$D0H0qIvri#CV}dTN7F4%RhrN{~05{e$Q{+z{B6z zeoz31RgAD|H5L;#Xk?6y62EgqRb5*zIcy#fzCvQF1U4XQse0BETVsPW(<)$=Lco0% zng%om@dh`Xh1N&^(xol{1NGk!#2QS0+(S0%Bjmylnsm$E#~thuG$>{%`=NYR-*T{+ zrtKWIb7dPr^#r~Al*L~ri$G24+8wV^nHDye?_h6Lr1Sht+D+3>)5+eb;>|BNvBP-+ z8b}0$&bpX5m_DF!*m;12WRusXSgV^6E}=Jo3j5^ZDp|LOB5?~GE0JyJP!_vv!Y5yyJ!5e^Qd?-kPfZ7^U>dV{D z71{X1bpAx6z(J3GNvEn5Q_GX!sRKL^#G`9KeH=@Gv^dQ^3Nt{`ohZlM$Iw*Y=fNa~7 zrdcb@L(IA??$xX~G#*qnpEoynDG4d-CCfhBA;6=OwV3m+%Ow~dP8x{pj}ew%Ei|^X zy?wnYkk_9mfzxh2es{E8aX0aJ^~PWNh4_oG3*iD4y=XN&v}Q{*D7<1@sL02zg2E+k z)Q8Ng>Uwm$N8XkOz+jD5TQkUD13UG=g^Iw`PC`SZSpB%t0XOR69fE~fvmZE4{@sLn zV56%L$5%(r`t)2$pIQ)L9&ghg@SN;}IL*4y6ad9t>oFYPeWbJes08*e;I>v0SyM06 z!>z9Pcqw5n`e#T_1}qbc(Fa!m|bb1 zYWkcr`rc1i3Cx}}(8_&gW(5}jGU=suUPY)(ku@4{hc_?LLc;7gYVeE0^Ax$kU?XQk z)xLMF2NmaI=RF!}&S$@yFQ7R{Y}b)z`R~7xUd~G%0vHjnEP{?VNM4~|A77ahA7p$i zEBU2p(e7_m*(~ZDlor`k8LFZpm~SE1Ie@q7kzFLc?xI2kEx0WSvCFpCO!b(9m7F`* zsLtduk$YH|7|h5My^ei)v#*o;E#(`HBDF|CsOZxIXWXiyG`tT5Dk44)Ry0VLq@|~- z^v6;!Kh7FOoPv}D=*oFE8?*kMUi+ZaAlv9Q=v*4y^eh5UinDZTu5Kmh_K7*E1jZ4 zE1kJei?HbP*>Yq4OL43wAb8YYnaFADf;5nQYWVAyE(ld!`00GwL|C1&^v2||UItha zPbB;~r?z1B(7xoXt(lPOWCD6zi?x&Y6DB>s9PMVyhASBH3rJkqRjK2~{I!1L`5Q9u!NSxV!%9{72!YGEY%qxc{) zMdv&!wQ~}s<<3$VL(i@PhMO(uksa)rw-9u0nWDBQZxByw=q0-B2vG|sc{wJN2$OhP zD_JVxZ!((to5EuJUFZH{%$;q_cWhlArN!PyzIWeJ4r;UB)ZTVE2mQ&&s%l+g5tFiZ zZ1*hv#%c1rkM->|L%O8Kb%EYgq0ufv@_O*h6MNCxzW z+|LHRXpjhlxUbiygq7tGXZmCW-M_H_7}Qua4kA|Pm||@LT?X9bOH!%IIw$+WS$GYk z@~GYXkQy}?i{;gsDQ9zj?XSfi2boe>j-*cf=?LhTQ2jVZ{jiBF3?{aI{hQ(_&&X?(?4Vtmp zLaysG>?>h&lh?0l6OQn^*T}UV3_DX{fWWSHCy-*e!45p`ngC! z`>hYUyr3-r)ZmTerPyDkpVaC0A~EVXbPp8+KAA6fdY8kWh_n38vxw2S{NxknlZ>B} z^rx@R(`uiSxjIRq_GFQ@vW~p_mr11p$amf#NSY?03&mWO4uP-9Bz?%l+Z-l|R}A>( zt!Lf8pmf|vV;{Wt3FcEr!t{1!(A>f3TOOx@foR6l0LFpmb&hehD;^zdKeA>WDk>^O zjEXNT=GczwE^RKF4HWW5dES}Sh1h%XvFZLH$H#08GcZ2kw#}nk8n@M| zH?S5G2DfooUboA5t_ajiKF~)V8*ClJ9z0zGKAvhhh*?^*Co9NK@(*mjoK963&aEbT zHNw*j{A7*@3|VH@Df1X|nkp#Ww$NpeI(*i)3KcO5evvT3dcOEcNHDE1iiV8)g-Ya@ z3ys_1O*h5&=0jxXl1YP?!jc5k!1dsKNjv<$I)n3$U7CEPT4p78Tk_@m7O2{XFN+D^ z11%3P{bJjf-f!6xN?%!$eB{4;FfhA1v~N>rUBhvn$kJhDp*B*h0|PB>KE8*q%j*tA zx@d{K#?b#$TDM{{1;6fFaS%yL3|x!T{pi^xId#SxX0>o~bv5{jMo~_HGsSkx{RK@K zn>fBqK>>;BR^@8JGf&)~XU6H|ON*7Nxb-Wp49eL#=0A@vOV1KSTg}EtXIMMm6R9Ow zuEw(|NfAX)4Kq{}q@he;EsV@rLn$uxW(Y4?T^zzlq2!NG`qRz92s-=^1@2KpYMa

J#BLi>YSNr z2JM3H<$us3q+%qmiP6ViyEaa=7xelw+ArHLoDKEBRrE@;Mat-1JVEtLKI*dS`?eQc zVI?@GXPeM&t=s#DJuh_L3su?K7MCl=6y@oK`TnEKoWZv8qjwzYAB=#uQnQ`CxBp~7e)4XeB} z+{l@x4D#kseE(wZNX{zZS?u1}*AF2DJO!2X=y7y9m5_XsBz9p{FeOH*!Fbs?tG%h7gpKdKl!H~d1s7O zQSR-TA3r_mdhp44WgPQNEL~t}``wJfb*6sF^hwjE?0FV)8@8gW47G3#MC}dHKyVYp zDjQG+F^cZpTpCEJltue~02X*kZIKGhJ`dM;b;E8^BXZ#X@gr%;m)hKed`ZtsIZ6N@2gr*hh|)chZ zk(hEZ7sArN&=M}=8Y3f;QX=)1d{Kk)JP8_WBDzCes=@TNH~PRdr68n?UUATG&6dkF znf3huaYC%zvzFB$$L$Knj#lMDTr>}NyO_9Z#h09bfflpJXD_xm8&vw!v@kF*I6M`N zJZ-EzZ6zV@w&)jzpa4jWS3rzcP)JWuKvGCtQb>>+&CMzxz?4iD^M4sQyV^L~`TYM4 zTm}&WXamjvMDTF6^YpfIx5ZF(wz9X?u(EfAK$%7PB=|tQAOU7=kSOyIWd z78>e-0V;ZI;s1Xy{}WqMQpMKM-oX7^;ez3P?H2&;JWHhnPtK literal 0 HcmV?d00001 diff --git a/2_pytorch/2_CNN/data-augumentation.ipynb b/2_pytorch/2_CNN/data-augumentation.ipynb new file mode 100644 index 0000000..bfff8b6 --- /dev/null +++ b/2_pytorch/2_CNN/data-augumentation.ipynb @@ -0,0 +1,611 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 数据增强\n", + "前面我们已经讲了几个非常著名的卷积网络的结构,但是单单只靠这些网络并不能取得 state-of-the-art 的结果,现实问题往往更加复杂,非常容易出现过拟合的问题,而数据增强的方法是对抗过拟合问题的一个重要方法。\n", + "\n", + "2012 年 AlexNet 在 ImageNet 上大获全胜,图片增强方法功不可没,因为有了图片增强,使得训练的数据集比实际数据集多了很多'新'样本,减少了过拟合的问题,下面我们来具体解释一下。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 常用的数据增强方法\n", + "常用的数据增强方法如下: \n", + "1.对图片进行一定比例缩放 \n", + "2.对图片进行随机位置的截取 \n", + "3.对图片进行随机的水平和竖直翻转 \n", + "4.对图片进行随机角度的旋转 \n", + "5.对图片进行亮度、对比度和颜色的随机变化\n", + "\n", + "这些方法 pytorch 都已经为我们内置在了 torchvision 里面,我们在安装 pytorch 的时候也安装了 torchvision,下面我们来依次展示一下这些数据增强方法" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import sys\n", + "sys.path.append('..')\n", + "\n", + "from PIL import Image\n", + "from torchvision import transforms as tfs" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\njzl37iztThMpYG3lNmfOnOBnfuZv4NqSC+ffgsAnVyywU9vjA898hL989rukshmWbi9Tq9VY2djE\nj0LanQ5hz6fWVuzsdXjmg49x7NgxvvRHf0zLlriWw6MPP0y72eKv/7Wf4vOf/7yRLESwvraCZQve\nvXKdcinPQ/ffRyZfQGttdHeCgGbTzFjc2tpkY3uXj37kQzz11FN8/vOfZ3HpNvedPc1jjz1qENC4\nO+PeB86ytbPDS6+8iN/TfOITH2F2dpaXX36Za9du4jgwPTllDE+aIaS1Wg3f983GqCJaQUBjD/Lp\nDCNDRWZGypSGiuQzHq4Ey02BYwShwNQQhdIxRVITJewZGa8OJdAyREobLQxrR4tEA8kYUgIUJk5w\ncGXIAbQU9lOzvqCv1n1BpvckY99tRD+ofrHPWvnhZYr/fx2DCazAfLAIIw0eaTPsU0ibVNrB89KG\nYualsAFpO2ZqU+xFhDQhSRBGuOkUzRjoSWYx6Jh4nQjcJh4vGYTp+4Yyta/aFWBZOdNNYdmkXA/L\nNl9QNpWmVqtx48YN9qoV0uk0165d42Mfe4ajR4+Sy+W4+OordP2QyclJoxXqOvzar/0aR48cotvt\nsrG2zv3nznLt+lUeffgRxsbG+NpX/5RmvcHRI0e4tniTn/mZn+WVV1/l97/4X5ienqbZ7tL1zTDT\ndC7L6tomx+45QrVaZW7+IMu3lvjesy/xsWfez9bmOk898X663S6j5WF+8/P/kVdffpkwiMik0/w3\nP/dz/J+/8XmmR4f45//T/8Srb7zOO+9cIl8osLuzTaGQ5/bqOilH0A00n/nkR7Ftm//HL/8/sYBP\nf+IZcrkce3t77FV2GB8f58jhef7im9/g9uoGDz3yAIcOHWJtbY0//OIf02w2GRkZolAoUCoYTdJ6\nvW5IFZGi2+0RRJqU6+HaHtoCZXtgOYTCpqegFQQEcZ1ZCUgLs5naItG0NeycIAiwlAVWzH5BgJBG\nm1TEAmOxERlAJi5X6P206U4Xs6/oZ3LDuH8Q1U+npNZ9w/0+WcL3uv3DHtcDwMt7PedHecDBoZbJ\nmxYDv9jvnVIxLB1vClqDUqTSaRqNRp9DWSwO9Qvr3W6XYqEEUpjRWOaMZh6hUqZX0HH7Hi4p4Lda\nrT7fs9fr3REO93q9/tRfo/m4PxnXjmluqbQ5Z9CNewCF5tbNRYJAU61WKZVKvO9976PZbLK8fIuT\n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\n", + "text/plain": [ + "" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 读入一张图片\n", + "im = Image.open('./cat.png')\n", + "im" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 随机比例放缩\n", + "随机比例缩放主要使用的是 `torchvision.transforms.Resize()` 这个函数,第一个参数可以是一个整数,那么图片会保存现在的宽和高的比例,并将更短的边缩放到这个整数的大小,第一个参数也可以是一个 tuple,那么图片会直接把宽和高缩放到这个大小;第二个参数表示放缩图片使用的方法,比如最邻近法,或者双线性差值等,一般双线性差值能够保留图片更多的信息,所以 pytorch 默认使用的是双线性差值,你可以手动去改这个参数,更多的信息可以看看[文档](http://pytorch.org/docs/0.3.0/torchvision/transforms.html)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "before scale, shape: (224, 224)\n", + "after scale, shape: (200, 100)\n" + ] + }, + { + "data": { + "image/png": "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\nJVgzXQAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 比例缩放\n", + "print('before scale, shape: {}'.format(im.size))\n", + "new_im = tfs.Resize((100, 200))(im)\n", + "print('after scale, shape: {}'.format(new_im.size))\n", + "new_im" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 随机位置截取\n", + "随机位置截取能够提取出图片中局部的信息,使得网络接受的输入具有多尺度的特征,所以能够有较好的效果。在 torchvision 中主要有下面两种方式,一个是 `torchvision.transforms.RandomCrop()`,传入的参数就是截取出的图片的长和宽,对图片在随机位置进行截取;第二个是 `torchvision.transforms.CenterCrop()`,同样传入介曲初的图片的大小作为参数,会在图片的中心进行截取" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 随机裁剪出 100 x 100 的区域\n", + "random_im1 = tfs.RandomCrop(100)(im)\n", + "random_im1" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 随机裁剪出 150 x 100 的区域\n", + "random_im2 = tfs.RandomCrop((150, 100))(im)\n", + "random_im2" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n5i7OiRgAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 中心裁剪出 100 x 100 的区域\n", + "center_im = tfs.CenterCrop(100)(im)\n", + "center_im" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 随机的水平和竖直方向翻转\n", + "对于上面这一张猫的图片,如果我们将它翻转一下,它仍然是一张猫,但是图片就有了更多的多样性,所以随机翻转也是一种非常有效的手段。在 torchvision 中,随机翻转使用的是 `torchvision.transforms.RandomHorizontalFlip()` 和 `torchvision.transforms.RandomVerticalFlip()`" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 随机水平翻转\n", + "h_filp = tfs.RandomHorizontalFlip()(im)\n", + "h_filp" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\nAQ3bW4TLaNIzAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 随机竖直翻转\n", + "v_flip = tfs.RandomVerticalFlip()(im)\n", + "v_flip" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 随机角度旋转\n", + "一些角度的旋转仍然是非常有用的数据增强方式,在 torchvision 中,使用 `torchvision.transforms.RandomRotation()` 来实现,其中第一个参数就是随机旋转的角度,比如填入 10,那么每次图片就会在 -10 ~ 10 度之间随机旋转" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "rot_im = tfs.RandomRotation(45)(im)\n", + "rot_im" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 亮度、对比度和颜色的变化\n", + "除了形状变化外,颜色变化又是另外一种增强方式,其中可以设置亮度变化,对比度变化和颜色变化等,在 torchvision 中主要使用 `torchvision.transforms.ColorJitter()` 来实现的,第一个参数就是亮度的比例,第二个是对比度,第三个是饱和度,第四个是颜色" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\ngg==\n", + "text/plain": [ + "" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 亮度\n", + "bright_im = tfs.ColorJitter(brightness=1)(im) # 随机从 0 ~ 2 之间亮度变化,1 表示原图\n", + "bright_im" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\nxwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 对比度\n", + "contrast_im = tfs.ColorJitter(contrast=1)(im) # 随机从 0 ~ 2 之间对比度变化,1 表示原图\n", + "contrast_im" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 颜色\n", + "color_im = tfs.ColorJitter(hue=0.5)(im) # 随机从 -0.5 ~ 0.5 之间对颜色变化\n", + "color_im" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n", + "上面我们讲了这么图片增强的方法,其实这些方法都不是孤立起来用的,可以联合起来用,比如先做随机翻转,然后随机截取,再做对比度增强等等,torchvision 里面有个非常方便的函数能够将这些变化合起来,就是 `torchvision.transforms.Compose()`,下面我们举个例子" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "im_aug = tfs.Compose([\n", + " tfs.Resize(120),\n", + " tfs.RandomHorizontalFlip(),\n", + " tfs.RandomCrop(96),\n", + " tfs.ColorJitter(brightness=0.5, contrast=0.5, hue=0.5)\n", + "])" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\nVDGRbt4bzWK2RCjfr2Ji4l7EaOSFFQajHaIoZTAKBsb66I4Ov5/1UmIVE+tGSzdCa4EMkRUZC1+r\nvfXeWmPa9UWtC6oGTfKesnw00uRwGwEF43DWbjhga1BS0uv59hg78gp54RRpFjPYSYjjZhUiUNpe\n0rQW1m0424aT3RYm+pToONAOHTp06NDhKfDkHmgjRlEB1qHjRls/QaBAb+LaxhjqcqM7muuizbRa\n12uWxYo8cIrj+ZgkTUh2/KxqtloyW01Zlt4bcNIRpxHTteeXlBAY6nZljrUpSHRGGspqlFTce3SP\n+3fvAbA3GSFj1a7ssVqtSOKE8cx7oMfHJ/QXa6RstHAzFhcTotZ7yKhrGJ97D1gZSVHXfrVzQKY/\niWqtDp+Edjku4bnxJjTk5bhcWw7lJfUsceBC/LJIl/VfHbAIcozLxYLezoC69q7b7Q9uc//4fpt+\nX1sDQnB2Gmp9ixWHR1chzLRJJGkUgQmhqcpSlxXHj/yKPVVdYJ1llHnP4Gh3l6oym7rNyYLldIEL\ncf/1dAprC1F4LbPMv2i6kQrUREq1UoXCKpAasnB/ik556B8Stus2Y6nRYb3Pqq6II4kJIcdYR37t\n0ODReU7dUZVB4jFK6Cdx67HWxlLWhiiUsaT9lDTrsbfrIzFZv4+O442GMqB1TNooZmmFqw1R8JC1\n9l22zXLFIYWBUA9trH9PXWifs86Ha5sXuaxwW2uLCeHXMm1DtkF6r6VycAhpidMQ+akVzkbkQfNX\nSAk22iyTJiVCbIeIgw5ue/6m1QFP4IKKSwuf/riDhTgF7n3qL3T4h4Zbzrmjz/IHuz73/3t85n0O\nun7X4dP1uycyoB06dOjQoUMHj44D7dChQ4cOHZ4CnQHt0KFDhw4dngKdAe3QoUOHDh2eAp0B7dCh\nQ4cOHZ4CnQHt0KFDhw4dngKdAe3QoUOHDh2eAp0B7dChQ4cOHZ4CnQHt0KFDhw4dngKdAe3QoUOH\nDh2eAp0B7dChQ4cOHZ4CnQHt0KFDhw4dngKdAe3QoUOHDh2eAp0B7dChQ4cOHZ4CnQHt0KFDhw4d\nngKdAe3QoUOHDh2eAp0B7dChQ4cOHZ4CnQHt0KFDhw4dngKdAe3QoUOHDh2eAp0B7dChQ4cOHZ4C\nnQHt0KFDhw4dngKdAe3QoUOHDh2eAp0B7dChQ4cOHZ4CnQHt0KFDhw4dngKdAe3QoUOHDh2eAvpJ\n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\n/ROKLREAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "nrows = 3\n", + "ncols = 3\n", + "figsize = (8, 8)\n", + "_, figs = plt.subplots(nrows, ncols, figsize=figsize)\n", + "for i in range(nrows):\n", + " for j in range(ncols):\n", + " figs[i][j].imshow(im_aug(im))\n", + " figs[i][j].axes.get_xaxis().set_visible(False)\n", + " figs[i][j].axes.get_yaxis().set_visible(False)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到每次做完增强之后的图片都有一些变化,所以这就是我们前面讲的,增加了一些'新'数据\n", + "\n", + "下面我们使用图像增强进行训练网络,看看具体的提升究竟在什么地方,使用前面讲的 ResNet 进行训练 " + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-23T05:04:03.407434Z", + "start_time": "2017-12-23T05:04:02.920639Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import torch\n", + "from torch import nn\n", + "import torch.nn.functional as F\n", + "from torch.autograd import Variable\n", + "from torchvision.datasets import CIFAR10\n", + "from utils import train, resnet\n", + "from torchvision import transforms as tfs" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-23T05:04:04.743167Z", + "start_time": "2017-12-23T05:04:03.459562Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "# 使用数据增强\n", + "def train_tf(x):\n", + " im_aug = tfs.Compose([\n", + " tfs.Resize(120),\n", + " tfs.RandomHorizontalFlip(),\n", + " tfs.RandomCrop(96),\n", + " tfs.ColorJitter(brightness=0.5, contrast=0.5, hue=0.5),\n", + " tfs.ToTensor(),\n", + " tfs.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5])\n", + " ])\n", + " x = im_aug(x)\n", + " return x\n", + "\n", + "def test_tf(x):\n", + " im_aug = tfs.Compose([\n", + " tfs.Resize(96),\n", + " tfs.ToTensor(),\n", + " tfs.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5])\n", + " ])\n", + " x = im_aug(x)\n", + " return x\n", + "\n", + "train_set = CIFAR10('./data', train=True, transform=train_tf)\n", + "train_data = torch.utils.data.DataLoader(train_set, batch_size=64, shuffle=True)\n", + "test_set = CIFAR10('./data', train=False, transform=test_tf)\n", + "test_data = torch.utils.data.DataLoader(test_set, batch_size=128, shuffle=False)\n", + "\n", + "net = resnet(3, 10)\n", + "optimizer = torch.optim.SGD(net.parameters(), lr=0.01)\n", + "criterion = nn.CrossEntropyLoss()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-23T05:08:51.433955Z", + "start_time": "2017-12-23T05:04:04.745540Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 0. Train Loss: 1.846885, Train Acc: 0.323370, Valid Loss: 2.031208, Valid Acc: 0.348101, Time 00:00:27\n", + "Epoch 1. Train Loss: 1.421866, Train Acc: 0.493127, Valid Loss: 1.635981, Valid Acc: 0.448675, Time 00:00:28\n", + "Epoch 2. Train Loss: 1.213214, Train Acc: 0.571232, Valid Loss: 1.435900, Valid Acc: 0.509494, Time 00:00:27\n", + "Epoch 3. Train Loss: 1.068615, Train Acc: 0.624680, Valid Loss: 1.198399, Valid Acc: 0.589695, Time 00:00:27\n", + "Epoch 4. Train Loss: 0.966057, Train Acc: 0.665082, Valid Loss: 1.374483, Valid Acc: 0.556566, Time 00:00:27\n", + "Epoch 5. Train Loss: 0.881177, Train Acc: 0.693274, Valid Loss: 0.936225, Valid Acc: 0.675138, Time 00:00:28\n", + "Epoch 6. Train Loss: 0.817892, Train Acc: 0.716093, Valid Loss: 1.524335, Valid Acc: 0.553006, Time 00:00:27\n", + "Epoch 7. Train Loss: 0.775561, Train Acc: 0.729799, Valid Loss: 1.144188, Valid Acc: 0.630439, Time 00:00:28\n", + "Epoch 8. Train Loss: 0.728689, Train Acc: 0.746324, Valid Loss: 1.020422, Valid Acc: 0.666634, Time 00:00:28\n", + "Epoch 9. Train Loss: 0.691437, Train Acc: 0.759930, Valid Loss: 0.880125, Valid Acc: 0.714893, Time 00:00:28\n" + ] + } + ], + "source": [ + "train(net, train_data, test_data, 10, optimizer, criterion)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-23T05:09:22.997927Z", + "start_time": "2017-12-23T05:09:21.756986Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "# 不使用数据增强\n", + "def data_tf(x):\n", + " im_aug = tfs.Compose([\n", + " tfs.Resize(96),\n", + " tfs.ToTensor(),\n", + " tfs.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5])\n", + " ])\n", + " x = im_aug(x)\n", + " return x\n", + "\n", + "train_set = CIFAR10('./data', train=True, transform=data_tf)\n", + "train_data = torch.utils.data.DataLoader(train_set, batch_size=64, shuffle=True)\n", + "test_set = CIFAR10('./data', train=False, transform=data_tf)\n", + "test_data = torch.utils.data.DataLoader(test_set, batch_size=128, shuffle=False)\n", + "\n", + "net = resnet(3, 10)\n", + "optimizer = torch.optim.SGD(net.parameters(), lr=0.01)\n", + "criterion = nn.CrossEntropyLoss()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-23T05:13:57.898751Z", + "start_time": "2017-12-23T05:09:23.000573Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 0. Train Loss: 1.450800, Train Acc: 0.466952, Valid Loss: 1.533483, Valid Acc: 0.471519, Time 00:00:25\n", + "Epoch 1. Train Loss: 1.007298, Train Acc: 0.641964, Valid Loss: 1.553861, Valid Acc: 0.483287, Time 00:00:27\n", + "Epoch 2. Train Loss: 0.790772, Train Acc: 0.721308, Valid Loss: 1.093117, Valid Acc: 0.623714, Time 00:00:27\n", + "Epoch 3. Train Loss: 0.626106, Train Acc: 0.781770, Valid Loss: 1.290194, Valid Acc: 0.579015, Time 00:00:27\n", + "Epoch 4. Train Loss: 0.499911, Train Acc: 0.830862, Valid Loss: 0.973577, Valid Acc: 0.680281, Time 00:00:27\n", + "Epoch 5. Train Loss: 0.389616, Train Acc: 0.865769, Valid Loss: 1.013823, Valid Acc: 0.685918, Time 00:00:27\n", + "Epoch 6. Train Loss: 0.286867, Train Acc: 0.903652, Valid Loss: 0.951596, Valid Acc: 0.708366, Time 00:00:27\n", + "Epoch 7. Train Loss: 0.210318, Train Acc: 0.929468, Valid Loss: 1.031382, Valid Acc: 0.706487, Time 00:00:27\n", + "Epoch 8. Train Loss: 0.153977, Train Acc: 0.949329, Valid Loss: 2.008988, Valid Acc: 0.548655, Time 00:00:27\n", + "Epoch 9. Train Loss: 0.122304, Train Acc: 0.959319, Valid Loss: 1.463229, Valid Acc: 0.673259, Time 00:00:27\n" + ] + } + ], + "source": [ + "train(net, train_data, test_data, 10, optimizer, criterion)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "从上面可以看出,对于训练集,不做数据增强跑 10 次,准确率已经到了 95%,而使用了数据增强,跑 10 次准确率只有 75%,说明数据增强之后变得更难了。\n", + "\n", + "而对于测试集,使用数据增强进行训练的时候,准确率会比不使用更高,因为数据增强提高了模型应对于更多的不同数据集的泛化能力,所以有更好的效果。" + ] + } + ], + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/2_CNN/data-augumentation.py b/2_pytorch/2_CNN/data-augumentation.py new file mode 100644 index 0000000..3c076d2 --- /dev/null +++ b/2_pytorch/2_CNN/data-augumentation.py @@ -0,0 +1,204 @@ +# -*- coding: utf-8 -*- +# --- +# jupyter: +# jupytext_format_version: '1.2' +# 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.5.2 +# --- + +# # 数据增强 +# 前面我们已经讲了几个非常著名的卷积网络的结构,但是单单只靠这些网络并不能取得 state-of-the-art 的结果,现实问题往往更加复杂,非常容易出现过拟合的问题,而数据增强的方法是对抗过拟合问题的一个重要方法。 +# +# 2012 年 AlexNet 在 ImageNet 上大获全胜,图片增强方法功不可没,因为有了图片增强,使得训练的数据集比实际数据集多了很多'新'样本,减少了过拟合的问题,下面我们来具体解释一下。 + +# ## 常用的数据增强方法 +# 常用的数据增强方法如下: +# 1.对图片进行一定比例缩放 +# 2.对图片进行随机位置的截取 +# 3.对图片进行随机的水平和竖直翻转 +# 4.对图片进行随机角度的旋转 +# 5.对图片进行亮度、对比度和颜色的随机变化 +# +# 这些方法 pytorch 都已经为我们内置在了 torchvision 里面,我们在安装 pytorch 的时候也安装了 torchvision,下面我们来依次展示一下这些数据增强方法 + +# + +import sys +sys.path.append('..') + +from PIL import Image +from torchvision import transforms as tfs +# - + +# 读入一张图片 +im = Image.open('./cat.png') +im + +# ### 随机比例放缩 +# 随机比例缩放主要使用的是 `torchvision.transforms.Resize()` 这个函数,第一个参数可以是一个整数,那么图片会保存现在的宽和高的比例,并将更短的边缩放到这个整数的大小,第一个参数也可以是一个 tuple,那么图片会直接把宽和高缩放到这个大小;第二个参数表示放缩图片使用的方法,比如最邻近法,或者双线性差值等,一般双线性差值能够保留图片更多的信息,所以 pytorch 默认使用的是双线性差值,你可以手动去改这个参数,更多的信息可以看看[文档](http://pytorch.org/docs/0.3.0/torchvision/transforms.html) + +# 比例缩放 +print('before scale, shape: {}'.format(im.size)) +new_im = tfs.Resize((100, 200))(im) +print('after scale, shape: {}'.format(new_im.size)) +new_im + +# ### 随机位置截取 +# 随机位置截取能够提取出图片中局部的信息,使得网络接受的输入具有多尺度的特征,所以能够有较好的效果。在 torchvision 中主要有下面两种方式,一个是 `torchvision.transforms.RandomCrop()`,传入的参数就是截取出的图片的长和宽,对图片在随机位置进行截取;第二个是 `torchvision.transforms.CenterCrop()`,同样传入介曲初的图片的大小作为参数,会在图片的中心进行截取 + +# 随机裁剪出 100 x 100 的区域 +random_im1 = tfs.RandomCrop(100)(im) +random_im1 + +# 随机裁剪出 150 x 100 的区域 +random_im2 = tfs.RandomCrop((150, 100))(im) +random_im2 + +# 中心裁剪出 100 x 100 的区域 +center_im = tfs.CenterCrop(100)(im) +center_im + +# ### 随机的水平和竖直方向翻转 +# 对于上面这一张猫的图片,如果我们将它翻转一下,它仍然是一张猫,但是图片就有了更多的多样性,所以随机翻转也是一种非常有效的手段。在 torchvision 中,随机翻转使用的是 `torchvision.transforms.RandomHorizontalFlip()` 和 `torchvision.transforms.RandomVerticalFlip()` + +# 随机水平翻转 +h_filp = tfs.RandomHorizontalFlip()(im) +h_filp + +# 随机竖直翻转 +v_flip = tfs.RandomVerticalFlip()(im) +v_flip + +# ### 随机角度旋转 +# 一些角度的旋转仍然是非常有用的数据增强方式,在 torchvision 中,使用 `torchvision.transforms.RandomRotation()` 来实现,其中第一个参数就是随机旋转的角度,比如填入 10,那么每次图片就会在 -10 ~ 10 度之间随机旋转 + +rot_im = tfs.RandomRotation(45)(im) +rot_im + +# ### 亮度、对比度和颜色的变化 +# 除了形状变化外,颜色变化又是另外一种增强方式,其中可以设置亮度变化,对比度变化和颜色变化等,在 torchvision 中主要使用 `torchvision.transforms.ColorJitter()` 来实现的,第一个参数就是亮度的比例,第二个是对比度,第三个是饱和度,第四个是颜色 + +# 亮度 +bright_im = tfs.ColorJitter(brightness=1)(im) # 随机从 0 ~ 2 之间亮度变化,1 表示原图 +bright_im + +# 对比度 +contrast_im = tfs.ColorJitter(contrast=1)(im) # 随机从 0 ~ 2 之间对比度变化,1 表示原图 +contrast_im + +# 颜色 +color_im = tfs.ColorJitter(hue=0.5)(im) # 随机从 -0.5 ~ 0.5 之间对颜色变化 +color_im + +# +# +# 上面我们讲了这么图片增强的方法,其实这些方法都不是孤立起来用的,可以联合起来用,比如先做随机翻转,然后随机截取,再做对比度增强等等,torchvision 里面有个非常方便的函数能够将这些变化合起来,就是 `torchvision.transforms.Compose()`,下面我们举个例子 + +im_aug = tfs.Compose([ + tfs.Resize(120), + tfs.RandomHorizontalFlip(), + tfs.RandomCrop(96), + tfs.ColorJitter(brightness=0.5, contrast=0.5, hue=0.5) +]) + +import matplotlib.pyplot as plt +# %matplotlib inline + +nrows = 3 +ncols = 3 +figsize = (8, 8) +_, figs = plt.subplots(nrows, ncols, figsize=figsize) +for i in range(nrows): + for j in range(ncols): + figs[i][j].imshow(im_aug(im)) + figs[i][j].axes.get_xaxis().set_visible(False) + figs[i][j].axes.get_yaxis().set_visible(False) +plt.show() + +# 可以看到每次做完增强之后的图片都有一些变化,所以这就是我们前面讲的,增加了一些'新'数据 +# +# 下面我们使用图像增强进行训练网络,看看具体的提升究竟在什么地方,使用前面讲的 ResNet 进行训练 + +# + {"ExecuteTime": {"start_time": "2017-12-23T05:04:02.920639Z", "end_time": "2017-12-23T05:04:03.407434Z"}} +import numpy as np +import torch +from torch import nn +import torch.nn.functional as F +from torch.autograd import Variable +from torchvision.datasets import CIFAR10 +from utils import train, resnet +from torchvision import transforms as tfs + +# + {"ExecuteTime": {"start_time": "2017-12-23T05:04:03.459562Z", "end_time": "2017-12-23T05:04:04.743167Z"}} +# 使用数据增强 +def train_tf(x): + im_aug = tfs.Compose([ + tfs.Resize(120), + tfs.RandomHorizontalFlip(), + tfs.RandomCrop(96), + tfs.ColorJitter(brightness=0.5, contrast=0.5, hue=0.5), + tfs.ToTensor(), + tfs.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5]) + ]) + x = im_aug(x) + return x + +def test_tf(x): + im_aug = tfs.Compose([ + tfs.Resize(96), + tfs.ToTensor(), + tfs.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5]) + ]) + x = im_aug(x) + return x + +train_set = CIFAR10('./data', train=True, transform=train_tf) +train_data = torch.utils.data.DataLoader(train_set, batch_size=64, shuffle=True) +test_set = CIFAR10('./data', train=False, transform=test_tf) +test_data = torch.utils.data.DataLoader(test_set, batch_size=128, shuffle=False) + +net = resnet(3, 10) +optimizer = torch.optim.SGD(net.parameters(), lr=0.01) +criterion = nn.CrossEntropyLoss() + +# + {"ExecuteTime": {"start_time": "2017-12-23T05:04:04.745540Z", "end_time": "2017-12-23T05:08:51.433955Z"}} +train(net, train_data, test_data, 10, optimizer, criterion) + +# + {"ExecuteTime": {"start_time": "2017-12-23T05:09:21.756986Z", "end_time": "2017-12-23T05:09:22.997927Z"}} +# 不使用数据增强 +def data_tf(x): + im_aug = tfs.Compose([ + tfs.Resize(96), + tfs.ToTensor(), + tfs.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5]) + ]) + x = im_aug(x) + return x + +train_set = CIFAR10('./data', train=True, transform=data_tf) +train_data = torch.utils.data.DataLoader(train_set, batch_size=64, shuffle=True) +test_set = CIFAR10('./data', train=False, transform=data_tf) +test_data = torch.utils.data.DataLoader(test_set, batch_size=128, shuffle=False) + +net = resnet(3, 10) +optimizer = torch.optim.SGD(net.parameters(), lr=0.01) +criterion = nn.CrossEntropyLoss() + +# + {"ExecuteTime": {"start_time": "2017-12-23T05:09:23.000573Z", "end_time": "2017-12-23T05:13:57.898751Z"}} +train(net, train_data, test_data, 10, optimizer, criterion) +# - + +# 从上面可以看出,对于训练集,不做数据增强跑 10 次,准确率已经到了 95%,而使用了数据增强,跑 10 次准确率只有 75%,说明数据增强之后变得更难了。 +# +# 而对于测试集,使用数据增强进行训练的时候,准确率会比不使用更高,因为数据增强提高了模型应对于更多的不同数据集的泛化能力,所以有更好的效果。 diff --git a/2_pytorch/2_CNN/densenet.ipynb b/2_pytorch/2_CNN/densenet.ipynb new file mode 100644 index 0000000..27fca7f --- /dev/null +++ b/2_pytorch/2_CNN/densenet.ipynb @@ -0,0 +1,396 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# DenseNet\n", + "因为 ResNet 提出了跨层链接的思想,这直接影响了随后出现的卷积网络架构,其中最有名的就是 cvpr 2017 的 best paper,DenseNet。\n", + "\n", + "DenseNet 和 ResNet 不同在于 ResNet 是跨层求和,而 DenseNet 是跨层将特征在通道维度进行拼接,下面可以看看他们两者的图示\n", + "\n", + "![](https://ws4.sinaimg.cn/large/006tNc79ly1fmpvj5vkfhj30uw0anq73.jpg)\n", + "\n", + "![](https://ws1.sinaimg.cn/large/006tNc79ly1fmpvj7fxd1j30vb0eyzqf.jpg)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "第一张图是 ResNet,第二张图是 DenseNet,因为是在通道维度进行特征的拼接,所以底层的输出会保留进入所有后面的层,这能够更好的保证梯度的传播,同时能够使用低维的特征和高维的特征进行联合训练,能够得到更好的结果。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "DenseNet 主要由 dense block 构成,下面我们来实现一个 densen block" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T15:38:31.113030Z", + "start_time": "2017-12-22T15:38:30.612922Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "import sys\n", + "sys.path.append('..')\n", + "\n", + "import numpy as np\n", + "import torch\n", + "from torch import nn\n", + "from torch.autograd import Variable\n", + "from torchvision.datasets import CIFAR10" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "首先定义一个卷积块,这个卷积块的顺序是 bn -> relu -> conv" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T15:38:31.121249Z", + "start_time": "2017-12-22T15:38:31.115369Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "def conv_block(in_channel, out_channel):\n", + " layer = nn.Sequential(\n", + " nn.BatchNorm2d(in_channel),\n", + " nn.ReLU(True),\n", + " nn.Conv2d(in_channel, out_channel, 3, padding=1, bias=False)\n", + " )\n", + " return layer" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "dense block 将每次的卷积的输出称为 `growth_rate`,因为如果输入是 `in_channel`,有 n 层,那么输出就是 `in_channel + n * growh_rate`" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T15:38:31.145274Z", + "start_time": "2017-12-22T15:38:31.123363Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "class dense_block(nn.Module):\n", + " def __init__(self, in_channel, growth_rate, num_layers):\n", + " super(dense_block, self).__init__()\n", + " block = []\n", + " channel = in_channel\n", + " for i in range(num_layers):\n", + " block.append(conv_block(channel, growth_rate))\n", + " channel += growth_rate\n", + " \n", + " self.net = nn.Sequential(*block)\n", + " \n", + " def forward(self, x):\n", + " for layer in self.net:\n", + " out = layer(x)\n", + " x = torch.cat((out, x), dim=1)\n", + " return x" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "我们验证一下输出的 channel 是否正确" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T15:38:31.213632Z", + "start_time": "2017-12-22T15:38:31.147196Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "input shape: 3 x 96 x 96\n", + "output shape: 39 x 96 x 96\n" + ] + } + ], + "source": [ + "test_net = dense_block(3, 12, 3)\n", + "test_x = Variable(torch.zeros(1, 3, 96, 96))\n", + "print('input shape: {} x {} x {}'.format(test_x.shape[1], test_x.shape[2], test_x.shape[3]))\n", + "test_y = test_net(test_x)\n", + "print('output shape: {} x {} x {}'.format(test_y.shape[1], test_y.shape[2], test_y.shape[3]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "除了 dense block,DenseNet 中还有一个模块叫过渡层(transition block),因为 DenseNet 会不断地对维度进行拼接, 所以当层数很高的时候,输出的通道数就会越来越大,参数和计算量也会越来越大,为了避免这个问题,需要引入过渡层将输出通道降低下来,同时也将输入的长宽减半,这个过渡层可以使用 1 x 1 的卷积" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T15:38:31.222120Z", + "start_time": "2017-12-22T15:38:31.215770Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "def transition(in_channel, out_channel):\n", + " trans_layer = nn.Sequential(\n", + " nn.BatchNorm2d(in_channel),\n", + " nn.ReLU(True),\n", + " nn.Conv2d(in_channel, out_channel, 1),\n", + " nn.AvgPool2d(2, 2)\n", + " )\n", + " return trans_layer" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "验证一下过渡层是否正确" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T15:38:31.234846Z", + "start_time": "2017-12-22T15:38:31.224078Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "input shape: 3 x 96 x 96\n", + "output shape: 12 x 48 x 48\n" + ] + } + ], + "source": [ + "test_net = transition(3, 12)\n", + "test_x = Variable(torch.zeros(1, 3, 96, 96))\n", + "print('input shape: {} x {} x {}'.format(test_x.shape[1], test_x.shape[2], test_x.shape[3]))\n", + "test_y = test_net(test_x)\n", + "print('output shape: {} x {} x {}'.format(test_y.shape[1], test_y.shape[2], test_y.shape[3]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "最后我们定义 DenseNet" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T15:38:31.318822Z", + "start_time": "2017-12-22T15:38:31.236857Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "class densenet(nn.Module):\n", + " def __init__(self, in_channel, num_classes, growth_rate=32, block_layers=[6, 12, 24, 16]):\n", + " super(densenet, self).__init__()\n", + " self.block1 = nn.Sequential(\n", + " nn.Conv2d(in_channel, 64, 7, 2, 3),\n", + " nn.BatchNorm2d(64),\n", + " nn.ReLU(True),\n", + " nn.MaxPool2d(3, 2, padding=1)\n", + " )\n", + " \n", + " channels = 64\n", + " block = []\n", + " for i, layers in enumerate(block_layers):\n", + " block.append(dense_block(channels, growth_rate, layers))\n", + " channels += layers * growth_rate\n", + " if i != len(block_layers) - 1:\n", + " block.append(transition(channels, channels // 2)) # 通过 transition 层将大小减半,通道数减半\n", + " channels = channels // 2\n", + " \n", + " self.block2 = nn.Sequential(*block)\n", + " self.block2.add_module('bn', nn.BatchNorm2d(channels))\n", + " self.block2.add_module('relu', nn.ReLU(True))\n", + " self.block2.add_module('avg_pool', nn.AvgPool2d(3))\n", + " \n", + " self.classifier = nn.Linear(channels, num_classes)\n", + " \n", + " def forward(self, x):\n", + " x = self.block1(x)\n", + " x = self.block2(x)\n", + " \n", + " x = x.view(x.shape[0], -1)\n", + " x = self.classifier(x)\n", + " return x" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T15:38:31.654182Z", + "start_time": "2017-12-22T15:38:31.320788Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "output: torch.Size([1, 10])\n" + ] + } + ], + "source": [ + "test_net = densenet(3, 10)\n", + "test_x = Variable(torch.zeros(1, 3, 96, 96))\n", + "test_y = test_net(test_x)\n", + "print('output: {}'.format(test_y.shape))" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T15:38:32.894729Z", + "start_time": "2017-12-22T15:38:31.656356Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "from utils import train\n", + "\n", + "def data_tf(x):\n", + " x = x.resize((96, 96), 2) # 将图片放大到 96 x 96\n", + " x = np.array(x, dtype='float32') / 255\n", + " x = (x - 0.5) / 0.5 # 标准化,这个技巧之后会讲到\n", + " x = x.transpose((2, 0, 1)) # 将 channel 放到第一维,只是 pytorch 要求的输入方式\n", + " x = torch.from_numpy(x)\n", + " return x\n", + " \n", + "train_set = CIFAR10('./data', train=True, transform=data_tf)\n", + "train_data = torch.utils.data.DataLoader(train_set, batch_size=64, shuffle=True)\n", + "test_set = CIFAR10('./data', train=False, transform=data_tf)\n", + "test_data = torch.utils.data.DataLoader(test_set, batch_size=128, shuffle=False)\n", + "\n", + "net = densenet(3, 10)\n", + "optimizer = torch.optim.SGD(net.parameters(), lr=0.01)\n", + "criterion = nn.CrossEntropyLoss()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T16:15:38.168095Z", + "start_time": "2017-12-22T15:38:32.896735Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 0. Train Loss: 1.374316, Train Acc: 0.507972, Valid Loss: 1.203217, Valid Acc: 0.572884, Time 00:01:44\n", + "Epoch 1. Train Loss: 0.912924, Train Acc: 0.681506, Valid Loss: 1.555908, Valid Acc: 0.492286, Time 00:01:50\n", + "Epoch 2. Train Loss: 0.701387, Train Acc: 0.755794, Valid Loss: 0.815147, Valid Acc: 0.718354, Time 00:01:49\n", + "Epoch 3. Train Loss: 0.575985, Train Acc: 0.800911, Valid Loss: 0.696013, Valid Acc: 0.759494, Time 00:01:50\n", + "Epoch 4. Train Loss: 0.479812, Train Acc: 0.836957, Valid Loss: 1.013879, Valid Acc: 0.676226, Time 00:01:51\n", + "Epoch 5. Train Loss: 0.402165, Train Acc: 0.861413, Valid Loss: 0.674512, Valid Acc: 0.778481, Time 00:01:50\n", + "Epoch 6. Train Loss: 0.334593, Train Acc: 0.888247, Valid Loss: 0.647112, Valid Acc: 0.791634, Time 00:01:50\n", + "Epoch 7. Train Loss: 0.278181, Train Acc: 0.907149, Valid Loss: 0.773517, Valid Acc: 0.756527, Time 00:01:51\n", + "Epoch 8. Train Loss: 0.227948, Train Acc: 0.922714, Valid Loss: 0.654399, Valid Acc: 0.800237, Time 00:01:49\n", + "Epoch 9. Train Loss: 0.181156, Train Acc: 0.940157, Valid Loss: 1.179013, Valid Acc: 0.685225, Time 00:01:50\n", + "Epoch 10. Train Loss: 0.151305, Train Acc: 0.950208, Valid Loss: 0.630000, Valid Acc: 0.807951, Time 00:01:50\n", + "Epoch 11. Train Loss: 0.118433, Train Acc: 0.961077, Valid Loss: 1.247253, Valid Acc: 0.703323, Time 00:01:52\n", + "Epoch 12. Train Loss: 0.094127, Train Acc: 0.969789, Valid Loss: 1.230697, Valid Acc: 0.723101, Time 00:01:51\n", + "Epoch 13. Train Loss: 0.086181, Train Acc: 0.972047, Valid Loss: 0.904135, Valid Acc: 0.769284, Time 00:01:50\n", + "Epoch 14. Train Loss: 0.064248, Train Acc: 0.980359, Valid Loss: 1.665002, Valid Acc: 0.624209, Time 00:01:51\n", + "Epoch 15. Train Loss: 0.054932, Train Acc: 0.982996, Valid Loss: 0.927216, Valid Acc: 0.774723, Time 00:01:51\n", + "Epoch 16. Train Loss: 0.043503, Train Acc: 0.987272, Valid Loss: 1.574383, Valid Acc: 0.707377, Time 00:01:52\n", + "Epoch 17. Train Loss: 0.047615, Train Acc: 0.985154, Valid Loss: 0.987781, Valid Acc: 0.770471, Time 00:01:51\n", + "Epoch 18. Train Loss: 0.039813, Train Acc: 0.988012, Valid Loss: 2.248944, Valid Acc: 0.631824, Time 00:01:50\n", + "Epoch 19. Train Loss: 0.030183, Train Acc: 0.991168, Valid Loss: 0.887785, Valid Acc: 0.795392, Time 00:01:51\n" + ] + } + ], + "source": [ + "train(net, train_data, test_data, 20, optimizer, criterion)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "DenseNet 将残差连接改为了特征拼接,使得网络有了更稠密的连接" + ] + } + ], + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/2_CNN/densenet.py b/2_pytorch/2_CNN/densenet.py new file mode 100644 index 0000000..32e6a7c --- /dev/null +++ b/2_pytorch/2_CNN/densenet.py @@ -0,0 +1,178 @@ +# -*- coding: utf-8 -*- +# --- +# jupyter: +# jupytext_format_version: '1.2' +# 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.5.2 +# --- + +# # DenseNet +# 因为 ResNet 提出了跨层链接的思想,这直接影响了随后出现的卷积网络架构,其中最有名的就是 cvpr 2017 的 best paper,DenseNet。 +# +# DenseNet 和 ResNet 不同在于 ResNet 是跨层求和,而 DenseNet 是跨层将特征在通道维度进行拼接,下面可以看看他们两者的图示 +# +# ![](https://ws4.sinaimg.cn/large/006tNc79ly1fmpvj5vkfhj30uw0anq73.jpg) +# +# ![](https://ws1.sinaimg.cn/large/006tNc79ly1fmpvj7fxd1j30vb0eyzqf.jpg) + +# 第一张图是 ResNet,第二张图是 DenseNet,因为是在通道维度进行特征的拼接,所以底层的输出会保留进入所有后面的层,这能够更好的保证梯度的传播,同时能够使用低维的特征和高维的特征进行联合训练,能够得到更好的结果。 + +# DenseNet 主要由 dense block 构成,下面我们来实现一个 densen block + +# + {"ExecuteTime": {"start_time": "2017-12-22T15:38:30.612922Z", "end_time": "2017-12-22T15:38:31.113030Z"}} +import sys +sys.path.append('..') + +import numpy as np +import torch +from torch import nn +from torch.autograd import Variable +from torchvision.datasets import CIFAR10 +# - + +# 首先定义一个卷积块,这个卷积块的顺序是 bn -> relu -> conv + +# + {"ExecuteTime": {"start_time": "2017-12-22T15:38:31.115369Z", "end_time": "2017-12-22T15:38:31.121249Z"}} +def conv_block(in_channel, out_channel): + layer = nn.Sequential( + nn.BatchNorm2d(in_channel), + nn.ReLU(True), + nn.Conv2d(in_channel, out_channel, 3, padding=1, bias=False) + ) + return layer +# - + +# dense block 将每次的卷积的输出称为 `growth_rate`,因为如果输入是 `in_channel`,有 n 层,那么输出就是 `in_channel + n * growh_rate` + +# + {"ExecuteTime": {"start_time": "2017-12-22T15:38:31.123363Z", "end_time": "2017-12-22T15:38:31.145274Z"}} +class dense_block(nn.Module): + def __init__(self, in_channel, growth_rate, num_layers): + super(dense_block, self).__init__() + block = [] + channel = in_channel + for i in range(num_layers): + block.append(conv_block(channel, growth_rate)) + channel += growth_rate + + self.net = nn.Sequential(*block) + + def forward(self, x): + for layer in self.net: + out = layer(x) + x = torch.cat((out, x), dim=1) + return x +# - + +# 我们验证一下输出的 channel 是否正确 + +# + {"ExecuteTime": {"start_time": "2017-12-22T15:38:31.147196Z", "end_time": "2017-12-22T15:38:31.213632Z"}} +test_net = dense_block(3, 12, 3) +test_x = Variable(torch.zeros(1, 3, 96, 96)) +print('input shape: {} x {} x {}'.format(test_x.shape[1], test_x.shape[2], test_x.shape[3])) +test_y = test_net(test_x) +print('output shape: {} x {} x {}'.format(test_y.shape[1], test_y.shape[2], test_y.shape[3])) +# - + +# 除了 dense block,DenseNet 中还有一个模块叫过渡层(transition block),因为 DenseNet 会不断地对维度进行拼接, 所以当层数很高的时候,输出的通道数就会越来越大,参数和计算量也会越来越大,为了避免这个问题,需要引入过渡层将输出通道降低下来,同时也将输入的长宽减半,这个过渡层可以使用 1 x 1 的卷积 + +# + {"ExecuteTime": {"start_time": "2017-12-22T15:38:31.215770Z", "end_time": "2017-12-22T15:38:31.222120Z"}} +def transition(in_channel, out_channel): + trans_layer = nn.Sequential( + nn.BatchNorm2d(in_channel), + nn.ReLU(True), + nn.Conv2d(in_channel, out_channel, 1), + nn.AvgPool2d(2, 2) + ) + return trans_layer +# - + +# 验证一下过渡层是否正确 + +# + {"ExecuteTime": {"start_time": "2017-12-22T15:38:31.224078Z", "end_time": "2017-12-22T15:38:31.234846Z"}} +test_net = transition(3, 12) +test_x = Variable(torch.zeros(1, 3, 96, 96)) +print('input shape: {} x {} x {}'.format(test_x.shape[1], test_x.shape[2], test_x.shape[3])) +test_y = test_net(test_x) +print('output shape: {} x {} x {}'.format(test_y.shape[1], test_y.shape[2], test_y.shape[3])) +# - + +# 最后我们定义 DenseNet + +# + {"ExecuteTime": {"start_time": "2017-12-22T15:38:31.236857Z", "end_time": "2017-12-22T15:38:31.318822Z"}} +class densenet(nn.Module): + def __init__(self, in_channel, num_classes, growth_rate=32, block_layers=[6, 12, 24, 16]): + super(densenet, self).__init__() + self.block1 = nn.Sequential( + nn.Conv2d(in_channel, 64, 7, 2, 3), + nn.BatchNorm2d(64), + nn.ReLU(True), + nn.MaxPool2d(3, 2, padding=1) + ) + + channels = 64 + block = [] + for i, layers in enumerate(block_layers): + block.append(dense_block(channels, growth_rate, layers)) + channels += layers * growth_rate + if i != len(block_layers) - 1: + block.append(transition(channels, channels // 2)) # 通过 transition 层将大小减半,通道数减半 + channels = channels // 2 + + self.block2 = nn.Sequential(*block) + self.block2.add_module('bn', nn.BatchNorm2d(channels)) + self.block2.add_module('relu', nn.ReLU(True)) + self.block2.add_module('avg_pool', nn.AvgPool2d(3)) + + self.classifier = nn.Linear(channels, num_classes) + + def forward(self, x): + x = self.block1(x) + x = self.block2(x) + + x = x.view(x.shape[0], -1) + x = self.classifier(x) + return x + +# + {"ExecuteTime": {"start_time": "2017-12-22T15:38:31.320788Z", "end_time": "2017-12-22T15:38:31.654182Z"}} +test_net = densenet(3, 10) +test_x = Variable(torch.zeros(1, 3, 96, 96)) +test_y = test_net(test_x) +print('output: {}'.format(test_y.shape)) + +# + {"ExecuteTime": {"start_time": "2017-12-22T15:38:31.656356Z", "end_time": "2017-12-22T15:38:32.894729Z"}} +from utils import train + +def data_tf(x): + x = x.resize((96, 96), 2) # 将图片放大到 96 x 96 + x = np.array(x, dtype='float32') / 255 + x = (x - 0.5) / 0.5 # 标准化,这个技巧之后会讲到 + x = x.transpose((2, 0, 1)) # 将 channel 放到第一维,只是 pytorch 要求的输入方式 + x = torch.from_numpy(x) + return x + +train_set = CIFAR10('./data', train=True, transform=data_tf) +train_data = torch.utils.data.DataLoader(train_set, batch_size=64, shuffle=True) +test_set = CIFAR10('./data', train=False, transform=data_tf) +test_data = torch.utils.data.DataLoader(test_set, batch_size=128, shuffle=False) + +net = densenet(3, 10) +optimizer = torch.optim.SGD(net.parameters(), lr=0.01) +criterion = nn.CrossEntropyLoss() + +# + {"ExecuteTime": {"start_time": "2017-12-22T15:38:32.896735Z", "end_time": "2017-12-22T16:15:38.168095Z"}} +train(net, train_data, test_data, 20, optimizer, criterion) +# - + +# DenseNet 将残差连接改为了特征拼接,使得网络有了更稠密的连接 diff --git a/2_pytorch/2_CNN/googlenet.ipynb b/2_pytorch/2_CNN/googlenet.ipynb new file mode 100644 index 0000000..a203563 --- /dev/null +++ b/2_pytorch/2_CNN/googlenet.ipynb @@ -0,0 +1,385 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# GoogLeNet\n", + "前面我们讲的 VGG 是 2014 年 ImageNet 比赛的亚军,那么冠军是谁呢?就是我们马上要讲的 GoogLeNet,这是 Google 的研究人员提出的网络结构,在当时取得了非常大的影响,因为网络的结构变得前所未有,它颠覆了大家对卷积网络的串联的印象和固定做法,采用了一种非常有效的 inception 模块,得到了比 VGG 更深的网络结构,但是却比 VGG 的参数更少,因为其去掉了后面的全连接层,所以参数大大减少,同时有了很高的计算效率。\n", + "\n", + "![](https://ws2.sinaimg.cn/large/006tNc79ly1fmprhdocouj30qb08vac3.jpg)\n", + "\n", + "这是 googlenet 的网络示意图,下面我们介绍一下其作为创新的 inception 模块。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Inception 模块\n", + "在上面的网络中,我们看到了多个四个并行卷积的层,这些四个卷积并行的层就是 inception 模块,可视化如下\n", + "\n", + "![](https://ws4.sinaimg.cn/large/006tNc79gy1fmprivb2hxj30dn09dwef.jpg)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "一个 inception 模块的四个并行线路如下:\n", + "1.一个 1 x 1 的卷积,一个小的感受野进行卷积提取特征\n", + "2.一个 1 x 1 的卷积加上一个 3 x 3 的卷积,1 x 1 的卷积降低输入的特征通道,减少参数计算量,然后接一个 3 x 3 的卷积做一个较大感受野的卷积\n", + "3.一个 1 x 1 的卷积加上一个 5 x 5 的卷积,作用和第二个一样\n", + "4.一个 3 x 3 的最大池化加上 1 x 1 的卷积,最大池化改变输入的特征排列,1 x 1 的卷积进行特征提取\n", + "\n", + "最后将四个并行线路得到的特征在通道这个维度上拼接在一起,下面我们可以实现一下" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T12:51:05.427292Z", + "start_time": "2017-12-22T12:51:04.924747Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "import sys\n", + "sys.path.append('..')\n", + "\n", + "import numpy as np\n", + "import torch\n", + "from torch import nn\n", + "from torch.autograd import Variable\n", + "from torchvision.datasets import CIFAR10" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T12:51:08.890890Z", + "start_time": "2017-12-22T12:51:08.876313Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "# 定义一个卷积加一个 relu 激活函数和一个 batchnorm 作为一个基本的层结构\n", + "def conv_relu(in_channel, out_channel, kernel, stride=1, padding=0):\n", + " layer = nn.Sequential(\n", + " nn.Conv2d(in_channel, out_channel, kernel, stride, padding),\n", + " nn.BatchNorm2d(out_channel, eps=1e-3),\n", + " nn.ReLU(True)\n", + " )\n", + " return layer" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T12:51:09.671474Z", + "start_time": "2017-12-22T12:51:09.587337Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "class inception(nn.Module):\n", + " def __init__(self, in_channel, out1_1, out2_1, out2_3, out3_1, out3_5, out4_1):\n", + " super(inception, self).__init__()\n", + " # 第一条线路\n", + " self.branch1x1 = conv_relu(in_channel, out1_1, 1)\n", + " \n", + " # 第二条线路\n", + " self.branch3x3 = nn.Sequential( \n", + " conv_relu(in_channel, out2_1, 1),\n", + " conv_relu(out2_1, out2_3, 3, padding=1)\n", + " )\n", + " \n", + " # 第三条线路\n", + " self.branch5x5 = nn.Sequential(\n", + " conv_relu(in_channel, out3_1, 1),\n", + " conv_relu(out3_1, out3_5, 5, padding=2)\n", + " )\n", + " \n", + " # 第四条线路\n", + " self.branch_pool = nn.Sequential(\n", + " nn.MaxPool2d(3, stride=1, padding=1),\n", + " conv_relu(in_channel, out4_1, 1)\n", + " )\n", + " \n", + " def forward(self, x):\n", + " f1 = self.branch1x1(x)\n", + " f2 = self.branch3x3(x)\n", + " f3 = self.branch5x5(x)\n", + " f4 = self.branch_pool(x)\n", + " output = torch.cat((f1, f2, f3, f4), dim=1)\n", + " return output" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T12:51:10.948630Z", + "start_time": "2017-12-22T12:51:10.757903Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "input shape: 3 x 96 x 96\n", + "output shape: 256 x 96 x 96\n" + ] + } + ], + "source": [ + "test_net = inception(3, 64, 48, 64, 64, 96, 32)\n", + "test_x = Variable(torch.zeros(1, 3, 96, 96))\n", + "print('input shape: {} x {} x {}'.format(test_x.shape[1], test_x.shape[2], test_x.shape[3]))\n", + "test_y = test_net(test_x)\n", + "print('output shape: {} x {} x {}'.format(test_y.shape[1], test_y.shape[2], test_y.shape[3]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到输入经过了 inception 模块之后,大小没有变化,通道的维度变多了" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "下面我们定义 GoogLeNet,GoogLeNet 可以看作是很多个 inception 模块的串联,注意,原论文中使用了多个输出来解决梯度消失的问题,这里我们只定义一个简单版本的 GoogLeNet,简化为一个输出" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T12:51:13.149380Z", + "start_time": "2017-12-22T12:51:12.934110Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "class googlenet(nn.Module):\n", + " def __init__(self, in_channel, num_classes, verbose=False):\n", + " super(googlenet, self).__init__()\n", + " self.verbose = verbose\n", + " \n", + " self.block1 = nn.Sequential(\n", + " conv_relu(in_channel, out_channel=64, kernel=7, stride=2, padding=3),\n", + " nn.MaxPool2d(3, 2)\n", + " )\n", + " \n", + " self.block2 = nn.Sequential(\n", + " conv_relu(64, 64, kernel=1),\n", + " conv_relu(64, 192, kernel=3, padding=1),\n", + " nn.MaxPool2d(3, 2)\n", + " )\n", + " \n", + " self.block3 = nn.Sequential(\n", + " inception(192, 64, 96, 128, 16, 32, 32),\n", + " inception(256, 128, 128, 192, 32, 96, 64),\n", + " nn.MaxPool2d(3, 2)\n", + " )\n", + " \n", + " self.block4 = nn.Sequential(\n", + " inception(480, 192, 96, 208, 16, 48, 64),\n", + " inception(512, 160, 112, 224, 24, 64, 64),\n", + " inception(512, 128, 128, 256, 24, 64, 64),\n", + " inception(512, 112, 144, 288, 32, 64, 64),\n", + " inception(528, 256, 160, 320, 32, 128, 128),\n", + " nn.MaxPool2d(3, 2)\n", + " )\n", + " \n", + " self.block5 = nn.Sequential(\n", + " inception(832, 256, 160, 320, 32, 128, 128),\n", + " inception(832, 384, 182, 384, 48, 128, 128),\n", + " nn.AvgPool2d(2)\n", + " )\n", + " \n", + " self.classifier = nn.Linear(1024, num_classes)\n", + " \n", + " def forward(self, x):\n", + " x = self.block1(x)\n", + " if self.verbose:\n", + " print('block 1 output: {}'.format(x.shape))\n", + " x = self.block2(x)\n", + " if self.verbose:\n", + " print('block 2 output: {}'.format(x.shape))\n", + " x = self.block3(x)\n", + " if self.verbose:\n", + " print('block 3 output: {}'.format(x.shape))\n", + " x = self.block4(x)\n", + " if self.verbose:\n", + " print('block 4 output: {}'.format(x.shape))\n", + " x = self.block5(x)\n", + " if self.verbose:\n", + " print('block 5 output: {}'.format(x.shape))\n", + " x = x.view(x.shape[0], -1)\n", + " x = self.classifier(x)\n", + " return x" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T12:51:13.614936Z", + "start_time": "2017-12-22T12:51:13.428383Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "block 1 output: torch.Size([1, 64, 23, 23])\n", + "block 2 output: torch.Size([1, 192, 11, 11])\n", + "block 3 output: torch.Size([1, 480, 5, 5])\n", + "block 4 output: torch.Size([1, 832, 2, 2])\n", + "block 5 output: torch.Size([1, 1024, 1, 1])\n", + "output: torch.Size([1, 10])\n" + ] + } + ], + "source": [ + "test_net = googlenet(3, 10, True)\n", + "test_x = Variable(torch.zeros(1, 3, 96, 96))\n", + "test_y = test_net(test_x)\n", + "print('output: {}'.format(test_y.shape))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到输入的尺寸不断减小,通道的维度不断增加" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T12:51:16.387778Z", + "start_time": "2017-12-22T12:51:15.121350Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "from utils import train\n", + "\n", + "def data_tf(x):\n", + " x = x.resize((96, 96), 2) # 将图片放大到 96 x 96\n", + " x = np.array(x, dtype='float32') / 255\n", + " x = (x - 0.5) / 0.5 # 标准化,这个技巧之后会讲到\n", + " x = x.transpose((2, 0, 1)) # 将 channel 放到第一维,只是 pytorch 要求的输入方式\n", + " x = torch.from_numpy(x)\n", + " return x\n", + " \n", + "train_set = CIFAR10('./data', train=True, transform=data_tf)\n", + "train_data = torch.utils.data.DataLoader(train_set, batch_size=64, shuffle=True)\n", + "test_set = CIFAR10('./data', train=False, transform=data_tf)\n", + "test_data = torch.utils.data.DataLoader(test_set, batch_size=128, shuffle=False)\n", + "\n", + "net = googlenet(3, 10)\n", + "optimizer = torch.optim.SGD(net.parameters(), lr=0.01)\n", + "criterion = nn.CrossEntropyLoss()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T13:17:25.310685Z", + "start_time": "2017-12-22T12:51:16.389607Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 0. Train Loss: 1.504840, Train Acc: 0.452605, Valid Loss: 1.372426, Valid Acc: 0.514339, Time 00:01:25\n", + "Epoch 1. Train Loss: 1.046663, Train Acc: 0.630734, Valid Loss: 1.147823, Valid Acc: 0.606309, Time 00:01:02\n", + "Epoch 2. Train Loss: 0.833869, Train Acc: 0.710618, Valid Loss: 1.017181, Valid Acc: 0.644284, Time 00:00:54\n", + "Epoch 3. Train Loss: 0.688739, Train Acc: 0.760670, Valid Loss: 0.847099, Valid Acc: 0.712520, Time 00:00:58\n", + "Epoch 4. Train Loss: 0.576516, Train Acc: 0.801111, Valid Loss: 0.850494, Valid Acc: 0.706487, Time 00:01:01\n", + "Epoch 5. Train Loss: 0.483854, Train Acc: 0.832241, Valid Loss: 0.802392, Valid Acc: 0.726958, Time 00:01:08\n", + "Epoch 6. Train Loss: 0.410416, Train Acc: 0.857657, Valid Loss: 0.865246, Valid Acc: 0.721618, Time 00:01:23\n", + "Epoch 7. Train Loss: 0.346010, Train Acc: 0.881813, Valid Loss: 0.850472, Valid Acc: 0.729430, Time 00:01:28\n", + "Epoch 8. Train Loss: 0.289854, Train Acc: 0.900815, Valid Loss: 1.313582, Valid Acc: 0.650712, Time 00:01:22\n", + "Epoch 9. Train Loss: 0.239552, Train Acc: 0.918378, Valid Loss: 0.970173, Valid Acc: 0.726661, Time 00:01:30\n", + "Epoch 10. Train Loss: 0.212439, Train Acc: 0.927270, Valid Loss: 1.188284, Valid Acc: 0.665843, Time 00:01:29\n", + "Epoch 11. Train Loss: 0.175206, Train Acc: 0.939758, Valid Loss: 0.736437, Valid Acc: 0.790051, Time 00:01:29\n", + "Epoch 12. Train Loss: 0.140491, Train Acc: 0.952366, Valid Loss: 0.878171, Valid Acc: 0.764241, Time 00:01:14\n", + "Epoch 13. Train Loss: 0.127249, Train Acc: 0.956981, Valid Loss: 1.159881, Valid Acc: 0.731309, Time 00:01:00\n", + "Epoch 14. Train Loss: 0.108748, Train Acc: 0.962836, Valid Loss: 1.234320, Valid Acc: 0.716377, Time 00:01:23\n", + "Epoch 15. Train Loss: 0.091655, Train Acc: 0.969030, Valid Loss: 0.822575, Valid Acc: 0.790348, Time 00:01:28\n", + "Epoch 16. Train Loss: 0.086218, Train Acc: 0.970309, Valid Loss: 0.943607, Valid Acc: 0.767306, Time 00:01:24\n", + "Epoch 17. Train Loss: 0.069979, Train Acc: 0.976822, Valid Loss: 1.038973, Valid Acc: 0.755340, Time 00:01:22\n", + "Epoch 18. Train Loss: 0.066750, Train Acc: 0.977322, Valid Loss: 0.838827, Valid Acc: 0.801226, Time 00:01:23\n", + "Epoch 19. Train Loss: 0.052757, Train Acc: 0.982577, Valid Loss: 0.876127, Valid Acc: 0.796479, Time 00:01:25\n" + ] + } + ], + "source": [ + "train(net, train_data, test_data, 20, optimizer, criterion)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "GoogLeNet 加入了更加结构化的 Inception 块使得我们能够使用更大的通道,更多的层,同时也控制了计算量。\n", + "\n", + "**小练习:GoogLeNet 有很多后续的版本,尝试看看论文,看看有什么不同,实现一下: \n", + "v1:最早的版本 \n", + "v2:加入 batch normalization 加快训练 \n", + "v3:对 inception 模块做了调整 \n", + "v4:基于 ResNet 加入了 残差连接 **" + ] + } + ], + "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.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/2_CNN/lr-decay.ipynb b/2_pytorch/2_CNN/lr-decay.ipynb new file mode 100644 index 0000000..6f95b06 --- /dev/null +++ b/2_pytorch/2_CNN/lr-decay.ipynb @@ -0,0 +1,408 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 学习率衰减\n", + "对于基于一阶梯度进行优化的方法而言,开始的时候更新的幅度是比较大的,也就是说开始的学习率可以设置大一点,但是当训练集的 loss 下降到一定程度之后,,使用这个太大的学习率就会导致 loss 一直来回震荡,比如\n", + "\n", + "![](https://ws4.sinaimg.cn/large/006tNc79ly1fmrvdlncomj30bf0aywet.jpg)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "这个时候就需要对学习率进行衰减已达到 loss 的充分下降,而是用学习率衰减的办法能够解决这个矛盾,学习率衰减就是随着训练的进行不断的减小学习率。\n", + "\n", + "在 pytorch 中学习率衰减非常方便,使用 `torch.optim.lr_scheduler`,更多的信息可以直接查看[文档](http://pytorch.org/docs/0.3.0/optim.html#how-to-adjust-learning-rate)\n", + "\n", + "但是我推荐大家使用下面这种方式来做学习率衰减,更加直观,下面我们直接举例子来说明" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-24T08:45:34.293625Z", + "start_time": "2017-12-24T08:45:33.834665Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "import sys\n", + "sys.path.append('..')\n", + "\n", + "import numpy as np\n", + "import torch\n", + "from torch import nn\n", + "import torch.nn.functional as F\n", + "from torch.autograd import Variable\n", + "from torchvision.datasets import CIFAR10\n", + "from utils import resnet\n", + "from torchvision import transforms as tfs\n", + "from datetime import datetime" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-24T08:45:35.195093Z", + "start_time": "2017-12-24T08:45:35.063610Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "net = resnet(3, 10)\n", + "optimizer = torch.optim.SGD(net.parameters(), lr=0.01, weight_decay=1e-4)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "这里我们定义好了模型和优化器,可以通过 `optimizer.param_groups` 来得到所有的参数组和其对应的属性,参数组是什么意思呢?就是我们可以将模型的参数分成几个组,每个组定义一个学习率,这里比较复杂,一般来讲如果不做特别修改,就只有一个参数组\n", + "\n", + "这个参数组是一个字典,里面有很多属性,比如学习率,权重衰减等等,我们可以访问以下" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-24T08:22:59.192905Z", + "start_time": "2017-12-24T08:22:59.187178Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "learning rate: 0.01\n", + "weight decay: 0.0001\n" + ] + } + ], + "source": [ + "print('learning rate: {}'.format(optimizer.param_groups[0]['lr']))\n", + "print('weight decay: {}'.format(optimizer.param_groups[0]['weight_decay']))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "所以我们可以通过修改这个属性来改变我们训练过程中的学习率,非常简单" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-24T08:25:04.767090Z", + "start_time": "2017-12-24T08:25:04.762612Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "optimizer.param_groups[0]['lr'] = 1e-5" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "为了防止有多个参数组,我们可以使用一个循环" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-24T08:26:05.142183Z", + "start_time": "2017-12-24T08:26:05.136955Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "for param_group in optimizer.param_groups:\n", + " param_group['lr'] = 1e-1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "方法就是这样,非常简单,我们可以在任意的位置改变我们的学习率\n", + "\n", + "下面我们具体来看看学习率衰减的好处" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-24T08:45:40.809459Z", + "start_time": "2017-12-24T08:45:40.803993Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "def set_learning_rate(optimizer, lr):\n", + " for param_group in optimizer.param_groups:\n", + " param_group['lr'] = lr" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-24T08:45:48.006789Z", + "start_time": "2017-12-24T08:45:46.738002Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "# 使用数据增强\n", + "def train_tf(x):\n", + " im_aug = tfs.Compose([\n", + " tfs.Resize(120),\n", + " tfs.RandomHorizontalFlip(),\n", + " tfs.RandomCrop(96),\n", + " tfs.ColorJitter(brightness=0.5, contrast=0.5, hue=0.5),\n", + " tfs.ToTensor(),\n", + " tfs.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5])\n", + " ])\n", + " x = im_aug(x)\n", + " return x\n", + "\n", + "def test_tf(x):\n", + " im_aug = tfs.Compose([\n", + " tfs.Resize(96),\n", + " tfs.ToTensor(),\n", + " tfs.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5])\n", + " ])\n", + " x = im_aug(x)\n", + " return x\n", + "\n", + "train_set = CIFAR10('./data', train=True, transform=train_tf)\n", + "train_data = torch.utils.data.DataLoader(train_set, batch_size=256, shuffle=True, num_workers=4)\n", + "valid_set = CIFAR10('./data', train=False, transform=test_tf)\n", + "valid_data = torch.utils.data.DataLoader(valid_set, batch_size=256, shuffle=False, num_workers=4)\n", + "\n", + "net = resnet(3, 10)\n", + "optimizer = torch.optim.SGD(net.parameters(), lr=0.1, weight_decay=1e-4)\n", + "criterion = nn.CrossEntropyLoss()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-24T08:59:49.656832Z", + "start_time": "2017-12-24T08:45:48.556187Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 0. Train Loss: 1.872896, Valid Loss: 1.798441, Time 00:00:26\n", + "Epoch 1. Train Loss: 1.397522, Valid Loss: 1.421618, Time 00:00:28\n", + "Epoch 2. Train Loss: 1.129362, Valid Loss: 1.487882, Time 00:00:28\n", + "Epoch 3. Train Loss: 0.962217, Valid Loss: 2.095880, Time 00:00:28\n", + "Epoch 4. Train Loss: 0.859332, Valid Loss: 1.686056, Time 00:00:27\n", + "Epoch 5. Train Loss: 0.786428, Valid Loss: 1.348701, Time 00:00:27\n", + "Epoch 6. Train Loss: 0.730535, Valid Loss: 1.568454, Time 00:00:27\n", + "Epoch 7. Train Loss: 0.682074, Valid Loss: 1.230555, Time 00:00:28\n", + "Epoch 8. Train Loss: 0.643144, Valid Loss: 0.878328, Time 00:00:27\n", + "Epoch 9. Train Loss: 0.609817, Valid Loss: 0.869068, Time 00:00:27\n", + "Epoch 10. Train Loss: 0.585312, Valid Loss: 0.794440, Time 00:00:27\n", + "Epoch 11. Train Loss: 0.553877, Valid Loss: 1.900850, Time 00:00:27\n", + "Epoch 12. Train Loss: 0.526790, Valid Loss: 0.752651, Time 00:00:27\n", + "Epoch 13. Train Loss: 0.505155, Valid Loss: 1.112544, Time 00:00:27\n", + "Epoch 14. Train Loss: 0.486104, Valid Loss: 0.942357, Time 00:00:27\n", + "Epoch 15. Train Loss: 0.468512, Valid Loss: 0.729420, Time 00:00:27\n", + "Epoch 16. Train Loss: 0.449669, Valid Loss: 0.842467, Time 00:00:27\n", + "Epoch 17. Train Loss: 0.429664, Valid Loss: 0.792635, Time 00:00:27\n", + "Epoch 18. Train Loss: 0.420088, Valid Loss: 1.025345, Time 00:00:27\n", + "Epoch 19. Train Loss: 0.404701, Valid Loss: 0.651725, Time 00:00:27\n", + "Epoch 20. Train Loss: 0.326198, Valid Loss: 0.491904, Time 00:00:27\n", + "Epoch 21. Train Loss: 0.294623, Valid Loss: 0.478969, Time 00:00:27\n", + "Epoch 22. Train Loss: 0.284980, Valid Loss: 0.455259, Time 00:00:28\n", + "Epoch 23. Train Loss: 0.273168, Valid Loss: 0.465930, Time 00:00:27\n", + "Epoch 24. Train Loss: 0.270120, Valid Loss: 0.455458, Time 00:00:27\n", + "Epoch 25. Train Loss: 0.261299, Valid Loss: 0.462319, Time 00:00:27\n", + "Epoch 26. Train Loss: 0.258373, Valid Loss: 0.442525, Time 00:00:27\n", + "Epoch 27. Train Loss: 0.251803, Valid Loss: 0.457620, Time 00:00:27\n", + "Epoch 28. Train Loss: 0.247022, Valid Loss: 0.451055, Time 00:00:27\n", + "Epoch 29. Train Loss: 0.246816, Valid Loss: 0.448706, Time 00:00:28\n" + ] + } + ], + "source": [ + "train_losses = []\n", + "valid_losses = []\n", + "\n", + "if torch.cuda.is_available():\n", + " net = net.cuda()\n", + "prev_time = datetime.now()\n", + "for epoch in range(30):\n", + " if epoch == 20:\n", + " set_learning_rate(optimizer, 0.01) # 80 次修改学习率为 0.01\n", + " train_loss = 0\n", + " net = net.train()\n", + " for im, label in train_data:\n", + " if torch.cuda.is_available():\n", + " im = Variable(im.cuda()) # (bs, 3, h, w)\n", + " label = Variable(label.cuda()) # (bs, h, w)\n", + " else:\n", + " im = Variable(im)\n", + " label = Variable(label)\n", + " # forward\n", + " output = net(im)\n", + " loss = criterion(output, label)\n", + " # backward\n", + " optimizer.zero_grad()\n", + " loss.backward()\n", + " optimizer.step()\n", + "\n", + " train_loss += loss.data[0]\n", + " cur_time = datetime.now()\n", + " h, remainder = divmod((cur_time - prev_time).seconds, 3600)\n", + " m, s = divmod(remainder, 60)\n", + " time_str = \"Time %02d:%02d:%02d\" % (h, m, s)\n", + " valid_loss = 0\n", + " valid_acc = 0\n", + " net = net.eval()\n", + " for im, label in valid_data:\n", + " if torch.cuda.is_available():\n", + " im = Variable(im.cuda(), volatile=True)\n", + " label = Variable(label.cuda(), volatile=True)\n", + " else:\n", + " im = Variable(im, volatile=True)\n", + " label = Variable(label, volatile=True)\n", + " output = net(im)\n", + " loss = criterion(output, label)\n", + " valid_loss += loss.data[0]\n", + " epoch_str = (\n", + " \"Epoch %d. Train Loss: %f, Valid Loss: %f, \"\n", + " % (epoch, train_loss / len(train_data), valid_loss / len(valid_data)))\n", + " prev_time = cur_time\n", + " \n", + " train_losses.append(train_loss / len(train_data))\n", + " valid_losses.append(valid_loss / len(valid_data))\n", + " print(epoch_str + time_str)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "下面我们画出 loss 曲线" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-24T09:01:37.676274Z", + "start_time": "2017-12-24T09:01:37.439613Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-24T09:02:37.432883Z", + "start_time": "2017-12-24T09:02:37.244995Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n/wHZSMROwDmVJgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(train_losses, label='train')\n", + "plt.plot(valid_losses, label='valid')\n", + "plt.xlabel('epoch')\n", + "plt.legend(loc='best')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "这里我们只训练了 30 次,在 20 次的时候进行了学习率衰减,可以看 loss 曲线在 20 次的时候不管是 train loss 还是 valid loss,都有了一个陡降。\n", + "\n", + "当然这里我们只是作为举例,在实际应用中,做学习率衰减之前应该经过充分的训练,比如训练 80 次或者 100 次,然后再做学习率衰减得到更好的结果,有的时候甚至需要做多次学习率衰减" + ] + } + ], + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/2_CNN/lr-decay.py b/2_pytorch/2_CNN/lr-decay.py new file mode 100644 index 0000000..56dd7df --- /dev/null +++ b/2_pytorch/2_CNN/lr-decay.py @@ -0,0 +1,184 @@ +# -*- coding: utf-8 -*- +# --- +# jupyter: +# jupytext_format_version: '1.2' +# 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.5.2 +# --- + +# # 学习率衰减 +# 对于基于一阶梯度进行优化的方法而言,开始的时候更新的幅度是比较大的,也就是说开始的学习率可以设置大一点,但是当训练集的 loss 下降到一定程度之后,,使用这个太大的学习率就会导致 loss 一直来回震荡,比如 +# +# ![](https://ws4.sinaimg.cn/large/006tNc79ly1fmrvdlncomj30bf0aywet.jpg) + +# 这个时候就需要对学习率进行衰减已达到 loss 的充分下降,而是用学习率衰减的办法能够解决这个矛盾,学习率衰减就是随着训练的进行不断的减小学习率。 +# +# 在 pytorch 中学习率衰减非常方便,使用 `torch.optim.lr_scheduler`,更多的信息可以直接查看[文档](http://pytorch.org/docs/0.3.0/optim.html#how-to-adjust-learning-rate) +# +# 但是我推荐大家使用下面这种方式来做学习率衰减,更加直观,下面我们直接举例子来说明 + +# + {"ExecuteTime": {"start_time": "2017-12-24T08:45:33.834665Z", "end_time": "2017-12-24T08:45:34.293625Z"}} +import sys +sys.path.append('..') + +import numpy as np +import torch +from torch import nn +import torch.nn.functional as F +from torch.autograd import Variable +from torchvision.datasets import CIFAR10 +from utils import resnet +from torchvision import transforms as tfs +from datetime import datetime + +# + {"ExecuteTime": {"start_time": "2017-12-24T08:45:35.063610Z", "end_time": "2017-12-24T08:45:35.195093Z"}} +net = resnet(3, 10) +optimizer = torch.optim.SGD(net.parameters(), lr=0.01, weight_decay=1e-4) +# - + +# 这里我们定义好了模型和优化器,可以通过 `optimizer.param_groups` 来得到所有的参数组和其对应的属性,参数组是什么意思呢?就是我们可以将模型的参数分成几个组,每个组定义一个学习率,这里比较复杂,一般来讲如果不做特别修改,就只有一个参数组 +# +# 这个参数组是一个字典,里面有很多属性,比如学习率,权重衰减等等,我们可以访问以下 + +# + {"ExecuteTime": {"start_time": "2017-12-24T08:22:59.187178Z", "end_time": "2017-12-24T08:22:59.192905Z"}} +print('learning rate: {}'.format(optimizer.param_groups[0]['lr'])) +print('weight decay: {}'.format(optimizer.param_groups[0]['weight_decay'])) +# - + +# 所以我们可以通过修改这个属性来改变我们训练过程中的学习率,非常简单 + +# + {"ExecuteTime": {"start_time": "2017-12-24T08:25:04.762612Z", "end_time": "2017-12-24T08:25:04.767090Z"}} +optimizer.param_groups[0]['lr'] = 1e-5 +# - + +# 为了防止有多个参数组,我们可以使用一个循环 + +# + {"ExecuteTime": {"start_time": "2017-12-24T08:26:05.136955Z", "end_time": "2017-12-24T08:26:05.142183Z"}} +for param_group in optimizer.param_groups: + param_group['lr'] = 1e-1 +# - + +# 方法就是这样,非常简单,我们可以在任意的位置改变我们的学习率 +# +# 下面我们具体来看看学习率衰减的好处 + +# + {"ExecuteTime": {"start_time": "2017-12-24T08:45:40.803993Z", "end_time": "2017-12-24T08:45:40.809459Z"}} +def set_learning_rate(optimizer, lr): + for param_group in optimizer.param_groups: + param_group['lr'] = lr + +# + {"ExecuteTime": {"start_time": "2017-12-24T08:45:46.738002Z", "end_time": "2017-12-24T08:45:48.006789Z"}} +# 使用数据增强 +def train_tf(x): + im_aug = tfs.Compose([ + tfs.Resize(120), + tfs.RandomHorizontalFlip(), + tfs.RandomCrop(96), + tfs.ColorJitter(brightness=0.5, contrast=0.5, hue=0.5), + tfs.ToTensor(), + tfs.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5]) + ]) + x = im_aug(x) + return x + +def test_tf(x): + im_aug = tfs.Compose([ + tfs.Resize(96), + tfs.ToTensor(), + tfs.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5]) + ]) + x = im_aug(x) + return x + +train_set = CIFAR10('./data', train=True, transform=train_tf) +train_data = torch.utils.data.DataLoader(train_set, batch_size=256, shuffle=True, num_workers=4) +valid_set = CIFAR10('./data', train=False, transform=test_tf) +valid_data = torch.utils.data.DataLoader(valid_set, batch_size=256, shuffle=False, num_workers=4) + +net = resnet(3, 10) +optimizer = torch.optim.SGD(net.parameters(), lr=0.1, weight_decay=1e-4) +criterion = nn.CrossEntropyLoss() + +# + {"ExecuteTime": {"start_time": "2017-12-24T08:45:48.556187Z", "end_time": "2017-12-24T08:59:49.656832Z"}} +train_losses = [] +valid_losses = [] + +if torch.cuda.is_available(): + net = net.cuda() +prev_time = datetime.now() +for epoch in range(30): + if epoch == 20: + set_learning_rate(optimizer, 0.01) # 80 次修改学习率为 0.01 + train_loss = 0 + net = net.train() + for im, label in train_data: + if torch.cuda.is_available(): + im = Variable(im.cuda()) # (bs, 3, h, w) + label = Variable(label.cuda()) # (bs, h, w) + else: + im = Variable(im) + label = Variable(label) + # forward + output = net(im) + loss = criterion(output, label) + # backward + optimizer.zero_grad() + loss.backward() + optimizer.step() + + train_loss += loss.data[0] + cur_time = datetime.now() + h, remainder = divmod((cur_time - prev_time).seconds, 3600) + m, s = divmod(remainder, 60) + time_str = "Time %02d:%02d:%02d" % (h, m, s) + valid_loss = 0 + valid_acc = 0 + net = net.eval() + for im, label in valid_data: + if torch.cuda.is_available(): + im = Variable(im.cuda(), volatile=True) + label = Variable(label.cuda(), volatile=True) + else: + im = Variable(im, volatile=True) + label = Variable(label, volatile=True) + output = net(im) + loss = criterion(output, label) + valid_loss += loss.data[0] + epoch_str = ( + "Epoch %d. Train Loss: %f, Valid Loss: %f, " + % (epoch, train_loss / len(train_data), valid_loss / len(valid_data))) + prev_time = cur_time + + train_losses.append(train_loss / len(train_data)) + valid_losses.append(valid_loss / len(valid_data)) + print(epoch_str + time_str) +# - + +# 下面我们画出 loss 曲线 + +# + {"ExecuteTime": {"start_time": "2017-12-24T09:01:37.439613Z", "end_time": "2017-12-24T09:01:37.676274Z"}} +import matplotlib.pyplot as plt +# %matplotlib inline + +# + {"ExecuteTime": {"start_time": "2017-12-24T09:02:37.244995Z", "end_time": "2017-12-24T09:02:37.432883Z"}} +plt.plot(train_losses, label='train') +plt.plot(valid_losses, label='valid') +plt.xlabel('epoch') +plt.legend(loc='best') +# - + +# 这里我们只训练了 30 次,在 20 次的时候进行了学习率衰减,可以看 loss 曲线在 20 次的时候不管是 train loss 还是 valid loss,都有了一个陡降。 +# +# 当然这里我们只是作为举例,在实际应用中,做学习率衰减之前应该经过充分的训练,比如训练 80 次或者 100 次,然后再做学习率衰减得到更好的结果,有的时候甚至需要做多次学习率衰减 diff --git a/2_pytorch/2_CNN/regularization.ipynb b/2_pytorch/2_CNN/regularization.ipynb new file mode 100644 index 0000000..8eda59c --- /dev/null +++ b/2_pytorch/2_CNN/regularization.ipynb @@ -0,0 +1,167 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 正则化\n", + "前面我们讲了数据增强和 dropout,而在实际使用中,现在的网络往往不使用 dropout,而是用另外一个技术,叫正则化。\n", + "\n", + "正则化是机器学习中提出来的一种方法,有 L1 和 L2 正则化,目前使用较多的是 L2 正则化,引入正则化相当于在 loss 函数上面加上一项,比如\n", + "\n", + "$$\n", + "f = loss + \\lambda \\sum_{p \\in params} ||p||_2^2\n", + "$$\n", + "\n", + "就是在 loss 的基础上加上了参数的二范数作为一个正则化,我们在训练网络的时候,不仅要最小化 loss 函数,同时还要最小化参数的二范数,也就是说我们会对参数做一些限制,不让它变得太大。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "如果我们对新的损失函数 f 求导进行梯度下降,就有\n", + "\n", + "$$\n", + "\\frac{\\partial f}{\\partial p_j} = \\frac{\\partial loss}{\\partial p_j} + 2 \\lambda p_j\n", + "$$\n", + "\n", + "那么在更新参数的时候就有\n", + "\n", + "$$\n", + "p_j \\rightarrow p_j - \\eta (\\frac{\\partial loss}{\\partial p_j} + 2 \\lambda p_j) = p_j - \\eta \\frac{\\partial loss}{\\partial p_j} - 2 \\eta \\lambda p_j \n", + "$$\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到 $p_j - \\eta \\frac{\\partial loss}{\\partial p_j}$ 和没加正则项要更新的部分一样,而后面的 $2\\eta \\lambda p_j$ 就是正则项的影响,可以看到加完正则项之后会对参数做更大程度的更新,这也被称为权重衰减(weight decay),在 pytorch 中正则项就是通过这种方式来加入的,比如想在随机梯度下降法中使用正则项,或者说权重衰减,`torch.optim.SGD(net.parameters(), lr=0.1, weight_decay=1e-4)` 就可以了,这个 `weight_decay` 系数就是上面公式中的 $\\lambda$,非常方便\n", + "\n", + "注意正则项的系数的大小非常重要,如果太大,会极大的抑制参数的更新,导致欠拟合,如果太小,那么正则项这个部分基本没有贡献,所以选择一个合适的权重衰减系数非常重要,这个需要根据具体的情况去尝试,初步尝试可以使用 `1e-4` 或者 `1e-3` \n", + "\n", + "下面我们在训练 cifar 10 中添加正则项" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-24T08:02:11.903459Z", + "start_time": "2017-12-24T08:02:11.383170Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "import sys\n", + "sys.path.append('..')\n", + "\n", + "import numpy as np\n", + "import torch\n", + "from torch import nn\n", + "import torch.nn.functional as F\n", + "from torch.autograd import Variable\n", + "from torchvision.datasets import CIFAR10\n", + "from utils import train, resnet\n", + "from torchvision import transforms as tfs" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-24T08:02:13.120502Z", + "start_time": "2017-12-24T08:02:11.905617Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "def data_tf(x):\n", + " im_aug = tfs.Compose([\n", + " tfs.Resize(96),\n", + " tfs.ToTensor(),\n", + " tfs.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5])\n", + " ])\n", + " x = im_aug(x)\n", + " return x\n", + "\n", + "train_set = CIFAR10('./data', train=True, transform=data_tf)\n", + "train_data = torch.utils.data.DataLoader(train_set, batch_size=64, shuffle=True, num_workers=4)\n", + "test_set = CIFAR10('./data', train=False, transform=data_tf)\n", + "test_data = torch.utils.data.DataLoader(test_set, batch_size=128, shuffle=False, num_workers=4)\n", + "\n", + "net = resnet(3, 10)\n", + "optimizer = torch.optim.SGD(net.parameters(), lr=0.01, weight_decay=1e-4) # 增加正则项\n", + "criterion = nn.CrossEntropyLoss()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-24T08:11:36.106177Z", + "start_time": "2017-12-24T08:02:13.122785Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 0. Train Loss: 1.429834, Train Acc: 0.476982, Valid Loss: 1.261334, Valid Acc: 0.546776, Time 00:00:26\n", + "Epoch 1. Train Loss: 0.994539, Train Acc: 0.645400, Valid Loss: 1.310620, Valid Acc: 0.554688, Time 00:00:27\n", + "Epoch 2. Train Loss: 0.788570, Train Acc: 0.723585, Valid Loss: 1.256101, Valid Acc: 0.577433, Time 00:00:28\n", + "Epoch 3. Train Loss: 0.629832, Train Acc: 0.780411, Valid Loss: 1.222015, Valid Acc: 0.609474, Time 00:00:27\n", + "Epoch 4. Train Loss: 0.500406, Train Acc: 0.825288, Valid Loss: 0.831702, Valid Acc: 0.720332, Time 00:00:27\n", + "Epoch 5. Train Loss: 0.388376, Train Acc: 0.868646, Valid Loss: 0.829582, Valid Acc: 0.726760, Time 00:00:27\n", + "Epoch 6. Train Loss: 0.291237, Train Acc: 0.902094, Valid Loss: 1.499777, Valid Acc: 0.623714, Time 00:00:28\n", + "Epoch 7. Train Loss: 0.222401, Train Acc: 0.925072, Valid Loss: 1.832660, Valid Acc: 0.558643, Time 00:00:28\n", + "Epoch 8. Train Loss: 0.157753, Train Acc: 0.947990, Valid Loss: 1.255313, Valid Acc: 0.668117, Time 00:00:28\n", + "Epoch 9. Train Loss: 0.111407, Train Acc: 0.963595, Valid Loss: 1.004693, Valid Acc: 0.724782, Time 00:00:27\n", + "Epoch 10. Train Loss: 0.084960, Train Acc: 0.972926, Valid Loss: 0.867961, Valid Acc: 0.775119, Time 00:00:27\n", + "Epoch 11. Train Loss: 0.066854, Train Acc: 0.979280, Valid Loss: 1.011263, Valid Acc: 0.749604, Time 00:00:28\n", + "Epoch 12. Train Loss: 0.048280, Train Acc: 0.985534, Valid Loss: 2.438345, Valid Acc: 0.576938, Time 00:00:27\n", + "Epoch 13. Train Loss: 0.046176, Train Acc: 0.985614, Valid Loss: 1.008425, Valid Acc: 0.756527, Time 00:00:27\n", + "Epoch 14. Train Loss: 0.039515, Train Acc: 0.988411, Valid Loss: 0.945017, Valid Acc: 0.766317, Time 00:00:27\n", + "Epoch 15. Train Loss: 0.025882, Train Acc: 0.992667, Valid Loss: 0.918691, Valid Acc: 0.784217, Time 00:00:27\n", + "Epoch 16. Train Loss: 0.018592, Train Acc: 0.994985, Valid Loss: 1.507427, Valid Acc: 0.680281, Time 00:00:27\n", + "Epoch 17. Train Loss: 0.021062, Train Acc: 0.994246, Valid Loss: 2.976452, Valid Acc: 0.558940, Time 00:00:27\n", + "Epoch 18. Train Loss: 0.021458, Train Acc: 0.993926, Valid Loss: 0.927871, Valid Acc: 0.785898, Time 00:00:27\n", + "Epoch 19. Train Loss: 0.015656, Train Acc: 0.995824, Valid Loss: 0.962502, Valid Acc: 0.782832, Time 00:00:27\n" + ] + } + ], + "source": [ + "from utils import train\n", + "train(net, train_data, test_data, 20, optimizer, criterion)" + ] + } + ], + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/2_CNN/regularization.py b/2_pytorch/2_CNN/regularization.py new file mode 100644 index 0000000..c829a72 --- /dev/null +++ b/2_pytorch/2_CNN/regularization.py @@ -0,0 +1,85 @@ +# -*- coding: utf-8 -*- +# --- +# jupyter: +# jupytext_format_version: '1.2' +# 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.5.2 +# --- + +# # 正则化 +# 前面我们讲了数据增强和 dropout,而在实际使用中,现在的网络往往不使用 dropout,而是用另外一个技术,叫正则化。 +# +# 正则化是机器学习中提出来的一种方法,有 L1 和 L2 正则化,目前使用较多的是 L2 正则化,引入正则化相当于在 loss 函数上面加上一项,比如 +# +# $$ +# f = loss + \lambda \sum_{p \in params} ||p||_2^2 +# $$ +# +# 就是在 loss 的基础上加上了参数的二范数作为一个正则化,我们在训练网络的时候,不仅要最小化 loss 函数,同时还要最小化参数的二范数,也就是说我们会对参数做一些限制,不让它变得太大。 + +# 如果我们对新的损失函数 f 求导进行梯度下降,就有 +# +# $$ +# \frac{\partial f}{\partial p_j} = \frac{\partial loss}{\partial p_j} + 2 \lambda p_j +# $$ +# +# 那么在更新参数的时候就有 +# +# $$ +# p_j \rightarrow p_j - \eta (\frac{\partial loss}{\partial p_j} + 2 \lambda p_j) = p_j - \eta \frac{\partial loss}{\partial p_j} - 2 \eta \lambda p_j +# $$ +# + +# 可以看到 $p_j - \eta \frac{\partial loss}{\partial p_j}$ 和没加正则项要更新的部分一样,而后面的 $2\eta \lambda p_j$ 就是正则项的影响,可以看到加完正则项之后会对参数做更大程度的更新,这也被称为权重衰减(weight decay),在 pytorch 中正则项就是通过这种方式来加入的,比如想在随机梯度下降法中使用正则项,或者说权重衰减,`torch.optim.SGD(net.parameters(), lr=0.1, weight_decay=1e-4)` 就可以了,这个 `weight_decay` 系数就是上面公式中的 $\lambda$,非常方便 +# +# 注意正则项的系数的大小非常重要,如果太大,会极大的抑制参数的更新,导致欠拟合,如果太小,那么正则项这个部分基本没有贡献,所以选择一个合适的权重衰减系数非常重要,这个需要根据具体的情况去尝试,初步尝试可以使用 `1e-4` 或者 `1e-3` +# +# 下面我们在训练 cifar 10 中添加正则项 + +# + {"ExecuteTime": {"start_time": "2017-12-24T08:02:11.383170Z", "end_time": "2017-12-24T08:02:11.903459Z"}} +import sys +sys.path.append('..') + +import numpy as np +import torch +from torch import nn +import torch.nn.functional as F +from torch.autograd import Variable +from torchvision.datasets import CIFAR10 +from utils import train, resnet +from torchvision import transforms as tfs + +# + {"ExecuteTime": {"start_time": "2017-12-24T08:02:11.905617Z", "end_time": "2017-12-24T08:02:13.120502Z"}} +def data_tf(x): + im_aug = tfs.Compose([ + tfs.Resize(96), + tfs.ToTensor(), + tfs.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5]) + ]) + x = im_aug(x) + return x + +train_set = CIFAR10('./data', train=True, transform=data_tf) +train_data = torch.utils.data.DataLoader(train_set, batch_size=64, shuffle=True, num_workers=4) +test_set = CIFAR10('./data', train=False, transform=data_tf) +test_data = torch.utils.data.DataLoader(test_set, batch_size=128, shuffle=False, num_workers=4) + +net = resnet(3, 10) +optimizer = torch.optim.SGD(net.parameters(), lr=0.01, weight_decay=1e-4) # 增加正则项 +criterion = nn.CrossEntropyLoss() + +# + {"ExecuteTime": {"start_time": "2017-12-24T08:02:13.122785Z", "end_time": "2017-12-24T08:11:36.106177Z"}} +from utils import train +train(net, train_data, test_data, 20, optimizer, criterion) diff --git a/2_pytorch/2_CNN/resnet.ipynb b/2_pytorch/2_CNN/resnet.ipynb new file mode 100644 index 0000000..a954f56 --- /dev/null +++ b/2_pytorch/2_CNN/resnet.ipynb @@ -0,0 +1,385 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# ResNet\n", + "当大家还在惊叹 GoogLeNet 的 inception 结构的时候,微软亚洲研究院的研究员已经在设计更深但结构更加简单的网络 ResNet,并且凭借这个网络子在 2015 年 ImageNet 比赛上大获全胜。\n", + "\n", + "ResNet 有效地解决了深度神经网络难以训练的问题,可以训练高达 1000 层的卷积网络。网络之所以难以训练,是因为存在着梯度消失的问题,离 loss 函数越远的层,在反向传播的时候,梯度越小,就越难以更新,随着层数的增加,这个现象越严重。之前有两种常见的方案来解决这个问题:\n", + "\n", + "1.按层训练,先训练比较浅的层,然后在不断增加层数,但是这种方法效果不是特别好,而且比较麻烦\n", + "\n", + "2.使用更宽的层,或者增加输出通道,而不加深网络的层数,这种结构往往得到的效果又不好\n", + "\n", + "ResNet 通过引入了跨层链接解决了梯度回传消失的问题。\n", + "\n", + "![](https://ws1.sinaimg.cn/large/006tNc79ly1fmptq2snv9j30j808t74a.jpg)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "这就普通的网络连接跟跨层残差连接的对比图,使用普通的连接,上层的梯度必须要一层一层传回来,而是用残差连接,相当于中间有了一条更短的路,梯度能够从这条更短的路传回来,避免了梯度过小的情况。\n", + "\n", + "假设某层的输入是 x,期望输出是 H(x), 如果我们直接把输入 x 传到输出作为初始结果,这就是一个更浅层的网络,更容易训练,而这个网络没有学会的部分,我们可以使用更深的网络 F(x) 去训练它,使得训练更加容易,最后希望拟合的结果就是 F(x) = H(x) - x,这就是一个残差的结构\n", + "\n", + "残差网络的结构就是上面这种残差块的堆叠,下面让我们来实现一个 residual block" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T12:56:06.772059Z", + "start_time": "2017-12-22T12:56:06.766027Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "import sys\n", + "sys.path.append('..')\n", + "\n", + "import numpy as np\n", + "import torch\n", + "from torch import nn\n", + "import torch.nn.functional as F\n", + "from torch.autograd import Variable\n", + "from torchvision.datasets import CIFAR10" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T12:47:49.222432Z", + "start_time": "2017-12-22T12:47:49.217940Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "def conv3x3(in_channel, out_channel, stride=1):\n", + " return nn.Conv2d(in_channel, out_channel, 3, stride=stride, padding=1, bias=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T13:14:02.429145Z", + "start_time": "2017-12-22T13:14:02.383322Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "class residual_block(nn.Module):\n", + " def __init__(self, in_channel, out_channel, same_shape=True):\n", + " super(residual_block, self).__init__()\n", + " self.same_shape = same_shape\n", + " stride=1 if self.same_shape else 2\n", + " \n", + " self.conv1 = conv3x3(in_channel, out_channel, stride=stride)\n", + " self.bn1 = nn.BatchNorm2d(out_channel)\n", + " \n", + " self.conv2 = conv3x3(out_channel, out_channel)\n", + " self.bn2 = nn.BatchNorm2d(out_channel)\n", + " if not self.same_shape:\n", + " self.conv3 = nn.Conv2d(in_channel, out_channel, 1, stride=stride)\n", + " \n", + " def forward(self, x):\n", + " out = self.conv1(x)\n", + " out = F.relu(self.bn1(out), True)\n", + " out = self.conv2(out)\n", + " out = F.relu(self.bn2(out), True)\n", + " \n", + " if not self.same_shape:\n", + " x = self.conv3(x)\n", + " return F.relu(x+out, True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "我们测试一下一个 residual block 的输入和输出" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T13:14:05.793185Z", + "start_time": "2017-12-22T13:14:05.763382Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "input: torch.Size([1, 32, 96, 96])\n", + "output: torch.Size([1, 32, 96, 96])\n" + ] + } + ], + "source": [ + "# 输入输出形状相同\n", + "test_net = residual_block(32, 32)\n", + "test_x = Variable(torch.zeros(1, 32, 96, 96))\n", + "print('input: {}'.format(test_x.shape))\n", + "test_y = test_net(test_x)\n", + "print('output: {}'.format(test_y.shape))" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T13:14:11.929120Z", + "start_time": "2017-12-22T13:14:11.914604Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "input: torch.Size([1, 3, 96, 96])\n", + "output: torch.Size([1, 32, 48, 48])\n" + ] + } + ], + "source": [ + "# 输入输出形状不同\n", + "test_net = residual_block(3, 32, False)\n", + "test_x = Variable(torch.zeros(1, 3, 96, 96))\n", + "print('input: {}'.format(test_x.shape))\n", + "test_y = test_net(test_x)\n", + "print('output: {}'.format(test_y.shape))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "下面我们尝试实现一个 ResNet,它就是 residual block 模块的堆叠" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T13:27:46.099404Z", + "start_time": "2017-12-22T13:27:45.986235Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "class resnet(nn.Module):\n", + " def __init__(self, in_channel, num_classes, verbose=False):\n", + " super(resnet, self).__init__()\n", + " self.verbose = verbose\n", + " \n", + " self.block1 = nn.Conv2d(in_channel, 64, 7, 2)\n", + " \n", + " self.block2 = nn.Sequential(\n", + " nn.MaxPool2d(3, 2),\n", + " residual_block(64, 64),\n", + " residual_block(64, 64)\n", + " )\n", + " \n", + " self.block3 = nn.Sequential(\n", + " residual_block(64, 128, False),\n", + " residual_block(128, 128)\n", + " )\n", + " \n", + " self.block4 = nn.Sequential(\n", + " residual_block(128, 256, False),\n", + " residual_block(256, 256)\n", + " )\n", + " \n", + " self.block5 = nn.Sequential(\n", + " residual_block(256, 512, False),\n", + " residual_block(512, 512),\n", + " nn.AvgPool2d(3)\n", + " )\n", + " \n", + " self.classifier = nn.Linear(512, num_classes)\n", + " \n", + " def forward(self, x):\n", + " x = self.block1(x)\n", + " if self.verbose:\n", + " print('block 1 output: {}'.format(x.shape))\n", + " x = self.block2(x)\n", + " if self.verbose:\n", + " print('block 2 output: {}'.format(x.shape))\n", + " x = self.block3(x)\n", + " if self.verbose:\n", + " print('block 3 output: {}'.format(x.shape))\n", + " x = self.block4(x)\n", + " if self.verbose:\n", + " print('block 4 output: {}'.format(x.shape))\n", + " x = self.block5(x)\n", + " if self.verbose:\n", + " print('block 5 output: {}'.format(x.shape))\n", + " x = x.view(x.shape[0], -1)\n", + " x = self.classifier(x)\n", + " return x" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "输出一下每个 block 之后的大小" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T13:28:00.597030Z", + "start_time": "2017-12-22T13:28:00.417746Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "block 1 output: torch.Size([1, 64, 45, 45])\n", + "block 2 output: torch.Size([1, 64, 22, 22])\n", + "block 3 output: torch.Size([1, 128, 11, 11])\n", + "block 4 output: torch.Size([1, 256, 6, 6])\n", + "block 5 output: torch.Size([1, 512, 1, 1])\n", + "output: torch.Size([1, 10])\n" + ] + } + ], + "source": [ + "test_net = resnet(3, 10, True)\n", + "test_x = Variable(torch.zeros(1, 3, 96, 96))\n", + "test_y = test_net(test_x)\n", + "print('output: {}'.format(test_y.shape))" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T13:29:01.484172Z", + "start_time": "2017-12-22T13:29:00.095952Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "from utils import train\n", + "\n", + "def data_tf(x):\n", + " x = x.resize((96, 96), 2) # 将图片放大到 96 x 96\n", + " x = np.array(x, dtype='float32') / 255\n", + " x = (x - 0.5) / 0.5 # 标准化,这个技巧之后会讲到\n", + " x = x.transpose((2, 0, 1)) # 将 channel 放到第一维,只是 pytorch 要求的输入方式\n", + " x = torch.from_numpy(x)\n", + " return x\n", + " \n", + "train_set = CIFAR10('./data', train=True, transform=data_tf)\n", + "train_data = torch.utils.data.DataLoader(train_set, batch_size=64, shuffle=True)\n", + "test_set = CIFAR10('./data', train=False, transform=data_tf)\n", + "test_data = torch.utils.data.DataLoader(test_set, batch_size=128, shuffle=False)\n", + "\n", + "net = resnet(3, 10)\n", + "optimizer = torch.optim.SGD(net.parameters(), lr=0.01)\n", + "criterion = nn.CrossEntropyLoss()" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T13:45:00.783186Z", + "start_time": "2017-12-22T13:29:09.214453Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 0. Train Loss: 1.437317, Train Acc: 0.476662, Valid Loss: 1.928288, Valid Acc: 0.384691, Time 00:00:44\n", + "Epoch 1. Train Loss: 0.992832, Train Acc: 0.648198, Valid Loss: 1.009847, Valid Acc: 0.642405, Time 00:00:48\n", + "Epoch 2. Train Loss: 0.767309, Train Acc: 0.732617, Valid Loss: 1.827319, Valid Acc: 0.430380, Time 00:00:47\n", + "Epoch 3. Train Loss: 0.606737, Train Acc: 0.788043, Valid Loss: 1.304808, Valid Acc: 0.585245, Time 00:00:46\n", + "Epoch 4. Train Loss: 0.484436, Train Acc: 0.834499, Valid Loss: 1.335749, Valid Acc: 0.617089, Time 00:00:47\n", + "Epoch 5. Train Loss: 0.374320, Train Acc: 0.872922, Valid Loss: 0.878519, Valid Acc: 0.724288, Time 00:00:47\n", + "Epoch 6. Train Loss: 0.280981, Train Acc: 0.904212, Valid Loss: 0.931616, Valid Acc: 0.716871, Time 00:00:48\n", + "Epoch 7. Train Loss: 0.210800, Train Acc: 0.929747, Valid Loss: 1.448870, Valid Acc: 0.638548, Time 00:00:48\n", + "Epoch 8. Train Loss: 0.147873, Train Acc: 0.951427, Valid Loss: 1.356992, Valid Acc: 0.657536, Time 00:00:47\n", + "Epoch 9. Train Loss: 0.112824, Train Acc: 0.963895, Valid Loss: 1.630560, Valid Acc: 0.627769, Time 00:00:47\n", + "Epoch 10. Train Loss: 0.082685, Train Acc: 0.973905, Valid Loss: 0.982882, Valid Acc: 0.744264, Time 00:00:44\n", + "Epoch 11. Train Loss: 0.065325, Train Acc: 0.979680, Valid Loss: 0.911631, Valid Acc: 0.767009, Time 00:00:47\n", + "Epoch 12. Train Loss: 0.041401, Train Acc: 0.987952, Valid Loss: 1.167992, Valid Acc: 0.729826, Time 00:00:48\n", + "Epoch 13. Train Loss: 0.037516, Train Acc: 0.989011, Valid Loss: 1.081807, Valid Acc: 0.746737, Time 00:00:47\n", + "Epoch 14. Train Loss: 0.030674, Train Acc: 0.991468, Valid Loss: 0.935292, Valid Acc: 0.774031, Time 00:00:45\n", + "Epoch 15. Train Loss: 0.021743, Train Acc: 0.994565, Valid Loss: 0.879348, Valid Acc: 0.790150, Time 00:00:47\n", + "Epoch 16. Train Loss: 0.014642, Train Acc: 0.996463, Valid Loss: 1.328587, Valid Acc: 0.724387, Time 00:00:47\n", + "Epoch 17. Train Loss: 0.011072, Train Acc: 0.997363, Valid Loss: 0.909065, Valid Acc: 0.792919, Time 00:00:47\n", + "Epoch 18. Train Loss: 0.006870, Train Acc: 0.998561, Valid Loss: 0.923746, Valid Acc: 0.794403, Time 00:00:46\n", + "Epoch 19. Train Loss: 0.004240, Train Acc: 0.999500, Valid Loss: 0.877908, Valid Acc: 0.802314, Time 00:00:46\n" + ] + } + ], + "source": [ + "train(net, train_data, test_data, 20, optimizer, criterion)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "ResNet 使用跨层通道使得训练非常深的卷积神经网络成为可能。同样它使用很简单的卷积层配置,使得其拓展更加简单。\n", + "\n", + "**小练习: \n", + "1.尝试一下论文中提出的 bottleneck 的结构 \n", + "2.尝试改变 conv -> bn -> relu 的顺序为 bn -> relu -> conv,看看精度会不会提高**" + ] + } + ], + "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.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/2_CNN/utils.py b/2_pytorch/2_CNN/utils.py new file mode 100644 index 0000000..36db36d --- /dev/null +++ b/2_pytorch/2_CNN/utils.py @@ -0,0 +1,144 @@ +from datetime import datetime + +import torch +import torch.nn.functional as F +from torch import nn +from torch.autograd import Variable + + +def get_acc(output, label): + total = output.shape[0] + _, pred_label = output.max(1) + num_correct = (pred_label == label).sum().data[0] + return num_correct / total + + +def train(net, train_data, valid_data, num_epochs, optimizer, criterion): + if torch.cuda.is_available(): + net = net.cuda() + prev_time = datetime.now() + for epoch in range(num_epochs): + train_loss = 0 + train_acc = 0 + net = net.train() + for im, label in train_data: + if torch.cuda.is_available(): + im = Variable(im.cuda()) # (bs, 3, h, w) + label = Variable(label.cuda()) # (bs, h, w) + else: + im = Variable(im) + label = Variable(label) + # forward + output = net(im) + loss = criterion(output, label) + # backward + optimizer.zero_grad() + loss.backward() + optimizer.step() + + train_loss += loss.data[0] + train_acc += get_acc(output, label) + + cur_time = datetime.now() + h, remainder = divmod((cur_time - prev_time).seconds, 3600) + m, s = divmod(remainder, 60) + time_str = "Time %02d:%02d:%02d" % (h, m, s) + if valid_data is not None: + valid_loss = 0 + valid_acc = 0 + net = net.eval() + for im, label in valid_data: + if torch.cuda.is_available(): + im = Variable(im.cuda(), volatile=True) + label = Variable(label.cuda(), volatile=True) + else: + im = Variable(im, volatile=True) + label = Variable(label, volatile=True) + output = net(im) + loss = criterion(output, label) + valid_loss += loss.data[0] + valid_acc += get_acc(output, label) + epoch_str = ( + "Epoch %d. Train Loss: %f, Train Acc: %f, Valid Loss: %f, Valid Acc: %f, " + % (epoch, train_loss / len(train_data), + train_acc / len(train_data), valid_loss / len(valid_data), + valid_acc / len(valid_data))) + else: + epoch_str = ("Epoch %d. Train Loss: %f, Train Acc: %f, " % + (epoch, train_loss / len(train_data), + train_acc / len(train_data))) + prev_time = cur_time + print(epoch_str + time_str) + + +def conv3x3(in_channel, out_channel, stride=1): + return nn.Conv2d( + in_channel, out_channel, 3, stride=stride, padding=1, bias=False) + + +class residual_block(nn.Module): + def __init__(self, in_channel, out_channel, same_shape=True): + super(residual_block, self).__init__() + self.same_shape = same_shape + stride = 1 if self.same_shape else 2 + + self.conv1 = conv3x3(in_channel, out_channel, stride=stride) + self.bn1 = nn.BatchNorm2d(out_channel) + + self.conv2 = conv3x3(out_channel, out_channel) + self.bn2 = nn.BatchNorm2d(out_channel) + if not self.same_shape: + self.conv3 = nn.Conv2d(in_channel, out_channel, 1, stride=stride) + + def forward(self, x): + out = self.conv1(x) + out = F.relu(self.bn1(out), True) + out = self.conv2(out) + out = F.relu(self.bn2(out), True) + + if not self.same_shape: + x = self.conv3(x) + return F.relu(x + out, True) + + +class resnet(nn.Module): + def __init__(self, in_channel, num_classes, verbose=False): + super(resnet, self).__init__() + self.verbose = verbose + + self.block1 = nn.Conv2d(in_channel, 64, 7, 2) + + self.block2 = nn.Sequential( + nn.MaxPool2d(3, 2), residual_block(64, 64), residual_block(64, 64)) + + self.block3 = nn.Sequential( + residual_block(64, 128, False), residual_block(128, 128)) + + self.block4 = nn.Sequential( + residual_block(128, 256, False), residual_block(256, 256)) + + self.block5 = nn.Sequential( + residual_block(256, 512, False), + residual_block(512, 512), nn.AvgPool2d(3)) + + self.classifier = nn.Linear(512, num_classes) + + def forward(self, x): + x = self.block1(x) + if self.verbose: + print('block 1 output: {}'.format(x.shape)) + x = self.block2(x) + if self.verbose: + print('block 2 output: {}'.format(x.shape)) + x = self.block3(x) + if self.verbose: + print('block 3 output: {}'.format(x.shape)) + x = self.block4(x) + if self.verbose: + print('block 4 output: {}'.format(x.shape)) + x = self.block5(x) + if self.verbose: + print('block 5 output: {}'.format(x.shape)) + x = x.view(x.shape[0], -1) + x = self.classifier(x) + return x diff --git a/2_pytorch/2_CNN/vgg.ipynb b/2_pytorch/2_CNN/vgg.ipynb new file mode 100644 index 0000000..c0be03f --- /dev/null +++ b/2_pytorch/2_CNN/vgg.ipynb @@ -0,0 +1,417 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# VGG\n", + "计算机视觉是一直深度学习的主战场,从这里我们将接触到近几年非常流行的卷积网络结构,网络结构由浅变深,参数越来越多,网络有着更多的跨层链接,首先我们先介绍一个数据集 cifar10,我们将以此数据集为例介绍各种卷积网络的结构。\n", + "\n", + "## CIFAR 10\n", + "cifar 10 这个数据集一共有 50000 张训练集,10000 张测试集,两个数据集里面的图片都是 png 彩色图片,图片大小是 32 x 32 x 3,一共是 10 分类问题,分别为飞机、汽车、鸟、猫、鹿、狗、青蛙、马、船和卡车。这个数据集是对网络性能测试一个非常重要的指标,可以说如果一个网络在这个数据集上超过另外一个网络,那么这个网络性能上一定要比另外一个网络好,目前这个数据集最好的结果是 95% 左右的测试集准确率。\n", + "\n", + "![](https://ws1.sinaimg.cn/large/006tNc79ly1fmpjxxq7wcj30db0ae7ag.jpg)\n", + "\n", + "你能用肉眼对这些图片进行分类吗?\n", + "\n", + "cifar 10 已经被 pytorch 内置了,使用非常方便,只需要调用 `torchvision.datasets.CIFAR10` 就可以了" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## VGGNet\n", + "vggNet 是第一个真正意义上的深层网络结构,其是 ImageNet2014年的冠军,得益于 python 的函数和循环,我们能够非常方便地构建重复结构的深层网络。\n", + "\n", + "vgg 的网络结构非常简单,就是不断地堆叠卷积层和池化层,下面是一个简单的图示\n", + "\n", + "![](https://ws4.sinaimg.cn/large/006tNc79ly1fmpk5smtidj307n0dx3yv.jpg)\n", + "\n", + "vgg 几乎全部使用 3 x 3 的卷积核以及 2 x 2 的池化层,使用小的卷积核进行多层的堆叠和一个大的卷积核的感受野是相同的,同时小的卷积核还能减少参数,同时可以有更深的结构。\n", + "\n", + "vgg 的一个关键就是使用很多层 3 x 3 的卷积然后再使用一个最大池化层,这个模块被使用了很多次,下面我们照着这个结构来写一写" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T09:01:51.296457Z", + "start_time": "2017-12-22T09:01:50.883050Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "import sys\n", + "sys.path.append('..')\n", + "\n", + "import numpy as np\n", + "import torch\n", + "from torch import nn\n", + "from torch.autograd import Variable\n", + "from torchvision.datasets import CIFAR10" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "我们可以定义一个 vgg 的 block,传入三个参数,第一个是模型层数,第二个是输入的通道数,第三个是输出的通道数,第一层卷积接受的输入通道就是图片输入的通道数,然后输出最后的输出通道数,后面的卷积接受的通道数就是最后的输出通道数" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T09:01:51.312500Z", + "start_time": "2017-12-22T09:01:51.298777Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "def vgg_block(num_convs, in_channels, out_channels):\n", + " net = [nn.Conv2d(in_channels, out_channels, kernel_size=3, padding=1), nn.ReLU(True)] # 定义第一层\n", + " \n", + " for i in range(num_convs-1): # 定义后面的很多层\n", + " net.append(nn.Conv2d(out_channels, out_channels, kernel_size=3, padding=1))\n", + " net.append(nn.ReLU(True))\n", + " \n", + " net.append(nn.MaxPool2d(2, 2)) # 定义池化层\n", + " return nn.Sequential(*net)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "我们可以将模型打印出来看看结构" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T08:20:40.819497Z", + "start_time": "2017-12-22T08:20:40.808853Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sequential(\n", + " (0): Conv2d (64, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", + " (1): ReLU(inplace)\n", + " (2): Conv2d (128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", + " (3): ReLU(inplace)\n", + " (4): Conv2d (128, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", + " (5): ReLU(inplace)\n", + " (6): MaxPool2d(kernel_size=(2, 2), stride=(2, 2), dilation=(1, 1))\n", + ")\n" + ] + } + ], + "source": [ + "block_demo = vgg_block(3, 64, 128)\n", + "print(block_demo)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T07:52:04.632406Z", + "start_time": "2017-12-22T07:52:02.381987Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "torch.Size([1, 128, 150, 150])\n" + ] + } + ], + "source": [ + "# 首先定义输入为 (1, 64, 300, 300)\n", + "input_demo = Variable(torch.zeros(1, 64, 300, 300))\n", + "output_demo = block_demo(input_demo)\n", + "print(output_demo.shape)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到输出就变为了 (1, 128, 150, 150),可以看到经过了这一个 vgg block,输入大小被减半,通道数变成了 128\n", + "\n", + "下面我们定义一个函数对这个 vgg block 进行堆叠" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T09:01:54.497712Z", + "start_time": "2017-12-22T09:01:54.489255Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "def vgg_stack(num_convs, channels):\n", + " net = []\n", + " for n, c in zip(num_convs, channels):\n", + " in_c = c[0]\n", + " out_c = c[1]\n", + " net.append(vgg_block(n, in_c, out_c))\n", + " return nn.Sequential(*net)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "作为实例,我们定义一个稍微简单一点的 vgg 结构,其中有 8 个卷积层" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T09:01:55.149378Z", + "start_time": "2017-12-22T09:01:55.041923Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Sequential(\n", + " (0): Sequential(\n", + " (0): Conv2d (3, 64, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", + " (1): ReLU(inplace)\n", + " (2): MaxPool2d(kernel_size=(2, 2), stride=(2, 2), dilation=(1, 1))\n", + " )\n", + " (1): Sequential(\n", + " (0): Conv2d (64, 128, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", + " (1): ReLU(inplace)\n", + " (2): MaxPool2d(kernel_size=(2, 2), stride=(2, 2), dilation=(1, 1))\n", + " )\n", + " (2): Sequential(\n", + " (0): Conv2d (128, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", + " (1): ReLU(inplace)\n", + " (2): Conv2d (256, 256, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", + " (3): ReLU(inplace)\n", + " (4): MaxPool2d(kernel_size=(2, 2), stride=(2, 2), dilation=(1, 1))\n", + " )\n", + " (3): Sequential(\n", + " (0): Conv2d (256, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", + " (1): ReLU(inplace)\n", + " (2): Conv2d (512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", + " (3): ReLU(inplace)\n", + " (4): MaxPool2d(kernel_size=(2, 2), stride=(2, 2), dilation=(1, 1))\n", + " )\n", + " (4): Sequential(\n", + " (0): Conv2d (512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", + " (1): ReLU(inplace)\n", + " (2): Conv2d (512, 512, kernel_size=(3, 3), stride=(1, 1), padding=(1, 1))\n", + " (3): ReLU(inplace)\n", + " (4): MaxPool2d(kernel_size=(2, 2), stride=(2, 2), dilation=(1, 1))\n", + " )\n", + ")\n" + ] + } + ], + "source": [ + "vgg_net = vgg_stack((1, 1, 2, 2, 2), ((3, 64), (64, 128), (128, 256), (256, 512), (512, 512)))\n", + "print(vgg_net)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "我们可以看到网络结构中有个 5 个 最大池化,说明图片的大小会减少 5 倍,我们可以验证一下,输入一张 256 x 256 的图片看看结果是什么" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T08:52:44.049650Z", + "start_time": "2017-12-22T08:52:43.431478Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "torch.Size([1, 512, 8, 8])\n" + ] + } + ], + "source": [ + "test_x = Variable(torch.zeros(1, 3, 256, 256))\n", + "test_y = vgg_net(test_x)\n", + "print(test_y.shape)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到图片减小了 $2^5$ 倍,最后再加上几层全连接,就能够得到我们想要的分类输出" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T09:01:57.323034Z", + "start_time": "2017-12-22T09:01:57.306864Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "class vgg(nn.Module):\n", + " def __init__(self):\n", + " super(vgg, self).__init__()\n", + " self.feature = vgg_net\n", + " self.fc = nn.Sequential(\n", + " nn.Linear(512, 100),\n", + " nn.ReLU(True),\n", + " nn.Linear(100, 10)\n", + " )\n", + " def forward(self, x):\n", + " x = self.feature(x)\n", + " x = x.view(x.shape[0], -1)\n", + " x = self.fc(x)\n", + " return x" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "然后我们可以训练我们的模型看看在 cifar10 上的效果" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T09:01:59.921373Z", + "start_time": "2017-12-22T09:01:58.709531Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "from utils import train\n", + "\n", + "def data_tf(x):\n", + " x = np.array(x, dtype='float32') / 255\n", + " x = (x - 0.5) / 0.5 # 标准化,这个技巧之后会讲到\n", + " x = x.transpose((2, 0, 1)) # 将 channel 放到第一维,只是 pytorch 要求的输入方式\n", + " x = torch.from_numpy(x)\n", + " return x\n", + " \n", + "train_set = CIFAR10('./data', train=True, transform=data_tf)\n", + "train_data = torch.utils.data.DataLoader(train_set, batch_size=64, shuffle=True)\n", + "test_set = CIFAR10('./data', train=False, transform=data_tf)\n", + "test_data = torch.utils.data.DataLoader(test_set, batch_size=128, shuffle=False)\n", + "\n", + "net = vgg()\n", + "optimizer = torch.optim.SGD(net.parameters(), lr=1e-1)\n", + "criterion = nn.CrossEntropyLoss()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-22T09:12:46.868967Z", + "start_time": "2017-12-22T09:01:59.924086Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 0. Train Loss: 2.303118, Train Acc: 0.098186, Valid Loss: 2.302944, Valid Acc: 0.099585, Time 00:00:32\n", + "Epoch 1. Train Loss: 2.303085, Train Acc: 0.096907, Valid Loss: 2.302762, Valid Acc: 0.100969, Time 00:00:33\n", + "Epoch 2. Train Loss: 2.302916, Train Acc: 0.097287, Valid Loss: 2.302740, Valid Acc: 0.099585, Time 00:00:33\n", + "Epoch 3. Train Loss: 2.302395, Train Acc: 0.102042, Valid Loss: 2.297652, Valid Acc: 0.108782, Time 00:00:32\n", + "Epoch 4. Train Loss: 2.079523, Train Acc: 0.202026, Valid Loss: 1.868179, Valid Acc: 0.255736, Time 00:00:31\n", + "Epoch 5. Train Loss: 1.781262, Train Acc: 0.307625, Valid Loss: 1.735122, Valid Acc: 0.323279, Time 00:00:31\n", + "Epoch 6. Train Loss: 1.565095, Train Acc: 0.400975, Valid Loss: 1.463914, Valid Acc: 0.449565, Time 00:00:31\n", + "Epoch 7. Train Loss: 1.360450, Train Acc: 0.495225, Valid Loss: 1.374488, Valid Acc: 0.490803, Time 00:00:31\n", + "Epoch 8. Train Loss: 1.144470, Train Acc: 0.585758, Valid Loss: 1.384803, Valid Acc: 0.524624, Time 00:00:31\n", + "Epoch 9. Train Loss: 0.954556, Train Acc: 0.659287, Valid Loss: 1.113850, Valid Acc: 0.609968, Time 00:00:32\n", + "Epoch 10. Train Loss: 0.801952, Train Acc: 0.718131, Valid Loss: 1.080254, Valid Acc: 0.639933, Time 00:00:31\n", + "Epoch 11. Train Loss: 0.665018, Train Acc: 0.765945, Valid Loss: 0.916277, Valid Acc: 0.698972, Time 00:00:31\n", + "Epoch 12. Train Loss: 0.547411, Train Acc: 0.811241, Valid Loss: 1.030948, Valid Acc: 0.678896, Time 00:00:32\n", + "Epoch 13. Train Loss: 0.442779, Train Acc: 0.846228, Valid Loss: 0.869791, Valid Acc: 0.732496, Time 00:00:32\n", + "Epoch 14. Train Loss: 0.357279, Train Acc: 0.875440, Valid Loss: 1.233777, Valid Acc: 0.671677, Time 00:00:31\n", + "Epoch 15. Train Loss: 0.285171, Train Acc: 0.900096, Valid Loss: 0.852879, Valid Acc: 0.765131, Time 00:00:32\n", + "Epoch 16. Train Loss: 0.222431, Train Acc: 0.923374, Valid Loss: 1.848096, Valid Acc: 0.614023, Time 00:00:31\n", + "Epoch 17. Train Loss: 0.174834, Train Acc: 0.939478, Valid Loss: 1.137286, Valid Acc: 0.728639, Time 00:00:31\n", + "Epoch 18. Train Loss: 0.144375, Train Acc: 0.950587, Valid Loss: 0.907310, Valid Acc: 0.776800, Time 00:00:31\n", + "Epoch 19. Train Loss: 0.115332, Train Acc: 0.960878, Valid Loss: 1.009886, Valid Acc: 0.761175, Time 00:00:31\n" + ] + } + ], + "source": [ + "train(net, train_data, test_data, 20, optimizer, criterion)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到,跑完 20 次,vgg 能在 cifar 10 上取得 76% 左右的测试准确率" + ] + } + ], + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/2_CNN/vgg.py b/2_pytorch/2_CNN/vgg.py new file mode 100644 index 0000000..ad1ae52 --- /dev/null +++ b/2_pytorch/2_CNN/vgg.py @@ -0,0 +1,155 @@ +# -*- coding: utf-8 -*- +# --- +# jupyter: +# jupytext_format_version: '1.2' +# 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.5.2 +# --- + +# # VGG +# 计算机视觉是一直深度学习的主战场,从这里我们将接触到近几年非常流行的卷积网络结构,网络结构由浅变深,参数越来越多,网络有着更多的跨层链接,首先我们先介绍一个数据集 cifar10,我们将以此数据集为例介绍各种卷积网络的结构。 +# +# ## CIFAR 10 +# cifar 10 这个数据集一共有 50000 张训练集,10000 张测试集,两个数据集里面的图片都是 png 彩色图片,图片大小是 32 x 32 x 3,一共是 10 分类问题,分别为飞机、汽车、鸟、猫、鹿、狗、青蛙、马、船和卡车。这个数据集是对网络性能测试一个非常重要的指标,可以说如果一个网络在这个数据集上超过另外一个网络,那么这个网络性能上一定要比另外一个网络好,目前这个数据集最好的结果是 95% 左右的测试集准确率。 +# +# ![](https://ws1.sinaimg.cn/large/006tNc79ly1fmpjxxq7wcj30db0ae7ag.jpg) +# +# 你能用肉眼对这些图片进行分类吗? +# +# cifar 10 已经被 pytorch 内置了,使用非常方便,只需要调用 `torchvision.datasets.CIFAR10` 就可以了 + +# ## VGGNet +# vggNet 是第一个真正意义上的深层网络结构,其是 ImageNet2014年的冠军,得益于 python 的函数和循环,我们能够非常方便地构建重复结构的深层网络。 +# +# vgg 的网络结构非常简单,就是不断地堆叠卷积层和池化层,下面是一个简单的图示 +# +# ![](https://ws4.sinaimg.cn/large/006tNc79ly1fmpk5smtidj307n0dx3yv.jpg) +# +# vgg 几乎全部使用 3 x 3 的卷积核以及 2 x 2 的池化层,使用小的卷积核进行多层的堆叠和一个大的卷积核的感受野是相同的,同时小的卷积核还能减少参数,同时可以有更深的结构。 +# +# vgg 的一个关键就是使用很多层 3 x 3 的卷积然后再使用一个最大池化层,这个模块被使用了很多次,下面我们照着这个结构来写一写 + +# + {"ExecuteTime": {"start_time": "2017-12-22T09:01:50.883050Z", "end_time": "2017-12-22T09:01:51.296457Z"}} +import sys +sys.path.append('..') + +import numpy as np +import torch +from torch import nn +from torch.autograd import Variable +from torchvision.datasets import CIFAR10 +# - + +# 我们可以定义一个 vgg 的 block,传入三个参数,第一个是模型层数,第二个是输入的通道数,第三个是输出的通道数,第一层卷积接受的输入通道就是图片输入的通道数,然后输出最后的输出通道数,后面的卷积接受的通道数就是最后的输出通道数 + +# + {"ExecuteTime": {"start_time": "2017-12-22T09:01:51.298777Z", "end_time": "2017-12-22T09:01:51.312500Z"}} +def vgg_block(num_convs, in_channels, out_channels): + net = [nn.Conv2d(in_channels, out_channels, kernel_size=3, padding=1), nn.ReLU(True)] # 定义第一层 + + for i in range(num_convs-1): # 定义后面的很多层 + net.append(nn.Conv2d(out_channels, out_channels, kernel_size=3, padding=1)) + net.append(nn.ReLU(True)) + + net.append(nn.MaxPool2d(2, 2)) # 定义池化层 + return nn.Sequential(*net) +# - + +# 我们可以将模型打印出来看看结构 + +# + {"ExecuteTime": {"start_time": "2017-12-22T08:20:40.808853Z", "end_time": "2017-12-22T08:20:40.819497Z"}} +block_demo = vgg_block(3, 64, 128) +print(block_demo) + +# + {"ExecuteTime": {"start_time": "2017-12-22T07:52:02.381987Z", "end_time": "2017-12-22T07:52:04.632406Z"}} +# 首先定义输入为 (1, 64, 300, 300) +input_demo = Variable(torch.zeros(1, 64, 300, 300)) +output_demo = block_demo(input_demo) +print(output_demo.shape) +# - + +# 可以看到输出就变为了 (1, 128, 150, 150),可以看到经过了这一个 vgg block,输入大小被减半,通道数变成了 128 +# +# 下面我们定义一个函数对这个 vgg block 进行堆叠 + +# + {"ExecuteTime": {"start_time": "2017-12-22T09:01:54.489255Z", "end_time": "2017-12-22T09:01:54.497712Z"}} +def vgg_stack(num_convs, channels): + net = [] + for n, c in zip(num_convs, channels): + in_c = c[0] + out_c = c[1] + net.append(vgg_block(n, in_c, out_c)) + return nn.Sequential(*net) +# - + +# 作为实例,我们定义一个稍微简单一点的 vgg 结构,其中有 8 个卷积层 + +# + {"ExecuteTime": {"start_time": "2017-12-22T09:01:55.041923Z", "end_time": "2017-12-22T09:01:55.149378Z"}} +vgg_net = vgg_stack((1, 1, 2, 2, 2), ((3, 64), (64, 128), (128, 256), (256, 512), (512, 512))) +print(vgg_net) +# - + +# 我们可以看到网络结构中有个 5 个 最大池化,说明图片的大小会减少 5 倍,我们可以验证一下,输入一张 256 x 256 的图片看看结果是什么 + +# + {"ExecuteTime": {"start_time": "2017-12-22T08:52:43.431478Z", "end_time": "2017-12-22T08:52:44.049650Z"}} +test_x = Variable(torch.zeros(1, 3, 256, 256)) +test_y = vgg_net(test_x) +print(test_y.shape) +# - + +# 可以看到图片减小了 $2^5$ 倍,最后再加上几层全连接,就能够得到我们想要的分类输出 + +# + {"ExecuteTime": {"start_time": "2017-12-22T09:01:57.306864Z", "end_time": "2017-12-22T09:01:57.323034Z"}} +class vgg(nn.Module): + def __init__(self): + super(vgg, self).__init__() + self.feature = vgg_net + self.fc = nn.Sequential( + nn.Linear(512, 100), + nn.ReLU(True), + nn.Linear(100, 10) + ) + def forward(self, x): + x = self.feature(x) + x = x.view(x.shape[0], -1) + x = self.fc(x) + return x +# - + +# 然后我们可以训练我们的模型看看在 cifar10 上的效果 + +# + {"ExecuteTime": {"start_time": "2017-12-22T09:01:58.709531Z", "end_time": "2017-12-22T09:01:59.921373Z"}} +from utils import train + +def data_tf(x): + x = np.array(x, dtype='float32') / 255 + x = (x - 0.5) / 0.5 # 标准化,这个技巧之后会讲到 + x = x.transpose((2, 0, 1)) # 将 channel 放到第一维,只是 pytorch 要求的输入方式 + x = torch.from_numpy(x) + return x + +train_set = CIFAR10('./data', train=True, transform=data_tf) +train_data = torch.utils.data.DataLoader(train_set, batch_size=64, shuffle=True) +test_set = CIFAR10('./data', train=False, transform=data_tf) +test_data = torch.utils.data.DataLoader(test_set, batch_size=128, shuffle=False) + +net = vgg() +optimizer = torch.optim.SGD(net.parameters(), lr=1e-1) +criterion = nn.CrossEntropyLoss() + +# + {"ExecuteTime": {"start_time": "2017-12-22T09:01:59.924086Z", "end_time": "2017-12-22T09:12:46.868967Z"}} +train(net, train_data, test_data, 20, optimizer, criterion) +# - + +# 可以看到,跑完 20 次,vgg 能在 cifar 10 上取得 76% 左右的测试准确率 diff --git a/2_pytorch/3_RNN/nlp/n-gram.ipynb b/2_pytorch/3_RNN/nlp/n-gram.ipynb new file mode 100644 index 0000000..a293c8e --- /dev/null +++ b/2_pytorch/3_RNN/nlp/n-gram.ipynb @@ -0,0 +1,463 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# N-Gram 模型\n", + "上一节课,我们讲了词嵌入以及词嵌入是如何得到的,现在我们来讲讲词嵌入如何来训练语言模型,首先我们介绍一下 N-Gram 模型的原理和其要解决的问题。\n", + "\n", + "对于一句话,单词的排列顺序是非常重要的,所以我们能否由前面的几个词来预测后面的几个单词呢,比如 'I lived in France for 10 years, I can speak _' 这句话中,我们能够预测出最后一个词是 French。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "对于一句话 T,其由 $w_1, w_2, \\cdots, w_n$ 这 n 个词构成,\n", + "\n", + "$$\n", + "P(T) = P(w_1)P(w_2 | w_1)P(w_3 |w_2 w_1) \\cdots P(w_n |w_{n-1} w_{n-2}\\cdots w_2w_1)\n", + "$$\n", + "\n", + "我们可以再简化一下这个模型,比如对于一个词,它并不需要前面所有的词作为条件概率,也就是说一个词可以只与其前面的几个词有关,这就是马尔科夫假设。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "对于这里的条件概率,传统的方法是统计语料中每个词出现的频率,根据贝叶斯定理来估计这个条件概率,这里我们就可以用词嵌入对其进行代替,然后使用 RNN 进行条件概率的计算,然后最大化这个条件概率不仅修改词嵌入,同时能够使得模型可以依据计算的条件概率对其中的一个单词进行预测。\n", + "\n", + "下面我们直接用代码进行说明" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "CONTEXT_SIZE = 2 # 依据的单词数\n", + "EMBEDDING_DIM = 10 # 词向量的维度\n", + "# 我们使用莎士比亚的诗\n", + "test_sentence = \"\"\"When forty winters shall besiege thy brow,\n", + "And dig deep trenches in thy beauty's field,\n", + "Thy youth's proud livery so gazed on now,\n", + "Will be a totter'd weed of small worth held:\n", + "Then being asked, where all thy beauty lies,\n", + "Where all the treasure of thy lusty days;\n", + "To say, within thine own deep sunken eyes,\n", + "Were an all-eating shame, and thriftless praise.\n", + "How much more praise deserv'd thy beauty's use,\n", + "If thou couldst answer 'This fair child of mine\n", + "Shall sum my count, and make my old excuse,'\n", + "Proving his beauty by succession thine!\n", + "This were to be new made when thou art old,\n", + "And see thy blood warm when thou feel'st it cold.\"\"\".split()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "这里的 `CONTEXT_SIZE` 表示我们希望由前面几个单词来预测这个单词,这里使用两个单词,`EMBEDDING_DIM` 表示词嵌入的维度。\n", + "\n", + "接着我们建立训练集,便利整个语料库,将单词三个分组,前面两个作为输入,最后一个作为预测的结果。" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + " trigram = [((test_sentence[i], test_sentence[i+1]), test_sentence[i+2]) \n", + " for i in range(len(test_sentence)-2)]" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "113" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 总的数据量\n", + "len(trigram)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(('When', 'forty'), 'winters')" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 取出第一个数据看看\n", + "trigram[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "# 建立每个词与数字的编码,据此构建词嵌入\n", + "vocb = set(test_sentence) # 使用 set 将重复的元素去掉\n", + "word_to_idx = {word: i for i, word in enumerate(vocb)}\n", + "idx_to_word = {word_to_idx[word]: word for word in word_to_idx}" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{\"'This\": 94,\n", + " 'And': 71,\n", + " 'How': 18,\n", + " 'If': 49,\n", + " 'Proving': 78,\n", + " 'Shall': 48,\n", + " 'Then': 33,\n", + " 'This': 68,\n", + " 'Thy': 75,\n", + " 'To': 81,\n", + " 'Were': 61,\n", + " 'When': 14,\n", + " 'Where': 95,\n", + " 'Will': 27,\n", + " 'a': 21,\n", + " 'all': 53,\n", + " 'all-eating': 3,\n", + " 'an': 15,\n", + " 'and': 23,\n", + " 'answer': 80,\n", + " 'art': 70,\n", + " 'asked,': 69,\n", + " 'be': 29,\n", + " 'beauty': 16,\n", + " \"beauty's\": 40,\n", + " 'being': 79,\n", + " 'besiege': 55,\n", + " 'blood': 11,\n", + " 'brow,': 1,\n", + " 'by': 59,\n", + " 'child': 8,\n", + " 'cold.': 32,\n", + " 'couldst': 26,\n", + " 'count,': 77,\n", + " 'days;': 43,\n", + " 'deep': 62,\n", + " \"deserv'd\": 41,\n", + " 'dig': 64,\n", + " \"excuse,'\": 86,\n", + " 'eyes,': 84,\n", + " 'fair': 56,\n", + " \"feel'st\": 44,\n", + " 'field,': 9,\n", + " 'forty': 46,\n", + " 'gazed': 93,\n", + " 'held:': 12,\n", + " 'his': 89,\n", + " 'in': 45,\n", + " 'it': 34,\n", + " 'lies,': 57,\n", + " 'livery': 28,\n", + " 'lusty': 65,\n", + " 'made': 54,\n", + " 'make': 42,\n", + " 'mine': 13,\n", + " 'more': 83,\n", + " 'much': 30,\n", + " 'my': 50,\n", + " 'new': 92,\n", + " 'now,': 25,\n", + " 'of': 47,\n", + " 'old': 22,\n", + " 'old,': 19,\n", + " 'on': 74,\n", + " 'own': 20,\n", + " 'praise': 38,\n", + " 'praise.': 96,\n", + " 'proud': 5,\n", + " 'say,': 63,\n", + " 'see': 58,\n", + " 'shall': 87,\n", + " 'shame,': 90,\n", + " 'small': 31,\n", + " 'so': 67,\n", + " 'succession': 36,\n", + " 'sum': 10,\n", + " 'sunken': 60,\n", + " 'the': 73,\n", + " 'thine': 24,\n", + " 'thine!': 0,\n", + " 'thou': 51,\n", + " 'thriftless': 72,\n", + " 'thy': 76,\n", + " 'to': 85,\n", + " \"totter'd\": 2,\n", + " 'treasure': 17,\n", + " 'trenches': 39,\n", + " 'use,': 35,\n", + " 'warm': 66,\n", + " 'weed': 91,\n", + " 'were': 82,\n", + " 'when': 7,\n", + " 'where': 37,\n", + " 'winters': 88,\n", + " 'within': 4,\n", + " 'worth': 52,\n", + " \"youth's\": 6}" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "word_to_idx" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "从上面可以看到每个词都对应一个数字,且这里的单词都各不相同\n", + "\n", + "接着我们定义模型,模型的输入就是前面的两个词,输出就是预测单词的概率" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import torch\n", + "from torch import nn\n", + "import torch.nn.functional as F\n", + "from torch.autograd import Variable" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "# 定义模型\n", + "class n_gram(nn.Module):\n", + " def __init__(self, vocab_size, context_size=CONTEXT_SIZE, n_dim=EMBEDDING_DIM):\n", + " super(n_gram, self).__init__()\n", + " \n", + " self.embed = nn.Embedding(vocab_size, n_dim)\n", + " self.classify = nn.Sequential(\n", + " nn.Linear(context_size * n_dim, 128),\n", + " nn.ReLU(True),\n", + " nn.Linear(128, vocab_size)\n", + " )\n", + " \n", + " def forward(self, x):\n", + " voc_embed = self.embed(x) # 得到词嵌入\n", + " voc_embed = voc_embed.view(1, -1) # 将两个词向量拼在一起\n", + " out = self.classify(voc_embed)\n", + " return out" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "最后我们输出就是条件概率,相当于是一个分类问题,我们可以使用交叉熵来方便地衡量误差" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "net = n_gram(len(word_to_idx))\n", + "\n", + "criterion = nn.CrossEntropyLoss()\n", + "optimizer = torch.optim.SGD(net.parameters(), lr=1e-2, weight_decay=1e-5)" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch: 20, Loss: 0.088273\n", + "epoch: 40, Loss: 0.065301\n", + "epoch: 60, Loss: 0.057113\n", + "epoch: 80, Loss: 0.052442\n", + "epoch: 100, Loss: 0.049236\n" + ] + } + ], + "source": [ + "for e in range(100):\n", + " train_loss = 0\n", + " for word, label in trigram: # 使用前 100 个作为训练集\n", + " word = Variable(torch.LongTensor([word_to_idx[i] for i in word])) # 将两个词作为输入\n", + " label = Variable(torch.LongTensor([word_to_idx[label]]))\n", + " # 前向传播\n", + " out = net(word)\n", + " loss = criterion(out, label)\n", + " train_loss += loss.data[0]\n", + " # 反向传播\n", + " optimizer.zero_grad()\n", + " loss.backward()\n", + " optimizer.step()\n", + " if (e + 1) % 20 == 0:\n", + " print('epoch: {}, Loss: {:.6f}'.format(e + 1, train_loss / len(trigram)))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "最后我们可以测试一下结果" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "net = net.eval()" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "input: ('so', 'gazed')\n", + "label: on\n", + "\n", + "real word is on, predicted word is on\n" + ] + } + ], + "source": [ + "# 测试一下结果\n", + "word, label = trigram[19]\n", + "print('input: {}'.format(word))\n", + "print('label: {}'.format(label))\n", + "print()\n", + "word = Variable(torch.LongTensor([word_to_idx[i] for i in word]))\n", + "out = net(word)\n", + "pred_label_idx = out.max(1)[1].data[0]\n", + "predict_word = idx_to_word[pred_label_idx]\n", + "print('real word is {}, predicted word is {}'.format(label, predict_word))" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "input: (\"'This\", 'fair')\n", + "label: child\n", + "\n", + "real word is child, predicted word is child\n" + ] + } + ], + "source": [ + "word, label = trigram[75]\n", + "print('input: {}'.format(word))\n", + "print('label: {}'.format(label))\n", + "print()\n", + "word = Variable(torch.LongTensor([word_to_idx[i] for i in word]))\n", + "out = net(word)\n", + "pred_label_idx = out.max(1)[1].data[0]\n", + "predict_word = idx_to_word[pred_label_idx]\n", + "print('real word is {}, predicted word is {}'.format(label, predict_word))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到网络在训练集上基本能够预测准确,不过这里样本太少,特别容易过拟合。\n", + "\n", + "下一次课我们会讲一讲 RNN 如何应用在自然语言处理中" + ] + } + ], + "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.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/3_RNN/nlp/seq-lstm.ipynb b/2_pytorch/3_RNN/nlp/seq-lstm.ipynb new file mode 100644 index 0000000..61dde78 --- /dev/null +++ b/2_pytorch/3_RNN/nlp/seq-lstm.ipynb @@ -0,0 +1,509 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# LSTM 做词性预测\n", + "前面我们讲了词嵌入以及 n-gram 模型做单词预测,但是目前还没有用到 RNN,在最后这一次课中,我们会结合前面讲的所有预备知识,教大家如何使用 LSTM 来做词性预测。\n", + "\n", + "## 模型介绍\n", + "对于一个单词,会有这不同的词性,首先能够根据一个单词的后缀来初步判断,比如 -ly 这种后缀,很大概率是一个副词,除此之外,一个相同的单词可以表示两种不同的词性,比如 book 既可以表示名词,也可以表示动词,所以到底这个词是什么词性需要结合前后文来具体判断。\n", + "\n", + "根据这个问题,我们可以使用 lstm 模型来进行预测,首先对于一个单词,可以将其看作一个序列,比如 apple 是由 a p p l e 这 5 个单词构成,这就形成了 5 的序列,我们可以对这些字符构建词嵌入,然后输入 lstm,就像 lstm 做图像分类一样,只取最后一个输出作为预测结果,整个单词的字符串能够形成一种记忆的特性,帮助我们更好的预测词性。\n", + "\n", + "![](https://ws3.sinaimg.cn/large/006tKfTcgy1fmxi67w0f7j30ap05qq2u.jpg)\n", + "\n", + "接着我们把这个单词和其前面几个单词构成序列,可以对这些单词构建新的词嵌入,最后输出结果是单词的词性,也就是根据前面几个词的信息对这个词的词性进行分类。\n", + "\n", + "下面我们用例子来简单的说明" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import torch\n", + "from torch import nn\n", + "from torch.autograd import Variable" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "我们使用下面简单的训练集" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "training_data = [(\"The dog ate the apple\".split(),\n", + " [\"DET\", \"NN\", \"V\", \"DET\", \"NN\"]),\n", + " (\"Everybody read that book\".split(), \n", + " [\"NN\", \"V\", \"DET\", \"NN\"])]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "接下来我们需要对单词和标签进行编码" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "word_to_idx = {}\n", + "tag_to_idx = {}\n", + "for context, tag in training_data:\n", + " for word in context:\n", + " if word.lower() not in word_to_idx:\n", + " word_to_idx[word.lower()] = len(word_to_idx)\n", + " for label in tag:\n", + " if label.lower() not in tag_to_idx:\n", + " tag_to_idx[label.lower()] = len(tag_to_idx)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'apple': 3,\n", + " 'ate': 2,\n", + " 'book': 7,\n", + " 'dog': 1,\n", + " 'everybody': 4,\n", + " 'read': 5,\n", + " 'that': 6,\n", + " 'the': 0}" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "word_to_idx" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'det': 0, 'nn': 1, 'v': 2}" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tag_to_idx" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "然后我们对字母进行编码" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "alphabet = 'abcdefghijklmnopqrstuvwxyz'\n", + "char_to_idx = {}\n", + "for i in range(len(alphabet)):\n", + " char_to_idx[alphabet[i]] = i" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'a': 0,\n", + " 'b': 1,\n", + " 'c': 2,\n", + " 'd': 3,\n", + " 'e': 4,\n", + " 'f': 5,\n", + " 'g': 6,\n", + " 'h': 7,\n", + " 'i': 8,\n", + " 'j': 9,\n", + " 'k': 10,\n", + " 'l': 11,\n", + " 'm': 12,\n", + " 'n': 13,\n", + " 'o': 14,\n", + " 'p': 15,\n", + " 'q': 16,\n", + " 'r': 17,\n", + " 's': 18,\n", + " 't': 19,\n", + " 'u': 20,\n", + " 'v': 21,\n", + " 'w': 22,\n", + " 'x': 23,\n", + " 'y': 24,\n", + " 'z': 25}" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "char_to_idx" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "接着我们可以构建训练数据" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def make_sequence(x, dic): # 字符编码\n", + " idx = [dic[i.lower()] for i in x]\n", + " idx = torch.LongTensor(idx)\n", + " return idx" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 0\n", + " 15\n", + " 15\n", + " 11\n", + " 4\n", + "[torch.LongTensor of size 5]" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "make_sequence('apple', char_to_idx)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['Everybody', 'read', 'that', 'book']" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "training_data[1][0]" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + " 4\n", + " 5\n", + " 6\n", + " 7\n", + "[torch.LongTensor of size 4]" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "make_sequence(training_data[1][0], word_to_idx)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "构建单个字符的 lstm 模型" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "class char_lstm(nn.Module):\n", + " def __init__(self, n_char, char_dim, char_hidden):\n", + " super(char_lstm, self).__init__()\n", + " \n", + " self.char_embed = nn.Embedding(n_char, char_dim)\n", + " self.lstm = nn.LSTM(char_dim, char_hidden)\n", + " \n", + " def forward(self, x):\n", + " x = self.char_embed(x)\n", + " out, _ = self.lstm(x)\n", + " return out[-1] # (batch, hidden)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "构建词性分类的 lstm 模型" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "class lstm_tagger(nn.Module):\n", + " def __init__(self, n_word, n_char, char_dim, word_dim, \n", + " char_hidden, word_hidden, n_tag):\n", + " super(lstm_tagger, self).__init__()\n", + " self.word_embed = nn.Embedding(n_word, word_dim)\n", + " self.char_lstm = char_lstm(n_char, char_dim, char_hidden)\n", + " self.word_lstm = nn.LSTM(word_dim + char_hidden, word_hidden)\n", + " self.classify = nn.Linear(word_hidden, n_tag)\n", + " \n", + " def forward(self, x, word):\n", + " char = []\n", + " for w in word: # 对于每个单词做字符的 lstm\n", + " char_list = make_sequence(w, char_to_idx)\n", + " char_list = char_list.unsqueeze(1) # (seq, batch, feature) 满足 lstm 输入条件\n", + " char_infor = self.char_lstm(Variable(char_list)) # (batch, char_hidden)\n", + " char.append(char_infor)\n", + " char = torch.stack(char, dim=0) # (seq, batch, feature)\n", + " \n", + " x = self.word_embed(x) # (batch, seq, word_dim)\n", + " x = x.permute(1, 0, 2) # 改变顺序\n", + " x = torch.cat((x, char), dim=2) # 沿着特征通道将每个词的词嵌入和字符 lstm 输出的结果拼接在一起\n", + " x, _ = self.word_lstm(x)\n", + " \n", + " s, b, h = x.shape\n", + " x = x.view(-1, h) # 重新 reshape 进行分类线性层\n", + " out = self.classify(x)\n", + " return out" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "net = lstm_tagger(len(word_to_idx), len(char_to_idx), 10, 100, 50, 128, len(tag_to_idx))\n", + "criterion = nn.CrossEntropyLoss()\n", + "optimizer = torch.optim.SGD(net.parameters(), lr=1e-2)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch: 50, Loss: 0.86690\n", + "Epoch: 100, Loss: 0.65471\n", + "Epoch: 150, Loss: 0.45582\n", + "Epoch: 200, Loss: 0.30351\n", + "Epoch: 250, Loss: 0.20446\n", + "Epoch: 300, Loss: 0.14376\n" + ] + } + ], + "source": [ + "# 开始训练\n", + "for e in range(300):\n", + " train_loss = 0\n", + " for word, tag in training_data:\n", + " word_list = make_sequence(word, word_to_idx).unsqueeze(0) # 添加第一维 batch\n", + " tag = make_sequence(tag, tag_to_idx)\n", + " word_list = Variable(word_list)\n", + " tag = Variable(tag)\n", + " # 前向传播\n", + " out = net(word_list, word)\n", + " loss = criterion(out, tag)\n", + " train_loss += loss.data[0]\n", + " # 反向传播\n", + " optimizer.zero_grad()\n", + " loss.backward()\n", + " optimizer.step()\n", + " if (e + 1) % 50 == 0:\n", + " print('Epoch: {}, Loss: {:.5f}'.format(e + 1, train_loss / len(training_data)))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "最后我们可以看看预测的结果" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "net = net.eval()" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [], + "source": [ + "test_sent = 'Everybody ate the apple'\n", + "test = make_sequence(test_sent.split(), word_to_idx).unsqueeze(0)\n", + "out = net(Variable(test), test_sent.split())" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Variable containing:\n", + "-1.2148 1.9048 -0.6570\n", + "-0.9272 -0.4441 1.4009\n", + " 1.6425 -0.7751 -1.1553\n", + "-0.6121 1.6036 -1.1280\n", + "[torch.FloatTensor of size 4x3]\n", + "\n" + ] + } + ], + "source": [ + "print(out)" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'det': 0, 'nn': 1, 'v': 2}\n" + ] + } + ], + "source": [ + "print(tag_to_idx)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "最后可以得到上面的结果,因为最后一层的线性层没有使用 softmax,所以数值不太像一个概率,但是每一行数值最大的就表示属于该类,可以看到第一个单词 'Everybody' 属于 nn,第二个单词 'ate' 属于 v,第三个单词 'the' 属于det,第四个单词 'apple' 属于 nn,所以得到的这个预测结果是正确的" + ] + } + ], + "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.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/3_RNN/nlp/word-embedding.ipynb b/2_pytorch/3_RNN/nlp/word-embedding.ipynb new file mode 100644 index 0000000..4ea2751 --- /dev/null +++ b/2_pytorch/3_RNN/nlp/word-embedding.ipynb @@ -0,0 +1,241 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 词嵌入\n", + "前面讲了循环神经网络做简单的图像分类问题和飞机流量时序预测,但是现在循环神经网络最火热的应用是自然语言处理,下面我们介绍一下自然语言处理中如果运用循环神经网络,首先我们介绍一下第一个概念,词嵌入。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "对于图像分类问题,我们可以使用 one-hot 的类型去编码,比如一共有 5 类,那么属于第二类就可以用 (0, 1, 0, 0, 0) 去表示,对于分类问题,这样当然忒别简单,但是在自然语言处理中,因为单词的数目过多,这样做就行不通了,比如有 10000 个不同的词,那么使用 one-hot 不仅效率低,同时还没有办法表达出单词的特点,这个时候就引入了词嵌入去表达每一个单词。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "词向量简单来说就是用一个向量去表示一个词语,但是这个向量并不是随机的,因为这样并没有任何意义,所以我们需要对每个词有一个特定的向量去表示他们,而有一些词的词性是相近的,比如”(love)喜欢”和”(like)爱”,对于这种词性相近的词,我们需要他们的向量表示也能够相近,如何去度量和定义向量之间的相近呢?非常简单,就是使用两个向量的夹角,夹角越小,越相近,这样就有了一个完备的定义。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "我们举一个例子,下面有 4 段话\n", + "\n", + "1. The cat likes playing wool.\n", + "\n", + "2. The kitty likes playing wool.\n", + "\n", + "3. The dog likes playing ball.\n", + "\n", + "4. The boy does not like playing ball or wool.\n", + "\n", + "这里面有 4 个词,分别是 cat, kitty, dog 和 boy。下面我们使用一个二维的词向量 (a, b) 来表示每一个词,其中 a,b 分别代表着这个词的一种属性,比如 a 代表是否喜欢玩球,b 代表是否喜欢玩毛线,数值越大表示越喜欢,那么我们就能够用数值来定义每一个单词。\n", + "\n", + "对于 cat,我们可以定义它的词嵌入为 (-1, 4),因为他不喜欢玩球,喜欢玩毛线,同时可以定义 kitty 为 (-2, 5),dog 为 (3, 2) 以及 boy 为 (-2, -3),那么把这四个向量在坐标系中表示出来,就是\n", + "\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到,上面这张图就显示了不同词嵌入之间的夹角,kitty 和 cat 之间的夹角比较小,所以他们更相似,dog 和 boy 之间的夹角很大,所以他们是不相似的。\n", + "\n", + "下面我们看看 pytorch 中如何调用词向量" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PyTorch 实现\n", + "词嵌入在 pytorch 中非常简单,只需要调用 `torch.nn.Embedding(m, n)` 就可以了,m 表示单词的总数目,n 表示词嵌入的维度,其实词嵌入就相当于是一个大矩阵,矩阵的每一行表示一个单词" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import torch\n", + "from torch import nn\n", + "from torch.autograd import Variable" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 定义词嵌入\n", + "embeds = nn.Embedding(2, 5) # 2 个单词,维度 5" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Parameter containing:\n", + "-1.3426 0.7316 -0.2437 0.4925 -0.0191\n", + "-0.8326 0.3367 0.2135 0.5059 0.8326\n", + "[torch.FloatTensor of size 2x5]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 得到词嵌入矩阵\n", + "embeds.weight" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "我们通过 `weight` 得到了整个词嵌入的矩阵,注意,这个矩阵是一个可以改变的 parameter,在网络的训练中会不断更新,同时词嵌入的数值可以直接进行修改,比如我们可以读入一个预训练好的词嵌入等等" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Parameter containing:\n", + " 1 1 1 1 1\n", + " 1 1 1 1 1\n", + "[torch.FloatTensor of size 2x5]" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 直接手动修改词嵌入的值\n", + "embeds.weight.data = torch.ones(2, 5)\n", + "embeds.weight" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 访问第 50 个词的词向量\n", + "embeds = nn.Embedding(100, 10)\n", + "single_word_embed = embeds(Variable(torch.LongTensor([50])))" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Variable containing:\n", + "-1.4954 -1.8475 0.2913 -0.9674 -2.1250 -0.5783 -0.6717 0.5638 0.7038 0.4437\n", + "[torch.FloatTensor of size 1x10]" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "single_word_embed" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到如果我们要访问其中一个单词的词向量,我们可以直接调用定义好的词嵌入,但是输入必须传入一个 Variable,且类型是 LongTensor" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "虽然我们知道了如何定义词向量的相似性,但是我们仍然不知道如何得到词嵌入,因为如果一个词嵌入式 100 维,这显然不可能人为去赋值,所以为了得到词向量,需要介绍 skip-gram 模型。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Skip-Gram 模型\n", + "Skip Gram 模型是 [Word2Vec](https://arxiv.org/pdf/1301.3781.pdf) 这篇论文的网络架构,下面我们来讲一讲这个模型。\n", + "\n", + "## 模型结构\n", + "skip-gram 模型非常简单,我们在一段文本中训练一个简单的网络,这个网络的任务是通过一个词周围的词来预测这个词,然而我们实际上要做的就是训练我们的词嵌入。\n", + "\n", + "比如我们给定一句话中的一个词,看看它周围的词,然后随机挑选一个,我们希望网络能够输出一个概率值,这个概率值能够告诉我们到底这个词离我们选择的词的远近程度,比如这么一句话 'A dog is playing with a ball',如果我们选的词是 'ball',那么 'playing' 就要比 'dog' 离我们选择的词更近。\n", + "\n", + "对于一段话,我们可以按照顺序选择不同的词,然后构建训练样本和 label,比如\n", + "\n", + "![](https://ws2.sinaimg.cn/large/006tNc79gy1fmwlpfp3loj30hh0ah75l.jpg)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "对于这个例子,我们依次取一个词以及其周围的词构成一个训练样本,比如第一次选择的词是 'the',那么我们取其前后两个词作为训练样本,这个也可以被称为一个滑动窗口,对于第一个词,其左边没有单词,所以训练集就是三个词,然后我们在这三个词中选择 'the' 作为输入,另外两个词都是他的输出,就构成了两个训练样本,又比如选择 'fox' 这个词,那么加上其左边两个词,右边两个词,一共是 5 个词,然后选择 'fox' 作为输入,那么输出就是其周围的四个词,一共可以构成 4 个训练样本,通过这个办法,我们就能够训练出需要的词嵌入。\n", + "\n", + "下次课,我们会讲一讲词嵌入到底有什么用。" + ] + } + ], + "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.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/3_RNN/pytorch-rnn.ipynb b/2_pytorch/3_RNN/pytorch-rnn.ipynb new file mode 100644 index 0000000..9a55f09 --- /dev/null +++ b/2_pytorch/3_RNN/pytorch-rnn.ipynb @@ -0,0 +1,819 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# PyTorch 中的循环神经网络模块\n", + "前面我们讲了循环神经网络的基础知识和网络结构,下面我们教大家如何在 pytorch 下构建循环神经网络,因为 pytorch 的动态图机制,使得循环神经网络非常方便。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 一般的 RNN\n", + "\n", + "![](https://ws1.sinaimg.cn/large/006tKfTcly1fmt9xz889xj30kb07nglo.jpg)\n", + "\n", + "对于最简单的 RNN,我们可以使用下面两种方式去调用,分别是 `torch.nn.RNNCell()` 和 `torch.nn.RNN()`,这两种方式的区别在于 `RNNCell()` 只能接受序列中单步的输入,且必须传入隐藏状态,而 `RNN()` 可以接受一个序列的输入,默认会传入全 0 的隐藏状态,也可以自己申明隐藏状态传入。\n", + "\n", + "`RNN()` 里面的参数有\n", + "\n", + "input_size 表示输入 $x_t$ 的特征维度\n", + "\n", + "hidden_size 表示输出的特征维度\n", + "\n", + "num_layers 表示网络的层数\n", + "\n", + "nonlinearity 表示选用的非线性激活函数,默认是 'tanh'\n", + "\n", + "bias 表示是否使用偏置,默认使用\n", + "\n", + "batch_first 表示输入数据的形式,默认是 False,就是这样形式,(seq, batch, feature),也就是将序列长度放在第一位,batch 放在第二位\n", + "\n", + "dropout 表示是否在输出层应用 dropout\n", + "\n", + "bidirectional 表示是否使用双向的 rnn,默认是 False\n", + "\n", + "对于 `RNNCell()`,里面的参数就少很多,只有 input_size,hidden_size,bias 以及 nonlinearity" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import torch\n", + "from torch.autograd import Variable\n", + "from torch import nn" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 定义一个单步的 rnn\n", + "rnn_single = nn.RNNCell(input_size=100, hidden_size=200)" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Parameter containing:\n", + "1.00000e-02 *\n", + " 6.2260 -5.3805 3.5870 ... -2.2162 6.2760 1.6760\n", + "-5.1878 -4.6751 -5.5926 ... -1.8942 0.1589 1.0725\n", + " 3.3236 -3.2726 5.5399 ... 3.3193 0.2117 1.1730\n", + " ... ⋱ ... \n", + " 2.4032 -3.4415 5.1036 ... -2.2035 -0.1900 -6.4016\n", + " 5.2031 -1.5793 -0.0623 ... 0.3424 6.9412 6.3707\n", + "-5.4495 4.5280 2.1774 ... 1.8767 2.4968 5.3403\n", + "[torch.FloatTensor of size 200x200]" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 访问其中的参数\n", + "rnn_single.weight_hh" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 构造一个序列,长为 6,batch 是 5, 特征是 100\n", + "x = Variable(torch.randn(6, 5, 100)) # 这是 rnn 的输入格式" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 定义初始的记忆状态\n", + "h_t = Variable(torch.zeros(5, 200))" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 传入 rnn\n", + "out = []\n", + "for i in range(6): # 通过循环 6 次作用在整个序列上\n", + " h_t = rnn_single(x[i], h_t)\n", + " out.append(h_t)" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Variable containing:\n", + " 0.0136 0.3723 0.1704 ... 0.4306 -0.7909 -0.5306\n", + "-0.2681 -0.6261 -0.3926 ... 0.1752 0.5739 -0.2061\n", + "-0.4918 -0.7611 0.2787 ... 0.0854 -0.3899 0.0092\n", + " 0.6050 0.1852 -0.4261 ... -0.7220 0.6809 0.1825\n", + "-0.6851 0.7273 0.5396 ... -0.7969 0.6133 -0.0852\n", + "[torch.FloatTensor of size 5x200]" + ] + }, + "execution_count": 52, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "h_t" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "6" + ] + }, + "execution_count": 54, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(out)" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "torch.Size([5, 200])" + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "out[0].shape # 每个输出的维度" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到经过了 rnn 之后,隐藏状态的值已经被改变了,因为网络记忆了序列中的信息,同时输出 6 个结果" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "下面我们看看直接使用 `RNN` 的情况" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "rnn_seq = nn.RNN(100, 200)" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Parameter containing:\n", + "1.00000e-02 *\n", + " 1.0998 -1.5018 -1.4337 ... 3.8385 -0.8958 -1.6781\n", + " 5.3302 -5.4654 5.5568 ... 4.7399 5.4110 3.6170\n", + " 1.0788 -0.6620 5.7689 ... -5.0747 -2.9066 0.6152\n", + " ... ⋱ ... \n", + "-5.6921 0.1843 -0.0803 ... -4.5852 5.6194 -1.4734\n", + " 4.4306 6.9795 -1.5736 ... 3.4236 -0.3441 3.1397\n", + " 7.0349 -1.6120 -4.2840 ... -5.5676 6.8897 6.1968\n", + "[torch.FloatTensor of size 200x200]" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# 访问其中的参数\n", + "rnn_seq.weight_hh_l0" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "out, h_t = rnn_seq(x) # 使用默认的全 0 隐藏状态" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Variable containing:\n", + "( 0 ,.,.) = \n", + " 0.2012 0.0517 0.0570 ... 0.2316 0.3615 -0.1247\n", + " 0.5307 0.4147 0.7881 ... -0.4138 -0.1444 0.3602\n", + " 0.0882 0.4307 0.3939 ... 0.3244 -0.4629 -0.2315\n", + " 0.2868 0.7400 0.6534 ... 0.6631 0.2624 -0.0162\n", + " 0.0841 0.6274 0.1840 ... 0.5800 0.8780 0.4301\n", + "[torch.FloatTensor of size 1x5x200]" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "h_t" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "6" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "len(out)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "这里的 h_t 是网络最后的隐藏状态,网络也输出了 6 个结果" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 自己定义初始的隐藏状态\n", + "h_0 = Variable(torch.randn(1, 5, 200))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "这里的隐藏状态的大小有三个维度,分别是 (num_layers * num_direction, batch, hidden_size)" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "out, h_t = rnn_seq(x, h_0)" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Variable containing:\n", + "( 0 ,.,.) = \n", + " 0.2091 0.0353 0.0625 ... 0.2340 0.3734 -0.1307\n", + " 0.5498 0.4221 0.7877 ... -0.4143 -0.1209 0.3335\n", + " 0.0757 0.4204 0.3826 ... 0.3187 -0.4626 -0.2336\n", + " 0.3106 0.7355 0.6436 ... 0.6611 0.2587 -0.0338\n", + " 0.1025 0.6350 0.1943 ... 0.5720 0.8749 0.4525\n", + "[torch.FloatTensor of size 1x5x200]" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "h_t" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "torch.Size([6, 5, 200])" + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "out.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "同时输出的结果也是 (seq, batch, feature)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "一般情况下我们都是用 `nn.RNN()` 而不是 `nn.RNNCell()`,因为 `nn.RNN()` 能够避免我们手动写循环,非常方便,同时如果不特别说明,我们也会选择使用默认的全 0 初始化隐藏状态" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## LSTM" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![](https://ws1.sinaimg.cn/large/006tKfTcly1fmt9qj3uhmj30iz07ct90.jpg)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "LSTM 和基本的 RNN 是一样的,他的参数也是相同的,同时他也有 `nn.LSTMCell()` 和 `nn.LSTM()` 两种形式,跟前面讲的都是相同的,我们就不再赘述了,下面直接举个小例子" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "lstm_seq = nn.LSTM(50, 100, num_layers=2) # 输入维度 100,输出 200,两层" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Parameter containing:\n", + "1.00000e-02 *\n", + " 3.8420 5.7387 6.1351 ... 1.2680 0.9890 1.3037\n", + "-4.2301 6.8294 -4.8627 ... -6.4147 4.3015 8.4103\n", + " 9.4411 5.0195 9.8620 ... -1.6096 9.2516 -0.6941\n", + " ... ⋱ ... \n", + " 1.2930 -1.3300 -0.9311 ... -6.0891 -0.7164 3.9578\n", + " 9.0435 2.4674 9.4107 ... -3.3822 -3.9773 -3.0685\n", + "-4.2039 -8.2992 -3.3605 ... 2.2875 8.2163 -9.3277\n", + "[torch.FloatTensor of size 400x100]" + ] + }, + "execution_count": 80, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lstm_seq.weight_hh_l0 # 第一层的 h_t 权重" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**小练习:想想为什么这个系数的大小是 (400, 100)**" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": { + "collapsed": false + }, + "outputs": [], + "source": [ + "lstm_input = Variable(torch.randn(10, 3, 50)) # 序列 10,batch 是 3,输入维度 50" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "out, (h, c) = lstm_seq(lstm_input) # 使用默认的全 0 隐藏状态" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "注意这里 LSTM 输出的隐藏状态有两个,h 和 c,就是上图中的每个 cell 之间的两个箭头,这两个隐藏状态的大小都是相同的,(num_layers * direction, batch, feature)" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "torch.Size([2, 3, 100])" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "h.shape # 两层,Batch 是 3,特征是 100" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "torch.Size([2, 3, 100])" + ] + }, + "execution_count": 67, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "c.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "torch.Size([10, 3, 100])" + ] + }, + "execution_count": 61, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "out.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "我们可以不使用默认的隐藏状态,这是需要传入两个张量" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "h_init = Variable(torch.randn(2, 3, 100))\n", + "c_init = Variable(torch.randn(2, 3, 100))" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "out, (h, c) = lstm_seq(lstm_input, (h_init, c_init))" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "torch.Size([2, 3, 100])" + ] + }, + "execution_count": 70, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "h.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "torch.Size([2, 3, 100])" + ] + }, + "execution_count": 71, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "c.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "torch.Size([10, 3, 100])" + ] + }, + "execution_count": 72, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "out.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# GRU\n", + "![](https://ws3.sinaimg.cn/large/006tKfTcly1fmtaj38y9sj30io06bmxc.jpg)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "GRU 和前面讲的这两个是同样的道理,就不再细说,还是演示一下例子" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "gru_seq = nn.GRU(10, 20)\n", + "gru_input = Variable(torch.randn(3, 32, 10))\n", + "\n", + "out, h = gru_seq(gru_input)" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Parameter containing:\n", + " 0.0766 -0.0548 -0.2008 ... -0.0250 -0.1819 0.1453\n", + "-0.1676 0.1622 0.0417 ... 0.1905 -0.0071 -0.1038\n", + " 0.0444 -0.1516 0.2194 ... -0.0009 0.0771 0.0476\n", + " ... ⋱ ... \n", + " 0.1698 -0.1707 0.0340 ... -0.1315 0.1278 0.0946\n", + " 0.1936 0.1369 -0.0694 ... -0.0667 0.0429 0.1322\n", + " 0.0870 -0.1884 0.1732 ... -0.1423 -0.1723 0.2147\n", + "[torch.FloatTensor of size 60x20]" + ] + }, + "execution_count": 76, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "gru_seq.weight_hh_l0" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "torch.Size([1, 32, 20])" + ] + }, + "execution_count": 75, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "h.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "text/plain": [ + "torch.Size([3, 32, 20])" + ] + }, + "execution_count": 74, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "out.shape" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "mx", + "language": "python", + "name": "mx" + }, + "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.0" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/3_RNN/rnn-for-image.ipynb b/2_pytorch/3_RNN/rnn-for-image.ipynb new file mode 100644 index 0000000..7518a6c --- /dev/null +++ b/2_pytorch/3_RNN/rnn-for-image.ipynb @@ -0,0 +1,191 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# RNN 做图像分类\n", + "前面我们讲了 RNN 特别适合做序列类型的数据,那么 RNN 能不能想 CNN 一样用来做图像分类呢?下面我们用 mnist 手写字体的例子来展示一下如何用 RNN 做图像分类,但是这种方法并不是主流,这里我们只是作为举例。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "对于一张手写字体的图片,其大小是 28 * 28,我们可以将其看做是一个长为 28 的序列,每个序列的特征都是 28,也就是\n", + "\n", + "![](https://ws4.sinaimg.cn/large/006tKfTcly1fmu7d0byfkj30n60djdg5.jpg)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "这样我们解决了输入序列的问题,对于输出序列怎么办呢?其实非常简单,虽然我们的输出是一个序列,但是我们只需要保留其中一个作为输出结果就可以了,这样的话肯定保留最后一个结果是最好的,因为最后一个结果有前面所有序列的信息,就像下面这样\n", + "\n", + "![](https://ws3.sinaimg.cn/large/006tKfTcly1fmu7fpqri0j30c407yjr8.jpg)\n", + "\n", + "下面我们直接通过例子展示" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-26T08:01:44.502896Z", + "start_time": "2017-12-26T08:01:44.062542Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "import sys\n", + "sys.path.append('..')\n", + "\n", + "import torch\n", + "from torch.autograd import Variable\n", + "from torch import nn\n", + "from torch.utils.data import DataLoader\n", + "\n", + "from torchvision import transforms as tfs\n", + "from torchvision.datasets import MNIST" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-26T08:01:50.714439Z", + "start_time": "2017-12-26T08:01:50.650872Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "# 定义数据\n", + "data_tf = tfs.Compose([\n", + " tfs.ToTensor(),\n", + " tfs.Normalize([0.5], [0.5]) # 标准化\n", + "])\n", + "\n", + "train_set = MNIST('./data', train=True, transform=data_tf)\n", + "test_set = MNIST('./data', train=False, transform=data_tf)\n", + "\n", + "train_data = DataLoader(train_set, 64, True, num_workers=4)\n", + "test_data = DataLoader(test_set, 128, False, num_workers=4)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-26T08:01:51.165144Z", + "start_time": "2017-12-26T08:01:51.115807Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "# 定义模型\n", + "class rnn_classify(nn.Module):\n", + " def __init__(self, in_feature=28, hidden_feature=100, num_class=10, num_layers=2):\n", + " super(rnn_classify, self).__init__()\n", + " self.rnn = nn.LSTM(in_feature, hidden_feature, num_layers) # 使用两层 lstm\n", + " self.classifier = nn.Linear(hidden_feature, num_class) # 将最后一个 rnn 的输出使用全连接得到最后的分类结果\n", + " \n", + " def forward(self, x):\n", + " '''\n", + " x 大小为 (batch, 1, 28, 28),所以我们需要将其转换成 RNN 的输入形式,即 (28, batch, 28)\n", + " '''\n", + " x = x.squeeze() # 去掉 (batch, 1, 28, 28) 中的 1,变成 (batch, 28, 28)\n", + " x = x.permute(2, 0, 1) # 将最后一维放到第一维,变成 (28, batch, 28)\n", + " out, _ = self.rnn(x) # 使用默认的隐藏状态,得到的 out 是 (28, batch, hidden_feature)\n", + " out = out[-1, :, :] # 取序列中的最后一个,大小是 (batch, hidden_feature)\n", + " out = self.classifier(out) # 得到分类结果\n", + " return out" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-26T08:01:51.252533Z", + "start_time": "2017-12-26T08:01:51.244612Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "net = rnn_classify()\n", + "criterion = nn.CrossEntropyLoss()\n", + "\n", + "optimzier = torch.optim.Adadelta(net.parameters(), 1e-1)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "ExecuteTime": { + "end_time": "2017-12-26T08:03:36.739732Z", + "start_time": "2017-12-26T08:01:51.607967Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 0. Train Loss: 1.858605, Train Acc: 0.318347, Valid Loss: 1.147508, Valid Acc: 0.578125, Time 00:00:09\n", + "Epoch 1. Train Loss: 0.503072, Train Acc: 0.848514, Valid Loss: 0.300552, Valid Acc: 0.912579, Time 00:00:09\n", + "Epoch 2. Train Loss: 0.224762, Train Acc: 0.934785, Valid Loss: 0.176321, Valid Acc: 0.946499, Time 00:00:09\n", + "Epoch 3. Train Loss: 0.157010, Train Acc: 0.953392, Valid Loss: 0.155280, Valid Acc: 0.954015, Time 00:00:09\n", + "Epoch 4. Train Loss: 0.125926, Train Acc: 0.962137, Valid Loss: 0.105295, Valid Acc: 0.969640, Time 00:00:09\n", + "Epoch 5. Train Loss: 0.104938, Train Acc: 0.968450, Valid Loss: 0.091477, Valid Acc: 0.972805, Time 00:00:10\n", + "Epoch 6. Train Loss: 0.089124, Train Acc: 0.973481, Valid Loss: 0.104799, Valid Acc: 0.969343, Time 00:00:09\n", + "Epoch 7. Train Loss: 0.077920, Train Acc: 0.976679, Valid Loss: 0.084242, Valid Acc: 0.976661, Time 00:00:10\n", + "Epoch 8. Train Loss: 0.070259, Train Acc: 0.978795, Valid Loss: 0.078536, Valid Acc: 0.977749, Time 00:00:09\n", + "Epoch 9. Train Loss: 0.063089, Train Acc: 0.981093, Valid Loss: 0.066984, Valid Acc: 0.980716, Time 00:00:09\n" + ] + } + ], + "source": [ + "# 开始训练\n", + "from utils import train\n", + "train(net, train_data, test_data, 10, optimzier, criterion)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到,训练 10 次在简单的 mnist 数据集上也取得的了 98% 的准确率,所以说 RNN 也可以做做简单的图像分类,但是这并不是他的主战场,下次课我们会讲到 RNN 的一个使用场景,时间序列预测。" + ] + } + ], + "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.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/3_RNN/time-series/data.csv b/2_pytorch/3_RNN/time-series/data.csv new file mode 100644 index 0000000..bf7171d --- /dev/null +++ b/2_pytorch/3_RNN/time-series/data.csv @@ -0,0 +1,148 @@ +"Month","International airline passengers: monthly totals in thousands. Jan 49 ? Dec 60" +"1949-01",112 +"1949-02",118 +"1949-03",132 +"1949-04",129 +"1949-05",121 +"1949-06",135 +"1949-07",148 +"1949-08",148 +"1949-09",136 +"1949-10",119 +"1949-11",104 +"1949-12",118 +"1950-01",115 +"1950-02",126 +"1950-03",141 +"1950-04",135 +"1950-05",125 +"1950-06",149 +"1950-07",170 +"1950-08",170 +"1950-09",158 +"1950-10",133 +"1950-11",114 +"1950-12",140 +"1951-01",145 +"1951-02",150 +"1951-03",178 +"1951-04",163 +"1951-05",172 +"1951-06",178 +"1951-07",199 +"1951-08",199 +"1951-09",184 +"1951-10",162 +"1951-11",146 +"1951-12",166 +"1952-01",171 +"1952-02",180 +"1952-03",193 +"1952-04",181 +"1952-05",183 +"1952-06",218 +"1952-07",230 +"1952-08",242 +"1952-09",209 +"1952-10",191 +"1952-11",172 +"1952-12",194 +"1953-01",196 +"1953-02",196 +"1953-03",236 +"1953-04",235 +"1953-05",229 +"1953-06",243 +"1953-07",264 +"1953-08",272 +"1953-09",237 +"1953-10",211 +"1953-11",180 +"1953-12",201 +"1954-01",204 +"1954-02",188 +"1954-03",235 +"1954-04",227 +"1954-05",234 +"1954-06",264 +"1954-07",302 +"1954-08",293 +"1954-09",259 +"1954-10",229 +"1954-11",203 +"1954-12",229 +"1955-01",242 +"1955-02",233 +"1955-03",267 +"1955-04",269 +"1955-05",270 +"1955-06",315 +"1955-07",364 +"1955-08",347 +"1955-09",312 +"1955-10",274 +"1955-11",237 +"1955-12",278 +"1956-01",284 +"1956-02",277 +"1956-03",317 +"1956-04",313 +"1956-05",318 +"1956-06",374 +"1956-07",413 +"1956-08",405 +"1956-09",355 +"1956-10",306 +"1956-11",271 +"1956-12",306 +"1957-01",315 +"1957-02",301 +"1957-03",356 +"1957-04",348 +"1957-05",355 +"1957-06",422 +"1957-07",465 +"1957-08",467 +"1957-09",404 +"1957-10",347 +"1957-11",305 +"1957-12",336 +"1958-01",340 +"1958-02",318 +"1958-03",362 +"1958-04",348 +"1958-05",363 +"1958-06",435 +"1958-07",491 +"1958-08",505 +"1958-09",404 +"1958-10",359 +"1958-11",310 +"1958-12",337 +"1959-01",360 +"1959-02",342 +"1959-03",406 +"1959-04",396 +"1959-05",420 +"1959-06",472 +"1959-07",548 +"1959-08",559 +"1959-09",463 +"1959-10",407 +"1959-11",362 +"1959-12",405 +"1960-01",417 +"1960-02",391 +"1960-03",419 +"1960-04",461 +"1960-05",472 +"1960-06",535 +"1960-07",622 +"1960-08",606 +"1960-09",508 +"1960-10",461 +"1960-11",390 +"1960-12",432 + +International airline passengers: monthly totals in thousands. Jan 49 ? Dec 60 + diff --git a/2_pytorch/3_RNN/time-series/lstm-time-series.ipynb b/2_pytorch/3_RNN/time-series/lstm-time-series.ipynb new file mode 100644 index 0000000..c72baf5 --- /dev/null +++ b/2_pytorch/3_RNN/time-series/lstm-time-series.ipynb @@ -0,0 +1,385 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# RNN 用于时间序列的分析\n", + "前面我们讲到使用 RNN 做简单的图像分类的问题,但是 RNN 并不擅长此类问题,下面我们讲一讲如何将 RNN 用到时间序列的问题上,因为对于时序数据,后面的数据会用到前面的数据,LSTM 的记忆特性非常适合这种场景。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "首先我们可以读入数据,这个数据是 10 年飞机月流量,可视化得到下面的效果。" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "data_csv = pd.read_csv('./data.csv', usecols=[1])" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(data_csv)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "首先我们进行预处理,将数据中 `na` 的数据去掉,然后将数据标准化到 0 ~ 1 之间。" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 数据预处理\n", + "data_csv = data_csv.dropna()\n", + "dataset = data_csv.values\n", + "dataset = dataset.astype('float32')\n", + "max_value = np.max(dataset)\n", + "min_value = np.min(dataset)\n", + "scalar = max_value - min_value\n", + "dataset = list(map(lambda x: x / scalar, dataset))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "接着我们进行数据集的创建,我们想通过前面几个月的流量来预测当月的流量,比如我们希望通过前两个月的流量来预测当月的流量,我们可以将前两个月的流量当做输入,当月的流量当做输出。同时我们需要将我们的数据集分为训练集和测试集,通过测试集的效果来测试模型的性能,这里我们简单的将前面几年的数据作为训练集,后面两年的数据作为测试集。" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "def create_dataset(dataset, look_back=2):\n", + " dataX, dataY = [], []\n", + " for i in range(len(dataset) - look_back):\n", + " a = dataset[i:(i + look_back)]\n", + " dataX.append(a)\n", + " dataY.append(dataset[i + look_back])\n", + " return np.array(dataX), np.array(dataY)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "# 创建好输入输出\n", + "data_X, data_Y = create_dataset(dataset)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 划分训练集和测试集,70% 作为训练集\n", + "train_size = int(len(data_X) * 0.7)\n", + "test_size = len(data_X) - train_size\n", + "train_X = data_X[:train_size]\n", + "train_Y = data_Y[:train_size]\n", + "test_X = data_X[train_size:]\n", + "test_Y = data_Y[train_size:]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "最后,我们需要将数据改变一下形状,因为 RNN 读入的数据维度是 (seq, batch, feature),所以要重新改变一下数据的维度,这里只有一个序列,所以 batch 是 1,而输入的 feature 就是我们希望依据的几个月份,这里我们定的是两个月份,所以 feature 就是 2." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "import torch\n", + "\n", + "train_X = train_X.reshape(-1, 1, 2)\n", + "train_Y = train_Y.reshape(-1, 1, 1)\n", + "test_X = test_X.reshape(-1, 1, 2)\n", + "\n", + "train_x = torch.from_numpy(train_X)\n", + "train_y = torch.from_numpy(train_Y)\n", + "test_x = torch.from_numpy(test_X)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "from torch import nn\n", + "from torch.autograd import Variable" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "这里定义好模型,模型的第一部分是一个两层的 RNN,每一步模型接受两个月的输入作为特征,得到一个输出特征。接着通过一个线性层将 RNN 的输出回归到流量的具体数值,这里我们需要用 `view` 来重新排列,因为 `nn.Linear` 不接受三维的输入,所以我们先将前两维合并在一起,然后经过线性层之后再将其分开,最后输出结果。" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "# 定义模型\n", + "class lstm_reg(nn.Module):\n", + " def __init__(self, input_size, hidden_size, output_size=1, num_layers=2):\n", + " super(lstm_reg, self).__init__()\n", + " \n", + " self.rnn = nn.LSTM(input_size, hidden_size, num_layers) # rnn\n", + " self.reg = nn.Linear(hidden_size, output_size) # 回归\n", + " \n", + " def forward(self, x):\n", + " x, _ = self.rnn(x) # (seq, batch, hidden)\n", + " s, b, h = x.shape\n", + " x = x.view(s*b, h) # 转换成线性层的输入格式\n", + " x = self.reg(x)\n", + " x = x.view(s, b, -1)\n", + " return x" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "net = lstm_reg(2, 4)\n", + "\n", + "criterion = nn.MSELoss()\n", + "optimizer = torch.optim.Adam(net.parameters(), lr=1e-2)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "定义好网络结构,输入的维度是 2,因为我们使用两个月的流量作为输入,隐藏层的维度可以任意指定,这里我们选的 4" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch: 100, Loss: 0.00395\n", + "Epoch: 200, Loss: 0.00337\n", + "Epoch: 300, Loss: 0.00259\n", + "Epoch: 400, Loss: 0.00149\n", + "Epoch: 500, Loss: 0.00109\n", + "Epoch: 600, Loss: 0.00106\n", + "Epoch: 700, Loss: 0.00097\n", + "Epoch: 800, Loss: 0.00092\n", + "Epoch: 900, Loss: 0.00087\n", + "Epoch: 1000, Loss: 0.00105\n" + ] + } + ], + "source": [ + "# 开始训练\n", + "for e in range(1000):\n", + " var_x = Variable(train_x)\n", + " var_y = Variable(train_y)\n", + " # 前向传播\n", + " out = net(var_x)\n", + " loss = criterion(out, var_y)\n", + " # 反向传播\n", + " optimizer.zero_grad()\n", + " loss.backward()\n", + " optimizer.step()\n", + " if (e + 1) % 100 == 0: # 每 100 次输出结果\n", + " print('Epoch: {}, Loss: {:.5f}'.format(e + 1, loss.data[0]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "训练完成之后,我们可以用训练好的模型去预测后面的结果" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [ + "net = net.eval() # 转换成测试模式" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [], + "source": [ + "data_X = data_X.reshape(-1, 1, 2)\n", + "data_X = torch.from_numpy(data_X)\n", + "var_data = Variable(data_X)\n", + "pred_test = net(var_data) # 测试集的预测结果" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [], + "source": [ + "# 改变输出的格式\n", + "pred_test = pred_test.view(-1).data.numpy()" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 画出实际结果和预测的结果\n", + "plt.plot(pred_test, 'r', label='prediction')\n", + "plt.plot(dataset, 'b', label='real')\n", + "plt.legend(loc='best')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "这里蓝色的是真实的数据集,红色的是预测的结果,我们能够看到,使用 lstm 能够得到比较相近的结果,预测的趋势也与真实的数据集是相同的,因为其能够记忆之前的信息,而单纯的使用线性回归并不能得到较好的结果,从这个例子也说明了 RNN 对于序列有着非常好的性能。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**小练习:试试改变隐藏状态输出的特征数,看看有没有什么改变,同时试试使用简单的线性回归模型,看看会得到什么样的结果**" + ] + } + ], + "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.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/3_RNN/utils.py b/2_pytorch/3_RNN/utils.py new file mode 100644 index 0000000..36db36d --- /dev/null +++ b/2_pytorch/3_RNN/utils.py @@ -0,0 +1,144 @@ +from datetime import datetime + +import torch +import torch.nn.functional as F +from torch import nn +from torch.autograd import Variable + + +def get_acc(output, label): + total = output.shape[0] + _, pred_label = output.max(1) + num_correct = (pred_label == label).sum().data[0] + return num_correct / total + + +def train(net, train_data, valid_data, num_epochs, optimizer, criterion): + if torch.cuda.is_available(): + net = net.cuda() + prev_time = datetime.now() + for epoch in range(num_epochs): + train_loss = 0 + train_acc = 0 + net = net.train() + for im, label in train_data: + if torch.cuda.is_available(): + im = Variable(im.cuda()) # (bs, 3, h, w) + label = Variable(label.cuda()) # (bs, h, w) + else: + im = Variable(im) + label = Variable(label) + # forward + output = net(im) + loss = criterion(output, label) + # backward + optimizer.zero_grad() + loss.backward() + optimizer.step() + + train_loss += loss.data[0] + train_acc += get_acc(output, label) + + cur_time = datetime.now() + h, remainder = divmod((cur_time - prev_time).seconds, 3600) + m, s = divmod(remainder, 60) + time_str = "Time %02d:%02d:%02d" % (h, m, s) + if valid_data is not None: + valid_loss = 0 + valid_acc = 0 + net = net.eval() + for im, label in valid_data: + if torch.cuda.is_available(): + im = Variable(im.cuda(), volatile=True) + label = Variable(label.cuda(), volatile=True) + else: + im = Variable(im, volatile=True) + label = Variable(label, volatile=True) + output = net(im) + loss = criterion(output, label) + valid_loss += loss.data[0] + valid_acc += get_acc(output, label) + epoch_str = ( + "Epoch %d. Train Loss: %f, Train Acc: %f, Valid Loss: %f, Valid Acc: %f, " + % (epoch, train_loss / len(train_data), + train_acc / len(train_data), valid_loss / len(valid_data), + valid_acc / len(valid_data))) + else: + epoch_str = ("Epoch %d. Train Loss: %f, Train Acc: %f, " % + (epoch, train_loss / len(train_data), + train_acc / len(train_data))) + prev_time = cur_time + print(epoch_str + time_str) + + +def conv3x3(in_channel, out_channel, stride=1): + return nn.Conv2d( + in_channel, out_channel, 3, stride=stride, padding=1, bias=False) + + +class residual_block(nn.Module): + def __init__(self, in_channel, out_channel, same_shape=True): + super(residual_block, self).__init__() + self.same_shape = same_shape + stride = 1 if self.same_shape else 2 + + self.conv1 = conv3x3(in_channel, out_channel, stride=stride) + self.bn1 = nn.BatchNorm2d(out_channel) + + self.conv2 = conv3x3(out_channel, out_channel) + self.bn2 = nn.BatchNorm2d(out_channel) + if not self.same_shape: + self.conv3 = nn.Conv2d(in_channel, out_channel, 1, stride=stride) + + def forward(self, x): + out = self.conv1(x) + out = F.relu(self.bn1(out), True) + out = self.conv2(out) + out = F.relu(self.bn2(out), True) + + if not self.same_shape: + x = self.conv3(x) + return F.relu(x + out, True) + + +class resnet(nn.Module): + def __init__(self, in_channel, num_classes, verbose=False): + super(resnet, self).__init__() + self.verbose = verbose + + self.block1 = nn.Conv2d(in_channel, 64, 7, 2) + + self.block2 = nn.Sequential( + nn.MaxPool2d(3, 2), residual_block(64, 64), residual_block(64, 64)) + + self.block3 = nn.Sequential( + residual_block(64, 128, False), residual_block(128, 128)) + + self.block4 = nn.Sequential( + residual_block(128, 256, False), residual_block(256, 256)) + + self.block5 = nn.Sequential( + residual_block(256, 512, False), + residual_block(512, 512), nn.AvgPool2d(3)) + + self.classifier = nn.Linear(512, num_classes) + + def forward(self, x): + x = self.block1(x) + if self.verbose: + print('block 1 output: {}'.format(x.shape)) + x = self.block2(x) + if self.verbose: + print('block 2 output: {}'.format(x.shape)) + x = self.block3(x) + if self.verbose: + print('block 3 output: {}'.format(x.shape)) + x = self.block4(x) + if self.verbose: + print('block 4 output: {}'.format(x.shape)) + x = self.block5(x) + if self.verbose: + print('block 5 output: {}'.format(x.shape)) + x = x.view(x.shape[0], -1) + x = self.classifier(x) + return x diff --git a/2_pytorch/4_GAN/autoencoder.ipynb b/2_pytorch/4_GAN/autoencoder.ipynb new file mode 100644 index 0000000..50c78ec --- /dev/null +++ b/2_pytorch/4_GAN/autoencoder.ipynb @@ -0,0 +1,486 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 自动编码器\n", + "自动编码器最开始是作为一种数据压缩方法,同时还可以在卷积网络中进行逐层预训练,但是随后更多结构复杂的网络,比如 resnet 的出现使得我们能够训练任意深度的网络,自动编码器就不再使用在这个方面,下面我们讲一讲自动编码器的一个新的应用,这是随着生成对抗模型而出现的,就是使用自动编码器生成数据。\n", + "\n", + "自动编码器的一般结构如下\n", + "\n", + "![](https://ws1.sinaimg.cn/large/006tNc79ly1fmzr05igw3j30ni06j3z4.jpg)\n", + "\n", + "由上面的图片,我们能够看到,第一部分是编码器(encoder),第二部分是解码器(decoder),编码器和解码器都可以是任意的模型,通常我们可以使用神经网络作为我们的编码器和解码器,输入的数据经过神经网络降维到一个编码,然后又通过另外一个神经网络解码得到一个与原始数据一模一样的生成数据,通过比较原始数据和生成数据,希望他们尽可能接近,所以最小化他们之间的差异来训练网络中编码器和解码器的参数。\n", + "\n", + "当训练完成之后,我们如何生成数据呢?非常简单,我们只需要拿出解码器的部分,然后随机传入 code,就可以通过解码器生成各种各样的数据\n", + "\n", + "![](https://ws3.sinaimg.cn/large/006tNc79ly1fmzrx3d3ygj30nu06ijs2.jpg)\n", + "\n", + "下面我们使用 mnist 数据集来说明一个如何构建一个简单的自动编码器" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-01T10:09:21.223959Z", + "start_time": "2018-01-01T10:09:20.758909Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "import os\n", + "\n", + "import torch\n", + "from torch.autograd import Variable\n", + "from torch import nn\n", + "from torch.utils.data import DataLoader\n", + "\n", + "from torchvision.datasets import MNIST\n", + "from torchvision import transforms as tfs\n", + "from torchvision.utils import save_image" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "进行数据预处理和迭代器的构建" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-01T10:09:21.368959Z", + "start_time": "2018-01-01T10:09:21.341312Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "im_tfs = tfs.Compose([\n", + " tfs.ToTensor(),\n", + " tfs.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5]) # 标准化\n", + "])\n", + "\n", + "train_set = MNIST('./mnist', transform=im_tfs)\n", + "train_data = DataLoader(train_set, batch_size=128, shuffle=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-01T10:09:23.526707Z", + "start_time": "2018-01-01T10:09:23.489417Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "# 定义网络\n", + "class autoencoder(nn.Module):\n", + " def __init__(self):\n", + " super(autoencoder, self).__init__()\n", + " \n", + " self.encoder = nn.Sequential(\n", + " nn.Linear(28*28, 128),\n", + " nn.ReLU(True),\n", + " nn.Linear(128, 64),\n", + " nn.ReLU(True),\n", + " nn.Linear(64, 12),\n", + " nn.ReLU(True),\n", + " nn.Linear(12, 3) # 输出的 code 是 3 维,便于可视化\n", + " )\n", + " \n", + " self.decoder = nn.Sequential(\n", + " nn.Linear(3, 12),\n", + " nn.ReLU(True),\n", + " nn.Linear(12, 64),\n", + " nn.ReLU(True),\n", + " nn.Linear(64, 128),\n", + " nn.ReLU(True),\n", + " nn.Linear(128, 28*28),\n", + " nn.Tanh()\n", + " )\n", + "\n", + " def forward(self, x):\n", + " encode = self.encoder(x)\n", + " decode = self.decoder(encode)\n", + " return encode, decode" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "这里定义的编码器和解码器都是 4 层神经网络作为模型,中间使用 relu 激活函数,最后输出的 code 是三维,注意解码器最后我们使用 tanh 作为激活函数,因为输入图片标准化在 -1 ~ 1 之间,所以输出也要在 -1 ~ 1 这个范围内,最后我们可以验证一下" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-01T10:09:26.677033Z", + "start_time": "2018-01-01T10:09:26.657447Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "torch.Size([1, 3])\n" + ] + } + ], + "source": [ + "net = autoencoder()\n", + "x = Variable(torch.randn(1, 28*28)) # batch size 是 1\n", + "code, _ = net(x)\n", + "print(code.shape)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到最后得到的 code 就是三维的" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-01T10:09:27.739067Z", + "start_time": "2018-01-01T10:09:27.726089Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "criterion = nn.MSELoss(size_average=False)\n", + "optimizer = torch.optim.Adam(net.parameters(), lr=1e-3)\n", + "\n", + "def to_img(x):\n", + " '''\n", + " 定义一个函数将最后的结果转换回图片\n", + " '''\n", + " x = 0.5 * (x + 1.)\n", + " x = x.clamp(0, 1)\n", + " x = x.view(x.shape[0], 1, 28, 28)\n", + " return x" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-01T11:03:15.048160Z", + "start_time": "2018-01-01T10:09:28.323220Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch: 20, Loss: 109.0523\n", + "epoch: 40, Loss: 95.4651\n", + "epoch: 60, Loss: 89.8394\n", + "epoch: 80, Loss: 107.5620\n", + "epoch: 100, Loss: 92.2142\n" + ] + } + ], + "source": [ + "# 开始训练自动编码器\n", + "for e in range(100):\n", + " for im, _ in train_data:\n", + " im = im.view(im.shape[0], -1)\n", + " im = Variable(im)\n", + " # 前向传播\n", + " _, output = net(im)\n", + " loss = criterion(output, im) / im.shape[0] # 平均\n", + " # 反向传播\n", + " optimizer.zero_grad()\n", + " loss.backward()\n", + " optimizer.step()\n", + " \n", + " if (e+1) % 20 == 0: # 每 20 次,将生成的图片保存一下\n", + " print('epoch: {}, Loss: {:.4f}'.format(e + 1, loss.data[0]))\n", + " pic = to_img(output.cpu().data)\n", + " if not os.path.exists('./simple_autoencoder'):\n", + " os.mkdir('./simple_autoencoder')\n", + " save_image(pic, './simple_autoencoder/image_{}.png'.format(e + 1))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "训练完成之后我们可以看看生成的图片效果\n", + "\n", + "![](https://ws2.sinaimg.cn/large/006tNc79ly1fmzw2c26qtj306q0a2abh.jpg)\n", + "\n", + "可以看出,图片还是具有较好的清晰度" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-01T11:03:21.396147Z", + "start_time": "2018-01-01T11:03:19.489154Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "from matplotlib import cm\n", + "from mpl_toolkits.mplot3d import Axes3D\n", + "%matplotlib inline\n", + "\n", + "# 可视化结果\n", + "view_data = Variable((train_set.train_data[:200].type(torch.FloatTensor).view(-1, 28*28) / 255. - 0.5) / 0.5)\n", + "encode, _ = net(view_data) # 提取压缩的特征值\n", + "fig = plt.figure(2)\n", + "ax = Axes3D(fig) # 3D 图\n", + "# x, y, z 的数据值\n", + "X = encode.data[:, 0].numpy()\n", + "Y = encode.data[:, 1].numpy()\n", + "Z = encode.data[:, 2].numpy()\n", + "values = train_set.train_labels[:200].numpy() # 标签值\n", + "for x, y, z, s in zip(X, Y, Z, values):\n", + " c = cm.rainbow(int(255*s/9)) # 上色\n", + " ax.text(x, y, z, s, backgroundcolor=c) # 标位子\n", + "ax.set_xlim(X.min(), X.max())\n", + "ax.set_ylim(Y.min(), Y.max())\n", + "ax.set_zlim(Z.min(), Z.max())\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到,不同种类的图片进入自动编码器之后会被编码得不同,而相同类型的图片经过自动编码之后的编码在几何示意图上距离较近,在训练好自动编码器之后,我们可以给一个随机的 code,通过 decoder 生成图片" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-01T11:06:02.107432Z", + "start_time": "2018-01-01T11:06:01.958234Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAP8AAAD8CAYAAAC4nHJkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAD79JREFUeJzt3VuMXdV9x/HfH3t8G4PNMK4ZX6iN\nZWpirJIyMkVFVapABFYE+AWFh8hRUZyHIDVSH4roQ5FKJVSaVHkhkiNQTJWSVOJmRVGc1KowlRDC\nNviC7RgDNp7R2GMzBsYXPOPh34fZrgaYvdZwbvuY//cjWXPO/p91zmIzv9nnnLX3WubuAhDPFVV3\nAEA1CD8QFOEHgiL8QFCEHwiK8ANBEX4gKMIPBEX4gaCmt/LFzIzTCYEmc3ebyuPqOvKb2V1m9kcz\nO2xmD9fzXABay2o9t9/Mpkk6JOlOSX2SXpf0gLvvT7ThyA80WSuO/GslHXb3d919RNKvJN1bx/MB\naKF6wr9Y0rEJ9/uKbZ9hZhvNbIeZ7ajjtQA0WNO/8HP3TZI2SbztB9pJPUf+fklLJ9xfUmwDcBmo\nJ/yvS1ppZsvNbIak70ja0phuAWi2mt/2u/tFM3tI0lZJ0yQ97e5vNaxnAJqq5qG+ml6Mz/xA07Xk\nJB8Aly/CDwRF+IGgCD8QFOEHgiL8QFCEHwiK8ANBEX4gKMIPBEX4gaAIPxAU4QeCaunU3Wi9K65I\n/32fPj39K9DR0VHX64+OjpbWRkZG6nruepilL3xr5dWuVeHIDwRF+IGgCD8QFOEHgiL8QFCEHwiK\n8ANBMc5/GciNSXd2dpbWrr322mTb66+/PllfvPgLK7B9Rnd3d7J+4cKF0tp7772XbHvy5MlkfWho\nKFn/6KOPSmvnzp1Ltv3kk0+S9bGxsWQ9d55AO5xHwJEfCIrwA0ERfiAowg8ERfiBoAg/EBThB4Kq\na5zfzI5IGpY0Jumiu/c2olP4rNmzZyfrq1atKq3dcccdybarV69O1leuXJmsL1iwIFk/c+ZMaS03\njp87D2D//v3J+q5du0prBw4cSLatdxz/008/rat9KzTiJJ+/cfdTDXgeAC3E234gqHrD75J+b2Y7\nzWxjIzoEoDXqfdt/u7v3m9mfSPqDmR109+0TH1D8UeAPA9Bm6jryu3t/8XNQ0guS1k7ymE3u3suX\ngUB7qTn8ZtZpZldeui3pW5L2NapjAJqrnrf9CyW9UFxuOl3Sf7r77xrSKwBNV3P43f1dSX/ewL6E\nNW3atGR9zpw5NddzcwHk5u3Pzfufq8+bN6+0ljt/IVdPnUMgSQcPHiyt5fZ5TjuM09eLoT4gKMIP\nBEX4gaAIPxAU4QeCIvxAUEzd3QbqHU5LXX46PDycbPv+++8n6x9//HGyPmvWrGR95syZpbXUMKAk\nnTqVvlj00KFDNdc//PDDZNvUlONS/pLdywFHfiAowg8ERfiBoAg/EBThB4Ii/EBQhB8IinH+Fshd\nVpur56QuLx0cHEy2HR0dTdZzS1XnzgOYP39+aW3NmjXJtkePHk3WX3vttWR9YGCgtJb77/oqXLKb\nw5EfCIrwA0ERfiAowg8ERfiBoAg/EBThB4JinL8N5MaUc9NMp67nHxkZSbY9ffp0sp4bx8/1LXXN\nfm4ugPPnzyfr/f39yXpqLD/COH4OR34gKMIPBEX4gaAIPxAU4QeCIvxAUIQfCCo7zm9mT0v6tqRB\nd7+p2NYl6deSlkk6Iul+d08PGAeWG1Oud97+jo6O0trcuXOTbTs7O5P1a665Jlm/6qqrkvXVq1eX\n1i5evJhsm1tTYGhoKFn/Ksyt30xTOfL/QtJdn9v2sKRt7r5S0rbiPoDLSDb87r5d0uf/xN4raXNx\ne7Ok+xrcLwBNVutn/oXufmmOpOOSFjaoPwBapO5z+93dzaz0Q62ZbZS0sd7XAdBYtR75T5hZjyQV\nP0tniXT3Te7e6+69Nb4WgCaoNfxbJG0obm+Q9FJjugOgVbLhN7NnJb0q6c/MrM/MHpT0uKQ7zext\nSXcU9wFcRrKf+d39gZLSNxvcl6+s3Lz8uWviZ8+enawvWrSotHbLLbck23Z1dSXrqXMIpPx5Aqlz\nHHbt2pVs+8YbbyTrufMEkMYZfkBQhB8IivADQRF+ICjCDwRF+IGgmLq7BXJDfbkprJcsWZKs33DD\nDaW13t70iZXd3d3Jeu6S4LNnzybru3fvLq298847ybbDw8PJOurDkR8IivADQRF+ICjCDwRF+IGg\nCD8QFOEHgmKcvwXqmXpbyk/9nTuPICW1hLaU79uZM2dqfv7cOQRXXnllsp5agltiGe4cjvxAUIQf\nCIrwA0ERfiAowg8ERfiBoAg/EBTj/A2QG2fPjTePjo4m6/39/cn6nj17Smu5JbT7+vqS9enT6/sV\nWbBgQWnt1ltvTbY9fPhwsr59+/ZknSW60zjyA0ERfiAowg8ERfiBoAg/EBThB4Ii/EBQ2UFcM3ta\n0rclDbr7TcW2RyV9X9LJ4mGPuPtvm9XJr7rcdelDQ0PJ+sGDB0trp06dSrbNLXM9Z86cZH3NmjXJ\n+t13311aW7FiRbLtbbfdlqy/+uqryXru/InopnLk/4WkuybZ/u/ufnPxj+ADl5ls+N19u6T0oQfA\nZaeez/wPmdkeM3vazK5uWI8AtESt4f+ZpBWSbpY0IOnHZQ80s41mtsPMdtT4WgCaoKbwu/sJdx9z\n908l/VzS2sRjN7l7r7unV4wE0FI1hd/MeibcXS9pX2O6A6BVpjLU96ykb0jqNrM+Sf8k6RtmdrMk\nl3RE0g+a2EcATZANv7s/MMnmp5rQl7aWumY/Ny9/rj42Npas584DOHnyZGltcHAw2TY3zp+b1z83\nX8CFCxdKa9ddd12ybW7e/tx+RRp7DwiK8ANBEX4gKMIPBEX4gaAIPxAUU3cXcsNGqSmsc9Nb1zu1\nd05qKHBkZKSu1549e3ayPn/+/GQ9NVSY22/nz59P1hnqqw97DwiK8ANBEX4gKMIPBEX4gaAIPxAU\n4QeCYpy/kBuLT413z5gxo67Xzi0lnRuLz42Hp+TG2nOX7K5dWzqJk6T09Ny5fu/evTtZz10KjTSO\n/EBQhB8IivADQRF+ICjCDwRF+IGgCD8QVJhx/tw4fm68OzWNdO6a9twy17lx/tzU3adPny6t5abm\n7u7uTtbvueeeZH3dunXJ+tVXly/juG9feq2XvXv3Juv1nN8AjvxAWIQfCIrwA0ERfiAowg8ERfiB\noAg/EFR2nN/Mlkp6RtJCSS5pk7v/1My6JP1a0jJJRyTd7+7lA84Vy43zd3R0JOup69pT16xLUk9P\nT7I+c+bMZP2DDz5I1o8fP15ay51j0Nvbm6yvX78+WV+6dGmy3tfXV1p78sknk237+/uT9dz5EUib\nypH/oqS/d/evSfpLST80s69JeljSNndfKWlbcR/AZSIbfncfcPddxe1hSQckLZZ0r6TNxcM2S7qv\nWZ0E0Hhf6jO/mS2T9HVJr0la6O4DRem4xj8WALhMTPncfjObK+k5ST9y948nfoZ2dzezSSeaM7ON\nkjbW21EAjTWlI7+ZdWg8+L909+eLzSfMrKeo90ganKytu29y9153T3+zBKClsuG38UP8U5IOuPtP\nJpS2SNpQ3N4g6aXGdw9As0zlbf9fSfqupL1m9max7RFJj0v6LzN7UNJRSfc3p4uNkVvOOVefO3du\naW3VqlXJtjfeeGPNzy1Jo6OjyXrqkt5c31auXJmsL1q0KFk/ceJEsv7YY4+V1l555ZVk29ylzKhP\nNvzu/r+SygbJv9nY7gBoFc7wA4Ii/EBQhB8IivADQRF+ICjCDwQVZuru3OWfuUt+U+cBdHZ2Jtsu\nW7YsWV++fHmy3tXVlaynzhPI/XefPXs2Wd+5c2ey/sQTTyTrW7duLa0NDw8n2+aWJkd9OPIDQRF+\nICjCDwRF+IGgCD8QFOEHgiL8QFBhxvlzRkZGkvXU9Nj79+9Ptp03b16ynltqesmSJcn6rFmzSmvH\njh1Ltn355ZeT9RdffDFZP3ToULLOMtrtiyM/EBThB4Ii/EBQhB8IivADQRF+ICjCDwRlrbxmumxJ\nrxa9drI+fXr6lId6rufPXY+fa5/7f3Tu3LnS2uDgpAspTamtJI2NjSXrXHPfftw9/cte4MgPBEX4\ngaAIPxAU4QeCIvxAUIQfCIrwA0Flx/nNbKmkZyQtlOSSNrn7T83sUUnfl3SyeOgj7v7bzHMxKAw0\n2VTH+acS/h5JPe6+y8yulLRT0n2S7pd0xt3/baqdIvxA8001/NmZfNx9QNJAcXvYzA5IWlxf9wBU\n7Ut95jezZZK+Lum1YtNDZrbHzJ42s6tL2mw0sx1mtqOungJoqCmf229mcyW9LOlf3P15M1so6ZTG\nvwf4Z41/NPjbzHPwth9osoZ95pckM+uQ9BtJW939J5PUl0n6jbvflHkewg80WcMu7LHxy+GeknRg\nYvCLLwIvWS9p35ftJIDqTOXb/tslvSJpr6RL6z0/IukBSTdr/G3/EUk/KL4cTD0XR36gyRr6tr9R\nCD/QfFzPDyCJ8ANBEX4gKMIPBEX4gaAIPxAU4QeCIvxAUIQfCIrwA0ERfiAowg8ERfiBoAg/EFR2\nAs8GOyXp6IT73cW2dtSufWvXfkn0rVaN7NufTvWBLb2e/wsvbrbD3Xsr60BCu/atXfsl0bdaVdU3\n3vYDQRF+IKiqw7+p4tdPade+tWu/JPpWq0r6VulnfgDVqfrID6AilYTfzO4ysz+a2WEze7iKPpQx\nsyNmttfM3qx6ibFiGbRBM9s3YVuXmf3BzN4ufk66TFpFfXvUzPqLffemma2rqG9Lzex/zGy/mb1l\nZn9XbK903yX6Vcl+a/nbfjObJumQpDsl9Ul6XdID7r6/pR0pYWZHJPW6e+Vjwmb215LOSHrm0mpI\nZvavkobc/fHiD+fV7v4PbdK3R/UlV25uUt/KVpb+nircd41c8boRqjjyr5V02N3fdfcRSb+SdG8F\n/Wh77r5d0tDnNt8raXNxe7PGf3larqRvbcHdB9x9V3F7WNKllaUr3XeJflWiivAvlnRswv0+tdeS\n3y7p92a208w2Vt2ZSSycsDLScUkLq+zMJLIrN7fS51aWbpt9V8uK143GF35fdLu7/4WkuyX9sHh7\n25Z8/DNbOw3X/EzSCo0v4zYg6cdVdqZYWfo5ST9y948n1qrcd5P0q5L9VkX4+yUtnXB/SbGtLbh7\nf/FzUNILGv+Y0k5OXFoktfg5WHF//p+7n3D3MXf/VNLPVeG+K1aWfk7SL939+WJz5ftusn5Vtd+q\nCP/rklaa2XIzmyHpO5K2VNCPLzCzzuKLGJlZp6Rvqf1WH94iaUNxe4Oklyrsy2e0y8rNZStLq+J9\n13YrXrt7y/9JWqfxb/zfkfSPVfShpF/XS9pd/Hur6r5JelbjbwNHNf7dyIOSrpG0TdLbkv5bUlcb\n9e0/NL6a8x6NB62nor7drvG39HskvVn8W1f1vkv0q5L9xhl+QFB84QcERfiBoAg/EBThB4Ii/EBQ\nhB8IivADQRF+IKj/A6nyKozZdG0BAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "code = Variable(torch.FloatTensor([[1.19, -3.36, 2.06]])) # 给一个 code 是 (1.19, -3.36, 2.06)\n", + "decode = net.decoder(code)\n", + "decode_img = to_img(decode).squeeze()\n", + "decode_img = decode_img.data.numpy() * 255\n", + "plt.imshow(decode_img.astype('uint8'), cmap='gray') # 生成图片 3" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "这里我们仅仅使用多层神经网络定义了一个自动编码器,当然你会想到,为什么不使用效果更好的卷积神经网络呢?我们当然可以使用卷积神经网络来定义,下面我们就重新定义一个卷积神经网络来进行 autoencoder" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-01T11:06:06.346907Z", + "start_time": "2018-01-01T11:06:06.284342Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "class conv_autoencoder(nn.Module):\n", + " def __init__(self):\n", + " super(conv_autoencoder, self).__init__()\n", + " \n", + " self.encoder = nn.Sequential(\n", + " nn.Conv2d(1, 16, 3, stride=3, padding=1), # (b, 16, 10, 10)\n", + " nn.ReLU(True),\n", + " nn.MaxPool2d(2, stride=2), # (b, 16, 5, 5)\n", + " nn.Conv2d(16, 8, 3, stride=2, padding=1), # (b, 8, 3, 3)\n", + " nn.ReLU(True),\n", + " nn.MaxPool2d(2, stride=1) # (b, 8, 2, 2)\n", + " )\n", + " \n", + " self.decoder = nn.Sequential(\n", + " nn.ConvTranspose2d(8, 16, 3, stride=2), # (b, 16, 5, 5)\n", + " nn.ReLU(True),\n", + " nn.ConvTranspose2d(16, 8, 5, stride=3, padding=1), # (b, 8, 15, 15)\n", + " nn.ReLU(True),\n", + " nn.ConvTranspose2d(8, 1, 2, stride=2, padding=1), # (b, 1, 28, 28)\n", + " nn.Tanh()\n", + " )\n", + "\n", + " def forward(self, x):\n", + " encode = self.encoder(x)\n", + " decode = self.decoder(encode)\n", + " return encode, decode" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-01T11:06:10.043014Z", + "start_time": "2018-01-01T11:06:06.944171Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "conv_net = conv_autoencoder()\n", + "if torch.cuda.is_available():\n", + " conv_net = conv_net.cuda()\n", + "optimizer = torch.optim.Adam(conv_net.parameters(), lr=1e-3, weight_decay=1e-5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "对于卷积网络中,我们可以对输入进行上采样,那么对于卷积神经网络,我们可以使用转置卷积进行这个操作,这里我们先不展开讨论转置卷积,如果想先了解转置卷积,可以看看[语义分割](https://github.com/SherlockLiao/code-of-learn-deep-learning-with-pytorch/blob/master/chapter9_Computer-Vision/segmentation/fcn.ipynb)的部分,里面有转置卷积的介绍\n", + "\n", + "在 pytorch 中使用转置卷积就是上面的操作,`torch.nn.ConvTranspose2d()` 就可以了" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-01T11:15:44.595927Z", + "start_time": "2018-01-01T11:06:24.760698Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch: 20, Loss: 101.2340\n", + "epoch: 40, Loss: 86.2428\n" + ] + } + ], + "source": [ + "# 开始训练自动编码器\n", + "for e in range(40):\n", + " for im, _ in train_data:\n", + " if torch.cuda.is_available():\n", + " im = im.cuda()\n", + " im = Variable(im)\n", + " # 前向传播\n", + " _, output = conv_net(im)\n", + " loss = criterion(output, im) / im.shape[0] # 平均\n", + " # 反向传播\n", + " optimizer.zero_grad()\n", + " loss.backward()\n", + " optimizer.step()\n", + " \n", + " if (e+1) % 20 == 0: # 每 20 次,将生成的图片保存一下\n", + " print('epoch: {}, Loss: {:.4f}'.format(e+1, loss.data[0]))\n", + " pic = to_img(output.cpu().data)\n", + " if not os.path.exists('./conv_autoencoder'):\n", + " os.mkdir('./conv_autoencoder')\n", + " save_image(pic, './conv_autoencoder/image_{}.png'.format(e+1))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "为了时间更短,只跑 40 次,如果有条件可以再 gpu 上跑跑\n", + "\n", + "最后我们看看结果\n", + "\n", + "![](https://ws1.sinaimg.cn/large/006tNc79ly1fmzww48to3j306q0a20ud.jpg)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "这里我们展示了简单的自动编码器,也用了多层神经网络和卷积神经网络作为例子,但是自动编码器存在一个问题,我们并不能任意生成我们想要的数据,因为我们并不知道 encode 之后的编码到底是什么样的概率分布,所以有一个改进的版本变分自动编码器,其能够解决这个问题" + ] + } + ], + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/4_GAN/autoencoder.py b/2_pytorch/4_GAN/autoencoder.py new file mode 100644 index 0000000..97cdd56 --- /dev/null +++ b/2_pytorch/4_GAN/autoencoder.py @@ -0,0 +1,250 @@ +# -*- coding: utf-8 -*- +# --- +# jupyter: +# jupytext_format_version: '1.2' +# 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.5.2 +# --- + +# # 自动编码器 +# 自动编码器最开始是作为一种数据压缩方法,同时还可以在卷积网络中进行逐层预训练,但是随后更多结构复杂的网络,比如 resnet 的出现使得我们能够训练任意深度的网络,自动编码器就不再使用在这个方面,下面我们讲一讲自动编码器的一个新的应用,这是随着生成对抗模型而出现的,就是使用自动编码器生成数据。 +# +# 自动编码器的一般结构如下 +# +# ![](https://ws1.sinaimg.cn/large/006tNc79ly1fmzr05igw3j30ni06j3z4.jpg) +# +# 由上面的图片,我们能够看到,第一部分是编码器(encoder),第二部分是解码器(decoder),编码器和解码器都可以是任意的模型,通常我们可以使用神经网络作为我们的编码器和解码器,输入的数据经过神经网络降维到一个编码,然后又通过另外一个神经网络解码得到一个与原始数据一模一样的生成数据,通过比较原始数据和生成数据,希望他们尽可能接近,所以最小化他们之间的差异来训练网络中编码器和解码器的参数。 +# +# 当训练完成之后,我们如何生成数据呢?非常简单,我们只需要拿出解码器的部分,然后随机传入 code,就可以通过解码器生成各种各样的数据 +# +# ![](https://ws3.sinaimg.cn/large/006tNc79ly1fmzrx3d3ygj30nu06ijs2.jpg) +# +# 下面我们使用 mnist 数据集来说明一个如何构建一个简单的自动编码器 + +# + {"ExecuteTime": {"start_time": "2018-01-01T10:09:20.758909Z", "end_time": "2018-01-01T10:09:21.223959Z"}} +import os + +import torch +from torch.autograd import Variable +from torch import nn +from torch.utils.data import DataLoader + +from torchvision.datasets import MNIST +from torchvision import transforms as tfs +from torchvision.utils import save_image +# - + +# 进行数据预处理和迭代器的构建 + +# + {"ExecuteTime": {"start_time": "2018-01-01T10:09:21.341312Z", "end_time": "2018-01-01T10:09:21.368959Z"}} +im_tfs = tfs.Compose([ + tfs.ToTensor(), + tfs.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5]) # 标准化 +]) + +train_set = MNIST('./mnist', transform=im_tfs) +train_data = DataLoader(train_set, batch_size=128, shuffle=True) + +# + {"ExecuteTime": {"start_time": "2018-01-01T10:09:23.489417Z", "end_time": "2018-01-01T10:09:23.526707Z"}} +# 定义网络 +class autoencoder(nn.Module): + def __init__(self): + super(autoencoder, self).__init__() + + self.encoder = nn.Sequential( + nn.Linear(28*28, 128), + nn.ReLU(True), + nn.Linear(128, 64), + nn.ReLU(True), + nn.Linear(64, 12), + nn.ReLU(True), + nn.Linear(12, 3) # 输出的 code 是 3 维,便于可视化 + ) + + self.decoder = nn.Sequential( + nn.Linear(3, 12), + nn.ReLU(True), + nn.Linear(12, 64), + nn.ReLU(True), + nn.Linear(64, 128), + nn.ReLU(True), + nn.Linear(128, 28*28), + nn.Tanh() + ) + + def forward(self, x): + encode = self.encoder(x) + decode = self.decoder(encode) + return encode, decode +# - + +# 这里定义的编码器和解码器都是 4 层神经网络作为模型,中间使用 relu 激活函数,最后输出的 code 是三维,注意解码器最后我们使用 tanh 作为激活函数,因为输入图片标准化在 -1 ~ 1 之间,所以输出也要在 -1 ~ 1 这个范围内,最后我们可以验证一下 + +# + {"ExecuteTime": {"start_time": "2018-01-01T10:09:26.657447Z", "end_time": "2018-01-01T10:09:26.677033Z"}} +net = autoencoder() +x = Variable(torch.randn(1, 28*28)) # batch size 是 1 +code, _ = net(x) +print(code.shape) +# - + +# 可以看到最后得到的 code 就是三维的 + +# + {"ExecuteTime": {"start_time": "2018-01-01T10:09:27.726089Z", "end_time": "2018-01-01T10:09:27.739067Z"}} +criterion = nn.MSELoss(size_average=False) +optimizer = torch.optim.Adam(net.parameters(), lr=1e-3) + +def to_img(x): + ''' + 定义一个函数将最后的结果转换回图片 + ''' + x = 0.5 * (x + 1.) + x = x.clamp(0, 1) + x = x.view(x.shape[0], 1, 28, 28) + return x + +# + {"ExecuteTime": {"start_time": "2018-01-01T10:09:28.323220Z", "end_time": "2018-01-01T11:03:15.048160Z"}} +# 开始训练自动编码器 +for e in range(100): + for im, _ in train_data: + im = im.view(im.shape[0], -1) + im = Variable(im) + # 前向传播 + _, output = net(im) + loss = criterion(output, im) / im.shape[0] # 平均 + # 反向传播 + optimizer.zero_grad() + loss.backward() + optimizer.step() + + if (e+1) % 20 == 0: # 每 20 次,将生成的图片保存一下 + print('epoch: {}, Loss: {:.4f}'.format(e + 1, loss.data[0])) + pic = to_img(output.cpu().data) + if not os.path.exists('./simple_autoencoder'): + os.mkdir('./simple_autoencoder') + save_image(pic, './simple_autoencoder/image_{}.png'.format(e + 1)) +# - + +# 训练完成之后我们可以看看生成的图片效果 +# +# ![](https://ws2.sinaimg.cn/large/006tNc79ly1fmzw2c26qtj306q0a2abh.jpg) +# +# 可以看出,图片还是具有较好的清晰度 + +# + {"ExecuteTime": {"start_time": "2018-01-01T11:03:19.489154Z", "end_time": "2018-01-01T11:03:21.396147Z"}} +import matplotlib.pyplot as plt +from matplotlib import cm +from mpl_toolkits.mplot3d import Axes3D +# %matplotlib inline + +# 可视化结果 +view_data = Variable((train_set.train_data[:200].type(torch.FloatTensor).view(-1, 28*28) / 255. - 0.5) / 0.5) +encode, _ = net(view_data) # 提取压缩的特征值 +fig = plt.figure(2) +ax = Axes3D(fig) # 3D 图 +# x, y, z 的数据值 +X = encode.data[:, 0].numpy() +Y = encode.data[:, 1].numpy() +Z = encode.data[:, 2].numpy() +values = train_set.train_labels[:200].numpy() # 标签值 +for x, y, z, s in zip(X, Y, Z, values): + c = cm.rainbow(int(255*s/9)) # 上色 + ax.text(x, y, z, s, backgroundcolor=c) # 标位子 +ax.set_xlim(X.min(), X.max()) +ax.set_ylim(Y.min(), Y.max()) +ax.set_zlim(Z.min(), Z.max()) +plt.show() +# - + +# 可以看到,不同种类的图片进入自动编码器之后会被编码得不同,而相同类型的图片经过自动编码之后的编码在几何示意图上距离较近,在训练好自动编码器之后,我们可以给一个随机的 code,通过 decoder 生成图片 + +# + {"ExecuteTime": {"start_time": "2018-01-01T11:06:01.958234Z", "end_time": "2018-01-01T11:06:02.107432Z"}} +code = Variable(torch.FloatTensor([[1.19, -3.36, 2.06]])) # 给一个 code 是 (1.19, -3.36, 2.06) +decode = net.decoder(code) +decode_img = to_img(decode).squeeze() +decode_img = decode_img.data.numpy() * 255 +plt.imshow(decode_img.astype('uint8'), cmap='gray') # 生成图片 3 +# - + +# 这里我们仅仅使用多层神经网络定义了一个自动编码器,当然你会想到,为什么不使用效果更好的卷积神经网络呢?我们当然可以使用卷积神经网络来定义,下面我们就重新定义一个卷积神经网络来进行 autoencoder + +# + {"ExecuteTime": {"start_time": "2018-01-01T11:06:06.284342Z", "end_time": "2018-01-01T11:06:06.346907Z"}} +class conv_autoencoder(nn.Module): + def __init__(self): + super(conv_autoencoder, self).__init__() + + self.encoder = nn.Sequential( + nn.Conv2d(1, 16, 3, stride=3, padding=1), # (b, 16, 10, 10) + nn.ReLU(True), + nn.MaxPool2d(2, stride=2), # (b, 16, 5, 5) + nn.Conv2d(16, 8, 3, stride=2, padding=1), # (b, 8, 3, 3) + nn.ReLU(True), + nn.MaxPool2d(2, stride=1) # (b, 8, 2, 2) + ) + + self.decoder = nn.Sequential( + nn.ConvTranspose2d(8, 16, 3, stride=2), # (b, 16, 5, 5) + nn.ReLU(True), + nn.ConvTranspose2d(16, 8, 5, stride=3, padding=1), # (b, 8, 15, 15) + nn.ReLU(True), + nn.ConvTranspose2d(8, 1, 2, stride=2, padding=1), # (b, 1, 28, 28) + nn.Tanh() + ) + + def forward(self, x): + encode = self.encoder(x) + decode = self.decoder(encode) + return encode, decode + +# + {"ExecuteTime": {"start_time": "2018-01-01T11:06:06.944171Z", "end_time": "2018-01-01T11:06:10.043014Z"}} +conv_net = conv_autoencoder() +if torch.cuda.is_available(): + conv_net = conv_net.cuda() +optimizer = torch.optim.Adam(conv_net.parameters(), lr=1e-3, weight_decay=1e-5) +# - + +# 对于卷积网络中,我们可以对输入进行上采样,那么对于卷积神经网络,我们可以使用转置卷积进行这个操作,这里我们先不展开讨论转置卷积,如果想先了解转置卷积,可以看看[语义分割](https://github.com/SherlockLiao/code-of-learn-deep-learning-with-pytorch/blob/master/chapter9_Computer-Vision/segmentation/fcn.ipynb)的部分,里面有转置卷积的介绍 +# +# 在 pytorch 中使用转置卷积就是上面的操作,`torch.nn.ConvTranspose2d()` 就可以了 + +# + {"ExecuteTime": {"start_time": "2018-01-01T11:06:24.760698Z", "end_time": "2018-01-01T11:15:44.595927Z"}} +# 开始训练自动编码器 +for e in range(40): + for im, _ in train_data: + if torch.cuda.is_available(): + im = im.cuda() + im = Variable(im) + # 前向传播 + _, output = conv_net(im) + loss = criterion(output, im) / im.shape[0] # 平均 + # 反向传播 + optimizer.zero_grad() + loss.backward() + optimizer.step() + + if (e+1) % 20 == 0: # 每 20 次,将生成的图片保存一下 + print('epoch: {}, Loss: {:.4f}'.format(e+1, loss.data[0])) + pic = to_img(output.cpu().data) + if not os.path.exists('./conv_autoencoder'): + os.mkdir('./conv_autoencoder') + save_image(pic, './conv_autoencoder/image_{}.png'.format(e+1)) +# - + +# 为了时间更短,只跑 40 次,如果有条件可以再 gpu 上跑跑 +# +# 最后我们看看结果 +# +# ![](https://ws1.sinaimg.cn/large/006tNc79ly1fmzww48to3j306q0a20ud.jpg) + +# 这里我们展示了简单的自动编码器,也用了多层神经网络和卷积神经网络作为例子,但是自动编码器存在一个问题,我们并不能任意生成我们想要的数据,因为我们并不知道 encode 之后的编码到底是什么样的概率分布,所以有一个改进的版本变分自动编码器,其能够解决这个问题 diff --git a/2_pytorch/4_GAN/gan.ipynb b/2_pytorch/4_GAN/gan.ipynb new file mode 100644 index 0000000..0fe3e69 --- /dev/null +++ b/2_pytorch/4_GAN/gan.ipynb @@ -0,0 +1,1431 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "# 生成对抗网络\n", + "前面我们讲了自动编码器和变分自动编码器,不管是哪一个,都是通过计算生成图像和输入图像在每个像素点的误差来生成 loss,这一点是特别不好的,因为不同的像素点可能造成不同的视觉结果,但是可能他们的 loss 是相同的,所以通过单个像素点来得到 loss 是不准确的,这个时候我们需要一种全新的 loss 定义方式,就是通过对抗进行学习。\n", + "\n", + "## GANs\n", + "这种训练方式定义了一种全新的网络结构,就是生成对抗网络,也就是 GANs。这一部分,我们会形象地介绍生成对抗网络,以及用代码进行实现,而在书中会更加详细地介绍 GANs 的数学推导。\n", + "\n", + "根据这个名字就可以知道这个网络是由两部分组成的,第一部分是生成,第二部分是对抗。简单来说,就是有一个生成网络和一个判别网络,通过训练让两个网络相互竞争,生成网络来生成假的数据,对抗网络通过判别器去判别真伪,最后希望生成器生成的数据能够以假乱真。\n", + "\n", + "可以用这个图来简单的看一看这两个过程\n", + "\n", + "![](https://ws3.sinaimg.cn/large/006tNc79gy1fn22oma081j30k007cgll.jpg)\n", + "\n", + "### Discriminator Network\n", + "首先我们来讲一下对抗过程,因为这个过程更加简单。\n", + "\n", + "对抗过程简单来说就是一个判断真假的判别器,相当于一个二分类问题,我们输入一张真的图片希望判别器输出的结果是1,输入一张假的图片希望判别器输出的结果是0。这其实已经和原图片的 label 没有关系了,不管原图片到底是一个多少类别的图片,他们都统一称为真的图片,label 是 1 表示真实的;而生成的假的图片的 label 是 0 表示假的。\n", + "\n", + "我们训练的过程就是希望这个判别器能够正确的判出真的图片和假的图片,这其实就是一个简单的二分类问题,对于这个问题可以用我们前面讲过的很多方法去处理,比如 logistic 回归,深层网络,卷积神经网络,循环神经网络都可以。\n", + "\n", + "### Generator Network\n", + "接着我们看看生成网络如何生成一张假的图片。首先给出一个简单的高维的正态分布的噪声向量,如上图所示的 D-dimensional noise vector,这个时候我们可以通过仿射变换,也就是 xw+b 将其映射到一个更高的维度,然后将他重新排列成一个矩形,这样看着更像一张图片,接着进行一些卷积、转置卷积、池化、激活函数等进行处理,最后得到了一个与我们输入图片大小一模一样的噪音矩阵,这就是我们所说的假的图片。\n", + "\n", + "这个时候我们如何去训练这个生成器呢?这就需要通过对抗学习,增大判别器判别这个结果为真的概率,通过这个步骤不断调整生成器的参数,希望生成的图片越来越像真的,而在这一步中我们不会更新判别器的参数,因为如果判别器不断被优化,可能生成器无论生成什么样的图片都无法骗过判别器。\n", + "\n", + "生成器的效果可以看看下面的图示\n", + "\n", + "![](https://ws3.sinaimg.cn/large/006tNc79gy1fn22s47jnfj30k005c74b.jpg)\n", + "\n", + "关于生成对抗网络,出现了很多变形,比如 WGAN,LS-GAN 等等,这一节我们只使用 mnist 举一些简单的例子来说明,更复杂的网络结构可以再 github 上找到相应的实现" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-04T09:35:19.703119Z", + "start_time": "2018-01-04T09:35:18.858664Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "import torch\n", + "from torch import nn\n", + "from torch.autograd import Variable\n", + "\n", + "import torchvision.transforms as tfs\n", + "from torch.utils.data import DataLoader, sampler\n", + "from torchvision.datasets import MNIST\n", + "\n", + "import numpy as np\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import matplotlib.gridspec as gridspec\n", + "\n", + "%matplotlib inline\n", + "plt.rcParams['figure.figsize'] = (10.0, 8.0) # 设置画图的尺寸\n", + "plt.rcParams['image.interpolation'] = 'nearest'\n", + "plt.rcParams['image.cmap'] = 'gray'\n", + "\n", + "def show_images(images): # 定义画图工具\n", + " images = np.reshape(images, [images.shape[0], -1])\n", + " sqrtn = int(np.ceil(np.sqrt(images.shape[0])))\n", + " sqrtimg = int(np.ceil(np.sqrt(images.shape[1])))\n", + "\n", + " fig = plt.figure(figsize=(sqrtn, sqrtn))\n", + " gs = gridspec.GridSpec(sqrtn, sqrtn)\n", + " gs.update(wspace=0.05, hspace=0.05)\n", + "\n", + " for i, img in enumerate(images):\n", + " ax = plt.subplot(gs[i])\n", + " plt.axis('off')\n", + " ax.set_xticklabels([])\n", + " ax.set_yticklabels([])\n", + " ax.set_aspect('equal')\n", + " plt.imshow(img.reshape([sqrtimg,sqrtimg]))\n", + " return \n", + "\n", + "def preprocess_img(x):\n", + " x = tfs.ToTensor()(x)\n", + " return (x - 0.5) / 0.5\n", + "\n", + "def deprocess_img(x):\n", + " return (x + 1.0) / 2.0" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-04T09:35:28.869280Z", + "start_time": "2018-01-04T09:35:20.674313Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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\nEYBKlSqlfN2jjz7q3d3EkWrVqgFw7733AtCsWbO0r/3ggw9yMiajaIYPHw7Aqaeemu/n//77LwAv\nvfRSzscUBFtssQXg1Ecpzb169QIS379Vq1aFM7hSsM022wBw5513AtCmTRsAttxySwA2bkx0a1y+\nfDmHHnpoyvf4/vvvAx6lURS1atUCYPz48YA7fmr75eXleUrXUUcdBYRXU/DII48Abr+ZPHlyxu/x\n448/AlYXEXV0nNQqzU033QTAySefDLjjTIcOHTzVtnHjxgB8++23OR1r0AwcODDf/1VTUBhHH300\nADNmzCjRZ5oSaxiGYRiGYcSOPN3FFuvFeXnFf3EG3H333QBccsklKZ+fPn06AD169GDBggVZ+9yN\nGzfmJf8/qPkJpS2MGzcOgN133x1wd3KpaNu2LQDPPfdcxp9XkvlVqFABgO222y7fz+X7zMtLvOVe\ne+1V5OdLqZwwYQKQSF/477//ivy94hL09tt7770Bp7RqewlVsAflk8z1/lmlShUAXnvtNcB5u8RO\nO+3Er7/+mrXPC3p+TZs2BZw6IHUu6fM0Du9n9evXB9yqUM2aNQHYZ599gMy8bLnefprPjjvuCMCZ\nZ54JuGPInnvu6SlAUvlKQ67mV7duXcApXFoR8W+/vLw879/Tpk0DXJ1FSSjN/LSS1qBBgwJj1P9T\njT/5/z/99BMAy5YtAxK+bPkrs0Gutp9WVidNmgTA8ccfDxQ87/3666+MHTs238/GjBkDwA8//JDx\n5wY5v+rVq3vHk2233RZwXvtLL70UgL///htwtQXff/89b7zxBuBqevbdd98SjyHXx5d06PhaHNW1\nMLT/C//80mFKrGEYhmEYhhE7QvXE3nbbbQCcddZZhb7uuOOOy8VwAqd69epAes9vKu6//37A3bUq\ntSAoHnroIQDatWuXtfeUgvL8889z/vnnA/D7779n7f2DYIcddkirwIqy5lvWPuZXywcPHgzEq6L2\nxBNP5MknnwRgq622yvecP2VBOdQtWrTg6quvBpz6JxUsinPfZZddAKdMnn322UD6tIw1a9bw119/\n5WZwWaBjx44ADBs2DHBe7Y8//hiA0aNHA07ha9SoES+++CKA540Ni0MOOQSA7t27A07JL6wOwo/O\nE1JzJ0yYQKNGjbI5zMDYaqutvJXHp556CnDbT8eXxYsXAy4lZPvtt/cyt0WdOnUAaN++ffCDLoTN\nN98ccKpjjx49vPN5OnTckR+6U6dOrFy5EnCrfKoHiqM3Vkp0SRRY+V/ffPPNUo/DlFjDMAzDMAwj\ndoSqxMp/Jk+JkCI0YsSInI8pm9x1110A9OzZM+XzqlQsjB122AFwlblBo0rKjz76CHC+npJQrlw5\nAK/iu3Xr1p4nT4pJVKlatWpaBXbWrFkAzJ8/P5dDCpzddtsNoECFvn7+zz//5HxMJeWll17yjiNz\n584F4IQTTgBctbeUBO3jI0aM8H6mffeVV17J1ZCLxYEHHggkusSdfvrpgEuVUCX8PffcAziF66KL\nLgISPlEpy3FACqwSadQ17dlnnwWcb19Z2h06dPBU2ZtvvjmnY02HVtJKgjzps2fPBuDLL7/MypiC\nRKsDQ4cOLbCap9WMK664AnC1EvLiDxw4kMsuuyzl74SN6likCH/11Vdcd911QCL/FaBy5cqA86BL\nVdb3s3r16l7NiVaD4qjACvl7xYwZMwooq1JcS5o8UBxMiTUMwzAMwzBiR2hK7P77789+++2X8jn5\nMq+88socjij7qMq0sPQBcJ6ht99+2/MR+Tt1SXV5/PHHAQJTVNSNSskCeiwJUoJef/11IOEHk9IV\ndSU2Vac0KbC6085mpb6RXTZs2OB9/z788EMA/vzzz3yvkTqg/TRZddX+ed555wU91EJRhqKUIK3M\nVKhQwfOEKpNUqyfyvWqlS0rsZ599lqNRl55+/fp5SqvUVSmwQpXdygFu1qyZp3zGSXFOx5w5cwB3\n/vDPP0psvfXWgPN/1q9fn+XLlwNu+2mF4PPPP8/3u3vssQfg8psBXn75ZQD69u0b4KiL5qCDDgKc\nAqtzdSqPrs4HQ4YMAWDUqFEA7LzzzkBipUerWbfeemuAo84OOlfr0Z8BW9p812wR2kVst27dvPga\nP1r+iyPaYZs3b+4VJogVK1YA7gCrg5TsBmvXrmX77bdP+b66uFXb3aAO0tks/FBhQnIxwxNPPJG1\n9w+S5OgTtSJVZFG6i9dq1ap5BycVLTz44INAySJico2W+coCt99+O7179wbchai2qSJwhLYRuO2m\npeuwkdVKx0RdiD/zzDNee+CibpLF2rVrAxhhMJx22mkUFf/41ltvAW7ZduPGjVmNoAqLfv36AW67\nqjA2ihexunjV8rhunJYtW+bd7L/zzjspf1fL7Coc1bkT3EWezplhIauR9kXNr0qVKkU2ftEFq9p2\nN2vWzLuh1HEmqrzxxhsFIgn9F7FhX7wKsxMYhmEYhmEYsSM0JVYFPmUFLTvIrL7ffvsVUEi07JfO\nJlGnTp3Ql082dbRce8wxx3g/0xLlkiVLUv6OCqFGjhzpxeGIc889F4CDDz4YiE6hQioUI+NHwdxx\non///l5Mlto/Hn744YCzDShcW8vRixcv9uKqorIapOVLPWaCv7hJy5txoFOnTl4hk1ahNH4pkt26\ndQNceP5PP/3Eo48+muuhZg0pkjoHyB6iZkBRJF0E1gUXXJBWga1Xrx7gItIURxZFpOyroc1VV10F\nJAqy+vfvD7iVHH/hqwq7W7ZsCcA555xTou9xLvFbCABuuOGGcAZTTEyJNQzDMAzDMGJHzpVYhT7v\ntNNOBdqMCTU3UPSGGDZsWGRjfqQWSP0pCYsXL/bUBnln/MiX0qlTpxJ/Tq447bTTwh5CxlxwwQVA\nYv+UP/i9995L+VqFXStqxa/CAuy6666Aiy6LIyNHjgx7CBnz77//0rlzZ8ApW/LIymeq448inFq1\nahUZBTYbqP1sHJk3b55XEKTjiI6t+o7627QuXbo0lgVd8sBqP9V81DI3ynPyt02V19NfvAV4jW5u\nvPFGwPlpFQ1Xu3Ztr5FF1L6H8l2PHz8eSHiAda5WEXCXLl0A54FVMfZhhx0GxCNOKzk2S55Xvxc2\napgSaxiGYRiGYcSOnCuxitXaaaed0laftmrVKt+j7rivvfZaLy5Hdz9hewxVga87UjUw2GyzzTxP\nlzxbxalIVMh68vuAC7pWW8w44G/L9+OPP7JgwYJ8P5NfUSHQqXjmmWeyP7g01K5d2/v3woULgfTV\ntfI8nXTSSd7PFMP16aefAukV9Sih7aTIFKGInDhVtSejFo9S0v0rP/puyescNfUnWygFZfXq1SGP\nJDNU3S5FS8d8KbI69mp1Tx7LuKA0kEGDBgEJTy+4drtRVmCFf7VNY04+ligNRI0Q1I71gAMOANxK\nVu3atb3jpz8OL2zUKlcKc7NmzbjwwguBRBIKFDy/q64iDgpsKuSLlTqrRga5aGCQCabEGoZhGIZh\nGLEj1LazmVKpUiXPe6rK1LFjxwLh3bWqck93ZcmJBPLMFDcTbscddyzwPlJg1YQgivlyUkakpqra\nW5WcYpdddimQlypflFQy3YHLGyVfXNDIJyn1H4puK6t2rGLJkiXedtJdbByUWPl1pZSImTNnAvHI\nuE2F2naqujvZOwlun5NvuV69eim9fHFD21GrQ8qTlZoUN5RG4M9J1XyKypONKlKQNX49arVSjzoH\nLFu2LHI5uGoNr0YFUldTqeJaEWjdujXgUk+0ny5dutTLm40DmqPaWfsb5Oy///5AwfasUUbXMwMG\nDPB+5k8s0HN6bdieWVNiDcMwDMMwjNiRcyV20aJFQKITR7Vq1VK+5pNPPgGcJ1GeqGSUgdiiRQsg\nkcEGTmXJFakq0oXaJip/syQtXJUzKo9lrpHvTAq41INjjz3WU3ykxBanAl9qwy+//ALAq6++CsBL\nL70EuO5YufYRaRtpm0H67mJS+LTt5als06YNP/74I+AqcY1wqF+/vtcCU1X6WsWQ2q5jhnKbe/bs\nGQvlvCiUdauOSFHOGS0JOh9ISdcq3AMPPBDamErCxIkTAdclUZ0Nhw0bBrhjr46ZeXl53r/lFw67\ni5eO17fccgvgUnOSV3W0/8n7KgVW21E523Pnzo2c0pyOzTbbzMsP1zzUGVCpKFKp169fD8Qjp1mq\n6sCBAwsorMnqbPL/w/bImhJrGIZhGIZhxI6cK7GzZ88GYMGCBTRq1Cjla95++23AdcnQXd6YMWM8\nz41QBaDuhnJ9N/7iiy8C7i46maZNmwJQtWpVoKBvV5XwUobkywTnY9PfSKkMuUJj+eKLL4D8CmVR\nqMpWXkPRtm1bTx2LA927dwfgySefBNzfRH29pZTce++9QKIKvk+fPoBTF6RUrFu3LkejNgCmTp2a\nrxMXUKAbl5RY0bhxYy+pIezUk9JwxBFHAM5Xr9WBuKMVH2V1SpWMQ2Z2Kt566618j0LzrFWrVr7/\nN2vWzEsDUKZs2EqsVlalsuqxMCpXrgzA008/ne/nqn6PA+3bt/fyipV7q85dmpdSUbSt5s2bF5mK\n/uLgV2I1dimw/vSCdLn/QZPzi1hd2GlZOhU9e/YEXNizIkcK+yN17doVyP1FrArM/MyZM8dbXkhX\ndCZD+/Dhwws8p3lMnTo1G8PMGDWVUEyRLmJ1Abds2TKvja6/YEQXd++++y7glnN1cxJFFCOlCLA6\nderQpEkTwDXfUESRP4pKF6iDBw/2LmJ//vlnwO3DK1asCHL4xv8zbtw4IHHDoYscHU/UxjMdlStX\nLjTqLS7o+yYLUlm5iNVNf8WKFQG3PWVJKitoSV2POgd8/fXXKa11cUMWQH0/1ewgDkVdEjLuuece\n72f+aw6dJ3T+nz59OpA4P2j7xSE+zY8uYv2FXmFfmJudwDAMwzAMw4gdOVditbz62WefeUpXOvbc\nc0/AWRCS46uETPFhmfq1zF+nTp18Pz/00EO55pprAJgyZQrgbANaplbYevK8ZIIPS4EVq1atAqBX\nr14A1KhRA3CNBwpbHv/9998B184zDu0vpZRqaa9OnTpeYcyECROA9BFFqZbQ1KrV39whTmgfiANa\nUv4/9s48wKb6f+MvJJFQUhQqypYkkaJCCS22Nqm0SKVFklRSKiQt2tCmIkoo2nelBSUpLSSFvioq\npX2hMr8/5vecc++Ze2funblnG+/XP8Pd5vOZc+5Zns/zft5q/Vi2bFmnGcVTTz2V8j1aMdAKz5Il\nSyIZYbelo+X0hx56CHAVPBX3bin06NGjVMzdWyCk5fg4HCu1KletWjWn+Pi7775L+Vpdt+gcOnHi\nRCeCUcemOCHltV27duEOxIMpsYZhGIZhGEbsCC1i68QTT3QM0AceeGCxP0+KpUzVQaP5pFKJ5Zf1\n+ma9r9X/169fH2iL1Ux44YUXwh5CoIwcORLI9243aNAASC64K4rhw4cDyZ6pqLPTTjulfFwRMnFA\n3mMpVZs2beKVV15J+VqFkCtOS55ReWfjSpUqVQBo3bo1kL5dctxQkL58+YpRDLuoKSgSzyOffvop\nEM+516xZE3AbIqjuQu2t40BiLY8iszSPdDzzzDPO61TkHRVUvCV1VQ0MEn2u3gIuL2EX5JkSaxiG\nYRiGYcSO0NrOrlu3zmnTdt555wEwaNAgwG1FWhjvvvsuAOeff75PI8yMwpodFIVCnxX8f8YZZzg+\nmtKAPJVhRW8UB6lynTt3drxM8jLLoy0ee+wxwL0TnTFjhpPmEKcWn2qoEWeU9CF+//13p7lIp06d\nALeNp9dPqBbHcffDaj9VwoLC1uOKlFdFGZUGP2g2aP5qRZ6Xlxe5lbpsUIKQUNSd4iTjxqJFizJ6\nnWpCttoqtMutAkiB9fqTpbpmgtRaaztrGIZhGIZhGFkS6q2Bqvp0Ja92exdccAHgKigbN24E8hVa\nNReYOHEi4FbCh0WvXr0AmD59OuC2Zy0M3Xkq3zBO3sNskG8rVSOIqLNmzRoGDx4MuIqWPJb16tUD\nXN9rafEexplly5YBrt+uWrVqTivjdOh7N2zYMH8HFxBqRSrUdCSuyHNYt25dwK3ojmNld3HQ/LXa\nN23aNMdzHyeU76vkECUKyescJ9RCdtOmTU7SUjpUU3HFFVcA+YkpUVnt8Sqw2SDfbNgKrDAl1jAM\nwzAMw4gd0TFp4Ha6GDNmTNLPKKNKWXXnmDFjBgCtWrVyXiNPk+7ClC0bx64dWyLqKKMOOvIwL1iw\nIKwh+Yr2z6BbHZcEdb1TpzR1ToP87nngdnrq1q0b4G7X0oa86Do2xZGePXs6LValsm8pXlh1QtT8\nZ8+eDcS3va5W5JSlrloQJfvECWUVX3TRRc5Kz+TJk5NeIy+zcuKlPI8aNcpZQQ4bqaleRVaPt2vX\nzqn1iIrimg5TYg3DMAzDMIzYUUYVnxm9uEyZzF8cA/Ly8pLK5m1+uUVdvlQ5/s477+S0aj/s+flN\nUPOTr3vatGmAq2oOGTLEj1/nYNsvtyhDtEKFCoDr3fYLP+anLmrvvvuukyahjk6pOuP5id/bT2k8\nbdu2Bdztd+WVVwKu91cKdK5X7vyc3+677+7Uiey3334AlCtXDnDTUNQJ0S/8nF+nTp149NFHAfc8\n50UKtDyxK1asyNWvB7a842c6ImUnMEoXCrGeP39+yCMxCkMWGP004oUKENWeNc6FoppDw4YNneXM\nqCzB5hq1uNays+wfatyhwt840qpVK1q2bJn0mFqq+33xGgQvv/wy1atXD3sYBmYnMAzDMAzDMGKI\nKbGGYRgxxqsIqZ13HFExYZSC4f1Cc1U71tKKCiuDtoMYWwamxBqGYRiGYRixwwq7ErD5xQubX7yx\n+cUbm1+8sfnFmy1tfukwJdYwDMMwDMOIHVkpsYZhGIZhGIYRBUyJNQzDMAzDMGKHXcQahmEYhmEY\nsSOrHJPSbhy2+cULm1+8sfnFG5tfvLH5xZstbX7pMCXWMAzDMAzDiB12EWsYhmEYhmHEDruINQzD\nMAzDMGKHXcQahmEYhmEYscMuYg3DMAzDMIzYYRexhmEYhmEYRuzIKmLLMETlypVp2rQpAMcffzwA\nv/76KwD77bcfALVq1QLgnnvuAWDKlCls3rw56KEahmEYhuEjFSpUYMaMGQB069YNgDVr1gCw++67\n+/Z7TYk1DMMwDMMwYkdoSmyLFi2YNGkSAM2aNQNg1qxZAJx11lkA/PLLL+EMLse0a9cOyJ8zwNVX\nXw1A1apVC7y2bNn8+4ratWsD8M033wQxxCKpX78+ACNHjgSgS5cuVKtWDYC///4bgH///ReAbbfd\nFoCNGzcC8OCDDwLw1Vdf8eqrrwY36Byj/bRt27YATJgwIe1ry5TJz2n++eefATjooIMAWL58uZ9D\nNAwjJhx44IGAu3I1ePBgAOrVqwdAhw4dAHjjjTdCGJ2RK3S+HzFiBJ988gkAo0ePBuDRRx8NbVy5\npmnTpnTt2hWAvLy8pJ9+YkqsYRiGYRiGETvKZHOlnIu2Zs2bNwdgzpw57LDDDoCr2JUvXx7AuZp/\n4YUXSvrrCsXPtm1nnnkm1157LeAqrtttt51+b9r3ScFbu3YtgOMhfeihhwB4+OGHAVixYkWRY8jl\n/F588cWk8XzxxRf8+OOPALz99tuAqzJWqVIFcBXaZ555xnm+Z8+exR1CAfxuu7fnnnsCcOyxxwLQ\nv39/wPX3ZPPdWbZsGeCuMrz77rtFvmdLayto84sXQc+vTp06AJx99tlJj59++ukA1K1b13nsoosu\nAuC+++4DYMCAAQBcc801ACxduhSAQw89lE2bNqX8fX7MT+e88ePHc/jhhwOw4447pnztTz/9BKRe\njbvqqqsAmD9/PgAbNmzIeiy2f2bO9ddfD8DMmTMB+PDDD4t8T4UKFQD44YcfAHeFEuDNN98EoH37\n9sUdUmS231Zb5S/oT5s2jeOOOy7puc8++wyAJk2aZP251nbWMAzDMAzDKLUErsTqjviOO+5w7jTl\nFb3ssssAOOWUUwDYd999Afjf//5X0l+bkkzvZHbZZRfnbirdXbvQ3fWsWbOoXLly0nNSWTNRYtO9\n5tJLLwXg9ttvL3Qc//8ZObtTk8qhasNs+OCDDwBo2LAhNWvWBNwkg5Lg551olSpVePnllwFo1apV\n0nOZbMd0XH755QDccsstRb42F/PTWC+88MIiX6P5SBmS2jNo0CDn+aeffhrIzXcyKkqCVIKhQ4fS\nu3dvwP0el8SP6Mf8tJLVtWtXR23U9tL2GzZsGAA33HBDkZ+n1aGhQ4cCsM8++wCu8vTOO++kfa/f\n22+bbbYBoFevXgBceeWVgLtCUhL++ecfAKpXr84ff/yR8jV+zE9JLqriLoxMjjNPPPEEAKeeeirg\nrn5lQljfv0aNGgFw8cUXAzirczVq1ODTTz8F3GOP5lccSjK/7bffHnCr7G+77TbA3W9q167t/Dsd\nUmL/+uuvAs+VJiVWdTL6fkL+Si24fz8pstlgSqxhGIZhGIZRagk1J/b+++8HXFXnu+++A1xP5ckn\nnwxkpij4ydFHH+34Or/99ttCX6s7jhtvvNHxxP7555+AOy9VrH/55ZeA63Pt2rVr2juzlStXAvDs\ns88WbxIlpDgKbOvWrQGcPNnZs2fz22+/5XRcuUJJC1K4jznmGOduPFM2btzorC5IcQ6aGjVqAHDk\nkUcCriqndIlUFHSMgwAAIABJREFUpFN89H+pEHl5ec5qydSpUwF335XnN8rsvPPOgOtNW7VqFQAL\nFy50Hr/kkkuAohXYE044AYDHHnvMl7F60d9bqmS5cuWc57zZy1JGFixYAKSei/Z31R0ccMABSc9L\nKSpMifWTXXfd1VkJkXIndAxRuo2Oo40bNy7gl/UiD6mUvnQqbK5REoE8urlCKubAgQOB/PNOVNGx\n6IorrgCgUqVKQHIle8OGDYH8THGA0047DSiZIlscNA7tY150zDRctTURJU0VR4HNFlNiDcMwDMMw\njNhhHbsyYOLEiRm/9uuvvwZg8uTJfP/994DrD1EeoFQO+YML80dKZTj66KOTPivKSOmaPHkygJNi\ncMEFFwSSG1ccVFXZp0+fYn/G6tWrufXWW4HcKy6Zon31mGOO8eXz1YVNiuxJJ50EuHfeWn0ISuHK\nBFXPKpNRqvRuu+0G4HjXX375ZR544IGMPlMqkl+0bNkScD3w8lJKAVq+fLlzTJBfX17RQw45BIB5\n8+al/fyxY8cCBRVYqZ933HFHySdRDHbddVdnHFJglcRy5513AvD8888D7gqevId6PhVaDdOqno7B\nfqPVN405VTZ4Op577jnAVc3btGmT9rXy2iu7+vfff89+sDmkRo0ajmdbXkntu/K9vvTSS0D+Ch3k\n54grtUUrSqqXCVqJNYpGxx8dR8GtdRk/fnxg4zAl1jAMwzAMw4gdkVZiC/PxRZ1169Y5qo46dulO\ndM6cOUDhHbvuvfdewPUaxkGBVZW0svS0/Q477DDAVYyihJRFZU0WhrqsyEvZpUsXwFXJxowZw9Zb\nb+3HMDOmcePGhT4/atQooHjb4qqrriqQaam7cCUYaN+WyhIm2hby7cpvrlxj/V+rAyNGjIiMZ1vK\nmjKKzz//fAAef/xxIN9/7VXblixZkvQzFUp+Ub2BUM6oPJZFpbD4hVS7Ro0aOTUSUnz0vfNy6KGH\nAtCvX7+0n6vqfb+zx70oFzYTBVbV7lrN0d9Cn9GhQwdnhUfqrNDn6/wRFlJQn3/+eUdF1TlMx1jl\niUsdl+Ler18/qlevDrjqbNj1MEZ6tJKshJO///6bHj16AG7OfRAEfhGbGDehJbMTTzwRcC8GRKdO\nnQD3CxqnNrTVq1d3TkA333wzULDZgXdpfcmSJc6Frw5W//33XyDjLQ4qXpL5XkvLigHSiVB/h+bN\nmzNt2jSgeOHcfqAlO8W5ic2bNztjvOuuuwC46aabAHcffuqppwC3reDKlSudpWld4GruQaGLkCFD\nhgAF7REaT9euXbOOyRo/fryzZB319rkVK1Z0LgJ0XHn//fcB92+gOC2Rzd/D7/1XDV+ELl5lzckG\nXVhMnz7dKTDSBb4uJPr27QtkF9HkN/qerV+/PuXzas2tYrdUqCBXN1dBoyK7TBgzZgzgWnKE9rVZ\ns2Y5jQ8kjOjCUIVIuohQYVTQ6Ca5RYsWzrG+KIuWbkKGDRvmnBNla9H+GTU6d+7s7FtbGrrJ6ty5\nM+AWls6bNy+UFslmJzAMwzAMwzBiR+BKrO4Q27Zt69xFdujQAXDjTxRboxgbKSmZFl1EgXHjxjkK\nczoUl6UlkzVr1rBu3Trfx5YL2rVr5xRuJRq7E5Hao1BrcFtGepXPoFH8V7169VI+v2HDBieSKR1S\nSBJVOS3zZVPAkUu0dHfOOecArmKqZWQF+/fp08eJbcpF4wKpZWFbRrTPPfjgg45Cp8IgFZrI1jNi\nxAggv6AEsiuG8VuFUVtLrVbpWKj206kC1IUUEi3nyoqwyy67FHjt8OHDAf/nkymyIvXq1ctp76xz\nhs4XKh558MEHAbcxRSKKF5MKGHShoRRvbbdUXHfddYAb65eJ6qjIM/08+OCDAVeJ1Qqe9vmgI9Jk\nDcjLy8u4SDbxPVJiZScIC/1d0zF48GDmzp0LuMcNrYKpMVD37t19HGHwSDHXcVXbSt+tTBow+YEp\nsYZhGIZhGEbsCFyJlU/y3HPPZdy4cUnPSYVUwYXuYmXKnzJlSpGt3qJCJkqc1CspQXFRYSH/7kvt\nZKWUqPBCXlEvvXv3du7W5CPNxjOWS9RmUz5lL/LBZkvHjh2B1OpQkOh7ovDz6dOnA26RU+fOnR0l\nNhv69++f8nEVzCxevDjrz8wl8tEn+iQV26P4JvkG5V/W82pCkoj83XvttRfgxlb5/V1Vswp5thWd\nNHjwYAD+/ffftO+VEqS2ralQ4Z3UzKggT90pp5zixFIpTF0rP/JdpvruahuqCDOsQj0V5pUvXz7p\ncY3n/fffd/72uWjBLfT75IlXdGBQKN5NhcmFoWO/GjWUKVPGWckJe0XH60n3cuihh/L5558D7ndR\nRa+KfCsM7cNxQDF8iij0NvLRvh500aQwJdYwDMMwDMOIHWWyCZ8vU6ZMIEn1FStWBNwAdVV6d+nS\nxalazAV5eXlJveNyOb9atWoVqJqVp8Tbpk135z169MhpdZ+f8ysu8t7Jc5Rta9dESjK/J598Eih4\nxy0FZ/To0YX6DtNx1llnAembHeiutbAGFyJq269JkybO9pMP+q233gJcdTObBBE/5qd2rPfff39G\nsWmAU/Gd2NJZ1d9KY1DDBO0vUkgLIxfzk7qj5gPyD0ohTkQB/lIjFc2U6O9T85T9998/6bXFwc/9\ns2LFio6KqGpoxS+l4+eff85plFZJ5idPs1puC+03qVp1FgfNV15p8fHHHwOp9xPhx/ZTms769eud\nlTpvowJ5R7VqomuQMmXKOG2fc9Fsozjz0zla20mNe3KNPNNaBSoOQZ0f7rnnHsCtsxBqWnHEEUcA\nuY/V8s4vHabEGoZhGIZhGLEjks0OpIApjUBh+W3atMmpEusn69atK1Ctp/+rIvjcc88FXI/Ja6+9\n5rSZVPvQsNsH5hpt06KqP/1CSqhXCVGLYFXzFkeFBXd+bdu2BeCMM85Iel6V8XHkySefdCrGhbya\nUclwlhLUv39/R21Xhb88sd5tIiXoqKOOKvB58sAuXboUCL7piLyBSpeQMpsqEURJFKoW1j6Y2GJV\nCldJFNgg+Ouvvxz/tvYtbU8vP/30E5CfXhCWL8+Lmg54v++5/v7rb7T33nsDcMUVV/jyezJFWcyN\nGjVyUjKkuHrbzuocp8Sar776ikceeSTQ8XrR2PS91xxyhb533mYVUUTHeh17vKv28nQH2dggFabE\nGoZhGIZhGLEjkkqskCdWnXe6d+/O9ddfDxCblIJUKJ9S1beq1D/66KMdr6TyEkubEivkMZSyFFQ1\narpuaU8//TSQmdcxE9TFxPt7svGgRwV1ZKtTp44zfuXRqpNU1Ni4caOTkqGf11xzTdJrpCKrfWI2\nSKEJur1uNtXb3gzklStXhq50ZYP8iN5Ojl6UK56r724uSPf9VxerXKPfk+73BkWrVq2AfCVWqQNC\n6qY8svI6a6xvvvlm6KkESgxSxq3qWqRwF4bqIPQZ6vCoFBRw61+0ChvVleWyZcs6udqVKlVKek4K\n7NixYwMfVypMiTUMwzAMwzBiR6SVWKG+10OGDHGUuzhlqqbjvffeA1xP0OLFi52uOlKHMrkDjBPa\nfsrWC/vO20hPjRo1ADdzsnz58o7/qagcxSihzmvKBl60aBFQPAVWrFy5suQD8wklRXg9+RMmTODH\nH38MY0hZU6lSJU4++WTArcAX8hXqGJJJLmdU6N27N+BmbpYUeW8LywQOg+XLl3PeeeelfE751PJa\nyrOtFZ8ooPOSVmv0MxsaN24MJB9n6tSpA8Dq1atLOkRfqV27dgElXQrz/fffH8aQ0hKLi9hEmjVr\nBpSOi1ihYpRE64AiWkobirAKGu036cL6c0GFChWcA5ZOwELWkeIcDMNi2LBhgNuqNi8vz4nyyUWr\n2qBQbI5a0sqmVBKCLvDKBjVEUPGIWpDm6sIpCIYOHerYyIQKu3QzMn78eMAt2IsDimyrX79+Tm6E\nateuDVDggiPKJLaZhfDOCX7z6quvAiW7WQ6LffbZp8Bjr7zyCgALFy4MejiFYnYCwzAMwzAMI3bE\nTolV+8egCyr85KSTTgLcuYEbARW2eqICrDFjxgCuCpJNYZ0C6MeNG+fYCYJuN/vRRx8BbnDzDTfc\nkPPfMWDAAKfNqxf9vYob3RUkatggBUFLlqtXr45VYZAKKqS+q6mB2peWNtSGVQVRf/75J+AWmChG\nLsqoyPX88893HlPsoOLrctmm1S8++eQToGCzg4YNGwL5jTVkySmJqq9CZy9qdhAldMxv0aIF4Ma9\nRbW4qaSEFSNZEtRYSt81gNdffx3AKfSKGqbEGoZhGIZhGLEjdkpsVPC2+5NaJY+SVB9wW1jqDlRI\n6UoMLlerPj+9m9mgu0m1A5RZfdCgQY7XLh2K+FH0yGGHHeYoBOPGjfNlvGGgO1RFpyWiSJU4eGFV\nyKX2gt7Ynt69ezuB+nFABZMdOnQAcApN4qBIFgcVdO27774AzJ8/H4BJkyaFNqZMkW950KBBAFSt\nWtVpcaxCEn2XtJ/WqlULCD9sPRU6tqvoTK1WRYMGDZxYvxkzZgDuatfGjRuL/HwpZmr5KWbPng1E\nSzWTB1YeZx1XNNbSSpwKDoVWKvUdA/f7paYiUcOUWMMwDMMwDCN2hKbEHnHEEdx9992Aq4zIqybl\nLorsv//+AM7YvWrVMcccA8CGDRucwGSpDPKsFRaAf+eddwLRaeOpGLCvv/4acFtzNmnSxPHHKo5E\nqq1iRE444QTA9SZ++OGHjoIQtWgtBaofcsghQL7qqDl7UeXmXXfdBeDEolWoUIG///4bcJMmFJYt\nX1GUOfLIIwF3HxdSjKLos0tH06ZNHVVPzQ60alLa0PZSeLzIRQqD38i/q31Mx8hvvvnGiWBSG12h\n6DClZkSpyYHYsGED4K7YSXVMbGMqf6zakNevXx9wjytqgZ1I+/btAZg+fTrg/r2E/OxR8A3rWK/t\no7azitJS84PSxk477QTAiSeeGPJIMkdti/V9TETtZ6XOKmorKpgSaxiGYRiGYcSO0JTYjh07Ogqk\n8gx1B6rcP4Uiy/sUBeQD1Z3wmWeemfR8Nt5Hebx0Rzpq1KjIZbBJUZQCq7aJTZs2TdtCUXfc2r7K\nyxsyZAjfffedr+Mtis8//xyAb7/9FoCaNWsC+R68xJ+LFy9O+xne+YnffvvNyVaNgwfWi8bu5bbb\nbgPcavc4cO655zr7mlo5SyUvbciHv8MOOwCup1JNHaKMMm2lKGofO+usswoosDrWyl8qr17UwtcT\n0T6nMeuYKf9yIlKejzvuOMBt5qBVPnB9lvqp1SKtDumcEgW0UqfjpBRYtZ0trSiPWk1W4oBWfrXP\nJaLvYSZe7TAwJdYwDMMwDMOIHWW8alKhLy5TJvMXF0G9evX46quvANcbNHHiRABat24NuHcFyhnd\nsGGDUx2fC09lXl5emcT/ZzM/+SCXLl0KQJUqVfSZzmvUiUuKgRIMVMW+atUqAObOnVuM0RdNSeaX\nDlWa9u7d26mAlXry/vvvA65KLS+U1AH9PXJFSean7j/FaZ+aTokdOHCg00UoF/ix/VLx2GOPAXDs\nsccmPS5PpVYKvvzyS8e7mAv8mJ++l8uXL3e89coZDZqgtp+Om3379gXc752ypv0iF/NTRb5aG2vs\nr732mvMa7ZcHHHAAkN/+GKB79+5AfuaqH/ix/aSWN27c2Bm/vJOqJUj4fRpHgc/RMfXiiy8Gipd9\n7Of+OWzYMEaNGgXAG2+8Abh+3qAI6vvnRccgrfpVrFjReU41JvJBv/jii8X+PX7MT50YtboD7nEk\naO+5d37pMCXWMAzDMAzDiB2hKbGpkFIpn5S6t6i6ffDgwY4/Lxfk4k5GGbDqXa27ljvuuINly5YB\nyd0vgiSsO9GgKMn8pCi//fbbgKukZ4IUEnm2lVTx3nvvpfQUFZegtp8U8nTHAs23TZs2OfVs+zE/\ndQVq0KCBk9UZVi5sUNtP3ecuu+wywK2AVyJGLvfJRPxQYjNBnZ70nlyv8Iigtt+ee+4J5NeJgNvB\nUeeWRE+sOlUqZ/uFF14o9u/1Y37y/k6ZMsVZoVPqiVbqgiLs81+nTp2AZLVV6RG5yG4Oe35+k6kS\nG6mL2KDZ0nYCm1+8iMpF7IMPPgjkL13msrgrl/OrXr06gHPjeNJJJ/lm08mUoLaflqW94fGjR48G\nXDEg1+RifiqkVCRVInpMBb+yvWgbJ17c+YEdX7Ln3nvvBaBfv35OO1ldxAaNbb94Y3YCwzAMwzAM\no9RibWcNw0jJ448/DrhtaKOMiptUTBK2ChskagU8ZcoUwI3CCcvGlA2K9lHxrhFvtJqzbNkyp9mP\nYfiJKbGGYRiGYRhG7DBPbAI2v3hh84s3Nr94Y/OLNza/eLOlzS8dpsQahmEYhmEYsSMrJdYwDMMw\nDMMwooApsYZhGIZhGEbsyCqdoLR7Lmx+8cLmF29sfvHG5hdvbH7xZkubXzpMiTUMwzAMwzBih13E\nGoZhGIZhGLHDLmINwzAMwzCM2GEduwzDMLYQ1MnsjTfeAODaa68NcTSGYRglw5RYwzAMwzAMI3aY\nEmsYhrEFYJnghuEf7du3B+Caa64B4IYbbgDg5ZdfDmtIWwTWdjYBm19uqVOnDgCvvvoqAHvttRfr\n168H4LDDDgPgk08+Kfbnhz0/v7H5xZuozE8WAp1k/38sJf7cqMzPL4Kan46TY8eOBeCEE05Iev7W\nW28FYPDgwTn9vbb9ckPHjh0BeOKJJwCoVKkSAP/++y8AnTp1AlwLT67Y0rZfOsxOYBiGYRiGYcSO\nwO0ELVu2BOC9994r0eccf/zxgHt3I4XPCJ/ddtsNgJdeegmA+vXrA7B582aqV68OwOzZswFo0KBB\nCCMsGTVq1ABg4sSJAHTt2tV5TktJo0aNCn5gxaRfv34A3HjjjQDccsstgLsclgnbbbcd4G7rNWvW\nALBhw4acjdPIjlQK7HXXXRfSaLKjY8eOfPvttwD06tUr5Wu0j61evRqAmjVrsmTJEqBkKzxBUKdO\nHWbMmAHAQQcdlPI1X331FQCXXHIJAAsXLmTmzJnBDDCHLFq0CID9998fyD8PpGLFihX06dMHgP/9\n738A/PDDDwGMsHjUrVsXcM8DUmCF5vndd98FO7AtDFNiDcMwDMMwjNgRmCe2c+fOADzyyCMAfP/9\n9+y7774A/PPPPxl/zkknnQTAQw89BMBTTz0FwIknnpj1mKLsKZH/6corrwRgzpw5QHpVIhVBz++I\nI44AXJXVe2e6YMEC2rRpA7jqyZ577lns3xf0/M477zzA3ZePPvrotK+96KKLALj77ruL/fv8nt/I\nkSMB6N+/P4CjkmuV5IADDijyM7bZZhsAHnvsMcD9m5xxxhkATJkyJe17o/z9ywVhzS+VAgvw+uuv\n06FDh5z9nihuP+3D+t4V57wg/JiffK9SV8H97uiYLwVWY5diC7n1x/q9/Q499FAAJk2aBLgrdOmU\n2LJlyzrPTZs2DYBLL70UKJ4i6+f8jjzySOdapmrVqilf88cffwBQpUqVXP3aJKL4/csl5ok1DMMw\nDMMwSi2+K7FdunQBYOrUqYB7pwyuirNp06aMP69nz56Ae6f2999/A/DMM88AcNppp2X8WVG7kylb\ntqyjMPfu3RvIV6zB/Tt+9NFHGX9eUPPbfffdAXj++ecBaNiwYdLz8qkdfPDBPProowA0bdoUiLYS\nK9VYSkLNmjUBqFy5MpBeUQB3vxw+fDgA48ePB7JbdfB7fl9++SXgert++uknAA4//HDA3W6FIbX9\n7bffBmCfffYBSr8Su/XWWwPu3w7giy++SHpN0POT8iol1ksuEgkSCWv7qZr/uOOOA1zP4aOPPkqj\nRo0A91hUr169Yv+eXMxPY50/f37S/99++21HjX3nnXcK/Qx5f/VecNXa2267LelnNvi5/Q499FAm\nTJgAuOeDsmXzNbNMlFih1aBMjkVe/JjfkUceCeRfz2y//faFvtaU2JJhSqxhGIZhGIZRavEtnWDb\nbbcFYMSIEYCrwOpO6+6773Zy1LJBWWxr164FYI899gDgwAMPBNwq6d9++624Qw+NFi1acMoppyQ9\npmribBTYoJHK7lVgpZBccMEFAPz111+ceeaZAJQvXz7AEWZPu3btmD59OgA77rhj1u+XQnnTTTcl\nPV4cxSQo5JHNRvWQIimV+r///gPc6uK4olWivffeG4C2bdsC+d9RwPHzN2vWzHlPuXLlghyiQ1EK\nbC59sFFAx8jRo0cD7j7XoEGDJP9omEg1lYoqpL5mcxyQZ7ZOnTrOioe8sfpZu3ZtIPdZstkiJXzS\npElJynG2aNuuWLEiJ+PKFQMGDABIUmHffPNNwL0G0TFR58XSgualayzvvrbzzjvTt2/fpMeWL18O\nwFVXXQXArFmzcj4uU2INwzAMwzCM2OGbEisPoHJhhTxyuqPJFfJWyic1efLknH5+STjnnHMANw9w\nyJAhgFtxKY9lon9Q3tioKAupGDp0KACtWrVKelwKrLJ8Ez1f8l1GnZ49exZLgU2H9oGoKLHNmzen\nWrVqgOuNffjhh7P+HM1L2bnKbc51d5ogaNmypbPPKmWhSZMmgOsnTVVDkE4BDQplE3uRAvv6668H\nOBr/ScxlBlcB93qSw0QeWCE1tTjf/9tvvx2AXXfd1TmW6nO8aQfq9pXo1Q6SZcuWAal9r/LEpiPx\neSl3n332GYBTSxE2n376KZCfUHPnnXcCbj2AaijE119/HezgcoxWE6+++mogf3US3OuYVMdC72Na\nnT3qqKMAU2INwzAMwzAMA/BBiZVn7Jhjjkl6XJ17pNBuCTRv3hxw75ZVma6KdaGkhUaNGjkK7MUX\nXwzAL7/8EshYs6Vbt26OAuT1t6qrzIIFCwIfV0nRXWdhKwVFKQqpXiO1XcqeFIugkTf9hRdecPIN\nx4wZA2SXxbjzzjsDBXOLn3zyyVwM0xekJMjPJk/XwQcfDCSrCFKnX3zxRaCgEiuP+qxZs0rcfbC4\npMuDLa0KrOapc4zQuUUqGbjH3KCRL1J+UCmwJcmrVRKBfiaifViqnzyyOvZ61UG/ueeee4D8c5m+\nV168Kq3qXMqWLUv37t2TntP5UGkvem1YSCG+++67ne1RoUIFAH7++WegeDUUUUHe6hYtWjgrxqoH\n8CIvujLfASpWrAjkrxoERc4uYtVS7tVXXwUKxkooKP7999/Pye+bN28e4BZ2CRnCw7YTVKtWzbkQ\nVZGb2rBq55cFQl/2X375hUGDBjn/jjJVqlQpcPGqJbRhw4aFMaSccO211wKFx2eJbF6jwie1eE0M\nOw8CmfIVe1OzZk1+/fVXIP+CNlsUZL7ffvslPf7cc8+VZJg5RXaJDz74AHAPrN4CLF2Yvvjii5x6\n6qmAe9L8888/AxlrtrRv3z5lM4PEn6WNK664AnAvGsTAgQOB/HOL9nMV/gaNty1sSS5es0H2Ai31\nylZw4IEHFhnhlUvUurqw8+9bb70FuBYB3fjqAjgV2USB+slff/0FJFtXNm7cCLgXdXFClgEJa2ed\ndRaQHIXqRcdG7WPPPvus81kSNR544IGk9/jZetfsBIZhGIZhGEbsyJkSq4B0rwIrFURX67lCrTIV\nrq6l+7Bibrxce+21TuOFH3/8EXCXqoWWA6UYDR061FmSiCpabpDKnIhUdoU8x4nClj+0TaTyyBog\nZBMZN24c9913H+Aqlfq/0D6h1rxaUfCbbt26Aa4ylJeXx7HHHgvAhx9+mPHnKHrKG6/y8ssvA/7e\ncWeCvv8jRoxw/ta77LIL4DZVWbVqFeB+/7QtFi1aFPnvn0hVzKViOq0mZEKc1Nt06lCiDUbbOJsG\nOrlENoJUS/9BkPj9hvwVn6DUYHCbTOy1114FnpPdQ41QvH+jHj16pF3dirJNKY5o2V/Fad5oLHC3\nj1Y1dIx47bXXAHjllVeSXt+xY8cCCqxU91GjRuVo5AUxJdYwDMMwDMOIHTlTYr3KnO6OFcMkL0mu\n0Od577illqkVqgo0gkKRQxdeeKGjwN5yyy0ATgGIVDGpf0899RQAN998c6BjLQ6dO3cGkr2Q2tZq\nDiDf5+mnn17g/XqtvFNB+rVSodD6VPFSUuW0TXfaaScA7rrrrqTXjRs3DoDLL7/ceaxBgwYpf5+K\nqeST9hspkyeddFLS46tXr3ZWSbJB33O1g5Q/Sn7FsJuMtG7dGsgfj7cYSyshiiwqTrOVsJHK6vXD\nQvqorcLQe6JcDKYiQn134kDYxzVv5FZQ3HDDDUBqT6xWTdPRunVrFi5cmPK5RYsWAQXjHKOEjjcq\n6s2kADhsVHujugg1aPj666+dYkEpselWN1Qwm6jCPvLIIwBcf/31gL+1BdH/KxuGYRiGYRiGh5wp\nsbVq1QJc1UN3ovLK5YKaNWs6Vd7Cq2jpbl1JAN5WqH6hJgtqE1u2bFknBFl3aLorueiii5Leq/ds\n3rzZ8fY2btwYiE7Is5CfKRG1lpPS1aVLlyI/R00w9DNoL6VUcCmwapeYiNrlemNd1FJV+7p8P5nw\n9NNPA7B48eIsR1w8Jk2aBOD4X6Uud+jQwYkmygav123lypVAdq1q/URK/9q1awv4nFXFLq9XlBuJ\npCMTtVXHk1RINfEqufp/FJXYk08+GXDTXHQ81b6sFa8ooaitsPjmm28AN63Ab3r27Am4CmyitzXT\nWKzCPLHyrUcZnQ80B12DRBGtZJekTbF8tTomVa9e3VFglUb1+++/l2SYGWFKrGEYhmEYhhE7fGs7\nK8+kgtQLa3Kg1/bu3bvQz9x7772L9NUI+ReDQhWg8m+B2/DB2/hBSFGQkrdw4UKaNm0KuJ7RqCGv\ncSLpQq1VvSjFa9CgQey9996AWzEuH608eUGh9AA1HxCJPqZ0aqkC8DPB64vq0aMHABMnTsz6s7Lh\n0ksvBeCUU05JelwZvmvWrMn6My+++OICPueoKSQrVqwA4JBDDnG8y0pOkTKrv02clNjCEgekvGaT\nNBCV3M2I8yZzAAAgAElEQVRMOPPMM5P+r7F/8sknAKE1m0iFVt+CUkDDRrnKqeo5pMopNL8ohg4d\nmlaJldc2iuj85/VsR2m/zCVa/f74448B95pg6dKlnHvuuUCw+dqmxBqGYRiGYRixI2dKrHwvUpqk\nelx22WVJP/1GHgypL0EhdUc5eeDeoahaX3+Tb7/9FnBz8xJVESlzUfbTpEOV6cqRU1W/fIqLFy8u\nUBEvn1tQHH/88YCbKJDuzn/z5s3OXWVJ9t10n++3EiYPrNR+KaaFdcXRtlAChfzk+jtstdVWzudJ\nBVPyRtT48ssvOeqoowD3WCB/vjfnNw6k8sJqW2RDNhmyYaPVEu/qj44z6j6XCuVZq8I6KNRmVkqs\nvLFhpxX4xZtvvgm4x/gaNWo4z2n7qQ1rUW2t+/Tp47SZ9aKq+T59+pRswD6gOgFlaGdC/fr1AbcW\nJAjvaK5QMo2+l0o46N+/fygdDk2JNQzDMAzDMGJHzpRYKT+qplcP3Vzy1ltvOV1phPxSUjnVGUzd\no4JCFc+Jd5LytypbU3csHTt2BGDZsmVBDtF35s+fD7j7gpdUHXfkifUbVWVLiUyXOalMvJo1a3Lh\nhRcmPSfvYbqOZNWqVXNUB2+nrsSuXpBdokEukFdUFaXdu3d3etDrO6SkCL2mMKRqhp0LmwlexXLB\nggUhjSRc2rdvnzbdIIoKrZJovMq5vIapjh1SYFWHUNjKgx88/vjjANx6660AzJw5E4C6desGOg7l\nJftNumzUH374wal8V3pNUZQrV65ADYFWK0sDFStWdBKKVKsgX743sSiKtG3bFnBXiXUePPLII4Hw\nVhtyXtilVo9aSlbUwh577FHgtWq5qQvA/fffH4D7778/5Wdv2rSJjRs3Jj3WqVMnwL2IzWWkV0ko\nU6aME7ulg7CWpUvLxas3mHratGkpX1evXj0g+QJfQfPvvvuuT6NLplKlSkD6i1dFXykmTBYQyF9G\nB7elZLqDcp8+fZyTlw7GshOkaogQJAMGDADc2LDtttsu7WsVITZr1izAvQkrW7ass1yqJiZhoUKP\npUuXAqmbVQhZfUTQDVDCQrFZ+pl4Aavir6ALKrMhXZvZ9evXp32PjrVh3VzpXKbviZoN6GI2qBaw\n+r0qNPMLNTnRkrqOd7Nmzcq6VezkyZML2K9kH4hKhF8q0lkcdGOoY9XJJ5/sxPyJVNdFUUPHD++1\nlY4dYRewmZ3AMAzDMAzDiB05V2K1bKqfN910U8bvlUk8E7RUH/QyTaYce+yxjvKhu+HbbrstzCHl\nHMWJaaneW0Sh5erzzz8fICl8Xmq0FIuwkAKr4iUVH6htYyZoXlp9SETLmYUF0PuB7Aoy4adqc/vF\nF18A7rbQ8qx3mVZLXWXLlnUK8/T9Dgsp2prDRx99lPQT3O3Spk2bpPfGsWhSymlik4J0FoDCGiLE\nQYEVXtVKAe2FtefWfpnO8hMUWkpXYVdQiqxWi/TT73OOYrS0IrrbbrsB+RF3ip7SimtpQ3/jVI1y\nAK666irAtdcpXjKRzz77zKfRlRytXsryoBVJrXqFrcAKU2INwzAMwzCM2OFbswO/UcSPQtu97WjD\nQkUxp5xyitMWsSSt3aKGCufOOeccJ2JDMUujR48G3KgR+aW6d+/uvH/16tWAq0wEjbdwQPtPUfEv\niShGRg0LunbtWuA15cqVK+4Qc4KUyttvvx1wI11kzp86daoT6/Lrr7+m/Azty4mFUekicIJGBTSK\nTJNnTspG5cqVnSIfxZnJmxaUDzuXSDlNjGbLpAWt9zOi2FY2UwYNGgQU3rJZbZD1MyzkjdX3TUWv\nOu6NHTs2p+cFKb5SevX7/VZipbKq9a+U2EaNGjnHiqOPPhooWEugxiuJ54e4ULt2bWcVL7HBUSI6\n1yQqsGr1rcKuoAt8M6Vly5bOvqPz3XPPPQe4dU9RwZRYwzAMwzAMI3bEVokV33//PeD6M+bMmRPm\ncJxK6B49ejjekdIUdK32wd26dXPUb6kLRamrmzdvdv4+8jIGjbf6VYHcUixViV8YUmClMOgz33jj\nDafpR1RYt25d0s9s/GlSC6Qqz5s3LyvF2k/UylLh2s2aNQNg3333BfIV2bFjxwJuGkFhCQZxQYrs\n3Llz077G67+OYnxWUbRu3bqAwhV0bGIukCKq2g3tk5dcconju1ddgFYXpKamQj5MNVPQKpge9yrA\nfiM1tXHjxkDyCpRUWa2aehNbvCSukvXv3x+IbipB3759nWNOpjz22GNOOoyU66gyePBgZx9SGoiS\ne6KGKbGGYRiGYRhG7Ii9EquKcFXOBd1m0IuyYTdu3Oioe6UJ5XIeccQRTpV3rVq1gPRtMOXju+WW\nW7LODswVqlZWwwnlxepuWj/VqrSwtrBqz6qWgQrkPumkkyKjVOaC3r17J/3/66+/Dj2VQCjL9owz\nzgBg6623BlzFa926daFXqPuBPK3FaTkbJwYOHOh8R6XkSWWMM/LBLly40Fn18a5kqRo8G5RPrXNO\nUH8rhfdLXW3RogVQuM81nRJb1HNR4sMPPyzwmFaDddyRD1qrwwsWLIjM8TMdPXv2BPLPgzq/qeYj\nqqq4KbGGYRiGYRhG7ChTmOJU4MVlymT+4hiQl5eXJGfkYn5S4qZOnepU04aFH/NLhdRw+bTUVU1q\ngFq5Tpo0Kae/tzjzk1IuP6u320pRvq3E1yg/dcKECRmPORuC2n7pWLRoEeB20ps+fTonn3xyzj4/\n7Pn5jc2v+Kxevdrxear9c9AtZIPafpqnkjZ0HC2MTPyzReHH/NR2+5ZbbilwrMjEE6u28vKOZtqy\nNhX2/cucHXbYAcD5+1evXp0ePXoA4aW5eOeXDlNiDcMwDMMwjNhhSmwCJZmfMjW/+eYbIN/XdN55\n55VkeCXG7kTTI1+r/KyiMLVg+PDhAE7XKnW6UtZsrgl7+3Xr1g3ASVy45pprGDVqVM4+P+z5+Y3N\nr/isXr3aUYB69eqVq4/NCtt+xWfHHXfkrrvuAnAUPe+xVbniiXUSqtrPhafXtl/RbL/99gAMGDAA\ncJNMRo4cmXUOda7JVIm1i9gESjI/LaOo2GnZsmUFlqqDxr7E8cbmF29sfvHG5hdvbH5F07x5c8CN\nrxs3bhwAl112mWMLDAuzExiGYRiGYRilFlNiE7D5xQubX7yx+cUbm1+8sfnFm5LMr1q1agA888wz\nAE4L+Xbt2gGwatWqnIyxJJgSaxiGYRiGYZRaYt/swDAMwzAMw8iMG2+8EXALnDt27AhEQ4HNFlNi\nDcMwDMMwjNiRlSfWMAzDMAzDMKKAKbGGYRiGYRhG7LCLWMMwDMMwDCN2ZFXYZREV8cLmF29sfvHG\n5hdvbH7xxuYXbyxiyzAMwzAMwyi12EWsYRiGYRiGETvsItYwDMMwDMOIHXYRGwLly5enfPnyjB49\nmtGjR5OXl0deXh6DBg0Ke2iGYRiGYRgZoeuXa6+9NpTfbxexhmEYhmEYRuywtrMh0LNnTwB69OgB\nwObNm4H8OxrDMAzDMKLLNttsQ6dOnQDo1q0bAK1atQLgk08+AWD06NEAfPnllwD88ccfAY/SX9q3\nbx/2EICIXMTusssuACxbtgyAk046CYAXX3wxtDH5ycyZMwFo2bIlAA0bNgRg//33D21MxpZLvXr1\nAGjWrFnK57///nsAFixYENiYjJJz6KGHAvD6668D8Omnn7L33nuHOCIjkapVqwIwbNgwANq1awe4\n54WyZfMXSr/77jsARo4cyX333QfAP//8E+hYjXwuvfRSABo3bszpp5+e8jX6juk6ZsmSJQCcc845\nLF68OIBR+osuXufOnRvuQP4fsxMYhmEYhmEYsSMSSqyW0bWsPmbMGKD0KrHVq1cH4OCDD056fOzY\nsWEMJyt69eoFQJcuXTjttNMAmDJlCgDHH388AO+99x4AV199NQDz5s0Lepi+IoWrTp06AFx55ZUA\nNGnShK+//hqAK664AoCnnnoKgN9//z3oYabk5ptvBqBGjRrOY40aNQKgdevWKd+zdu1aAE499dTI\n3H3nkiZNmgDw0ksvOatColy5cmEMKSdou+r42rBhQ8455xwAZs+eDcAPP/wQzuC2cKpWreocJ/fY\nY4+k55YuXQrAf//9B0CFChUAuOOOO6hcuTIAN954Y1BDzRm1a9cG4NFHHwWgbdu2Rb6nTJn8vPtD\nDjkECP9cIvW1SZMmGdv/9t13XyD/O9egQQMANm7c6M8AAyCdjcAKuwzDMAzDMAwjQyKhxK5btw6A\nr776CoAddtgBgCpVqgDw66+/hjMwn9CdqJSvjz/+GHDnH0WOPPJIAKZNmwa4sRoAffr0SXqtlMon\nn3wSgBNOOAGIjoemuMjIP3nyZAB23nnnpOc3b97sKHlSpydOnAjAwIEDgeDuwOWz1hjPOussIF9N\nBddvl4r169cn/V9zeu655+jatSsAr776am4HHCJSJ2vWrOmsBpUmpGYB3HPPPYC7WmJKbDgMGzbM\nUWB//PFHAC6++GIAZs2aBcCmTZsA2G677YD871zFihWDHmqJ2XrrrQGYOnUqAG3atAEyK2SOc7Gz\nVrBq1aoFwK677sqcOXMA6N27N4CzchcHpMDKuy06dOgQwmhcTIk1DMMwDMMwYkcklFgv8s7IcyiP\nUNw54IADALd68c8//wTglltuAdw78ighFW7UqFFZv7datWqA6986/PDD+e2333I3uICRsiyPWiac\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "class ChunkSampler(sampler.Sampler): # 定义一个取样的函数\n", + " \"\"\"Samples elements sequentially from some offset. \n", + " Arguments:\n", + " num_samples: # of desired datapoints\n", + " start: offset where we should start selecting from\n", + " \"\"\"\n", + " def __init__(self, num_samples, start=0):\n", + " self.num_samples = num_samples\n", + " self.start = start\n", + "\n", + " def __iter__(self):\n", + " return iter(range(self.start, self.start + self.num_samples))\n", + "\n", + " def __len__(self):\n", + " return self.num_samples\n", + "\n", + "NUM_TRAIN = 50000\n", + "NUM_VAL = 5000\n", + "\n", + "NOISE_DIM = 96\n", + "batch_size = 128\n", + "\n", + "train_set = MNIST('./mnist', train=True, download=True, transform=preprocess_img)\n", + "\n", + "train_data = DataLoader(train_set, batch_size=batch_size, sampler=ChunkSampler(NUM_TRAIN, 0))\n", + "\n", + "val_set = MNIST('./mnist', train=True, download=True, transform=preprocess_img)\n", + "\n", + "val_data = DataLoader(val_set, batch_size=batch_size, sampler=ChunkSampler(NUM_VAL, NUM_TRAIN))\n", + "\n", + "\n", + "imgs = deprocess_img(train_data.__iter__().next()[0].view(batch_size, 784)).numpy().squeeze() # 可视化图片效果\n", + "show_images(imgs)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 简单版本的生成对抗网络\n", + "通过前面我们知道生成对抗网络有两个部分构成,一个是生成网络,一个是对抗网络,我们首先写一个简单版本的网络结构,生成网络和对抗网络都是简单的多层神经网络\n", + "\n", + "### 判别网络\n", + "判别网络的结构非常简单,就是一个二分类器,结构如下:\n", + "* 全连接(784 -> 256)\n", + "* leakyrelu, $\\alpha$ 是 0.2\n", + "* 全连接(256 -> 256)\n", + "* leakyrelu, $\\alpha$ 是 0.2\n", + "* 全连接(256 -> 1)\n", + "\n", + "其中 leakyrelu 是指 f(x) = max($\\alpha$ x, x)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-04T09:35:28.877089Z", + "start_time": "2018-01-04T09:35:28.871207Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "def discriminator():\n", + " net = nn.Sequential( \n", + " nn.Linear(784, 256),\n", + " nn.LeakyReLU(0.2),\n", + " nn.Linear(256, 256),\n", + " nn.LeakyReLU(0.2),\n", + " nn.Linear(256, 1)\n", + " )\n", + " return net" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 生成网络\n", + "接下来我们看看生成网络,生成网络的结构也很简单,就是根据一个随机噪声生成一个和数据维度一样的张量,结构如下:\n", + "* 全连接(噪音维度 -> 1024)\n", + "* relu\n", + "* 全连接(1024 -> 1024)\n", + "* relu\n", + "* 全连接(1024 -> 784)\n", + "* tanh 将数据裁剪到 -1 ~ 1 之间" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-04T09:35:28.893308Z", + "start_time": "2018-01-04T09:35:28.878933Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "def generator(noise_dim=NOISE_DIM): \n", + " net = nn.Sequential(\n", + " nn.Linear(noise_dim, 1024),\n", + " nn.ReLU(True),\n", + " nn.Linear(1024, 1024),\n", + " nn.ReLU(True),\n", + " nn.Linear(1024, 784),\n", + " nn.Tanh()\n", + " )\n", + " return net" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "接下来我们需要定义生成对抗网络的 loss,通过前面的讲解我们知道,对于对抗网络,相当于二分类问题,将真的判别为真的,假的判别为假的,作为辅助,可以参考一下论文中公式\n", + "\n", + "$$ \\ell_D = \\mathbb{E}_{x \\sim p_\\text{data}}\\left[\\log D(x)\\right] + \\mathbb{E}_{z \\sim p(z)}\\left[\\log \\left(1-D(G(z))\\right)\\right]$$\n", + "\n", + "而对于生成网络,需要去骗过对抗网络,也就是将假的也判断为真的,作为辅助,可以参考一下论文中公式\n", + "\n", + "$$\\ell_G = \\mathbb{E}_{z \\sim p(z)}\\left[\\log D(G(z))\\right]$$\n", + "\n", + "如果你还记得前面的二分类 loss,那么你就会发现上面这两个公式就是二分类 loss\n", + "\n", + "$$ bce(s, y) = y * \\log(s) + (1 - y) * \\log(1 - s) $$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "如果我们把 D(x) 看成真实数据的分类得分,那么 D(G(z)) 就是假数据的分类得分,所以上面判别器的 loss 就是将真实数据的得分判断为 1,假的数据的得分判断为 0,而生成器的 loss 就是将假的数据判断为 1\n", + "\n", + "下面我们来实现一下" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-04T09:37:01.475822Z", + "start_time": "2018-01-04T09:37:01.458787Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "bce_loss = nn.BCEWithLogitsLoss()\n", + "\n", + "def discriminator_loss(logits_real, logits_fake): # 判别器的 loss\n", + " size = logits_real.shape[0]\n", + " true_labels = Variable(torch.ones(size, 1)).float().cuda()\n", + " false_labels = Variable(torch.zeros(size, 1)).float().cuda()\n", + " loss = bce_loss(logits_real, true_labels) + bce_loss(logits_fake, false_labels)\n", + " return loss" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-04T09:37:01.756901Z", + "start_time": "2018-01-04T09:37:01.750127Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "def generator_loss(logits_fake): # 生成器的 loss \n", + " size = logits_fake.shape[0]\n", + " true_labels = Variable(torch.ones(size, 1)).float().cuda()\n", + " loss = bce_loss(logits_fake, true_labels)\n", + " return loss" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-04T09:37:02.188467Z", + "start_time": "2018-01-04T09:37:02.179658Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "# 使用 adam 来进行训练,学习率是 3e-4, beta1 是 0.5, beta2 是 0.999\n", + "def get_optimizer(net):\n", + " optimizer = torch.optim.Adam(net.parameters(), lr=3e-4, betas=(0.5, 0.999))\n", + " return optimizer" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "下面我们开始训练一个这个简单的生成对抗网络" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-04T09:37:03.426140Z", + "start_time": "2018-01-04T09:37:03.287554Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "def train_a_gan(D_net, G_net, D_optimizer, G_optimizer, discriminator_loss, generator_loss, show_every=250, \n", + " noise_size=96, num_epochs=10):\n", + " iter_count = 0\n", + " for epoch in range(num_epochs):\n", + " for x, _ in train_data:\n", + " bs = x.shape[0]\n", + " # 判别网络\n", + " real_data = Variable(x).view(bs, -1).cuda() # 真实数据\n", + " logits_real = D_net(real_data) # 判别网络得分\n", + " \n", + " sample_noise = (torch.rand(bs, noise_size) - 0.5) / 0.5 # -1 ~ 1 的均匀分布\n", + " g_fake_seed = Variable(sample_noise).cuda()\n", + " fake_images = G_net(g_fake_seed) # 生成的假的数据\n", + " logits_fake = D_net(fake_images) # 判别网络得分\n", + "\n", + " d_total_error = discriminator_loss(logits_real, logits_fake) # 判别器的 loss\n", + " D_optimizer.zero_grad()\n", + " d_total_error.backward()\n", + " D_optimizer.step() # 优化判别网络\n", + " \n", + " # 生成网络\n", + " g_fake_seed = Variable(sample_noise).cuda()\n", + " fake_images = G_net(g_fake_seed) # 生成的假的数据\n", + "\n", + " gen_logits_fake = D_net(fake_images)\n", + " g_error = generator_loss(gen_logits_fake) # 生成网络的 loss\n", + " G_optimizer.zero_grad()\n", + " g_error.backward()\n", + " G_optimizer.step() # 优化生成网络\n", + "\n", + " if (iter_count % show_every == 0):\n", + " print('Iter: {}, D: {:.4}, G:{:.4}'.format(iter_count, d_total_error.data[0], g_error.data[0]))\n", + " imgs_numpy = deprocess_img(fake_images.data.cpu().numpy())\n", + " show_images(imgs_numpy[0:16])\n", + " plt.show()\n", + " print()\n", + " iter_count += 1" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-04T09:38:56.363519Z", + "start_time": "2018-01-04T09:37:03.776837Z" + }, + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Iter: 0, D: 1.364, G:0.6648\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPMAAADuCAYAAADsvjF6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzs3Xm4VmX1B/wlpKDgAA6ImqQpmEmo\nKaIopkYaOWWYVg6pWU5RmfOQOYQj5pRzTmkqmuSQOJNS4USi4gSiOCWCkKg/YxCe9w+uz9r77IN5\nnt/1Xtf7e497/XM4nOfZ+572+n7Xd6373ks0Go2orbba/v9vHf6/bkBttdX2/47VD3NttbUTqx/m\n2mprJ1Y/zLXV1k6sfphrq62dWP0w11ZbO7H6Ya6ttnZi9cNcW23txOqHubba2ol9rpkPX3DBBY2I\niKWXXjoiIrp06RIREX/7298iIqJr167x7rvvRkTEsssuGxER7733XkREHHzwwRERMXz48IiIOOqo\noyIi4rLLLouIiO222y4iIj7++OPo1KlTRET06dMnIiKuu+66iIjo3bt3i2u/9NJLERGx7777RkTE\nyy+/HBERL774YkRE/Pvf/445c+ZERMTGG28cERErrLBCREQ8+uijERFx2mmnLaF/o0ePbkREjB07\nNiIiPvroo4iImD59eva3X79+ERHRq1eviIh46KGHIiLi+OOPj4iI73//+xER8aUvfSkiIm677baI\niDjllFMiIuKtt96KhQsXtujfgw8+GBERe+yxR0REPPXUU1Fux1ZbbRUREausskpERPapc+fO+d2V\nV165xc+11147IiJ233337F9ExKhRoxoREbNmzYqIiL/85S8RETFjxoyIiNhss81i8uTJERGx5557\nRkTEggULIiKy75dccklERAwYMCAiIq666qqIiDjppJMiIuKWW26JLbfcskVb77rrroiI+OY3vxkR\nEV/84hdb9HHbbbeNiIillloqIiJOOOGEiIhYbbXVYtSoUXndiIj/+Z//iYiIadOmRUTEIYcckn08\n5JBDGhER48aNi4iInXbaKSIWrauIiHXWWSdef/31Fm1bddVVIyLi29/+dkREnHnmmeUhy88deOCB\nERFx00035d822GCDiIj4/e9/32JMrOdXX301Ior117Vr14iIuPbaayNi0RrQ1q985SstxuJPf/pT\nRLRco//NmnqYPQDHHXdcRBSdNmA33XRT7LPPPhERMW/evIiIOOKIIyIiYsUVV4yIiP79+0dExNSp\nUyMi4vbbb4+IiMGDB0fEogfGwPzwhz+MiOJhspgff/zxiIg45phjWvz+9NNPt7jHP/7xj/jxj38c\nEcVg//znP1/U8c+17vpaa60VERH/+te/IiLi73//e4s+7L///jnhn//857O9ERG77LJLRER07969\nxd895HPnzo2IRQ/maaedFhERHTp0aHHfo48+OiKKB9GCsACWW265iFjkECIiZs6cGYMGDYqI4qE0\nJx64qo0fPz4iIr71rW9FRMRzzz0XERE77rhjRES8/vrrsfXWW0fEovGLKJznv//974goHqJ33nkn\nIiKGDh0aEREffPBBRERstNFG6ay/+93vRkSxyN3/lVdeiYiIb3zjGxER+cByJN26dYuIiIULF8Yf\n/vCHiIg44IADIqKYZw6ibMZyiy22iIjCaXlQzjrrrPjqV78aEYscRUTEmDFjIqIAAQ6xR48eEVGs\nXUAwbNiwbMP8+fMjImLddddtcb9//vOfi22HvpjL6dOnxzrrrBMRkUC40kortfjZVqtpdm21tRNr\nCpmhGcrMo/j/ZZddNhGIx0erUGTexncvuOCCiChQYOedd46vf/3rEdGaVkI9VAw9mjBhQkQUnpPX\nXG655RIheHW0F9qV7dZbb42IiOWXX75Fm3bbbbeIWER//J97o6AXXXRRRERcffXVEVGwA4wALZ82\nbVoin/Y+9thjEbEI+SMiHnnkkYiI+N73vhcRET/5yU8iImLNNdeMiIJ277777rH77rtnXyMijj32\n2IgoGEPVIKFxGThwYEREbLLJJhERMXr06AyNhgwZEhEFe/rlL3/Zom+YhbnW7m233TbDjeeffz4i\ninlGHc8777yIKOZFaGVeIPnDDz8cN954Y4vPuo91ULb//Oc/Ldo8c+bMFv1bd9114wtf+EJEFHT9\nF7/4RUQU60i/MSBs4v7774+IRZRZiLfGGmu0+Ns111wTEUVoKAQ88sgjI6JYL5jbxIkTs+3o9b33\n3hsRBVvBJj/NamSurbZ2Yk0h85tvvhkRhYhF+LjnnnsiYpE3/drXvhYRRZxLCBKHipXFFOIsyHLu\nuecmAv3ud7+LiCL+W3311SMi4sorr4yIQlQSf4nTxcnvvPNO/OxnP4uIAnWh3N13392qf0888URE\nROy6664REdkX/RwyZEi2nxgDAXv27BkRhfAye/bsiChQi+Dz4Ycfxg033BARRWxmPMVsYuaTTz45\nIgrmc/PNN0dEgTbnn39+jhU9A2MQ71cNc4DgI0eObDE+jUYjDj300IgoGIM49LXXXouIgrGsv/76\nEVEIom+//XZELGIj6623XkQUesbll18eEQUCi4mhn7+7JnRaZ511kgFATteGjmUjdEHbc845JyIK\nQW3rrbdORBafQ8v3338/IgoUFSuLd62Hf/7zn/HlL385IgrxF9Pp3LlzRBQx9IknnhgRxbr3d/Hx\n4MGDc92Kp61Ra6atViNzbbW1E2sKmbfffvuIiLjzzjtb/L8DDubPnx933HFHREQss8wyEVHETOJg\nHpcHhqq87ogRI/I7e+21V0QUqiMk7tu3b4trYAHiMirnyiuvnEosBVY8TJUum1gRclLYxezLLbdc\nxjq/+tWvIqKI3/TvjTfeiIhIldl9J02aFBFF/B0Rsemmm0ZEEaM9++yzLe5HI7j00ksjIjKlQrnu\n0qVLKsy+K57dcMMNW/UvokCbqmrMNtlkk4zjoE8VmfTlRz/6UUQUqISd7LDDDsm0KPLYhfvuvPPO\nLX6nrtNjMJyJEycm2xAja/OwYcNa9Q8CUvXpLsZl1113TZYoBYhFQURt0mbrHcsaPHhwvPDCCxFR\nxLOQ+M9//nNEFIwTM9A/mRHP0imnnJL9oxdYs82q2U09zOgIuuWh8vB85StfSaqCykhboWz+v5rm\nQKHHjx+f15ej81B5YNAuYpu0yvXXXx8RxQP15S9/OUMAOVO0CL3zIEUUD4D7S73IX//5z3/O3LB+\nSnP88Y9/bPHdBx54ICIK51EeF47EmBA6PDweZgtTuk//OJ3NN988ncmSSy4ZEcWDJSdKbGO+6wHl\nKB9++OGIiNhvv/2SuqOIfnLaKDzHbQwt9pVXXjkfOHT+/PPPj4hi/KV9OADU+eKLL46I4oHdeOON\nMyfrAbCmUOmzzjor++fBmDJlSkQUoZfQpPwZaw7w/OY3v8n2RyxKsUUUdN7YrbfeenH44YdHREHf\n99tvv4go5tCDKUQUujz55JMRUQjC66yzToZVQj/hlPa11WqaXVtt7cSaQmZeHGWpUqSIyFQJ4QMC\nQCPSPS/Pm0POJ554IhGYVyNMKSKBmLygtAABCWJ/9NFH6fV4aO1R5FE2dP3000+PiIIZdOzYMSIW\nUca//vWvEVGIPksssag4R+pDuMCrouXsqKOOSq8O2TAcaKo/EEdllXFAt2fNmpXIWy1WWVxRTESB\nMr6HKUlRffDBB4keUkGqzMytn6ilOSSU7b333oliWJQUDSSDQgTKc889t8W4qSC7/fbbc2zNnZTe\n4tKLhCV01jgQ/jbffPMME1wX85JerKYCrUfoPnbs2JwzaS7XlF4yJtgEJiplJgzbdttts7IO81Xg\noi9ttRqZa6utndgSzZzOed111zUiIu67776IKAQcSNK1a9f08AQC8ax0BsFL7ClmFiO9/fbbiXo8\nPcQU5/ouQYSX9D1o06VLl0Rx8eZhhx0WEQWSDRgwIOted9ttt0ZEUQgAHcSIs2fPTnaiOGFxyf/y\nd8W9Pv/ee+8lKkqjiBvFzmK2Dz/8MCKKkkiMA2L36NEjfvrTn0ZEka6Dpmqtd9hhhxZ1vWqXsSrz\nBY0HDRqUcycWFu+bd+MP5ZUs0io6dOiQcSkByt9cGxNTmw+ptEfhz5e//OUU06C5dCCNY6uttso+\nnnbaaY2IgvkRuzCoDh06ZLyq9l4KCJukAZmnzTbbLCKK4pE999wzWaByTtoIIZKGgUXol/jcGn3u\nueeyf4RXqVHreY899mhTbXaNzLXV1k6sqZiZtxEjk9/FLkOHDs0CCykYaSaxC9TxXfG33Ucffvhh\nbLPNNhFRxBBQRlqFdM/LQ24lk5Dkrbfeyr8pD6RYHnTQQS3+P6JI6Ps/CA0RzjjjjEzsYxIQSJyj\nX+IwP+2UWmWVVZJJUGl9B0vRD0gAXZ555pkW/d9ggw3iiiuuiIii6Eb6iDZRNaq1ghTpD8h+yCGH\nZMmreBaaKFGktksjUeWxk7XWWiszEGJhKIpt+A6lnsoN/Y3vyJEjE6EwAnOofcpbIwok1C9jLW15\n8MEHJwJbT35aT64LwW2AwSauuuqq3AWFcXo2zKXYmXZgbrFJ6/LSSy/NdUfxlpE45JBDohmrkbm2\n2tqJNRUzDx8+vBFRxBZUP7Hfxx9/nMjLY/GU8oijR4+OiCLeFjMpzP/rX/+aHp96SRmkXovVJPv9\nPxTUp+nTp2fbMAP5Ter2iSeemPHIMccc04goEFCsClVff/31LE9VuAFBbAPkgeU5IVB5T7I2KY8V\nA2q3uJy+QCmF/rz7o48+mrEXFRjToXxfeOGFLeKtww8/vFFul/hMv26//fZkBtonpqcd2MOr7+Jv\nLKVv3775f74Lmc0lNme8zLUyWRtCxo8fn4jlu8bL9tKFCxdmH//2t781yp+FzL4zYcKEHDNtolJb\nE/QNv4uhaQidO3fO0lWxOG0AIoudZWQ8B1itsXvkkUcSzWVeqNgyJ2PHjq1j5tpq+yxZUzGz2I3X\nl0PD7QcNGpRqsbhVYb34T1xF3awW1i+//PKZ1/QTevBYEBn6Q2TbLV174403zngEqkAb2wvLBoGh\nOM9YVtyrmyF4cZtCbO2Um4bC5e2BUIl6rSySAk5nqFZnGX/efeONN87YyxhgPjYLVE3mAfpiGMon\nn3/++YzJXVufqLrVLajiXOi60047ZX+13RhiUfLxUMlPZbJ+79GjR6utrdaBeLxsZe0lomBxdIAt\nt9wylWW5Z5VeGJAKM9+Vby4f/KAt1pN+yZqIw40ztkdv0IeOHTsma3DqihJY+e22Wo3MtdXWTqwp\nZIaQlDxxgbzngw8+mHnVasxCXRTTQRJVXWLnOXPmpIdUxSPuULEDGcSQEELFlnhkhRVWyOuqPPI7\nFCkbZFbzqxIM8xgzZkwirnhWf8SG+ilm5KmdG/XBBx+kl5bHhLj6CzmgWSm+j4hi++gaa6yRyM+b\nizmxJ3PFVJlR7Cm4GMcKK6yQlV3uT9+wTRIboQtgA7SO2267LbUT6PLb3/42IoradawDC6CYQzLI\nvf766yfrodG4H/2jbK5jIwektlZeffXVHHd5e/oBBIaq+gvVra8HH3wwN1/8+te/johiM4z7V6vT\n1EzIR1ujffr0SYbpWRGP1xVgtdX2GbWmkBnqqhbioXmyIUOGJCJAKMhRVSmpp2Jlvz/88MOx+eab\nR0ThEeWd1bBeeOGFEVHkA6GeA/7EgSNHjkz2IFdNVYf+ZeOZMQHxvJ08gwcPTtUSWsqF86LGSEWT\ntqo26tevXwt9wHWNX0SBKry/PDcE97nXXnstvbg85w477BARRcxZNXEwhRgSiku33nrrnENMCBsx\np5DazrCzzz47Igo0WmGFFVIBpnsYD3XpjiCSu5WPhbb68e6772Z/MYYzzjgjIgpVvWxYmvpxLMc4\nHXfccTknkBDTs1btWrJWIbSc+Jtvvplr1NzYjilWp4foj1hZVoMuMmrUqGRAmK/20H7aajUy11Zb\nO7GmkFkcpDKGYgnBbrnlloxD7JZR9ypmEfepqoHyvOzmm2+e8RWvLR8oDlWZBe2hrooq8djAgQNz\ntxYkFudBxbKpMIKAPiP+f+eddzLG1D/shPHAEBAiQ/BXXnklEc711TarwpIRUKtLkRdb2QDft2/f\nzC9TXo0/pK6ae0IDSq6a7vnz5+d9qKvm0PzLqWNC6tzpCC+99FKyNfMuZ+9wPiioHarLXEul3Re/\n+MUca5/RnsX1ERLTHzAliD1p0qTc6SQGdmwTRGZUZhkZLGPatGk5J9a+DAuGpmZATtscq8zTho02\n2iiVcAzAel7czr7/Zk0Vjfz6179uUVSB9kic9+jRIzuBqtnooLzz1FNPjYji1Ep0lV100UWZekF7\nOQ1iDmrIEbgGmmJQIooJM8na7NCCM888MxPyp59+eiOi2GIo/UTcevDBB1MkQ5PQKPdG6z2wHmJp\nnauvvjpFM2OlXFFqDSX0kzPh1Dibe+65Jxe/TSiuIa12xx13tCg4OP/88xsRxWEKvk8Yu/XWWzNM\nQadt30NvLXqLzvh4cEeOHBkjRoxo0QcpKulMxRWESQ+1OeYYLrzwwnwwjaXfnRt2wgknZB+vvPLK\nRkRkmStnZ8PPmDFjMqRg1hFnbrzRe9fgVLp06ZJ9127X5NwJjJ4VfwdQ0mpTpkxJMcwalaKUIhs/\nfnxdNFJbbZ8la4pm867QCcI4S+n999/PskziAs8lmHeMDCrH6xPAtthii/TwNgOgcyiMwhN0WkGI\nAvwf/OAHEbGI7vH00jnVY3PKRrSBGj6Duu62225J9Qk6xAq0Et3l3Yl2vP/666+fqIO9YCIYhvQZ\nGkmIIr5hLNdee216ccULUj/lDSRlEyZAZKkj7GDPPfdMyq3N2A0E1g4CEaZg4/1GG22U6STFKI5X\nQnsV7RDXoKDxJBS9+eabGRrYLIH12FRSNuENAQ0ztN4GDx6cYZrNKaXtohFRjDcqbJ7Q+3vvvTfT\nW5gYc26dZwRrhdBCF4yla9euyYC8nkg6jRDaVquRubba2ok1hcxiVR6E1yWibLPNNol8UFwsx5tD\nXcitqIJQsOSSS2YiHjKJgRUliPegPlQhVDgwYObMmfl/kAiC+Vk2bSNWQCbXe/zxxxP5XM8YKNrg\ncbEWbMK4bLPNNslkIAJEluLBOJTEQjljJlXXv3//jMVdH7JpV9XEZwRHjAWz+P3vf59I4RrO5Cb6\naJ85U3Qh7bfLLrvkqZTGztjqK7StnjhqjpX/fu5zn0v2QTSDduLP8lzqDw3ApqDy21Gk1Ah6ylWl\nlappS5+TsvzRj36U8+onLQZr1C8MScmrezgA8JFHHmm1lrz76pPOPv8kq5G5ttraiTWFzLwl7ypW\n8lbDq6++Ov8mzqDIiYF4KHEpVHf8yhNPPJHKI0RQIieWFNNATuikJFF6qGPHjvnGBtdQVmdzQ9nE\nRJBfTCbGevjhhxMVHB2rAAED0CZeVmwFZceNG5dxldSHcawesuC+0E0fFCwsv/zyGYOJRSEelKxa\n9UxoaUZj+uGHH+Y8Q5HvfOc7La6JEbk39IHUI0aMyFQNFLcuFMyYY4iprwqAvGl0zpw5qXhX35Yo\nRVY2egJUoy7vvffeEbFIkdcmByqK58WqsgzWKNYihfT3v/890dRcVF+Ra+0oOJLNMU+u2aNHj1xL\nngUZEmPSVquRubba2ok1hcwUSKjj9/I7liGTnKh4Rt5PnEjB9btYY9111000g3piON6WB+UVxXLQ\noPyWiepbGnlbMVzZ5PnEXdBW/L/rrrumSi35Lza0OUNMCmWpmNTa++67Lz2/2NkxtFRaaCLewzzE\nenSIJZdcMrME7qeM8ZPeU+RIGmWV1Gx59x122CHVdm12FJSY3SYILMf4QK5tt902kV8+VQGEoh33\nwCSsE7Gn4pKvf/3rqXhjTIppqocoRhRaAAYAIWUqdtxxx2Rwxkj7oTfmIXY111je5z//+VSrXdcc\nVQ8wlImpvmSd7nT00UdnQYv1jp0Y37Zajcy11dZOrKkKsGeffbYRUXgQ3kYcMHTo0IxXbXGkNFcP\nJ5eP5qGU7w0ZMiQ9ktiNtxY7QkfIVj1wgLJ7xx13JBLzfj4LzYcPH57VNY4SVjaobXKUPXv2zKNt\nbY8U60NV37EtVNspvhGFF8cOsAcGKWwPFG+K7SjWb775ZqKH6izvPpKj33TTTVtUDzmKlh4hXhPT\nnXDCCTn+riF2pthTl+X1xa5KV2+77ba8nu9iLNiOiigoC/XNjzaMGTMm+y9nby1hAieddFKrY4Os\nUfG+90Kvu+66OYfGTNaEHlI9sF8si/mtt956GZsrrTXP0F48zsyxLb8OiVi4cGFqIdat9U3POP/8\n8+sKsNpq+yxZUzGzLXlQFxqpB3744YdTFeVlxMS25O2///4RUcTBqnB42b59+6bKS3mFfuqNeWgK\nufgLyxBLLbHEEqm4ylHyuvpQNteBErZgQtsFCxakGo+VaJs40u8YCpWTevv+++/n9RT4uyY0cv9q\nrIy9QJD/+Z//SfSWozb+4kvjzKob8eVjVT+99tprqaaKHSGHfLcD8Nwbctkgc8UVV6RWoBa/+rI2\nSCVXrHIOStJHVl111Vx3dAHZANVdZdM2SGmebfD53e9+l1VwWIJqPmiq0kz1oLWMKa666qrJIKpH\nP2Fx1G5rVY6aRmBvwt57753PiPWLgdJw2mo1MtdWWzuxppBZrlS+UQxXPnRe/kxMBJnsluHRoKDq\nLshy/vnnJ9Lbvih/Ce0gl4PT5bR5PQrte++9l/EWL8zzQ+qyqUaDFhRZTGHcuHEZ+8l5lmuuIwqP\nzMsaG4j93nvvZRWZSiM1uNomE+Dv/t82QjFVz549M2bDeIyrHT5VU1/tYAdKLWQ5+OCDs97YOLu2\nPL88rfiQYgsxR40alfGl+BoTwJSMl76IgzEe195mm21S3XcffXaoXtmMmR1v4niM5KWXXsq2WQNY\nhFpsLMF603a57wULFrR66Z/++A4dAROhK1mbxvupp57Kdlg7sgeqyNpqNTLXVls7sabU7GuvvbYR\nUeyiKSNWxCKlrvxS64giryg2VrvMG0Ed3q9z586tdtY4wM01oAulVAwELcXyI0aMyLiHpxfTiFPu\nv//+VAp/9atfNSKK+I7nt7Nrn332Sc+LDUANR8rIAfvpGuLLHj165PWwF38TM1fHppp3htA//elP\ns8+yBhiAMTrllFNaKKEjRoxoRBRxt/Gg7m+//fa5S0w+Vl/c11E5YmmxNbX7pptuyio2WQsxcLWq\nTTsdiCc+FftfccUVydS00XhgiD/5yU+yj9dff30josjzqq4zb927d0+WhjXQRuSozYe5s4bUSuy4\n446ZiaDjiLvF8RDYs4Eh0I4g9vjx43O9qwH3WSy3nHH5b1Yjc221tRNrKmamDEID8Q90nzFjRitP\nJQaiXopXeF5xr11G/fv3zwoY8Ta059V5Vh6N9+f1IPlOO+2U3hza8H7yj2UTy8rvYR7a+JOf/CTR\nSQUb1VglkNiPd4Xydjp16dKlVS02JMB4eG0oBYmMoRzxTjvtlLEbpHAt+8OrZsxcW/zr9ylTpuQ1\nxO5OVVFZB1W1V1/NQ48ePTJGhbyub7eQtaRP1otKNIi29957p54iZqZlLC4j4Wgf68kasjYGDBiQ\nVXuQ3fiaF4ho7WAiTk+ZM2dOsieMT3vdhxJtHrAwR13JTBx77LF5XQxAdsCaaqs1RbOPPfbYFhTG\nZJeLHjysUgNK8SwIn7VgPBQK1JdaaqmkkwQBJXkWMaHCtaW19MX3Jk6cmOKZtIlJRoMOOOCApDDn\nnXdeI6J4eC1Ek/rSSy/lxhEPEWpWFdT008QQ+lZbbbXsnwVMYELrpNaIWQ4LQO05onHjxiWtsxAd\nfUNoPOOMM1pQtBNPPLERUaRZhC5KN19//fX8bvVdXq5tkQmNpPukkG6++eZsFydGIKqeta2oh9jj\n+CVi5s0335xikSIO10Trd9111+zjpZde2iIUFLoos/zoo48y1NNP60XoQeTkpJQXK+Z57733cv6V\ndTptFCBov3VfPSXUNUeOHJmHaeg7AZaz/+Mf/1jT7Npq+yxZUzQbNUYtIAgKu/7666fQoBjB+3nQ\nTR6L11GIAGXXWmutLAZBkQgUrlGl3zwZNmDTw8yZM5My+wltedCy6RfUcD+0q3///ok4/oYaaYtS\nS+Og3BITmDt3bn6GwOXMZYzDpgTUjPe3ocXYlY8gQrPRN+diV61KIaEr4Wzw4MFJic2dsdNHwpFx\nUiqJ9cybNy9ZBtppcwwqbh4Id0osrTHhzC677JKhwY9//OOIKMp40X6IFlEUaUg3YRcQ8Wtf+1oy\nCGzGd5Ra+q5wEgpD+f79++d3MAD02Xjqh7JNm4KIedJf2223XaY3vbHDOEuvtdVqZK6ttnZiTSEz\nrw6RJeh5tLlz52bh/EknnRQRRZxBTBKHSLZDMPH3UUcdldvzeF4Hx4mvXFNBCE8rflWoMXTo0Iyz\nxaXiInHYKaeckv2DJv5GTJHq6tSpUzIJBRLSTLZNip0hJcZBGFtuueUSWcVT4nDagFI/CI4xQFPf\nf+edd3Lbns9gJ0oSpcwYBLZVEnIQ3a6++uoWAltEMe8KTSA1RmHcsJ3ddtut1XHB0FwfjBvkhmiK\nXZSX7rrrrrlpono0E/Gx/DZI4qm0pq2v1lvnzp0zVoaumI+xJFrRCpi57dOnTzIgAi9dw9tJILU2\nK3TBTLCwIUOGZNpOXK9ox8EGDv/4NKuRubba2ok1hcwUWWWW0IeK/Oabb6YHprwqVZQG4H2kG6SK\nqM0PPvhgohhvbSMCLwfNoQukspkBQkyePDnRjwLsb1CnbK6DJUA7BSbvv/9+Irx4SqG9saAOYyYH\nHXRQRBTI3a1bt2Q0mIbYTSxIVzCWmIaYStlpr1698iB48aR475OODYLYYn6IhbH06tUrGU71WGII\nac7cs3QYfUQsWg8KeiCvwwbMc3XbKj3A55SZvvHGG9kObTTWMgVlsxbNpVhVgcstt9ySyGt8pZ6q\n7I0W4O0rtnz++te/zvVUfccYxqGQRjYFYivSMaYHHXRQonR5s0tEwRTaajUy11ZbO7Gm8sy11Vbb\n/12rkbm22tqJ1Q9zbbW1E2sZPGitAAAgAElEQVRKALvtttsaEUVKSJqBcDN16tSU+4kWCiMIQYJ6\nRQPKOolda6yxRu6CIjwpvJBmkLxXB05Uk2xXF7zpppvmZ9QEK9VU333kkUe2KgWsluopQdx///2z\npNFJjUoBXV/hBJFQ4YcCgFVWWSWLYHxHGoMYpD9SY04xkRJSm7z00kuneCYlRfAp7TxrUQp48cUX\nNyKKFKF0izldaaWVUpxyH4UpShAVixgLu6qUJU6ePDm/S6w0N4RDxTZOq3Qtp5yYt4ginWbetcde\n6DFjxrQqyfU386EwY8aMGXk+mdSnexPWnKNGCJReJJhtttlmefqndascVYrPd/VPEUl1v/vTTz+d\n15L6M/7G9eyzz25TOWdTDzOVz3E+FruJ+ctf/pIPq8/opI3t8rPUPEothXSNNdbI19P4Sd391a9+\nFRFFxReHIe9NyTWBl112WVx99dURUdQeU9lVJJVNzpB6SVH1YL744otZl26DAkdjLNQpV6vYqJxb\nbrllPrwUXwvdxKsNdqCDOm9jaazGjh2bKinltbo9tGocJAVVTtNC/tOf/pRKrQeA8s1peyA5AnPt\nnuuuu24+EPLcPmu8OA/tVxFlAXsYRo0alXXParLlwcuHJDKVdpyJ/lmXI0aMyHVTfo1RRDHO5lCe\nn3P19y5duuTGCnX21qY9BurXVfOps6i+4nbAgAGZJ7fJRIYBMLbVappdW23txJpCZpVJ8rAoA6+z\n4oor5vYyHgnt4OVtWkejvNrE35dccsmka+gVNESzUVyVWvKfPocOPvbYY1mjfN5550VEUW+MhqoB\njiiO2OWR1Q0LBd5+++2sRqu+VM53MA25ZHReSPKHP/wh8+VQA7KpqELrIbAqLczDQX9LL710IgG2\nIq+pqkiNPPN3/ccc5EV79OiRW1vNVbWeHi1l6L8x2XjjjbMGGZpBQxVQcruupb3CBmO05JJLJmOB\nfmipwxOMW0RxfK4jreSBIWi/fv2yyky/MCE7u4Qg5tRYWbNrrLFG7oJS++3APrUP5hDbMzYQG9ub\nMmVKqx14WJx1jpF8mtXIXFtt7cSaQmaVMypvICXEOOKIIxJNxQR4PxRX3cLrE3d46MmTJ2f8pPaW\nRxYruZaKNF4dGvD6l19+eQoUKsG87H1xL46D7JgB1OJV+/TpkxviIXD11Tg2uovDjIfPzZo1K5Ge\nl1ZJVUVim9bFl9XXlWyxxRYpGIk11ZFDlaqpyNJewhxE7NChQ1bSGX/xv3YQtcTw0A+i/Pvf/87P\nQkS1y+7jO2qWoaPfrY/OnTvn2nB9h1Toa9kwD/MgVnfkz/e///18Za91QtCzjrEpGgCUx0DPOOOM\nvIZjkM0VFK/uuGLq2Okyb731Vqu93vqnJr6tViNzbbW1E2sKmaGNmIoHK9fO8sTUXTXJkBDaiQ9u\nvvnmiCgOdDv22GNzfzTPBN0olP5O7ndqhlff8HB33XVXxkV204hhoE/ZeHXmfpTLESNGJDp4rQtk\nE5tTqiGleFjN9kYbbZSKOhVT+k4/pJfUblN8qbe8+5w5c3JO3Ffdtvi2auJMLMbciSO/973vJTOS\nKjPf9AV11BgStiKFs9122yWqy0hIxWBX0Aez0A9za8dQx44dM4tC96BuL67+3Gcp0E5zoU+ccMIJ\nuSfdONJBKPzWHaaGTWJG3/zmN3N81eBDYuguq6De2iH8arPF5dOnT0/Ep38Y12ZfHNdUOefgwYMb\nEUW6AT2x6NdYY41M2UhnGBCT6wFk6J4BHDZsWA6yfKzvGkDnCqOuJpUIYSvhVlttlc7EBKJWRIXy\nyYfew0S0Id55UObPn58LnMOQe7QZBAU1WQr8/TzmmGNShEMlhQIcoIdDjho19nmbVHbfffcUrnxG\nO2x6OPDAA1vkKH/0ox81Igoaztmh/FtttVU+AOZODlteFoV2b87W51ZbbbW8rrkkaHlgpGEsWM5E\n3+WSu3XrlmuE0+OQzP+dd96ZfTzuuONa1EJUz8beaqutsg2cqg01AIZ4KYzTF0dcffnLX865ESZy\nZMKFajjJbBGWCly4cGEChPsAFc/SIYccUh8bVFttnyVrimaj1VI/EBkKzZo1KwUO1IHXtsEanVbY\ngY6oernyyivz/1Bi9AqVcQ/bKxVMSHtA8GOOOSY/gyqq/lmcQETMUHllu55jaTp27Nji3cgRBXqh\naq6BmmMNPPFhhx2WzAYlVvFWFT6gmbcxor9o+Lx58xLxXYswQ0SrpqZ8HjMhYqH0H330UaK8+SYe\nare5lJIiZhFITz311KTXaLzN/FJoVeSE4Oa2nEITEkA742McyuYYH0UrEJ+I1q1bt0R06xejEBJh\nnOg8JijMufnmm1Pw8n/mX5v0xzhjmcRPTKFv377J9q688sqIKNiekKOtViNzbbW1E2sKmYk9NslX\nzwQeO3Zs1pdKF6nJVmbn7GMxrJ/ihddeey29l5RI9d1S7ie24YWli6DTNttsk6WeUF7bCTFl4739\nJPhgF506dco4UVyJlUBkqRWopXzV2xAHDhyYQpeCGWNDTHF/sTF2AQEhyp133tnqGF5o/klpDd91\n/BEUgHqbbbZZpnWINUcddVREFO+cVrRijqulrUcccUQyE2+hNGeOeHIkj7Qf3QAK+3737t1TwzDW\n+ry4klXXUTwiBSTu7tChQ4q09Btlquq5CVD0B/fDALfeeussIMHQ9I9uwxR+iMchOLHrvffeS7aE\nkbqmuWqr1chcW23txJp69MWZPBWPKe0zZMiQjOugCxSCsuUjdSOKN+t5a97777+fGze8v9gRP1Cc\nV4cmlFiIIh5bccUV0zOLHcVHfucpIwoEdhSQ9JPE/+mnn56KM1YAoRUwGBOqtvJWSD158uRED7Gy\nmJTKKubHAiCysTOm++yzTyrMxshcYCd0BMb7K1Ch/NsAsPzyy2fcqVgCCmE3+o5R2LQivbTMMsuk\n8kurKBelRBRz5KfY2phAp/nz56eq7JqKiBT3lE0WhUJtjShi2n///RPxjK/1Bl2tI/+PTVjbPXv2\nzLYoRpFi1T9aAJZpPSgRZv37988DMWVtjjzyyIgonpm2Wo3MtdXWTqypPPOwYcNafJgiTcGbMWNG\nxlGQqpoHpVKKpSTzKdWrr756elNMgLcWDyo8gZjUZjll3rBTp04Zx0Fgnls7L7zwwlZ7Yd3PAW9i\n9Y8++iiT//5W3WNMAYaucqL6t+GGG6aH106fofRiK2J26roMAWT/97//nRs9oIo417yOHDmyRY7y\nzDPPbEQU84FBUXhfeeWVZB8KL8SSPkOZl1PFLLRv7ty5icS2cfq9uh70RV5ZdkAxyezZs5PFUZtt\ncsDUjjnmmOyjN5X6vnhYBmbjjTdOpZ+uUD0wUA0BDQbaKvzp0qVLMjx5ZnEvRMZ0jFE1iyMunzBh\nQm7OoIxrjzLP0047rc4z11bbZ8maipmpymIYXpRC3bt379weKa4Td1EexUgK0nlOsdW3v/3t9LjU\nS+gtrhajQX8qI4Ygjn3++eczdhTnye9RTcvGm1I7Key+s8oqq+RGDexAxRLPrL9iJAgkL3nDDTfk\n/5VP04gocpMHH3xwRBTjXN1eCd3WXXfdjO+qB6krAa2az8ul6kf54AEKd/WFBVgO9MeuxO2Y0+c/\n//lWB+M78MD4VCvWrA/ohx0MGjQo20wbgX5QvWzWAiZkjVp3hx56aObAbXnFNIwB3UNNAt3Dulpz\nzTVbbc4ol8NGFGvH59wDE5IJ2mOPPfIzxkCsvrj+/Terkbm22tqJNYXMqoUcUiCGURV1/PHHZ9zE\nM1GexQE8L28kD2cD+rLLLpuxg0PHFd3L4YoTtQdyyH/ylu+//35+BorLLYpXyybmdj+5wMMOOywi\nFh0n40gZsbfYFEKLifSPIg45zz333FQ0oShUF1dBBHG+eNJ2Umjz9NNPJwK5LxRb3Ivxyp9T8eWe\nlOEJEyakKm0cIa5xprJSX/URQs+cOTOPJ8KW1IpDJCq6+nf1ANgHBJs3b14io62i1Hbqf9l8zzxB\nYWMc0Xq7qjbSSrQNe4Tg8uy9e/fOz8oWULyxSn/HMKw3/aWbfPTRR7lGMU8xvfFuq9XIXFtt7cSa\nQmbexdY99dQqsHbfffeMs+REeUR1pjwwb87rilMef/zxVIbl8KiM1D21yg5H4KkxBTHf22+/nflF\nsa6qKshUNkioPyreeNevf/3rqcb7KV8rrtVf/6+trr3iiismMmgvFVsdL0aAgVA+VRFB9KWWWirj\nZ9egsvtM1fTFK1Sp8bY17rjjjom4/qa6zVE32kdlhuDi0o4dO7aqL/aCPiio7ll+XI6fwozRPfPM\nM4l+YnQ7kRwfpM8RRe7bywddFyP8zW9+k/qJe/u+37FLbAvLKr/S2PxCazvrrGO1CtiiWgGqumvP\nnTs3c//Gxnhau47g+jSrkbm22tqJNYXMPIe8K5NnXGmllVLptCmbB6LQUb6pmTybF5p16dIlvRzU\nhnbUPijk+F7VQtQ/1542bVoecUSJ5VG1U5wSUVQwQQXITBPYbrvtMgesgozCKc6hRKtRV1etqucb\n3/hGxo80AbGwfuuPWJm3p4hjIn379s0+Gz9oiRlVrfqyeEgolv3444+TXWFIrgl5jZPKJTlk115i\niSVyriAjFdt8Q0qaCXSEYHSZ1VZbLRFRdZu2a2fZoKp4GLtxvwkTJiRqQnprkmF82IX1ILvwz3/+\nM9kihmGtONrZd42ZNWwvu3HfYYcdMvZXv2/cm33ZelNFI4cffngjIlptA7TN76233srCeY0l/KDV\ntup5yAkBJu+JJ56IPfbYIyKKh1LKiPzvQbK43cPBA07rnDBhQhY6mGTfRV1eeOGFTMjfdNNNjYii\nWF56p7xVznZMIQdhDa21oBUVWOgm88UXX0wqqODA4iTeoHvuZY4sdIUpCxYsyOII401cs5Hiqaee\nalFwcPrppzciinQfJ0sYu+aaazJdVT0nnWNC7YUqUkUeoP/85z/5EBl3hxF4qC12oZRFT1wzl126\ndEmqTlQ1ftbSNddck3287LLLGhGF4/fT2M6ePTvpuRSnlxEYSyFTdYOHYpW77747Cz2Mjc0m5sHv\n+u25UAgkLdm5c+d0vOZOARBAmD59el00UlttnyVrCpk32GCDRkRxNjCELr9Plvfi+aV70EFUkhes\nvr2+U6dOiYSQizAE3XhW0j0KBcEJRtOmTUvPrJgANSwVmKTXO/vss1uUc0Io11999dXTw2MJ0jEE\nJVvvUDifK58TXhU4MBGICxEJULy9dqGdt956ayKZMTEX0kknnHBCC6++ySabNCKK4gYpQz+XX375\nvKb5xW6UqKL5kMR4a+ett96a2zv1UQqMuOYa+kIEKgtDEYtCDWsHWks7SWOV+3jIIYc0Ioo5M//Q\ndtCgQckGrVXrDOIL3/QbymIZL774YhZHGXcbLzA0WzjNKcGUAKao5qmnnkpWIiQhdOr3vvvuWyNz\nbbV9lqwpZD711FMbEUVZnRM3bY2bO3duFjQQyZRp8kg24Csq8F2iyj/+8Y8sGoFqZXEmokBzohYv\nLHYXy48cOTKPfNEeYg7B6O67706v9+1vf7sRUQhsUkg2QrzwwgsZ82k/hHFvsTJ2AU0Vd7zyyisp\nlmEaYvPqe6wc9CZWhmK0hHfffTcRGKIZM8f0lDWBiIJ9iMu0H4IsXLgwEcFGFjEyoUa8C6khJOvT\np0/qDtKJCiMIkoRI4yhdBO2lwZ5++un8rL5hZFJWH3zwQfbxxBNPbEQUOoPrYwqPP/54MiFtUoxE\nu9Bm/TW21t8jjzzSSqMQ95r36nntWKN2EIhPOOGEPDBDW8XydIe2vjiuRubaamsn1lRqiqfgKcUF\nPMull16aaCbu44EkzxUcQGLFFGK9CRMmJBKLt6SPpCbELuITZXdQE1IPGzasVYpIAYCYvWzifNcT\nM4mHllpqqWwDz08F1ibFF/otvQAB+/Tpkxvnq8fzVo+PEUPpJ2/vmuPGjcuCDuPoPg7fq5oYUqzn\nWt6See211+YRRObIGxRL2yojoihzpS2wUaNGJXqKp7EMCIZdMHNsHWAyq6yySh7xJO617mxHLRvG\ngeW4nzh7ySWXzDETOxtfuo11x6xlce7yyy+fcyi2x57MGaZmXVDG/T8UPvzww1NPESubk8WVq/43\nq5G5ttraiTWFzOIEcS7F9vTTT4+IRYfXKdeUV+PteHWeDBqJe6HxzJkzM7HuGrw4z2XDt3ZQpiEp\nL9mjR4/MhVIsbcVzrG3ZoBWUcOiB4o3dd98940XoJP5V9CDPLOcqrhRvvfvuu9leZaOOR5I3xQwU\n/Ou3LXo0i8GDByfyOXRPuSqEqJoYG1JCDoxl5513zjjfNdQIUHuNswyBOFB5b9euXVuViTrY0YYE\nyC0boK/6qEBjww03zPsp9KHEO/igbPSGG2+8MSKKMl4beebOnZvs0fqVC6ZQU5cheDXenTJlSqKm\n43EVE/lO9cglzMdBE8Z26NChuY7l3BUTLe5dWv/NamSurbZ2Yk0hM49mi54cMiRbZ5110nvzmg4B\noERWYw0KIi+03nrrZawGkcXq4h/oRwHlMeVKxfQPPPBAKpPiEEfgiEvLRgHmdW1Xg9jf+973Ml+I\nScjJQl5b7iAddZsiPn369PT0DhsUJ0JVaqacrHdoGUP9HT9+fIv3PkcU2/WgedUgnnuqiHOvjz/+\nOBVnMb08v/+n9sv7Yi76uNRSSyV7Mq8YCkSWVdAX6OgeEHrChAl5LVV7Do+gjZQ3Iqi4EztbSxhj\n7969U+eQ4XAd60Z5p9LT6kGLvXv3TkZkfVWPWFYyCoG1A1Okcp9yyil5cIFKNFVlYnTX/DSrkbm2\n2tqJNZVn/uMf/9iIKFRlnoT3Peecc7J6RmzEI1KKHePj0DSembq3xRZb5Hfl8NTGQlXfEe9BBnGg\ne/Xu3TvjfJ6fmi4+ufrqqzOHd8QRRzQiilgcernf1KlTs+heG91TjOyz1Ev/D106dOiQeXLXoEBj\nM9RUW01/8YtfRERRRw0Rl19++dQkoDYVneJbzqNHROy1116NiILtGFu57ilTpiRC0TOgf7UG2/+r\nC6B6L7/88slqxNty1RR52QXtoEyLLctrwJjqoznFDG+66abs49FHH93iwEJtxnr+9Kc/ZdZADT9V\nXu2BfL45dD8IOnny5JxP7TQ32uj+2k4P0V8vkNtll10ywwCtMTbP0qOPPlrnmWur7bNkTcXMkIr3\n5P3LR6JUj2Sp7oCy80WNs9jykEMOiYhFKC+uhtZiBj95SAePi6GowtDyhhtuyLwebwuhF5dnli+l\nhovreObbb789/y3m53khkViPh3ZNlUH77bdfspVqfOd3OXnxOeVdnhUCzp49O//PNaE81KyauRK7\nVnPEf/3rX1PH8FONtjGkWldfOlCOD823a0Ak31FxZmcYbcH3vD/71VdfzbGkA7jP4vqIpakg87t5\nv+OOOzLOxXjoBbYzWj8qxCC039daa61kVximNkJZtQmq6LAd+xr83q1bt2Q2MiJq9yn8bbUamWur\nrZ1YU8jMI8r3QT2osOOOOybP50UpgmqzxYVUVLuNxAvTp09P76wKSKUOT8xziQ8htlhZvnC55ZZL\nFVuNOFQT85RNf+gIvK287mGHHZZIBjnkwo0BlFUfTjWH3FdeeWUyDkq4+1VfYi6HSeHFjNxjzJgx\nqarbAy3OFcNVTf7TmBozcztw4MBkH2qSxeWyCVBVux0GWM42QDPVgdYMRZj2AEF9Vx8xtzFjxiRq\nQz1MYXHsSh4dIpfHXVtpPNWXyVuDxgL7Mt4Y4LbbbpsZCTuvsCg6D2VfBaLvmlsK/HnnnZcM0HdU\npGGobbUamWurrZ1YU8hM+YQGjEdbdtll02vi++paoZH4hDeUj4OYvXr1yryuah6eHyJTscXnvLx7\n+/911103kYryDiEWF49ADXlFnhvKvvbaa9n+YcOGRUSBTrQBLzXDPCCEXOZWW22VugETV8ovup88\nKE8NtexIKh8r47tieKhaNTGeegCxvEqs5557LlHHsU32aKvZFqdDbGhjTHfZZZdsOwYAefXdvOib\nGBLD0c6BAwcmylOmXWtxc2gtygRUa9cnTZqUbRL30m0cFEhxdx/r3uGMr776aq7b6utmKOyurWYA\nexQfl19lXK1dMBc0irZaU6mpk046qRFRlDIqXkdLJk6cmKWKKIqiEcUMHhTUxSAot9txxx1za6V0\nRTXd41xrFBbdsgidBHn//ffnkUL+pr+2Yn71q19N2f+qq65qRBQLoVpO+fTTTye1V8ZZ3hAQUTxU\nqKpFKp03YMCATNdIB3FWthJKTQk3LCb00APRpUuXFHMUjRCatKd6OMFBBx3UYgskai/EmDRpUjoT\nfdE+4hq66yEW1ghl1l577ZxvBSZEPWGJvkoTcVRoq3Vx//33ZzjioRMqEAb32muv7OOkSZMa5fEw\nxoo6tt566wzXPPjaYnOKUJHTEubo3/Tp09OxEW6dBVctZwZaxDP9FRZNnDgxy0qVhFbDvTPPPLNO\nTdVW22fJmkLmp556qhFRUElIUT4sD/0gBKAT0M2BZjwl5OQtl1566XxPFe+FVhJTUEhCjPJSZY8o\nTkThdZXR2U6HXl588cXp9a6//vpGRFEML0UBeWbNmpUFJdqIiikB1A9I4/6Es8mTJ6dXtzkC5XRt\nlNx3sB2eGy07+uijW20CQOsh8w9/+MMWXv2SSy5pREQe2oDKQZBlllkm6TMkRP+gfvXwBAhnPp59\n9tmcO0wMm6oWVxjHQw89NCKKt1YQTDt06JBzpU+YijDjsMMOyz7++c9/bnEoIxGJYHnfffflZhkH\nQmJ4Qj2s0n2UVRrjOXPmtHq/NIHLWEkB2rSiEIRAJ3XVsWPHZJxQW989Q1tvvXWNzLXV9lmypgQw\nsVz1vGQx8913350H9hEGSPDEAx4MqhN/oPvXv/71LAoRZ5x22mkRUQhDYjciCfQnfJH6t9tuu0y9\nQDnlnIvb+I0lEMsc/ytmevvtt9Pj+4wYSSGN7WuQmeCmZLBXr16JKFiMtkAg6MrrV98bZRvnOuus\nk94bexDnalfVpOTEskRDsf2bb77Z6q2HEBiL026luYRCQuSRRx6ZhTcKeawHc1s92LF6dHF5TMTo\nGBckc5ywsY0oxCNnkyssEu+uuuqqKc5BWmNCa1HIUj3yx+877bRTshYskcAF3W0PxbYY5MbgVlpp\npewfvUChifsR0T7NamSurbZ2Yk0hszSTOBFCikfHjh2bqKNckFSviB2a2yzAO0r5/OEPf0iEotSK\nq6R7oKx7aRfVEzqtvPLKie6uiSFAjrJJ2osnKdKsY8eOmbZwPVvbFMdQYcXm4mIINX78+FT4xY/S\ndgooxNB+p2qL9bT9pZdeSkTTHvEfdlI1m+VtF9VeaDdv3rx8s4LYXfkm3UO7HfgAbTCKe++9t9VR\nR9WCD0o0pIZwlHqo1Llz51SvMQNKMS2hbFgiRibupas88MADOWbWLZZ1wAEHtOgPDcYWUOXL119/\nfa4NY2L8zY3PKpLSHlkEm4b69u2b6xezNL6fVJL7SVYjc221tRNrSs2urbba/u9ajcy11dZOrH6Y\na6utnVhTAtidd97ZiCjSCmR3NdPrrrtupg8IQIQYYs7xxx8fEYVQQfAghE2ePDkFCMKXmlxlnlJR\n0j7EFoINAeGee+5JkU5RBMFFm08//fRMyN91112NiIjbbrstIop0inTH9ttvn0UI0jGEDeegqdlW\n9klYkoL517/+lWkMJ5QSA42dU0GdTiHlQ2Aqn71GOFICqPCA0FguqIiIOPbYYxvlPmk30W2NNdbI\n8STWSE0pO5QqcYqolKEdcB9//HGmV4hU1gxBiKj129/+tsV4EfkIogsWLEhRyRqxPszTSSedlH0c\nMWJEI6IQQQlwCj969eqV/dAve9AJYdauMZK2I7BOmTIl+0yMdR/CmLWjrLW6Q87YPfnkk9lWxViK\nVqTVrrrqqjYVjTQVM996662NiEKx87CZoIsuuijzrXJ3itpVQqnnlcO0WV2lzD777JOLxd8sKvle\nlVAWgM/JVXtI+vXrlyqjWl1KrTzh8OHDc6AuvPDCFoOh7pr6efbZZ6dT8rBYCNpGpZXn5UT095VX\nXskjizgnC80DoBbagyBnKScv/3zZZZflYrn88ssjosgi2Kxy7733tlgI9913XyOiUOHd28aLI488\nMuuNPTQOAVSrzBlZkBY7J7DqqqtmX6oZAU7cvPjJ3EMNwfrrr5/KNlVdDtnvu+22W/bxzDPPbEQU\nGReOktOaMWNGq22g1o81ar6Ns2yCtd29e/c89kee31oxrn5SpDlb4KKKbvr06QkMxs+4G99f/vKX\ndQVYbbV9lqwpmg0x1QbL4fGu3bt3Ty8DgaGqzebya9CTd1X588ILLySttiVN1RbU4TlVl6nzRpt4\ny+uuuy5pPnrtfnLKZcMmtF0lELqz3XbbJU1yDxQYOumn/tiCp9/du3dPb63dtsWp31VpVz1oTm5Y\njfSuu+6aiCzfCV0Wd0B8REGn5X3RQ7TwuOOOy+tDkfLrUCOKcEaYpZYb0o0bNy7Xhuo1edeLLroo\nIoqqKvQT0mmfdfPxxx9n6KDiTBWhEEMOOaKYO/OAtmM5d911VyKu+cbofAcSGxOvo1UhuMEGGyTj\nkmvHJKrrwTxYw3LJwryPPvqoVV5ZexZXC/HfrEbm2mprJ9YUMgv6xT0QEsIMGDAgEQmKqOMVp/BI\nvJ7fbe7v2LFjxgpMnMqbQ2zVTAQhu5EIJZdcckke5AaRtd2unrKpxBI/qswhmJx88snZLwfw2+EC\nLYgmvgMp7Oe96aabsrYd8ntNDbRX+ebIGWhbrT3v0KFD1vM6WAF6QvuqYUTYFN0Dczn55JNzrIh7\nmBL0IRCJ7dRIexXNqFGjsrLMtegDYuhrrrkmIgrtAcJBYfXhV1xxRbaViGieFvf6FroCJqAizjro\n27dvq6OdMAr6AYGVMIoHYmEAACAASURBVGXMMJYnnngi1xjDDuwcs+ffesGEMBXrZsqUKckIrCnm\nvm21Gplrq62dWFPIDH0gJVTF9ddaa63c4SSeFTNAU6jHC1VrcYcOHZrKNs8Esaq14eIWHpX3VY/9\n+OOPt9qhxCMu7jA4cY378qJqdjt16pSeVuxMzdZPu3PEouqIqcvHH398MgiqNvRybSk3O3B8zgvT\nXPuSSy7J8cMAoCcUqRq9A4JBEnFwly5dkr2I2cR0dmZR7rEQe3MxDXFjRIFYWFz1ED0qsHFzMD3E\n/trXvpYITLl3P2ykbA7wk0KErlhdnz59coz8hNSyCJiAtlo7GOCuu+6a442dYAvWm2uq/3YIvxNn\npB1XXnnlZF7Sd+bE0b9ttf/V+5ndtPru2YkTJ8aRRx4ZEYVYgOboLNFCBzgE1GaZZZbJ84OJIaiZ\na3mLgEWPahIqpE46duyYFIoggeJeffXVrfonFED1CD/o4zbbbJOby33GwhcaEH5MtkUrrHjvvfeS\ngqJi+qUfxKzq2dzSPfLQG264YauCfkce2SZZNTScc3GsDur81ltv5TgQgghFHjAPiKOTPFQOFlhy\nySXz4eWkPWSciIdYOMI5yh1zHHfeeWc6GqGAt476WTbzQHB0fQ/o2LFj06Hrs7nUH8IeZ+Z3jvPl\nl1/ONgES4y0kESpZf9qqzsL4bLjhhulUOGunwQItGz4+zWqaXVtt7cSaQmbUBTKgU+jW888/n2gJ\nbYgoKAxhhpdXoECMuOuuu9ITEkWqYhMk8MZF10C/oO6QIUOSNWARhDa0TjFBRLE9D3ISmtxv9913\nT7HP5nkhADYA8YQTQhPs4u9//3tST2MAgaGHwhOhAATBCtD/F154IavGFD4Ib8pUt2xSQIpnMCPX\n6dmzZ6Ikem08jA8ksSXV/BvrZ555JumlNJA+mQchEUYhNGIEslVWWSXFQ0zGtR3vhF1EFMzIGsUA\nofq7776b6Gk9CxOlsYQ1mCiGYvzvvvvuHBufMSYYBWFRutFBFxAZG3j++efz/xylJIzBZttqNTLX\nVls7sabKOU855ZRGRBEPSuLzXG+88UaKR4QW15dWETuJu8SHjnLZd999M66CzOJdqSiemqgB9XhJ\nQtmkSZOyKEENsPph3nDAgAFZKnfqqac2IopY3ZsKxc4PPPBAsgN9hgpnnnlmi9+Z/hO5Fi5cmB4e\nGkETSE3gMjaQg6hi7Dp37pzMwLuUIaDPfuc732lRCnjaaae1mEMIY2yXW265RGDzgIUQgpQmKln0\n/iRous4662Rsbr7Ff5iAdIwUFGbguFvj+84776TOUmUR+rrHHnu0OtBPMY01SlSaPHlyq3pt1zPO\n1i5WKe5WaLTmmmvmHBgLwhdmSvDVD/OBDWCGvXr1StagKMuYEf6GDh1al3PWVttnyZqKmZm4gLeD\nSvvvv3+rIgSlfryN2ALqQF8Ic+mll2ZKRmpAnC0u5OV5Oco5TyauXXPNNVOhdKSsEkkIW07+Qxpx\nJ08tvjvggAMSAaEW9VScAwko7uIg8e9jjz2WzEK/eHnXxGLE35iGONjmgS5dumRqTFGG/ul31Wza\n8BM6KWrYZJNNWu2Gw1D8hD5iOohtLO+999482la6jzJsgwG0cyQPZmaDijTQ+++/nxqBmHmvvfaK\niOKtiWVz5JNx0BepoA022CA1GOMJNatFKfpjHGyEGDt2bL5E4aCDDoqIIp6mYpfLUSOKFKbMgLU8\nd+7cnE9prup7y9pqNTLXVls7saZi5ttuu63FXlEeU7zw4YcfJrqIB6na4hAeynd4O4ppp06dMvbi\nXavvHLZ5Adry6lBQzu+xxx5rVb4oxoFI5b2i4knxNHVWkf7bb7+dbRBPiT0hG6SRXxQHO8D/2Wef\nzTGiYmMgvDiNADrJZWuP1+Y8+OCDGc/z6lCHilvdC3vUUUc1ymOJUUCUW265JXPj5g77MHe0CciB\n0Yhtt9xyy8wAQCDrTJwL7SA4tRfrk0l44IEHUvfQJ9e2l/iCCy7IPt50002NiILd6CfkHDt2bK5F\n5nfFStqAPdoCil0uvfTSeW9jhHFCc3NqLjFQ6j6t4o033sg5tIbMt7kcOXJkHTPXVttnyZqKmR1T\nK7ZQBUOZW2+99dLz8J6UZmjKc1EQHVHL6x9//PGJenK00FtOkgdTFsn7QifMYYkllkjvCu3lRFVk\nlQ1S8rJQRCne5z//+Yx3aQH6oeLImOg3ZVgVWZcuXRKVoJWco6oov1NdVQRBF3HnWmutlV7d+PmO\nz1SNzkF3oAHI2Q8ZMiTnCiPRTio/lgGdVG35/Lx58xKRtV2MLM9MB/BaH/ErxlbepkizgFhi5sVt\nEVQRB8WxGGzizDPPzHZri7UqvjZn1GXMwBgPHDgw0VxGxSkwmA5kFg9DdfOjLmGZZZZJ9ua+5k5G\noK1WI3NttbUTawqZKdRytVRNyvCll16aai7P6EABnlallyJysTVv/8EHHyT68d7iqSuvvDIiCk8J\n/aCiY4R4yR/84Ad5+LxcKYRY3OtpVBaJcxwKwLtPnTo1N07oD1bA44objY0KIMxg6623zvp1G1bE\n9b4DbcWNELu6vfRLX/pSqtLQyu+fdDiBuFDfvHvZ62ruuOOOfImb+2Aqxrdaj67d6sLffffd1ECM\nt3wr5RtD8EIACrKxsE569OiRr/tVmSULQCMpG2aksu/GG2+MiOKVwddcc01W4GF8GAXtBUODphAS\ngq6zzjqJovohzvaKG2uURqNd1ra1vPHGG2cGyHrw7Lh/W61G5tpqayfWFDJDI8gizhE3DB06NNGU\nIiq24N2hjvppW954o+7du6eXlhuErtRzMZQ4iKd1LzXaDz30UKuDDSDp4l6spgaaeqlWV6y49957\nZ4zJI9MLxKBYCm9u1xCF/ayzzkq0ElfSIOyaUTftd0o8JkJ5fvjhh3OcfcbYVQ94YAcffHCLMcK2\n9PHkk09OZkN1d20KsXFREeVwAsrupEmT8rP0DWjv9+rL4f0/hDMmf/rTnzImd03swv3Kpq1eC0RH\nMdYHH3xwnvxpd5g2yBZAVdoNRmCssZ+IIivyi1/8IiIKduL/q7vnMCZI/dJLL2U1nF1zWKvYWYbk\n06xG5tpqayfWFDKfeOKJEVEgpfhQTLfEEkukeilHav8wL2ovNJQXn4gtpk6dmkoxb66uWb4ZqvBu\nVVWYGturV69so73AvK64uGzVM74ZtfOtt95KD8+LV4+L8QJvx7JCufKxxGJMKGIMHOQn32wzPsNu\nVLhtscUWiawqvqC2a1TNmIl7MQro0LNnz8xaQBN9FEOLP8W1+l5Wnam1UE+8X60z0HdZAZv3xbNL\nL710orZdUtjd4naG2S0lnqZcu8YKK6yQSFc9Ytd+ZcxIxZu2afv8+fOTgdJ6rD3rzbxX6+lpFcZ/\nueWWy+862MPaqb7K99Psf3XSiEXlpgaqc+fO+ZAoc0PFUDPJcgOk4KC83cxgmwgpItsKiQg2B9hE\nQVQgqv385z9PB2TQLUj0t2wWCTpHtEGLe/XqldcmeKHdaDTH4juomgW/xhprZPqC8/BQW1xO7PBw\nWxjf/e53I6IQ/B5++OEMLSwIDtCCrJpF5QH1MFuc48aNy8PYOaDqSwGsg6oghbbeddddrc7t4mw8\nMA4yqIYS3n8NMBYsWJBpHk5WCMHZWWsRhaOxdqrbN2fMmJGgYIOLcMJYaguRlDPnoB599NEU7syZ\nsTJG1oNQ0TPjoH2gN2bMmGyjdW/dVc8E+zSraXZttbUTawqZeQqoA+V494ULF2YahwDAu/FkrgFt\neEG0fNq0aUlBUHMbDrzJwBstINX3v//9iIi4+OKLI6KgwL17904kVbThkARpqLJBQkKENBRbsGBB\nUnwiDKrHm0JdBS1CBMUyTzzxRFJI3tmGEWk86MLrE0K0BzL17ds3r0/AgjrQpmo+J6zRzvLre4iD\nxCMGTYVI5tK4obgDBw7McUC9rRXIfP7550dEETKh3Qo1MLknn3wyv1s9HspBE2WrHuwAkdHd1VZb\nLbepEkWZeYGy+mlMhX8DBw7MNYaV+C6abfMPJMYEiatC00ajkXNlfRMUfaatViNzbbW1E2sKmXko\nxQNQT6w5YcKERGIeyt+kIngb8QcvCI3feeedRDGiSTW95bu2GRIwbKMkCs2ZMydL9nh68bB4m0AX\nUcSRrqeAwf2mTJmSHlfKAUIrteShaQdEIsLfwIEDMwWmP9oITWzj46HFXZCaB7/88suzzQofbPAg\nJFVN7E4gwpjK2x7NK3Yl3SV2hq6Q21j4XpcuXbLQB1Lqv+2t4lUMgd5BSzF+yy67bIp21hBGgEFA\nv3L/pfHE8eLuRqORqaXqZiDsxPrGgIh02MasWbNy3iG+El1tdTgBZqLMFBNVEHL44YfnYZbmH2PD\nBKzdT7MamWurrZ1YU8hsyyF0EuPZcD1jxoyMHammYkqeCcqJkZUhQrDp06cnykjuQ+3qu6CgION9\nxcWrrbZaohrGwPtKc5RNm8U30jxQ5J577klFXZE/pIFWUBYyQU5I89JLL+U53OJDZYLG1ZhAIgop\npuIeW221VeoJkBWK2lpYNfEidV+Zqf5MnDgx01qQwTh4lxdG4XOYlG1+c+fOzX5Dt/JRtxEFk7AR\nQcxs+ymlv1u3bpkRgHqyKFC3bNgLxLfOqMujRo3Ka2sbtmacITetwpqxDsaPH59MTAkoHQmrw1qs\nM6heLY6ZNGlSMjXr2d9ketpqNTLXVls7saaQWcEF78frldFAfo/SLBeojI23EXNQKiF4x44d01uL\nlcVEPD+ExgJsEvB3R9WsvfbaGbt4HzMPKlYsm/y13LFNIzz38OHDczskNIJS1RJDqOH/Ff6//vrr\niazyxVRZBQViJEgo7oT+UP9LX/pSFnv85je/afGTyl0142EMbQmFvnvuuWf+nz44hF3+u/oOKkUs\n1N/NN9885wLrwJZoKf4f2zAv2JEjgvr375/xvaORHK2M4ZTNvBhbfaC4l8uFMU3xrsIi6rL7qpUo\nv5caOzQG+q790F9MrS6BhmQdbbbZZskAzL/S0Go24dOsRubaamsn1hQy22ABDaCSOGD69OlZxWJr\nndwjj+xY1ur7jcUvL7/8chx77LEtrsvziztUE4m7sAFxt/Y99thjiQDaDtUWV7wuJlKlJlbyapHx\n48dnjluFEs8LeR2GQPm14UJ+d6mllmpVwuoa3voodlaVpTy1XIkWsSgHK1b22hOH3KsIq5pSUvEn\nRMFGNtlkk2Qo4lubFoy7eFE+3Hzp17Rp0zJrUd0MQcWtHr+E7ZlTiD1y5Mj8rHlQM2DtlN+rpT9y\nyP5Gd/nKV76Sir54VvbDOqoeClF90cCmm26an6GeGzMqunsoAYXIxoOmcNttt+Xat31S27HWtlqN\nzLXV1k7sf/V+ZhVfvLvY5YUXXkhPxROJe6m5Nqer2lLnyyOvt956+R3bIyE0lVksYbuhHCVkFR/3\n7t070c+WS/W9UKRs0M0RrnK1YrQXX3wxq7DEr9RXlVR+pw1ou3EZNGhQem2Iq/bXNaG8QnushpZg\n/GfOnJnxn36K6z7Jq4vh6R/aaT6eeOKJREKahPoC7YA+Yk7qLyaz8sortzraqXoEsxi6+sbJyy67\nrMW4vfXWW7nOxKfqzs07thdRvIBQvbPfVWzNnj0716b1LNNRPfQAY8JQjFnfvn1zDLTT0buYGfZk\n34DqOWPp3v3790/1+qKLLoqI4qhnmQqa0KdZjcy11dZOrClkpniKgymnvN+NN94Yw4YNi4gCPSEy\nhZT3hihQQCzVaDRSifV/4i+qI1VTTMP777vvvhFR5Ou23XbbZALf+MY3IqLInS5uC6RYUDyvX1Dl\n9ttvzyOTVJ/ZYSROt2vKNcTK2MvHH3+cucif//znEVEwCgitMokXF1dCQqgwf/78vL4aZ6j9SYfg\nYwXyzTIS4rT77rsvY8ey9hDR8vikiCIPKy6kJPfu3TtZBQSyZsT45q569A/l3hwOHTo0kXinnXaK\niGKr4OLYFY3E+jPWmN9DDz2UlVbYQLUmwtqEmNpC5e7atWuuDWPkfmJp/aBFWPfGEINbb731UgtQ\njVjdRddWq5G5ttraiTWFzDyhumYxnhjkxz/+cSKeWKJ6OLjYEWLKYVJ/N9100/TevJsYmmfkscRF\nDs0TY4ilTz755EREsVk1Z1i2aj2t+5VjJvlP7RZHVg+2Nzb6At3feOONzF9DAjvI9Mt3xO7GCoJD\n13nz5iUiiIUp4PLIVTMOct0QBpKec845qfJiCtAGylH77UhSTWbcJkyYkOsA28GerBVH+0J9aG8d\nHH744RGxSDdxDe2g1KsEK5vPULWxGGO4zTbbZN0AtJSTNiZqEOxwsnatw8mTJyeaG3/rHTOzHqx/\nO76sJdmV4cOHJ9PEAGgQ1UMyPs1qZK6ttnZi/ys1m6cSW/GuK664Ynozh5KVj/CJKHbiQB/7WsXa\nXbt2zRwuBdBnyy9Mi2j9gmtxqnztPvvsk96UMsljip3LZhcORFQbDunHjx+fsY6ct7w1pKEiiyfl\nyNVb9+3bN8fAdSGefc1+qmRzfA2PbTfXiiuumIhmDGgQ5qpq9nH7nms7NeS5555LdgGh1LdDMlkF\nVU4Ufru8xowZkxVgcrRUbOzJNdTTQyeIpy59jz32SH0Cq6iyv7JV217NiAwaNChZleyFvL71pmoR\nM8TmIOX666+f81xdT2JozwZmQJG3nwHz2HzzzbPP+uc7GFtbral3TR144IGNiEIssVWsXN7p/wgr\nFll1u5nJRovQxAEDBuQJh0QaA2SifBc9QsMIZj5/xhlnJAW0bfDAAw+MiGLgTj755HyPz/DhwxsR\nRShg8ogYU6dOzf4wRSEop7FB8/SBY5g6dWouBIUGKBgxy+LxAHCEfufEpk2blhs/pED0nYjy61//\nusV7is4+++wW79PiKM3D1KlTk3JbTEpxja/SSHRbOsYZ1fPmzUtRx8NcPUHVeGmH+fB3qbL77rsv\nwyn3tcYUwNx8883Zx2233bYRUYhJxFQbObp165bhQ/XdTu5TPdmUeGez0JNPPpkPvFJj/bNxxT0U\nvxDdhBnKne+///50BL5TfevI8OHD63dN1VbbZ8maQubf//73jYhC8HB4HA/yhS98Ib00GoHWoZ0Q\nC4JIu6CcDz30UKZk0DpIwbspcofIaKfCEGjQtWvX9Py2qkEXXrn8hr0nn3yyEVFQfxQKMvbq1Su3\nLRKOUGJt5VWhlr742bt377w+mupa5aNkym1UROB7UHSllVbKkENRBIZj88b222/fwqv/85//bEQU\nBQq+D8EOPfTQRH7sCmJBIffyHfdElZ988slMPUF+qUmfsalBX1F5qRusZfvtt09ERFExBkh25pln\nZh+tUQUvkNDvHTt2zLkhikFP9yYiKj4Sutgi+eijj6YYaT17BoRfinGEbrbKOvkUy9poo42yHdX3\nggtFTj311BqZa6vts2RNCWCS7JdffnlEFDFM+WhcMam3+xF3iA7nnHNORBQxnu1+BJgddtghY2Ge\nCdJC5mqpIPSXjoEcG2ywQX4GqkDWxb1BULwj/iFUiXH79OmTqSjpEYX8RBQoLr2jBBFyz5o1Kw8O\nqG7/FLvZrC5WIzBKdyneWW655RJFbcKwbVJcWWVe4nLMySGIjrydM2dO9hvr0E7sSbGL+aBHYGVT\np05NNDU+SlSNA4HOeNFJFJEQuZ577rnst5QSxCQqlQ2L832/SwdOnz49RVpFSMZZcQo2p+TUxg4F\nKUOGDElxsorakFmKDSMV39OXtH3BggWtDkvAVukvn3RsctVqZK6ttnZiTSGzNJOYAxooFthyyy1T\nReRhqdhSN5DYJgaxs7j3jjvuyHQFJRi6SqMoxndgOpWbQujAtxdeeCGT+uJRqnJ52xzj+SERBOUx\nR48enWikYMFGEZvgeVwljtJkigR69uyZqKRwn9cW50J1KqcY2b0dNTto0KBss9gUS1rce5giCiSU\nMvM9n3/ooYcSkbVPH6WepKKkVPTdfMycOTM1AkjlGtI9YljIhenYNOHvM2fOTCYmZWi+MbiyWUdi\nZWzNfcaNG9cqSwBxsUrsRkxu7VjThx56aDIf7YbyVHqMzNwpGlJybDxmzZqVqV5aAPZSvwWytto+\no9aUml1bbbX937UamWurrZ1Y/TDXVls7saYEsEceeaQRUaQRpCrsnd1///1bvZWQmER0kCBndor4\n3qBBgzL9I0WgeIGEr/xR+oPoYL8vweqhhx7KdI/aaL8Tl/bZZ59MyF9wwQWNiEKsIJKVRRWiiNrf\ncs1vRJG2UxJKJFRe2bVr1xSdtEXRhfRJdayIOf6fUPKvf/0r+66tdoMp2rjmmmtaFBxcdNFFjYii\nRlodMDGpb9++KdAZbwUQxDypKKWt0n3WwworrJACmDkk2hE1CYLSTMZRKlP4993vfjdP8XA/KTBC\n1cEHH5x9fOihhxoRRVrR9Yi0gwcPzkIZP5XPmkN7AMyZmn+iZ+fOnVOklJoiBnojJWFS6bE5Nx7E\nZAUrEYWQqGBGSuyII45oU9FIUw+zTlZf+WmTxOjRo3OTvMoX9bqOPlEh5aFQzaUWd5VVVslOUBsp\n4LaPWWSu5dgX5mFeZpllsqrn5ptvjohC8V6cVmBSqbhUdYM7evTozPFa/NrqwTMh1ZerWSj9+vXL\nQwE9vLIDDshzYDtHIDdsA4pFOGfOnKwft1hlBxZ3QHxEsejUW1ePwr3oootyrqiq8pwOaaQMVw98\nNzb9+/fPbakcoTysyim5c9Vl5tAaU8Mwf/78VLg9oBzC4l5k4DNUfeNCRZ4xY0a2gcNV6UdhBjBU\nbIq0NduvX79WW0mNpzmSG+fgKPBUek54pZVWyvbIf6urcN+2Wk2za6utnVhTyCx3xttCHUjWp0+f\nREXeBnJAUZ5YPlqljLzzVlttlblB3gvqOYpUTbDKLxRaHlDebrXVVkvP7DNo/+K2l6FtkEc9sfzm\nuHHjsnJMJY/KJsaryxmjj2qRu3fvnuEAD2wrHjSTozYOWA7kQzfPP//8fCHbwQcfHBEFMkH9T+oj\nVEXzUMlu3bpl+GKstNd3UEZU0jX08bnnnkvk0nb151BV6GB8rBt10Q5RvOqqq5KRYVnYnvAL2yqb\ncXB9FW7Dhg3LegV91i/rybrzdwwA2j711FP5N+Eh2izcsUsLq1RXb41C/f/85z/ZD3Xbrok5tNVq\nZK6ttnZiTSEzjwWReSGosO+++6YXV2kFRXhXAgCRi7jC6z3++OMZ99npJKYkJvBkvLnvVl/N+cwz\nz2SdtXpnqAvlykYMUu8MhQ877LCIWCTa8MgQnxinoooGoELI61kdX/Tb3/42BRx/81mMo3q0Kyak\n/ptX33HHHTPWtWNMe7AZsRwTH5ZfXBBRoPAWW2zRqooNWjouyu4lOgDtROXY1KlT828OFrBG1Eyr\nmLLbSHWZWFefDzzwwKxdV7NsfhfHrqo7vhxK4aD+I444Ij/jJ9Zovfl/cbw5pQ187nOfS9Qk9EFg\nO/nsBVABWX3FMTbxwQcf5GfNGVZXH+hXW22fUWsKmav7iSG1Y0z79u2b8ZadS+I+nki8I5YSH/DQ\ne+65Z6KMFIg4VI22FA3FVmzrxWbiky9+8YuJ3uqfKbVqhssm7nHkS/VQvgULFiQ6qpuFpo5/tU9Y\nnMVTS98MHz48vTpVXhrPLjGpKihGf5BOso/8W9/6ViIqdR2af9IrXe3Eoa5CZvHivHnzUmmmkYj/\n7BTyHWq/uVOzvd122+U1MAPXqu6fhsQ+J+UnLfTMM8/kdxwBZH4xuLJBQuo5tkaTmT17dqYlxa/S\nS17D49BGmgBlne2zzz45/8Yfq4PUsjNShTIlUJem0KlTpxxPzMCx0DSVtlpT5ZznnXdeI6KYCPQH\n5VxvvfVSpDDxOinNpMEG0iIkeEycODHpuwcerUT//N3CNDnuWX5roofKmWQeiNL2vczhnXLKKY2I\nIn9N2LFod9hhh0wbcSweTMKeSdNGC9y4vPzyy63Om5b6snFfCshDggYaS/Rv9uzZSX0tfuNJeBw2\nbFiLHOVJJ53UiCgWPYdlUS5cuDBTj1JlPmPRVd8wicpyOhdddFEKm1JfKLi5sWYce8SReRiERaNH\nj84HUZs9XB78I488Mvs4evToRkSkMMhZyHPvuuuuGXrJX3Mk6LUQwIOH/nK++++/f55RZi6NEQfM\nIVuz/i7NaG6HDBmSjl4ICpyIhYcffnh9OEFttX2WrCmajTpJwENE1G7bbbdNQQsFrr6NQfWYahp0\nhbA0efLkLJZAe9FQXh0a+h3C8aTQd/bs2fnWDZvU0f7FbWwn5HiTIgTw8+OPP06vCSX1HRV0/A3R\nSDUVdF199dWz/TyxNyhgIpBPNZFiBrQP6q299tqJKkKS6pscqqaYxYZ8wp35WmmllTLFBD30FcpB\nbKxOqOR9VyeffHJSc0xFewhbWI/xg8jQH5P5yU9+khQdNZV6lGYrm0MuHIaBGRinVVZZJdkMxkfo\nRGuxHCxSmk/Idu2116aAqoIN01TgIowhSAoBpcy059FHH00q7n7COmJlW61G5tpqayfWFDITE6pl\ndGUJ3b95a+gjRuLleHsxJeGo0Wgk8vBq4lQxMXRxDwKZ0rnyGcXiH/E1dJH+KRsNwJvrpcSg+T/+\n8Y9EEt+XeoPq4hyxFEYAfUeNGpWIy0tX36HkYDeILB6HHBDzqquuyjmRLvLdTxLAiJfO4F7ce4Qx\nIegJTaXX9E17jDvE7tGjR86JuTLvShbF18obIR1EZvPmzUsW58gp/Seyls38YhzELTHrlClTcn2I\n461Z6KmtdARxsDnu1KlT/k2hD7THCquFNO7puCZsYO7cucnqMAJjYQzbajUy11ZbO7GmkJmaJ1YV\nF1JfN9poo1QNbSbgdcQuvLkCEPEQdXmFFVaIffbZJyIiD1IXd0MMBeiUW+hLdYYco0aNyuuKUSCW\n9FfZsAilf7wtZOMCeAAAFAhJREFUJnLcccfl8UfV8lBxPqSDxFRZCvTaa6+dOoExcaC6dhsbY6dI\nR3oNg1hzzTUzzqLQKj2VAoT6zHhAI1qGN3P87Gc/SzQRByp/pCZTr6EuZdd6WHbZZTO+hcAUW3G/\nQhl6BJTVLrH2kCFDEv2k+ay3xR10R9fxdgprQ1HKSSedlP9nLMSs0kkYIIT0/46ruvHGG5NB0ICw\nJ1kMY6fARRGLrI7fu3XrlihtLvwNi2qr1chcW23txJrKM++///6NiEK15LEo2JMmTUpVWrmguFB8\nK5kPdeQDxaLTp0/PmIjH5N2pvVRr6FP1bNTgz33ucxm7UBf9hKDHHnts5vD69evXiChQTjwsLh07\ndmz+39lnn93ip7ZAVfGvOI8C269fv2QQ4jglj7y6+Ffu1Vgp0sGMVl555UQiMRnVWLx13HHHLfb1\nNBBQvGvMZ8yYkWoq1R0jolBjA8bWeJunLbfcMtsBBSmz2gm5MRisA8LJvb/11lsZS1qrVGzo/be/\n/S37+NRTTzUiCuZF/4B2M2bMyHbLlijFVCwEPatHHGvz1ltvnXOGYchR+y42iW1R661V/XzjjTdy\n7H1WmapMyGWXXVbnmWur7bNkTcXMPFT1gPdyfAYReHFxjsPWxd2uoZKKJ/7www/TA/Km1FSILJdL\nCeXtXEu117/+9a/0tk5D4TnFS2XDDsR3lGjt2G+//VKVV63Fuxsb+Vpxp7ZRpqdNm5bF9lBLKaXc\nrxgaMspvQmgq+/z587N/0Mr9F7eRpPw5qEbttb10wIABqR1AU/eoxtkYQjUvPX/+/MwAiLPpG2oU\nsCwIakzEx7Id8+fPT+TXb3H24rY+epGB/im/vfLKKyNiUT0DdlXdyGAdK5fFWrAs+sgGG2yQ65wC\nDu0hrs9CaOuu+iK52bNnJzNw0IVxpMy31Wpkrq22dmJNITOU9eI4NbwQZebMmYmqKmN4t2r+Vd6X\n1xNb77zzzukheWJIwbvaMgYxxUW8oRzwvHnzshJI3lGuUE1w2aiztutRQE888cS8P1UaekNVSKMN\nUJ26L7+6+eabZ5ztPliKgw7EzuJs94RqVP5BgwZlPGkOoCTNotpP2gW1l1IOmX/5y19mPlk7qNSY\nGLZhXCjh+tW1a9dWR/yYK2eTyUjQUNxLvG4zzQ033JBoJt9LKV5cHlZVInTFnOSO77jjjtyeaexo\nPtYqJmLNYEr0nVmzZmVca41iMcYC8tI/xPuyC/SQNddcM48aokVhtZT/tlqNzLXV1k6sKTX7xhtv\nbEQU1UNyxlS39957L5GPJ+RNIYCN/pDAT8h29913p+eVZ+OZf/rTn0ZE8RoUr8lUS60OG8JOmDAh\nkUr+1Q4Y6HLxxRenUnjdddc1Ior6XnEOhX7TTTfNuNzfxO3GgPLLq4pJHUjw+OOP5xE6YmKxOvXe\njhvjiwX4HG/fp0+fPA1Ubh5LgRTnnXdeCyXUCaTYjyo7berXr18iVfXQuuqL0eXJqf2Q8pZbbkmk\n9dkqUlH5tRuiQjrWs2fPPIDBFkX18dC7fDrn9ddf34goUJXKLM7feOONM6dNQZf3p3toK01DpZi/\nP/vss5m1sNZsA67OGY0I49A/66Z80icWpe3W1Lnnnlur2bXV9lmypmJmaCRXyINB3y984QsZk/G0\n4hJeB7qIlVVZUXt79uyZx62KR53X7DNQDiq5v03lcpcLFy7MQwio6VRW7SsbBkBdVK+simfixInJ\nMMTElHPIZo/sWWed1aItGMIGG2yQ/8YsIJu8Jm+vP9BdHEyhffHFFxMNVUNRscXV1FZmQ7/vqVzT\nzi5duqR6bIyoxuJ+6jp0sVNLXLz00ksn6xAHGlNzC8FUW1kXtJZyzKwvGAvGphKubKrTzId93eLg\nDTfcMCu5xKaQuRr3UpPpIHSA1VdfPe9TPbrYeobU1Gyfk282Lp06dUol3/highhqW62ph1mi3OJC\nNRSP33HHHZlSUOCAEhGiTCIaRlRxusLo0aNz8XhInSeGotl44f7ENAOoqGHw4MHpXAwQ0cnDVrbq\ngewcEDq59tprt3rfsjPDq6KKB0H6xkJ5+OGH8wB4FNS2P6WiUibol3QYAVJ/zz333CxaICyipPfd\nd1+r/kUU6TuL21hxevfff38uQH1FGbWv6lS1i5MfMWJEnp9uHXgQPSCEIA5Z6MT5WGvvv/9+3h/d\nR11tahC6RRTrzYNaTQVNmjQpwwVOixjlofYQEf6EPwSyU045JQUtYYLxtmaABkPphZ+c3cSJE/P0\nG/ez3gBGW62m2bXV1k6sKQHssMMOa0QUqEpE4rmWXHLJpIyoEO8u8HdKofRR9ayobbbZJj0xsQr6\n8fyO9eFJlWbyhgojRo0alcIHb8e7Kj38xS9+keLCCius0IiI+PnPfx4RBQKhfN27d291zA50xVbc\nByKhpFJBjz/+eIYPxD9Mg9dGr50oKRXoHo5YGjlyZNJq2w+l7czr0Ucf3UI82W233RoRhSBjfjCK\njh075lz9P+3dT4iObRsG8IswJP/Lhsm/RiRDFkNYMDtFTYksiI1hx8JiwsbSgimFHRkWzyQLkZoa\nK5TFk4Xs/EnGQmGamUIi8y3efud9zz3f1zvP7utxnZs3L89z3/d1Xc95nMdxHtd1QwqGD9UFU4Ng\n4oC6w8PDUZkoqy9evDjhO7V2rBNCnPtgeX3+/HkgqbWiimMZLYt83d3d4+Xr+Kyxa2lpiTVA6IOa\nqgk0yFyiJq63fPnyuD9mJHNYtauiAioGFSLjyq1bt0KcRdm0fFVoJ0+ezAJYjhx/UzTEmWUdmRuC\nyEL9/f2RNXEz8rr6XyZmFpCJiQADAwMhBNh6B3UIYZCCZc/1bZBgaVy8eHFkZtdnDXUYglZOSkVG\nxAVVGSqAly9fBuLZ2oiT43M20kNZrTotktHR0eCFuBnOrGoxZmyrsjiNgGWwq6srhBjjWH3HVTVU\nFKyxKiSoOm3atLgP9+67VDl4ugqtyr9XrlwZ88z4gvdDdxWBedd29N3W2NatWycZT1SEELUcnl81\no81oPt68eRMc2X8JikQp21tVZuaO4Pf58+dAeqjt7wiLqhfjqxJRSWmP7d69O3i9ipAWYG05zOLf\nIiNzjhxNEg0hs6wno1GbKbn379+PLIezVBVBxnuISYGGsq9evQrlW2bEp6C9jeE4D+Ri1JD129vb\nw9aHp+LV+Gg5XI+BBT+WVd+9exc8xrU8h+wJ8SGNeyu/AUFbrqenJ6VUoBNE1sZg0VQF2Izi/rq7\nu0OFLh+qmNL/PgyOZZRyb06pvc+ePQsODHGr72byWdtJrQPf/eXLl6gYtLxUT+ycvrN6gB/rKvPN\n+/fv47BCij2l2hFJ5cBzIbJKUUX25cuXSdtzra/qmeIqAHyYzvLo0aNYE7oaxqb8dseUispEpeI7\nPMvChQuDT9N+qp+ZamRkzpGjSaIhZMZFWQFxC3yop6cn+K1+G7VPFoRCEMH7lnz3jBkzQgmFUHho\nb29vSqnIlDinrEhhtCFj+/btofzaGuezELMclGBcUXZ1r62trYEkeLRtaw4hhJ5QDf8sc2vc11hQ\nlvVW8TBjx/hAGZbJW1tbo2eN+/tv9S0MwrNAbkYg979w4cI4dII2UX2TCO0E2pUPA0zpn8oI/6Sr\nMKf4jDnDx1Upnk0XYHR0NI7ENR7Q0P2UQ8/ZBpfqu5iPHTs26UUBzDv8DY5BcvSVXjieu2/fvkBz\n68q8Q3MVCa3GdzIv6dkfPXo0xsA42tjheacaGZlz5GiSaKjPXKvVxlMqLGv6ddCpVqvFZnMow7Wl\nj2zrm74rR5is/unTp+B9kAhSyYbUPsosFIA6EHtwcDCUUByM6ovDlXt4N2/eHE+pyMR4Pmvg4cOH\n41p6ghR0HMp7kCi/KgMK/bx58yKLcyA5ZJAiCglVKFCM0wrq37lzJ1CLWgspOJP27t07oUf5+PHj\n8ZSK+cE/ocO6detCcfVvaBCuxeWnH2u+cM2hoaHQUaANBR43t4Y4w2gZbJ+0lgcPHkSv1lzqWav+\nLly4EM94/fr18ZQKJLYWcOkdO3YEovMrGGdVlH4zZOQ4o2DX6/VQ8q1fc+JeaUeeTzVh/RvDu3fv\nRiVo7ahS6CB5o0WOHH9ZNMSZvfQKijKN2zT/4MGDUDbxQBm/moEhAoSkCnd2dsbB+DI9/oeHyIq4\nnZ4ih46/X7JkSXA2iIwnQfVyUMdlVwglq9br9eD2uKa+Ik5EifcZegKV9sSJE6GaUnZttfMZWVs1\nA20hCYdca2tr+Kj1YKEXxbx6GD60gVi845TTkZGR4JlQVA9dfxy3pMgKvHvlypUxV9AduukQuAZ3\nH4Wecm/curq6Ynw8v80s/lwOmgZer6qyVur1elzbeilvzEmpONBAdYD36sQcOnQoxsT60uVwPX+2\nb8EBBLQTG0x27doV885H4flUNVONjMw5cjRJNITMMho+yDvNzXX16tVQuPFBnBLy4jKC8kzd+/r1\na3AT/AJC4o7uw1Y2vVZZGT87ffp03A93V7XfVw4ZGOpCBBm6r68v/k7FAb2OHTs24f+rDqiyqocX\nL15MOLI1pULhVb14Xhv4IaCKQSX0+vXrmANck3NK374arqWnbT4gydDQUKCLOfNMeDlV1306rMIz\ndnZ2Rp9XpVblwlAQX8QxVU52Ej19+jSceA4JgMi6F+XA732GTx8Kf/z4MfgzDQA3dSwQD4G5Nh70\njzlz5kzyURgL1Z05qx7Xq8ftaKZFixaFVqKaUp3QeaYaGZlz5GiSaAiZOXz0SWVRXGrbtm3hl6XY\nQiZKswytH8eLC61GRkaCM8vu0JtDhmsM/4BoFGUq540bN8LpBdWrr4MtB+ThxYX0tIITJ05Mes0O\nxw9O6NrUa8+HT27atCl2S3Ew+Q4Igd9TVaEYHukwgHv37gUC4cC8wP/t+VIqtAzPoVIpc2gdDugN\noSm2KiZVgQoD7x0eHg7E4gG3Zmgm5ttY+w781foZGBgIFxfErL4mqRzWGyRUIfGNd3Z2Bp/Wb8ZN\nVZjWpnv2733Hu3fvYj3zQFSPuILM9A+eCRWh/z58+DAqXZWh8a8eBfxvkZE5R44miYaQGWI6JUKv\nVfZZsGBBoAr00DOTeXFp2Ue2tWvn+/fvgQRQXrZzXRmzv78/pVQouPqdkLSrqyvumfroXvGhcugz\n6kNCL9n+169f4d/GZ3mMKfz+HiJDL331VatWRd8cSlEzoSy1WyWimtizZ09KqeCK+/fvDzSsvoBP\nP7waEBFiqVg86+/fv2Nu3B/EgFyuiXPqDHBSvXr1KrgjhIQ+1HefpQNAOs+Kfx88eHDSUTsqMrvb\nykEvwWF9n+rnw4cPk3rCTgmhN+iB80gYW+O/aNGicHJZT3QEz6tq4JXgONSZ0ZFob28PxD937tyE\n77QHYqrRkGnk0qVL4ykVYoUWhRtetmxZLCYnZl66dCmlVAgdFrtFZJErPf/8+RMT6zTGaplpMVWP\n6rFATfLPnz9jQJS9kowBO3/+fDTkT506NZ5SYYZgq/PDXbt2bdAEIozNEBaLheFeqic9zpw5M8on\nCYCx3tlTytjqeV3Cv6/VapHojC+Bi61x586dEwwH5tAPUNntR/779+8Yf2PkB2LzhB8XccnCJfb8\n+PEjKI9yE6Ww6LXb2Dz9+CRdpe63b9/ix2QujZsfd09PTzxjb2/veErFj4V913dMnz495so8VI/y\nUVb7bRw/fjylVCSYtra2OHPNBhGtL2NFcDU/1fPAJZJ6vT7paKUDBw6klIp1f+bMmWwayZHjb4qG\nymxliEwCZctnI7NcOqCNoKFEkYmVdbKR8mTNmjVRBvnslStXUkqF2KCErbZ9bEP07+bPnx8ijuvL\nvkrYcthoQawgwMm2q1evjhLXtaEFtFQyM7wo3SH00qVLQ3iB8swjTCLEEQjJxiljM6hs3LgxrJ+Q\nwZy4P9cQylvVlLYTsW1sbCxQ0dyYByindejPtVotpVSg3/r166NE912MGKgQNPTdxpxV1/O0tbXF\nIQ0Q0hyoQsqBopl3lMX8DAwMRCWhwrMWtTghs3Le87nnnz9/BiKrOMwzBCaQWmcqOMYQQmlLS0v8\nZtxXlYJONTIy58jRJNEQMrOzVY0JWkVz584N+5ojX7U8cLhqZpaJ8ZeOjo64jq2WGuyynkxZfTeu\n1g50bGlpibcDyLpQljBnC2FKRWuLnU4WdZzL7Nmzgz/LnvgjFCf04X64M745b968uG/c3L1VtwX6\nLH7GAgs5zp49G5sOCExEQ2IU04zAa/Fx98n4ceTIkdiGSItQTdEQaBKsoXghrr958+YQ/vBa82v8\ny9slUyrsro7bIQbOmjUrqgvXM5YsrOYppaIS8P9shbQmVqxYEQKqVqvWlGrSejMftBrovmXLlqjw\nCKyqJihP54DM1jQRt/ymR9dnHjE2tKmpRkbmHDmaJBpCZoYEPIFFztsAr127NulNfVRfCEHNc7C9\nTf4y3du3b4OHQm/2NhWAjfWyHu6EHzG/b9iwIXio60LQCxcuTHq+qtXUNkKfffLkSTyHe6Iis3NC\nbKhrjFgFOzo6ghNrqRlXmZ/yDSGomo4kgiy3b9+OMTHOxsJRO9WovgUT+tIdBgcHg7upvLSZoAqN\nxGYBlYznOHfuXCCh9o72i/mgkUA/HJsRyRpYsWJFjFf15QeqinKo0qA3g4lqZmxsbIKSnFKhIzjY\nQZVw+fLllFKx3q2rDx8+xGc9j0rEn5lIILbfA77vPvv6+mJcGWxw+UY6TSllZM6Ro2mioT5zjhw5\n/n8jI3OOHE0S+cecI0eTRP4x58jRJJF/zDlyNEnkH3OOHE0S+cecI0eTRP4x58jRJJF/zDlyNEnk\nH3OOHE0S+cecI0eTxH8AlSdIpaT7lVcAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 250, D: 1.362, G:0.8941\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPMAAADuCAYAAADsvjF6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzs3Xmcn1WVJ/6TpLJUVQIJSViyISRk\ngUAQicjWCq3QOOggiApiwK3VGe1lplVsbXtstZV2ELfRcbpbkaE1LiGQsC9qKyAEaKNA2w2ETUkI\nZK0QspF8f3+k3+d56n6rmBS/fr1+86s8559Kpb7f+9xzz33O8jnnnjuk1WpFQw019P9/Gvr/9QQa\naqihfx9qXuaGGhok1LzMDTU0SKh5mRtqaJBQ8zI31NAgoeZlbqihQULNy9xQQ4OEmpe5oYYGCTUv\nc0MNDRLqGMiHTz/99FZExD/+4z9GRMS4ceMiIuKAAw6IiIjHH388RowYERER//k//+eIiPjv//2/\nR0TE9773vYiIeOc73xkREZs2bYqIiDPPPDMiIn76059GRMT48ePj+eefj4iItWvXRkTEzp07IyLi\nQx/6UERE3HHHHRER8c///M8RETF8+PCIiDj++OMjIuKBBx6IiIh169bF7/3e70VExHXXXRcREdOn\nT4+IiGeeeSYiIjZu3DgEfyeffHIrIuIXv/hFRETss88+OaeIiFWrVuWz3vve90ZExP/4H/8jIiK+\n+93vRkTEggULIiKSh9e85jUREbFs2bKIiNhvv/1iy5YtERGxfv36Xvx95CMfiYiIm2++OSIifvOb\n30REREfHbjG9/OUvj4iIRx55JPl75StfGRERP/vZzyIiYsqUKfm3iIjnnnsu+YuImD9/fisi4pe/\n/GVERHR3d+e88Dhs2LCIiPjjP/7jiIj44he/GBERf/d3fxcREf/pP/2nXjyedNJJERFxzz33RETE\nvvvuG9u2bfP8Xjz67i233BIREY899lhERAwdutuuzJs3rxePmzZtSr7vuuuuiIjYf//9IyKip6cn\nIiK2bNmSPL761a9uRUTceeedOZeIiIkTJ0ZExO9+97vk74/+6I8iIuLSSy+NiEqGF110UUREbN68\nOSIiXvva10ZEte/GjRsX27dvj4hqnfH3X/7Lf4mIiB//+McRUe1Rz3zVq14VEREPPvhgROzeA8cd\n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\nAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 500, D: 0.9882, G:1.22\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 750, D: 0.6571, G:1.987\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPMAAADuCAYAAADsvjF6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzs3XegXmWVL/6Vk0QCaZSgEEyAgEgk\ngKFcmggh9IsFFWlSxoYF54o6jshw0RG9Do6oIChCpCMEIRRFZbAMkSJoYAiYYJAkkggSAwkhhZTz\n3j8yn7X3+5yTkMPg/c3vZK9/TnLO++69n7LXd63vKk+fVqsVjTTSyP//peP/6wdopJFGXh1pXuZG\nGukl0rzMjTTSS6R5mRtppJdI8zI30kgvkeZlbqSRXiLNy9xII71Empe5kUZ6iTQvcyON9BLp15MP\njxw5shURsd1220VExL//+79HRMTrXve6iIhYuXJlvPGNb4yIiEceeSQiIvr06RMRETLNhg8fHhER\nzzzzTERELF26tO3vV199dbz//e9v++7mm28eERFjxoyJiIg///nPbfd4xzveERERs2fPjoiIv/u7\nv4uIiB/96Ecxbdq0iIgYPXp0RET827/9W0REnHrqqRERcemll/Yxvh133LEVETFw4MCIiFi+fHlE\nRHR2dkZExNy5c2PLLbeMiIgZM2ZERES/fv3annXkyJERETFnzpyIiFiyZElERLzmNa+JiIixY8fG\nY489FhER/fv3j4iIDTfcsG2cCxcubBvnxz72sYiI+NWvfhUREQsWLIiIiGHDhkXfvn0jImLVqlVt\nz+VaM2bMyPFFRGyzzTatiIjtt98+IiJ+/vOfR0TkuDo7O3OuHnrooYiI6OjoaBvjFltsERHVGi5e\nvDgiqjW89tprc36J6++8884REfGXv/wlIiIefPDBiIh497vfHRERf/rTnyKiWsObb745x7TTTjtF\nRMSPf/zjiIj40Ic+FBERF198cY7xDW94Q+s/xxkREb/85S8jotp3nZ2duX+nTJkSEdXaeP4RI0ZE\nxOr1joh48cUX28Zy/vnnx+c///m277j+tttuGxERzz//fERE/Pa3v42IiPe85z0RETFr1qyIiBg/\nfnxERPzHf/xHPPnkkxFRrckdd9wRERHHHHNMRERcd911bWu4JunRy3zLLbdERMShhx4aERGbbrpp\nRFSLe8wxx8SXvvSliIg45JBDImL1houIGDJkSEREXHTRRRER8X/+z/+JiIhvf/vbERExbty4iIiY\nP39+vPa1r42IarNstNFGEVFt1Pnz50dEtainnXZaRFQvncm/9957Y4MNNoiIiJkzZ0ZExC677BIR\nEddff31ERFx66aU5PoronnvuiYjqBdlss81ynK7zP//n/4yIiEWLFkVEtXjz5s2LiIjDDjssIqrN\nROH1798/58L1N9lkk4iI+OMf/xgRES+99FJERHzzm9+MiIgvfvGLERGx8cYbt43h0Ucfzd+RQYMG\nRUT1gpVSrqGX3st23HHHxTnnnNP2Ges8ePDgiIi4+OKLIyLivPPOa/v/AQccEBGrlZHxUkgDBgyI\niErh+r01pLCsIYV277335ncff/zxiIjYfffdI2K14q/fP6LaTyeffHJEVPvPGh522GFx4YUXRkTX\nPUquueaaiIj4p3/6p4iIuOKKKyIi4n/8j/8REasVtHl7+umnI6JSePaH/eAZXYsY0/33359rZv13\n3XXXiIj46U9/Gj2RxsxupJFeIn16UmgxdOjQVkRlWkI92nTgwIHx7LPPRkRlJkFJJjHt47vMbMhw\n8MEHx1133RUREaecckpEVGh33333RUSk6ey+xLVovVWrVqXGHDt2bERUphVT+tlnn00ThhthDCyC\nFStW5HcgIdPYZ5iNPuvvkJs5/NrXvjbnZI899oiIiKeeeioiKtRy/3333TciKtOM2efagwcPTnN+\n//33b5sjn1mwYEGbiTZkyJBW/e9+sgYGDhyY8w3dXnjhhYiokJGFZJ6Nh2l7yCGHxE9+8pOIiPjA\nBz7QNibP9+ijj0bEatcsokI2FoX9sWrVqnRH3vzmN0dExMMPP9x2/7/85S85xmHDhrUiqvn2GS7T\nkCFDEvXf/va3tz2/cTH1md/2FTTeb7/94je/+U1ERBx77LERUe1Rz1a6UvaFe9t/9fcP8t977735\nrBERTz/99DqZ2Q0yN9JIL5Ee+cxnnXVW20++HtJnjz32SJ+ML3HiiSdGRMTPfvaziIgYOnRoRFT+\nGAKGxrruuuuSgLnhhhsiIuKvf/1rREQcffTREVGRJrQurYcggyAnnnhianpkDv9v1KhRXcYHKfkq\nkH/rrbfOZ2dZ7Lbbbm335k9CHEhXole/fv0SrWlx6EhL0+bIE8/Bt4MCERE77LBDRERMnTo1Iiq/\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 1000, D: 1.359, G:1.354\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPMAAADuCAYAAADsvjF6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzs3WecXmW1BvyVzKQXOhJEkQ4WxAKG\nDhoOR4oiCAgCKiIcpSkqiCCokdBBREQpgqKghy4IIhDEgICACkiRphC6KYT0ZJLn/RD/a++5nwlm\nOOf9veed7PVlkpnn2XvfZa9rrWuVu1+r1YpGGmnk///S///rB2ikkUb+d6R5mRtppI9I8zI30kgf\nkeZlbqSRPiLNy9xII31Empe5kUb6iDQvcyON9BFpXuZGGukj0rzMjTTSR6SzNx9++eWXWxERa6yx\nRkRE9O+/SBfMnj07IiIGDRoUxx9/fEREXH311RERcf7550dExH777RcREc8//3xERFx//fUREbHX\nXntFRMSzzz4bERG///3v4ytf+UpERHz605+OiIiDDjqo2/0GDRrU7R677757RER0dXVFRMS1114b\nERHf//73Y5lllomIiMmTJ0dExF/+8peIiHjxxRcjImLBggX9jK+rq6tVv/6AAQMiImLevHkREdHR\n0REnnXRSRET84he/iIiI22+/PSIiPvCBD3S7zx//+MeIiNh5550jIuLBBx+MiIg777wzjjvuuIiI\nOProoyMi4oMf/GDUpV+/RY/08MMPR0TEe97znoiImD9/fkREvPzyyxERceSRR8Y//vGPiIgYOnRo\nREQ89NBD3eaz1Wrl+CIirr/++lZExJ577tntXrNmzcrr7L///hERccUVV0RExGGHHRYREeeee263\n+5922mn5HPV5uuuuu2LvvfeOiIg111wzIiLGjx8fEREDBw7sdt8DDjggIiIuuOCCiKjmfPvtt4+I\niPvvvz+23HLLiIiYMGFCRFRrZz7mzp2bYzz88MNbERHnnHNOt+vNmTMnIiI6Ozvjve99b0RUazJ6\n9OiIiLj33nsjotrPm222WURE/OEPf6hPYZx00klxwgkndBvHa6+9ltePiFi4cGFERLztbW+LiIiJ\nEyd2+/0KK6zg2WPdddeNiGq93d9nFy5c2G0NFye9epltKg/spfHz7LPPzkn0on3hC1+IiIgVV1wx\nIiI+//nPR0TENttsExERyy23XEREDB8+PCIiFixYEHfddVdERLzwwgsRETFy5MiIqBbPpvntb38b\nERFXXXVVRETssMMOERGxzz77RETEtGnT8jvf//73I6LaEMcee2zb+EaNGhURi17aiIjnnnsuIiK+\n9rWvRUTEhRdemN/zslis9dZbLyIijjnmmIioFJ7NO2TIkIiIWHnllePmm2+OiEUvdv1vc+fOjYgI\nKbb+7l6rrLJKREQu/owZM1KB/frXv46IiI9+9KMREfGb3/ymbXwREZ/4xCciolJ8//Vf/xUREffc\nc09ELFJC1113XUREnHnmmRERcfHFF0dExPLLLx8REZ/61KciIuKoo46KiEqRLFiwICIWbcpnnnkm\nIqq9YtP7jPtThtbummuuiYiIG264ISIWvYR///vfIyLi4x//eLexbrXVVm3js//M4dvf/vaIiHjy\nyScjImL69Onx17/+NSIqJeWeXvyNN944Iqr5Hzx4cERUL9n9998fM2bMiIhq3xqfcbn/pEmTIiLa\nQMXPrq6uVPzrrLNOREQ89dRTEVG9G0sqjZndSCN9RPr1ptBixRVXbEVETJ06NSIiVltttYioEHT7\n7beP2267LSIqDcWcgFRQjpa95ZZbIiLiP//zP/N7f/vb3yIiYv311+/285e//GVEVGj3jne8IyIi\n3ve+90VExKOPPtrteS+99NJ46aWXIiJi5syZERHx2GOPRUTEz372s4iImDx5cpowK6ywQisiYsqU\nKd3GxzXYbLPN4u67746ICmFGjBgRERGrr756RERcdtllERGx0UYbRUTk/d/61rdGxCL0nTZtWkRE\nLLvsshFRIRtLwPhYJG95y1siojIvuRv33XdfPitkuPXWWyMi4sQTTzTubiba4MGDWxGVCQeNoM5a\na62VZrT7+5v/H3744RER8dWvfjUiIr797W9HRGWVdHZ2Jpoz2d/97ndHRGWZeV4uFDTkJrCojjnm\nmJg+fXq3v7FkfvWrX5nTHOOAAQNaEdX6mCv/992ICi3NISuCdWO/bbvtthFRzW1HR0e6T9xF19p8\n880jonJbuBdQl1vk/dh0003z3/7Gin3kkUc8+xKZ2Q0yN9JIH5Fe+cx8Nv4CX+PSSy+NiIjTTz89\nUYWm4k+PGTMmIip/94knnoiIyi+AvptttlmSCTSja9DuK620UkRUiEGjIqf4r3fffXeixbBhwyIi\n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\nfbLZnxMAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 1250, D: 0.826, G:1.92\n" + ] + }, + { + "data": { + "image/png": "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\ntgeX808AAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 1500, D: 0.9988, G:2.19\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 1750, D: 0.8991, G:2.082\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 2000, D: 0.8586, G:1.804\n" + ] + }, + { + "data": { + "image/png": "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\nYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 2250, D: 0.749, G:1.984\n" + ] + }, + { + "data": { + "image/png": "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\nQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 2500, D: 0.9037, G:1.484\n" + ] + }, + { + "data": { + "image/png": "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\n8iXdX+oXul+Z2zz1+eabL+xT/1pm9r5b3zx58uSa72ElNTtVpGupufc85pprLiBaFFtuuSUQG1T6\n7Npiye/5s/jspve7YDVNn6GpGvcDRLPOF8CZvvacagb6UgDz5bD9kbOrjzzyyKbtI32ZhwwZ0uFl\nTrHIIosEM1uT0FCN98H7k4o9LlgTJ04MD2RRWIPOZn36APt/hbO//e1v4VjT/bsQTZo0qa572N1F\nslKZrguCZrULmy7I8ssvD8Q5aL7M1doI1fsyZzM7I6OfoMcFsFpXQVeh73znOzz99NNAzMxRrPn2\nt79d1zZ7A7X2sPaYhw4dGsw3TUsznGyU2JPnJ8ulzCnGjRtX2gTCiY1OfJCJNTE1v++///4ghvk3\nzzm9TqmAlLLwpEmTOrQjKn620W6d9V5Xr4fls2uuuWaYOKpVorms6+S8M7PjnCcmamnsV6/7mJk5\nI6OfoMeZuatVUH/MBoBjxowJOanOKVpwwQWB2Ep3ekKtjOzqvvfee7PccssBMWxjY7meaE6QIvWV\nPS7FpYkTJ3LjjTcCsXXuKqusAsQCfC0IW0T5UyZ5++23wwSL++67D4hCkWyeCkDqIE7LUBTcfPPN\nQ5veww8/HIhNCN1WT8H5Z7Lr6aefDsBOO+0UrBXncd10000A3HLLLUBsy2vjBtslm7+uNQbxHVH0\nc1JLvcjMnJHRTzDdqNlW5my55ZZh2oE+mz60q7nMVstkh7J50aJRNbtev9Zjn2eeecIcpWWXXbbD\nscnMo0ePBjq2+C1DV833ytI5tQZkiDPPPBNoby9rax/93bvvvhuIiqypl2oaMooVWLfcckuYGeX1\nt1m8CrmMbTtf/+5x2U5q6tSpnVI806Z/RTXb86t2X1Jrye1bhbXSSisBkVUNidoea8yYMcGikJHv\nv/9+IBaBWFCijiDL6/fbxveqq64K9zkN51Vq8l8NmZkzMvoJphtmVqHcb7/9AnPJWK5qKofNVHm7\nG2eudQyPmGmmmYJF4fk4RdF64ZdeeqnewyhFWdJIqiLvv//+QDtTbrHFFkCcS5xOq1RpNplEq0or\n4YILLugUT5b9rr/+eiBOhdTKcn6z42y0Cq699tqgEKfzwYxzVyq0KPy/w7GPGjUqpGXa9F4/XQa2\nxtppovrBfv6WW24J10ZVWqtB7cF76bUTHoeRmaOPPjqo5GXIhRYZGQMMfc7MMpt+11tvvRVS3/Tj\n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\nz4IAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 2750, D: 1.115, G:1.097\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPMAAADuCAYAAADsvjF6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJztnXe4ZtO9xz/nzBllTDCjix5BtBui\nJi6D6KPdGCYkogRXvVr0EoRoo13lCgZXb1GiXCS6K3qPhLgYUWJEH0yYOfeP47PXPut999vfc8Y5\n6/s885w579nv3mvttff6/vqvo7u7m4SEhK8/Ovt7AAkJCa1BepkTEgYI0suckDBAkF7mhIQBgvQy\nJyQMEKSXOSFhgCC9zAkJAwTpZU5IGCBIL3NCwgBBVz0Hd3R0tD1crLOzk6lTp8bXBaAd0Wrd3d0d\nuevUfYEhQ4YAMGXKlJqOX2KJJfjzn/9c72UaRn5+0No1LFqXeeedlzfffLNVl6mKZtdwWke8hkXo\nqOcFGeg3qp3za+eGVAntfJmnFaSXuQdJzE5IGCCoS8zuK2y11VYAXHXVVf08ktYhz8j+X7YeiBjo\nc5xhhhkA+Pzzz/t5JAGJmRMSBgi+VjpzV1ePIKGxqRX6Z6P61t577w3Aaaed1uvzv/71rwAsvfTS\nQOWdW9aab775AJgwYQLQYwQEmGuuuQB4++23ex1fz7yb0ZnXWGMNAO69995eny+++OIAvPjii3WP\n5+STTwZg//33r/k71ZB05h4kZk5IGCD4WjCzjDR8+HAA1ltvPQCuvfbaps/d6l1dFp177rkBGDp0\nqOcGYPLkyRx33HEAHHzwwb3+FsPvfvnll72O6ytmLkKRO05J4qWXXmKZZZYB4NVXX+11zDvvvAPA\nbLPNBgRpqxm0eg2L7rPz+/vf/559duSRRwJw/PHHA/DFF18AlLhXm0GtzDxNGsBieFM//vhjAD78\n8EMApptuOiA8VN7AYcOGATBp0qQ+HSeEl9iNxxfygw8+AOCcc87JXuJ77rkHgFGjRvU69sEHH+z1\nu5h33nmBIIbHL0pfwft90EEHAfDuu+8CsOCCCwI9c3dsbkS+tD/4wQ8AWGuttSpeY7vttgPgoosu\natm4a0X8ErsOvsT5zVe14Z///GfZ7/YlkpidkDBA8LUQs4VMfPjhhwPwve99D4ANN9wQgF133RXo\nYb9a0WoRTWb+7LPPgCBFqBJsscUWbLPNNgBcdtllZc+hqPbUU08BsOKKKzpWx1nzeNohZsvEM800\nEwA/+clPgDDHzz77jBlnnBEIa7bkkksC8NxzzwFhjk888QQAK6ywAtAjogN8+9vfrnk8za6hko73\n19+VrlxDn69rrrkmY+KPPvqo3svVjWQAS0gYZJjmmLmjo4M555wTgNdeew0Iu/sbb7wBBCOKepc7\nqXrp7LPPDsDEiROrXq/dbo0lllgCIIvHfvDBB9l4440BeOihhwD4zne+0+s7BiR8+umnAJx66qkA\n7LvvvgAstthiALz33ntV51jEzK0MeoglhqlTp3LhhRcCQfdV39eOcffddwNB6vjWt74FwMsvvwyE\nNa3FkNToGo4YMaLX7++//z5QauBbaqmlAHj++ecBuOuuu7jvvvsA2HPPPYFgE9htt90AuPLKK3ud\noxkkZk5IGGSY5pj5uuuu49lnnwUCE33jG98Awi532223AWHX/8c//gGUujm6urqqMk9fJ1rMOuus\nGQPUy46HHnooENwhs846a8beRWiHzqwbRmu2c5PRpp9++oyBdUG5RtWgHr7QQgsB8MILL1Rl50bX\nsMj2UO2dmHnmmbN7sPPOOwNBinKNzj77bCAxc0JCQgOYZvzMhx12GABrrrkmt99+OxAYy93v0ksv\nBWDZZZctew59mvnf+yv1MMYCCywAwBxzzMFjjz0GVGfklVdeGQgW4GOPPRYgCzqBvk1oWH755YHA\nyPEYvP/5dajGyGuuuSYQ7AcyuvopBL1ZPbrVUBqQXYueFa9/2223ceedd/YamyG5xhC0MmikViRm\nTkgYIOh3ZjY006D9DTfckI022gggCwk0RPL3v/89EHbtWnbqZhi5nEW1HitrHm+99RYQLPS14Jln\nngFKGVzr/uTJkzM9tS+gT7iVmDx5MlAqVeXRakaO1/CTTz6peHws9Rx22GGZx0SPis+kSSj9gcTM\nCQkDBH1uzY53RWN1DzjgAKDHpyoTqUepd6nbqGcZq53Xr+pFu4P0jSIqt/s7nziGPO+vBRg5ciQA\n66+/PgBXXHFFzePpi7JBxi4b1fXVdYBgzTZqTNx4440AbLLJJgAccsghAJx11llAfZFV7V5Df3e9\nxo4dy1FHHQUE//k888zT6xxKk61AsmYnJAwy9Juf2bjqWA8bP348P/rRj4DgX37vvfeAoG9qVW0G\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 3000, D: 1.064, G:1.385\n" + ] + }, + { + "data": { + "image/png": "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\n7htssAHQ582AYAf57LPPakZ8VVvDmBF7enqya6af3ziFt956Cwj3ptddfV4d+2c/+xknnHACALfc\ncgsQpEC/c/fddwOwzz77AEHSUAKpxsLNhnMmZk5I6BA0xcx5vrN64E6pfijUlapF/FxxxRUAbLbZ\nZkDYDU0lPPLII4GQoHDvvfey5pprZseF/jth0dbs9ddfH4D7778fgPnmmw+AP//5z0DfDp2Xshlf\nE1krz6o9YsSIbA3ykuDzmLkeZjjssMMAOOmkk4Bg71ASiqFOffzxx+cm4/u+DGVCSlzXy7nONddc\nmaS21157AX3MmDfHepJlhBGEjz76KAD77bcfAD/60Y/KvmusgtLj888/n92vXovFFlsMgCeeeKJs\n/PPMMw8Af//734HqceWxFOGxP/zww8TMCQlDCW3TmfN2flkm1hfVh93ZKsGdSx/fJptsAsC8884L\nBIY2kueYY47JrKZ5KJqZTW+UeYwA22OPPQC44IILalor8yyf6nLu8qWftaNskGulXviNb3wD6K8z\nO1eju3p6erLv+Nutt94aCCxnDIE6vnP1PjCq7NBDD21JZ64HjnvSpEkATJw4sWysrt2ZZ54JwFJL\nLZWtxfjx44GwJurKQs+FNoRmkHTmhIQhhrbFZssUWvfcgfXLxfphNUZ2l9fiaRSR/m13SS3JWkLN\nCy6FBQ/Uk1qF54oLDThv53nhhRdmr+NyQDKxsb9a4GUv2b2UkaFPp4oLM3gtYit+jHpKPf3hD38o\nm1se1KWNzf7oo48y/7KZVI5Lf6w+Xa3bsv7kyZOBcp92PEbXWZ91JdSTxaTvX0befvvty37r58su\nu2zZ53fccUcWJab+bsljJSWt91rK42vYjtJFhYvZXghvTAM/DKhXFK7zfECYsA+K6XVe5Geeeabm\neOqpuVzP/HwI4iARHzw3q3pS4dwINKbMMcccQHAFOf+SGthl79dZ6KFhMfuFF14AQrEEDZ7C8WrM\n2nvvvYHg7rv55puzkE+TYNyQfRB32203IISGauTy+pl4U0/t6kbXcIkllgBCsJFjWH755YEQNOIG\n4xwUobu6urjnnnuAcO/penJtJIu11loLKK76aDUkMTshoUPQto4W7uZ+Jw49dKeWwRRDdCtBf1F1\ntdVWA4JLTFfFrrvuWnasUtSq4Nmq8SRm/rxro2Hstddey74jQ2hA0i3jLu41MUhG9le9aIWZH374\nYSAkpUTfAUJYrEYpVaW77roLCOWaNHJZxmnUqFGZOG2CgSyvSD7nnHMC4b7wc9fUBI2HHnoou8Z5\n7q5Ka7jUUksBQcqoBN1hsqruQ6VHDazPPfccAOuuuy7QpyrogvzlL3/pecuOvcMOOwBBXXB+zYjX\niZkTEoYYCtWZhw8fnluULM+9YtCA+ks1yObqjueccw4QAuJzxlw2njjgpejqnAsssAAAf/rTn4D+\nBqlSt46MI+NpX3DMv/vd74CQ+G4Qv7pbu3RmIZs4F9MYTz/9dCDYLJSY/ud//iebl/M0nPHyyy8H\n+tsDrr/+eiDo235uOmIlNo7TaJvtNRUbAV2PQw89FOhzI0JfGSSATTfdFOiTSJQgnJ/QILnCCisA\n4b7W0FdPh4sKBf4SMyckDCUUyszd3d3Zbqe+565mWGWFdpVAeeE99VyZQb1HhlJfkbkMzo9RGu6Y\nh2Z1ZplF3ez5558HgutFHV1dWjb54IMPMkvtT3/6UwC+/vWvl33XoBd3d/Uyr0upZbRWD6MiCvqp\n7xusU0uamnPOOfuFs6ojx/fbxhtvDIQ1NI3VlMl60jzbXWBCyJijR4/O3HZ6JFw752vAST39wmoh\nMXNCwhBDo83WgXx9pKurK7OAyhgGi8cFBxZddFEgJOi7c7/99ttZqRX1LM8rQ8v6BoVU64VcZOH4\nrq6uzAIqYyiJGOygPz2WPNSln376aS6++GIgsLU6p/7Oe++9FwgJJcsttxwAzz77bNkx47HlfVYK\nWd90v3q+qzVd5DGyTQp23333TAKTxR2XlmEt4c5Vy/Hxxx8PlBcxbKZwfitBGXm/0TZzwQUXZBZw\n7wODYLwG2jfaUVwhD4mZExI6BE3pzHlRVV1dXZkOYb8kU8NkYnfsm266CQj+OPXhF154gTXWWAMI\nrK71Vn+mZVm1EOv3NKj93XffzZ2DY/fvJ598Uoi+pa6kZVSd2Z3Z4gSPP/54pgN/5StfAYKkoZTi\n+JUq1KnVmauVD479ndOmTatLZ26FyeIk/okTJ2blkNW3LQulFGIUn0zs2hoFZ9plJcSxA/XozK10\nKhX60eedd15OPfVUoL/NQptJKxFf1Twu1ZCYOSGhQ1CoNXvllVfOdB/jWmVkd9yYzWVf9cfhw4dn\nxeC0Vu+8885AKCSvj6+IYPVGLKHd3d3ZOd3hY+u9kokljByzEsqOO+6YBen7W/8+/fTTAKy99tpA\nKD/8q1/9Cmiu6Vo729MobXz/+98HguV2jTXWyEojKVX95Cc/AYL0pL3jxRdfBGCjjTYCQnJHI2h3\nexrX3FTJyZMnZ7kH+skPOeSQsu82s1Z5SMyckDDEUGgK5OOPP87KK68MBD9hnKytrmqkjJZRUxPP\nO+88br31VgBOPPFEIBQfkOVFzMxmqKiftYr4+JV2W9+TaRyrc1BHVM/bddddMz1a/SouZasuGFuc\n64k3bhSVpJt69Uvn5JwtAL/llltmxQi03J922mlAyIKyOaBeDKPLmmHmaqjVWK8eeI2MWnzppZcy\nr4VZYLWkw0aKMjaLxMwJCR2CQnXmnp6erLmbepQ+SqOZ4sL1Zsdosd12220z3VFLty1MWrG01lNW\np5VSu7KZReKMU44jxcaMGZPp1xbzv/nmm4FgI7DFaz0J9kWXDWqEKZyz2V5ihhlm6BfpZ3EGGdko\nPhnTbLlmrMDt1plld/XkueeeO1srixNYmEGpys+LQNKZExKGGApl5rPOOov9998fCLv2D37wA6B/\n20yt18biGsvb09OT+dkaaXtTCxZ0jwurNbKr9/T01IyFzoMMOnLkyH6tTUrG0tSxq6EIa7Z6rRlN\nwjXTluGaDx8+PGNcYwYs8WP5XsvZGu8cs3sltKtcct5xtWloGzAWYpdddski2WRmJa+4/FWci92M\nn7teZm7pYda4U0+HOx/Qo446CgjGLR3jrTjz8zBq1KjsgckLq6t2IxRhPKkH7agHJWo9zD5UGiwh\n3wCmocsSP4buepNb92vq1KlZEonXzlTQanW7KmGWWWYpTXWs+J1qa3jttdcCodon1C5Y4QMoAXgM\nv7/EEktkauK3v/1tINTc/s53vgME1Siv02c9qZCO86OPPkpidkLCUMKA95oabGi38WR6o1Exe555\n5snKGOXB4JDY6Kf6cP/992dSTaxKiHqMe/WikTUs7ZCRB4OWdKMZ6GJ3iqeeeioz8GrI04CnOzEu\nwtgKkgEsIWGIoW0F/T4vqLSr16PPtAPtuK5FGMBqsWgRCfitoFXpKm/8rkdca3222WbLJI+4h1Te\n2rUiiSRmTkgYYmi7zlwv21T7XhHpa3koWmeeXqyeh1aYWTfLSiut1NA5iwxRLEU9nS7z5leJGePi\ni/WidH5Frne9nTzzkJg5IaFD0BAzJyQkDF4kZk5I6BCkhzkhoUPQaHXOjpPJU9DI5x+dtobN1gBr\nW3/mTkA7rOjNlo6tdjwotkxNLQzmOIPBPLZ60Wx56CRmJyR0CBIzV0E7/NpFM+hAMrIYzKw32MY2\nkJJTYuaEhA5BYuY2Q73bWN6PPvooKy9ro3OLMAy26LGhglr5za1gICWnxMwJCR2C6ZbPbDNtW7LU\nA2NpzV7xGK2gXW4N2fXLX/4yQFZOab/99stY2goalm21Xc2Pf/xjx9byOJJr6vOHWi2Gcn83mIsT\nxAnemuztxFiEOFr0jTBmzBggdLC0O0W8QJXgZvXnP/+51WFkSA/z5x8p0SIhYYhhUDOzcIxWh7TQ\nWj0oum52DKUHjVcWsLO31tixY4HQL6oS7rzzTiD05yoSA8nMGpJWXHFFHnrooXadph/azcxWlLUW\n9qyzzppJXHa5tECl/aiLRGLmhIQhhqaYOY4dbTfUjWW/ItHqrn7PPfcAcOaZZwJ9HQIB1lxzTQAm\nTZoEhA4X22+/fVamxh1/ww03BMh6GheJPGbeZZddALj00ktrHsMeyrrU7C8d9w2zi8Viiy2W1Uk3\n8f+CCy4AQvG/IlFpDRsJxfX6a+8YPXo0AIceeigQJA7vw2HDhvWT+PxrzyzLEFuC1y6Yfk+7Tz31\nwhMzJyQMMQxqndlOihMmTADgpptuAmCrrbYq7BwDZQl1J7/00kv54Q9/CISuiTLD888/X/h5m9GZ\nlYBkNV8vvPDCAOy0004AnHrqqUAoii8bQnDFHXPMMQBcddVVZb9ROrEXWTM9pkSzaxh7GGTml19+\nGQildu1DXYrXX38dCNKpZXjtOeWa2vThtttuA9rb0SIxc0JCh2BQMrMW4ffeew8IRchLxlHYuQba\nRzlu3DiOPfZYANZZZx0gFI/XMvrKK68AxReIh8bmKNPKyOqB55xzDkDWi3uzzTYr+92bb76Z6cp2\n+dxrr72AEESjnq3Vv5WYgVbX8Lvf/S5Ati6xbUb9VmywwQZZ6KdWe1s0rbjiikBgYNf42WefBfKb\nAlRDYuaEhCGGQcfMI0aM4KSTTgLggAMOKPtMRrA5VyPIK3Q+0Mx8xRVXsMceewAhwUIrsBJHkQH/\nzTCzVuqjjz4agDPOOAOA//7v/wZgmWWWKfteqZUX4LHHHsv8sIstthgAr776KgC//vWvAdhuu+2A\n0Egutgo3gmbX0H7LsmWtc/v5sGHDsv+12nsMk2eUVpQuvWdtoNcIEjMnJAwxDLoUyGuuuYbx48f3\new+C3tUMM0+v1imy7m677QbA5ptvzsSJEwHYcccdgaAbv/TSSwAsssgiDZ+nEb9lLTgeI+5kl4MO\nOgiAu+66CwhsKzObKFKq68cW+q9+9asAWUvUUgt4kainfJC6cfzdPJvMRhtt1O+YShZKKXfffXfZ\nb4wvsPVrNWibsAldo0jMnJDQIRg0OrO7/IknnsiFF15Y9pm7dzsSvavpW7Lq+++/X8R5+v0vAxjP\nayvVVnyuFc7bcmy24zR10+tx4IEHAmSN1X192mmn9fttHF8/++yzA8Uwc6t2jyeffBII/mS9C95v\nSlJXXHEF0BcRZhTkzTffDAR/c2zZt1H7DjvsAPS3L9Tjd046c0LCEMOgYWbx7LPPZtbSkvO27Xzt\nsmY75plnnhkIFuHdd9+933fVc+ecc05g8DCzTKwv2Ggtdbr//M//BODxxx8HApN96Utf4u233wZC\nZJRFKGSik08+GQhMZVRcM2h2DfXr/+EPf/C3Fb+nxKSveP311+fKK68EQmEJ5y7juoayfJyr3khJ\n4M9d3WwNCPGD/HmFi+TN+uabbwLw1FNPMd988wEw11xzAUFEGyy1v+J0TjcbxeeLL74YCHOK1Z+3\n3nor+3/zzTcHQqKB0FX4ve99r9Cx1wNFYQ2psdrjfB2j8zMB47333uOZZ54Bgvgcqwu6HQ0Rjd2N\n7agimsTshIQOwaARs6uN4/MoZsdQ7Lr++usz0WvLLbcEAjPLBHlopnpnnphtsIOulXoQGwRjUbFS\nYI5itZKXkMkMKjHxvxlUWsP1118f6O8qKoUGL4tCnHDCCUBI+TRJQqOdKsP888+fidnjxo2reOxN\nN90UCMlBXhuvRyNBMskAlpAwxFCozjxx4sQswKNRVDIIxLv55xHOQTY+7rjjsqR3A/sNyojhrm8Y\npUnyrQSGyO6NMLKIXXQxq5QysqGS8Roa7qgeGjNyUR0gqjGy8NwGtlgV9Zvf/CYQDJJef4tJLLnk\nkrlrdvDBB5edXwlByUzbgckdldDsNfj8Py0JCQnAINeZ7733XiCUYmnTeduqM8fpdDPOOGPGcO68\nBt/XSo9rpsPh9Cq169wcc+y6KRJFr2Hc4cI5+Hf77bfnsssuAwKL7rrrrkD/MkxxiGYRa5iHxMwJ\nCR2CQcfM06ZNy3Y7/7azs1/Ru3qexVlmWmuttbJyQb6nRdeiBDfeeCMAW2+9NRACDvTrurvXE1yS\nx8zt6GNsiOPUqVP76XsrrLACEK5LkSWSBsojoW95m222yfTtJZdcEgglhv72t78B/ctBGzzUjL0j\nMXNCwhDDdI8AO+SQQ8pel1o/B1uv3UYg8xnh5GtDICHM1XBCE/qfe+45IJSg8XPT6M4+++yWx9eO\na7vooosC5WV2PI8hn+0ol9xuuE6LL7440BeKqr/YuVo+SIu318J+YkbTWS6pmqW6WakpMXNCQodg\nuuvMxruWxvPqr5xpppmKPl0/FK1vqd+qX/lX1q2G888/HwhFGGxbYzSROnIj/seBtGbLYFOnTu2X\ncGDSRjvQ7mQZU1RNqthvv/0y+8a2224LhHLD6sYysMUo3333XaC5+PukMyckDDFMNwXm9NNPB0Ip\nGnWKGWaYIYtZbofFtd2wLY0RQM6lGowGslyr8955552BcG0sdHjYYYcVNl4lI1MWm4HjXWuttbL3\nTOivFW/ebrQSUea87rjjDiA0ZZhnnnm4+uqrgRDHbRuac889Fwj39QsvvACEAoaWXEpZUwkJCbkY\ncJ1ZnUIr38MPPwwEK+BWW22VWT6LLNuTh6L1LcesP9FC8Q888ADQJ3nE+bPXX389EKKFtGIXgYHQ\nmbVQH3744QAcccQRWVSbGUda8S21a75vEWiXzqye//e//73sdXd3d+ZH9jM9EK6hMdlPPfUUEKSr\n1J4mISGhJgaMmeMCZk888QQASy21FBDalrz99tuZb7YIf2ottDt6SJ3N6KiJEydmzcVkryKL3sdo\nJzM7/nnnnRcIsfRzzTUXU6ZMAYJv1ig3GaxInbHVNcwrU6x/3+KDzrc0FsIyUHpj/K4RYWZX2Wiu\n1SL/1TBgBrBYvLB+suK2aFcd5ekFDS+62y655JJ+fZhj1WMgccMNNwDNddZUTbA2tLWy5p577qzW\nleGOqh8Dbcy0G6PiPQT3of2wfIh9WBWhTX205rlrOW3atGzOqom6ERdccMGy79ZjxC3K0JvE7ISE\nDsF0DxqZ3hjoXlMDjUbF7K6urpoMse666wIhEMbChLLRF7/4RbbZZhsgMP4vf/lLoDkDUC00soaz\nzDJLP3E6ZkY7imyxxRZAKLSgoe/yyy9n1KhRQOiMGaOoIgv/HlcygCUkDCUkZk7MXBN5LOP7EyZM\nAEJQxYgRIxg7diwQmGswp7HWKpQYFyosLTA5EDaAxMwJCUMMHcnM3//+9wGYNGlSzQT+xMyffzS7\nhs2UG24n8vpPJWZOSBhiaIiZExISBi8SMyckdAjSw5yQ0CFoKJyzEeNCO3KR455Teceu5rCPP2vW\neNJIs+yBhJ0zNPwlA9jnH22NzY5bjjQS5WIaWcnNVvM3eQ9O3vul41lnnXWAEIcb98ethLjEb6Ux\n5j3EA11QwcZkp5xyChDipKcnKkWRtXJdjMCq1SRgqCOJ2QkJHYLC/cz1xqQaVWM709Lv17uLm15n\nellp47JaKGmb0tbE9kYkkBgWwze+uRLb1TpuO2KzBxuSmN2HxMwJCR2Chpi5u7u7F/ozRDVjkJ+V\nGJz6TvxvZowzUt577z3mmGMOILT6KDl/2THy9DIbf9XD1KW7Xt78moHzthySub5Tp07tZ6QSMZs7\n3/i6+j1L0VRDvKvnzbFafLIljy0fO9gwPZg5r6BBO5CYOSFhiGHAY7NlAM8rg1ksXAaD4GaRYWtl\nt8To7u7up7vH+ni7d/VGrLjtsITXqzMXce7S9YnboDab1zt8+PBBGV8/kK7Jtrim6vXzliJPNJ5n\nnnkA+OlPfwrAj370I6BPfFFMtoKjD/N8880HhIqHsbEtvmEq3UCD2bgTb1bWDVPtaKW2dS00cl0U\n8y1KYMkcMf/882e1vlZffXUgdHSw88Nqq60GwLLLLgvku9Tq6XTZbihSe42WX3551lhjDQDOOuss\nIKxRKRkNNJKYnZDQIWiImRsRFRWRL7jgAiAU8LMm9GabbQaQJbHbs7i7uzvr3XvttdcCoeSMPXE1\nmsncMlolJm53EIfilh0crrrqqorn14g0duxYJk+eXDYmGdh5OD9rTn/zm98E+lcrnTZtWr+5t1qm\nptQ1peRjiuA+++wDhBrgF110EQBf+cpXgPJijKXdLSCkG8pyMpiF/uJ1KpXoprc0pfvUoJURI0Zk\nHVlee+01AMaPHw8kZk5ISCgAhRjASndVd1SZ9/LLLwdCOKWF0Oacc87sN1DuwpJd1KfVoQ888MCy\n81oS9Y033ih7v9qcmonNrsTuHueoo44CYIkllgBCPyhrf59wwglAsAmssMIK2XwsjLf55psDZPW0\nvTb2KTI4RknEscsY1dBKbLYlgJUQ7Czi+OKw3kqQ1V2r7bffHgidH7QDXHHFFUC4DxrpltjuLpAb\nbLABADvttBPQ1/nRuR9zzDEAnHHGGUB7uq8k11RCwhBDQzpzlbImfQfr6cl2VC3O6nkGgBxyyCFA\n6D108MEHA0G3fu6553j00UcBMovhmDFjys7jjhlbeVu1fOYFc1Riei26v/jFL4Ageajvy6Yy0L77\n7gv0BXoYaGB5I5laxvVzw1R/8pOfAIEZZORKrrd2QIu0fbOUmH72s58BoSTtk08+mX3fUFQLybvu\nceF5X7umzfQvbhdc9wMOOACBP0TIAAAbBElEQVQI0ld3dzdbb701ALfffjswOLLnEjMnJHQIGmLm\nWizw6aefZuyt7qC12n7FWrVlU1P4bM3S09OTMaO9i9S3LrvsMiD0y/V1PbtiPQkgMSNXs4QbSnne\neeeV/bWnkuex55DHmH322bP/Tz31VCC0UHnnnXeA0Lfoxz/+MRD8uI6vUkpgO0IuXZP11lsPCDr0\nMsssA8BLL70EwIsvvgiE3sSzzjprtv5eB9vg3H///QAce+yxQOjnNBASRrOYf/75gdC+Zumll848\nK/G9N5BhnjESMyckdAgKDefs6urKGHD55ZcHgu6sjmzEzw9/+EMgMIk7c6nOZEc9GUm9Sx/fkUce\nCcCFF14IwB//+Meac4ijrBqxhJb6YONmb+PGjQOCT/i73/1u2XkqNYdTn3Y316L7ta99DQh+dXV5\nbQTVWMzr/vTTT/ebXz1zLEVc/H3ppZcG4L777gPguOOOKxuP1vjS8dnqxbWJ7S7aFvRVK6k1gqKt\n2erB+sqVeuzouNhii2V9mQcirDNZsxMShhiaYmYjlkqtqtC3S+UlNsiI9vJVP4zbmJaOx/PIXOrZ\nnuPoo48G4LHHHgOCjl0J9RQYd355CR3d3d2ZFdueyrFe3UhRAn/r9ZMBHau6qH5dY9NLI8dq+Zrz\nmDlew2pwnK6DbVpPO+00IPjSTfe88sorM6lKH7VQl3ZuWsq16FfT+Q877DAATj755Nw5FsHMroMS\nkeujjWLixImZ3SZeX1vHbrnllmXHqgd5a5KYOSFhiKGpgn5acrVU6xeu5OeVibXQqmu4+7izHXTQ\nQUCfT1X/ssdT/5QhZFf18QcffBDoz76lOm4jOo3flS18/cknn2SMLLQsyziyeczYpTpzXhyyEoeS\ngdKL8ezqzLJdtaKEteD1X2qppYAQbVYJsfV8hx12AEITcqHV/cQTT8yuw+jRowG49NJLgXBNl1tu\nubLfymB+Hl9n6M/I9aCZFFQZ0jkoESiJjBw5Mpuruv4ll1wChAKS55xzDhBsRfWgHimpGhIzJyR0\nCAovThD7O/W7rrLKKgBcc801QIjqUg/TUjh+/PiMxXzPXU/m3XjjjQG45ZZbgJAbLetXQ+wHbFTf\nUi9U0tC/bPbMpEmTgMBmXl+Zu7e3N5uHTKBl/4gjjgBgk002AYL+pcX35ZdfLvtd6fFFXFKoFWu2\nOqM6slFPRoDddtttQPC/Kkktuuii2f8eQ+lGKUQ7gJGBrnnMyJXsAsYd+NuidGavmfeReQT1II5O\n9G/sEWgGba2bLWIRpqurK7uZXEQX2kXyfd0ypo7pburp6ckuqg9xXJ1kxx13BGD//fcHwkNfaXxx\npQsf4mZFVFP2rIzi2HwgTSzZfffdAbj55puB4Gbq6upipZVWAoJY6rXxWLqXDDjxIRalD3C8BkUk\n85uu6F/dShorp0yZAgRXlOGOBoD89a9/zebmGim6KkZbcVSxtJJYDZXrnMW14VqF19AQVEnCFE/H\nXO2eyRPnW3mIG0USsxMSOgQNidnDhg0rq+xYj9tFA4iM7PumMyq6KSpPmjQpC7wwjC4OwjetTpFt\ngQUWAAL7NmLsalREiyuAGp4o48tAimhKIP5ulVVWYbvttgNgv/32AwIj+53YGKS0U2letQw8eWJ2\nI/XU8iqsasTaaKONgOCiGj16dDYuGdqAEwN/FKtNtPE+aYbJihKzvUedn4UGVAnEtGnTctM/vXev\nu+46IATNKLVYxEJ1sx4k11RCwhBD28I5YxZRd37iiSeAYCBy17MH1Oyzz57pZu7esp16p8xsgoI7\nauzW6O3t7eeIj91Xjezqw4YNq1TdE4DHH38c6Cs+UAmeb9iwYVn4qczmPE2xs+id7F5NV1N6sUBD\nhWtQeOO4+BrqflSXhv6SmPeF4/IYGkodtxJDNd2/3RVWNXLGQUraSd55551sDLFEphQl4vBaCxfq\n1q0HiZkTEoYYWrJmx+jt7e3HyLGrSguoVk51Nl1V//znPzPrrQX9TDxwZzSpwUIAniPuBDFt2rR+\n1tBWAuI/++yzfq4WAwoM3zOAxjK0olTvlIEPP/xwIJSecbeXkevRZ+OSSXlW4VZQITml7HOty86x\nt7c3WxNLHcUw2CKeuxZlywtV6vzY7gJ/lgVWYlp00UWBwML77rtv5pLU1Rmvt4iDcRph5EaRmDkh\noUNQKDNXgkxhOpkB+P7Vl7rQQgsBfSmShsAZzK7vNi4sJ+vKjiZeqOOMGjUqC4lspD9TNcRsqS/c\noBFZTMjgvj/LLLNkYYnaDywYp63Ac5jAn1d4YKWVVsqOUW/YYjOlhx2PEo/2D+0dr776KhDY9oUX\nXshNzjcmwDU1NNR0VgsfyMilpagGqve1Ep73kZZox6TFGoJ13nn5nTiQZiB6TCdmTkjoEAxYrymZ\naZtttgECy1x88cVAeZkhw/UMq7PkjJZBd2iZ2qLsRl0pDXR3d2e7urusLKc/s6j+zO7EpvbJmFrc\n3bkXWWSRTL8yTPPWW2/NxgtBNzNsUoaO2a5SWKdW4ZK+1y1bs+MWQ3vvvTcQikI4Dtdpk0026cei\n2jnUQ/WzqnPKYPp2TS5Rf62Goq3ZceKL8zXMdu+99868L0pk3rNf//rXy35jMUbn1UyLoWTNTkgY\nYmhJZ453sOWXXz7zp8WI9SvLxlrgzyiuUmuz1lH9ru7yZ555JhCSN3bddVegf/K8luVStFLw7qCD\nDsqKncdFGJyP+r7RUEaAKXl88MEHmV/WRIpHHnkECD5qo6GUImJGrha91ao1e7bZZsvGqu/UNXEd\nfv7znwNBurHhgWWPRo4c2c+zsNdeewEh4k+pyzXTIq5Xo54C++2Ca6vnwvTNNddcE+iLd/CaeN/G\nzQy9D0yFtNRyO5GYOSGhQ9CSzlyJIfIS7/2u7GPxcwsR2Bxu1KhR2Y6v1VBfpXqXlsFNN90UCNFX\nplvqF/zXv/5VeH/meM6+llHcsY1S8/xa0UsLJqhnyYS+Vr+SxfQl2/LmW9/6VnbsWutXKwKsUuab\nrXT0g3/7298GQjECs76cq9di2223Bfra7Xz5y18GQjSVtgSzpWK8+eabQPCxKxXUg3b3Z46jt/bc\nc89+UXl6S1wjpUdzDpxfM0g6c0LCEEPh1uw4q0iWVTcyi8SdurTED/Sxjf/LBGuvvTYQ2qCoj6h7\nyvaHHnooEMrt9Pb29stnjtHsrq4ubK6vSejmWp9//vn1HiqzDSy44IJA8Gtq+TWvWMtp6VzyWuqI\nZmKzvWYy8LPPPgsE3d1zlpyj7G/pd83/Lo1NL52Dv9Ffb4moRrKn2s3MpRlv0Le2u+yyCxC8FmbA\naVPx/i8CiZkTEoYYCmdmi87FJXziHVlLbVxqd9iwYZmeIePKdldeeSUQ/Mnq0hZj14fnrt7b25vp\ntHEkVkkp3KbymePrFvtiG7mucWkZpRhzgI3v9VpVK4JfzSbw789rDkyrrRKC4zJGwHJBXm/9/UoS\nn376aTaHODfY194fceuXZtrUtJuZhXrxTDPNlBWgtIVQXrWbIlAvM7f0MMepYqVibd5xKxlcYnhT\n+ABqHLM3kyKuiRheyPiYpUnk8U1SkqqZeyMYFK/ho10wsMQqoxrCNJrELqjSa5gnZnvjffzxx1Uf\n5kq/z1tDu1YaEKGhzDBO+4mNHDmSV155BQjitqqCr/28pFYZlTB69OiagRYD9TCLmWaaKSMnwzNN\nINJYWCSSmJ2QMMRQeHGCIoLg46SIWIStVM8aAsuUhnDW6v440Ls65HekjCs75hVCKL3GtcT7dhQn\niDFQCRB5mB5rOJBIzJyQMMTQFDPHzFKtjnNTg8rZ6fMYO49165EUKu3qtdw97UI9PaRL0ej8/v2b\n6cpcRXRNjK9TYuY+JGZOSOgQtC0F0nC8PGtlLb2w0mcVxlP180rfFa0Wg2uk2+P0RCvMrItQt1KM\n+PoPRK/iSkjM3IfEzAkJHYKGmDkhIWHwIjFzQkKHID3MCQkdgoYqjcTGhWqNsT8vKMp40krgRJFB\nF0W2dP28oN1rWI9hz9/WqjEef7/Sd6q53qqhpbJBrXZ6HwhY4OD6668HwgWqVJamlYfK31hCOK/4\ne7XfNoN4zK2WEh6MMAmjkWQGYwWqFeOvFYmXlwxUyb9vUYXY8h9vrpXuMdMnLS1tgktctrkWkpid\nkNAhGLBSu4MVg9lH2Ujb1TwMdjHbDLFWGqhXWsNqInPMxHG2Xew393Uz6ZlFNF9IfuaEhCGGtjNz\nEezSzmMPZmYuAoOdmYtA6Rxnm222XujfBqa0xU/MwHmGXJlZ+LtPP/207ujEkjFW/LxSxGNc6iox\nc0LCEMOQ05mHesbNYJljke640jl2d3f3VjputYy0eCxKfOq7MrQM/u677/Zj7bgsVSwt5p1/hhlm\n6KdPx3H/cYuhPHwuHuZ2Jr9/nh/melJPB8vDbOKNPZq8US0fZGeTRt0xUPlhzqvK2tXVlbmtfIgs\nU2XdMkV066+vuuqqANx3331A34OqC2rZZZcFQrcPz2slVUtrTZkypeLYS8eXd58nMTshYYihbf2Z\nY2Xeqp15LghdFGeffXbWs9ddyz49F110ERB20Ho6BA42VAo4WGKJJQB4+eWXgfwghkrHasZdMj1g\ndw4ZzT7MP/jBDwBYd911gVA32+6JEJgzDt6ohFrVUUuLIPrXwoky9R577AGEaqSe95RTTgH67mWZ\n1/5a1tS2o6fz+853vlM2BwsaGgjz/vvvZyJ6q5JnYuaEhA5B23RmdR+7S8jMdmHUmGCZVusPr7fe\nellvJXvdugtaX1pjwnXXXQeEvrlF1VzOc1VUYlXHUlK61+OWfU8WmHXWWbM+RHYOtGSt18jzH3nk\nkUDo1OExlUw+/PDDbM55AQ6DRWe2U6edK+wGahcPe1ONHz8eCGWHDW2shnrsHqX6qL3KfvOb3wCh\n73eF4wKhLrjXXQMVhDLMSy21FBCkSPuBOd97770XCCGpcUePeudXDYmZExI6BIXozJWscOobr7/+\nOhCSMiyGvtxyywGho8EFF1wA9HWHXH/99YHQycHjylynn346EHZv39cdYFD9iiuuyJNPPtnwfPKy\nwCrtou6w/o07euy8884A/PCHPwT6LKUHH3xw2Ty8fjKF55GxZRK7Rap3dXV1Zb8d6FI9jcJGBkpX\n9mtebbXVgCB9ydBvvfUWABMnTuSaa65p+fylJYm9fnbq8NwmydhL3D7fWqy9h5dffvmMzddbbz0g\nsLWNAh544AEgdGOZPHlydv7Sv8OGDeu3ds16bxIzJyR0CAph5ko7yMMPPwwEBhb2Ura38nzzzQfA\nhRdeCMA+++zD2WefDYSd0d3b3XqjjTYCQm9nWVB2dNe0r24l5FmIG4W6qn/ViXwtuyplXH311ZkE\n8fzzzwNhnlpEZQB/4+s4qKE0MCGvx9dggSmC2gmcg2u08sorA2GNtTG0ysoVQiOzHl7aaa6++mog\n9NReaKGFgCAJqd/rG58wYQInnHACENZ5rbXWAsJaOl/953px4qSOUlbO621eLxIzJyR0CAq3Zrvb\n2UBLVlEfcfc5+eSTATj66KMBeOaZZ4A+H5////73vweCfnXXXXeVHVM20k8Y9wKeeeaZ+/km3Tnt\nD91sBFgcnjfXXHMBoamaksctt9wCwP777w/0sa/j9bsnnXQSEPQue/z6W8cqU1RDEV0g2wHXykgp\nGc3XMrQ6aDW4zl6PRtawu7s7Y/3TTjsNgKOOOgoI94ZjvfPOO4FwPxnN9YUvfCFjcftzv/TSS0C4\nz11vO2quvvrqAGywwQY15xc3YUjW7ISEIYammLla6qHsaUTP4YcfDsDGG28MhB152223BUIUl+Oo\nZpW94YYbgKBf//rXvwZgzz33BOBXv/oVEOJgV111VR555BGqjblZZs6zOKr72UNafcuWn5999llm\nRZ177rmBsIsfccQRQGB7rarGCjfSl7lSy9pG59gOVLLmQn8/fYPH7BebrdfEdrBa0adOnZoV91eP\n1aOiVTsem9dWv//kyZM58MADgaBnX3bZZUDwsBiDrqShr9q/lRD34y7RqxMzJyQMJTRlza5WDOAb\n3/gGEBqjG5vqTmZUl5Fh7oIyuZEy0J9tttpqKyDo4+o2l19+ORAYzET0G2+8MbOWF10cIa+pnfrX\nIossAgRpQp1w4YUXZvHFFwcCe+e18GmkkVz82+kRs12Pf9Q49Jtvvrnsu3mM3NPT09DaeTxZV6ty\nqQSoxVzmlV0dgzqr11Am14e8zjrrZPq1aySr680wim/eeecFgoQWex1GjBiR2YD0bsRzqReJmRMS\nOgRN6czVWp6qf7gTqav63dGjRwMhSquRXffuu+8GAvvLaO52MvP9998P9LHl2LFjy46hDnPPPfcA\nreczG51ltoz+RiPfnnvuOSBYpN94440so0ZdX4uuDKAU41i1NzSD6WXNlvXMFjISzmwoGe2cc84B\nQkxzM6ikM5s/XSmaz89kYu9JX8f+ZiP2tL8ce+yxWf6A6//b3/4WCJGPWrGfffZZIMR1+xyUxvTH\nz4DH9H6u15pduGuqQmK1vwXCw92MocMLo3HBsE9vmDjpoJ6NotGHORYlF1hgASC4JgxocbNQ7Lry\nyiuBPqOWye6LLbYYEK6F49Y1pfGwlfrk7XyYvUGFYZIQXI+KpvF183V84zaDRtfQjcMQU++TDTfc\nEICLL74YCCqTiTwm9jz44IOZy9NNSvVBNdIa2B57s802qziWagUmSu7jZABLSBhKaMoAZrilxq1S\nKMIYtqm5XXbJa/UhWz366KP9B/lvNteYYfjdhAkTgP6FENwNhw0blo3H1Mt6UM3wFO+eusEUp92Z\nPZ9Sg0n3G264YSaCibielMecNGkS0JoI2k7INpdeeikQ1mnWWWfNVB3TN2Uur59uHtURjZitIg6v\nrdQ/+9xzzwXCOnuPyKaxS0rx2uCemWeeOTuubF1aUgiCQVfDaBzoInp7e3NDixuVXhMzJyR0CArV\nmUuT9w140AR/7LHHAiGczeSJRmA4nUEW7voxM7vTfvzxxzXrFTeib1VzkxiUoK5sYMv5558PhCIM\nZ511VhZ8r/vCMRlQsPDCCwOhXE0jbqbS+tDQuM48xxxz5CZrxMkBhkO6DrvssgvQN/e1114bCMn7\nwvvCuTbTmytGI2s4yyyzlOn2pZCplaKEbq1f/OIXnq+f28p7ztRHCxXK0KUpmKWoVmDQ9U/hnAkJ\nQwxtKxvkLq4uMW7cuLL3myleZkkZkzPUPdVxbrrpJgC23HLLus9RdKndvC4IBtEMHz6c3XbbDQhs\nbrqourGJJiVjbHo8RViz89bMDpuGp+qe+/jjj7NgnTj1T/eiyfqy+/TsShK7WpWYlEB0UWm9f+aZ\nZzImdu477bQTAMcddxwQ3KWyukEmnkvrfU9PT3Z9PX+tZJk8JGZOSOgQFM7MWu/ySqG0uAMDYRe0\nTKsphfoJ3eEWWGAB/vSnPwH5VvR2FcGPE8vVEceMGZOFslo6+KCDDgLg+OOPB0KQQhFohZktwmc5\nWXU62ag0eQGC3tjV1ZVbFDH2MxeB0jkOGzasrKNFfL5S63H8mcxrkUHL4T722GMAWQDSfffd1299\nvb+8Fq7x7373OyAEMsncPgdLLrlkFlBkzIL3bKX5VUNi5oSEDsGgaU9TzarpGLWyGjXkbmgJl0MO\nOQQIFsZKyfzNWLMbSXiIj6/upKX3xRdfzKzx7t42ANBv20qSRNwPuAiduULvIyAUV1CSsOyRUW+l\ncF29HrWK1VdDPWuozzsuuFjpOEoUXrMVVlgBCCG43mcTJ04E+iSqOHXTOSu1+NqiFRbYkN0t4jFl\nypR+Y/PYJWNPzJyQMJRQaHuaGWecMduZYmhp3mKLLYD+qWmljBz7jY0409q7zjrrAH0+WwgNvtTh\nqqEZJmiEKePjKx1o1R8/fnzml1WPNiWvCMQdBRvFzjvvnCXamwAiu3gdlChcB69/NSh5FYFqaxj7\nwmPdfOzYsZnvWylBFnW+RiOakqgXxTJOPT09/dIkLYyhdGUsgV4MYcx66e9jSaPZssmJmRMSOgQt\n6cyVdEl3cXe5+Lt+bqEBy+mUfs/jmS5nupm7nD5Ko2uMlJHl9QvWg3Zbs7WQytBjxozJsr7yLOxF\nohWd2eur336//fYDghRlauYTTzwB5DcPaDeqraHSmhJjV1dXVjDCe/D6668HQtSc8fU+G2ZG6SMf\nMWJE9pnXwIJ96sbGbJtF5/fVz30OoLbkl6zZCQlDDG2zZsesLUOZCWTpH3dO/37wwQfZDu9OqX6h\nhdLkfdu7mJFST8vPGM0yc72s6k6sX7H0+6UN4KC5ona1IupaYebYD2vUkuMu0ldcDbW8CY14JHp7\ne7O18140b9x4Be9FC2xos9Hf/MEHH2R6tuWgvTaWCbr99tuBUGDC3ASz69Sxu7q6snh6Mwvjoh+J\nmRMShhja1mw93kXNVLFUjqyqj9id7aijjsrazmy++eZAyDxyx7zxxhuB4HeWyWMfaynibJ1WIXvG\nrWrdVdXb3cFLC7gpYXhN4jLAMeNVk55aiduuBceh5GNUl/m9xl/LaO1CI96EPEnFY3R3d2eVQ048\n8UQgxCVYwujaa68FQqy59g7zzNdee+3MKi3Deq9apcS2TI7D+HvtC6Xj8j6I4ycatUG0JGbH5W5q\n/BYIxgTdAxpT/vKXvwDlC6d47Xmsr6QBzAclrqvkMUpD5WJUKskSz89gDpMFurq6+pUkim8eNxQf\ncmtjW71x5MiRmehtrSm7DMa9sfJuzGqhiTEGS0eLdqKamG0hC0OAP/nkk0ys9WHx2pl6qBvRB9T7\nyQ176tSpWTqu5KCR0MqrisxXXXUVAC+//HLZsVy34cOH57oTS+rnJTE7IWEooW3FCeqFnQdkqXpQ\nraNGoyiqOIE7re4bAy8Unayj/dBDD2W7t50LSsbS+ARqYKgyc57EMnLkyIyR44IBlZIy/A0EJu/p\n6cktXFnvGpZ2zfD4sQE3MXNCwhDFoEm0yDkf0F4jT6tBI7XGWMkoNxDBImKoMnM7URrYFEuJcceK\neuweMTT0KgmkRIuEhCGGtjGz4Zx2C6jU/aIUBqjfeuutbWXiGM3u6qVFAwcD6ulyCYmZS2Eo8T77\n7ONxyj6PUxG1f3z44Yd1S1WNSJd5301BIwkJQwwNMXNCQsLgRWLmhIQOQXqYExI6BOlhTkjoEKSH\nOSGhQ5Ae5oSEDkF6mBMSOgTpYU5I6BCkhzkhoUOQHuaEhA5BepgTEjoE/x9wVKYzQstaoAAAAABJ\nRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 3250, D: 1.177, G:1.115\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPMAAADuCAYAAADsvjF6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJztnXecFdXdxp+7hY4ExQIIQcWGLREL\n+oqivBaCxBqDInZjREGxi76xoEYNRUV9iQVEUZTEYENNQgR7N8a8BiwYK7aoAQIEYfe+f6zfc+ae\nOzN35t7Zheye5/Phs+zduTPnzJk5z6//cvl8Xh4eHv/5qFrTA/Dw8MgG/mX28Ggm8C+zh0czgX+Z\nPTyaCfzL7OHRTOBfZg+PZgL/Mnt4NBP4l9nDo5nAv8weHs0ENWkOrqqqykuSGzWWy+Xkfl5V1bBP\ntG/fXpK0bNmy0GP52apVK0nSypUrzXeWL19ecJ2oaLWamoZprF69OnLsbdq0kST9+9//ds+ZC8wj\ncThcr169JEnvv/9+wedffPGFJGmDDTbgnAVjXLVqVdJLGHTv3l2S9Mknn6T+bnB+340n7/zOcYnP\nuXTpUklSx44dU4+nMVDuGv6nwF3DKOTSLGJ1dXVekurr60P/PmnSJPXo0UOSdPDBB0uyL3XUd0IH\nlfABc8+9xRZbSJLefvttSVJtbW3Ry7P77rtLkl544QVJUl1dXckHIfgicq3q6urE8ykX7n34/ve/\nL0n64IMPJEnbbrut/u///k+StOWWW0qSnnjiCUnSxhtvLEmqr68veBBKrWFVVZWZ77fffpvVVMpG\njx499NFHH4X+jfsTnGNLfpm9mO3h0UyQiplbt25dsKu7Ym0ulytiU8TblStXSrIs07ZtW0nSihUr\nCo7v1atXkejKDnzUUUdJkkaOHClJGj9+vCTpN7/5Teh4q6qqzFgZx5/+9CdJ0n/9138xHrPr9ezZ\nMy9JixYtkiTV1dWFnjcIzt+nTx9J0oIFCyRJY8eOlST9z//8jxmLJH322WdGREdq4Ofrr78uSdph\nhx0kSUuWLJEkderUKfTawfvNPYO9A6weKmbX1tYWXDtLhD0H4Pe//70kaf/995ck/fWvf5Ukbbfd\ndiXPO2XKFEn2/vTt21fS2iVmt2vXTlKxilgJPDN7eLQ05PP5xP8k5dP+mzx5cn7y5MmJj19//fXN\n/9u1a5dv166d+b2qqipfVVWVr62tzdfW1uZnzZqVnzVrVr5Tp075Tp06FZ1r/vz5kdepqanJ19TU\n5Cud35IlS/JLliwp+rxr1675rl27Fn0+bdq0xOeur6/P19fX599+++3822+/XfT3OXPmFH2Wy+Xy\nuVwu36VLl3yXLl3yWawh973UveTaccdyTNJr9+rVq+Qxlc5vbf+X9P30zOzh0UyQSmcupY/E6Uq4\nnrCQotPxM+g6OvnkkyVJt9xyiyTr7tl8880lWXfXRhttJMnqqbi/0iArfauUeyyoS7luMsbNvFq3\nbi1J+sc//iHJ3hv0XNChQwdji4jSfUu5psrBVlttJUlauHChJGmTTTaRZL0IuVzO2CSeffZZ85lU\nbEUvxzXmYm3SmRsDSXXmVH7mBBct+sx1p7juJL7DS9CvXz/zEH/11VeSpC5duhR855///Kck63f9\n3ve+V3Dunj17mmuWeojCkMadhq8V32vUw4kR66233jJ+Y47FzXX22WdLsoa99957T5L0yiuvSLIv\nOZtAVVVV5EsQN79ywX1m8/zBD35QMJ7DDjtMknT//fdr/fXXL/jON998E3pOxu/et/XWW0+SfQY8\nSsOL2R4ezQSpmNnd7Tt37ixJ+vrrryVJvXv3NqIXgJFLBVnceuutkhpcPM8995wkaZ111pFkmRaX\nkRvMgIsCxiDIIJ/Pm+vCsoj7N910U9EYCLTgOq7b5Ntvv1WHDh0kWbEaRoZ5N9xwQ0lW5ITlkSJy\nuZz5G0EuuNzuuOOOgvHAfIy9W7duBfcljJWRFJJGi11zzTWSpPPPP7/ksYMGDZIk3X333ZKkRx55\nRJI0bdo0SdLMmTMlSV27dtWsWbMSXR/gstpvv/0kJWPkxpA+/pPhmdnDo5kglQGsrq4uL1lWchEM\nBSTggp+ufsh1r776akmW2YYNG2aMRe7YYLJ3331XkopiuN3jr776al1yySWSbNCKi6Bxob6+Ph8c\nY5xxppThhjlg3HJ1wzDA4hz785//XJL0u9/9TpI1BHKPd9ppJ7344oux43CNJ9dff31eks4888zI\ncQB3jkghsD5SwJdffinJShJpQGAMxsxygi3CDGBRQUnl4OWXX5Yk7bLLLlwvcv153nlGDzroIElW\naiwHPmjEw6OFIRUzR2VNBYHFFVeJaxGG9WCuN954Q1JxGGIYYO9//etfkqyrBtY98cQTJUnXXXed\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 3500, D: 1.05, G:1.166\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 3750, D: 1.23, G:0.9212\n" + ] + }, + { + "data": { + "image/png": "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\n5sfVz7mT9ZAAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n" + ] + } + ], + "source": [ + "D = discriminator().cuda()\n", + "G = generator().cuda()\n", + "\n", + "D_optim = get_optimizer(D)\n", + "G_optim = get_optimizer(G)\n", + "\n", + "train_a_gan(D, G, D_optim, G_optim, discriminator_loss, generator_loss)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "我们已经完成了一个简单的生成对抗网络,是不是非常容易呢。但是可以看到效果并不是特别好,生成的数字也不是特别完整,因为我们仅仅使用了简单的多层全连接网络。\n", + "\n", + "除了这种最基本的生成对抗网络之外,还有很多生成对抗网络的变式,有结构上的变式,也有 loss 上的变式,我们先讲一讲其中一种在 loss 上的变式,Least Squares GAN" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Least Squares GAN\n", + "[Least Squares GAN](https://arxiv.org/abs/1611.04076) 比最原始的 GANs 的 loss 更加稳定,通过名字我们也能够看出这种 GAN 是通过最小平方误差来进行估计,而不是通过二分类的损失函数,下面我们看看 loss 的计算公式\n", + "\n", + "$$\\ell_G = \\frac{1}{2}\\mathbb{E}_{z \\sim p(z)}\\left[\\left(D(G(z))-1\\right)^2\\right]$$\n", + "\n", + "$$ \\ell_D = \\frac{1}{2}\\mathbb{E}_{x \\sim p_\\text{data}}\\left[\\left(D(x)-1\\right)^2\\right] + \\frac{1}{2}\\mathbb{E}_{z \\sim p(z)}\\left[ \\left(D(G(z))\\right)^2\\right]$$" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "可以看到 Least Squares GAN 通过最小二乘代替了二分类的 loss,下面我们定义一下 loss 函数" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-04T09:38:56.375632Z", + "start_time": "2018-01-04T09:38:56.366230Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "def ls_discriminator_loss(scores_real, scores_fake):\n", + " loss = 0.5 * ((scores_real - 1) ** 2).mean() + 0.5 * (scores_fake ** 2).mean()\n", + " return loss\n", + "\n", + "def ls_generator_loss(scores_fake):\n", + " loss = 0.5 * ((scores_fake - 1) ** 2).mean()\n", + " return loss" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-04T09:40:32.256222Z", + "start_time": "2018-01-04T09:38:56.377796Z" + }, + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Iter: 0, D: 0.5524, G:0.4728\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPMAAADuCAYAAADsvjF6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzs3We4VeXVPvoBAhtFLIiKgl1RY29R\ngz1WNEZNIjFqYsMSu0YjdtHYY4km0di72GssWPKCimJDRcTeCyrNRCzoXucD/9+Yc0/QsP7Xua7z\nnu0cXzbsvdacT5vjvsc9xvPMDo1GI2qrrbb//1vH/68bUFtttf2/Y/XDXFtt7cTqh7m22tqJ1Q9z\nbbW1E6sf5tpqaydWP8y11dZOrH6Ya6utnVj9MNdWWzux+mGurbZ2Yp2a+fCBBx7YiIhYYoklIiJi\nwoQJERHR0tISERELLrhgfPnllxERMXXq1IiIGDVqVEREzD333BER8Z///CciIn73u99FRMTZZ58d\nERGzzDJLRER07Ngx5ptvvoiIWHXVVSMi4pVXXomIiB//+MdtrrnGGmtERMShhx4aERG//vWv23zv\n4YcfjokTJ0ZExAcffBAREVtttVVERLzxxhsREXHmmWd20L9DDjmkERGx9tprR0TETTfdFBERyyyz\nTERELLDAAtGvX7+IiHjooYciImK22WaLiIiXXnopIiImTZoUERGLLrpojklExNChQyMiYuDAgfH4\n449HRMTHH38cERGrr756RESsv/76ERFxzTXXRETEF198ERERb7/9dkRE7L777hER8c4770RExPzz\nzx//+te/IiLi888/j4iIpZZaKtsaEfGLX/wi+xcRMWjQoEZExBxzzBEREcOHD4+IiLnmmisiIn70\nox9Fp07TlsVzzz0XERErrrhimzH02fHjx7fp4/PPPx8REWuuuWbez/h37DgNNzbYYIOIiLj66qsj\nImLxxRePiIi//e1vERGx1157RUREhw7Tmr388svnWE+ePDkiirVivjfffPPs4wknnNAof993e/To\nERER3bt3j6WXXjoiIrp06RIREY888khERCy55JIRUaxr68v6Nm8LLrhgjt9rr70WERErrLBCRER8\n+umnERExzzzzRETEbbfdFhHF/F900UVtxqVfv37ZZ3PHjPfjjz/eZg6/y5p6mKdMmRIREW+99VZE\nRIwcOTIiIo4++uiImLbYLOLzzz8/IiK6du3a5hoW39///veIKBzDz3/+84iIuOeee/JhHDNmTJtr\nPPjggxFRDJjOG3T3fvrppyNimhPYddddI6JYvNrVq1ev6frnIeGI/PQA//nPf87JGTBgQEQUk6ZN\ns88+e0QUi2jrrbeOiIhf/epXETHtAdl8880jIuLaa6+NiOJhufDCC9u0tfxQRBQPnof+/vvvj/79\n+0dERO/evSMi4pZbbomIiGHDhkVExC9+8Ys217BwN95444goFmHPnj0jIuLRRx/N++q3h7dPnz4R\nEXHllVdGRMRqq60WEcXi/9nPfhYREX/605/iqquuiojCyXngn3nmmYiIdPrmcJtttomI4gEz9iNG\njMi2eXjvuOOOiIg49dRTIyJyPCOKB+CJJ55o0z/zNHTo0Ly26/7kJz+JiIhPPvmkTVvNz7777hsR\nEcsuu2xeY9NNN42IiK+//joiivXUvXv3iIi47777IiJi7733jojCuT7wwAMREdG5c+fsp74Dq7vu\nuisiCmCYWatpdm21tRNrCpnRz3fffTcipnnx8v/vuOOORL6//vWvEVF43rXWWisiCo8LbdGhO++8\nMyKmeUsIe88997S5xoYbbhgRBf0888wzIyLigAMOiIiIG2+8MSIKRFtiiSUSibQdUqNOZTvppJMi\nIuKCCy5o8xk0/6CDDor/+Z//iYjInygbrz127Ng2/19nnXUiokDMpZdeOp566qmIiPjss88iokDx\nzTbbLCIK+g3t0ctvvvkmIiJp8Mcff5z0+sknn4yIadQ7YhpdnpGh6tD0q6++iojI0OaXv/xlzufp\np58eERH77LNPRBTMBStBXd98882IiLj99tsjImKLLbbIPl588cURUbAJ8w71TjjhhDbjho5/9NFH\nETGNhptvbZ533nkjomACZYPExkGbdthhh4iIGDx4cLS2tkZEZBv1HauCiObfT6HZT37yk6Tk5557\nbkQUodKHH34YERG/+c1vIiLisssui4iI5ZZbLiIKRjpw4MCIiHjvvffy/ta7a2MKM2s1MtdWWzux\nppD5/fffj4gCIXlInuy8887LWEzct/LKK0dExPHHHx8REdtvv31ERJxzzjkREbHIIotERES3bt0i\nImKhhRZKL81TDhkyZFpj/w8i/eEPf4iIiD322CMiIkaPHh0REX379o2IIo6JKDwiVPnLX/4SERGD\n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\nYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 250, D: 0.2155, G:0.1959\n" + ] + }, + { + "data": { + "image/png": "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\nyvymmJcAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 500, D: 0.07639, G:0.6031\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPMAAADuCAYAAADsvjF6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzs3Xm8V3W1P/4lwmGQA8gog2iZiZlj\nebO8ijhVWqaZNFy73bymxu3enHKorpnzlIooKiggIRqaSrfMqTAVMVPvLUvLIUVBLYc0FYFz4PP9\ng+9z7f3ZB4jT4/t4/O7vsNc/Rznns/de7/f7s15rvdawN2g0GlFLLbX8/1+6/X/9ALXUUsv/G6m/\nzLXU0kWk/jLXUksXkfrLXEstXUTqL3MttXQRqb/MtdTSRaT+MtdSSxeR+stcSy1dROovcy21dBHp\n3pk/vv/++xsREf/8z/8cERErVqyIiIgXX3wxIiKWLVsWp5xySkREzJ49OyIi/vSnP0VExM033xwR\nEYccckhERLzzzjsREdHS0hIREbfddltERHz0ox+Ntra2iIiYNm1aRER87Wtfi4iI1tbWiIi4+uqr\nIyJi3333XaVE91VqjB8/PiIihgwZEhERAwcOjJ/+9KcREfHrX/86IiJ23HHHiIjYdtttIyJi8uTJ\nG9BvwYIFjYiIz372sxERsXLlyoiIePnllyMiYvny5fGd73wnIiKuueaaiIj485//vFr9li5dGhER\nPXv2bNJvn332ifb29oiI+P73vx8REUcccURERGy00UZNeu+3335N+h1wwAEREbHJJpuknu77hz/8\nISIittlmmyb9pk2blvqVddx///0jIkIF4JtvvhkRq/b0hBNOiIhinf/617826eC56LHhhhtGRMTd\nd98dERFjx47Ns/GDH/wgIiK++MUvNq3Hf/3Xf0VExO677x4REd26rcKVj370oxERsemmm0ZExKBB\ng+K6666LiIhFixZFRMTmm28eEREf/OAHIyLiuuuuSx2d0U9/+tNltePVV1/NZz7ppJMiImLmzJlN\nv6vq5xxa/1/84hf5zPS79tprIyLisMMOi4iI3r17R0TED3/4w4iI2GOPPZrWyLVHjhwZEav2cs6c\nORER8eSTT0ZExJgxYyIi4gMf+EBEdNzDNckGnSnnHDFiRCOiOAB9+vSJiIjPf/7zbho9evSIiIh3\nv/vdERHxm9/8JiJWfbEiIr7xjW9ERMR//Md/NCn5iU98IiJWbeaJJ54YEcUX3qF57rnnIiLinnvu\niYiIp59+OiIiDcj73ve+iIg48MADI2LVZnnGxYsXR0TE0KFDIyKif//+ERHxy1/+MhdqyJAhTYth\nYw499NCIiLjqqqvS+Gy22WYREfG73/0uIiI23njjiIg8KPTbYINVl7eJe++9d3zzm9+MiFXGIaIw\nis8//3xEFF+KJ554IiIiTjvttIiI2GqrrSIi4pOf/GRErDpIVf0Ysn79+kVExH//9383HYTW1tam\nPfTlchivuOKK3BMH7o9//KPPNj0PI0v+8R//MSJWGcNjjz02Ioq9qxpGOjKyZ5xxRkREjBgxIiIi\nPve5z0VExPTp06NXr14REfHKK69ERMSAAQMiIqJv374REfHUU0+ljhtvvPFqz6g9nDp1aurHYPgS\nWTP7c8wxx0REsYd77rlnREQcdNBBcdxxx0VE8YWnH2CbP39+RET893//d5N+DBHgKesHGHxX6Pno\no4+u05e5drNrqaWLSKeQefjw4Y2IVa5PRGFtTj755IiIOO+88xKluXv/8z//ExER2223XUREvOtd\n74qIiCVLlkREgSiPP/54RKyylscff3xEFK7Kgw8+GBGFG8ot2m233SKisIauBemWL1+ersq//uu/\nRkRhdYcNGxYREb/+9a/T6g0ePHi1+kHbiy++OC0qVwgy8wro98YbbzQ9G3QbMWJEeh7cbN4LT8Bn\nd9111ya9XIt+bW1tsf3220dExFe/+tWIiHSRIfTjjz/eZNU32mijRkThmVx66aUREXHUUUdFRMSM\nGTPiU5/6VEREjBo1KiIKj4huo0ePjojCNfdcL730UkSsQhbeElf9sccei4girLL/1u0vf/lLRBTo\nC+lWrFiRXp5zARXpsHjx4tSxf//+Dc8QEXHRRRdFROFFXHHFFXHwwQdHROE9QuYtt9wyIgrErp5R\nbv6QIUPiP//zPyOicLMfeeSRiIhEWaGJ80cva1XWj8f17//+7xEReT54e88880yNzLXUsj5Jp5C5\nR48ejYiIXXbZJSIi7r///ogo4q7tt98+iRfEh7gQEeAzH//4xyOiiJlYpddeey3OPPPMiCjinosv\nvjgiIsmnMgEUUVh91hhytLe3p0cwefLkpmtCwddeey2tXvfu3RsRETvvvHNERPzyl7+MiAJN3v/+\n96f1RuCICT/84Q9HRMRDDz0UEQWRI2aaMGFCRES89dZbcdZZZzWt6/e+972IiDj11FOb9Bo8eHBE\nRPz+97+PiCKGgihLly5NQu+KK65o0g9CvPHGG01WvVu3bo2IAhF5FuLId73rXelV3XrrrRFReAI7\n7LBDREQ8+uijEVHEyNYfcr7++utxzjnnND0PhOTFQR26QkdoK3Zua2uLf/iHf4iIghgkiKmlS5em\njhtuuGEjovAEeYb+dquttor3v//9ERFxyy23NOn3oQ99KCIiHn744YiI2GuvvZquQb833ngjvTYy\nadKkiChQlV4lD6lJb3xEe3t76lfdQ+fu7bffrpG5llrWJ+lUagoTLIaChG+//XZErLKcH/nIRyKi\nYCPR7suWLYuIiAsuuCAiivgD6yc1cfHFF8cll1wSEQUSv/DCCxFRsOYf+9jHIiJiwYIFTffCBkO+\n9vb2TF+wchjK7373ux30Eys/++yzEVEgodhp9uzZGQNJQd100015r4hVvEFEEWfdd999EVF4L2ec\ncUYHT8Nzi8cx+z77pS99qWnNoMKKFSvyeSAPD+fcc8/toF9EwTu4Fg+FB/XTn/40kfkzn/lMRBTc\nBR0nTpwYEQWa/upXv4qIgvW98MILMxaXvXC/f/qnf2pavzvuuCMiivSctT///PMjYhVKSV/xHmQK\nnKWyQHZnFAMvVXjLLbckalfPKGba+XvqqaciIuKBBx6IiOIMfe9730sk5mngRL7whS9ERJEamzdv\nXpPezoX9aTQaicz0wwnwUNdVOvVlFrT7QnzrW9+KiMKlGzt2bH4hEEwOD7GQCBIurQOz2WabJbnk\nAPii/8u//EtEFC6LNAf3RGrhoIMOiohV+XCHwmH/8Y9/HBGF61QW7o20imek3y677JJf8OHDhzf9\nzme5or6oCCr6jRw5Mv8NGWITHa6qfldeeWVEFAdTjvioo47KNJGDJq/OVVyTIALtoZTidtttl19w\nRBBDxB1lQLiU9kttweDBg3OfX3/99SYd5cqFIw63MMi9hWXf/OY300A5B3Lr3P2y2AfGmmtMv512\n2inXsbqHDJr9QSZyyxGWw4YNi5122ikiCmKLfgyg82WPGTf3pt9JJ52U6+gazooQbV2ldrNrqaWL\nSKeQmcvAqnIlWLYNNtggq2qkVyAitwqpwFXmbkCh2267LYtBuLcQAUJxtyGyFMmdd94ZERE/+tGP\n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\nAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 750, D: 0.08781, G:0.5468\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPMAAADuCAYAAADsvjF6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzsvXmYXFW1//3teU66k5CgDGluCJNB\nRgXBwCXMEJmVISIKIoKggkDACwkkhiDkMo8CgggoXhUc0OuEitfph4ogyCQgCTLEDGTo7vRU5/2j\n81l71zpVSSqPv/e9b/dez5On0t1V55y19671XfOqyrJMiRIl+v8/Vf9//QCJEiX611D6MidKNEwo\nfZkTJRomlL7MiRINE0pf5kSJhgmlL3OiRMOE0pc5UaJhQunLnCjRMKH0ZU6UaJhQbSVvbmtryySp\nr69PklRTUyNJWrNmjSSpvr5ebW1tkqRVq1ZJkgYGBoreW1VVJUki82z8+PGSpGXLlkmSmpub9fbb\nbxfdt76+vug+dXV1kqT+/v6inwcHB4vu2dzcbP9vamoqei4+s2bNmqpy/NXWDi1PT0+PPUd7e7sk\nafny5ZKkQqEgSaquri565ffwx/ubm5vt/6xBY2Nj7j7xc5Tjr6mpyX7HNVavXl2WP0kaO3ZsVmot\nWZeWlhZ1dHRIkpYuXSoprDN7yCs8br755pKkf/7zn5Kk1tZWLV68uIjHlpaWovt4nhsaGoquyfON\nGjXK+G1tbZUUzgrr1NXVZTzW19dn8Vpx3vi5urra7s09eEbe688oZ7qrq8vuy3NDnBXWyp8Dfuaa\nvNbU1BT9v9Q1BgcHi/awHFVVks556KGHZpL06KOP5h5Iknp7e+0BIA4LG8Ki+oPB7wcHB3OHxVPE\nZNFzsLksRkNDQ+49/Nzc3CxJWr16tS3UBz7wgUySfvzjH5e8X29vrz2bvyf88crm+mcdHBy0v/G7\n9fEHeSHW2NiY488f/JUrVxYdhJNOOimTpO985ztFn4Ovnp4eez7PI/fq7e2VFL6APC/37u/vz62L\nP2fwgsDi7+wLX5bW1la7BueBzyB0lixZYjzuueeemSQ9/vjjRdeN15QvK+S/eOv7cmdZlvudp3J/\n9/eKv8z+NVqjDfoyJzU7UaJhQhUhc1NTUyYFyYGEHjdunCTp4x//uBYsWCApSBUkFCqNVyVGjx5d\n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\nqqoqq6qqytra2rK2trZs9OjR2ejRo7Pm5mZ7L59tamrKmpqacteaO3duNnfuXPv5uOOOy4477jj7\n+YYbbrBnra2tzWpra+2+/Iv5a2lpyVpaWrKGhoZsbSZRJinbdNNNs0033TS78sor7fl5L8/GPbkf\n129vb8/a29uzjo6OrKOjI2ttbbU14hr+H9eaP39+Nn/+fHv2GTNmZDNmzLDP33bbbbYmfl1L8be2\nZU5WV1dn14THUaNGZaNGjcrOPffc3F75a3N/PssaxOvHe1kPruHXZ/bs2dns2bPt5yOPPDI78sgj\n7ecbbrjBnpXn4m/cP+bPnxXeM2HChGzChAnZrFmz7HrNzc1Zc3PzBu8h/+I95Br+H3+fN29eNm/e\nPPv52GOPzY499lj7+frrr694D8v9S8icKNEwoYpsZj90DLuA6qlXX33V/kY+K6NYylW+YD9SbeQd\nJ1KwYbyDq1z2DYXiCxcuNGeHb17Pe5cvX56rmvJVK+Q5v/zyy/Y3muozhqUcf9hIVBqtWrUqZ4v7\n3HLvJPJ2OBlif//7362yyzd2571vvfVWkb21FtFyDjuq2V5//XV7jnnz5kkKe7g++xA7vbu7O5cp\n57PDvD/E57xTQfbGG2/khgNgK/Pssd9jQ/aQe9AW6NJLL5VUfg+xndnDlStX5mx+/1n49fn1vp5+\n4cKFdvapXMNWZg8XL16cbOZEiUYSVYTM5SpuovGhJs1okhbXyUr5lrS0ywUxt956axtRQtiKrh7k\nXvNeuljQaJ6OENC4ceMMkX2ILPLM5ipufHgkRgY+Tw42+dMeRanoIUeba0yePNl+R8iDhu28B8lM\nm1baFj/00ENFa7npppsaIperrPItZ/xgNd5HDnNPT4/9DQ0nrueO7wW6kH8MYk6cONFyrkEdnpPw\nC2eG39O0kbGwUHt7uyGy12iifSq7h7zGY2P4PPnhnFGPotRe07yRczd58mQ7o1T40fSeMB18MrqH\n4Yff/e53i/gbP3683d/zF3m3//WhKb7MvitmXELmQySoFczvobMnm8kXFjVl3333tffwhaezI/Oo\n6F9MIjwLxjXjYm8f1vATBzo6OmyhfI8zDngp/vjScoCZ5Pj1r39dUth4vrDwN3XqVOOPw3LAAQcU\nrQ1dQeGPg+OLUuJyPs8fQqy1tbVkDzBf+BD/7M0Z9pADSTsd1ocDDY/77bef8QL/7CHrs/fee0sK\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 1000, D: 0.621, G:0.2852\n" + ] + }, + { + "data": { + "image/png": "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\n3nrrrRWu1UsvvSSp72zjUuNcff7zn5fkUZ7zjgTEeixYsECSl76SJElJHswrcAmuedcUIgwinDXD\n77jjjk40QNRl8Dy8uAX4/J133pHkRac//OEPOv744yVJ//u//yvJH3oeIMRSjCRsCmLR008/LalP\npHr55ZclSb/+9a8lSccdd1zRnELXDfNjg6yIvM022+iZZ54pGv/8+fMl+UML8+JBQPzigMyYMcON\nAcMeh4uDzboyb3yTrCXi7auvvqoXX3xRkvSd73xHknT33XczL+ZQdBBQlay7h3vvsMMObg8RBZkj\nxizGgWsS0ZE9vvfee/Xtb39bkn8AWB+YGXsIQ2AvWRNiB958803nk73uuuskSVdddVU4pSL3InvI\nA4EBljWePn26UxuYH2eQB/SPf/yjJC+aAzSf+cxnJPUxJNbosssuk+TFetaRfccgGapZknT55ZdL\n6ltb5so6M44AiKKYHSnSUKKKkLm2traIq4M+F110kaQ+Zf/cc8+VJD311FOSvHOc++y3336SpD/9\n6U+SPPpMnjzZfQ4XnzBhgqQ+Ti/1obYk/exnP5PkURAxlXEh0ixfvty5bm699VZJ6eCO0LhQU1NT\nJHkgLRxwwAGSpGuuucYZvnDsE2AAAuy9996SfBQXohJzmTRpkjOoIVH88pe/lOQR4KGHHpLk3R0g\nAuIY12xvb3drccghh0hKG5SWL19exNVRJVgr0BVp6Lvf/a5OOukkSX3BH5L0xBNPSPKiIZFpzz//\nvCS/3ptttpmkPjRCzQKxcLcgKd1yyy2SvKEIBLPS0PLly3XaaadJki688EJJ/qxwrXCOILN1bz75\n5JNujA8++KAk6cYbb5QkPfLII5L8ed5///0lefEb4+A222wjqU/t4/pWTcQYS7Qiks8mm2wiye8p\nRsSWlhbtsssukvxZmjp1qiRp1qxZksoXsyMyR4o0SKgiZAa5HnvsMUle/0Qv2mKLLfS3v/1NknTl\nlVdKkr75zW9KShuGCOb4/ve/L8lzqnfeecfpt+g5cE44NEiNUYUQUNCS4IKWlhbnAuP+cGUCXULj\nCfNDV//a174myetvY8aMcW4NUALdEB0NnZCxwf1B+dmzZztpBYMdUgqBDeiEGP7g+iNGjCia/5Il\nSxi6m9/9998vSZo2bZqktFsDZMbYdsIJJ0jyKDxhwgSnu51//vmSvD6OZAAaITGcd955kjzKP//8\n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\nqwDcpxIXTaWUhcxIZDZFMetMQHkpluwpkmGSJG5PWO9KXGz9kT3PEZkjRRpqRO3lcv5JSsJ/VVVV\nySpOmEhKtt5668R+J++79v3q6uqkuro6aWlpyb3G+++/n7z//vvudaFQSFahaebrUv+am5uT5ubm\npNT8GBNj3Guvco97kAAAAXtJREFUvVL34LPa2tqktrbWvbbzqqurS+rq6pJ33nkndV2u+e677ybv\nvvuuu/awYcOSYcOGudf19fXJKiNdv+s7ceLEZOLEiUl/e5i1LuWsX6l/ra2tuZ+1tLSU3ONK/rFu\nlcxv7Nixq33fjo6O3M/a29uT9vb2NTK/mpqapKamJrWHef8iMkeKNEhotRItkO0piUKYZUhWD0Hv\nIlQzq6N9nu5iS+DasDdcCmEyBToNhQ5wHdH7J0vfsmmEBGRQ2C0cI7oh7jD0XvpN020jdOfZUD9r\nV+Ba3AM9nYQT3DrV1dXOvoAHAHceRejLDeekEAJNCsohwlFJ4SyH+guZpMwO1m8pHbyBzSHoudWv\nNRvdGV26HKIfOO7Ucqi/+WW5n6xLFet5EIAVdeZIkYYSVYTMkSJF+veliMyRIg0Sig9zpEiDhOLD\nHCnSIKH4MEeKNEgoPsyRIg0Sig9zpEiDhOLDHCnSIKH4MEeKNEgoPsyRIg0Sig9zpEiDhP4/ynrM\nRKVbF90AAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 1250, D: 0.08534, G:0.4106\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPMAAADuCAYAAADsvjF6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJztnXeYVdXV/7/TZxAGERVBEFCxExGN\nJWpiQWOv2H1jSewl1tjFFkveGOtrew1qFBW7iTF2DRBL7KhoECsWUKrAzDAw3N8fw2fvfdc55869\nA/r6m9nf5+EZ5s695+xy7l7tu9Yqy+VyioiI+P8f5f/XA4iIiFg6iF/miIgOgvhljojoIIhf5oiI\nDoL4ZY6I6CCIX+aIiA6C+GWOiOggiF/miIgOgvhljojoIKgs5c1lZWU/SrpYRUWFJKmlpaXkz+Zy\nuTL+X15enguvt2jRoryfktS7d29J0pQpU/i80j4TXF+SVFbWeptevXrp22+/TR1veXl53s+FCxdK\nkvr06ZN3T+7RpUsXNTY2po6jqqpKktTY2Ojmt3gcOUnq0aOHJGnWrFmJz3P9448/XpJ03XXX5Y2z\nsrIy7yfzWLBggXtPbW2tJKmpqUnFoKamRpI0f/78vNd79uyp6dOnF/xsuIcVFRU5Saqrq8u8P3ux\n7LLLSpIaGhryflZXV+f9ZI1Zl4qKCjd3e32uDdjL9dZbT5L09ttv5/19wIAB+uyzz/I+y15w/6am\npvyLZqCsFDrnj/XLvCQIH4SampqcJP31r3+VJO28886S/MPatWtXzZ07N+/z3bt3lyQtv/zykqSP\nPvpIknTvvfdKkg444ADukzkGNpzN4ws5b9681Pez6XwuHONyyy0nyX9JW1paUr/MXbt2laTEfCor\nK90hAvhiMr7vvvtOknTwwQdLku66667MuWWBA+qrr74q+bOsD+uwYMECN8eqqqqcJK266qqS/H7w\nRaytrXVfTsAe8p45c+ZI8nvKYRLuof3S8jcOUQ4n1td+UcPP22eDa4Dm5uaivsxRzY6I6CBYKpKZ\nkyRUs37sQMrMnz8/oWbbUxfV+ssvv3RSgXXjJ2oXpzuSEunJ6zU1NWpubpakxLV4j1WZrToeqrlc\ny6r3SAaromXt4W233SZJOuywwxJ/Yw6MB8md9ezU19c76W3HbOfS1vNXUVGRaT4hUWfNmuXmyPzs\num+++eaSpH/961+J6zA2+xzzWa4VamhI7zQtKQSfyZLkdXV1CdOCv22yySaSpJdeeilK5oiIzoQf\npc1sT9ViMWTIEEnSW2+9JalVon799dcFP5PmAEuza8LXpaTDy65j1mcrKirUt29fSdIXX3yRdw20\nBaStlRTYwThu+vbtqy+//DLvGvb+ixYtKkoyLwnsfnXt2lW9evWS5G1i7FRs+pkzZ0pKrhvOwRVW\nWEGSNGnSJK2++uoF7x/uYWVlZU4qzRnalv1rta3a2lo3po8//liSn1+3bt0k+T2zDrJLLrlEknTu\nuedKknbddVc99thjefex47F7mIUomSMiOgjaJZk5bfFILg1wgtXW1jp774EHHpDUenp9XwhPdeY3\nYsQISdKFF17I67zXeXatnWO9lZzqXbp0keS92jfeeKPzJCOB+QzvxYuK1EUiYKuG9nmWZpA2v8Wf\nzUneU858QgwYMECS9Omnn6ZeMwvh+B555BFJ0j//+U9J0k033STJaxUzZsyQlFxHsNJKK0ny4TjJ\nr6n1toeSi/k988wzkqRtttkmce36+npJ3itv186GCNGYnn/+eUnSpptuqvXXX1+StNtuu0mSrrzy\nSkk+SmC1qWCskqR+/fpJkiZPnuy0PO5nfSg2IpGF/zM1G0cLjhcWeOTIkU4F+eCDDyRJW2yxhSTp\npJNOkiQNHz5cklfFUM3agzQVjcOE2CBqu+S/gNbxYb9UfCFQ89OcRvz/l7/8pSTpvffek+TjnS+8\n8IIkacMNN8y7RuiYmTx5siRp5ZVXlpT6oKaq2bxvlVVWkeTXuqWlJdNksK+///77kqQtt9xSUmtM\nWGqNT59yyil5n9luu+0keQcUDiT29KqrrlIW2P9x48al/j3tQCaOzthnz54tqXXNsuL7dg/POOMM\nSdL//M//SJIGDRokSRo2bJjGjBkjSZowYYIk/6VmH66++mpJ0h577CFJ7nCzJlRzc3Pi8LTrbfcw\nC1HNjojoIPjBJXPgmJEk/fa3v5UkXXPNNZJa1RMbNL/11lslSUccccSS3t4hIBW4U69fv345yau3\nhdYGhpGV1EhPnHGc3EiKI4880kne3//+95K8hoHqhQqHirbttttK8qrj008/7cYXsIQkJdlLc+bM\nyTvVu3TpkgvfnyaFs+ZtJcaHH34oyTvyfv7zn0tqJZFwfTQwnH6olN98803etdGGuHZI7MjSDFjT\nGTNmJEgjSF/rzLTOpTSg4qNFXHrppZKkP/3pT5Kkd99915lCmJrnn3++JOn++++XJE2dOlWSf84x\njXhuMDPKy8udlsR+M8b99ttPknTPPfdEyRwR0ZnwvUtmpCwnJdxUHCEE/nHpl5WVOacHJ+T3iTR7\nC1hHSC6Xc/PBcWM5zn/84x8lSbfccosk72D69a9/LUk6+eST3anNiX/nnXdK8jYZJzPSivU4+uij\nJUl//vOfJbXarJz8nO5QDwOiQ1GhqVD62RDZ/vvvL0n629/+Jsnbn/zdki4GDBigX/3qV5Kku+++\nW5IP4bQFS0wpBoXCi3YPFy1apBVXXFGSl46DBw+W5KmXOOvYU55RiCf9+vXTPffcI0n6r//6L0ne\nb2N59ZZwYp14ixYtSqOn5v0eQ1MREZ0MP5jNzCmDx3attdaS5MkDnH6c8pK3L8jaOeqooyRlEzUs\nWlpa3KnHaWft8TRvtr0+kmrBggUJ2p6ldUL9xEN94oknSpLWWGMNSdI666yjl19+WZI/tfEC4/nG\nHjvwwAMlSRtttJEkaeDAgZJa7W6pVRrw2sMPPyxJ+tnPfmbHlXeq9+rVKyd5CY7ECKmj1q4keoD3\n+qWXXpLkwzCW9lhdXa11111Xkrf/8QzjkcYLf/HFF0vymgVe7wcffNCNx0qzlD1wA+7Zs2dO8tqD\nJWKE4UXmzvpzH0KSrCU+AfZwwIABTotCqpN0gl3N/d955x1JXkNbZpllJHlJ/sUXXzhvNhEFCCmM\nudjQVJTMEREdBCXlMy8J3njjDUnexnjttdck+ZP4zTffTHwGj+ZvfvMbSdINN9wgSTruuOOKuifS\nRkpK5DRgt2MroRmEksHmuGL7c/KiRWy88caSvFTH/j3qqKOcZH3qqackea2B0xzbbdiwYZJ8DHPN\nNdd045BaSSbM8dRTT82bc5bNSVzZepPxT3z55ZduLswRkhBedGxlgBbwySefSGqVKMTm+XnHHXdI\n8s/Biy++KMlLWdYeiQzCPcS7W4juawkXSDek3UcffZRpmxJdYB5IzBtvvFGSf2ZramqcZsFPvNh/\n+ctfJHkJzXjQYpDI3LNfv37u/8Tr0U5LTVyKkjkiooPgB7OZkQhUVYChBPG+EDH+rLPOkiT94Q9/\nkJSdKkjMj9OyGKR5szn57QmZlmjBazB/Xn/9dUnSLrvsIskXOkDa//Wvf9WZZ54pyUt1fAF4vP/9\n739L8n4FbFW0GF6fMWNGggJo9zOLAWbtzlDKWZuZuf3973+XJP3kJz/Ju9d//vMfST6m/NprryU0\nA3wi8Apgtd1+++15awCl9Re/+EXqfNIQzrG6ujovjZXnKpTU2K1EJNAKKEbxv//7v5I8A4+oA4UO\nGhoanPaE1nbyySdL8vuP/4N4O3sNq5CIRHl5eUKL4PeAJRZt5oiIzoSlajNXV1c7ewqPLCcS9iDg\nZC6U5ohEvuyyywrel9MX6V+KZC4EG0ft1q2bGwsnMcwfGGx4Z/faay9JXtLAOFuwYIGTNscee6wk\n7x3mtP/d734nSTrvvPMk+bI88JjhNVdXVydOc1CsvWU/t//++ztve//+/SVJ9913nyTpoYcekuQl\nM+uMFOJzIZg/+09CwsiRIyV5abfjjjtKkovfYreH9jkeb9YpbY68ZlNU+X3zzTd3mg7P4Nprry3J\ne56R2JR+YuxhDTauxx6RT4BvBHsbT/ikSZMkSRtssIGk/PRK7GmuiTTPSkLJQpTMEREdBEvdZraF\n4vCIcmJx0mJnEYfk1Bs+fLiTVFnlckBa9cxSUYgBxknJGN988013Al9++eWSpP/+7//OG8Po0aMl\nefsd3wDSrX///s7DDUd79913l+Qzh5C82JFppW6k/AwgbGBr32fZzIBxEu9vbGx0EonYqb2mtUeJ\ndSN199tvv4Sty97hxUYa4gdhPVmbsJhhFjcbpFXn5L1oF2gP8+fP17777ivJ+zPwuPOMfv7555J8\nFhORAlJyr7/+evcZPN9IWkr9YIfDfON5Tyu9hA2fVcAxMsAiIjoZvndvNrmgeHCRILZsDBJi6tSp\niRKunMzYX/YEg110xRVXlDq81FK7jAnJgyd25syZbiycxEgcYoSwh1599VVJ3nu5/fbbS2o9mZHe\n2FN4sbkvTCCu9fjjj0vyWVWs3YwZM9x4smKTVjIjuaw2kxa7RYogfRgffhDi8HyG33O5nBsPEuii\niy6S5J8DohpobtjOaD7YmAsXLkwUxQtzge0cl19++Vy4RjYyEdqhaAH4PdAakKpoDdiwMPImTpzo\nvPLXXnutJM8BWGeddSTJ5TuzH3AGYOqxZvPmzcsr9hiOFc3tR1OcgGD9o48+Kqk1fUySU3WsyhaS\nBOwDRlF2nFA4m/jdquGlhjVs2MYG/MMa04ceeqgkaejQoZJ8MjrzICmBEAtkgT59+riUzh122EGS\nd7QcdNBBknwIiDXiJ+/jC1JfX+8eWuswCsgTRSVa8EUMUw95QCFL2KQZDlfUbL6A4T5wmEMawYRi\n35977jlJ0tZbby3Jh/RQi7/44gtNmzZNUjZZpJg9RJVtaGhwnycsSlLIaqutJsmbRieccELe/HCQ\nDRo0yO0Bhzg0ZarU4OhizyAKQfPlS15eXu7Clhw09vCKdM6IiE6G710yjxo1SpJ3pkCZw8mDVA1D\nCZxIEOA5ucLTTPLSDnUUlQc1iXsUQhrhgFPXSuTa2lp3eiKVIN+PHz9eklf5OYlxCu20006SWp1p\npODZ9DgcbRMnTpTkVTakJa+TANC/f39HI8yqvd2WA8yivLzcSWnmz32pp4V0ZfykgaKtNDY2uvci\nuTBV9tlnn7zxQd9EmnMtnFNnnnmmc0ghoa0Kn+YAs8kfYUokzxp7eM4550jye0VyDGrv2WefLUna\nbLPN3LX4G9KcxBWIJoTRSImFTHLzzTdL8gkakyZNcmYjz3nQWigxv0KIkjkiooNgqSdakK6HnYUt\nR2I3pxyvpxFD+BunHuR88Oyzz0qSq81sbSCSzgt1Q0gDpyX3Q7LjvHr11Ved1IJIgLOKBBLIIxA/\nOJkJvayxxhoJKiW/k/wAoeK0006T5G04JAmOmhkzZiTCc6wda1EskFYVFRWJ0BRzJETGOlHvGYmC\n1nXzzTc7TQTHJu9BQuFUQ6vCGYgTE9v5wAMPTOw/EhnCRogsCi5rXFdXpz333FOSdyyieeGb4Fnc\naqutJHl65wUXXCCpde8huRCKevLJJ/OuhT8Hxx+vo30xp5VXXtlpHnZ+ODyLRZTMEREdBN+bzWzT\n6LCDIeNDsAehzWTT8yBPEBIhlICk4sTklAe5XK7NAm6hPbLyyivn1QW35XuampoSNEHIA1ADCTOh\nPXByYwteeeWVTlpQUgdbk3AGEvGnP/2pJG8/kqaILXvIIYc4TceClNIhQ4YUZTPjn5g+fborsIDv\nAcIDEpn60RBh+DvS96ijjtIxxxyTN9axY8fm3c+W0cGrjdbxj3/8Q1KrNpC1h1AmP/nkk8yOFjxX\n7GFjY6N7jqAcoy2gRZx++umSfGiUa7GH2267rfPS4wtAI0MrpHjBpptuKsk/s6wZmsOECRPcde13\nEc1zypQp0WaOiOhMKEkyU6bV9rdtD7LK+BQCJWmxrzhZsSmLKaNqEUrmDz/8MCd5+z7ocSypVcrg\neQwbnofvwd4h5kqcnfcPGzbMJbBj15LaiOcX25O9QeojbcNG4mF/J0mJ7oQ2zvzJJ5/kJO8pZ7y2\nNK3k9wZJZhMc+MkacK0FCxa48RBLRzJCxKBML3FXninizXjMw8SULIR7eNhhh+UkLwFT4u7uc4zR\nxq8hiRBXxs4Nvcxonvb5Zb4UUkDKo6mhbbHec+bMSRTGZx2DkldRMkdEdCaU5M1eGhKZ2DAnNUgj\n09vi4JxYnGBQ6gAxPGzsUkHSv2WlYeffdddd7rREOkK5Q2sgkR9bCXto7733ltR6ciORkQiUD+J1\n7OxXXnlFkre3SMhgH6qqqtwYuS8aQZYXn1RMi5ABZmOz7BksKthOJEuAsNUM3mz8GKwt6wUzDvYV\na05iQtr4i+kOii/GFr0ntj916lS3h0hEfuI3IJpAaxkkOL6EiRMnOk8zWhV+G3woaFkwH9mfQw45\nRJJnDFZUVCRoqmg8pZQblqJkjojoMPg/axxHaRyagoVxQU5C4m9IN0BTMoqmYV9xGpYSWy6UAsmJ\nSezzzDPPTHCgU3jCkuRKzeIhJe44YMAAJxmQdEgpfodFhKRgPtwTu72qqsqtG15bm1BQLDc71Iyy\nfA82ZosmgY0ZesTxxBKjtrx5G9Mnbo/2ERb8s2sclgVePK7EHtr3sLah5mHnblljMMHoZImk/Pbb\nb51WguYBO4xrIIGJWT/xxBOS/DMLq66srCzxvOIhZ00iAywiopPhB5PMaVk5aTjttNMca4qYnZXM\nVkKUApsIHp56yy23XF4BdVu0L2x3avsH44HGvsX+wVYji+bggw92ye54gfHg0hYF6Z9SaEBSfnE6\nPM1kT1leelvcbCQmaxmW6bE2HPY2di0SzXIKBgwY4BL7adlLLJ2YNF5+1hGph00djgMuOtIaRh6+\nhjTJbFNDwz20LWuQjNi/xPvD7DTJPxennnqqe0aJTJAeCUcfcE32jPmxVuXl5e75ht8N84x4fpTM\nERGdDD9YEXzsD+xP2xQcLL/88m3GFbE/LCjoR3YNp2CIrNIskpdu2Lm8lxN6/vz5zqOJhxfpjQ+A\n1qXEOckeYt51dXUuX5nTHfYT3Gc8vLYkDS1tYUdNmjTJ2cZEB9qKtfN3K8FDLYf72RI3xLspLIBE\nYb15/9prr+083jZHlywz9p37I/25NsUd9tprL8fzBxTjL2Z+xMZDLQtpHebOSz4Cwf2ICcO7RpNa\nZZVV3PgtF5wccErp2pY67C15/ePGjUtwA9IKIxaDKJkjIjoIfnBvNhI5sOkkeSbQk08+mfBe4iUl\nM4m8ZewuYqvtQaFcWBB6sG3hfSQiEgjpSd4u8Wc41OPGjXO5zsREbaE8W1nD5nEzvt69ezsNAcln\nSxsX29I1DVmF9JCuSB247KC5udmxp9gjpDp8dMr14lOAj28latrzadch3MO6urqc5PfDrm1aEURb\njpc4P2OC5wC767nnnnMcAGx7OA/4FeBuU1gffj37E5QESvhErHe9WJv5/yw0ZUE4av78+e7hgK5p\nVUdUMFQ5nCulII3uSG9fS5pAvZo7d677G5+HLEBZHL5EFCkgNIEavuuuuzpyCyo7G45azRcA5wn9\nq7K6Vkh+/QgT8aWYMWNGUQ6wkKBgw2/M2SbNW/ohaYuHHnqodt1117yxUnqHckA4dwjpcE/7QKd1\nEeHLSM+x66+/PjO8aENiCxcudK+FX3DJf3nCXl6SP0wJm82cOdN1uaDGG4481uz666+X5E01wqn2\nixoKDluWKSjHFB1gERGdCT8ayZwGG86yJ1eWpLIneCGEKsygQYNyklfbrRQuFNagUyWhCluUjZTA\nO+64w30WUgyqJsUIqMVNzWckNqc+oYuxY8fmJYFIfq2Ckz/vVK+vr89JxZVUsrDpn8AWPpw3b54z\nP9CyMJUITVGNk84gJF4wH+ifkE7C+9t9DffQzo8KnEjbsBuFvQ4qsE3cSSvsyHXRCnF4UYVz6tSp\nknx4lXVgDzE73n77bTcOW1s+qyhjFqJkjojoIPjBJHMxJPn/CxQiHATv4e8uHMOJC3CaYBunOGnc\ne63zzKbegTDVMW08krfrguJvkrwknDZtWskOMEsnBNiHhFWwc+340sA4cfy0Ve+7GOAX+O6779q0\nmUOfQBaBCWlJsQLrE0iDLWpow3RpHSxCFKLPBolGUTJHRHQq5HK5ov9Jyn3f//r16/e93yP8lza/\nsrKyXFlZWa66ujq3uPxuTlJusbc7JylXVVWVq6qqSlyvpqYmt7gzRk5SrrKyMu/f4gIPqdfgvhUV\nFbnFYbKcpFzXrl1zXbt2TVyzpqbGfaZPnz65Pn365Hr06JHr0aNH6vzS9pDPp61Nob+F/+x4d9xx\nx8xr8N7y8vK89dxll11yu+yyS+Lai8sAFb2H3I/r83v4j3VnHe0Y7e+8j2sedNBBifnwmWWWWSa3\nzDLLJJ6d3r1753r37p2z4wvvb8ectYdZ/6JkjojoICjJZo6IiPjxIkrmiIgOgvhljojoICgpa6qY\nsIbNgQ0+Kynpmrfo27evq76ZBRv0L6W3lK23NH/+/MywRjEohaDSXtg8YlBZWZkZNglILXlhDfpp\nEX4iPAOXuby83NW3gpNsedLM2RJnGEuvXr3c9cjR5b2QLcL8YslXZoGiy/Oz3nrrOaKJvT+56dOn\nT0/sIVRg7s++h11Ohg8fLsk3UbddQYJnRFJ+jrUNtbUFCCmsKejVq5cjmNjvSFaF1SyUZDNDYn/7\n7bcleZYO16ipqcnrfxsOyCbR0yKEfrWFYFPyLIk+C2ntaQol7/MgZC18WVlZ4p5ZMekfCyxJf9ll\nl81JPvGDsjdhUTuSN5gbTDTWhZK/pHXaQvyB5zzxBYRFxT5wcNtCECH7jnEwRpvqOnfu3AS/PmSj\nSflfVBsX54vJPTm8KEc8YcIEZSHrCwjv3iahFAN7WDY3N8c4c0REZ8JSYYAVo2oWq2aHaC9rDFWu\nUAH1NBUma35cL1SzfuxAa3r//ffzTvXFMfAEM2nbbbeV1Jr4b5lPMNVsNhVSz77ep08flx0VNmyT\nkmqplbrWDOrZs6dTla1JQXuaMKvIsvjYf8oAU+I2BCwxq1aH5ZlCdO/ePaG1cQ37mbbMr7Aoo0Va\n+51CiJI5IqKD4EeZNZUl6e1pa9+HLU87kWJQqNTukqCQJmILGhT7WUoSYWcWcoABazMjmW0LFO65\ncOFC9/+0jKMQln+MLVpfX+/ylCmBgxSHwxwUVJTk12Ly5MmSvJ1+4IEHavTo0ZKSmhHja2xsTNjM\nS8N3ETrNpPwCf+wF48UHQzEKfEN2f2hTgyY0ZswYV2rZ2t0gZk1FRHQytEsyF1s2N4SVovxOg2uK\n1FlbZPF9JfmTmFYfFH/D1rGF6Ytptp4mmW3IYkmAp5Tm6xdccIGbO9UqqEpiSwdn+Qram68tSbW1\ntTnJN0qnFE6YvYS3GA0gzcMs+f1g/SmVc/DBB7vSQryHvSKbC884uePsHfYjRRWnTJmSaDVjM9HC\nxmqE3gj3cL/wOWd+tsm5hZWQaBNdunRxDdiRwJdccokkH/LDzrfZbCAMN2ZpQkH4bumHplgoq6Lx\ne6HQTSn3sWoonQNJCePBoCs9JVtISwwfPhabRaYLQ/DeNp0n7YGtq03cc88999SOO+4oyXcK5PDA\nOcNnCY3Q/YAHPfwyt+UktF9m9pADkXre48aNc9ex9dn4ott4MgUZOBjYr9raWre+jGu33XaTJL3/\n/vuSfPkgwlvU0LKlilpaWlz4knAmByTjTHNi8iUmRPXll1+6OdlD0JaJ4ic9pbkvXTiOPPJI51DD\nobf//vtL8imwpIny+qhRo/LuGT5jHHzss0Wsmx0R0clQkmS2XekLgdOTk9aW+rFdCsLKlJzwBN7p\nR4XqQicDJAK1ijnBb7zxRnfPLKcZWLhw4VJ1gOHYwGzAkYNK19zc7MwUAAmDAgdtsbrSisDZ8AY1\nuU899dS8U33ttdfOSclSRKGzx6p9tp8V4zv22GPz5kr11IaGBicR6ci50UYbSfLqNc4y5jRo0CBJ\nnrBBv62ysjKncuNsIhTGvr/++utujjj4bDcQUF5enlluypoRrBEljXBUPf300057xNGHtsU+M1bu\nwVpybVT2kBRjw1qrrbYa94+SOSKiM2GphKZCidGWDZclScIeUIyJ7nsUunvwwQclef4utjPcXboF\nYM+8+OKLbhw4HHC4lEIaCWGLvjEfKy0IwfATh0l9fb3TMKxzZmnY6hbW3kK7Yl3QEsJiifgmoEvS\n2YHien/729/yfmLj05N5s802c9oTNjEhGSS2vT/r+fOf/1ySL93z1VdfOY0AbQ/nFtKuqampzT0M\n7WLLq8ZnQUcRnifbLYSxDx48WIcffrgk7/RDiltYqVuM8zKltFCUzBERnQlLnTRSbOIBJyWFxfH6\nHX300c4TivRGamBPIcXxNj7zzDOSfJiAsqfTp0939haeV2zJYHwlEQ6s5mELqVP0jl7R+ATwpj//\n/PNOolDsnmLuaBSc2m3RWD/++GOncSAlKT6fNj9J6tWrV07yNhu2a5iYgJbB3Pgb9jV7hSQm1MN8\n1lhjDReqwWuOzcx6QLpAKuJV5yddNadMmeJ6IWNH4/1lfcLQTd++ffNCUzby0tLSkkjqwBZGY6KX\nFZoTz2FIa4VqiV17/PHHS/LPIpL60UcfzVtD3v/WW29JatUO0IR4vll/ECVzREQnwxJ1gbRF0UOJ\nliXdKPhOjJATjBO6srLSSVhik2+88YYkTyixubIjRoyQ5G0qxtOlSxcnXdII9hZZYw7t/CxpSSwS\nzy428g033JA3JslLcexvJPNZZ50lyRfBt9I/i3ggJSVyFlh/4r1IBVqhTJgwwWk+9FqiLxT2LNoU\nUhTPLfs2dOhQ15YH7y57xn4TU0XKIuWtdtKjRw+nybA+YbsgC6SnjQiQo/3ZZ585O53Pk/JJ507b\nnIDn7q677pLUun94uJkH+05EhT7N7B3jQiLzeviM0tygvTnyUTJHRHQQLJFkTjs52rLBsWE5oW67\n7TZJ/lTffffdNWTIEEnSOee+FMDAAAAgAElEQVScI8k3JINNdc8990jyDCl6IOPdxqP83Xff5SUQ\ntIW0gulSvuc969Skyx+SB5vZeqprampcbBIJyMnP2tguhVwjq2hCKSDRHunGfGAstbS0OM8yBQTw\nYrMvSOQ777xTkt8HpP3cuXOd5MJWPOiggyT5aAJdIqHz4ifB5tx+++0ltRbix67H/sR2t5wByVdj\nsX/79NNP3f/DqiqS9xvw/EBx5X0PPfSQJOlPf/qTpPziCwAbGqYX2gzXRnNjPWhXFLImbV9mS+9t\nC1EyR0R0ECyRZAbhCcIJzKlNnBXJS5oikoHaT9hsRx55pPN0ckIiqehrfPnll0vydiIJAbQXQbKU\nirakd11dnTtp8dJibyEJsK/hAoNQQjN3UvuwW1MaouX9jqQMJXOpsWlbewuJyLWHDBnipCJSBluV\n35HU2J7MnSZwDQ0N7j6HHXaYJJ+0Qssb/AT4MohLX3zxxXnX7N69e6KVDb4E1j4NWRrZPvvs49rJ\nwrjD54K9S69wvOdI+7CJHeBZRfITmz/kkEMkefubZBqkOzZ06F1HauNPykqRzUKUzBERHQRLJc6M\n1++bb75xEgvJlJW+BrBvOfVOP/10l0FDU3KyVUj8Jp0QO88WaAsrQXK6Zd2/UHGCNLYaUhTpjx15\n6qmnSvInMGNCI6GwW3l5ubP58OSSJmelbDFlk7IYdWnzkzwDjHshWbDH33nnHdco/Pzzz5fk2VhI\ncexdpPvIkSMl+ey2Pffc0607c6NgBIww1hHJ/Mgjj+StQVgQwaa48h7mHBa8s3sINx7PfGNjo848\n80xJ0lVXXSUpWfQPSQlDDO4A8zv88MPd3yz3Gh4DuQcwxNBqmEv4+ba81zHOHBHRyVCSZF7cHMyB\nk6yYgnecpmTH2NgdGTdXXXWVDjjgAEnJQgbE9H79619L8mwixoFNBcISODb3GoSnHqWEkarFsNlg\nP4X5spLPtOEERpI//fTTToojFYl3psXrw/fhG0izk7Ns5ywGGPdkjdF6vv76a3ct/B1bb721JK8h\n4alHuiKFyRxqbm52NiMaF34OfCPwoMeMGSNJzo5lD7E9wxrq2JTsIWsbMsAovmA1MlvjW/JSEs2D\ne7EW+HO4HxpoU1OTY4fZ0tFI+8cff1ySl/owv0488cS8+S1YsMBpGIzRxtGLlcxLRc1Oe5CgL/LF\nsMa8rWbBIj/66KOOLMJ1eRBOP/10Sd5Zk6Wegurq6oRqVuhhb08KJAcZm8vm4QDcY489JPmHesst\nt3SOG6si4xShsiaOEL78UAbDogEkQdhU0iDNL+9BYI5QBrk3B8Y333zjXjv00EMlyR2uTz75pCS/\nl+eee64knwaI2dOnTx+nmkKt5ecFF1wgyR920GxxQpFWyT26devmHFAcHin1w9rcQ8KAoXOOZ5BU\nWkxE++VFAEEE4VqST+555ZVX8n7yhcSJBuFmu+22k+S/F5MnT3aFGrLU7ahmR0R0MrSrOAGf4URG\nZUorG2SBKgEpH9WNNMehQ4c6aQc4qZAmnJxZDiIk3nHHHdcmjXNJJTMFFCC0MEbWgRMYqSslOxag\nLlr6JlId4j+aSDjvLNU8bX6StLjPs7sWUobfl112Wbe+pDZC7PjLX/4iydNN2TtCUoS01l13XSf1\nkHZoSHvvvbckH8pB6jMnQjeYXY2NjU5lRWPgeWBtwwITbSXLlJeXuznznEEX3meffSRJf//73yV5\nlR+tBTNi3rx5jiTCa2hmhNyYPxoJYyZphESSa665xoXrSA6xDr8omSMiOhlKIo1Ao+SkRiJj/BNe\nSIMNDeF0wBE2bNgwST7sEcLaEoSzSCK34AS/5ppr2rxW2hgLdcHo1auXJE9YILzE70g4TvWw6ALX\noKhgVtMxHC9QRG1Ds9CJV2ohA8YPdZFxYXvPmjXLJXBg/1Gk7rzzzpPkfRdIzHvvvVeSd/688cYb\nGjp0qCTvtGKu+EiuvfbavM/gQETa4xjdZZdd3GfDgoGS1wSKQUjqIeRJUgfEDopfsBYQWAgr4tR7\n9dVXHV3Tlr8i6QTqKWuF9CWsys899tjDzRUgkdHMikWUzBERHQQl2czrrbdeTvJle9xFCki06667\nTpJ0wgknSErWBsYuI2QxduxYdz0SLKDZUa6WME9Wsb6QHgfRwY6Va3Tt2rUkm5nPQ2VEOyDFDqlL\nyALw/hVWWMFJRa6F5x8JBG0VggVSjnvxualTpzqPq0VWS1eS95GE2PKs7ZQpU1xIij0igYJxUO8b\nTY33M5bTTz/daVhoYHSK5Fp33HGHJG9D4zknUsHPK664QptuumnevNFUsK9POumkzD20XUhnzZrl\nnjkSW1599VVJ3mvN83brrbdK8loMz9mwYcNc90zmzjVshxA0M/werBl2+ptvvpmaMCJ5O3zatGnR\nZo6I6EwoSTKPGzcuJ3kSgSVghB373A0yiBd4mbFbwOuvv+5S7CxVjtdfe+21guNM0xSyunAUIo2U\nAntPEgxI8SwmIQI7G/uL8jx33323JB89yCLApMF6Ql9++eVcOD7IC8y5qqrKaQisO1KNteO9aAqW\nXNGjRw8dffTRknyBiVNOOUWST57Bn4GGQDEHbEnuOWXKlDxPu+T9LHh9w15To0ePzkle0ts+WWHk\nA6lpeQvMD38C92XvGhoanEYDwYSoBnROtC2SgT766CNJvkQRkrm5uTmzCEWpzdajZI6I6CAoyZuN\n99BKBFgwDzzwQCJdDc8yNiWxNBISsDFJO1t11VUTyRl4VSkKZ4F3kxM1TFTg/5yQ2ENpUi1LImcV\nLQiBjXrTTTdJ8vFGW1i9paXFSRROd0rsYN/jKeUnHnMS9ym0H8b1i02FhIpp2WdoAQ888IAbFz+J\noRMzJh5LqR8kF3s4e/Zs9zfsU8rqEPlAEtvigEjwMOaK5MITDzMuLSLB9SzCqAKaDXPnXti/eO+x\n1dl/2FsPP/yw8/jDzkPTgYKJtKcIAdfg9bRnyWpcpUYqomSOiOggWCJuNlIHbmmvXr0SnlnLOyZW\nCMuG0xVbCokR/o1Tra1UMcsIKy8vTyRhhE3uFr+3TW92MZLZAluU4neU65k3b57j6cIGsvFwpDoe\nUwq9UXInq/WKlFwDazPDkLKSHMn4zDPPuL2yiTOWbYbmwPow15qaGhdfxmbGI0wUgSIWfAZfC7Yk\ntnSXLl2cJOY+SHveE3rsiymCb8sx2SQM7kOxC2LHvD5jxgynaaI1Ml+ueeCBB0ryPhOeB+ZNgkla\np1L7XYkMsIiIToaSJHPPnj1zko+hFvos9g32CJ/hNOeU5wSDq1pRUeHK6dB0jPuklVZtC1lF69Oy\nioqJM9tTE+DRxcNr+ePcb/z48Y7lxKm+8cYbS/IsIbKT4C2DtoriSz42iaSzp3r37t3zuNlIFKRD\nQ0ODu49tSwsDCu86ksoWi993331d1hh2NBlWxJUp6oCEQgtAowu966QPopmQkUXDvULalW3YFu6b\n3UvGZMvk2nJNW2yxhWuBe//990vypaLRUlkTONrsPx7ykP2HhkYMHm0FRmWUzBERnQwlebPxttqW\npJzyVVVVLucUycDpBkOG+B+N0mHZhLbyXnvtJck3jsPziWQge8c2A7etOsOsIt6DpCymkEKa5pFV\nZI1SNDQUw+6lbAzXnDVrVqZGg8cVW9kWUGcuSP00G97G+S2wPynjA1ea/NumpibnPUeb4v5IXphe\naA7Y/EQ1hg0b5gpIoKkggSncB3uL9WR/yDIi6nDfffc5jYXnDh58WilaXmMt0ebCwhVIa3ww/I0Y\nMGMmdkw+NZ9bc801nXfeFkhkbZDQSGKeN9oIwZA77bTTXAwawMkvFVEyR0R0EJRkM2flioYxSyvV\n7KmOF5tYKacip+0mm2ziCqeRnWW92MXGVAcMGJBX/HzxHCSle3tLaSafBXwClDjiROb03XzzzZ1n\nlzkTe8U25e8HH3ywJJ9B1J6Wr9beguWW1VJ3/vz5TuIjCUNNR/J2MBVR2H98ABMmTHA5z3jxsTHh\ngD/xxBOSPD+a9SLWiwaxwgorOOmKHQ3rivULK420lc9cKDbP72gt3JesKeLpM2fOdF538pqJQVME\nMcztlnw+A9coFCtvKyKRhaVSNijLKST5NDnKwUDJvOWWWyT5BwL3f9euXZ3TAPWaBHDb0a+UbhVZ\nlS+LCWssDZC2OWnSJFeIAbKIJZZceeWVkny5JCpLlvJlDggIeQ9CVVVVTvKHqCWwzJo1y6nc3Icv\nL44hDh3UUrqT0Fdr9OjRrjwQDy+mEw815ghEIH4PEvIltT7srI/t/cSX7qWXXmrTARaG88Ka1Wlr\nZvsy81nm+8tf/lJHHHFE3vX5UjM2ShExPxzCKVRNd38bAoU2/dxzz0UHWEREZ0JJkpmSMxj1hQDF\nklOOcAunvJWQJHn/61//cn9D9UKqofbh1s8ic4R1vLPGU0xoqj2SsBQV3VIqbVfNrFrftktIIVgV\nbZNNNslJ3iHJmnKvhoaGRBEE5o8q+dJLL+WNG0CZ/ec//+loulBQCceRiHDjjTdK8pKb5BmcrFBG\nH3/8cedgJdyD+osUX7BggZtjfX19TvJqrA0N5nK5zH1lP+wesv6s1fz5851EJnwE6YZ5MTYKIeBU\nY83C/lw2ociSgmJoKiKik2Gp2MzmPZKSp157OhiG4RKpONKERVbRv6VtMzPWrFJAhdDefryFkJU+\nh4OI+dukg4qKCpdEAEmDtaPIHmWCcJohBXlfVVWVk3JoT4QsCYVxf4pSULrHht/KysqcRCZExXtw\nLr399tslaVeQQBg3wH9DWWSbwJMGW/wAbcmubynJE5asMnv27CiZIyI6E5aqZA4TGwq9R8qWlOHr\n7QnFZH2OUxyvOYT/Uumc7R0TGDJkiPP+WmStzZLcs61eU9A5WY/Kykp3fyt5uT8SA9sVqYuduNFG\nG7lij7agIRoMwB7GhsTbjVTs3r17IkWRcaDlhR579rCYbiTF9PKSvC2NdN13330d5dhqVdi9/M5P\n0inpwRx2WmkrGhNt5oiIToaSJHNERMSPF1EyR0R0EMQvc0REB0FJWVOENXBOWOqd5B0COD5w6/PT\n0gghcYRhDRwTlh5qnRr8Tj6orec9YMCARI1qG6BvampKOE+yCCZlZWXubyHJIm1MKXnTbn1Yo0KZ\nWyFsg3ew3HLLJeqC23HY0BRtee1ahlVEbP8sYEkultTC7/3793eORsunt7XNWWPokPZzXbp0cU4y\n1pBxQOIIQzffJyUX1NfXJ/aiLSxJ+PF74WbD67WeRwZYV1eXKGXLg8h98IzaB6aYXsOWR5xVrMA+\nqOG1uAa/h+whDitaipAsEH7Wsp7w7DJPStngzd18881Tx1ho3HiYbRy0GIQsJSlZBL9bt245yTOx\nfvvb30ryB0v37t1DT78kPzcSHEgaobHB9ddfn/d++3/JH57sXVbBCXsYVlZWuvfi9bWNBsI5socc\nsjZdt1BzQ3tYUfaXxJ9isKTRDin5xY/e7IiIToZ2xZltfI7CZ7QiCYFabXnUYdE9yZ9CXbt2dRLJ\ndr23Y20rPlhbW5tqCkg+VfGtt97KjFHyGcq33nvvvZnZV3YeWWl2Xbt2TUgjKxGKRdhM3gJzICwQ\nL3k1GzA+YrjTpk1LZKXZAg/8zlzt3Kurq93/U9qT5o0zq6A/EryysjLUMvKuERQg+EHV7KWBUiR4\nlMwREZ0MJUlmTvVSONJZJ5A95flZU1PjHFpwZDmZsX94r3WQUYCe1ig777yzK4ZgJSUoptRuKfNq\n632VlZWOA2wzaZif5QJbm5G1u+qqq1zReDuOthxgVrMIP58lie090jKSeJ2C+ST2cw1sZyS1zYVH\nu0Pbq6+vz0zk/6Fz0pcG2Fs0p2IQJXNERCdDuyQz7SlpkB7CZqRYiWh/clJTkWSbbbZxBeW22WYb\nSdLIkSMleS8vsPm8nP5hPrO1aW0JnFBy4QmlYDnZOiEo8k8GTxasBkBWUL9+/Zxk5j7Mg7VjrFkl\njS3fObyffW9WEXxyjykeF3pQrUcc2Hxr7GGkMBlQzz77bGbJIbjZeMbx/vM+7hm2ObV+Fos0fv3S\n8CoDcvCfffbZvPGkwbbphT++NPn1mfdujwOMgbKZYdqXdVKkuNkl+bDG7bffLsnXgho6dKhLnEdF\nI/Gb+lF0CaAaJNewauiCBQtcjeV3332XOeSNI+1B4NAg5Y/DpKWlpeiuFhdffLEkX/qHh7S6ujoR\nm6bvMWPkHpgIlE1KA1UeSf4vND/J1wCzpXhY67KyMqf224PQOuhsv+zQZLJOPeqc8awQ/6dPM3vM\nARV2l6BKKwUsbPGJUpNlvg8Q6sN84BkkzGmTNUJYZ7A1RaKaHRHRydAu0khW+CWt8qEFAX9OW4rb\n0QFh/PjxTgWjkwE1mPlM0K1Bkj8FcaZw+peVlSUIGIyLEjhPPvmkG2ifPn1yUjqRxSIrRMUpSzeO\n559/XpJ03nnncT+noj/44IOSvNqMWm/LItmeRzgGw/fYHlqos2HYRpJWXHHFPFMCpM0VsgjSlXuw\n//SLpmsi4z/vvPPcOKh1TvE95oqUZU6DBg3KmxsqbUtLi3MWsS7sM3OcPn16uyRzWymQtqMHWLBg\ngZOajAEthf2gCMMLL7wgyWtfl1xyiaRW52WxiJI5IqKTYYnqZtsSsYsWLXJSFc4wNis1jpHAOD4o\nt4Kk7NOnjx599FFJvmMCyelpJW4kLylsmZdFixblOVKk9nWBDDsn8H+ug8TB3oUQQscDugXSx2iZ\nZZZxGgbSGultOzRwyjM/Tve33347b57hZ234xp7qdo6WK71o0aJE4UTr1MR5Ru1ongfs3ttvv911\ndMB3QCcH6K3WNsZmp2cTWss777zj3gOxBUkZ8Pt/EJs5lOTMmXHT95p+UTyzH374oSRfpvg3v/mN\nJP+8U6xA8lqr5dtHyRwR0clQkmRebrnlclLSexnaj3ji+Bt2F6coneZ33nlnSf4EQ4L37t3bSTte\no0A6HkOSObBHkCTci9Py22+/dQkddFbANkuTzLW1tTnJS34bggk7dgDuyZjolbTHHnvkfRY7r3v3\n7q5XFiEqCuixFtj5hHyQeHS4wDMchpGQmqw/sKc6fg9L1gnLzIZ9maRkMTrmzP7gH8CG3mGHHRJh\nnL59+0ryyTnM+ayzzpLkNQM0u+uuu869n8YJJD7wDKV1fPg+JDN0XjqVrr322pk9xyzQIpDAhChP\nOukkSa1z4NmgccDZZ5+dd40omSMiOhlKyme2BACkFLmon376aSIXmRMfLx6eaIgh2EZ497p06eLs\nDqQpsUjsUCQ048GLyqkHVlxxRTfGrbbaqnXCGYXzJW/fUmLWxmK//PJLd4pir/bv31+SlzDEhJGu\nVgKuuuqqrsC7jdtiR+JPINV0v/32k+RbvIDy8nI3vxEjRuSNOctDizcZ7YpxhvnZXIM58h5eP+aY\nYyT5IonYerRg2X///V2XRwrfcT86KuJDoRURtvImm2wiyT8/K6+8stszOmpa8srShqXVYveiTYwf\nP97dG34EMW87Jq6BppaVky8lJXKpiJI5IqKDoCSbmTKt1oscSmo8ykgd4nBILLzZdAFE6lJ+dubM\nmS4Oi/1HAj0SE/aQjfVtscUWknxRgbS4t00iCIsTWCpgyCSzsHRU7gmzjTgj3no8vwcccICz6QEn\nPnYmMWDmhzcZzQG7shg2WpY323qxw9KwtioIawbzD20KXwa/Y7d/9NFHOvHEEyV5HwV7uPrqq0vy\nxRv4HYowUh+q8PTp0wtqU4vHt1RtZrQtnjM0Jp7t8vJytyewD5G8rBURGbz3JP/QdxoNrz17mIUo\nmSMiOghKspkt88vyr3/yk5842wFPLC0tkbyccjQUQ4J98sknkvJjw2eccYYk70XkNMNWw/7imtyL\nkzz0rvMa0q4Yb6StdbXuuuu6Vp4XXnihJC9xkSj8He820gybPdSEaIiHTUYM8r777pPkPZ70Z8YL\nHnqbuZ496bOKFlibjTny+fr6esd5p6Xu7rvvLsk3/7viiiskST//+c8leZ8F2ldlZaW7z5FHHilJ\nevPNNyV57eP444+X5NeRWDvsPRIUqqqqEt71rBpxxYJ74mewXGgkMvdB88N3cMwxxzg/wW677SbJ\nrysx+IceekiSZ5GhtXCNYjn+pSBK5oiIDoJ2McAApw6Mlfnz5zsuLs3FiCsibSkGh90INxtpNGLE\nCHcywtvFVoE1g7cRbzeZQ2kZWm01/ypkb2EXcQp/9tlnTrKQFod04KRFInO/7bffXpL36q6zzjoJ\nHjRaDMwu7nvmmWdK8gXzOP3Dlp+WI95W1pTdQ6QPtu3EiROd15z0SOLcXJuWruw/0gZptOWWWzq7\nkz0infW4445z95Gka665RpJnSFltL2x5xP1t1dRibGaemcbGxszGcVnAS0/MeM8993S+H2Lexx57\nrCSfBsrz8corr+SN1aJQgUEQbeaIiE6GkiRzjx498hhgnOrYNKENgx1y8sknS/KcVdhD2MFIMuyy\nzz//3NlTt956qyRvC8MMI94MDxomEh5SJFdDQ0NeOSLJn/hIzrDkTFZZpLSCe7yGrUzsGA4212d9\niVVLvsywjWOiAWAvIqnJGsN2+/TTT/PmLyV53WnsqMXXyMtnZs+497fffpvw5vM70pvxwFhjf/DY\n1tfXu2gFkhmfAXMjV5vm5HYNsF9DbzY/U8oqtSmZSykOgCTGfmcO+DhGjRrlYv8WjBvvNs/qkqBY\nyVySA4yNsMkGfHHLysrcQ4QqA37xi19I8hU6IM1D1SP1rX///rr22msleRWVh5qwDwt55ZVXSvI0\nOEsM6datmzMBUL0LVcDMIiGkfZlRqyDDvPjii5Kkp556SpKnXPJgcO2Kigr3BcL5x3xRqyF2kNgO\nFZDaaGHige0H3JZjhcPTJnEwplDtI02RvRo3bpwk6dJLL5Xkw3E4/XB+brnllu6LjrqJMw2HGCYU\n4UbSPHEostbLLbdcolpHoUT/LKR9iXluQ7NFStJqCZ/xd5y3ITAroX5ymP2QiGp2REQHwRJV57R1\ntcrKyhLtaQiv3HDDDZK82o3aibSF8FFRUeGIFkgGnCU4yVCZoXXikKG8D6mCn3zyiZNcqKTWJAhV\nGJviaYFEkDxxY9SoUZK8mUC4zKZ2oo4PHjzYOYeYBxJn6623luTDOEgz1HK0GyT5Cy+8oMcee0yS\nV+8sOcaqaCSTINUIK0FUqa2tTVSQJPEepyVzgjTywAMPSPKmxuDBg50jiDXDNNt4440l+VAkhBlo\nvtA8SUIZPHiwc6xlaR+FHGBIVTSAUoCDj5AbITn2Pg1ZRTmycNZZZ+myyy4r+J7oAIuI6GQoSTLX\n1NTkpQjaMEJdXZ07tQnhYE8hKZA2FB4gFRKCyNy5cx1pgRORyp1IJEI1kPmxw5F4hKr69euXaCbH\nmEnJmzx5sjv1mJ8lXJAMMHv2bP30pz+V5NMvoesRqsD2I+kD6Qa9b9q0aS58F5JbJG9fQ7DZe++9\n866FhGR+w4cP1/333583VqQXTqpbbrkl71TfdNNNc5IPmQSvS2rVgpAullZL0UAKMeDLwDGHzX/q\nqae6jiHMDducxARsZxxg2PLcm9979+7tbFhLkOG5mzNnjpvjxIkTc5J3VgFCoGhzxcCOnWeGwgtp\nYPxoPGgcS4IomSMiOhnalWjBScXJyEnZ2Njo6Iv85BTH/jj//PMlSbfcckvrABafZJzYO+20k/OS\n4kWltC52DxIK7zWkfjzJXHP8+PEu1GGRJpnt/EBYp5q5omlgX3IfPL6Uy2HeSOiLLrrI2YVoHEgp\n7kviwg477CDJp0ISGsL+Hzt2bKLLIcCWP/DAA/NO9YEDB+YkH96y5V2bmpoSnu577rlHki+OgMaE\n5xmJjWZxzTXXOKmGrwTfCd5/wo4UbXzttdck+T1nzTfccEO3HoAxo+3ssssubo79+/fPScl02ELA\n5icN04I1ZqxoRpIvFzR27FhJSQ95FsJklgIJJLw3SuaIiM6EkiTzUUcdlZP8qZ9Cq3PvRRLZGC2n\nEKcbtlWYCGGJ7dwHYj/UQIgnFMgjsZ2Te86cOe6+dhxpKZBz5szJSd72JoEjLApvOx9yamNn23i2\nleTl5eVO8yCxAk83nn681khgvPmsFQd1U1NTZqlfYO2t++67Lyf5OLnt49S9e3f3GnuFlLQ9r5Bo\ntmjCQQcd5DQwJC2eeog/+BgYr222zj1D4g8RgpROJm6OM2fOzEnK1MhCb31bgM5KMgX45ptvEh5t\n9oSiG+xZKSh2DzM/X/IdIyIifpRoV3sa2y+KOOhXX32VR5CXvITChqY8EFIVbx+J9xMnTnQe4V12\n2UWSlyLYxLyO7UZi+0EHHSTJE/4rKiqcxLTlY0sptUsMfNy4cW5etuwv2gTeexhBxFfp1vjvf//b\nJV3AkkNLIE6LP4FYPHOwa5vL5dwpntZ/avF7UuPMfI7xQz986qmnEhRYromfwZYeYlzEkHfddVcn\nrRkr78XuJLkECUYCBqWB+FxNTY3TBJB6UD8ZZ3Nzc5tcAfgM119/fSaPgD207YPYH2zqUaNGJeiz\neP7RHiyKoZMeeuihknzBAxAlc0REJ0O7JLPV7TmNZs+e7U7ptq6LnThmzBhJ/vSbPXu2Y3BR4Axb\nEbsOiUy8GUlH8j6e2rKysoRnOqVLZZuSGc3j66+/Tu1nnPY7mgDeTZJHFi1a5JJNiH1yqhNbhT0F\nBxo7kiIF2IwVFRWJ+bXVdCyrCD6a0jnnnOMkL9dAMvJefkf6IsEpubvGGmu4cbAu+DnwpdDSBo3N\nFoLAX1BdXZ3wc1gW38KFC9vcwzACk8a1D+/NmCncj5cejkEaSmV+lYIomSMiOhmWyGZOK5Zui8Fx\niuOhJbsoy9Y76aSTnF1NIXSkOHFZpCuSgVPXFgaoqKhwJz/SDHucuGYhbnZWMXgpP9ld8p52NA3W\nAUmEFNl0000dlxz2GERRRnwAABuoSURBVL4AYu2U7cUjbL3IobcTG5SiD6EWYecnSb169cqF62HR\n0tKSYKSRDQWH+KKLLpLkIwR4ovFlbL/99i7ji71hnHjALfvNliQOvf9ENbC70Wz4PZwjPoFiSgrZ\nZ4+xcj+eYTRE9kXymWzkD4Cl0Q/aIkrmiIhOhpLymW1XeOvNzOVyiUwgTio8nfCOaWVC3ifSduDA\ngYm8aU7ZbbfdVpLPo7WNrfEk06z95ZdfdrYX44GRlgbGCmuLTKKwWB7+AcslZizYisRVKYLH70cc\ncYSz8WGLEc+Eg0x2mJVS+ALgqP/xj390Ephx2FatFkhZ5si40WbKy8vd34g0sL9wA5Cy8A3whNOc\nvq6uzmWw4ceArQU3/5xzzpHks6TwJJOzTemoKVOmOI2E91hPcogwLzv8GWoz7JH1/JPxBkuNCASa\nUwg4DfgCyEUg5wDWXHtQSiGFEFEyR0R0ECyVrKnwFLS5zmGFDcln53Dq48mFZ/3ss886Rhf3oYA6\nHGBikUhqTk7LGAtbb2YVw29vyRnrveRvlA2iwgaSkuymefPmuVObcdLaFZuT+WFv2+ogoXc5mIek\npC2f1TjO8oGxH5uamtzcLMsN6Y0PAz8IkhqN46677nIxU7KirAcarc6WArJr3b9/f5dHzZjR4tC6\nivFmF4J9VoljkwsN0GJ69uzp8sh5btuL7t27u+9AFr6XskE2NTDNQcSX1nZ8wLmAA8yGP3hwBw4c\n6DaWBHWS9anxReojm0sZFx5g+4BL+V0OJe+0SYN9mMMDgTlzD8JolACyvZNxTJEy+cQTT7hCBgCH\nHw8+3Q5xImV1sAjDUmGyi+QPTQvb9dH+3tDQkDio+GKiKtOVAaompB7qet15551uPzEhcFbyBYQk\nhMMOp6A9bD/99FP3Gl9i1ha1uxgUUl0xb3jeKEJw8803592H+86dO9elp1LbDvOgVLT1RS4FUc2O\niOggKEnN7t69e151TivtFi1alEkWt5Un7QnMKT9r1iwnZZBMhEToP2R7AKGGoZbjnHj99dfd2Lgm\nmkCamt23b9+c5LswZqnSaUDSMBarHUB0ef755505gERAe8HBRWEBnFU47ZDMhMHGjh2bCKOldB3J\nm8Qqq6ySkzwRhT0MHXk2tZU1o1gd4SVrUjHHZ5991l0PJx+aAuE4Oliwbqw5ajghxPHjx7t95RkJ\n1GvG0WaF1TRYac2aMCYLnJiMXVIikcfWbs9CWj33LO0hhqYiIjoZ2kUaAWmnkHXAABxDhKaKKZdq\nQ2G2rGxWl8Y0R5V1gEE8mDVrVknOE+xXQiqAssA44wp1LrRhE2vvgmI6L2Tdh3F+8803qXRO6xdg\nD8vKytx6o0UBpCV7aLWrsPNEWEoqvL5NYrCkmrRQkrVZrTY3Y8aMJXKAgWKlaoi2+mEvDUTJHBHR\nybBEvabSdHxON2BtOPsZ6x3eeeedHcHd9gfmlEcS8xOSA72AOC3DYgIpPZj4mXmqF5KuWSdyVkiO\n31dbbTVX/si+N6srhS0Xy1zq6uqcpOOz/C1Y91TJnJXKWVVVlSisYKmRVvuydndlZWXibzaRwmpV\nNkUVP0I4F2xZbGbCfsWEF/9/AEUxrA8oSuaIiE6GkiRzRETEjxdRMkdEdBDEL3NERAdBSXRO6wAD\noapO3SoID+5GxpmUFSBfc801EzWebCjHOm0s8SCsYRVU3Mj7bFDfqiRuts2Bzcrfzprfaqut5iie\nFqwRTiOcSDavOHQm2uvjOCKsNW3atFQHmHXMhdcJK8fY+xX6HSyzzDIJam1w/7zf+SwdIOjaGXLN\nbcjOhtVK5WbbcRdbeQSETsJiQa13m9UWNpO392UPZ8+eXZQDrCSbua6uLif59C4K0IUpagHBX5Ln\nYLNZFCcn0fvyyy/Pe3/aA2ofciaflYAefsFsixHYV3wZQ/YQifsU46MIPQfC8ssv7xJErDeeYnew\n00hCIGmk0PyI6/JFJL6b9cCEhQ9sggIHG+OwnlAK/T/yyCOSfBnZsPWLXVf2EBYfTCk48TDzikHW\ngZWF8MvPGAvtYXV1dU7ySTnw+sP9stEJG+8vthRv2jVsckwxn7PPg41yRG92REQnw1KJM8PQmTt3\nbiJWaou02zIx9hSqrKx0UtSq5m2dYCDkyVouNghO4UwVzarkDQ0NeTHscGxZjbsLpU9aSZBVFM7O\nG/ZaQ0NDZhyfNZg/f35BBhifI4sszFKy10yRGKlzrK6uTrSYTWN2pX3Wvl5VVZXI1gPMMSy1m6Vm\n20KHaciad9bYS0ExTLE0ToIkffjhh1EyR0R0JrRLMtuTK4R1NGWd4oXyS7McPpY7ax0XlH2hgXdo\n/2Wd/KG91ZaDL7S37NyzHDtpY7fJ/lmOGMt4u+mmmyT5tjbl5eWJ+6SMPVUyF4Niecd2L8vLy12R\ne+uUtNqWvQf7hday1lpr6T//+U/e9e19i2lkEH4m6zptSeTwfVnswLQceMnvP85FfC9p47GINnNE\nRCdDu7KmbF5n2ollM0/s6/yO95UMmNdee839zZ6M2D24+a3ktlKzLCiCX4zkYn6MJa0crdU4Qp60\n5L2YeDUpDE/LnMmTJyekOKc590WzoGqJDYch0evq6hKZRIXmF84R/vuuu+6a+EwWJ9vC8rupAHPC\nCSe4MaNVsA+sEx58crrtPmWFi9qaI/PLatdTCFlaA/nllFH++OOP3Xsoj0xhRZ5R5klkIisjK5fL\ntakBFSuZ21UDjM+EPaak1gc77QuVNgliaBDrQ7XETny77baT5J0XJBwQXiEMZMNiFRUVLjRBqILw\nShDPdAtVX1+fC+9jK2+GvXStI8wmEmQlUbS0tLh+y6iPVKzE4fHBBx9Ikg488EBJvs7U+PHj8+5V\nVVWlCRMmSPK9m1dZZRVJPgRoHwRMCb6w9NEKQ2hZoRv7rKy77rqSfM2s8Itn34sAoHIq96CzBSmy\naQ80hzYcBvtFz6XUPi/kcLPJQGm1utP+Tnh10aJFbt3XW289Sb7GG4UjeP2CCy6Q5LuvUKwhfD44\n2IjrpyQFRTU7IqIzoSTJ3KNHj5yUTFpPA+EqpKvtxrDBBhtI8onuEAEuu+wy9x7qYCOxkCZUvqSO\n80YbbSTJF1eDzLBo0aJE+Ac1CDU4ZNfYbgiFnHRICa7LT6QFTiqkLuOYPHmyWxMcffRlfv311yX5\n6pyc4oSi3nvvPUm+00dTU1NCM2BeqIxz5szJO9V79+6dk3y6aCFkmRS2mCHjwum10047OS2JIoXs\nL9occ0froUDec889J8kXQMzlcglJzJzZy8bGxkwHWCEVljWya0jZKWqeIzn/8Ic/SGrtumJNQdaT\nwn5hhdjw2phSOMCk7IIeRx55pCTp5ptvjpI5IqIzYYnKBlm7MZSEnEy2cBm2k6XZYWs89thjrmAg\nXQ8efPBBSV4icwry2U8++USSdOKJJ0ryIZz333/fnYzYyjhcAi515qluywU3NzcnStgA6+CxZBWc\ndtOnT3enNKVpr7nmGkm+UwWSjrAO9i/2LfN78cUX3X2xw9944428MWeRRuwcQ6ecJcSwdjgE0Rig\n5FIc4swzz5TU2i0RO5c9vPPOO/Ouxd6xnmh7aCk33HCDJO+PkfLJO+GYSwlNSb7PMwUU2wo3Mlae\n3WeffTZRGAN7F40T5yXPWdgxRMp3+FmiD89O8N4omSMiOhOWiM6ZRtVsq2wQpyv0wVNPPVWSl8xb\nbbWVs4U5zTj98JoSzqIUL9KQUx4J99lnnzmJxXvpiVxM2aDgdfd/WyInK3zD+ygti8f9pptucgXz\nCZvg2SebCo804Szb64jC8u+++66zWylUj12XRdKnFK0lNYRhmTRpHb6Xftl0tthzzz0lee1jpZVW\ncp531sGG+5gzPcjoV0VJXhJAmpqanDTHy4/dHYwr4c3Oeq7LysoSYdIsiqm1i3nOm5qadNhhh0mS\n1l9/fUnSvvvuK6k160/ynm+SUlLKVUlq9eazBvhZbr311sz5FUKUzBERHQTtSoG0lDswf/78RKE2\n2xXy+OOPl+SL1CF1sYcvvfRSZ8PgCcaGxg6j9Ozdd98tyXcfpL1I6FlGU8D7nEJScKce6YFhwkD4\n3rD9TlbeMl5ais4hrZBU9957ryNq/P73v5fk4+W8h/GTaooEhKDAvcLEFtvLKStGaSMSfA7fxty5\ncxN+DyQj97/rrrskeTvdNho45ZRTXC9ttCnGg8fWert/9atfSZIGDhyY9/6WlhY3x5122kmS79Nd\nqF+Y1SrS6JdpZYbD1/mdz4RrRYse7G+0lREjRkjyjRvIX4YIBOU41FRtzr1FlMwREZ0M7fJm2+oa\nlkEjJeN72LWcqsQVx44dK8lLgYkTJzp7BPsDrynx5n/84x+SvH0F+wZPKK/Pnj27YEWNxb+X5Alt\nCzCZ8Gb++c9/luS9nGuvvbaz24cPH573GXwF2MSsGV5vpBjdIr/99tvQa506niw6Z1bJW/PevN+x\nD2FtoTHQ+I7Y6YgRI1xfZmxmGsdB+cTrjoaG1sVaYBfbovltzdFyBexcinneiZeHnnTJa2qPPPKI\n84HYmDfaC2th7XJbiSet+EJkgEVEdHKUVAPMwibmV1VVuVjjxRdfLMk3E4OVdcYZZ0jy3l3sMbis\nlZWV7mRCIuPlRWIh2ejbTJtY7GFs6srKykRKmrV5Q2Slr4W+AWKNsIOwkbk3Td5gPGHn0b7m9NNP\nd61jsPEZ77nnnivJe6YvvPBCSd4jClc7PNVt9KAUCSQlWVU9evRw0pMkEWx3/B30Jt55550leekL\nPzxc24MPPliS9PTTT0uSLrroIkm+XNQJJ5wgyfs/sDmxIysrKzNTbtP20L5mWwyHyTcW3MdqA8wP\nDBw4MMFBIJ7Oc5DFDbfXzuVyCS5GKdpyiCiZIyI6CJYKA4y46GeffebihUhR4secPqSRkaSNlMJ2\n3mCDDVw2Dhk2eLpheGGPElO1yeucxmHlQ05KW9anmBglbUM+//xz522FdZZSKTLvdexMbMRRo0a5\nLDBsYew7vPa33XabJG+z4Rm30qB79+4u+wukNNEryABjrZCqH3zwgeN+n3TSSZI8fx4NAk8ue8de\n04wdbUXyNiOZX3wWILmfeOIJxpv3Mw0pMdvMPUzjZme1zMnyP/B6yDzjujx78LnZw0Jlo0JUVVU5\nzY99TplvtJkjIjoTSrKZOaFs/I2YZS6XczFTTi4kMR5CGF/EGWG/IN179uzp4svkLSPdsBW5n211\nCssIe2vOnDmJOGyhEx/vMac4UiVsJUucEFgJALONa5x33nmSvIZywQUXOMmFDYx0hPGF5LA2FNoN\n95o6dao71W0yfBZsri5zhP8teTuWNdtyyy0l+dLKzGnixImSvO1MTJ15htclE4xrksyPN5vXWRs0\njnCPrU8jDbblLs8sz2pLS0tmC2CbLUcGFNl78K+7dOni9oJnDcYXktleO620ktSqHTA228I3q8Bj\nFtqlZttFhUbZ0NDgXiMpAEcQajSAMIHjgIXaZJNNdPvtt0vyAflbbrlFkk8JQ/3jS08IC5WHB7Rb\nt25uYWzN7SBkkEk4KFT1wh4ctqIFhxMPLQ/KmDFj9LOf/UySf4CPO+44Sa2EGcnX4OaatlNm2J84\nK6E9i86ZNcdwDwFf6v3331+SdPbZZ0vyDxtpioyXg6S2ttZ94XFi4kRDrcapCdkCkgW027AWO+pn\nVvWRJQ0vZqnCdk34on755ZfuGWXOPIu2bnZWEgX36tatm3N0nnLKKZJi3eyIiE6PkiQz3QKQajix\nUEPDth2cRCTWozaRGEB46YEHHpDk6XyDBw92iRSon5zMOMZIVCBAz+nI+1DpN95444Tab8kj4anX\ntWvXvPkdcMABkuRO4bBsUFYSAlKUsTFmiDDDhg1zUh2wfhAlkOKsoa0bTn2rE0880Um0rPY/oeax\neA65cB3s56qrq/OkouTLNlE3jI4fOCYJR6KGr7feem6OVouDFELZHVR49poQJsSY2tpaZ36kEH74\nmekAg3JK4Yq0572t2t28jhkxePBg92ywV5iPti53W1U8V1ppJefoLFAnLErmiIjOhJIk89Zbb52T\nvK0EoE++99577lTBecNpA9GckA4/ObmOPfZYSa3hJt5rQxBoArYkj+0IgXbQs2fPROjGpjCGHS0e\nfPDBnORplgDiC8QHKZnaadPqsN9x4qGJjBkzxjlLbCklJCGOF6SJJR6E9+Qadl6sgZXMffr0yUne\nlgfs4YQJE5xTDUoimsAll1wiydvOJBHgZCKktcMOOzg/hgUkIcJYpA6iXSGxsFOHDBniQpF2rXE2\nhh0fBg0alJP8uluUlZW5+XAPG1YE7Aevs6a9e/d2BRBJccWPgK2MRmqdtGlaQFoaaogomSMiOhlK\nCk3ZsAynDIXoFixYkLBNIUBgM+LlxpaExomd3Lt3b3diUk4HLx/1i/FuYxuTZofnHNtm/fXXd2QE\nwOlK4bgQUAwtkMhp9EGkEZ5fwgvMD682SSJdu3Z10hu7kDVCYmBPZnmcw7ROvMLMCymJX8Eii5gA\nqaW5uTlh51JehyQBvO4UUiSJhLkfd9xxzpbEZ7HffvtJ8toGnSOh5EJlxW+Az+Hqq692hBPAPpBg\nEwKND6T5Nuwa4E3GA4+Ww3PIejOmfffdVxtuuKEkH3Hg2UMyM0Y0FDQF69M4/vjj3TNkny+ow8Ui\nSuaIiA6Ckmzm0aNH5yQf7w3640pqtRM49ZA+SArA65yq1j497LDDnG2G3UEBezzheMCBbdSNzdfc\n3Jywt22XitAeefjhh3OSdNBBB0lKkjYGDBjgkh6y5oeE5JRnLuCJJ55wJy7Xx45EwpFiCKy2g+Ro\naWlxY0sp7p+YnyRNnTo1J3m7HJsunI+NhRI75T38JMZNKVre369fP8crQHvadtttJflCEhAx+AyS\nm+cipFbaYhHWYxzOkVLCJDwU83xn9T+jcAb+BST06quv7sgtJPkgVXmPLfyIdx8yS8gdYD2jNzsi\nIkJSO9vT2BMaj+QjjzyS6AvFyQTNzr7OCQVR/eCDD3a2JCcVEgCbBSkLvRPpjsQOKZzMD+lOaR5e\nD0vtZp3qMKBeeOEF58HFvkUTwfbHvgyTISQ5G+viiy929jOnOaWELb2T9c3qfdWlSxenCZA2SSoh\nNuuCBQuKYoARI37wwQcTxSe4Bzaxba/DPNBoNt98c7dmtgQPe8d4Kb5IWWEkeZjAkiUp07SPqqqq\nXDgmwH41NjYmKJWsM3YvjDbuY/tldenSxUVfYLax3/gw0CJZIyQ5a/jaa69Jyo9IZO1zlMwREZ0M\nSyUF8uabb5bUaktjK2DXcJrZU9DaynC0BwwYkGcTSl7qcXLiEcWWs83cwkZv1h6x0iYsMG7nx/WJ\nc6677rpOO0Aiw9fl5KVA/0svvSTJx08322wzSa0SAqnDNZDeJEvgiyjEgZfy2VqWE8w8m5ubC6ZA\nAmzYW2+9tWDHwhB4t7HXKWvUr18/57dAmpK+yngpJ0sUw6aBMo+0NNYUnnOb/HrKVIWah2XY8Xyx\nL1yf/cdfUlFR4YprXHHFFZJ8uioSGY45WgwaIRKc569QkUhguQJZiJI5IqKDoCTJvMIKK+SkVJ1e\nUj5TCdsIyXT11VdL8mWDOI2IK2JD7bDDDq5QHCck74F5ZtP4sgqMl5WVJSRWSokWd+rBjsIjbL2m\nIbB7iWtyMh9++OGSPHuKQnZkRlVXV+u+++7LWwtOYk5+YL3YVtqUlZUlpFShdqeL55+TvCTMalog\nJfeQskGkM9q+0ki2Y4891pUHwv783e9+J8lzBYhU2JhvWuFFa0va3svFSOYQaBR4lnkvvAb44ZSG\nQvNAezn//POdJoZ/55BDDpHk/QZc22bpFQOrgUWbOSKik6EkBhieXOK6SIOwSZqN+XJ6w2XFRoJV\nRdI+krmurk6jR4+W5G1xsnRgSpHPjH2FrYm0RMLNnDkz4V23if8h8F4iCWxTs/r6ejc/1oL5kahP\nAT+0CzzsaASSP81hacFA4jPYkzZp3Ra4T0tsR9JmFSngGkgnyx1uampKJNojuWDaYeMzTqIZZDf1\n7dvXaSR4q2kEh7cf7zleXet/oTneG2+84bQqy38vhEKSmb2zxf533313Sb6cE2sIi4vnbP78+S6S\nwvUpccV+81zzd9YUjY3xde3aNVGMIKtscluIkjkiooOgJJvZ5sICW0JF8qcMf+O0IT5HqRnKzdLy\n5LrrrnP2JZ5C2zCda1nvtT2NV1llFWfL2parXCv0ZmcVUA899DbDBvuNMcBFppoIn+VE3nvvvR3X\nHOlkJURWg3D7+1prreXimMB6oq0nNMubXah9S1YkAm0K+5HfJ02a5ErmkguOpsbzQFw5qxBiWInD\nMg2t1zm0KZdbbrlUv04wf/f/rPxltAk80JQ+QmJvu+22LrebbDPGwrwYK9oi8WdbRqi8vLxNTaNY\nm7ldXSDtwxYSKCw1DscHm4qayxeWbgioKUOHDnWJ3nQCJIEddQSHBCo7iR4gbU58iXEM8fA2Nja6\nheKwsjWP06igvIdwDGokKhnJCNAYoTcOGjTIhWuoLsqXgAOBB57723TStM3nQLB9kcIUz8Xjzpsj\nCDtb2L9x+GD+cDCRJHH99ddL8jXDhw8f7lIcWXceeh5qqKtcg+IUhZ5HKxh4DqZNm9Zm2aCs9EIp\n2ZkFsE+QiLbZZhtJrf2ZmRfCgmeEtcv6EtuDO4Rd9yCMGh1gERGdCSVJZpvYbrsFhL19w2QHyYds\n7rjjDkn+FOQaOExQX6R8sobkVVecaYSsODk5dSkSFxZLQDUL3P2MI1NFSwvboJUgFaCajhw5UpKX\nslZDga760ksvuXsToqIEja2fbMn6rBmFDidNmuRegy6L0yYofJB3qq+yyio5yTsJ01IEs0oiWQeR\nlWRoWyNHjnQaGCEatLc777xTkn8e2ENCfOwXex2ulyVcpNE5rSlYSJuxf7PS1CLN/Ckk8bM+I3lq\n8tdff52Q2jbRJYamIiI6GZaoCyQIr2GdEwBK5nvvvce18j4bXoMTk5OYUy2r00BWHWQp+7RjnHPm\nzMkkHKRdL+skpusFEs86OuzJLHlCBTYoIRiLQmGWrKJ/QQphUQ6wEISe0DoAdu/LL78sKVvqhGNm\nvXiv3UNL4klDlp2JdjR9+vRMm7mU3ltZiQ7FPA8gS0K3B1lFGbMQJXNERAfBEklmG7JIKzBnpaY9\nZa1dWlFRkdcBUEqGLex97b1CWx6pQY8oCANInUJUQBDaNG2Fj+z8uBbezzAFz5IgbGpeFo0z1Eh4\nL95hiCgkfGQVwQfFeHmtvWk/w/vChBA0s6y5gDAEJfmIRZjGyvOANsW10uiObWkeaRTYYsHYu3Tp\nkmh6sCTIanIAos0cEdHJUJJkjoiI+PEiSuaIiA6C+GWOiOggiF/miIgOgvhljojoIIhf5oiIDoL4\nZY6I6CCIX+aIiA6C+GWOiOggiF/miIgOgvhljojoIPh/7NftM8+XmzcAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 1500, D: 0.08328, G:0.5062\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPMAAADuCAYAAADsvjF6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJztnXeYVtW59u9pDFUQLIioIViiRKxY\nELBEQ1COsceDohIVDYmxm0hib9ij4tEEWzRqLFFAczBGgaDBiMYWjVFRY8OjAaQPQ5n3+2P4rbXe\nZ+/9lplB/WbWfV1cw9v2Xmvtvdf99Kcil8spIiLi/39UftUDiIiIaBnEhzkiopUgPswREa0E8WGO\niGgliA9zREQrQXyYIyJaCeLDHBHRShAf5oiIVoL4MEdEtBJUl/PlioqKVhculsvlKvh/TU1N3vxW\nr14tSaqsrHSvKyoq+F3eZ/zt0KGDJGn58uWS5L7/ne98R5I0ZcoU91543BCdO3eWJC1ZsiTvfb7f\nvn17SdKyZcvUq1cvSdKcOXPyzl9XV5eYnyStu+66OUlauXKlwr/V1dVu3HZO7dq1y5vzJptsIkn6\n7LPP8s7105/+VJJ09dVXq6amJu+3S5cuTT0mrzkGa9OjRw9J0sKFC7XDDjtIkl588UVJUqdOnSRJ\nixcvZv3cHNu1a5db817e2jH2XC6nqqoqhd+x14OxszaAMc2bN08NDQ15v7GvuS6ffPJJ3ueci78N\nDQ3uenLPdOzYMe91OL9CqCgnnLMlHmb7MHzVCG/2ysrKvEExVm70hoYGrVq1iu/y+7zj8SBy8wbn\nSZybh4IHMW3zCMFF5/2GhgZ3k3zzm9+U5DcAHjT7MFdXV+fC8XCuddZZR1LjBrFixYq8z7j5ubnX\nXXddSdKiRYvyxsdGEs6dB/HVV1+V5NcUhA+ZJHXp0kWSf6Dmz5/vPttoo43y5sj5w5u9qqoqb6GZ\nQ3g+O3f7IPbs2VOS9Omnn+aNLfx+1mbO/cFmxVoC1o41amhocOvLZwsXLpTUeC3WnL+khzmK2RER\nrQRfOjN/VciSCNKYme/wm/XXX1+S9Pnnn7v3TjvtNEnSDTfcIMnvqoh+7NAci524Y8eOjulD0VaS\nBg0aJEn661//yngkeebYeuutJUn//ve/JTWKpnY+VmJoaGgoyMzMZ8MNN5TUKCVwjFGjRkmS7rvv\n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\nYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 1750, D: 0.1538, G:0.2972\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPMAAADuCAYAAADsvjF6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJztnXeYHMWZxt/N0kqgIyuQDcJg4mGM\nzmAwYDC2MQKTTTYGjMk5GNtgkQQGTM4mZ3wEkTFgQEc44AATbTiiiLKMLKG8u3N/rH5VNd90z3TP\nzEq6nXqfR89qZ6e7q6q768vv11QoFBQREfH/H83zewARERH1QXyZIyL6CeLLHBHRTxBf5oiIfoL4\nMkdE9BPElzkiop8gvswREf0E8WWOiOgniC9zREQ/QWueL7e0tBQkqampSeHPnp6eop/lkHZsW1ub\nJKlQKKi7u1uSNGfOHElSR0eHJLnPs16jUCi4/4Pm5t79q729XZI0ffp094WOjo6CJLW2thZdn7HN\nnDnTHU/mXNrvgHNwve7ubvfdV199VZK0xhprFB3D3+0a8XtLS4s7F+flOvyNc8yePbtoAZqamhJT\n/sI1qycmTZokSVpsscXqet4QhULBzTFtfn0FnpWurq4+u0Y4v3JoynPzeJntS5v08nDeIUOGSJL+\n9a9/SfI3lZscnFtS8QvLuTo7OyX1vkzhd+yDvPTSS0uSPvnkk5JzpSFcqIEDBxbC64QbDPPm5rEG\n/D5r1ixJ0lJLLSVJ+vzzz4vmwLnCm86L/2//9m+SpGnTphXNc8CAAUXn5nf+3tzc7M5nNzw+7+np\nKXoQmpubC+GcqnmJWffZs2dnPmallVaSJL3zzjuZj5F6x8fY0l6c+fkyzwtkfZmjmh0R0U+QSzKj\nhrIjW2kaqrT2vEgOJBrS1Eqb8Dz8RJpPnTq16LuDBw+W5CWalYI9PT3uOoC/Mebu7m436EGDBhUk\nacaMGSXz4Xc7L6s9cD2+x89QmliJz+/ASuLp06dL8pIJid7T0xNKYEleE+IehWbE3PFWLbmsFC8n\n1ftKbZdKJXSUzL2Ikjkiop8g18vc1dVVJGG6u7vV3d2t1tZWtba26tRTT1WhUHC2c1NTk9rb29Xe\n3u6+yzk6OjqctJZ6pTySnmOGDBmiIUOGaNKkSZo0aZJ6enqK7HW+xzX5+5w5c9w/xtHc3OxszK6u\nLndM0vzCsUhy89t5553deTgv8+BYxmCvO2DAAA0YMECFQkGdnZ3q7OzU8OHDNXz4cHfsQgstpIUW\nWqjkWP4xp3At+RtjnD59uqZPn65Zs2Y5CZ8H//jHP1L/ZtfM/s64w/+PHDlSI0eOdN8ZOHCgBg4c\n6H5va2sr0UwqwT6H8xOs/4KABWMUERERNSOXzZwnrIFkW2655SRJ7777btF37bHWPpSKbUPJ20rY\nu1yDXdraUquvvrreeOONonPY64fe3vb29kJ4PNfnOnPmzHH/R6vAg/73v/+96HOuw++bbLKJJOm+\n++5zc1177bUlSa+99pokaejQoZKk9957r+i6dr74CBZbbLESD3joL5g75qptZub/rW99S5L07LPP\nFv3driX3buDAgc6f8dJLL0mSrrnmGknSMcccI8l78FmL4cOHS/K2/kcffSRJGjRokJtjGuaVzbz5\n5ptLkh555BEttNBCkqR99tlHkvSHP/xBkrT88stLkt5///26XbdPQlMsVFqsuLm5WSussIIk6X//\n93+LvmNfPAtUwg022MA9zLwgbATbbLONJLlr/O1vf5PkH24epmWWWUaS9PHHH6fGvnmIZsyY4Raq\ntbW1aH5hSIo54GCaPHmyJB+m4bs4wDgHDzUP5/XXX6+//vWvkqTTTz+9aH6PPPKIJGnUqFGSpBtv\nvFGS9PDDD0uSJkyYIEkaNmyYJOnTTz8tiYlzXV6Wf/zjH3VzgKWBtfzqq6/cZzgRmX8l7LbbbpKk\nm266SVKxYMC5GG70kt9sQidmX77MbKr77LOPTj31VEnSwgsvXDS2X/7yl5Kkww47TJL0ne98p+br\nRgdYRESDIVcGmE2Y4CeqZHNzsz7++GNJXkJY5wC/k0RiVcjRo0fr+OOPl+RVrosuukiSV2lx0nz3\nu98tOicSjASFL774wo0RCYoUT0p4CHb6omP4vKuryx1nTYBwDSSfNGLVre7ubh111FGSelVISbry\nyislSeutt54kr5qy63/zm98sGlc4PsZjpReaQyXYeYSwGopV+9GyNthgA0leu3ryySe1+uqrS/KS\n+YUXXiiai8XVV18tSfra174mSXrwwQclSf/93//t5pSmMfUV0rTWq6++uiQ8ZyU0yUN9GaKziJI5\nIqKfIJdkTsvBZofeYYcddMstt0jyOz6OGezfddZZR5J0zz33SJK23nprSdK5554rSdp///2dBCCE\nccIJJ0jy0u/TTz+VJK211lqSpJ/85CeSvHT6y1/+IqnXtkRChaEmSVpiiSVK5mclEFIPCb3MMss4\ne56xIEWxby+88EJJ0sEHHyxJ2nvvvSVJhxxyiCRplVVW0e677150ne22206St3NJR91iiy0kSXvs\nsYckLxG//PJLSb0OPtbVJqtwrkqw97Kzs9NJF8610047SZJuv/32ou9iK2Pj4xQqFAr64osvJHkN\nYd111y07Dtb1uuuuk+Q1m88++8z5CCzqFRKySTrMG6cW9441nTFjhtMesY05hrVYdNFFJfnnPy31\nNSkRqVpEyRwR0U9QlTfbhojCHXLHHXeUJN17772SvMS4/vrrJUknn3yyJLmQETYs0n3ixIm6/PLL\nJUmnnHKKJOn888+XJB1++OGSpH/+859Fv+MBXXHFFSVJf/rTnyT1agpvv/120VgXX3xxSd5mD6uK\nKCRB6tpKpObmZm200UaSpKeeeqpo7khiJAsS6dJLL5XUa/sxv7feekuSdMEFF0jyuzvnxEfAvTnt\ntNMkebsMST5u3Dh9+OGHRd/FRkW6zpw5M7c3GwmU1e5GQ+Ketre3O2l35513SvKRCO73zTffLEna\na6+9JEn77ruvpNJQ3k477VRSMMN3uEa9QlOsIeffb7/9JHnNkLBTuQITW1hUyWYePny408TKjCt6\nsyMiGglVFVrY4oVwR8PTzO4e1gJLvZ5OSdpqq60k+R177Nixknol53HHHSfJ23N8B3ubc2Kf833K\nKsOkD+uhRjJjd4ZJFUOGDCkqtEADCW1nroW0tN859NBDJUmXXXaZJG/3Y//++7//u15++WVJXuJj\nvyPhsP3Rbp577jlJ3jPO+Nra2twaMT8ST9BeKhVaJJWeMmauY5EmbTbccENJvdEGSh35DG/2kksu\nKUm6++67JXlph41MJMJK36QxBz6cukjm3//+95KkI488knOlfreaMtBqESVzRESDoaZ0TuKk2EEd\nHR0l5ZHYedhf/B1pO27cOEl+l50+fboWWWQRST7j6cUXX5Qkff/735ckPfPMM5K8vUUGVVLZJTv7\n9ttvL0m64447mAvXdbteW1tb0QlsdtWAAQNKYr3Y6dg9+AaIJT/66KOSvEYiefua+DISkLRJsufw\nmGKLhmmlUq8ER+OhTPSzzz6TlJwdNXfeuSVXWlopa4iUJQNsyy23dLYjcWNsefwhq622miSfK4Af\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 2000, D: 0.07425, G:0.4241\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPMAAADuCAYAAADsvjF6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJztnWeAJVWZhp/unmlGMpJZliRhBCTn\noCQZ4pAzAgqC5CBBXEABSQKSFRiSM7iAEiWKZJGcc5JBsorsLGkJM9P7o3nq1D331k19b/fQfd4/\n3X27btU5darO++Wvo6enh4SEhK8+Ogd6AAkJCa1BepkTEgYJ0suckDBIkF7mhIRBgvQyJyQMEqSX\nOSFhkCC9zAkJgwTpZU5IGCRIL3NCwiDBsEYO7ujoqBgu1tHRAUA+mqzSZ3lMnjwZgM7OzrqOr+eY\nSv8//fTTATjggAMqfqenp6cj9/2WhcM98MADAKy00kqtOmVTyM8P6pujayJcqxh//OMfARg9enTd\n4/HcrlE9EYjTTjstAB999BEAw4cPB+CLL77wHGVr6LOQ+xzonUvRc+Tn/px//vkB+Nvf/lbP1JrG\n1FNPDcAnn3xS8f/xGhaho5FwzmHDhvUATJo0yYv4OfnPISxa0YMgpptuOgA+/PDD3gF1FI+7L6Gn\nRQtY7WXed999ATjrrLOavu5Ao9bLfP/99wOw8sor548BYMYZZwTgf/7nf0rOGa9tpYex6H53d3cD\n8Pnnn1c9TnR1dWXPVfyc5TaEwjV0I/i///u/7LvxM1aLHGL09PTURT71oKOjIztHPc9oNSQxOyFh\nkKAhZi4S0ZZbbjkAnnjiCSZOnFj03Yo/82xex/WB1jJ0u8TsKQX1itmzzDILAP/+978L76/M6Bo3\nsx6xiFyEaueutoadnZ09lb63wgorAPDQQw+Vna9eKTI+Po9a351pppmAcimnGnKqQWLmhIShhIaY\n2V0v3hnzfxcZFZph03gXV9/KGT4qfm+aaaYB4OOPP655jb4yc6t0p1Zfs2hXj9ewHjZqVM+thq6u\nrpLrVtOVoT7Jra9rWMsAVU3H9hl1nI2ye6V3JkbSmRMShhj6pDNXc0mNGTMGgN12263WOUt+Hnzw\nwZxyyilA2OX8n3rH//7v/wLwjW98A4DXXnsNKLdy1rNLJp25FHnr6uyzzw7AP/7xDwB23313AC68\n8EIgsJKMPdtsswGw9dZbc8455wAw1VRTAbD//vsD8MwzzwBw1113AcHKLBMrdeVtKrV02np05niO\nXx6bXSP/t99VIoltBFNNNRXzzTcfAC+88AIQ7Anxdz799NOSc4oFFlgAgFdffbVsfLFU0hbXVCMP\ne/yixwvi5Ndcc00guKY+//xznnrqKQBGjBgBwBprrAGEG/fyyy8DsN566wHwr3/9C4DHH3+85JqV\nUI+Psh245ZZbALj77rvZdNNNgbAZaXwSuoQmTJjQ5+s242d27Vwj75UPmXBzXW211YDgb7799tt5\n6623ANhvv/0A+NWvfgXAxRdfDMCCCy4IwLzzzgv0Gt6gsmpUyy+cVyUaWcMiUd5n1RfTZ9b7MN10\n02XPq3Bsrt26664LwNVXX13yf69VjQjjTSaJ2QkJQwwNRYDVg6997WtAEJ8Us2KX1TLLLAMExlK0\nPvDAAzNGcJfWnP+f//mfQNjN/O5NN90EBKaefvrpgd6d94MPPii5bn8Zqn7yk58AIfDk1ltvBeDo\no4/OpIOf/vSnQBj3dtttB8D3v/99oFyKGDduHAA77bQT0Jq5VBJhXUNFRA2KitOOR0aWfb797W8D\nsMsuu7D99tuXnP+dd94Bgnj53//93wC88sorAMw666wl59piiy2yObbSqJpHzMixoWvLLbcE4Lzz\nzgPIROvJkydnz7X3SMjYV111FQCXXHIJENRN763RbN3d3dl9LRpXvUjMnJAwSNA2ndmdVn12s802\nA+Daa68F4Oc//zkARx11FAA77rgjAOeff37mKhBjx44FyPSwQw89tOT/J5xwAhDisNW/8sacIrRK\nZ/76178OwPvvvw/AsssuC8AjjzzidYBeCUXGFbHLzXsnvIfNoF6duRLbrb322gDccccdACy22GIA\nPPvss0CQulwXdf9ll12WP//5z0DQIY1z1kh26aWXAr3rDXDaaacBzbFSs2sY66hKSH/5y18AOPfc\ncwF49913ATj88MMB+Oyzz7I1kmGVRD3n22+/DQRpUsnUa6mvT5w4MbmmEhISStFU0EiRDvPkk0+y\nxBJLlHxW6/wvvvgiEHbue++9l+WXXx4Iu7TJGLHrSV1OBlGHu/HGGwF48MEHywJb4mCJart6PIdh\nw4YVhqsWIXavnX322fzoRz8CAnvffffdQGD32OUzxxxzAGRWftmtHsS7ei3Xzb777puxpZJCLRef\n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\nAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 2250, D: 0.05706, G:0.4568\n" + ] + }, + { + "data": { + "image/png": "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\nGKoE/w9Tjb9hsdgLTgAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 2500, D: 0.0743, G:0.4576\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 2750, D: 0.1021, G:0.3624\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 3000, D: 0.128, G:0.2866\n" + ] + }, + { + "data": { + "image/png": "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\n4wAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 3250, D: 0.1331, G:0.3467\n" + ] + }, + { + "data": { + "image/png": "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\nwf8D57RPSmAi6KUAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 3500, D: 0.1186, G:0.3989\n" + ] + }, + { + "data": { + "image/png": "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\nv1NOHHspZYOSwmWlDTfcUAsXLgz9zC3f5DaWiwP3HLUmXUXBM7OHR5Ug9VK7acBlZHZvMpLIEXZL\nrjany8Qtqeritttuk9TY/pRGa+TcojOhV6J7UoL3iiuukGTnl8Y8S7lnZIa98sorkqzryj1H0MZB\n+9333ntPkrWD0ASQqjKsLWvP88xFAAAfgklEQVRPkfy77747TyJxizKmhajcalrYIm106dLFuJMY\ni9tcrzmexRYpZrvA78mNQgznxSlgOGiybghhtasku+Ewh3POOUcXX3yxJLsBBMcb/A7zdB+Q4JoV\nU0maQswuBOYNSP+kfjr1sVknXhhqp1F+KQxhPajTnF/UhtejRw/tueeekmztOqpxVqKwhhezPTxq\nDC1SzAbsznfffXfO36lBTa1t+jPTTYOigXV1dXmdJNPaOTkfHRLnzp2b8/fx48dLki677DJJtsdU\nx44dI1nUFTk5N8UCjznmGEm5rgz3XBdeeKEkK5q7SKNMTzGsu+66Zk0ozrDTTjtJkmbMmCHJiuww\n9V133SXJdhWhpBL3IogPPvhAku1bVSm4jIyq8PHHH5uupRjjWgI8M3t4VAlajM5M7WVYNQwUxaMm\n81tvvSWpsda2JO2xxx6SpIMPPlhSY8+oYqV50nZrsGPTsfL000/PGdPnn39u6mZvt912kuy8Pvzw\nQ0lWZ8YmgHGFnkdjxoyR1Nhtsdj6lVI2yEWxY5AUgro+EgN655w5c3LmMmLECEm29BCM7faqjuor\nFkS5a8i4o66F9MCcevToYQogIgkhiVUCXmf28KgxpK4zF9vF3c/R4WCrMWPGmI6B6Lt8B/0J3djd\nxceNGyfJdrpfunSpYQbYDzan127aYD50f4SR0dU7d+6sPn36SLKWW36if6FvAjpW0h3isccekxTu\n/th3330lWaYrhjiBKO51sMJvtNFGkmyZXtxQ06dP19ixYyVZ3f2UU06RZNfwhhtukGRdVdga3GsE\nwXNAv+7f//73RcdeCPS1cp8j14rtSnfdu3c3LB02zuaCZ2YPjypBs5faRedg9zv33HMNq6FXuXm1\nWEixFGPdRC+DfWfNmmXYLKo/bqVCAZkf133jjTckNUoEWHbps+UysXsOfLWBMUvK7WUdhXLa00QF\nwtDhkmszrldffVWS9Otf/1pXX321JOmRRx6RJB177LGSpJ///OeSpIkTJ0qya8naPf/885Kk8847\n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\nMgoeiI4AAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 3750, D: 0.1621, G:0.228\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n" + ] + } + ], + "source": [ + "D = discriminator().cuda()\n", + "G = generator().cuda()\n", + "\n", + "D_optim = get_optimizer(D)\n", + "G_optim = get_optimizer(G)\n", + "\n", + "train_a_gan(D, G, D_optim, G_optim, ls_discriminator_loss, ls_generator_loss)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "上面我们讲了 最基本的 GAN 和 least squares GAN,最后我们讲一讲使用卷积网络的 GAN,叫做深度卷积生成对抗网络" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Deep Convolutional GANs\n", + "深度卷积生成对抗网络特别简单,就是将生成网络和对抗网络都改成了卷积网络的形式,下面我们来实现一下" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 卷积判别网络\n", + "卷积判别网络就是一个一般的卷积网络,结构如下\n", + "\n", + "* 32 Filters, 5x5, Stride 1, Leaky ReLU(alpha=0.01)\n", + "* Max Pool 2x2, Stride 2\n", + "* 64 Filters, 5x5, Stride 1, Leaky ReLU(alpha=0.01)\n", + "* Max Pool 2x2, Stride 2\n", + "* Fully Connected size 4 x 4 x 64, Leaky ReLU(alpha=0.01)\n", + "* Fully Connected size 1" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-04T09:47:10.573931Z", + "start_time": "2018-01-04T09:47:10.521930Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "class build_dc_classifier(nn.Module):\n", + " def __init__(self):\n", + " super(build_dc_classifier, self).__init__()\n", + " self.conv = nn.Sequential(\n", + " nn.Conv2d(1, 32, 5, 1),\n", + " nn.LeakyReLU(0.01),\n", + " nn.MaxPool2d(2, 2),\n", + " nn.Conv2d(32, 64, 5, 1),\n", + " nn.LeakyReLU(0.01),\n", + " nn.MaxPool2d(2, 2)\n", + " )\n", + " self.fc = nn.Sequential(\n", + " nn.Linear(1024, 1024),\n", + " nn.LeakyReLU(0.01),\n", + " nn.Linear(1024, 1)\n", + " )\n", + " \n", + " def forward(self, x):\n", + " x = self.conv(x)\n", + " x = x.view(x.shape[0], -1)\n", + " x = self.fc(x)\n", + " return x" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### 卷积生成网络\n", + "卷积生成网络需要将一个低维的噪声向量变成一个图片数据,结构如下\n", + "\n", + "* Fully connected of size 1024, ReLU\n", + "* BatchNorm\n", + "* Fully connected of size 7 x 7 x 128, ReLU\n", + "* BatchNorm\n", + "* Reshape into Image Tensor\n", + "* 64 conv2d^T filters of 4x4, stride 2, padding 1, ReLU\n", + "* BatchNorm\n", + "* 1 conv2d^T filter of 4x4, stride 2, padding 1, TanH" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-04T10:05:32.848318Z", + "start_time": "2018-01-04T10:05:32.785512Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "class build_dc_generator(nn.Module): \n", + " def __init__(self, noise_dim=NOISE_DIM):\n", + " super(build_dc_generator, self).__init__()\n", + " self.fc = nn.Sequential(\n", + " nn.Linear(noise_dim, 1024),\n", + " nn.ReLU(True),\n", + " nn.BatchNorm1d(1024),\n", + " nn.Linear(1024, 7 * 7 * 128),\n", + " nn.ReLU(True),\n", + " nn.BatchNorm1d(7 * 7 * 128)\n", + " )\n", + " \n", + " self.conv = nn.Sequential(\n", + " nn.ConvTranspose2d(128, 64, 4, 2, padding=1),\n", + " nn.ReLU(True),\n", + " nn.BatchNorm2d(64),\n", + " nn.ConvTranspose2d(64, 1, 4, 2, padding=1),\n", + " nn.Tanh()\n", + " )\n", + " \n", + " def forward(self, x):\n", + " x = self.fc(x)\n", + " x = x.view(x.shape[0], 128, 7, 7) # reshape 通道是 128,大小是 7x7\n", + " x = self.conv(x)\n", + " return x" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-04T10:12:43.237237Z", + "start_time": "2018-01-04T10:12:43.110774Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "def train_dc_gan(D_net, G_net, D_optimizer, G_optimizer, discriminator_loss, generator_loss, show_every=250, \n", + " noise_size=96, num_epochs=10):\n", + " iter_count = 0\n", + " for epoch in range(num_epochs):\n", + " for x, _ in train_data:\n", + " bs = x.shape[0]\n", + " # 判别网络\n", + " real_data = Variable(x).cuda() # 真实数据\n", + " logits_real = D_net(real_data) # 判别网络得分\n", + " \n", + " sample_noise = (torch.rand(bs, noise_size) - 0.5) / 0.5 # -1 ~ 1 的均匀分布\n", + " g_fake_seed = Variable(sample_noise).cuda()\n", + " fake_images = G_net(g_fake_seed) # 生成的假的数据\n", + " logits_fake = D_net(fake_images) # 判别网络得分\n", + "\n", + " d_total_error = discriminator_loss(logits_real, logits_fake) # 判别器的 loss\n", + " D_optimizer.zero_grad()\n", + " d_total_error.backward()\n", + " D_optimizer.step() # 优化判别网络\n", + " \n", + " # 生成网络\n", + " g_fake_seed = Variable(sample_noise).cuda()\n", + " fake_images = G_net(g_fake_seed) # 生成的假的数据\n", + "\n", + " gen_logits_fake = D_net(fake_images)\n", + " g_error = generator_loss(gen_logits_fake) # 生成网络的 loss\n", + " G_optimizer.zero_grad()\n", + " g_error.backward()\n", + " G_optimizer.step() # 优化生成网络\n", + "\n", + " if (iter_count % show_every == 0):\n", + " print('Iter: {}, D: {:.4}, G:{:.4}'.format(iter_count, d_total_error.data[0], g_error.data[0]))\n", + " imgs_numpy = deprocess_img(fake_images.data.cpu().numpy())\n", + " show_images(imgs_numpy[0:16])\n", + " plt.show()\n", + " print()\n", + " iter_count += 1" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-04T10:13:58.243586Z", + "start_time": "2018-01-04T10:12:43.472792Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Iter: 0, D: 1.387, G:0.6381\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPMAAADuCAYAAADsvjF6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzs3Xm4X/PVP/wlCSKEmBMlIaaKxBAk\nZrehaM1FqanGVlXFGNGipkbFkAQ13MYWTd3m0v6ooShSxBTzWAQZSQhJBDm/P/K81t5nn5M6X9dz\nXc/9HHv9k5xzvt+9P9Ne7/d6r/X57Pmampqittpq+/+/dfj/ugG11Vbb/ztWP8y11dZOrH6Ya6ut\nnVj9MNdWWzux+mGurbZ2YvXDXFtt7cTqh7m22tqJ1Q9zbbW1E6sf5tpqayfWqZEPn3POOU0REQsu\nuGBERLz55ptzL9Jp7mXWXnvt+PjjjyMiYty4cRER8emnn0ZExKKLLhoREcsss0xEREybNq3Z3z/7\n7LOIiOjYsWPsu+++ERHxxz/+MSIi+vTpExERPXr0iIiI119/PSIiunXrFhERqthmz54dERFffPFF\nfm6ttdaKiIgOHeb6rbfffrtZe0477bT59O+0005rKrdxypQpERHRtWvXZtePiJh//vkjIuK9995r\n1q9Zs2ZFRMRHH30UERFz5syJiIj+/fvn/bXX7+65556IiPj8888jIqJfv34RETF27Nhm/dx0000j\nImLy5MnZp/fffz8iIhZaaKGIiJgwYUJERMw339xujRgxIvsXEXHkkUc2le/duXPnZmP25ptvxowZ\nMyIicuz+z//5PxERseaaazbrU69evSIiYtVVV42IYl7uu+++2G233SIi4q233oqIiE8++SQiImbO\nnBkRxbxbS0sssUREFOvAGEyZMiXb071794iIePLJJyMiYumll46IiDPOOCP7eN555zWVx0H/3Gfx\nxReP1157LSIi2/j4449HRLEmjd306dMjIuK73/1uRBTz361bt/jOd77T7LvW5mKLLRYREf/93/8d\nERF77LFHRBRz2bt374iIWH755fOexmT8+PERETFw4MCIiHjppZciIuKUU05pNofzsoYeZjddZZVV\nslPlBs6ePTsefPDBiIhYbrnlIqJYoBbGwgsvHBHFov/DH/4QERG/+93vIiLiwQcfjL/+9a8REbHk\nkktGRMRmm20WERF33313REQsssgiERGx1FJLRUTEAgss0Kx9Brp37965yD/88MOIKAZ97bXXnmc/\nV1xxxYiImDhxYrPf33777dkW91x//fUjonASnIbFZMHfdtttERGx1VZbZb/uuOOObGf5Wh5Q4+xB\nsyC6dOkSERFPPfVUPkiLL754RBSO1bhXbZdddomIiN///vcREXHddddFRMShhx4aERErrbRSPuj/\n/Oc/m13bg+lBfPfdd5td47/+678iIuKAAw7IRf7oo49GRPHg7b777hERcfzxx0dExCOPPBIRxcLt\n2LFjRETccMMNETF3TfXs2TMiCgc8aNCgiCjWQ9k4Gg+VNWHMZsyYESuvvHJERNxyyy0RUYDF3//+\n94goxn2NNdaIiIgxY8Y0699rr72WDsWcGZOXX365WX/Nh3Vx8803N7vnCiuskJ91DWPG2bTVappd\nW23txBpCZt4FRbjooosiImLHHXeMiLledZNNNomIwpsdeOCBERFx7rnnRkRB77bYYouIiDjttNMi\nImKdddaJiIhjjjkmfvSjH0VEgbAQDD3lMXlStAiVQnkXXXTR+NnPfhYREaecckpEFCgzevToiIjY\ndttts3++d/nll0dE4XXR2nXXXTfWXXfdiIh45513IqJAXEgArbbeeuuIKNBDmydOnBgbbrhhtq/c\nj6effjoiChaBzaCv+se7H3nkkbHaaqtFRMSoUaMiomA8GFDVtBsbgIAofFNTU6K29v3kJz+JiAJ1\nfvCDH0REgSDmCeN47rnn4nvf+15EFDT3qaeeiogCVTEKSCyk+eCDDyKimNOFF144r//KK69ERGQo\nB/XKhokJg6oMZfbs2bmOMA3Xx9ZWWGGFiCjmcsstt4yIgn1NmjQp1ltvvYiIGDp0aEQUjANVHzBg\nQLM2Q1mIrJ/LLrtsi3VuLp544omIKJjp11mNzLXV1k6sIWSGXLyKuOfqq6+OiIjvf//7Ge9CKp8l\nXoiRvvzyy4iIRJbnnnsuIuYidlXUIaYxsY7YhzADle6///6ImIsUvJzfibf1pWzEF97zmWeeiYgC\nKVdfffWMp7WfsCN+50Ufe+yxiCjEM9e47rrrYuONN46IAhW32mqrZtcQOzFITojS9iuuuCIRlnc3\n7mWxrmzQ7Nlnn80+RRSIss022ySr0kfsQ7vvvffeiCiQze/F9M8880y8+OKLEREpZvqO+dBHLGyf\nffaJiIINYFRjxoyJf//73xFR6BQ+g121Zssuu2xEFCheRnMsAar+6U9/ioiIqVOnRkSxrg4//PCI\nKNgljWjllVfO8cJKiXTf//73I6JgBH/7298iomB5F154YbNxuOeee2K77bZrNhbWvX/bajUy11Zb\nO7GGkJknFjvwjCeccEJEzFUOeWmen1p94oknRkTEG2+8EREFQlIIjzvuuIiI+M1vfpNe/Prrr4+I\niF//+tcRUaTCfv7zn0dE4e2/+uqriCgUZEj2/PPPJ8ryctX0Q9nErFBjr732ataHK664Ir0oJiGu\nvfXWWyMiEpGkM3jkhx56KCIiBg8enIr/NttsExEFA4AIGAJl1rW0C8s5+uij46677oqIIr4aPnx4\nRETceOONLfpXHiOoo/2vvvpqRMxF/8033zwi5qaYIprH+xFFjA/tIJax3XLLLWPSpEkRUbC2K664\nIiIKxnLSSSdFRBFrPvDAAxFRIBbU7NevX+y///4REXH66adHRKEdyEyUzbxssMEGERE5XzfddFP2\nV/+kFWki0khYFK3C5431JptskutX360dP+sPjYW6v/3220dEkbrs3r17siWMFAPBNI3R11lDD7OG\noRAeGgt17Nix2XEPi8AfhXENg37++edHRPHgLL744kkRL7jggogoFqj0BWqpHWiqBYm+9unTJ2n/\nIYccEhEF7SWQlA1FRjPRL45pzTXXbEH5OSdOSepHG4gpv/zlLyNirlClrx4O6asrr7wyIorF4yE+\n88wzm13bQvjss89yXNFKOWsCU9UsFHOnnUTNO+64Ix9ADx4Ri1lkKLTvWvy77rprXHvttRERmVbS\nV8KYUAll5pA5X8Cx+uqrZ5/kouWJOaKyCRusDX0wD59//nlcdtllEREp1nKaHA5HwJlps58HDBgQ\nf/7znyOiSGO5n1DImMmXCzc5agLwpEmT8hrGj8OV3m2r1TS7ttraiTWEzLwKwYnszpNvuOGG6VGl\nRiDZCy+80Oxa0hxSQ3feeWdEzE1hSB9BJCkxhQ0EETQLsvkcirPQQgvFzjvvHBEFakMR6HvQQQdl\nmwg+kP4vf/lLRBSe+ogjjsi0zQ477BARhcdnzz//fEQUiIPCXXPNNRERsd9++2WljzYQfzAPrAGd\nRN2OOeaYiCiEkldeeSXngjdHdf1cNddGy7GcX/ziFxERcdhhhyVa+4zxffjhhyMi4qyzzoqISCoN\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 250, D: 0.7821, G:1.807\n" + ] + }, + { + "data": { + "image/png": "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\n/D8myuqLI2etnwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 500, D: 1.058, G:0.8468\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAPMAAADuCAYAAADsvjF6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJztvWeAHcWV/v0bzUhCAkkmWcJYCAwi\nmZyDMcFksE0yLMGYYMCYYMCwZmHXeMELa7IXTM5gjAERRbRZYBHgJScjQCIYDCYHAUojad4P83+6\n6p5b1V19Z/D6varny525t7u6qrq7TnrOqY6enh4yMjL+/48B/9cdyMjI6B/klzkjo02QX+aMjDZB\nfpkzMtoE+WXOyGgT5Jc5I6NNkF/mjIw2QX6ZMzLaBPllzshoE3TVOXjYsGE9AJ9//jkAHR0dDZ+d\nnZ3FsXPmzGn4FAYM6F0/xDwrY6DZ33Surqf/7TV8qE+2j6NHjwZg4sSJHTp2xIgRPQBTp04NttXR\n0VHaX78vul7oePXbbzf0OXv27GAb/jx0dfXeQn0OHDgQgGHDhgHw6quvdvjnDh06tAdg5syZDW3q\nGrp2qH8amz227Fz9Zsdsf7fX8j/tPdQYR4wYAcDrr79eXHj48OGl93DAgAFNz4vtQ53x+e2GxmH/\nD11b41Mb+n/eeecF4J133olf2EOtl3nGjBlFB/xP/6XSd7EbH3tABX9S7GTaz6q2/GMsXnvttabv\n9IDHFge/b7HFKGWRivXJPgCxB93/vru7u6Hv6mPsGrNmzQr2s2zxiY0lNvbQdymLXOwadZ4hPaP2\nHvovU8o98n8PHW/vVV/uqe2r/p8yZUpp/yyymp2R0SaoJZlTVMyYepG6Eg8YMKBJZZw2bRrQvPql\ntBk7RhKqTnu+lIidE2vDn5cUaVjVD9uu1YSmT5/ecpt1zylTP1u9jn9cqmYAYTW2P/rgo8ycSIXf\nhr13rSJL5oyMNkEtyWztHsH/3zqarM1kYdsaPHgw888/P+CcGNZWV9uyF21bKatxqD8xO6sMsWuW\nOU9iDq0qR0yoXzGbLGbDVY2xjnSoMz+p16szbyl9raM1pGLAgAFRjciiSnvx2+pzv/qllYyMjP9z\n1JLMQorrPrbiWtjvZ82axUcffQQ0h7es1LchKtnBVmKnwoZFhFakle3boEGDimOsPWuvV2X32bbr\nIDa2FBu1L9eJ9bnKD1L2TIUQC1e2EgqNYc6cOcV1pEUOGTIEgA8++ABwz6CV3Cme8arvY2jpZY4h\n1MFUh5F/E2ycTTd8kUUWAWChhRZq+P2pp54C4K233mrqk325UmKiZag6RuOYb775AFh11VUBePvt\ntwGYPHlypcpfNXf6HDRoUPHQWFXdj/mH2iiLzVc9RHVedvXDxsN1fTk3Yy/x0KFDm8ys1H6moq4j\nsrOzk8MOOwyAk08+ueG3999/H4Cbb74ZgKOOOgpwYabQPU0xp1KQ1eyMjDZBv0jmkCpU11nh/y72\n0tZbbw3AeuutB8Cmm24KwJe//GXAET8222yz2n0uU1FbkdB2FZXWcMIJJwCw3377Aa2FxARJNal0\nX/rSl5pMkioiTYwsEkKMtFOFzs7O4lyZF7qnY8eOBWCZZZYBYMKECYDTqjRv0r6mT5/OX/7yl+D1\nQ9pFSl+ttjZ06NDiWv65di51/IEHHlhIZDt/CyywAAB77LEH4DSzH/zgBwC8+OKLgHsOUliFqciS\nOSOjTVBLMsc4xP4KXsZBLYMk5brrrstVV10FOP50DEsvvTTgJLRWddlh/nVlu6lfIcmcEj4rszX9\nY7fddlsAVlhhBQBef/310vPKYJ0t3/jGNwDYcsst+fWvf93QvpUuFlVEiFYcYZYz39nZWUg10Uwl\niTQv//RP/wQ434LasDb1aaedVkjBmKQMoUxz0jWGDx8OuHukuZMWIX+EtIYf/vCHABxxxBFN8/X4\n448D8PTTTwNOW1xttdUAePbZZwG49NJLizYAPvvss1rklDJkyZyR0SZoic5Z5WWtA0nMnXfeGYDL\nLrusIYyTAq1gn376KeCyaaZOndrkvU0JTbRCt9QxgwcPBpzk0Uody+IpgyTIoosuCsCZZ54JwEYb\nbVQcc+eddwK9KzzA3/72t+Q+h/pf9Z0P3TvZnH6I0IacNC+yGf/3f/8XgK985SsArL766gDMM888\ngJPCK664YvT6rXqzRRPWczZp0qSG36URfu973wPgRz/6EeDGCU7T2H///QEKbVLP2ZprrgnAgw8+\nCLi52WeffQDnO9huu+34+OOPG45pld6ZJXNGRpugX+PMvmeualXR6vjb3/4WcKtgCLK7dtxxR4Bi\nJbv++usB593WynbGGWcAcMghh0RjlP1BHghBffj6178OuJW7Fcije8899wDwta99reH37u7uQhJL\nktmc2LqoM3bdwy222AJwhInHHnusSbvRPbz99tsBuPbaaxv6udtuuwEuLivJd/zxxxe2ax0NKRaz\n7ejoKObqvffeA5pJRuIEKDZ84IEHNl1Dz60kso1SyEZW29JMhDFjxgC92kGMAyHNLBVZMmdktAn6\nNc4cShG0kJ0yfvx4IBwj1sqpVfrqq68G4J133mk4btSoUQCMHDkSgCeeeAKA7bffHoAbb7yRu+66\nq+ibj5DkSk10KMNFF10EOKmlcbYCeXqXXHLJYL8eeugh3nzzTcAlowi6vkWraZchrLHGGgBceOGF\nQK+/A+DJJ59s8lXIZ2CZapJYe+65J+AiEo8++igAzz//fGUEwUfM3vTvoaVaWuj507OqPqrNDz/8\nsPBKSyvce++9AfeMLrfccsG2JcHffffd4lo2Jm9ZfanIkjkjo03Qp+IEIZ5vbMWXJFxnnXWARo+s\njxdffLHwYKYmTMhWk2TeZJNNANhll1144IEHgMbYM4TtkVQ+eQg6V7bQWWedBcRTEVPwu9/9Lvi9\n7M8JEyYUfbMlZiThqtAXCX3OOecAzsur/vqxU83zYostBsApp5wCOG+v+ml5+GJS9Xff65zjR0XA\nMe8GDx5cjF1MtljKr+6VxqX79Ic//KHhd2iucZbjzBkZcym+sKwpQSuW4mryDMrGE+vmgAMOAOC6\n664L8pdD0MplV3Gtfvfee2/ULkqJZdfJrJI3fu211wbg4osvrmw/BsVcZZMKmisx37q7u4v4skWq\nndmKDa04rDz2upZi6v79W3/99QEXeVhwwQUb2rI86Oeffx6An/zkJ5X9aiXzrc44pT3aOPq8887L\n8ssvX9onPfeSspLuN910EwCnn3460KjFWPZe9mZnZMyl6JNkLsuq0YqkTKfLL78ccPxirTqS0OK/\nhiSKz9sG5zFUvHmppZZqaOtPf/oT0MuXlU1ik+P7K1NFkCdXuOWWW5LPVZ/0+cgjjzT8rr4q7uzX\nLbeeULWhualCK4UXNL+23/Ls/vWvfy3OEbNPfGdB0vuCCy4A4NxzzwVcPrAkWSirqEybSM0FL4Oe\nTeUsh2pil3H8wT3HimXreVAWne5PyN+kz1QNteh3nYPrkPT1MutmShW2ISG5/aV+rLrqqrzxxhuA\nc/dL5ZJ6qYXh6KOPBuCZZ54B4Be/+AUAO+ywA9CrwlgHlE0VTBlviiNCD5/Go0IKejh1vVGjRhXO\nOKnIal+Ef/uAfPjhh4B7if3+xW58K1VIqmBfXotXX3216Nd5550HuIX2pZdeAlwYUU7KF154AYib\nBX7yTqw/PmLVYvzfY8+x2tNzpkSMUJ803zFnlUJP3/zmNwFHU9XzYNvrD2Q1OyOjTdBSCmSZhLZl\ngESNq1p9vvSlLwHwyiuvNF3PYq+99gKcxJbjQGmAN9xwA9C7CtZJL2ulLI00DZkPGveTTz4JOImp\nz5kzZ7LNNtsALjFf15F2YhELUfmom3IqhMZoUxrVtu5RbF58rUsOzc033xxwSTAiuchUqro/KZVI\ny863x6bQeFOec6nisetIa7Spr2XFI/paBilL5oyMNkG/hKZCq4ycNaJWyuCXm18B+FaKmEkCKGBv\nSe2yz0KkExsG6CusJmJhV/CXXnqpKPUjp5XmSCEfrd5KYFCiRZ3+xBArLOHD2sayC3XvdC9l/5Zd\nZ6211gLgkksuASjG3koIyX5XZjOXFZqISWCNUySkVvDwww8DFDRiW2G2vx2vPrJkzshoE/TJZg55\ne+XNvfLKKwGXWK9whaTQV7/6VcCtYGVlfPQpKafrKpyhYnm6huyzslUw5M1OqV8ca1OhNSXby7Mr\nqSptYYUVVuDss88GHKHCJkUo9CObugz9mTih9jQ31r6Tx36nnXYCXDlZm5oJzkewyiqrAC5ZROV1\nUlEn/OR/lxKJsL9J4xONM6ZtzZgxg7vvvhuAjTfeGHBa4MSJE4HmZzDWD99bn0vtZmRkAF9AcQLZ\nypI28mZ///vfB1zZmMmTJwMuIeHggw8GeldDeTxvvPFGwMXqJPUUiD/ttNMAF9NT3LZOypyP2N7G\nZVJP11IiQSx+rXTG++67ryjyZldeSbNdd90VaN4Q3aIV72fVOf7+xVYCiiYru1f3MiSZdawSTxT7\nl72tc/uz7ynnhgoW2nTMU089NXg9HXfNNddw//33A7DSSis1nCsNTM9ByrNYZ6OGMmTJnJHRJuhX\nb7Yff1PM9M9//jMAzz33HOCkn7zZsqmFOXPmFLTA3XffvaH9++67D3Arp1Z32Sdl9LcqZpB/ndi5\noXZSGWVifV177bVFgoJYQYKklo61Bd5sml1Z31uVYmWln9QPaV2KIVvMmjWL4447DnBMrw033BBw\nBQdVRM9Krjp02zKWm014EPxiAHaONthgA8BtvhBrc/311y9sZXn0pS2OGzcOaN65NNZW2TG5oF9G\nxlyKPhXBt98PGDCgWLWXWGIJwHmvt9tuO4CiaLvsQpUN8ldQ/S0+tyTvrbfeCrhVXVzlMqnYChMo\nBa3GDZ9//vmCnyuPvqC4sxL1tdoLKdI3xXvaKtTmFVdcATRLPXl0hw8fXtj7//M//wO44vfSnhSz\n1jkpRftStI1YHN2X+LqG+qBPjauK1y6+uQ8VxvD56WUI3adWbWUhS+aMjDZBv6RA+owhxSKVeSIG\nkD4loRXLKysJK4krO0sSzSa0V/XP/7svpWbKMm6qoOs//vjj0YL4ShNUGdetttoKcJ7hkGYUszlb\n7Z//d4xxpeIJFrKTfXadvLu33XYb4MoFSeuyHO2+enQt1Gd5m7u6uorvZPMfeeSRgHsm7X7gZX3Q\nM6h8gdTti4SyrLC6yJI5I6NN0Ceb2WbX+N/JVhLLSV5uZd7EJEh3d3dhP1133XUA/PKXvwRcRlVq\nJtSAAQNq2cgpDDChroTW8fPOO2/DNi7QzN9W0UPxfPfdd1/Ascz8wvf2XkhS1F3tQ8fHJPQdd9wB\nuGiD8q0fe+yxoi/Wyy9prRK0Tz31FOA8+GVx2VaktNXe/PK10grEX1CcXMdoC1mVTVaeubZp9YsT\niF+g2Htqv1Kkfo4zZ2TMpeioI2EGDx7cA81xT19Cy4tp7Q7l+x5//PGAY4RpxT788MOB3o3QZFNq\npbTx49jqVpYRZL3P8rpPnz69OGjIkCE9QFOpoRBrKIaY7Sd77Ljjjis2IlMfNI+xlVgxS+U1azvQ\nTz/9tClry857d3d3Q6NdXV09fr9C2pUdg1/IDlx2l7beURFDMfdOPvnkorifLUKo6IZKIGuu5QWW\npPa921WVRvwxDhw4sOEZDT0Tsp/FcZCEVmTlpz/9KeA0IHEixJlffPHFiywwlRZKLalcxr8OlScC\nmDlzZpKIrvUyDxo0qAdcx6UeivzQ09NTvIixwWnitJO8dkNQ3Su/PylJ4qH/dbzvXLMvs8JA06ZN\na3oQbN9TAvz2d/sQKVR36KGHFhRAkUM0f6oXLuqnXnY5wPQSy/yYOXNmUy0qq2bPmjWrYZLsPQw9\n7LGXWQ+1QmpaoFRRU/M9a9as4tlQ+DBGBtFY9dLr+anzXPpjlMCJmRt++NSGQCU07P5dakM7qHzl\nK18pTL5PPvkk2N9U0yDkeLT/2wU5hqxmZ2S0CVpSs7WCaeWQ2jJ79uzoPj46Vqu5JKOcJyEqZmhV\nDf1unVyhggF2nF510A7vuwYVrQ5iK7GkgMyMIUOGNCVQKBnemi2iF6rAodRYSQMfVvLpf6uiSTLb\ne5jibFGblvBh6z13dnYW2obGpGOtGWb7XYc0orb9eyhTSdeztE5f84g9o5qbWGhu0KBBxTE2Tbcu\nyuY9ZEaUIUvmjIw2Qa3QlJWMWrmqUvXArUBaxUXRrBNK6UuIwvYjtFtAbHw2qSLUnv3fSgSlZ06Z\nMqVpL2Wt8rbMkRJLdF1Leezo6AjavBDfsSO2f7Ov5VQl+McomH4f5LTTd7FCdlUSOTRGwe55bPvg\nf/pJKprvMr9BaFy6D9OnT68MY1YVBwyNKearSEWWzBkZbYJaklnePEur9Fcu+50koNIatWLLy2kL\nu/sSw0ow/WalimdbNHzvr+paVS253oeKnttif76NFVthrQddtrLdc3fWrFlNx/g+Bx3jtynYskk+\nNVG/6XqxYnsqHmHL2vifMSlqC75bqmTIY23vYawkcIyINHDgwOj17L5V4O6h9Yr7ktnaxhaWxON5\nlYsxpHqvY9LVp0Db0KT1TaQiS+aMjDZBLW92RkbGPy6yZM7IaBPklzkjo01QywE2fPjwHnA0RAs/\nm0RIzVP1v7fkCTkkYvWcy0IpviMFHHVSucOvvfZacfCwYcN6oJkEEQoFhcYOzZzgshBFalWQlGyu\nmFPt/fffbzh51KhRPf/v+8p+xVAVZuns7IwSeESekSNUn3IuhUJmuv92pw05ZCdOnFiMccyYMT3g\nMsxS+l9VwSX2rEL5zhmhPofakNNSn7Zaz5/+9KekWGytlzn2Egk+u8Z2umoCyybIT1/z+xFD6GFU\nm3YjNx+WnRR6mVJf1jrx1FaTN/z5til/MU+t4t1CSpuxY2P992PVgvplt7i1sP3u6OhoYnOp7dAY\nVezAMtxCqBpPX/xJMZZZCJZNJmHib6KYgqxmZ2S0CWpJ5qoidmWqWp1VLiaJYvHPGHMn1KbakHoX\naqesX6mreEw1C2WFpaKONhNDSgw5NDd1MGDAgGiMNjVVUCjT9kKSObaBQWiu6z6jocyy/ogGqQ07\n7yGWYhmyZM7IaBPUevXrOEZSOaoh6Fht2aoicL///e+B8Fat/nm+M6rKmeGjLI+5qq+pjKBW2qqD\nquvFHJQpmkMVd1nOq+WXX7445+WXXwbi9yzW/xSJ2mqmUl3NriyzLDZHsb7FmHCh71JyHhrarnV0\nRkbGPyy+sM3W60oXrWhrr702iyyyCACHHHII4Ow5lW199NFHk9tsRTKW5diWhSlCbdXxFle1VWaX\nV3nTBVs4z0q5svmK8ahVTkjF7U4//fTiOq+//jrgcrJVaF7b7+o4u/VOzLb3UUcyp4QXhSoNKeQ7\nsdCcHHXUUQBFqahf/epXgNsMomwMtf0LdV46W3ImhFQngh4ExX1VAXHnnXcu6kYLqpaoc5ScEas/\n7RPyYzFqryRPcWdt/ahWxifEVLMQST8VZSporDhBrAZYLP3Pb6NqcdEDe/rppwPw3e9+F4CFF144\nWd3XXmTnn38+ABdccIH6Hb2uTZ7wywbZ8YXaaMX0q4KeMwkg7VAamweN//bbb+eAAw4AXLki9UfP\naGoNsKxmZ2S0CVpygFWt2GXH2FXxhz/8IeDqKZ9xxhm88MILpe2LKaN0PhW8E8QyWmONNQrVXHs4\nx8oa+d9VhZnKYMcnJpbKJU2ZMqWlonWhtkO/VSFFxaxqSxLxe9/7HgC77LIL4CR1ynxJc5CzbIst\ntgDg0ksvBdIdZhZ1nLStSuTOzs6msJGeOe2hlvrMbLbZZlxzzTWAq/SpHVPLdnsJIUvmjIw2QUs7\nWvQHZCsfeuihAPzhD38AXP3kELSSymWv5G05zCSx5WRYaKGFOOaYYwBnX9tyNmUIObtSV3NJHpXV\nFRf8/vvvL20/pT8pGlBVv2xbZeEXe/0tt9wScE4c3UtbpM/vn+6ZLRuledE8lRFW6uzd3J+wjr6d\ndtqp2J955ZVXBty45M+RpvHf//3fQLNWJZt+yJAhfOc73wFgySWXBNxzXPYuBPtZ6+iMjIx/WLRE\n54yhjuRSeReVfpGdnGIr6Roi1S+++OKA25NKOyzMmDGjWE2tBzRU8C6FploFreJasU855RTAFa7X\nHlz+sULdUERZH2N9rsrysX/70LxeffXVQOPmB+Ck0sCBA4uxSWKdeeaZAJx99tkN/Zg4cSLgMqDk\nwQ3NRaskkVSEsr/A7XyxxhprAL3apDQLFdAXOeaggw4C4MUXXwSq7+nUqVMLm9lqTaGChWXIkjkj\no03QL6SRVrDRRhsBbhXSzoJ1Vl/ZVyIrSBrK09jZ2VnsqKid7VV0vyzRohUSvfW0K84oj/vtt98O\n9GoelhjRH0ilj6ZEIiyk3SgGrP81h7Zs8sCBA4skiHvvvRdwe06rgL/2q1KhR0E2tC2qmDKGEFI8\n/1YS77jjjoB7nhSJuPPOO4HeCIz6p3MVI9bzpe+166mOLxuXffZjaawxZMmckdEm6FfJXGfF1Cqu\nnfXE8qoD2WzaRzdkB9typSk0QSHF26xjZOuNHz8ecN7Zs846C4D33nuv6KMkWquU1xBzqS6byUpy\n/3w7JjG8vv71rwON27SAk1ySLAMHDizsZ0ksaSjCueee23DO5ZdfDrjiBWV9ThlXGWJ0VGmLsntF\nG1bfFP/1Jaj14GsjPO1qKo1Qz8UXiSyZMzLaBP0qmVPYQ8LYsWMBl94oG2rSpEmVbSg1UnsAx7Zi\ngV6eMLid7VthUYUkoLWzZBNusskmgLMnb7311objVlpppYKPbDcAiMFKEPVn+vTppSWOqsbi/+8n\nWsjnoHuz5557NvTD9svWbOvu7i7G+OCDDxZ9Bdh0002B3m1RASZPngw49lPZvU9JZ61KSvG/l0Zx\n2WWXAS4/QFvn3nXXXUBzOSl/rDalcf311wfgmWeeAdKSgvqLv5Elc0ZGm6BPZYNaWVF0zv777w+4\nDbxtjA2at0MVU+a8885rOCeGRx99lL322gso3wbH9i32vx9H1/k//vGPgV5WkA+xdyShFD9//vnn\ni78Va1999dUBWHbZZQHHI9d8azNzjcFqGbaPZajSPnp6eorrKgMoFu+0Xn+f3SSm2yOPPAI0s7f0\n/QknnADEM+DqInYPQymoBx54IADf+ta3ABcbfuCBB4DmKrS+ra2/5ZPRHInFpU3/dC9bGUPd9ytL\n5oyMNkFL3OzYihw6xkJsGjFndJykzaBBgwrP54033gjAiiuuWPxmr+dDEmWPPfYAYNy4cYW9Y88p\n29w9Fmf2E9ulLcjzafHNb34TaF7dBw4cyH777QfAySefDMQLt2k8ysQZN24cEN4Gty7P28I/XhrR\nhhtuWHqO9Rv4sXbdKzG7dE+lkUmiWRZZfyMk5dRfMdokPaVNWM6A3brW7+t6660HuFzubbbZBnD+\nnFbGZXPSU9GSA6xOips6pgf2Zz/7WcNxCkmddNJJQC+JXy+gqJ6paocS3K+99lqgfhGFqvpN/sss\nB9fBBx8MuPDYP//zPwPw8ccfA86M0EP7xz/+sUj7sw+JXiJBcyhSRqx+l9/32P9V8Bcy9bWKWhsL\nlU2fPp0NNtgAcGaIxqbnQGNZ4v8Veo+lvfpISU2139niFD09PcU9kXPunnvuAZxj9cQTTwRcAo8W\nbFVH8Z2EMhOWXnppoLmQfQpi46pLX81qdkZGm6BW2aDOzs4eSAsfWFVFJAqlhGn1D62uckDsvvvu\ngEu5k+PLOq+0gq277roAPP7448X3MZVF1w2VnCmrrGhrZYmuJ2KBQhNvvvkm4JJA5CCZMWNGQYtU\nfSj1USEgaRg6R5Jjs802azjeh5V4wuzZs4Nlg+w4/DnVdZUUssoqqzQcG4O/84RVvWN46qmnAJfE\nUKdCqudwKw4aPHhwj9+Xsj2t11prLcClKypspmdV56otJVPccMMNxTnqt5WmF198MeDIIzK3Qs9W\nbIx6d6ZPn57LBmVkzE3okwMsBBti0korOqPCK2W7wmsVGzNmTMM5clTIXhVVUJJY6XRa0WbOnFm5\nkV3otxjV0Zf01nGn0kVyjOlT1xcV8JBDDuHJJ59s+E2QdL/yyisBGDlyJFDtiCrre9XxgvrS1dVV\nSGYRO9SWJJTupeZfPgBJsjo7MSgcJ6k4YcIEILw5YYrNHKusqvENHTq0GJeIKnJWxiqX6nlSX489\n9timvii0pn7Lufbaa68Brirpz3/+c8CRaEK13cvGV4YsmTMy2gS1bGaVoi3zEsekt1Y3pZGJ1G7R\n09NTeBmVhLHDDjsAjmShQnJy/2sllRfcL6sb27VRK7hvM8snYM/xz43Nl+xKpXIeffTRAEXiud8n\n2xdrm3n9AZzHV5qJLWDojycgcRuW93nmmacHaArZ6VojR44sIgu77bZbwzEieqgGtIpDyKYXJXfQ\noEHFHGprVdFqleJoIUmlYg4qSSTNJzS20D0cMWJED7gIgLWZx4wZU5CPFCJU5EF+DnmtRZ+VL0bh\n1O7u7qK/2223HeB2bNR1vvGNbwAu9VVzqOM0l/vvv390l0tpr5999lm2mTMy5ib0S6JFSHLF7BvF\n+Kxtp//ffvvtYkVUjFKe7w8++ACAhx56CKBpRYv1K/W3WDw7xVcgLUGkmJQYoU3Fs5A0V1qdpE1I\nMqeWB7ZeZnvc2LFjC2lj/QKKt2p3Ckn3c845B3De9pEjRzaVhdIYbH/VhvwgosGm0DtD98POu713\nK6ywQuGBlo9CHAEdI7vX8gCUmDFt2rSiv7H7rEiASkjrWZY2IG1zwoQJXHLJJcG26havyJI5I6NN\n8IUxwOwxNmVMq55WYHmif/Ob37D99tsDsOqqqza0IXsjRq8LeZ8tyihyMWlVJ7EkRSLbftvd/iQ9\nZTMpWeSMM85o6EcZiy02zhhlVf0ePnx4U2LFhRdeCMCzzz4LONtR/Xz77bcBd19GjRpV2M+2H74G\nBvCf//mfgEsmkTfbL+tUx6sb89ILkydPLnYTFZ9BNnOV/0glgVIgqSpvtpiBksJKu+zq6opeN5cN\nysiYS9EvKZD+yhlLfpcdolScBKeVAAAgAElEQVRBJfPLxpQ3+Oyzzy5YVRZiSKV64OvazK2kD/ZH\ngoCdz2OPPRZw7DHNeyidLiaJY2OvikfPmTOnqeiA+PRKFTzuuOMAF2dWIohs7TLtRxJX3mpJYnnG\n6/Dp6xQnEN5///2i3/I9fFFJHqF+aZzqw7rrrstVV10FwGeffdZwTuZmZ2TMpfi7l9qVraQVWiwv\nrebydvtQcftJkyYlXaPVbKKYJz7Wdn9Dexl/9atfBdxKLQaYbOsQ3zwWHbCIxdB9X4ZsNev5Vhmh\n2267raHNOr6Em266CXA2o6SjeAihIhWx7KwQlK1ktQtJ/ClTphS2fauljv0CB6nQ+OQHUSx72WWX\nbeqz5ipvHJeRMZeiX7nZodU0xsB6+OGHAYq8V78onzzcstHEBOsLUiR0VfGFL0oqK6dbEllQbFYZ\nOMrICvGWUzUQK+UkFRTbf/XVV4sidEq8T7XHQ9CcqRDDv/7rvwLNz4X16PvXqjPv1gOs//3IQav3\n0Z87K0WFqnfjv/7rvwDYfPPNgV6Pus9y85Ft5oyMuRQtSeayyh+xUjJaZbRSqrC6vHviA3/++ef8\n+7//O+CyoeqirJyOkLI6p0i7VlZ5reramkXb68Sg4vMqvSN7K9SPKi3C8sEl/RUXfuutt4pywbIp\nlS0kTry82WUSWmy1rbbaCnBc5JidquclJOnqaEbSNMq89lUSz45LbfrVQzR/0pKsBmAhzUORGmUC\nKg+hbCypqJVoEUtsb2jQOFRsOEufomiqmqGI6ddcc03hFKk76fb7FHWwLNHCtuc/WBZ15lGkDFXl\nVMEGPSCaOzkJb775ZgD23nvvhu9DsGPv7u5u6LCS9/VS6eFSuuVbb71V7AcVG5PqS8tUkoouUsUJ\nJ5xQEDO0Q0VsJxG9xPZlDt37lESL+eabrwea6aD+vNhn0sI+w5ZEM2jQoGIRFMVYiRexNtWWiFCq\nBDp16tToc653ZNq0aTnRIiNjbkKfJHMI1lkSI5poZVOiuMIwb7/9dp9CBrYvMfXTC8VUSuaUa6U4\nBfW/lUaCVmKpbJb6GqJ/xpxT3v7IDR0YNGhQg2RWqERJBB9//HEh1aqeDfVfaY1SHUOppzHEwk7+\nfYv9lpICGUJd0yh0r+s6RW2orEotB5fy+8knn2TJnJExN6GWAyxGmg85nGLUO1tSRjaHT62LSb1Y\nAr69hv9/VSpg1XehfpRdM/a7f64tT6NPu3evlbLWqdjZ2RmVzLHSPdY2lf0te7erq6upOGBMU9L3\nSlSogxjtt+zYMhqxIPvWSua+hBX7k8ZbJpHt851TIDMy5lLUkszS4S1pIUQrtLay/pddGCqBatuK\nlY8VrGSzK3VnZ2cTOUKSSQX3QuOznlB/DDb0Fksl9Pvg/+5/J2i1thLbXssWkp9vvvmaUktFh40l\nqygcJo3I7i/c09NT2M/ya+h+a15S9peOJXJUaTJWC+vq6mrSbkQwCu3+aYtA2mekp6enSeJVeaBD\nfY75guyOmDZ6Y6mkc+bMafKhKDqg5zEVWTJnZLQJanmzMzIy/nGRJXNGRpsgv8wZGW2CWg4wBeSt\nA8xX1avCRlX1tFrJJbZOoDKaqZxIchS98847xcELLrhgDzQ7T1LGF7teqI0qJ1BVCM4/LlZrTeP7\n8MMPGw5Q3exYfakyXnvM6WOP7+rqKq4vQomlcyp0JCeW+mPrefsORYWdRHSRo2jSpEnRe2jDPClh\n1Bidt+zc1CyqsnCuxqc50dz95S9/SSKN1HqZ5cUs29yriuBf97gUxLzAPjTZfjF6Cz1INhaYQtKv\nKqRXhqqXI1Y0wd8uJ3aOhZ2r0HmpHudY/HfWrFlFzDyW3hfrb4jLYF9sWwzSh64b44L7/1dxtC3K\nFnW7WFS1GVrcNS595oJ+GRlzKWpJ5lbSBstS0VLbTEWdtLeQZI6t1GUMIBtfVDzRqur+cbFYvO2H\nLXkTmrtYX6s0iNh4/GNStak6xQrKrhu7hlWVY9pF6JzQsxDTdFL76H9XVbih6hqhftntllKRJXNG\nRpugJclcVqQg1Q5JsZnrOs3KsltSrl/FhfVzYW07OtdmOMWOs+2GxiEWl7jPZc60WHaYRYqG1Fd/\nhl/qx2oXdeHz62MOubLvyp7RVFgp7D8HsXchpk3Zfvl/W7Za5mZnZMylaClrqpXwUV2pGmorJn1S\nbLYq2x2aQ1tlYYSYnWvL4VaNKQSFXOw1Q9euazOnoFVbWZzxLbfcknHjxgHNpW+kuSiPXZVIYtcK\nRQdSbOXY96HfY+E9aRXiSOu+TJs2reC225Cnzo2Fb8ue1Zjmm4qW1OzUxHMfqepfnX7Y/1P6U+fF\nD7Vvk8sF3cRFFlkEcHv9plxf7euBWGaZZQBXRzumupeFBFPvTcoiGoOddz30N910UzREpzG+9957\nQLz2lw/LIyjjE1T1tcxpKKhP2267LeAqiv7Hf/wHAOPHjy/uv1WrtQ+XXnyVYCpb5PsrTJvV7IyM\nNkGfQlN1QlXWEVLn3FbDV74jxiL0fZUZ0dnZWbB0lEKpmt5SGy20u6H26912222LXT0kvV9++WXA\n7d171FFHAfDUU0+V9qcVVKnMrVxL56p6Zx3ijJ4Hqeih9MQYSSWE/pyr3XbbDXB7LD/22GNAYxEJ\n2yeRZFQDXftvqfa5ff5Dc1U3dCZkyZyR0Sbol10gU2xWm5AfW33mm2++4lglx6u2dhW9LTU8U3V+\nDAsuuGCxI4GkUBWWX375hk9wdrX6uc022wBujiQBWgnvtUIntP/XCUEBrLTSSgAcf/zxxW9vvPEG\n0FwTXGMUNdj+L1szVE64it4aQitSTs+5dijV/9q5sQxWs9h0000BitLDsqH9/tUt4BBDlswZGW2C\nlna0EFIkYSxkI1tB0leF4MeOHVvs3axdFuTNld0p6diX8EtZKRgLSY9111232F+6CjFK3ksvvcQT\nTzwB9Ep6cMXwBb9kbRVi0iqVLNOKH0TQPdTuJKKyTpo0qZDWFhqTLaOjOT711FMBOPTQQ6N9L7vv\nMdJSHW1NHvclllgCcJphHXqlbObtt98ecD4VbfZQhlbt/iyZMzLaBH3an7lOzNaumMp3nTBhAgAr\nrrhicc4OO+wAuJVQEuzb3/42AKutthoA++67L+BWd3tNP6khpe9VkvnTTz8tPJlava+44oqGvqRA\nnlvt/mj7ra1LUlAnxl52XivSQHTTtddeu+H7/fbbr6lssIX8H3vttRcA5557LuA2Q9AcdXV1Rbfj\nKYuRtxJ31zGrrLIK4GLG2oanzhyts846gHt25DMpm+++2s5ZMmdktAn6Jc7cyuqucq7a4dCHPJra\n7VCx3YUXXhhwnuRJkyYBvRuVQTNDaODAgU2repl3MzY+SZGHH3640CBeffVVoDW7XfMlr7Zw4YUX\nRvtWhbqSqC9pi4Iqfmi+taOhtK0UXHnllYCzLTfccEMATjzxRKB398ibbroJSKN6WtSZS43n7rvv\nbjh3jz32SG5DePfddwH3fJx//vkN/5f1NdvMGRlzOfpkM6fAsqokEb7//e83/C7MmTOn4O3K66ut\nazbaaCPA2av7778/AOeddx7gpL1qKE2dOpW33noLcHZ1WXmfKuk2Y8aMgq3VFyiubNv/8Y9/3Oe2\nhf5kQsWgrV2F0047DWiUPlXJ+vpfcemtt94agJVXXhno9QrfeeedgGNepSQilGmRMdtUjC/Z67fe\neivQHPMuYxYK8oArIUMe/5S+tppokSVzRkaboFYRfG15WieGZ3+T/auVS5k2kpxrrbUWr7zyCuBi\nkUcccUTDp+9dBudtVJaR4tG33XZbcYzdhkVtf/bZZ8XyN3DgwB4oj+/2h8RTITp59LV6L7TQQn1u\nO5DA3/CF3ba2L95sefK1gfgaa6wBNEoyK2V0XUk/eYzlg9C9veaaawD4xS9+UdxX26ba8LetTdl2\n2I5Vmt5LL70EONaatIPnnnsu2paF+nb99dcDzu9z2GGHBa9dJn29jKwkEZ0lc0ZGm6DfbebYCq/V\nT8wYcVQff/xxADbbbDOgUSrKVr7xxhsB+MlPfgK41VtSXiuoPIjycn/++eelJWVjqFNqqC4GDx5c\nSGRBduL/BVoZk/qvfksTCtmlikXbMrnyG4jxJU+ytJYDDjgACEt5IaUUbcg+jrHEJOnVxz//+c/J\n7Qric+t5Vtbc38OH0S8vc0oVhzXXXBOAU045BXA38ayzzoqeK2jnQpuUrpdaISs9EHJ6+QuDfYlT\nHoQv4gb45BgRJB599NE+t1vXWdLKgqX5vvnmmwG3mJ5zzjmAc0COGTOmuCcKNekl1cO9zz77AO7e\nCUopDRFF7HNWJzTl3//YS6zP++67r+F/S0rq6Oho+k3tq4CBCti3snd1q8hqdkZGm+ALD01pFTzp\npJMARzhXuEHQKjto0KAmQrscQ7ZqocJEUscl5aXCh9L6UkgjX4RE1so9cuTIYnzqd1+u16pELnPE\nxH575plnAJesL6m05JJLAq6e13e+853iXBFj5NRcf/31AUcBlXQXzj777Mq+l6EV5+yWW24JwKhR\noxo+dZ+kJei52muvvbjjjjuC11XIVVCYtQ5apehmyZyR0SZoSTLblaNsVZedpZVYhI6JEyc2nKvz\nnn766WJl13dKh9O5kgjHHHMM4NInZZelhCXqFLLrT0m96KKLFhLMki7+LxCr+wzOZhTN1C+wAG5e\nJG1V5ujCCy8s7sFWW20FONqu/pdNKciHIaJGCGXPXezYMthifDFIe1A4Uw4/H7bghO6xldSxPkD1\npnNVyJI5I6NN0CebOUW316onqWnrC9u2Bg4cWCRSyOOpVV3XUXD/lltuabhGf5Xa/SKg6x500EHF\n37aEzBdxvVT4kQLdi5EjRwKwyy67BM+R1jVmzBjA+TD8nR8feeQRwBF+xo4d23A9SWR5sctQh+aY\nkk6ocd52222AK5Sx6667Ai5h5LXXXgOc7exLzKWWWgqAF154oeE3m0QTg182KKdAZmRkAH8Hb7Yg\ncohIBIodi+Bx2WWXAb0r9ZFHHgk4iSxbQjaZiqS1un8RhFe9qqSAOrAJJuuttx7QOyaREfpS9gha\n0zJiUiC0sYHKNslXYSHJLDqqT1OVxFLMVrRda6fefvvtgLMtQ/H//pBcZdEL9UXlmi666KLK9uTx\ntr6fDTbYAKi3t3J/+WSyZM7IaBO0JJnLVshYnE/2iGxmEdCVhK7SQBtvvHERi5a0kA228847A445\nVbVSl614Kb+lkODtpyTSWmutBcCHH34IwHXXXQf0SjPfpvx7w45N0tWPses3RQtisFJWVN3jjjuu\nKHxopbquo5i1rqG9mUL3NBYrTknsaaU8bwr0DNrtdZ599tnS8+rY+3U2E4AsmTMy2ga1UiBj6WVa\nQebMmROVzNpyZeONNwYcZ1cxPHkKP//8cx566CHAeTjFCtJqGB1MDckcSi/T+GLlaYYMGVKUShXb\nTJ7c2LVtKaPZs2cXMVa7U2AVQlKrKqXOps9pjILlu8+ePbuQNrLtpW1UwaaZhiCJrPsvO7VsX+UY\ne0/HzJo1qxhjLE1X6C/JrPLIdssa5QekFpIMabVWa5o5c2ZOgczImJvQpyL4Vrf308sErTYqmyK2\nlrJLFMs8/PDDgd7Yns1SsdeLeTdTypeWfW8T6DUueWL33XffgmNut9upgtp88MEHa0vkMtQZnw9b\nAlnj8e+hogoqFCAtKtZ2mUS+4IILAHefrY0c26a1rsf/i0xf9fFv//ZvDf+rbHLqdcqeP6vNpSJL\n5oyMNkGfSu3a731PqLVvFHd7+umnAeeZlq0RK3Qegi0bUydJvQ6LSH2XpjB48OCWGWRiq6nAfx2k\ncJBTY7B2a10hFLO///77AZfpphLIZ5xxBgA77rhj9FrKKRdXIDWvt47XuUxyldms/SGlxRsQ5BMK\nXa+sP60eG0KWzBkZbYJakjm2GXmotKr1yNmYZH/k8koil5UqjdlkKTFkQX0eP358wcH97ne/C/Ru\nng6O2Wahc8VwSvGwp0p/f3ypbcT8DP551jZWFEHxcXHnbT6wCtm/8sortSMQMW+2/3csdlw2vr5K\nuxDWWGONpgop0l5ipaXr9Kvuc1CcV2eQgwYN6oHW1FohVn8pBfaFjIUq7PFlv/mVHTW+2O72fuEE\nSxY45JBDAFc7WlVBpWaKJOOjrvPKjnPAgAGVoanu7u6GL2L30D9P5ovmIZU2W0YeSjkn5f/Qb/4Y\nq6pz9uWlFuHpuuuuKxZx7eKhfdB0320fY3331X57rJ4x/xktQ1azMzLaBP0imVtRHVuh19VRPyHs\nINF3WvWmTp1aNDp48OAeaC7Sps+hQ4cWJAfbf7W35557AjBu3DjArdR1HCD2MzZXofFZ88au6lWS\nuaenp0lVTL1XZQSI1FI4KcQYIUSqaEUyp6rikszLLLNMcW2VQ7ISWagKL/mmkh27rvf5559nyZyR\nMTehlmSeZ555Glb1OsR3i5TVPtV+stJRx/kkf7tS67ePP/64aHTo0KE9QFNBQT8UJqkdG7v6EPMr\nlNlIsVW8LMxiz9H/cmJ98sknDRcZMmRIg1/Anjdr1qwmp1Rs3mPSLzTGVEldh+6oe+hLLuv3sAiF\nT6sks9X0fN+J5iA2VzGHmN92TCOL3cMYsmTOyGgT1ApNidaoJHSb3O1/l2pnldl9dkW0q5tdDbVS\na8eFoUOHFt9pJZXEVHE2Hwo3KG3RerUHDx5czIHO9xNE/PbLkgMsXS8mjSzBIzQv8jzrWBH9Y6Ey\nlS0WndJeY+bMmVGfiJ1vOw5fK7Hn1JXE/tzEbEntU+VDxBaRkULXjUnmmK/Cft/d3R19RmNtxcbb\n1dVVPKN2p5a6e49lyZyR0SaoZTNnZGT84yJL5oyMNkF+mTMy2gS1HGCjR4/uAbdRunVedXQ05zML\n1ollXfr6vaurq3Di6Dvxe23bNhQlx43vIJOzRE4G6zyZOHFi4ZFYcMEFe6C5+oVvisQ2KU/l3nZ2\ndkYdXLH63zEHlP+32vKrogB88MEHDY0NGzasB5yDKLSzpnWAxcYcGhv0znEsr10OOxvaiXG0/d90\nru6lt1F7Mcb55puvB+JVXEJhtpQQawyplNwUWqrmT59y5r3zzjtJoalaL7O8vDEPpT8JNu5qUyFj\nL3VHR0dxjDzFiu22UppWL0jsAfUhL32sOELZ+TGOdOjBsHMRi1Fa/nfoJYpdJxbntnNp+ec9PT1N\nY6tiU4UeXHtfbeSjLA5sxxVbrEOFEbVIlN2Pun6isuOr7nuMTVfWln0uUpHV7IyMNkEtyazV1EqS\nspStmIoWW3U6OzubYsKtZlr5EsJKqpDkqrpOGU/YPyb0v9926oqbkq1UV0WMxbZ9yVHVvyqWU3d3\ndxO/PYaqWK9/fiwFt1X0RzsxzajKJAnBznvdTR6yZM7IaBP0S9kg3xFmbaVUqI3Ro0cXGSjvvvtu\nwzFVHFordfx8XysByiSzRYrTJNYHy9WeZ555Ctu8qs0qJ0rZ+GKwjKWQNpIqTWP/g3NSyWllWYOx\nNkLsuFh/QpIrRXOqm9FVJ+fAOiLrvA8xbSkVWTJnZLQJ+nXjOJ93XMXR1iqkUJE27N5nn32K1fzO\nO+8E4G9/+xvgNiGTPRYKjfnXChXl1wppM6P886skUxl0PW238+ijjwJuc/GPPvqIo48+GoB77rkH\naPaix2z3kM3Yqmc2JhlDY6/SiNRfcYrHjRtX3E9tZKBtYTXWmLfder07Ozub+mylXl3ExlNnLmPz\nZftf1abvrU8J05WhpRRIvQghwn2qW10Ptx7oVVddFXBqWQgqvaOd9wTtkvDLX/4SSNv3WOqQX3Km\nKn0O0sf1/PPPA27/JR96oHfbbTfAVSxVBUvNr2KlVal5oe9iuyGoAENZ6afUF13XUPLJH//4R8Dd\nS//cO+64A3D1pp977jn8fpTxE2JJDXpW/BRI7WhRtkNG1Tj7glTV3R4fur5+s7uSxJDV7IyMNkEt\nNdsyrlJYLYJW01/96lcAHHTQQUA4FTEGVUDUpySYnC36THFYlJUUKpPMsTFLxdQe0iGJDL2SSJqE\nzAfNyWabbQbAb3/7W6B3N0VwDLgQmaWuNCmrgmnbrHJSad+tm266CYARI0ZEr6tdMS+//HKAosrp\nb37zG8Cp45YZ5quhgu5PnR0fyuYp9jzXCStZllqsiEVfTLgqZMmckdEmqGUzi9drQyuS2MOGDSv+\n1u6Ia665JgAnn3wy4PZpjqGnp6ewo8QBv/766wEXqlp55ZUB2HTTTQG3CmrX+smTJ7sBRpLHpRF8\n+umnxVJpfQIWAwYMKKS/9shaYoklANhiiy0A2HzzzQF48skn1T5AsbPlE088wXvvvQc4uqp2W/za\n177WcD3Z/tqX69e//jXgpFZIg6iyma1fICTdYs4bta15loNSPHAfOvf1118H4N577wVcbW3LlVd/\n77rrLsDVGReFONRXnesXZVRBvzLtyj4LtjiA/d3a9bNnzy7Gt+iiiwK9tbTB+YBS9+D2x1TiYMw2\nc0bG3IRaklnF4CRRrBQYPXp0sdODbGJJ6JiXWiuoJNiUKVM455xzAGdfvf/++4BbuZRV9fLLLwOu\nvIr69YMf/ADo3XFS0s26+9WGXyzNltoVdO68887LVlttBcAKK6wAwMMPPwzAAw88ADgPdAoVTxJN\nNrGVPOrrddddB8Chhx4KOK+3X57HIuStBxg4cGCD5AppLjFP99ixYwEnZRdZZJFgf2fOnFmM6ZJL\nLgHcTpLzzz8/AD/72c8Ap9FYvPrqqwCstNJKTTtGCiHtqhXJbOddz4bGe8oppwBuQ4Oenp7ivsvP\nIZ+JIi0rrrhi9Po+UmzoLJkzMuYy1PJmx2KBvtR94403ALjooosAt9ujvLuSelqpr7jiCsBJqREj\nRvDiiy8Czu6wXkXFNZXvaW0feYG7u7uL/aBtzLaOZ1jt+/a+VmYRWWwBuRTceOONQFwiy5bWvk2W\nEun3LUaOiaGMOmgl11JLLQXA3XffDTh/gXwL2nv797//PdB7L7VfsXLDpTWpX/o/JplHjx4NwGKL\nLVZ4vi3q0CzLvPY2tVJahXwv4gysvfbaQK+tvvXWWwPu2de50kRju21+kciSOSOjTdCSZI6xW959\n911uu+02wEm+M888E3B2iDyQakMrt2yOxRZbrIhXWtL94osvDjh7S9/LphbLSPbWAgss0JS2aYsm\n+Ih5b/U5ZcoUxo8fDzhJ3AqlUHMhb7wgabXrrrsCbn9kzVEsdhlCHdaYhaSNSg9feOGFQLONPGnS\nJABOPPFEwElq37stbcZSPtddd92GfsZ4AKNHjy7sUDumVqVeFfNL/0tCi7W25JJLAr3UY3+DBR/S\nFtdZZx3ARTFaYZfVjUlnyZyR0SZoKQXSrhh+/M2WBfKLq4Nb9bVC6zitaFtssQVvv/02AMsvvzzg\nGF/yEI4aNQpw9vnjjz8OOJvuscceK64Zs2VDEjWWKC/MmDEjmUAfQ2dnZ2GD2bJAip+/9NJLSddI\n4fXGzkkpX6NkEdnIlt2kuZU/RMkVw4YN44MPPgCc91p2t7QStfnmm28CTuprTqSliGsQQso9LENs\nzjROywg85phjgN5IxrHHHtswLusZV0RFvpXYfNex+6uQJXNGRpugJclsVxPfM1xlQ+p3naNtVLRZ\n+UYbbcTvfvc7wHkT5TFeb731AFhllVUAWG211QBnl8kDKtt52rRplYXjfMRKvfQl5dC2fccdd7DY\nYos1tDVhwgTA2aCp12hlVa9j48szK01IkOSS5qQ0T9nKAwYMKCSrTdvU/XjrrbeAZptauPrqq4Fe\nj34dqVaVchuC1cSkNdptd7R968SJE3niiScA2GuvvQA44ogjGtqwPoGqa/cHsmTOyGgT1JLMdcqq\n2HOsTaFV/bTTTgOcvTVjxoxC8t5yyy2A8+Yq7iq+r+xscZpfe+21hmv7GkNKgbWURPK60HU1FjGG\nwHGv5b2unYzej6u6f5/0t6Sn4uG6R/JNyGchLoE0jhEjRhRtiKUnX4psaNnZkvJTpkwB4KqrrgLg\nyCOPBMrLHreqJcXOE6NMnmrdn1CxCHEhxJeQZqlojbTJOhlXdbK0gu3UOVFUQBtk9xFTb2xIQpPw\n5S9/ueH4mTNnFqmBcsDIeaYJPPzwwwH3cuvBkANJNLzx48fz7LPPAs1hDM+Z00QFLJuTui+c+iSn\nnE+wUVLBYYcdBjg1rioEVaciik1st4kWIYdRVZ2wWBqlxrbAAgsUL60WXoW5ZBpddtllgFPNRd3V\nSyHnWug6Nrw4a9as5OIE/vn2N5kVEhIKiYV2v1S/l112WQBuvvnmhmO1aMcIL0Io0cKmmubiBBkZ\ncxlaKk5gpVwo3GFrfEl1lnvfJrL729RI0lpih0JTUqsldSURlG658cYbA/DII48UKpMNUbVS76kO\n5NhRKp9MhXnnnbfoy+qrrw7ArbfeCsCPfvQjwJFFykr7QHnlyrqkEf8exipKVjmipFG88847TSEl\n0TsVilIxgk022QRwZogcZ2VoxbxIuYciI+ne/fSnPwWcCSCN8OCDDy7eAWmROkdpumWFGqqQQ1MZ\nGXM5atnMdlOu0O4IWs0VcpK0lM2sVU5SSZUqtaItvvjiTUF79VEOGdnQKp6nDcREv5PE3nzzzaP7\nVIXsEWszl9H+YokK+l42ouxhEUEeeeSRYlU/6aSTAArSvsalcjwaR4wI4Utm21eNryoFMoT+KGxX\nBZVOkiP0m9/8JuDojyHEKJ8hmzmFFCPIN6NnUO1KS7AbunV0dDRViLV7quk5V1gv5APwzw/1KzS+\nMmTJnJHRJqglmRdYYIEeaC5lqxVk6NChhW0siaTEenn7bGGDb3/724ArswMucULtyuMtcoWogBaS\nbNdeey3QG9CvqkHtS2a7qoe8nlU1l/W7vLmiL8pW9M/Tai4Cvwr7SQNRUrzszdC1QtLa/7SSOaWc\ncBXxoi+SW2O2paekZfoVIv4AAAY2SURBVMVKNvnXF/oqmdWetESRX4SyHU6sxzkGeekPOOAAoNkn\n4G/xa+fdK1uUJXNGxtyEPu01ZVeU5ZZbrijyJrv6rLPOApptBp2jwul2g3O/fRUbsDFpQaudkscV\nr+3p6SndU8miqoB5Z2dnYZ9LO5HHWZJOvgJdT8X7QtfVOUrZvPjiiwGXcqjytCJrlEktoU6igY9W\nkjZagTgAinLYErtl/eoPhKi50oQsdH8UK1fceZlllilsYd1njUf/y+9jy0yp+L+/j3RVSmYqsmTO\nyGgTtETnjK0cu+++e8GMkfdaW69oxdLvakP/+5JbZYFkQ+6///4N19GKufvuuwOuCLu1R0Kreisr\nvey8pZZaiiuvvBJwlMbjjz++oU9aoVUiNhQrVh80dmkcimtK+ssj2kqx9zrJCX6fytAXm1mSSjF1\nQVpX1TVbvW5KO7FCA7rv0pjkwb711luLpB6VSlJSkJ6DpZdeGnBMxwMPPBBwfhAl1YQ00Vg/q5Al\nc0ZGm6CWZK5KzPe93JImSlKXXSJ7UGmOalOlZ7bffvtCMlnoujfccAPgVvmYvRWyj8okUGx3QZ07\nfPjwwvaRB/Rf/uVfAGdXiS++ww47AM2SubOzkz322ANwBeElgRXvVFuKCMSSDUL7Yts+W8R8ByHP\nrS2lbOenjKFmz917770Bl4yh0srymbSCOh7rMo1FpZpjUHknlQ969tlnC298LCqguVGRfPk9VNSg\nrM9CLhuUkTGXoiVutj5lB2kVKssQUekf2Ug///nPG34vW4XkGVcReCWu2+LoKZ7qsutVlUedPHly\noQXYDe+UcaNPeee/9a1vARTJ7FdddVVRXlZtyaOrWLxi88oSs1k7Qk+P21QtZXz+93UYUrYoorX1\nJWXlL1hkkUWK7YjkkRdXWddX1lQrdnBfUlE7Ojqa5lNMO/VZ3AD5Q6Rd1smY0znyGSliIS2sTFPM\n3uyMjLkctRhg888/fw84DrSkk1bkpZdemgcffBAIl7INIVQKVwX95K3W6qbr2lUtJm1CHsyyXFFt\nv2M3k/fP2WmnnQBn86dCnvZBgwYVNrAK+6lNrd5V8fyUfOYYA0zc7FjZ5FDcMwbF1FU6R1GH5ZZb\nrulYjV+2s7SPmN3t5w5X5VH727cMGDCggQEWmqtWyiPXhTzku+22G+D8HvL3+HFmIXbfcz5zRsZc\nhpa42VpVFA9WnvFf//rXopSMJK7KvyiOrPjcpZdeCrh4m6Qu9A+LSYgxwEK8Xm0cp2PkE5AE+uij\njwpJIrtKZW7k3VbJWCtNNb5JkyZx6qmnAjBu3Digmv1UZv9Wsdb+HllT8thqQ7mFF164KOF0/vnn\nA45fHtvOx1Y3EXwedEwyh/j11i4uizN/EVlilkug50U2c6haj31WY9pV9Jp1BjJixIgecDdC6rXK\nrHz00UelNZtaRZU6XZYiGAs36UWdMWNGcZL2Z7apl94+wMm7KNjdOKoKDYRQNe7Ozs6m1DtB/8f2\nZ7b1zftCzrAvYp2dJuwYY59+u7bPKS+zj79HiqcQW6TKyjVZgWPvYQxZzc7IaBPUCk0JljSg/YL7\ne8c7W/ygakUN/R5bocsoklatK6vyGUOs9E4ZUs0K/7iYo7EunbPs9xQHI/TNsRRTt8sccmVmVSth\nylbnLLVvod/9UFksTTcVWTJnZLQJaklmJU+IrCFJrM+y5P1WEFtl61wjFpIKSRHZxjatMURj7Y9x\nVkmIVCJI6DeNpdU+tNI/oc6cVLVVliwT0krkCymjb1bNb3/e06q2feKPoGc09R4W59U6OiMj4x8W\ntSSzQhB2F0Bfgtp0MisJFYaJkRa6urqKFVekFElK6xG20lUStGzvZfVPWoaPxRdfHHDpi0oc8YvS\nWyqr53EMjst++n3TylvWb2ggRzRcs7Ozs+iHztX4FE6zUDjR3jufvGPviU2898tEhfo9derUYs5i\nyTn2fzuf/hh1rJ0nXd+HSkpZ2qTvO7H3SM9VLPSVEsqyz4WdE3uvvZJATZJZz2ZofGXIkjkjo01Q\nK86ckZHxj4ssmTMy2gT5Zc7IaBPklzkjo02QX+aMjDZBfpkzMtoE+WXOyGgT5Jc5I6NNkF/mjIw2\nQX6ZMzLaBPllzshoE/x/kmTEuSV8aVYAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 750, D: 1.163, G:0.8711\n" + ] + }, + { + "data": { + "image/png": "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\neNpdcJeBVG0AAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 1000, D: 1.293, G:1.201\n" + ] + }, + { + "data": { + "image/png": "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\n3N26dQNM44MFFljAO75KQKkpQBq6ZbXb07Rt29YrE6UIRxX2O/DAAxM/n0uBdDhaGbEkcxqrnvzQ\nyjrq1auXp38o9UzleVXOVOVzzj77bMDonsX6KIdJzKamppKS2S9d5dPWiqwxKGNLY1SieyVWdEle\nlSuW7hqn+Zi9qjc0NOTASHuNT5Fa11xzjZfeJ0msMjlqAqidw1FHHQWY3Zai+XK5nJcSqFgARfyl\nQUtIZl2LBRdcEDB2jUqL+PsJKzARhpPMDkdGaHHJHAc7q6mc8kX2337JHCa1fCtkwWsqtiBpJUv0\nWWedBZg8XmWFTZ482dt5SJJJD9cx5EdW2VnFppczX3tVt3cfvrkDsOGGG3qF3JUrrcw2+ZM1TuWN\nazciXXrWrFle3LZsC2lal6stmTt27OjFHOg661ol2UrJSWaHo5VSNWt2rRG06rVv3z4HhTqp3Uzc\n/31FgOk9STzp1npfknn27Nne9VNmkVqzSMKpGot82vpuzIYFOl8kyeyfl1021vaDq3yT/v7pp58A\nY9WeM2eOF0+gsadJlKKMSdLY2OiVOZIkllcmSWt9XMnsfsy+CxVnm20Hi+g7toFNPyr/+3pN22v9\neJSMEFZ72U7fLJYsEvZjjnIPdVyV9NGC9NxzzwEmWMQuoSSjX5s2bbwEkGqkhlZ7mw3G8KU5VxKu\nG4bbZjscrZSKek3NzUTpAul7Hb0e5mqK0+0jSg+rKJ/3v2673mTQmjlzZt6X27Ztm4No/YKV5mdX\nq7R3CNoFKNFi1qxZ3nYzq5JZ6NlIY55OMjscrZTUEy2ygF8SJaEThRVKsFf5MB1ZktB/HPuzxQxc\nUYlaaMEuBWWPLS3KKZecNLW0S3WS2eHICLEksyx3tvndvxpG1f+irJxhVtuwYwR9zn5N0k/SzY+s\ntnI3BJXVDevdXGrM/vft9+yxSN/VuexxBF1vfVbflb5ro+QI293llzB6LWynYOMv+WSP0T5m3PBW\nf+dNm6DiFPaYiz1vUaV3JdI+LIw4SjOGoGe0GE4yOxwZIZY12+Fw1C5OMjscGcH9mB2OjBDLAGaH\nO0ahlMEjyDBQykgQxfBlvx5mdJo+fbr3Rrt27QJjs6MYbcLGmITRpNi5wj4rQ5AdzjnPPPPkIDy7\nJ0pNqrAccf/3oow9iEozw8KCYpKstVVsDpXcb/tvGfhmzJjRemOzoxS4jxKbnQVKFScQ1fbPJkm1\nEy2qjSsb5HC0MuaKCLCoUiMoyymMSvyOWSQrc5+bdxg2cX3yTjI7HBmhpiWzjFRqB6siaioor9VX\nxegU3aRk+biE6dVz4ypfboQaFMZ+l4r3Lnbulrp2c/O9E3HH7iSzw5ERatqaLYn79ttvA6Yih9wu\nKjw3YMAAAK+6RbmlaKuVC2tnSdmFCqPkGkclzJpdrJywxuUv/u//jK6vXdjvlFNOAZqbw40ePRpo\nblXjP18a+OeonPsiTQFSG0daRLVm1/Q2W90QunTpAhQatnr06AGYWlSVupTibM3sH2TUc9fV1XlV\nOVUrXOWD9t9/f6A6dbOEXWCgrq7O+/9CCy0EmMVS3RrsZAb7h9rU1OT131aXkWHDhgHJLlRBVOLf\nn9tx22yHIyPUZN1sbd+++eYbADp37gyY1XbChAmA6Rc8ZcqUss8VN+DATk+zt5725zQXde7o06cP\nxx57LGBSSoVqMavWdhJE7TXlT2PUa6oeqsJ9ShEVmvMXX3wB4PWoGjlyJDvvvDMAiy++OGB6TanT\nRZJEuYfFDH7FItniYqst9m6ynGO6oBGHo5VRkzqzeh3Zq5rK2Gy11VZAZRI5iDgFE8I6Qujfgw8+\nGIAzzjgDMMa7OXPmhPaZXmqppeIPOiH8uqZ2Harjrbmqr7R6T6l+dtA1URcM3SvV1FZfsDS6QQYR\nFPdsF1PQfMOKbuh++e/xwgsvDBh3qOwJsn/IzjNy5EjA9AlTt8g4RtqoOMnscGSEWJK5Go74hoYG\nzjzzTMD0YtKK/+yzzwLJdtorlzBXS2NjI2CkmlZ7WagHDhzIbrvtBsDGG28MRC+LlARBrij7fV33\ngw46CDBSdvPNNwdM0E4xZN2Xp2HrrbcGTPdMSeikXVZRSkqFXQNJbNkGll56aQC22GILwBS+X2SR\nRdhxxx0BWGKJJQAj3WUHkRTXfGVDePLJJwEYP358mTMMx0lmhyMjxJLM1fDdrbPOOiy55JJAYcG2\n3r17p37+crH1+htvvBGAW2+9FTDtS6ZMmeJZdt977z2g0FpfjR1QMcut/q/dxcsvvwxEk8j2MWSh\nl+TaZpttACOx1QM6KaLkwMvXrTHJ4r7JJpsA0LVrV8D0/LKLJdbX13veCQU2CVvqS9pLZ1YLojRw\nktnhyAg1Z83u27ev1+ZEK6J0ZPmXaxlV8FA4o/BLBkml888/H4Arr7wy7zO+1jLpDjYEXf9OnToB\ncPfdd8c+hiSTIsE23XRTAMaNGwcYnfr6668HkosMi7Ob0fMl6XrccccBsMYaawAw//zz531eY5w1\na5Y3frvJoL2b1HhuueWWvM+ngZPMDkdGqBnJrKLt66+/vre6yRd31VVXAXNXvG2xseq9Tz/9FDBt\nXfS6rKlpSOYoCe/SleUbP++88wBjkQ5D+mGvXr0YNGgQYCSVfLXypSvuW59LO2a7GBtttBEAa621\nFmCeRdt24fdPK8124MCBgNl57LvvvnmfFdUoReUks8OREWpGMq+33noALLbYYt6KqAgvRc0kSdyS\nLEkiK6qspfpbxRckzdKwapeqrAnGNyrpIj+rrL6yQGsHIZ1f6Y7+tirTp08HjCVcx5B/dtSoUQCs\nvvrqoeNJC/nTtfPr0KFD3vsai90Y75dffuG///0vYBrS33TTTYCZ35Zbbpl3rL///e8ADB8+HHAR\nYA6HowiJSOZKysRoFZfFtL6+3lsJpU+lsYoFjbMa/t36+npPN1MkmKzH0idPPPFEAC688ELAWMiT\nyNWNUhpJvvGTTz4ZMNlpis1WvLHij6X/ilmzZnHIIYcA8MADDwCw/PLL531XFuSVVloJMHrrm2++\nGXku5bZ01WckTW1fsWwVtvdEWWG33nqrt2uURVyRX3a+gM4lS/mIESMAGDp0aMlxxqWiFMigvsJR\nj6cH4Msvv8z7e8aMGXz44YeAceKnaRypVs1lXaM11liDBx98EDAPsq6jtnGPPvooAP/+97+Bwo6N\nccZXKgWyGDJavfrqq4D5wQk7jVJ/77TTTl4xgjDWWWcdwFSR0Q9n2WWXBaIt4EG1z6PcQ/3wFMij\nABChBJK+ffsCRq145513gOYfu/3sDxkyBDBJKHYHR41H89WzHcUw5lIgHY5WRkWJFuVsS2XckVtG\nqWRiwoQJ3HXXXUBtdaWPi51et9hiiwHQr18/b8upVV3baBmSrrjiCgAmT55cvQEHIOko443Go3so\nia3EGEmdKC61999/HzBzl+Fo7733Bkx9tzRqnysYxN5eCxVjkPojdWjbbbcFmiX70UcfnfeZoF7R\n/vFcffXVAJx11llAOq4qJ5kdjoxQkQGsnDIrShFUOplWXjnhjz76aF588cW896pFJWViJIG1Qmvl\n1etyvey4446eRFY1UaXHyU0jiZiGQa6cYyl5ZNFFF817PYnCgwpzlKSTpJa+Htbgrlzatm1L9+7d\n844t6SoU+KFdgu6XP2gkqv3itNNOA+Cyyy5LYvhFcZLZ4cgIidTNjiNBtOKOHTsWMIEHL7zwAgCH\nHHKIF2BQDckcpxicv92sVnNZX3fZZRfASLE111wTMJbTXr16Ac2hgprfiiuuCKSbFmdbQmutS+KG\nG24IGNekSkZ98sknQHxrb1jRSd23JZdc0gtTVanmnj17ArDXXnsBhbaM77//HjBBJZMmTfJ036+/\n/hqAp59+GjDprNpdKTBl2rRpJecRZX7FcJLZ4cgIVQ/nlM9YwQFKVpdk69WrF7fffnu1hxVIUDkf\n6cDS+WUR1WcVWCGLtfQvv+VUO46WSnGsBXS9tDuRzSRol5KE7UDHmDhxonculf1VGuYxxxwDmNRP\n+aHl/9cuIZfLedJbSRl//PFH3vm081Q4azVwktnhyAiJFMEvJ5xT/YlU4EzHmDFjRkFxgjQppjMX\nCxe0+0PZ1ldZtRWSqtK7/uPLf/vKK68Ejk3lk+RzVQSWpMLWW2/tfTdMz/dHRwXNsdpo7AoRlVRU\nJOBJJ50EGNtDxPLHsYrgpzF3FV2QVJeerdK7leB0ZoejldFiXSBVPNwOTM/lcl5amRINFBObBnEl\nc9y56xiyFfiT1rWay8+sgoVKjbTbwdjMnj3biyzq168fUGg1tSVznNjsJNG8lWSipAXtwk4//XQA\nXnvtNeKOr1rx9cVQKyUVdlC0nGwrleAks8PRymix4gSKHlIUlH8F22OPPfL+VcSOYmarteomcR4d\nY+211wbwMsLASF5FVqn4nZ1xYyO9fMiQIZ7NQZF1sp6GSbZK5hTWTzrIF6wdiXy6shnIYqxx9unT\nBzCpkZVe85ayBShLTJFssnJXEyeZHY6M0OJlg6RjfPvtt0DzimY381YLVOWVfvfdd1UeZeWoXPC6\n667r7TjUokQRYbLoSpqptI5auagZu/4uFh1VrP0MlN1aFDBRb2pXI6mqaKg5c+Z4jeIuuOACwBSW\nF2effTYAzz//PDD3+9yVgy7JXMrekQZOMjscGaHFrNkFA/mfxGhsbCywJsvnmAYtYQkNk47Ks1VU\nlArpPfPMM4Bpal5JpZFK5qhxyyKtFjyqmCJfu79hu2wi2nWobK/K54RJ5CjjC/Klh8VCpI2ugaqU\nCO0yKyz1FMmaXTM/5paiFtwaYdiVNMtxJ1VSNihsPFp0FMRy6KGHAsZgOWfOHM8w179/f8A85Prx\nJnGNa+nHfMIJJwCmwIQSLWSYtEss+QVWqWvhXFMORyujxQ1gLUVL1s2OSiXVONOYn8Yhg52MV/pX\ngUCzZ88uCMes1m6nGhVWg5BKJFRgo1hYadD7leAks8OREVqtZC6HtIP1k8TudVQJUaWJv4xQrV2f\ntCW26oMrrXLAgAGB54tjq4i7u3KS2eHICLGs2e3bt8+BSRqoJM0sbKWMmZIZ+7N2H93p06d7B7Hn\nZ3+3vr7eG59W2LDxJpFIH9YXyn/ssHmpXNHUqVPzLlJjY2MOwovM+0sj2ecI03/1tz8MtdR9LZbM\nYmN/RufRv3/99VfBPbT7JvtDUG3pGOY+sj/n9yrYRfBVSF+JLgq5ta3YxeZrf0auvmnTpjlrtsPR\nmoglmR0OR+3iJLPDkRHcj9nhyAjux+xwZAT3Y3Y4MoL7MTscGcH9mB2OjOB+zA5HRnA/ZocjI7gf\ns8OREdyP2eHICP8P2FnqcZrKrrsAAAAASUVORK5CYII=\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 1250, D: 1.182, G:0.961\n" + ] + }, + { + "data": { + "image/png": "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\n9aSTXCQ9KKuvvjpHHnkkAEsssQQAL730EuB6Jf/0009lj6dW3YdSmdRjatddd231///+978AzDrr\nrACMGjUq1rJKuY4Jl6wC139atefKuV45KPV6JmYbDClBTZcNkpjz22+/Aa4P0aabbgrAI488UvY1\nyi0bVAhiZDHN6NGj6dGjB+AMXq+++ioAw4cPB+DFF18EXL3mcgob+gEHlVpDuduUiqmOnurlvMce\newBujXWf1OdqmWWWAVw3jXwoJvAnX+CHmFjdLcePHw/AsssuC8RjmPRTVEPFCAsea0EjBkMHQ03r\nzGIwP0m7FvszFzqn9P355psv6FQhvVG9fPVdsVUSMeJxzlHsq3OquN1MM80UdOtYb731ABcQI6aO\nSryX9LXyyisD8NFHHxWMoc71mX9MvsIO119/PUBQC/uZZ54B4mVk3RutabinVlzPmzGzwZAS1CQz\ni5mOOuooIDuzRjpNe4CY6PTTTwdadmL1YY6yxsfhcksiFFHnVJ+lt956C3As88knnwAtRe7UY9rv\n4CmIjaQji5HF9ldccQUA33//fcCUcbsitTY9e/Zs9bmkijggtl9wwQUB56n4/vvvgXilQGNmgyEl\nqElmVv+p1VdfHcjuSl+tfsVtgQJdevfuDbT4Te+9997Er5uET3S//fYD4OyzzwYc6+hamuOMGTMC\nHdGHpKtx48YBBB0xN9hgAwCGDRsGuBDXG264gTvvvBOAgw46qNX1cqGUeev58vHVV18VfY5CkGSy\n5JJLAo6h1U9t4sSJpjMbDIbWqDlmnmmmmdhpp50AtzvLFxenlTEXkmCzU045pdW511tvvYpVMikX\n0pGHDh0KwMUXX9zqc/970nv1MwxJV6NHjwZg9913B2DMmDEAfPPNN4DTu2VhbmxsDMJ5xdr5UMoa\nLrXUUoCTFnRtv0pJOWhsbARgscUWA2CllVZqdY2LLrootkL6xswGQ0pQc8zcr1+/wLooq6l2/iQs\ngElBY15rrbUA+P333wH4+eefqzamUrHwwgsDLXorRFvItR6SoOrq6oLotd122w2AkSNHAo6RxIY6\nVj2p1ZNbHo36+vrgeQjVxIocTyl+9O233x5wEYZi/jieL3lgtttuO8BFk0kf1/NQTARY0deM7UwG\ng6GqqBlmlp61wgorBJFf2mXVlFz6Z3tAmFnA+czDqHahuChozGoc7kdrSccTc0+YMAEor52LGFsx\n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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 1500, D: 1.216, G:0.7218\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Iter: 1750, D: 1.143, G:1.092\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n" + ] + } + ], + "source": [ + "D_DC = build_dc_classifier().cuda()\n", + "G_DC = build_dc_generator().cuda()\n", + "\n", + "D_DC_optim = get_optimizer(D_DC)\n", + "G_DC_optim = get_optimizer(G_DC)\n", + "\n", + "train_dc_gan(D_DC, G_DC, D_DC_optim, G_DC_optim, discriminator_loss, generator_loss, num_epochs=5)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到,通过 DCGANs 能够得到更加清楚的结果" + ] + } + ], + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/4_GAN/gan.py b/2_pytorch/4_GAN/gan.py new file mode 100644 index 0000000..1ba5789 --- /dev/null +++ b/2_pytorch/4_GAN/gan.py @@ -0,0 +1,429 @@ +# -*- coding: utf-8 -*- +# --- +# jupyter: +# jupytext_format_version: '1.2' +# 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.5.2 +# --- + +# # 生成对抗网络 +# 前面我们讲了自动编码器和变分自动编码器,不管是哪一个,都是通过计算生成图像和输入图像在每个像素点的误差来生成 loss,这一点是特别不好的,因为不同的像素点可能造成不同的视觉结果,但是可能他们的 loss 是相同的,所以通过单个像素点来得到 loss 是不准确的,这个时候我们需要一种全新的 loss 定义方式,就是通过对抗进行学习。 +# +# ## GANs +# 这种训练方式定义了一种全新的网络结构,就是生成对抗网络,也就是 GANs。这一部分,我们会形象地介绍生成对抗网络,以及用代码进行实现,而在书中会更加详细地介绍 GANs 的数学推导。 +# +# 根据这个名字就可以知道这个网络是由两部分组成的,第一部分是生成,第二部分是对抗。简单来说,就是有一个生成网络和一个判别网络,通过训练让两个网络相互竞争,生成网络来生成假的数据,对抗网络通过判别器去判别真伪,最后希望生成器生成的数据能够以假乱真。 +# +# 可以用这个图来简单的看一看这两个过程 +# +# ![](https://ws3.sinaimg.cn/large/006tNc79gy1fn22oma081j30k007cgll.jpg) +# +# ### Discriminator Network +# 首先我们来讲一下对抗过程,因为这个过程更加简单。 +# +# 对抗过程简单来说就是一个判断真假的判别器,相当于一个二分类问题,我们输入一张真的图片希望判别器输出的结果是1,输入一张假的图片希望判别器输出的结果是0。这其实已经和原图片的 label 没有关系了,不管原图片到底是一个多少类别的图片,他们都统一称为真的图片,label 是 1 表示真实的;而生成的假的图片的 label 是 0 表示假的。 +# +# 我们训练的过程就是希望这个判别器能够正确的判出真的图片和假的图片,这其实就是一个简单的二分类问题,对于这个问题可以用我们前面讲过的很多方法去处理,比如 logistic 回归,深层网络,卷积神经网络,循环神经网络都可以。 +# +# ### Generator Network +# 接着我们看看生成网络如何生成一张假的图片。首先给出一个简单的高维的正态分布的噪声向量,如上图所示的 D-dimensional noise vector,这个时候我们可以通过仿射变换,也就是 xw+b 将其映射到一个更高的维度,然后将他重新排列成一个矩形,这样看着更像一张图片,接着进行一些卷积、转置卷积、池化、激活函数等进行处理,最后得到了一个与我们输入图片大小一模一样的噪音矩阵,这就是我们所说的假的图片。 +# +# 这个时候我们如何去训练这个生成器呢?这就需要通过对抗学习,增大判别器判别这个结果为真的概率,通过这个步骤不断调整生成器的参数,希望生成的图片越来越像真的,而在这一步中我们不会更新判别器的参数,因为如果判别器不断被优化,可能生成器无论生成什么样的图片都无法骗过判别器。 +# +# 生成器的效果可以看看下面的图示 +# +# ![](https://ws3.sinaimg.cn/large/006tNc79gy1fn22s47jnfj30k005c74b.jpg) +# +# 关于生成对抗网络,出现了很多变形,比如 WGAN,LS-GAN 等等,这一节我们只使用 mnist 举一些简单的例子来说明,更复杂的网络结构可以再 github 上找到相应的实现 + +# + {"ExecuteTime": {"start_time": "2018-01-04T09:35:18.858664Z", "end_time": "2018-01-04T09:35:19.703119Z"}} +import torch +from torch import nn +from torch.autograd import Variable + +import torchvision.transforms as tfs +from torch.utils.data import DataLoader, sampler +from torchvision.datasets import MNIST + +import numpy as np + +import matplotlib.pyplot as plt +import matplotlib.gridspec as gridspec + +# %matplotlib inline +plt.rcParams['figure.figsize'] = (10.0, 8.0) # 设置画图的尺寸 +plt.rcParams['image.interpolation'] = 'nearest' +plt.rcParams['image.cmap'] = 'gray' + +def show_images(images): # 定义画图工具 + images = np.reshape(images, [images.shape[0], -1]) + sqrtn = int(np.ceil(np.sqrt(images.shape[0]))) + sqrtimg = int(np.ceil(np.sqrt(images.shape[1]))) + + fig = plt.figure(figsize=(sqrtn, sqrtn)) + gs = gridspec.GridSpec(sqrtn, sqrtn) + gs.update(wspace=0.05, hspace=0.05) + + for i, img in enumerate(images): + ax = plt.subplot(gs[i]) + plt.axis('off') + ax.set_xticklabels([]) + ax.set_yticklabels([]) + ax.set_aspect('equal') + plt.imshow(img.reshape([sqrtimg,sqrtimg])) + return + +def preprocess_img(x): + x = tfs.ToTensor()(x) + return (x - 0.5) / 0.5 + +def deprocess_img(x): + return (x + 1.0) / 2.0 + +# + {"ExecuteTime": {"start_time": "2018-01-04T09:35:20.674313Z", "end_time": "2018-01-04T09:35:28.869280Z"}} +class ChunkSampler(sampler.Sampler): # 定义一个取样的函数 + """Samples elements sequentially from some offset. + Arguments: + num_samples: # of desired datapoints + start: offset where we should start selecting from + """ + def __init__(self, num_samples, start=0): + self.num_samples = num_samples + self.start = start + + def __iter__(self): + return iter(range(self.start, self.start + self.num_samples)) + + def __len__(self): + return self.num_samples + +NUM_TRAIN = 50000 +NUM_VAL = 5000 + +NOISE_DIM = 96 +batch_size = 128 + +train_set = MNIST('./mnist', train=True, download=True, transform=preprocess_img) + +train_data = DataLoader(train_set, batch_size=batch_size, sampler=ChunkSampler(NUM_TRAIN, 0)) + +val_set = MNIST('./mnist', train=True, download=True, transform=preprocess_img) + +val_data = DataLoader(val_set, batch_size=batch_size, sampler=ChunkSampler(NUM_VAL, NUM_TRAIN)) + + +imgs = deprocess_img(train_data.__iter__().next()[0].view(batch_size, 784)).numpy().squeeze() # 可视化图片效果 +show_images(imgs) +# - + +# ## 简单版本的生成对抗网络 +# 通过前面我们知道生成对抗网络有两个部分构成,一个是生成网络,一个是对抗网络,我们首先写一个简单版本的网络结构,生成网络和对抗网络都是简单的多层神经网络 +# +# ### 判别网络 +# 判别网络的结构非常简单,就是一个二分类器,结构如下: +# * 全连接(784 -> 256) +# * leakyrelu, $\alpha$ 是 0.2 +# * 全连接(256 -> 256) +# * leakyrelu, $\alpha$ 是 0.2 +# * 全连接(256 -> 1) +# +# 其中 leakyrelu 是指 f(x) = max($\alpha$ x, x) + +# + {"ExecuteTime": {"start_time": "2018-01-04T09:35:28.871207Z", "end_time": "2018-01-04T09:35:28.877089Z"}} +def discriminator(): + net = nn.Sequential( + nn.Linear(784, 256), + nn.LeakyReLU(0.2), + nn.Linear(256, 256), + nn.LeakyReLU(0.2), + nn.Linear(256, 1) + ) + return net +# - + +# ### 生成网络 +# 接下来我们看看生成网络,生成网络的结构也很简单,就是根据一个随机噪声生成一个和数据维度一样的张量,结构如下: +# * 全连接(噪音维度 -> 1024) +# * relu +# * 全连接(1024 -> 1024) +# * relu +# * 全连接(1024 -> 784) +# * tanh 将数据裁剪到 -1 ~ 1 之间 + +# + {"ExecuteTime": {"start_time": "2018-01-04T09:35:28.878933Z", "end_time": "2018-01-04T09:35:28.893308Z"}} +def generator(noise_dim=NOISE_DIM): + net = nn.Sequential( + nn.Linear(noise_dim, 1024), + nn.ReLU(True), + nn.Linear(1024, 1024), + nn.ReLU(True), + nn.Linear(1024, 784), + nn.Tanh() + ) + return net +# - + +# 接下来我们需要定义生成对抗网络的 loss,通过前面的讲解我们知道,对于对抗网络,相当于二分类问题,将真的判别为真的,假的判别为假的,作为辅助,可以参考一下论文中公式 +# +# $$ \ell_D = \mathbb{E}_{x \sim p_\text{data}}\left[\log D(x)\right] + \mathbb{E}_{z \sim p(z)}\left[\log \left(1-D(G(z))\right)\right]$$ +# +# 而对于生成网络,需要去骗过对抗网络,也就是将假的也判断为真的,作为辅助,可以参考一下论文中公式 +# +# $$\ell_G = \mathbb{E}_{z \sim p(z)}\left[\log D(G(z))\right]$$ +# +# 如果你还记得前面的二分类 loss,那么你就会发现上面这两个公式就是二分类 loss +# +# $$ bce(s, y) = y * \log(s) + (1 - y) * \log(1 - s) $$ + +# 如果我们把 D(x) 看成真实数据的分类得分,那么 D(G(z)) 就是假数据的分类得分,所以上面判别器的 loss 就是将真实数据的得分判断为 1,假的数据的得分判断为 0,而生成器的 loss 就是将假的数据判断为 1 +# +# 下面我们来实现一下 + +# + {"ExecuteTime": {"start_time": "2018-01-04T09:37:01.458787Z", "end_time": "2018-01-04T09:37:01.475822Z"}} +bce_loss = nn.BCEWithLogitsLoss() + +def discriminator_loss(logits_real, logits_fake): # 判别器的 loss + size = logits_real.shape[0] + true_labels = Variable(torch.ones(size, 1)).float().cuda() + false_labels = Variable(torch.zeros(size, 1)).float().cuda() + loss = bce_loss(logits_real, true_labels) + bce_loss(logits_fake, false_labels) + return loss + +# + {"ExecuteTime": {"start_time": "2018-01-04T09:37:01.750127Z", "end_time": "2018-01-04T09:37:01.756901Z"}} +def generator_loss(logits_fake): # 生成器的 loss + size = logits_fake.shape[0] + true_labels = Variable(torch.ones(size, 1)).float().cuda() + loss = bce_loss(logits_fake, true_labels) + return loss + +# + {"ExecuteTime": {"start_time": "2018-01-04T09:37:02.179658Z", "end_time": "2018-01-04T09:37:02.188467Z"}} +# 使用 adam 来进行训练,学习率是 3e-4, beta1 是 0.5, beta2 是 0.999 +def get_optimizer(net): + optimizer = torch.optim.Adam(net.parameters(), lr=3e-4, betas=(0.5, 0.999)) + return optimizer +# - + +# 下面我们开始训练一个这个简单的生成对抗网络 + +# + {"ExecuteTime": {"start_time": "2018-01-04T09:37:03.287554Z", "end_time": "2018-01-04T09:37:03.426140Z"}} +def train_a_gan(D_net, G_net, D_optimizer, G_optimizer, discriminator_loss, generator_loss, show_every=250, + noise_size=96, num_epochs=10): + iter_count = 0 + for epoch in range(num_epochs): + for x, _ in train_data: + bs = x.shape[0] + # 判别网络 + real_data = Variable(x).view(bs, -1).cuda() # 真实数据 + logits_real = D_net(real_data) # 判别网络得分 + + sample_noise = (torch.rand(bs, noise_size) - 0.5) / 0.5 # -1 ~ 1 的均匀分布 + g_fake_seed = Variable(sample_noise).cuda() + fake_images = G_net(g_fake_seed) # 生成的假的数据 + logits_fake = D_net(fake_images) # 判别网络得分 + + d_total_error = discriminator_loss(logits_real, logits_fake) # 判别器的 loss + D_optimizer.zero_grad() + d_total_error.backward() + D_optimizer.step() # 优化判别网络 + + # 生成网络 + g_fake_seed = Variable(sample_noise).cuda() + fake_images = G_net(g_fake_seed) # 生成的假的数据 + + gen_logits_fake = D_net(fake_images) + g_error = generator_loss(gen_logits_fake) # 生成网络的 loss + G_optimizer.zero_grad() + g_error.backward() + G_optimizer.step() # 优化生成网络 + + if (iter_count % show_every == 0): + print('Iter: {}, D: {:.4}, G:{:.4}'.format(iter_count, d_total_error.data[0], g_error.data[0])) + imgs_numpy = deprocess_img(fake_images.data.cpu().numpy()) + show_images(imgs_numpy[0:16]) + plt.show() + print() + iter_count += 1 + +# + {"scrolled": true, "ExecuteTime": {"start_time": "2018-01-04T09:37:03.776837Z", "end_time": "2018-01-04T09:38:56.363519Z"}} +D = discriminator().cuda() +G = generator().cuda() + +D_optim = get_optimizer(D) +G_optim = get_optimizer(G) + +train_a_gan(D, G, D_optim, G_optim, discriminator_loss, generator_loss) +# - + +# 我们已经完成了一个简单的生成对抗网络,是不是非常容易呢。但是可以看到效果并不是特别好,生成的数字也不是特别完整,因为我们仅仅使用了简单的多层全连接网络。 +# +# 除了这种最基本的生成对抗网络之外,还有很多生成对抗网络的变式,有结构上的变式,也有 loss 上的变式,我们先讲一讲其中一种在 loss 上的变式,Least Squares GAN + +# ## Least Squares GAN +# [Least Squares GAN](https://arxiv.org/abs/1611.04076) 比最原始的 GANs 的 loss 更加稳定,通过名字我们也能够看出这种 GAN 是通过最小平方误差来进行估计,而不是通过二分类的损失函数,下面我们看看 loss 的计算公式 +# +# $$\ell_G = \frac{1}{2}\mathbb{E}_{z \sim p(z)}\left[\left(D(G(z))-1\right)^2\right]$$ +# +# $$ \ell_D = \frac{1}{2}\mathbb{E}_{x \sim p_\text{data}}\left[\left(D(x)-1\right)^2\right] + \frac{1}{2}\mathbb{E}_{z \sim p(z)}\left[ \left(D(G(z))\right)^2\right]$$ + +# 可以看到 Least Squares GAN 通过最小二乘代替了二分类的 loss,下面我们定义一下 loss 函数 + +# + {"ExecuteTime": {"start_time": "2018-01-04T09:38:56.366230Z", "end_time": "2018-01-04T09:38:56.375632Z"}} +def ls_discriminator_loss(scores_real, scores_fake): + loss = 0.5 * ((scores_real - 1) ** 2).mean() + 0.5 * (scores_fake ** 2).mean() + return loss + +def ls_generator_loss(scores_fake): + loss = 0.5 * ((scores_fake - 1) ** 2).mean() + return loss + +# + {"scrolled": true, "ExecuteTime": {"start_time": "2018-01-04T09:38:56.377796Z", "end_time": "2018-01-04T09:40:32.256222Z"}} +D = discriminator().cuda() +G = generator().cuda() + +D_optim = get_optimizer(D) +G_optim = get_optimizer(G) + +train_a_gan(D, G, D_optim, G_optim, ls_discriminator_loss, ls_generator_loss) +# - + +# 上面我们讲了 最基本的 GAN 和 least squares GAN,最后我们讲一讲使用卷积网络的 GAN,叫做深度卷积生成对抗网络 + +# ## Deep Convolutional GANs +# 深度卷积生成对抗网络特别简单,就是将生成网络和对抗网络都改成了卷积网络的形式,下面我们来实现一下 + +# ### 卷积判别网络 +# 卷积判别网络就是一个一般的卷积网络,结构如下 +# +# * 32 Filters, 5x5, Stride 1, Leaky ReLU(alpha=0.01) +# * Max Pool 2x2, Stride 2 +# * 64 Filters, 5x5, Stride 1, Leaky ReLU(alpha=0.01) +# * Max Pool 2x2, Stride 2 +# * Fully Connected size 4 x 4 x 64, Leaky ReLU(alpha=0.01) +# * Fully Connected size 1 + +# + {"ExecuteTime": {"start_time": "2018-01-04T09:47:10.521930Z", "end_time": "2018-01-04T09:47:10.573931Z"}} +class build_dc_classifier(nn.Module): + def __init__(self): + super(build_dc_classifier, self).__init__() + self.conv = nn.Sequential( + nn.Conv2d(1, 32, 5, 1), + nn.LeakyReLU(0.01), + nn.MaxPool2d(2, 2), + nn.Conv2d(32, 64, 5, 1), + nn.LeakyReLU(0.01), + nn.MaxPool2d(2, 2) + ) + self.fc = nn.Sequential( + nn.Linear(1024, 1024), + nn.LeakyReLU(0.01), + nn.Linear(1024, 1) + ) + + def forward(self, x): + x = self.conv(x) + x = x.view(x.shape[0], -1) + x = self.fc(x) + return x +# - + +# ### 卷积生成网络 +# 卷积生成网络需要将一个低维的噪声向量变成一个图片数据,结构如下 +# +# * Fully connected of size 1024, ReLU +# * BatchNorm +# * Fully connected of size 7 x 7 x 128, ReLU +# * BatchNorm +# * Reshape into Image Tensor +# * 64 conv2d^T filters of 4x4, stride 2, padding 1, ReLU +# * BatchNorm +# * 1 conv2d^T filter of 4x4, stride 2, padding 1, TanH + +# + {"ExecuteTime": {"start_time": "2018-01-04T10:05:32.785512Z", "end_time": "2018-01-04T10:05:32.848318Z"}} +class build_dc_generator(nn.Module): + def __init__(self, noise_dim=NOISE_DIM): + super(build_dc_generator, self).__init__() + self.fc = nn.Sequential( + nn.Linear(noise_dim, 1024), + nn.ReLU(True), + nn.BatchNorm1d(1024), + nn.Linear(1024, 7 * 7 * 128), + nn.ReLU(True), + nn.BatchNorm1d(7 * 7 * 128) + ) + + self.conv = nn.Sequential( + nn.ConvTranspose2d(128, 64, 4, 2, padding=1), + nn.ReLU(True), + nn.BatchNorm2d(64), + nn.ConvTranspose2d(64, 1, 4, 2, padding=1), + nn.Tanh() + ) + + def forward(self, x): + x = self.fc(x) + x = x.view(x.shape[0], 128, 7, 7) # reshape 通道是 128,大小是 7x7 + x = self.conv(x) + return x + +# + {"ExecuteTime": {"start_time": "2018-01-04T10:12:43.110774Z", "end_time": "2018-01-04T10:12:43.237237Z"}} +def train_dc_gan(D_net, G_net, D_optimizer, G_optimizer, discriminator_loss, generator_loss, show_every=250, + noise_size=96, num_epochs=10): + iter_count = 0 + for epoch in range(num_epochs): + for x, _ in train_data: + bs = x.shape[0] + # 判别网络 + real_data = Variable(x).cuda() # 真实数据 + logits_real = D_net(real_data) # 判别网络得分 + + sample_noise = (torch.rand(bs, noise_size) - 0.5) / 0.5 # -1 ~ 1 的均匀分布 + g_fake_seed = Variable(sample_noise).cuda() + fake_images = G_net(g_fake_seed) # 生成的假的数据 + logits_fake = D_net(fake_images) # 判别网络得分 + + d_total_error = discriminator_loss(logits_real, logits_fake) # 判别器的 loss + D_optimizer.zero_grad() + d_total_error.backward() + D_optimizer.step() # 优化判别网络 + + # 生成网络 + g_fake_seed = Variable(sample_noise).cuda() + fake_images = G_net(g_fake_seed) # 生成的假的数据 + + gen_logits_fake = D_net(fake_images) + g_error = generator_loss(gen_logits_fake) # 生成网络的 loss + G_optimizer.zero_grad() + g_error.backward() + G_optimizer.step() # 优化生成网络 + + if (iter_count % show_every == 0): + print('Iter: {}, D: {:.4}, G:{:.4}'.format(iter_count, d_total_error.data[0], g_error.data[0])) + imgs_numpy = deprocess_img(fake_images.data.cpu().numpy()) + show_images(imgs_numpy[0:16]) + plt.show() + print() + iter_count += 1 + +# + {"ExecuteTime": {"start_time": "2018-01-04T10:12:43.472792Z", "end_time": "2018-01-04T10:13:58.243586Z"}} +D_DC = build_dc_classifier().cuda() +G_DC = build_dc_generator().cuda() + +D_DC_optim = get_optimizer(D_DC) +G_DC_optim = get_optimizer(G_DC) + +train_dc_gan(D_DC, G_DC, D_DC_optim, G_DC_optim, discriminator_loss, generator_loss, num_epochs=5) +# - + +# 可以看到,通过 DCGANs 能够得到更加清楚的结果 diff --git a/2_pytorch/4_GAN/vae.ipynb b/2_pytorch/4_GAN/vae.ipynb new file mode 100644 index 0000000..a5b8c08 --- /dev/null +++ b/2_pytorch/4_GAN/vae.ipynb @@ -0,0 +1,409 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "collapsed": true + }, + "source": [ + "# 变分自动编码器\n", + "变分编码器是自动编码器的升级版本,其结构跟自动编码器是类似的,也由编码器和解码器构成。\n", + "\n", + "回忆一下,自动编码器有个问题,就是并不能任意生成图片,因为我们没有办法自己去构造隐藏向量,需要通过一张图片输入编码我们才知道得到的隐含向量是什么,这时我们就可以通过变分自动编码器来解决这个问题。\n", + "\n", + "其实原理特别简单,只需要在编码过程给它增加一些限制,迫使其生成的隐含向量能够粗略的遵循一个标准正态分布,这就是其与一般的自动编码器最大的不同。\n", + "\n", + "这样我们生成一张新图片就很简单了,我们只需要给它一个标准正态分布的随机隐含向量,这样通过解码器就能够生成我们想要的图片,而不需要给它一张原始图片先编码。\n", + "\n", + "一般来讲,我们通过 encoder 得到的隐含向量并不是一个标准的正态分布,为了衡量两种分布的相似程度,我们使用 KL divergence,利用其来表示隐含向量与标准正态分布之间差异的 loss,另外一个 loss 仍然使用生成图片与原图片的均方误差来表示。\n", + "\n", + "KL divergence 的公式如下\n", + "\n", + "$$\n", + "D{KL} (P || Q) = \\int_{-\\infty}^{\\infty} p(x) \\log \\frac{p(x)}{q(x)} dx\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 重参数\n", + "为了避免计算 KL divergence 中的积分,我们使用重参数的技巧,不是每次产生一个隐含向量,而是生成两个向量,一个表示均值,一个表示标准差,这里我们默认编码之后的隐含向量服从一个正态分布的之后,就可以用一个标准正态分布先乘上标准差再加上均值来合成这个正态分布,最后 loss 就是希望这个生成的正态分布能够符合一个标准正态分布,也就是希望均值为 0,方差为 1\n", + "\n", + "所以标准的变分自动编码器如下\n", + "\n", + "![](https://ws4.sinaimg.cn/large/006tKfTcgy1fn15cq6n7pj30k007t0sv.jpg)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "所以最后我们可以将我们的 loss 定义为下面的函数,由均方误差和 KL divergence 求和得到一个总的 loss\n", + "\n", + "```\n", + "def loss_function(recon_x, x, mu, logvar):\n", + " \"\"\"\n", + " recon_x: generating images\n", + " x: origin images\n", + " mu: latent mean\n", + " logvar: latent log variance\n", + " \"\"\"\n", + " MSE = reconstruction_function(recon_x, x)\n", + " # loss = 0.5 * sum(1 + log(sigma^2) - mu^2 - sigma^2)\n", + " KLD_element = mu.pow(2).add_(logvar.exp()).mul_(-1).add_(1).add_(logvar)\n", + " KLD = torch.sum(KLD_element).mul_(-0.5)\n", + " # KL divergence\n", + " return MSE + KLD\n", + "```" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "下面我们用 mnist 数据集来简单说明一下变分自动编码器" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-01T10:41:05.738797Z", + "start_time": "2018-01-01T10:41:05.215490Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "import os\n", + "\n", + "import torch\n", + "from torch.autograd import Variable\n", + "import torch.nn.functional as F\n", + "from torch import nn\n", + "from torch.utils.data import DataLoader\n", + "\n", + "from torchvision.datasets import MNIST\n", + "from torchvision import transforms as tfs\n", + "from torchvision.utils import save_image" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-01T10:41:05.769643Z", + "start_time": "2018-01-01T10:41:05.741302Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "im_tfs = tfs.Compose([\n", + " tfs.ToTensor(),\n", + " tfs.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5]) # 标准化\n", + "])\n", + "\n", + "train_set = MNIST('./mnist', transform=im_tfs)\n", + "train_data = DataLoader(train_set, batch_size=128, shuffle=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-01T10:41:06.397118Z", + "start_time": "2018-01-01T10:41:06.306479Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "class VAE(nn.Module):\n", + " def __init__(self):\n", + " super(VAE, self).__init__()\n", + "\n", + " self.fc1 = nn.Linear(784, 400)\n", + " self.fc21 = nn.Linear(400, 20) # mean\n", + " self.fc22 = nn.Linear(400, 20) # var\n", + " self.fc3 = nn.Linear(20, 400)\n", + " self.fc4 = nn.Linear(400, 784)\n", + "\n", + " def encode(self, x):\n", + " h1 = F.relu(self.fc1(x))\n", + " return self.fc21(h1), self.fc22(h1)\n", + "\n", + " def reparametrize(self, mu, logvar):\n", + " std = logvar.mul(0.5).exp_()\n", + " eps = torch.FloatTensor(std.size()).normal_()\n", + " if torch.cuda.is_available():\n", + " eps = Variable(eps.cuda())\n", + " else:\n", + " eps = Variable(eps)\n", + " return eps.mul(std).add_(mu)\n", + "\n", + " def decode(self, z):\n", + " h3 = F.relu(self.fc3(z))\n", + " return F.tanh(self.fc4(h3))\n", + "\n", + " def forward(self, x):\n", + " mu, logvar = self.encode(x) # 编码\n", + " z = self.reparametrize(mu, logvar) # 重新参数化成正态分布\n", + " return self.decode(z), mu, logvar # 解码,同时输出均值方差" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-01T10:41:10.056600Z", + "start_time": "2018-01-01T10:41:06.430817Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "net = VAE() # 实例化网络\n", + "if torch.cuda.is_available():\n", + " net = net.cuda()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-01T10:41:10.409900Z", + "start_time": "2018-01-01T10:41:10.059597Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "x, _ = train_set[0]\n", + "x = x.view(x.shape[0], -1)\n", + "if torch.cuda.is_available():\n", + " x = x.cuda()\n", + "x = Variable(x)\n", + "_, mu, var = net(x)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-01T10:41:29.753678Z", + "start_time": "2018-01-01T10:41:29.749178Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Variable containing:\n", + "\n", + "Columns 0 to 9 \n", + "-0.0307 -0.1439 -0.0435 0.3472 0.0368 -0.0339 0.0274 -0.5608 0.0280 0.2742\n", + "\n", + "Columns 10 to 19 \n", + "-0.6221 -0.0894 -0.0933 0.4241 0.1611 0.3267 0.5755 -0.0237 0.2714 -0.2806\n", + "[torch.cuda.FloatTensor of size 1x20 (GPU 0)]\n", + "\n" + ] + } + ], + "source": [ + "print(mu)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看到,对于输入,网络可以输出隐含变量的均值和方差,这里的均值方差还没有训练\n", + "\n", + "下面开始训练" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-01T10:13:54.560436Z", + "start_time": "2018-01-01T10:13:54.530108Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "reconstruction_function = nn.MSELoss(size_average=False)\n", + "\n", + "def loss_function(recon_x, x, mu, logvar):\n", + " \"\"\"\n", + " recon_x: generating images\n", + " x: origin images\n", + " mu: latent mean\n", + " logvar: latent log variance\n", + " \"\"\"\n", + " MSE = reconstruction_function(recon_x, x)\n", + " # loss = 0.5 * sum(1 + log(sigma^2) - mu^2 - sigma^2)\n", + " KLD_element = mu.pow(2).add_(logvar.exp()).mul_(-1).add_(1).add_(logvar)\n", + " KLD = torch.sum(KLD_element).mul_(-0.5)\n", + " # KL divergence\n", + " return MSE + KLD\n", + "\n", + "optimizer = torch.optim.Adam(net.parameters(), lr=1e-3)\n", + "\n", + "def to_img(x):\n", + " '''\n", + " 定义一个函数将最后的结果转换回图片\n", + " '''\n", + " x = 0.5 * (x + 1.)\n", + " x = x.clamp(0, 1)\n", + " x = x.view(x.shape[0], 1, 28, 28)\n", + " return x" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-01T10:35:01.115877Z", + "start_time": "2018-01-01T10:13:54.562533Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch: 20, Loss: 61.5803\n", + "epoch: 40, Loss: 62.9573\n", + "epoch: 60, Loss: 63.4285\n", + "epoch: 80, Loss: 64.7138\n", + "epoch: 100, Loss: 63.3343\n" + ] + } + ], + "source": [ + "for e in range(100):\n", + " for im, _ in train_data:\n", + " im = im.view(im.shape[0], -1)\n", + " im = Variable(im)\n", + " if torch.cuda.is_available():\n", + " im = im.cuda()\n", + " recon_im, mu, logvar = net(im)\n", + " loss = loss_function(recon_im, im, mu, logvar) / im.shape[0] # 将 loss 平均\n", + " optimizer.zero_grad()\n", + " loss.backward()\n", + " optimizer.step()\n", + "\n", + " if (e + 1) % 20 == 0:\n", + " print('epoch: {}, Loss: {:.4f}'.format(e + 1, loss.data[0]))\n", + " save = to_img(recon_im.cpu().data)\n", + " if not os.path.exists('./vae_img'):\n", + " os.mkdir('./vae_img')\n", + " save_image(save, './vae_img/image_{}.png'.format(e + 1))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "可以看看使用变分自动编码器得到的结果,可以发现效果比一般的编码器要好很多\n", + "\n", + "![](https://ws1.sinaimg.cn/large/006tKfTcgy1fn1ag8832zj306q0a2gmz.jpg)\n", + "\n", + "我们可以输出其中的均值看看" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-01T10:40:36.481622Z", + "start_time": "2018-01-01T10:40:36.463332Z" + }, + "collapsed": true + }, + "outputs": [], + "source": [ + "x, _ = train_set[0]\n", + "x = x.view(x.shape[0], -1)\n", + "if torch.cuda.is_available():\n", + " x = x.cuda()\n", + "x = Variable(x)\n", + "_, mu, _ = net(x)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": { + "ExecuteTime": { + "end_time": "2018-01-01T10:40:37.490484Z", + "start_time": "2018-01-01T10:40:37.485127Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Variable containing:\n", + "\n", + "Columns 0 to 9 \n", + " 0.3861 0.5561 1.1995 -1.6773 0.9867 0.1244 -0.3443 -1.6658 1.3332 1.1606\n", + "\n", + "Columns 10 to 19 \n", + " 0.6898 0.3042 2.1044 -2.4588 0.0504 0.9743 1.1136 0.7872 -0.0777 1.6101\n", + "[torch.cuda.FloatTensor of size 1x20 (GPU 0)]\n", + "\n" + ] + } + ], + "source": [ + "print(mu)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "变分自动编码器虽然比一般的自动编码器效果要好,而且也限制了其输出的编码 (code) 的概率分布,但是它仍然是通过直接计算生成图片和原始图片的均方误差来生成 loss,这个方式并不好,在下一章生成对抗网络中,我们会讲一讲这种方式计算 loss 的局限性,然后会介绍一种新的训练办法,就是通过生成对抗的训练方式来训练网络而不是直接比较两张图片的每个像素点的均方误差" + ] + } + ], + "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.5.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/2_pytorch/4_GAN/vae.py b/2_pytorch/4_GAN/vae.py new file mode 100644 index 0000000..aa77bdd --- /dev/null +++ b/2_pytorch/4_GAN/vae.py @@ -0,0 +1,208 @@ +# -*- coding: utf-8 -*- +# --- +# jupyter: +# jupytext_format_version: '1.2' +# 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.5.2 +# --- + +# # 变分自动编码器 +# 变分编码器是自动编码器的升级版本,其结构跟自动编码器是类似的,也由编码器和解码器构成。 +# +# 回忆一下,自动编码器有个问题,就是并不能任意生成图片,因为我们没有办法自己去构造隐藏向量,需要通过一张图片输入编码我们才知道得到的隐含向量是什么,这时我们就可以通过变分自动编码器来解决这个问题。 +# +# 其实原理特别简单,只需要在编码过程给它增加一些限制,迫使其生成的隐含向量能够粗略的遵循一个标准正态分布,这就是其与一般的自动编码器最大的不同。 +# +# 这样我们生成一张新图片就很简单了,我们只需要给它一个标准正态分布的随机隐含向量,这样通过解码器就能够生成我们想要的图片,而不需要给它一张原始图片先编码。 +# +# 一般来讲,我们通过 encoder 得到的隐含向量并不是一个标准的正态分布,为了衡量两种分布的相似程度,我们使用 KL divergence,利用其来表示隐含向量与标准正态分布之间差异的 loss,另外一个 loss 仍然使用生成图片与原图片的均方误差来表示。 +# +# KL divergence 的公式如下 +# +# $$ +# D{KL} (P || Q) = \int_{-\infty}^{\infty} p(x) \log \frac{p(x)}{q(x)} dx +# $$ + +# ## 重参数 +# 为了避免计算 KL divergence 中的积分,我们使用重参数的技巧,不是每次产生一个隐含向量,而是生成两个向量,一个表示均值,一个表示标准差,这里我们默认编码之后的隐含向量服从一个正态分布的之后,就可以用一个标准正态分布先乘上标准差再加上均值来合成这个正态分布,最后 loss 就是希望这个生成的正态分布能够符合一个标准正态分布,也就是希望均值为 0,方差为 1 +# +# 所以标准的变分自动编码器如下 +# +# ![](https://ws4.sinaimg.cn/large/006tKfTcgy1fn15cq6n7pj30k007t0sv.jpg) + +# 所以最后我们可以将我们的 loss 定义为下面的函数,由均方误差和 KL divergence 求和得到一个总的 loss +# +# ``` +# def loss_function(recon_x, x, mu, logvar): +# """ +# recon_x: generating images +# x: origin images +# mu: latent mean +# logvar: latent log variance +# """ +# MSE = reconstruction_function(recon_x, x) +# # loss = 0.5 * sum(1 + log(sigma^2) - mu^2 - sigma^2) +# KLD_element = mu.pow(2).add_(logvar.exp()).mul_(-1).add_(1).add_(logvar) +# KLD = torch.sum(KLD_element).mul_(-0.5) +# # KL divergence +# return MSE + KLD +# ``` + +# 下面我们用 mnist 数据集来简单说明一下变分自动编码器 + +# + {"ExecuteTime": {"start_time": "2018-01-01T10:41:05.215490Z", "end_time": "2018-01-01T10:41:05.738797Z"}} +import os + +import torch +from torch.autograd import Variable +import torch.nn.functional as F +from torch import nn +from torch.utils.data import DataLoader + +from torchvision.datasets import MNIST +from torchvision import transforms as tfs +from torchvision.utils import save_image + +# + {"ExecuteTime": {"start_time": "2018-01-01T10:41:05.741302Z", "end_time": "2018-01-01T10:41:05.769643Z"}} +im_tfs = tfs.Compose([ + tfs.ToTensor(), + tfs.Normalize([0.5, 0.5, 0.5], [0.5, 0.5, 0.5]) # 标准化 +]) + +train_set = MNIST('./mnist', transform=im_tfs) +train_data = DataLoader(train_set, batch_size=128, shuffle=True) + +# + {"ExecuteTime": {"start_time": "2018-01-01T10:41:06.306479Z", "end_time": "2018-01-01T10:41:06.397118Z"}} +class VAE(nn.Module): + def __init__(self): + super(VAE, self).__init__() + + self.fc1 = nn.Linear(784, 400) + self.fc21 = nn.Linear(400, 20) # mean + self.fc22 = nn.Linear(400, 20) # var + self.fc3 = nn.Linear(20, 400) + self.fc4 = nn.Linear(400, 784) + + def encode(self, x): + h1 = F.relu(self.fc1(x)) + return self.fc21(h1), self.fc22(h1) + + def reparametrize(self, mu, logvar): + std = logvar.mul(0.5).exp_() + eps = torch.FloatTensor(std.size()).normal_() + if torch.cuda.is_available(): + eps = Variable(eps.cuda()) + else: + eps = Variable(eps) + return eps.mul(std).add_(mu) + + def decode(self, z): + h3 = F.relu(self.fc3(z)) + return F.tanh(self.fc4(h3)) + + def forward(self, x): + mu, logvar = self.encode(x) # 编码 + z = self.reparametrize(mu, logvar) # 重新参数化成正态分布 + return self.decode(z), mu, logvar # 解码,同时输出均值方差 + +# + {"ExecuteTime": {"start_time": "2018-01-01T10:41:06.430817Z", "end_time": "2018-01-01T10:41:10.056600Z"}} +net = VAE() # 实例化网络 +if torch.cuda.is_available(): + net = net.cuda() + +# + {"ExecuteTime": {"start_time": "2018-01-01T10:41:10.059597Z", "end_time": "2018-01-01T10:41:10.409900Z"}} +x, _ = train_set[0] +x = x.view(x.shape[0], -1) +if torch.cuda.is_available(): + x = x.cuda() +x = Variable(x) +_, mu, var = net(x) + +# + {"ExecuteTime": {"start_time": "2018-01-01T10:41:29.749178Z", "end_time": "2018-01-01T10:41:29.753678Z"}} +print(mu) +# - + +# 可以看到,对于输入,网络可以输出隐含变量的均值和方差,这里的均值方差还没有训练 +# +# 下面开始训练 + +# + {"ExecuteTime": {"start_time": "2018-01-01T10:13:54.530108Z", "end_time": "2018-01-01T10:13:54.560436Z"}} +reconstruction_function = nn.MSELoss(size_average=False) + +def loss_function(recon_x, x, mu, logvar): + """ + recon_x: generating images + x: origin images + mu: latent mean + logvar: latent log variance + """ + MSE = reconstruction_function(recon_x, x) + # loss = 0.5 * sum(1 + log(sigma^2) - mu^2 - sigma^2) + KLD_element = mu.pow(2).add_(logvar.exp()).mul_(-1).add_(1).add_(logvar) + KLD = torch.sum(KLD_element).mul_(-0.5) + # KL divergence + return MSE + KLD + +optimizer = torch.optim.Adam(net.parameters(), lr=1e-3) + +def to_img(x): + ''' + 定义一个函数将最后的结果转换回图片 + ''' + x = 0.5 * (x + 1.) + x = x.clamp(0, 1) + x = x.view(x.shape[0], 1, 28, 28) + return x + +# + {"ExecuteTime": {"start_time": "2018-01-01T10:13:54.562533Z", "end_time": "2018-01-01T10:35:01.115877Z"}} +for e in range(100): + for im, _ in train_data: + im = im.view(im.shape[0], -1) + im = Variable(im) + if torch.cuda.is_available(): + im = im.cuda() + recon_im, mu, logvar = net(im) + loss = loss_function(recon_im, im, mu, logvar) / im.shape[0] # 将 loss 平均 + optimizer.zero_grad() + loss.backward() + optimizer.step() + + if (e + 1) % 20 == 0: + print('epoch: {}, Loss: {:.4f}'.format(e + 1, loss.data[0])) + save = to_img(recon_im.cpu().data) + if not os.path.exists('./vae_img'): + os.mkdir('./vae_img') + save_image(save, './vae_img/image_{}.png'.format(e + 1)) +# - + +# 可以看看使用变分自动编码器得到的结果,可以发现效果比一般的编码器要好很多 +# +# ![](https://ws1.sinaimg.cn/large/006tKfTcgy1fn1ag8832zj306q0a2gmz.jpg) +# +# 我们可以输出其中的均值看看 + +# + {"ExecuteTime": {"start_time": "2018-01-01T10:40:36.463332Z", "end_time": "2018-01-01T10:40:36.481622Z"}} +x, _ = train_set[0] +x = x.view(x.shape[0], -1) +if torch.cuda.is_available(): + x = x.cuda() +x = Variable(x) +_, mu, _ = net(x) + +# + {"ExecuteTime": {"start_time": "2018-01-01T10:40:37.485127Z", "end_time": "2018-01-01T10:40:37.490484Z"}} +print(mu) +# - + +# 变分自动编码器虽然比一般的自动编码器效果要好,而且也限制了其输出的编码 (code) 的概率分布,但是它仍然是通过直接计算生成图片和原始图片的均方误差来生成 loss,这个方式并不好,在下一章生成对抗网络中,我们会讲一讲这种方式计算 loss 的局限性,然后会介绍一种新的训练办法,就是通过生成对抗的训练方式来训练网络而不是直接比较两张图片的每个像素点的均方误差 diff --git a/pytorch/PyTorch快速入门.ipynb b/2_pytorch/PyTorch快速入门.ipynb similarity index 100% rename from pytorch/PyTorch快速入门.ipynb rename to 2_pytorch/PyTorch快速入门.ipynb diff --git a/pytorch/README.md b/2_pytorch/README.md similarity index 64% rename from pytorch/README.md rename to 2_pytorch/README.md index 72e219e..cbe9c54 100644 --- a/pytorch/README.md +++ b/2_pytorch/README.md @@ -2,9 +2,11 @@ ## References +* [code of book "Learn Deep Learning with PyTorch"](https://github.com/L1aoXingyu/code-of-learn-deep-learning-with-pytorch) +* [PyTorch tutorials and fun projects including neural talk, neural style, poem writing, anime generation](https://github.com/chenyuntc/pytorch-book) * [Awesome-Pytorch-list](https://github.com/bharathgs/Awesome-pytorch-list) * [PyTorch Tutorial for Deep Learning Researchers](https://github.com/yunjey/pytorch-tutorial) * [The Incredible PyTorch: a curated list of tutorials, papers, projects, communities and more relating to PyTorch.](https://github.com/ritchieng/the-incredible-pytorch) * [Simple examples to introduce PyTorch](https://github.com/jcjohnson/pytorch-examples) * [Simple PyTorch Tutorials Zero to ALL!](https://github.com/hunkim/PyTorchZeroToAll) -* [从基础概念到实现,小白如何快速入门PyTorch](https://mp.weixin.qq.com/s/zhkaenFdnB5KgaEYb-XDEQ) \ No newline at end of file +* [从基础概念到实现,小白如何快速入门PyTorch](https://mp.weixin.qq.com/s/zhkaenFdnB5KgaEYb-XDEQ)