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 {nn => 1_nn}/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 {nn => 1_nn}/images/softmax_neuron_output2_eqn.png | Bin {nn => 1_nn}/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 + 2_pytorch/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 .../1_NN/linear-regression-gradient-descend.ipynb | 968 +++++++ 2_pytorch/1_NN/logistic-regression/data.txt | 100 + .../logistic-regression/logistic-regression.ipynb | 743 +++++ .../logistic-regression/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 + 2_pytorch/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 => 2_pytorch}/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", @@ -33,6 +33,88 @@ ] }, { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(200,)\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX4AAAD8CAYAAABw1c+bAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvqOYd8AAAIABJREFUeJzsnWd4VEUXgN/Znk2jhE7oCIqg0gQVpSO9CCpFkCJdRAQLoggqIooggjRFEVEsgEiR5icgvXeQXkJLCCWkbJ/vx4bAZndTSEIgmfd58pDMnTtz7iacmXvOmXOElBKFQqFQ5B402S2AQqFQKO4uSvErFApFLkMpfoVCochlKMWvUCgUuQyl+BUKhSKXoRS/QqFQ5DKU4lcoFIpchlL8CoVCkctQil+hUChyGbrsFsAXYWFhslSpUtkthkKhUNw37Nix47KUskBa+t6Tir9UqVJs3749u8VQKBSK+wYhxOm09lWmHoVCochlKMWvUCgUuQyl+BUKhSKXoRS/QqFQ5DJytOK3xFu5FnUdVXMgd+F0OkmIs6jfu0Lhh3syqiejJMQmMKHPDNYv2AxA3kJ5GDy9DzWaPJrNkimyEofdwTfvzGXptFXYbXYKhIfx6uRe1Gz6WHaLplDcU+TIHf+HHb5g/YIt2K0O7FYHkWcuM+q5zzi+51R2i6bIQib1n8mSqSuxxFtxOlxcPBnJ6A6fc2jL0ewWTaG4p8hxiv/iqUj2rD2I3Wr3aLcl2Pjt8z+zSSrFTU7uP8OcD3/jpzHziTh6IdPGvXE1ltU//os1webRbkuwMfej3zNtHoUiJ5DjTD2RZy6D8G6XEk7uS/P5BkUW8P3Iefz++WLsNgdCI5j70QJ6fdqZtq82y/DYlyOi0Rt1Xgu+lHD28LkMj69Q5CRy3I4/vGJRbMl2fTdxOFx3WRrFTU7sPc3vny/GmmDD5XThtDuxWWx889aPRJ6JuqMxpZQc2Pgff8/9F7vNjtPu9Oqj0QgeqF42o+IrFDmKHLfjt1vsaHUanD6U/I3oG9kgkQJg3fxN2G0O7wtCsPHP7bQZ2DRd412Lus6bDUdz8WQkCHA5XIQVz09URLTHwm8IMNDlvfYZFV+hyFHkOMUfGGpGo/Wt+PMUDM0GiRQAWq0W4cMEJwCtNv0vnp/3+Jozh8957PIvR0RTtUFlTu47w7WoGCo+Xo4+n3Wl5EPhGZBcoch55EDFH8jjzaqxZdlOD3uvKdBIh6GtsmzeoztP8PXg7zi05SiBIWbavNqUTsPbodVps2zO+4mnO9Rm3qd/4HR4muGklDzRpma6xkqIs7Bj5R4v0441wcbxPaf46fS0DMurUORkcpyNH2Dod/2p/PSDGEx6AkMDMJj0tB3UjIZdns6S+SKOXmBI3ZHsX38Yp91JTPQNfhn3BxP6Ts+S+e5HSj5YnJdHv4DBpHd/BRgwmPQM+voV8hfJm66xHL5MRokkj+pRKBTe5Kgd/8VTkUgpKVyqIJ+ueI+LpyK5HBFNyUrhBOcNyvD4UkqED3vFr58t8nIoW+Nt/G/uenqO6UxeZWICoMMbrajzXC02LtqGVqflybY1CSuaL93jBOcNolj5Ipw+GOHRrtVpqd2yemaJq1DkWHKE4j+57zQfvjCBS6ejEECB8Py8O+91yj1amsKlCvq85+jOExzffYoiZQpR5ZmHfCr0m2z8cxvT3pjNheOXCA0LpuPwdrR7rXnSPUd3nMDl9PYpGEx6zh29kGsUv81iY/6EJaycvRYhoPHL9Wj3WjMMJkNSn8KlCtLuteYZnmvYdwMY1mAUDrsTu9WO0WwgKE8g3T/qmOGxFYqcjrgX85lUr15dprUQS0KchU4l+hJ7Nc6jPTDUzNzTUwkMMXu02yw23ms1lgMbjyAECCEoEJ6fz/8Z5VNBb1+5hw/ajvMwIZjMRjqNeI6Ob7cF4LPuU1j94zov5W8w6ZlzYgr5CqfPlHE/4nK5GPL0+xzddTLp7ccYYOCB6mUZv2ZUigvrnXL5/BWWzljF2UPnqPRURRp3q+v1+1YocgtCiB1SyjS98t73Nv5/f9+Mw0f8ttPhZO2vm7zaf/zod/ZvOIw13oolzkpCrIVzRy8yvufXPsf//v15XnZjS7yVeWMX4nS4533+zdYYjHqPPsYAA0+1ezxXKH2Anav3cXzvaQ+TlzXBxtFdJ9n9z/4smTOsaD66ffACI34ZQttXmymlr1Ckkfte8Uefv+rzwJYlzkr0uSte7ctn/YMtwfN0p9PhZMfKPVgTrF79zx3xnVbAYXNw42os4HZcfrrqPco9VgohBKZAEy37N2HorP6A2xS1bfkurly8mu7nu184vOUoljiLV7stwcahzSpXjkJxL3Hf2/gfrFUeg8ngpXQCgkw8WPsBr/6OZEf6byIlPmP/wysW9am49Ea9h8P4odoVmLrjM1wuF0IIhBBci7rOu80/4fTBCLQ6LXarnZZ9G9H3i5czzfRhs9j4Y/JyVs9Zi0aroWnP+rTo0/iuh5HmL5oXk9mIJc5z8TQEGAgrln4HbnqwxFtZ9cNadqzcQ8ESYbTs15jwCsWydE6F4n4m1R2/EGKWECJSCLH/trZfhBC7E79OCSF2+7n3lBBiX2K/LKme/kjdSjxQvQzGgFsORGOAgTJVSlK1YWWv/rVb1/CpFMtUKYE5OMCrvftHHT3GBjCajXQe8ZzPcTQaTZJSH9PpS07sOYU13kp8TDx2q51l3/zNqh/Wpvs5feF0OhnWYBQ/jPyFk/vOcHz3KWa+NZeRbcfd9Vz0zzz/BDq99z5Cp9dSp32tLJs37nocfR8bxvShP7Dhj638+fVy+lV7k81LdmTZnArF/U5aTD3fA8/e3iClfEFK+aiU8lFgPrAghfvrJfbNkjg7IQSfLB9B11EvEF6xGOEVitLl/Q6MW/0+Go334/Uc04m8hUMxBRoB947UHBLA0FkDfI7/WP3KjFwwjJKViqPVaQgrlo++47vSfkjLFOW6FnWd/esPe/kfLHFWFkxceodPC+eOXWB8z6/p9fDrDHlmJMd3n/LwQVjjrexZc4DDW4/d8RypsWnxdl6tPZyOJfrycccJRBw5jzk4gPFrRlG8QtGkWP0SDxbji7WjCQg0ZZks8ycuJfLsZazx7jcNp8OFNd7GZ92n4HR6+34UCkUaTD1SynVCiFK+rgn31vZ5oH7mipU+DEY9zw9txfNpOJmbr3BeZh2cyN9z13NoyxFKVCxGk+71yFPAf8hljSaPpruIS3xMAho/qQhuXItN11g3Obn/DK89+S7WeJvP8NGbOOwODmw4zIOPl7+jeVJi8bQVTB86J0nRrvttE1uW7eLr7Z9SpkpJvjv0pTusVkDBEgUyff7krPt9M3aLt/nObrVz+kAEZaqUzHIZFIr7jYza+OsAl6SU/rx3ElgphJDAdCnljAzOlykEBAXQok8jWvRplGVzFC5dEHOwKUlB3kSn11KrxZ29/Mx880cssRZSs+LoDXrypXIaNvJMFCtmr+HKhWtUa1SF2i2rp+oXsNvsfPP2XI9ncrkk1ngrc0b9yjs/vgZAoZK3FP6pA2eZP2EJEUcv8MgzD9F6YNNMPdcQGOJtngNwOl0EBGfdm4ZCcT+TUcXfEfg5hetPSSnPCSEKAquEEIellOt8dRRC9AZ6A5QoUSKDYmU/Go2GN77px4cvfIHd6sDldGEw6QnKE0iXEc/d0ZgHNh5OVekD6Aw6nmxTw+/1bct3Mar957gcLuw2B6t/XEeZKiX57O+RXmGpt3Pp9GWky1sAl9PF/vWHvdq3r9zDB+3GJT3/f1uPsXjqSqbuHEfB8LDUHyQNtB7YlBN7T3s4lTUaQYmKxShSulCmzKFQ5DTuOJxTCKED2gG/+OsjpTyX+G8ksBDwm41LSjlDSlldSlm9QIGsNxHcDR5vXo2vNn9Ck+71eLTew3Qe8Rwz939B3kJ5AHcKiKM7T7Bz9V7iYuJTHS8kX7Dfa0azAaPZQLHyRRj/zwcYA4w++zkdTj7pPAlrvC0pTbIl1sLx3Sf569u/AYg4cp73Wo2lZchLvFCsNz+NmY/T4SRPgRCfZybAfVr6dqSUfPHKVA+zlN1qJ/ZaHLPf9/snk27qvfgkTbrXQ2/UYw4OICDIRKFSBflgwbBMm0OhyGlkZMffEDgspYzwdVEIEQhopJQ3Er9vDIzOwHz3HE6nk9ircQSGmn1GtACUfrgEQ2b09Wq/cPIS7zz7MdHnr6DRanDYnDTv04iDm/7j6I4TBOUx03ZQMzoOb4dW6zbBdBja0m3uuc3UYgjQ06hrXdq91hytTkPRsoVTDBU9uvNE0sGz27HG2/j7x395sk1NBtZ6h/jrCUgpscRa+GnMAs4ePs9bP7xKneceZ/2CLdhus6sbzQY6Dfd8i4m+cJXrUTFe87icLrYt3+VXvvQihGDgpJ48P6w1hzYfJX+RPFR6smKWnBRWKHIKqSp+IcTPQF0gTAgRAYyUUn4LvEgyM48QoijwjZSyGVAIWJj4H1AH/CSlXJ654vsnLiaeX8ctYs2vGzGYDLTs25jmfRomKdGMsuyb1Xz7zlwSYq1odRraDW5Ot1Ev+IwkSo6UkuFNx3D++EUP08nCL29F+8RExzLv0z+IPn+V16b2BqBlvyZcPBXFosl/oTPocNgcPNG6Jv0ndk/RRHM7OoMOlx97kcGkZ+GXy7DF2zzCQa3xNtb9vokeYzoxZGZfhBCs+30zWp0GrU7LK+O6ULPpYx5jBQSZfJqFAILyBqZJ1vRQMDws08xHCkVO577P1eMLm8VG36pvcvFkZFJOfqPZSO2W1Xj359czLN/a3zbxWffJWONvhVEazUaeG9KC7qNfTPX+f+dvYkznSSmmF76J3qhn3rnpHmaeuOtxnDt2kQLhYel2lEop6VJmAJGnPcsdmgKNDJnZj8XTVrBv3SGv+wJDzbw77/Wk6Ka463Fcv3yDgiXC/L7tjGw7jq1/7fJ4TqPZSN/x3bLUsa5Q5EZyVa4eX6z9dRNRZy97FGKxxlvZ+Od2Th88m+Hx54z61UPp3xx/4cSlPs0oN5FSMnnQt3ySRqUPoDfquHAi0qMtMDSQB6qVvaPoGCEEHy56i5D8QZiDAzCaDRgCDNR94UnqvvAEpSqF+4zusdscFC17y1kacyWWOaN/o2vZgQyo+Tb/zt/sdc+w7wZQsWY5jAEGAkPN6I16mnSvS/PeDdMtt0KhyDzu+5QNvti9Zr9X6gBwR3sc2nIsw6X4oiKifbbbbQ4SYi0E5fFtyti+cg8rvvvHd+1ZPzhsDoqU9p1a2h8JcRaWTFvJ+gVbCMoTSOuBTT1MMWWqlOTniBlsWbqTmMsxVH76IUpUdKc4aDe4Bat+WOuxgOmNeirXeZBi5YoAcOl0FP2qvUnCDQsup4uoiGjGdZvM+ROXeGFY66T7gvIEMmHdh5w5fI7IM5cpU6VErklap1Dcy+RIxV+4VEH0Rr3Hjh9AaDSZkjemdOWSHNjgHb4YlCcQs5+4coCVs9f4XJDAHd/vdLg8bOtGs4H6neoQkt9/NM/t2G12ti7bxZTXZnE9KibJAbt33UGeH9aal97vkNTXYNRTp93jXmMUL1+EsSveY2Lf6Zw5dA6tTkv9Tk8xYFKPpD4/f7IQS6zV4xCZJd7KnFG/0XrAs5jMnhFFJSoWS1pYFApF9pMjTT3P9qiPVuf5aBqNIChPII81eDjD47/yaReMZu/8Pb0+7Zyic9flxwyk0Wpo1K0uY1eMoFzV0gghCMxjpv2Qlrz29Stpkum/bcd4sVhvPu44gaiz0R5RN5Y4dxrpa1HX0zRWpScqMHPvFyy6/gOLb8xh6Lf9PdIu7F130KdJS6vVEHHkvFue7cd57cl3edbwIu0L9uDHj+arFAoKxT1CjnTugls5je0yiZgrN3C5JKUfDue9X9/wW5ErvRzY+B/fvjOXk/vOULBEGF0/eJ4nUykavnHRNj7p8qXXrt8UaOS3S98m7ZT9lXj0h91m54WivblxxX8qCJ1BR6lKxane5FFaD3iWsGL5/fZNjXeafcz25d55+fRGPT+enELstXgG1HjL4zmNZgMNuzzN4Gl97nhehULhn/Q4d3Os4ge3Ar1w4hIGkz5Dii6zcLlcfNJlEpsXb8cSb0Vv0CE0Gt6eM8in2SWtbFu+i49enEB8TEKqffVGHXqjnonrP6L0w3d2QnrPmgO822KMh4Nbb9RTvckjjP7jLca9PJm/5/7rsyLZz2enp9l0BbB5yQ5+/PB3os5epkLNcnT/8EVKV045/85/247x44e/c/pQBGUfKUWX99pT9pFS6XpGheJ+Iz2KP0fa+G8ihKBo2cLZLUYSGo2G4XNf48DG/9j6104CQwOp3/EpChTP2KKUEGtxZ0VKA3arA7vVwXutxjL6j7fuKInZI3UrMXhab74e/D12qx2nw0WtltUYllh45uhO3zWI9UY9545dTLPi/2vW30wZNCtpgdm8eAe7/t7PpI0f+VX+O//ex/utx2JLsCElXDwRybbluxm3+n0equVdn0GhyI3k6B1/buH65Rg6hvf1cmanhjHAQMv+TejzWdc7mtfpcHLpdBQh+YM9Ipk+6TKJNfPW40p2gEtv0vPT6akpZkK9fez2hXp61VIWAmq1rM7oP97yeV/PSoM5c+icV/uDtcozaeOYtDyWQnFfkuvj+O83Lpy4xKfdvqJzqX4MeuJdNi1O36IXGhZCr7GdMJoNCI3bN2A0GylftTSGAP8neq0JNhZPXcnBzUfuSG6tTkvRsoUJyhOIw+5Iikh68e02GJIXrwkwUPf5J9Kk9MGd8sHXQiYlfks5Oh1Ozh72VvoAR3ecTNO8CkVuQCn+bObCyUv0q/Ym//tpPZFnLnNo8xE+7jiRPyYvS9c47V5rwfh/RtG0ZwOeef4Jhn03gK82f0Lz3o0wmPwrf5vFxpp5G+5Y/q1/7eLlCoNoZupI23wvM2f0b5R8qDifLB9BmUdKIoQgINhEm0HNGDLTO2eRP0LyB/tN+ZA8IdxNNFoNAUG+w2lD8gf5bFcociM52saf2bhcLpbN/Js/vlpGfEwCtVpW46X3OyRl27wT5n40n4RYi4dN3BpvZdbwn2nWqyEGk8HrnpP7TjN/whLOHb/Eo/Uq0XrAs+QpEEqFGuWoUKOcR99en3Tm3NEL7Fi1F6efzJo33xLSy/71hxjd/vOkCmBx1+P5Zdwi4m8k0Oezrkzf9TkulytN+YuSYzIbadytLqt+WOtRYcxoNtJlRHvfzyEEbQY1Y/6ExR6OZ5PZSPs3Uq6YplDkJtSOPx182W8m09+YzemDEURFRLPsm7/pW/VNYq/FpX6zH/auO+i7mpZwm4CSs2XpDl6t/S6r5qxj/7+H+OXTRbzy8BAun/N9mthgMvDxkuFMWDcancF7nTeY9NTv+NQdyT77g189lDK4F63FX69IyiB6J0r/Jv2/7E7Dl57GYNJjNBsJzGOmz+cv8Xjzquz+Zz9blu7wSmfddWQHGr9cD4PJnabZYDLQsn9jnnu9xR3LoVDkNNSOP41Enr3M6jlrPQ5GOe1O4q7FsXTGKl54s80djVswPIwLx70VvMPmIE+yXDwul4svek/zqIBlt9q5cdXFnNG/8/p0/zHyDz7+AMO+H8D4HlNBuNMja7QanhvcwustIa1E/HfeZ7vQarhy4arPiKrIM1HsXXeI4HxBVGtUxW+CN3BXEhs8rQ99xncj5vIN8hfNy/E9p3mhaG+3/V+4fwcDJ/fk2e7u6p9anZZBk3vR8+OORJ6NplDJApiD/Z+mVihyI0rxp5FjO0+iM+g8FD+4HaR71hy4Y8X/4tttObz1mIcyN5j01GxWldCwEI++UWejibvmXbDF6XCyddnOVOeq/+JTPPJMJf6d765TW6tlNcIr3HkqhdKVS3D53BXvC1J6pcaQUjJ92A8s/noFWp0WoREYTHo++/sDSlXynzvpn3kbmD3yFy6fi6Z4hWKcP3aBhBsWjz6TB35LhRrlPM4lBIYGUjo089M/KxQ5AWXqSURKic1q98iV8++CLQx64l26lhvI3z/969NGrtVpKVruzs8KVG/8CAO+7E5gqBlTkAm9UU/tVtV5c/ZAr77mkABcLt9F1oPyps15mb9IXtoMbEqHoa0ypPQBuo1+0Wfqig5DW3n5JjYt3s7S6auwWewkxFqIj0ngWmQMI1p8gr+Q4mXfrGZ8r6mcO3oBa7yN47tOeil9cCfHWz7rfxl6FoUiN6F2/LgV/PQ3ZhN59jLmkAA6vNEKgHljFyalHYg86643q9FqPGzyOoOONgObZmj+pj0b0KjrM1w8FUVoWDDBfpR4cN4gHmtQmZ2r93mkdTYFGnlucPM0zSWlZOXsNcyfuITYq3E83rwqXd7rQP5kxdltVru70IqfwjVSShJuJFD/xafY+b99RJ+/Sp4CIbzwVhtaD3jWq/+SaSt9JqiLib7BsV0nKV+1jEe7y+Vi1vCfvIrV+8LldKWYrkKhUHiS6xX/jlV7+LTrpKQokLhr8fw8ZgEOuwOn45aCd9qdaPVaworm48qFq2i0GkLyBzN0Vn+KP1A0w3Lo9DqKly+Sar+3fniV91t9yrHdJ9Hpddisdpr1akCT7vXSNM/0N2azdObqJCW8bObfrPttE98cmEjegqEc3nqUiX1ncHLvabR6HQ27PE2/iS97JGmz2+wMbzqGw9vcJipjgAGjycCoP97kgWplfc6bEOu9Uwd3RJGvBSE+JoG4NKSgADAFmXiitf/i8gqFwpNcr/hnv/+Ld1GVZJEqN3HanSTEWvgpYjq2eCsFwsPuem3XkHzBTFz/EWcOnyPq7GXKPFIqzQVZrkZe589pK7Hf5qdwOV3ERMfyUpkB9PuiG9Pe+AFLnFtJu6x2/p67jqiIy3zy14ikexZPXcmhLUeSPrebivvDDl/ww/HJPj+Tei8+xdGdJ7138BIq1PR2LgcEmzCY9D4L1rjHl0jpftupWKMctVul6cCiQqFA2fg5f/xiuvrHXo1jw4ItFCxRIFsLepeoWIxqjR7xUvox0TeYOuR7upTuT6+HX+fPqSuS/ALHd5/yW5vXGm/lq4HfYLN6Lno2i5296w4RcfRCUtuK7/7xWizBvbDcTMucnGd71KP0w+GYAt0ZSLU6LcYAA29828+nTFqtlhfebI0xWW5/o9lAt9EvUK/jU9RqWY3Xp/dh7IoRmVZLWaHIDaSl2PosoAUQKaV8OLHtA+AV4Gbh1uFSSq+jpkKIZ4EvAS3uIuxjM0luD65cvMr0oT+wcdE2hBDUblWdV6f0IigNUR2FShXg+uUbXu0arcDl9HY6ulwu/pi8nOa9s6ZmrJSSY7tOcvXSdSrUKOsV2ZMSCbEJ9K/+FtEXribtlGcMm8PhrUd587uBFCieD4fdf/Wv201bt+OwOdi//vAtU1QK652/xdBgMjDh3w/5d/4Wti7bSd7CoTTt2SBFB3PHd9ohNBp+GfcHllgLoQVC6TW2M41eesa/AAqFIlVSTdImhHgaiAV+SKb4Y6WUn6dwnxY4AjQCIoBtQEcp5cHUhEpPkjZrgpUeDw7m8rkrHk5XrV7Lh3++nVQc3BdOp5Pni7xCjA/F/3SHWvw7f4vPtAGFShbgx5Nfp0m+9HD5XDRvP/sRl05FodVpsFsdtB/aKk0F3AEWTfmLmW/N9TKnGEx6vtk/gSJlCvFq7eEc2X7c96ExcCt1H38S+Qrn4acz09DqtCyctJRvh//ktesvXLogPxzzberJCC6XC5vFjjHAkK1vWQrFvUymJmmTUq4DfARrp0pN4JiU8oSU0gbMA1qnck+6WffbZq5H3/BSZE67k5FtxnH2P8+kXU6nk6UzVtH3saG8VHqA3xz2Wp3WZ31YnUHHE22yxpE4su1nnD18HkuclbjrCdgsdhZMWMKGP7b6vUdKybKZq+lZaTDTh87xGQWj1Wv5b9sxAD5e8g5V6jzocyyDSY/GT/qGhDgLO1btBaBF38Y8VOsBTEEmhEZgCjQSGGpm8LTebFy0jQMb//MbonknaDQaTGajUvoKRSaREefuQCFEV2A78IaU8mqy68WAs7f9HAHcebURPxzbdQKrnzq2DruDP776i1cn90pqG9dtChsXbfVb+/YmsdfiefP7AbzfZpw7wsfuxGg2EJI/mE7D22XqMwAc2XGcY7tOei1gljgrC75c6re617Qh37Psm79Tfh4JYYk5/0PyB/PZ/z5g0oCZrPx+TZIjW2fQERIWzANVy7DxT++3LZdTJh3W0hv0fLrqffauPcj+DYfJVzgPpw9G8F6rT9EbdUiXJE+hUMatej/TKp4pFIrM406du1OBssCjwAVgfEYFEUL0FkJsF0Jsj4qKSv2GREo+FI7e6Hv9ki7p4bw9c/gc6xduSVXpmwKNPN2+NlUbVmH67s9oPeBZarWsRo+POzFz3xdpTi2cVlwuFx92GO/X/OIvRv1q5HUWT1uV4vNodRryF8tHpScqeLS/OrkXr8/oywPVy1K0bGFaD3yWqTvGUad9bUxBJu+BpOTBx29F3wgheKRuJTq/+xwh+YNZOmMVdqud+JgEEmItXDxxieHNMpb//uDmIwx+agQtAjvTpXR/lkxfmalvEgpFbuWOdvxSyqTkMkKImcASH93OAbefxS+e2OZvzBnADHDb+NMqS72OT/LtO3OxW72VozHAwKP1bhVXP7jpiF9Txk1MgUZKVQqnfid34rJi5YrQ74uX0yrOHbFj1V6uXY7xeU2r0/BkW9+7/ZP7zmAw6X3mrRcagU6vpULN8rz782AvM4kQggad69Cgcx2P9qc71ObnTxZw4URk0rhGs4Eazz7mt+rVH1/95bX4SAlnD59jymuzGPBlD98PngJHd57gzYajkvwIl05HMX3oD1yNvM5L73VI93gKheIWd7TjF0LcftKoLbDfR7dtQHkhRGkhhAF4EfjzTuZLiYCgACZvHUv+ZLlhtDotgXkCPaJv8hfN6zNbpFavpeyjpXiidQ0GTXmFL9aN9hv26I+Y6Bssm7maBROXcsZPMRB/nD18zm/KZKPZSLvXfJ/KLRie32ecu0YjeLJNTeaensaEtaMJK5rPx92+MRj1TNo0hvZDWlCkbCFKPlScnp90ZsS81/2tNlrfAAAgAElEQVTeE3vN/6nZZTNXs2fNgTTPf5PZH/yKLdl5CkuclV/HLcKakPppXoVC4Z+0hHP+DNQFwoQQEcBIoK4Q4lHc8R+ngD6JfYviDttsJqV0CCEGAitwh3POklKmXwOkgSJlCvHT6aksm7maPyYvJz4mntotq9PlvfYeJQGrNqxMYB4zljiLR1lAvUHH6EVvUTA87I7m3/rXLkZ3GI/A7Tz+dvhcWvZvQt/Pu6Xp/pIPFUdn0GG3eipxrV5Lz086+03hUPyBolSoUY5Dm49gv20B0JsM7joBaTzYlZzAEDM9Pu5Ej487pal/nedqcerAWRw278XLZrGzZMYqHqlbKV0ynNh9Cl9WHSEEl89doVi51E85KxQK3+S6mrsXTl5idPvxnDkUgUarITBPIO/MGZRuxXSThDgLzxfu5WXqMAUa+WjxO2ka1+Vy0fuRoZw7eiFpB6/RashbKJTvj3yFKdkhptuJux7HZ92/Zsuyne40EvmCeH1GX2o2feyOnudOiL+RQI+HBhPtK1MnUKPpY4xZOjxdYw5rMIrd/3i/SBpMBn6P+tYjhYRCoUhfOGeuS9lQpHQhpu4YR+TZy9gSbBQrXyRDYYK7Vu9Do/U2H1njraz6YU2aFL9Go2HCutFMff171v22CafTRa3m1RgwqXuKSh/c6Yc/WDCMuJh44mMSCCuW766HPZqDA5iybSxdSvbDkcxkZQo0Uu+FJ9M95ksjO3ikhQC3r6FZr4ZK6SsUGSTXpmwoGB5G8QeKZlhJOv1E4kjp/1pyrl+OIeLIBfp83pUlcXP5y/IzI+cPJayY79qyvggMMVOgeP5si3XPXzgvg6a+gjHAkLQQmgKNlK9ahnod06/4qzz9ECPmDaFw6YKJtXRNtBvcnD7ju2a26ApFriPX7fgzm6oNK/t0zJoCjdTvVMfHHbdwOpx82W8Gq+f+i97ojs5p2LkOr03tjVZ3/+WeadqjARWql+Ovb/4m5soNnmhVg6faPX7Hz1KrRTVqtaiGzWJDZ9BlqIyjQqG4Ra6z8WcFa37ZwGc9vsbldOG0OzEEGHimQ22Gzuqf4g78+5Hz+P3zxR7ZQPUmHQXDw4i7Hk+B4vnp8l4HlXJYoVCkSnps/ErxZxKRZ6L4Z94GEmIt1GxWlQcfL5+q2aVtvpdTLdRuNBvpO74rLfo0zkxxFQpFDkMp/vuExrrnfSaBS47epMccHIDdaqdm08d4ZdxLqYaenj9+kfgbCZSqFJ5iQXOFQpEzUFE9gCXeyoKJS1j947/o9Fqa9mpAq35NUrQ3X78cw8ZF23DYnTze7DEKliiQpTKWr1qGI9uPp9rPbrFzPbF4yppfN7Jz9T5mH/2KoDyBxFy5wZmDERQsEUbBEgWIPBPF+23GEfHfeTSJpROHfNOPOu0yPU1SlrHrf/tYOGkZ8TcSaPTSM9Tv9BR6Q/oO1CkUCv/kyB2/0+Hk1VrvcPrgOWwWt/3caDbwWIPKfLjobZ/3/Dt/M2Nf+gqNViClxOWSvDz6RdoOasqmP7dz+kAE4RWL8kSbmuk+1euPQ1uO8maDUdisdv9pkv3Qqn9j9EYDi6euSHIMP1KvEhFHLnDpVJTHeMYAA5O3jqVUpXCvcZwOJ4e2HHXn4qn1QLY7lae9MZsFXy5NehMSAkpXKcmUrWPVm4tCkQK53tSzfuEWxnWb7FXn1Wg2Mn7NKCpU96wLG3PlBp3C+3qVXDSY9ATnDyY+Jp6EGxYCgkwE5Q1k0qYx6UqDkBKnD0Uwb+xCju86RUhYMIc2H8Fm8c69kxytTovOoPNIw6zVa0FKr4IqGq2G5r0bMmjKKx7te9YeYFT7z3HYHNht7gykoWHBNOr6DJ3ffY7ANBSyyUwiz0bRuWR/n9cGT+9D81ca3lV5FIr7iVxv6tn37yGfxb1dThcHN/6HKdDIv/M3I6WkTrta/LftGMJH8jab1U70+StJhUkSYi1YE2x8NeAbRi18M1NkLflgcd6a/WrSz399+zcz3/oRW4INl8vllcbhJk6HE6fDM4zUX74fl9NF5JnLHm0xV24wvNkYr3w41yJjWDjpLzYt3sH03Z9n2ttNWvjz65UpXFuuFL9CkUnkSMVfsEQYhgCDl1LTGbT8t/UY37wzN1FJSn4Z+wfVGlXxmRfGVyUql9PFlqU7kFJmyWGppj0b0LhbXa5eukZgnkDaF+iZZK66U0xmIzWSpXCY/8USr8/nJg6bg+hzV1g/f3OqZxEyE19FZJJk8rOoKRSK9JMjT8Q06FwHbbI0CkIIdHod/y7YjC3BlrhjdmFNsLFt5R5cjvQolqw9HavVaQkrlp+AQBNP+UrJLCAw1OzzLSUg2JRU0Bzc5qr8RfPSuFtdj34bFm1LUYaEWAv7Nxy+I/nvlIZdnvZ7rf6LT91FSRSKnE2OVPx5CoTy0dJ3CA0LRqfXoTPqKPFQcZr2bOCRlfMmLqeLak0ewRBgQKvTIoTAaDZS7IEibrv5bWh1Wmq3rH5XUiNcOh3F+oVbfF4bOqs/5uAAdInyCY3AaDbw7s+vM3TWAB5+qiKlK5fgxbfbMmXbWK/8NvEx8SnObQgwUKRMIZ/XpJTsWXOAn8YsYMX3/5AQ67t8ZVq5cPISX/abwcS+MwgtEOx1PTQsmPZvtMjQHAqF4hY50tRz5vA5PuzwBTarA6EVCKBUpXDyFgr1qbCFEFR+6kF6je3CmnkbsFvtPNn2cYqWLcSgJ97l6qVrWOOsGAONhOQL5tUpPe/Kc/wzb73PhcpkNhITHcuMveP5ffxi9m84TPEHivL8sFaUe7Q0NqsdpCTi6AVKVy6ByUdSswo1yhF1Ntrv3DqdlkZdn/Fqt1ntvNtsDIe3HcOWYMMYYGDakNl8/s8HlH2kVLqf8dSBswx64t2ktzCNRqDVaTCHmAF4pkNtun/cEWNAysnqFApF2slxil9KyQftPuN61HUPu/2WpTso91gpfG3UNRpB5Wce4o9Jy9i0ZAfmYBOFShWgQo2yzDo4kc1LdnD6YAThFYtRu2W1uxZWmBBr8emwdTpcWGItFAwPo//E7h7XoiKiGfTEu8Rdj3MvVmYjYcXyMXHDR4Tku7Wb7jziObYt3+1lV9doNRQtV5i35wzyWWJy0eS/OLT5SFIE1E0n+si245hzfEq634SmvzEbS2xC0u/K5ZLgkuQpEMKsQ1+meZxju0/y7Ts/cWT7ccKK56PLex3uq7MLCsXdJMeFc547doE+jw71SOd7k/JVy9Csd0OmDv7OHSCe+OxdRz3PgonLuH45JknRGs1G6nd6iiEz+t75g2SQg5uP8GbD0V7K2RBgYPquzyj+QFGve4Y3H8OOlXs84vh1Bh0NX3qaN2b28+i7f/0hprz2Hcf3nCI4byDNXmlIy36NKRheACklhzYf4eS+MxQtV5hH6lZCo9HwSuUhnDpw1qe8+Yrkpf+El3nm+SfS/Iwtg7v4rBms0Wr449rsNKVgPrb7JK8/9R6W2z4no9lI789eolW/JmmWRaG4n8nV4ZwOm8PvrtNus9OidyNqNa/Khj+2IaXkidY1+Ofn9cRei/PYXVvjrSyf9T+Kly9C64HPZoup4cHHy1P3+dqs/W0TljgrQrgVWqv+TXwqfafDyc5Ve7wOgzlsDtb9uslL8T/81INM3THOa5yEOAtvN/mIE3tOIaVEo9FQsEQY49eMSrHY+ZULV/msxxTsdgcNO/t31N5OUJ5Av8XiL0dEE16hWKpjfDdinlc5Rmu8lVnDf6L5Kw2z/VCaQnGvkeOcu+EVixEYavZqNwQYaJCojMKK5af1gGdpM7ApBcPD2P3PAZ+hjdIl+f79eQyo8XaGHZh3ghCCN77tz8j5w2jU7Rma9KjPx0uH88qnL/m9x59aln6vePP9iHkc3XECS5wVa7yNhFgL545eYGLfGdTrmHJ0jTXexqzhP6V5rnaDm2P0UWxGuiT9q7/F/vWHUh3jyPbjPsNxHXYH0ReuplkWhSK3kOMUv0ajYfhPgzEFGtEnHj4KCDJR8qHitHm1qc97ipUv7HdXaLc6uHDiEoumrMgymVNCCEH1xo/w5ncDeWNmP6o8/ZDHdZfLxcZF2xjT+Usm9pnOA1XLeFUE02gEBcLD2PfvoRR37DdZNWctdqvn6WGH3cmmxdtpM/DZVO34UWejcTrTFh773OstaNztGa/QVCklljgr43tNTVXmQiV951SSEkLye0cJKRS5nVQVvxBilhAiUgix/7a2z4QQh4UQe4UQC4UQefzce0oIsU8IsVsIcdfSbVZ5+iG+P/IVXT/oQMv+TRj23QAmbfzYbxnDNgObojP4t3rZLHbW/rohq8S9Y6SUjO4wnk+6fMk/P69nxff/cGLfGYwBBgKCbtnGXS7JmYMRDG/2MRP7Tk9VkTpsvk8LS5dEbzLQ9JX6KX5eeQvlQatNm3lFo9EwaMorBPl4SwO4eDKSG1diUxyjy3vtMZoNHm1Gs4Fne9RLtXSlQpEbScuO/3vg2WRtq4CHpZRVgCPAOyncX09K+WhanQ6ZRf4ieXnxrbYMmtyLOs/VSjESp/gDRRm96C3yFfG5fgHuurL3GjtW7WXHqr1JNnIpwZZgwxJvpUmP+mh1nr9eS5yV/81dz4GN/xF59jJfD/6O/tXfYkyniRzbdTKpX62W1bzuFULwUO0HMBj19J/QncebV0Wj8/7zMZmNdP2gQ7qfJcDP5+uwO3Gl8vZQq0U1Xp3ci5CwYAwmPcYAA017NqDfFy+nWw6FIjeQpqgeIUQpYImU8mEf19oC7aWUnX1cOwVUl1JeTn4tJbIrH7+Uku4VB3Hu6EWvaz3GdKTj2+3uukwpMWngNyz+2rcJSqvXotEIn7l+Gr9clw1/bMUaZ8NhdyA0AoNJz/u/DaVm08e4fP4KA2u+Tdz1eCxxVoxmA3qjnkkbP/ZwtkZFRLP46xUs/+5/XIu8TmiBULp+0IEWfRqnO6zz065fsfrHdV7tGq2G12f05dnu9VIdw+l0cj0qhqA8gRhMhlT7KxQ5ibsd1dMD+MXPNQmsFEJIYLqUcoa/QYQQvYHeACVKlMgEsdKPEILnh7VhQp9pXl7S+V8s4flhrdNswrgbBIYEoNVpvLJxgjthm7998vaVe0iISUg6HCZdEmu8jYl9pzP31FTCiubju8Nf8r+f1vPf9uOUqhROo67PEJw3yGOcAsXz02NMJ3qM6YTD7sjQ+YbwB4u5M2Ek+9xdThcXTlxK0xharZZ8hfPesQwKRW4hQ85dIcS7gAOY66fLU1LKqkBTYIAQwm+Mn5RyhpSyupSyeoECWVsAJSU2L9nuMzTGZrVzaNORuy9QCjTqWtfLkZsWrl285vNE8LXI61yLigEgICiA5r0bMWRGX9q91txL6Scno4faKlQv6zNmPyDIRPmqpTM0tkKh8OSOFb8Q4mWgBdBZ+rEXSSnPJf4bCSwEfGQcu7fwlwvfYXPwWfev6V5xEN+N+Jm46ynXyr0blKhYjJc/fDHd9wmN/1/77U7hu8ljDSoTXrFYUiQWuA+eFSwRRu2Wd9U9pFDkeO5I8QshngXeBFpJKX1m+xJCBAohgm9+DzQG9vvqey/RoHMdj+yWN7FbHZw/fpGIIxf4bfxiBj7+jtehoezg+aGtfWbp9IdOr6Xy0w96RbvojXrqPFcr26JgNBoNn/9vJG1ebUrewnnIUzCUlv0a8+WGj9QBLIUik0lLOOfPwCagghAiQgjRE5gMBAOrEkM1pyX2LSqEWJZ4ayFgvRBiD7AVWCqlXJ4lT5GJ1O/4FA89UQFT4s5Xq/f+iOxWO5fPXeF/P63HEm/ln3kbWDRlOacP+k5lkNU81rCKz/YC4fkxmg1oEhcGg0lPSFgI78x9jRb9GmMw6QkMNWMw6XmswcMMntb7bortRUBQAL3HvcSv52fy28Vv6D+h+12vAqZQ5AZyXK6ezMDlcrF9xR62LNtB9Pmr7Fi5x2dagaqNqvDf1mO4XC6cdhcI98IxZGbfu5K2+SZnDp/j1VruNxCn3eVO0Wwy8MnydzEFmVjw5VIunYqiasPKtOzXJClZW/JC7Rkh8uxl/pyynFP7z1Lx8XK06NvYZ5I3hUKRNeT6mruZye5/9vN+m09JuOFZylGr16A36L0WBI1G0GnEc3T74IW7KSaRZy+zYOISDm0+SqmHw2k/pGWa8txkBkd3nuCNeiOxWx04bA53LL3ZyOQtn1C0bOG7IoNCkdvJ1Una0orL5Q4TNAcHkLeQ/4NbVZ55iND8IVjjbR7JzzQa33Znl0sy96P5hFcoSv2Od69sYcHwMPqOf/muzXc7E/pM91gYbRY7dpuD6UN/yLTaxAqFIvPIcbl60sLWv3bxYvE+9H10GJ1L9eeNuiO5eumaz74ajYbxaz6g3GOlMJj0mAKN5CuSh15jO/sNpZQuydevfZfmfDX3MzarneO3nfq9iXRJdqzamw0SKRSK1Mh1O/7ThyIY3eFzj3z9Bzb+x1uNP2T67s992uYLlijAlK2fEnn2MtZ4K8XKF8HldDFn1G9+57HEWbl68RphxfJnyXPcK2h1GrR6LS4fJ4R9RUdlFk6Hkzkf/saiycuJj0mgQo1yDPyqBw9UK5tlcyoUOYVct+P/c8pyrzQGToeTCycucXTniRTvLRgeRniFYmg0GnR6He/Mfc2vE1dKSWCenB+RotVqqfvCk+iNnnsIY4CB5r0bZtm8X7wyjd8/X0zs1ThcTheHNh/hjbojiThyPsvmVChyCrlO8V84ccmrUAm4c8JcjriSrrFqNn2MVyf39IozNwQYqN+pTpqqR+UEBn7Vkwo1y2E0GzCHBGAw6anaqApd3mufJfNdvXSNf+ZtSCr/eBObxc4vny3KkjkVipxErjP1PFq/MnvXHvRSGnargweql0n3eC37NcESb+WHUb8hhDtHTp12j/Pq5LtTkP1ewBwcwIS1H3Jy32kijl6kdOUSFC9fJMvmO3fsIgaT3qtmgMvp4thOb3+DQqHwJNcp/uavNGDhpGU4I68n5Z03BRpp/HLdO7bHd3ijFa0HPMuFE5fIVyRvqnltciqlK5ekdOWSqfZzOpys/nEdq35Yi1avpVnPBtRpXwtNCqkkbqdo2UJeSh/cb21lHy2VXrEVilxHrlP8gaGBTN3xKfPGLmTDH9sIDDHT9rVmNO5WN0PjGkwGSj4UnjlC5mBcLhcjWn7C/vWHk85AHNz4H1uW7eTN7wemaYx8hfPydPva/Dt/s8ebm8Gk5/lhrbNEboUiJ6EOcCnuKjtX72Vku8+wxHoeiDOaDUzaOIYyVVJ/YwB3Pd3v3/+FxVNXkHDDQvlqZRj4VU8efLx8VoitUNzzqANcinuWnav3eil9cNvnd/+zP82KX6fX0euTzvT6pDNSyruaIkOhuN/JdVE9iuwltECIR+rlm+j0ujsujK6UvkKRPpTiV9xV6neq4/PEs9AInmxTIxskUihyH0rxK+4q+YvkZeT8oQTlCcQcEkBAsIm8hUIZu+I9AoLuvYL2CkVORNn4FXedGk0e5bdL33B46zG0Oi0PVC9zT9UyVihyOkrxK7IFnV7Hw09WzG4xFIpciTL1KBQKRS5DKX6FQqHIZaRJ8QshZgkhIoUQ+29ryyeEWCWEOJr4b14/93ZL7HNUCNEtswRXKBQKxZ2R1h3/98CzydreBv6WUpYH/k782QMhRD5gJPA4UBMY6W+BUCgUCsXdIU2KX0q5Dkies7g1MDvx+9lAGx+3NgFWSSmvSCmvAqvwXkAUCoVCcRfJiI2/kJTyQuL3F4FCPvoUA87e9nNEYptCoVAosolMce5Kd6a3DGV7E0L0FkJsF0Jsj4qKygyxFAqFQuGDjCj+S0KIIgCJ/0b66HMOuD1XcfHENi+klDOklNWllNULFCiQAbEUCoVCkRIZUfx/AjejdLoBvmrerQAaCyHyJjp1Gye2KRQKhSKbSGs458/AJqCCECJCCNETGAs0EkIcBRom/owQoroQ4hsAKeUV4ENgW+LX6MQ2hUKhUGQTqhCLQqFQ5ADSU4hFndxVKBSKXIZS/AqFQpHLUIpfoVAochkqLbNCocgQ0nkOLMtBWsFYD6F/8C7NexlcF5EiPwInaIsihNrLpgWl+BWKewwpJbgugzAjNIEp93WeQ8b9AI7DoK+CMHdBaH0dos8aXPHzIeYDwOX+ip2GNHdEE/JOls0ppQV5bRhY/5c4rxOJDkQoMmQUmoDGWTZ3TkEtjwrFPYS0rkFGPYOMqo+MfBzXtcFIV6zvvvYDyMvNIX4O2DZB3HfIy82QjuN3R1bXlUSlbwXsgBOwQPw8pG131s177W2w/n3bnAAOkNFwfSjSvjfL5s4pKMWvUGQjUkr3DlZKpP0g8uogcF3ErUxtYFmNvPbarf72w7iuDsIV1Rh5pRvIeMCReNUGMhYZM+buCG9dC/gqmWlFWpZ4tUpnNK5rb+K69CiuS1VxXX8P6YpJ15SuG1+BdRm3ntnH3LHfpmvM3Igy9SgU2YCUEhk/B2KngLwOmnygKQrYkvW0gW2r247ujEReeRn3ouDyNzLYtmal6LchUrjmuaeU0oa80gGcF0lS2gkLkNb1SE1+cJ0DXSVE8OsIfSWfI0rrBoibmYpMEpxnU+mjUIpfocgGZPxcuDEeSHA3uC6DKxqfuQ6FAZznkTc+vdU/JURAxuWTNmT8b5CwEIQWEfA8BLRBiNt2+Ma63DK13I4BEdDCs8myElxX8Nyp290K35WYvsu2Dhm9DfL/iNBX9pYpfg5gSUVyPRgeT+3xcj1K8SsU2UHsZLyVuJ9T9NIGuvJgP5CGgU1gfjFDoknpQl7pCfY93FS00n4YrGsQeb9K6ic0eZChY+H627h3/05AA4HdEfoqbie14zDIeKT9QKJZKjUSkDc+R+Sb7X3JdT2VezVuh3hg97Q9aC5GKX6F4i4jpQPk1RR6aLhlygkAcye3khWh4C/VlQgCaQfjM4iggRkT0LYBHPvw3F0ngHUt0r7PYzeuCWiONNQEywogMZxTVwbpOIm8+gq4ogCte/HCgLcpywf2/b7bjY0SFz8fu36RH0x1EUGvIrQF0/qkuRal+BWKu4wQOqSmILgueV/UlgT9w2DdBJo8ENgDEdDBfS2wO8R+jeebggkCnkMYnwZdOYQu3HvMdCJtW/zszp1g2wbJzDBCWwACu9y6XzqRV7qCKxLvt5jbFzU/aAv7bBbmF5EJv4PzHO7PQAMYIOR9NOb2KY95F5GuWJAJoAlDiJT8INmHUvwKRXYQNAxiRuC5ezUhgocjTPV83iICX0G6LkP8PBB69w4/oC0i5F2EyLz/ykJTAIkRtxP59gt60ORPfQDbNpCxeCt9AZpCiQsCbme2KzLZPAGIwAF+5DJD2Hxk/AJ3OKe2AMLcGaGvkrYHy2KkKwZ5/R2wrsH9rAUg9GOE8YnsFs0LlZ1TocgmpGUF8sYE9w5WVxIRPBRhrJv6fa4b4IwAbTGEJoSb/4cza3cpXVeQUfW9d/0iGFHgX7cCTul+y1/I68NBxnlfNDZB5JmA2ycgkTfGQvwv7p+FHoJeQxPYNXUZpR2s/0PaDyN0pcDUBCFMaX3ELMEV3RHse3GfL7hJACJsPkJXLsvnT092TrXjVyiyCWFqgjA1Sf99mmDQPIh03cB17S2wLAUcSEMtRMgohK5kxuTS5IO8M5HXBoG0ABJEKCLv16kqfQD0Vd1vI14DByCM9TzeTkTICGTwUHBdA01+hNCnOrx0XUVGv+B+W5DxSGGGG+Mg/68IbfaU9JaOY4n+h+TPbUPGzUaEfpgdYvlFKX6F4j5ESomMfgmcR0gKkbRtRka3hwKrEZrQDI0vDDWgwHp3VA5a0FVI8xuF0BZCml92nyhO8keY3P6L5GGe4N6p+7Hr+0LeGOd+47n53DIepAV5/V1Evu/TPE6m4jyfaH5L7nh2guNktoiUEkrxKxT3ITJhETgP4WlHd4G0IhMWIgJfzvAcQmjBz2GqVO8NfgMM1ZDxP7rt/aamCPMLCGHIsFzuCKLkJ3ddYNuClLbMmSO96Cq4k9R5YQBDzbsuTmooxa9QZBPSdRUZ9w1YVoMmFGHuBqZmqe6spbTBjQ/wHfdvAcehtM0vbYkmlnxpcg5L5yW3OUNbCHQPeckpLf9zP48rCgx1EEF90OTLivQJ916kjNAWQga0hYQ/8Yy6skH8d7ikBRE8OHsWJR8oxa9Q3AWkdCET5rvNHzLefeo1YUViPL8NnCBj/gP7QUTIsJQHs64Dv0EZOtClvEuX0oW88UWiKcYFwoBMwakqpUTGfAgJv7pPEeN0m23yzkJowwBwxX4LcZPcYYwACeeQlqUQtsQd7pkJSGlH3ph4aw4PtGB4IlsVqwgZhdRVdKeVcJ2/dUHGQfyPSNeFRMd29nPHSdqEEBWEELtv+4oRQgxO1qeuEOL6bX3ez7jICsX9h4x5H2I+ctvMnWcgfi7ISDwONMkEiJ+NdEa7UybYdiMdx/CKvHP5OcQFgAYR0DZlWWK/gvgfcO9MrSBvwI3xuOIX+b4hYSFY5nMzCRwyARzHkNded4/nioPYL5MpZIc7YVzcrBRlSQ/y+ruJi1UyM48IAE1BROjHmTbXnSCEBk1gZzA+g3fyOos74Z7zYnaI5sUd7/illP8BjwIIdwKPc8BCH13/lVJ6e3QUilyCdERAwiI849V95bjBvfuOnQmWxBBH6QRtMcg7/dbhLEMNfB+C0kLwcHfUjz9ZpBPiv8f79GsCxE0Bc2uk44w7Fl0YwNQYGf+9j122A+y7kM5ot6NV6HxYnuzuU8CZgHRGg2UZ3id/BegeRuT77p4xo2A/iM/frzCA41S6HNlZRWaZehoAx6WUpzNpPIUi52Dfm6gYfTn/kiHtkPAjHgrOeQJ5tTuErUIIgdCVRga0goQleETN6CsgzM+nMn6CfzlckbhiJ0Ps9MQGDcSMAeGvGIzWbcbQhvkO3wTQFElZnrTiPIWOFNUAACAASURBVOtWnDK54pcgY7yUvnRdQcbNBdtm0JVAmF9G6CtkjiypoX8IHAfwejORVtCVujsypEJm5eN/EfjZz7XaQog9Qoi/hBB3FiKgUNzPaAvhNwGbZ0cQJrxjwV3u7J32W8VNRMhHbtOGviboqkDwG4h8P6bupBWB7hTQPqcPh9gZuN9MrLgXFQvIa/jcI2qCQFvcHTtveAxIHoMfgAjqlbI8aUVXws/i4h15JJ2X3AVq4qaDfRskLERGd0Ba12SOLKkgAnsm+kJuxwSmxoh7YLcPmaD4hXupbQX85uPyTqCklPIR4CvgjxTG6S2E2C6E2B4VFZVRsRSKewd9VdAUxNvuawCCQJgBI+irgK4ivhcJjYdtXwiBCGiBJv+PaMJ+RxPYDTAgrZtwxXyM68aXSMcpr1GEEBD8NpD8lKsJtGXwnUTNmLjrNyb+rAVMiNAxSTVuRZ6vEtMhG9x9RTCEvO8+D5AJCE0+CGjtLbcwIgJ7ezTJ2MmJmTxvPosLsCCvj0DKVPIEZYasuhKIfHNB/xjujKHBYO6KCP00y+dOKxlO2SCEaA0MkFKmWuhSCHEKqC6lvJxSP5WyQZHTkM6L7kpa9gOAFjRBbkVgqAWOE6AJRmiL4Ir70X0K1csGb0QUXOtWgL7Gly63s9W2JtEer3N/hYxCY/Z29krrWmTsJHCcBX1FRNAQZMKfkDAXr4VHmCH4TXDFuUs8asMRgS/5TEMgnVHgugq6Upluc5fSiYybBnE/uB3S+soQ/JZbpvhfARsYG4Pl70THeXJMiLBlCF3xTJXrXiE9KRsyQ/HPA1ZIKb/zca0wcElKKYUQNYHfcb8BpDipUvyKnIp0XnIrZm2JpN2yx3VXPDK6rfsk6E1nsAgAcw80wa959U+6z/I/5PUhPrJqGhEFN6bo8E0aw7bdnYffq05AyotOduK68grYtnBrobxpkvJVmlGPKLgBoclzd4S7y9y1XD1CiECgEdDntra+AFLKaUB7oJ8QwoH7r+nF1JS+QpGTEdpCKV/XmCH/fGT8T+4TqpoQhLmr34ydN5GWpb5TKQs92DZCWnIC6atBQDtISAzdRANoIWREtil9dzGXA+A47XZe3/aW4bJuAdt6PCNoHLh9DXo8fSV6MNTOsUo/vWRI8Usp44D8ydqm3fb9ZGByRuZQKHIbQhOECOoN/2/vzMMcK6v8/zk3eyrVtfXCDqK4sAgygAuLssjSsimILIMgKAKiIgiijojojxEQBFQEBEaaAUQQBIUWWmQR/YG0DA1IyzqItPRW1V1bkspyz/zx3qquSm6W6qSSVNf7eZ48lb7ryU363Pee95zvSZxSeeOxncKMKl4WU13IRUSQjm+j8U+g6d+b+Hn0YCS4RfV21BF1B9E1J0HuJVAHyKPh3ZCuqwGFtV/CPy02C4G3j8sEyplwVucPGvsBSqDZF9Hk7aB9SGRfT1m0samotnLXYmkwqiYFEYkiEqm8QxVI7BNo6n582zlOUg9eQjv49rytFdNg/peQvNF8/vDuSOLMkjF3HbjAy4kfN3LPPIEOfB8Jv7dMK8eQ6Q8cO8IUzAU2aogscjW4yV/DwPmYJyoXTT9iium6b2mo869XOqfFYqkCHfkTuno/dOWH0BX/hrv2XNStphdteSS8K7SdiMm8iXqZNXGk8+q63VxqRQcvgqGLIP+/prF8+rdo78fRfPFErGoO0r/DT+aY1H+jAxdT1ChmDEFiRyCB2Uhkj5Zx+uomYeDbmPmI0eyiJGRfglTJhMcpwY74LZYGodkX0TWnMSFjJ70Qddcg3T+r+fhO+1fQ2JGmWlbiENkHcRI1H7ceqNtnOodNcNau0dNP3oS0F+oTuZSsbgZK9h5GoP3cMQ2hliL7DEjAJxqXQtP3VS6+qyPW8VssDUKHr6c4T37EhC/yy+rSRESCm0Pw6JqPU3eyL3nx9sJRehYyfynaXCSMBrfzmr77UaLWIbAJEj+ueGt3DTq8AEYeNr1w2z6DRHaf9MdYH1Rd890PXQcM+W8kjb1BW8dvsTSK3Gv4auxI2KRvNql7VDlUs+apJP07U2sQ+xQS3nnyBwps4iO3AMZZb+27i3R8D+071qtL8Cu8ioAze13T+vCuSMfFpo/A+M/grkVXH+YVwBkbNPMU2n52VW0ea0UHL4HkbRTPv4wSQ+LHTrkd47GO32JpFOGdPa38Qg2XDATf3hSTyqGaQ/tO9IrOkoCgqYVGwjlxcvXHyS+D7P9A8G2Qe5WJcfsI0vYZ3/0k9B6Y/QDa/23IPEyx8xek6zpP9MxBHH9NIR1eMMHpG1IweJkJjUkI0ovQzKOm/WPsk0jwbVV/vnKoO2SUWH3nIwJAENpObtjTxyjW8VssDULaTkZTdxlhszEnFoP4kS1ZHEX6d5B9nnUjVQXSMPRDNP7xijarjjZTv9XEthHvFcRUL3chHd9FQu8ueQwJzIWuK9DVh5qm9GPOOwqRDyOhbSp/jpFH8JWikACafRYGL/NuyBlA0OEFaMdlOLHJ90MuIv9WaYE+6URm32M+Y4OxWT0WS4OQwEZIz68gsi/ILAhsZsTV2r/ZbNN80fSD+IYnJOQbly9i5A/rJnQ16d3wMuDMgdm/R+Y8ikQ+XPEwIhGk5w5oOwGczUyOfvtXq29q4pRoBKM5GHkScs+y7sag5n3/WaZDWa0ENjbnKUIgvGNTnD7YEb/F0lAkuBXS9ZOxf2t2KSRvRp0uiOxnKndbBacDMzYsDrFUMxmpyVvxvXG4feAuR4Llq5gnnNGZZTJ/irJ/qti37TNo5okCWwIQ2ApGFuI/UZxFRx5BohUlyMqf20mg8aMgeWfB+SNI4gs1HbsW7IjfYmkCqi7u2rPR3qPQwUvQ/m+hq/ZEs88327QxJP4p/Kt+Q54SZwVKFliNwJrTfPP3pwKJfMCIzEnMu2F54938a+ZVivSjRhgu85QRtXNLZORUOn/7NyDxWaPSCRDcBum6bkqK5Kq2qRWlc6xIm2VDR1P3ov3nUdxGcC4y9zFfAbdmYNRCLzbhHRSIIN03IqFtq9j3Fk9p1C+bxYHIh3G6rvVZNzWopkxzlqErKV38NZ6gCckxgumGloNZ5+PEj6zBBnfKvtuGibRZLJb1Q4euwVdBUnuNzEAVjrUROG3/jsYOgcxTpho4vGvlZi8eEj8STd9tOpAV4cLIY6jmqj5erYjEjJhdVU4fTN/ggkKxgQvR0PZlJ6TL29AaN/TWsMJimWnkl5VagbqDDTWlEuJ0INH9kMgHJ+WkRSJI922sa+Dih6LuWtM8ZuVeuKv2wx263tQPTAX5f9V4gIzRG5rmWMdvsTQDKezGNY4WLORaX0RCEJ1PcXDBgfAHgTzae4RJ+XSXQ/4NGLrKNK2ZCkK1dn91vVaU5VHNoCOPoOmFRq6ixbCO32JpBuHd/JdLGxKYfINydZOolqoMbS4y62smrREvY0ni4HSBtKErdjHyyROKutIw8jiafbH+trSfDcQKlsYguC0T2zqWeLKRuJFSLoNmlqArd0fXfAVd+zV05e64/RfSSvOp1vFbLE1AEmd7vXZl3NIotP9HkeRAOTT3D9zeo9GVuxi1z77j0ZrDGfVFnG5k9kKk4yJoOw3azwcSMPIQ/j1+AcQrHquzLaHtkJ5bILw7SAcE3410Xor03AntZ5saAWdTo3TadqrJBBrDu0GUSfFUzaBrPgvaDwxjBPnyRlG093DUr5BrbF+3IT2BwU7uWixNQULbQM+d6OBVRs4gsCmSOB2J7FX1MUybxqM8J+M5jMxTaO+n0M4rYPBS4zydDoifZITJmjS5KBKG2HyE+Wj6IUzbbb/CptEdHE+KYQpsCW2PdJtOsappSP0W7T/HfAdd1xmhOw+N7IEmbwN3CInNh+jBJnxVisz/p6SqaO4ldOhapP1LExZrfgU68G0YedT8O7wX0vEdZIo+P1jHb7E0DQm+A+m6av0PkF7oSQGMHyW64A5A3wmMjabdVSZu7q5EZn19UqfQ3BugaQi+fVJPImXJveQJr5UiAE63Nwcwdag7ZOYX3OVjDep1+GbounpMO0fCuyGlwnK+B01ByVF73rS1HOf4VTPm5u2uZOyGkXnMLJvz+ylrzmJDPRbLNEXzb2DE0wpJU9zAJAXJW6vOGNLcG7irD0FXfwztPQJdsRNu38lo5qkarcaItUlhnH2UAIR2RrpvmfKnEx2+wWT5jN2ETGtw7T/HC7tk0NR9uINXoKl7zNNBJcK7UfZJpvBpYOQh041swvI86CCkF03m40yKmkf8IvI6MIixPFdYQCAiAlwJzMf8Sk9U1adrPa/FMtOR0LaoxEtUyPpMJErITKQ65WsEVPNo3/Ge3PG40Wvmj2jfX9D4sTiTfHKYQGQfE19XL/4NgGNG+T1341RoSF830gvxzenXJJr5Hxg4x8hLaNJc58FLoeeOspPv4nSj7efA4EUUfwchiH5s4qLc//p/f5o0ncqmiHrdUvdW1Z1KVI0dBGzjvU4Bflqnc1osM5vIPuDMA8bHnMOldXQ0VV2qaOZJbxTqF7IYMU8OuVcmb6+HSBjpuR0iH8ZIEwcgvCfSc1fjnD54k+s+aB6SN0B++TqnrElwV6P951c8rNN2AnRcjvleRsNjcQhsgSTOmLhxcBt/OyRu1k0RjYjxHwYsUJPL9ISIdIrIxqr6VgPObbFssIiEoOeX6OAVkL4fEIgdBuGPwNoT/HfKL/PE18rgrq5wZtdIHdfQy1YC85Cua1A1I/66zR9Mxob4v6OD3ymYb3BMb4TMnygO2biQeRzVfEV7ndjH0MiekP4NmnsDCe9kRPgKJ4Yjexv10PzIuPMFwekxN/Ypoh4jfgUeFJG/isgpPus3Bf457t9vessmICKniMhiEVm8atWqOphlsWz4iNOB0/FtnHlP4sx7AmfW1xHSTMxJH0XR5B2VDxraqYSU8CiBMjH6ySESaIrTByB2uBd6iZgRtrQZJ9xxERPTbAspt27cVs4sJH6c+U6iB/lmA4kEzdNP9BDPhpjJHOr5ZfnsoRqph+PfQ1V3xoR0viAi1eejjUNVr1PVXVR1lzlzSuhnWyyWyuhwicpg1wvhlEeCW5gnB9+bh0fkwPU2r1UQcXA6LkJm32eqi9XLiOo9CqSL4oBIECJ7133SWZwunM6LceY9gzNvCU7nJVPemKfmT6Cqy7y/K4G7gcLcp2XA5uP+vZm3zGKxTAXhD/qP2CWORKvrKiWzvot0XAjOFpgRbghTeRuFjsuQQE8dDW4y+X9A6j6MimgKyJgUWImYpwCC5m9gHjLrO821tU7UFOMXkTbAUdVB7/3+wIUFm90LnCEivwDeD/Tb+L7FMnVIoAdNnDlOflhNGCH0PtP9q5pjiEDscCR2uEkBHfkjiIOGdkdyz+CuPQfEQaKHQ/gDiIjJ+c/82TjJyD4le+C2Gjp0LcXS0RlQhY7vI/m3ILiVN9qfuvBLI6l1cncecLfJ2CQI3KqqvxORUwFU9Rrgfkwq5yuYdE7/zsoWi6VuOImT0fC/oak7vKrTAyGy/3rF08Vph9h8ALT/G+jY6Bg09TuIH4USguTNmO5cAeB86LoOCe9avw81VbglxqESQkLvQWKHNNaeBlCT41fV14AdfZZfM+69As3rMWaxzFAkvJPJJqkTmlkyLiQySgqSt3jvvfCSl76ua06DuX+esurTuhHeFVL/olhqQSCwRTMsmnJs5a7FYqkKHXkM/yYmOfyrVd3qmrI3GWn7gpdLP94dxiBxduvftNYTq9VjsViqQpw4SpDSipo+TFVDlWpOrQrZxZB9DgKbmHkHH0cuwc2h52506CemeC2wEdL2eSS6dxOsbgzW8VssluqIfgwGr6x+e82X7jtQuKk7CDh1mxBWHUH7Tobc8+bmI2GTI9/9C5OuWoAEt4DE5yD7flMNPcUCcc3GOn6LxVIVEtgI7bgE+s8FCZqsF4ZL79DxvYqOXLMvof1fg5xpuqLhXZGOS5AapRt0+HrILmEsNKVZ0BS69ixk9p0Tt9UcuvZsGPmDNzEtplFM9y3r1RRnOmAdv8XSZDSzBB38ntHOlwTEjzfa/F5/W3WTQN5k1zQZJ3YgGtnDpG3imErgzGNMnBgVCO+FU5ANo5qB9EI0sxgCm0N0P+g7dmJRWeYvaN8xMHtRbRW9yV9RPB/hQm4p6vZNKJDS5K1GgoKRdbpq+RS69stIz/Tvr+uHdfwWSxPR3Cto36cZy5TRfhi+HnVXQOJMtP88r7kHaPCdSMf3kdC7qzu2Zs0oNvcKBLeGyL51mawUJ7GuC1VoB7T3k0ZGWIc92YFO021rvC3uoNnOHRU+i8CQXy+CPLhrIPO4J+K2vpRohoKYENR4krdRnMfvQvYFNL8aCcyu6oyaXYqmHzLXOHrQhIYurYZ1/BZLE9Ghn1E8Mk1D6tdo5gnIv8VYxkzuBbTvOJizqGJJv7p9XoOPXuNoJQ4yy5MVnls3+yUwD+b8HtIPorlXkeDbIbp/0Q1Gh6+F/Jusmxgu3YIQzXnb1kDsEBj+OUUT0YEtkUCBJExJnX2nzLqJuAPfNw3jyaAEYOhH6Kxv4cSPmqThjcGmc1oszST3Av7yx0HIr6IoTVKzaPLuiofVgYu8JiPDgJq/7kp04ILabS5AJIzEDsZp/zISO9j/qSJ1H1VnA4njNT+vwaa2U72GL6OSxzGQdqTzsuKNYwcBPjY7PVXJWGtmiffUkMZ8l1lgBAa+i+Z71/szTCV2xG+xNJPguyH3MsXOP8NEnf1R0pB/rfJx0w9SnFufh5GHUVW8avvGUVbqIMC60EwEgtsbhdBaTuckoOduGHkIzTxjwi7Rg0HaUU0B0bFrIG2noulFkF+JCfmEQQKmCXsV10nT92OcfpERZu4gfkRNn2UqsI7fYmkikvg8mn6QiTHmKEQ+ZGL7RY20YkiNTrEpxI6GoSuY6CAdCL4HQjtA+gFzc4gdgSROq8uNSSQI0QPGhOnc5F0w9AMzhyAJNHEqEj8JcWbB7N9A6j408yQENkfin5xEs3MHI2RX8GWpQKNvsFViQz0WSxOR4DuQ7p9DcDuMzk0C2k5EOn/sjXoj47YOgtMJsYMrHzi6P8XjuoAnNNZ4ZyRtx5ubGVHzkjZw5iKdP8LpuND0E5j7OE77VxApIwe9nrip+2HgAq/JTN5Mog9ehSZvNPZJFIkfgdN5CU77F4ucvmaW4PZ+Cnf59rgr98QdXmAKxACJHYxvqIi8abTSgsio8a3ELrvsoosXL262GRZLQykMwaiOoEM/hdSdoBmIfhRJnFWVJLKZ3P3kWM/Y0cld6fllzTnytaDZFyD7LAQ2gvAeYymrU4276gD/HrbSgcz9S9mboWaXor1HM+GpTGIQPwGn/Sxz/KEfw9C1mFG/Y/52/CdONTfpOiEify3R/rZ4W+v4LZYNk8mkc6o7hKbu9CQLNkfixyHBLRts8dThLt8B/0yiADLvaaRERzHNvoyu+Qy4K33WRpG5TyCOmUDW3D/M9SZkQkyF2UNTzGQcv43xWywbKCLGAUH55ivq9qGrP25i36SBIJq8Hbp+ikQ+1AhTp57g1pBbWrzc6aJUpzHNLjXFZKMN1wuRALj/Asf0HpbglhCcHqrzNsZvscxwdOgnpuPU2MRrDkih/efR6IiA5t7EHbwSt/98NP3gWDP2WpH2cyh28FFPgdM/zKODPyjt9I2x4FQ7Adxa2BG/xTLTST+Er6yyuxbyyyC4WUPM0PQf0LVnYlI7s2j6XpP1031TzRXHEtkDuq5GBy+F3GsQ2ARpPxOJHlR6p+ySMkeMQOxIkzY6DbGO32KZ6YwVORXigrNunWafM6Pg7AtGujjxRWRUuqFGVDNo/zlMSPfUpJFNSN6FtB1d8zkksoe5AQCqbuWm6U435Es0p2/7NJL4Ss02NQsb6rFYZjrx44HCyc0AhN43Jg2h2efQ3uO82oJ+yL2Irv0qbvL2+tiQfQ6fogUgBelf1+ccmGYy7qr90RXvxl2xK+7QNagWV06r5sAtoTwaPQan/ZyGZSRNBevt+EVkcxF5WEReEJG/iciXfbb5iIj0i8gz3uv82sy1WCz1RuKfgtjHgIipI5A4BN+GdF4+to0OXk5xdWoaBn9Qnzi8hPGXrgCyz6P5VTWfQjOL0TVnQP51b0E/DP0UHfxh8cYjj3hyF4UEwXtqmM7UcsvKAWer6tMi0g78VUQWqeoLBdv9UVUbl8xqsVgmhYiDdFyEtp0Oub+ZCcvQeydOemb/5r+zpk2tQK2pi8HtjIic72RqDh38vr/OziTQoasovnmlILkAbf/CxMKx3N8BP1tcJP8K8NGabGk26z3iV9W3VPVp7/0gsBSorGhksVhaEgluhkQPQMI7Fme6BDYpsZcDTkft5xYHOn9SYq0LIw/VfA5yr5Y4OZ4g3jgCW/jPfUhsg2jAXpcYv4hsBbwPeNJn9QdFZImILBSR7epxPovF0lgk8UV80yHjx9StIbmE3oMRbPOjhqYsowTfWXpdoVR19AAjKzHBRTpmWXR6j/ahDo5fRBLAr4AzVbVwCvxpYEtV3RH4EVBylkZEThGRxSKyeNWq2uN5Foulfkh0X5j1LZAujH5QzDj99q/W7xwShMg+FEegwxA9rPbjJ86k+OYVg7bPIhKZuK1EkO7bvZ7BAfMKv99IXtTpRtdMapJsEJEQ8FvgAVW9vIrtXwd2UdXV5bazkg0WS2uimkfdVZB5ytPc2RSJHVqxMUzVx3f70N5jjESC5kx1bGBrpHtBXXLmdeRJdPAiI4XtdEHb55H48eW1etRIPRTeHFqNhkg2iLlSNwBLSzl9EdkIWKGqKiK7YZ4wWrMzgcViqYymYM3nIP9PbyI2ig5dCd0LkNAONR9enG6YvRAyf4Lc6xB6F4R2nShe5/ahwwtg5E8Q2BhpOwkJVydVLZH3I5F7JmdTizv89aGWrJ7dgeOB50TkGW/ZN4AtAFT1GuBI4DQRMTXgcLS2oiqcxTKN0dybRhxMghDZr66tFYvONXy9cchjgmdp0+Br7Vkw+8E66eg7ENnTvArPn1+N9h4K7gCQgdyz6Mgj6Kzv4cQPrfncM4X1dvyq+jhmPrzcNj8Gfry+57BYLOVxh27wGpyA+e/4n+isC3HiH6+4r+aXQ2ax0fgPf6C6gqT0b/BVucwvB/etMtk/9UGHrwG3H9PeEEzRVxoGL0RjBxlhuiaj6qLJWyC5AHQIIh9GEmdOorHL1DN9S88slhmO5l6BoSspcsQD56ORPUrKAquqKchK/hwImvuFxKDrJiS0TYWzlnIZWnKdun1GIyf9AOBA9BCk/ez1i9mPPMo6pz+evBcaqmT/+qNuP5q6F3Kvm9BS9ADfiV4d+A+vx7Cn35+6B00/AnMWIk7XlNk3Gaxkg8UyTdHU/fg7Qad83nvmUUgtwNwwhr1G7KvR3iNw+05B0wt9ZQwAiB1FcWaMA8F3+IaYVDOmIUzqHjP61QFI/RLtO7b0OcrhlGhCo7m61BOUQrMvoqv2gcFLIXUzOvAtdPXBqNs/cbv8ckjdy8RWmnnQYTR525TZN1ms47dYpi0u/vo2LppZjDt4GZq6D9XMhLU6fJuZpC0iDZlH0LXnoWu/7CvJLG3HQ3hXjLZP2Guh2IN0XuVvYnoRuL1MVP/MQv4N1Gv8Phmk7SSKdYWCEH7f1M5t9J8LOshY5a8mIb/MqwYeR3apJz9RyAhk/jJl9k0W6/gtlmmKUcYs4WTSi2D4WnTgP9DV81F3zbrVOljhyCnIPAbZ4pRqkTBO9w1Iz81I+9eQjkuQOQ8jQf9qVs2+4C/DoElYezq6ai/TD7dKJLo/JD6P0RVqB6JGXqLzyqqPMVnUXWu6mBWRhfTCiYsCm4CvdlEAAm+bCvPWCxvjt1imKRLaFo2fAMmbgAxmHDfqdLwRvQ5DfgQd/AHS8f9wUws9JcwKaAod+hl07eDb/FxC74XQeyvbGNwaJY6/7o2CuwL6z0OdBEgCHboG8v+A8M5I22m+NxQncToaP97o6ThzkOBWlT/P6Bnzq4EsOBtNIgOpXNXwRBcqoXehoXca6erxYTgJI22frtrOqcb23LVYpjma/TuaftBEfZJX46tyKe1I960m3l4kVFaKEAQ2Q3ruRJz26mzRjMm6cboRCaBu0sTGda2/XaM4W5qbwJhtAZAo0nMHEnxHlfaWsSu/zDR5yS4FBALzkI7LkPCOVe3v9h4H2adZd2MFiEDb53DavzTxXG4/2n8ejDzmnWsuMusiJPKBmj9HOWyzdYtlBqKaQVe8F3/H3wHRAyF1h//6koSh7WSc9vJNR1Tz6OBlkLzFHF+ikPgKTtuxaO4NtP/rkP1rmXMLxfMVApF9cbqunoS9frblzM3HXTnx/BKHtjNA+5HQDmh4L0T7weksKtrS/Fto79Fmcnq0oji4HdJ9Y8kCL3WHzFyKM7su9Q2VsM3WLZaZiiSMc5pAAKKHmGpbX8cb85b75OeTgfT9UMnxD17uOf3RENMIDH4HN3WnKSzLPo9x7k4JG3yPauoMaiXzuDevUXBeTcLQ5UAOJQTkvb+Cxo9BxjVbkcDGMOchGPkj5N+E0PYQ2qmsQzfpqq3ZmtE6fotlA0GTd0FBBo+3BhJfhPR9XmZJYUZPHqKfhvT1/geWwiyagqNrFlL/7XNchdzzVVgewThln9TUemgA5ZeXmHCFddlGo+f2bn7J21AcZNbXxrYUCUJ079rtaQFsVo/FsqGQvgff+L3EkPzrSOwTEJiHcbSjxCB+ImQfKX3caAUpBB0q41j9CHkqn1Ezau7+L4gdVmCXZ1vbKZM4bqnTVZ6ELiYNyVuLUmE3FOyI32LZUCgpF6wgIcSJQ89daHKBqaKVdpNpEvkomv5tiX0diFRoqC4dXoipr0pDsxA7FGfWN9ctCm2PusOm8EzCJo6e+CwSqyw9UQkJbYtGPgQjf6b6iW0whVdDIPVRHm0lrOO3QL71uwAABf9JREFUWDYQJHYUmnmGopCLzILgtuatk0ASp0Pi9AmbaHR/L0ZfEG5x5iLBzcufVxy0/VwYuICqHKvEi5Q8RaJI15Wo22dCM4EtEaet8rGqRDp/hA7fDKnbTThMM6Cr8S+AG90pAdJZNxtaCRvqsVg2FKLzITYfI6kQNVW1MgvpusYoXpZBEqeBM4d1VbFBIIZ0XFxVRooT/wTSeQU4m1XYMmji9tED/e1wupHQtnV1+gAiIZzESThzHsCZ+zDSc5uRf5A2/PP0o9B+bsXrNl2x6ZwWywaG5l4xk7hOF0T29i3A8t3PHUZTd0PmCQhugcSOLlmRW/IYqujQD2H4v7yQTcYbNWcA1wibtZ9Vt8YttaCaMaGl/L9Q2mDkAZPnH9gESXwRmWYTuTaP32KxNBUjc/CSFyraqtnmzAhsHr/FYmkq4nR6/WotrciGGcCyWCwWS0ms47dYLJYZhnX8FovFMsOwjt9isVhmGNbxWywWywyjJdM5RWQV8I9m21GC2cDqZhtRJdPF1uliJ0wfW6eLnWBtrRdbquqcajZsScffyojI4mpzZZvNdLF1utgJ08fW6WInWFubgQ31WCwWywzDOn6LxWKZYVjHP3mua7YBk2C62Dpd7ITpY+t0sROsrQ3HxvgtFotlhmFH/BaLxTLDsI7fBxF5l4g8M+41ICJnFmzzERHpH7fN+Q2070YRWSkiz49b1i0ii0TkZe9vV4l9T/C2eVlETmiCnZeKyN9F5FkRuVvEv9OFiLwuIs9513bKpVpL2HqBiCwb9x3PL7HvgSLyooi8IiLnNcHO28fZ+LqIPFNi30Zf081F5GEReUFE/iYiX/aWt9RvtYydLflbrQuqal9lXpguDcsxObLjl38E+G2TbNoL2Bl4ftyyS4DzvPfnARf77NcNvOb97fLedzXYzv2BoPf+Yj87vXWvA7ObfE0vAL5axe/jVWBrIAwsAbZtpJ0F6y8Dzm+Ra7oxsLP3vh14Cdi21X6rZexsyd9qPV52xF+ZfYFXVbVlCspU9TGgsMHpYcBN3vubgMN9dj0AWKSqfaq6BlgE+LdCmiI7VfVBVc15/3wCqNSyqSGUuKbVsBvwiqq+pqYz9y8w38WUUM5OMa2yjgJum6rzTwZVfUtVn/beDwJLgU1psd9qKTtb9bdaD6zjr8zRlP6P9EERWSIiC0Vku0Ya5cM8VX3Le78cmOezzabAP8f9+01vWbM4CVhYYp0CD4rIX0XklAbaVMgZ3qP+jSVCEq10TfcEVqjqyyXWN+2aishWwPuAJ2nh32qBneOZDr/VqrGOvwwiEgYOBe7wWf00JvyzI/Aj4NeNtK0cap4/WzpdS0S+CeSAW0pssoeq7gwcBHxBRPZqmHHr+CnwdmAn4C1MGKWVOYbyo/2mXFMRSQC/As5U1YHx61rpt1rKzmnyW50U1vGX5yDgaVVdUbhCVQdUdch7fz8QEpHZjTZwHCtEZGMA7+9Kn22WAZuP+/dm3rKGIiInAgcDx3n/8YtQ1WXe35XA3ZiQSkNR1RWqmldVF/hZCRta5ZoGgU8At5faphnXVERCGGd6i6re5S1uud9qCTunzW91sljHX56SIygR2ciLqSIiu2GuZW8DbSvkXmA08+EE4B6fbR4A9heRLi9ssb+3rGGIyIHAucChqpossU2biLSPvsfY+bzftlPJqHPy+HgJG54CthGRt3lPiEdjvotGsx/wd1V9029lM66p9//jBmCpql4+blVL/VZL2TmdfquTptmzy636Atowjrxj3LJTgVO992cAf8NkcTwBfKiBtt2GCT1kMbHPk4Ee4CHgZeD3QLe37S7A9eP2PQl4xXt9pgl2voKJ3T7jva7xtt0EuN97v7V3XZd41/ibTbqmNwPPAc9inNXGhbZ6/56PyQR5dapt9bPTW/7z0d/muG2bfU33wIRxnh33fc9vtd9qGTtb8rdaj5et3LVYLJYZhg31WCwWywzDOn6LxWKZYVjHb7FYLDMM6/gtFotlhmEdv8ViscwwrOO3WCyWGYZ1/BaLxTLDsI7fYrFYZhj/B8jnYRjY/DgYAAAAAElFTkSuQmCC\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": {}, "source": [ @@ -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": "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\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": "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\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": "iVBORw0KGgoAAAANSUhEUgAAAXwAAAD8CAYAAAB0IB+mAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3Xd4VGXax/HvDQQINVSBQKQaQEDA\nCCgWVBTsiNvsroX1XX13fXcXKWJZK4p1d11d7O66lpUAFhSxgV1BMKGFjhBCJ9RA2vP+MRM3hEky\nyfSZ3+e6uDJz5kzm9nhyz5nnPPM75pxDRETiX51IFyAiIuGhhi8ikiDU8EVEEoQavohIglDDFxFJ\nEGr4IiIJQg1fRCRBqOGLiCQINXwRkQRRL5wv1rp1a9e5c+dwvqSISMjkHygiN7+A0gqJBY3q1+Xo\nVo2pV8cOW3fznoMUlZSSVLcO7Zo1JKVRkl+vs2DBgu3OuTaB1hvWht+5c2fmz58fzpcUEQmZoZM/\npji/4IjlqSnJfDH+jJ/uz1iYy4TMbFoXlfy0LCmpLpNG92XUgNRqX8fM1gejXr+HdMysrpktNLN3\nvPe7mNk3ZrbSzF43s/rBKEhEJFbk+mj2AJsqLJ8yO4eCcs0eoKCohCmzc0JWmy81GcP/PbCs3P0H\ngceccz2AXcB1wSxMRCRabd17kJte+b7SxzukJB92v+IbQHXLQ8Wvhm9mHYHzgGe99w04A3jTu8pL\nwKhQFCgiEi2cc7zx3QaGPzKXOcu2cF7f9jSsd3gbTU6qy9gR6Yctq/gGUN3yUPH3CP9x4Fag1Hu/\nFZDvnCv23t8IVD8QJSISo9Zt389lz3zDrdOy6NW+Ge///hSevHwgky/pR2pKMoZn7P4BH+PyY0ek\nk5xU97Blvt4YQq3ak7Zmdj6w1Tm3wMyGlS32sarPYH0zGwOMAUhLS6tlmSIikVFUUsqzn63l8Q9X\nUL9eHR4Y3ZdfZnSijncGzqgBqdWeeC17fMrsHDblF9AhJZmxI9L9OmEbTP7M0hkKXGhm5wINgWZ4\njvhTzKye9yi/I7DJ15Odc1OBqQAZGRm62oqIxIzsjbsZNy2LpXl7OKdPO/584bG0bdbwsHVmLMz1\nq5H788YQatU2fOfcBGACgPcI/0/OucvN7D/Az4DXgKuBmSGsU0QkbA4UFvPYnBU89/laWjdpwNNX\nHM/IPu2OWK9sumXZDJzc/AImZGYDRLy5+xLIPPxxwGtmdi+wEHguOCWJiETOZyu3MXF6Nht2FnDp\noDTGn9OT5sm+vyBV1XTLmG/4zrlPgU+9t9cAg4JfkohI+O3aX8g97y4l8/tcurZuzOtjhjC4a6sq\nnxMt0y39FdZv2oqIRBvnHG/9sIm7317K7oIi/veM7tx0encaVphV40uHlGSfX74K93RLf6nhi0jC\nys0vYNL0bD7J2cZxnVJ45ZK+9GzXzO/njx2RftgYPkRmuqW/1PBFJOGUlDr++dU6HvJGG9xxfm+u\nPqkzdev4mnFeuWiZbukvNXwRSSg5m/cybloWizbkMyy9DfeO6kPHFo1q/fuiYbqlv9TwRSQk/J2f\nHi4Hi0r4+yereGruapo2TOKJX/XnwuM64EmKSQxq+CISdNE2P/3btTsZn5nFmm37GT0glUnn96Zl\n48QL+FXDF5Ggi5b56XsOFvHge8t55Zsf6dgimZevHcSpxwR8HZGYpYYvIkEXDfPTP1iymdtnLmbb\n3kNcf3IX/nD2MTSqn9gtL7H/60UkJCI5P33rnoPc9fYSZmVvpme7pky9MoPjOqWE/HVjgRq+iARd\nJOanO+d4/bsN3DdrGYeKSxk7Ip0xp3YlqW5NrvMU39TwRSTowj0/fe32/UzIzOLrNTsZ3KUlD4zu\nS9c2TULyWrFMDV9EQiIc89OLSkp55rM1PP7hShrUq8Pk0X35RbmsejmcGr6IxKSsjfmMm5bNsrw9\nnNu3HXddcGRWvRxODV9EYsqBwmIe/WAFz3+xljZNG/CPK49nxLFHZtXLkdTwRSRmzFvhyarfuKuA\nywenMe6cnjRr6DurXo6khi8iEVGT6IWd+wu5952lZC7MpWubxrzxmxMZ1KVlmCuOfWr4IhJ2/kYv\nlGXV//ntpewpKOJ3Z3Tnt35m1cuR1PBFJOz8iV7YuOsAk2Ys5tOcbfTvlMLkGmbVy5Gqbfhm1hCY\nBzTwrv+mc+5OM3sROA3Y7V31GufcolAVKiLxo6rohZJSx8tfrWOKN6v+zgt6c9WJNc+qlyP5c4R/\nCDjDObfPzJKAz83sPe9jY51zb4auPBGJR5VFL7Rp2oDRT33JD0HKqpfDVfudY+exz3s3yfvPhbQq\nEYlrY0ekk1xhHL5eHWP7vkNs2HmAJ37VnxeuOUHNPsj8Cpkws7pmtgjYCsxxzn3jfeg+M8sys8fM\nrEElzx1jZvPNbP62bduCVLaIxLJRA1J5YHRfUr1havXqGMWljlEDUvnwD6dxUf/UhLowSbj41fCd\ncyXOuf5AR2CQmfUBJgA9gROAlsC4Sp471TmX4ZzLaNMmcXOoReRwZ/Rqy2npnp7QrnlDXr52EI/+\non9CXpgkXGo0S8c5l29mnwIjnXMPexcfMrMXgD8FuzgRiU+zl2zmDm9W/Q2ndOH/zlJWfTj4M0un\nDVDkbfbJwHDgQTNr75zLM8/nrlHA4hDXKiIxbsueg9w5cwnvL9lMr/bNeOaqDPp1VFZ9uPjzltoe\neMnM6uIZAnrDOfeOmX3sfTMwYBFwYwjrFJEYVlrqeH3+Bu6ftYzC4lLGjezJ9ad0UVZ9mFXb8J1z\nWcAAH8vPCElFIhJX1mzbx4TMbL5Zu5MhXVvywOh+dGndONJlJSQNmolISBSVlDJ13hqe+GglDevV\n4cFLPFn1mn0TOWr4IhJ0P2zIZ9y0LJZv3st5fdtz54W9adtUWfWRpoYvIkFzoLCYRz5YwQtfrKVt\n04ZMvfJ4zlZWfdRQwxeRoJi7Yhu3ebPqrxiSxq0jlVUfbdTwRSQg5bPqu7VpzH9uPJETOiurPhqp\n4YtIrTjnmLloE3e/s5S9B4v43Zk9uOn0bjSoF9qs+ppcOEUOp4YvIjW2YecBbpuxmHkrtjEgLYXJ\no/uR3q5pyF/X3wuniG9q+CLit5JSx4tfruPh2TnUMfjzhcdyxZCjj8iqD9VRuD8XTpHKqeGLiF+W\n5e1h/LQsfti4m9PT23Dvxf9NuywvlEfhVV04Raqnhi8iVTpYVMLfPl7F03NX0zw5ib9cOoAL+rWv\n9AtUoTwKr+zCKR18vPHIkdTwRaRSX6/ZwcTMbNZs388lAzsy6bxetKgmvrg2R+H+DgGNHZF+2KcH\ngOSkuowdke7nf1FiU8MXkSPsLihi8nvLefXbH+nUMpl/XjeIU3r4dz2Lmh6F12QIqOy+ZunUjhq+\niBzm/cWerPrt+w4x5tSu3DK8R42y6mt6FF7TIaBRA1LV4GtJDV9EgMOz6nu3b8ZzV59A347Na/x7\nanoUrhOx4aOGL5LgSksdr323gQfe82TV3zoynRtO6RpQVn1NjsJ1IjZ81PBFEthqb1b9t2t3cmLX\nVjwwui+dw5xVrxOx4aOGL5KACotLmTpvNX/5eBUN69XhoUv68fOMjjXKqg/Wl6t0IjZ8/LmmbUNg\nHtDAu/6bzrk7zawL8BrQEvgeuNI5VxjKYkUkcIs25DO+LKu+X3vuvKDmWfXB/nKVTsSGhz+DdIeA\nM5xzxwH9gZFmNgR4EHjMOdcD2AVcF7oyRSRQ+w8Vc/fbS7n471+Qf6CIZ67K4MnLBtbqwiRVzayR\n6OXPNW0dsM97N8n7zwFnAJd5l78E3AU8FfwSRSRQn+Zs5bbpi8nNL+DKIUdz68h0mgaQVa+ZNbHJ\nrzF8M6sLLAC6A08Cq4F851yxd5WNgD6PiUSZHfsOcc87S5mxaBPd2zbhzRtPJCMIWfWaWROb/Jp3\n5Zwrcc71BzoCg4Bevlbz9VwzG2Nm881s/rZt22pfqYj4zTnH9IUbGf7oXN7NzuP3Z/bg3d+dHJRm\nD56ZNclJh+fea2ZN9KvRLB3nXL6ZfQoMAVLMrJ73KL8jsKmS50wFpgJkZGT4fFMQkeApn1U/MC2F\nyZf045ijgptVr5k1scmfWTptgCJvs08GhuM5YfsJ8DM8M3WuBmaGslARqVpJqeOFL9byyAcrqGNw\n90XHcsXgo6lTx/+pljWhmTWxx58j/PbAS95x/DrAG865d8xsKfCamd0LLASeC2GdIlKFpZv2MCHT\nk1V/Zs+23DOqj8bT5Qj+zNLJAgb4WL4Gz3i+iETIwaIS/vLRSqbOW0NKo+qz6iWx6Zu2IjHq6zU7\nmJCZzdrt+/n58R257bxepDSqOqteEpsavkgIheLarp6s+mW8+u0G0lo24l/XDebkHq2DVLHEMzV8\nkRAJxbVd31+cx+0zl7Bj3yF+c2pXbhl+DMn161b/RBHU8EVCJpjXdt28+yB3zFzMB0u3cGyHZrxw\nzQn0Sa15Vr0kNjV8kRAJRvxAaanj1e9+ZPKs5RSWlDLhnJ5cd3IX6gWQVS+JSw1fJEQCjR9YvW0f\nE6Zl8+26nZzUrRX3Xxz+rHqJLzpMEAmR2sYPFBaX8rePV3LO45+Rs2UvD/2sH69cP1jNXgKmI3yR\nEKlN/MDCH3cxflo2OVtqn1UvUhk1fJEQ8jd+YP+hYh7+IIcXv1xHu2YNefaqDIb3PioMFUoiUcMX\nibBPcrYyafpiNu0u4IrBgWfVi1RGDV8kQnxl1R9/dHDii0V8UcMXCTNPVn0u97yzlH2HirlleA/+\nZ1g3GtTTF6gktNTwRcJow84DTJyezWcrtzMwLYUHL+lHjyBn1YtURg1fJAyKS0p58ct1P2XV33PR\nsVwewqx6EV/U8EVCbOmmPYzPzCJLWfUSYWr4IiFSllX/j3lraNEoib9dNoDz+iqrXiJHDV8kBL5a\nvYOJ05VVL9FFDV8kiHYfKOKB95bx2neerPpXrh/M0O7Kqpfo4M9FzDsBLwPtgFJgqnPuCTO7C7gB\n2OZddaJzblaoChWJZs453l+8mTveWsLO/YX85rSu3HKmsuoluvhzhF8M/NE5972ZNQUWmNkc72OP\nOeceDl15ItFPWfUSK/y5iHkekOe9vdfMlgGBXaNNJA6Uljr+/e2PPPieJ6t+/Dk9uV5Z9RLFajSG\nb2adgQHAN8BQ4GYzuwqYj+dTwC4fzxkDjAFIS0sLsFyR6LBq6z4mZGbx3bpdDO3uyao/upXiiyW6\nmXPOvxXNmgBzgfucc5lmdhSwHXDAPUB759y1Vf2OjIwMN3/+/ABLFomcwuJS/jF3NX/9eBXJ9esy\n6bxe/Oz4jppqKSFlZguccxmB/h6/jvDNLAmYBrzinMsEcM5tKff4M8A7gRYjEs2+/3EXE7xZ9ef3\na8+dFxxLm6YNIl2WiN/8maVjwHPAMufco+WWt/eO7wNcDCwOTYkikbXvUDEPz87hpa+UVS+xzZ8j\n/KHAlUC2mS3yLpsIXGpm/fEM6awDfhOSCkUi6JPlW5k0w5NVf9WQo/nTCGXVS+zyZ5bO54CvAUrN\nuZe4tX3fIe5+eylv/aCseokf+qatSDnOOTK/z+Wed5eyX1n1EmfU8EW8lFUv8U4NXxKesuolUajh\nS0Jbsmk346dlk52rrHqJf2r4kpAOFpXw+IcreeYzT1b9Xy8dwPn9lFUv8U0NXxLOl6u3MzEzm3U7\nDiirXhKKGr7EpRkLc5kyO4dN+QV0SElm7Ih0Tk9vy/2zlvH6fGXVS2JSw5e4M2NhLhMysykoKgEg\nN7+AW9/MokFSHQ4UliirXhKWGr7EnSmzc35q9mUKS0pxOGbeNFRZ9ZKwFNwtcWdTfoHP5UUlTs1e\nEpoavsSdyhIsUzXdUhKchnQkbhQWl/L03NXs2F94xGPJSXUZOyI9AlWJRA81fIkLC9bvYkJmFiu2\n7OOC4zowqHMLnp675rBZOqMG6MqcktjU8CWmVcyqf+7qDM7s5cmqv/LEzhGtTSTaqOFLzPp4+RYm\nTV9M3p6DXDnkaG4d2ZMmDbRLi1RGfx0Sc8pn1fdo24Q3bzyJ449uEemyRKKeGr7EDOcc077P5V5v\nVv3/DT+GG4d1VVa9iJ/8uaZtJ+BloB1QCkx1zj1hZi2B14HOeC5x+Avn3K7QlSqJ7Mcdnqz6z1dt\n5/ijWzB5dF9l1YvUkD9H+MXAH51z35tZU2CBmc0BrgE+cs5NNrPxwHhgXOhKlURUXFLK81+s5dE5\nK6hXp46y6kUC4M81bfOAPO/tvWa2DEgFLgKGeVd7CfgUNXwJosW5uxmfmcXi3D0M7+XJqm/fXF+e\nEqmtGo3hm1lnYADwDXCU980A51yembUNenWSkA7Pqq/Pk5cN5Ny+7ZRVLxIgvxu+mTUBpgG3OOf2\n+PvHZ2ZjgDEAaWlptalREsiXq7YzYXo263cc4JcZnZh4bi+aN0qKdFkiccGvhm9mSXia/SvOuUzv\n4i1m1t57dN8e2Orruc65qcBUgIyMDBeEmiUO7T5QxH2zlvLG/I0c3aoR/75+MCcpq14kqPyZpWPA\nc8Ay59yj5R56C7gamOz9OTMkFUpcc87xbnYed721lF0HCrnxtG7cMrwHDZM01VIk2Pw5wh8KXAlk\nm9ki77KJeBr9G2Z2HfAj8PPQlCjxKm93AbfPWMyHy7bSJ7UZL/76BMUXi4SQP7N0PgcqG7A/M7jl\nSCIoLXW88s16Hnw/h+LSUiae25Nrh3ahXl2ldYuEkr5pK2G1cstexmdms2D9Lk7u3pr7L+5LWqtG\nkS5LJCGo4UtYHCou4alPV/P3T1bTqEFdHvn5cYwemKqpliJhpIYvIbdg/S7GT8ti5dZ9XHhcB+64\noDetm/i+KpWIhI4avoTMvkPFTHl/OS9/vZ72zRry/DUZnNHzqEiXJZKw1PAlJD5atoVJMxazec9B\nrj6xM38aka6sepEI01+gBNW2vYf489tLeCcrj2OOasKTl5/EwDRl1YtEAzV8CQrnHG8u2Mi97y6j\noLCEP5x1DDee1o369TTVUiRaqOFLwNbv2M/E6dl8sWoHGUe3YPIlfeneVln1ItFGDV9q7Yis+lF9\nuHxQmrLqRaKUGr7UyuFZ9Udxz6hjlVUvEuXU8KVGCgpLePyjFTz72Vpl1YvEGDV88dsXq7YzITOb\nH3cqq14kFqnhS7XyDxRy37vL+M+CjXRu1Yh/3zCYk7opq14k1qjhS6X+m1W/hF0HivifYd34/ZnK\nqheJVWr44tOm/ALumOnJqu+b2pyXrh3EsR2UVS8Sy9Tw5TClpY5/fbOeB99bTolzTDqvF9ec1FlZ\n9SJxQA1fflI+q/6UHq25b5Sy6kXiiRq+cKi4hL9/spq/f7qKxg3qKateJE75cxHz54Hzga3OuT7e\nZXcBNwDbvKtNdM7NClWREjoL1u9k3LRsVm3dx0X9O3D7+cqqF4lX/hzhvwj8DXi5wvLHnHMPB70i\nCYu9B4uYMjuHf369ng7Nk3nhmhM4vWfbSJclIiHkz0XM55lZ59CXIuHy4VJPVv2WvQe55qTO/Ons\ndBorq14k7gXyV36zmV0FzAf+6Jzb5WslMxsDjAFIS0sL4OUkUNv2HuKut5fwblYe6Uc15e9XDFRW\nvUgCqe1cu6eAbkB/IA94pLIVnXNTnXMZzrmMNm3a1PLlJBDOOd6Yv4Hhj85lzpIt/PGsY3j7f09W\nsxdJMLU6wnfObSm7bWbPAO8ErSIJqvU79jMhM5svV+9gUOeW3D+6L93bNol0WSISAbVq+GbW3jmX\n5717MbA4eCVJMBSXlPLs52t5bM4K6tetw30X9+HSE5RVL5LI/JmW+SowDGhtZhuBO4FhZtYfcMA6\n4DchrFFqaHHubsZNy2LJpj2c1fso7rmoD+2aN4x0WSISYf7M0rnUx+LnQlCLBKigsITHP1zBs5+v\npWXj+jx1+UBG9lFWvYh4aC5enCifVX/poE6MH6msehE5nBp+jMs/UMi97y7jzQUb6dK6Ma/eMIQT\nu7WKdFkiEoXU8GOUc463s/K4+21PVv1vh3Xjd8qqF5EqqOHHoE35Bdw+YzEfLd9Kv47NefnawfTu\n0CzSZYlIlFPDjyElpY5/fb2eh95fTqlDWfUiUiNq+DFixZa9jJ+Wxfc/5nNKj9bcf3FfOrVUVr2I\n+E8NP8odKi7hyU9W89Snq2jSoB6P/fI4RvVXVr2I1JwafhjMWJjLlNk5bMovoENKMmNHpDNqQGq1\nz5u/bifjMz1Z9aO8WfWtlFUvIrWkhh9iMxbmMiEzm4KiEgBy8wuYkJkN4LPpz1iYy4PvLydv90EA\nWjRK4oVfn8Dp6cqqF5HAqOGH2JTZOT81+zIFRSVMmZ1zRMOfsTCXW9/MorCk9L/rFpaw+0BRta9T\n208RIpI4NL0jxDblF/i1fOveg0zIzD6s2QMcLC5lyuycKl+j7FNEbn4Bjv9+ipixMDeg2kUkvqjh\nh1iHlOQqlzvneOO7DQx/ZO4RnwTKVPamUaaqTxEiImXU8ENs7Ih0kn18+3X/oWKembeGy575hlun\nZdGzfTPaNvV9QrayN40y/n6KEJHEpoYfYqMGpPLA6L60qBBkll9QxH2zlrFwwy7uv7gvr90whInn\n9jrizSE5qS5jR6RX+RrVfYoQEQE1/LAYNSCVRvV9nx9PSa7PZYM9FyYpe3NITUnGgNSUZB4Y3bfa\nk6++PkX480YhIolFs3TCJLeS4ZUtew4edn/UgNQaz64pW782s3Q0u0ckcajhh8FnK7dRt45RUuqO\neCxYwy61eaOo6XcERCS2VTukY2bPm9lWM1tcbllLM5tjZiu9P1uEtszYtGt/IX984weufO5bWjaq\nT/0KIWeRHnbR7B6RxOLPGP6LwMgKy8YDHznnegAfee/HlRkLcxk6+WO6jH+XoZM/rtGcduccb/2w\nieGPzmXmolxuOr0bn407nYd+1q/G4/OhpNk9IonFn2vazjOzzhUWX4TnwuYALwGfAuOCWFdEBTLU\nkZtfwKTp2XySs43jOjbnX9cPplf7Zj89N5qGSjqkJPs8t6DZPSLxqbazdI5yzuUBeH/GVdBLbYY6\nSkodL36xlrMencvXa3Zy+/m9yfzt0J+afTTS7B6RxBLyk7ZmNgYYA5CWlhbqlwuKmg515Gzey7hp\nWSzakM+px7ThvlF9YiKrPpDZPSISe2rb8LeYWXvnXJ6ZtQe2Vraic24qMBUgIyPjyGkqUcjfoY5D\nxSU8+fEqnpq7Omaz6qNtmElEQqe2QzpvAVd7b18NzAxOOdHBn6GO79bt5NwnPuMvH6/i/H4d+PAP\np3HxgI4x1exFJLFUe4RvZq/iOUHb2sw2AncCk4E3zOw64Efg56EsMtyqGurYe7CIB99fzr++/pHU\nlGRe/PUJDFNWvYjEAHMufKMsGRkZbv78+WF7vWD7YMlm7pi5hK17D3LNSV3449nH0LiBvrsmIqFl\nZguccxmB/h51Kz9s3XuQu95awqzszfRs15Snrzye/p1SIl2WiEiNqOFXwTnHG/M3cN+7yzhYXMrY\nEemMObUrSXWVOScisUcNvxJrt+9nYmY2X63ZwaAuLXlgdF+6tWkS6bJERGpNDb+CopJSnvlsDU98\nuJL69erwwOi+/DKjE3XqaPaNiMQ2NfxysjbmM25aNsvy9jDy2Hb8+aJjOapZw0iXJSISFGr4wIHC\nYh6bs4LnPl9L6yYNePqKgYzs0z7SZYmIBFXCN/zPVm5j4vRsNuws4NJBaYw/pyfNk5Oqf6KISIxJ\n2Ia/a38h97y7lMzvc+naujGvjxnC4K6tIl2WiEjIJFzDL8uqv/vtpewuKOLm07tz8xndaVghSkFE\nJN4kVMOvKqteRCTeJUTDLyl1/POrdTw0Owfn4Pbze3PNSZ2pW2GqpS7oLSLxLO4bvr9Z9bqgt4jE\nu7ht+OWz6ps2TOLxX/bnov4dKo0vruoqV2r4IhIP4rLhf7duJ+OnZbF6235GD0hl0vm9adm4fpXP\n0QW9RSTexVXD33OwiIfKZdW/dO0gTjumjV/P1QW9RSTexU3DL59Vf93JXfjDWTXLqh87Iv2wMXzQ\nBb1FJL7EfMOvmFX/jyuP57haZNXrgt4iEu9ituGHIqteF/QWkXgWUMM3s3XAXqAEKA7GJbj8UT6r\nfrA3q76rsupFRKoUjCP8051z24Pwe6qlrHoRkdqLmSGd8ln15/Rpx58vPJa2yqoXEfFboA3fAR+Y\nmQP+4ZybWnEFMxsDjAFIS0ur8QscKCzm0Q9W8PwXZVn1xzOyT7sAyxYRSTyBNvyhzrlNZtYWmGNm\ny51z88qv4H0TmAqQkZHhavLL563wZNVv3FXA5YPTGHdOT5o1VFa9iEhtBNTwnXObvD+3mtl0YBAw\nr+pnVe+wrPo2jXnjNycyqEvLQH+tiEhCq3XDN7PGQB3n3F7v7bOBuwMppmJW/f+e0Z2bTldWvYhI\nMARyhH8UMN0bRlYP+Ldz7v3a/rKNuw4wacZiPs3ZRv9OKbxySV96tlNWvYhIsNS64Tvn1gDHBVpA\nSanjpS/X8fAHOQDceUFvrjrxyKx6EREJTESnZS7fvIdx07L5YUM+w9LbcO+oPnRscWRWvYiIBC4i\nDf9gUQlPfrKKpz5dTbPkJJ74VX8uPK7yrHoREQlc2Bv+t2t3Mj4zizXb9jN6YCqTzqs+q15ERAIX\n1oafm1/AL/7xFR1bJPPytYM41c+sehERCVxYG/7O/YXccUoX/u+sY2hUP2ZSHURE4kJYu273Nk24\n7bze4XxJERHxqn14fC0k19cXqEREIiWsDV9ERCJHDV9EJEGo4YuIJIioniozY2GuLiouIhIkUdvw\nZyzMZUJmNgVFJYBnDv+EzGwANX0RkVqI2iGdKbNzfmr2ZQqKSpgyOydCFYmIxLaobfib8gtqtFxE\nRKoWtQ2/Q0pyjZaLiEjVorbhjx2RTnKFK10lJ9Vl7Ij0CFUkIhLbovakbdmJWc3SEREJjoAavpmN\nBJ4A6gLPOucmB6Uqr1EDUtXgRUSCpNZDOmZWF3gSOAfoDVxqZkpGExGJUoGM4Q8CVjnn1jjnCoHX\ngIuCU5aIiARbIA0/FdhQ7v5G7zIREYlCgYzh+7oArTtiJbMxwBjv3UNmtjiA1wyX1sD2SBfhB9UZ\nPLFQI6jOYIuVOoMyPTGQhr/0vWA7AAAFWUlEQVQR6FTufkdgU8WVnHNTgakAZjbfOZcRwGuGheoM\nrlioMxZqBNUZbLFUZzB+TyBDOt8BPcysi5nVB34FvBWMokREJPhqfYTvnCs2s5uB2XimZT7vnFsS\ntMpERCSoApqH75ybBcyqwVOmBvJ6YaQ6gysW6oyFGkF1BltC1WnOHXGeVURE4lDUZumIiEhwhaTh\nm9lIM8sxs1VmNt7H4w3M7HXv49+YWedQ1FFNjZ3M7BMzW2ZmS8zs9z7WGWZmu81skfffHeGu01vH\nOjPL9tZwxNl68/iLd3tmmdnAMNeXXm4bLTKzPWZ2S4V1IrItzex5M9tafjqwmbU0szlmttL7s0Ul\nz73au85KM7s6AnVOMbPl3v+n080spZLnVrl/hKHOu8wst9z/23MreW6VfSEMdb5ersZ1ZraokueG\nZXtW1oNCun8654L6D88J3NVAV6A+8APQu8I6vwWe9t7+FfB6sOvwo872wEDv7abACh91DgPeCXdt\nPmpdB7Su4vFzgffwfDdiCPBNBGutC2wGjo6GbQmcCgwEFpdb9hAw3nt7PPCgj+e1BNZ4f7bw3m4R\n5jrPBup5bz/oq05/9o8w1HkX8Cc/9osq+0Ko66zw+CPAHZHcnpX1oFDun6E4wvcncuEi4CXv7TeB\nM83M1xe5QsY5l+ec+957ey+wjNj9pvBFwMvO42sgxczaR6iWM4HVzrn1EXr9wzjn5gE7Kywuv/+9\nBIzy8dQRwBzn3E7n3C5gDjAynHU65z5wzhV7736N57suEVXJ9vRHWKNYqqrT22t+Abwaqtf3RxU9\nKGT7Zygavj+RCz+t492hdwOtQlCLX7xDSgOAb3w8fKKZ/WBm75nZsWEt7L8c8IGZLTDPN5criqaY\ni19R+R9SNGxLgKOcc3ng+aMD2vpYJ5q2KcC1eD7F+VLd/hEON3uHnp6vZAgimrbnKcAW59zKSh4P\n+/as0INCtn+GouH7E7ngVyxDOJhZE2AacItzbk+Fh7/HMzRxHPBXYEa46/Ma6pwbiCeZ9CYzO7XC\n41GxPc3zBbwLgf/4eDhatqW/omKbApjZbUAx8Eolq1S3f4TaU0A3oD+Qh2e4pKKo2Z7ApVR9dB/W\n7VlND6r0aT6WVbs9Q9Hw/Ylc+GkdM6sHNKd2HxMDYmZJeDb0K865zIqPO+f2OOf2eW/PApLMrHWY\ny8Q5t8n7cyswHc/H4/L8irkIg3OA751zWyo+EC3b0mtL2ZCX9+dWH+tExTb1now7H7jceQdvK/Jj\n/wgp59wW51yJc64UeKaS14+W7VkPGA28Xtk64dyelfSgkO2foWj4/kQuvAWUnVX+GfBxZTtzqHjH\n8Z4DljnnHq1knXZl5xbMbBCe7bUjfFWCmTU2s6Zlt/GcyKsYQPcWcJV5DAF2l30kDLNKj5yiYVuW\nU37/uxqY6WOd2cDZZtbCO0RxtndZ2JjnAkPjgAudcwcqWcef/SOkKpwvuriS14+WKJbhwHLn3EZf\nD4Zze1bRg0K3f4bo7PO5eM44rwZu8y67G8+OC9AQz8f+VcC3QNdQng2vpMaT8XwEygIWef+dC9wI\n3Ohd52ZgCZ4ZBV8DJ0Wgzq7e1//BW0vZ9ixfp+G5GM1qIBvIiECdjfA08ObllkV8W+J5A8oDivAc\nFV2H53zRR8BK78+W3nUz8Fy5rey513r30VXAryNQ5yo847Rl+2fZzLYOwKyq9o8w1/lP736XhadZ\nta9Yp/f+EX0hnHV6l79Ytk+WWzci27OKHhSy/VPftBURSRD6pq2ISIJQwxcRSRBq+CIiCUINX0Qk\nQajhi4gkCDV8EZEEoYYvIpIg1PBFRBLE/wOF691fEa+RdwAAAABJRU5ErkJggg==\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 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˙Hww(mP0bW%ieJk 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 RMr{B9002ovPDHLkV1g_Lo#p@l literal 0 KcmV+b0RR6000031 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+W{{#SuP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00002 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 literal 0 KcmV+b0RR6000031 diff --git a/2_pytorch/1_NN/imgs/lena512.png b/2_pytorch/1_NN/imgs/lena512.png new file mode 100644 index 0000000000000000000000000000000000000000..1b95d4ccef1e77c6cf2b61abcaf621a63437e76e GIT binary patch literal 150951 zcmV+W{{#SuP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00002 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 literal 0 KcmV+b0RR6000031 diff --git a/2_pytorch/1_NN/imgs/multi_perceptron.png b/2_pytorch/1_NN/imgs/multi_perceptron.png new file mode 100644 index 0000000000000000000000000000000000000000..3715ff37af8d95c53e488136a0dac4f19cf9f40b GIT binary patch literal 7214 zcmV+}9MR*6P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00002 zVoOIv0RM-N%)bBt010qNS#tmY0FVFx0FVIjMY?MM02>rZL_t(|+U=dqtL(^m#(#D3 zCRqgJePW~g2iTyy3&CFKhCsjsjLycJ0S6tDRS1N>WRoni(1G9qZ$e)PvxpgRABM@o zW)jrNB#Xc-x)*kc%`DV*7=k}yPJ3_+LjtZWTHUSg)<>08($Q(XrG)fW{iH!L&mq1pT@*qBUh6xV zA`>0@;vitf0#8$S5b;1#|CzBKcqC+m4WIH!N%5cNJ<8GTcvfO7QttFk6OGXKJSR{q z6+A&(u>xK+kwLxDFIkeRnJk|Zw-{!&;^d6k)3O_QBs>sVoDr}RyD`1voE*)pzrZIY zeKN4H1b%*A!UKU!mMI;F&A0N%xM}BWQYp))uuWA7p1y5$W=yPK2)~%1S4u6|=vOVj z#3$uu>^>?LGUr8G7i^d3Bjd^LF^I_QDaOfOV>Nmj)#!(6IA7@0)TmS!8dacE>oKpW zDuHg-ry^!TrzSPn-8PE9kw7vaRCr0-y) z;l7Zyi`*`~<&H=e(jGa)tLOqc33K)Gr^7hk>gAPu~Gs zm)m6($sS`Gz;GLT2)Q54y=~YPCAp0}1hQk93NW1cY|X;ae3?E3R{0eYA;78$5Yp?z3WJ)=G^Aa(bxJp z_v5h~DpHwBRD{PjS#+XNzb2u*$yp2yVfz)e%-)R0a^Mm19zP>y)ppG%;DIlZJym^o zIl5@qCZuhkLCnwjY{h>W0XXoOv*H7M0v_624gL;Ncq~|n!1Kg_k&72cmXmJ5inmx* zLF%!=LBNVR-cH(wkc`9*{>;dZmWG+_Gm_)U1H-lvz_ED@^J-{3COC-6h&37>Y?{W@ zHIE?>N;NrPnA?qmt;i=$Jv1Hz965yw_IFi)^Pid7jZ<53aqmK@rUi_AO^99 z=7*KI;OS|G#!%omQm7Jpm^Zp1%I_s1I$kv)2`e60G(7l=qZX0V&T}>F0&Ngam}SD1^_}yjipI znB#LJeZj9dj?rOtPKvF@OsqzqmgAB_o&47ok%qZD5+syrQdG+FOHKl3rqJjE9Mu%6 z7>Fcr`kO+j1Q<1OVZRMDT!Q1&3)M%qRD*|3yi@{=dOBqX4L9JZr%*>4)!Ty;Cx8X97L$}jnv1wO6sxzV5QK-K%cI7@QjS@;Fz%Zs$ojgCphbfK1&#MwsQc^M&#hOK-R052F=v0gJ!b&exH8@OY6d_4o zrW+SZTcfopp@P!(~G1{#G&!b7!fz$a#PE}SEjN`TQTow6)| zjg3B407nyzA|x|W&)R`UD3t(XFgj%$tdth*fh3elfYF&w)j`8N7wY27_xQ!>o&*1&mgtkUnT!N|xPFCFO&b_B zbgCR0b`+}28+DdjmFy>V`_?b@cOjHYfZ>=MQhHNvl*59hF75%LR00eGI#uq4 zY9Z{|lp7W7I<`8qd$Zo3lTfN@c%{nxIw~M7^Frxc)}+eo=8ZZTAuc;NtqFR6PU5AS zj#uiGPBk=mv8mT+tkiSaKS`q@8_d26rJ4qn%3t@Ew;R>TP3tvGD)kb#4bA#V4G~H; zVJel6PxzgtK%Oz7YNAn3+nNiddbBYxFjUNfzu+gtjg!Iv8Y*F<@2{Nd-tm$|B{Eg7 zc8_uNLYZbAHI_2fd!zC?47aid_(Sb6gi=j{N)^3OrddY~R-=hVdCXPd+>hke$0d|% z+7_ck7s@c(waRLk=tk}QI()(98qb_Re=Gt@6mY z(VaKVRo|n${0jX13f4VaVUIaJH)c;Rf6`&$E#CKig-?G}0z-L(g!yz^vYUnhAt6ha z%`aaC%vtlQKK!N<0{znPQgdji6?gi+00^&oI;v>T)q;(FRXbq^1BjY2 zea%hN?fh5?l#;eo}TkevOu9et=x>aggMXHkpIoE2~K?VK`M z5f~O-=?4*+Sq9fI6sw6+;juWEtUkHIxtUO@c%_P^LyfYO%&K%0UfSh`%@QTlokOz`R5!6J=q6~pyE@X^PdI=zVU8p9-ro*QCfdwD& zLF+0%;}zev#px3u$BI9ay^Y2rAv1%qslfH5fl)ry8(vFRgi$+PsEVF_{yAmZd80ZM zz$R@cH<62Cr+xskr&RkaVnVVeTXA7GGPfDXR|O2h(@AceJCyF6q3v~{&MN!-@;$^c zsAt`JCL$&z@&+9%`fwmGc% z^!S8d)=iHK`Au7^5s>j#u4VgRYB!ki(0?$kD?mtCk@5lWc2Q+_Ll>_M7~M9e8fNx& zZD-TrE48ZVB`cw2!?KLvz`}Qq%+SDAtcF}g+X94HPBA<7HSg}yzA|8Rb!G19RJYe( z+hnG6CA27j&GOBATv#7>zwejQikSHjw!$Sqy7x7AF%PaPC8Q~$YZQs~NqJcpNo|f) zs}=WU3bQJ~*EjWvBDFF21vh%VQ?fnAicezuYc_ceM=+kauu*J3V7t4{eMUg1Uv!co za3v`rt{#S(5$PB0UTFefWIS=+3Rq9n$`CSz(Dgp8qiA%M`VI2-mt~lxdjEZxe3Rn`6cJ<1i1^Wy)loeHe z*>!v7bAbFOpYRQLj)E?Z`$u{XX$N4WRlsog81UFSh~pOMl(}ENq?cbdg@6?a88Pp= zO9dnxPExKhEIVUHk{6x%%t?2CMPkz3RT7h;NlA8}Biwz8h=gPxuQEIL6d0*X2c4U5 z+tVpKzx+urzp21to;TjqF4F+fg96*HU=I1)Jibf3W1>B?<5i;1>MHf&jCdce zR!MU5ZMjf_wftr-oAAXZ2kjM=nZ3^ckK4N)@Y(5m)@pvP9i~G3!d0vZTT4zX+nxKV zk-qR(>PP(4K3t`5)jRwHzb7@#9miMIY`|ap4BzE9PyP~~{A&w%9YF3~4KP%|uk%~> zVH*|jdA`kGtCteJ?KJ*YF9&?r3;y)%kFCOWDlEBbuid%N@SWbJt8bh0hs=KesK+ z!~L9ycvT=|Cg&d3W|vyv4x;FVO1;25(c#<^)ulP|6Y@$0JMWFlX!Wpq?lq+bGZsWd zq=f>tfE5uT2{C%#b)ATe=;-)GGbbS=wmY10gT|#oFDn8( zcY#`$UD2N|FqB3mc>2~!)xb)B`oia6C0bclY*R1e*;H>~QpyDCxOrWV)6rX{(5oUs zeG6*Ax~#~{`gdX?Q_<8>KBq9RuIX4+qBP25#jOL$Vi>^J%tCuA^AhxlvVg z$}}hHkV6$0@^5xBV;Kq28F>p2SLlz4GP!vJB8OlhhR{9v&&IJ@1(3QF^U}&bi&ViK zG>#p=30T!n{9M;H9zP)L92E@-eIlT91`Lm^i!Xu|-)LiV3IO>&->KD4KdA9_qgz@M!LIwYPnw-Fb;yT4}8%kv(ctF4p_=xx033MSYhhzUscZxfa>eqUP=aAD)(wUd!$oom@%b3KOvvmcTdxLPkbPN{Y5p-!`CB7P?VK5tX9uR0BW`ek>=O=Q=ty z6d*1slp$0fa?jiaP~@-%h64{wEu}K2QKz1$%Ls23Kz3zV1g=VNm|y(zpnx!;P;!hO z819Uaf60$|)1}%XDPMamhAtH9%7Af6sf<<3gIXfy zHGe<*VA#Lv zfS6mo(J$DrD(_oh4vU;l%^KBr1E+T|h$gP`R7$|};Z(oOt@DE*0 zSI+Jt>Gc^2g_;&HnsTEE*z!>)V3g7+5>_OHyze3{#J<6@P$&ULD;ibYTXfN-s-{zT z{2d?hH)P#2V$JIfg+d81I?||#&zw%}L6QG0&h1ebb=_WQlu)S2 z0;AR&RaKqWfl{&Jog*l6kQ^2IS~ebI-Up2m3N=|^)XHx*l_9l>fyaErCw!r1f@ii< zF<13-E$S>3YSO@{Bp?Q5NVZa+`#nW{urI39P%QcUtPipy6l&7IsHRb7QEqceRoqh; zhz1Rw&P?HBnRc@4R+m{+jbqR{P zVBgsUouf%Fg*^|FmT3>RLMYS|Ih5|N`mDS)v1PplfbvQYr$3L83gVk5%C(NlXyp-@7l zDrr=g#PULVdLt-I>C}LaStyhMqsklA4Ho&z{zHDjTgH}PHIB9@;)Qy8M-RGEDj?>$ zi@n9!H^j{NM}Ecc8p{zpj_%Z%sDbE0$sVJUMs>9oC%I1+fxpM5Q$nGHO4ZP)j(dyC zIE77*zel7~LZJj0HQuOBwcM2(ZPQ#T8}F2Oq2%Zb7#B3EgM+rg`(#R~9)nH^g%V)Y z(x}#gI7Tj6Q%W^7oe~Nqz^J8BE#=b;;}qtUYDhXI6iR^6K%?5g!VVPXlxiqCB@{}4 z(Lkf@VbKN@=9Fp(IwcfJfYCsstTSj^gTj}=#)?>0Y)Q@GKYm*P?%7vJ)L6a4j@9IuJdRtR8l@6$BsqI%Q73a z;!fY&r3%&;8FftCiW4m=Q7S@G628v=@b<2eJu8xmf~tg+hguPJ&6sS)hFArF&su;X!xk8B>(541&8D~9FjoQKFtVaINK(iIhWo}bpHaz(?(g4u zpMOG%Ph~thFn&I&Y4|66i=W7AmSGPJw;?&7kH;eppyvFSzIATF#9cdyJqAvr)d8c) zlu`k{z6EgU5Ky7)F{ZNlcIiioMnt4G+~y7emvN78NZ+F+C zmrkSAZlfYHMhgs=*+1b({XfoZhVq<7(PfMm7<$V_xe8eYBc&Pca=1cq{Z3}{?JE06 z`Jv@52>#uKJdW?}<^V+}pC^wmqF1GmUaXr-VjLkVQ$sZi z?o6jzD@zHDnzD9n!n_SMh@Oge20^>&jWzxlL}QtHh!WgqbDj=AXJH|-LU)gXb9DUm2p>Dt53^u&5dI`5);8r)6b3arXw>k zf78#&F#%v4yFk>mg7Ju+o~-@K9`p#4$?t4$SfntxJ~29fS%Gom*c&^=_pq zA|hhRy4ayr1$npH4fnFIn0y?gYHLkIKnRC+#=BO=SClVwfcn0jG2Gkr`j&BxPyg07*naRCodGod=*DRki+idaopqN-qfzdM^S&id3b82#5$z5v5oVcvv3t@KF?` zh`xu22!hh2iSQ4-Ne?X`BqRiqkU)CB$^C!7Z_l2b0D%zhxyij}?_}=G?7j9{YpgvjwsRvIT5`40`!S$QH;Js3{9%(5tD-og14i zkS&lwFW&>%0@(sJWq}NOHFddjW3vUa1v2R6dmvjNTcD;akU_7eE_ZHhwm`N(2EBX_ zWD8^q)RYA>=+)Ha&W+6$$QH<;m+ygWfoy@AvOosCn!4P%vDpII0vYu3J&-MsEl^Vy z$e>qKmpeB$TOeB?gI>M|vIVjQYRUo`^lIvI=f-9WWD8`_%lAOGK(;_lSs;U6O29>^BR7N{u;WYDXr%bgpWEs!mcK`-9}*#g-DHD!SedNp;qb7QjwvIR2e z<$EAoAX}iOERaF3rY?7GY_>qQKrd*FLvATc9Q_kU_5|FMDouwm|J# zAcJ1*Ui;kgY=N4zKnA^0vYsb^0MbfXA9J>1v2Q> z?zPV?&ladj3uMr%$;+M_oh?wi7RaDiyVpLqJX@e9Es#O4CNF#QYxFtioD9iI52$S3ttEuY_P#%%;(IR6CQZrfw2Ad+lMY)x|sGK z|M*9!tE&r}Zn|mMZoBP5pFVvStHa5?_udosVW$(TBUU=@g=fWO)?BRO%+;dNO z>7|##ym|8iyh)U`XwkyQ`A_vNkR!e7+c-;DP8I-+4msqI@Wc~Ogu#Ochf6NGBmjhe z`qQ5bV!!|W?-$c-;>3yJOJDj@7(RS>IQZa$!(Mys6`p$PDTCB^zVn^1&N}Oan{K*k zu{xaWzyJPA98aVxyZ7FEmvzoM>#T6gEw_XjGiHP{&N#!{f&~l8@_bNz3*<pa&n^p#T<3FIAV+$i(}219ifsY9rstk}?qYz4 z#$Wr|*FwvdEyLgc{`ZeGfN1cB8*V584}$jX+lR|8yDV(J`R3slzxc&R>g0^3V}T5M zP3Kx=O_#v}jFr*-{BY{ktCs<6^5n@ME(+iJ*0)02wrxL>4@jPP;)x!^Bl63sX<8tI zUemm8S?i^=KHM$5?>YpfBbPMzwfL_SiOGpcTZyg0e)Ce8wyngxFF zgC7{MjydL-z=Q?MUI4z`cH7NQbI`r5Oke-{*Tbk$qrzc_9Tu24VX}iIEvKD!TG(Wh zO`Kmz51{tw(IfQl-{0&1cuZ};fB}^x`M8P}Xrbx%`YQ6ztXEJAocqg*!Wln0bp_RK z`Ka~w+i!b<0uTbMNN>LRW*9$yyr0_W*sXTxo`+!WRuG&mf3_>n8T+W-FdYvI0o?heNsdwl5dDUYwM z@QrD13i9l2PT2x0ss;2mlKLZ$Jd)?b%k7VU{NswMuJ!uykAGb1st*vY(7M*5a=Clk z+YeiPe)(D;gWmGBf0q6+ z7U1L8|Mg%06?WWlN58Tuk?;y9-hfj1{n}KvBJKIO_Yp@NQL1#p2`BjD-epEUSgsbx zua;V_=Fh@EYyn=ouI_Aj_~D1kA|4OB^2#g2A%`4N=B?-llO|0H>#x6l;BCt!-nM+{ zrI)VgYS)B*Int|%%iJ^?$p^MK-gx810FM`LzVN~eO$zX^Hs95~_~MI8!(V>+<$k+z znUN2cn*}oHEjQC=!N~$MX3Pk5U3v3x`m`eNo1=?+|NZwb^_RyIzZGSF_~D0#efHVM z>S)3s(9Puy%sDMz3*_$Y^0j}>OMmLAr#${u`5_)Yv~%5c*M+UO-nz-#hqp1)%>~#= z=bn3R(CluLZ&y=pK#ug9^3`j?x-VR~Fr0VZd4ZYEO2E?+kMR8S&o>LeQ83yn;Tb)U_>W)~s3K_~VZc2OfA};3L>1K;S1o`AK-_p@+ii ztFP|7=K5!|%{B`sope&!JU$OOZQ8W*JRdZk1#3%v-(UH7`ecE8aC}HX5-^JZ(iGO-RX(oOY#RLu4e8vuv%kTSNLZ|l9dc@13*<V6B)@ajAuUb$RkbuW8Y2bGUiCHDP655qU-Iq-ySyF zXrt1xQJaro)6E44YdsO+wQbwhW_awe$HLWDUtQ}aY1H;-&}&q4H*aBc=FIUkru*%; zU*OqOQp=Vt!x?9s5gvW?(XiH9Yc+2JEM@D~U3cB^{qKLjq(1%h)AP$wOKVjBAa`%8 zZ{wPf@ZyUvda~l>mtQX1J7B8@LIHJ;eq+bAAdXp-e00T1V$k7M^w1S&J9wOy78@ z7a*3OG}P@^-=RZ?dcFSqBeXeV*)1?{-n@FP-z)8`mlG^Ivt08NEs(pn4g4e0)Yvf* z!J^@rGiQ1sF|T~$D`X@dmEs8s9w|$SZ&)x{!P|gyYFG>W{qKJd`|rQMnew{)mtJ}) zkC8U4iOnr{Z>wO`ro@u26o5zKZN_|wj4ycc#K0bV>`?+9lNC&0Jo)648Stufff+7f z2@8p#h9Ca$hgFhP+iY{BSHstT)TmK@)sebZi&>#Zj~-$24u&94#{(K5^haGmPimX~?nj^hhz4B@|FYx>@;9-tRz~jT!JYq)Fms9mE zu*oKyINDBml|;uZT}`N~(SD6zI!=SZ)%u6NnmGtWG8iGT+Y-K)FrzWWoGv6Rg6L4#U=w@ROQ z;)x|sJ{kE*%ZW`vwzi9S2Y~-8t0U|w>5YJR6gYXY0c+-c*BMb3p?$!)2ET<@&>lRFMs*Vz`OQH z{rmU#_kr8DZ{NUDYL8ux^lI#y^Z7y6;w^1T%UCKWH22jlekFmRoLFesp?CO{ZJMSG(AF(Ip!n@!@f)oEp~x09_j2>(#4Q zV3`pg7|LncEl@Sk!@<~y6xfr}e%aN{H9wC9m<8lhj4Ac&*RKROUIzuZvG3ETPa;{a zduEV7Zd_|WV`Om|D{^x%-vKGxtTvb31aO15VtN~-=!YyfOMDsG| zirtzUZn(i9!Z#Y$UVH5oK4Jjyc=HP%(P3-Tri~w!Td}R&@Y=C3oOc(Jx^?RoMvfer zqi$Pc+5S`o^Z+Z@)xGrQ-U zb51Rpph4SOm5B^45)mFVO&nK(589`jmK&a%m~u8~*(hgkXN(o>aQxbnmlC&rE7b>p za9V>BfTLp^pR(kroC9=XY-a*2h#UZkRzwiul_Cl1p%(xHaNx%91{BOsdGiZ^GG7!@ znG`n&p(AZ`JG2L+sONS=qjHYf+dk5%wT>-MbO0;$>xwpqq7IHNM@Y^>8OKC$DbL^rSV|6{l>pIT zp>y0W(TjQ1fqkI|z(a)OR5);J@v;NL4;{28890h#=Svs%lqPUQ7VS$Qg zFAk54GKq)51Nm$!tF#^Mh6fw%1E`Z--QEh_TwgTQNqSih=c-4lydE6G7u&NZQ8y)y z(T!A@pXgIwCC|hM9jWWKNe*1FC3Z;pW~@K-91_^3yjt2HeDJ}J_Gt6;>C^L<(>}+= zuL|g)4>xwYNz;wbJ~gD;D{;{v1y?+|bSB`1dkG^tBy$D>YB-yn(86nsj6P(2(KFvZ#6%|=T5;>2BF>O)(nE%Aoh zd{qyfh+=V2^d-?|N4(0TE?}HM%@HYW0Sr_|d)Qo8^*u(2Ol{-?tN^*YegFfqwE+(7 zp)-&pOUF)>ajZPIk4zn7U*wQypy3BXMU~g2r9L#H7Sllo9h9TJ2DtE50llObH)^_}*>jG=rJFsS zCnum@WjS?lBJuzXA{CsTa|4$6k*J?|Ix-Vo$^%?*8X_+eHK?yYWgfI7cmkejjIWfV zGV_B-ypWY5MLVhL07xkzgM3l~0qQ5<6tmDy^o|743;F2DUK{NOKsk3ey#N8)feqYN z(Ik*Vd)rs^)ZwC92lC0|ywKaat1fcfUdeSERL(>Wd4QF5QN5HnXQMuLp%ZtW8`<+pB&_g9|dTw$@DTO1D zpB#zfl%OS_y~pe1gaB4@IOyQhUNgRx`S4F0Gyn`^Tjb$1)OVy*fCerFf1D1dCz=9S z+lsG2KzRlZ@v%;YTsu2sgy^U;9F)z5R9-r#jvW`-s_V9*3&(6aHhe=~qo}w;0lIpQU2Hi;T06dY|L0_F`pPVr90USs;E8SQC3Lr?) z9(q;EE!$D(j;?OA^um$RnKm12b?$DjWF(#84S<=JW7S6%c1YbmcQ60blH{cvc#mQT>Y8kq8h)YrIc!kp-B1K}4;9M44a%PEP&0^+gHfuJGm_B z$!X~fQWr14PC0_I5-AQ$xZKLG3wi+b2$6Un}zHDW0&yQnfrx@ zf4on4@JD-x|NF*HVTZMP$C+J4f6S1wFdATkA0P-11Dp0K0ifu>hMdYs3^1auH}uds zkq}@9AW?^i2^rjk=uTHz70f=-KnF0TcG}TJVaJzVJ}>N)0K~e8X2XFig^Q2aR!4C* z*8mB3WJnh;kXGF!pKc+t5^s-rx^@IF%8|#l*kX;|;a7)m6FRk1*S(PM2v=>f&PCgy zH$TZ^k3A9(=xhhi z*D$DW_wc~0?}k&Zdpvyos)xdPcRn9x&#McU9Jzfs|FCWBHGqR72h~jz0`TJX+sL3C zAOxh)1O7NX4rfQi>9kcwe1`9WpS#BeU?n;1%dWH90)V(j9<d zUB$b#B4%`=O-T=IkgiL*hLw59;~aXfSGso80nFH^a%k9)OI{jFC65Gu^2+>*_Mj8( zNj7tZ{KppHM}#ldrF7wi7uwG0JnxrmfvSRDazyrQI0H912{0mYjx%r(aSUjZ(~ysY zeqm6*@T0vp3J;7J7moV)}(Ov@VCQvuX`e#ed{w}&mpUZ@9e&@ zosdZf91FfgV>nJb9TPp;;Zzpk!fKR%kO?>edI|V^PQEs`qu>D_Hk^}u^A#ubPYHg` zSGfv25yE-dMiCO3Vh8e}N3I9+3qF*g>w==Y3ZPP+5+LsGqhuIpWk+{~Mb}kB0B7#I zY3S8C&Pu!MD19G&V?sFYst3cgnX@ey`_Kje4BOFNN?=BQ<%V4JOxKEYbVoLHB+7|? z(VdNyc(W&!w$U;5Xpy7SqJ7j$6F1Q3w73P1JMOsh#RG4=@rJ*pu{cFO`#1|M@|=$= z{hWE}re=>ru#q??agMWc!;@#{E{^R`%4^rURrtZ48-{<4oEUz3>vPcwMB}b&;rP_Q z^M$v=T`#^Jj@)Lg(7tVSwj=`(0T>J%g~Rz+@*T~oKIia3AL}YQ9GN^R7xy|Y!K%b02_3G#()Kll5J7&O%6|8=*7e|@FOa14QP`~nKr zC6J-=!iAAXTLBQ!RGO`xI;So?H)e8Z(K>e5kpXY&GF}K^p{r#npSp=}qDgtsatu9* zHc>BKbN0!Wnm8>yq3CGRtoa5SXx9>LJNfxbR}Si4V-v=1y%}h0Voxu)6AW&0l$UN*FGE=FJxf6u@B+v*r>c{QzTZ zvTmPl0_ug~jY%`gHGSwpS$+M&uye#qV&U7lye=q zrfc->>PT|<+wX^7UD}7O)TZ_NbPr=D&kRq#`CfQe`vh2A_e#J+XU4;Zg%FJ_4A8&z^PC6-EaKQzR%=xCtgAYEKU+w?#rYdt={Zy$uYoG(1g6`4v&%W!M z8VBKqCM74}CI{SbhLq1SbjiU1j(s;-HLTRReYo(SFFT4Mx}h#xQLzLpfaSU;-VE=^ z*+@{(o&C~~f#J%dw-1{N5a-OV3+t}ZEgZf5I$_84`h>^-Jt54TFYuHu$UbSe4Z}{# zZ=(qF;;(KS+G|X#ee0HC5ApcgcI$)}^ju}IF1zGy*C~h9({d$cz?Qht8GMs ztM%>@_S$G*xa_`{%1HF|y*CY;thQ3P@0EAlK7)n?0v60@-*L*G;ptHm!#h*wgrj#@ zH+*^XHA2r$?Lz+^9m8g;_X;D%3xKE24qIs=HDzX;B}DEwzAz~4x9MtOPTj(A+1Iu=0Jd(~BJ47# zuj;HLFrOUWk*%-`_XG(Wr)!r0k9^+;g$|B*$y7?$`rwUL4qdu*aRi#`M~d41OSH$U zbkz_0t7n?n9ewxiid~H$U9< z{9ECNdu<%{6foT^U_-9;G?x(e-*olx+~`SRTWi=b&Ec2c5k==@>8#}1Vb=SSF51+@h|F1Y)J(DR{o;ej9T z8-8@d6XE4|CR-2aV)t3RMN9Wo6~dN^N-xr6(C;67HC%e%%eFD{yL4z5E<9}O@W*fN z9QOIuKOCLXR`goGU-$5>T?U6kFCV7JE-sR7Dd79*m$&fD^De)n7ROSZsir=1pl_q*TOhIid{SK#YuylpwBkGDWo@1``4rn}ex zhGRJ*;U?y0R`Mi(_699EG35p|oIv@j_Ux?4ZHA-2a(!7rk5f>8o}$X~)kCV6oQB8H zzVpQmG~PEl{PD3jECV@gQ)bKwr(XYf=&f$q0b8!=iH`chDT(gRxasLIX-53mGI}gj z+3hckQ8d#gY${MBGMOuky!YjI1a7OvNr%36?fBl!nE9=A2ik=Jz;t`Ej*hZ%jBH}qV1tb8A5+Dn(08En&Xe-IH zw9prP60dR`QM#PG`;hS9YvaP@!(O$G60psfGtai_pl^ zosKDowyoCWc^w%1k*6{uNXF;rp56GbQ6BSi-J%?)nk?WO_R70qH+9{pLqgAy?@bG% z6kVb_a?{HMo_uqH_|}K6?c>@uXm5FDRA9Vpjb2?GHK7}k?d}3RXz$VNGDhyH$a3p7 zdxsmIeA9A>P;qdt?UM}Jc)NgN59vY~5nPI50a#u#3Rv*-f!qWrWvaD)G?NeJZF=?XcxD8Ta8`!hXJV&|evbQ9F2 zwLUuLl}-svh{)zEib0mb7d!7WZ%qtue=sBLr?E#nulVA)M1OY=9}{NH)$FwB2Xu?N zysj}dWI$W)RfpqI(xtEH%)g*<1JW^eAw%cbrc4}Ho~zup0ywmhpik|fZ3aN)J4)0w z8ql+o=|;T!!J-*$(UH&xeoW>J6rHa@QTE>S+3~gXMSI*P(Gu+edNO2;+zWckR=Mv1 z<@vf5?eei?QD$A$4(pGtbNWOJ@Ll3fH{H}Uvu4e5clQ%3)No;i=QO+(SYpA=%a~ER z$%&{q_L?&sQsvO#%rPd>L2?isj@O`jzwRAfr_``;;NGnGZEVmy^hD8-`$79BfRZJ-t1iC&ea%T~N;#uE!VH+a%s$(^P$p5SP! zNgmEgbqmBtdN_$E`9!Fxek@4EF`6p@AN%UZ2^*jdo58u@=X-{H+d1;cf0t~5%4qM> zOD`?&ttHo}&628up4~!DfCJdkxtVbafes6D0U*v3;P@uj4bC2C!#Q5na*o0MdV~RV zA4N+75ZwL2Sqevko+Ti+eQyshGlA#WDYNCEEkh4=EnOE!FZiK&lsz ztH8Dgq!z_`vZw6u_GHZ(EA`Qn8h{WRV2Zr7F}XwJO|%QIl+fKW#n;zV=Z?^{2h3@w zuQBqqrE6gu$j(vY3mkUXVddvL$BrEvZn@=_PoS>dqU1AG zu|SGMxN%c7$JkU7>Kh#A!m&hyGx!Cbasuk&SbuwJq?Us$2nTGodI_E=3$5u3a3b$e z4YJSH*wg)bObvdcCQc_iY&1Y0sg?{!B&rAB7IG?NZL!A68o!Hl$zky{1DfbOo`+MS zV*wzvhmHC;?s!djJfU@IU)f?!x07WYwFF*PAJPSyX>;^I3FysK*FCzISqK^^>*UNFE=+h zPEL0bM>WuC?mbNXv!KVoCZrVo^OidU8G~ ziK8Mv)wxw&*`3zwtAYOh?pELN{Ah!K%f)wo-GXqdBEn;K927cqXdl}u9oh+)S_oX$ z(b~bGTHnT+KLc8YBG`_EJ;rJc;>LOr0ng>4EqT}%5M#X`$uiNku(LCZKeU57NpG_2 z1iT+io#99Nj{U-VnstruK_sFkaa}f$OlD%Q*E&esLcD!ZRi3UPJUJ%$I{GLcm(jau z;9FS-J&}=KkP5h)kMipQNY%+{=_~-~d5M_FS*ZNdOD`>5#TugG{;yiX_-wv`b-`iVhHrmy!?3Z|yS3A!W;hB@P5e*` zb}740%SW!2Q>LyU<-h#LOJS{5x`s=%(3s^f=+a5!SG#Y}FZ}9=ZNlvW)MxbchL|np z%#KWPIMD+_KG!~_#o8g72L!IOweb0@{WjB#@H=6uz#3Vl1FPb1?t4Xxom+;mh)-XjW9mju)?(rrnoMDW1baeHq}8%jT%wtxY_7xkTGz)Co-2;t!B29?^aACU zVP`GY{_RoQhhd7KAJzip#lX#mh}WtzUrM7!Y>SQ=(ja=nCV(5d_A)y2t(u;c5d#i{s(XOHtb>84J<;kXDB zAKdtMp7iT38oG2RU;jk-p4Qxbb=!5qiMwu~N75DuWEOZ5;)9uU^<3^VS{wG3KuTbt z$cZ(2#C0sGIP8l1_0at$;r3JZ@R(UAtu33Q$m_Ry8sQHQkC5{T)Fj6-3Qkz~D>^di zky4p08fXpLl7$n`Q*?QkmUOU=?ItZ$HeibeJyJaY=wL14J!7AZ!;L5I>UIGt0MYeN zj0~4bA3Hn(m6w16umGH}3llr1{pIoS^RH|X4%}i5gDVp@M6}2L--F@*=~Y_*wZToY zHIEbS6Ogj_`GT9AFVfcut{b`LYP0K0>tKF08_ zdg!(AJ1tsfRu%xJ?Gc;`J4nZrQW-`{dQ%5_gEzEAdjMx_>H9>s##a0Qx(f_L%4Of2 zmfivuBxXBrQo9t1+w;u>+6%y!T@BVs(l zwsN;l?(*`SEA~oVU0YQ;VlU*bsqwzz|P<;ekr;A#d$iWZOJwqr#f!CXrV&}cBBmZPzJ42;twtP+Ef15uMG+P z`t=JPi&y$b;{10>78o*QNZGYzCKn*gDO#YapttAckGY$L19F3N^YUmK3vvw*gJAMLnF11Wyv@@WrVu7bg=h%PO1IoVp_BQDe|eog)PCxqOG?Qu z20!UkMspSIN7u^hMP05jI(d_9O&*Iw1bK+ zMUtkWqRQ=*@UGxR9G%MOB>bYC7D08 z@KU++BtMPwxm@SykB)91$0m%ru{6iduRPmM{H&Yy@Buiuh}IS!fFI{Y8)$C=AJ|%s z>Ntr9M*t9jM;)$#e`w$Xe{Cf5p^ZsT@7w`qjY82uQ<+4-Zd1`Q&G3(oAbq74*2-0TQR;hUTU&9a81~RWJ4l z{M_YH9?M(cfnxwN)Wb1Q+Ky8=1(PLh1cW%Nlkx#1KW!j-oZ8W)z$o!a&IV5$D-E<8 zV07+1I>fH^Gs}S3R~A zEjVVtfyjeKdt~77I4OJh;EdF96h}TlAX+;j^vNj;UZ`Ye6`jFDK-bY!c{?NNP4anLFska0w-`pI7GX+x4h+fw@&H|5xgw&(!+lF*OE z-~RE?Id(O;k|$6BY-x)lP?ejnr)QHcjL(i6D{)X%-WOC z!5e(3Q|!?@=|tNsL-f{3Wt0P0UfeC&De6pJf9TMy5|k1sIx40dyJ_>Dws5Ytls3^Z z`g$vLO*%sdeW@chD0pHUl68iM5;oy&&AuMaiESybmGZde*qs{AFJ!~lV~p5}@`9%h zbNUPx*m~=&1LJw5nKNgGKmYm9pP_d1C9Nvx0X*FFB)|Z-ceE#mz_HxrQl4*Wm77L4 zIA8!U%F7}!;2g@sIY~GL&fq-w<0OS+7)T(}xj{>H%uh5pEfGj^+ype}l_D?+v7UBd zyPfD%}XE34D0 zb~vS+2Zvyzd+Bi}Zg}0yICvWK0}KshQl*Tr$P*nA4hwlXP7a1M;GE7=xj~|EdRl|? z7;uW?`Fa!04OXMe#%dFBy!}X1>^xV*xrDobD~(z z>GEPDc+g(*Xs312c@!OQ7s^TK$T56L&>K{-oAOf`ZKDjHTuWqA2QI$mI)|QwKD0#y z26^`AkkhhRfVU{~%@fj7Pdyc0e);8PW7LdlRTcE+$kDiIaXL0`Xy4p&0B&SQG|Iyv zoX?G4(Ax!Y5}o59-1c=uG|(ymrZ|zof%BrS%b-ymM+?X<Pr1RL1~2eAtM#c)pfn{fUuFA%}B!@x;fA zptUDD#x7FGb!fZWMjOS;K&NA7uoEpH!G%OeM_UDGD60fBh8fV8cBM#=wqZZ?@HK)5 zZ59psLQ6_OMjmAbEOeKS9H+!_<&O*cVxI(Z&>39euVeVJM?Sha$$qv~JaZX5b6PeF z^ytweeEG{?E-U9~Pq$iWjRrhOj$mgOUptl@0B7?Jts9)zP2mhU9$;ah5N)ap7#Pr0 zhlHZ(Yhcb$ISvT80YK1tQ$9TGQ1B?|?2K|A^H4diirmGsQpF3<^j4MSHCe<*MuULZn1p+ossZ-28W0EO5**$CTBsz4qGJBPnxg@1QE6hZ%7i zqAGyTj)H?JaZI#=gV>RDQ`>3e1ir~3QXb=Cb_me{2wpEo9q|MNJRT$(BvJDx{xVR7riX2kb(QV4e-_`ftCr_Ae(c`QawP% zy3x*pDZEGttkE&?Pwhxx4KMUFZ`nZ1YzO$$^|$`YLl5l5gb&MGEJJz7x2}>`@}y1h zRl=U>4bkX9@(&OEL`Qo7z)HYQc7<=Ek4I7!zNyXPk!Wov@$)${3caY09ni;R9IGDS ziSEcva-hv==`FDP?z@Nn{rkJZgb5SE-FM%;^p%?-WxV4XxMAF!L{T1}(ap+B1pEpm z$w^(>bkpO!BzKi`lLIu4dUT8fK}Yw>paDn}jzJxq5hp@katb?i;mGi@Bf(!Z@S+a- zxa$jl_=pa<$blZ(1ej^uj67tMj|})wMoJM`0v31UDUdui>Xv!vfnIZGg;`@?3$xyN zJr(9)R-y87NuR&vGyLvL;sX0qkhqD^aD%{kUCC3 zD6}it%zB8Pc2_3KX`}5WyO7|+k4w^-yi^}rYyo|0D|-@p*#5{Zj#C?nHq$jRasIQ^ z7Qk*t9d%Smf6X=5l*hGrpdWMY+J;Ts^n9pi%9JU726x7c_+g)hmD04i@yWhZPd(L* z*kX$FDyXh=W$ov zOC9v0(-h5T1ATT23>q{jY_{2E;n`=ObwF~{O*e&Ok3IIYGinAksseiME~yK{FACuI z;Vw}#u-oTu!kTNYS@K||e6L=;%JY1%$O7C;{D@}2TV#`EJv#EpBMo}gXF{V^L9Z&^ z+scblh2C=|`zCwLtG8BKX(j7VM4Ug_x8zF+@a6RREii7}xG-?wK##fdLo#N}m~w*S z^K)-H9I7&rQQ3TM*t~tz1^``3)2GMpPGmcM)J_@j(p~cT_qb(G`|i8%N6ODR=bW(d#v6YmKWAhMEUN{0LgU_h z?{#%vLU7t?r!6b1CR?xS-PnFdrGP~%Ouue|cgQgdB@{q@6(FTUvUtfj7$39|)0 z#R5#At+L80o?L`<xgI=WMOA(f{FYm8sVPh3+1p0G+@Ca)n`dkr`C`=?$BrHA?+Vv~Nphsu$XEH3qP-mDHS)!%VR5`%bf=wmvITf*>bBc%s~Kx#&|40d z`s2p-@>t$-xDYiivR1pe8T6LJjsJ1cUXJpX!-c4Ek<8+z$NV06;DIo8>eQOBNCv&- zbeSuoy&UB&r;AYIVtJeL=9_PBEAV==fBy5IHDQseJ$uVI0UHDN=}jwXUlW#HibkGs z#u3+C%HlH}{0ece2Li-U8?C5gO{ zm%bH2KF1&i}*pIR@$Q~b@_srw9q$U`BGbK7a}To>cbLhzd%9d)N9oW3P2)$!(xH>xalnr z4y`^`w16^ENymESW7#qy7ukY(>EyOWdRgBr>s1f>)-BapkQmn~_V8%cQg%eN^jM(w z`r1n`%KVROsLdZKK|{4KUR$m|c8s>ij@bNx!*2`H= zlGhR-Qrl^Boj@Ld1K9X@4tf4aknCl<>f9gFL9Y0-CBOr00noZSqHKK`Z9ZS1Q?X>R z2OI&PHh{d^PCK9npx8(L`jLUAh_tW~?c|3B`W6CC!E0`( zP#~qx2KvSqkfd|UxbfL2BTEO>ir|JU;$r(i@=KGS0;Zk46qcKSqIszHNd4j>rHzFSO6G6&xVbNp1@<| zTTkWL-cc!kK`qIF4?x9#5}<~>Xop1~S|>^*0eGh2I`B{R0Vwi`$}JDs`UfBWC0(fx zF#1}mK00xnt|xlyv`q9I(vN4EnGYJo0+pb5&pr1v2+tLn$>N^XfSPi{bCXsk-|%vb zR0aU1yma$(jsviF*Hw2u&PyG9z>dthz{Am#jsb*)Yyv(!wiOOm@Ibyl6Ny6>c}a$y zOb!V^>H~<93AJSCAJGT``M5V-@Z^+~19(JIBIBV=|FbMt8QAy1M8XRZY=c%)oZOR_IU=G4votuEURjnkxQ=LFf5e zN;h|(C3j&9>9|1rLcbhl4VOf(f8Jw_tX8;rCk!XwIZR8&S5a>K&m zp(Q1q(4PnfsIYSbw5l)VoNu6%6XWhEJAZzh#IfS4ON0o}lK^P9Mc@a&R+g_exvp{) z@lnEmK)qEPy4-Dib20{qX;LJ~9^KHB2oqD0*d-fb14oO>Gd-osqua@NCqD>)sQ#)X z@?%c|h|HUEKuz{>S6FRu^o0$S=g74HE+RX?u#Rg*F(4^c`k6*AP1| z5I8%!SG~%6$4cct4Q2seK(Ot$+nOJCPH$FjFaawVqs5V@ft6e2h`ONxDQ@WE7drtF z=cOY^eq}jM%EST#>2&vSc7TH@$lz0Wx5&ghIus6!^Wo4WN1LK!d@m)-kX-UiW!eJJ z#zG!2jOd^OKb%W6Odv2>AYld*Kou}T zP6SI8=@^g&Oj>EC6_CQ&;fpgzFrhx}h&qzz8CvHUJsf3ud`)>GbHpSv@fT14J_0p> zhb|z>5#azr$U!fg30>e#MI|3gHzGH5WWPXl(4AxCU`PG24Ln&9tNOf^qRut~c;vR! zzFpgP+86eM7d!<>{J>a8(K#X%aG@hspQcmac2SoWzVZ51^)|JRwf?6P^jM^v?y=@*m#W@PfE>o-#^t6?8+i%DI3_=V z9Y&6hPV|7o5D68|t9_bnrCu5n#7olnp1X58Ct9;SIehBk830tqEHHI(Do2K*rQ6n_ zV+ZqrE&&j;xquwH%*9zX8wyaew}Z=(>HZ-Luk}(5bW0H#w zZ8VlggooTX3bnsEpZRWw|}% zgNXoY?CLKXTcgd6UR4HNY!~$eL;^kR1^)=x#kG~LDba3dpyyg8J8<1yUv`Br*E;b6 zl(AKe24iF%?-ga{R8B02@kqLY{1L>wI_SC@|x>d>^YNCHQ5XiMk343tv zs5NEgeN`;LHQ#yXolD-sh7Bu^o7;hIx9TMfnH&sfOUXcCrxg$=-+-Wf0=ATwoY0P@ z$~bxgCP0BGjK#<}A9d_Rava9k05Y7DNs6@iIROcDX$;O|RE3`*r%sM1_SB2Efd}UTe&tz5)pL|eT{Xb{+A&*Fy&-AL%`9}kak!ZD}Du)xrv zLrXEu8T1y7?w8GNxC3tZl(?}I&?GRlLnt37A*Jpr`G5q@>tB8y16V|H29H#xeTocX zmrxETk&MeBE77tx4o89qdB_JP82_S6DbMsqIkG+JpeO@iikb;T^bas?+qSj3bbuBm zjJ3)2sW06~j_z<%l`|u2ema!`mdQC_;N>OAqOKBoF}jR-WW$@yz)a6iB3tP^B^DfW zhMn9t0Tn<*8{tpBYFRY4vn0x7b5|sTc3207Az~XKq`m$}nf?RWo^6%stTVp@I&R%U z(K1HYf04M%PjM(iSIjhY|NZobWMdysWVl_r&hTBRHnxO8Y%|x!lQlk<4J*3MCdz-R zVu7JUhn9RFeDJ|VzEb8kkAtd$UUa$`NdPoBONuH0xCB7Xr@JW{%Gu-WtM^znd}qsJ z?VriqxCZOCCd`-^#?6=z?*8|%FnP{Y(crvzVvHE!gVPcj5Q}FzHGiC7NWBH`U2$S$jElrO+<%p@RiV}Rh#gq;eT_q z0w@_owU=ufWFv^7D=Bv09CdMK9YWZk*Pw9hW`~DIMn4(;_R8%BB)}p@hO`TNiC%2> zT6edw{lG248Tb9dU}mt9dMtZk2}_jBIpc!@b3jtLEDvd=Vj{_OU1%?b23&zrpqa3U zrd1KG&_D47tmfBi4I*UJ1LFkrfFr;ce*h>h{s~~2D1jH(9vKm^#Z&wiGMS@%^7t{U zmz^2wY)OQfQ`If7-g@i#?aA-H`)=U-xX(TJT=^E3sta#K0nyv5BoGHCv1bF!5)cAL zB;WM9`B}b^055@F_jX;w&^2~&6f!JF*okqBj7!PJmyI zsi~ZvBvE7Ra>i>zyU~x?)wy%#YAkb}btNB})Mo?23~qoJ$g2b&p2vkwmM{piZjl*X zt}%Ixjq-dmGN7XU03c<^@PvtHs>N6KpdK^F$jqs6EHJbp+PnY$`x{4SBTK33PbfEa z`b7tbl9RLNCMPeICqS$`PY!k6i#LVm#=qqHjJdIvODCayoA%+yJA5~suI+{KFNaZ6 z#zaRVIw=z4TJlVT0PY14vb;sU8KWENLF6;I_qyTx+kHFSF#I-H7YPsMB;jAmPA<4#YvAA3u5$W&{2V-KxTMZ z99@8%7bmlng^3vD14sZGk(|fj#E3P zFP%pDb`Ti>8WLTdxr$VHi2+?SkK-wC&ipyy!pE)%ZR8+Z_1na>@b_{Q>T0t*A zI9t5d%7Z_7`p30FY5qBKl-(J>0{|TrYVYTZrB_akV}Tua+_4nI8&`ad%ADqLP}N8e z6Ja!*1n1!xXH1U3F;9dOg?n@W89@y&hhE|8pbPmOzCV}LEg=KVJgoAlWr%$h$t zJn+_IVf56omf5*&r?BZNL&A_ggTs3obN$!Y=fYdl-ZqGFO#rs^<6z)6+^O|M(_DJ& z20(JJ=+up*IT`e@Mx!Lg^?2@<=WpMC|NZdltFH#$?A@GFRewU$Dt?c(3B=;Bz3y%~ zBfw`s)Gs?J0U^ik{uSl1tcW)7bU6eLMAXzm`*nJ)8QQgO7e-DVZGK{8IXr1VxA6J{ zeyj1WtwPs!UBY0ExBYUr{|wiBIyN-%Fq>KFRxJ|zr_FQ|Y7w>*|>u-dUv~_CR zL1nQkI;ht=;if~c3je*^nStZ&25uRCvFndDo_KB8xX=0qEj-o}BIu}ekj4l9ddOAb zi)-!}`U*r&*y5;ghV)*qbZB4=Y9gr?0$0}68TjcQs(mCN@y^%p69_*Y&e`?! z(6*oftoSieb7_J%m_-28U)g4#b$1VU9R8 zciAfts^Swu->$2K%l0`h3|?vNaNWVb4JU4O zZ0OTvW%K)+?6S-1JA{?>qw?2-|2O={mPhFargzwPy*b)r}o9x5dG-~Ol7n+r^d5DWwb{Zx4EUNMtX5A7!gebIKYbI^t1%d z%7WgOZQ?i-AW8WGg-t|5M292>zU%Y`lU7VMD%lA{w}AlX?43>xZ@fP$+&SVtJ28Xv zL<>i5ba2>t_3gr;H-0m`K53LEIK)`ax=OhHh(Cp|4ml|N?&)jfZ1v&zJH8)wUu);^ zvz>ns4ii1V>aLw6_36?lTyx;1;ogxChMzugfxDLY;3}PahfBV6PPlOQpM@{~Wcv6_Ei2FBB{yy9`;vSFvG4A(^UC#*L z+xDB`$#u{B}zZ~+vVc0P@hiebGEWADSop9{mPZ2M92A(9o@Y+SQzPG=2PZ&9Mj6tPdfQs*o zoAF+F@U6$ghAR)Uv*FZU9-%sv*U7`u(g}3@)|OunZ%=zS{B+p)!XizINLQS9!t@E@ zoCkkppx9oKpQ?KRAHCbPY8y@$a7>!{K?E>m)=RfLU%yw~@a|zFbvFT4CRrljOKEleZ#?tg?8p(DNfJ~Y*Ib87g6`HX=HVo*}U$8+HY!>Z^TzCQ~L~h^N`q*&mt9OTM zpZlBm#x6LZ%j_0KJr+c;bn4*lhOrPSq0kDhq&FreNpQjZXK?ASZ{l z190>ErjI~q@N>5_Iy1_>{{9=`nQ_Cz)9*YNo__cF@c7$Lh5HqWJoD~wgWHw+p06%g z9{~uF5AjER`2IhB7Jl>iRdy)kB>8w3%T9W9=w?9Xku3umUZ<317U9vhO}ntyI=gzE z9On*u;8kqH-y0E*zWJo^ipI%YZa@s-wfEl)W2f`_Z2@rPYQTK-t*3m}t$i0ER%|an z3{J)Yy74-fP0Cbpg#dBv@bjTRke)?15c?J6NaMl(A-xA1)UJQ=W;IQbU%?wt)S^Dt2uFH9&?50=laJ2sby$zxc(T^K`4Ee>W5xSMD^%x)?3&Wf0_Ir#Bz4Z@^y0z*~kNRLt z_@Y2BUJn(C&%4vcdxE2l-e5yJJyR~;X<}%C7K0n<#D}ZqODQ_i1VzvQT`R&#+E)Qo zZM9h2wkUKJOq&nG7#{Laeb1uHP7weFco+s9R419sg7TlLTY%LMynx`b#~!n+C!c&W z@YS^DlK8Q%T1wFs6B(rRi_Hz*rdTM9bI`42vvc9O#b$@3qHg{cS^^OVzU3%h=Ap43 zMUkT?za6f6_BxNF`H`sT|6U~gr-LpJ_Z)R&IBmOcg+aa74m0P?3V(R+`WU(4fbbEI z^rS-4(GjS?uxI;jWQEDICW9AtWIz)9VDbSh;~2oBE6Dg9I?va*l=JC2Lc^dGAYdRs zK{>K)fP=TxxE@3i@QMB+e=kxNC3Mt-4|5yir;ZO7KKk2m(pJZX{u*y|^eH-$ySgIm zF1?A`<||5yV}7cL3eYGTX8dg0-07n0svOx7fR>CYb2a{`9~8RXywZy&I;a=>n8EFG zd&DWur~+SbrA!f-uAvuyQw3!`$cbLM&A8Jfmutw_B5VH8m)UE8+ImP{J&Td8x3ZMd zvY&XC|2CEdw%&T{QdD#6;#M`%!(q$Gi^6&7!jOlP`{tGx@w7yA9Ys6>NCSY%D-(I( zK@6Gzhv;}ji?6>wGIVLz*+BQABDj^>bqkm8eV)6&2WYUKWfQKC^NG)(-s|9F9yfyz zl9GHJ)P63g!ztI%7skz=RPU5%h*dQ||hh(uCdt-mon=R~(O!SAP&#}j!u11>s@ z%TuBa+Grxj`bigFBCvqAp=(MyM??2A1*A8>a!1&6on1Upaonw^s)%wTFKwb5J7b*3 z(Ykc#EbyD<-w?)0p<}F!b$LX<@2Cq7c(rX0u*$UR_IuXYdeav16TLA>XDq_@7uIMP z`bgIZevqmy$ma)(;)=v6v+Y(v`g@{6nXFX=2+`ilnoyA+12Z6(jfk0jPK{}SZMNB_ z6i1}joKl5nHGH$?^Xex#0ynhxjPDUe$T937IEjAoaTLG?pz!#Sofv;8)RSXy-}@En zavq`=d`p$Ru?CMcapoiuEezYQzO|O9bPYdw;D7X##%RmN;r%3s=;-Rg4`+-O7{Op1A!v?(vg+qqyXL}$NQnY+iv(==H zHDTf*0hx~?^g%aZeY3tBYnjg&YI$8G*TD59oNM6jts-H}9Di-tt1h6W%>e54 z_Q)@-X?Gh^mrf+#|)<< z4mm_?tM0(WO2_;X?ZY>Ld z#_=UF-1^F0;gAjY58XO+6-dcks^cVLmbq-K@xrGxxq^%srHHi|86vH(GiWUJixf`* z7=egn^MX>3W2JHkNCrn{xpi#tXSO>iN*f<8)=cZk+nf;kX&oIR0ZVv|(Tw)L-g!10 zxA~D?{}&fnOE0>sLY6PAxxL0U*9vi>Lv>PR@gUMOIPzlzS2YG(I*B&`o+5QulYS(| z=RCGp)I$#|q%to!)(;v>bNG?t#|vE|30y>@%`?{qKh>37^7tVTBW*b~rUh1Ab=C6Y zKvSnq^@K)a%CDxZMP67XDgNcx-Oa462fDSV3kx8!(FOJ<&}gM`zP5TTln37{^kLb< zHmhzKwq0G@s+)%$R^P^ebKIs!gg>cB4*5Z+Pm9W6^?zLC zxRpN6BN+8l2`uKl|E)*$CX~mcgW6H$tWtvr51huGaar;l>S!0^C!!dhUuEo!7p=;* z1%T1n0U8l1c}7#?Y>XLtCf41(7(M@G_$^_?#D9l9*50Ln1!MyzEy904baB`~%W^K+ z=Ugpu>EnF5yL%7XJ^asZXNQ~AMSgkW>k*d>#wdUe+LEr~W8Dj7ctd53tOay2G_~g{67GN?X zCBBl@TvAoX^pcTqLOX!=fKhrBsnRi^aTluu9B%fQzQ6sq(_y*i(X$CNCx+n@UJd^_ z>^v<%e$(AWc}W;M`JM11&E%f3{pM{at7|+qjGO*mIP982Xs5J5utuC<9jx&Qp|H$CY=0;1xqc#AOdgVEu@zkI{XTkbyUFJZbK!Q(Nr z+0y^lk6r1RUnUR$c!o-e>-=9p3DGh(vT2+X0Z%NM$BK!<%QB4a_9j!K$NxltW^UO2hkV6h>WDTk# zPQjOdZX1+4&(2PsJUM*n*01WOj=%bV8e@Ar@9FPS00cOgHp=*gXC~DEA#E7HA_`)X z10H~;$I0kk>FEr=myLRI2oIjiONa_^r!+p*p>4acR*%*7$XTcGs@Bxam^+J*#LnDJ zGnXCoOzC^GCfV@;Ah-?DGpDoX&DK*MBSW1%E;>2@(NUnWZjUv?JUyuZsLZaLZN1Uo z1N!!Nd8xoIE~}9)3Y!3V16uT80~#~8WUJ*ySDABg~zLTecl)Wd7W6Mi4B9Rc*g61yd;uqB2@uy zwIN31F%o4`!uE2zt&K>elPX|C^z{LNrE5Y&O>`TZU+l@}T1cK}!Vz77CDmcz`@+E6 zGTb=y3cu^EW5GY0kLG$6Aw^JaDIU-+6slRiNU+P4*;BNrd8%b8SaX-zxKaSBK?=}PSz2C1eZWUq z(ROP8qJ_@NQvozQ2m=*-d39E7gRxG)9LqfUqay6)B`aX3_{Bxe@In?K2T#}~kkz?n zjEOjNYJ3Y+c5iv1Xmd&6NYxTf5kK`OSMVJzCkCLD&&JJ7@=agt8RW)sDRblojc$4- zH|)sb!`P3zkL(pi07`AzX@#%$s)+Z+wPxT_;Y_?jo;7MIN^x{(WpG6CWab#qL{FR@ z)l|-BAJK_OM#v=Y=)*TQ`1m&ClR#b3KI_!E<| zJ#i#mTH498zo|{wlOG+%+{DWE=1tQ~Ch?(h#xnhbqB0V6L~sTx+Dkpo+3T)~U3KXK zieU=rT2xG^N zZEO{)BCo2T=h;Zz^s(zB{dJSm4Fe>cl^q6(Zo zIulL?Uq_U3P|qSdGE}#i*+PL14$tf187p%)Q94nd00JM>NvRXS%Hn4xA}BMcijO=z z>XYV}0%YQ3sWn4ltuBUb85fai%othaCU`#G|X9 z30B(x!UcSeQhV&dM!7`!7@hf+he1lk*p3Jr@ZzZvPZUWvY=uf5tCJpHlnlV4klJSZ zix+nDlOhu02+hDH9aY!iH)55rwRO`ERD7o&!fBiC0SK@Mi0Bg)AqN8e5O5!02<$?e zv11&^0>Og(MB7Uxx_noA{)8O-3&%rV zyljp*M39^ggAnz_nPnCWNBtM5OG&h8FqG31kr^D|uV~NAku6?CMWzEh^^agjf9>nY zE}b6`fL^@N8#*Te7*P)GaUL{k4)4fgK`^q3glGhS;>PHh=#B`BF0#i!bqi zHsPOp|CSW>HHq@m5*rlf2NNB0T0RySGGs_8xVeB{RewSO55Hgl$CBgX)124qm>Zcj za^%PN!bLE`S?y@)Mh7GSOx2|xj%6oTws0bX4UPzNk^xN)r8+`~Mdgwu|1@B_8!L_! zd(dAXxj+kM9fcr6Y#6`7;TTUu1-iLqlJhzeL54+3odvWR%dr)jjGJu>{GpoY*T=7pYs*SsQv#kK%(1SaV#xhSs| z_(h$D8;$odJb;za2NQZofi`l2KGN0WtvV+%b}H;j1@h|o@qmHa;3q3&&sJJ!P4YEV z8UOr)WI>`;J1ApMv>AWkqP~cssa&^+o2o54B7+}{oR*ITDkHrYUwm=-DAB-DD?GV@ zIg1_Nn@#V?Bf{~xoNsEPBfc*Yqcwi@iI5xxsa_mgl4`1hgW(*2h#!06*B=kTapen+ zl!`7JU=~rLa3s+<5xJ<0Q@NC~bgbwsjyvfT5EDM&kd8!j4s&*rvY`6?tj zGqCeCg`%C_jCVR)%Vl zyFg=m1}kN@R%GcP7kI0Z^%h&6R|Yr`H(ya5c7slT40vu%5oN-ksMe92_;5Y=fuRen zQzvYV5{__n1Z@ Xz+z>fIPMVrSesV^mLFJwz*y4D6xDYB5rR;e6Y#5Pt?W!NL9 z3v4C&zU>NH+OOpZfK5)pooI_{sGB1bqo?BeE|x|NdXC>B?j^3!}y(n!9ECW z!B>?H8f3Y<2$Cs}bDWamHhR|`-8lo2oR+RI1+B?L86n2}dHTL>d)^EZqYZq!WedsI z(;|+dR7cztZ6Oblapu`kqmFqeUyQa?rpk=l5h*&lLmm;F00KWpr=$Z-Bg(V?%SJ*@ zwO5A0X8PyxGG${oCT;*XL6S;PLV!kyRJ@RtMyptWtD4G|0%C(Oz)bR`SG{I~%>*v0 zyAVKP%oW{K-ylc6fXqJ{QkFb%Q9bGIADMW92){@`@+jj6g#!;80AA1w;{DA@DJBUt z%L%>GwT$xN{^efIIWxl!T zX5oZ@5S}V0;Nv`YDgZ|-^xa*=xj_LXKm!Lzks{91n!$OOMn|STegh!JNfYhG-z?yz z4bK7qaU3EacfoL8{qyXr#{R5__;@dnX(Kt*Gk^Ay!t=2J0`-}(Wvr5~gwZ|(wiaNJ zi1rve!?3X}QMOefPr7)_&lz|>?F9JgegjlQR&qE?LrbQ61}xF0R8h18n29Bafv#wl%b>8^`vPU+ARloEq5zUAlA$0|ySY zR6g6v`}LZ7stV{~6oZt;^jP-bNUm^JM<)#M>n68@a&vov0Kmd6coSeEiH+IpXgvGW?sN2FiyQqc$n~4hn ztaYUxKqT;H2AhVG&yR*s3XZBrR4hJpx7AkmP#X9ZKGBV25(H2KV8uYC5it2?Fl~&& zRm&o1tTwd?@N+jC*{KXgQ~S`5f7o605)}cvprzdax+6&!Vw=K7DB(s^Q9Pm5KO$Z3 zCA#J5dO?~~<5^(PAiZV0NFzp!NQX^!k9#(FvLga2axS6|gVvmRk|QU^;fk&#K!ii# z8#oi^II3rCi+q4+fj|J?B%iJ>PLS&IO$C63?kNr=Hg<3tmBz;KIT%FXWBH1lO1$ig z`b+nd_s1az|Asb2fBrZ(3X&~d{CugL8gTJ)6O}2h5tj%+(cx(etu4S^^f+(f#%i+= zT5S*l6?%ylddW6Oik>b6$E?v~oQ%ze5?Cx+o)c~7wTDE};s+nEhl?ts0r(5!B8Q!b z`~!e(`4Na9NQ6okm21Rnq&%husrUk(MBTI-PRdr&k@Ru*S^N!5%B4HZb%bA3TISX< z(Ja@%{H2qcr_FyN9qa%_^g)7Xc_RxEB;&(e_Y8b8RU@atgX72R5zE)nntH0r?Ct+& z?@i!6yQ(_hU3aL;P)TK;NytD52}uZ14`?fD zcWbvGGKezIK|sa;2_zwjA@e*}rmCcdd#m2}``c%q`e&|!`rli(>g=ljJ?HGb_F8MN zbJp*yJ)CpAFc;H({rD^1mB-OmtXPq6q%L%0ZBG3!zWCzuj(5HzEFCxbm0$Ul&B=bN z;3ddyx7~JS*|KHD$ImhevsJWgVKrg^y^T0uUaW$i7pr&Ze55-e)J9a^Mo4bE?Y0aI z+g$B*@WBUfBQ4+fX0{%K*V6XeZ$ET#H{Nucm2$Lu>tx14Ph*SpyeoT`_JZw~Xe@MV zZASeMI_RLD+kN-lSN7PWz6iC?9Cl&>fzO-hFs3(u7sTO*AKnYU{POO5F@4U$+ZhY! zX$CJ;e;IpQcy<}P#{2EJUoXQi$r}+5>5(lkjN?7BUFIrx-+lMZ@WTD~-(P$N_wKvz z?w`q>D;+kcoUwskQ*yXqnv8rT$_F2%JWg4tFF4LTyn`JkJ^ZjfBfSQDm(JXBg^O`Ko2S$4h9R% zu>}OZmKOQ~<*}^OYsMM2)dG%fo^{q)n`92@tv95>0$YLw?B2F?_0?Cm-37TFylRe4 z+Zkt^QHu(=;fRAD=&@@DPb9mx5CfXaKyg57}gQ$(RfNxvbb=O@(ziQR0a_g#y(k7uwDMdUJfn9xK`#qP#gi8H2b@vcLfc z9MIF>c;k)z{zBUsKyMz-*ds-ILzFiUCt?t}Nfz*Nw3cqZ`R2B};I;$k&BG~sq-bx5 z^5)@03?etl0;A81-*nSWn^bp8A|60*p3cT-v^PX~^K=phv72Op0rWP>Tm$h#EifAG z4N=}htuq{Ni5A#ey0>F{;egBk{JA!*Ed^}bE%AiThfY8K<3CNDsDv zZ})hl--D@!qq(xcDCjNZB`afDoGiHciN}w=lepV%Wrt(>v1FJK`Z!OlC+Kd$*b&LMw#Zz zY|Vxt82-$u1$^eVJ%j7=m4*5^+E^kz9l*%NmD{UVukKGw12sXy6)?b~CAkQwacF1)c9iEMLpZBoqSMX@GJ+qUDO&`cKqg;4GFCyg9k;KJ z!PgJ`1X}S*Kg5$Sn4z!obkwzcu*Q^@kVj*3?1!w^PgKwm9IZE@F4B;slE(IF2Fqy_ z;K!H776VLtX3sL)R6$;V0Q|y}kMls=WU1e}NoXmrpQH4~Q9tn**|d4xy0!2E+yD~g z380h6_X9^NKgD-)1ypUE7PysAz5KE7+ppcW5Bms$p_K>w2>q18W@tQa+1lyKTvb zmO7s8qf7EZ60H3z*l`o#4&`|lmiSD5wP?xw>aaM9v^a`%EqV%wq&{F# z02^dZcc5fsqQmvF;3a*F!gM{IIXZO_V)(;P`KEl$4Od;wr!6N1M)F7Xt@}FW2H*=o zs1x)?mx54hgJsHCvySeqy6`h9)iy@KEeXOC>$}e&c8*_t-}Y1xGQuNPqOLfk9kr=# zatlpV=pxs&RN+lRwYT<}ppw~wmf)q0)&a)aJGN1mAQ!uh(nqm3oKo_H0Qu4GQ0_SPIlaJ z$N5p_hmbm!E69u54+H1UJ)&F#8-c+x0kP$^3qKCg0h2UwD37UQ3Rvhsb{FyPcK6pI z?E>TO0V4|Hm~lk(iT7BK{dCJLr;e^FI1p#_4u%U70U2c$qQU7zR}Jj+>{%RBP%%tV zK2TIYbBT`ARI1?Kzy*2%gRW{mx)OMHlk&{a>I({`JG#e*O{L`EMeYpv*dgiTaag+u_CkT87O9a!PBG88X9^9M6wD z)Vt+*)9~zAC!pEUL7Y76sJC`c^kRu)Xwu3f`8VU3XNUK_zp`(bX19bdDnD){yMXuCQ}Fe@1G^T;UA zXmyI4gpp3V`j86Nwy{QZHJZwJos~>sQEen$zR62=Kt8s>KJar~vwo;tl&L!8Ttye; zBU>8?blOfc*>1tkbL+l&+PVRkw3d6mR3~+<-+tr;04LRObRf z1voy;o$e(SA%&L?Nn~c+h4Uq?!mei^2;z=Wz=^oZMGHSpYkn@97?H6{`6PsuU_qB}xB$`xJoXDX~fbv?R)Ts%&^HWu> z1XVY9N47>qCj0#j$~M?86ZwLmN0H$cx!S_E+9vCo1jdZhcKjkMdeI`U5o#Fau5-f0 z$t&e|V!~kfGp`odWtUxg`2*-L?>u~^w2!%E!Ryl#=}+` zj|G?YIvBhh6I=~|>3qqj+%8p|4B5&|qFg@V0biHM=+uJWv@^Q!GcDO+NxD@HaKZ;r zaJExGSwmM#M>dK{dpH&BF1rhbIzRAdKil{DQSI}fxiLR9i(&63y#{#sBUJ)7!5ltQdjD9ah9xJK{`kz_CSfGO*5rlI`tu_FT2L%geU3JnMQc5U0t0!x_JzdpdhtvYmt?8`{gp~EhQl3M1-{xz0tK7=-Nys?4ma{ z5k(t8x7vmZo-_bHb~9_Y)aY&= zqT=u}Nt^TKersd1nFO6}wS_XQwJztHtXVSKl5vWWy_ZJ3Jj56Z;A~& zEn+jLfkWFD_!_9SvH+0|h8J5mQHIWdlbCcQqc9z*@eXJhjp%UF;UG>9xE@cMEdC`T zOuY_#bXEZ)v!XbbQCS>Z{yHLCbsmMflRA^rEKWA^Q?7MjV3pL1w(3}; zn8qhjuJGz`7>N(CAVC?KF zxMiG>W4Adb&+{PHM404f{1LO*4wtPAsE2X3kTgVkk8>it;9C;pT4W*^>9m%oTgZiO z8ePH?r|cXqV5nnRN2lYbGq$lIrK|&h)&T%|ql;-<*V?*9G`*8^9DqcoK$ykE>ZyYw z!>taioH)FSsRsZw%L3uWfTcZ2v~fL4x}ZWr1MsF(92kCadRR0djZJiH_@_+SNq`x^ z)AGz#kLV&udF(GwS=1V9nZ;HOWoP1raWEPe-Y#FMItkKt83nHjoYm$zOgk#186iSL zf{Z`><=6Dr<~>l6ACQ8~$qWI~I_8C5Ah$m47uY;+=@P?3`)JqNE@(JjM>`WC)0VWE zM%leLW#Y!kjUjCj7HF@GR~cU+zYx<{Co*~)*duZu#a{lN~TdP9C8`O&8Z1sn#kR+M>ftYujsDUk*O)jIzsN zN0bZx><^=ZDj31Fu{n zDrVWP{J^_7cCw=bLwM#%3<#Uut(wQt+#*ykl8;uemQ4W}+!**-zTU{&Y=PIU=h=MP zo*Mvp+RUGJcfvzn>Ye(OCmLoiI*;Me}TD$3s3k6lfAqn563yhm)Rs7Y5^504QK%q{IH= z?U7sx$;3o4>Fm@2wY*(aPPq2cIk+L#i6nod2RushR7@`)kJd;Gw$6_2S zyGF;g+n&h|NF7J4@uC%nG~X5&K<{zRK=1H4f){-pMQ7m`2P3cD@pU=@aP+v*OY6Qg z8BE6mGeN+yj@TRq1{ItPPr6irqB^FoyAD8ftW76QB&M@<^#UGD5+JIUL323~(%qMR zFWhu;$M!&8#Lkr6jySrU@&|ujPWmr@RKEPHZ>C<=KMVjOqm@OOIW=lQe~xW~&RuD0 zy95EV@~p7H!m)NR*}XHlyu@}I{RM!?<1oC8eAA|EDV^@i?nC>Gp`od8bGgl)R@dDh_#tp9ZE;^!f#+^xj%uRIfZ2# z9KO~u%JErOpXW_Pp%d|gFb<<532sT`D^or?Qyh`J3aV2?l+%eSGpek*F1sIjOj*2ir_@N>+ykug1O#=W3w6@p|(={e9+cdLA zYN6`vkaNR%3n(E^!16r$>}8&^;T*JCUG1ba!P{RVH}m-AT$|q=kJ?nljUKZ!i19mR z84>%o8kgHN;O~?lHuGqKtpW7L+P(GM=#)B%&J)n!f(|fn@#~mQIK*+G)iF$hTidUI z;p9Z^Ea?zN5~lp+80L6=bw=rX(1b=%Yh!52QI7_`^2h+X_2H9&eBU}E&o0Sp77&@7 zrW>vkGIo{-(e_Yw-*s0-_LANAEUOsnQ-0HH@h-cT-Jkk&y01?u4=lf2p&mw74yY+RYxXEevuo2k?SL_km6$mkb@Lb=lZ=DadX?0L)Ug|U z6KO%0VE{poo65v2Hy$QxVlSB5HbwQeCQn;v8G+5Rw$`xSK*-9?$Z3KC!6?8$uF+atkBCg*wGA1h*RkocI^nT)#eHSvb=O3$kruVe ze$ReEIpMc{udD*>?)v_vW%r|=R-XE^zglkm;%CZt-tmWJ-I`UgO+}FE+1=fNZM%wx8(V2za^vK$095m_H8!2*wN_HvrL`=A zJU^i`>I};s@HBiZj82(9flj+9+Pcm#Q=(P@JoU~*j5>PKpzqtEj;U+C8u>dc01$ z7rk^k#G2LkNgdqRuz?}y61B1TIJ1&Ct=*#u=n`R2?o1>rk13}v@2YE2i?ZU-@Ybn( zZq^h)W9f^01E$GU9*&Abri*7D<#y9{I^dvk=;^O7x1WD5+Ty6{1c>Z)!ZXUrXZ>-x z@Gt(jT>bG6MwSq;^uUA5DZl^ra?CIMM)}U${{Wq)%Gx|zTLtx9?EoIS1uSf>(W_$N zlK*mZmoY>imxC}ML$=2$;n`f*?n&uyY7t9ISb$vlkO5!|=z019os9}712$Hm20UXY zcg4Y=8)X)Ee|%OqlNSMI_@TF8stjcbUGh-vo@Z@T)r{J;*?-9<41LTvu={M0&^?(46;5Qq_#{d9807*naRN_^w!v$#Y5`jvv z@i<*R_z8@OJaCZ-ov2nLA^;4Tkg&`L^Czcytjxu|fLp**!gwlR0C4Js0;*-LTqiSM z=ZZej->$e$Yj;eAOWF6-=a!uhI<%I;SN~nSY?re0!A~mtKlg>@hA(}td=~&S393el zPyP8{E7yMN!{y44ywBVKB;hVIy;nnfc6r7h{bl+7`~EkxsyF2^IBAk-Z*B-2M0)<{ z@#t+H$I;E5q-rZ4Ju^oDpB0d$h9-ID=U?TcUDmCG2D@QZY>CZjuVaiJ*Lv2ZJT{`X z;EAD(9>qSvIdzmlT?GY@q4(G*P$2eSZ5e<4FSt@>iUfG7v$A>b0X%EIb48AIPCEHx zXzIBf(iUNX0rVc{GFQfh zbn4pmF$RJ)AZeEvSHpobe#o{yeg@zWDNqn)P~De&~H=cGUxEmkz(|@FUaZ{nqdQmaR>__2}cHZUX7;7koSQ z_B#I5a?L0IB_LtjO-4IRCtXwj-wU+daj{!k~t8FJ3AN|ACtQ=Y@&&pcaT6!b>liayV3ZIbx0c5mD3mR#nM zh=2<@5da=00Awwi&e*BkM_f8sml^;H0DaQ=r6J0Z=6-0^QZr#eD0@D zFAv;yOBN*WbkMr>O6fSTbHtXed94>k%5hi(!QF9vUOtqU;QNS|q_JU=t z{Re$WN5nlT$2;^XnF*#GF2a#~%W(1}<|hE=(KPt1hlfddMt}lO zqCP8=l$BXZj-w}ABOO8RJAZn1dC7Y|Rt|XXi^>)M{GPn`Z#xz>%WV&4ZB9|?C+_p;$nP5rEin0vb#yjT;%K|w_9!cFx{9=7vjf!;rmKkB3Nq|Of{wuUo5P}Rq;w3aWS>GV3J26BAQ zWh{bJ#+`H?E^ZwqQGkHLh2D8@KujZBrUT9Lw1nL<-GD0LDPMDNj~wS~XY$d5D4UX> zayZUdlxkBsK*Vn7l#%QWdP!!=-Asq{K%VN#R({G}bI)BombO!McG|Y$`fDklD9a8# zJaU`EORKS`x8J@z`OG)5gyrb8bxGP>qevqiCu9^8d4gg7QIUP)RgYKPa19wezIN1c z;6ep`qeeuKI8GP6Ami8o%*q?DwE(6SK7<*gyP7yJF8t=)%m{o$X5N@QC%Ks@7adhf zo!s9rM5XfNuix3{J&_u*#X*78Jm>?BI%nEyH7(o5iZveiS{ zGAs~(=~VH&FT^xf(91U+csimPM}rB1ag+{7^44N3rxQ3Zx^^{VTAkCzd8w0bFXcLo zGnG2HvyVo0I-$!kJWe7nfC`U9emV`mmZA%!I;ecJ+(miPAqzB!v$<;mCz2m$mk)K4 z?;qM?q&MY)P0FOX`^taMy1XazT&_{90MXhn&EcYaAkKX zwldNY>HtxDz0nZ}Si!TjH-F^|u311P$r0u&%7yR?C=ZGZCXekL=-H+|)c=xWov zX#g;+%QG4b5YZfis*DAaV|PCGlNq$?9x#)dJR`rH5Asb_9ur6cw)8?A`$lOhWc_wS z3z!OFl&c369)*twMxPb@YCVe<$xB^^v_)7TKGkWG8~PTZ)ut)20Sz{--bPdBqUWM@ zT+e-h!AXP$h=M|XIH`Gymn=?sbqK_C&f#|)rg2n3vKd~Z`>W$r)j()mp|B5P!g+5iM}cEeFnrZ7e$-xMHWzjZtH9^Juw@BY290iE^@ zR_mFsgSLH`r+eozk#L|q<6SzA;0Nt2AG+{0@uuJ#WsYU}GzUt_6rP=mXd|}z=0?;LZ!a$qNX6rab*EzgJ%T?vLh)jcK0Eb!p4Lzx#id z%l`3ikt;9&3I=zGTC(eI<(YrLRkS8yWp@exoH5R!iFiqJ9S4u{nTD&=i0c^Rbp)4?e8yxbFdF74P}GmqpMI z+o;(3yY05QR^f-1H`Ykci`)pJMNLL+c@jVn(oqB}Y4{05-uB&ZMF+jvHU~Uy zJ8cL^!UqZAtFCD%4bb7Wf#0Q7l-E?wL>oEC7CrbOBWvhvD|MYzQThCZ zM!J3s*NV1{^B6d{j_oJA0xsu-f|!+aUc1X2ue0sc8`2hGfqYk`(`0n{$`+yAMk+B@ z(9<(~G9pVTI)~Re{K$>Ti#<^uTa&<&HDfrr(VH``(wMKq1o+_Nw$`XlwaDk?^)OQh zbTjMM;INJz8dI?7ma#&+)-$|GSw}bOYgM9yi^7njJTaiMQinQ7KZU?LLyA5ClIz+e zgW77f9Wrb`9bBC)G!J?sH9^tH#;hqO6xR8&Pyw7{&623pi4_3EcKc(plgKPttS_v9 zrvb1Q0D>)i>ck_v=z=13?9QrVwO_R@BGPuFNC8G*$>Lx@h0ZRMBH9EhWdfY?@Oa8- zyVKkD`d^!Q6N}z#bB@?1OA>Vlv3<-fw=0fQ2v6IXXpKB_tBu%CRBAiPt>>6>fmEU) zZ4nk|Lp>^!1@l{kR-2~8SV7MLY~u_+9@EC=Sn?l-&;fNWqn^6UKF3B)aRf7Q4jma^`RYy^12*y?UwMh;N8ZqGSd%gDT}dRbqLCb96|X zs(eWjpdwp~`Y4)!q)u6qgQgr-aqJ5o6TV=9dbZteY}WXxw`KhNu5ZTXqya1!Edpra zyDl_>mrKPjo1&jUKCT6JTD{P?)P_hl6YIkj< zMLe%G$d@O0+}8C$I;45Fz!2#@-U-0j7CUaE({mBGZk_u^KF+Wv>e126(}~#c$F|_# zcVj!JfGW|9Znut^SCh`KQwbFA!-$2#m5)cTtPaJ25sF<#X|2=7{UmaBQV`0FEyq4D zTVFLrgovy~6ZMN_5#fsGPNyly$M_fhVX6~5J}F2T=~Q5@x&|nqaod!z%`U>#1f~EB zwrf#NB22oe#D-9gi+(x>h)dh$BMA-xO!keij39In zfrp}in8$IHM(+WR6sMDj<3ydXG*+sE`v6VA5M;nf*ZcGYTQl`J!k_BSogPzws0EfK z>VbcqKrs(}aB@L1-9CWMPef*Ei1Oi~-qBg1CUi>M)U}ggJKSwgOW1w2*fBK)+XMH; zVU#CWqiiOI@*)P9=lNCbVgYO|K!YQOM|DJoxR513xJXMKMU%Z!VvskeBs-9pC79Ec-DH}w~Q z*a{Hx&X|@2>Mp<_OFO8OvV4^m+3b)n5JOknZI-&DgnQ&WHb~e7Z(tJrY=LUo#U~d& zf+=4XV{9%_CHw-Uh)y>a&9P#D#;0a%cD=zMBVcWr($GWv)i(TVfY!iUb#va>dN$<~ zVC?c^3+@i;lxVLjPkk$^k2lIhmQEh#+?N~ui19?H~ zo9E$1Ew6AVyKvaa@fRw$alCZhrDH zugOBD6Ezilaad47uot-MI3!zX&=U^%!922Tvmh=2Iu7Q`5S(Dp8f|%rQIOBkPVuU) znAJc0N%GuZEH6r+nMoQ%A0-IP1|8lC3N9hNTiyA`lm*n-OT=XxKvUPT*@kq#jV5tod5H&3&bZaDtuuj5jHu9re_fm9Ls{}{I~9N^ z4`U1dP#?XV?G2TGDCED9oIsvPQstl(q(GRIStF99odoJ3G1}#il@mz`en!g9_@W54 zMX_!Xw=~hIcIgGX24qH;0%UY2U)^k{b#t?$uJ?y@Rpmi`{Wh?XvJt16Szh&zal5W_ z>Qh#MS*AmpZwrh@dfW3H`9e%%iS(-T5>??qYx2ES*RJ6TT;TXX9L=|*NS8x_%rfZ7 zio@s#b!i9A;PMHa%k^rRSP&qHIGUrZWifOX9>df3$jPHd2XQCzlv16?u4%^S04ac#`Mu0NOLpoo25LqM6Y8|7efTqM8ORFMn=2_SY4~qpBXu!rAi3PM% z5gK()G4*Y;T~hQ(evQ5aH$NDZSyX_-7qsU6crZ-2)o4ke3jhj2K%fAZ=n*Jw6EBtr zrc}M1BV^lFOVB@&G<1TTwy15To<=6WN|IXkt=$&Yb|gv_^)eBIojn)OX+r_fws~xd zT-t+WIG~K|d^DY$A#E8J7zMo{(tF4`F&fbECwUKeeY1*VcZ@ROusVvDaR5dqAnC|D zjbmCmf^Otb$Mvx>dsS_wH(?a@5;+2!I%k}k8hKN4YDzD#R)-0|S_jDnS(Og{{sUA6 zm4KQ4Y1Gs?^{ngqI8LH|x^x_*3y!{yH3s0iGGDP2{d8nOg>A~QMHWWu)PSvg5+y=k zW!qS)a;(Pkbs@6r9Mc^~zjRe;o8aJ*6Ym(_O!9<;z$pv=bnVYBHlRmOP6cvHC5m0U z3Pxc@quO2>X(M`gKGZGx!9Cy5uzf8FT<|bUy*-C!INoR-Q$USv9ZN+Q&#l*n_L7zL z*mxDx=-!C88*{WCCoB4C=TX^|4QcKzF!}|wA<`SMzZa(wifel8!q~-qfbl(@DTDPy zDNfPZMa%#_4v=Lk9B0s8hu|W&ON9po@G{oKaRUs{Gtc1ibQ#HRSOtr=>_SJXZxUfA zpl0+UonW#7jPl4>16hEzjv?ZB{6k>?g~=D5^f0Nr7#er(yuC(|0$X)>9lAzG6<7q) zU?w0{gF$3>&hFRGvJY>;K>I*0S|^_z^nrI*ZYEsOr?v(1B+IqOB11;|i-PoeO_ zsLb#>vl~Y0&rf|90Zv&wOgG<1Ro*`0rw#H#0M4TmDsr^zE{-)_1Sk(29xzE2#%yed zYbBE?@D=k@KL1Od3}Z;+U5xt5taJc*s@UG{<}y<5q*&#v21A-J3*2|#eZAszZa_)sCQ{E*a7e!Zm3;&GfGPi1?;iM z9_?`0j#$8J$(!f^cq2xc$K3(+9>e%vsQ&6~=wlFWqeY{u*|pK=@iuCbM{TyiH>54Y z0{7l~Z?DMCJMY}@FQlEZjOmRUV7OpMt+8Q$^tC)~7I#DGus2v>%e27Vci-JB=J3@* zOx^t7LR5WW>-zOBY2C;($ zHp&76=xvml2BJr@z;ySdhh=N?NZKP&4S9nFwk!(_ptoh6j|HX85a}(b(={mDSzrLY z;Zpd4EigoSKd|YBit}UvC*1D2=blJ+Wya{Tt9erC2NFAs>HR=v`{64Mp!dVuaNsbv z7Vt}GZ3)`$yYHSQX>+T==8-ml-sZ96CUY6>-VS4Wn{2+J!aP{u)?07wrS84=-u?bU z+ZjM_p3c~4q&Ljo&eKU4#BP!W2GH9ia}C4~wZJIo4UyhMtuq{Ni53|Bu=fz@ZHZ@S z3)gAr-frP1Xi)EA78s56_S$Q&hm|jsjG=owPiJa0(i^(B^K=phv72Opn{K+Pr{8zq zef#}|wljdru(d>beCoiD9Smu%E#Qk)8}PZh zeTeqv`V0*6HpK$Mgf9j5E$Ajc5VTM~3^YV~n{wtiBkkyW28a93W;E=;YAhCTxk>{( zUn#Xv0Z-!$pf{FF~D@(@s0>VdZC^eReta*kd1-KV%FRm}?7+g5E;^h}8gkb8z(>ee}`gs;jOl zmt1nmqe}bu$3Om{vLlZ?vRH3Og9Ww(3tWBm)x8=|eBu-P{e`$QbZ_V2tT|C})>&t5 zk|gP^H>AM=TY?2fBfSCiwuCdX0CYIxj5CVS+r}j6q#x2?fi1-X1L$ojXJP^Au_@8s z5alhP6T6M5dgYZ@_ANc+kVE?Yg}5`U)0@My=Gr{R=^krr&nWMri!K_vwsUx122qb~ z0UwieiHciS9k@o%HG2y+4TDB=c;+@H+8d(0IXoeQsEx9KlNjy!a34Qg$be^q2hiK7 z)4utL9&2oG7|Yvyb{;rwJ_}ra`Q<&cCq3y&{r*DT89;B2&)j20dqb2r$0uVDw^0@t zKyRbWG!Q+O1s*Bd8=}0&ve-~IpBDK3_rKqZA0oZp6vNJ@Sm2SOy&=lm6blZtb7_G~ zFTJ!Ecf=7#^!p2SXPCX6r!zM?lRM1V&eKU4#BP)Yd`t2zx7-q1pDbGFkD-kn^oBQx zJo8BUB4?OU|!wI(W9Kp_?!vVf~(Cq+#b9+&Y zt|_%^>p58HX)K^8$hofPgx~*YE>c!8zN#xreG%1smr@fRZJN(&~cWBwl+pbehZ9(p2IL( zLmCU{c>(*vK^HNuUcI`vQ@g;uxJ@1lGNT}8zU5x%mPsiq21oqhRsKkKN6ZoL+srbe%ma!~no&K{>H ze?ncTXR>YsgVs*-r_=#`0!+|Pa6BWhNY8Iw$1{sWl|`~_9dx!qfYVO4Tfj3fdUGD+ zCAbBg*$Rx&2R;E&ZR4+NLpx8(FfCrZI9tz&W$k8?%J+=O?^6KgKa^J|ZrF^;0vBI=anE@Gz1|cL-_bGJTUOhr4$bp|ZAk~x zF}&a{Yd?=IGnv;Ss1_}muhUX7KY>nXZw{%Wb0As3LfUDamVBMwh$aqBxyS3MJ4?hD zXChBH5ljLg@CjeG%2#G{I>B7t@{3ICNUvU`)(+_dQR>9L(WQB<4VKx4HI|bE0)a>n zo9XhDD_4Om06~3^BT4?y#eS5BH|-MWnoX3^+ANRg1Wi(t!LeP}(<+ue8ydOPm8V{TMU#;_f~1unes!d}SM z@~X43MS5QJI`C-n0`}*{Z<&DD^1SGqLp3LoMkih0Ikvn47CI38b!=(lT+j&~qckwD zfTJ_|vmRT)&U$ewDl~^~4yNNz0hIE!8!PzqfJ5EZCA7YLjNznN3!qJRc`0LGok2(j+OXBLOgfW!?zi$*Kj&7RNUf~h1gVsBr2g`< z+?%M|RzDSoKV!FmFTibSYk8sV*g(&VbM)s0>qXttsMDC&F6h?XwQh@61fh1Z+pW}* znlraZONW<6XR>@kClnN^o35|&DUW07l;#VZ?2qczgC*&^=f7DB)$i6^q z1lOWk6bX`9ra<+t-?Uiibe2dyqI!wT>*zn$+! zYdv|HZ(fr6BVSwFowrRh(oi@muM!V`$87<>eztu1@`%}GmtD$%2OctDi0z`O{3z2P_2^Y2n*wU>d$nH^EF9ZETF{H7XsW9bBYN#_gz|w#$}ZCNrQ@c1!ZtHnvxuMvk^&z0nlg z22#?rq;95melp(L<(V&7`m>JwTN|Wrby}YEO@6a)+A9xb^0N&lbsN(BSYR~DJLZ^U z=0}M!NF6)qsk0Y$bEHuxXpS`6uI2>U>O|HR$hi33H|cNz!Ok&sR2@nhT|{>=Plrx) z#J**Y6X|S%CK-t;bku;Spu(>Kq47@K4tndTzh%-ZYZQ{L)v2k4}im-S8RBj5y}pwUh#mtI=h6CK!>myw_Co%NWX5M;a6ImgzqE_w2i zN1{F2Ag%e)wL6YoyZQ~Bn*FWcctFx8=~|gvQv<`Eh#h5{w1xX^YyGxwdE-^#l;{-Q zY>R1>E*Zn0IkUj|=bzupdfL;T*6%O$ov}uGf{GWk5k+$fFZc$4551su4C&0bp0r6i zjLxN_^3(C<(fBlnlC}X&Tt-?!(fWb{d;?h2*HwF6I-n%}3owKSGyy2e-0Fn#5rEXM z{lc4i9t$RRIa^Y{jN^561tWC`ABY57scoBOX`}fay?i3uvaX(>uWhVnBpZJ0M`yOy z6+D_9tVd=*);3$mh}EbsQJu%?0ng}feUCetRLQY?+s(jzQ==Kx*L;s7cVxfOw*1kp z@@$iBvAu$NbT)5Iect1GQGxfX?GM z0yK&Ay!c5*M~QUc+js{wq$3Z{iIZe~8~f52Z7N5Hm9OrqW9j@2G~kk-qKUwx><_Tfi%^U8n_C2wn^QzgLMRKd3du*`>A2R$$a;F9lLgpp2J3G zU1>+{tNlmokMff)Hb&R9TSlEu>Zg5%G`AM;@iU*ZHQ6&d>ZqgUR)H}}8!PBF2T^}7 zYyrsR#jmqiZhmvH(IqU+3B2e7hSW)vg_E0Smu<=7$+B`4V_)#J8z`M+i&+$Hgr#Ha ze(S(4A`}LG$^{;jyONtHV`jRC6bdb^+th7 zCsrTpjoPT$B>B{7;OB7wkZo*5ecRz!oV=_TkiiD*gm-M#ftp~ME+bp>V{>(aUxo|F zGqv`P>J(j|Gld@hZks*TC-&;{M(M4iUY4t4lil*9H8o!D3vbPCw#~Yh4{2^KFdF4K zp4YETm|Hc*B5kao7a%}woy-f}i`;#aMr;?m`3*=KtrvR|WsT2XJ8f5f{zr}|NA9~z zIcSfa%68L}<=zL@mdkIwr~IF7de!*uDD=mitcPuKD43bw&b9O=%iB0_TBfp1MaSI(d#7 z7>CL5XHG0I3VK^p*H+_=74(`zxHUEK(isE~FLv`h_E9Id=J{(*VHZpX`^giZSbpgR zN0w{vTv5Jw+0Etr&sa7ctmxg9r5mVId)$@jgz9IK_Mz=m|CSm!1dOQH#u#mP>_Yv1K{7n0 z_ow6Uwet?;g-0Dg)XD;B=7;4r*}7V7k>{Ijh7#D?t_{}g6c{#Rx4^f*{q0`H0D8SC9)D-_qV}Tqxc$7y&1)CE z4yGfF9yi)&9JW_^%gc@_pT6jZ@?So5epw@6!bZu&J<~Bf+#(g8C77dygr?x)y%G8NX zf{hENtrOiln#i(@{B-M}v2Kmv>divkrUfPW2pp7~9GlGIWcCB%9^7>N`Er0*jE9kOSX9@5~+kuJ=c0Ue_)8WAZ8Tlk3K!;0&2VDdzqk$3o zE%Fe2bYwx}p?b?NQ5ofyHNa4|-8dsTbueX-vGh5p+yjg?Cpxsr1>5R`&N?F^Gpf>FL&OzDtWde_C`1LYjt8X=+)CakNtVvZVv6(`X;xY z_oh$dWuE(uPFjy!p84_$pp(Cj!68 z&{KdHwNBy%?S6|4np3n0LRuZe_Sw0df9)NCj5hhP+YXD%v6LOT|8C{3m8;9eH{Mk)x?wr`z{UE4 z1lvRR-@Qz8cnRfuEL{SS?pY4mbLVo+@|ERl-@m!sxss-Pq5_E^DNpV9WX3bsqx0pr-W@$@?rT2k*I4cpkO? zE@kQBiE=3s-`)4GDZ65iBar`<%WsX|i5QiM9e2@I2ke?L#rv2j(pDFu-`d#?>-Lm; z(C$mi&O0nY|GUc`jJKXdTMyf7=L|udd)4jb=DSyhpXa~XMjM-~-;(`d}pknm*-?LP{xJ0umuY*>O^%omlu0m8`ehv zTOzxjc0mfLX7B%Jg0ryLrv`}`$0mEU;jF#*q&tJh}y z>(^iW)bbne|7JP=>f18DcGP~ml>hvSH5W90`q@t|cMx^`=KH=;u0ki<9iS7?Nol9{;P-RSJ2E!=?SJ}a zy_s|opP=vWuiyCW@{51}<$&4Ck9k6Q=9BggkJp}jDADgsdHZKBB5J;^9K|HbU%cU& zQ`{aGf*{7dS9$;MbJJ;S>cG_;b{0AmeZn$e@`L%!idbyFU$+n(x z(xKt={&TM^zx!jyWvIc4rDq?$54JnHyygApmakoYOU|?O{uzVrGgis5 zDfHTa{2|Sq1xCBJr<`)i+zFl|Nn-`QbP2g&`)(K)u-z{QsT(+COpNg%9UxXXVl&bhe!pMU%Jm{ppc ziDuq@<|*axe)`$vRe$;U8pXgv2Rs3=+M7v))Bp0EbOY7P$%g;$)hCp9Q0GN|@+qDK znJMQ0jK2fuy@UyYe?I@(p0_-VPJZI}gUfdSw(E!zZQs#P*sZ+tjn69Y`T7;*Pd@ow zBAV&ExOC}u@IK?D^7lXcBjpu;{@HTRecfA>yHF>#(H@b|fkh`nJ8I|J#jX@auj=rp zpT3Y;?d{4Je&-eCcR%<|BHOzHs8Ut9A-c9J53TPSe8$0hV3SkJ|NPRwm%sdceUF-a zmNFUgC$#%rKZkw*_^P$QqjmTl3Gn{{H;~u9^Iy3+txO(;<@ZiMvHaQVPA$*><4=^8 ztLbh-Yie?}PrEK+FYIGG63KHOZF6YZw|q!*XMs`BJNe|3=T7h(NosyH7I9vzI-~JQ zF5K=yPW-~Y;MeZvI$pY>(2lMtI}p&*nI04+bdI3IOY6EkXKAbBBM)9ikUH9beDTrc zlgwQH?=M}NHU>b*zlVtA*NI&A+^gOTlyL`W|L4FBcZSND?(zs&6O`Ai_Z?UNS(igeWh zYnNoKnq6Ov+?=U=(=(nFu(ylXqFBK^-CgzbpK`FDI;8#RCwSR@liggCP|RcmW>DRuJhLg>KKf$TNwA&9{!pNcBIX`_1=Opsu=2 zl#g-~Sb`l-IdrekQK`!0e4${SIH6r8>-baGw$9N=x1B@of|bYcckC8$XlZojc596E z#tV8}#144-8uoV4>zLlr=` z*4205i0jKT#<2)1$cP|Gsz7^+%ua5iTBli#OXD+%v<9*Avo61DX`@eZr z_(~h_a7&%F0N=;HdtG^vx**qI>_S<;uU)$12aR*lc7dc%)QznKjt(%SZ|$(1u|E~k zjpiKfzw3_as=n_VS0v(2Tc9&(+xu9|_o)l6FE4rO0reboWj8ZcdD+c(_qI!$I0xUk z?v8Rl-RYf{)R#2$ZBaJm`LUn#*0n49$g(WD(vIk_t%o!x7I1xD`(BIRxZQj2z2`*k zTnZWSl+7>J7jb&=y1b!Xia~-fx9iu;T1ZiGW_XaL`5x{yoO1J1E5QH3%;h??p+nf*WrBXA(0XJ ztLfG`m@hc1ukxHQxt{K;OJq{^ zX)9nwe!BaVdDGBtt@|&%as&xsDfykAt;}*$##6IbLA?hS_?c{j?R&zm+vnJY-ivwc zs0}5w8;!QR`u2MnZdh8+7ssaCjPN?U*-q(VheZx9H`MByvNc^L?~;wowiSuct5}s=Ytl;6>QiF zy!S9;>TIRJ;Y$gmn<1K0o;-~hbWu`c&eE50rQKG%m0J(Lu=tJItM198{w0rsR zcdiQ$dGE?hu<0Hje^6)i6L_Zpn6#U+dsp#cqDi7#x{MC!8@Za4nwy1s*am(AvR%w} z0@W$ek@V`>>1rEHc5ltg%qVg<#Cq71Htx2xg5G^=YjiFU#U{v7roVgX&hNJ+Ov+JYf5@00C)vmSf@ca(V7%w_7^O1RBTr8lcqZ3p!*9NG;N} zjf;6{>J8jnOnYN10nP|9=K?-0I`k=yTkpL;-F9i)k{b2*9Ht!tS7#?_w6(1WpqVc} z+rhS-bHO_x*JN>=NK@N&JlqUvycY1hfAyiOtf9{7CmbAS)nRoIf2k`k>r>~96A#I3ax=GeWmQH#+5!uzg?jRDda0!Rly99|>EeC;irdPM z@wk^d+qM1BdDn!0ctUd>Pl`Am_%zn%H89cfmjEt)1x*lodef!Zp;JcNndI#_*}gn_ zC*Y~AdD_?dhwWY0$gN1Y*!-vWN_vArJNu{_80 zw#MZ3KelAF;4c?2j-tcG8N8UekUiGH%=38ls#W!Y{?6G1oaHQ}{n&S|EkE^)!^-nn zev+sIr!W$5-=ERUOO82^B_dBOfAxh+vqVA%x}Diq7vKKObDrFH{hBUD9w$6;cK~s> zEFpnW1vZ_Q|A|cDn=Y1e)SYch4{8T>KEllI^N!fByo5D@yAmyZ{DSM!Zlg10&M+4E zVP-UcirLx4Q*~h8wznwqz+HJ3miqt5auzDYCVf;^oplRNeayO&+M=+zsDw$oNW z^~@(X^{T$q>%k2=X{1ji&GWpb7G>YRW|lF?>&s6+%h}@!dX}rZJY1UM!sqvVkFU@&>A^*w(#6YpX;G9fJ>rcY@*DZC+i~Hb2FszTi^>{_(CsaYmM@3 z;MlJwFW%POa$oT9;twDSD(%OG?Zk&mPwbZIOAT25^ivm>bFaFsy#000D8KlEr?TE{ zcO0ay^|R~x8!vxa`C}IRo^$by<=tPoEb??9-STapzNj3^Qv!ef`cpHpp$OyS{YkjeR}aUDd4TRA6pEW|>A3RMlG<=1DW@IrjW; z+)N$%?z~f>?*a>WP1gt>{*286qoDUAKk_4ElQZ9p$GSMV^N89N^TNl$5^2zC_XQ3w zaFg9lFK)YyNu4u#yo!m4U;W2(%dfoX$gC6lh37vdGpP?So9ZOQavm%DuOB`y>*(;7 zl84kgptzB-wAcLAzm~I3ds_L}ue~H=W;-%b;NxF^Lsa;#uU#HT)G>{KT8g83jALfK zSaV1TbmSJPptt1@Fd_0uqPsJBU6T==PA!c|zB<2?7-#&&IpudxJFa}-mtRO%e3tGl z^(lMbxmT6{{`tC=FfT>W4&+w`06dco@-x!=_4j_g{J%Uk@#>QfVIqb{$^iZ^)208J zzx}sz&Ts!{st6)RQy99O!&<^WV)66xm#;2=O`G5M_3sCWB=jbPvH{v#SP%KC|Ngo1 z|Ge_}^5OsVlCqNLm$#pu%8d2@Vx8mv_`)SoDSRWP{)w&NlXHsPc5G>PHfvY8qY?OQ znOkj>^KM(QW4;?qzIuBsU1tT^4QWgk@Ot^um%h|<-punqb^ClNK`sUS_zVmBw zDq+ow-;3Kv)AEiqE^PA^AID?gv7QXzOV34bHz1 zS8iCoBIP=fNvD%3eZoL~@5Xp7*6+p;})_Z{;{nG-{+7#CD0dFR|f@6Dx;cFA{^ z_HgvOXXOLsDwfi~e8YKqNc+>KCX)ko^cV0$jylA?Bki|6qvuN=>a9-sQAhpTx%j{v zjxPJ{w_n+T@0hfD))~^~v4CGbYu~}xXPteu?;;miLgATZgV8dZdtju+|2lsd6o$VsRPgmHab}(>WJ(oVqo6|w%_Kt zS(9}IBr2D+@N{2Z*43%pH~AVXyUIGGOIjM3IVsap+9WT2mOD|QK02)O(^XXl`{oPm zKF|AIUsS-c;1Ez%C+SSeV_&drU3KNiQ~KHUteabYf4P!Ln8wrbuM8KUTLV7nwYx7p z$jzXmi45`ud>Y)_D4(*V@ByOh@A}vp_VKZ{MT^kWO4Nzn<=g$tcE5p<`|W(uqS_Yn zl9Wk1Y-g)KO0PU`QraV6+0oU?!{2dPV6a048&Y7Q1 zMv9}5FP%w86~G+t(?MO{B29B(qk}k;b>&GiI?1@3d`$9!&KXIaP$#y|H2VU`3{hx6 z&3auOoy#tsb>oO#zPbuH(TQyv4~uSHcUR5(c37{gn=SPdJ$3wzWOaBWI%WF-?{yqU z5B3vrqNk28CLFKuC8-EH3l^sytdGKr)NdD&im0d0A)Z+qlz z-2j&P9WO!Mn@;qkt(MC}nWkpLwyz9zl3qP?-n#k$xlWGs+AMh;U6Yyfpk1LgFSb>m zA&uPvpa1;ldl_4E*Vaak74+h4T=)SCF5Xfi)L+jS|xxhLU(4}inevZ|_ik*CS11cP+EgWYHy}%}&Hi>=R z!f(RG-;@WqC^rI(-kl6TA(;qNUY$&lx$S>Bvj zr){8S9i7bDEpk+L1LeHtU8j|XdMK|_Ikp{fWcBAK4`uMDwpn^;O${jACa=}8-Pp(! zXP0+JqmIg@a+x9mb8FJ34FoL@(7-3Wa++`M^aw<$;T8&m9~>-T{5fFK_BO1Ys!-u%3(jw-|>r+s)zLi70Y#a zfyz92LfZf*ASy$6^}4DaN5@13kAM%fEmE?5 zX&3rA5*gi~i_PJcXb^tQF3nEr7n@M0>Duz-(aK^EXneHLWc~1FKf1_UeLCHgr>=>_ zksrWQN9jH8u7TWqIBwt=g5l3*x4`E<_qm?ui(mZWet&D-*>GDQLkpL*Xb;nL_W%Gu z07*naRI78IJOafrUivz813|ZWR#zuuzjrqFn{(+v`9aehFwO&w z$$jhT)YdVzC^L>oxwg2w<2n5jwlGL?r(#wZBJ}=w4#EGf|JnE$#@>4fxwVC$zr3K~*G}^&@ zWw&l`p7m9RvY~IbiY^>i(HrdPu{uiIz)yX(L2O5UD{Il3Jhg$cts_^@cXa7wsE;;P zw@72F4nrEB1wQ-P&-To>1<)I7q_?VbG@Z`m1+7#2^D=I;k~)bFn#4seeH=n3>72vp z#z~0gFzEtQ9>;5Zp_RA%bg&jN#0g<8ul7kn^K>Si&tJe48fClWW; zQJt-)t@5G*W%wh-4&(<^$P2VfD<6S`U-(0#?c^y~T2CI*r(KS@lBX=?7?lZR?PjAL zB9A()+nfyRBP(*`Ctvf_$vWhjq7TP8>he<7XtW=E`UH(Uhcq4w_}E$d+@p5h+9xrz z;#fh?hv|Jykxt}g+?-cO@I7?_9WLtDWz)fRoB#s(ZsUy5>S{i*k&oV}Ic0G=_u((C zDRny@$>5JpCtrVpLUZ&)NTUwOzEPUvkn#!Ovdum^I0J05zR`$n>br*ScgF!Mc_Gg> zdoj7Sc68u4Q6a}_oi^j_ZcWOI&6LM}@~zKt-@Zzia%~jb!8dJ#kKkfm<%SCnn;Z(G6>`-G&nF%cj2 zOwy|-JGD*89sX=?3w-7?pXqNdbu5a zJ5HP76E4ytBR2{3ke8s)mgCr-0EPV2tK%iO1c;Q)Pnof^ceeP!@#DZop;=q)eyZLg8`C|#o;wm-ZDKKaQ{ z_Do*>@|XAfTl3CXKu?3kv2-LZUO}mWR_oI0Jk0^54~UVMaVjo!FY*9{d7ZPzfhdck zk{^KUXq!_%2<%22PJYt+Q=di`rxq+aXAeL$Q0Vk&ydmnrqtU0G>eQ9>k5N%qr}q~C zgeK069AfH+dt zBCZB5&CY3W({02y&1SM_Ng19eK{LR_v3#_TDS2$u4s0OrcCKv~1oei{$!oxu`tWca zq528_{doxI;m;3i0d4&0Pk*{+v#o$0H)pP@&78czSFT)HZoBQaa?35Zl)LY~yR0VS z8-u9LtohuryXvZ|$_GC1fe1Y0kVDFAUh|r{6TSc>36_HFjyvvH_S|#N;-gW!?z(GP z!f;6g(go0rEm}oC0Cei9r$$E~@$-AP+d>*kq~{&kaj{)?*(G;pFIItY0KE;DlsAI& z&p*G)`u$<2Mu_b?@`KZY-y=nugROpW3ygMcU-q(>{osriSk1A3o_AtFZ>ODh z%AI+%yR*RTGd6YayYIf9w;y6T@W2E6<6);-phbIjZT-$lh7#-&4{5Vl;1i$tM9*hi z>Dt=hv2<@`+@drKHbjBHH6r;C|NzzF_q`?B?u)v2t^r4>Zw$`<^;RERP zr+>UVn-c8}QQmmZ#kS1d@#E3;d8eO#`Zi~d0rckZly6M5H$-`JctW;8QNCcHy)g8M zBaYbU-pAHtssZ%o@N8~Ov^PX~b9h3wK~W$4;0OCwzxvg$?)SH)oniKNj?eaE&EyU< zwsU+kwlQ(OCvva7_A2+>b5C0So$q|7|Lo(oWQrluo8zG+xzdoKh-Y2_~LDHeO|NK*xs_D zLm&6oFUTvCd~K4)?dL^oq$42uM&eb0r4~b{j@`*+BId(gbPW|5@6bbB|t@ z<)7z}Uksv#w6C69zt^N4wX1gU^vss?e(oIftaeG^@Mohf;2TvM;Q8VUhf}uYG#1eF z0vF7-+itsj8>1PxIg=n^^4PcHHjry{mdm665}5mwe9)Vp9}a3sE`p-Y;Ky)grEeEtaE z?LLr$vkOX83E(MrVgjI4Cz5!xPC$S_Q5>S`3~l9mw>bIi?Ao+l9cKdaf&)+!9r#u+ z?Ne3~3?}8H{_+RN)&o*awmQ$Q|J1lfRT*pq*5C(vD6SW8*~RX($eyh+sZ#xu0Y_NHW=X6JxD8J>3qXmb9B zp9AsU9NSH>8esUlF&23DyWicDz3z3d>-V?Sow0zPj^RQ`ldt(Undimdl0f1G>;)f3 zqTH>=mYF;y=bPcBM7^j5J@4G3 z$$WnTgJl9@%ZoE}Qao!md$9bh$yA}|bZr_-#;37|>H}&f6 zLDktAzx~S&Kf8jsHvnLLKK;nnE?v!M--sx>Rohu-(R%r7uiD*K+1wzYrCH?XPr%iN z`4Mwd+8p442TYZV#g={NK*3)F%te!E$$vq85#7)rfq)fM z6ByA0@JU1`hS;tKXdK%{3M)v-BmB*xgad6c)kTlmTegIg(ZOSrwW8Yua{1SHec`bV zfV4f0SBu=OBd~d{R3cHWs9G6@KD#0t)wQK{JPYkxyfB9jiQF7KN8Uu+HKN`_+BggR z!$15(Pxyv6yrJLUmUqSmdOA&jYXmS_o?9>6cC53SJRZHU^D*ddf?;}bjS2}7n1Ilk z0Fgu+_y#`Ez{&{=!BSqPc9-+x+445EZOdyQl8F+WZ*sdO0TAm-tFCc0SnB#MYSd8$ znOUM1!8+q&3J4wbbmR_D)n<`EVU)wa=_PfXOj^N2XpbC^J0P@;YXlC;?QuHE;q@N&!KM`014M9>+@Ly&t0l$Ea@&yodHHJxK$kyY42)jl%MqGAJ z>m-990)-$6*v!l@p@AOCik(CnesXoIZ7jD-oUSa2C4wW0q>@x@svRTQ_5xVZNI4u& zU>~F0napBOl_~PpA~!G^pyFH@jVXqIsiQtJH_!ejNqRxhJY|?XH@OKw91w-KDK`?M z<&K|qt6nvt)Ci7i8V!3s>Ud$Q4u3Y$0`Gd)yZRb_gJs#WW&QECyfaqNOZ3CVuj6{L z3nmSybRdr(DX({Q&P-+{*|vI9Mse`7o*8hy{Ank{yP}4o8t@Xd?Dht{kRM~jA@Je*4rj&Qk8ak>BX%j8r^*9Q8Z+zn$H<82EOFmZ6b6JND zE;uz{NtdSsKrehjsHGN3m~TC4P3AYil8?Y7xVaV3bnG}0w4+^HoyfI#im=-RQC}{< z34swlnH7ew`pRFqiBbYk$P&c(m+m$Iq^$OfZaF5hQH1?al1}f^4kMs|f;tLn`Cyd_LVPXb}a=_WvLq)po~?bkI|j8 z-5DPhUIZEFG9F6%pa)!z;XC_ge-OM0!ng*w6PZW>}Nk)Zo28Fkng+izU8Gaed)$l-RkMa3VJ$E zyMWy`U~=C((I}`{)_~4(>*|DpnECn!J3TN#5D+q7Kr_0NPUo|`*d{r2a6vcg>fqb- z$b^Y}MFJdT{=GF1MnrF7W115q7)xlf`_HiuuoeO=-bz8TtxV_xG;@0x1%m209wdx*dbY4BNc7^4m z+Zy2+-AphEv6cnJ)2@Sqx8rtGoeqMXN&S>-Hx}PSzdD{KpZsU$buCd)jmkQZqYcVV zGy~C@NBsl~Yp2V*FZ>`p0Cf4n&xC6SWYcYGHmK*=UAnuG?6F;3Yz_b_%jF@i zika-}u0C0WO`&!WjKKS}T|l#vZ4Df9cd>l!dZJy)==KNWYzOEp@FjvvHEZz?fX#$Q zY>VBHQ2`sC@at!D(a)RNdd{=w%Q4g;ZM+5E^Pcx~i``2(<&;y(Q=amajjy~7P*!gr zQ$rIGz}u}qL9GE{x|@{cqUYjwHnsuY|KHwu0N7QO?SHl=q!N;l&}-)cy~4O#NabugAVjTF=#;(w^}2C^_up=fCh%2$&^)njRC8Q z&wehKG`uu1HE?0|218jjbJN_+6A!#8fSbv==BM*bR^Bj-92OrkVSxdU@*;A?QCUD3 zpf#|lp7mPCipwK?zTT(84|hF2j2N;WN-UHkaa5lLw{CsuVwW{{Gb5;aiLS11oPpuiDh%#55P4>@sJdIpFsuQP+XWz6m2xydg$KZ6$@ zln{^Jb-lw6Kl#0Is(zy;zZl+}J|P+s-bp?%NFmEKpkQbKVb(`R`4YsQ&&ESH2q*1y zZ1}_IJH;c*jRkWN<;5Fu(@fX=XD%B3dU!`NTg62WiX1A*bp#wpYnE43tw9dzYsI?Bi~=~x{LbSHES@JP5|=@d0tzsRYXbZ;eRCbXRh8LG z9`lVn$!1|22X3zS#Pyt@qK05A{8NEgHdNKC}`L~YPh{J3xCLA~(W zxKbiE8@bI4F*7c%N#}>57K}#moD-lS(9~hAt7qi{lvs{_a~tM{OCI}W zsFQ(gx9XOrg+FCFukyP*#Zd-c1l}HACFR21eO>U&0<`%w`uk`WW7Y7XOv@>Aw4vq= z9Y%nm12X%+fQIs+bv*$22xv?%iSzRqL5+QEegVjfgf9%Tx?l94UxYOVt`-j7>_ERH z0206muMis7FP4mWl8-4jOnZrCWs|mDLkJwuaeitH&|+{x-vUhPOI7ucI-xgvg8&r& z1X9R4XU-gV9Ux2QjahbO$GhWaK$DEf8Sk~?;7^?XWjduSdydjO{dWMMy+R$CZsSqz zyyWT7wg#@f_Symg`{woU-@kC3PND`%>giDg4>m@E@ojX@x;D7CPt`fF|@C3|&uvxOEuTcSx8uZ&nyP<+bqW zg#U^MMjYkaVU2CVh?Ul{;q9{Sjzoqh-hM{?Qku>pKv1cnfA4-_^OZLVTdcCF>E4n;EhMa_-PXq8$G6M#1_y%N?(I@%IapK>M^AM zkg(;jO~QsNt?%xEm)?Ihyg2n$_ltTL7xGH(wFa*f`quXeFHe0f4DYwH@@(pU)2H7Z z75dbz5Vl@r^YGNW&#MoxI&8Dr7GcZbn}&}Y=7a~wKNjBlXrjyPSKl{mHEd)UIeg>r zzWQAMJMp-)GdLl8z-bsE zQ0rCOE4(r7Eyc;JQaVP1m-XXMeLs9|{oTXU?>rwS%Lwt9zOmIo0-*8Xn7e)u<_IhS ztfRI%B&^bZn3_~I;d|R3X+C4#8yjZKpDkIM!v+G3EA~Av^j0~~s~J6{&r0E&+k7pY zu;Vww_y2iT7&G~$Xuc}ff~n45RR7?2w?8^O_wHzwGdJw9?k=J~CY*53>0$JHFL`v* zpetH8L3Q-JJJo@Icsm3j@vc|z5BqGedpLLZQ^OH|{hk08PcM3o21wKCk8~2@Pe*~w z{u_QaoWAP`Vd}@z!f468#VVVH@9l7Oc$J&VTsw@YJMHVU+>H!d3fS5WaE8ca(N=m@B=FoAzc{XGQg^Zhurb`Jd;6 z7pJ@&es{o?;Y0PkzApW4zuMN}MAi3ucmF6nt`~^Gjut#kWC1+&vZspJ+)TVp>7SP! zb>l_DJ;bZetQC`Wt_eOh$vv)f=T=bu- z!p);@cO0JJpx%QF;MX5;S@^=OhliY;YdlT#KDf^ygW@Uoof{r}^HB{L%{Sn{pYYQ? zPY=I%@&=8Vqidim7k;+a8R67jz8gN0$9?6K*M&P@{)d5$e!uf}KP?=$@axZC7H-h*wl7~F9ysid z@cRR=3U7ZjDID?tPLL7FGO#2-PrN>(QQyD4@{jPwM-vPxIRPrR^X{zo!$adA51XyL zk&RB6VsFB7DZP;nd;xI=(BJ;V;ocgo5jw!Q0i~y!cHVC-u)%(;8UomX1<|e?(AWH;%$xVJ4eH>|K;2<{j z0V6v1r_7xeE`I!%8nHeitlob$-#7pRuh=8ODi@vr3ZC0{wm%~L^`(2l@1Og#_{JtU zpv>s^3HO{KuXok(Kb!2MECNpcsRHY(iGSG>*M@(-{y>c)hAj~4vg zL4)WGn~*=kh%5l&pIz_M8qNJdIO?w_idHWL$$~fpN@K%>kwZ5&sG$=#owLCJBYd;K zcxrg~t;glv?i&6w_AckA&h*jU`^vuz`Yor#;B68f8vler&4UfPMzq(|%q2YX))NLO zyli%p!K-|E$~dPDsOzu(RDGX8ag<}F=#Tk|iMuV7U@sk}ye!2BQg?*_zA3b+fvc~+ zx{%I@?TRa|Sh!9n3u~aHpyz1~GGYud^PB)3yd?$*Xs#Og@-q32uXEGrn78Hd*O%`N z&rEvGdEEcUdRFma&fThghRXxIG#t16H^Zs-|0Hr!5%0}@->w7m-8NUJ`fAu@=$gmG=voPP7e z31JU`Uc4Vll6>#XnCtcDZ+i_cR$ig0THFvbda>_P*~)4elh~oMg>H zy= zyfy9ZaKp2=s5y6}mqaztC!{nc2{VU}iNcfBq#g7AO9G=Q;Wy9S8n#_+O9LN#_=W^> z08#{dUy=vYT&Z{5if5Vz0?br@V!vCQ01TF4yz&*@6r_I+nUMje-r2={mjHpJay?yI zG;-63f$A5xhk}HDItF*5PS6$kM54X;LYVx~^+8=x2llT=%kF@2u;AN4|^*^NG+b8s6|-vv>< zkRzLl0+<`XMARUe?U}0(fKp6F7#SGk4O|Q`5vMeb0>{>~rBWONGkOtLYRYM*c8;2^+RQiLb zr@(dGmrpd_Wktm{(un2h83{)u6n=Pn(YUgQ9 zh^S{~!5txG0kG;Kg+(-gEnRcXHHFyZsn=dqE?0J3(CT>?G+G>2q7G?6f5G4PK$c!Uqsr$@rhYi}P0XbIby z5B^N6G~RMK7`#_oT%mWDBA-YEGA7_Ry1{GE^9wRf}i@XeeCycxV?z4mZK`rFT6 z9**DPo6*=A=pcx<0U!?=SM7(QB5rODN-F$IiR(w472#Q8eLQ+t1s zkN&c=AG|1RI&`D(<&pnmeZUvdsns}*Rui_+fQi5Vp}S0yG;Y~|^{rRgLeqREkjwKT z3!a?{=N`Cu%YY7y{I=mJFa)&p^SzU<-Q0(_>PY_~@vbKMERVCH5Xq@1(KKr`-T>?C z_#B`QkvNZEJgy8)TOQFoBY38;kOuC)`|j}On{PU9@ZiDW%U}NTLh0#ZaSfCd^cY3V zc21#ank^Uwz~t?q6xVX3cK#f#_ngO?*$5sPNZGJxs>w*=TrNC3TcA9nUg1E^iF;pw zM>AGdBBR5zQWF%g(RDPOXgaI)Uqus!w~7~%gRh;rJY+-2JV0ak^s4=J?A_tZn|(eE zTw#DfO6pP`2N5&PWefEeKBakplo7oYu{I+^q~&!4NI?F4h?fA2KtyG;L8<$(vUCUt z21lmQ=-lAXXm^m8HaT3bk=EmP_?8B8hFNy8F|P?4(f;qGXTwq39O^-ZIKf(S>7@a( zd}`gD)x2LX+&bnCSH~?*GAsC{0yod65sit32I(myMP%EF0Izdn1 zzVkw3Y7WhKUS7x&N#G(H{XBAQ@KZjOOPrg^3t$w|6k2HD^2;wTTpe}PQU2^|AtIf$ zs(}So*lP0fNBYgrLr=3s4>CuZumB=In!x@EG-@=$Td!@Q-1*+3Xr?{vu;wSij%(|; z<~HGzYwuvdIclqe!_AtuvaMDK{OJDkWsouxf!5PnIl#y!lVkh!>gzIlsWW}=^>+(b zYM$H#tsr34fj1QpzLIZ}rlru~KDggt8FEw$MtQ@iTfGkS+Wjup^otRaO)~2rs}hdW zMBjgp|BrS;c|01Z4HeHtHY;QTr!i+tpE$cZIz;~oFNXE2S`Mbc3j=@vFd92RBSHnb z185>MeFRU6+`u#5^KGO55?sIa@U8HL+m7_~mV3T_TbQXOcq}tx zb;xCp{mLW1jPwHVbd>_6{tu9GFNg!Is0{xIh8j* z=MHbVS#m=TJ>Uk2Qg?rthyf0j4*?(v_UbQxQdmR-S6p#LA?APs4oIJOENG+c6FFZz zTEz{lot-vqTG;2Whv=b>Z+#wQyc5=Y(pk@&iK6+%hg|9E^D{t59NzMHK@4)h1JHCo z8O5kPo#(O=yaLQA>z`VozL%F)^_92xlIGNTu9(Wjmnkbk6)aTIKPEJ|Z4L3quDW`Uo^O7_@Gfuaydb%ACeIGESMle?l(XyYdL^ z7zOo`E4fX8ya6p*umO#!8N@e2%Qts{9-5KrKU2-cQ+ngJaC^kx`e0O*vXtV9!>Wgy zuHqX%KN*3v0Is4$?g8}!H1T*X&(E76AZHWfY+%FSDxUE^Se^MIBk*`&Lv@JWc=SXW zl(4>BZ%bn@J`aVKS4FFy`stqFQRCgl>gSKdb1x)|=NnRV9xTOHA?g+R_$JC9cl%{n zb=6fp@iyzOfU2hk>}&PaSNHdT(ZRzHKOA=1WtX0+jtaTySL zB5qz>MsjJ^+5mX#1C}xxR$4HbnLIQ)WdnsJWn`84n+~7@Na8LYk?DMSgUqo5JZNqb zs^n>6oYOUBgCBv_8Ya^Da}!4y1Z}jsX8$*j#7d@*=g#ulTRaoy&&3ey6jx)=WEC*T znBCNNI}z{(uℑ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 literal 0 KcmV+b0RR6000031 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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�H*WC${d>xlD~F?_Vyxg) zqC`pl6CU=0$jE4J2Avm|;qYqR98E1v_U%3-$oBghwW?9Kel1)p)uNO^`u3m5H&Jx! z(Sb^pg(*rta7Z88w(g3RnG=RarTFym6CXc*!f(lJ!OA!&qNcfi)9B#agGGKT&@HJ$ zY}{K47cRuEeZs`KB1N^CHFpY~+V@7YU_lBM*5b|UNE{q1(5+`DK{P3%e=DM zWB71-ckD>pmMw|@@PUoHb`ug7&e9peG{5tkG8vye&`YnG{w6w_ zp6%P=RIy?XN9PYid-cS-M^DPRxMEbQ6dynR%g0ZjSUPjMU@=7zH7Wf&XO#Xe9p}!T zrf=_V^yt->HoonMkB?{TrVTs~3BhmiGC?%WnZJmRZCkT=;e3gn6Fc`D6hu#vB1M@s zcLAL{_@Y@*lR||G@#f8IDmqr8TaVs?XsS`OHg)SYpi1Qmlrs3Qf61FSbnV{jr`5Rf zLTM-I5Q#)IXwZNL4H}S^md2@5rBT#MrPDFJDKZuUnEUw{G)qQj%brUcGw7{Q2{_a^(uC zsi~Non=@p{5L{hdb3Qnq`TF%Mr_Y{3q$;9n6*s|G-2r^~5Kq9x01ONasN^V2H^Lu@ zhzRHIy}Q`j*iu%Y*_j`?eJ7Bps3=^VT@_*lr;_YRNJzxcu+&erij7T-2)ZLo9VvjR zGsn}tS7#nQe9YIc->|YSFW3q|fI@||ICyji_wPL-EHoS~EiEcK+EJoJaiykA*w|We z<>qPb+`dQTn<#X3OH$d{LD28-mR?P$S-Tqdf*z!Iy*D+XqNBZFdO-2~TM;$wJa~}l zqejuGO>6O3n`X_h`MWxPlP4h(iR7-y*3yz&|D53V{d>HLibhvQ2WJNd)YXOSkm}XA zF}2*?x%==D@gF{5YGRC|ot7cSu$t- zLP6r3jjbJ*Z`|R|?LeX;-%wIlmqg5JlqXyr|fTD7@%H;51M@su_#Lq!K+7j{jZ zF`Mqa`taz%1HOLyij}pE;HCMLc9Nd3urPM++{wdwZjyp+Qhk5VdO6;`Hg$RIOT7Zd#I(k{CF+A7{>;!Lqz1E0(Te%=l3pJAM=Z zJ6n5>A2})4hEAcO&*?X?4^N&xp>CaeOr9{6x}LRp@gf3%j_o_)H-E9*^Z=YZ{SRZu zjppOWMEdsWkE=@+8aMMKB_)Ld1q!fa;WFB^_LZxq1qBWbO7cb7iy+^RI$y>)ZS)fcPXN{G$1!1A#96kJxxKnyu+*>wp+<}*OGeI2JRCbSF*6w$vGNmD{%BBmzB z5@Xth3!$m0$-DS?!L~}OtE*9^vSLh>W>BJ7F>1NH2`xhcrJbasw2={|jTGaW%fQ~+ z8hdNSi7B9Xnw0)69ZLWHH3)n3$Bt#6;Lh?jKRw>DL@MaDbUJXL9S-E!^GR>D{|GUS3`lD^@J$gJsCd zl`HY}^+j7-o2aNL^!4>|cXyZh-}z%|l!kA=(-p-zvVUb)8xX!`D2f2S=e%*k-eECAJK0T=ZcXdV# zAIlij-2%|@iCF)fiE0_B-X8dTre*G#pP518KWzM`=^zPM{Hr~DrA32oeE0=NP z;Bg{f#?qpBD`w1|CO179oIL#xPOgqv*_yL-`C@Jb-o(}2iB4VHpa`kdN>eZxOM;~0=D)I2)1G#I0^eqSrm(5{N|B+aht%Os>>e!Wc zrD)M2bnGJEq`ML&N|a>a?&5;qs@1%Uj|bq}w{L9Ue}I(KRCIN81Xia+i4rABl;jOJ z_rF=PZ~^b%zXQ_a+^!wlNKHvaS65G9bxM@{|KsV?r?hC%g7ENgE?l@kj~+ebo+Jer zI&`Rb0ictU6K~(X&6mIP$E+xIu(M&_vNa6v*Bw<=RnpSZSh0Q!W@UuQup1g0^7ZRi zzI^$DipuwVb4p5zTvu)a1P4E6(10Oy>d+a0Mok;gtZ563jM7(=wDoPzojZZ@)%4^s zJGbq|+{}U&&0134rX2I<`k|$zg_Wfh9<}T6W}nVgc$?c0G=t&%>Y-K%?V zTKjs*MN0-53FQ{eT3};i$I|7C*|T>yqeqUVSC2j%K6;4ZBZuPc)keba^OKB(@|aQM z`1<85!$%G!H7%7R2ai+9u`=T)jb+B{X>8rJLoRxLq)y$M+`e~_+ktn}wCrls+F4Ka!S~ivRri{PovgLd#R4M2Qk5O7cY4?!CBl z@dCEx%VKC~L_$IWscEUKShY?W=aeYP2S$t-A+!VlEG;c*+O#PZD^}#ghY!q{F@u5y z3rhS>>C&a?-o1OC{>~qhC|y2xD$P6eWcH$!=;`VZ6Z;nJ!i6}#OTH^5Gtk%9$IHu$ zE?v6Nw{Kqno;`cU>eZ`Rw{9KRu3e)*fdV)=<^L8+U0pq5V`Idx&CSdyrT;zImzNV4s z{3j(PGjZGuhL0RTp~8g((*^J$K7oq?S1>Tp$FZ_74FHrVQ6hgtA`v@Ruj0|ur#yWg zN+B&R9PRBWUbLvt(iD=fU%zrHAOMl72sbAuLF*-ECh*=pqM~DPt>h?ZEx-&E(N6IR z2?Sidih;g9l`B-p`2ZyfgVMj1L%g&z?P{P@zINI98%qG2wkliIV@1 zBqSs-VZsD%-@Z+1YN~i#MMZ^xfPkNRcH|ca4<5wd-=Bzx2)=yz!iyI#eyT|-i<+r_ zOrq4@#*#-@PIB|keO^aKp{J`umCC|3xp?{VC97Aj=G(V#96o$l;=Ok5+5zcK6BQMe z@5OD~wD!T#!^D_=GINQZWvShIGuIGHtj=3GkZ zq}N3I@FAXnfD6o;F;{MSG&MD8)TjyDwr`fieFyZAo0ib$;SB6Mf+xYxs8g>N6Q_=%fkz8oM7#o^Lnj~RFPb4YJ=qZv{*rrl zA7Eo^McHzuLdyXZQ`4QmyF^7rgQdOmjo3mmx2vop{07cOh z9UIH`{RbG-qdV3X762SRc@lueb?XYID+3`DBuUB1^cy{fGZ!ymX>QJ{xw9EHeFjHQ zod&?(+KQ7qccA&h>V*7e-trZ!+PsA#+S<$+KaSv#5JpX#4nXl@#W=EgBes^7a?_)T zc6uHjL7!2hc@h#ry_z+cI&uWHTX_@lDm~71YSWs<)27NzPj-aAe97I1kFd40q@1Z@ z)Rq%klhVI`4@H~^5ZaeAh>nh8*N$!UA2ax72`hcLp&D)E?{6_h+`$is9UVGQ})c7HH(`!Z_=$>H^z<~ z%bYoLICJI)dKMn*Qv7;x@tV#2H*O3{Y zHf>q8;(L>=S~Y7+*y6yx!x)q@kgKMpiF>p#KiHFvpYOr$ed6H6egh@9UaBv;Ku;CyH%r0=WgQn zg-9r85E1?obBl5m)-EhD?og=$A8OfSnJ{G(F)^|DwCaqVy$#`S9&+*8 zKO8!EjQjT<$yL*-ljm@Ctc9(GGs~Cw6L{+mZq6Qb>ClI&P9E%(^EIcan*8Q1!`8x? zs!kr9KYNi?E7noBRx>*I_M~cM4<0^vELS~ANy+r=HV_L_2bwf!&5MXvbZXZNU#~8B zHSa(Jj~4v`Q|u6h(zQwH-^ ztRyupRbs57tt|t_jpy^{&+^r>dxS zA3Msy<0rWHNWO9IpY!K&^r(w@6*m^ISeS@lfB%)MrqIymH1@1R`Lf3J>)oB0m}qMMU6n2!e5vnI zouPyJ%T*63?UY*r0|S{mcP^bfccx^?lKA@ivUcrS0s;agR+!3@4I4J(OOh1+utcen z>=FH9YrVT$HM!N3%uIHgiWDg-kr0$8+0AyCnwFt-X;b-%0SXi-kZm0uhl-A9YZsBT zB4t83H&|Gh5gh!K^Jg!L$KJn-XZMc%lqoCUS@tKvPno-5D(yP7X2X`1gggsnz@T1e zX=!360m@H+Mh%UAm`ZuC^S zHc(SUP516TWZvw>^y=G{);=v6IdlRmm#yRAu^qgM38s0g#>|@TCpSF+8`f>*=Ji0v zO&pGuO?kR>=*^SI&$#p85>LWzqpq&brVZQWs!0(i0u)hG2G2r6adC8%7&A67KwV9Z zn7BB(=}^Q3$>V3w7}Bc;o!hiw{-lX$X=>83wKv8F29zjPjP|Ws@#Oh)xoc`%r!IrK zcV|eio_IBBjHQ_wZqClAtET+Mo*t1_c*6$nw0)6 z9f~#)poqSdnUH7CaB^{#7&9_92LNEi001BWNkln1?*%b$&P;ms z>4$e4Uq%ia%*qu@IC$hAUPis6dCOMJo+;mz?i<&y;pX*gjGZtUYik?2bZAR(@MCV@ z3nuva3p6y;*}QR`Ts2J`HwuxehzXOY5)&Pbk5>!q>?;uVDu#e7H#vN8Klkt7m8&MD zopOhcjt?y%mflS% zU*3$WZZ4>+tJ9-bXP(J1!42@_@lys4?oEfzzRaFC1uZQt+I4J=k+C7gixk+r@0gb@gTCH(P01K)5j83OTRIeN zB0v#+DKixu99g@1B?%ush{p~c+)rX+BD#9=>v|vj_%WW1n$T~+UUQ;qNSyUrIj_c>(u3$(oPC#rwqKkz1g~TD*(NE^}^HB6GKBo zEG#V0ljAifFO-SW|3?(jF2aL{4{)zug-e$&@+{;jjhlHgdD=v*t!xC*RNBOp1q9b6T8sV zly6-QhB)XtAOsC8v;_oB}{O^RkrG z)sd)oo06O&*W|4tYRa781}JA%Rx-hzEdK{cT|G%nX69voO1jHklY&hID5|CmhW6@7 ze8LCHxwulXwg+aeRp~WiB#Wj^75lq9P{ag@PxEGM-@l)T_dSH;yQvL`uH8t6>br<8tPM~9#_Ef7;6)P)iZd|=hHTS;-(PUw6LBP2yxH!Aw z>h46h9-Zmis~=}ho|mYjDo+}EHsb2Vn?y#v!Q84WYuBw|(}u0AS-n2nZSeWcm{H?6 zu=fz_Hmt$Y)|~K&a4wy{O7EV11BKz8iX7B~0r+uIK8JA!K! z`D#+Mi2y~_ltCdaEsky7!r48$nKWz|D`wB);e~UwYSc)sIutQMVqT^UxBfXHesHZ| zV~t^{@869Rh76{;X9Kxv5{X3IIDQmM^Yn&}`ntL}*xHKUZ&b&F$s>l#Rg)sxscnlE zteOA4ZhGx%?hbPY{`o6cC{et)TpN}t zq9&z(ONXLO1Sp~}Wu{P}LL4}9g5#&pGj`$>7A;#z;JwE*Z|Nmh9aY_`5gi>x@Z_u^VbzP%J$xAA4yj&0)mxK3TV;+82FaB%+~T>ophEHB!1=*-$R ztHiHo&Y6!+$;^$O&*S9elHK9?g3?a8Cv(iTv9ZC^(-RF14Z-x}Ckoy5{#j@^%hzpT zvHu3_tjaT>XJ@>cG?4qO%%8;j_wTrH;T*}yNt7sFg4oy?K7Ra&c42M7G=+tSaq&_B zMT!(5B_)-Z*ceh$QYa{3C&@cOf!w`!7Xt%BK7L9hCev(^5PbgpnTwYKco7kSp`j7) z-o4}9`*)N@xRsKiw9}u4NF?I)sq?&l_a3j--y688sjG45;4%J9N}@_tXSwNFynL>> zpuVcADz)oW7r$59)Px;-HpoqjqG}R}L|nRlQd~z`Utbq}{qHO8JR8=fY&lc8YBDn` z%axm_zc&c1Ah{!9%=lqcag(1PLHa~MORuKl*EMTPPX5VzB0y0!{fND_HTKrlg8luB z1c}(cb#*1Sw>GNdK{-=XL3Bk%N8`VB8zcJmK_k;Hi5G8P^I&r@y*qZ4tEP+a_Q|eUz{yku7Y|P%Z{&Lfz$eNV?oilA)w7|P@WAW?S)!ZfCm-j>fD5fv{ zh@D*p?CdHC_V-015f`uC6300`{Zi; zNR_JYSsj{hwDE06ORv`A*EMT-NW8!A;4w-W$hXn6(oRZ#g+i|=1+Xq}Mnuph8rH4F zunE&Kb*RR)`Adn-R98kxI&pDvI8|{Z;za}(&t2jAl|XcL^{DFZ%(3G~1<`cw{8?($ zcE{4viW^sNbN+Myw*qfcrJ6ILq4KRumcgt!Gw9y4D}8(QBk+0<{wvopYwk=MH}mAn zmoI{7YSywb>o%-q(}t}CUJs%}yNf4*BEnyC z=F|n;UFvY*+$BnvHkP{{RaI41tystHTar5i)YL>woitm#4gP;wQ$`KmiQ{Gv6)8Cx zk@opB)27Uos~$+d@sEm(X2#TcKiT8u%U7&fy-^TNr%#<{_fE+!yBQM!SFhYqYEnQl z{CnK2*+fSF;NSlxNQ9t>wl)tQKcxxX=`h9^w0_B&YF*QVQos6Hf8^wLku4>f`r5b zK{VM|+j9MCAlP<0Jiq_;qrxR)TmyQzyA7*E}gq^`Qmj7 zX%!Mg4=C;Qr($kVj`Np~;p|cgH)jvJcj-^>zTG%^?jQz+rE)$&K45HYgpXGj#*COu z!iNM_E?-Ag=Q^mU{Dr!@TFxipa#{d)MLZit-OC1&(J|*Y0=o1vgOJMqDQ-k zHV^MVrh1k7T)udXkY~?n+OQ2%C(g#&+ENfriZ&6TsG1ZJMN5!q7A(jv|J6(wI)wK9 z`ct)0W2`MKxP9s*e^+tM`2_jIxWR)sv}q%2wr<0`iW}iCUvTy45&CxSB#0hGw39`- za$Grl5Z6kTaH`jU&I1S0uS;jn@7pV}eOjKF7#Ps1TMtG|nZ}32M3$}JfK&YjsQjgZ zx|%RCMG-YA{X1tAZ6W{^)0Y$xje-UFyQ&i#)~(_F`*#c*+@F?BJtLQt$&aauNS1;E#@ zUpamD6e3j-Rjat+;w((CujKf>_SlCH@dR89z`($Ow!ZBJ(F4%9Q4{gMBO=1Nd+#o` zHnxl(EC1QP4BEHtApZC5JAp(+Md9M?%AkS5biD_qopQ_9uU|QH`T`(Xn)NJdPZhP$&9SC1YMRMWfoc+Oq9LQ--vC5ja%CN7STpFW~pSh&fz&!0aN zaP1lquU=tPN}qS}@w|(FPdSu!%1qdc7X)0pMiFgoQd3ijiF->*YAOWEAh%F%hs})oPsTH9%cWjqyVU)4g3=!D5Oc z`ch^hBEq?MHwYVBJGpOj&&;SX<7wEaG5!1WWbCM6RCTMy`O7y1)1;}X$<`fvICNki zT{^Vo)2ENL@7S5m+jdb{TbQzZ<`(5SckvpF{pR8B;)t5MI-|!|&A&^Jpd<9|AUjOBUZNNEM2~s zTY)!mb$6mu*Y>!$Rc6P|ZF1MNVBtKhY|U|XtIWCcXIZ&=IUeh*xxK*9%{-E_gNXKm(5!{QGZ`Ts38I{_I6+RcnZ) zl?B%V&vNF%5pLbQgS$%|LZ62Vq6y&6?R(t2`v3z&eLjBtNK8zuU|JMa)925hxpeU= z5fLvjG%CgWckg-s{=J}@-oJ|{;QVEhlanc4q8PC;aeVyvNl;ChCjwMd{t{0FC^f-9 z=g;HlQ5W+nZY*B2mYYFAIMr)F`+ohYT(3Uc_U+I4B>6;k2@;`*d;1Q@I`xQn`I0L~ z4ik9t1bQV);#}X8qo+;_rmJy>j;!6bjjhX<5_IM?9lgD2-l+>y7Wn0Sa6X`jb~=0M zGVV>9VP$U4?NcWSIJlpiK|wgz_vCqagdmy#0`J}9?!!kI>g$vE=@Zehae`@4R830% zmX6F50V*mg;)wtuQ50V~eewjZl`CLtS&rpP7ZG^tChjhdbnVy{H)jWSZr_^oN%D#G z`?vriBErSJ6yCpkCzu}iuYbw;^!_EqOOzlsCcS@&kc5YYa_M3KMT!(f}OyUdw4i{8EZ(#G4D z;UkB#eC0BZ96V0s%UD`8Z^ew+)8wWHly;Jq4ePdY^LilTCJx8SraWCb^ybOqXWV&k zi6{Tp-kpY3Rqp>E|0HZwP*gxbOhW|cc|Z`f=-U_2R0A!D%oN!zR%=$R*V^?j=;KrS6&u%Ay?YMS(@)O7 z{lP^bE9-lOG;X8Im#=95hkJG8_`CAXGpi)v9@@ zrj8z|)tfeHT;eQEA3H`_pMIhh3z9W;&eMjzeivl60!cBaVw#^gL%Y_lQC0s3RLadw z$unnY+p3kiX7J>4LH&C4&_{cAt94kI?z`_k4ecMJqkH$Ll&h;<@|ba)+)J0zo0~Uk z!K_5Nmo6p$N|p5bD{C}qwUnEit4D_oRm)ZnYU1Q+TDy9sCXIhglc&wlH|alU*^8?*W7=f9 z-RB~EbkUksE3{_aCLKL_PO))=6dl=3Pe1j9UGijQWh%5u1ATq@lHUK|s1AR8THZcB z3J-0py}RGAOQ!wrzpJ*bnyW_5nmTgqwB9-Jp-vq8SS>;t+im?4#tDDL)Q{e~moBX) z4eCjfCM726v4p|$^UYr+@yM~0+OTz}mdtbPgW_tO1; z_Oa<7GeD@!TeqGe zdD7C;=+ePt9A_?IsUF~HTUqAp*ncv zEiFubUb(rsw$*SQJyY+#Jrxz*LnTV&wQYzW8mo?-+G^{oI}OhwNlwL_l$890dPU{0 z!kaX2mU>2Z)z_D<*d^2TiGYTU^H#Vm?Os~jcdggP^;_*W5nz@~X&ITaSS)&WcHRfF zpeg~1eq@+N4IV5fCnrTkL}+@_TxDcs6#Gfrd;)gt}jt_O#)-Cq=@`RIMqNz4i6wOLocR?p{W(?|EAd8#R_Bm3DX6ww-Tiy<4#G-vt*dq=Z7Z*L!EW@gy7g93w8!8gB%WzEi( zv&CX)CLeEaWoBk7D6pE`+}u>b*H69$Zdg`pwk*!ZWhz&;oUGYaS*=!;C{aRzfk7%? z-rII#|KpE8WX;JjG?TZtk1`7U-U0)I^zFC*wryLjR#_~@{)sY9cbLhiyfQNKA2|vP z3XpGw{7D>ZwpGpsXZrGsOByp`k}jlPRQrx?l=$Qnb!yj3Utj)4k`ys{Rv(W2zPEL+2&h~lhXO;p< zw$-YUQ>W?OLm#L{P>^0so~tQyp0+(^Td!74?R#~zTuYWTG}ruP%k|>A^(y1;u6Z*a zSL)}VYsyn|BuO6S%IS@DYgMO)af_&#ah$%mbXkv1nW_t)f3A+LAJmhRC#h{zv@U;> zcb^;7w~rP-^`v2W3hLIeqwVK{eSs6l+pmYZnKE&G-#If*1eoPoDqF6cvaQ*-{G5_w z%`yCQ?{)nL46^-v>f{NfefOP$LqarWtbOVg<;r>3ihsZV{=43LXP=xc7KJtsS8y}? ztY6ZoapCn#4jnuoKfj8KDX-56Q8{}6zL|q!2@dAG}y2_uCA_%i0Gz`o7PK`yga=$FDd_V)&mFk%gfVKo}QkDWeRH^ zuJrUYrKF}vlETAUXmI>c+x{IpjsLwdPIo4{UoUOhyuej2ROW&T?p^x6u>$~>o+}TeJ&Gh!Z_Z8Bpjp|ej z*0SeU=*00;3JY$h!EukOdDC`!b<=i3^O!Z$v-6j#PPJe)Z`w}#-#erim#ejJ?)^E$ZhP^yIG(Rza@xA?r56jcTL!KTUhUS{TY`KC$!_=f>C%yNp)wp9PeUh4LXr5IYH|glfQ%amLPPMC7(}0nql=|64ojPxZ`_B^oh!kYalF(D=kzTDtmW?cKOundd)IR74j&_1q#uGnsLmrY9xI z;_R&1lO`%XGgFa6hN@nzTKewnX&v3OTf6qYsk5INd!I97UtqIk;`+WbUtGGZj(ua~ z-y~SWCQedDR+d_H>!H{Yqtqs{w?;oc!_YjE`L3nB&nextX~Q~6lBZXBB_%Jk?LTTZm;SAl{7NpVP#~bt8L5X8XOm+ zhuXE$_{T;Wnnz-saBKHWq4c-ke$)FOe59`~f1^qjE9m@XZ7mVS4F>yw*Awm&Qy|A4=?7+fH+SS&hx=wsEWo;QQ;>*K2i^&8sucj+9V#2Lo- zv|*fXFEB7bhmXCJ|2J2^w)`sQe`9*uj0x)Avx}jbE~I{@tbakDU;I*| z9~&+=H&@lDSxs%*Kd8?xd~R5t+}vC}`p8(dc(A!9P8p*$t2b!UxEY!~#TY}Pj!sp=WkRnN>Zwuhq` zd+?fZBEXE9md$-egZe~E%6t88->Ri;pMRxF+P-Rqp?S<$AW6A+QR9X`qWHdjwP04F z++1BXuurrq`T5DSTsaMhiqeHIjP3uGa`B?Nw(p?F9)4Kkh7VKkZe3L)Fi>H^!75(d zMF|53>a)*{&t%4NS~z=_;-Y(N!?LBi_~lm`JM3Y(xw@)mwIH=`)zZ*RX6y@W#!Ot_ zcgAcJ0cO0GBx%vo7c^jCUb{JGXJ@r-*TJ^$0sku6wAI++?YXn3HGf``hCez|(S2hy zdBRw|u>5)LdgCo!N&7$bjEvIUBxAqnzV_vnI(GCUO`rLMYSpT(!EybSnwp}MXH%8> z#n&oPqPW(rU2SNl#K)(|;%w2(C!SPBdb;}c?xni*>g%g-GIa3pG5u@TYdUxCjG>tr zC)~WeXL$jO2WiM-Kh{s~DUl&#ij;G;CnM9%+oz?O7}qrG1yK)hpL&+{96~zLJu3 z<;piY|5Az`86Iy~9&hiwb^w7vRpsX9stOf+Z)gW#WQ&6Iv<$geEJ|LOx6oE#P*wHs zGeij^hsw#xNxh=FD)I3-%E-vF^$B&vOczo=Q%ClO#Pd zJYF%qjeT;$j6HZSq<*GNTUPf&~&uvgYLI#F?`S3(k9@Bw^q{^&a}LAz7~T zDPLY0S>M~Xg8~8y^=!?yS`BYc;8Wg98Q-)~6T)e2QD_5vm zK!746x~OWiP(3^Qi5n&Y>eVvlo?^yp={jd;XT7w1shR{gEA)u6i^WAVAD^Nn%U9U? zgch~bloWN2=%$gQ$4dJ1ecXxT3JnXFBt1NQgkqw58Iq-7rqN?3C~i>R`^WAP9o4;O zFWp}$Z~c;(*f^a!dD75K7gAERamx+`231p!UcFVjn!l14E|Qy@n`+dorMB%m=;DP7 zs#~}I?N4@>FiyCYd*&OZvAuih?7_Wi*D7z7#Dw_%I`_d|xw*O7I~o87+d@X$y4{Nfkt-leaeOq{D)wT$bvB}oGY_0{SX>ulRe$+P5DKCeZ>Pd{GO!2^fY zG}ySJa@lfam2J(D)tVzosu~oa^4?xI^pP^Mcx%Q?*9+X&RSo=)ez#WRKR}wX2XDb~ zGQ&iGSulpS zB0!QUCIZZOEfsWs<;seQ?xkr{Cg|!_AS5ARCJlr3uLNRC{wmQ-ZK>#CpR}Y`Bw0|VVsQaEz3CJR!m(ey?o{0nmT)) zj-EKJA+gbgzOf}q_xn}Qlrh8Yln#KSb9F7L4O>=e+RO=xACRC{%{!}Rt?K&d#Cr;F z8ER;jzA;f+z9Rn-?bdBu7HW6#+Upxs!O!=v4lNR{t|b-GwWBtz-zrJ+^77C#$+KYZ0ROA+fgoJ9oUHkmknryES7EUb9UE zm^IUN5gpp=*qeLwZF-slfA_A01cPx8JH} z&;we%@+GZVw@ELpT5ITiu6bAsrKhJUH6^btLRfeU#Sh7UQex+8+Z7UO>{<$a`o?I> z=8d-Zaf1dAQCN6>E1q4iZBs~Sn4y_s7+{_RE_oEK(|4>$|RUV$@l$nvG zYuA2JY4_5GXSr#+i?Z&j->|O1X{5!=lJ(nfze)PDk5v0swtWxySJvijYaBk4#bVJ1 zNB5~%vAlUpUtjM+kNtP<(m?@L{SD3ZS3P(Onl@vCLc@$(j8Dp&2#D<6-L~DjZOcOY zjh+ZFYo>xuoIR^E=RZ|NUtj(F%P&gL%)0$SciHsjTs_O4=ms~f~ zBE&u)KyKAyrcqtvU%w@Dj?>LDm34P7RD3havboO`x~JH?FR)oNaed!j|6aWm-L%L2$0NqEfsY78dv@5iK z$F4o9;AiamC5#hp#nj&@m84qL19kcI2kO$HjV8>TBmagi^wfeS$}G@V1_10KE9-lO zG;X8Im#=95hkJG8_`CA9-#m zG^!`}GVTT^y7dRhuofY<4+KUs+eCn5&PiTX}x30>RHhxkGxSMWvPpMM5vivKV>po}COt?L>O$12hy_V)ZGe^T7 zj@R%JqjmJ;IlZv*WhFl|M?E4QGSz*qLBmFJFH^?QJko96$Az~v*Za6KWmUg{ebz5w zoNzOyFO*7>m#2qjOc^g0(87sbc))|rEQ z^!kPs`Yt^~!^TawcPs!7s+>nz^@_@SOzQXFf7jdl-q-&34yk^FI*RJk!_MgdII3

5aFx$s_OrMz2g7?a93Tvd`V}|oL22Rbq((a3gDl~)ZZu#Zd6at&z*J4 ze^aik@jX8PIJPybH|W^W6M8&xqH5NzuEB8$x{z{Fr#|^W7rr{F;>C;Wl{K5}9TR|q zd29cEHEP#EL7`zEaEY`M9)DRy8V-CwDqJUq%NWmk zX6T#rAGGYnRhltvGWR(Ef19Zbr2t??-ah4(k&$KF4h#yAZv`LQwl&)-XUjd?*#y8n zC@mvX7K=sC&VE9J`}NcFbLQytuP$lS;K6cnaZyx6gi4esp^U7o+n)>o0Fy~iOOuO> zi{>p@q=E56v~clKefh;jC5#v?7Z(@xjO?uvB}*tXBi-In0o>y#lmftiDY{=TZP~m- zzyA8GBx&H_{t62ZvF+cv;|+y`Hnmqg01l{J*)ps{RQ%+7!lB7TW z_(M54IkGr2i30$*_mnMHPTAIMS*=z{Qea?^%9r;pe4n%C$k}4CXG{S902E3A;J*|Y z7@)()-jU_cH)8eb*Op(!{FOJS&6uF>J-gT|9smdATC$|Nb?l(^+qO%RygWQKKQYm^ zfB)gb^7QbKr-z5VA_4&LKXY|;RYXL0ZQ8I-lH}=CUP;LdZTk-%cwe4gUh?$xvR6a^ z{}6nw00906mRrnLhqVZ~={^7`D$C|Rqu+k}O_Jp7?5y^!TH5ycSE{7#t5(=68UO%) z+oGi}6uQr~ZP&rJ?*acR+O(BL3jzFn6iNXA0RADIZ}Mn;mCBV3P67bH-FLJ5oWFk+ zgOdRGr{d9j000000000Ek3uN`00000004(ap%efB00000fWxCu3IG5A0002M;ZZ0B z00000007|dD3k&K000000C0E|N&x@>00000I6Mla000000000S9)(f>00000000h; zLMZ?M000000Eb7R6aWAK0001h!=q3N00000006+@Q78of000000O0T_lmY+%00000 zaCj6-0RR910000uJPM@%00000000~wg;D?j0000001nUD-U0s8>?N<*I|2Xz00000 z06UsBYnI{vr|Al%xV=S77uY+(4ajt7%$CV)d9E{Ct|bfC*gL`v$aH7ObbDsYBa!J& zEm*g~-Vts(-__ucKu8yXQ1pCNuutit6w6pEgcryO!?8@kMb?G8OHy z_Bij~QL0oadq=pd%yuo^jpOh3Ik~44{jo)L-lEF%cdiMpZ)1+X+vnu^zB6X~z1@xD zi{hMS%k)osZ&Orw9k@3oBqS8cHGZdKbl)F;{PD+K|K9-s0RBto&Yjct?c49_IZKr) zrG$h8xw*NSCX00000I6Mla000000000S9)(f> z00000000h;LMZ?M000000Eb7R6aWAK0001h!=q3N00000006+@Q78of000000O0T_ zlmY+%00000aCj6-0RR910000uJPM@%00000000~wg;D?j0000001l5rDF6Tf00000 zhex3l00000004l)qfiO}000000KnlPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D9xzEnK~#8N?Vatl z({^i?Qeg4`o@3%``^DT3lM~c z%Q?)h|K9q)ojrPat(}LuON}S{U$d6AQOi=}80Gx<rwGXv9bMm`j7XYiSZGx8~+(KKGpV|M-b)L*vi<+XM$>Mk|5_6wM)Z>$%XP` zTu4#!wp?8KxcQtihj}FY|Tn9RHSMk{A&%Z6I#!o^fVKG7}VRDa0k- zv%HLLW^ccM+4@G+_^Aj7EkU%}s3sa!o7sdIG`>70+vm!2-rNvIHk>nPt^YK%opvq- ze=DKyQqX4Ce^33f1n0@kq)=ee4zVhwxr8ZFi{qwdco>&W$s!3L~bV^6<;8T-cK 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" + ] + }, + "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": "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\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\n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\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": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD8CAYAAACMwORRAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAH8JJREFUeJzt3X+MXeV95/H317/iTuPG2J6krcfMDKrT8CMkisdui5oV\nCkJ2frp0kRaYhC6p6ji7RNk/FkGbQFdC1lKtVmpo0lTeJA0woyC0Sbp0l2CkoDbaqg0eWgM2hsg4\nwR53JYYxSmJ+yLH57h/njrlz5/4498758TznfF7S1XjuHN/7veec+z3P+T7PeY65OyIiUi0ryg5A\nRESyp+QuIlJBSu4iIhWk5C4iUkFK7iIiFaTkLiJSQUruIiIVpOQuIlJBSu4iIhW0qqw33rRpk4+N\njZX19iIiUXryySdfdvfhXsuVltzHxsaYmZkp6+1FRKJkZi+mWU5lGRGRClJyFxGpICV3EZEKUnIX\nEakgJXcRkQrqmdzN7Btm9pKZHe7wdzOze83smJk9bWYfyD7MDE1Pw9gYrFiR/JyeLjsiEZHMpWm5\nfxPY1eXvHwa2Nh57gK8uP6ycTE/Dnj3w4ovgnvzcs0cJXkQqp2dyd/cfAKe7LLIbuN8T/wSsN7Nf\nyyrATH3hC/Daa4ufe+215HkRkQrJoua+GTjZ9Pts47klzGyPmc2Y2czc3FwGb92nEyf6e15EJFKF\ndqi6+353n3D3ieHhnlfPZu/ii/t7PiMq89eTtruUKYvkfgrY0vT7SOO58OzbB0NDi58bGkqez4nK\n/PWk7S5lyyK5Pwzc3Bg189vAT939/2XwutmbnIT9+2F0FMySn/v3J8/nRGX+8pTZctZ2l7KlGQr5\nLeAfgd80s1kz+0Mz22tmexuLPAIcB44B/wP4D7lFm4XJSfjJT+DNN5OfOSZ2UJm/SM3JfNMm+PSn\ny2s5x7DdVTaqOHcv5bFt2zavg9FR9yS9LH6MjpYdWbVMTbkPDbVf12Ws90G3+9RUsoxZ8nNqKp/4\n2q2voaH83k+yA8x4ihyrK1RzVkKZv5balUHaKarlPMh2L7JOr7JR9VU3uQdyzllCmb+W0ibtnAdG\nXTDIdi8y4cZQNpLlsaSVX7yJiQnP7WYdC02g5m/K0JCyaoWNjSUt3W5C3wVWrEha7K3Mki6iLHVa\nX6OjSVeUhMvMnnT3iV7LVbPlrnPO2mlXBlm9GjZujOeMqcjLMFQurL5qJnedc9ZOuzLIX/81vPxy\nYQOjlq3IhKtyYfVVsyyjc06J1PR0coJ54kTSYt+3TwlXFqt3WUbnnBKpgi/DkAqrZnLXOaeI1Fw1\nkzuoCSTBCmSUrlTcqrIDEKmT1lG6Cxcqgdofkq3qttxFAqRRulIUJXeRAsU0Slflo7gpuYsUqKT7\nxfRN89HHT8ldpECxjNJV+Sh+Su4iBYpllG5M5SNpT6NlRAo2ORleMm+1YQPMz7d/XuKglrtIBajz\nU1qp5S4SuTzGzp8+3d/zEh613EUi1NxS/4M/yL7zM5ZRPdJZquRuZrvM7HkzO2Zmd7T5+0Vm9l0z\ne9rMnjCzK7IPVWKg8kD+Wocpnj/ffrnldH7GMqpHOuuZ3M1sJfAV4MPAZcCNZnZZy2J/Ahxy9yuB\nm4EvZR2ohE9jo4uR9n6xy2llxzKqRzpL03LfARxz9+PufhZ4ENjdssxlwOMA7v4cMGZm78o0UulL\nGS1ojY0uRpoWeRat7CrMvVfnM8k0yX0zcLLp99nGc82eAn4fwMx2AKPASBYBSv/KakFrbHQxOrXI\nV65UK7tZ3c8ks+pQvQdYb2aHgM8B/wIsqQSa2R4zmzGzmbm5uYzeWlqV1YJWJ1wxOtXD77sv7lZ2\n1up+JpkmuZ8CtjT9PtJ47gJ3/5m73+Lu7yepuQ8Dx1tfyN33u/uEu08MDw8vI2zppqwWtDrhitGt\nHl7nMkTrZ293p02o0Zmku3d9kIyFPw6MA2tISjCXtyyzHljT+PcfAff3et1t27a5JKam3EdH3c2S\nn1NTy3u90VH35ER08WN0dPmx9pL1Z5H0pqbch4YWb/OhoXpsg3af3ay870GegBnvkV89+agpFoKP\nAD8CXgC+0HhuL7C38e/fafz9eeA7wEW9XlPJPZHHF7LOX/I6K/OgXrZOn701wef5PSiqYZNpcs/j\noeSeyOsLqRZ0/XRqqZqVHVn+On32he9S3t+DIhtUaZO7JcsWb2JiwmdmZkp575CsWJHsCq3Mks4x\n6Wx6OukcO3Ei6bTdt6/eHYmd6syjo0kna5WV/dmLfH8ze9LdJ3otp+kHSqYRJoOp+zC3ZgsdiS++\nmDQKmtWlQ7vszvwQhwEruZes7J0yViEOcytjpErzQQ6SA91Cgq/TePeyr6gNspGWpnaTx0M197eo\nPt6/0OrLZXVi17kTNSSquTdRzV2Wo+waa6si42nua+j09VWfTfGK6gNSzV0qLbRyVlE119a+hk7U\nZ1O80ObiUXKXKJVdY21VVM01zYyQ6rMRUHKXiIXUUirqTKLbmUAIBzkJh26zJ5KBhWSad8314ovD\n6muQcKnlLpKRIs4kQutrkHApuYtEJLS+BgmXyjIikZmcVDKX3tRyFxGpICV3EZEKUnIXEakgJXep\ntTrflk6qTR2qUlsLl/IvXPG5MG0wqMNS4qeWu9RWiNMGi2RFyV1qK8QbLIhkRcldaivIGyyIZCRV\ncjezXWb2vJkdM7M72vz9HWb2t2b2lJkdMbNbsg9VJFu6lF+qrGdyN7OVwFeADwOXATea2WUti/1H\n4Fl3fx9wNfDfzWxNxrFWk4ZrlEaX8kuVpWm57wCOuftxdz8LPAjsblnGgXVmZsDbgdPAuUwjrSLd\n5bl0IUwbrOO75CFNct8MnGz6fbbxXLMvA5cC/wo8A3ze3XWTr140XKP2dHyXvGTVoboTOAT8OvB+\n4Mtm9iutC5nZHjObMbOZubm5jN56GcpuMmm4RunK3gV0fJe8pEnup4AtTb+PNJ5rdgvwncbNuY8B\nPwbe0/pC7r7f3SfcfWJ4eHjQmLMRQpNJwzVKFcIuoOO75CVNcj8IbDWz8UYn6Q3Awy3LnACuATCz\ndwG/CRzPMtDMhdBk0nCNUoWwC+j4Ho6yz+Ky1jO5u/s54FbgAHAUeMjdj5jZXjPb21jsbuAqM3sG\n+D5wu7u/nFfQmQihyaThGqUKYRfQ8T0MIZzFZc7dS3ls27bNSzU66p5sx8WP0dFy45LChLILTE0l\n72mW/JyaKvb9BxVr3O2Esi+kAcx4ihxb3ytU82wyVe38rqJCaTWHMByzX1Vr6YZwFpe5NEeAPB6l\nt9zd82l6TE25Dw0tPvwPDUXTrAmxNZZnTCF+3hjE1NJNI6bPQ8qWe72Tex5i2ktahHhcCjGmqhnk\nAGfWfjc3yzvafMS0nym5d5Nncy3ivT7E41KIMVXJoEmtitsllrO4tMndkmWLNzEx4TMzM8W/cesd\nGiAptGY1SmVsLClAthodTQqqAVuxIvmKtjJL6sFlCDGmKhl0d837aySdmdmT7j7Ra7n6dajmPbg5\nlF66AYQ45jrEmKpk0I5EjeINX/2Se97d4hHv9SEel0KMqUo6HSRXrOg92CvGUT61kqZ2k8ejtJp7\nFYuFGQqx7hhiTFXRrube+gi1Y7GuUM29AxULRRaZnk6qkidOJK318+eXLhNBl1FtqObeSZqyiS5C\nioY21fI1l1c6dVJHfTFPTdWv5d6LWvbRaLep1qyBdevg9OmknrxvnzZbPyIe7FUbarkPKoSpAiWV\ndpvq7FmYn6/GJfFlUAd2voo801Ryb1XJSSaqKc0m0XG5PxEP9gpe0fPxqCzTSuel0ei0qVrpgicJ\nQVapRWWZQWV9Xqoev9y021Tt6IInCUHRRQEl91ZZnpdWbV7UwLRuqo0bYfXqxcuoXiyhKPpqa5Vl\n8qQST+Gax2xrtIyEJKuBeCrLhECds4XTJfFLqTIYhqI7q5Xc86RZr0pXtcTW7+epWmUw9u1ZaOMj\nzRwFwC7geeAYcEebv98GHGo8DgPngQ3dXrOyN+toFtMdAFKIbY6Xiq3+gT5PlaZSqtr2HBRZ3awD\nWAm8AFwCrAGeAi7rsvzHgcd7vW4tkrt7fBmxgxi/WFVKbO6DfZ6I7x2zRNW256DSJvc0ZZkdwDF3\nP+7uZ4EHgd1dlr8R+FY/Zw+VVpEicIwX7laty2OQz9OpAugeX1kj5O3Zq1xURjkpTXLfDJxs+n22\n8dwSZjZEUsL59vJDk5CE/MXqpGpdHoN8nm7XAsRWfw91e/bq1yir3yPrDtWPA//g7qfb/dHM9pjZ\njJnNzM3NZfzWkqdQv1jdVG2elEE+T/MIjXZCP/tqFur27HVWW9pZb6+6DfA7wIGm3/8Y+OMOy34X\nuClNPag2NfeKiLHm7l6ZLo8LlvN5qlB/D3F79lqvWa93srpZh5mtAn4EXAOcAg42EviRluXeAfwY\n2OLur/Y6qNTiIqaK0QVCcdM1dfnotV6zXu+ZXcTk7ueAW4EDwFHgIXc/YmZ7zWxv06LXAY+lSewS\np4r0DddWqGWN2PVar6Wt9zTN+zweKsuIFC/EskYV9FqvWa53dA/VClJdJBjaFFKWtGWZVUUEIxlo\nnXVoYTwVKKsUTJtCYqC5ZWIR41VEFaVNEYbY55nJm5J7LGK8iqiitCnKl9eFQVU6YCi5Z6GIPSLG\nq4gqSpuifHmcPVVtBk0l9+Uqao+IfBxblVpEkW+KSsjj7Kly5bY0Q2ryeFRmKGSRU9VFOo4t1qtb\nu4l0U1RGHl+7WK7gRUMhC7JiRbIPtDJLrvYRXRkpmcvqlnXNYtlPdZu9oqgA25M6ICVredyyrmrl\nNiX35araHpEDHf8kD1lPh1H0PU7zpuS+XFXbI3oZoGdUxz+JRZXmT9IVqlmYnIx7L0hrwEszF/6k\ny/VFiqMOVUkvlh4nkQpTh6pkTz2jItFQcpf01DMqEg0ld0lPPaMi0VByl/TqNjKoRZWmUJDilLXf\naLSM9Kd16MvCxBsVT/Caw10GUeZ+U++Wu5pi/ava1HkpVW5SKSlEmftNfZN7TZNUW/0c5Gqa5TRQ\nSAZR5n6TKrmb2S4ze97MjpnZHR2WudrMDpnZETP7+2zDzEFNk9QS/R7kctpbQz+J0kAhGUSp+02v\naSOBlcALwCXAGuAp4LKWZdYDzwIXN35/Z6/XLX3K31jm98xbv3On5jDXagxTAscQo4Qnj/2GlFP+\npmm57wCOuftxdz8LPAjsblnmJuA77n6iccB4abkHndypKZbotyWew3DIGE6iaj5QSAZU5n6TJrlv\nBk42/T7beK7Zu4GLzOzvzOxJM7s5qwBzozHbiX4PcjnsrbHUs6s0qZQUp6z9JqsO1VXANuCjwE7g\nTjN7d+tCZrbHzGbMbGZubi6jtx6QmmKJQQ5yGe+tOokSyV6a5H4K2NL0+0jjuWazwAF3f9XdXwZ+\nALyv9YXcfb+7T7j7xPDw8KAxZ0dNsSAOcjqJEslemuR+ENhqZuNmtga4AXi4ZZn/Bfyuma0ysyHg\nt4Cj2YYquSn5IBfA8UWkcnomd3c/B9wKHCBJ2A+5+xEz22tmexvLHAUeBZ4GngC+5u6H8wtbqkYn\nUfUR+rDXqtB87iJSmDxubF03ms+9ytT0kcB12kVjGPZaFZo4LDaawUoC120XjWXYaxWoLBMb3epO\nAtdtFwXtvsulskxVqekjgeu2i2rYa3GU3GOjK34kcN12UQ17LY6Se2zU9JHA9dpFNey1GErusVHT\nRwKnXTQM6lAVEYmIOlRFRGpMyV1EpIKU3EVEKkjJXSQHmiFCyqbkLvmpaYbr957jInlQcq+rvBNv\nKBmuhAOMJseSEGgoZB0VMe9qCHPglDS/7IoVyfGslVly4Y7IcqQdCqnkXkdFJN4QMlxJB5gQjmtS\nXRrnLp0VMflYCHPglDTJmmaIkBAouddREYk3hAxX0gFGl99LCJTc66iIxFt2hpuehjNnlj5f0AFG\nk2NJ2ZTc66hb4s1ydElZGW6hI3V+fvHzGzeqCS21kSq5m9kuM3vezI6Z2R1t/n61mf3UzA41Hndl\nHyq1HTedi3aJN5Thi8vVbiwiwNvfrsQutdFztIyZrQR+BFwLzAIHgRvd/dmmZa4G/rO7fyztG/c9\nWka3Tc9fVYZ5hDBSRyQnWY6W2QEcc/fj7n4WeBDYvdwA+6YrQ/LXaRRJu4QfshBG6oiULE1y3wyc\nbPp9tvFcq6vM7Gkz+56ZXd7uhcxsj5nNmNnM3Nxcf5Hq3qH565T8zOIqzYQwUqfGVD0NQ1Ydqv8M\nXOzuVwJ/AfxNu4Xcfb+7T7j7xPDwcH/voNZY/vbtSxJ5K/e4zpDKHqlTY1XptqmCNMn9FLCl6feR\nxnMXuPvP3P1M49+PAKvNbFNmUYJaY0WYnGxfq4b4zpA0FrEUqp6GI01yPwhsNbNxM1sD3AA83LyA\nmf2qWdLkM7MdjdedX/JKy6HWWDFGR9s/rzOkKBVdIlH1NBw9k7u7nwNuBQ4AR4GH3P2Ime01s72N\nxa4HDpvZU8C9wA2ex6Q1ebbGVChM6AypMsookah6GhB3L+Wxbds2D8bUlPvQkHvyHUgeQ0PJ83U0\nNeU+Oupulvz87GcX/17X9dJJ6/oKZP2Mji7epRceo6P5vae+SvkDZjxFjlVydy/nWxALfVu7K3n9\ndDuumLXfrc3Ki0mWL21y15S/oIteuqnKhU15KXH99LquT5uumjTlbz9UKGxverrzBUzqIUuU2IPY\na2SKuk8GV4UuOCV30LegnYVmYSd1P/AtKLFh0Ou4UocBZnkk4cqM1U9Tu8njEVTN3V2Fwlad+iFU\nc1+sxJp73buK8lr1oa9X1KEqy9KpNw6U2FuV1DDI87gSQ1snryRcVkd0WmmTuzpUpT31xkVhejqp\nsZ84kVSC9u1bftkllglY8xoHEfquX90O1ayKbFXoMcmT+iGikMd1fbFMIZBXd0dldv00zfs8HgOV\nZbI6D9XY7XRiODeXzGVdlshrN6prWYpK1tz7LbJ12kKh95iIlCjLr0fe7ajmr/jGjckjxIScpWom\n936aFN32qtB7TCR8ITftlinLhFxUO6pOJ+PVTO797CndllXLvTrKSLI1yCSpVmuKhYpqR9XpK13N\n5N7Pl6rbXlWDL2ctlLUd65RJOkm57otaVXU6Ga9mcndP31LrtVdV+LS6NspKsnXKJJ2kXPdFHX/r\ndLytbnJPS63z6isryYaSScpsoPSx7osIs05fdyV3d7XOq66sJBtCJik7hlAOcE3q8nVXcpfqKzrB\nhTTuruzkWvbBpcbSJvdVpV09JbJcC5djZn39fTut1+TPzyeXLT7wQDnX5Jd9s9KFz/z5zyfrAuCX\nfqmY95ZU4pt+QKRZnvfVbRbaNfmh3IPg9dff+vf8fKRz41ZTqonDzGwX8CVgJfA1d7+nw3LbgX8k\nuUH2/+z2mu0mDvvFL37B7Owsb7zxRsrww7Z27VpGRkZYvXp12aHIcoV2t64QZvcKfYatiko7cVjP\nsoyZrQS+AlwLzAIHzexhd3+2zXJ/Bjw2WMgwOzvLunXrGBsbw8wGfZkguDvz8/PMzs4yPj5edjiy\nXBdf3D6RlXXTkiJLUp2UXRqSrtKUZXYAx9z9uLufBR4EdrdZ7nPAt4GXBg3mjTfeYOPGjdEndgAz\nY+PGjZU5C8lcbLNyhjhVYFElqU5CKQ1JW2mS+2bgZNPvs43nLjCzzcB1wFeXG1AVEvuCKn2WTMV4\nH7M63LOuXyEe8NKKrXExgKw6VP8cuN3duxYfzWyPmc2Y2czc3FxGby3RCa1zMq2yW8qhifWAF2Pj\nYgBpkvspYEvT7yON55pNAA+a2U+A64G/NLPfa30hd9/v7hPuPjE8PDxgyE1KPPred999bN26la1b\nt3LfffcV9r6VoFptdcR4wBukcRFjS7/XQHiSTtfjwDiwBngKuLzL8t8Eru/1uu0uYnr22WfTj+Qv\n8SKK+fl5Hx8f9/n5eT99+rSPj4/76dOn2y7b12eqi7IvwJF663faisAu2CLlRUw9W+7ufg64FTgA\nHAUecvcjZrbXzPbmccBJJYdT+4MHD3LllVfyxhtv8Oqrr3L55Zdz+PDhJcsdOHCAa6+9lg0bNnDR\nRRdx7bXX8uijjw78vrUTc61W4tdvR3CkZcRUV6i6+yPAIy3P/VWHZf/98sNKIYdT++3bt/OJT3yC\nL37xi7z++ut88pOf5Iorrliy3KlTp9iy5a1K1cjICKdOtVaqpKMQhvFJfe3b1/4agU6Ni0jLiPFO\nP5DTuOO77rqL7du3s3btWu69995lvZZ0MTmpZC7l6LdxEdo1DinFO/1ATqf28/PznDlzhp///Ocd\nx6hv3ryZkyffGh06OzvL5s2b2y4rIgHqpyM40jJivMk9p2FYn/nMZ7j77ruZnJzk9ttvb7vMzp07\neeyxx3jllVd45ZVXeOyxx9i5c+ey3ldEAhXpkM94yzKQ+an9/fffz+rVq7nppps4f/48V111FY8/\n/jgf+tCHFi23YcMG7rzzTrZv3w4kpZwNGzZkFoeIBCbCMmKqicPy0G7isKNHj3LppZeWEk9eqviZ\nBjI9rQ5UkQxkNnGYyLK1zmC4cEUgKMGL5ETJvYtnnnmGT33qU4uee9vb3sYPf/jDkiKKVLdxwkru\nIrlQcu/ive99L4cOHSo7jPhFOk5YJGbxjpaReGhqWJHCKblL/iIdJywSMyV3yV+k44RFYqaauxQj\nwnHCIjGLuuVe5hTLu3btYv369XzsYx8r7k1FRFKKNrmXfTOV2267jQceeKCYNxMR6VO0yT2PKZbT\nzucOcM0117Bu3brB30xEJEfR1tzzGDqddj53EZHQRZvc85piWfO5i0gVRFuWyWvodJr53EVEQhdt\ncs9r6HSa+dxFglHmkDEJWrRlGch+6HTa+dwBPvjBD/Lcc89x5swZRkZG+PrXv64bdkixNNumdJFq\nPncz2wV8CVgJfM3d72n5+27gbuBN4Bzwn9z9/3Z7Tc3nLrJMY2PtO55GR5Nbx0klZTafu5mtBL4C\nXAvMAgfN7GF3f7Zpse8DD7u7m9mVwEPAewYLXURS0Wyb0kWasswO4Ji7HwcwsweB3cCF5O7uZ5qW\n/2WgnNs7ZUzzuUvQ8hoyJpWQJrlvBk42/T4L/FbrQmZ2HfBfgXcCH80kupJpPncJ2r59i2vuoNk2\n5YLMRsu4+3fd/T3A75HU35cwsz1mNmNmM3Nzc51eJ6uQSlelzyIB0myb0kWa5H4K2NL0+0jjubbc\n/QfAJWa2qc3f9rv7hLtPDA8PL/m/a9euZX5+vhJJ0d2Zn59n7dq1ZYciVTY5mXSevvlm8lOJXRrS\nlGUOAlvNbJwkqd8A3NS8gJn9BvBCo0P1A8DbgPl+gxkZGWF2dpZOrfrYrF27lpGRkbLDEJEa6pnc\n3f2cmd0KHCAZCvkNdz9iZnsbf/8r4N8CN5vZL4DXgX/nAzS/V69ezfj4eL//TUREWqQa556HduPc\nRUSku7Tj3KOdfkBERDpTchcRqaDSyjJmNge0uQIjlU3AyxmGk6eYYgXFm6eYYoW44o0pVlhevKPu\nvnS4YYvSkvtymNlMmppTCGKKFRRvnmKKFeKKN6ZYoZh4VZYREakgJXcRkQqKNbnvLzuAPsQUKyje\nPMUUK8QVb0yxQgHxRllzFxGR7mJtuYuISBdBJ3cz22Vmz5vZMTO7o83fd5vZ02Z2qDHb5O+WEWcj\nlq6xNi233czOmdn1RcbXJo5e6/ZqM/tpY90eMrO7yoizEUvPdduI95CZHTGzvy86xpZYeq3b25rW\n62EzO29mGwKN9R1m9rdm9lRj3d5SRpxN8fSK9yIz+24jLzxhZleUEWcjlm+Y2UtmdrjD383M7m18\nlqcb83Jlx92DfJDMY/MCcAmwBngKuKxlmbfzVmnpSuC5UGNtWu5x4BHg+sDX7dXA/45kP1hPcvOY\nixu/vzPkeFuW/zjweKixAn8C/Fnj38PAaWBNwPH+N+BPG/9+D/D9EveFfwN8ADjc4e8fAb4HGPDb\nwA+zfP+QW+4X7gDl7meBhTtAXeDuZ7yxlij3DlA9Y234HPBt4KUig2sjbbwhSBPrTcB33P0EgLuX\nuX77Xbc3At8qJLKl0sTqwDozM5LG1GmS+ySXIU28l5E0oHD354AxM3tXsWEmPJn+/HSXRXYD93vi\nn4D1ZvZrWb1/yMm93R2gNrcuZGbXmdlzwP8BPl1QbK16xmpmm4HrgK8WGFcnqdYtcFXjdPF7ZnZ5\nMaEtkSbWdwMXmdnfmdmTZnZzYdEtlXbdYmZDwC6SA34Z0sT6ZeBS4F+BZ4DPu/ubxYS3RJp4nwJ+\nH8DMdgCjJPegCFHqfWUQISf3VDzFHaAC8efA7SV+Mfr1zyRljiuBvwD+puR4ulkFbCO5veNO4E4z\ne3e5IaXyceAf3L1b665sO4FDwK8D7we+bGa/Um5IXd1D0gI+RHKm/C/A+XJDKkeam3WUpe87QJnZ\nJWa2yd2LnmMiTawTwIPJ2S2bgI+Y2Tl3LyNp9ozX3X/W9O9HzOwvA163s8C8u78KvGpmPwDeB/yo\nmBAX6We/vYHySjKQLtZbgHsa5c9jZvZjklr2E8WEuEja/fYWSDosgR8Dx4sKsE995bi+ldXZkKIz\nYhXJRhnnrc6Ty1uW+Q3e6lD9QGPFWIixtiz/TcrtUE2zbn+1ad3uAE6Eum5Jygbfbyw7BBwGrgh1\n3TaWewdJPfaXA98Pvgr8l8a/39X4jm0KON71NDp8gT8iqWmXsn4bMYzRuUP1oyzuUH0iy/cOtuXu\nBd4BqqBYg5Ey3uuBz5rZOZJ1e0Oo69bdj5rZo8DTwJvA19y97fCzEOJtLHod8JgnZxulSBnr3cA3\nzewZkiR0uxd/9tZPvJcC95mZA0eAPywjVgAz+xbJqLNNZjYL/CmwGi7E+gjJiJljwGs0zjgye/8S\nvq8iIpKz6DtURURkKSV3EZEKUnIXEakgJXcRkQpSchcRqSAldxGRClJyFxGpICV3EZEK+v+rzMQP\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": "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\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": "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\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": "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\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": "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\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 zcmV+W{{#SuP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 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 z 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 literal 0 KcmV+b0RR6000031 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": "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\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\n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\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\nffbZAHz44YcA3H333bkfWAJNmzYFYMaMGYDr9/QyZ84cnn/++ZTPLV++HHDVWvl6K1asyA033AC4\n+3KckRoidRrg559/BkqXQik1K86qVibsvvvunHnmmQBcddVVALz11lsAdO/eHYBffvklnMH9Pzr2\nDx482Nke77//PuCu0HnRMXPp0qU88MADAYwyN+jc8fDDDwPuCl06fvvtNz744APATerZdtttfRxh\nbpHyquPKTz/9BLjn906dOnHQQQcB7nnhmmuuCXqYxca7kqrUE/0MC1NiDcMwDMMwjNgRKSV21apV\nAOyzzz6A66WMuxK7++67A67XqWbNmoDrL9WdahSRb0u+XXkGU20T+ezuuOOOpMdbtGgBwG677eYE\nQccJVfInegszRX+3J554IqdjSsdrr70GuGOW2q/v1rnnngvkq60bNmwo9LPq1q0LuNs8zpX6iUiV\n0/cu0Qcr394ll1wS/MB8InG/Lc4+HBW0T8ufr3xVzalixYqO/1Aqp6rab7/9dgBHqQ0LjT0R+ZSL\nYvLkyU6dyBdffAG4iTZ+r/BkS9WqVXnooYeAgh7KdCxfvtzxV+q4mW4lKWzKlCnD//73P8BNfEm3\nDS666CIgf/VLq8taKVBtwZtvvunreEtCOgU2bC+sMCXWMAzDMAzDiB2RUmJ1tyyl5JhjjgHCyx/L\nFVK/5BHS3degQYNCG1OmzJ8/P+mnPEqpWuip00xpQz5QVdlmg/xs3377bU7HlI5777036f9SC+6/\n//6sP0sKQ/ny5Us+sAjRr1+/sIcQCN6c2Dh5YrfeemtnJeDOO+8E3Hxtb2dDKbGFzU+rYFGhbNmy\nTieuTz/9NKP3vPPOOwWyZYcPHw5ER4ndaaedgHzv72GHHVboa5Wdrbas/fr1c9JUsqk7CBIp+dtu\nu61T5yAffTqkmvfo0cPZfkLXOlFUYnXd5c2Fve6664IfTCGYEmsYhmEYhmHEjkgpsaqsLi2oI4m3\nx/JNN90EpK6A3nHHHQHYc889ATezc+XKlb6NMxtSKbDimWeeAdyqdnkNVdUfNz+sel8fe+yxhb5O\nSoK8z2GiLmkloXPnzgAcccQRBZ6Ls1dU20dqjzcr9/PPP4/1/ISUSmUTJ/pglUW9Zs2a4AeWARrr\nJZdc4iSiZKK0FkWmaqffKBHkxhtvdI71l156KeAmwHi3jbJh77zzTho3bgxEV11X5nImap1W9446\n6ijnsZEjRwJQv359H0ZXcrxKajZ8/vnnLFu2DHC9vpr70KFDATcbOGzat29fIDlBHth0aQTt27cv\noNoGkWAQqYvYKEZMFZdKlSo5X2SdNF966SXAjVTZfvvtAWjWrBmQH0ivFnW6oFdsh0LmlyxZEsTw\ni6RixYpOCz01O1BLRF286gCreVesWJG//vor6KEWm1tvvRXIL1JIxcKFCwHo27cvkH9ikgUmjmy1\nVf7hQK2FtX+KN9980ym4iCP6Du23336Au5/qZ6YFNlGnR48eQMELnLy8PGfZMioRYir60TFQxVq6\nwEvF008/DbhWGTUfeemllwq8b9y4cUB0RABdxPzvf/9z7BI6fqjoS0WzixYtAnCW5VO1hdbfICrM\nnDkTyD8nSIgRKjJVUdNzzz0X7OBC5o8//nCKnmX70jlU0VtvvPFGOIPzkHgBW9SFqGwHqeLCvI/5\nUVhqdgLDMAzDMAwjdkRKiV29enXYQ8gZhxxyiCO/r1ixAnBD1aWQqDVp4nKKFxWDqW3ogAED/Blw\nlgwdOpQrr7wyo9feddddQH57YVkOosqBBx4I5BcZKNJH6E5UrWMVaq0A9UceecRRltQqUiquGnhE\nsc2gFFg1pfDGEC1evBjI33/DDosvDirIS6fuaRl3woQJgY3JT7RUKdUjUf2YN29eKGPyItVRMWep\nVjsSVUtwLQFSfqTsqUBKhV+J7y1Ok5YgaNu2LaeddhqAYxHQKk7Hjh0B186j88W6deucouDjjjsO\niF7B2oknnghQQIUFV0H3RjCKnXbaqUDRXmlj+vTpAFx++eVAdG0TibaAdNaQwhRYvcf7nN6Ty2J9\nU2INwzAMwzCM2BEpJVYFJXFGYdtSWQHGjx8P4ITLT5o0CSiowM6bN4+3334bcD1c8mVGBbUOPP/8\n8ws8JwVBPjQpDGLIkCHMmTMHILLeWLV1VDwRuNtLUWn//fdfyvfOnDnTucNu3rw54LaZlB8zKlE4\niWhe6Yqa1KhBRUFxQ97DdCsH8of+888/gY3JD3r27AkU7omVQhk23sKkzz//HHCV0x9++MFpf5zO\n96mVEinseXl5TmFMYcWzUeD66693vLDi4IMPBtxziJRmeWM3bdrkxDntsMMOAPTv3x9wW5tGEcUM\nKqowHXXr1i1wDfDvv/8CyQ1J4owKo7Wa5y0uDZtEhVRqqtcLm06Bff3119M2QPCzvW60/oKGYRiG\nYRiGkQGRUmK9xNF/pyrbHXfc0am+fOSRRwC3ja4Uk++//x7Aac83YsQI5+5b/qioBc2r7eG6deuc\n7dOtWzfA9awpJkVtdUWbNm0cpTJqDSwUcdKwYUPnMak5qqZNp8AmIj/pBx98kOsh5hypOV5FaMGC\nBYAbMv/4448HO7AcM2LEiJSPKy4n6j7tTJHS7K0A1v9/+OGHyHhiX3zxRcCNr8sm7F0KrFJPxLJl\ny5zvbNRaeSsmS8e/VLUN2WybVq1a5WZgOaJatWpAckym1PXjjz8eKF7EovyzOiZFhapVq9KpU6eM\nXqsVrHfeeafAc1KY9XcLK51AHthUqQRevG2EC2tDq+dMiTUMwzAMwzCMBCKlxMo/KOSfjAO6077s\nssucx6QGKGFArT+Vp6qc0SuuuKLA50kl011cuorOoHn22WeTfqZCWYFSbRNboSZWEEcBpQacfPLJ\ngKta/fPPP04b5EwUWCEPV9SpX7++Uy2sanapAtq2M2bMCGdwOULzOuSQQ4CC/rNUuZtxRP7totrM\njh49OtiBZUBx2m1q5UqZ2sou7tixY2Q9sFIjtarz+++/l8jHqqYJSnkIm9tuuw1wVxsBXnnlFSB+\nTW4S0TFD5welCXTo0MHxMKdD5xL5X3/99VfnOW8Gd9h/o1RNCrxKrF7jfW06H2wq/Gh6YEqsYRiG\nYRiGETsipcQmVoQDdOnSBSi6qjEKqGpfdym//fab4xnVXaoUWFXAp8pfU2tMeafkS/ziiy/8GbiP\nqKo2URE677zzAFdJeOGFF4IfWAJSG6XaqWvcqaee6uRPlkZ69+7tzFlqmFYOJk6cGNq4colaYNas\nWRMofZ25xCmnnALkdwmEgp5YdQiMympOcdGxQwqYjitKRYmqCusHqj9QEoUSDdatWxfoOMaMGQO4\nXRvF2rVrS9TCWbUh8tWGhRRYdYUTZcqUybjlb1E51YDjrw3LE+v1rKa6NknXUjabzzUl1jAMwzAM\nwzCImBLrZfbs2WEPIWNUoS++/fZbdtppJ8BVCpRGoOzXb775Juk9PXv2dHISpUorWzaOKB9Qc5DP\nF2D48OFAeErstttuCxRMf/jwww8BePnll4v1uarSFeqDLv9p2Civ9vLLL3dyUZWiUVoUWMivoFWH\nPC+F+bnjhI4RSiVIlQsLBVWyuNG9e3fA7SgnxXn9+vVAPBRYb2a2VqlKivz6f//9d04+L1vU7c+r\n/t97771Z5y4r8xZcRTnsY9KwYcMC+T1SYnX+DypHPV1KUCaKaWFq7dy5c4t8ba6IxEWsLvZUACV0\nco0rWsYUWiKREVo/99prLwAuuOAC56Dw2WefAeEvt5eEVatWATBw4EAApk6d6jynE1BYnHHGGQAF\n2hyWpK1vy5YtCxRDyVLivWEJCy0pV65cmbVr1wJulFhpolevXgVameoGJV14fpzYdtttnZaj6SK1\n7rvvPgCnaUBcufjii4GCF69xao7j3edatWpVoqVjXfBVqFABcO0EP/30U7E/MxvUVnvnnXdOelzH\nF91wZIIsdLrBjgIqUGvQoEHK5+fPn8+jjz4KuDckiuwTshi2adMGyG/F623prcKxFi1aAG7cn4Sv\nKOFtcqALVV2gtmvXroDlQM/5GalpdgLDMAzDMAwjdkRCiR08eDDgxi9JtYrDMpEYO3Ys4N4h169f\n31nuk6qqIH21oU2FQvfvuusuID+KJe7oTjsR711rnFHUzxNPPOGsJsg6ogK9qKBluj322MNZAVHs\nj5aySgPnnntugVaVKmCLuzIJ+dYjHU+8kVpvvfUWEP5SbEmoVq2a0+5Y6s7q1asBt113nLajVuGk\nkl9zzTVO+H2mTQ4aNGjgbFsVCX355ZcAgbcT3m+//QC38EnofJWJlWDPPfcEcBTNxMInNQgKm3TF\nW3PnznUa2nhjI7VCcPTRRwPuimvjxo0LfJ7i4vQeb8yo36RrRpCNcpqqkYHm7EchlxdTYg3DMAzD\nMIzYEQklVv4P3aXqrvLnn38ObUzZojviKVOmAHDaaac5vsuikHe0S5cujtrgVZGiQq9evQA4/PDD\nnQijdOhO++yzzwbyt68UiXStQOOAisFUnKaIo1122cVRYBVuHrV2ieeeey6QHxAv/7UC01UcIoVL\nBVDyJL7++ussWbIk6fNUyNavX7+0v7Mkoe7FJbGxgdoflyTyJyqo5eqVV17pHC81Vx0ztBoUJ6XS\ny6GHHuo0qdC81P44jvOaP38+4EYl7rnnnjz55JMATJgwAXDjqrxFPXXr1gVgyJAhjuqn40yUfKTg\nhvjr2J8KrbxKfdxtt92A/OOP/PnZeGrD4KqrrmLIkCEAlCtXDnD9yPob6PiaSs3VNtaq7Lhx4wD3\n+x0U6ZTSTNrE6r3ydqdqkBAEpsQahmEYhmEYsaNMpoG9AGXKlMn8xVmwePFiwPXZ6C5g5MiRfvw6\nh7y8vKSy3lzMr169ekDhIc1r1qwB3Mo9hcznumWpH/PTnXLfvn3p27cv4LYXVMWq/gZKI9hjjz2A\n/DvVnj17Apn7wAqjJPNTS9zXXnsNcPc9+bH//fdfLrjgAsBNGBBSJo877rikx9euXeso1blQYP3Y\nfooWu/3229Oqp/KiS/Fq27YtkL9i4A1TV7tlpTwoVi1xX06MVkvEj/kpEH/8+PGOgidv+sqVK0v6\n8Vnhx/wUzzdw4EBH4ZEiq0jCxNaffuLH/NSa+5hjjnE8kqrY1oqHVnP8xo/5aYVmxowZBRS6t99+\nG3DrK7QvqylJrVq1nO+fwvevvvrqYo+lJPPTMX769OlAwZSX4rBo0SIOPPDAEn+OKMn85MNWOpA3\nijGTZgf6Xia+TqvL+o56o6iyIZf7Z7porFRIbc2m3Wxx8M4vHabEGoZhGIZhGLEjEp7Y0oT8rfLJ\nlFaqVavmKD9SEKScKFvPe6c6YcKEnCiwueDXX38FYOPGjUmP77rrrs6/Mw3Fl1Lbq1evyHlgvfzx\nxx9AfvMF7aMKYpcKou2o9p6ifv361K9fP+kxVZB/9NFHgOvrW7FihR/DLxJVrpc2Bg0aBLiZy2XL\nlnWUZrWVLYkqFzbt2rUDcFZqEjN+1bY7KAXWT+Trbdu2bYGVqoMOOijpNamUPHkoH3zwwWAGnAad\n55T4URwlVgkGWr1RMk8U8KqNuThv/fTTT7Rs2RKIXla15uvNnI4DpsQahmEYhmEYsSMSSqwq+rfe\nemsgXu1mtzQ+/fTTAo9JQUiHvF3y/kYJ+exUHaouK5UrV077HrV6VLtPdUaSuhsHnnnmGcdrqBzf\nZs2aZf058lBJTTH8Qd255C8+55xzGD16NOB2SYojUn7kTRdffPGFk4NbGnnnnXccVU7zlJKupBtl\nhsqX+dBDDzktvHNdP1Fc1K1KSQs9evTI+L3a5lFePVGWr5IGjOhhSqxhGIZhGIYROyKRThAWflSf\nRgk/5qcEggULFjheSqEuXMqNk4Ign+imTZtK+uuT8GN+6rLSv39/RyGQ0ir/l5TYmTNnlvTXFYrt\nn9kjdfmoo44qlekEUSIX85P6qESa9evXA3DGGWfw0ksvlXiMJcG2X+Yo7UVV7jvssAMPPPBAytcq\nN1p+eqmduca2X7zJNJ3ALmITsPnFC5tfvLH5xZuSzE8FlLoxVOC9lqMzLar0E9t+8cbmF28sYssw\nDMMwDMMotZhb2TAMwwgUNcmQAisL0ltvvRXamAzDiB+mxBqGYRiGYRixwzyxCdj84oXNL97Y/OKN\nzS/e2PzizZY2v3SYEmsYhmEYhmHEjqyUWMMwDMMwDMOIAqbEGoZhGIZhGLHDLmINwzAMwzCM2JFV\nxF7NehkAACAASURBVFZpNw7b/OKFzS/e2Pzijc0v3tj84s2WNr90mBJrGIZhGIZhxA67iDUMwzAM\nwzBih13EGoZhGIZhGLHD2s4ahmFsAdSqVYvXXnsNgG233RaAyy+/HIBHH300tHEZhmEUF1NiDcMw\nDMMwjNhhSqxhGEYppEKFCgDcfPPNABx++OE0bNgw6TVfffVV4OMyDIAWLVoA8PLLLwNQvXp1rr76\nagBGjRoV2riMeGEXsYaxBbLNNtvQsWNHAIYPHw5Ay5YtAShTJj/Z5OGHHwbguuuuA2DVqlVs3rw5\n6KEaxaRv374AXHjhhc5jGzduBGDBggUAfP7558EPzNii0XHmmWeeAWD77bcHYPPmzfz000+hjcvI\nDJ03dPOh80VeXh4DBgwAYMKECYGNx+wEhmEYhmEYRuwok5eXeT5uaQ/T9Wt+Xbt2BWD06NEA7L33\n3knPJ97J3HDDDQCMHDkSgL///huAPffcE4BDDjkEgClTpgDw33//pf29W1oYss2vaLbbbjsAZsyY\nQefOnbN67y677MJ3331X0iE42PbLLU2bNgVg6NChAJx88skaBwBr1qzhlltuAWD8+PEl/n22/YLn\nrbfeAmDy5MkAPPDAA8X+rKDnV7FiRQBefPFFAA4++OCk57/77jvq1q0LwL///lvi3xfW9lPR5LXX\nXgtAly5dAGjSpIlz3n7hhRcAmDlzZrF/T1Dz03weeeQRAA444AAAdt555wKvXbZsGQD77LNPiX+v\nNTswDMMwDMMwSi3mifURKaw9evQA8u/EwFVG/vzzT8D1lrzwwgvcddddSc9JORk4cCCAU5gxa9Ys\nAH799dcSj1MFIACdOnUC4LDDDgPg4osvLvL98k4qvkf//+eff0o8NiM3VK1aFXC3TaIKq7vnMWPG\nAHDNNdcAUL9+/aTPuP/++519ddy4cf4OOGJ8++23ANSoUSPp8b59+/LQQw+FMSSHmjVrAvDGG28A\nyR5DcLfn5MmT+frrr0MYoSHKly8P5K/GLVmyJKv31qtXj+bNmwPEypuu84uOGV4F9p577gHgtttu\ny4kCGzT16tUDoHXr1gBccsklgFu4pvN9Xl4effr0AXB+/vbbb4CrzEaJ2rVrA/mrdgAHHnhgke/Z\nYYcdALjgggsAmDp1KpCb65R0mBJrGIZhGIZhxI6ceGJr1KjhqABSCidOnFjsQZ1zzjmAewcjRXP2\n7Nn88MMPADzxxBMAvPTSS8X+PX57SrbeemsA/vrrLwBHBZG6uW7dOgDeeecd5z2qHt60aVPSc61a\ntQKgTZs2gKueFUam88vLy8O7H+j/f/zxR9Lj2hbyyaRi1apVgFvF+OWXXxY51uIQlCdI+/SJJ54I\nQL9+/QCoU6dO0uvKlCnj/N0ef/xxwPVBZ6u6QG7nd9555wHJXkjdJct/LS/lmWeemfZz5MFWSP5t\nt91W3CH5vv3KlSsHwHHHHQfA8uXLAfjoo48y/oxTTjkFcI9n+k7rONSjR4+k728ifs9P++Fll10G\nuL75lStXAnDvvfcC7mpOromiZzSX+DG/3r17A9CsWTPn+5YpjRo1YunSpYC77SdNmlTssQS1/bRS\n8M033yQ9rmuGo446CnDrP3KFn/Nr3ry5s3IlxVUqpJgzZw4Azz//PJC/uqqkEPnXFy1aBMBBBx2U\n9Rj83n5vvvkmAG3bti32Z0idfu+997J+r3liDcMwDMMwjFJLTjyxDRs2TPJ9AJx99tlJ/0+swNf/\n0z336aefOp+bSI8ePZzX6k70hBNOAFxlNko89dRTAE72ncb67rvvFvneSpUqAa43de7cuUBmCmy2\nbNiwwVGAb7zxRsBVYO+///6k11avXh2AU0891Xlst912A9w8SnmExo4dC7hKWJzYe++9HdVbmXdS\n9kQ69RrcOcsPrbaep59+uj8DToO21/nnn1/gOVUJS2GWAiuV8e677wbcLNH77ruPbbbZBsBJ0RAl\nUWT9QscIbT99h4499ljA9aOlYqeddgLcCmMpsOLtt98GSKvC+s2kSZMc76u2iVCur/zPpQ2vgqlV\nge22285Rob0KpTJJP/nkkwBGmB7te+vXrw91HEGg46WOI15uuukmIPcKrJ/o+H3TTTc5x1bx7LPP\nAm5tQapjg2pZPvvsM8BVcY8++mgAnnvuOR9GnT1HHHEE++67b0av/f333wFYuHAhhx9+eNJzOi8o\nVckPTIk1DMMwDMMwYkdOlNh58+Y52aeNGjUC4NBDDy30PevXry+WeqpuHwsXLgQKVgtHCVVhqkr/\n+++/T/k6KZdTp04toPYJqdN+4L2jLIwff/wRgDvuuMNRp3Q32atXLwBq1aoFuHdoceK0004D8itm\npfp7t4m6He2+++5A/t8C8r8H8+fPT3qt3nvkkUf6NubCkPqvZAwxaNAgJ6PQ65mUZ1vqsZg7d66j\nJCgrUIrs+++/D7g+N7/QCoXSO9KxzTbb0K1bt6TH5O2SglmYEqvj2R577AHAL7/8Ari+Wm3zoJG/\nsG3bts6/Vf09ePBgAKZNmxbK2HLJ9ttv7+TcKmdb1dHKOk61EqJjqXzeQt3L9tprL/8GnQFaoVm/\nfn3K1ZHCCHvs2XLFFVcAFPgeaoXulVdeCXxMJUVtcXfccUdHNVWLXB0DC0tY2GWXXQB3ZUe1L6qP\nCRsdX0899VQqV66c8jVatdV5v1q1akB4q+GmxBqGYRiGYRixI+c5sVIq9DPXdO/eHSh4Fx5FdGcm\nRVbKlrcSUcqJEggSkQd2yJAhvo2zOFSoUMFR4bxZsh9//DHg5uXFCflgE7NzVV16xhlnAK4KqLtp\nqXRbbbWV836ptUKVqkEhFfmII45I+fwTTzzhZE1qrFJttd96Wbt2reO3lMdQuZfKelTO8FdffVXi\nOaRCqpyyC71IpZs0aVKBjmTaH9esWZP28zUf+SyFfMNKAHj99dezHHnJ0IrT008/nTQOcBXYO++8\nE4hXhqiQJ7BZs2YADBgwwPEl54Idd9wRcNXcsLzM+l4WN1VA7y9bNtr6U6VKlRwlVqjbn44VSjpR\nJ6+qVas65/VcdgbMJYl/f/3b+zMdFSpUcM7jOk499thjQPpjbtCMGDECSK558SKvva7xtPKay+9r\nNsSu2cFVV10FxONAreiQn3/+GXAvUtUyUPETictEMrnrBLx48eKkx6PCsGHD0jZCUNSITN1ars4m\n2ihoZIPRxUoiKsSTlUIoOk0XGNOnTy/QUlh88MEHORtrJqhRgQrLhA6W2ifBjQPTz8LwFoPpPQ0a\nNADcpcJUf8dckO7iVcVNujjo0aOHs6ynqKlMltn79+8PuPFwWvLUxXlYoeT6e8pOBe5JJJMW1FFB\nNyGax/HHHw/gtBvVBU1xWLp0adrvn8LWw7p4Fd4C6Gxo1qyZ876on/8ee+wxZ2la30MVWCqCUTfY\nw4cPB/IFBO93Vsv3EgrCRkVqN954o2MR00+ds1999dWU7z3++OOdi0NZC3XRGBUKs72pEE9ChtBc\nRo4c6WyvIIn27ZxhGIZhGIZhpCBWSmyjRo2cO1Ddkc6ePTvMIRWKYqoUuXHllVcCbss5L3/++adz\ndxq2YlAUVatWde7AFBejQqddd90VcJck2rVrB+RHNN18882Aa2iPCloeV3vW1atXO8WDjzzyCODO\nRw02FC0mQ7tM++AWtcmCELSdIB1S7worasoEtZ/V30irClWqVAEKFi74hZb/NS+1Svz333+59dZb\nAfd7VxQtW7YsoDKoQFUKb9A2AtG+fXsgeclScVHeFYJ0lC1b1mlSoiJMFULJAuQt5ss1arCRrmgk\nFYojUrOYYcOGpXzdXnvt5Xy+l3QxT3FCS9BRRqtSKvoB+PDDDwG4/vrrAXdVQysjKrSEfEsWuG1L\nVbzo18pOtmjl6aijjipQvK6mI7JSrVixAnCtSbL9gGuL9CMyszhohUTWgFQoblCFXUIrQGEVcpsS\naxj/196ZB1o1tm38dyQaJJlS4SUpUsnwyhBJSEURDYZ6JUOGJJkSmmRqQm+FUoiEKEmGQppMGZPe\nZCoaSCoyJn1/7O9azz7r7H3O3ufstfdap/v3z6mzp+c5a+01XM91X7dhGIZhGJEjUkpsnz59PCVC\n7TwVzB5m5ONLpggpoPuSSy4JvQIrevTo4akbUsFUwKbCtcsuuwwgX+yNQo/VflGNIHKFvJwypStC\nqkePHl40mvzIGqs8vyr+ildghbxBYWvCkamVC60yzJs3D3BKrFYS1JJX+3amkZInP6gUWKkgvXv3\nZtKkSWm958MPP+wpyeL1118HnFKfbbSvybMd76WUGp4MRefp+3jQQQd5vjY/mp8KTQqLCcoEOm7L\nH6ljiVS6d955x2uxqmYbUmKT4W8DDa6IT3UIuUIxRCVFXvagFfN00fFThUt77rmnd16QL19Ksnyg\n8QosxPZnHT90npeiq/dPFlOZLdRC/ayzzvKOPSpKVNC/6gLWrFnjPRdiNRRaRQhLIZdWZjp27Ai4\nlUhwf2s1eChqVe3zzz/39s9M7e+pYEqsYRiGYRiGETkiocRKhTjzzDM9JSJsClciVHGrRAVFM8lT\nojtR3dEFHRSfafwxalLl9FP+NHmA+/fv7ykt8gkpbkV3uNlGCRJS9tTmt27dugWqTP0tARO10tM8\ntE1zRbKIFClfmUK+tni/V5BIOZBHVUHqUgm0r2kfTAUF0MvTDa65yPnnnw+4JIpsIwXK7yFdtGhR\nUlVdfwOpYlWrVgViFd5Sqv2qZdOmTQHnZ1++fHkmhl8A7ZerVq0CCipSyTytqaDmCOC2l3zRUsVy\nhdS4wtCqkI4r/gSCs88+29vmYUurkWIaH6so/6i2tXyt/ihJNQsYOHCg167+v//9L+CajTRs2BAo\nevUhW2zcuJHLL78cgLlz5wKuRkIV/lKTdc0yatQor617WJCHWUpsPErUSfVvPm3aNG/VJFFcaFCY\nEmsYhmEYhmFEjkgosbqzqVChgqckFBZYHhZUxS6fiO6w69SpAzgVS9X7gwcPLlD5F2WkfiiR4Jdf\nfvGyY1XJKb+sgrEzrRQWhbxlffv2BZw6PmnSJL7++mvA5f598cUXgFNv5YGKR+1I43NYc0Ein25p\nQPuNX9lSe99476M8zVL79Rr5Z6WUSO2MzyidM2cO4PJFc4XmK5VH7LHHHp5/96effgJgzJgxgEvE\nkK+1fv36QGz/laLlV0CVfxuUAiumT5+e8fe89957gfzfR1VSS9HLNWp7q32uRYsWHHHEEYDLJBZ+\nBS8e5T9LsQwzCxcuBNz3y9/gQQqfWgT//fffXj6sCMv2S4QUZu13ajmuRAU1pNA5QXm4YUIrMInQ\nPpsOeo3STrKBKbGGYRiGYRhG5Ai1EisvrFS6rVu30rNnTyC8qQRSFq+++mrPAyuV76OPPgJcfpw8\nJ/JhNm7cOGm3j9LAAw884ClAauWqjj3yf8nXlq2ONGpvqG4rat3573//26sMl2JSFJs2bfIyEXON\nVJCuXbvm+706JYVlnOmi6ll/i0flS8pDF498kX6klGhfW7lypadIKqcy1yRr37vXXnt5/lEpWvLC\nyos4btw4wK0ggMtyVNKGv0I8CigVRCtYXbp08X4vz2Gyzm65Qqtuxx13HBBTx6Xyy2uv3N9kSQoL\nFiwI7flB84pHyR5KJVBXPaG5xCdhSH3W6kEU0DFH+6W/q5qOxWHk4osvzuj79e7dO6PvlwqmxBqG\nYRiGYRiRI9RKrKqGVUG3du3a0KcSKC+ze/fuXtWlv7pPCu2QIUMA1xGqZcuWob3TzhTvvvsu4DJz\nR4wYAbjKValJ2e4NrnHJN9mhQwfPq6Ue4PK5Pvroo0AsSzae2267LTQJE1JB/Kjz08MPP1yi91cO\noF81Ugca+TQzzdixY4Hk/clT4fTTTwecCqGxnnDCCTlLyUiG1NZEPcmlfumnMmD9iR9SiG655RYW\nLFgAOO+5VhmCyvMNAlXA6/sppk6dmrSbV65RDq4SMBYtWuR18Us1OWHLli1s3LgxkPGVlGOPPTbf\n/zdt2pTQ0xvPW2+9VeB3ypRVxriOJ/4knDAgP6lU/2xmowbN7NmzvSzwVDnyyCO984vQimuQhPIi\nVhetOsnoy6AGB2HkkEMOAdyF6ebNm71/J0MXs9siDz30EOCClBXIrm2eqzaRq1evBmLFIloGUqyT\nLCxXXXVVvte88cYbQLgCyLVEp31MF+KKatp+++1LFGiv4ij/sp/a0AbVxEJLrvqZDioQVYGlWu/q\nuBK2C1hwdgJd8PiLgOJ5+eWXATcPbXNtEx2j4tFNgf+CMIzoBKntpRtd7QuKPAozihZMBy3Hq3gx\nCjz22GPescffQEQovk77+M477+xZ73TxqhvOsBVy77bbbl5jkNJ08SqmT5+ecmtyXa9NmTLFKyhW\no4RsRE2ancAwDMMwDMOIHKFUYqUKqFmA7tS07B5GVBCkeI277rqryDsZ3WFLts91LFMu0N2slNhq\n1arlcjj5UGC+ionuvPNOAM444wzAqQUqRst1S8R4pMZJnWvbti3gmgNUq1YtadFQYeg7qfa8Qmp0\ncZSmoNF3UnE9ivxRi8swt3pW5J72vcKUWFmttGIg5S6+iYOsE88//zzgLAi5auaQCjpOamlSCuwn\nn3wCuFa1a9euzcHogkeFv1FS/GrUqOHtf1qV8a8myDKg4+nuu+/u2bEuvfRSIHwKrApj+/fv720P\nFVLqukVWJymUpY2yZcsCLjJMq3vVq1f3zoEq2F65cmXg4zEl1jAMwzAMw4gcoVRiVVwjL6yCx8MY\nq+X3GqpwYtCgQUW+tlu3bkDBO7ltmQYNGuR6CAXQXaWUA3m9FN0UJgU2Vfbdd9+0ldjGjRt7BWG1\natXK95gUvXXr1mVmgBlAkT5qAqCGASr+CbMC60erAooYvOGGGwqsWmjFwB9DpuPoM888wxVXXAGE\nazslQ8dWheTvsMMOgPPADh06FCi9CqxQNGO6hTbZZOnSpYDzLbdp08Y7PipW8bDDDkv4Wvko+/fv\n750DiyoKyxXy7LZs2dJrsaoIUHntpcBqDmFrEZwKffr08YrpVEzo/x5qVS4eFeup8UM2MCXWMAzD\nMAzDiByhUmLlg/HfyYQ5lUAtSOWVUdh2ouQBVbnfddddANStWxcoWVxQaSPotpfpcNpppwFOZRRq\nBepvoxhGFNEkT6yYPHmyV60vpcePFBJ9L3v37u01FdD+raYAqoAPE2o9qnlKRVab0iihFrpqYfnQ\nQw95rUfl7W3VqlXC1+jxBQsWeL8LO5UqVfIUdMUuCbWxfvzxx7M+rlywzz77AE4BCyPTpk0D3GoV\nFExxSYZWIu+9997QKrBaHZbSvGHDBs+LrfoD/wry4sWLATe/KFGlSpVitYgeMGBAAKMpHFNiDcMw\nDMMwjMgRKiXWfyfz3HPPAeEMOpYHVsHbIl7VUtvcevXqAbGKTcDzpSmjUeptVFHFu3JVV61alfJr\n/S1dw6JKV6hQwWvEoCpU+Z39lflhRo02lMsrVXXPPff0HpNHdPfddwfgoosuApwnUdX94LaxquWn\nTp0a6PjTRRXRgwYNolevXoDbH/U9U8V/lPn999+9RBT9LA0oy/aJJ57wjpvygjZr1gwIdxvPIJAf\nWm1qw4iO29dddx0Q844qVULIh60VEaUNLVmyBIg1cwgrqsQvX748EPOJ1q5dG3CtVjt06JDvNW3a\ntMniCIuHrleOPvroYr/HK6+8AsC5557rtbXOJqbEGoZhGIZhGJEjLx0PSl5eXiCGFXlF1frz4IMP\nBlyFf6KWi5lg69atefH/T2d+yppUNZ6yGHUn8sMPP1ClShUA76dyYOVrk9cyqOrFkswvFdS1afbs\n2YDrgKS2rIWhKmu9hyqp1SIzFe9eEPNTRfuECRM8H2mu8igzOT+pBkr6KE6G4cKFC71KXOXCloQg\ntp9U5f79+/PXX38BripaFdTZIujvX67J5PyUqKBOfe3bt/dUIq12ad/NFmHbfj/88IOX7ys/dEkI\n2/wyTSbn9+GHHwKuQ2FeXl5S/67yw4NO2snE/LSirFXhdu3aFfkanZu7dOkCuBbn33//fbofXyj+\n+SXDlFjDMAzDMAwjcoTCEyvvaJ06dQCndKk6VY+HyRurbNDmzZsDMHPmTMBlp+20006eh1IVe6rg\nDrO3KR2+++47wN2dymOpfMBUkL/t9ttvB+Dvv//O5BDTRneXbdu29baX0jGinEf5+eefA/n9raUR\nJX6A88BmW4E1Uke+SSmw6t40d+5cOnfuDFCsznKlEduPc0f37t0B1zVOq8fg0gfUHTFKaQRaOe7Y\nsWO+n1EiFHYCFffITqClZRm+1XpOUTmZwpZTMovil7T9/DRo0MAzuw8fPhxwF/TFMfVncn6NGzcG\n8h+kZGvRBWC2sf0zfVQsUqFCBa9JRa4KRmz7JUdFg+PGjQOgSZMmgDsHhKEoxrZftLH5RRuzExiG\nYRiGYRilllAosWoHqeVbFZ3IIN20aVMg821nt7U7GZtfcmQV2HXXXQH4+OOPvZD4XLXotO0XbWx+\nBVFg/8SJEwHXiEHHeLUoDQO2/aKNzS/amBJrGIZhGIZhlFpCocTmim3tTsbmFy1sftHG5lcQRURV\nq1YNcHUOuVrtKAzbftHG5hdtTIk1DMMwDMMwSi1pKbGGYRiGYRiGEQZMiTUMwzAMwzAiR1rNDkq7\n58LmFy1sftHG5hdtbH7RxuYXbba1+SXDlFjDMAzDMAwjcthFrGEYhmEYhhE57CLWMAzDMAzDiBx2\nEWsYhmEYhmFEDruINQzDMAzDMCKHXcQahmEYhmFkgP3224/99tuP0aNHM3r0aNatW8e6deto0aIF\nZcqUoUyZMrkeYqnC2s7GYfOLFja/aGPzyyydO3cG4MADDwTg1ltvDfLjbPuVkP322w+AL7/8EoCa\nNWsCsHz58kx+TFLCsv3q1KkDwJIlS8jLiw1J1yXDhg0D4Lrrrkv7fbM9v+22i2mCTz75JADt2rUr\n8JwqVaoAsHHjxhJ/Xrbn16ZNGwCuueYaAE488UQA/vnnnwLPPemkkwB48803i/15FrFlGIZhGIZh\nlFrSanZgFI9KlSoBsMsuu+T7fa1atQBYtmwZAN999533WIUKFQB46qmnAGjSpAkAxx9/PAAff/xx\ngCMumsqVK9OpUyfAKT6777474O5Ip0+fDsC0adMAGDNmTLaHmRV0x/3000/TrVs3AB566CHAKQqG\nETRjx47N9//+/fsD8Pfff+diOEaKSMm64YYbALjyyitzOZys06VLFyB2rNTxctWqVQC89NJLORtX\nqpQvXx6ARx55BCiowEppr1GjBpdccgkAQ4YMyd4Ai0HdunX517/+5f0boG/fvoC7NtF+m+gcN2XK\nFAAmT54MwKWXXhrYWE2JNQzDMAzDMCKHKbEBsttuuwFOqezevTtQ8M5FSuyiRYs8P817770HwL77\n7gtAxYoVAed3y5USK/X4pZdeYv/998/3mOalO7QWLVoA0LBhQwDef/99Pvjgg2wNNWvcdNNNQGze\no0aNApyCsGLFipyNK12koGvFYO+99wbgvPPO854jlWinnXYC4OeffwacivTggw9mZ7BGUrbfPnZY\nP//88wF49NFHczkcI0XkDd1W2GGHHQC3n8bToUMHABYsWJDVMaWDxj9+/HjAKbDr168HYOTIkQD0\n69cPgDfeeMP7boaVGjVqAPDCCy94nu3irCZWrlwZcNcLun759ddfMzDK/JgSaxiGYRiGYUSOUN0W\n7LjjjgA0btwYgJYtWwKuCu7www/3nivP4WWXXZbFEaaH/JFXXXVVoc+Tulq7dm1OPfVUADp27Ajg\nVWvmGt1l3n333UBMIV63bh0Ajz/+OAAvv/wy4Dwz//3vfwGoVq0aAFdffTUXXnhh1sZsFI7ullV1\nesoppwD5lVc/qqrV6oGU2FmzZgU2zlygGBy/crJlyxbAfKa5RMdErQa0atUKiO2/F110EeCOSTNm\nzABcxbiRe/bZZx/AKZjVq1cv8JwlS5ZkdUzpUq5cOW/1qX379vkeGzduHAC33XZbvt+//fbbPPDA\nA9kZYDGRv1d+WIDPPvsMcNdcydh999255ZZb8v3uhBNOANw13SuvvJKxsQpTYg3DMAzDMIzIkTMl\ntl69et6ddNOmTQFo1qxZvv8L3XnH55FdfPHFQHiV2NGjR/Of//wn3+9efPFFAK644oqEr1m+fLmn\nGMhPq8rAXKM7M/386aefPN/S7NmzE76mbdu2QGLPU2mgXr16gPOOAvz222+AU+zCjLIXb7755kKf\nt2HDBiCmvioj8O233w52cFlAKqvUhyuvvNLLcTzssMMAOPnkk/O95p577gGcD9oIhsaNGxdQuIS8\niIkqnuXf0zGnUaNGgFspWLt2bcbHminkiT3uuOMAmD9/fi6HExjKEPWf58FV+P/+++/ZHFLaXHjh\nhV76h/Y5rTxef/31CV9z4403ZmdwJeCLL74AnCcZ4Nlnn03ptbVq1SqgxGYDU2INwzAMwzCMyJE1\nJbZHjx6Au8I/5JBDPCXW36VDfP7554C7O5BHFmDSpEnBDriYxFd2y+MrBbZ169aFvvapp55i3rx5\ngFN89LdZuHAh4HLXss3o0aMB50O7//77+emnnxI+d8899wScEis0h9KC1B7l4wL07NkTgJUrV+Zk\nTKkyZsyYAgr5X3/9BTglYfHixYBTrz799NMsjjBzlC1bFoBDDz0UcNtNlbPyVMaT7Jh0zDHHBDbO\nbRH55Q866CAAL3u6devW7Lrrrglf4982mzdvBmIrWXo/VUNrG8v/HUYlVqkg8oZqzKVNiZXPXOcQ\nP3/88QdTp071/h1GlBY0dOhQb/+Tz7VXr145G1emSVV9Bdhjjz0AuO+++wo8po5dc+fOzczAEmBK\nrGEYhmEYhhE5sqbEDhw4EHB3yPHoal2KpVTWTZs2Aa5bVbwSq/cLG/KM7rLLLt6dmuZVFFdc3UUR\n4QAAIABJREFUcQVvvfUWAFWrVgWc2iBvV65Qvpsy7wpDypZSCmbOnAk4z1Bpwa8U/fLLL6xZsyZH\no0mPI4880lspEMo3jOJ2kr9VqkC1atXo2rUr4BQupTCUhGeeeabE72HA5ZdfDjg/tvIpC0OK159/\n/gk4pVLniTlz5njVz/KV6ngaxu+lEi70vZNanEyBjjr6Ht5///35fv/LL78AMY/+Cy+8kPVxpYMS\nB8qXL++dE5XYoxWBbQ114mzevLn3O9VRaEVZtSJBkLWLWC2lq2ACXJtE7cTJ0EVsXl6eF/If1uVa\njW/27Nne0qPMzm+88QbgbBJ+Zs2a5cVtibBerMdTu3ZtwLXEVRSHdly1zi0taDnMf2MxY8YMr9Vu\n2Pnggw9o0KBBvt/JMhIlFNmmG9xzzjmnyNeoaGTOnDlAfouOGnPoIktLvbpgiuLfKIzstddeQMGL\n108++QSIRbfpWCoRQMVZyeLNGjZs6F28Cl3E6kI3TKjN+IgRIwB3ntCJf/jw4bkZWECoKNTP6tWr\ngYJtk8OELtBUrJ2Xl8cZZ5wBxGws2yKyD+i8H8+ECROAYCK1/JidwDAMwzAMw4gcWVNiFcOULI4p\nEVp+0PL01q1bvdcXpd7mmocffthTiVRsICXBH9szZcoUIFbcIPuAFNjbb789G8NNm0qVKjFkyBDA\nFev5DfuKmdJSb6VKlUK/3VJBCnv9+vXz/T6MS5bJmDVrlrd/ajvJ9hE2tt9+e4YOHQrgRWAJbYsD\nDjigwOtUHKJiSakDUsC0MhKPWkSryK1cuXIAnsJenBaMRkHuuusuoOA+F6/EposKosAVcKkNtJE7\nFEWlltVRpFKlSoArTtu4cSNLly7N5ZCyjorWdb2iJlTx0acim02aTIk1DMMwDMMwIkeo2s76kSoi\nn+iPP/7IyJEjczmklPnmm2+49tprAVeopnZ7TzzxBJC/jS7A0qVLOfPMM4Hkvtmw0L59e69wJhlS\nZuUjvPbaa732c2pZGyV23nlnAA4++OB8v1fUmL9gISpIiQ1rA4Ozzz7ba8esQPhkfPDBBwAMHjzY\n28dSbYnboEEDTjvtNMApsPJjqqVyItXBSB/5kqWSZ4L45ghqKPPVV19l7P2D4vnnnwecD1uNbkoL\nilxU1J2fbPgmS4r/mD9//nzvfD5t2rRCX6sakenTp3v+3yjQokULwDVckpKumDEdCxOtTmVzxcqU\nWMMwDMMwDCNyhFqJ9YeQL1u2zGt8EAVUGSvf1ymnnAK4hAbdrUg9Ouqoo7I9xGLz0ksveVWZihp5\n6aWXABg2bBjg7uTiFfXu3bsDqUV1hQ1tNzU0kAIrpfmbb77JybhKO2eddZanwI4bNw4gaQqEGmrI\n95oOZ555ppdOIE/XoEGDAJc6EkZUJS3vuar3o5KUUVLkr23RogXff/89EO7t5eejjz4CnDqtRIzx\n48cD0KVLl9wMLEsMHjw410Mokh9++CHf/+vWrcurr74KuBW6ZDz44INAbMVLq13y50ulDRuXX365\nF7WYTFXVtZgU2erVqyeMUA0aU2INwzAMwzCMyBFKJVZqiKrhdKV/xx135GxMxSHVCj1/e9YosGrV\nqoQV4fE88sgj3nMhptRKlS1OWkWu6dOnD+A8QVJiH3vssZyNaVvgvPPO49FHHwVgyZIlQGZV70MO\nOQSIZc2WL18egAsuuABwqyRhxu+hlHISRd95Okj1UZX0b7/95qnSUVqxEzrPFeY1jAplypTxaib8\n7a2FVrSikOrSrl27fP9XU6N45J/3J/AovadMmTJejrE891JmlcoRFhLVHijxQ6tT/qY4L774Yr6G\nB9nClFjDMAzDMAwjcoRSiVVnD91py+eWavvWMFC9enUGDBgAFMyF9aMsQ3U1K20sWrQIgBUrVngV\nnUceeSQQDSVW2aRSAZs1awY472EUFZNZs2Z5Pi+1uaxZsyYQvoruf/75x/NbB4EUofr16/Phhx8C\nruJYebFh5tNPPwXcfqgsSynMixcvzs3AAkKpJ6r01nli5MiR3rkiiiilQHUDUaZz585Ju9spX/Wd\nd94BXDpKmHn44YcBOOmkk7zfyXOuHFx5m/3zUepEmzZtPH/sEUccAbhrGp0Xw8K8efO8lWSd99T2\nORl5eXneaywn1jAMwzAMwzAKIVRKbL169YBYNXI8ylmNEp07d6Zz5875fnfdddcBbn7yxyiFoUmT\nJrz55ptZHGV2kGKyYcOG0N1xpoJUY20nKZjyBH355Ze5GVgJWLt2racyqqp9/vz5gPP6iokTJwIx\npWvDhg1ZHGWwqFe9PGvly5f3Kt3//PPPnI0rXaQ+SgGSCqLUkNLGjjvuCDhF9rPPPgOir2BK/dc8\nzjnnHMBVt0u5jAJXX3110sfkA43SfDZv3lzgd9pOSulJxsaNG4FY7YSyxLUPqxOYupOqfiTXTJ48\nmcmTJ6f03D322AOIefO1GpTN1clQXcTqoORvXxolnn76aQAaNWrEjz/+CMCNN94IuEInLd8ee+yx\n+V4bpSDkbQFtJ13Y7L///gC88MILgNueUeW9994DYO+99wZcKLl+CtlimjVr5i2dRflmSzePnTp1\nAtxydJ8+fSJlIxAqOtHNiE64pS3yTecFheProl37Z2lD+6UaN0Tpou+6667zIqhKI+ksl+t7OWXK\nFO+iVej/anwUlovYdBgzZgzgLBLZxuwEhmEYhmEYRuQIhRKrOxVFGOkuZ9OmTQAMHz48NwNLg3PP\nPReItciEmJyu5aCpU6cC7q7L38RBMT5hbzVbXBSB42/dF2aqVKnitdlT5Jval0pZX7lyZW4GlyHU\nplPtkVUgJPuEFD7ZfJo0aeIVH0ZZib3++usB185azJ07N1I2ApGLgPFc0LdvX8ApPrIRPPXUUzkb\nUxCo2YF+qlV3lBgyZEiB3yl6KooKrSxkWuUoW7Ys9957L+AKt/xRYTVq1ABcUZhaZ8cjq1YUG5M0\nadIEgOOPP77AY88991zWxmFKrGEYhmEYhhE5QqHEyg/SsmVLwJmCo+B1ql27NuB8k+KKK65gxowZ\nKb3H2LFjMz6uMFC2bFnAbVf9H8IfrXXUUUd56rruwnv06AG4iJioo1B1v2ry8ssvA05BmDNnDhCL\n4GratCngYpyiEI8j1DBB7Z+1HRXK/v777+dmYCXEH66ulSy1w/z555+zPqZMopUAeUP/+OMPIBZZ\nVJpQRJO+f6eddhoQzQi/RKgoNIqF2joGduvWDYjFYmr/O/roowF3HtfKndrIq/AJnJIrFfeee+4J\neuj50JjVsGfEiBFJn6viPP/+p+ZMWmHVeWTDhg1e0br+XtnAlFjDMAzDMAwjcoRCiVXEjZ8o3LHp\nrksV3rorWblyZYEKZ7XfO/TQQwH4+OOPAXjyySezMtZMIDW1bt26ngLkD8fXcwYOHAg4z+XWrVs9\nNSzsoeQXXnih13rvu+++A5wCtK2gtIyhQ4cCMGzYMG/flV8vCkqsFBF5fNXyccWKFYBTYKPohwV4\n9tlnAdd8QzUGUkX0nYsqM2fOBPBaAo8bNw6IZmvZwpBS+dBDDwFOiVX79ShEMO63334AVKhQIbcD\nCYjx48cDMV+v9kOtJKumJxmLFy/2lNcJEyYEOMqC6DvUqFEjwG2fq666KulratWqBSRfCdC1jlYq\np02bllUFVpgSaxiGYRiGYUSOUCixflSpF4Xc1L322gtwdytS60455RR23313wHlClVag58oX6ve0\nhZnddtsNiKlXCsWXV3TdunUA9O7dGyhYtbh69Wp69eqVraEWC6kftWvX5pNPPgFcFWbUvYXFRe0G\nu3fvzkEHHZTj0aSPqoKlwIo777wTiK4Cm4xstnwMEnnylNcs9UpZxaUVtZ/93//+B7i6iygosWoA\nIBUvnieeeCLbwwmMlStX0rx5c8B56i+88ELA5VALKetDhgzJ2eqBPLB+hfyAAw4o8rXKm/Y3fNBq\nnL6nym/ONqbEGoZhGIZhGJEjFEqsqtykIEghiYLfzk9hXpPffvsNcFW2yo+NKn6FRGg7SqkdOXIk\nEKt2D2vbUt2pSgXZsGGDd6e9rSqwQi0R/d1mwo7ybnv27Jnv9/369QNcm93Swt133w0U7c2LAqee\neqrnH5THXr6+b7/9NmfjyiaDBw8GXEekKDB69GgAWrduTc2aNQGX8z5o0KCcjStIlOKin2Hk9ttv\nB+CGG24AXGa7lP0pU6Ykfa3O72qfGzZMiTUMwzAMwzAiR06VWCk8hx12GOC8otWqVcvZmNJF2XBS\nJW+99VbvMXXi0nNeeOEFIBpe32T8+uuvACxZsiRpBy7ljmq+8+bNy87gSoD8Parsvuaaa7zcxm0d\ndaSpUaOG19VLlalh5qSTTgJi3dfikQfW7/GKOjr2xB+DospNN93EDjvsAOD56NXdaFvhkUceyfcz\nCsjz6e+GZ+QWqanZTkXIBjm9iE0W3SAjtJb7FOEQRmQR0BKlfpZWVIRWv379HI8ks8i8rhB/w/He\ne+95/9aSYBStPqK02QhKI/E3HoogjMKNk2EY2cXsBIZhGIZhGEbkyEunpV1eXl4g/e8UfF+1alXA\nmZC1DB+U6rN169Z8WTRBzS9X2Pyijc2vZPgtIkJNAYJW9mz7FZ8PP/zQa6wh29maNWsy9fYpYdsv\n2tj8oo1/fskwJdYwDMMwDMOIHKFQYnPFtnYnY/OLFja/aGPzizY2v2hj84s2psQahmEYhmEYpZa0\nlFjDMAzDMAzDCAOmxBqGYRiGYRiRwy5iDcMwDMMwjMiRVrOD0m4ctvlFC5tftLH5RRubX7Sx+UWb\nbW1+yTAl1jAMwzAMw4gcdhFrGIZhGIZhRA67iDUMwzAMwzAih13EGoZhGIZhGJHDLmINwzAMwzCM\nyGEXsYZhGIZhGEbkSCtiK5Mcd9xx/P333wC88847uRqGYRhJOPbYYwE466yzALj++utzOZzA2Hvv\nvQFYtmwZ5cqVA2DixIkAnH/++Tkbl2EY0UPHkzvvvBNwx5C1a9fy9NNPA3DTTTcB8Ouvv+ZghJnl\n8ssvB2DUqFF88cUXAHTr1i3fczZu3AjAwoULM/75psQahmEYhmEYkSNv69bU83FLEqbbvHlzAHr3\n7g3ACSec4CmxDz74IAC33XYbAOvXry/ux6TFthYWbPOLFrme3++//57v/zVr1mT16tUZe/9cz+/Q\nQw8F4LnnngPgX//6l/fYk08+CUCnTp2K/f65nl+lSpUA+PPPPwH466+/Mvr+uZ5fOjz00EMAdO3a\nFYitBAK8/fbbSV8TpfkVhyDnV716dfbYY48Sv4+USil86ZDt7VemTBkAHnnkEcApsD/++CMQO57u\ns88+AHzwwQcAHHnkkcX+vFzvn7vvvjsAjz76KACnnXZa0ueuXLkScN+/mTNnFvn+1uzAMAzDMAzD\nKLUE7ont06cPALfccgsAO+ywg/eY7lyuuOIKABo2bAjAkCFDAOjSpQsA8Wrx+++/D8D06dMB+Oij\njwIbe3E46KCDAOjZs2eBx1577TUA3nrrLQC+/fbb7A0sQHTHrTlLbRfHH388APPmzcvuwBJQp04d\nwN0Bf/rppwDsu+++AOy8884A1K1bt8A8iiIvL8/bV/PyYjeR+v9ll10GuDvQb775prhTCBzNW9/V\n8ePHA/DDDz/kbExBMGDAACC/AhtFKlSoAECzZs0AOPnkkwG46qqrAHjzzTcBGDRokHcMKu3stttu\nAHTs2BFwirpU92XLluVmYKWU4cOHA+6cftxxx3nn85KwatUqwPnyg/BUZgrta1Jg161bB8Cpp54K\nwIYNG7jjjjsAaNeuHQAXXHABAI8//nhWx1octt8+drl46623AnDGGWcAbkWrMGrUqAG4a4FUlNhU\nMSXWMAzDMAzDiByBeWI7dOgAOH+IeOWVVwCYMmUKO+64IwCVK1cGnCdW3q1FixYBTt2M99j88ccf\nAEyYMAGAq6++Ot9rUyETnpITTzwRgL59+wJwzDHHAHhzS8TatWsBaNGiBeDU5UwTpGdm++239+7E\n7r//fsDdbfmRj7J58+aeurd48WLA+fWKQzrz22672P1ar169ALjrrrsA+PLLLwHYa6+9AKhYsWKx\nx5MKUmTHjh1b5HNz5XkaNGgQ4Cpo//vf/wLQo0ePjH5Orj1dzz//PACtWrXyfqfVEc112rRpxX7/\nIOdXsWJFTjrpJACuu+46wPk84z5P4wDg559/ZsqUKQBelbSOsVK80iHX268wpHTJ2/zzzz8DcPTR\nRwPw+eefF/ke2Z6f9kN/Csh7773n/VtK5FNPPVXizyvJ/C699FIA7rvvPiD/CmsQbNq0CXDXCqkQ\n9Pbbb7/9AGjTpg3gju2qJZD/M361WOeZ2bNnA+56pUGDBml/frb2z/LlywNw++23A3DNNdcU+720\n3+p6TX7hRJgn1jAMwzAMwyi1ZFyJrVq1KuCq73TnMXToUABuuOGGpK+VT+k///kPAAsWLMj3/6pV\nq3p30KNGjcr3/vPnzwecH2XFihVFzicTdzLyCUrB07znz5/v+XiUGyfvmjjwwAOB4lVepkKQd2qj\nRo0qkAWnbTN69GgAOnfuDMBhhx1W4PVTp04FoG3btsUeQzrzq1KlClD4nV+6qHL2448/BlyuairI\nO1YY2VaCtA//73//A2IVxrBtKbHKrParmsUhk/PTsUN+1169ehU5Rr8Smwitkjz88MOA+15qpWTz\n5s1JX5ut7afjifIoC0P77MsvvwzEvO0A/fv3B2DgwIEpf26Q8ytfvjw333wz4DzZZ599tvfY/39+\n0tdL5fOvdKZDSeanVId///vf+X4vZfHrr7/2zs1r1qxJ6T1r1qxJ2bJl8/3ut99+A6Bfv36Au45I\nhSC3X82aNXnppZcAdx4X+u7Ur18/6eu1Uq3rmBNOOCHfa1MhW98/+XhvvPHGjL2njmNvvPFG0ueY\nEmsYhmEYhmGUWjKeTqBEgWrVqgHw4YcfAs7vWhi6K5ECK5RDFs9nn30GwNKlSwGnnKhyTokHhSkJ\nmWDPPfdM+pg8hVK45OsRUipT+duEBVWuSx0HeOKJJwC48sorAec/UzajfFwHH3xw1sbp55dffgGc\nIqO//S677AI4pVa8//77nm9HaJ/Sfqp9S2qWEg4AnnnmGcApQ1FAuc1S1KM09nRQioZfyVy/fj2X\nXHJJLoZUAHkMlb0o32s6ar+Q73v16tVefYEyHnWcVnqMfg4ePNj7/5YtW4o1h5IyYsQIwPkvpXjp\ne5jI16rv4CGHHJLv9+kosEGidJTrr7/eO1f6kYKuY5bSbI455hh22mknwHWDKokSGwTab2677Tbv\n+K/tlwypcpMnTy6gxOrckY4CGyQ1a9YEYMaMGQUU2H/++QdwXtnGjRsDiVN5dF2kawP93Vq2bJn5\nQaeBakfOOuss71igfTYVdA5Rhy5lVQfpmTYl1jAMwzAMw4gcGVdia9WqBTg/j/LjlCZQGHpuKugu\nXLljqrq96KKLAFfRqbvBXKK5z5gxA3B3W+eccw4QDSVW/l6Ndccdd/QUAlUrSoEVqtJUxXe8Epvt\njFzdISobVD+VLtG0aVMATjnlFAAmTpxYoJtPYd19IH+Fd9ArAEEg73aTJk1yPJJgkMojNUUqvNi8\nebO3wpMrlMUo5SkVH2gylKygFZJVq1Z5Sqze97zzzgMKrkSoQn758uU88MADxR5DcenZs6fnG9S5\nRMf8ZMkClSpV8lR2vUY1CrlGyrA8gMqxBZcUIT/pnDlzAJfvq5qJ2rVre7UfuUZ5w8q71rFR/nlI\n7qHXCo/Og0q3SZToE7Zc2LvvvhuIbYtXX30VcKlJqsPRd6ewWhftwy+88ALgUjNyjc7z2icLQwkL\nOoeCy10/4ogjADe/IBXmjF/EamlA+C9sMo2k+nvuuQdw0UkKt548eTI//fRToGNIhiR0HVgVRi6e\nffbZrI8pXXSwnThxIuAONO+88w6nn346ULBNsJbDtATqnze4wotcoy+ifqrYZ8mSJSm/h4oZa9So\n4d2YJFuKD3OTg2QnnaC/w0GjBhaywpTkwjBodNKuV69eyq/RiVUWFpGoEYyK9rStdWMtS5D/wv62\n227L6kWsLAQdOnRg1113BVxMViqWAP8SbyaiqDKBbihk49i6dSvLly8HnIVDto9kdO3a1ds+mSxQ\nLQ5qYlQYEjF0Y6bmG7JyJQrJ15K8IggVXZlr/Df4s2fP9mLc1HhJ1xnpFGqrKFjnSJ03ihN5VxI0\nl5EjRxb5XFlYZN3U8WfTpk3MmjUrmAEWgtkJDMMwDMMwjMiRcSVWxvp0orsygZYxdJenAohGjRp5\nURjZQMbo5s2be4Vdis9QXIhazClUPsxoGcC/1HPbbbcVUGCFmiDoDi1KyIiu7ZiIRo0aAc4Ooha2\n2s6FIdUlSmiVI6poucsfIu8nFyqCH8XyaCwqkEgURadVAwXOF6ctsJrPKO5JRYuisMLVTHDuuecC\n7jgje8OqVas8G8SkSZMA97dIRpMmTTwlVsu1uVZidT7af//98/1+8ODB3vkhGQr21zFDjVrArXZF\nASmwRRVnffHFF579LyyFXEKWOSnp8+fP9wrvtIontbY4SGGXnS1RMXsQyEan1Rb/Sgy4trlaOdBx\nRit02r5btmwpULyeDUyJNQzDMAzDMCJHxpXYXCH/jfwoCrlu27ZtVpRY3YXpbjm+NZsiai688EKg\noHctzPijar777jsgcUix/EJSToTu4P71r395fwup0mFBxnopsAsXLkza4lBh5PJaFoYi4KQ0ff/9\n9yUeqxEMahuZS9S6Wapxsnii119/nY4dOwKZKSJ87LHHANeMRjFBQaGVHSlBUmD1/ZswYYLXUly+\nfH3f1KpaaqRqD/r16+c1hdB5INWg/aDQiqR+auwqeIlHqrfU6e7duwNOxY1f3cz2SmdxkGdSKr8f\n/S1UIHXttdfy1VdfZWdwaaIC8g0bNgDw4osveo+p2M6vthcHreoFrcTKp6y6Fr8C+80333iFhSrW\nSnbuKmqFJGhMiTUMwzAMwzAiR8aVWKUFKOhXldvZQpVzbdq0ycrn6Y5GbRvlH1m7di3PPfcc4OKc\ngqg4rFSpkqcMSo2WVycTyPcpVD36999/e0ql1BuFd0tlkZdSnr2VK1d6fhrd5eUa+Xd155tMfU0X\nKUHyMoY5lUBI2dLPwnzBRjA0aNAAcIH+/vB3eTz79u2b0Ri3Fi1aAK4FqvA3nskUWplQJKKURR1f\njj/+eGbOnAk4D7r2y3Xr1uV7L6UY5OXlee+jWEP9/RSxl2vKlSsHxJquKMZI7Wb1t69duzbg0goU\nE3b44Yd77zN58uTsDDhFdJ5Xq9kBAwZ4jTp0jpRfUu265XsNm/81HtU5HHXUUQAsWrQIyB+3KCW5\nOPhTbLKVSiCVPH7FGNw26tKlixf1Vhy07f0JFErpSCf9pyjsLGUYhmEYhmFEjowrsVIf1dJRrTtV\nkS+1MCgUGC3vpap9g0KKsxRYqSMlrer1t4dUu0F/q8KGDRt6d+5S//xZiSVBCrOSFJQ+8ddff3nK\nSJkyZQDXSk+eLqmtmVI3g0B3ipkeY6tWrYD0MgNzjd+/J1UsqsjXmcyTJ+Q91LEjlygtwP+31/+1\n0pSp/UotJZVK4FffFWqfaZSpGd9SNR7//+PR/pmoQl8qrc5DQZ9vikIeTynDWjVr2rSp5wf2I+VV\nql+iZArVGeQaKW5S2HQuiEeeSQXph2UVLhWkLGuf0/5UuXLlEnlBVUOjhh7aPxJ5pTPJjTfeCLjV\nUz9S/4urwmqlQQq2PP5C+3QmveqmxBqGYRiGYRiRI+NKrDox9e/fH3ApAa1btwaCz+1Tlxr5bv79\n738H+nnyMwn5f4YNG+ZVMPrVDFUEykekbDipr+D8UYly2/woMSC+5V+mUDtff6at5gnO3yJfXWF5\nlRUrVgTc/HKtKMhbtnjxYsBVSbds2dLLLNRdqfx148ePT/heeXl5nh9YGZfq1mZklwoVKnheNbWZ\n9SMFVttTqze5RIqrlB+N6Y477gDwfKIlRRX9ynhU60x9rvZ5fW6mkRrXvHlzwPlalXDSsGHDAq+R\nt16KuVY7xowZA8T8fFItw9KeVeNQbUF8VbsftUqXWqbqfWXNJnpurtB8tFKXSIFVNbvGXxIFVu+v\nzlbqyNm7d2/v/BcEun4R8oiXtCJf3z/91AqCkgCCQiu6+lyh/VSrqMVFqSrah7OBKbGGYRiGYRhG\n5Mi4Eqve3ModVJXtkCFD8j2unsGZRqqmOi8FfceqXNiDDz4YcHeKPXv29PzAfq+d1LrCqr/1Gv9d\npjJv5V2ZN28e77//PuB8NZlEVfXKuD3//POBmLfrnXfeAWLdZyC5AhvvXZP3VHe4uVZitT/qp5Tn\nwlBVsZ+6det6nh+/SvTZZ5+VeKxG6ixZsqSAH0uoAle+0iC+N5ni66+/BtzKVknxJ4dcfvnlCZ93\n5513ApnJoC0M5UXr5xNPPJHvZyL8qx06vkycODE0CqwfHbd1zG/VqpWXaZssN1x+/fjjp86jufKV\nnnzyyYDr8CRlT+i7NWnSJG+FI76SH9yKllblxO+//+55hqXQS1mXEitfrahTp46XHBAEr7/+OhDr\nUAnu/F5S5LWVIqoV5KCoV68ekNhfDc5DvnLlyrTfW/VAF198sZf24+eCCy4A4JNPPkn7/YsisGYH\n1157LeAiY1QApS/zpZdeyvTp0zP+uf6dXBcVQaGLzb59+wJuuaFr165efIa+mMnQcvyaNWu8JWxF\nbZQk5iIT6ASvmxL9TIeohXQXl+XLl3snX13sP/vss4CzteSiLV9RqAjRH6emG5iwxBOlgg7W/pMr\nwOrVqwF3bMrU0nyQ6IJNtiKFrReHatWqeYVhyU7GPXr0AGDu3LnF/pyg0N9i+PDhgLMc6CY+2QV5\nGCnMViAUQxZ/zFy7dm1gY0oFNQSpUqVKwsd1866oTYB27doBzkImwUfCiJg8eXKBY1DZnuJOAAAY\noUlEQVRR/Pjjj2k9P110DFSL1UwxcuRIwF3QBx0zJutivGUR3PWKCiz9cZ2FoSIuNYLwWyvB2RN0\noxbE+d/sBIZhGIZhGEbkCEyJ1TKUTN2zZs0C4IADDgBiURJSL1WQpNiVdFArQi1/qcmBCrtUDBA0\nWsbSzwceeMAL8lachh8Z9/V3KInKEmak5H3//ffeHeE+++yTyyEFQrly5bxlIqH4s0SFD2FH7YNz\nHVOUCor00xJmfGSalshuueUWINxtn2VVkXql74kUfhW0pHOslELZvn17TzUR69evB1yBo/5+YbRY\nHHvssYBrxSurlQpKSxtSLOMpzkpYJpFSmix+T/tp/DFDth7ZJ4p670To86TwymYTdOHsihUrABcJ\npQLImjVrFqtFrmxB2rb63smal230nZIie/vttwPumiQetaCXfUB/i/giLlkKFakq+0CQK7CmxBqG\nYRiGYRiRIy+dK+S8vLxiX07rqv3uu+8GYn4YfbaUktmzZwMuZkJX9fHeWXkL1cRAhWNSLORRlQJc\nmOqydevWfGnZJZlfGAnb/J5++mlPYVIBVTKjeSqkOr/KlSsXKPLRfpLJZgQnn3yyF1bvRxFC6USz\nZHv73X///YD7Tum72qdPn0A+LxPzU2C8fJLyxMajAHG/Xz5oijO/WrVqAa7pgb8NrAoE169f76mm\nijJSgwCpKyoa2X///YGYJ1ZIgZU3r1+/fqlNKo5s75/67qggSE0sVKSWaXJ1/FSDm6VLlwLOD33P\nPfd47UIz4VMvzvxU0KUVAXk6M7HS9OeffxZQ7JYtWwa4Y9GTTz6Z8vtlcvsNHDgQcMfCyZMn0759\n+5ReK//wNddc46mW+s6qpXJxwv/TmZ/2qREjRgAkHbvOi1o5j0fnUH8r2XjkiVbUaknwzy8ZpsQa\nhmEYhmEYkSMwT6wfVVXqjn/Lli2eZ1RX+KroFooWKUwt1nPkL9UdorwmRrjIRTrB6aefXsBLJv+x\n2m1KhUyn+rdr166Aa2+q/8cjFVD7Z5T45Zdfcj2EIlHkTyIFVis8UhujgFYG5E2T8qN9LD58XT7g\nZCQ6fmq/17FWDSHCzNSpUwEXmygVqbQe49WEw9/o5sknn8x5Uki3bt3y/dTKmtKHtLKmZJ54FLW1\ncOHChO/dr18/b4UgbGjlUMkmrVq18tTG559/PuFrVAuj65yqVat6tTqq5M9k+9XCUIqDVrvlI9d3\nSmj1RskYhaFYPB2r7rvvvpyc50yJNQzDMAzDMCJH1jyxfsqWLevlU6rVpzLFDjzwQMBlsyWq2pdX\nRmkA8r4q1y0VwuYZzTRhm1/r1q29u1Z5b+rUqQOkt91EqvObP38+Rx99dKHvJdUukdKhPEMpW/Ii\nKmlBeXnxqLJfikVxVM1ce2LjWwsHQSbmp3bI/jaHv//+u5eF+u677xZ7jCUhE/NTrqPav6p9dypo\nf5UCNn/+fM8T9+2336Y7lAIEvX+qJa6SZ6S8yhcaZLtRyN3xU81j1Ejn888/B2J5nJnMiQ1ifkof\nSpSNrhqXwtqSZ5Ig5qdjyowZMzw/cFGodfSCBQu8nF011ykJJZmfGoXomJ8O06ZNA5yqG1QClHli\nDcMwDMMwjFJL1jyxfjZv3uypX7rz1E/523TXqUo+I9rMmzfPuwtXWkXHjh0BuOuuuwL73FGjRhWp\nxCZrUQrwxhtvpPQ5a9as8fxBysmLgq+0NHL88ccH3soxG0ix6dChA+BSLjp16lToPguuolsrWvKw\nRYHq1at7K3PqaKg0AnVeK+1olVSrVLnu1pUKaodeWnnttdeAWDqSVn/kL1frVqHrG3Vt9LffzSVK\nmVDOvs5bhaHEFOVOZ8vPWxSmxBqGYRiGYRiRI2ee2DAQNs9opgnj/NSxRL42+b38PZ1TIdX57bDD\nDl5O3oMPPpjvMeVyqrNWYahHe7KVgd69e3sZx5kgjNsvk9j8ok2Q87vkkks8T6xWadLJCM0EufbE\nqhJePsqxY8dm9HNs/4w229r8kmEXsXHY/IJHF42KtlIkxxlnnJH2e2VifrKuqHlGYajlYSaKYlIh\njNsvk9j8oo3NLxh0EVuzZk3AFZZm2ppk2y/abGvzS4bZCQzDMAzDMIzIkbPCLmPbRGHup556ao5H\nEkPL/5m0ARiGYZQUBexbcahhJMeUWMMwDMMwDCNymCc2DptftLD5RRubX7Sx+UUbm1+02dbmlwxT\nYg3DMAzDMIzIkZYSaxiGYRiGYRhhwJRYwzAMwzAMI3KklU5Q2j0XNr9oYfOLNja/aLOtzc8wjPBh\nSqxhGIZhGIYROewi1jAMwzAMw4gcdhFrGIZhGIZhRA7r2GUUmzp16gDw+uuvA1C9enUAVqxYAcBJ\nJ50EwJdffpmD0RmGYRiGUZoxJdYwDMMwDMOIHNaxKw6bX3p8+OGHABx66KEJH1++fDkAAwYMAGD8\n+PGZ/HjbfhHH5hcsVatWBeDoo48GoGfPnuy11175njNw4EAAnnjiibTfP9fzCxpLJzCM8GMXsXEE\nNb8999wTgEcffRSAU045BYDttosJ4f/880+B15x55pkATJ8+vdifG/T8jjjiCACOOuooAObPnw9A\nly5dADeHffbZB4Bhw4Zxww03ZOzzt7WTqM0vexx55JEAvPbaawBccsklADz99NMpv0eu5lepUiUA\n5s2bB8Ahhxyiz8d/vF+9ejXgvqPpEObtlwnsItYwwo/ZCQzDMAzDMIzIkTUltnz58oBTHXfYYQe6\ndesGQKtWrQAYMmQIADNnzgTwVIO//vqruB9bKEEqCe3atfP+ffbZZwPQtm3bfM8pTIkVZ5xxBgCv\nvPIK4FSVunXrer//+eefE74210rJQQcdBMCMGTOAmNpz7rnnAjB58uQSv3+u5xc0uZpfz549AejU\nqRPgvp9S7TJFtuZXpkwZACpUqJDv9//5z3+AxCqklNdddtkFcEWLa9asSflzszW/2rVrA9C9e3cA\nTjjhBMAdK8Tvv//Oiy++CMCkSZMAZwmS9Scdovj9K1euHAA333wzEPsbHX/88YBbMROmxBpG+DEl\n1jAMwzAMw4gcGVNipSqeddZZAFSpUgWABg0aANC6dWsA3n77bSCmxMoz6eeDDz4A4NVXXwVgp512\nAmDKlCksWLAAgD///DPlcScjCCXhyiuvBOC+++4rVGGF1JTY//3vf4D7O/bt2xeAPn36APDAAw9w\n9dVXJ3xtWJSS4447DoC5c+cyfPhwAHr16lXi9w3L/IIiV/P76aefANh5550Bt/3eeeedjH5OtubX\nu3dvAAYNGlTs97j88ssBGDNmDFD4d1YEPT8psHfffTfgjrE6pn/++ecAnvo6bNiwjKrpUfr+bb99\nLE1y3LhxAFxwwQUAfP/9997Kg9RpYUqsYYQfU2INwzAMwzCMyJExJVZKxciRI0s+qLzYDXCisckv\nK/+X1IbikEklQXfzt9xyCwCVK1fOihILMVU7EWFRSjT2jz76iK+//hqAAw44oMTvG5b5BUWu5vfV\nV18BsO+++wLRVGKrVq3KbbfdBkCLFi0A2G+//QDnsV+3bh3gfJJVqlThjz/+AGDOnDkAPP/88wDc\nddddAOy///6AU6sLI+jtp1WpRo0aAe548sknnwBw2mmnAZn3Mosoff+0QjZixIh8v2/fvn1Sf74p\nsYYRfkyJNQzDMAzDMCJHxtrOjho1CkisnmYSZaxedtllQGa8lSVBd/hSYJXRWBht2rQB8FTJREgB\nSuYbjioVK1YEnCr2zTff5G4whVC7dm2vKj8Zt956KxBT3f1IFVP19z333AMU9N2FEalVgwcPzvFI\nis8FF1zgrQ5JeZWaqjxjeUXPP/98ACZMmOClEvjD/zds2ADAr7/+GvDIU6Nnz57UqlULcMfctWvX\nAsGlSUQRHZ+vuuoqwG0/qa86zhqGEU1MiTUMwzAMwzAiR8aU2JIgr93mzZsBvNy+wlAGaa6Q+qZx\n+NW47bbbzstvlX919OjRKb9/nTp1Ev5efmEpfVFDWYxNmzYFMt+KNl3UklNZocrY7NChA7vuumvC\n1/g924lWH+Rzlh9YVdG//PIL4FRAIxjiFX5975QNKpo0aQLAvffeC8CKFSuS+n6ffPLJAEaZPmol\n27t37wL7p+b33XffZX1c2UD1AA0bNgTgwQcfBODll18u8FytdmkFRDnlUt3Dsj0NwygZ0bwSMgzD\nMAzDMLZpMqbEqqJZ1bvyHsmH9u233+Z7Xjzvvvsu4LxrjRs3BuDYY48FYgoJwMSJE73XSEGTL+yL\nL77I1FQKRYqr/JDy5voTBp555hkvEzcdBbYopPqlklMZFuRNhFjXIICVK1fmZCzNmjUDYMCAAQAc\neOCBAJ6qVVgyhlBVeGFo3xVKkJAiFGaGDRsGuH1Mf5MosWjRIu/f6swlxW7evHkADB06FHDHl5NP\nPpn169dnc5hpo/0oXoVVdu3YsWNzMqZsoQQY5RfrexivxOoxec933HFHAK644goAnnrqqewM1jCM\nrJCxi1hdeGq5S1E1iohKB51k9FMHohEjRnjRWmqm0KNHD8BFbgXN3nvvDZC0wYBQe9VtGZ1QtKQO\n8NZbbwGukUW20clfsUR+tBT7zz//cP/99wPuBkwU1jJXbUoV3yQUBacbmzCji9cXXngBcM1HosSf\nf/7pFWNpm+gmePHixQAcfvjhADz88MMAob+ABXfzHH9j8f333+dqOIEi69GECRMAVxQqEt1MqihR\n5wwV6Ol7F6Wbf8MwisbsBIZhGIZhGEbkyJgSqziXIGJd1GJ2/PjxBRRXKWpS/VRMFRRDhgwp9PHr\nrrsukM+VfeLss88O5P2DQO0wjznmGO93uS7k+vjjjwFYvnw5ALNnzwbc8rOKfIrDLrvs4jXj8PPI\nI48A4S66UeyZ0HaT5UIKZhRYvny5txoiBVarN1o1mj59OgDXX399DkZYPLp27QrE7C5S+xVvWBpQ\ne9iTTjrJU2D32GMPAH744QcAzjnnHMApsfGrcirckp1N0Yf6vhuGUbowJdYwDMMwDMOIHKGI2CoJ\n8rvJAxU0arbg91ZJgVXsS6ZRBFSuo8UKQ2q4/kZSTMR3333HG2+8kfVxxSNvaiba3orq1asDsdgs\n+X8VgaZCEkX9hBkFwgv9rdasWZOL4ZSYV155BYA333wTKNg4pFq1agDstddegGtoEEYSeez1XZJC\nWRo46qijgMSxWYq/87cal0+4Z8+eXnHweeedB5gCaxilHVNiDcMwDMMwjMgReSVWbT3VcjFokjUZ\nUGSU/LuZJlmTgy+//DKQzysOanfpb9mppIrBgwezatWqrI8raFq3bg1A/fr1vWgupXLcdNNNORtX\nSZF/15+0EBVq1qwJJG+ecsQRRwAu2UQtSsOI1OJUOP300wHnZRZz5szh/fffz+i4SoqOZ2pxrLQZ\ncEkmisNbtmxZvtdqu11zzTUAbNq0iY4dOwLWTMQwthVMiTUMwzAMwzAiRySU2HLlygGxnEB/8Pp7\n770HuDv6oHMA9f7+z1FKgqrTM5WSoOYK8or5P1ftFXOJPLDKVfWjKmJlOJYW1DhBDT3AtTs97bTT\ngGh48uS3Vpi8Ehp69eqVszGVlJ122olBgwYBsNtuuwHuWLFlyxbAJX7IbzpjxozQK3jxxz+1X5U3\nVm10kzXq+PXXX73GCGq7+tFHHwHw999/BzPgJCiFoH///oDb98SLL77IBRdcAMDGjRvzPaZjvT+p\nZeXKlcyfPz/fcywX1jBKN6bEGoZhGIZhGJEjr7D2mgWenJeX+pOLwU477QTAGWecAThFQdWnBx98\ncNLXKlNQd+39+vUD4Keffkr6mq1bt+aTdVOZnxSLZHf4qk4vTqeyRBxyyCGA8/4m+rxkn1Wc+aVK\nxYoVvWph/e3jW2GC6/SkqvBMZ6QGOb/CkHL5wAMPANC8eXMg5k+WLzgTbZCzNT/N5+uvvwacEhtU\n5rEIcn6tW7dm6tSpgPsuKvdWSqxSCw477DAgduw48sgjgcx4zTM5v9q1awOwZMkSvXeB5xTVMjkv\nL6/AY/IBFydVpSTzUzc4fV+Eagqeeuop7rzzTgCWLl0KQIUKFQDo06cPAL1799Y4gFiGrs4hyjQu\nSRqKf36GYYQPU2INwzAMwzCMyBEKT2z79u0BuOGGGwBXNZyOStypU6d8/5dKKN9Ythg6dChQUGEo\nLkV1CMs2VatWBWL+Vn8OrFSUH3/8EXBKXmEKbLY6rWUS+V79+2efPn0yosAaxadGjRoAPProo97v\nFi5cCBT0Vm7atCnf/ytXruz578OGPxs10WPyno8dOzbf41KaW7RoQcuWLfM9po5WQeVbJ0OJEVrR\nkodVed+dO3f2xqp0DD3m7ywnBXrcuHGeyi5PumEYpZucXsSqoGLcuHFAZhsWaFk/02hp/Lnnnkv4\nuIqcSsrzzz+f7/2SNVfQEnCmKV++PAC333474JbyFCJeqVKlAq9R4Uzbtm2BxBemep1aST799NOA\na/2Z62YIiVBkkQqddMLVMvXo0aMBmDx5cg5GZ8SjiKbKlSt7zQvuu+++lF777bffhrrhAbgLVLWf\nBRcnlax97ttvvw3AmDFjvAtDHb/U8OGSSy7xnpMN1KTm1FNPBVwBqwSNSpUqUatWLQDq1KmT8D0U\na/jtt98CsQiuKVOmAPDaa68FNHLDMMKE2QkMwzAMwzCMyJFTJVYh1kG0jFW7z0wj9U2h/XvvvXfC\n5y1btqxAm0uhJWctv0uF2HvvvT37gBTYMmXK5Hut/mbJ4qwyhZTgk08+OeXXNG7cGHBtMPUe8TFT\nKoLyqyv169cHwqXEKprpxhtvBFxhkFTxxx57DAh+WxhFo5UCxWaB226pBvyPHTvWU/fCigqiWrdu\nzZ577gnAtddeC7hCtenTpyd9/eGHHw5QIKpQBVHZ5tVXX833/2eeecb7d926dQH49NNP8z1HhV2y\nQMgWopazhmFsO5gSaxiGYRiGYUSOnCmxF198sVeEkQ7r168HXDSMioaOPfZYwBU3ZDrOSUhFlf/M\n32JV7L///kljsfTa1atXA66RwdVXX+09x++BXbFiBeCiY4ImXtGKR+NKFI4udads2bJAao0Y5JtV\nSHlYaNasGcOGDQNczJk47rjjABchFnWk/mv7zZ07N5fDKRZazdBqwFdffcXjjz+e8LlqV6p9fNas\nWUD+phVhRSprvXr1PNVSRaxqYKBjo78YrE+fPrRo0QIoWJSoY1GY0KqT0DFdCmxh8YmGYWwbmBJr\nGIZhGIZhRI6sK7Gqhu3Tp0/acTZLly71GiH4o4zmzZuXmQGmiBTROXPmAE4NSYXBgwcDqbVGlBqh\nz3v22WfTH2wxUCpB3759Adcy9q233gKc3zUeRd/cfPPNQExtT4aqiO+44w4gdd9i0Cj4/9prr/UU\nWAXfy4unau/ShtS5RNs27PgbM2zZsoWKFSsC0K1bNwA6duwIuMgptT6V8rx58+asjDUTrFu3jnbt\n2gEuaUAqtNJe/CRqdjBw4EAAJk2aFNRQ00I1AAMGDOCss84C3CqN2syaAmsYhjAl1jAMwzAMw4gc\nWW87K0+Wsg2TfA7glCH5Jtu1a8fMmTNLOgSPTLSFlFIplU5st912hSqseg7kV2KHDx8OwLvvvguU\nTHnNVVvWbBHE/BSWHv+9kIKX7RzYoLef8m+l3Kl9sPJwgyYT81Or4zVr1gBOXd26dSt//PEH4DKP\n/QwaNAhwLaq17TNFtr5/yl6Wtzk+Q9b3+Z6nVgqsfPvFmXsQ87vwwguB2D4pBVbe+mwrsNZ21jDC\njymxhmEYhmEYRuQItRKr/L+7774bcD7NTJEJJUGdp5QpKj/hAQccUKQSq25b8VX8yp/NRBtWU2KL\nRirWtGnTADjxxBOBWB6wWlfG59xmk6C3n5QudUZS6kK2WudmYn46VqiTXLJEAnDV+/379wdiWc5Q\nuCe9JNj3L310/DzxxBNp3bo14PJvs40psYYRfkyJNQzDMAzDMCJH1pVYedZGjBjh+Q47deoE4FUT\nSx3T47/99ltJPzYhppREm0zM76GHHgLgoosu0nsAcMstt3DnnXeWeIwlIVtKbPXq1YFYtnE2sf0z\n2gQxv0aNGgGxJAJ5lYM6/heFKbGGEX6yfhEbJuwkE21KMj/dKCmeqGnTpoCzrvTv3z/nbSxt+0Ub\nm1+0sYtYwwg/ZicwDMMwDMMwIocpsXHY/KJFSeanlqP+Jhmyu4QB237RxuYXbUyJNYzwY0qsYRiG\nYRiGETnsItYwDMMwDMOIHHYRaxiGYRiGYUSOtDyxhmEYhmEYhhEGTIk1DMMwDMMwIoddxBqGYRiG\nYRiRwy5iDcMwDMMwjMhhF7GGYRiGYRhG5LCLWMMwDMMwDCNy2EWsYRiGYRiGETnsItYwDMMwDMOI\nHHYRaxiGYRiGYUQOu4g1DMMwDMMwIoddxBqGYRiGYRiR4/8A6z2B05APtBQAAAAASUVORK5CYII=\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\n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\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": "iVBORw0KGgoAAAANSUhEUgAAAPMAAADuCAYAAADsvjF6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJztnWmcXFW19p+q6ilJxyYkJCEIglwE\nLxe9KuB4mWUWREThoiAgDldABGQSRIggooCCyCwioqBMMigCCoiAXBUNigQiU8AQMpChk3R30l31\nfmj+e69a55zurpb39/pW7/Wlu6Zz9nTWs+ZVqtVqSpQo0f//VP5/PYBEiRK9NpQe5kSJmoTSw5wo\nUZNQepgTJWoSSg9zokRNQulhTpSoSSg9zIkSNQmlhzlRoiah9DAnStQk1NLQl1taapJUrVYlSZ//\n/OclSZdeeqkkqb+/X2vWrPG/kSSVSqW6v6tXr677Hu9L0kYbbSRJeuaZZyRJ5XK57loQ96pUKuH+\nliZPnqwlS5bUXZ+xQ9VqNdy4UqnUze/OO++UJO2+++6SpFqtJh8xx5gGBgZy78PYzf202WabSZJm\nz55d9x2uzTWZT9HYt9xyS/3hD3/IHUfe/CRp3LhxNSmu3Ve/+lVJ0umnnx7u4fdmwoQJdeOB+vr6\nJEmtra117w8MDOg973mPJOmhhx6qGx9zed3rXidJWrZsWd37jJ+/73nPe/Twww/XjYP7cs2VK1eG\nOXZ0dNTN75vf/KYk6YQTTpA0eFZ6e3vrxuvPF6/5HmPj/YGBAW266aaSpCeffLLus3HjxtVda/ny\n5XXX8Hu4wQYb6MUXX5QU15Gxcx78HhZRqZFwzlKpVLMDh+wA/UPL9TfffHNJ0hNPPCF7DSbQ09MT\nrsF7O+64oyTprrvukhQ3mN/yEDP59vZ2SZFRlEqlzMPHa7MxYaH8/PwBy7seNGnSJEkKzINrbLvt\ntpKk++67L1zj7W9/u6RBZiNJd999t6S4jtyXA8H8xo8fL0latWpV5v5+vc3hqTsI5XK5JsU19syV\nNbXXYlzsIUyI8e29996SpJtuukmS1NbWpve9732SpK222kpSfKiYC/flAe3u7pYkrb322pKkV155\nJTNHxsZ4uH9vb2+YI/Pz62H3zQKHpSlTptTd2zMp1qhWq4WztvXWW0uKTIuzArNir5g317RM1z/g\nZi58d0QPcxKzEyVqEmoImbu6umpSFB0gi2RenIKbwqG8CGlFF37HmBBZEHd4zbXyxB97j2q1Gq7l\nRfE8rjd+/PiaVC8l2O9KWU7f0dFRN0a+61EWKpVK4TPmw/38texv7D0tQhXtXxEyT548uSZlJQiu\n2dLSEsRYaNq0aZKkl19+OXxHikgF2tjxgUQTJ06UFM/MeuutJ0l66aWXwhykQTSX4v6AfLVaLSPu\nss/cd/Xq1WGO6623Xk2S5s2bVzc/1nb16tUZkZfPOFdWOrHE96265aUl0H3RokV1Y4b4nUVorusl\nD8be39+fkDlRorFEDSFza2trTcqik0UOj5JQV1eXJGnp0qV173vjT6VSCb8FueDy/IWLe0NNmJSR\nCriWNy7BGVetWpXRt4rGViqVAve0ermlovW0EgvzQGdeuXKlpKzBxV+rSNfLI4NidT9qb2+v0ymZ\nD6/XrFkT9FiMU16/Bj3569d08uTJARnRKZnbn//8Z8YhKWvM8jaXcrmc0SnZU86B3UN/RiFrKzGI\nV/cdj9CQlwDtGLCVsFZen/f38Hvb0dERzoOX5lgjO7+hKCFzokRNQg25prws7zmm1SXgLugQCxcu\nlBR1JjgZHA7OPX78+MAZvakedPefeyu31UHgjF4f8Xqhn0fe/KrVauY9r4ujI/IatxaW3oMOOkjX\nXHONpKwFnNfeJpGjI0oalFzQt/38ivQ+P7e8tfM2Ce9xwOIMcvzXf/2XJOmnP/2pJOmDH/ygrr76\naknSxhtvLEn62c9+JknBLTd//nxJWTuBR7QNN9wwuH+QGLwEY6nIBWT3yUuW3oLOmLw3gb9TpkwJ\n59nbV6ZPny4p7iFrx5gZB/fu7+8Pe8B68tq7eYejUT3MeQ+xlL+4ixcvlhRN9SzClltuOTiAVxds\nnXXWkSTNmjUrGBXYRB6Qzs5OSdIvf/lLSQq+TB4C3BuIXz09PRmGAHn3mqUiN0+pVMqoEfxFZGaM\nP/nJTyRJBx98sCTpueeekyR95jOf0YMPPihJeu973yspbiJr8pnPfEaStO+++0qKhxhxnAPR09MT\n5up9k168g7xrzu9ppVLJuOa4Nr5V3r/22mslSccee6wkhXmdeeaZ+vWvfy1J2m677STFBwSx+3Of\n+5ykyAh4yB9//HFJcU+feuqpsKY8OMzBq3J2rJ6sCOvFWR5i1pL13W233SRJv/nNbyTF87Zq1Sq9\n9a1vlSR9+9vfliT9+7//uyTpP//zPyVFv/0mm2wiSXrzm98sSfr73/8uqc6tlnGpQkOd0TxKYnai\nRE1CDSFzkXgN1Wq18BniNCIkSAFXRfx64IEHJElTp06VJF100UV66qmnJEXOv99++0mKIjuBGIg0\nuEzg4FZM9e4qXufNIc9NZsdsP0N6gCPjisDw8x//8R+SpC996UuSBiN9JOmOO+7Qs88+KylGun3x\ni1+UJP3jH/+QJH34wx+WVGcAkZRv+CuKpCsyxHkjj3czWXcX6PimN71JUhSNmStrgCqxxRZbSJIu\nueQSvfDCC5Ii4n7iE5+oWx8QmT1lTTgHCxYsCGP2UkfR3KWsapZ3Zlmj9ddfX1KU6HiftTnyyCMl\nRaPtQQcdJEnaaaedgpSw4YYbSpI+/vGPS5JWrFghKUpdH/3oRyVJt99+u6R4XmbNmhXG5wN2vNQ3\nUkrInChRk1BDyFykb1ldmf/h3j//+c8lSbvuuqukqHfssMMOkqJhAB1qwYIFISYbrs41MSKhr0Bw\nUhDZuj28wQfOnadT5rna7OtyuRzeg5t+73vfkyS97W1vkySdf/75ddcnnJExXnnllUGiwBZw6qmn\nSorhkiAeyAgienfYUG7FIjeWNwjyGjdgtVqtszlI0re+9S1J0jbbbCMp6sicA/RgkGTmzJlBemIc\nrMsb3/hGSdFG8pa3vEWS9Mc//lFSRGSrR/pAH6/T582vKL69VCqF/7HfcN7e8IY3SIpnlPkgQaH/\nd3d3BwmDa/3v//6vJOn3v/+9pBgLzry4BjYBJNd58+YVBsMU2T2KKCFzokRNQg0hM+TN6zZEzXN+\n9Az0WdxLJ554oiRp3XXXlSR9+ctfljSo/37sYx+TFBEJK+6cOXMkxUwfsrbQU0AUONzEiRPDZ+is\nzz//vKR8ru5dbx4BDzvssKDHM88LL7xQUrRWgji77LKLpKhT3XvvvZIGufqMGTMkRZcIVmIyoHDr\nHHjggXXz8eOZMGFCWJt/+7d/kxRRpsiugS6J7sxrUP/QQw/VzTffXHef7373u5Iiurz+9a+XJB1+\n+OGSIsr86U9/kjSIeCTUoJdCf/3rXyVJt9xyS90cffAI6zt58uRgE8FSTKLHUMjlg2Js6CZzxkvA\n+nN+kPCOOOIISVn34m9/+1sdcsghdffDW3H//fdLkk4++WRJ0mWXXSYpnl28Okiu73//+0MiEefC\nh6KOlBIyJ0rUJNQQMoOyP/jBDyRFvcaGasIJ4eJwOTgvOvJVV10ladB6LUWf8pIlS4L+AapeccUV\nkgaDEaTIuTySeuvmvvvuG3yEWEsZK0Erlvbaay9J0q233iopcnV021tvvTXMA8R99NFHJUWLKGMj\n5RFua322IAoWTXyPWIC5X5GEwPubb755sPxzDfStImTec889JUm33XabpKifY1W+9957w55hs3j6\n6aclRQkB/Z91esc73lF3z9bW1iBVEb5Jmuff/vY3SREFkRBYa8YDeu6zzz4B8Vlr1idvD/fff39J\n0nXXXScp7jd/e3t7g1/ZrxH7AmITz/CrX/1KUkTTxYsXBwmDZ+GOO+6oWxvmw3nx5449Xbx4cXiO\nSD4pSrgZjhIyJ0rUJNRQogWVOODucGZrfSMSCqTCSgrH9boq3B5ULZfLIbEdXy2IfMEFF0iKEsI+\n++wjKerU/tozZswIaAd5tLPpZSRaMAc4MVQqlQIqoO9i8SXSB246d+5cSdHPbv3d+BrxTYIIWP5/\n+MMfSoro7xGE9W5vb8/4SCFjz6j7gD3EhoBv20oOWNtBE9aX/WAu6Od8jiRl14O5EgnIeEEy9G8f\n9oiNZdKkSUHqyEt8kepTIKmGg8cDVLcJJV4X5V5IC9gAGDt7jqX9hRdeCLo+VUIgJKVTTjlFUowi\n4xz4cNvJkycHRM5LMpGkNWvWpESLRInGEo0qNhvdBQQDnfr7+4M+YpPdpagrgGhwc5Abrlir1YK+\nhK6G3onvEu6OXxB04X3u/eKLLw5VVykzP+9DhkOSnD9//vxwD+aF3xTJg89ZB5/8PzAwEKyz2A1A\nZOYJdydWm7VD72ec3d3dmQIHIyXvs8Wr8PzzzweJhPvgK/ceAfy0ebXZGCtz/c53viMplo3CtnD2\n2WdLitZgEjLQ2+fMmRPQGxT0fllL7CtWdNaS8/XKK6+EM+ELF7DOvL/WWmvV3Yf5v/TSS7rnnnsk\nxT076qijJEWJA4kA7wboz1llvV944YWMjjzUGR2KEjInStQkNCo/M9zFp+SVy+XApeFqvhwMca7E\nZoNg+OW22mqrgGIgBNfHz3jaaadJynJUOJpFeR89VFQ1U4ocH3TlO1hmpahHnnXWWZKi/xDujZ+R\nMWDNJAPq1FNPDfHaRD/ZOGRp0Ncrxai5G2+8se5aZ555pqRBvazI4lmUAsmc0OmxpGJbKJVKwbJ9\n2GGH1f2G+1Mtk3swhve///2SBn3sZBOBSKwh16bAHz7cG264QVJEfc7DWWedFdDdpzdybUucAW+t\nt5KSl0aIowZt+S4SCd4VYiNaWlpCTADzYh2R4vDAICFwbcbOtZ9//vlMeqSPKxgpJWROlKhJaFRl\ng7xf11rfvD7ikQP/86c//WlJEaGxPj7wwAMBkbCqEj1FHWt8uPj6vL5oEdpnoHiLoS2rgzXbo6rl\nkCALSAtqIh3wW1CXv+985zslDUZ57bTTTpKiTnzJJZfUXQuphnkQ70tGEWjQ2dkZ/JpDZLLlWrOR\nanzklRT35AMf+ICkqAdikWaOzAmE4xr3339/kKI+9KEPSVLIb0ZnxjLOGcJ+gA5K3MH06dPD2rLP\nXme2RQupmw35PSyXy2Hu2Bu8vxr9lwhDJACs2vPnzw9IzLWYF/NEegHVkb58wYO2trYgPXobQF7B\nwqGoITHbB6170bW1tTVM0i+8TwTHmIDxh4d5woQJ4Rq4OthY6jMTQonI65PW7bh89Udfb8kSv/cH\nwF6XgAKqhWCcIUyPDSAAhXA+mNcVV1wRDixrgHHovPPOkxQPEcH6MC0MTiQCPP744xlXx3AiGt/3\naXesy7hx44JhkYAI3EwY+1CVcM8wfsI777jjjrAOrBcpgEcffbQk6fvf/76kmBoJA0FtgQk8/vjj\n4UGAyXnjoiW/d3lJKfzO1zjjfGOMY20IH6Xe+UMPPRRqurOOnEHcquecc46kGFDDQ84624fa1w0b\nrsBEESUxO1GiJqFRidmem9tr+CIAPnAeTo2L6t3vfrck6Rvf+Ab3CIjMNRCr4YIglm9PAyHat7a2\nZkrOWGPdq9cIEEZHi6L0uVqtFrg43yFIn9Q2xoz4hZQBIs2dO1ePPPKIpGgwgvODyCAe5JMVCKKY\nMGFCrpGOsb76tw6i29ra6qpX5kkuSDwYj0hXxegDUiL2870DDjggjAXVAJUJwxbqybnnnisphjBi\nOOKaGBI32GCDMDeMdr5umRVDUZU4Z+y7FWHZE59wwblDykIVAG1t4gthwswPSY0gEQKrfP1w1pm5\nVCqVoKYU7WEKGkmUaIxRQzqzNyb5qv42kRyyXQCkiJpwLPRAELRUKgXXEy4D3Ba4bEja92FwcFxo\n00031V/+8pe6cRTVM7bkP7NpdL6qpZ+nd5+gwyGB7LfffsE4BBqRwO5dcPQvYjwXX3yxpOiy+9KX\nvhQML3nFB/PIo5rvsNDS0pKRSJAy/F4xN+a6/fbbSxo0iFFCCHTDiAlxDfRfkjqQTigVdf755wdX\nqO/XlCdVMmaCknwFzmXLlmUkSl+plYAVkkTQoUHocrmsr3zlK5Ki/QAJAMTFzkAyDd9DymLvBwYG\nwvxYR19TfKSUkDlRoiahUXWBzHk//C3qxQS3twEdUrTogkb33ntvsASScAAnxnJMiB6lXX07TThr\nuVwuLOiXp1MON79x48ZlrMDMh3sTcOIlAfSw7u7uDCqBGhQ0QN+iXA+WcCz/JMl3dnYGjp/XsfLV\nceS6piCPzJMmTQpjR3f2Ojuox7ozZwr/PfrooyHUl4APrNVY4tEtCR4hSOQXv/iFpFjCdv311w/7\n7buJDKUzF51rGzTiy/T4jh1+bWyBRdyKoCr2An7D/D7ykY/UjZlr2UCnorrvkLd7FFFC5kSJmoQa\n0pl9xzvv52ttbc3I+ejIcDWCKLCMwuXh2EcffXRICkdXgcvj5yO4Ai6INRCdDmmgWq0Gbs57oEge\nFXFGr19KUZ+B46LHo48hHXB/Sq4uW7ZMP/7xj+vuAxKQEsnnWK3xWXNPCv997WtfC9dHmvnCF76Q\nGaslH4ILIWFMmDAhoAYpjqAPEgJrSMgk0hXj3H333YNOiYUYKYT0VYoHYBl/17veJUn63e9+J0k6\n7rjjJA0Wr2DM2FLwZuQlWrDP6LD+jNoOlZC3OPuAJ/YHPXj69OlhPuw7fmTGSOkn9gyPADYc1nvJ\nkiVhD7mWD+8dKSVkTpSoSWhUxQm8PgwXbG9vzw2BlLItVkgN47foZatXrw5FD9A7vC7Mb3xPJDgs\nOmlLS0vgoJ5MMfhCndmnT1qbgJ8fEgecF2mBEEi4fUtLS0jzI1ySsFXu89nPflZStKZiCceaTVTR\ngw8+GPy3nop6+5K8Dxr4tW1vbw9I5HVJEJEiETvvvLOkGMoITZ06NfhdiZRivZHuKFsL6lOIgdBR\nCiT+/ve/DxKCR1TGt3LlyjBHzqi3DCOJtLe3Z3ppQ9gu2DPv+WDNyuVyCMEl4YY95Oyx/9gAQGJS\nP0Hh/v7+sPZeIiR0eMGCBUlnTpRoLFFDyOz7F0O297HvRu/jXkFV9CyvM8+aNStwN9Ly8FWCSJde\neqmkqEsTOePjlDs6OgIX9hZDYxnNIHNRkXlbBN+XG2a+IACx5qAWCLhixYpMEQSQl/KztG6h+Rwx\n6XB1OxdveR0qkUSKyOznyNpNmDAhXBO04TP2DF8qPmFK86JzPv300wGBmT9JGcRoE/2Gbk2zPFDR\nrqtHLm/DsBFS3loP2d8yd86PX0Pu56VJrPvVajXEiXMOQGgs+iTTIHHgb/behra2tsL+zNzvlVde\nScicKNFYolEVJ4ByUCBwNxCYv760DOiLZZT45CVLloQi+FdeeaWk6KOF2+Pj8+h/0kknSYrFy3t7\newv7FfObvPl4RM7r+eujxLz11Ba3s2NdsWJF4NqURaK1DXYEIr/g/uh9oBjtbIbS4YskrqLv2UID\nzBPJiNfei0HZXOYOkklRV+b6oDbrToYYFmLGRfzzj370o3Bt33LG+/Dz5uf33cY/8Bk+eq6Pzsxv\nsONgdyEO+4YbbgjW+K997WuSYkQXujExAUT34YGhtQ8lgVeuXJnZE+aFRDBSSsicKFGT0KgiwLx+\naNGBrBdf6sXH+cKhsQrip+vu7g5cDs6IdZeoIKKGsHhiOcRKbGOLvR7i52sjpJifz7SynBP08cXM\nPcLBoclnpq3Nm9/85kw+MD5ICiWSUUSGEWWGiISy9xxu/4qKE6Av+vjqcrkcJASK8rFX6HtISnyP\nxuLE0K+33npB76RsLT5qpA6s3SAzKE8Mt83P9lKQX+u8zDfG5r0JAwMDQX8HNX1hP9+2Br8/UuSq\nVauCPosthHNP7jkoTn4B6wxi22cmJ2qv7jspAixRojFGo7JmF+mUtVotU/HCl3RF37W+WynqmAcc\ncECIloJbwxmJxYYL4tOFQAyuZTk6Y/Z+xzxk9pSXz+x9npAvqO6R7+STTw7WaqQSouGIYMN6D4px\nT+ZnLb5FrWsMd8+1Zvs9tC1e0W99FBsEKrGWIBbrve+++4byUCCtL5jP59hKQDjuTWZYX19fpiE8\nthMkJ7uH3s88VKURbx1nnWfOnCkpWzAS3fmYY44Jln7sCOjQ/GUvOcOsIVInUV79/f0Z/zJrwLqO\nFJkbMoD5bhA+acE64X1VTr7Dg0YJGq6F2+OSSy4J16EoASF+LDaGI4iFYtFt7yvvxvDpfXnkDS12\nsYcT233FSoID+N0ZZ5wR1AcOMOIsv0XchrgHDzFqxbx58zIi51DVRy1xb9bDMj4fNOLFXBgWDzsH\nG8Z14403BjGXa9DRgfHycPuzRBAJ3ST+9re/hc8Qf3moedgscT2fWGM/t8Eflvx55oGkwyb333ff\nfYOR9rHHHpMUu7v4Yg/eQIn6aRmkN9L5YKiRUhKzEyVqEhqVAQxODBLCkSuVSuBuvusdHBpUIVkA\nEZP0xtmzZwdOSCkeRHMqHXJt32fJI2mtVsuE5OVw40z6HMjDX0Qia3DyBQL9OsLFfYDIwMBA+C3o\njaGFwoU+Od0boKyk4CUEz819CiTVKxkfCMg+SHGtkCpAYH9PjGiMz4rGuHlAN+5DEIkXlREtQSXm\n2t/fH/aBz3xl0bx+YRQl5P78trW1NePa8imVSBVcg9dWdEblAWkJEmId+Ry1wie4WFdZkRE1L8Vz\nKErInChRk9A/ZQDL6yPrQ/48UvgSP/zW6joYwAhvNBy47rtef4X75ZVb8aVmjA5daADLC7DwheIY\ng0ca+xt7rc7OzjC/n/70p5KiHcG7JLy+72su543RGyA9Mvs9ZB9s4r9HQu4HErNnoIwvrNjZ2Rl0\nSvbQSjf2N9zf7yFrYosJMH/Wmu/09vYWGsDyykThLiM81q9z0Z5aNys9sr785S/Xzd0bPP1Z9YZR\ne1/u52vN+5DcIkrInChRk9CodGZfBB+yxQmGu65HFOvUL0IkzzG9flV07aL3Xv1tYaJFkUXUkncr\njCSs0l/Xl7HxlmmP7nn6sb+GQfFcZPYlg9k3G/hfVEaH3/h7WhTyc/CoU/Rbj3AtLS0ZXdIHryxe\nvDijM0OM1Sbf+NJOUF5ijf2efV0UWOT7YHFGG/GieKu6l66KKCFzokRNQg0hc6JEif51KSFzokRN\nQulhTpSoSaihcM729vaaFJV570zPywBBjCc3l4APXFd5Yj41tAkawSDDazoLECIIeYPFuHHjglHB\nV+XMqyvtW9b6zKKenp6MAYfrEy+Ou4Y1gazxiKoqhKkyXrJ5iOf1wRqQNbL4XGMfR+0DDjAQMf9t\nt91WUuztVKlUMgYvX53Fd/XIM+rQ6ZLwTB/4UuTi80aprq6uTIy4Nwzm7SH3IcPui1/8YriGj6v3\nxjdfU85n/lWr1YwL1sd3cy32pYimT58eAk9y4ur5OyID2GtaBH+owH/KqtB93ic8WMIXR0QRDIBr\nEg9LUr+PHbabM1SrmVf/hoXyxe7yWtAwNm95/upXvyopFkjgIffJCKVSKVyDUroUiOeaRMkxfxiI\nT8a3B9P7MZm3t2azhzxMHDZ7DorizonS8oUXfCE8O9YjjzxSUmz7WtQn2zdJsJF1RR6CPIY8XOmn\noQgLNPPzjDEvspDGBRTu434AAckZeRZxxjlcIYlkzU6UaIxRQ8gMcnnuasv60MzNi6EegYm/tq0t\npfoIKp9uSOE+YsM9+Uygjo6OcL2iRnFWhBk3blxNyvpCbfQWSEbhNkQknxUEwvhC93a9+Q5zp5Qt\nKG+b2Fsi8m5gYCAjMtp2tlJWzPZzLIrQs/MvagtTpFJZtPEZQcR7g1hFPnTWxp4b/528OU6dOrUm\n1at+0tDN2HxknZca/DOSt4eMkxRHzkUR5Ul/RVJtigBLlGiM0aiK4ENFeoD7jaSs/kn7T3KW83Q2\nyubQ2BodMiczKHMNaTBRHJ0Nfc43RVu6dGm42DrrrFOTYqYL6GX1UJ/j6zNc+A3GQYw3IMKkSZOC\ntEBWDkhLsQXfDNxHD/H3bW97W2jh4xvImeZ0dYtFs3WfRWZ1OJ+vzDUZL/eE/LhsJKDX4YfLB/dk\nyxt7FM8rG+QbNXiy+cxeWsuLffdj4do+ntobukY6Pxtx5+dncg0SMidKNJaoIdfUVlttJSnmFcOp\ncEMsX748406hZOp///d/S4oI7V03UGdnZ7AmkiNKdss3vvENSRG5KElDaxhK7FI878ADDwz3wzVG\nfjV/LYGYcG7ugxW3r68vcFHsBB/60IckSd///vclRZTFwotuaMsjeV0UqQELqNdJWQfcR5Sx/d3v\nfhes5NgRkF5Aak8e5X32VG9vb11ctB0niMz7HjG9fUDK5nv7uPuieHMb/8/1kKa4ps8ustf3kqBF\n3aLcc5upZf96yW/8+PEZ6Q0Cqf28i/Lp7XiK7CwjpdfENZVH3gcNsai+wACTf/DBB8NndD3gOxiZ\nOFwwl0996lOSoluI/sbXXnttZkH8Rg0lonlxzLqGOAC2MIMUGQLMg/JI+MjHjRuXqa3N3OndBDNC\nrPXdMTbbbDNJg+WF+K0/vDycPT09ua6pIiqVSoUiojdIUlQBXzL7Nn/+/HAwfa1t3qfgxG9/+1tJ\n0TAGk7WuS2+As2OVRlbHbSTkVSbqm6MKUmCht7c3xEJQn444A+q7UU8bQy9/KRFleoFl0jSHcr0N\nRUnMTpSoSaghMRvOC7elMB3F2crlchARfHQWBPfhtwSAUDaov78/9Ofx0TWPPPKIpFiDmbrH3/rW\nt+rGQVSTDTjwSeF5EgmGH0QoRCbbWQAE9OmXRamQFOfj/lOmTAkuNH7LfLkPa0MXzIcfflhSlDgQ\nt2u1WhDnEe/pQlEkonkU8ChsjTsgcZFbh/5QoBA9s/bYYw9df/31kqQHHnhAknTYYYdJipVHUYlQ\nLXyd7RdffFHSIFr68eS5+SBvcM2TMrxL1YvEvKbrxgEHHCApVu3ccccdg1S19dZbS4pnkjVCmuK3\nFPzD8HvPPfeE8XI/L4I3mgSNE1JFAAAgAElEQVSVkDlRoiahhpDZG428/F+tVjN6FWhj+xBJUYcE\n0eiS19LSElAMhAUhQSS4IPfA/QSiEdu82267BfT2faMxallirIwJ7mu7AfowSLoagpqMnTGj719+\n+eWSBqULxkk3S+6LZEG3y7322ktS7Ipw2mmn1b3/8MMPh/7Mvh9xUand4bpDVKvVjIEOvRZU2X33\n3SVFQxxrwho89NBDof8y10e/Rrek+wjx6ZRQomsH+7Ny5cqMFOFLTlnyBR+GKh6BfQMDJFIO68/n\ndE6h88jq1avDvnLeOXPUAaeD55133ikpSkwYbbGHIH3asY6kKEYeJWROlKhJ6DW1ZpdKpUJzfhHB\nDUGYiy++WMcdd1y4niRtscUWkiLK/fnPf5YUORfWRl/ede7cuSFbZiShgBMnTqy9+l7dHLiPdfDD\nPX3ZHXRCLM9k1yA9PPTQQ6F3FDaIQw89VFJEiLvuuktStAmccsopdddiHR577LGga6Izg/LGul5n\nCfX9mX22UkdHR5g/iMv6Y7WmXxI65Sc+8QlJcd3vvvtuvf3tb5cUu5BgCQaJ6GiJvYPsJhAZm8u0\nadOCa5Jr+iYBedbsogyrtra28D/38plbzBf33vHHHy8p7u19992nj3zkI5LiPkN0tDjzzDMlRVsB\n0g17zvz22WefgOJTpkyRlA2OStbsRInGGDWkM/tSp/hQ6XzX1tY2bP4myH311VdLinoWKHDccccF\nhDrqqKMkReSFc334wx+WFHVmAjYInPj9738vSTr//PMzwRv4ckE/S/gICR/FVw4XtXMDCX07mne9\n612SFEqxsmb8tqWlRRdddJGkiAj4Kk8++WRJMayT4Bz87VwDPeznP/950NlJziDF9Otf/3pmfpL0\nq1/9SpKCTotFF0v+okWLwl6QtohFGsszCHbFFVdIinou6PPII4+EpJg//elPkhTmzJ5xhkhMALk5\nS6DSeeedFyzf3jOQlzSBJEaAke/WuGrVqkwJYY/ieFbo9YW+ixQ0d+7cMGekLHR/a4WXoqSEjuw/\nnzt3bngmQOTh+pkVUULmRImahEalM8MZPepIxYkVnoigsW1RpEFuxPUIlcSKDREietBBB0mKyAAa\ngfqHHHKILr74Yj+HunHaCDCqcJx66qmSIroSzbVgwYJMgghc1KYlStECTVUUULinpydwfNDL2xnu\nuOMOSdFqj7/55ptvliTNmTNH0qCEwlx9WCZIu3DhwtwIMIpFIA0QgdXd3R2uwbyxXpP2CZqCYOh8\nWGqXLVuWGQ8Sg/eh77HHHpJiDIEvfNDZ2ZkJTfWxA7YIPnuIRZrz5SP/LCGd8Bmtkw4++GBJcU9Z\n91mzZtVZ7qVstOD5558vKRbQQNr0/u+urq4gNXpKKZCJEo1RGlVLV3RIOLdN0B4OkfkNETEUMyBZ\nY9KkSZlma76zPTocXJdrwi2xjHZ1dQXLOO/5wHdLcFd84N5XXKlUMlIC9+a7SByUBEL/xeqJFGHH\nwG8+8IEPSIq6P0hMBBi6G1bdq666KvjikRTQs4q4PYhA1JZP+7PrAiJiG+H+G73aW/l//ud/JMWy\nR3xeqVSCJAIyY0ugJBL7wL6ge2LLQMddunRpRofkt3k6M4QEQPwC11u+fHmmHBDnivliK+E155Bx\ndHd3B4mIvcJmwf6C4r4dLF4bLOOzZs3KbaEj5acUD0UJmRMlahJqCJnhFHCZkRQnw/J8ww03SIq6\nI77KD37wg5JiA/W//OUvoXolfkuQ32ckoet87nOfkxTRCZ165syZgeNDQ7UHQapAavCRRq2trRmd\nB86LT5gxok/CieH+u+yyS7BSw/n5jHn5TCj8zFg7We911103oHZegYA8Yn+wsqJbI32Uy+VgtSZO\nmvEwJyzoWP/R8fGtdnd3h+g2Mtu4Ft4F5o7+jZWdexEptnTp0mGLBeTNj4Z1FpGl+lgI5kl67lVX\nXSUpouqxxx4radBvLkW9/8QTTwxrQEM8JEv26LLLLqtbo3POOUdS3Ds8FLNmzSqMk2+UEjInStQk\n9JpEgFk/XVF7VdCHaB4fG02c96GHHpqJ2wY94KjEyJLF8t3vfpfxSYpWaNuClTH6Ujg2usaXReJ+\ncPfVq1eHcTM2rud94EgXoOuNN94oaRCB0Of2228/SdncZ9aMYgAXXHCBpGgRtZICa8NvuJ/RgYeM\nAPOSRrlcDpZgrsnesA5IU1jbQSfGMnPmzGAJ3mabbSRFKYp1Q+rae++9JUWbgi940NbWVlhyCMqr\nm83v85oKMk7mw7pyXSzRRLZxlm1Ted88j3OAX52sKCRSCvx5q3elUimMljTfHZE1uyExu0gMsDWk\nmTAHjoeJh4CgDURNNhU3zW9/+9uQPsaECSggGARjCiIshhfEPTs+n844VL0yXw0DsulujJcDzLwI\nTrjtttskxUIJMBZcVL/5zW+CAYt58jDz95prrpEUDzhqRl6NKJJfuD+vi5i0T0SAbKIGYiaEOIrL\nkD1GdMaIScWXww47LBT0R4xmL1Fd6N+MsYkEBV+RtL29PWMILXqo7X2GIpgU8wFoeJ+9hZgf4bT3\n339/qJftK7iiVhDGyb6juuXVXsvr6mnnOVJKYnaiRE1CDYnZ48ePr0n1ta1zviMpcj1M8HA7gi4o\n9bPJJptIigaRRx55JITkgbSk2uGSItGCQAOMHbiqcJ20t7cH7ubrGoOw1iE/ffr0mhRFIt9SpVwu\nByMQCQNwa0RTXEUYlAibJBChu7s7uK0wnoFKvMbtceWVV9aNFSQkVXLGjBlBvEOsRlJg/VesWFHH\n7gmq8LW4LAqwhyAVxiiuyfoiIlMCiECZnp6eoCrxng/0wI2I0RICuVjzcePGBXEYVOcsmUSYTKJF\nXmcMyLu6bIqrFNeQskGodcy3r68vSE8YXzGI4V4kbdKn0SI6s6flcjmsr33PrkEKGkmUaIxRQzqz\nr/gPwemq1WrQleFAcDeMOJSTgSPD2TCUnH322QHVMB5QVocUPFwEBEaQ+E5HCFtM0Dfy8vqQJdwK\nvkoiOmOtVgu6PZwWZGY+uNhIm+O+cPs1a9YENwzB9yS2E/qHi4T5EpiAPgxSveUtbwkphj5YpKg4\ngUdiXmOgWrFiRabbBUFCoCYGMYJaSLBACuns7AwlhTAEYTDyOrTX4VlrJKlDDz00GKRGUqedMfvi\nf9gUli9fnnEF+eATzh/uUyRCpMy+vr4QOszeYO/gfHAmsQ0hQXFerOGR33hKOnOiRGOUGtKZ6Ybg\nU8fgMl1dXYHLwT3h2ocffrikmKIG1/vBD35Q9/1qtRrcPOgbJHxjzSZ0Dj30ox/9qCTp9NNPD9dg\nfMOFl9peU7htfEdFuHxbW1tAGL5DYAFlgUgbxAZA+Cdup4suuiigOFKCr5vM+mIxJQkChGROLS0t\nGeuoL0vr24GOpBSt70JhJa9Xr1H3GkRmbWbPnh0SXJCS2FMsx+eee66kWODAuzRtSaAiL4ORLkZc\nateWErbnxI6B9fUllWx5XAoYgLgkrmBPwnaCtFVUNNAWUCyikbZ0TcicKFGTUEPIjEO+qE+RdfBz\nXULhCGtDPySoAk5GSdI5c+YEXYzvoDtS0A49G4syuq73/Vkfni/TCtmAgxkzZtSkqPf4jg7t7e3B\n4sl1fbAIfmXmCxJhmd5ggw0C8u2///5148XySyI/wQzeiguCdHR0ZAoV+v30AQdeuoIs+hZJM3yH\nxIonn3xSUrR+U2jwpJNO0k033SQp7jdJGfiiiR3Ac4CXgL1kfK2trRn93uvDFrn8Gc3rclmki7JX\n/NafFfTjqVOnZlIqkUBIHEFSI6yVs8x6cI76+voyYdK+K0xC5kSJxhg1hMz4KPkN3JQQTfsZIYug\nHDoQnBl9lxKrVm9BV4ab8Vs4FkHrRBFh3bWpivwFTWwh+1fnIqneh9fR0VG3GFgkSWN8/etfH+bq\no4ZA3qOPPlpSLJxAAgYdLSuVSijud8wxx0iKIYCUzGH+HnV9dJSVhHzII2uycuXKXD8z5MMLu7q6\ncvtw2fv6oobcE91+nXXWCbYSbCTMiag2fKogsfetIr3YdfBnlaSNxYsXF+rMPr2wvb09s66QLS1k\nP8/rg4WnBc8K0gpSA4UcaDXEfJC2kGbs/fz8sJAvWbIkIXOiRGOJGkJmkMtbrOHMe+65ZygdA0p6\n3YVoLeKr4WhY/d7ylreEMqaUY6VwHBZhdMjhqKWlJXB6/KheH7E6c3t7e53k4QsZbLnllgFZQGIs\n7MSJg0gUI8RmAEI9++yzwRKKFZ7ILvRIoos8IkOg6bRp0wLCec+CQepcZM5rS2Pfl6L04UsPeysv\nhDTW398fIvsodEfEF03vKLiH35V4cD+OtrY2a5nPXQdrF/CSB5Q3P3zePp4dSdCjOuhaqVQCajIG\nkBppgfh7pFfsC34O9oz6z0x6akLmRInGEv1fa+lKeRjS5UhTJEqLonnoKXC4m266KRTyw0JIQzJQ\nD32b6Bp0uF133VVS9O2uWrWqsA+x0TUzXN3HLdt0N59aB+cFcZBMDjnkEElR74HmzJkT5k6Gjffj\nenRlbbCQo4cj/dgx81301/nz5+cis0cqO2d/JorOiB+3LWrIXvz617+WFG0l++yzj6S4R6R5ItmQ\ndnjJJZdIqo/Osm1e7Zjz9tBLD3kWeu/hQI/Fw4KngtfYPX784x+HPADKABOlBjKD7rThIZuOveeM\n22KYfszmrCVkTpRoLFFDyEz7FmKlfQ5qtVoNHOjzn/+8JOl73/uepMjdyO/0jeRs9A3XI7PqwAMP\nlBSR13PZooJo5XI5U07H6yfWh4efGf0atAAdWltbg15LVhDf9e1pGBPcHAR65JFHQkw2xewpW0M0\nnLemkk1FtpWNhPLWa2/P6Ovry40AA3Wwrlp/vPcOePI+VuwDWPpfeumlMGZytsnvJXYdhGYcZA6R\nKWf3y0eAeT0/LwIM/Z2i85YYE14KCORHwkDv/+Uvfykpnq8VK1aEWHvQndfcjyKNSF8+7sJSTnN1\n/3lC5kSJxhL9Uzqzjxm2zdZ9UXgsgVg30Y1ots7v7rrrrpA5Q3xrkd/TjEtSVsfdbLPNgu8Woui6\nqUqSKRvEdRgH87NrxT38GEAErMzoTnD1d7zjHUHnp/oEFnavIxdZjVnbcePGZaLC0E2xutsC8VKx\nzjxUvq/5raSIokghvA/qXnfddQGZ8SMzVzLCiNajcZwtCi/F2HYbxQeBgviu8xrHDUVF0XLsKcX4\nsHcQo4BkdPzxxwfphTVCysJKz75gpeeePDNDzQ8rNvMbKTKP6mH2i2HFH+/890YGCguQzE+4G2LY\na0EsxsqVKzMLlVODOeOaYg4YWqyD36d4+oeaQBaYBQcelWThwoVBNOeB9+voS+z4MEbEP9QAOx/G\nyvqvWrWq7iAQ7si98ipf+q4fvk4YRk3ci6hMJObfcsstob4ZrkgeWpL2MeIhlg5h3MoYLX0fY6tK\neCNmnuGrKD0U+uEPfygpPpCUQIIxXXHFFfrkJz8pKaZ4UlACRsu6osZ4hgzZunlFDDZ1gUyUaIxR\nQ8UJCK/EJQQK2EAMzwm9wYlkAt4nQARktml9w5FPTYMb2n5FniNiZMLoZAnxDXTA2EW4ZUtLS8bF\n5dMlCWxBzKQ+MuJ+V1dXXY1qey0MX76gAcZD5oc4W61Ww/1IOsGNRwEET6w7CELYIQkAtvY590ck\nZJwEvWBIOuOMMyTF83DaaafV/S9FFCeJBnEaKuqJbf/3CT5DnRMCQlhrv+bM1d6TzyjGiMqE8RKp\n8g9/+ENQF0Fe3zuN9fWuvzxJyEuP/jcjpYTMiRI1Cf1TBjCv59RqtRFX5R/qexiccMAXcS5P/ns2\nFBBdlqII3CPPeALKot9Z1OKzoj7U1jgl5YaPBumAhAv/nSJXmw9YaW9vD99hrIwLXbTINQXlGbu8\nAca7hFh/gnq8Ea5SqYSgCGwHpitl3XchW3DBj8ePle+OpDhBXokhb7gtOovspS+jJMUUx89+9rN1\nY/NJId4lWrS39n7+Gsk1lSjRGKPXNJzTuqZyfitpdH10QEP03O9///tDft9y0EZKsgyXhGALsudJ\nAVI2GQFCirHhib5cEME4uEC8RyAvIN+P1XsPfHECn4jgEbKtra0w5bDI6uo/r1arQWdmvTwSeQt1\nXslfT95ll2ftLUJm20kU6WW4gnlDWZlxW6GL+333oaEjOfdDSGQJmRMlGkvUEDInSpToX5cSMidK\n1CSUHuZEiZqEGgoaoa40hhgamdNkO4+8ed9TnmuEQIannnqqaBySsoYQCGPEHnvsEVwj3uxvXAmZ\ncE6IAAyCZFpaWsLvffgkRizmieHDdwlsaWkJsdmzZs2SFN1YvoMGwRrcyxvf3vCGN4TKpd5NyLXW\nrFmTG87J5wRzEBDR39+fCZsk/NS3iy1qgt7W1paZo60oyjpI2Qwx3+li6tSpGReS74KxevXqwj2k\nkiv1zNvb2zMGMM4CY+I+fM+/39/fH+ZH9hz7z5hwf/kOKt6IuemmmwaDZ9EejjSfeVTWbAbMJG08\nbZGF0KfxsTBEV1FmZa211goJ3XfddZekWPR+uIB7H6Rvyfsbhyo5Q/QQsbjWUuktyxB+XqKz+JwI\nLRhTuVwODMAzQ/+wsrnMz7aQ4XtFaYF5B93OcQifbW7DPCmmc7I/PHjsLaVxWltbw1587WtfkxRL\n7XrrtW/a5q3AUnGrU/bQMizmZ+Pz7f3sfPyakY5Jix8eUCzXlAWu1WqBAX/84x+XFCMLmR/398yd\n+fL+SJ6/VJwgUaIxRg0hMymCHn2tCOlFLx9tkxlAjq+S93zMMtze+/aKIpTseIp8ptZHudZaa9Wk\nmHLp47pbW1szbVRAEri5bw+TFwEE94a7I+EQ8Ybo7H3HiPisw4oVKzKx4b7JvS8G54sy+vVoa2sL\n90UkRgKibLJBxLrx5zUWZBxezCammfdZC8ZvG/75Ans+c81KV+uvv35NihFwPrutWq1mYp45Z6B4\nUakhK/Wwhx5pKTxBcz1fHIP9shKIT93158OXSy6ihMyJEjUJNWQA843DPIL29vZmDFo+7tiXvPXo\nM2nSpGA0OPjggyVJu+++u6SYL1sUeQRHtZk3vsm3RyRLcGy+6wvWVavVEI8MeoLAlAqmATwEt+Xv\n5MmTQ3wy3BlOTHaOjxbzRQtYu/b29oAejMO31PHE+8wNslIQiIBuzrVN0fm633qJaNq0aeE7IBd2\nCIpR+KZ8Pg6c99vb220JpLo52jxziPsyP5/XXKlUwpiwrbC+lDwmAw3iGlyzVCrVxcfbsT3zzDN1\n3/U2Aghps6OjI2Nw9FFrI6WEzIkSNQn9X4/N9iiKlY9SvCAZ7piFCxeGKiRwcSpr8BtK4vh4Xt8O\ndL/99tNPfvKTMDb7XaPnhQHitgGZQAf0vFWrVgVkRq9mPkgT6LMeMfk7YcKEDIrC1X1LV++C8yWY\nxo8fH5CI3FtQG87vs6ZwL5oC65Lq7Qxe/6ZhGtII+8C4uCc65+TJk8M6Y82nfA774N0+3lXFXs6Y\nMSN4CLxeDVlrL3voCRRfsWJFpkEcNgHsHtzHu8vYl87OzrBuXs/lPt525KUryNoEkF7M3vH3tXdN\ncRAYcF66F5vl08aorLnjjjtKitU7qY9MKtl9992nHXbYQVI8cL6fE/2AN9poI0lxMzhU1rddFJwP\nWQOYrwGWVwLJi/LMDxEUEZoqpN7NMWfOnLB+MABf4ZFqpHSDxKhC9UsY36JFi8JvTT2sumsWuaZ8\nT2J72HwPKb5L9wmMOxReYB94/7HHHguGT1yRHG4O7I033igp1gKHGb300kt1a7Fo0aLCxP48huxr\nnHkql8uFrikeYtZim222CfORYu+x2bNnBwZni05IcW9QEenKQucWSj3lMRfv/85zvQ1FScxOlKhJ\naFT9mX0wwVBF0z796U9LirWHEdUIyMAIYfvz4mCnxBAoRwVE3FweJfPGM1zqpU0voy444qJBt3At\nrgdygLj8BvSglvTtt98uKZYg2mKLLUJUFH2qkFbg3nRHgMsjSoPQFAe0Na5ZA8R/E2mU65ryor6N\nTGKtQBuQyktiSEgExBC519nZGfaCLiSMHcSm84evgOmlrDVr1gSDFWP0HT3tHMeNG1eTsu4re2YZ\nG9KU74SJCE1wzMknnywppuDuvffeYe/YK6pygrgYa5Fm2DPOAVGF7e3tdb2opbg3RXtYRAmZEyVq\nEmrINeVdFl62l7IhnsQ3X3zxxZKi3gsiw8nQNTfbbDN9/etflxT1px//+MeSst0fQQ6QOk9CgDxC\no6dY8no+HJP7rFq1KowBLoqBjY6O1OXeaaedJEXjEe/ffPPNgTtzPxAZlEfPYo0ozofuRt3qJUuW\nhO943T0vpFXKBvywZuxtT09PpiY0HQ732msvSVFXRqdkPJTXvfzyy4NuzP6y3rh9CJ30pZmQ2EDo\ngYGBsE6+e0eetIX04BHZ2ghYK87oo48+KinGqTMPxkjRSWq9v/jii+GcIz3yTGAHofTufffdVzdm\nEBlJ9KWXXgrzYjx2LxqhhMyJEjUJNYTM3o0BwVnmz5+vrbfeWlLkwOg7BOPDxSnby2+x1NZqtdBj\nCic+CA3X/eY3vylpsLOAVKy727KxIAWIlZfF5V0S3A/9bdKkSWEN+C4oisvqM5/5jKRY9H233XaT\nJD3wwAOSBq2flKhFn4KrI52cc845kqKlH4uwD9qwATagysMPP5yZl18TKZuhgx5qSwEjfaD/I6Hs\nvPPOkuI+MI/zzjtP0mDwC98lgQbpifswzkMPPbRuHD64p1KpBAmBskqEauYVxfNBMSZ7TFL9HhLA\nBPIiDWCjYT4U/acY5KxZs4JUwp6QhAHKH3PMMZJir22K/uPWY9+22WabYD+gLxXoXVS4sogSMidK\n1CQ0Kp3Zy/Jw07e+9a0hGB/O/+1vf1tSRBM4Jd3w6GvsQ0SlyIHhnCAXFnGvB/tgjz333DP8/4tf\n/KJuXHlEH6T9999fUpQi0J2effbZoAN+4QtfkCS98MILdWNFOoAjM0+s2s8//3zQC5E4SPX0+it/\n0akJlkESufTSS4MEQL9jJBD2wRMpexRF5B7M0f4O/7HXw1l3Onxi4yCUcc2aNXrwwQclRaTEMsw5\nYL18yWIf3HPjjTeGuXGWkPKwEFtCV2We7CFW84ULF4Y50++KnGTvoaBNDUhJzvdjjz0WJE7OFeiK\njYj15Jr4qJGyOLPbbrtt8FVjIfeljkdKCZkTJWoSGlU4Z1GYoRT1KvRdOBHtO+Cm3iJu7hE44557\n7ikp+pfRe+D66BhwMiQGLIVLliwJ7/kkfCivCyRod/TRR0uq19VmzJghKVpnGQO6EBwZfQxLNKi6\ndOnSjCRx+OGHS4qWX17jqySyyhdLmDJlSkjO8Gl0oOn8+fNzi+BTGIHiATYiCRRBcuAz0M3vO75t\nmxjC3DgH9GNGVwZl0fV9CClzXHfddQPi+zmyB8uXL8+Ec2K7+O53vyupPswWyYJzQ+dM7B7sMZZ2\nvAic3UWLFgUJiDOJ9wKisRx7SC9o34JonXXWCVFhRQlMvvlfESVkTpSoSaghnRnyLVrwm/7tb38L\nXBrOig5BDSb8rT41EqrVakHPpckYKZCgPIhBO1g4NH11ad7V19cXOD+NvoaKCENfO/fccyVFdLNo\ngU4Jp0cKQAKAY2OR5nOs+62trUEqAb3QTUECkAddFD3wpptuqhvv3LlzwzhYT9Yd+4In5o9ODxrZ\n0k9EdIEMJEswLn6DLmtTYLkHZ4M9A6GxfxAJdsEFF0iKlmKs/szn6aefDvvg+2RjlbbEZ0SecTaQ\nLubNmxf+x7LOfBgr5/m2226TFCPxkIIGBgaCzo9ERu4B12QtkC5BYqzaoP/f//73TPkr5lBUN6+I\nEjInStQk1JDO7ONeC74jSbr11lslRQsdaYxE13gCFXfaaaegZ8LNsEialDBJMasIXyaNzUm3e+97\n3xskBT9mEwOcybjBRwkioKtWKpWMbkzWD4joE9vRldCdVq5cGXR+uDMoTsVH7geREgrnBknmzp2b\nkTTQY40OXKdv+cwwn1xfLpfDe+j9SBtIH/hU/b1B3w022CCgJutOlUz2CpRDIqDgH3NECujp6cn4\nnr3NwZbVwSbAHnorfUtLS3gP2wB+c6zaSBX4kjnL7FOtVgtSIeeBrD/WBARm7B/+8Ifr1gMJ9dZb\nbx0yS+/VNUo6c6JEY4lGZc0uyumVIqf6zW9+IylGCV1//fWSot7jy/Uyjv7+/sDNQGSQAMsh3B2d\nGn3luuuukxQt5+utt16mOF7O30zNZZ9wzutyuawtt9xSUkQQ9Hd0Vz7Hz4mlEm576aWXBumEyCKs\nqqwryEyEG2vps2kmTZoUOL0vqWNqXI8on9n+xWrNHvkCh3zO+H3xvPvvvz/oijQuxw+Lr5pr43/G\nzsEe2znynpUe7HrYnPTx48fX7HyQJhhbpVIJNgp8xVjL+Q5x9ngzIHTne+65J9g3OKPeVoH3YubM\nmZKiJdw3iu/o6Ajz472cBu0jQuZRGcBYaF9xsFQqhdA/XDa4eVggai9vscUWkuJBJSTwueeeqzPG\nSHETMZr4JA0eaupPI+oef/zxIREC0ZSw0TzyFTUh7r/eeuuFMDw/JsbikyeokoHI9o9//CP8z3cI\npCApgweAw+aT6RF/X/e614UHjfsX9Y2GfHUWP9d11103HFoYIcwVYx7MFfEUNxMqx3PPPad3vvOd\nkuIDQn10khVIjUXd8TWzmE9LS0t4IBkX988j//B60bW9vT2sNw+erXYqxT2FyfJgckbb29uDqO5r\ntRPQgnsR9ZKHmQcXw1ylUgl7xjrndfscCSUxO1GiJqGGxOyikiwWFeA4cObTTz9dUnQ5kJjgxV3E\nlaVLlwaEtNUQpejWgBB1QDgMRYTdvfTSSzr77LMlRZTxZMVsRDRfr8lKCqAD3JSke8RbxkSgCWL3\ntttuK2nQ5UIQCMEKzKeg/74AACAASURBVJO/RxxxhKQYKujFaxBk3XXXzQRQINaDvL29vXXQ29XV\nVZOiW8dXgrTdGrgGSIXk4MVc5njaaadJGkRHDFy+wiRjB81JfcSl42uqvf71r8+4e3zhAVsjy9c4\nA6ltySHQlOtiiATxQWCKRqDWEf65evVqPfTQQ5KiIYvfUv4IKQUR3tcGs9IlBkZUUM4W5zAZwBIl\nGmPUkM6c10Feqq+oCFKQQAFannjiiZIi54IzoXsSXjhx4sSQFudTETGioXcTaIARBVcSBo7NN9+8\nMOEgr66076YA8uByeeWVV4KOyjwp2AfiwE1x72DYIbF/8uTJwU1DUAhrQe1tXrOuICUIQkDF4Ycf\nHuwEjJ37FvX8KqoqCZL19/cHNPNN3kBRgki23357SdHoiU5drVaDMZKgIdw6pAaCZKAR54J72tJE\nFKfwElOeVOkDSmyTPWlQQvNlh9ChuT7JM5wv3KvMd8KECeE8M3fGjXGQtcBNyvnw5ZPWX3/9ILX6\ns5OX4jkUJWROlKhJaFSuKY/MIOJJJ50UTPGkx6ELw2VsDyEp6hwUg5s9e3ZhLyksg4TqeQsiKAnC\nXXPNNaHEDdfy7qahyrTmFQzE+urDN0FRrJxwf6z4cOLbbrstcHWs0lit0atIvbvwwgvr3sfaCapV\nKpUMN4dMCGpuooXXZW1Sv+0IIkXPA4hFeC3XQAdlrU844QSdcMIJkiKqMR4QGF0SBCdgBqTm887O\nzoBqeR1GXh1nJlnGW+ttYAYo6uui8x3fn4wxs/6LFi0KQS58l/LQXIvxY/+AmIM9476Wu1//VNAv\nUaIxRq9JRws41vbbbx/C1ghvQ4fA34oO6fvZUhT/m9/8ZvANm/tKUrAgwsFANCzIvuftRhttFHyJ\n6LogK2S53qRJk+q6QHJf7lOpVDIJDSAaiIx/kQQCLKNw6N133z3oYpQfPuCAAyTFdED80ASk4LPH\nV4kNYfz48RnfuO+26ZHZd7r0fZSmTZsWfPG+pDLhj952QamoU045RdIgkrG/6PTsEX5m4hHYM65F\ncoONYUDqwZOAHSQv8Idyyb53le2t5ftg+31GYvKFNijet9dee4VUTpAZ2xABQZx/klFYI6z8jM/2\nrWKMSJiQ38MiSsicKFGT0D8Vzgki53W5t/2QpKjnoUOCXOgW+J/XWmutkDCPHoVO7guro6vBSSku\nj2X2lFNO0R133CEpW5wgj6uTSMJ34NSg3cYbbxx8xD4qiwgzQjGxPMOB8VWus846IUgfvRLkQXoh\nPBJfq+9JxZqWSqVwfV/MECvrCy+8UMfVCVmFWCvmOHHixIzFm/XAmouE9LGPfUxSRBL8zX19fSGK\nDWkDwnLMuL3PGKSzxRWRhnzkoUnFzfiZfR9kbBhrr712YRli/10flcZajR8/PsQAfPnLX64bC2Pl\nmSDRhmshESFl9Pb2Zgp1eAv8s88+m5A5UaKxRP9UbLYv7Dd+/PhMgzDQBE6GFZBoIqydcLa77747\nFL/jPnBvOCr6Na1BvvjFL0qKhfGIzS6VSkE/gjyi5s2Lz7w/ct68eWGcjB8U47s+sg19i/WYN29e\n0J/RmSk7jJWYVif46ilb4/2OU6ZMyU3QlyKqF83Rt7Ox42XN8BJwXyQGENsnGSCN3H777cF2gp+V\n79Lihb3DpkBhAG+pnjZtWgZJQeahUnFNdFjd+8uWLQtnAA8DkpFvTOe9GSCzFMsSEXGHDYAYhyOP\nPFJS9KyQ9sr6Y8sZN25cYb9x3wd7OErInChRk9CokLmo9I7N2PFJ+hS2R3dED4ZjgXjTpk0LEUZE\nHHld4qyzzpIUOSctb7C2+sgpS0XZQvb6PrMI3VmK3BufK+QjynzpF/R8KcZtQ+jhlKshhRPUxVKO\n1ZuSwPPnz8/ET6N/of958r57XrP+3d3dAYkpAevjv0FuMqFAJ0ozSdHyyzqAMhQAQGfk2owX5KZU\n0rx58+oynqSIbpwhS+wr3/H9n+1nSCV5qa52TOwhnpB58+YF6/u1115bdw1sJ0ge9B9nL5FMkSYZ\ng1RvcZeyksJwlJA5UaImoVFZs+HQWJPhLm1tbYGL+Zxkb11Eh6KxONbtt73tbZmCcmTjEC0Eh4Q7\nEuuMRdai7lBNt6X86CHiavEzwnW7urrCvdEf4aYePeDyWHxB8mXLlgX9mfXD8kupmVNPPVVSRB4k\nDvzvNprNJrnbsZpoptyWrr6IAbqlzdVljr65gM+zpoyujQNAUkFSIK+dUk+gOBIFWWXMkXvZ9jQ+\nJps52Mwwzij6PlIPZ6JSqYT1JE/Z/DasgRTP2RVXXCEpnq8XX3wx6MZYnPEjYyMgww//Otei+YC1\n3ns/s9/D5GdOlGiM0WsSm20zcNC9fGTSSO/D7+01PPkidKA8/k5rlQZFsDb78Vg/s29E7i3f1Wo1\nU9GD67EGZFiBbvwW//Oxxx4bLJxYcLHCY9nHroBVn2vD3dG/enp6MnG83J/7+XxmisR7v7StyFFU\nNol7MQ4+51r83XTTTUOMAL5/otlYN181xlcGsW1XeQ+pj7gCY4XOFMH3GVbW7uLPj/dbE2dNgz8k\nAyLwLrjgghCvjVRKpBeRb+wDOQrMASTHptTX15fZCzwleCSs9DgUjcoAxsC8o1/K7RhR93q4h7vo\nAbbk613xELOBpFOeeeaZ4SH2/XqtQQRikxFZ+a0NCeT3hKl61wdBElyDa9pgGVxOiNW4nhDv6W0E\ncS0eUO69atWq8FCwbnynyABma2FJWXdXR0dHpueVZ26oCaw790IteOKJJ8J3faor647Iapm3FNec\nSquPP/54ED9ZB1yi3mBkx8jY/QNr+zNzPX9mEZl5qGDMhKJeffXVoR8ZlWQJBGJvKIbBswGoeMOw\n/Yy9wFiYN7+hKInZiRI1CTWEzF5BJ+GeusLVajV8BsctSiuDvIEsj3wvYcgbf0AUwkHtOHz/3zwJ\nALENsR0xC2NNW1tb+B0BEoRg4mohTRMDDL2O4PJ/+MMfguGFhAtKLJHAgIgGijEu1o6Ag1qtFhAW\n0dv2jMoj1ghRmXFjKJLqAzakiDJcGzEXxHryySfrxlepVAL6gd6USPIht15UZ38QaWu1WnD3IKrz\n27yAGe8i8uWUrHTFdQjBBM2RlBClKX6Bq/TKK68M60UfNAx4N9xwg6S4317MR1Kw551ng7+NIjKU\nkDlRoiah1yQF0vbv9Yn9cEp0SYrtFYXiTZgwIRQsIAS0KGTR1972hhgp2+sWbovbxZr9KU4AgTw2\nnBAkwzgBkngpAXT1rpGWlpZQU5t0PwhdyV8Tjo2EwlwqlUqm/C4cP8849Oo46ooTMEeb9gkCF4VR\nohcyvrzigJR+uuWWWyRle1/5Erg+6IY5l0ql8F3mz/1J3unv7y8sTsB+WNsGUhVI78+PLzLJXtsE\no+OOO05SLEzIM+ALR/py0ejHNgWS+/kihHnFF4aihMyJEjUJjQqZfXlWaxGFe/uieJDngpBNFPdj\ngmOBNl6/hmP6VMGWlpbCgv0g9Ny5czNcvaiAui0678fg3TfexcI1e3t7w3xsP2P7G7i3t5SbLhXh\n+7bcjyWuacvQvjqeuqARxmdTD30CjfdA5BVDtO9b7wa/ASGROviOd2H6Mr7lcjmztt4T0dPTk9lD\nv+78nTBhQpA4/BksmqfvBdXf3x90Yqzy/pwX7XGebci7xnwyjJU8hqKEzIkSNQk1hMyJEiX616WE\nzIkSNQmlhzlRoiahhoJGqK+EaL733ntLik51m+ECYUTwVfp9iCBUq9VCsAYBBhg8MPIQ8EDoos93\nhqZOnRq+4+OsjeEnGBfa2trq4nqpF00dp1KpVBjc4g08BCLkEfnauK0YE0EjhA16Q1TePRlPURis\nr7lMDTB+RxN4Mp6WL18e7uuNmWR58b53N0GlUin0WrJ53FKsNEpes2+u7iuNTJo0KRiRGJc/M3YP\np02bVhd7TnYTAR+ve93r6qp8SHG/ySfn3gT3+Gbv1Wo1tLOliynzoA0vecyEe7LH3lC54YYbBsMu\nxjSfc79s2bIRGcBGZc1mQNYXaL5TN3hfKN/3Z2axiaSyfk6S8EmT9JE7vimYTxAYZi5cM5M+Nxp6\n3/veJyke3qHGwr1J/icOmbUioo4DU8RA8iz/nvzD7Bmyt9jb97zVmqKLpKRyyH10U6lUCg8KrWVI\nV/URWjZpRMoWum9tbQ3X9VZmk4yRSZYx6ZGSYvTa6tWrMxGFzJeiEMTMM0bua0sswbwpuQvzgkjp\npcczkXA+zXJgYCDDPGGajH3FihXJmp0o0ViihpDZF1D3HLJUKmW6v8OB4DJFxcvsOLw/EdTwolvR\n2G15m6IsLhOhlhGzvcSB33fNmjUZ36/PxoKIHvJF2ez3/G9pEEDJWk92naVBRBlOCvHITEtX1AAv\nSre1tWXK8oAcw6Ursm52zX2MwJ577ikpW+yevc4TR73qZv3sUv0ebrLJJjUpZicRsYdqVi6XgxQI\nWrO/7BXzB6ltXLc0GBHGd3x72Pvuu09SbNXj/ehE6hHFtnz58kxsNs8Ka7d06dKEzIkSjSVqCJlB\nLh9Paw1QvpC41788p/KRPx0dHXXNxKWob/jc1KIWs9D48eMDcvlSLCCB1beKmskPRUVZX74oQh6h\nK/vChSMt6PCFL3xBF198saRsrLuRiOq4Ou1bTISYpKyuaqkoOgu9mPPA++3t7WHs5GjzGbHLHrGL\niiVstNFGoV2Ob7kL2i5cuDDMcb311qtrT+Obw/X19YX/uTdoyV4hiZDN5gvZ12q18FtKClOcwNuE\nfFSczx487rjjwm8pOYTkSwz5888/n5A5UaKxRKNqtg7BsW0OrW83AkJ4pC5qX2ktqLiVQBGQwKOH\nj2VlPP39/YEzo/8xDo8EUrSs0zIHshU3/O8OO+wwSdLll19e9z6WXo/MNvYZiQOOf9BBB0mKLh/K\nCoEyNB3bcccdJcVyrlK2lJLX7T35fbDxzr4qCM3QfvrTn0qKEhNVTtAp7T6x7hS5R4dFD2Vd0N25\nFu467rFgwYJwptgHXucVicftRxlgdFPu+9hjjwULOshOXj5lc1kb9sej6owZM8I1sGYzJlxvPq+c\nc00VGVxY3/nOdwLKo2fznaJGBkX0mqRAms9z61FL2SqW+FKvueYaSVEcW7x4cejVTE0sFgLDEOl1\ndBWgphYbiIjb09MT7uvF0DzjSSOuKe+egxgrBjDS9Fjnhx9+ODzouLMQOX3FTw4iriD+In7NmTNn\nSLeVlK3siCpR5EK0zJR1tOKzFB92HlSYIH7ZN7/5zeE7+JNZJ7pknnPOOZKiiEsVSx5mmK9lrN4w\nyTrZZJLhapzZjh0kS8A8fVIGabu+jNN2220XxnvJJZdIimI81UU5k1yD8051Uj7/4x//GJiGVwn4\n+/LLLycxO1GisUQNidne2Z5XFM5zeJ9oD8ekINo999xT93qPPfYIwRSIYPRegjMfcsghkmIVS0Q4\nCrGB6OVyOVOKxY/Dkk/P8241S3npfva61MumXjQovPnmm2dEMJAG0Y3ifyDGscceKymiFBUe88bj\nE+w9Iar6II28PeS7vheTDzjBgIM0ssUWWwSxGWkKJMPIg9RBFCGVSL2UVavVMl0vOBd5bjnKNWGI\nQmrA7Vcul8O8fLFHH5246667SooSBwaxo446KqAmvbTpz4xqROcKar1TgZVSUXTuaGtrC/f3kYFD\nldLKo4TMiRI1CTWkM/uyOt7BX61WMwXz4GrUUd54440lSV/96lclxXhk+kX96le/CoUDKM1CYTmM\nIuhT6NmPPvqopFijGA73zDPPZOKbcxC6IZ3Zu6K84Q6UpRwP6OoDHaSoA4NG6JMUhUPy4DfMH3R7\n05velCnc54MwrOvt1fdz99Cik4+jB3kJ2kHHZ51BI9xk1Wo1rDvIBGIiiXENjD5IV/TTxmD1+OOP\nh2v588a6rFy5MqMzexsN9+vt7bW9qyVFJATF+S79stCZKVw4f/78EIxCNxL0bwJS6FTKvZAGCE3m\n/H/lK18J8d3YGTjf7IMtoDEUJWROlKhJqCFkhqv7gA84+Prrrx/cBb6THvog3e8IZv/0pz8tKSLZ\nzTffHFwh6D2XXXaZpOhMv/HGGyVFVwkIhx4Gl99ss80CV6XAHkXcoNEiMzScXoPOSLneBx54QNtt\nt52kiDSsAcEJ6Fe4Jr7zne9IinonhQ4//vGPhwSGopI3vuQMyOX1RJvY4Mvecm2Qg3VmP0ApEkP+\n+te/hkQDroHdg+wsOj+wt8w5r1ggLkpcSejMoO+qVavCHAlX9eHEhKKus846mSQYziyv8RbwPZoq\nECDyyCOPBF2Z9T7mmGNk1/XMM8+sGytnlT3EpbXpppvq4IMPDmOzY8WbYINihqKEzIkSNQk1ZM0+\n5ZRTJElnnHGGpFgUD06+atWqoBviKwaR4fwgFel06BjoftOnTw/lWdGB0dlIDYTrYmUGydHP4eS7\n7bZb0OdAZB9uagkuzlh9X6CWlpa6HtR5BDfHZwxqwbG33XbbMG50ZArl43MFCbDKo4v6srhHH310\nxoqNfQH/tidydtG7GZ/dQ28l9v2qQU+CXCAsvJtvvnmw2hKKiXRxxBFHSIp6KKWXmTu2FtDpiCOO\nCLnB6Ns+WcPS7rvvLimeGaSFX//615IG94czx175VE6CSJAmvF/73e9+d7gGe8Vffks5ZfYKbw3r\nzJl67rnnQldKdHd807bf9UgoIXOiRE1Co4oAw8qKLxC06+npCdwZroeVD2s2v8UvB1GR4c477wy6\nAggLGlL5g5YgdOsDUUmNtBZlQg29ng83tmVaff9pUKIRfx/XxzZgW+UwF9Ycy6ZPB2Qtdt5557pr\n4LOmb/R73/veYAktGoePAKMULWsHgtlSwCSA4O8vSnnEl4wNABo3blzwWrCHoA7+3rPPPlvSoM9W\nilIHOiYS3V577RU8Hh4hGZfVmbHrbL/99rlzWLBgQaabJtZrzjFWbQrcc3axGTzxxBN68MEHJcUw\nXpAayQgPywknnCAp6tRYsbEZbb/99qFnM88M64yd58knn0w6c6JEY4ka0pl9IXnPqavVagbNQBfQ\niAZi6MXobLyeN29e4IBwU0qvYEEEqbEQ3nvvvZIiYuHbu/vuuwPHByGgvEQEU3NJUrQm5hX7LyKi\noLAJMFautckmm4R7Yyfw7V/h1CDye97zHklxjbANdHV1Be7t26IUSVzMkTVivOio5XI5pGR6nzXE\nnqHnElsMKv3sZz8Lujm2A3RGUJFro1uiw5NMgg/7hhtuCDHg+IV92x5LSAtf//rXJcWkFMZaq9Uy\nkhY6K9IaUhW/wd7CPD/2sY+F9faFHIgaI77g3HPPlRRtNLvttlvd+N71rneFaDDyFFhvpMqRUkLm\nRImahEaVAknLS28ZLpVKgfOiM2Fpxo94xRVXSIrtUol2Iv54YGAgRH6BWPj9QBH8z3BhEOypp56S\nNJi0Lw3qg/gQvR82r20mn4GQIykSwL1IRwRtQXcsv6DIs88+q4985COSYjyyL2rIb5FisN6yznDs\nt771rcEaPFICSX70ox9JUiarzPqZfQYYlmnGhz0EJGGffvCDHwRrLWjj4/mxULMu+F35Hnvc3t4e\nkNH7+PPa5LDf6PFIEYxn4sSJQTLi/IKeZONxVvHWcE2kq9NOOy1Y5ZG82EPWhjPEGb7wwgslxWqe\n2IwOOuigYAvhu5CXiIajhMyJEjUJNfToex0ZpLCFBkBcOBXJ+yAUOchwzgMOOEBSzAiaOXNmaFhO\na1d0RjgpnPKXv/ylpIho6Djcs62tLZOD66PWhqI8RPYNyUBkXjM27guhpz300ENBj3/3u98tKaIH\nehfrjGXX5/xi1bf3hXyjPE++cB7rgr5Yq9Uykgl6L7/FdoEeTIw86H799deHJH3yfYnRBsnw//Pa\nR6LhJ29rawv77puw5ZHPdEO3xUbQ09MTYuEZN/5yzhnxFKw70gO2hGuuuSZEa3E/1oL4Ct9gEKkG\nTwHW9jVr1gQJx5TWrfvtSKmhh7nI8GVTBhF1cQmQ+ueLnbOQBEYgdvT39wfRnAedg8ZhJ8iCyoiI\nijxIfK+3tzdzXw67F9lGSt4YxtggQktxvXiD4HbbbafzzjtPUmRwBAkQ2gjxkDMvDECWmI/v6lik\nGvjUT1+bbd111w3fwSjmmxAQzHDWWWfVjRvjzuOPPx7CTHmYOCM8SLhueFBNHfO619VqNYCGdynl\nPdS+K6avPTZ16tQwL9xluAi5LgUVeOD4PuftT3/6UzjXpN3STMDPF8Mr10C9sNVx2FefYJFSIBMl\nGqM0KjHbV8WEVq9eHTgSIiKpXwSYwMV9Z3tEmpNOOikE4VOEAJEFNwxcl2B2OBqiDyL7pEmTgtEC\nzugrM+bNbyiO6MMnmR/zpVUP4hSiG2O+9dZbQxgngQeIzbTjoT4Uf7kHAR5IMaVSKYNAPgnCk+8s\nAoG+L7/8ckBAkI81hAhzZXy77LKLpBiqe/PNN2fK/+DW8YUVMG75EFpUp87OznDeQM6iWnBS3F/2\nm7lwLpcsWRLWj3PC9ZAqUQE4bz6c9Ywzzggpu4Q24zb81Kc+JSmGqWIA5LwhwmPknTFjRlh7xsN6\n4nIdKSVkTpSoSWhUrinfnwgXUXd3d0AEOCQIgN4HgmGOhyvB6d7+9rcHgwT6B7oK10Af516Mh6B6\ndJCXX345BPT7+tmNkC0n5Bu0EQrIWGbPni0pJlGA0BhILrjggoBGcGn0LYw+uGl8cgjB/FZ39IET\nth9SHvG5l6qYR61Wy1RS9YZHAjyQhCCkgqeffjqE3GIIA/XQq7kH58OnNyINTJ48ORiPmBOGojxk\nZn/tmZSibjtnzpwgJeJKY+7oyqw/AU8YqLBtzJ07N3yX/ea7IDCuP5JDCIJBQiG45NFHHw3ryrMA\nIhcZMYsoIXOiRE1Cr2mp3XK5HEL64LC8tsnmUnQzoK/AlZYsWRIsoVhzCVbnN3BSdE30LIIprD6Y\nV7hPqisxO+KOFi0tLRn9idIyBNL4JJG8kEOkFj4jPe/mm2+WFN1dzAvEo3iBtVk02gWSRAtfxIB1\nam9vz9Qhp1wQiIZOB8qjH1Pq5/bbb9fVV18tKaaxon969xZ2EWwmeB9A3/b29rDv3mZj9iLMce21\n167rh4ZUhw699tprB2mJ9yg6wB5CnCfCZ7nfypUrg2uVPaJ0MNIV92DtCG+lsIYtLOnLIiEJsgZ+\nD4soIXOiRE1CDSEzjbq93mh7DsHV+Yu1FQsiqInexeeUMd1hhx0yYY3bbrutJOmTn/ykpIhclKY5\n+eST617D3Xt6ejKB8CRj5KUIglpFPZ/ykBAOTbjePvvsIylaRCHu39fXF0JaTz31VEkxueCmm26S\nFH3zhBUyHyyl1gfr7Rg5XS/ruDrNyClJhJQAUkycODFjCUdnJsiFRASSJNB3KUCw4YYbhjNBKV1Q\n0KM8+4H0wVowH1su2faLsnO1pZ+mT59eh8x+DlZS4zr4mQmzpZMj8Qy+W8W0adMCmuOBYB7YQdCd\nkbYIDeWsWukCaZU14BkxtoqEzIkSjSVqCJlBLohIFWT+tdZaK+jKnkAbCgj4sDter7322sFCCALA\n9eCqWFHRP3yqGhyup6cncHVvxUbvXr58eWFBP9/bqFQqBTTwBfOZN3o+yJJXQJ/0ODi975QIyqOP\n++LvFrUgP7+ign508mTffS+ozs7OTIwACIY1ncQEvAegLIkhCxcuDEkk7DtzQyLgtZ8T68n+dHV1\nhfXynTw5M3kF/bg+JX6RlDbeeOOgC/veyljgaWDA/QhnZT26urrCnK+66ipJEU1BZIpw4IvnzKJ/\n83pgYCCMAy8MZ4xkpSeeeCIhc6JEY4kay7F6ldDZvO7c3d0dEAEdGH8cugXki+XbxAQKi9OVj2gZ\nYrbx95GQYVuZSNGXZy2znvIiwHwJVmNNlDSoG/I7uDlWa16DBPgd8adbyYPCBSRO0GwMzm/7AEvK\nSDtWL+Z/P/Yi8vYAUIp1mjJlSpg3CSugJn5/31kR1CMCbPbs2Tr99NMlRWmJuZI8Q3K+jw2HkPZs\n7LuPp8/zFPiYBM4C865UKsHD8sADD0iKZZrIE8AjseGGG9bNAanrTW96U9CrieJDakHKotQQ6+zL\nF3Fupk+fHizgjIvPiooyFlFC5kSJmoRGpTP731j/X167E6m+x7EUI3TgmFi7H3300VA2h+LwoDxW\nR6zd6N8kfBMHTVzs/PnzM9beMPGYCjmqlq5Yp/mLLoQejJ8VnRQ022GHHYJfmTmjI4Pi+F6x3sOp\nKTCHpLJy5cqMxd039ytq6Vq0HvZafIe9Yn2JUMIyyx5TxODaa68Nhe6sBZgxS9k+0tyfuV966aXh\nc1+uCqs2toRFixaFwXd0dNS1dPVSTrlcDtdBskASobQuBScoeohUQdTW8ccfH/znO+20k6QoibFX\n6Lt8D0mBUsB874477gjzYRz45Hm9YMGCpDMnSjSWaFSN4yyKvvq+pEG9DT2DWFyfRwxCg2hwLvSS\nxYsXh1hYfI40qkY/+exnPyspohB6EsnjVh/3OqVveZoXAQZXRQKAarVa0K/Q3yk26LOksFYOlTeN\nvkqM8GabbSapvsG4pAznhmxze58PbMZcx9U7OztrUtQL8cdaXRs0ZX/xIzMXrOys6Yknnigprtdj\njz0WPAw0LiC7iLh79pu9Yu7olnbffJaez3les2ZNmOPkyZNrkkLLF84XkmK1Wg152OQDUFCAe+JP\nZx18wb/58+eHNaHsFbEQlLDifdaIM0XzOaSd3t7eTFscLP7YDXzzvyJKyJwoUZPQqJB5qKgjdBRv\naeS7WPv4CzLgy7v77rsDMqMTU3oGXRj9E+sq9/S5yv39/ZmIKCySxspZqDP7uOW8+UCWa0sxa4ao\nNO73/PPPh+9SKphIqjzrrCWPwpMmTQq6GORbmwwXm+2jqvLm6FuoYpGmkDvWdq6xxx57BB2SvUNq\nYm/82lrpzr62pmeKtAAAA3xJREFUv2HeIBjobu0eEyZMqPMzg/jcv729PXyGdMj1kSYoLolkSMw2\nvnjbqIE9JE+f70A+s5B583f69Okhs491prQWkYLWjz4UNfQw+w6CLIo1UPiSQv76ONExWhHuR6DI\nrFmzgpjDYfF1nDn0iCG+57J97RkO1+D9vr6+hgxgRd0WuT7MCdGMeRJobxmDTxgYKY2EyTAe/zAT\nNMI1eABtaSDfS9qPj1rUiIwEi3AoX3nllVDnDGbjXU9e/YHYQ0TfZ555Jtzfq2pcM0/MhgiFtXXE\nvNqCSsRr3E481CT64G7r7u7OFBTw9ckYM2P0XVJQDWu1WjhTPqyTsXd3dycxO1GisUQNBY3AjfhL\nojlGjkqlEjiSD2JAtCR5AAMCRFDJU089FYLyEaNJM8OoBvJ6lPXcsFarZQopECaYFzSCCO47V1rj\nkEcpj462CqQUE9ut1OBRqkiK8fPzSSx5RBI+heM8sQ8ggy88Z0NWMTDyHfbUh1ciQtoUVdQK74pk\nb9lDX7+cexOIUq1Wg/iLWwvU9108pGicI5AIVxD9qmxKJcR+Mz8SeZgDUhVBHOVyOSCy70bie0ez\nzpx3Qjb5XrVaDUjMb0j4oHzWSCkhc6JETUL/VHECrwfUarVMmKb5bd1rdBiPkKVSSTNnzpQUE77h\n1nBmj/4ghw9UqVQqGURmXCY5vFBnzjPwjaTLxXDf8/WwG/mt/x7fAZEwfBkXXMn9piZlu1BggCyV\nSiH4oyickHX2SfRWQrroooskRbcVcy5ypXlbC/tTLpfDHEkj5MyAqLaTJ3YdiKAd3D39/f2ZIog5\ndgZJUcpC77dlizDGUmSBzxi3LyHsyzVxZt/4xjcGQxsuVxKIkJbs/IaihMyJEjUJ/VPhnJ6jdXR0\nZBLHIf9dbwW2hLXSd/vzOmRREYE8JPX3yys5M5w12yL9P0N+vMyHkEfcW8N1chzJ3nlkxr1YdC2r\nU/pgjeEKzFnE899FZ0aHBCltnzI3zjAGP0/2kvetNZugGNs7S4pnaYMNNggSh0+kAYlxefnCDbZz\nC9IL10BKQL8mvBf0Rwrz96zVauH6rA32FmMhT8icKNFYooaQOVGiRP+6lJA5UaImofQwJ0rUJJQe\n5kSJmoTSw5woUZNQepgTJWoSSg9zokRNQulhTpSoSSg9zIkSNQmlhzlRoiah9DAnStQk9H8ABdnC\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": "iVBORw0KGgoAAAANSUhEUgAAAPMAAADuCAYAAADsvjF6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJztnXmAndPdx7+zT2QRbZCURuhrjSC2\nUpW3tYTUUlQoJajaal+CUlXUXqq2N1FCUSQ0top9p5RGvJRQorZSa5BtJpPJff8Yn3PO/d3nufc+\nM3dG3jvn+08yM/c+zznPOc/5/vZfTS6XU0RExP9/1H7VA4iIiKgM4sscEVEliC9zRESVIL7MERFV\ngvgyR0RUCeLLHBFRJYgvc0RElSC+zBERVYL4MkdEVAnqs3x4hRVWyEnSxx9/LElauHChJKmmpsb9\nG/4/RN++fSVJn3/+uSSpublZkrR48eKOgdR3DKW1tVXt7e2SpLq6urzP9OnTR5K08sorS5LeeOMN\nSVJLS4skacUVV5Qkvfvuu+77XKuhoUGStGjRIns/N9Da2tqcJBEVxxy+qii5t99+W5I0dOjQTl8j\nl8vlLcQaa6yRk6RXX30173PlzHWppZaSJM2fPz/v9wMGDJAkzZkzx13DXo+1BKxLbW0Hn7DGFvX1\n9W7N0sYYzrG+vj4XXj8L0q6ftKftePkb8+FZ8UzS7hHuUZ4RP/PZxYsX579MaePPslEHDBiQk/xL\nzL9MoLGxMXVR+Cz34+Xi5/Al4/9rrLGGJOm1117L+yz34BqgqalJkjRv3jz3eX7Xr1+/vH95UcIH\nVVNT0+W3trGxUZKf71cN+zJ3Zo6lXvRif7cbtNR3WdO2traCz7B2ra2tkvyeaW9vL3iZ2SPF9jcH\nOtdhH/Mdfi52MNiX2H621GGV9FkQzKGslzmK2RERVYJMYjYnB6cn7MPPDQ0N7neI1Z999pkkaZll\nlpEkzZ49W5JnME7Br3/96+7377//viTpX//6lyRp4MCBkvyJDPNahkb8gw369++vL774QpK09957\nS5J+//vf532n0rCM/FWL6haMh2cEK4F+/fpp7ty5eb+zTMVzt9cKWYnvWKb62te+Jkn69NNP8z5n\nGZn9sWjRInc/xmrVu3LGGq43f+P7aczLdy1j19fXu3FaadGuN79PE6HDfYGkUGx+xRCZOSKiSpBJ\nZ25oaMhJ/pQZMWKEJOkf//iHpA6dFdbEaPPOO+9I8ifu9ttvL0l69NFHJXm2Rbetr693DAsjf/LJ\nJ5KkpZdeWpI0YcIESdIhhxyS93d06/XWW8/dc9NNN5UkPfbYY5L8KYsx7YsvvkjVmb/xjW9Ikt57\n772yns+SiFI6s9Uba2pqCoxWlrmsYRJsttlmkqRZs2a5v62//vqSpAceeECSZ9yXX35ZkrTSSivl\nXeO2226TJO20007ud//1X/8lyRs8LQsm2T2Y1/e+9z1J0sMPP+zmwl4D1p6TJoEE93PfTdOJ1157\nbUn+3QDf+c53JElPPfWUu6e1s9jnW64BLDJzRESVIBMzNzU15SR/QsGqnCzhqQe7woAAhsY1hS7D\nte6++26NGTNGkrT55ptL8jryrFmzJEkffvhh3jX69+8vSbriiiskScccc4wk6f3333d/4/qM54MP\nPpAkLVq0yJ16o0ePzknS/fffX/YzWdJhmRn3W/D3sq9lmRr241+YZO7cuTr00EMlSZdddpkk6X/+\n538kSVdffbUk6X//93/zrsk4DjzwQEnS1KlTJXVIXWkWYn4fzrGxsTHPNZWky1ppBCt56AWR/N60\nbrT1119fzz33nCRvA2B/YaOxz5Xvcm/eg9ra2oIx8lnGV641O9PLbP2wdhGHDh3qFgfxmgEy+G9+\n85uSpHPPPVeSfzER2W+88UZNnDhRkhdRjjrqKEnSwQcfLEnaZJNNJEnjx4+XJL344ouSvMEM0e6p\np57S8OHDJUkvvfRS3lwQ4T/++OOKuqaWNJTrmmKdmpqa3Ma0m4t15oB86KGHJPnD/PXXX5fU4ff/\n8Y9/LMm/CFtssYUk6dprr8377A9+8ANJKjAohfe0hiA+wziKqUoWDQ0NBYYm1Dde5jXXXFOS3IG0\n7rrr5t3317/+tTtsnnnmGUnS/vvvL8nvvRdeeEGS9Oabb+bNz8Y9tLW1OVIiXgIERsooZkdE9CZ0\nygCGaIHhiROkoaGh4ARC7IZtTznlFEletLnjjjskScsuu6y7z5NPPilJWmGFFfLug2Hr9ttvl+SZ\nmQgkRBzcX5zAkgpcZkgI//jHPzIxc1oUVGdcUEkBEpVG1qCRkAVDtpakrbfeWpI3Ju2xxx6SvLEH\ng+RHH32kQYMGSfJzu++++/KuBXOzZuWMybL24MGDJUn//ve/C9YQdWrBggV516itrXVraI21Tz/9\ntCRp3LhxeWPErRmqGRhFiTpkP2DYQwKZNGlS3nMIVANJHVJNWoBR1giwyMwREVWCTMyMccGGv3Ha\nDBkyRP/5z38keVa0wQNbbrmlJOnZZ5+VJBcg8sQTT0jqcFVwUu2www6SpEsuuUSS169XXXVVSdIR\nRxwhyevKNv533rx57hSGEQiIQP+bN29ewan+3//935K8+wwMGTLEGc6Yl31+Z511liTppJNOkuRd\nLdgQxo0b56SS4447TpL0wx/+UJKXMJBEYMKuICsz9+nTx7EZupwNYhg1apQk/3z4POvT0tLiJK1f\n//rXkryLiJ//+c9/SiqUcIohTXcO58j80txqDQ0N7nfoyuj87AnWDFa98sorJfkAqHfffddJHo8/\n/rgkaZtttsn7DNLLeeedJ0l65ZVX8u4RShvWNmF1+sjMERG9DJmYeciQITlJjn050dAHGhoa3ImI\nZY7ro6PCbDAVeslf/vIXSR0M/dOf/lSSP7WxYnMKcuoTpICuQ1ABJ9ynn35awNpWUkg61YsBt9Vp\np50myUsHu+66qyQ5l8UGG2wgyet1PLNygBX/kUceybuHXau+ffs6vS8Nlpnr6uryEhEsllpqqYKw\nSYBOjP1ju+22k+QZmUCItrY2ff/735fk9Wmyh7CH2EAcG1YKwiCWtOCNcI7W45KkO7MXYED28bHH\nHiupw6MieYv02WefLUk68sgjJUnTp093LrS99tor79mwP3C9sZbsXcaRFBpajuRRDJGZIyKqBJmY\nmVPdhvuFOjSnJexJ7jOf5fSxPuR///vfkqTRo0fr0ksvddeTvD+RPGZOMnx9++67ryRvWZw8ebKk\nDj3m1FNPlSRtuOGGkrwVnRMy9OFl8TOTnjlz5sy836MT8u9NN90kyfvVZ8yYUe4tHIoF3PNsbN4s\nSNOZi+XuWlbD72zZnOAeQmV5tk888YSzdGMPgKm47y233CKp0DOSNL8LL7xQknTAAQdIKvR7F2Nm\ni3B+hImS/z5s2LC8sTz//POSpJEjR0ryksraa6/t/MuE/B522GGSvN3jo48+kuQTjPi7tbU0NDRo\n9dVXl+TfiQQpMjJzRERvQiZm5lTHysmJHfqZOZlIcUM3JcXR+ttgVU7qBQsWuGokjA2LNCcp+ir6\nF6c7jL7RRhtJ6gjut3499CT08SzFCUJLL8UNRo8eLckzNLaC5ZZbjuvn/f6TTz5xz4D5wAR33XWX\nJJ+McvLJJ0vyuqi1rodIC/jPysxhgrxlkbSwR/Tigw46SFIHo915552SvD6NzQTpiggwJAuSZIol\n8acVAkiye9j5hT5zJEnr50fawiKNncMydmtra0H1E6zWsCxjPPPMMyV5u461Q4TPv5xKKsUQmTki\nokqQqTgBJxQIa21JHSccbI3OzEm07bbbSvIWQ5gaqy/+35aWFncyoXcRJYb1dMqUKZL8CYYu9d3v\nfleSdPjhh0vqYHR0SU7xMMA9KxYsWOAsn0QN7bjjjpL8Kc6zwFeNlR5pZoMNNnAJI7/61a8keYbg\n5P/rX/8qSTr66KMl+Rhh2C0J5ZSlCZHmh83lcgVsBnh2xLXD1NhFkBzuvvtux7iwOIyM7xwdGtji\nFcXmU+xv7CvW3UbXtba2ujVkjyIJohvzvLFAIyHxzAYMGOAkT2KviUYkOYg1RmLjmTEuJLwQXS1k\nEZk5IqJKkEln7t+/f07yp60tH1RTU1NQkgUdFT2Xk5NrwD7omM3NzXrrrbfyrn/GGWdI8qcf+ie+\nTBgcfyDSwZw5c5w+zYlvs1bC6pzlWLP5nq2+aK3KobQSPof29nZ38hKBdMEFF0jymTfA+maxHmdB\nWgokYyAyjmdWDJapiXLDUg+DbbbZZs4Py3PH/0oWG35mmJpIwKRxpBULKBYBBpIkEJsCyWfQd9mL\n3/72tyVJ559/viS/h1taWlzsNRF/2DmQVpA08bAwZluSKfwbiDpzREQvRyZmfu6553KS13M5UfBH\nhjWAYaRvfetbkryFkHjrsWPHSpLuvfdeST6WddasWU6/xGKMDozPcp111pEk7bzzzpL8CXvCCSdI\n8hk6U6dOdexny9dgzQ59eAMHDsxJXodKAnYDpAPmZXNR7ekfgvmh62NPwAJMIj+xwUgk6GlZYE/1\nPn365JLGC+rq6kqWqYXNeU5kClGI4OGHH3Y6IpZ4IuOws6AzUkgCiQ1dM6nIXlo523COkyZNykmF\nUk5Y2tl+n/3L9fHI/PnPf5bkc+Fh7Pvuu08/+9nPJPlcZyQNbAHYCNirXNsWLGxpaSlZr7vc2OxM\nBjACL6wozcI0NTUVhKZhIKCgAC4oNrKt0XTddde5hSU9jrBNihCwUQgFveGGGyRJF110kSTv8qmt\nrXXOewxRiEFJG7XYSwy4XqkwymKF2xElCT/lZWaTIZryMnfmJU5D2ksMihmXUFkQFTH6rbLKKpKk\nBx98UFLHC4wYigjLi8CaQgiETqJKIW4npUYWq2wJeIltRc1wX9pwUJ4J+4qQYyrXEABEauS1117r\n9jxryb/22UBmtulAOJ40g2NWQ1gUsyMiqgSZmBmR1Z42GMBaW1udIYgwTcz7hGsS3kj1RUTjn//8\n55I6UsVgNSQBfrauhFtvvVWSDxLBNcIYPv/8c2eo4iRFvOb3SUCURqoIYY1/1vVhDWFJpyu/Q6zm\nREYFwRWH4aszoAiDBeOGlYqxnTWO8eyQplB7SIyhvtcjjzziqlBatWuttdaS5NcSlQj3VhIjZ3HZ\nIL4SyIJ4D0LXW2iUlLwExPoj8ZGsgzHroIMOcs+CPYhUwnMnzBNJzrrqQsNcWoBLrJsdEdFL0aWC\nfgB3w9tvv12QXobxBoMBJyW6K/oIP19wwQUu9e+aa66R5HUaXAMkT5Aaycl58803S/LBJRMnTnSs\nbhPuuWale02Vwoorrugkiz/96U+SPCPDXkgNsGhSgEG5KLc4QVIBPdYZtoFFkcj22WcfSd6Fg766\n7777unVmfYcMGSLJ2wGQ1Fgf9FESUcKw37QmbeW4poB1GSVdjz1rDWHsab675557uiQfxoBrCmnl\nl7/8paSOABpJ2njjjSV5iY15L168uCDkuFgiSTFEZo6IqBJk0pk5OThlCHvbb7/93O8J+OA0p/ge\nZYE4Iffcc09J3mKIDnLmmWe6EwnmRc9G/yZV7Cc/+YkkHzwCoxGgEJaksVbNsNhfGtKK93UGdG74\n+te/7nRxTnyYFzcdp3Zawn4lgA6HJR2pJiwwZ1NQcQUS5ALLkAKJFXjmzJlO+iDEFo8ElnoYm5I8\n6JKwlGWrEOVIkzxbikLi5kyC3RvMG7fjVlttJcnbZq6++mo3PkpYYa9ZfvnlJfk9g9TIvK1enLTG\nMZwzIqKXI5POTMcHip/bVMiw4B1WS8qpcJqT8M3Pq622miQfCrjPPvvoj3/8oyTP3viTSZdEx0Qv\n2WWXXST5cjYUnJs9e7Y7IdF3kAxgn5aWlh7RmWH5uXPnplopkUSuuuoqSZVhZqtvNTc356TCsEnG\nNHz48IL+SLAqei7+ccI58RkTOzBt2jQXnAPzE7RD4gGWYfRSdGrWmn5iYcG7tJK04Rz79u2bFxRT\nTgKKDfCxSRHWc7H66qu7lE32OWvGGlJiiL1IQg52BWxJoc5sO0bGXlMREb0UmXRm9IK00LSPPvrI\nnSr8i68ONqU/Mqc4yRGchssuu6x+85vfSPLWXkLkCHPkZ040WpxYvaimpqZAD4KRuqs/cxqYZxIr\nIy0wn1KM3BVd3rKbbSAQsjLPjLLIv/jFLyT5MEdSOPEzw6ojRoxwEX/cD8kIJmPs6Mo8g3vuuUdS\nfiG+NEZOgn0mxcJqAc+dfYy+T8qpLR/d3t7uuouiExMn8Yc//EGS95sDmxocsG6B9GB7W5WLyMwR\nEVWCTMzMCWn9cZyGTU1NLk6Xkwid/O9//7skr/ei3/JdmPy9997TbrvtJkm6+OKLJflIKVIdibOm\nTA3ldkgRDNPp0J3Q72HGUrHVlQLzgrVC2FLF5aIr1nVrI7HPIYwV5l9YjbJMJEcgZaH/4t0IpR4S\nJ2jGhr4N6+GjhuHwNxPDH7JWWmOFJGSJGrPNDRm/Lb7B59ZZZx396Ec/kiSdc845kry0QnleGuUh\ngVI+CcZmXmERTDvWrAUnIjNHRFQJMlmzSZ+zfjlieNva2hzbwK7XX3+9JO+jJIqIFiDoxVizb7jh\nBsdixIJffvnl7m+S9/dhVecEI7aWk7W+vt6NjRORlDX07s6W2i0X+Dk55UNY62UlAEPAHOVGgIX6\noI3ftu2IWH8Ymc+hb3/66afub3wHhsa/TJQfa8bnbFZXc3Ozy6IjzZA9Fkh/bo40N7RjBiHb2VJF\nth8zWWKUgCKf4NVXX3Xx6exFvsM+o4Af+5uSUES4hYUWsBfxLGzhxGjNjojoZcjEzLvuumtO8lk9\ntuxKTU2Ns45yuqBnEClDojdRRZx2JHO/9dZbLiKKonlYt7GIk6mChRR9mO+RsTVhwoSCUw5/JxlJ\n4anHqV4s+igrOJFhk8bGRqc3YvEtJ4+6XBSLW5akAQMG5KTCGOViJV/52TY9QOrhX7KNPv74Y2fp\nJk+ddYddbY62tfLz+bXXXrtAh6dpGywYzrG+vj6v/Y6dQy6Xc1II80GKYN25PlIckYZYol9//XXX\nAJF1pUADe5ZYbdowscZIHnz/gQcecNID//J8k0oJF0Nk5oiIKkGn2tPYE5rTqa6uzunRnIwh40o+\nRpkTGh8x0TbTp093OgoMzBgp/oa+ZRu6o0NRaeSf//ynO4UZF2OHFZ944olu0Zm5D2Vz0K1WXXVV\n1860M+V+s6Jcnbmc/Nq0vWJ1/vb2dheTTUw+1yBmP2hCkHiPYllcICgoWXINw2vwPfYvthmkFewc\n3O/000+X5Av+LVy40OXaEz/AnsSiT4QXVmzeEeYdlg1KG2vQ2rUsZs70Mj///PM5yQcYkODAwHK5\nXEG5HF44JkffIFIiSbQINw71izGopFWO5B7WyBQaMqyYT/peMD73oEaOHJn7cp7lPZAAhKUS5kd3\nQAJZSF5/7bXX3GHDc7MHjp1fV8R9+zIzR8r0EGaYxYVTzkvOC9JZFSLp2uV0fDjhhBNykjc8EYIa\nXiOt+wciMkSD2wx3E3NabbXVHNHQY5uXGUOfvUda/bLwsOL6JHgkza8YopgdEVElyMTM1nhiu0G2\nt7c744F1OaQlYFvjhuQZy6biccoR6ofLAqYjFS/sXpjmVkkSYUaMGJGTVJBoECKNHQiWIfQRw5sN\nDLn//vudahF2SJBU0H0j6xhCBM8971RvbGzMheMBYdhjOSGQpVCq1jXg93bNwz1Vao8mFSdIY9/w\nXjbd0o4prOhpP4f6SDqrNV7Z/QaSkinS5pe2hmmIzBwRUSXoVBdITm7CKSkFs//++7uibpxA6C6E\ntcGa6LfFWMae2lb/wCWFXoZrBGPbyiuv7NxA1kUFQtfU8ssvn5O80aIcEM534okn5t2HjoKUz6Gg\nw0svveTcFgQLABJJKolSBjDLINtuu61LduD5E1xhy8lmQRpT27K3GJmwbWy88cauF3I5OrMtbcU6\nvPLKK5I69gzsz2ewbxCUZBOJigGGJTwVG4m1KzA/K4XV1tYWFFUM5lUwv2KIzBwRUSXoVEE/C64x\nfPhw5+yHNdGhSX4AnGgkvqPvhuOxY5s2bZokH6oIU5B2RipeCPQeAv1xC/Hdni7oVwyczDAR7izK\n1tIdMglpaZHluqZAU1OTeza2FG3aXsFlSLmmcC72O2nXZM5IMEko0rkydQ2tBNCvXz/HisCypdVr\nw8ISjDltfkhmPEPGiquOfZ4ECjTYdyUyc0REL0MmZo6IiFhyEZk5IqJKEF/miIgqQaZKI2SkYBhI\nqs1kDQ42SMPWrbZxvWHoZhj8EYKMK+6B4YJKkFQeCT+T5sQPHfJZDGBpFTbT1BYbFFEMBMMQ1ocR\nxebfJo2nVKNuAn+ClraS8l1H/J8xEwiBURP3nq3OiqFo3rx5qSGfXNv2DeMaGESJ6Q6vkTbXnjJi\nZgmvJQbdukI7E5BTrgEsk8681FJL5ZUxtQtUX19fkHyBNdlaEO2kwkMAa6LdLGlg8/M5UiEXLVrk\nDgvGygtBamKSjxIkRSulRTB1xvaQZp21KNbq06bP2WgluxEoMGHLOoXWXp4f1whf0hBpUXzhc7J+\n47T4bq6FNTiM6eZQB4yHQy3pQK5EXPuSgmjNjojoZcjEzE1NTXlxvXyX03TBggWpkS9pYrbNHFq4\ncGGBCGLbYVo25xqkQpLV1dDQ4MRaOthTLihI43SnHnHLXL9YYrv1k1pJgwwYxgLz1NXVFVzfFlcA\n3Bdmsj7kkAEpg0tKXlpc78CBA/Pi6230UdiM3DKuLddDa1/aloYFAG2kl82i4hrMjT3EtRj/t771\nLRfFR0EJspmCPZUpBTLtd6XYnDEttdRSBVFwlZAE0kTwyMwREb0MnYoA4wShfSVF5Orq6gqMNTCT\nbaCODsUJF55sVhe3ie20bKUpHYx13XXXSfKRYIsWLSpIhgeBMSf1VLftX8OyqEgBNs4XpuH3Sc3M\n04rMwV6UtCWenfvThICSwvPnz09t+p4keXw5h7zYZav3hhFSRO8F9gVJvpE5IO6ZsTQ2Njo7Bs8B\nY94JJ5wgyRsr995777xrUGZn8803l9QR68w4rARA5Nbnn3+euobsN0o9h0izRdBuZ/r06QXfKReH\nH364JLlWS7wH5Eavt956ksorpxuZOSKilyETM6flwnJyfvHFFwXlWQHVQGzlBzeQQD+ERWENWxYo\nGE/ed8877zxJvqpJW1ubq1oCyFVmnK2trakZN3ZsxWJyy8VKK63ksrrSMofsfQH6MGVs5s+f71qI\nwlpkjqFn2lOd0k9WHw4bG1ibCLAleO04kUImT57smv5RgYXvwFC2XQ0x/bSCIZPp9ttvd/YOPsOc\nqQgS2gXS1rAzSFvr5ubmgnI/xfKnQySxPlIMNQCQavm5W1xT9kFZEXbw4MFO9ElzRTBpW6M4rJGE\nGMck8TnSQxjRiZecOttsYKqHbrjhhq4nENewrqpyjCegvr6+4MVLcyshovN3ROhPPvnE1RKndA/P\nCkMfpWdOOeUUSb4/NQYyAvLffPPNguB8u6nsRrBraIsn9OvXr6A/tD28uQcFGTig8R1/8cUXTmym\n5jnJMNTNRoUgOYMDirJLlDOaNGmSSxXFFWXXMEvt84EDBzrXFs/Mrik/U7WT+1DrfaONNnKGVF44\nSmjx3bPOOkuST2vlXqgdYdwBxTVef/11SaXXMA1RzI6IqBJ0iplhTOoWh+VvcB/Z0zytWJmts93S\n0lLQMc8agGDk/fbbL+9e1MSGmefPn+8YkmII3I9rLliwIFPJmTTAqrakEqlv3/jGN9x96erB9amh\nTM9qWAlxnM8hCSGqhmI497OVJ203BBsYk+SeSZu3ZUT+XW655ST5Nd50001dvWz6ddvSTvQcI/WR\nZ47b6e6775bUsbaoAIyL/YdUMmPGjII1RBTn/uF80/Y83SZIw2RfITkNHjxYUkePaaRBDHj8Szkh\nqr+WMqKFgVZpiMwcEdHLkCk2m1Mc9rEscPvtt7ua14BTEEa2TMDpxzUPPfRQZwThdEf/gFU5Ifn9\n448/LskX06Nb5EsvveRcARgVcLvAJknzS2OmpZdeOrV0LNe1RQIoW0NJmtVWW825r9ABX3zxRUme\nldCVL7vsMkneKDRq1ChJvhb3nDlzClxfXNuGzwKkmtDdFs558ODBBcnxgHuFxejC3yP99OnTx10X\nHZHxUPIYYx7MjDRGQQb0x8bGRseM7DeeW1KMOrCMDPr3718g2XBdjKXo90ceeWTemHEZNjQ0OF0Y\n9yyuKMJXcZNiF8E2YI2FixYtKrv4YSlEZo6IqBJk0pkHDRqUk7wFz57yUvn6JtY/QvTuvfdeSR0u\nLE459A36AePewlWB22PKlCmSvKuCwIMf/vCHLsAkwdzPv04fGT58eE7yfYOSUG5yBDofxfso+XPO\nOee4/tJIJXQbhJ34GUswxeIotIdVf8aMGSWfs9W39txzz5wk3XjjjanfSQtEsbBBJfTc/tOf/uS6\nIDInrLfYMPj55z//uSQvUcCCuNpOOeWUgr5UVmcvVjbIJuvkcrlUfRrdHNsE0iS2G4r1jR8/3nkY\nmPuVV14pSTr44IMl+cAeLODc/5BDDpHkPRSlkojs/IohMnNERJUgk87MKQSScnNtOdxSvYTozQML\nTZgwoaB07tSpUyVJW221lSTPzOinWFHpmUvLkIcfftixNCxerL+TZeQk3QVGRue2ZXn5DvrX5MmT\nJXmL9UYbbVSgC1n/KfPhdKcPNRIQEkufPn00YcIESdI+++yTOq8QMLJNUoEhwqCRUrm3SEoUHDz+\n+OMldVizbRwBc8aWwP32339/SV7f5u+E5I4ePdrp17B2Wm56EpJ6OcHIsCT6L33QsHOAO++8M2++\n48aNc9ICzxG/edq+Zy0pLMn8l156adcx89hjj837TtSZIyJ6KTpVBN+GIYbWTdumg+ujX9tEDBpu\nYUFcZ511XEF5JAG+C7tygqFL8vexY8dKkov6euSRR5zl0nauDBIkSkYPhQUAsFbC4taKbC3i+B+Z\nX5hIYgET/va3v82b/y677CLJ9wneYostJHVIMZY1E9IXE0vtFqvewRyJ4kr7LM+UcaEH1tXVFRQy\nAHwHKYpwTjwQsCSsOWbMGLcXDvXuAAAgAElEQVRWti904NMvOwKsoaHBrQVxCsyHEFT2Jt4U7B/s\ntzChKA3EFxApRogxdo/ddttNUoc0U6r6TNSZIyJ6GTLpzNZ6aS2pSel9sA0RUtTnIlrroosuct+V\nOnQPTj10F2J/Cb7/3e9+5z4reebi7w888ICkjkR4xmj7RtvaY1JhrDngO4sXL3ZjQ39Hd0avI9IL\nYE0tJ5ps5513liSdeeaZkqQjjjhCkk85xAqODSFJ/y8ladlmaEH8r6QOlqIZGtIGfyNGGkbjeeP/\nhmHCuVodkudDJBh6KP5l2O+qq66S1MGSeClYQxg6aQ3xXoR14EK0tbU5nzdJN1i3iSyzYA+DYmuJ\n9EjKJbERJ598ct6/zL+cFjjlIjJzRESVoFNlg4K439TP2ugwrJbbbLONJM+6WHmJ6hoyZIjzOWOt\nJqoMZkIfI4aWUx2fNTHNSa1uwvI9Un4KZDmVHS2z4YPEag47ofORnF4MjAmJh3lzymO9xsKL5NHS\n0lJgjbbztGWD+vbtm5O89GF17FAfZK58Bss50saFF14oycc0h9Fodl/BbqQxkgHGnLD6X3vttZK8\n9NXW1qYRI0bk3QcwriyZb5J/vrAiNgj0WYBXxTb4Kwb84zwj9gcW9IsvvliSjwyrra0tWDuLqDNH\nRPQyZGLmBx98MCd5fdFms4QZNzADujL+Puoik9OL/se/M2bMcIxEdhExyvj28DMTOwvL2nrTH3zw\ngWMu4p5h70APdqfejBkzcpLX5wHXr6mpKchTxgcJk5Cvi0Wa+6H3h88baynN19FBzz//fEnewrv7\n7rtL8rrz6NGjJXX4p7HsctLjCUgrtXvttdfmJO+Xtp6JpqamgrroZCeRJUeUE3NinfCXh3Pk+ZBl\nxFyZA94M1uOSSy6R5HPW29ranHTHZ5HI0H3DOba1teUk7z+3qKmpcf5kfL40JCROfN1115Xk2xET\n2YbEF0aOEdnHvuadoJQWbY/J5EPaIVZ7/PjxTlLAnkBcOuiW4gQ2RRCEL7AVvfksRgbEOxaGoAsM\nAkcddZRbJP5GsgSJFRiK2CiIp4hFYfF8FpXDJKwCKpXXQTAUQYF1seAO4+Ch2yShqIRgjhkzxhnu\n2Dz0cGaTUP/KpkByTxJK3nnnnYIaZBhccMmluaaADQypr68vKIzPZsONhErBhsU1xcu82Wab6eij\nj5bk0wcxaHFtDkUqb5D2yXPj2UyePNl9ljnxsuH2yeKakvxzZJ+g1kEGiPWoAhg3SYAZM2aMWysK\nSbBnuTbVUlEbGDPuLwKBpkyZUjRhxM6vGKKYHRFRJcjkmkJEwKluXThz5851RQZgKow3nKoYb3bd\ndVdJ/uSCjS699FIn1nFacw0YGTYh8B1R3hps2tvbC5gLBsIFEoJTlUQHxErQ3t7uQkwRk2CNk046\nSZI/qYcPHy7Ji9mw2oIFC5yhBUkDFQMjENeE+Q477DBJnt14PgsXLiwwmsAmaWImz866W8KURcR5\n0viQDJ5//nlJXlRG/EdMReweOnSo2weEeuLuYi2RprgHRiZ+3mmnnSR1rJfdZwSzsA9DsIaoG7j5\nQrA/YHZcrkgYBKPwjJgnz4ggEskXXcCINXToUEme3dmjt9xyiyQf8ESCCQEsSUhrgZSGyMwREVWC\nLunMnNic5K+99lqBPo2xAWc5QQKc3BhTKJmz5pprumIDRx11lCRvcMMocuqpp0ryDEoyPawU6sW2\nsifsDRYuXFhS32Ks8+bNc/+H4TG2WfcSc8AghlHvmmuuccEK48aNk+RdazA1+hWJ7+iZFCUkiePO\nO+8sGSRSqqAfQNdeuHChe84wIvqrNYwxrtNOO02ST7QYOHCgu/5vfvMbSb44A3P82c9+JsnbMvg9\nRifSYHFpSoXJC6Cc5n8w5ttvv+2+jzRgDVtIZEiLNmS2qakptZkh+jcuV3Rp7DtIYcwLm0sxRJ05\nIqKXIRMzE3AAE5OQDVMce+yxTu+DAXGic/KT3gfDoXtyKs6cOdOdXuhNONoJOMFSiDsGZoAxksr/\npHUvSLKEorPiAsHSvvTSSzsLaNi9QfJMg5uGQARcE0gNI0eOdCVq0YlhQlLhCONE4kBHJtwUaSNM\n2i834IA5wv64+WDESZMmuXUl6QFrNqGrSCME+vBsef6vvfaaey6MnRBQ69Jjf6Bjogfj/Xj66acL\nwjgBa5AkXfE39hDehNraWqcjW1eatZWwfwj84P6h9dkWcmD/Y7WGwZkP7jA8NHPmzMksXaUhMnNE\nRJUgEzMPGzYsJ3kdw4ZsNjU1Od0RBzh6CXoigRL4IWFZrH6bbrqpO7W5D50qYDCsjQQecBqit6Cn\nhGGFdp5J4Y4jR47MSd5qawvX1dfXuxOYEFP+nTRpkiRvrcWKS/EFbAbDhw/XzJkzJflTmp5ZlFJC\nMsDaynMmjBUpJ5fLpabPpYVz7rrrrjnJSwVIHyQGjBkzxkkXSEjojtgBKIVEoUHYlHUbNWqUC5KA\nxUmrJHwTuwZJFLA/sQU8i1mzZrn1tP5vJJT58+e7OW644YY5qbw+UdgskFIoanHOOedI8n2xyikV\nhX+c1EZACCo2AKRM9uqCBQsyl35KQ2TmiIgqQaes2WGElZRv3ebEwWrNaYaVF72XQgJETJHMfcAB\nB7hgfCzd6CjojDACJyoRVIyLky5krTAkMxxXUpC+jfwKezLzO/zGlLvhXkgiO+ywgyTvGw67LNLX\nmFYszAtLKD56nhl6N75aoqpaW1udLp5W6iet1xTPg+/B9u3t7W49YWgkB3RkCtjzvNG3H3zwQUkd\na8szvPrqq/PGDsvzeyQywntvvfVWST6a7/PPP3frzVyxt2Btz5poARg/kgVSAc+OtbSNG5LAc0ff\nRjJjL+MRIFQY21FLS0uq9AgiM0dE9DJ0yc9sT5T+/fu7vruwTvg3yZ92nGT4jElvnD9/vmsihh6F\npRNdFquj7RvMPdAt6+vrHWOiX3HqJiUi2FPd+tPr6+udLQCWCIL9JXnrLdKEbVfT2NjomIySQljy\nuTbMS6sTa6UHSSWIyi0bxPPnczyPVVZZxenEWGCZA75aIvHwEaNvY5m+7bbbnA0Bqz7FArATXHPN\nNZIKrdyMKyzjbJutIVWwBlljs+28sEnYtUrTkWtqapx1nOQYpAQK9xHlRwwBOrxt7VQOIjNHRPQy\nZGLmhoaGvOIEAB2msbHRpYIRV02aIicW1mxassBssNK0adOchROGJYqqVBE1N6kgnc/GZtsWqGEK\nZNqpnlRy1mYnhS06Ja8z0UoGPfnNN990OifRUfidYRqeIRFfVhIKJQbrU0evRc9MiwCzBQ5DPRRd\nEu8B40CKQnIiFhu2veKKKyR1WPBJecR2gmWYOaAz8vwA4wojCS1TwnbooeWsYVJzBvzNsCS2C/Yd\nKagUKiSKb5NNNnFpqvig//a3v0ny1mw8MDwHW5Kq2HtnreeRmSMiehkyMfNJJ52Uk3zyPKd6WFCd\nE55/+RsnFIXMiV5Cb8Sn+tlnn7kIKFib06xUUXYA+37wwQeOZfgOPkTyjMNTfdlll81J6fpM6Le2\nY7E+acuioY4KixOdRNyyLUmEpdlGGaF3ffLJJ84njf5qG3fbU/20007Lfflv3r1AfX19nuVd8uzJ\nz1a3RL9lXu3t7U7KCPzdefexur2dI5LMG2+8UWBVZi8RX1BObHYSLANio6HJOr5jChbiuVh//fVd\ndBzsDhNTLorvYOexrB9Kdnbv8JyTii8UQ2TmiIgqQaes2fYkSdJviOMlbhsdGd2JHFjaZHKtMWPG\nOL2PXOCwDGz4M/flJMVnGepCVt9k7Fhsb7311k6d6sF3yhpjaPlH9+LkB/b0thloljHT2rZKXpf7\n8MMPE63ZSZZ6qYOd0vRYW+gPFk2SStJarKQ1FrSfD8s6W/0eEL32t7/9rUtraMcUNj2QvB+aTKeb\nbrpJb7zxhiRvCyJGgMg1bEOsA2uKxFKOVTuYd+XLBo0fPz7vw9S5YmBz584t6GTBgDAEEb6Je4aX\nHXF43rx5LvmdwgVptYXZAIhkiJbh5uNviIa4T/hu+KDmz5+fk3wQCgEOYQeHNBHfvqAcMIhmIewm\nsT28LKwonQQbygqsiPbCCy/kJO+eQSVhTAMGDHBuNfuCEbr66KOPSkrvt9UZ2FTV8AXj/+EeCccX\nqkpz5szJSdLvf/97Sb7UTzmwhxQVZCmGEH4OVyp7jrDdNKStTwgCpzA4gihmR0T0MmRi5m9+85s5\nKZltpI7TFCMCTAhLcvLa0kMYNwgymTdvXqqhi5OYkxrGwqiGsYHv19TUuFPW9rpiXC0tLe7Ua2xs\nzEnFuwzgUiHcsDMd+9LCBJkXz4gxEzyCkbDcHthfjivvVF9uueVykpdQQDgPO8e0IKFiKPVceAYE\nAMGgJGKEortVBayrKmvQSGe7LIYoJZXYZ2ZdiF1ZwzREZo6IqBJkYmaC9DllcCuh2w4ZMsQp9LAb\nAR+UhUG3oExQUj9be5qlGZnCcj6SZzR0y7A7Q1J65Jf3TT3VCWQhwGTrrbd2BQkZC4ESJIXAHras\nTDGUkkSs/SEMfbTuQbueaeGcuJF4Loz3V7/6VUGxB3Q5Euq5h+1RnNGYKslLV7YQIfdefvnlXbir\n1WmT5mjXkCQRSjA1NjYWpI3aIhBp9ykGDF1W4rEo170aIjJzREQvQyZmrq+vzyurY3vwDhw40OmB\nnG62pCusyX25FswQdsVwg/zyFLcdIDjNcXcREBJ+j3FQHDDsYfTlOMrWt1ZcccUCewHOf5twAWwB\nh/DvltFgOvRIgHXddtqQPFvb8NK0UMC0gn5g6NChzsXHtZkDa2RdRVjuk7p22OQQbClIBKw1qaIH\nHnhg3vglbzuwrBZ0nSx7DUeNGuXKQDE2LNOkrabpsVZqSALPiDEDUn2TrN62wKAtih+ZOSKilyET\nM0dERCy5iMwcEVEliC9zRESVIFOvqVLGk2JIc19Y95OUHreLGysIxbTjy/t+OVlOYThnqS6QlUK5\nAQPkghOa2BlY40lzc3Oee9G60GpqalIDHniGGDGtkYef29raCgxBPHeMSBjN6CjJ5+kBhhGutra2\noJIMRj6MfrNnz+5SbPaSjnINYJl0ZvsyF9vsaYH8LGo58calkJbUUOwlsZ/JGj1UClkie3oCaRFg\nvBCsR5jUEcZpS/5F4zmTkkqkGB6MsGgi3gIiArlP0Bdbkt8XNv2Tz7e2trrP2BjtoARvfJkVxeyI\niKpBJjEbWEYkEqu9vT21qblNTudzVsyura0tGQkF7M+2sViSxNDdjJnWbH5JYeowOk7yDEgL2tde\ne82xJJ+BmUnR5Lni54d9wyIF+MxZf+sHB9yfe/Kcwig3niGSANdOa1vbWxGZOSKiStCp4gSwLu1a\nSdTO5XIFid1BJJKk/JI3Zdwv77tgvfXWk+Rb3nC683uyi3K5XEHivEWW6KH/j7D6FlF8SFM0/b7k\nkkskdTApDGyLw6Mr0ziQXF4bEbVo0SK3djbOmb1DbjTtW2BbjH4UyW9tbXUMzP2RBNhbc+fOXeLW\nsBI2IRB15oiIXoZMzJyW75tU+tVm+gBOUyyS6F3oVIMHD3ZMTzUMSrFQncRa04GtVhHe3+aTJsUu\nlyroV2lkaX8SIovLzJ7qQ4YMyctnthLTZ5995nRTpCdcQjxLW+CPGH0YvaGhocDCTf4vZZRZB5ib\n/YC0FzZRoFwv64okAJt3tj2NRannGla2wbV29913S/KNA0tVHOkMusU1lfagwkBxFgXRjAUn0Z36\nXlQvpCMAv997771dvTBEMgLgKTlEbTCSJjgQ2EBhuqM9NOwB0NvEbNJY09ShlVde2fl6//rXv0ry\nYi0vLS8+JZk4ROl4MWXKFFcTnOdNyiupiBwYvNT06abzJ/vikksu0SabbCLJl55C7Oa7YYGJSq6h\nrXQawr43tqDDs88+K0lu7F0xgEYxOyKil6FTzGxPIdCvXz8nAmGUIsGfNDN6D/F7eg4hXs2dO9cx\nLF0eSQmDIegwgLEE2DTEwYMHu8T2tHlWOmikHFjRP0uielbYU72pqSkn+a4QsC/s+rWvfc0xH6I4\n0tUvf/lLSdLZZ58tyc+DwhNIQe+//77rCGn7b2+wwQaSfOHDM844Q5JfOwxGiONrr722+yz7jX2A\n2N3a2tqlNSyn/7IF82Ffkdq53XbbSfJdLyuByMwREb0MXXJNWUZZccUVXYK6LU4HfvSjH0nyvX8p\nY8pJ/PbbbzuDF6cdJVkwTFHmhUR29BNbrK+9vb3ARVBOOGeaW6G5uTnV1cA90fX++Mc/SvK1lqdO\nnSqpo5DC+PHjJXmm4RlQXIFn0x1ujT59+uSkwoJ0SFT77LOP6xRhQy35DD2o0G8vv/xySb730+qr\nr+7qXj/00EOSfI9pni1rSt10PodbEfadPXu2s4FgkLN2jw8++KBsZk4qG9QZ0J8bCQTjH/24MNZW\nogxxZOaIiF6GLlmzhw0bJsnrD4sXL3b6FdZjYLNncD3QLfGRRx6R1OH2oggg1z/uuOMkSWeeeaYk\n7xqhfBBdFQkqCO+Zxsggq85MfyjGC2shWSB5EIxBv+pynjNjs+68NIRZYWmwp3rfvn1zkmdZLNCU\nQ1q4cKErW2T7QvN7JCZ02S233FKSdOGFF0rqkCgI+kCauvjiiyVJL730kiTviqRMMmWDKADPnho+\nfLjrFoErD4kmSNroUbvHokWL3H5mL2JHuP766yVFnTkiIqILqIifOQlYRAkwQVfitMf/RkgmOsdZ\nZ53l9I7jjz9ekvdvosvB+vg5sZSj43HP5ZZbzlnPsYDbkrudtWZbPTK4hiTfc5kAGFDseXMtLM1I\nL1bKCbH66qtLkl599dXEv6f5mRkH6xS2hYHx8DfDxHgcCNYgz5rnz3j3339/J0XxHSQA1oj+3Ztu\nuqkkady4cXn3/POf/+yexZ577impQ5+XPKvzvObMmdOjzLzbbrs5yQPdPqtUFQKPAlKqRWTmiIhe\nhooyc01NjWNYTnOAjmFbi1x55ZWSpDvuuENSR+9dSupScB69aubMmZK8zsQ9uBanI/davHhxyULm\nnWVmTlGikkgYQKe2OpOVGiTfl3mPPfaQ5Nme075Yk7FykVZqF0bGhsEz69OnT0HUHgxIRJQtVkBP\n4okTJ0rqkJiw0HMNUiyJL0D6wBPB3LFFEBH45ptvujgDa/cICh70CDNz/3nz5jlJEwv+0UcfLcmz\nbCURmTkiopchEzOvueaaOclbMZOKAYSsKHnWpPUH+jCtXE866SRJ3mc5duxY57u7+eabJUkjRoyQ\n5Hv2YjlGl4RJuCfMEfrB0wqY91QEGMz88ccfO8YlWD+tDQ9MYAs9ZIE91Xfcccec5Bkw4Xk4LwLP\nkeeLnYO4a36PNTuMCEQyoREcCQnoxi+//LIkXwOM38N0+JtfffXVAv2e58fzKVbHrZJgbx9zzDEu\n6i24b3fdNjJzRERvQ5d05iypeFgzf/zjH0vylmoaWhP1tMoqq7jGZcRo8y/66I033ihJuueeeyR1\nreVoT+lbWDkHDRrkooLQH5kfbU2JV4fdgjYsme+b5me27XJCXZ4YayQCpCvirLfZZhtJ3q+/++67\nS/LS1qBBg1zDtu23316S9zzQSggr/+jRo/P+joQW+pKDaL288cCUPVWcAMkgjMyzlUNtrEMlEJk5\nIqKXIRMz33HHHTnJ56RahD5KmI8TC18xP//nP/+R5PUfrOAnnHCCjj32WEne57jVVltJkp5++mlJ\nnjnwd8J6zCVs+F4qIyarzlyJAn1YhclK4hlY/y7PKEtrUQt7qr/yyis5SVpzzTUleSsyrFNXV+dY\nmzWhHBO2EsYPy+LjZvyTJk3SMcccI8nrwkTxwbybbbaZJG9DsQUQiB1//vnn3Tj4F0mGNe2ufGai\n1ZBEQmu2LWCxJOjMmapz8hKnJVqEG5wXi3A3XkB+njZtmiTp29/+tiTvqnjxxRdd10MCBzCKsHgY\nwhDFrHgdijp8p1IF7StRZZMNDTbffHNJ0qOPPiopuZtipYCLiBcDER7Rsbm52a0rLiEOUSq/4Ibj\nJUZdwM04efJkd32MmNyHRH/WkAAQDmbWKzS+8Tv2jhW3uws8K0sI4bqceOKJ3TqGLIhidkRElaBT\n/ZlxXcyaNavjIgmsl2aUIvWNdDZOaETJBQsWOGagPA0MzGcxgCF+c7rDyIH4lTqXYgaw7mpLY4GB\ni/GSDkhSQleYJ2l+kq9zhuhIKGbozkP0JlgHhqbQwwEHHCDJJxUQ9MI6ffLJJ45pEcUJkEGyocIn\ncw2LU0heCpg+fbqbC88DlQBR/K233uoRAxh79+2333aJKagrPVlgIg2RmSMiqgQVCedEZyKYIwno\n2baCJicap+/QoUMLSrKgs+DG+Ne//iXJ63Jjx46VJBcGyrXKMRyFp15XGuOVi0WLFjl7wemnny7J\n65Uk8OOmqwTSEi14pjwjpJynnnrK/Q6GZs1gQiQhjJoYgzBiHXzwwa5aJXuCggYkoOC6wt01YcIE\nSYUVQd99913HxLA244GpK1WdsxSuvfZaSR1FJ8OOG92NyMwREb0MmY4Vwvc4udF7pk+fLqnjJLe6\ng+3qZ//OKc+/6GVSYa1rXDhWN0anA53VNbuDkZnD+eefL6mDESkdTOGC3/72t5J8udnuBAUGsEfQ\nWQL9d/Dgwc71Y5874bNBGKUkn2jB/rjlllsci5Li+Pe//12SLzDAHmLd0bexc4Q9ypDirAuyp8Ce\nRDKRClvhpqEcqbVSiMwcEVElyMTMMB6nJowc/t1agrFAo1dhESRggtMeH2Jzc3NBxwqY69xzz5Xk\nfdIEMZDEQdocYZ65XK7gFO/prozcHwYKgU5qyyKhi3YH0FlJZLAW9XfffdcxIL2mKK2MBRf/K94M\nSv2wxuuuu67zJ1OwAB80qYKE99qm7FjZiTHo27dvgX3FJvN0N2BV9nJtbW1B0Ejavuqp7ihSZOaI\niKpBl6zZtsPfl5/J+xdLJD+jE6288sqSfAocJ9oyyyzjrovuRjQRDI3ugr+b0rwUVaO8bTi3pLF+\n+ZkesYQWe862UECpNckiXaRZsy27hf2abX9movdgSJ4hFmoiwRjXyJEjC6Q37ke5IHRoijHShfIn\nP/lJ3s8tLS3ufoTp2mSG7grntFIl+xFJ5cv7Vep2qYjW7IiIXoZOOcnS/Lg1NTXuNOeU5jS1Pkv0\nL3v6b7XVVs7yi7X3lltukeQLi++yyy6SpI033liSLzROCZ8kMNaeiu4CxJ4nwaYYlouu6IpBedq8\n38N2zc3NTmrCwmytyJTMoRgj0VpEfX322WeuqR9rSOlh1pCC/0cddZQk718mLh8LenNzs5MIbFGC\nShSzLwYY+Ve/+pWkyrBwmoRYCURmjoioEmTSmdMipEIdjlOcNMaLLrpIkk95o+DZYYcdJslHdeGz\n7tevn7Nw4wvFaooeRckbIsWsLheOz2a88HNPFVBnXrSpDYEvlminSgCGRSKy+tagQYNyktf/YBvs\nEu3t7U5iQH+l1Q6pkKQGEsGGDknq5nvvvefWBD82qY5kXLEOWIrZQzYTrq6uzo2HuVG+6Pnnn5fU\n/cUJKNBPCaT29nZX8B+vABJHJYDnI8gSizpzRERvQiZmxhIKihX0IxoIXYlIIHzB+JuJCAp1OX4H\nmxKLzXdXWGEFSd4fy6lurazTp093OorNwUbfCk89ssIqmSeL7kjcdVtbmxs30UFZ0RVrNkUZeaYw\naOh1QAcmWozMILwHlBmm9A9ZU+Rp19TUOOkK/Zr2u3gazjvvPEnezw27ozsTS/DCCy/kRV5Jfm9R\nFLC9vb1bmJmx00CBFsNHHnmkkzjx22dFljaykZkjInoZMlmz05ggZHfYEfYhO4bSpOjOXGvKlCmS\nvH78wQcfOGZGz6QZG0zGtZEIbFM6dLpcLucY2Fo+k9qIdEflCizzFCNcZZVVulz0rSvWbCKzYPck\nlseKa/3fZA3hfyUmnvkQGXb//fc7ZkW3pIEBngninVlrLOjo8liuW1tbXQtf9hbjogRzd4GYCCzu\no0aNktSRA55WOqtcdMdey/QyY+BgcXnIIdgUPAjcF7xwlABabbXV8v7FUNTc3Ow6WSCaIr4hGgIO\nkUBklpTcm8n2mEp6mN3htqKO12OPPeZ+R8rmVwH6Q1HH+q677pLkQzfDg4byRawzBq/rrrtOknTG\nGWdI8qIztcHWWmstp1Zh0OIFJJmEZ5xWeZO1zuVyziBEXy2MqBza3Q1UgbBLCQUaliREMTsiokpQ\n8S6Q5bKbdcCHn08rGFjuNcLfp40jqaxOVwxgXI/wRVQB6kHj3pk4caIef/xxSV7SyWIMyQprPOnf\nv39O8iIrBrAw/NZWwSSgB+D2wvjDuDGIzZkzx5UcIhnGhvliXOJajIfAEySF1tZWJy3wXVQDDGGz\nZ8/u0S6QPY1oAIuI6GXoEjPjvKd8T01NTQFbcnoT+IHuXKzYngWnN7qxLTXEHHBvhD2PgrHn/RwU\nGnR/IKAC90hXsPfee0vy+mXoIsPFQcABY8nyTMqFPdUbGxvz1pBeX6RfDhw40I0DtsR4SceNXXfd\nVZIvaGDXIdwHzBsDF4E+tjQRdg6Ma6xBLpdzzA8T89meCvz5qhGZOSKil6EiOjOn8KBBg5xbAz2Q\nTodYAu0pbsMra2pqUl0vtgQL10Knsy6fkI1teRrQUymQWUA/LoIVugJ7qjc1NeWkwoAfGHKVVVZx\nvZWRiEgWIW3R9o1Gx4Zt6+rq3FrYUstY00le4DskzRCqy7jq6urc9XfbbTdJXtoJJLUlbg0ricjM\nERG9DJmYOSIiYslFZOaIiCpBfJkjIqoEmcI5u9O4kCWUspIVNosZwHq6kqcFebSES3YG1nhS7Qai\nESNG5KTCUM9y9hXhotQ0A+QNENCSy+VS67bZ+9DZg1zoJJTa++UawCoeAfb/DZW2ZtvE8q8alXiZ\ne7LUUmcO0K6uob1nlt1EpGAAAA7+SURBVDGU+qz9O4dAsZJH9jPRmh0R0ctQcWYu91SrpAhbTmxz\n2onY3X7mni4gaNETYnZ3xpaXgyxrWFNTk3ktiJWgCGUxUFqJkkaVQGTmiIhehi4x81fFOgceeKAk\n6Yorrsj7PeWEyMMtB0tiBFglUYqZi0lIaYxbLOPNIm2PpK1VWqH7Yii2hhQ/IAOsnLGlIenzZH/Z\nRnKUOgobIUq+LQ8x6rW1tSWl08jMERG9DFVlzS7npLXN3pPcGlRHqQZUUmemoF9YcSMEdom6ujrH\n5jA/GW00LGCNqABD2WHymHEDlYNwjiussEJO6lwLVSqlUFopDfX19W5eJ554oiRfdQWmTqp2I/mK\nOri0iIOXCrP+uEdYsLAYvrKXOQykl/Krc9LVMakskeRfSFsuqDPo7WJ2EkoVhyApA5GRl5vft7S0\naMKECZK8jxZfOSWgODC511ZbbSXJi9f4Za+66qpMfthS86uvry9Z9AIUU0HYg6R28lJOnjxZknTM\nMcdI8oeX7WBBYYp33303dV5ZX+YoZkdEVAl6jJltjx1O27322kuStP3220uSjj/+eCciwdqY+yny\nZo0KXUFWZq6kG6YnDIiVELMRHRGjCYiBOWDXMK2SuuisKyI6FTypgU4NbnuNcJ/Y52OfWzlrGH4n\nbQ1LSSQY5xYsWKAtt9xSkk8HpVwUBRQoG2X3O+BZtra2ujrl7GtbYikyc0REL0O3MTMnFCctupDt\nQYVeTHL67Nmz3WnHd62RhBOS0y8LbM/dpFOdYgfWiNHY2Oj09DRWIumefym1c80110iStttuO512\n2mmSpHvvvVeSjyO+7LLLJPlnVenYc8nPMU0qOPvss/WLX/wi0z0s0w0bNsyxOQUNjz/+eEm+tDK6\nNK4jwDMPnysslmZUSlpDu2eY54EHHljg0rTArYS++73vfU+S39OHHXaY0/FhU4xW1tA3cuRIxpU3\njrCzpl2DhJ8jM0dE9CZUpAtk3gVTTnzM/lg+CY3DIspJdvzxx+vKK6+U5JlprbXWyvsM7GjvBaNn\nmVNWnZkwPZhm6623luStl3ThoNQsJW+KjYm/IWlwuncnM1cC1toLG19++eXuecBgWLP5zCGHHML4\nJPlMJbumY8eO1c0335x4P5C0hsXsESTDwNpc77vf/a4k6cknn5Qk7bvvvpKkqVOnSvIdPEL9F2nE\n7j3YHNsAjR2CMUuS9tlnHye1Wbdp0vyKITJzRESVIFM+czmMx2foD/Xwww9LKtQD0UvQKdCdhg0b\nVnDywuJ0JaQ1CD2A0I+SxlduQf1ywXi32WYbSdJxxx2X93f6Tt93332SvM5YzGcZFqCXfOE89O6/\n/OUvqeP5KpMc7Fwo0fvUU09pnXXWkeRtBgSB0KMJu8dKK60kKb0446uvvqqPPvpIku8cWo4XoNhn\nsMbzGSztgO9QwJ+eVmeffbYkX55Y8s8/7KIpdTCuJH3/+9+XJG2wwQaSvGSCd+fmm292vmn6Yds5\nlIvIzBERVYKKWrMHDx7sTmDkf5iRU2fatGmSvM84aBNT7L6SfM9edKhLL71UknT11VdL8hbqLMii\nMzc0NDi/IfOAeZ599llJPhQQq61tqTJv3jz3bEito0MievYOO+wgyVcaqVSE25fj6bYUSNZ67733\ndv5kJDPWhsL/PMe0JP0sPvjORvHZ2AdsM7TZQdK44IILJEnjxo2T1GGJZ9xrrLGGJOnQQw+V5JsJ\nIJkiTdx2222SvG0AWwp6uyQX+YhlPChXHHXmiIjehIr7mamjtOeee0ryuvDhhx/ONSR5qy+6VTnA\nygcTz5gxQ5I/0TgVbRxsMXQ2AgxJAsszjeHOO+88Sb5lD7os837hhRe0++67S/I+dyy92267rSTP\nZjD1O++8Iym57U6W+X05jooxM2mMtK0lSaKlpcU1LCAGG9Yjus+mOHZF969UfD1rhITBXqY9Lb22\np06d6j7DmqF3M288Lw899JAk7yPfYostJHV+jxZDZOaIiCpBxZkZvxqnNZFdNMi+5ZZbJHkrcDml\nWGAAGIoTFIv45ZdfLsm3L+lOPzO6jmWWclvY1tbWOvaBjfj3nnvukeT9oAcffLAkn1hfKjUvCd3J\nzEREofdhCzj99NOdhXbKlCmSvH0D6YIWM5XwMoRzLCcWolxsttlmkqTnnntOkvTMM89I6pA2YW3W\nkhjzO+64Q5L3SSOB8vuJEyeWvG+xNN1iiMwcEVElyORnRu95+eWX834f+lBteRYiYdALN9xwQ0ne\nZwyDJ53QnG7494iDhf3RT2wifHf6XGFmTk105zIye9zY8Ena0q5k4hBlhiW0ksUS8PPefvvtXb4W\nbWvvvvtuSd7XOnHiRBdvDsv84Q9/kNS5eHpQThHIcuL2yy0myZgvueQSSd5n/Omnn7pWxUQAsidp\nd8ueJUYAD0wSbAN69OusfuZML7N9iUH4UHhQDATx+gc/+IEk6YgjjpDkwzpxzPP3PfbYwxkTCJEj\nMYHEdiZLgjcug54Ah1Up8bCYmGfDUUlsYNPg5kC8q2Tf5kq8xICEBYJ2CNl98skn3YuNAagrB2w5\n7ktQzmFRrghOcBIuRHpGH3TQQe7lxIDLnsUoi3i95pprSvJusGLjsYkkWVWFKGZHRFQJOmUAK1aV\nH2YmwJ7E6+uvv16Sd7vsuOOOknx1xrvuuktSR/kVSrDceOONkjwL2oAUXCGl6i4VQ5IBrCshoFmC\nHZgzohr3w41H0EhnELBZogGMdUprq1LOtfkOIZgEV+y0005uLZDMkJ66UgnTIqmsTkNDQ9782KNJ\nezZtH8PEuNG4FiL8woUL3bheeOEFSX6fI4E88cQTkqSjjz5akg9EKTYPuxak63700UfRABYR0ZvQ\n7WWDdt55Z0le36G8ykEHHSRJuummmyR51p05c6ZLOcOwcsMNN0jyjIlLCp1tl112YXx59yoHITNz\nqlcqKSMJob6FjkmACWyGcRDmwHbQGZTrmupM4z4CZnBNYfRaddVVXTID0lN3Nt9Lck2lsV0ul0ud\nK8+b1EfCh9Gd+fszzzzjgoQI68UFh1GWgoQYcWFqUOx5FyuLVAyRmSMiqgRdYubOdMvj1OHEfvzx\nxyX5kMxBgwa54HWSF0gfI0gf3YVQujvvvLPsOVj0VKldLL577bWXKw+ElfqRRx6R5CUQ7AuVgD3V\nl1lmmVx4b1twbuDAgS4pohRb83c+z5rW1NQ4SzwJB2m1tot1nCgXSWuIXYVnyjj69OmT6vqxhfSw\nxSD5EaJ53XXXOalk1qxZknwZpJNPPlmSLxM1ZswYSZ7BuxquWgyRmSMiqgSZ/MyWibPoQXwWnQJL\nIaly/P073/mOC5sbP368JB80cfrpp0vqSH6XPGNzkpJWSWHyznT86y7g/yT0VPJWYE5vGLrSBRVC\nEE6Z9lyS0kit1Rcpg5/Rmfl9Q0ODYyB8s7bHEiCUFXS1O2hYwlbyjAwWLlxYcA+bPEMCzMUXXyzJ\n7zckxmWXXdZ9lrBOnidBI0ic5UiNlSowEZk5IqJKsMT1mqqpqXGnHYkVRNegM6PLcPqNGjVKkj/Z\n0JdaWlpKMnNP6cz77befJGnSpEkFf8Ovid2AskFpyHKSVzLRAkbj/kceeaQkb40neWLYsGEuso8I\nqDSmtVII4bJIMuVIV0nWbK7LMwrvb3VlW6qIRBfm9+CDD0qSHn300bwxhzjhhBMkeb+6tV7be9t7\nlju/YojMHBFRJVji+jM3NDS4YnmchFg6SUnDMog/tivoKWYmfZECf5KPGsIXmSVhvVx0hpmt54Gf\nAXHGsCjMRez+6quv7orgwWJ2r6TpxjwfrMTlIGvpJ2uLsPO1ujR+fiS+EHhUYGIs5WmSSFKbJp4J\nEieehrQovjREZo6IqBJksmZbVJKROYXa2tpcvCtRYUSRYQklNQ1k0SGLxZV3J7Cwh6A1j7XodgWw\nJOmUnQGsYvsVW0sx+j/+ZSzH99xzjyuNlJY2m8Zc5TDy2LFjJRVPK7SAfdva2lycQlq2km1qWGxf\nnXPOOZKk9ddfP++aaUiSvmw7JLwbRECWi8jMERFVgiXOmi15RsBajUUUYAHkxGQOnPbWIloM3a0z\nMxYKuW2wwQbOjwmjZfUnd7YMrSQNGDAgJ2WL92acxASg98FGZ5xxhiTvU3799dddgwI8EFlBhNXn\nn39eoF8Xi10+9dRTc5L3EeNXR/pZtGhR6vMj5h/JA78/3pSwMMWFF17I/To1PxtvIXmGJib8scce\nK5hfMURmjoioEiyRzIyvjiJpYO2115bk9a+0kzoLupuZYQSqiZx55pkF5YKW1GbrjI/CfWRCwdBY\nXWm0BrP89Kc/dSWe0vytFlmyiOzvQ2tvFo8LlnbWCH2WeWMjwI9OfvFaa63lWtTQQDArsrTYKdea\nnckARr2u7bffXlLp4IbOYrvttpPkxQwMAqTYlXJvdBbWbVAJMDYOogEDBrhECuZRarNW8mUPa1tL\nxQs6MHZeYsRMAkII1qF7B8EWYY2sclFOl8xyfs/8EJkZKwhdQag3/Ivoy9j32GMPSb54BMa8L774\nwoUclwu7V4vNN+zdnOkemT4dERGxxKLiYnYl2NJ2u2CMBPJj2Kp0/+LGxsac1DlmZt4UXYAR6DF0\n7rnnSupIbL/33nsleTGPYAGqcaalC3YG3VE32xYcgLm7IkFkcS8WM4D97ne/y0m+X3YSrARmiy3A\n0NR8t+rctGnT3P9RJ0rt+3KDZsK/obbMnTs3GsAiInoTKsrM9fX1BW4W+j+RtN0Z7LTTTpI8y1US\nXWXmtHRFG5aIe+PDDz90NgGKGcLm9PQtha64puwaJjGivb79Gf2/kvW8u4JwjjvssENOSu9pXVdX\nV8D+hNXCsjA088aNF7Iq0hTBR6w/TGtDM8P7S/lJQbjCkHgI702aXzFEZo6IqBJUlJmbm5sLTqJK\nWmRtDx5AIgYlaJKQpqP0VKJFFlimSJt3OeiJ/sxZsMkmm0jyfZuy2D3SvA1Ja9iVUsIWSXsnbT+x\nB+l+ceutt0ry7jw8MsF4UxMtQGTmiIhehkzMHBERseQiMnNERJUgvswREVWC+DJHRFQJ4sscEVEl\niC9zRESVIL7MERFVgvgyR0RUCeLLHBFRJYgvc0RElSC+zBERVYL/A9Qit87Dmc5HAAAAAElFTkSu\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\nOfZri5+5aHfv7u4uiQU2y0u/eeyj9PhylvmidESlluHDh/dZQT/Huccee2TFB775zW8CwVKspGLs\nujHcjVjjb7jhBgA23XTTtqxhkX3ktddey6zXHjPzzDMDYZ6t8C+LxMwJCYMMfcbM8c6rpfrxxx8H\ngp959OjRrLbaar2OPeWUUwA46aSTgPbpI9Xm19HRkbGijCLDxDA2Vykjn5tspJrnkEWNbNOaH+cC\ne1+MC86PZ9NNNwWCLlpufrXMMY9qNcFnmWUWIMTAa2WHoPM6PuPqjUPXVmLudi3MXBQz0O4oPtfj\nlltuAeD6669ns802AwJru76OrZVxDX1SN1tR429/+1s9YwNCMrcP6ne/+10Ann766awWloYf3Trf\n//73gSB2t8IxX+lBiF+mWqDYtfvuuwNw/vnnA+Gln3POObNEEV90g0AU0UwX1O2xxx57AME49MAD\nD5Rcr+heVHuZ3UhUaeqBBiE3JY1ckydPzj4r2gjidMM4RLQeVFrDRl2J+e+aDPLwww8DPfMz5PjA\nAw8EwgabNwK2CknMTkgYZOhzA5hsqyHkkksuAWD11VfPjnF3k6FMWDfARNGsFWWBahHR8uKd45ZF\n3b3jUMbpp58eCAx96623Aj2pkLPOOisQ5hlLGkcccQQAZ555JhAY0IqfF198MRDSBmudX6U51gON\nPYrS3oM55pgD6FGDdtppJwB+/OMfA6Vlgrbeemug2M1mkYe8StVfYrbQJTpu3LgsoGfHHXcEQvqk\n96aVSMyckDDI0OfMrOFAY48BIupbs802W6ZfusuZnL/22msDIVm8Fah3V1e3/8tf/gKEkjIytUYh\nk/O33377knOYSGIQiIyjnim7a1fQ8Od90EYx22yzZYxQy/xqnWM1XHPNNQCMGTOm13jVj/OGMN2J\nShW1hk6a9H/ppZdmkksR2h00oiFQyemGG27IEmfGjh0LBOlRN2O1edaDxMwJCYMMfZZo4e4mqxhg\nP3r0aKCnKAH0sO/mm28OBB3MnVkdMd45m7FYlkM5fQ3gpptuysIPhSzrPEQ5RhbrrLMOENjc3Vxm\nNnz1+uuvB4I0Y1CJPbj6Os3OutFa4b1P6v7aCfKQwYqYSk+B57Ao4A477AAEa3tfIpZWlTic75gx\nYzKJw58WUygqf1zNldkKJGZOSBggaLvObKpYHGgvtA5r3Rw/fnz2t1deeQUIQQmrrrpqr+/K7s2g\nkr4VSwATJ07MAuplFC3qsX5VCXGYpgEHfr7ffvsBQUfeYIMNALj55psB+NOf/gTAxhtvzP/93//V\nPL9yc4yRD0TJfwZhbn/84x+BEJJbC+KgkCLLtPdAW4Tej0ro615THR0dWYGM8847DwjlnbWVtLIo\nRtKZExIGGZrSmWUpI7TKQV9kvFNp9ZVdr776aqB3krp65+uvvw6EAnju2u2GOqAWd3V4CKlvQtaK\nEwhiTJkyJfOtWug9jpLSfmC5IOcrk6unKbk0g3hdyjGJ7K9eWCmtU/g3feox4hRRGxsYiWZKbLNo\nJUPmpQtLJ2+xxRZAkDz7s0xVYuaEhAGCtuvMsa4UX6+SJVortvqJwfrtCmKvNr9rr70224mFFm8L\n9xclDMi+r7/+OgsvvDBQHNueLwuUP2e1xIdyqFdnnmuuuXp1OQT47W9/C8Byyy0HBIY2hl6LdXSd\nmsanJLbVVlsBPbH5EPpc14L+0Jl9BpVKTRzSE1H0jLZiDYuQmDkhYYCg34vgu4OrD+f9cLK2urnM\n3Eo0uqtrzVbnM4vGSCczox555BEgpC9OnTq10OIdF4w37lffq3qkhdZrQSsiwIxJPu200wCyuGuz\niMrB9Yw9DrEkpmSjVVg/7QUXXFDz+Pq6kUFnZ2em2/vTaL57770XCAUqRTPtgBIzJyQMMrSNmeOd\nyEbc7sjqifH1u7q6CsuuGilVrSVLPcjvejPPPHM31BZ1pEXarCAT101kl4HUfz3uoosuqlvnj5vP\nVYLXyzX/7rWrd3Z2dn/1edVz2VjNhnxKTa6D98nfo+t4/bLnjjOv9BTU0uwvRl8xs/f2z3/+c+Zh\nUELzftvUT2+N848j3epBYuaEhEGGftOZ1S0tk5uPoCqy9LXDh1fPrj5q1Cjuueeems7biNWyHWiF\nzizzev9PP/10IOj0ztE5jxs3LivoF6O/17AexGM1N+Dcc8/NvBqWaTIqz7JI6tAtapnb/rJBMcq9\niEWKf3yjFGG++OKL7DND+RTz2pFY0KoHodXJHq1CK1Mg42QB00Gfeuopz+01G71EQ+grMds+Ujfe\neGMmVutKU40sCltuBknMTkgYZOhzMbva7j1s2LDMwKUobljj10lEm1bQjuIE1dahs7OzTyWUvl7D\nhRZaKAup1YAXlwvqj+qciZkTEgYI+j1opK8Qu2xEo7v6/PPPD4QkkHagaMzlYJqk5ZhEfzBzu1Bk\nl2gXM9dz/9t5TxIzJyQMMgwaZm7Vrm7pnDgZoRoMJojD/FqFWsrQfnVc1Tka4FCpZ3I5mO6o96HV\n6O9Su/2FxMwJCYMMdTFzQkLCtIvEzAkJAwTpZU5IGCCoqwZYK40LRUaWSllT7cBgM570xRxnm222\nLCc7d13H0/Lr5efY1dXVDSFe3MqnlbKVYuNoUVy9x6200kpZhdK42brGv7g6TKVnWheYx8T12Pol\nNvvriPQyf/1Rbg3NCdBHnPdi+ALmvt/rZ6XvxihqZdNIgk18Ln+fOnVqsmYnJAwm9Fl7mnrQTAPw\nhGkDlgsq17KmL69froCk2XhxeVxhhp/ir8ycF5Vt2GcBBxE3z1O891k2lrsc4rHmG/DVgsTMCQkD\nBG3Tmb/5zW8CpUX43Km9bqW419iIYGF1dZpWFABIOnPfwvWP28A2g3paDEGpzpwv1JcfU1FZ6ClT\nphQa9CzkELfljcsolXvvao3iK0Ji5oSEAYK26cxFZXHdoYpaW+60005ccsklADzzzDNAKLquLhMX\nSfs6oJyLRAZQ71LPa0VDvHbCYnXNtAlaffXVAbj77rtbMqZ6UMS4rs2iiy4KlBbiz0sRRRKt54j1\n8Fos4o7D38sVSqyEac411dHRkfnsfOEtS7PkkksCoVql3erj0kN2now7RZRDErP7BxdffDEAu+yy\nCxBeFH+6gVfrcgnl17BIZC1X2qodPvAiN5PI9zGrdv0kZickDDJMM3JqPgpHo4E/l1pqqV7H2iVi\n+eWXB4I4pLugqANjQv9DqUk2skSU629/sVr6MldCEcuVM7iVY+9yx9YTTeb87GHtM+v8dVHlSyzV\ncv5KSMyckDBA0JDOrAM87vzQSCG3OC520UUXZfHFFwdC90H1qmuuuQYIrinjf+3AaBDAtttuC/To\n2urbRSinbzW7Q1bC3XffnRlY5p57biB0w9hss81afr3+1pm1e7hmMZSqZGI7Y84000xAbaVra9GZ\n82uqYclrWmjC9Xasfme77bYD4D//8z+BnkKTdhfRSBv3G9cA/Ktf/QoI9p6zzjoLCM99ubra8TuR\ndOaEhEGGhnTmol5MjZRX9TvuhrfddhtHH300EErsqEeJOCPHjovqI8cddxwAu+66a1VmLod2MLJ4\n7rnnMreMO7DdD/qrUF6rsdlmm/GHP/wBCEwVM7Pr/tBDDwGhw+STTz4JwIYbbgj0rHU990N915+u\nZZ6FDehYZ511gCDx2Y3CgCdtNWZC/fKXvwR6pIbLLrsMCO4jJQmt1HYutYPm2WefDcAvfvELIHhi\nrrvuuhLdvNEyxYmZExIGCKYZP/N1110H9LCU+sWbb74JhN3VIBHHbD9jmbkc1EmKdLa+8jNbCPDt\nt98uSUKIw1Zb2Z+qL3VmO2Ouv/76WSyAOqWsJkMJWUgPRC1lbWPk5zj99NN3588TM/Xyyy+f9Tdb\nYYUVAHjllVeA0KnTnlKrrroqAPvttx8Av/nNbwC4/fbbeeCBB4DQqME2NRdeeCFQaqXfeeedgSAF\nuPafffZZiY7sz1z4aNKZExIGE/qdmdU5Ro8eDfTozO5qMtSWW24JwNVXX+04gNrSyuKg+r4qoC6G\nDx8OBCniiiuuYMUVVwSCnnX44Yf3+tlK1MrMzejr8847LwDrrbceAI8++mgmERnB5VrGFTdkUO9F\nI+OptIYyvqWOl1hiiazJ2xlnnAHA2muvDcAxxxwD9HR5hGCJ//nPf97r9wMPPJC33noLCM/e22+/\n3Wu+eiyMStQuYoWStdZaC4Bbb721ZI5a0XNRcYmZExIGE/qdme13vPnmmwM9wfvqxrfffjsQdk5Z\ndt999wXghBNOAIL+US6JvBrazcy2jVHaGD9+PAsvvHCvY+KooXY2HWvFHPU2HHHEEUAYv3aP7bff\nPkvCcE1kYJlq1113Bcj6OMtkjSA/x87Ozorz6+zszJ4vpQHXaOzYsUCwpH/729/uNQeL/L/wwguZ\nHUdbwLPPPgvA+eefD4RoRNnVaMVyUmSuPFCvz3Px24mZExIGE/qNmePG3WussQbQs5Otu+66QLAi\n3nnnnUDYQfXhTZw4EQiWynqw5557AnDGGWe0hZmLWHbq1KklGTT+/nVhZlHUWK2joyOzERgJZaSX\nxy633HKtGkZZ6Sq2EGtdf/HFF7OIQb0K+pVvvvlmgCy6a9y4cQCZzzxfvdM1WnbZZYEQuXbRRRcB\npf5k/edKBfn00Xjd9XxMmjQJgI8//jgxc0LCYEK/MfPll18OkLHwHHPMkf1NK6MxsUZ0HXzwwb2O\nVS+pJYm7KN663Trz9ttvDwT/42effVbi83ZnbrRhWyW0kplXXnlloMdaDcGbYITUv/3bvwFw4403\nZnMw7tkWuO2oiV7LGnpvOzo6Mj321ltvBWCPPfYAyPzPxsjL7j/60Y8A+Pd//3egh6G14/gMahNR\n4tDe49rqu/7f//3fkrHFkprvZL1+5qZeZkWHRkSmxx57DICDDjoIgN///vcATJgwIROJ7H1sKJ7u\nDoNJNJr4ojYbcNCOlzkWobq7uzORzJfADaaR8VdDtZd59913B0ICQC1wM4qrxSh2f/rppxx11FFA\nT/gqhEIRvjBx1ZhmUG4Nrd7iS+Tz1tHRkYmxJnFo0Hv11VeBEEa800479ZqXBrKf/vSnXHrppUAo\nfm9SkJVT3Dw00vqyq96dfvrp2fir1RObNGlSErMTEgYT+lzMPvXUUwE44IADANhoo40AGDVqFNDD\nFIrZug5MgZS5Nt10UyCIMvEcFMM1kH019rLH9nXZoGWXXZbvfve7AFmtMw0rsbjVCrRCzJbdXnvt\nNSAERqj2jB8/Huhd5/mkk04Cwjp73w3AMACoKGmnHpRzTcWVNnN/z1hb0d9gEddhkUUW6TV2x2iq\n6k033cSxxx4LBOnKIBIZ2HujxBM/f/lx+Tefd6UWx5OCRhISBhnazszK/epXpi+6y/3kJz8BSoPL\nIQSnmzKovuFuWIStttoKgKuuuqrq+PqamfNNx0yjs5hCu5uqQWNz1GZhKqo6vmGcJrpo3Orq6srC\nWHWvaPA0mSGuI90M8nMcOnRod34sIu9G89pKSNowDGAyYUT3kskRv/vd74Ce0Fzno/SnTm6gh4Zd\n7UpxkYW8FBbfgzJ2lsTMCQmDCQ0xc5GbZ9iwYZnOEENLoUHuOs0tt1Llur2O9bt+HocK1jOnvmJm\n2aCzszO7b1p41d3agVa6pgyQMGlfBjOYR2krHzIZd67wPlxwwQVA0KGbKdVU7xrGzOdYDXTRNWXC\nhZKJJYD22muvzAsgE/s35/HEE08AIRTZeSmp5CUTx6EUG+vMiZkTEgYZWqozzzDDDNmu4u530003\nAXDDDTcAIcG7KKSxHAy307+s1c9dTmhh1Mf5xRdfVGXpvtaZl1566SyR3d1Z62o1W0AjqJeZyxVl\n/I//+A8gBPPkzg2E4BEZW5sAhMAM2VubyV133QWE9Nbc+HqduxbUEs4pZpxxxhL/uMwcFweIx5SP\nZ9AmoL3AkOIXXngBCCGh+qZFnN7Y2dlZNZAmMXNCwiBDU8ysDmtaV/5c7mYGmuu7MzTOiJlyUO92\nhzTKptax1qN/9RUzy77bbLNNZj/wp1FS7UA1Zt54442BYKkth6LeS7WwqMxsCqB2DZMdilip2eIE\nsu0222wDhHY45a5RlIJYdDwE6dDyQUqN6tB6afQ/x9ATMHHixIyl43iDZM1OSBikaKnOPHTo0BI2\nNGHdtMVVVlkFKA0mz8PP4gSLouMaLU361Tj6VGdeaqmlsvhkd+RGUjhrRb0683TTTVcYI96IPivz\nKoVYRK+V9oFKayhTmu44cuTIktLN9aKjoyO7F5YLMhpRprZIQc4inX03/3u5dyZGYuaEhEGGtkeA\nuRPLPlpy1aVl7Dw7tSNGuQh9xczqiJMmTcrmbFaYTDitRIC1QuKJYZkgo/JidmymMEO52OxY8stn\nrTXq0/YZ7e7uzu6NZaGNszfl09JD4oc//CEQsgPzEWnq93EcedKZExIGKepi5qK413Kw+JmWbpPz\njbfWQu2OpfVv4403bikjxKhkKWwnM+uL/fDDDzNGNqLKiLZprTiB2Wk33ngjEDwSjjduE1QJrveR\nRx4JhJJQol0RYOUY38+K8rKrNUqfe+65S7K9Hn/8cSB4LbTe64c2VtviBBY16O7uLjm/JbX06iRm\nTkgYZGipzjz77LOXZIe448ZsYwbUOeec0+vvfd00ra+Y2d129OjRWRZOUbmYVqKdBf3q0a2dq3Ho\nEyZMaPhcMepdw1oloHw8PQQmX2CBBTKfuwy82267AfCv//qvQGhto/RiDPp5551X07W/mgsAU6dO\nbX/ZoBhDhgwp7JMU38B29FVqBH31Muc3L++B/X79WztQ78s8/fTTZ24cESe41ANfAMXndqx3pTWM\nN4lZZ521xC0Wu6+Ez6jn0Ih3xx13ZGto8YH77rsPKBWjrb197bXX9jqX5867AWPxPtXNTkgYpOiz\nskHuOhpC3OXjnbOjo6NPRe2+DhrJSy/TYtBIK7DEEktkiQb2Xd57772BEMZo+GMrUG4Ni1SYrq6u\nkoSK+P57rJ+rIillPP3001k3D9VEy1+dfPLJQCh8EEsijsuCCBpD89fzO7nEjsTMCQmDCW1j5tln\nnx0I5VLyDndoTUBCPYEGJp7H7pR2MXORHtbX6A9mbhd0kekyE/k5DhkypBuKn688Y8eGLb9jGm+c\nGql76d57783WVfbUwHXmmWf2up7PQWzwyrO/9gTds5bxTcyckDBI0XJmbke/pFZAHeapp57q9Xlf\n68x9jYHEzEWoZQ3Ve/PW47iUkSgqTmDJ4XwqqEUKPvnkk7JjKwpNzgek5JMu8td3fCloJCFhkKEu\nZk5ISJh2kZg5IWGAIL3MCQkDBdbtreUf0N3uf7POOmvbr5H/1+z8Ojo6ur8yutT0b8SIEf02v/wc\n6x13Pf+mTp3a8HeHDh3a/VV2Xk3Pyqyzztr0Gtb775hjjin5rLOzs/urXOq2r2HRv37rzzytoB5r\ndjPRae1I+K8FRdbsdozHogtFRezahXZ5JKYVz0yyZickDDJMk8xclBTepmv1uZ/ZaCD9iu3c+Wv1\nMxsFNXLkyKbjpjs6Okqy49qBcimC1dawXBH8RmBpYksVtxOJmRMSBhnaxsxFhdPzhczqRTvyfxtl\n5u9///tAyF8VtiN59tlnAbKyuuUgs+RLCkFgSdvy2Ny8ETQTAfbwww8DpeWRy7XfrQbnevzxxwNw\n4IEH9jpHLbp70bGtlq6aybU3IkzJxDjvZpCYOSFhkKHPdeZqsayXXHIJO+64IwBXX301EMqWrrfe\negD893//N9CaVqj17OrlmqrFsOi/bXiMCTYz5v3338/ixG22vuKKKzoWIDCDFT7i4nH1rFmtzFyP\n5VZpY5lllun1uRlDu+66a6Hdwza2st7CCy8cj7dkXNXG1Cwzx3O3FJBtWeuBpYRdu/XXX7/ucwif\ngy+//LImZu5q+EoNwpdYEXKhhRYCQr+lp59+OnNtmHJm6tvdd98NhIe/CM2UuamEWkRBX+K4XrNi\n14ILLphVqNxuu+0AePTRR4GwOSlWb7755r3+7qZmFwVT5RpBLErW8hKrIu2www5AKDBgTfA8ioyX\npg6akhrX2TJl0M6Txx57bFOVO8uNK55r/HsjL/Fcc80FwNZbbw2EskEW47Aog/Xifem32GKLwnPW\nK+YnMTshYYCgz8Xss88+Gwi9fBVDZNERI0awzz77AKEbfYwnn3wSgF//+tdAEMc9h8xcC1ptPClK\nY8v3lC5iGtlJFlckXWCBBRyr46x5PLGYPcsss3RDqBXdCNtZz1lDnciLq/7f3kuPPfYYEKQOez3n\ny/lAYG7PXQs7TQtprCuttBIQnsUFF1yw199dWztarL322jWfOxnAEhIGGfpcZ7a+sNCFoz720Ucf\nsdhiiwFhF7dcqbu4jnqZa4kllgACI/dnGF7MdOqmkyZNAmCOOebImO3+++8HQrkYSxqpG99xxx1A\n6GM0bNgwoEePBLjiiivq7u1sh5FmoBEz7nAom+bdMRr7rCctAxv6eeihhwLw2muvAfC9732v13H9\nXYoZSosQdnR0ZM+g9pwiaNfQRWvhP5nbebcCiZkTEgYI+lxnjgv95c4N9Oz6umJ066jf1cq4c889\nNxCsvpXQ1/rWvPPOm43L3k12DnR+MXuqbxlooTV5zJgxJWWQYlRzTXlNx/Lyyy/XNAcITOV3tWHM\nPffcrLnmmr3GXq2DgxKMvZo/P9t9AAAe70lEQVRcw1okj0bXsNbnyeP8+eGHH2ZWd+0fRfDZ1Xot\no3vP9t57b44++uiK50g6c0LCIEOfMXO1sD13uClTptSclmeBtUps8uCDDwLwgx/8oOzf+4qZ9atu\ns802mSU3ZoY41HWDDTYA4M477wRK2a2rq6tEionRyoJ+I0eOBEJvZT0Sf/rTn4DAzGeddVav4u6V\nICMb5vmLX/yi5BjPpR++vzp5mlyxwQYbZKGuhvVqJ4gt/K6Z6+Pvebb32Zg4cWLZ6yZmTkgYZJhm\nUiAr6S9Ff2tFMnylXb2Vze20RH/xxRclFu8iy6bf0fot8lJONb2vGjOXk5iKQm7jax1zzDEAXHDB\nBUDQ9d9///2aPQn635XMbOpWzmddyxyLntFmijEY3aU+P27cOJZcckkgeCR++tOfAqURdXox7Fee\nG2ev4yohMXNCwiBDvzOzPmIbjeWx2mqrASGKyN11++23B+D888/v9XkjfuV261umN7pD55lBH3vc\nZEyWMhpKCUGdup6WN0XMHHsKKiFmEZulPf74471+Hz16NAC33357zVKN92OzzTYDgh3k1FNPLTm2\nr1Ig4/bD3nftLyNGjMj0d/8WR+eZR+B9WGONNRoeT2LmhIRBhj6PABPqSjKyu+6IESOyCCiT4v/w\nhz8AYRf84x//CISdsxFG1kLcLjgfrc3u9l1dXZkP1ciuMWPGAMEyutdeewEhW8r51cPITz/9dMW/\n18PIMYyZNwNowoQJAFx//fVAjw3DWGylKMeuj9qMOO0HPg/G7nvtoUOHZvcuth20qzhi7DXQu7Dy\nyisD8MYbb2RjEsZNHHLIIUCQGpspfVXNhx0jMXNCwgBB25i5mrXOXV2LtEz2j3/8g3333RcIVt7f\n/OY3AOyxxx5AaOB9+eWXNzy+ddZZp+L4moWMZMK+lukvv/ySrbbaCgg7/SmnnAIES65QJxWV8nrN\nrJIl/+Vf/gWoPr9YPxw2bFjGgFpoLQax7LLLAjB+/Hgg6N1GM1155ZVAT4TaTTfdBITnQN3Z8clk\nSls33HADAFtuuSUQYpr/+c9/FpaYasZWUg/0c/u8ffnllyXXtpSVkV6imbHVm9HWlAHMi9UrDkBw\nsuvOMMH9888/z0Quz18kqviCGCJn+lk9qGQ8KQoEqATHqpjp4p544olAT2C+4Xu+JL485513HhCC\nIzzO0EFF47xRqVHXlC+xSR4XXXRR4Zw04phor1owbty4Xtc2VPfyyy/Pku41AB5wwAFASKyIx+3v\nhqcut9xyvT6HXv2KC+fo/BxznFpZD2655RYgJL7kjYaqFK6vBs6bb7657utUQzKAJSQMMjQlZjfC\nyBotVl99daAnjQ+CoWj66afPRDR3PSteCkVCGStm5FalQMrI+fPFLpf4WkoaVie95557ANhll12A\nHpHUYzQCGQ6pe0Y1w3l6zxzPJptsAvTcu0bn6LnLMbIipHNTUvKnriilDQMifB7yYYmuq0Y/5xLf\nN9M/vW+x+A/1VXR1fZoJ+DFd0dRaJaPu7m523nlnIKgLzsvno5F18XluRIqAxMwJCQMGbQ8acYd1\nt3fXMVBdI1AeMpdGKo0iFkvTuFMUmG444qRJk1pS2TGvtxnS5xitsKm7TGPWrbfeCgR9Kw9THjX+\nyWgyr2zm2DUwvfrqq0DQx1dYYYWq7pl6q3PmrysscGdCwBxzzNHrd1M6TcSoxIaHH344AEcddRQA\nP/vZzwA499xzgcBOVv58+eWXqzJVq4NGYqnBJBALMb700ktZoI9JJ1b01CXl761A0pkTEgYZ+iyc\n84c//CEQgjUMFll88cU9N9CjF8VhizKWemfsqjKlUEbWOlxvEHtRqKNjO/HEE7MUPSUNy/4a6qfO\nVKnrg/MyGEbdTCvxNddcAwQLv0xujWkTIN57772GmbmeziKHHXYYEFjV78rMWv3zQR3eM/VN3W6W\nVpbBigrbvfjii0BPSG+RBCZaxcxKFkpdcU+wZ555BuhJ/XSd9bio83sO75F/byZpJzFzQsIgQ0uZ\neciQISU7jzu0O5NsZIG3cj7kOIE7Dp2LEzCEIYyjRo0CQiHySqi0q8e607hx4zJ/qZZddSZ/qk9W\ngtZrLbd+R8Zda621gFCW1XunpOD8XnzxxZLyS5XmV26OMZ544omSJgNKCNo5ZB39yvqq9T7kn4Nc\nVwYgSCoyVlG/KtMrjzjiiErDBZpnZruQaJuJxyjK9U+zu4cpkRaZVFo86aSTep2jkUJ+iZkTEgYZ\nmvIzx8xVTh8wasjCbEsvvTRQGrooPvnkk8xqrYU4hp0XjQBzJ9XKrYVcJmkUsb633377ZUwTt2SR\nXbXs6leN8dZbb/HjH/8Y6CnmBqVFAPRNawNwfjKioYMPPfRQI9Pqhf333x+Ak08+Geixwrqu2g60\nPM8333xAkHjU/Z17vtRu3JZHeE+LGNk5G1uQbyfTiB/W68fSHQRdWL+9z6rzi8NnDUXNw3viMV5P\nr0aMVpbWjZGYOSFhgKClOvMss8xS0qzNHVEWNSHfBmuyrzGt008/fVbIriiSy11dS6zXaKT3cz36\n1l577ZX1iJahX3nlFSCUlonb0zhWy9KeccYZnHDCCUCQUtS74nned999QIiWa3Z+tcxx2223zWLG\nY4tt7hxAKJmjhV+L7ueff57pjtoWZCyZLO7brXRiLHe5CLBa5lhtfjPMMENmfdd/b7FHpRTLBMc2\nl3LvSiyV2hBRD0SMRqITk86ckDDI0Gd+5ljf0adqYXfbknzwwQdZlFUM9dR33nkHgOOOOw4I0VYv\nvPACEBiiFtRrCZVp1e20/FpowPjq2267DQjtS2zfetlll2WphTHiXTvW85Ru6mkxUy8zL7TQQhkT\nm8ZpVppzjduVivx49RNrkdfqXmSdNiVWndLov1pQ7xo6rwsvvBAI3gUzuvypBKV/WbvCmDFjMnbf\ndtttgRD7oE0g1uuTnzkhIaFmtI2ZYxaNC/fJQjKybHXqqadmMcgxZHcZwcggvys71oP8rjfTTDN1\nQ2l5mnKwYJuRbeqI6sGypzuyjF7LuWOoRxqzXQlx87Z6mTlvPTbu3Eg79UCt2wcddBAQ9OJy8d3f\n+c53gBBXb0kkLeX33nsvEPz0WvqrjTF/jXqZOW43KwNbIEFYlECbhV6NNdZYI4tk1Ncu42orqaU1\nUhFiK3pi5oSEQYY+L7XrrmibVlnYmNZ33nmnMN7YTBXb0dTCVNVQz66+4IILlvgJ4wg2GVjdScZp\nF5otgh9j/vnnz6QMYRE+85a16FuAUCbJN4krynU3sstiheaux2i0SHwtz2g8NiPu1Nu1oNtS2DJV\nRi/OMsssWYmkZorr14pambnf62Y3g1YUIajnQZhuuumq1qNq56I2glb2mtIwWRRU0cg9aMTdFqOe\nNRw+fHhJkI7qg+7ForHdfvvtAKy33nqFx7QDScxOSBhs6O7urvkf0N3uf52dnW2/Rv5fX8+vr//V\nuoYdHR3dX7Fa2TWpZ12KzlPvc1DrNft6DffZZ5/s//PNN1/3fPPN16drWPQvMXNCwgBB23TmVhXV\naxWKgvTL6Vu1jD2uU11P+GGzYy4H0xCtN63+OmXKlIZ15qIulK1EPXO03niZ2tQtKU6gga8oCagR\nxK7CSrAohQFVIunMCQmDDC1nZl1M9bpk6tnBGkGrOgg2Wg613fMrsqo2Ys3W5WewSq1opGlAM1CC\nmjp1als7ecbXa5e0WXT+xMwJCYMMdTFzQkLCtIvEzAkJAwTpZU5IGCioJ2hk+PDh3cOHD68YaBA7\n+7fccsvuLbfcsuYghdNOO61mZ/p0003XPd1001U8ZsiQId1DhgyZZgIOVllllZrvRSv+xWvYyLXi\n7xQFdPj5aqutVvK3GWaYoXuGGWZoaA7Vxpyf39ChQ7uHDh1a8XxdXV3dXV1d2XkXWGCB7gUWWKBk\nHvE8PX6vvfaqOmavEc+73L0rmp/H1vp+NmTNjnvT5qyKJVbVWi2A5fy0ppdVKyfbDFrlo6yG/vK7\nF1mz4wZneSt/XB459p3H61/nM1T3d6qh3BrGzQjyRenjFrlx4YCi+cXNEaByz+xaUXRPylnrKyGJ\n2QkJAwQNldot46sFenywZSKsyp4jLrVarnWnu2kzqLbr1YPOzs6Gs6Ly17eske1d+gNF5Ws6Ojqy\nYgNmF8X3sKh9af7eFJW4jUsieZxlmOKMpkrw+nnkIt96fS5zdnV19WLWcnAecWqnfvTOzs6StsIx\n4ucrnm9eqvX/cSxE0bmLkJg5IWGAoC6d+SvFvZBt87uMZYIs7OZuY2F629P4eZ6ZZSyjyNyBLUHk\n3905ZXJjifNNsauh1Tqz0U+NlAmyuL9F2WXwVuVrQ31zjHXHWA+VOeKotq8Mbb2+Kyx0YEnmSZMm\nOa6i8VcdZ36ORc+o5+/o6MjGb2E/y035DF577bVATwkrCOWg85JHfC9kXksvW3zDc/qMGiGppPDx\nxx9XLSkdx9cXITFzQsIAQctjs6tZK92hZDBbfFok/vnnn8+K/F1xxRVAYADZ3KwWiwbGzFFOh4uR\ns9S2lJltHWNpnXpggwCbkJXTCWtFTmpputJIvKbjx48HYIcddgDqyxhTNzbu+6233qp7HEKbyuef\nf151DfPMXM0Kb+WR+eefH4DlllsOCI0J77///qxQvlVHdt11VyBIjX43blPkOPK6swwc6/tKmp98\n8sm0XTbIl1gxVJFymWWWyR6WW265BQjdL5ZZZhkg1GSyV1OcxFBP/a16xOz8g9BKxIYPRU87Syia\nHXzwwQCcddZZAIwePbpqHeYiMbto0y3XybMdcCN2jZy747JvtzWtK6HcGrrBOJda1s1rux4+d6pt\nitszzzwzhxxyCADnnnsuEOqh2Xf6nHPOAUIl03iDMGXV8+QRqzfJNZWQMMjQ58x8/fXXAyHB3CJp\nitkjR47kv/7rvwD42c9+BpRWvPTvit3f+ta3gFBNcZ555smuV63gWl8FjVSC4rQ1pceNG+d4gMAy\nzqEe8bsZA1gRDJ7QDRmzaqVnyprn/rzooouAUH/8yCOPBEIXxUmTJpX07aqUxtrV1dUN9XWOiNWE\nu+66C4A33ngDgF/+8pcAPPjgg0CP1GCn0TvuuAMIao3zsq66YraGP9NLFcc//fTTkutXqgteCYmZ\nExIGCJpyTdXTP8fdJr8jQQgScNd9+umns55Gdr9Q79h8882B0IfZbgmW7lEPl8GmTJlSVVfqT2Z2\nJy5iWnU1d317amlEWnfddRvWmWPk19L/W0Yn7t0lk8iQutLsCDFixIjMSGmv6ZVWWqnXdXwe7Pe0\nxhprAKE2unaQDz74oK41rOUZjXXjOIwzdnE6F412d911V9ap1DJNzn2jjTYCgtHMZ/a3v/0tAKus\nsgoACy+8MNDjuq0WxJKYOSFhkKGucM44SMAdTR21kpvBHr5aoHfaaScg7MD27V1++eWz77ir2d3R\nvkTC66t3aQWWmUeMGNHWYnT1QDa48847S/oTxcws4/l3AwxkQAMuHn300V73qxbEwQ4ymLre+++/\nn13X9dZWscIKKwChB7EBQPbWzvfi9vyuq6xXFMZpgMYjjzwChA6fV199dYn0UUk3t5C9vZ78bj5J\nwu/5N8+nDcZOlVqzlVC0v2y44YaZvWCfffYBglXenxbnU2rcbbfdgNBR0gCoddddt4SZG01GScyc\nkDBAUJfO/FXOZ9Ydr5LOrJ6n/mHHRn3HdqvX3ygzTJo0qVAPNAFA5lVCcJeXIdTPbrjhBtZee20g\nBGLE6Cud2YCDxRdfnMsvvxwIHQ9/97vfAaUlVsWJJ54IBEvvlltuCfSEf8qSWlrjwI1Y35pxxhm7\noXfSQB7TTTdddg7vt5KE4zW4xXNo0d10000BGDt2LEcffTQQ/K5XX301EBhYNpLtPLe6p771Dz/8\nMGP5cqG/8Rxnm222bigNBS73TDn3OeaYAwjBMPrz/c7zzz8PBJ35s88+KwyQWWqppYDwjmgRt0/1\n7rvv3mt+U6dOzeZsCHTsHUh+5oSEQYam/MzuHHa5v+OOO7Lufoa72TvZ0D8jXtypGomokvXd9dxB\n1en0N88555xZn2Shzlau920RM+sj1BdeD9T78/5Go5sM9Nei70/tCO7Q6nvCe2tXwkqoZs2WGfUE\nvPPOOxm7mPix4IILArDvvvsCgcHU/2Qskws++uij7L4rRWkRV5dVYtPOseqqqwKB0ZSuHnnkkRK/\ncmxNzycixPNT8vOeTpgwIYvWUuf3eRo1ahQQbDO5HtdAZZbXS+Ma+rtSmNFjsv7YsWMBuPLKK3uF\nmkKQGFJ/5oSEQYqGmFkdQz24HJZddlkgRNOcfPLJQIhyku0qoajgvEzlrq7F0HGpn15zzTWceeaZ\nQHFZl1brzIstthgQUj9lEa2ezz33XHZP3Pm1uLvzm2CiHlmpqHy1NqqNRIDJVJ7TCCgZyxRBW7zK\nKFqu33777UyndI5/+ctfgNDW54ADDgBgm222AYKfuRwLlivXkz+mXLJMXHKqnIVYqcQY+F122QUI\nz6i9pCtZl7fddlsArrvuOiA8s+uuuy4Q1nL99dcHgm3otttuc+zZs1lkK0rMnJAwyNCS2Oz8Tu5u\n/sQTTwDBEqsV2x27Hv+vO6PWVZlaPWznnXcG4NhjjwWCvjXPPPNk+p7X91wywiWXXNIWa3bRbt7V\n1ZUxjU3LZWD1yIsvvhgI/l39yrWkGsriXv/TTz+tKWtK3f6GG27ILK2yquPyGCPzHnvsMa9RMndZ\nTx3RdZDNbQLnnJSyyklj8Vj1Tfvcvffee1XXUJvAa6+9lp1HD4d6elGhhHJ+bsetTn722WcDIfLL\nNT3vvPOAELWoxGAW1YwzzphFg2k1V9oyamyTTTZJzJyQMJjQEmu255h//vmzyBb1GyNyZGzZ1O/K\nAnH8bzm4q8lofke/p7u6ftj7778/i/U99NBDgaCr5ZLDG2LmeO5xTrW7q/qlksDkyZMzJlAHVVcz\no6aVqFdn7uzszOak3977+T//8z9AiERTZ7XsTj7/18yv+++/v9d3ZTmt3N4nWfK5557rNZ48S+ZL\nOhfNMZ5fLM0svfTSWY60YzLOWsnPdZAxr7zySiBIfBA8J+q7Mu1JJ50EhIivG2+8EQhRZUZJvvrq\nq0CPxOLzoGR50EEHOS/n2/7iBBoIDj/88PwxQLiJpraZ6ljGNVTuOr1+96FRdNMFojHFhIsTTjgB\nCC/1Kquskm0WOuZjlHsQvL4JH4YY1gK/awrc0ksvDYSN6OWXX+aMM84AwkOi2O0CF6GRHtBFL7Mi\nqqLcxhtvnB2jkcaHWpH4qaeeAsIL6Mvuy6XLba+99spCcP/6178CISnfl9W5uPn7kquWuenmn4Va\n6krHz6gqgKpCfvyez5fYZ9L1cJN1/V3TsWPHZmvlM6frUeOm5zzssMOA8KyefvrpAFk1nREjRmTq\nlOeMjZrJAJaQMMjQEgNYno1NelhttdWAEKRuqJq1khQ7Yof5UUcd1YvpoTRY32CRmBEMotDIMvPM\nM5eUECrThaMpMdsdVmOQrikDVwzfs9TR1KlTsxBT0wM1vDjWIuat5CJpZX9mx2ECjaKiYZvbbbcd\nENhc15XupY8//jgTuWUzVSMNQjKwQSTOrajiJ5SWAhL5NTQFUnivlEQgGPI8j8Yp67b97W9/A2DR\nRRcF4Fe/+hUQJLXFF188++zOO+8Ewj1ynorKN910ExCkHZM5NttsM6AncEipIQ5PLqrjVoTEzAkJ\nAwQNdbSIoY7x6aefZruJn7kjGUThriMzb7HFFkAwQmyxxRbZDmlQijulO3Pc/cDAEENFlQ7efffd\njKVjNFuYL3bXPP7440CQPEz5lIFk6kUWWSTb8WVmE9o1yGhnKBpzuUCRent7xcgb8HQL6XbRwGiS\nxM9//nMgMIdGRnXsYcOG8dJLL/Uah3MzBdb74vpYAEB2yrs7ZdBabAVF885LaEoQ3n+lJyUNr22g\nh8X38lKkLG0JK8sIrbXWWkCwDTh2XWNKj9pNjj/++Oy5jYsk1GMbgcTMCQkDBk11gYxdBFdddRVb\nb701EEz3uiZkVXdei/AZ7G5g+quvvpqZ77WWqm/KHu5YWhJNAIjn8vrrr2c7YtE863FNDR8+vKT/\nklZqLb2W9rH4grqU7pzTTjst0xt1SRh+qivEecqQjfRhKje/WuY4dOjQkuIIspolb2QhvRnHH388\nEEJW55133ozVdM3pRlSikal1e8lo3q+8xTm2c8RrWW4NYxuC5zvssMMyfVcviWN0DI5RO4gs7PUn\nT56crY2JFOrIWqtlWxONvEdau8Upp5ySPTO1PKOVkJg5IWGAoKkukLHfc/To0Vmyg+mCcYkWg0nU\nmTzeczzyyCPZri0jq9t4jN/Rh2foXL7ELvToLfGuXtRzuBaMHDmypAChflJ9xrGv0LmYXid7QZBS\nZBG/a4qelmCvaeqjn7cDs88+e0n5J5sPyCrqfd5byydriX733XezQndae70fztFnRz1bRlaSMgij\nq6srO6YeKVJGjpOCRo0axa9//WsgPMfGIjiv1VdfHQi2gFgi+Pvf/57ZdZTAlEQtyqCe7TNsIoa2\nI20ESy65ZEmocaNIzJyQMEDQlDXbkjWvvfYa0KPbqUO6c7kjy4iLLLIIEHZefayyz6233poxliGB\nWlO1jJt2pq7hLm8InUHv6isQdtV6GFmd1uilCRMmZNdyBxZaQA3Js22JkWcWZ4DSsER3ae+BkkgM\nGdlrFaV11gLXRW+CZX3yrOx1TF+M76F/N9pr//33Lzm/98vzey9Nzo9ZL46sOvLIIxuy0MeNE2Tm\nvKfAmAAlOsM19ZG7dl5XCeGss87KrPXqzBZyUMqycIMeAFN+tQ0pud59990l84sj1Gqec11HJyQk\nTLNoSQSYrPvxxx/3KlQGoTyQxQpMFtc3bBE4j7v22mszJjC6yp3LtMoDDzwQCOVYjeN98skngZDA\nMGXKlBKLe6XWH9UsvWPGjMlimfWTq19ZakcrpjqgO3HMbvl7JGu4e7eycVs1a3Z8P3bcccesLFBR\nv+Bq9zQPo8ZM77PpnX2MnbNSkH5nI6lqadZXyxo6xokTJ2bJP0I/vwUTHYMtcpT49Ee/8sormQQh\nqytVKWnaHVJ9WJ+9EomRYW+++WaJtBjbopI1OyFhkKGh9jTuXOVapqozx6VOjcpy93OHVv9Vh/jw\nww+zc8gEWkmNydZHHUeVqR/pr33rrbdKWKMZZgayuGotn45fXcxIMK3c+jC1bl588cUZs6lzmvWl\nntVKxLt63L6lHCzQVy0ls9q9hbD+ltHRR208t9/RT6s/1jHEBRnLIT/HIUOGdEPw1Zs1lR+bLKmt\nwnWwyIWlfkxn9Kcse8cdd7Djjjv2Oq9sKpsbAagEokSqTq1enk/5jAsVpqyphIRBirqYediwYd1Q\nWlitHIzB1c+m1VRdIW5L4452/PHHZ1FjcfsQd3l9trKju576aSVogZfl62Vmx6IFV8ZRJ3Q3Ndle\n63BRwb1aUI8112y1Bx54wO/Uzcwibjskq/jdeqzpFocwR9ioKiPDfC6MCFP37O7uLpl/XKwvP8e1\n1lqrG4p98Xkd3NgAoxaNDLNRodfVi2Jk2LvvvlsSjeexsr7nNAZb741jz8d556REIEh5Pt+pCH5C\nwiBDS5utL7TQQpnPuei87u7uUO7MRj09/vjjhXqSebRGF8VWwLjVSi1sWA8zd3R0lLQBNW5aacW/\nG7dsQbtms7QaRSP5zLVWNImLwuf1R1lbe4eZYsYGmLmkFduYgKK1rYRK1WLi+z58+PCSMsDOw2Nl\nYH9q/3EuX375ZUn5ZyHbawPQ6u1zH/voJ0+eXBJH3miz9Za+zF1dXTUn1tfT27kI3uxmOj3W8zLv\nueeeWTCM8CG0DpaIq0xWq2/dLtT7Ms8555yZ8U4U1a2O52To5HvvvZetr8kLvswmzyhm6ybSIFrJ\nmBZ/Vi55v0iNyIvMVjuN/6aapvge13WrB55TkrIXWNFcvho7kHpNJSQMerSUmcuhXkYaMmRIVbau\n5hKpJ9yxXgNYswz7jW98I3P5FJX6aSXqZeaOjo7CKpjVIBs//PDDGSOb4mpfLYOFTEwoQjmpqyjs\nsVKvqXLfjZ+PInWh6N0YMWJEFtTiGGTxuJCC51BSU7oxrFU1I3/d+PqJmRMSBhkaYubYQJLfSYpS\nDf095wiPz13280rQDRDreKKzszO7niGgBvBX6lNUC+Lx2rFBA2AroEuklsAJg24MjyzHWlCf+y1e\nw2qGmqLeYFBcYCEOUCkndfl/+5WZ0JErV1XVAOZc8p9ZbFIDl6HI3m9ZtlK5phjxdS1kaReQ+Bx5\nSfScc84BQumpXE35xMwJCYMJLdeZ4927mv7qTqUOYkhmdN1ex9ZqAa8UpF+PvtUKtNuaXXSfm+lo\n4c9qrqqissNQbAlvBLWEO9YyP8N9X375ZaCyRAHhmdYSb6AQhPseS6nV1rlccf9Y7/YceemxEhIz\nJyQMENTFzAkJCdMuEjMnJAwQpJc5IWGAIL3MCQkDBOllTkgYIEgvc0LCAEF6mRMSBgjSy5yQMECQ\nXuaEhAGC9DInJAwQpJc5IWGA4P8BQ4lTgKVAPKUAAAAASUVORK5CYII=\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\n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\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": "iVBORw0KGgoAAAANSUhEUgAAAPMAAADuCAYAAADsvjF6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJztvWmYXVWV//+9NaVSY+aIQpAxCtJi\nS7dti4JGhRZbmWQQQRkUFBxbQEUERcAQRAZBEZBRBARFpB1BICIEFG0cIJFABDSYkABJVVJVSVXd\n34vys84665xblar2ef79v9nrTQ33DHvtte+ah0q1WlWCBAn+/w8N/18vIEGCBP8YSF/mBAnqBNKX\nOUGCOoH0ZU6QoE4gfZkTJKgTSF/mBAnqBNKXOUGCOoH0ZU6QoE4gfZkTJKgTaBrPxW1tbaXpYk1N\nI4+ZOnWq/vKXv0iSGhpG+ESlUpEkkWk2NDQkSWpsbCz9f6VSsf81NzePeg9/t7a25t7Z09Nj97G2\ntrY2SdLatWslSVOmTJEkPffccxXw6OjoqPo185N1TJ06VU8++WTuM945PDycWyvv5f+Dg4N2Pf+b\nNGlS6T3gxzsmT56cw3fNmjUF/KZOnSpJWrlypSRp2rRpkqRVq1YZfpLU2dlZ9evimTxn1qxZWrp0\nqb+lsC5wifQow7GlpaUUx7jHXMfPF154oYBjV1eXJGn16tWSpJkzZ0qSVqxYYTh2d3fnzij3QsOZ\nM2dq8eLFuXdH/DZu3Jj7PzAwMGB4gw+04R7eE/HjjHL9s88+a/eBc2dnZw6/LbfcUpL05JNP5mhY\nCyrjSeesVCpVKdvU/v5+SRkRX/KSl9hhAvH4hYhfTDbBf0E55Bs2bJBUZAy8jwPDvWyYvy9+8QHW\nMTg4aBvV0NBQlaTu7u5S/Lbffns9/fTTkqT169fn1sSa40FgH1hHU1OTEZTnx7VF/PjZ3t5euC9+\nKeMebdy4MXcQauHIurfZZhv99a9/lST19fXlnsn+xoPLMzwTBkeeEdfHMyKO3AcNGxsb7bnxHEDD\nDRs2FGgIM2NtPG+77bYzgbNu3brc82D40Czi5xkUXzyeUeuLH5k8NPT4cQ3PAE+uGRgY2KQvc1Kz\nEySoExiXmo306e3tlZSpRKg7q1atMo7b0dGRu9arYFLG9ZDySLqWlhZTk+HIcK5a0p2/WQ/3bdiw\nQdttt50k6Yknnsg9i3V4QCqgisOpZ8yYIUlavny5cWnWjcobtQjWOn36dEnS888/b89EhYwmRpTY\nPIPr2H/+7u/v1yte8QpJ0h//+Mfcs6KkAJCu4IikQJKtXLnScEH6QI9aOKLic11zc7M9H+BcRIkd\ncYwmxfr167XTTjtJkh599NExcQQf6AINt956a0nSihUrDA/WDW3Yd/DjPHEdZ7mzs9PUZM4T+PF+\n/oZmUbsCv97eXu2yyy6SpEceeSR3L3uzqZAkc4IEdQLjspnb29urUsaho82K7eH/B/eE28D1kNxI\nCrjtxo0b7Rr+F+1TpHx0QkVcqtVq4bNob1Wr1YLzBKkR7TkvzaO2EPHDJkWCY1sNDQ3ZWvjJZ1FS\nA9GZ5vGLn5X4FXL2VldXV1Uq2oHxfr+eWjiCG7hCp6GhocJz+QwYi4b+Zy3HYBmOM2bMqEqZFGUv\nvTYX34EE9naslElktAVnoxfw4H0Ae8Vao1+kDL94ztz3LNnMCRJsTjAuyYyn0HNvKS99o7s/cij+\njx363HPPScq43pw5c8weedGLXiRJ5n3EQwjnilIeW/TFL36xJOmZZ54peGC5B+nrJXNjY2PVXxNt\n1b6+voK9CPeMXnvWjncf/LbZZhutWLFC0kgYyOMXbVK4OWE09mXOnDl2H1IlekSxWSNXB8da4bf+\n/v4CjjHiwH7Mnj07hyNr2HbbbfXMM8/krgHH6MGPmsyqVaskZTbu008/XerhljKNxuMIfjFsNh4a\ncu1WW20lSYYL1+244472v2233VaSLNyFBhJDfuDHXm2zzTaSpKeeesrs+hgJceG5TZLM43KA1QKv\nMsXwQVzof/zHf0iSfvazn+Wu86o1TgJgr732kiR9/OMflyQdeuihkjKCs4EcYA5EtVo1BsAagTIH\nGFBL3WloaCiEWHAS8fx3vOMdkqTbb79dUvHQtrS0GH58wbnnwx/+cA4/Dgo4wPj8l4d95RogqnUR\nIhP3ONZiluD41re+VZJ055135q7zDktUcNbxzne+U5J0wgknSJIOOuggSdLOO+8sKTu4OKNgeEND\nQ4ZbDPOV4VjL5PIx4hjbjgx/n332kST99Kc/NXz8+wYGBgrOQfD74Ac/KEl6z3veIyljCDAOYsh/\n+9vfDD8YnBMwuXs2FZKanSBBncC4JHMtZ5J3SESuiRMBTrTbbrtJytRsONeiRYvsPTgTUK/e/OY3\nS5KOOeYYSZl6tWTJEknSGWecIUm69NJLJckymKrVak1HRJl5UYur8/+NGzcWEhjA46mnnpIk/eu/\n/qukLCSFmgl+ra2thdDeG97wBknScccdl8P/D3/4gyTpi1/8oqRMA1m2bJmkEYkRNY6odkcA/+jw\nKsORa8GRhBloCI6EjtC2mpqaTMrw3H/7t3+TJB155JGSMin0m9/8RpJ02mmn5a7//e9/b2tGckWJ\nOh4aeqnqcZUys+XPf/6zJOk1r3lN7v/8RBNpbm42WvCs1772tZKyM4rEJpzGGYW2qOXDw8MF52AM\nQW4qJMmcIEGdwIQcYNyz/fbbS8oSMhoaGgq5sHBguGl0w++xxx6SMqfVtttua5L3ve99ryTppptu\nkiTtvffekqRf//rXkqRzzjlHUia5+fzggw+WNCJR0AiAiK93noAfMHfuXEnSY489JmlEMmBfgQf4\nwU2jtoLUxdm18847W0LDIYccIkn6zne+IynzJ/z2t7+VJJ1//vmSpLe97W2SpN13311SZlPPmjXL\npGVZWC7iV4YjCQsknTQ0NBjtoBmSAxyjH+Bf/uVfJGU2/k477WR+C2zHb37zm5Kk/fbbL4fjhRde\nKCmzwzkPHkecZxG3MhxxgPHZq1/9aknS//zP/9iao62MtAQ/PgdP8OO8b7311nZGsf2///3vS8q0\nFvbzkksukZTR9o1vfKOk7IzOnj3b8v2BqFVtqgMsSeYECeoExmUzR6mDVAAmT55sXkNsiLvvvluS\nCrbmW97yFknSu9/9bknS17/+dUkjdgwpip/73OckZdIPTvqhD30o9/4bbrght64ddthB0ojGEO2P\nmODvIXq4sYN5bnt7u+GHBMGOipVQSOSjjjpKknTZZZfZM5Bg8+fPz733jjvukCT913/9l6TMw3vt\ntdfm1g5+S5cutWgBtnP8ORaOf/rTn3J/T5482Tzb4PCTn/xEUpGG8+bNkyQdcMABkqSrrrpK0gid\n0GrQnpB+POvkk0+WlEUevvWtb0nK9hE7fMmSJUb3SMMyHGM0BZuVv7u6uuw8ISX/+7//u3Rv0BbA\n78orr5Q0YsP/0z/9kyTpy1/+sqRigtOnPvUpSVmEBfxYB/gtXrzYPOM8gzMGnpsKSTInSFAnMC6b\nedKkSVUplwqZ+9nQ0GB24C233CKpmICOZ5TY8c9//nNJmcd2/vz5xsWx57BZ4YbYP8QikX5f+cpX\nJGX2+sDAgK01Js/z/76+PrNHJk+enMMvpiQ2NjYaft/73vfsHVKWFEDRyZ577ilJ+sUvfiFJOvXU\nUyWNeNzh3rvuuqsk6eGHH5YkvfKVr8z9jb0PfkhycBgYGDDpFAsVWHNPT0/O3oo4Rlo2NjaaXYvE\ngoZIkIjjPffcI0k688wzJUkXXXSRaRXYrNiQ2JR496Eh/hEknU+xjOmt0Zvd29trOJJyHPHzSTXv\ne9/7JEk33nijpEzzg4ZbbLGFpEzzIN4MDS+//HLzViNhOaPg+7vf/U5Spt2BH5qKT8iJNIgpzmvX\nrk02c4IEmxOMy2aOHBLw3USID+Lt5R64HJz3P//zPyVlcWjfWADPH9IPryKxOp6FZMOWIXPnhz/8\noaSR7LMoOZEEMSVVKib/R/ykLIYNZ+Ue7K/zzjtPUpbVRfYUtm1PT4/5C8APOPHEEyVJ++67r6Qs\n3oknmP+TXdbZ2WleVVI+ly9fXsDLQ/QVlO0DcezYCYV9P+ussyRlnmlw9M0TXv/610sq+hQ+8pGP\nSMo0MnDEL4APhQhGR0eHSU7OCs0TytY+1hmtVComNZHwMfPrlFNOkZR51ImnE5EYHBw0zfLWW2/N\n4UeuAF588g6uueaa3P+//e1vSxqhIT4KaEi8uwy/0SBJ5gQJ6gQm5M2GQ+KJfPnLXy5pxG7ANkIy\nI1WxHYm74YkmNkyc7oknnrAcZDgVnBkOhrcbTzkSBInibSrWSmJ8TK4vw88X6kvSq171Kkkjdt9D\nDz2Uw4vn3XvvvZKkK664QlJWWAB+eKqXLFliHk78B7H1DPt511135fBB6nqtB6mBbcZexFxtAAmC\n3Ytdjj9i8eLF5pMAN3AFx+uvv15SpuUQ50djeOSRR+y5FJxgYyIF8YdAQ3Ai6803nkAiks+AFkdm\nWBlg9xLDJbry8MMPW4ybfcWfQgbbjjvumLsXP8kPfvADewb0JcMvNltgP3/0ox/l1oxm588otCCy\ngN8jZoaNBUkyJ0hQJzChDLCY/+q5aOxCiD2F1IPr4QnFi00crqury7jqggULJGXeUrzcSD/sU2yd\nz372s5Iybvn000+bpIKLx8Z7vqEf2UPR3vf4YfvGdjtIeqQqMdrPf/7zOfxaW1ut6yJaCtKJiiHw\nIzsK+5v4M/cvXbrU1sHexKZ0tRr6jdaCiWfEtknsGTFkYu3geN1110kaoT37At5IKLQScL/44osl\nZdL99NNPlyRr9/TII4/YOtBg+Js99w39oCH4xSYSGzZssIouvPNogPg/kKpEF4gigF9ra6tpRNBq\n4cKFkrJ2RZxdciA475/5zGckZfneixcvLtCQdSHtU0O/BAk2MxiXZI6F30gwX9wdq5LgcsQX4VSx\nFQxezrvuustsVOwn4nx4QPkcbzY2Bz+x7Xwf75i9hIRev369cb3m5uac5lFmX0eOjzeWtYBf3COy\n1n74wx+aFPrlL38pSfrxj3+cWzeSj0ojJDHSAE2ls7OzkJvN2l3ecY6rNzU15WjoY/LcHzOhoB0/\n8cTGCqyTTjrJ9uBNb3qTpCxmToQBPwDn4t///d8lZS2IyG5Dkre3t5u/I1bruQiB4djS0pLDD9vU\nV17FOmHsaWiIZz1mnqEZfe9739PrXvc6SVmOOf4CaAMNiVzgO6AGgf2YMmVKrgrOrx2t9vnnn//H\nNyeolU7nDxIqAmoSbnYcUffff78k6cADD5SUOcL4uWzZMutSyEF48MEHJWXqHKoNG4PTDQeC7+wY\nCzv4WeYAiz2OY8JBQ0ODqWR0iuCd4M0XkhRAnFY4C1evXm2hJpxphEpIXyWMQXkon8emAVKxcMV3\nJi2DsWhYrVZNRSbtNIbjcBQRRiJUBK7r1q0zJxkMiyQRcCSciHMLxs3B9njFRJ+Y9ughDh3gpzcn\nMMM4P5w3mAMMhzASjjDwfO6554yhYSJxVjEbv/GNb0iSXvrSl+bwh5bgNzg4WBM/1OxNhaRmJ0hQ\nJzChiRYxYcJLiqh6oW6gKsKJ4UxwQVSa888/XxdccIGkLEmEQDyJHx/72Mfk10FiAuo4hd8dHR0W\nEolOFJ717LPPmgoDfjGZwCfvR9xxkoAfziL2gbWhMn3hC18wqYRjhfRCtBfaB7En7BGhEYoH2tra\nzGkCPjiYkK5//etfcyoaOMapId48ivgTCqRNEyox6i7aCDguWLDAtA8cWjQlQIP55Cc/KSnba0wo\nCjFIPmpvbzcaxl7smB0eR/Arm27CmiMN//mf/1nSyEQWKaMhZxQacobmz59v2hMJJh/4wAckZef7\n2GOPlZSdUUyp++67T1LWlKG7u9tSX6MjjGctW7YsOcASJNicYEKSOUpfbzNjZ2FnfPe735WUJe3z\nN1wOZxYOk5///Ofmxoe74hTBzobbIsEIcxDS8p0gWSOSk8/c2gtcPXJu97mtBfywnbANCcUggXDw\nkNZ35513Gq5IPj4jPRL8aGCIpgIO+CH6+vrMvkJqsq6yvuCj4ehpSBE+iSg4hB544AFJWdIIkpLi\nAiT4kiVLLCkEaUPjvne961053HF8Eobj/NASauPGjbZGfAj4V8pwJPQWe2EDjY2Npi2ShEJREL4Z\nfDJoO2hfnMuFCxeac5LvAnt2xBFHSMrO10c/+lFJWREQoVn8POvWrct1NZUyv4Hripokc4IEmxNM\nKDQ1Wj9lJFK0N2gxethhh0nKvL14dOGS1WrVEk6wDUnaRwJgE1PwD7eHY2MXS8Ve23Eagk8aIWwT\nUyL9hELsRa7Bm0lqY8QPe5L0xuHhYZNo2E1IaqQ44Q4aFB599NG5/fDrio3zYnvgmDQCDaNdDI6t\nra0mkdCM0KZIsz3++OMlZa1wfvWrX0nKtJ6mpia7lxZPFCaAI/ty+eWXS8oa4XEO/ISIOElyNByh\nYZzbhRTv6Ogw3wR7EPFjLXjrCTdBY783aCu0duKMYvOjcdCCl8gA+A0PD9t5rYVfShpJkGAzg3HF\nmYmZYbOVzUUmJZFr4cikuZF6iR2GnQV3OvPMM82Lh12BlxG7m2dQQog2EKdGzp071+w+1kUxeVmS\nPrFj8OM5PkUS7o19g3SiKIPUS2zpWLz+pS99yZJbiK1ih992222SsobqeK8jwLF32WUXey74kfjg\ntRMPcaJiGY5oUeQKUApIrBycKVPEG4zUOfPMM026Q0OeBU40J6SEEE0nzqZ+2cteZjTk/SR58LcH\n8Ceey3NYT19fn0lY9p2mfNCW84XHGpsZO/6CCy4wDQ0tCn8GmijpvCSTxPRZNKLddtvN9oiJJeCH\nl3tTIUnmBAnqBCZkM8e0Ot/MLnq4idnh1cTjjA1JkwKyh+677z7jSDRUw4v59re/XVLWRodsLOwj\nJDqxyqamJvsMrhvBt2nF3oqpkXDTtra2QuwZ/FgLHJt47/777y8p8wzfddddFjcFd7g6qX/YbDwT\n/wOaAxpJc3Oz7SuaQcm0y9J0zlo0bG9vL8xeYh38JL4bcXz88ccljXj2oSFaBnSnJJTYOvFw6EQB\nAnbspEmTTGvYFBxJ54wjhpD4XV1dBT8KqZbgB015H1EGvMyLFi0yKYpvBBqS5olfgb3CPsebTdSj\npaXFfCixpTCQWu0mSLCZwYTizBF8yRaeQuwQvJnYKUjIT3/605IyOxipdNBBB1kjA7g1nj+4Gh7Q\nm2++WVKWOYU08MPdsI2jN5u/+/v7CzHKuCdw7PXr15v0R0vAsw4XpyiAckwyf2i5s++++5o9hx8B\nyfOyl71M0khDPCmzu7GxsRG91xNPb8TLTUosLYGMOLKHvb29JpmQomgVaFPkKH/iE5+QlGVvYSce\nfPDBFqWIwwKIh9OWlwEAcSqoxyN6e2Mxj2/KGJv8cw0SsqenxzQ92jBhC6Mdgi8xYrK2yAc49NBD\njYbg5aeYStnZvPrqq3Pvxx/BvrS0tNg5iA09+LlmzZokmRMk2JxgQiNdoxRAcjY2NpodBcfFS0mW\nFi1HKXFD2iCdDjnkELMh4GbYIdhZVLNgL8LN+Rtv64033ljIVosxPA/RVuYnnLOlpcU4K55nbCGK\n7MnRpbIoNhA8+uijDVekPHF0RpbERnJIfTyy2KFXXHGFvT9mctVqoF4LR7SalpYW+x3fAxoSzRjJ\nlSdWjCcdWr///e8vzF1GyuMPOPzwwyUVZ0+X4Rg9wbG6rQy/KN04I62traZh0GqX80aWFnnkNBwA\nPzTQE044wSI40BIPNHsDfrHFFjRFi7npppsKeRvgN1pbpDJIkjlBgjqB/5U3O3KUSqVinIrPsCGQ\nbrT6ISaJxKbdzrvf/W7juHBtcpOJjeINRlJgt1A8TuH77Nmzzd6hORoxa+wjnz0U8YtZUpVKxbg4\nHJ9YJdKMNrR4Jr/2ta8V8MMGpK6W0Tw00uNZ1MaCHyNPaBLw4he/2KQHGhE2KdlwMXsIHIGyBoAR\nR3KZkVBnn322pMx2Bkdofcwxx9h+I5nQXPAxoOGce+65ORyxw7FPZ86caXnv4EjMmmwx3zaIBhM+\na0/KNycAP+gLbVgT+OGdx0dDDHufffYxzQ5vPFViZH7xLIb/sXby7dHGpk+fXtAAYi8A7xMYDZJk\nTpCgTmBckpkYpYvvSSofYI5kxkNHLA9bCs5Ndg1/77333mZvk8dLfC9yPdbhcnQlZXZMb2+vvY//\n8R7u9ZKZGCWAHQoOHkdsJnDHQ+o8rJKy7CjW8frXv95iqOCOlkBGGB5xpAt4IT2x3dauXWvPRdqg\ntbjh4jmujuSKOeplOLJn/I3UB5A20AnJ8qY3vcna4oA/OJGPjg0ZM6KgJTi+8MILhiP/Gw1HRihF\n34hvFcS+xmaTaFlIcWjISFfOzl577VU4o2hi4IfWEmnIs9E6V61aZXsfcxT4v29tNRqM68vc2dlZ\n9QsD2LCtt9660HMr9gBGrWNz2Sja76xatcoKD+g1zYEj9RN1m3dwIPiC+VYxvIf0Up5Bmp1XYaZO\nnVr19/OTL9HcuXNNteOdkQDgiwqHOkVbmdWrV5uDDica70GNI70vOnwifoODg4YfYTt+gl88CN3d\n3aXzwjhkO+ywg6mXQGQU0JD1oBJ7GpLWCuPizMDAYFy8H5zYP/8lZy9R4yk3JHXS4zhz5syqlJ1J\nno9p87KXvcyEg08kkYqhQtZCOScM6ZlnnrFkEcpBeR894fhSxzZGOGn5e+PGjbaP4EXKLecjhaYS\nJNjMYFySmQmCcFnCCKhX1Wq10NkSDoRagXMnfk5ztYaGBlNR4JiEvrg2Fp6TSlemfscQFNydkJGX\nzB0dHVUpk8QkaxAaGhoaKnT3ZE04QgiBROcZ7500aZJJPu5hT1hrbOmDekv4BvwGBgYK+KEqkvgQ\nk0bQrpDEJGvwbI9jbL0Tk1cijtBw0qRJ5ryJqZ+8N06lQHOChpzLgYEBowd4x/3wUxJnzJhRlTIt\ngjVD76GhIVPPa+HHc2OPdYprWlpaLNEEJyZ0RzWPjjc0JqQ7MDAwUEj8IXkILXdTu3MmyZwgQZ3A\nhCZaxOZxMUTl/xdthjgNI04arFQqBU4MIKmjAyQWP2DjrVu3LvfcHOIlSfrgh8RE4/D4xTnP3vbx\na4pOJL83Pkzif0btxc9h9vix/z09PYXJlTFpolZzAp7hE2KkESnFs8A7tu+thaNPXIltcCeK49q1\naws0jIkvZQ0mkJhIZK8JRO2KM4qEjD3dOU++ACXOgYpFG7wX/OKzfQpyPL+Rhj70NhokyZwgQZ3A\nhNI5aYFLEkNZ2hlcOnJxuGGc7OjL2mJRBD/xSMbSRIAwCJ7SMiCtkOIAD7yHZA2SUGJJoJRJWjgt\nfyMBWCt4evx8IUgZfvGZ3Ivn33uCYzkgXlYKWCJwPQMFKHgp04bYXx+2knLTQCRl9EfCbQoNo1bF\numiURwKN/4xnUORCC+Iy/Dibp556am6tHr+ysJyUeZzRPKGhn21di4axGCb6NEjjpHlgmWZMKive\n+k2FJJkTJKgTGJfNnCBBgv+7kCRzggR1AunLnCBBncC4HGCkO6Kax84IW265peVP4xDgMwCHRwxd\n4YBpbGysmb6Imz86HXDI4LigXnVwcNA+I6xFAgjVU0899ZR5REioiA4X1jp79mzrhhlrumNqaRzY\nzs+GhobCAPD4d63RpQChOZ+uSviE5AWSNfwsLUmaNWtWKQ15zkte8hLrOMlnccRrzHeOaa+ehjFs\nBQ2BmMABvUjcGBgYsGeAI2Ef8uH9LCYSf2IokvfOmjVr3DQsC6/6vnf+s+hMi2eUn4Q9/RRIEk0I\nF9aiYS0Y15cZ7x6ZMtGbOW3aNFssXsuYNx2/iDHPu6mpyb6UeBHjnFwOE8/mcEevaktLi20y1/Bs\n39AcYM3EQnkeP2fNmlXw5IIHa4xNECJ+DQ0NtgaeGw94rSJ17vNf/rgHrKNWm1a+7DTYA2eunzVr\nlr2H/4EjhQ78HVsCAS0tLbaHnJlYtME90IfDTYwfvCZNmmT7EYf+wbQ9xNLLGFWYOnWqMaEY74/n\nLBYUAQ0NDcZYYvw40p17eRdfWF9myzWsfSwa1oKkZidIUCcwLskMxyZ/Fu4Ll1+1apWpWrGBWcwe\ngkORG4xq0dXVZapwLB+LIz1jBg/cH+64bt26QlN0nhWloV8Ta+Fvcr+XL19eKENEIsbRoXBqpAgS\norW11Tiuzz/mM6m2qh6z5TZs2FBoal9W8uchmhtIQlTWZ555xqQNWVRIwNgckT0klxjVuKurq9A2\nNpY2gjN7DA35HOjp6bGqLJoExv3ywB5FGtKiaeXKlaYNxCy4SEPwQ8p77Y5zDUAT3hfV7vg50N/f\nb80IqOZiHVFlHwuSZE6QoE5gXHHm6dOnV6WiPewzf2L+bMy9RTIjuZEUcP0NGzYUHBFwRCDaodGR\n5MfU8H6/Rt7z9//XrJqKz/NOldg6KeZIgxdcHdtxeHi40HQvZtBFG62s+QPPinnEgMuTzjlPXvSi\nF+Wqinztt3+Xxx8JiMQGZ/KQ0djYt76+vkKGF/hHbSQ6GWMe9tDQUGn+vn+Gz6/Hiek+y713NBrG\nHGloiEbIMwcHB2vSMDZ9AGrRsFqtjlY3ICl/RkeDJJkTJKgTGJdkpuWM3RxCJz09PcaBYn5x9BhS\n++rDSNJItwVqPuPg7Zi7zLuw3XkW9/3lL38peJnBF0nhuToVRZFT+nzyaBNH/Pg/fgS85rx3xx13\ntGZ7hMfoXlLrWUgI8n69DR/9BjEHOnJ1WiPFsAw0XLNmje0r/4v51OwpdcXUTiNJdtppJ2uFRB03\n4aBYaQeOREh4Fk0Ely1bZnZmzIdnP3zVVC0a8r6BgYExaci1+HNijfWWW25p76YOmxr1KKHZM3wB\nRBM8DWNdNeuqRcNa8L/6Mhce5ooIUG9ZKG53WuZQ6BBjeHPmzCk4fOi2yYzb97///Xatfxe9qn14\njM94f1StfP+o2LkyhtGq1WqhH3PsbkkhB0nyUWXeaqutzIGHekqByIc//GFJ2VzgnXfeWVLm8Fu0\naJGkjNgDAwO53z1+rM8f9L/saR6WAAAgAElEQVSvtzSW7gsjYnMC3sFho5iDtjYRx6233jo3D1nK\n2jWBG9MimJ/FF4pOldCtt7fX1hHNLdblp5JEGgL+yx0baMQ9pJCDaSQAZ/XFL36x7QU0hPlQnHPE\nEUdIKva+Y8KL39P4/rjOSMNakNTsBAnqBMbl+46ZQLHMrb+/v5BZBGdCzSJURNiDNjf0Rt6wYUOh\nfJKJFh/60IckZcF0VLaTTjop93+y0KrVqqkqtRIDyvCJUss7JGJhPKrYk08+KSmTQEgkmsE98MAD\nkkYkUEzw2GOPPSRl0zCQxJTJgR+4YHYMDw8X1LqykJuHmNUEsNf9/f0FUwl1mp7XhMMI7RDWInOs\nWq0WcHz1q18tSfrc5z4nKaMVjQ4pyYT2lEAODw8bnaNZVzbRArpEs8M75KL2Ag0xfzijhO3QkO65\n5x57D5oeEpomlGiPrBlaUjYMfo888oitM0rk6NDdVEiSOUGCOoEJ9c2GY9BWlGB+Y2NjIc80tqCF\n28Mx99xzT0kZd5w7d65xdeyrG264QVI2KRKu/dWvflVSNseZ5AJmBW2xxRbmXKqVmlfWNog9iW1h\nK5WK4RfTVqP9hYTYfffdJWWayPbbb29JCtj+zOoFD9q0MsmDOc4U7mOPTZ8+veZMXxeeK+2bDQ3p\n+/yrX/3K1o8dCK612ggDaBZI8Dlz5lh6JvOzmCmNloVkYhoGdir+EU/D2PqXtTt/S00axvbMDQ0N\nRqPYSAIaxnAme4SWucsuu9ieMPeMPtpIaGxjaLjXXntJkt74xjdKys72zJkzzVlYFrb6+zqSzZwg\nweYE47KZo+se2xTo6uqyxAIkEtMeYwECUoiJh1dccYWkEemOZ5CpfDHhgHlESDgakSN14e5//OMf\nzXb1KZBSMajv8WONNHUH2tvbzb5BC4ita+D6tIdB+jJzedq0aeYnOOeccyQVJQPziHgX0otnc/9j\njz1WsB9jA/9aOCJ9YoslT0M0oR/84AeSir4EPPe0ubnuuuvsc0I2l156aQ5H7j322GMlZQUWNMsH\nsLF/97vfWegR2rEv0db0z8cejlK9vb3d/AzQCK919JEQeeGMMk/q8ccfNxpwRjmLnB289YQmmdfM\ns73WhyaERz8WaWwqJMmcIEGdwLhsZtIdoxTwHux3vetdkjJuHgsTSJTAhqDx3MknnyxphPvxfLyI\neEkZ9YJNiQf5kEMOkZTZJz72GyUUkgwu7xuot7a25uzJ+LOxsbFgA8Z4I3YVdtb9998vKZsOec45\n55hk8BqElNnE2K8UQ2CXMfXSN2ePDfFisUZsgj9t2rTc+JZYbtnS0mI2OdIEzy2JHSQ8INmIqX/y\nk5+UJF1zzTUmibFZmfpJTB2c8WlwbpgS6meDxYaKaFusfdWqVZtMw6amJh144IGSsjh5PKMUZXBG\nmZuFFJ4/f75pi9AQ/MAXjQefxmGHHSYp09C8dz2mAsckmU2dNZUkc4IEdQLjspnHssOkjBPFDhNw\nuc9+9rOSMmmDJCNm2dTUZPYSg+PgUEcddZSkzE7FM4oEOfrooyVJ1157raQR+y9KFSRBGdSK6/kM\nMLyi0eO57777SsriiXhno027YcMGvfnNb5aUSQbsLLKHGLrGPlx99dWSMg8ontPOzk6LYxITreXd\nBmLr1zIcsTOREDGWSvta71VnPdIIvdCiiM0i/biHn8R0b7nlFknZubjpppsML6QgEhNfRsx7kIpp\nu9HOr1arFqePXUKgCxoQdOC9QLVaNZ8PA/oA9uZtb3ubpEwTwZ+A/U2Epru7284oabt4t2NK6liQ\nJHOCBHUCE/JmUyTBcDDsw9/85jeWPwzXwzb4xS9+ISmTKkgQvHrk5P7mN7+xIm3sa+LOcF0m3ZOL\njZ2Id91LTQoekKhxBKsHuDhSjmJ71vjoo49ak4MYT8Zrz4AwuCscGvyXLVtmmgQcH86M9MZTyp4g\nIbEzfckeayV7iX0vG0zgcYwFEMT7H3roId13332Ssn0EV9aDRgH90ULuvvtuSSN5ABS9xPZEAFlk\nSG40GGjvbX/2iQy0OIK1DNAW8Dtg2y5ZssRoyNmEhtDoG9/4hqTMJ4PXHq/373//ezu/lLjGFlPg\nRw0CewkOfrwRWikDE8eiYS1IkjlBgjqBCWWAxVYofrQnXBP7CcmBVKXFDJkweLGxC7u6uiyueOWV\nV0rKuBuc6txzz5WUxaax5cj7JU7929/+1rgeucCx0NxX3JA9FBsOgO/g4KB5rcEPfAGkKjHaU045\nRVJmM82aNcu4+SWXXCIp8w0gab7+9a9Lki688EJJWQYYe0Wl0eLFiwtlirFRQBw6RglkbAbgB8ex\nPvYKyYjtDI7YxYzzYd0zZ860deC/QOpRAkiMHbqzX9icaF+LFi0yKUvZIX+jsXlvLzSMzQB8uWPM\ncCP7kL3AI0104cwzz5SUaZXVatV8PZxRojLQAdpeddVVOfxOPPFESVnp5J/+9CfTvNDQYsPHOPyv\nFiTJnCBBncCE6pnh6rFWWSp6ecmUgstdc801kvKeT0k65phjJI3ELOFi2N9kB+HFxgOK9xFOjcQi\nBtzd3W12XWyS5/pMF2phYy9pP9wuVrS86lWvkpQNdbvxxht5lqTMz0AM9qabbjJJi734k5/8RJJ0\n7733SsqkEnuGZCT3Gdutra3NGjnEai4kto+jS1kcFjyQCn4oX5Ta8+bNkzSSVy5lEipWoFHVdued\nd1qkgZwAvLfEpLFh8SmgwSH1v//970sakZr4CnwsXMq0or/97W81aRjbF5UNtSNqAH54qGPTAKTq\nbbfdVsDvpz/9qaSMNtBut912k5Tl5nNW8T90d3eb/R1pyPt7e3v/8X2zeZnv1yXlkypQkdkYnAh8\neXAUkeZIZwnS+latWmWqC9eSRDF//nxJWeCdjaHwgnI671zwCRZSdkDjfF0PMeXTbzIHCMZBqIu1\nUMpJYgL44xB67rnndNlll0nKyiIpOkAlRzVD/eMw4zzxUzCjSRBpFAFagX/sd9bU1GRJIdCQfeW9\nMB9oSMIEh3L58uX69re/LSlzlpH4Q+IFJgTlk5R7Ejbiy7h+/frCMAR+EpYrA+hdRkMYBzTECQht\nSfQhGYlQHQ6qZ5991opjKDLijFLKCf7sJWeUPeSnb04Qw2pl6aqjQVKzEySoExiXml2pVKpSJmXh\n7r6jY5SEqJ9wKCQY3AjpC1c87bTTLHSDanrCCSdIysIcJBygShKiQm2FC06ZMsUcLjjCcJqg9ixd\nutRUGPDzDj0p34QhqqCEIFCBUYlR4VC/eP9FF11k0mnBggWSslQ/JBDNCHBEkRqLmQF+HR0dhg/7\nx9/cu3z58pyKhoMoOll8aSo0REOh1BWnDyFD9gdthPWfcsoplgRCsT7OSdYJDbkHLQVnJ3/PmDHD\nHF/ghDMTzeWxxx6rSUM/UgbwDk0poyGSmvewD2gi0PDss8825ytJULR8wmxhPjTAGQU/wqgdHR0W\nJoUmmDx8V/76178mB1iCBJsTTEgyR84NNDY2WnEEdgi2BcXahGiQ7oQ3SLZ49NFHLXwFp+KZ2DBI\nRZxm2NhIf+wuX2jB1ADsH1egUODqMfTm7S3sSBxrOPRwXqFVgB+aCYk1CxcuNJzh9ITScIzxXtoI\nEfIp6wSJnYXtSfKIW/uokjn6Dpqbm81pg/SAZti1pFoiZZHc4LFkyRKTdkhEHFuUPrL/OM1oNMEz\n8BP09vbatTgG8R2gVZTRMPoS3OfWvZW9wq7HeUVJLVKW80cK56JFi4ye4Me6Sbnlu0EpJH4epL8/\no5GG+B5q9T6vBUkyJ0hQJzChpJHosvdtVbEZ4Vi33nqrpCytDk5MwjnJBHh9W1tbjSPyGUXiNDzA\nniLxgAIFuB3SZnh4uGDXs66ypBHw8wkUPEca0UiwY+D82EJ4qyn2oKQPO5f0zqamJrP18YS+9rWv\nlZQlFuAZhZujgSCR/dRF8AOvGIqplTQSpxhyfXd3t6XrQufLL79cUmar4stAk8CGx7Pf2NhoHmPC\nhEgsworQ6vTTT5eU0RCNzrdGxg8Abuw9tqVPGiE0Ff0enoZoRDwHm5gzipeepguEn0g1HR4etv2D\nVkhtNDEiAKSGct7xiLPvZU0Z4yTJlDSSIMFmBuOKM9M2FnsGiYzttH79erNDsDMOOuggSdlUADgY\n3kCSB4gZnnjiiSbdsbOxFZHyJDEg9eJUB2yNXXbZxbgpHBHpR7KFB2/z+echSQcGBox7Y/tQZIDH\nFfyIFZM0g8T58pe/bFyd4g9suNj0DomBlOMZ4Lfrrrua/YjXHslQqwiBohGKDXgWGkdvb6/5A7j2\nuOOOk5TtIU3wsZ2xj3nn6aefbs9j/5H2eHPZF4ozkJaAb89EySM5Cex52Yxt9tJLUSlPQ/aKM4qG\nQa4DiSzYzvhb0BAWLFhg+EFDClewu2lySGMDPO/Yw0jdXXbZxejKuvBBpPnMCRJspvC/Gk/jxmdI\nGknRjNMeaQqAdInzeyjqJ4vogQceMCnHZ8Q1KaggpodGgGRGgpNS2dLSYhw5pj26aX0FmzleA3f3\nDf3AnZgkeMW51GgC4LRw4UKTYEgY4uc0cMCvgM0KDsSy0VBaWlrM7oszn11r4Zy9NXny5ByOPhNJ\nGonNxzY9aErEmaEl72TdaGUPPvig7Te+A+5F6yA1EhrGed1oKc3NzeZ5x+9QMtFzzBFDfqJlbJQH\nzTiraE7Ef5HUSPsHH3zQcEeqQ0P8O9jdMWaNhkLuQFNTk9EZyVwy7TPZzAkSbE4wLskM14v3wLnX\nrFljHBiOhcSFU2MzkOWE3Utx/P777295vHBTbBVi0dhq2KVwVKSf91xji8eRK0ikNWvW1GygDmDP\nrV+/3rg40gg7MuL3kY98RFJWLILH+sgjjzQvfZwVTXydvGUkcMx88lMia3mzuSY2g0P7ANhjbL5V\nq1ZZvBMa4qUm4oDfAOlKMwN8Kvvtt5/FpGPkg1wAMsQogYxTM9E4GhoaTELGiAS09MUy0BCAltCw\nr6/PaIhmxBlFs+AckcVFliJSd9999zW/EfuPDYwWSTEKJaDQELvcn8NIw0jL2JSxFiTJnCBBncCE\nqqYiZ6S9Tltbm3E1Stiw96h4Ov744yVl+bzYQdgxxx9/vMUIKZMkY4p7aXeLvYWkoGILO/W6664r\nxIwBOOlo+CHd/Exh7F0aCmALkaVFzjGxSdYGlz300ENtTeSHgx+x2MMPP1xSrkxTUiZd8JTecsst\nhRxkoFbzRV8dJWXxWN+IES0Du5V1xJgwZXxcjyf9xBNPNLpDE7LKPvaxj0mS3vve90rKtCri9LHN\n7de//vVCHjlSu6xqKtKQfYeGLS0ttp+UOrJWGvmRT44nmus5o0cddZTRnXuJYuDvgJZxLjN/c/2N\nN95oa4wNJWs1X6wFSTInSFAnMC6bmewhn00j5TkInBhuQxwZCXX22WdLyuJzxPKwhw844ADL7MGz\nSf0vMVWkP9VH2JKMdUHSzZw50+KYXINdSix5tEHdsbpGyqQU+BGb5vmsiSbo2ITEKo899ljTZJBC\n2MjYYTzrS1/6kqRMiwA/37QA/PAr4PHG/osZYHHYOpKFjKRqtWr2HZ8Rj2Vd1F2zh+Tfg+MBBxxg\nNMJGhs7sC7YjOBIlQLLRVmratGmmxbFv5GgTn/UNGCINffNDAEnP+SU2jfS8+OKLJWX0IIuLvT3i\niCPMzuU8cA0xcTQBsvigD7na+FBmzJhhGg73EJUhrh5pWAuSZE6QoE5gXJIZrh5jkz4DC6kdJRgc\nGu8mnBspijSeN2+eeXFpII5dTb4rUid6g5Eu2JarVq0ymxBuDIdE6npPIXF0F4Pm/4Yf+8XzuBYP\nMJ/DZcnmAb+3vOUtZouRp4y9ihcf+zHmkYMne7tmzRrb39jYz9Eox9Xb2tpyOPJMP7QA2xAJzTuQ\nTNAYG5a2O6xzzz33tDgqOOL1p6sKOPMs7sUOxuP8zDPP2P7HHAXW1dPTU6BhzG+G3v68cxa5Fo8+\nz8U/Ag2Rxrvvvrv5E9CSOJOcUdYYRzmx3/h7nn/+eXt/rGRjHV57HA3G9WWePXt29e8Pl5RtDC/f\neeedTfXxxRdS9iXi0LBwvrCEP1asWKH9999fUtZ6JTY6ILGfDeJdJB74DeR/lC7SeRGG8fzzz9tG\nMYeJgxVb8Oywww6FnmIwDggPXhxA0hYxK1atWmUJ/PQ2Az8SKgjrgB8HPs4gGhwcNGaFmYIZgXMn\n9o+aM2dOVcoXo/z9Okkj9IjpunyJMJWgKbSkHBDaL1++3KZBkMDDIcZ5R8gutgLCQcSeDw0N2ZeO\nMkrUbBiGnzXV3d1dLds7H/4jFAV+sSkAwon9hiFB+xUrVljYDhqWTSCVcjOWc8/2ZxcaIhAI8dHx\nM82aSpBgM4NxSebp06dXpYyLE1ohNDE4OFiYSo8UIZkE7u4nNUqZitPa2mocHgcRzhK4Nc9GrUYq\nkXCACtnf318ovqcogASIF154wbhee3t7bkIiYROeOzw8bCpRbI9EiiNrjcXx4N/a2mqOjXgP70Ui\ngC8OERxArKG/v7/Q9A0NBDU2JhygXaEpse9oRoODg6beoQqyDlIRobcvXvDPam1tNenHPewh0g/p\nzt9INNYNDdetW1eYhkFHVNIrV6xYYTh2dXVVpexsoK6zd56GMawXEzuig5fElubmZlOr0VoiDeP5\npjCHffCmKteAM+YM125qd84kmRMkqBOYUHOCmD6JpOzv7y9wvegsiW1F4dB+jm7kxNwDF4TLwv2i\nw4DrnnvuuUJTPoBrBwYGCqmAMX0SXAYGBgoJMwAcOU5SQHr50EhsgwtHju+NM4d4N3Zlb2+v2Wp+\nyqFfRyxsJ7xI2iGS0DtfuDf6INDIIm0JR/r+4kh+gGci3XDyuf7euWd7Z1cs/ABHtJ++vr5CaIo1\nxb0soyHPq0XDOPOa55QBNMSHwjt49nho6AqZkmROkGBzggmlczJbiER7JGOlUrFrkERwTyByYt8+\nhWfEYgGXUJ/7O6a7ESag8L4MKKuk3U8ZgB9pi166x5K6yMWjtuCTMXhGTBflZywK8ZJOyrz54Fet\nVgtFIZQc4umNwLppEfvpT39aUmZDNzQ0FLz44MQ68eATfkGT8hLGF0r4e6NPIe4PySK04/Gf8az9\n9ttPUjYdwwPXkozyiU98QpJypatcE2eJAZGGMbrhp2IAkYaxPJh73/CGN0jKWl+VrR1POW2aNxWS\nZE6QoE5gXDZzggQJ/u9CkswJEtQJpC9zggR1AuNygJEqB2D048yYPXu2VdLYC0IoKo5W5f/eyeT7\nNUnFHGmcC1yHmx/HEY6ZjRs3Fvpo4YAhmWDlypXm9idvmefGEMa0adMsWQCIDjDwiw4S7xyKoZW4\nJwD7i0Mm9vvyUyAJI+FYJDTj01U9jkDsbjF9+nRLaol9nGNqYvz/puAYnZsAISmuxyE3NDRk9/ic\ndCmju+8WQ+IPEJ2o06dPt4QhoBYNY51xGX6seyz8oCHnkXPoE62gIbi7hJd//EhXXkLmEt4+vJlT\npkwx5GLuL0jEZmyxiL6xsdGIhhcxttKNzffxiMaYdUtLiz2fNfKlLmtjynOIufIe1tHZ2WmHLXo4\n49zm6JEGGhoaCg0T4pc4ekB5F/fx/6ampsKIVq6Jcd6Io2+j4985bdq0Ao5xLnL8MsdGDw0NDUbv\nWmuvlTvNgfbx8lgDwLNiPoK/BvzwyIPn1KlTbb/Hwi9GLkbDL9LQjT/KXRff6fFjrayDL/ymQlKz\nEySoExiXN7ujoyNXNYUE861XowSMmTBxKjzSlPhcR0eHZXjFtSGheUccQYJaAhfu6+uzKiKKxqPK\n7ksEW1tbq/55PN9nZkVtgXfFeCr3Imm4rrW1tWaDeu5hf5HusUKLZ23YsMEaAsSm724ge2mr3ZhD\njFq+du1aez40jLHTmOXHOeC6SZMm2e9RNffZdB5HPo/54Bs2bLDce3L2o/bjM6QiDTlnPjPL00Iq\nlo3y3Fo0bGtrs5wHIKrdMeORc8c+8/nAwIA1uIgVh2X4jQZJMidIUCcwLsk8ZcqUXEVKtO280ydy\nqpibCgdGMsNJh4aGCk6xmCUU7ezoTPNr8IPgPTibreA8iXZNbCzvwXHPHH5IK/Dz9blRWsVc7Zir\nGx1NnmbxM9f8nv/nFo12tSk4etvc48g1sYE9NN64caPdAw1j9VpsRB/p5HGN0ns0HMeDX9QWYh4/\nNERD8Rl5cdxvPKORhtHJVoZfhDTSNUGCzRQm1AQ/SgNvJ8Rm83C7sjCWlFVAwcm22247axNEXSe1\ntnH0Je9AQlDFhY21dOnSQncO7iGE4yUzVVNRAnvvbrSrakkYX7n19/dIGqlWInRG5RIdLOJe8a5o\nu/q64lqhH5fzXjpsvRaOGzZsKEiTKJG5NlbPsYY5c+YYXVkr4aBYmRSriNgv3xQ/dudgHU4ajklD\nfx4jDWtpepxR6MV12267rVV9gR80jBVeMayGh9o3Xox11WPRsBaMKzQVXfUxNNHY2GgL4WecaMAU\nAZLI48EdGhoyxFHNKI5gfs+RRx4pKWuzwnoIN3FwhoaG7L2x1VEMJfi1RJXMmwhxvVFFYx4WUysA\nzwCjQ4U9YQrGgQceKCljSqyd/lK+WYJvIeTXHuPcY4FXMeNhj18m+pIz0bFMlQTHeA9zwt73vvdJ\nytocEUrDOeiZoJs1PSaOtcoIffw/OvJiKBIa0jUT8LOv4z0UR5xwwgmSpMMOO0xS1rABRowQocHD\n8PBwoT9YxGVTIanZCRLUCYxLMkf1GvAJEpEj0i4HVZlQyiGHHCIpmwHsy72QWEg9uj/SNxouRw/m\nz33uc5IypwfN86rVqj0LiAkoZRA5olfHonZCOIzuk7S/QU2kYSGN3xobG3NhOClrcoe0gkNT6gh+\ncHD6hw8PDxccLWVdKD3Ucpj5kr0Y+ok4ghMqJtLn3nvvlTSijaGaAm9+85slZZILrYvmjF/4whck\nZTR8/PHHbZ2xEUCZVgXEstKI98aNGwtnNOJHT2vOLmeUedlla+KMHnPMMZKycBfdSCmr/eY3vykp\nf0Zj26CYgLSpkCRzggR1Av+rKZAUyzNXqVKpmOSLKXfYzlFyIJVoWrfVVluZ5GIe0W233SYpa1tL\nK9pLL71UUlbQzrO4b4sttjDHRFlIQCp3gPFZTDipVCq2frhnTA6IXBUuT0O3uXPnmhOEuVRMtYxF\n6UxJwIabN29e7r6pU6ea/RzB4VnqAONz7HIkoccBnGKaYXRe7b777pIyp9/OO+9sWsShhx4qKWub\njISm+QATH5iwCA3R3GbPnl3Ihx9tfnHEj2kcSMKGhobCnC20t4g3kpJWwmgiO+20k9EQbYqpHszI\nYgoHZxS88B1wRqdPn24O303BbzRIkjlBgjqBCdnMcKzYnqezs9P0fyZVIGWinQKHhrMxRbGxsdGm\nXyxYsECSCsUStILBM8h0ATyoNBH/wx/+YGGdmNBfNgUy4umllTQSIuJ+JC6znqKthjT9wAc+IEk6\n//zzbR+QFkwdxHOLZGAeEfjdcMMNtjdS1gzeh97i5IRa9lZcJ55/P6kDHGnKzwxtAMlFCxykzJVX\nXilpJLUUrebzn/+8pMxGhh7sC2EtJLcPUUojvpboGR8Nx+gDIEUSaG1tLQwdwCsPcC8aH9GTr33t\na5JGJDo0OPPMMyWpkCJKyym+D8wSx0/iUzhr0TCGPceCJJkTJKgTGJdkjgkKscyrt7fXZicjLeOY\nGhrbY1/BwfBmXnLJJSbtkLDYOwAcE3vxgAMOsHulfLwzxibhgthLHmrVXnPvunXrrGEe86ej55ei\nExIOmGqIFD7vvPPM68uYFYokeD+NCZFa2J1Mi/TlhDFJIcaEI8Tm/JGGfX199r6bb745tw9IHQo+\nmJ540kknScpmcF9wwQUWZ0eCoQFQaIAdCo5oaOeee25unWWe41hO6yHSMMbf+/v7jYaMKIpjajib\n2MjE/9n/r3zlKxaDpiE/EQYKOphHDX5Id7RN/12KyTCbEnEpgySZEySoExiXZI6J7hGq1arF1WKK\nGllOp556qiTZYDFSAuFU69evN3sbWwauihQnIwzJzXAyWrDCcTs7O83OJpYYPaNl+I0GTGqMWsrb\n3vY2SVmL17333ltSJqHZj97eXtMsfvSjH0nKbDS0E/aGIXd4SvF2M1Csra3NPM1oPkiCWjSq1XDd\nXw+OSLmI41lnnZX7m3cjMV944YUCjsBnPvOZ3P4wlA17Gxqi+bS3t5s9SsonI47KcBzLV+DPKBIw\n4kdMeJ999pGU0ZDre3p6bP2sE/jkJz+Zexb4EV9Gi0Rz9fihtZAqOl5IkjlBgjqBCTXBR5qSX0pG\n0B/+8AfzcMPVsSWZSYw0hbviUbznnnskSUuWLLHPYnsiPKG8j0b2SAT6j8FBq9WqSWRstpgXXQbY\nPWQx4Xl8/PHHzcMdPft47bGD2Rti8UioZcuWmfTE9oxFEjwDLzJaAPj5wQI8A27OZ6N566VcD7Qc\njk888YT5KGJDCXDEU43PAs89jfefeOIJ88THghNwRWJBQzQX3u3tRiQ/a40NDsqAs0PBBxGExx57\nzMatRvw4owzfIyOMGDj5DosXLzYa8p7YMAMacq45o9jWPh+BZ/C+TcGvDJJkTpCgTmBCGWDRlvLS\nALsGKYodALch04tsLjyg119/vaQRyUm21Fe/+lVJGfeGu+O1xg4hu+aUU06RlHlZH3nkkcIgbf52\nbWkK2UOxvNEXx0dvOFyVa+HIe+65pyTp9NNPl5TZVkNDQ7YH4IFEQwO55pprJGWeT2Lyp512mqQs\nF/rxxx8vDJeLjQJiyxlwjDT0DQiQIjwLTQX/B5KZfcfWx3fR2dlpnuCzzz5bUpa3TXUUuEPjt771\nrblnkdu+bNkyO0vsT6zE8zjWws/TFLx4LvhxLZofPgvocN1110ka0Wo415dddpmkTGshM4y8iQsu\nuEBSZn8zFoiKPx9HBwl+IxAAACAASURBVD/+RjKntkEJEmxmMKGRrjG31TegixlGr3nNayRldsjt\nt99u1/rr8ALeeuutZkc/9NBDkjJbBu6O/YN0p7oFiffjH/9Y0gjnZWRpHHUKd+/p6akpmX3BPhDb\nv7AWKmvwpMcxoMRib7zxRpNCixYtkpR57YnNUnnFM7FvaWbA9Z2dnWa3xgw7l3ec4+poV7GJhK/Z\njjiyDn7ecsstuXcAH/vYxySNVIghtX/961/n1kx8lvNAJh1Zf0hktLHOzs5C7nKMx65fv74w0jXW\n1ft67Ygf9vtOO+0kKdOiYp491WtXX321aV6cUfCLORLEm6EdZxX82tvbzd8RaegaDv7jmxMAMSXS\n97TCjU+yAE4bFnb//fdLylz0OKYoiFi9erWpM/fdd5+krNSRiYWkxqFOk7RPyME3yY9NymN/sTKI\n6XR+k1HNSDdk3ahqrIUwEqEwEkOef/55Mw9oNsC6SVP9zne+IykrzqCwhIIPX+QRkyTGwi9O6Yz7\nUq1WrXML71+6dKmkzESBCRFGYg9gnCtXrrQUVK79/e9/L0k6+eSTJWXhNt5BOCzScHBwsBAGjDiU\nwWj44TSEgVCeC205o4QIcUzh3O3p6bH0U9bNlxoz4fLLL5eUJZ6AP2fZN02IxUcx9XhTIanZCRLU\nCYxLza5UKlUpU29iN0OpmC5I0TbqEw4yuDzqBtxywYIFVjZGEjslfzibjj322NzfuP9pAEDoobu7\n2xwucF0cYYTX/vznP5sKA37ReeKTE2KnSBxe9HQiFMOeUNCOtDvvvPPMaYJz6D3veY+kzFnI3Gv2\nGTPjjjvukJRx97a2NnOaREeY64uWU9HAMdLJ4xilPQ4vwlc8G0DFxHFz0UUX6eKLL87hSIooJgPt\ng/gbHHEGooVMmTLFWglFRxH0f+aZZ8akoW/KEBOaUPnRJtlLziohQs7sueeea9oVkvjwww/PrQkt\ni3WgfmMCIqm7urosjLcp+I0GSTInSFAnMCHJHJvYAQ0NDSapSK7AIQT3xtaAC+HEIvH+pz/9qTkX\nSBbAPj3ooINy74O7kwCPkwH7tK+vzzgzoQDsurKexOBXq/NmpVIxO53haoSRcM6BH1ycRHwK+H/5\ny1+aU5BrcLxQpMJ73/3ud0vK7Eu0G+zwgYEBs7MoYCGxwtmIpZI59sIGGhoazI7lPdi/FNyDM5IL\nGkK3n/3sZ+bYQrrwTHwl2IOUexKqIuxG6eKGDRsMF2xcaFiGYy3J7NNWOU/QEIdePKP4edAuceo9\n+OCD5qTku4AjFBqyNlKQKbQBP99xlmvjGa3V+7wWJMmcIEGdwIRCU9gUcRpje3u7SQg4Fi1xSPg4\n7rjjJGXFEngO8Rg2NjaaxMJDSJEG3I82RQTkacGLZxy7cXh42OyPGApj7WVJI1HzgHM2NzebXcse\noHlg91DqBoe+8847C/ihceC5pbAEiU2TO2xrNBKegd0/PDxcKIH0XuC//ywNTcW0T87BpEmTzH+B\ndMNmRNv64Ac/KCmTsvgsCLFUKhWjIbYhUg0phxeY1khHHXWUpEyrAsdKpVLolx4nbHocI36xkcGk\nSZPM5sePgp1O6ifnCW82EQo0leHhYdNK8HCT0kqYC7zBj3OBL8BPOKnVa7tW4k8tSJI5QYI6gXHF\nmfH2xWl8cLiBgQHT97EDkSpwPRImrr32WklZggRe57POOss8zXBvbGE8nthm2DhIkjgLd9ddd7U4\nN0UT2Hdl85mxZzwHlvIF/2gY2IDvfOc7c+snKZ+SPhItkGrnnnuu2UZoHuCLNx7/ASmuSBLiuT6t\nEkmGZsD7as1nBkfsxTIagiMeeprQkaoIztjyaEzYgeecc455qYksgCMFJzQnxLuLfRpbA+24446m\ncYEjCRk0fvSAT4N9QWssww97npwAzgSaIOmppHdSBHL++ecbfkhmNFIiDmhZaG5AnJe2ww47mMbF\nupDucdLkWJAkc4IEdQLjspmbm5tzbUyjfdbW1lbIuMEDiXThJ1yWIgK8sAsXLjQOSYYRz4gjTvCI\nA8RDsdObm5uN48eZz26SYMHeiuAldPRwE1fGDkZLAAfsLqTqokWLDHekOJoHEo9G6uwVNhReWLh9\nU1OT2YY8s2TtpTYzECcqtrW1FaIUSDDsRKRQbGuEBL3zzjsNf4r0kfLYlrRTQmKyf3js0cIaGxtN\nMyrTpiKO+HVK2tVKGtEA4mRIaMh5iqW3aJO8/+677zapid+AvYmjlPg/55B0TjSUpqYmww/NByg7\no6NBkswJEtQJjMtmjjE7OBzSqK+vzzgPbVXg1tjSZC8RfyMzhjYzp59+usUzkUixkT4xW7JwsF/I\ndfYZTEiPWIheNnSsVssZXzZJDjZ2FcXmvAcbnfY4ZLhRPHLuuecW8Iulfdhb5GizvxG/arVqtnEc\n9lYLauGIFrB+/XqTTGgO2J/QEE8tufL4Lmi9+5nPfMb+F2cbEynAL4BdCo5EKvwIGjLAYkSiDNda\n7WmRkH19fVY/gMTFB0RBB3+TRw4N8bf85Cc/sbqBWGILDSmwoD0Q5wb8fLFHxC/iuamQJHOCBHUC\nE2obFMeTYK+1tLSYbUrsDs5MBgwxSmJ3XA8cccQRZj9hw2BXkxFFHmxsJwP3I2773e9+txBvBIfR\nKlJizBbJ2dTUZFw04keTe2wlitWJvcLBDzjgAFt3bDtLC1jwQ5pgq/EMRqDcfPPNNbPVxmpOGHFE\nwnscaRzIeym4Z32UM9IiiWcedNBBdg/2NR5hmjXQWpe94J1oCGh2119/fc1c+VrthD1eXIvnu7m5\n2bQoynF9zrWUnVG0C84XHnnGtUqZvwNJTJkkgwF4NjY2+EHz22+/vWa2Wmq1myDBZgoTygDz2UJS\nvvEY0gSJiIcZTx1ZW9h/ZDmRw7zffvsZF8V2YywIsVq43Fe+8hVJmWbAyFe45BZbbGEF/3B+vKrE\nWQcGBgoZYA5fSXkJgLYAfnBmMnrI+EHzAD9i9EceeaRJerg2w9Ow1cCfvQI//AzE5mfOnGm1ztyD\nNxiNoFYGGDQs01zQNviMqiI0BNZF44Grr75aUlZVdfjhh5vmgz+D1jvURvMsKuPQMGhwQCPEqVOn\n6oEHHsjtA3F64rM+iy9668sy3SJ+NLWgyeM555wjKYuR45uh7uCQQw6x88Ra0DzBj/N+3nnnScro\nQ0Ucgw7a29vtrKAdEb0Bv40bNyZvdoIEmxNMKM6MxEIi46EcHh42PR9bCJsFicj7kE5wYOyFN73p\nTdZpBNsXmwxJ4KSOpIzrsh5va8LxY3yb//f39xdilDH2WjZkHq2Ez+DQ4M97qB6C6++5556W6cVn\nZE6RYYSNFu178ESi9/b22lpjC2E3XDzH1Wvh6D3DUfPiWWSPQX+kD15eJMvee+9tsX6iFGTV4QWO\nvhKXh5zDZ926dYU2OqPhCH4xB2JT8EMiApxR7Fuk8bx582x0D7iTYUitAX/Hzi+Rhj09Pfb+WHPv\ncrQ3STKP68s8Y8aMqpR9afx8Iimfesei+WJxuEECFYdwBuGOlStXWrIIGwah+eKT5hlnQsW+W4OD\ng8ZoUHNRlXDurFmzxjaqq6ur6t8X29PMmTOn0FOsVudICIHjhwT7F154wUIiJEaAR5wlHJMbYlH9\n8PCwfbFgJqQCgl/sAQaOsQABnLfaaisL0UQca83a5kBjJjz77LMWuqOfVuzsiToa2x3FNk9DQ0P2\nPwQCNCTxwuMIfv5+j992221nZzQKHphRxI8vM2HIZ5991pJhcIRyRjDxOKMA64hTNHxbJNR9zBWc\nqL7H2WiQ1OwECeoExiWZ4Xo4ewg70CFycHCw0P0yOkJwXsUySiRLa2urObriNASujY43OBkSBRWy\nr6/PruF/cD9Udd+dc/LkyTnJjAOO9w8PD9tzouOIMBOqWGxCBy4tLS22Tu5Ba4G7xxJMnFqotahl\nAwMDdg3rooEca46dHdvb23PaFeE8jyPPjzhwLeuIe4AzUNKYOEbHFCou+4fU9DgCFLngIPKSuaOj\nI3dGeT9r9jSMZ7QWDcGPhKjm5mZ7N2cEh16tM4pWgXnhaTjWGd3U7pxJMidIUCcwoYkWSBmMfM+F\n4C7eKcZnUrFZHDa0D41gg8ce3ATtCfqX9e2WstTANWvWlDbl89eWNSfw90t5KcJzYnvUsuaGfm98\n47yYsMIzeS9SrKyntZTZeOvWrauJX60kfXDEl4GdWIZjTJcEh+gQjOWLfs1xPTgi43s5Hzyb9fX2\n9tbE0Tm5CjSMUtY3POS+sWgYZ3p7GnLmIn5IajSBWjQEv3Xr1pU2VfR/p0KLBAk2M5hQOieBfqZQ\n4Mn1ALfxEwulzDOK9PEtfqQRbhQlAn9jl8DdotcZTyKe8TLAC0mqXhl+zAMiNS+2rZGKYSsgTvCL\na/TPiT9JLKiVrog3n7ZCZYAXGU9oLWAG8ac+9ancej2OMX03hnTQoMqmFcZ9iamxvCfaw3jjaalU\npjnSTIACiDKg0IX00dFoGCU0mgZrjdEbj0+kIec6hsYAzihNDcoA/MaiYYQkmRMkqBMYl82cIEGC\n/7uQJHOCBHUC6cucIEGdwLgcYG1tbTmdPI4+nTlzpiV8xGtQ52MucOxWWKlUaqYvRmdaHF/K54Qj\nfKocITCcaCSxPPvss4VUQD9FUsocJLNnz7aUxRi+qYUfz/Bhndj1M94TnSpcBy7g4NNVCXUQLizD\nz+PIs+Nez54921JPI44xfXZTcIwhykhDAMcoe19GQ8JN5K6TxLF8+XLDsbOzs7RPHeuYPn26ndFa\n+EW6+9TLWvhxTcQvOtWgJUk6Q0ND9j+uAXdCsStWrPjHj3SNQ8n4G69mV1dXbtyoVMy55e/okQYa\nGxsNKZ7BvfGLz7N4P/d5YrDJ5BXzrNg8Tcq8yRwa1sbzZ8+e7ece594V3+2KAHLvaGhoyLUhkooH\nIDbf513c55kBe8Ha44GohSMxbTy1eG5nzJhhOPK/mPs+Fo6NjY25Nj2s1d8bx+bWwrGlpcWujU0a\nyDfwAJ05o9DQ4+fmOpfiF89kbPzgBzVEGkYvPfeyzzAtoKWlpbAHrCO12k2QYDOFcUlmOFqsLkHd\nWb16daHEC04Zs4dQYciYQZK0t7cXOFLMd43xwchZ4Y79/f1WYUPFCxy/rBlcjIGT+UMO+t/+9rdC\nHi/SIma4Id3IZ/aSk3tiiWPMpIrxT54J9PX16RWveIWkLC4b740AXWIVm8cRGsZMOHBk76AHOCLp\nJk+ebOo+a0eCxXHAMQ890nD9+vU2UAEaxr32AM3Yb2hKE7/ly5fbfpNJx7X8H/xYG2fUPzPiFzW0\nSAf+Bn+gr6/P8KMZ5Gj4jQZJMidIUCcwrjgzFSlwjlhv651XUZrE6h64PpyUzwcHBwvOJGyJWo3O\nohPK/4yfxewqPy6zu7s7V3ETmwD6rKbYdifm3oJftB2r1WohKwiOX+YM9O+Ittto+Lk2OTnnyZQp\nU6p+PRPBMTZ88G16pXxlEvegoY1mZ/t3bgqOzndSoKFfS8QvnpNYwcUa0b5iu2Cfv849tTLbajlK\nJ4rfaJAkc4IEdQITqpqK1R2+MiRKk8iB+T92NvWdcKFtttnGQg9lg7f9+3kvdh8eaupBn3rqqULV\nEve4saiFZnARP5+rG2t9Iwfm+dT20vIICbHttttanSq1x3S+iJVDcGwkBHXjHr/YXYV1lOHncayV\nU97X1zcmjvyf9Ucct99+e6v3ZR8Yz1OLhmgynAdqlp988smC9sY92P1lNIyVTz6fPOIX18ReEBrC\nPuYMzZ0719oggR+DAmqNZ4WG4MeAO39GuZd14ZvaVMk8Lgs7xiYB79yKEyP4orFQZg3RNTNePzg4\nmOv/JGUzpz7ykY9Iyub78GXn2RCXwng/v5iDEMslR8OPv73jJ37RYjiDlkDMZY7vaWlpKZR9MjmC\nzpT0peZAo4ZzqGAGHr9Y7FBrsgU4+cIWv/6GhobC9A9MBa6hr1ekoQdwZN/3339/SdkcLXCkjRDP\nxvkJg/DzizENxsKxDL8yGvIzhrH22WcfSSOTK/wz+JKtX7/e8OOs0PP82GOPlZT11sYBy1kGP5jd\n4OBgzmHr8RxrOkmEpGYnSFAnMCHJHMFL1ehIIROJRnjMiULNpgc0JYnVatW4GJyQe+B2OBtQvynJ\nvOKKKyRl/Y6r1WpB7eGZZeZFzLyK+G3cuLGQMEG7Izps0g+ZVj9MbqQ38uDgoO0JUp3plh/4wAck\nZaEg5nKddNJJdq+UhTCq1WqhtC8mZ0SI6mek18aNGwsOOJpR0GucWVioirT8YYZWpVIp0JCmeEx/\nRPowe+mss87K/Z8wVLVaLTiXYhJRGX4RvFMp0hD8MHcow8SMgJaLFi2yZ7BO1kLjRiQzWiJ9zSmn\n5TxyRvv6+grNOMaiYS1IkjlBgjqBcTnAaMnCPa985SslZc0AGhoajBPHtEfssJi6SLE2EmzLLbc0\nTnz00UdLGpk3JGX2KG1ML7zwwtz/99hjD0nSe97zHkkjWgH2M1Ayt7fgPKmFX1NTU8FWju1no01N\n728SD1760pea5DviiCMkZZMQ582bJylrPsDEDnwGTP048sgjJY04X2IufJS4tRxgfB7b+zY0NBjt\nIg35O86pomnCjjvuKGmEhmgMRx11lKSMhrRWBkdoGHFkFtWsWbMK7Y1HwzHit8suu0jKJGGlUink\nukf8YrLGnnvuaXjxExpy1m644YbctZxRaIivCPw52zNnzjRnWvTZ1KJhLUiSOUGCOoEJ2cxwZLi5\nn6qA9xIpSaPyaI/CoeDcX/3qVyWN2Atw+Pnz50vKbEjc+9gleHmZBQRnRco/8cQT5hmPkwXK5vhG\n/KgeAiZPnmxeUfCjkT2cmhRBPmcaIBMUp0+fbm1XmToYm799+MMfzuHNhA+kHQ39H3/8cUtoiIUL\nMSRYC8co2Ts7O+092Ll45mPKIp+fcMIJkjIp29zcbPY07YmQfqzrE5/4RA73b3/72zkc8XIvWbKk\ngKNPMKqFHz8jDdvb242GTBfFax2fgcaHr+byyy+3a0jBhIacRZ5N6yloeOWVV0rKaOzTcMEvntHR\nplyWQZLMCRLUCYzLZp40aVJVKtZ9+sZvxNtuvfVWScUxNXhyaVp22223Scqk8IUXXmjxVOwnRpnw\nd5zng92CfeKb6kWPYCzF9KM/aIIf63Y9fnBpRufAiZHIeD6RzPfcc48k6YwzzrA1In2w59BwwA8P\nLyV+hx56qKRsoqBP74yN+GKif2ygTk16HN/icTzwwAMlZaNX4gwvIhHMyrr33nslZdMhv/jFL5qk\nIlqBZ/7Vr361pMymBEfOzSWXXJLDccOGDQUtCknG2SobZMA9ZTXK5CmAXyye4Yzi72A+1uc//3lJ\nI1ok68avQmSFUT3QkJwA4upMmPQFJ1GLgoYuVTTZzAkSbE4woVa7taR5tVo1KRMlBPbH+eefL0na\na6+9JGUpc37AHF7daI8yn/gd73iHpIzrf+tb35KU2TZ4h719RJkemTdlMfOxGspLmQ0WJfzee+8t\nKYuXonmAly/4R6Ldddddufd89KMflSQdfPDBOfyuuuoqSVkWFcPYOjo6CllaZE7VygmIOJZl9eFd\njeNZwAl7EGmKNuLLXaEh9ij7xHzi6L3+zne+IymTYNjQnZ2dZm8TEWB9o+EHlBU2cEZjlxDWjJ2P\nhoLWxft7enr0zne+U5L0ve99L4cfNORzNBFoyDPRSNvb2y16w/Px3o8XkmROkKBOYEKSGZuCgggk\nyOLFi802wmvHTzK8rr76akkZ96EpPXG6pUuXmoeTgvLYrABv7t133y0pywOO765WqyaReV8c6FUG\n4Ie9Q3bPH//4R8vkIo7Mu7Ab8TxzL9Js4cKFkkYS8sEH/LAvWRvefPDj/xQr+LJSChTAL84wjgAN\naUaApoKt9/DDD1vWUsSRyATr417+Jld78eLFZlPynkhD8gsYPUvUARry99DQkGlvZNmNhiP4kdVF\ncQq27eLFiy3mjOaBdsMZZX42GW/QEO1hyZIl5q/hPdHu5TuB9gU+FGT4TLyYgeZH6YwHkmROkKBO\nYEIZYLFdDxx8aGjIPI1wTyQHthk2EpIADyE20vTp083+u/TSSyVlY0iI2V122WWSMu8u9hc5zMQ4\nFy9eXBgUDod01VSFoWOxGYBv/YIWwHOxc8CPGDf2F/YleeMzZswwTgx+5DSj6eBXQMpTpcSzqKZ6\n5JFHCoPCYzMEPxhPyjKkIg19uSO48WxoCGy//fa5dUFD1tvW1mY563inoSES+hvf+IYk6eKLL5aU\naWif/vSnczg++uijBRqyLiRX2fC/SEN/RqFhtIVjlOF1r3tdDj/o9ZKXvMTuIfaMBEYj4YwSe4/4\nsT+PPfaYrQcNLTYL9Gd0NEiSOUGCOoEJNSeItpSvhY1VOdib5ADj/YueRAZ8XX/99ZYd9tBDD0nK\nPKLYpWQHUaGEpIPbIQU6OjoKudk+W02Sent7jes1NTXl8ItD4CqVSqEWlgob7EY88NHbzZC9m2++\n2aqkfv3rX0uSbr/9dklZTJoaWCQDcV0K4e+44w5JIxIQuzVWP4Gfj8F6HJFc0NDXecexu+wzEoto\nQexrTkXUHXfcYbnI+ApYM7TkXEBrJB04QsPu7m7zXkccXQPGAg25JrZt9jQEiC7giyFaAH6cbzzV\nt99+u9WgU0kFDcGXDDFoCH7U4DMUzp/RiB9r92d0NBhf+7+/Q0yJ9CErAu8cbhI+MOo5sIQ1QATH\nx4oVK8xJxv8IwJ988smSMmcZzi1CDYSNfE/u2OEyzoseDb/Yn7upqcmcYxCLNaIacQgposCJwoFc\nu3athSlwGPGlRp0jPZW9xGFDWSAwNDRUYIpj4cc+1JpSWa1WDcfY6QXgwJLMguOGsr8VK1aYWfHA\nAw9IymhI2AeVnHfgdONd3gyA8cQEkDIc46zluC+NjY3G/ClxZH9hDiSJYL7hXMQMWrt2reHHtUx1\nRChhRvAOCkugoT+X0STYlDNaBknNTpCgTmBcanalUsmpaLEXtlR0rMydO1dSxoFp0QIXJByASnHJ\nJZdY0QUOLiQAqiOJB0guQib8hNN2dXVZj2rujQkIfrQJ+MWeTL59S1RBUT1R8QnFoM5TpICz5Zxz\nzjGnDymsJLugTiPV4epIe1R4emR3dnbm+o1LWeMGpOvTTz+dU9HAkf2OvbA9jtCQsA4qMA4x9on1\nsafz5883x9eCBQskZSWNnB1oyDlA/Wa/KDvt7u42ic8e8jchq6eeeqpAw3hGPX7xM8JIJL8gubkH\nVZr7zjjjDCvppOnABz/4QUmZak6CE/eQOoqzE0ne0dFRmMIBfi7RKTnAEiTYnOAfIpl9AzzCQtgZ\nFCTAcUm9hAuRPEBroHvvvdfCVkgPysWwYbCHaPB30UUXScpCUtjpvtCCwnLW5ez9MSWz+9ycJCRw\ngA/FHyQWIHHAhaT9e+65x5w/7AElkUhkpCUOl4gfdld/f7/hgWYAfmV9wT2OsZ+5xxF/BwkO0BAH\n5LXXXispk5SkLOIo+8UvfmGOLWgIjqRrRqcZJaLQidLMgYGBceFYCz/vXCK0Bg0JiyKBsefR5ij1\n5Kzef//9dl4BHKGka7I2ykMpQiF0iW/A03BTzuhokCRzggR1AhNKGoFjIUH8rKdoE5NQTorm+9//\nfkmZHYzE9q1TuBcPIKEcJBoplXiFacFCozuC75VKxWzkOOOqLGmE0Bv4xUmWkydPNruQ52ALkd5H\nK1m89Xhp0RaamprM5sTTSxEKEg57EW7OM5Ek2MW++WHsQw1+MWmE0E0M2ZThiIZC9IB3HXfccZKy\nghfKGUm3rFQq9nxoSCEK0hspj9bBuUAqub7fBRrGqRgeR2gYtSvfWAH8WCPlunirjz/+eElZy11w\nwGtfrVYtOQdpTqgKCQ0NSRqhWSN7BH6SCvhhq/P9SkkjCRJsZjCuOHOMHSORkaQDAwOWroeEpmyP\n/8PtSHfDUwqnWrBggXkV8Urj5cWbi72C7RY5NVz45S9/uUkz3k+CAAn4HnyrGv8cP1GBiQTYPkhg\n/o+0uuaaayRlnlIkxBe+8AWTGsRescPxxiPF8PDiqQbAc6eddjK7ljRC0mVJ74zAu7DZwBH7t6+v\nz/aGSATedrQPCg+wLdEo0IjOPvtsk34PP/ywpIyGaGokU4Aznlvi8uzXK1/5SssfiDQsm7GNXwEJ\niObJHg4MDBh+nGd8MTyf8lz8IeDH5xdddJFJZiILRA/ABw0EGsYJptjUu+66q9ECGuJnIRKzqZAk\nc4IEdQLjspmxt8oKvqUR7hOL3+FYeMCRunB5irjhlgsXLrTYKSmBzFZCqmOzYXvCdXkXZXUtLS3m\n1YxcnPUNDQ2ZPdLc3JxrG4TEB6eOjo6Ch5tYJ5oIHBtNY99995WU2YILFy4sSADww+4CP6Qlth3X\n3XLLLZJG7GO0Brh6HK3j8fM4llxn74ytiCjVBEfisNiY0BDt5O677zYc3/72t0vK4u/gSNNC9gvA\n640Eb2lpKeAYR894HOMZjTScPHlyoYEB54Y1ujRKSZkmgpZ3//33WywY7zXnAP8OTSd5FrSMWuZE\naFgLkmROkKBOYFw2c1l7Wik/nxeujR2C3QsXx/459dRTJWXZQ8SS77nnHisng5shVZHuNF0n/om9\nhY3h593G/402jCvih11Dptn69euNe+ONxyak4IEYMK1k8dpiI5522mnmjXdlirm/Gf9CQQN7SuEJ\n0qZSqZiGE4tfxsIxalfYuL29vSZlkKo0WsCXAM7gSFYTtt6PfvSj3CiXsveCIzFecCQzCnwqlYpJ\nLPCOzfg9xCaT/O1b/qBpIHGxr/E/8JNaAHLoiTOfeeaZRtf4PvxHxKbJFEP6RxpKmZYaB/bVav1U\nC5JkTpCgTmBCVVNx9iye0+bmZpOEtF5BuhJvY7QK8VnsLDKGDjzwQLMh4GYU+pM9hHcVewvJzd/E\nbW+88cZCnjFQsxKJ6QAABe9JREFUS8vw+HEvNvykSZNMSsBxfU65lMW8kb74AnjmoYceansCfuCO\nHYmHHC6PVoMGQqH7VVddlWvZKmWScKwG6jHuzh62trba75T1gSNNE4gJE0NHcnMdMVUpk7j4P7Al\n0WzQesARLQ//yDXXXFMTxzIaRluZn167QxJS6si6ySMna4sKP5ok0j75fe97n51R1o/3mja+nHPO\nJOeG6znTN9xwQ82qqTQ4LkGCzRQm1JwA8O10pBGuiGcZbhMHhn/pS1+SlNnS1C4T0zzmmGOMc2Lb\nIPWw1ZCUVFfhOaUShzjkrFmzrCqL9+MtJZ7ps2uiNztmEVWrVZOqfMbzeD7cnfgj8Wbqnw8++OBC\nix9az2BvI0WoquL9H//4xyXlC/qRHtxDHBk7cGBgoDQDDLrHTDApk45oXsTfeceXv/xlSZl9y+gV\n3n3kkUcajZDM1GhDQ2gMjkhd8tGxOdvb263em2eSW12G41hnlGdKme3NujlH4Ed++Ne+9jVJWdOI\nww47rDAyKY4ThsbgB760fkKSd3V1WSYgHnIqDMmKjFl8tSBJ5gQJ6gQmFGf2w9WlvIc4cnyupRaW\nz4nD4uXF1p43b57ZatQKE6OF62Fnx64S/ITzrl271mxVpCAS1HUjMa7X0tKS2wzw8y2AYkYRz6fi\nBUkAZ8bzjqd63rx55k9Ag8AmQwLFNjJI5jgm5oUXXjA8iLkjMVw7oBxXB0fWzZ55L3j0zPIO4tzc\nA054efn/brvtZrF+tAjymsnjRlKBG3sdhxasWrXKzlekIf/v6+sraFcxKzB2nJGyzD72AonIWtBW\n4hnde++9jYbkYiPVkbKcUexgl2ctKdvbnp6eAn5IaJejvUmSeVxf5u7u7qpHNrY32Xrrre2LF9ME\n4xxjNpd5tqQ2rl692pwfJA6wIWwcrXqiwyCmzA0NDdl7OIgwCBiGn+MzZcqUHH7sDYd2u+22M/Wc\nd8SmABwQiEU6JyG5559/3pwkhJ4gMIUkqKK8n/XEGUuDg4MFc4YQH1+m2D9q+vTpVan4JeLv7bff\n3pIj2Nda3SNhcqjEMNvVq1db8gT7zH6RboqKHhlyxNG3DSJVExriRPV9zqZOnZqjYfwyefz4LDJC\naBjxw3RauXKlpdyCH+/jWr7UMUTGGeXvwcFBO6OkCKP2kwoa54XVgqRmJ0hQJzAuydzR0VGVMi5H\nIN6n2cXAPhwWRwHcL7rjSfOcNGmSST84JmoH0iNOpaBonXX4uU4x/RIJRjjFS67Ozs6qlKlXOG+8\nyhQ7J46FHxybNVarVUswYf+4B3xiSx84NuEboL+/366Bjkgv8IvdObu6ukpx5NlDQ0Om3sV1cC0q\nZXQQYkq1tLSYWk34DecZz4o0ZN2sA9XX4xh7k2Oe+O6cnFHWFM+opyFrgEasFRMgdh/ljLa2tpp0\nxxyINIxltHHNvumk7xwqZQ4+zkmkYS1IkjlBgjqBCTUniFLI95eOyQhAbI7ni8Wl/HTCOGMHjgWX\nhcuX9e2W8o6SWpMdWUdZcwK4Le/xzQB5B5I3tq71qaRSZgPC3X3DhLHw4x08ezz4OQdQ6USLKIW8\npKyFY9zn6AxES6lUKuZDiOshHRZJCQ0jjpyxtWvX5vbOv3c8NPQ9sHlOLfzGouHw8HBBW4iFRWgv\ntc6ot9Nj4cho+I0GSTInSFAnMKF0TtqLnnLKKZKKXFUqzmmC28AhY5GB1xBiojk/CffEsjaARH88\npZVKpSCx8EIyYdEDa2DGMu1Sx4Mfmgbee7QMjx9rinjiG4hhFe4lREKyfplWRTMIiuRr4XjGGWdI\nyuZzIUkbGhpsPUiiKMF8WEXKaOlLR2NBS0yrjKExnk0oj7Y7ZThSVoq3tww4mxT0eEk6Fn5u2omk\nchr6QhD/M4aVYmSEcCTRG38+uYYGFxQhbSokyZwgQZ3AuGzmBAkS/N+FJJkTJKgTSF/mBAnqBNKX\nOUGCOoH0ZU6QoE4gfZkTJKgTSF/mBAnqBNKXOUGCOoH0ZU6QoE4gfZkTJKgTSF/mBAnqBP4f6rTG\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\n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\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\n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\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\nLKP3oaurK2NrYcKDgRlat4888siSc2jhVxd98803yzLs4vFUy5rS4q5nYIUVVsgy2mJsvPHGANxz\nzz0ArLLKKkCQ9JSy8plX4j/+4z+AoGdr11h11VUBMg+Grqjx48cDcN9992WW/XrmVw2JmRMSBgma\nsmZXCHQHyFg5/5mB7Qa6G+Cx0EILASEAxN3pjTfeKGMNmVndRQaQqdXP3HH/8Ic/AMHXV2mssc+0\nEuJxVGLlOPlAfdJ78bvf/Q6ApZZaKvt/PH7ZQ8hi6t/OuxFGroWiEMV8uqf3SInn3nvvBYIe+MYb\nbwBhHnofOjo6Mr3zoIMOAuDmm28G4L333is5VngOnw/vQX4NYsaqlKIY+469h+KBBx7IvqetQgu0\nkogMqVekUlJIrPvqjbnssssAeP3110v+f8UVVwDh2dx2222BEEwTz7UZJGZOSBgkaMqaXW8aWyW4\nU6nvPvHEE0Cwbo8dOzbb9R588EEANtpoIwD+/ve/A70RRhB236222qpkPHm9OI5iitHqCDAt8Uar\nqUvl2cBxx7qx0AfvfTCyra+W3i/H1wPlYYZKC5999lnDDFGJ5ZWSVlxxRQCuueYaILCdfmR16Hh9\n8oUIZp55ZiCweoxKazjDDDMAQfLL66NGncmeo0aNAuC6664DwrOpvqsOnb8vcYUc18aIRquwGL6q\nTUg/u5b/119/vWZSSdKZExKGGPrkZ240qRuCbvzkk08CQQ/UX7fSSitleoR6thZO4U7mLu9PfXvq\n2BMmTOg3P7Ow5tdf//pXAJZcckkAnn76aaBXZ9pll12A6uwI4b7GLNMIalmzi0rx1IN4XH535MiR\nPP/88yWfyWBalbXcF6HZNM9m/Mw+P8Y8/OY3vykZo3Yfdevpp5++bFz63BdffHEgSFc33HADQOah\nmWeeeYBer0a9SMyckDDE0LYIsCJoxTRFUqul6XU9PT089thjQLAAy1TqVzvssAMAt912G1Cub8nM\nH330UaV0spJjW83M2gBMEzzjjDOAwML77bdfZunVBuD/1N20zutfVuJoBn1JgawXsXW+s7MzWyul\nN9lby7i6ZBHyRQy09seWadHsGqobq9+6VrKs0YrOL86UgmATUYrSzqNurKT25ptvAkFP19Nyyy23\n1JRCEjMnJAwx9ClrKi4nM+OMM2Y7sDqC+sbcc88NhKink08+GQgWxLyPL2Zar+O51LezSXyp92l9\nNKIKKvuGW4FYX9x6662BMJ9TTz0VCGxltszaa6+dxfXK3toE1K+NhY6j1lqRJRXHkKsvarOYaqqp\nMklBRjLuuAhKTkpbu+66a/Y/x+yaPPfcc1XPJSt6TigugletLHPRsT09PZm04Jy1Vhsj4L2Jx6K0\nMMsss/DPf/4TCDEAZsC5dmZNqTs//PDDAPzwhz8EgvTVjCRUOMdGTmTd7Fr1mype6MubqVsgdjNZ\ngKDSAvlC+iDGBQ58CVyU3HhrvsytFrN9Mb03FlLIhyQqrvlQqXq4ERx//PFA2CQ9rhlxu5niBI1C\nF5sv884771x2zMiRI4EQvhujaMOadtppS2pe55FzOza0ht5PN9M//elPQDBOXXTRRUCpURbChjTd\ndNNlL3hc09tj3OwNjvJlN6jElNB63LtJzE5IGGJoSMyOS55UE/9iBv7Wt74FBMOHxitF40qMLJtd\ncMEFQKhJpcNdY4MGpTiYpbOzs+7uBY0iFk+9jmK3n5uEr5qx6KKLZkY/A0wMoXTXNrFfVSSuUdWI\nK7AW4nDUPGLjYfy3c1566aWBoELlEYdpFiEOs/V7n332Wfa7gUW/+MUvCsdcD7z/Cy+8MADbbLMN\nECQkC1qYWKGktNdeewEw55xzZmKyLP6d73wHCM+ez/9cc80FBIOX7K+UtcQSS2TvRNE9qBeJmRMS\nBgn6zTVlAQETvHWuG0yRh/qIO/+iiy4KhAZeMpQBJ7/85S+BsEta+RFCqRclhHa5pjR06FYTSg8/\n/vGPgV69Xl1YSUKGcH7xzhwbGhtBUdBItbrZRRJXXI/ccarTWkRBNoKQjCEjFV3LNZ5zzjmBILnl\njykacyNr2NHRkUkjjkl3mc+PkpLPrGt3zDHHAL1FGnRnyfKLLLIIEBJKNAL6XJjqaZkkUyF33XXX\nsiSgeN6po0VCwhBDy5nZpHSd6cK/ZU3DOtV73OU//PDDrNSMu5eWUF0UBhGol2gxFvk5yWayW4xG\nmbne7gcbbLABEAoluPtPmDAh05Gc+9577w2Ee6RLZJ999gECI1ZCo0H69cxxjz32AEIhO2FpHwsL\naJm+7777gFAkoqenh2OPPRYI3SXVGWO7Ruziq2TjiIsTVJtjrfl1dnZmrjfvs+WQTGiRkQ888EAg\nlHHKP0uew1JDG264IRB0Z9NEZW7fC702SjGffPJJtv5FIZ7Jmp2QMMTQcmYu6kvk7rrJJpsAYTc8\n+uijAbLA/PHjx2clVoQJ3fr7TCdTV7YAgMEk6kT5MqgGQMSlUVulM6v7a7WP4X1YZpllsnKyShay\nqsn/a621FhDmvfnmmzc7rKaYOe5YKCP6t9Zr/f4mlSgldHR0ZKmPWoSLCuu7Zj4XMpjMNn78+EzS\nqhRQEs+xnq4rhgN7v/2px8HikvrLLUYpqz788MPZc6Tl2+sovZi2q83G7xo0Y8JJnuWLbBWJmRMS\nhhhaysyjRo3KIrrUjdx1/Nudyh3K3WidddYB4P777y9jzzhVzXA7I7+0Qpoymf9eLBlU6+PTyugo\n9X5/6mc944wzOOCAA4Cgc2rBVc/UrymL9QWNFvTLF2UvajFkIovFArynsuqkSZOyyCfPEVviXTOT\nGwz/NSornzoZF3GoULaqoTWU4ZUOTHB59NFHgSDx6e+XbS3yv9pqq2USqGOIx6bPXYnNAn+WGNYD\n0Gg/tGpIzJyQMEjQ0i6QnZ2d2a6tXuMuqG5h4TPLxqgrr7/++oXXlRG0/urLVYeWGYxt1sLY2dlZ\nc+frawH1ovsXW2W1iG666aZZmVVjgrXa6/dUAokllGZQr85cySoeF4n3XmrttZ2OkoV2iemmmy6L\ngIvj+JXAjNpzTeNouD333DP7f63ex42uYbw2PqNar02ekKG1DZgss95662URYLK781D3N0bba6l/\naweJSxFXQ2LmhIQhhpbqzJ2dnWUF+/QzmhpmtkhcXjZ3jey7Wk3vv/9+IFjAZXOLp/m3FkIjlOqJ\nbmqVzhyfVz3P6CHZbPPNN8/S4xyfSfCmUYpWxGA3as3u6urK9EElA5nJYvDGCqy++upAuf93mmmm\nySL88oXjo3EAwaKv3zVOt+yPHtvx2qnv3nnnnUB4nmwGOHbs2IyljTfwufdn3CBO67y9rvPzjK9f\n7RmthsTMCQmDBA0x8/Dhw3sg6Adajy0a0NHRkbVQMbPJnUt9VguhcdUWi9dye91112XMoO4S++7M\nntIfW09+dVF2UKO7eq3MpZil3GVlXbOoINwb76MSiVbVZlt75hHv6l1dXSU56fF96ezszOwZxhUb\nxWTsuBKT0U6Wd7r++uuzeRmjrHXaHG71U3/GunUllqqVTVRtDdXnZcTJkydnUpNrpSU6fn6KrtfR\n0ZF5KZQG/a7PppZ+bUhGuPls533lsW2i2vyqITFzQsIgQVM6c7x7utuMHDkyswhaLtedyWZpZ555\nJhBY1x3Z7Jr5558/O696hZZOmVidrSi/th5dOdcsuy1+5pdeegkIFut8RJDzslC+7OT8WlHqqNL8\nIFSLiXf/PFsZCaWV3XunNKVEccghhwDw3e9+Fwgtdc8//3zOOeccIDDi6NGjgeC18Hrqo0X6YjXk\nWK6hNYzbDRdds9rnRaV2nZdrGre6ce1d42rSV46p62Lmhl7mESNG9EB5OF12sir1jHxwv/nNbwLh\nwfAmGOR+0003ZSGepostt9xyQBA/6x1zZ2dnYXqZaFfQiDCMzwf+sMMOy4w+uieKwhRbgVhEi1Wl\nGNXWUPHbcFQfUB9gX+Djjz8+SybxYY1rj9WL/Brm5hT/3Rb3YiMwpNXAknpVpPz9LuoUk8TshIQh\nhqbE7EMPPRQITvU8ikRfRQZ/NtOnarfddgOCUaVIrK5kpKoniL0dzFwJRWPRnVGrGmYjKHJNxSwb\nh2xC+X01FNfQ1GaYTTY3iKieFEjHVCRlVVrDauWQ6i2/VMtlVOlcpusqicbj8Bx511atdU/MnJAw\nxNAUM1fb9eo4B9CYgUMWr3es9VyjWePJVw1FzNxKfbHauZq9Tj3fyyVgZHOslUjSajRqPIsxYsSI\nmmG7iZkTEoYYWuKaErPOOmtm7q/jXCXnyOsetcrE9AXtCudsBHEZ4nai3nDOfPGAOLGhSMeM72Xe\nXmLop72Vi1APgzUS7igzO5ZYeqxmra93bPmgkaJuG61AJcmjGhIzJyQMEjTEzAkJCVMuEjMnJAwS\npJc5IWGQoKEiU4PddTPY5wflRkyRr7Ol6zHORss3QAf4/e9/D8CWW27puUuOr/RZfI7cOEuOz39u\nbrQhon2t4xYHqhShHb296kEcRFKva6rf2tNMqRhqL3Pshz333HOBENVnggCENFZ7EefOUfK3x+U9\nGXHUVi3LuIhf5nyBQVNE4xav1dawKN4ZQmndN998s+IY+sOe1NXVVTOOO/mZExKGGBIzDzFmLpqj\nLWcsc/TlsSU/45K3Ii4skP/dIn+mTcaMXevc1aLKctevuYbVGDo+b18YuR2snpg5IWGIoe3M3Jd2\npP2BVheDm9IQ7+oWJxBxdltPT0/ZnCwbFBcSELJtvvVMnB0Ut2Dxp0wZ69KNxP/3dQ37kmvQH0jM\nnJAwxNBvOnO828e5sdUQt3JtJYa6zhzrnxBY0qowuoRcM8slF7UgWmSRRbLYbNfOGO1tt90WCEXi\nbRznOJQUrC5jmWUoZu1WraFVUCzKZ2nnJ554Agjlqz777LNsnD6TfteSVrZ41VbQFwnuK+eaMmn9\nk08+4eSTTwbIejJ5I6ynZZ0x+1X1Bf31MlsL6/HHH8/qfQvLBtXqtdwMil7mateKjVKx0cjx2k/a\nQgO+uF1dXWVqlaK6BrYjjzwSCL2g7WOtG6zaPYhF93oMYJVQ9ILF9ybf3dLP/cwOkqusskrFcXsP\nq4nwtV70JGYnJAwx9L3NYB9h36X5v+y5DEGMMvJHWPGyFYzcbtgPS1HttttuA3q7JWgU1G0j2sHM\nRYhZJ3/NSrW0oVystvKqYuhcc80F9DKnczOQRHZfddVVgVA//LzzzgNCT2QLINpratpppy3rgWzh\nw3qkymYKJ8T335rfitkQuntaJiju2BkXafQ+L7rookDpM9wq42li5oSEQYIB15kr7Y52CFxttdVK\njhGtjJltlc7srq3BQ33SboFvv/020Nuv6OGHHwYCA8S7eivdXfUGjeRjpr2uxh27NthDWanDThZ7\n7703AD/4wQ+A3vWx5Owuu+wCBN1YaeuBBx4AYNy4cQAcfPDBQGBw3WAdHR1l+ma8/s2uoWGodp8o\nQiXXlZKHoaUeY+EJ19geUz4XzSDpzAkJQwwDzsyVIItZWNysnFqWQS2kxx57bN3Xarc1W+ut+v71\n11+fsdUll1wCwNprrw3A7bffXvEcMrX6t66iekrgxLu6vabiwuve0yOOOKLs/sWdS+L7bwKEFuwv\nvvgiY3X7Me+zzz5A6C3muUx28DiL5dt14t133+WCCy4AyrOJmmHmESNGZPezLyWNLflkT22htLXg\nggsC5a5X56Uu/eGHHza8hkVIzJyQMEjQNmZuVu/72te+lukX+i21Zhq00Eo0y8xxUX9ZYuONNwZC\n18sYM844Y9aqxmNkunbkzca7+lRTTVXSnqZS6xf1Z+dmzyn7RNn8wMCIuBlBR0dHZkPwOgaJyGRe\nwzX1OIvyn3XWWQC8+OKLGQvG97pSwbv+ak/jdwwWUaKwI6pW+1ohos1IV0VIzJyQMEgwxTFzR0dH\nWfB/pZDDVqFVTcdif63VLJQy7HX8xBNPsNBCCwGh82Vc8SLWY/ti1S7SmdVpDbvUL5qvNBInQShR\n3HrrrUCw4Dq+XLGATI/eaqutgBDh9fTTTwOhCMLrr78OwFVXXQXAb3/7WyCEVI4fPz7rX60FvNoc\n4/7TQutzrYLz9SJeE33RO+ywAxB6VRch//zYQ9ow2QrXSsyckDCU0LYIsEbZxF19mmmmyXata665\nBhi4WkzVUCtqyAghWfe4444DevXkl19+GSiOZGumqV698N7KyHFUVUdHR6WWokBIIlAfNhlCfdj1\n6erqyqy2tq198MEHgSABLLvsskCI2fb+zTHHHCXfmzx5cvbdGLF/Pj+GGK1g5KI6ZRCi4TbddFOg\nNjPnn58iRm4UiZkTEgYJphg/s5lEzz33XOaTNZNqStSZ64XleNSl9t9//0z3k31kwliva4VEUm8E\nWO7/ZVKHOryfa6m97777So7LM7oMrLXXKDL/XnHFFUuOU4eWoVdeeeXsGt4X/dhx1dCBSGON75FR\nZEokjaDWOiedOSFhiGGKYWbx6quvZr5HLcTtLMnT7K6uvvjII4/4Xc8HBF1Qv7PW7ddee41FFlkE\ngDPOOKPknHEMsH/nrcSNIt7Vu7u7eyCwqMyYbwbuXLRab7bZZuS/o34dF+GbbbbZsu+ZFbXzzjsD\nIQ7aHPWnnnoKCDHYSiPaGrQrfP755xVraUNgtEmTJmUHTDfddD0QmL5NOeJln2m970sMdoyc//6r\nUZygQke/LEjExdK40AxOPPFEoDfBoRLaLaKZSGCiwV577cX5558PhIf/b3/7GxBeeN0cipe+PJUC\nEGrVWCuqARbXs67kSlTN8dyGU8bJEI7bF/G5557LQiVVJX72s58B8Pzzz5fM8aCDDgJCkIihvKKr\nq6sw7LLSy9wfhFNPxdB60dXVlbkqX3jhhaLrJTE7IWEoYcCZOcYnn3ySMUDuun0+b1EJnL6GcyoK\ny15Ffaf9e4EFFsgYTBHdwgwGkfj3K6+8UnLNZgJxigxgcVeKPEN7HQM+DPQ44YQTANhmm22AkJiv\nG8bxr7jiihnDqm5YhOCyyy4DYIMNNgDgpJNOAoKEoVgsGy+00EKZyG1iv38rOn/xxRf9wsxxME0e\nrXhGlcCUyCoZ+KohMXNCwiDBFMfMrdRH6rxeQ7t6ETuq16sLFuGaa64pq9woUxehnm4MRSjqNVUN\nzjEuZKfRyqIRsq46vy7F+eabL2MxDVsm6fu5rioLHJi8YRin15gwYUJW2dPEm7hv1cSJE9vKzBo7\nTT3N6/CuoQawWojTOOtBYuaEhCGGASvoFzOcltH8Z7UYeaWVVgKKA/AB1l13XSC4WdqFmJGLEjG2\n3XbbjGFNKjBB33K8Wr5PO+00IDBzK1BLEuvq6soYUGu2iQC6DC+88EIguN1M+zN5Y/z48ay11lpA\nCJoRlha64YYbAFhyySWB4Kaz3I5z7urqypIx8gX1oPlgmrjYnjDwQzea62EpoEps2ugYKp2j3ue9\nFhIzJyQMEvQbM8s2WjVjhsjvuu5QscU1hoXkqjFzqxm5iNnU/Sw7Gx/nDr7kkkty8803A6HLQ6wz\n64eWmVuJotDB/Of6fpUm1GdlNBnLZA1L5Pj/CRMmZNb97bffHghMG6dAHn744UDwNyvh5PV27RFx\nuGuzwURFBQPUZ7221vq81BijVgyE0pfBMyJfQLFVNqHEzAkJgwQDZs12R9tvv/2AkLz++OOPZ8eo\nW+qDbAfaFQFWlBxwxhlnZHO95ZZbgMBWJjDsu+++QIhei33WjehpjSZaTDPNNGXFBr71rW+VHLPX\nXnsBoYyu45HxFl988ay5QZwUIbRWGxF26aWXAqEUkRg+fHh2jqKOka1eQ1mzWsmfsWPHAuEe1HqP\n+qPXVGLmhIRBggH3M7/77rtA0JnzOogWT62m7UC7mNndXcuoDP3qq69mc/QYrdlajY0ME33pH1xv\nF8h8pFp8Pcelr/jcc88FQpdI9WElqDnnnJM333wzO18eo0aNAuDRRx8Fgu5soT+jzmweOHny5JIk\nkPw5KyUiFK1hI8xoUYyll14aCNbszTffHOjVg9X1zznnnJrny0N/tHP67LPPasYRJGZOSBhiGDBm\nzmW8VLteqy5XiHYxs2P/xje+AYSMmCuvvDKLbTajSqnEYv/92Z6mWn9mxxVHbVnYPS4An8+uivst\nx+f2/0opWvSV1GSuiRMnlunIsZ+41Wu42267ATBmzJiK/3/mmWcyu4allNqJxMwJCUMMA64zC3f9\nGWaYocx62070V8kZmee9997LdGV9sJdffjlQn7TSKIpK7cpyls+15Wx3d3emCytBGHutz16funqj\nJX5k27z3QbZ2TY0qi/V/I6Nk3XwBPu+LedNGqFWaYyNrqP66++67A2EdbPp34IEHAqHkkzrtTjvt\nxJVXXlnyWbMYNmxYTVtIYuaEhCGGAdeZ41YjH374YVkT8nai3TqzcL4fffRRxghFhdlbWVK4KGsq\nbimTt7KeeeaZQIgBUKpQv7WBuu1ZzSYyemueeeYps2avvvrqQIjjjosW2t7F0sSyVV5KiXPDlXDa\nlc9sLLpjdd6nnnpqVv6oCO20exRec6DF7HiBhg8fXlgCpx1ot5gdL+oMM8xQ1sGiKPC/FYgfhBEj\nRpTUABP5tMK4lJA/F1hgASCI3fGGZRkkjVh5bLfddgBcccUVJdeLET8Pw4YNy17o+D61OmgkdsnF\nY9E1Z+JHfyGJ2QkJQwz9xsxhqlk+AAAgAElEQVRTYlcKGJiay/2JIjFb45tlfFyXYcOGZWulhBQX\nVoyTIRox2GlcsqyQySYmbcQBKB999FGWAJErE+TcyuboGlo4waCUemAVUoNGWoFmxhEjMXNCwhDD\ngOvMA42hxsxFpXZFtX7BcehnXL6nEkMXGfnicxQVcxg+fHg+OKTkHDL2J598MqTWsAiJmRMSBgkS\nMw9RZtYVFTccmH766bMAnhgxe8ZpnjmmzDpDrrHGGkBt63UlCSF/rUrfyUkXLU20qAeG3ho80k4k\nZk5IGGJoiJkTEhKmXCRmTkgYJEgvc0LCIEFD1TkHu4GolfOrp6Z3f6DeGmDNBPUUuZ1ajVrGq3rW\nMN/atajNa3wdu2tYjbQVY62ERjt5Fl47WbOLHwQL7P31r3/t51G1DvUWJ4gTL75KqLaGvig+5/mY\n9HrLMcXW81bambq6urJNpWhDTdbshIQhhsTMU5CfuR3x6/WK2TZHi4sJfvkdz9Xw9YtE2hhrrrkm\nAHfeeWfD16hnDS00UKmxgAwdlxiuB7GIXHSvLNpoamgjSMyckDDE0HZmbnXkTavRV2auZbwYaDRa\nBL8SLNcT52E3gnY+B/k5mhXWyHVqtVmtZlfoD5tDYuaEhCGGr4TO3M5c6FbpzLWYR92xp6enbB5x\n+Z1WIt7Vu7u7K1YaaQTO1VzdSg3m48LuRRlXRferEWmgWWaO9XmlLMcqYxurnrdqOz7n7t+28rHN\nkrHvMaqtefws1cvMA9afOcazzz4L9NYhtpeR6I/62Y2iwg2veJwPwD333AP0doPYf//9gdCb2IfI\nv+1h7HGtRF+rSUKYa6WXuOg68f1ZeOGFAXj55ZeB8o262ktczajWCDnF11RV8vxxQYH88XEyyvvv\nvw+EDiZ27Nhkk02A0FPL8VXbuDXINbpWScxOSBgkGDBmNnpoxx13BEL1xlGjRmXM/Oc//xkIzLX1\n1lsDoWNgjHrdIK1A3O8oZgQrO953330ArLDCCkBvL6VlllkGCIXp/uu//guAQw89FAiVKu2GYQE9\ny9pce+21Fa/Z37CMkN0sDbKpBtfmpZdeAuCYY44B4Be/+AUQ2EgW7O7uLjMutnt9Pf9MM80EwO23\n3w6QrVs1GGC04oorAvDKK6+UfNdez1b6HD58eJkq0qz0lJg5IWGQYMANYG+88QYQdrDjjjsuY+Tc\ndVt92QzNGsDisq9xnLK6srrfggsuCPR2Evz1r39dci6NJ7pG5phjjpLvFhlR6kErXFPCbpCW0l1o\noYUAeOutt4DeogRfXjPT+2S5fOlcCPqp9zHuvaw0Vk/cd7NrGEtVSkR2zJh11lmBsC55G4Hj1Egm\n43qPLFiooUudWelRTJw4saaElVxTCQlDDANuzT7iiCMAMray4wEENov10xjukrKkbpFWY8SIEdk1\nYj2uqCuFfZvsyzR27NhsPhZTl4Hd1WW6uOvhvffeCwT9uxU6s72fZP955pmnsMh7vocUBLuA91uP\nBJQnLxjO+P3vfx8IY9f6qyvH+7raaqsBMH78+DI2awSxBLXYYotl44zvX/x8ac2upMO6No53/fXX\nB8JzrETic3HzzTcDwQp+1VVXAb3eDSWCvtp8EjMnJAwSDLjOLNz1J0yYkO2QtgN577332nXZlulb\nItad491+nXXW4aKLLgJCB0b1KxnAnbkVIaJFRfAbCaqQoewUud566wGhf3M166vzX2eddYAwZ/sb\n64fVYixzaSkfOXJk1tu6CPk5WrCwnr7fzk9J5NxzzwV67RoASy+9tOcvO4e6v9DO4z3Rj65V+9VX\nXwXCs6w+vtpqq2XJJUXPVNKZExKGGNrGzLVCMNddd10AnnjiCSCkhn3729/OdmvLterHbAfqCQWs\ntGPWmp87tzu1Vs2HHnoo05fWWmstILRokeHyoZ/QN79qkTW7WvhpnDyy7LLLZmPPz80KHDaMqwda\n6t95552S68ds2Ujrm0rSVax/5ucb69Gu0YsvvggEiXCJJZYA4Kmnniq8dnwfzz//fAB22203INxD\nx2FHTW0V//73v8vsFtXmVw2JmRMSBgnaZs2ulRShb/Wf//xn70C+3O3HjRuX+TGNjOovVKkxVfZZ\n0fzcqTfccEMArrvuOiBYorfddttM51QqWWWVVUr+LipC30pUk8hiXV2d/pRTTgFgzJgxAPzpT3+q\n+L3Y6g3hvsR69hZbbAHAQQcdBATmMta5WcSMnp9v3DrXsVi3zeZ28Tw8Lu8t8byx5+XWW28F4LDD\nDgNC8Qef+7wdqC9xBHkkZk5IGCQYcGt2pcZh+lmXWmopILT7bAdaXTYo1qVPPvlkILRpueuuu7Js\nKPU6dThRq8BcHo1Urvzy+LrnaIrjc889B8BRRx0FwDbbbAPABhtsUPXaeWjlN5rK+6SlWjuJf7v2\nSivV0OwaOoaNN94YgDvuuAPo9UVDfZVVLXc0cuRIAH75y18CgYG32morIJRDUhJddNFFgd572+ga\nFs6nnoMSEhKmfPQbM8fWRfUT9S53pzvvvDPLvjE6qJ2oZs1upChCXI5V3U9/49VXXw30Wq7VudSn\n3b3bkQ3UF2Z2PPpht9tuOyBkPBmPrK5c7Vm66667gGAh9n55L8466ywgRMo18lw2ysw+a+qt+pdP\nPPFEoDTGHMrXf4YZZsh871ryZfXLL78cCLYBv+taP/bYY0CQvqo9W7lSRF+NutlOyvS+6667jp/+\n9KdAEONqdRKsBsWfosCDdlfn/N73vgfALrvsAvS6o+KCBj7g+XDIemGanskBMfryMp900kkAzD//\n/EAQlQ855BAguKbmmWceILhwhg8fnq2VPw3nfO2114CgOhk8YWioL5gbRT1odg19NlQn7IxphVID\nfzTOajgbPXp0NleNVwa5/OEPfwDg4osvBkI10LnmmgsIG0XeCJcSLRISEkow4MwcY/To0VnPW0Ww\nWIRtJZrd1evthqB7QxfMuHHjyhIHnKfnaqaSZVGQfjPMrEFO1om7QlxxxRUAWREJDZaGP3766adZ\n8n3MsCaVGChhCqH3UzZ0HpUSP6rVyGpEzFbkNUjEeWuccqyGYm677bZArypwySWXAHDhhRcCIZXX\nwhGutwUmXGNVEiWW/Pxkd42EPg+JmRMShhgGPAUyhoaCPAa6PE4e7uoxIxcZyywXc8011wC9DOp8\nZK34XEXzrcbYrTSeOZ5Ro0YBIfRW45Q6tMxlSqaGsV133TULLBEHHHAAAHvuuScQjJuyvqxu8Mh5\n550HlAemQN+fB9dKm8y8884LhPDh0aNHAyE45rLLLgOCTWDqqadm7NixJWMxZXPnnXcGYIEFFgBC\nqK6utx//+Mclxz300EPZeKoVSKxrXn36dkJCwhSDKUZn1pR/9913ZwnsTz/9tNctOdad1EJ3cTpa\nI2hU36o3gTwOepCFR4wYkQWNaOmMiym4Uxusb/B+JZx55pkA7LfffhX/34zOLEOow2mJ1RKtu82C\nAlrUXacZZ5wxYyyDJJy/7KbE4tpZejYuvNDR0ZGFv5rgX22O9cxPW4B6u6GYShZrr702EBJ8LBqh\nRX6TTTbJJEh/Hn300UC4dzK1xSkMBd1yyy1L5jdp0qTsGbHmdrX5VUNi5oSEQYJ+05n15cWFxYUW\nvMUXXzxj5Nh3Z3DF3//+dwCOP/749g24AEWMbNCDSffutjL5jTfeCPT6008//XQgMLIs9eSTT5Zc\nQ6tqNRQxcl+g79exW8Df8eoL/tnPflbyuYETF154ITvssAMQrNXaEkxAMblEvXz55ZevOJYRI0YU\nMnKzMARTCchyyHHXDX3hBssYVDJ+/PjsGHVjmVbrtclC6t0mWsQBNtNOO20hIzeKxMwJCYMEA64z\nV2rzEus0Wk0NkVSnNsqmL2hXBJh62AknnACE5ITPP/+c73znOwD88Ic/BAK7Om8tuOqKfbHeNqMz\nx2vi2C2qoA9VXf43v/kNEPywG220ERtttBEQdHojn4oQ96ZqBH21e3j/9TiYULLrrrsCwfet5X3U\nqFGZ/WD8+PFAuRcjvod96SeWdOaEhCGGAWdmYaxqpcR2I3QsNdNKn2qrmdkdWSutie5agA899NBs\nt5aF1CMXWWQRIJSvidemmVKsrSyCrz6o3cPiEfqObTF0zz33ZK12zj77bCD4rosi5+IouHYlWnR0\ndJSd22ubA2DLJAv7ae/Rv37HHXdkiUJa64VrFHe51P7j583GnldDYuaEhEGCAY8A03JaiZGF1j6L\n/n0VIIvlM4mgNxldBh43bhwQ2KpWSdn+aIhXDfr1jQlwjuqPMvP000+fSVoxCxbFsjfDyM2g0vmV\nkCyXq4/YWG2/o0di5MiRhbp90Rqpd9dTeKKZ2HxIzJyQMGgwxejMcfkggNlnnx0o10taiWYzbmJd\nSD+5rKXupF/ROfh/CDm8+s0bKYZQL2rpzHHb2Fah2VYrzbBStTWslM/uNfSBCy3uroOlf4pyxetB\nPJ9KVvu4zHCFWP2kMyckDCUMmM5s9oj5oPm2HXvssQdQHC3WCrj7NoqYMeJMF/82btm/LR079dRT\nZ//TCnzDDTcAoRxvKyCr1EIlRo6LxBehlVlcWv0t61sP6mn1KyPnx6pnwVjsGM6nlm+8Hngu49uN\nDKt0TMzIjbYyHnAx21Q3SwW99957be3HHKNVrikNeHGfYUNOTbdbYIEFssQERfBmDR71oJWuqb7A\nbhgmUrQSrVrDvqyDSTEXXHBBs5cvDJxJYnZCwhDDgDPzQKPSrt7MDt2XcMTc9Uuu2wrGbqbXVF+v\nWykwQ2gAVIQtulb+c1UGw3pjVFrDokKHHR0d+aqXJf+LDZDNGCTj5yDuCqobMp8CqSHOY+J7kZg5\nIWGIITFzm0vtDjSmFJ25WXR3d9fsU12t9nkzaEQy6asUM/XUU9c0tCVmTkgYYkjMPADMbFma22+/\nve3XakZnbgVaYUOohUodH5yfeqjBPM2gWo9nk38ssdsONNrRIjFzQsIgQUPMnJCQMOUiMXNCwiBB\nepkTEgYJGorNLjIQ5Y0dcaWNCr2PgFD58Otf/zpQ2UEff1arGoXXzgcF2EnA+sZxpYu+NuouCiiI\nAz/aBSt62OS7wjja5ppqJOOqHRlhotoa9sXQZ1XSb3/722X/i8/bbJYYhO6TRdVH6nVNNaQzDx8+\nvAfCi2B0zRxzzAH0vsyeT2tf3PQrbgJnKRabc3V0dJSVXom/WyvB2xvd3d2dJQt4w+LGZNUehFa8\nkMZs1/KVtgu1XmZL3VZqA/NVQbU1tOjg7rvvTu4Yv9cv4+srkp85IWGIoSV+Zgu7nXjiiWVsGifx\nK0rELJsXw4qStWU5WTX2/+XGmZ0rRiwO1SNm25bk7bffbouY2E5MaRFg7WDFetYwr4Llyzq3eoyN\nfrdaHLtIzJyQMMTQEDMPGzas58ufQEher9QM3d+NxPHYomLhlQwIJsmrb8ZF/9R/Y+NKnKlS6XrN\nNupuJYqypETR2ijl1NMCNN7Vm4ldnm222YD2lm9qBjnJLZujz2hsiKrGmLVaJ7UD9RSAyDVoT8yc\nkDCU0CeduRKz+JktZC666CKArCWLpXFkd2N3ZfAtttgiaxQnLLmy1157AaHUkCVYvL5MbBubfImW\nohzVZpnZErpLLLFExfMK2SPfUFtmde7eM3NwJ0yYAIQyxDJiM3nOU4rO3F+uqa6urp5a14kbxDXq\nTurs7OxX20lbXFOKaNVuQpHYrIjsTVhsscWAIBIbsP7JJ59kPZcUM+yGeOSRRwKw6aabAnDKKacA\n8Lvf/Q4IL1j+RscPvpuIx0yaNKklYnY8XzcUa0pr+Js0aVLmt9Swtv766wPwl7/8BQh9iHXbqWY0\nUh9L9OfLnL+39toymURXpYiLFPQF7VaVfIZctxdffDGrrKpb9tprry35Tl9Uk2qqYDUkMTshYZCg\nT2J2JaOVXeYVcRUpPUaGslePbDTvvPMCvd0Evve97wGBzd3dLY5nWpuGiwMPPBAIFT9lhc7OzrIU\nuL5GgMVBIJ5PacXPX3nlFSBESakCKIl8eW0gVO6ceeaZSz53h15qqaUAeOyxx4Bw3yuh1q7eDuaK\njTnDhg3L7rsRanfffTcQ1K5ll102OxaCynH11VcDoQOjkYLV0NfiBEVqi32Z99lnHwCuuOIKoLd7\np9KiDGxpI4NwLr30UiA8/67xJZdckp0DeqWYWn2nEjMnJAwxtCRopFIiusz74IMPAqHDnvGu1kl+\n+umngWD8WWCBBfjjH/8IhK6Iq6yyCgA777wzEELzrLWtcc3QUVmwUoBAqwxgsuUTTzwBBH196aWX\nBuCuu+4CQt8i9eKbbrqpzAXl+D3XP/7xDyBID94rbQmNoD+Y+V//+hcAZ5xxBtBbB9za4EKdWclF\n1nv44YcBeOCBBxxvyc960Kr4ensoP/fccwDsv//+AJx66qklx73zzjuZvUN3lhKp0onS4m233QaE\n51xJxPtQj/EtMXNCwhBDQ8wcm/1jhrn00ksz9syXEq0GdQrdTx988EEWHL/88ssDMMsss5RcL3ZB\nyVyjR48GgptrzJgxWTJIHIDSDDN//PHHWcJGvRg7diwQLPDbb799lsGlC8rMMeFu770R6uvu7vVY\ngmsxcyX3YqNhjBa4Vw9+7LHHWGaZZYBgzdXqq74//fTTA+Ee2G9rnnnmAQJrdnR01HQDVVvDuIzt\nnHPOmXkFinpFe09cFyUPPx83blwmNe69995AKH6/6qqrArD11lsDQc/ed999ATj44IOzcUDvcx8n\nI1WbXzUkZk5IGCRoiJm7u7srOuTzXeJjtlZnWGeddQA4+uijATjqqKOAcn27o6Mjs+pa9Ny+uSuu\nuCIQdlJ3d3fxjTfeGAi73pgxY7JjYwbSz/nxxx/3yUfpuJ1HbLV2LtWsskozturxXLHV2jloXT3r\nrLNqjq8dOnMcLnvuuecCwXK/xhprZJ/95Cc/AYIXQwlJG4nMXW96ayU0GjQSY7PNNgNCzruSkX5l\nbThKdYcffji///3vgXLJ0+fqsMMOA4K+HYdt+hzmU2OLrOqJmRMShhiaYmZ1DX2J+aZpReeLLYfu\nQuqg6n+TJ0/OfM5ad/XZ6Zsz3FOr42mnnQaE3U//86effppZk++8886K46qkb7WyoMARRxwBwOmn\nnw707vqOz0QJLeCPPPIIEKz3b775JlA98qtWhYu+MHORTim0rsvQSkqzzTZbdu+UMuKkEPVr7Ry/\n+tWvgOIWNNXQbIuhOEFI28xGG20EBElJ+LzPMsssmUQW33/vmfET2mwuvvhiIDy7fQnJLZxPPQcl\nJCRM+WgqBdJdqFJ5n1rnc+facccdgRAR4/e6u7t59NFHgaD7qncKd3v1L78bJ218+OGHhTtgpfSy\nVvpgLcNjRJDXP/LIIznmmGO8XsXvFn0e95SuRy9sh86sBffMM88EwvrIQgsttFDGzG+99RYQnhnn\n4NrJdnGtttx4G0reb2R+8X3WFnDTTTcBwf+/ww47APDb3/4WgJVXXjmLxhPOa6211gLC2jz55JNA\neN7PPvtsoFSSSsUJEhISStDS9jRdXV01/cpG2Tz//PNAeaEDCNZrLeDqbDK2n+f17C/HB5R2qddX\naGxs3vL+5c+WMrOpn5dddhkQ9K8rr7wyO6bIT6/uqX+5SFfNW5NrtYFpBzO7DsbQG93kvE455ZTM\nv2osgBFxsSXcNE99uc2gr8zsM6jOr41C//lyyy0HhAqop556ambxzkl4Jd/Zc889Adh2220BOOSQ\nQ0quHcek1zu/akjMnJAwSNBQ3ey4vIrWP1lvzjnn5J133gFCXLUWZ3WKZ599Fij3L5900klAb+ZT\nrAt6zB577AEEFo/jrWX9Z555BuhlCscWx/zWUz431rdHjBiRMYo+XiN7hFZLs2nUv4rYOA+jiIp0\nYSUSfffQ3sZsMX79618DQcow79rnQS/A/PPPn/mRtXgX5cAbX99uVCoYqb9ePdZ5mfEmIys1HHDA\nAQBcf/31mWSpvcBYASPYjF407zm2K+TjKlpV3LCputm5ypbFJy6obxWLFzrZTe7+7ne/W3auW2+9\nFYANNtgACA+7m4viaD7BAnpvYJH4lhtHn9LnYsTzNpVvzJgxJf/PQ7HOsNQYCy+8MAAvvfRS2bUa\nNZ60Qsx2zby2L6wFJuaff/7sM8M1XW/X0DrpGlGr1cKqo+FAmZhdT1F61RmfG92kxx57LBA2GqvP\nmgAzYsQIXnjhBSCQkmvkdU3l9Dkz8CSuolMPkpidkDDE0JCYHde4VqyqtKsqVri7mQJp8MbIkSOB\nsGMpnuThTmxInMi7nqCY9fMi1Y9+9CMgiLKVGK3BEkolY4z7AZtgYahgNfHaXdxj4tpfMnKs5nR1\ndTUc/qhBSsasBl0zFhaQdZyj92vllVcGYPbZZwd6DWNbbbUVEIxKSy65JBBE2HoYWTQSmllPwI9r\np3FS95mqoYx9yy23AEFysuDGp59+mhUjMBVW8dnv2IPbkFATSfxe/tmNjbLNIjFzQsIgQVMF/eJO\nEyUnLAjS0HhliFzMPvnqmX5XBtC9FO/i7voHHXQQAKuvvjoQdkXoLXYAITTSHTtnkGmJa8rEAiUA\nUx6vueaasmOdn3M2gCLW79THTNI44YQTSn7mj+kP11SR7irbGIpZ6Zkq6h/WCjTimspXkI3Hcv31\n1wO9aaoQkkMstOAaH3PMMZkEoJ6tJGbhDEtXvfzyy0BvIA0Eho7LWdU7v2pIzJyQMEjQ0qCRjo4O\nxo8fDwSTvDuyLirL62yxxRZAYErZafLkydnOeNxxxwHBUhh3LFS3cZeL9dIvvviiTM/Pj/XL6zXE\nzHEoqzChQ7eR84kxceLEjE1//vOfl/x0HlqLLUesO6+Se6eWq62dZYPicrmGZF522WVZjXNddTKZ\n62HZnXPOOQcICReVUK1DCTQeNBKXfMp9FwgSn/XZLTSgq+rdd9/NJD3HZIEB18bn2qIMuiorvW9e\nr6gsVGLmhIQhhqZ05vg7eVawBKlsooVTi6DFCdQptXKKSZMmZcEo7lRaimVowwdNjVRf0VJugka+\nHEtcpkY0uqvHVuvceYCwm5vGaaCHFug333yTb37zmyXflcUNBZQ53PUtgqiFWKknzyxFDbtbycxa\natdbb72K/9f6fdNNN2WsrR3jjjvuAII1XTbvS5Ny0Ww4Z8z4+pFl01jqcaxzzz03J554IgA77bQT\nENbXuIYVVlgBCDYUGzg0g8TMCQlDDC1hZjHffPNlPrtYp5Q5LPSm3uuu58521FFHZYn8RdcxmsoQ\nUPUyfXqec6qppsrG4fn7UgR/5MiRWeRP7M/0mkoPHiduuOEGoFevLLLoytAyhemAG264IRAs13nU\nSnLvj1K7llXOl8v1d+MNLD174403AoHRlKr6gkbWcNiwYTV989om1OuFkt52222XxQbYIkl7gXYe\nPQ5KmaIZa35i5oSEIYamrNmx5VT26+npKbO4qiOpy1n03OJvspGs093dXRgV5G6nv089XNbXT2hk\nz8SJE7PrFsWKN2rNzpeAzf90t5dNLS4oc+fb0hTBsdkpU+u90XLq1PmWOI2Uof1yvC1nZqFE0d3d\nXXafZSiPaUXDONEIM3d3d5fFGhTdQ59rf2qrWHXVVTM7hk0e9LHrc9e7oYQW+9mbLfJfDYmZExIG\nCVrqZx4+fHi228lEWpZffPFFIKRLytgxurq6yiJ04lRH/9Z6attUmdrjPv3008KWrs02jnOH9bz6\ngi0P43mLmrt1dHSUnUMpRguwMCZbS7AJ73FRhmpoJzM7fvVfS0DloZTl3AY6AqwS4n7NjtExy7Lm\nEay99tqMGzeu5Bz+bZqoz3lsU/G9SBFgCQkJhWiImUeMGNEDYbeNrZgjRozI/G82SlNnlZkt6eN3\nZWgjZGaeeeayBnAykZZRfxptViHeOkzwyx3RjCPHU6k9TTy/ShlGMq8/tc7q+zY2V1+lUWraBq6/\n/vpsnLK6O78FD7T466OvR7+st4B6M8wVx387/jh7Tj+t9xrCHJppOl4vqjFznGkGIebAz2JJ0HnF\nOQjGGHzwwQfZMRbjsMihMdnGG8jQtfTzeudXDYmZExIGCRrKZ3ZXUe+Ukc2AmmaaabK8ZNlFZlpz\nzTWBEJutRfqqq64CyMrPnnrqqVk1Bi2B+pU9p1UqHE+sn+Z3wTgDy+/IJnnEVnQZ2Z177rnnznza\nFuRXrzJv2dal5u2a52q22CqrrFLGnurbFsrznsV+5Wo+5VaVnqmEOCPLeyhjyU55nV9pwmelVnZX\nM7AFTDXkGVnEBfmL2i1ZhNBn07JBPT09WWy2UXjGRtjQQEYu8qLUU6WnUo5/NTQkZs8000w9UJ7q\nlnfTxDfGF+uiiy4C4Ac/+AEQXBUu7uWXX57934fDc/kSm4pWq2uG/x8+fHhZokXce6pR11QR4jrZ\n8VgUQUePHp3Nz3Q4CybstttuDV2zv8sGuWm6ETpHw259caaffvrs5W2md1SjaDQFMve9kv+58aim\neaxEpGvq1FNPzfqeSSwG9lj+Kr5eXzbbJGYnJAwxNNWfWfO7aW558TsuB+NupyHE0iuikQB7Cw1o\n+PKcsl6l8kGxGyjnkvJn2a5uxc16uiy2EianaBgrQl/6FPWFmWv1nhJTTz11ZrxshysqRqU1rGZw\nqpXcUXR/Pefw4cMz6SQuXWXikKpTboyF16hV6igxc0LCEENLywbVo8PFYW1FJVygPPk9fx0oZqa8\nvha7q/yubqf333+/pR0tGkEr9Kki5Nao38I5BwqNdoFsRdqlqOVySjpzQkJCw2hKZ5b51IvdneaY\nY47MUltkivfvuEdPviic5zX0rWiMRbte/vP4mHhXbsQSOvPMM2fF9fqCRrpqtOBaA8LM9l/W3dZO\ntLpfWD2waOTtt9/e9mslZk5IGGJoiJkTEhKmXCRmTkgYJEgvc0LCIEF6mRMSBgnSy5yQMEiQXuaE\nhEGC9DInJAwSpJc5If8z0pUAAAAcSURBVGGQIL3MCQmDBOllTkgYJEgvc0LCIMH/A6bXr0UiEs4D\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": "iVBORw0KGgoAAAANSUhEUgAAAPMAAADuCAYAAADsvjF6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBo\ndHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJztnWeAFFXahZ+ZAcUsiDknFAysiAoK\nC2bFLJjFhAFcw2JcAy4G1DUHzGvWVcw5rIIIrCKKWcGAgoIBI35mkfl+DKdu9e2u7qru6p6h+z1/\nZqanuureulX3vPmta2xsxGAwzPuob+4BGAyGdGAvs8FQJbCX2WCoEtjLbDBUCexlNhiqBPYyGwxV\nAnuZDYYqgb3MBkOVwF5mg6FK0CrJwfX19Y0AcaLG6urqMv7Wd+rrM/ePOXPm5LtexjH6Wz9nz55d\naLzBdf3r65yNjY3BQOvq6qouHC48P6j+OVb7/PIh0csc9RK3atV0moaGBv7444+83/H/1ksf/ryh\noQGAP//8M+NYvYD6GbVhhM/pH6O//c8NhnkdJmYbDFWCRMwcBTHib7/9FnzmM24uBg4j1//12aKL\nLgrArFmzcl7XPz7X//W72N4X9w2GeR32RBsMVYK6JCmQDQ0NjQCrrLIKAB999FHTSUKMqN8L6bU+\n5p9/fgD++OMPFlpoIQB++eUXwLGpjvn1118zJxGh/+a6li8B1JrxpNrnqPm1adMGyH5W5kXENYAZ\nMxsMVYJEzKxdr5D+Gz6mEGS51vFhd9Pyyy8PwOeffw7AfPPNl/Gdn3/+GXD678ILLwzADz/8ADRJ\nB2Jz6fPmmqruObb0+bVu3Rogy+uTD2VxTfkv3sorrwzAlClT4gwIgMGDBwPQpUsXAC677DIAXnvt\nteC4p59+GoCddtoJgP/7v//LOJfE7zPOOAOA2267DXAGMr2wdXV1GUY5yO/X9qHNYsEFF4z9nXkN\nvoEyDnzXYZzNXfA303IhyZh8iDQmT54MwGqrrQY4F+zs2bP55ptvAGjfvj3g5vPhhx8CMG3aNAC2\n3XbbjP8neYmTwsRsg6FKkIiZ/SCOXIysnVc7okRf7UxXX3014NhOP8M7tYwXv//+OwAbb7wxABdd\ndBEAK664IgCHHXYYAD/99BMAJ598MgAdO3bMGteSSy4JwFdffVV4onNRCiPnE6dKYY20UUzwjP8c\nJJmH1nnrrbcG4NNPPwUcCz7++OMA7LDDDonHVeyYfOi5e//99wEYMGAAADfeeGNwTLt27TKus+ee\newJwzz33ADB+/HgAVlhhBQA+++wzwD0XkvrShDGzwVAlSGQAU2y2oO/mcgP4DJ11YY8RpHt8//33\nwa739ddfA9CrVy8AHnnkkYzr6Rybb7454PSUGTNmAJls7+t3wpw5c1I1nvisu8YaawDwzjvvAE36\n/yKLLJLx2XPPPQfA8ccfX+rls9BSDWC6TwcccAAAt956a9HnimMAC+u7hbD22mtnHCsbzqqrrgo0\nGVOlV4txxcBR0DPr23DiwFxTBkONIREzt2rVqhGydaZ8yQtRVks/nHLixIkAbLDBBsEu5geejB07\nFoA33ngDgOuuuw6At956C3C6zrLLLgs0ubT862i+5XJNaawaS9u2bQFnkZ8zZ07WmGQd/vbbbwFY\nfPHFSx1GgEoy87vvvgtAp06dAnbTvCUtlQNpraFvaf/+++8B+OCDDwDo2rUr0LRecnlKynrqqaeA\npud37piCY8N/FwNjZoOhxlCUNdvXC6U//PbbbwWto7JuL7PMMoDzy02dOhWADh068OOPPwLQs2dP\nwFmr119/fcAFkUyYMAGAm266CYDtt98ecOGmdXV1WYkVGvMSSywRe95JoLFLR9Pf4UQPjWXkyJHB\nZwA33HBDxrkkoXTr1g2A0aNHl2XMxcJ/DuRFCLOQ1vDLL78E3PqL9XzpqzlTUzWWs88+O2MsG220\nUdaxinVQrIUYWfDDmvWOyJuSpvQlGDMbDFWCoqzZUd9p3bp17AgX+duOPPJIAB599FGgSceSPiJG\nuvLKKwFYffXVAeeblB4mxhb0/fr6+uA6CvH0Uaq+pR24T58+gPOTSld+8cUXAWchBXjggQcA2HXX\nXYFsv7p/7jT1rTR1Zj8E96ijjgLgiy++COa4xRZbAM5i70NrqNDdYpBkDZdYYokgesuHH/or5Ita\ne/nllwGnT0vKkq58wQUXAC4Gwkd9fX1wbNS7YzqzwVBjSMTMCyywQCM4f7J25pVWWgloYkxfB/LP\nL11SEKv269cPgCFDhnDhhRcCMHToUABef/31jOuIwbSry2K64YYbZlyzoaEhbLXOOac4u7p0dqVm\nhs/n63hbbbUVAM8++2zG59KZfv/99yyf5wsvvAC4SLell14acHaFt99+O+e14iAuM0tKeOihh8LH\n6hx5r7HddtsB8OSTTwbfk065wAILZBw7c+ZMwOnMkpzCdo6kiLOGudg1an5RZavCyJFKm/M4RUmK\nuTXvJDBmNhhqDEUVJ4jajVq3bh2wTaHzakdeZ511AGfV/u233zj11FOBJss2ONYWu4mx5JeVrqHd\n8pNPPgGaLI3akX29JC0/s6LPnn/++YzzyloZZyceMmQIACNGjABcTHAUNAfdw3wop8687rrrAo5t\n9ROgR48eAIwbN84fj8aR99xJsrmaIwXSf578ccpm0Ldv35zfv/vuuwHYe++9C17LmNlgqDGUxMy5\nolt8X7SYUZ+LTZT5tN566wFwxx13AE2ZUWJiWYAVcy1dUrHb/q6oa4nBZ8+eHeiw0ud8lLqra+7S\np5Nkw/j50rIBHHPMMYDb3aPWqF+/ftx3332FxlcyM/sWZ41X66K8c1nul1566YClZc9QpJR0SMWs\np5E5Vilm1rx//vnnguOOq/vX1dUF78Cbb76Z85iyFCfwi9HnC1r3wyb1EutzBab7D/Bll10WLLw2\nABm+jj76aMC9xBqHbrIMVWEDnf8Sl1obyjd8yJglcXK33XYD3EOsMYVx+eWXA7DYYotlnEsGPG1a\nviHGf4AKvchpQS+xXkSlLyo55tVXXwXcvfn5558Dw5fUJ439rLPOyvhbqFTRglKgzVeqVS4o1TYu\nGhsbI1/ipDAx22CoEhRVA8x3L4mh6+vrI11Tvtgho88uu+xC+JxrrbVWICaL1fRTDFGoXE3//v2B\nJtE96vppVeeMGoOkhy+++AJwasWvv/4aBCf4Y9PP0047DYBhw4YlHU4WymEA8yUhYY899gDg3nvv\njfxuXPHzpZdeAmCTTTYpeGylxGwZNadMmRKoeoLWW89umjADmMFQY0jaOA6IdqbPmTMn0AOlM4p9\n9Ll+qgifgkbE7h06dAiC8hWCKffOOeecA7jyLXJBSbeUrn3nnXcGY5IR7b333ssYT7EB/TLcSBfU\neaT3SNJQgsU//vEPwN27sDupUE3x4cOHA65QYTjwpDkQVQtd6Ny5c8FzaI4yct5///05j4vDyMWi\nmBJS4J6ltm3bBu+A3KMKdJIxUEULlNor6B4pjTfqs2JgzGwwVAlSqZsd/ttPNdTf6he18847A07f\nOvzwwwFnIZ06dSpPPPEEQBAQr/OrtK50TrG5GEPMLKkgnPgh67mSNJLozMXUOvats9L3Z8yYwYMP\nPgi4EMqo76o4nHTRYlAOnXmbbbYB4OabbwZg+vTpgAtHHTlyJFtuuWXO7yp0dbPNNtN4NM6ixxNn\nDUu5jkJNP/74Y6BJZ1aCkKQmMXCcskRRiAojNZ3ZYKgxpJICGQ7a8NPiZAFU4L1YRnrLEUccAThd\ndNSoUUHRcZX/kZ4t6PryZfqdLcK6vc+Q+Xa9clpCw5KK7oUkDEkNYjjNNyptM+F1yxbOqfEtt9xy\ngGOpNm3aZOn1mqPK6yhQIg2kvYY+Q6pclUJUp02bFhQg3H333QE3Hz3/8s74gU3FSAbGzAZDjSGV\ngn7C/PPPn5Xep11OSQSyYiuRXRZCRdVMmjQpKEEra+OYMWMAZ80WfLYVU0sfD6dARiHtUrtxUMgr\nIMZOw2qdJjOr1JJvywhdK/hdEXaai1DIil0MyiVdqcSRylTpmb3tttuC//llofT8K9JQ74HuR5KS\nv4Ixs8FQYyjKmu1brMW+4d1GLLn//vsDLuJLccfhZAhw+tdKK60U/K5YZflwFXnk73JiOCU7yJo9\n33zzBSVg/LTNEDtWnJk1BvkodU/U71qx6CldKzVmVmLFXnvtBcD1118PZJdtmnvdjL/9tUoTaTGz\nJA09M3qu/dLIdXV1kfEKd911FwD77rsv4Cz+Khukxg5J7oMxs8FQY0gUASb4eqjYtXXr1sGOI51B\nkVJKZNfOpCJ9styq8Nns2bODHVGQj9ovX7vUUksBLtrGL0Xzyy+/RPZnbk5oN1eBQv2t+O2WCpWV\nlT8/FyMLflpqoXJSLQEak2wuKhIh//LAgQMBOPTQQ7MY+ZprrgFciSudS/5oeTDKOe/mf7INBkMq\nSMTM+SK/oEln1Q40adIkwDWq1m6u5luKxFJMq/yPu+22G6+88krG+cMRXWHIyuiPLxypJf1bkkKh\nAmyVgCQM5Wf37t0biC6gkA+y+CfNoy0FWo848KW4Iv2sQPoF8iVFaj0kRahMss/UsnH4WYMAgwcP\nBlzLJCFOsQrFZMeJbc8HY2aDoUqQyJo933zzNQJZRfvClkp/91Tep6zb0n+1u4vJ5Xfs3bt3Qd+w\nLxFENYcL/67v+Jb3SheD69ChQ9CITGM7/fTTATjvvPOAdC2+lWwc11xIew1li1F8uZ5N2V0WWmih\nSMYtR8WUuNbsRC9zmzZtGiE7mCHfOTQ5idm6CXqp/O4BpYi/uVwIeonlCvNDP8vlmsq3qBL5/bFI\nvPvuu+/SGoa9zAkQVRJKG39zGe/MNWUw1BiKChrxK1GGxV3fwFQoAT/XbldMymGua9XX1xcsMdQc\nNZc1BjGxjFhx6mAXca1mYeZrr70WcO6cciLXGkb1jUoLlSxAaMxsMNQYEjHzRRdd1Ahw0kknAcl0\nBz+IwGfuMIMWq5PoXGuuuSbQFB7pB7QrJFSGt+ZItKgk/F1dtc9bcknbpAjPsXv37o0A48ePb74B\nxcDkyZOBzO6gUTBmNhhqDImYuXXr1hllg4pJvNaxfmEBhXXOmjUrsHRL74lyA0RdN/y5glamTp0K\nZPcIag6duZKoBmu2ElFU6NFHrjUstdlBruuWWw+PgjGzwVBjSMTMBoOh5cKY2WCoEtjLbDBUCZJm\nTVWdTG4GsHkfaa9hMXW6yomytHStdYQb4xnmXRRK5a30S5xWzLeJ2QZDlcCYOQHKxcodOnQAXJka\nQ3mRIz6/mUaS//pJizEYMxsMVYKisqbKDT9+O+4Yl1lmGcA1OI+DWjWAderUCYB33323GUaVLppj\nDYs1kkU1h8sHiwAzGGoMLZKZBbU03XPPPVM7p5rRqRhgrTJzpeDHN0sPVPaaiuUJpTJXOeeXy+qs\nxogqg5VGySf/OmUpG+TfKPWEWmeddWKfQ9dT98fHH38caOpb7B/jB7arfnHXrl0BVy3RhzovqM5z\ngfFEPggTJkwAXN/hOBg2bBjg+mKpL7Pqh0O2iKZKpeqmqPmfcsopgKtgWgzK8TLvsssuANx7772A\nK8nkXRfIVn38/mB6GVSoIfwcxEW+NdRz5lfNzAfVAFPRCL+jY/gzraGeVSV4qCps1PulRCOl4uaD\nidkGQ42h2cVsdaVXiuLc6wCFDV86Tn2BVTQwiUm/VBEtaqzaufV5WPxSJwj10NI5Lr30UgCOPfbY\njHOJ+ZTO53f8gOidvhJidi7R2A/IEPNKmpK6ozlJ6nrvvfcA6NatW+zrl7qGfgkg/e0Xgwzf20Lq\ngBjad2cOGDAAcB0wwog6pzGzwVBjaHZmToLbb78dcJ0lBb/DoHbSOP2NK2U8Uf/p0aNHBzu+dm3V\nEleJXb9ksFhXhRTVHzkO4jJzGgXqwsyiOUl3FCOLoX2ou8fw4cM1To2/4HXLJV35COvJfvEDzV3n\nUm+1/fbbD4ATTzwx4zghjsHMmNlgqDG0GGZea621AKcz5cLMmTMBZ20USulFVClmDo8xqvzwnXfe\nCTg7ws477wwkY+Ic1y27zuzr9Lk6bfqdRMTUWktZxnfffXcA2rdvD7iuoflQrjX012n06NEAbLXV\nVmyyySaAeyYVirvpppsC8MILL2Scw7cZ5LpO1LtozGww1BhSSbQopnja2WefDcCQIUMAV3r0999/\nD0INP/roI8DtWApAEMLdJ8Gxuli+ObDddtsBzhcuf7PQqlWrrF7FgwYNAmDfffcFXACCz0ra/ePM\nL5fFO22oWKLWSWwaLpesGISFF14YcGsmH264t3f4/2l3fEyig2ss22yzDQBPPPEEAH/961+BJklJ\nRSYPPfRQAKZPnw7AxIkTM851/PHHA47BH374YSDTDx2VipkUxswGQ5Wg2XRm36IrTJ48maFDhwIw\nYsSIvOc46KCDALjlllsyzvn8888DbifNh3LpW5Iu1Hs33HpG4+zYsSMAL7/8MuAkjKjSwcWgEjqz\n5iZdOVyKVv+TZ0E6suIKtt12WwDGjRuXcc6w5biQT7dca6iQU0keWofDDjuMiy66CICtt94acFF8\nvtQlKUqSZ6Fw1lwwndlgqDGUjZmj5H/plCNHjgSyfcGvvPJKEKOsuGYfivSSxVA+PenuSYqUl9sS\nKlZRbHL79u2zot783TzHGIHcVuJC8Hf1+vr6xvA5i4EfbSb7wKuvvgo0zcf3W/upgj/++CPgYvPF\ncL6nIg7irGGPHj2ATAkgKg10jTXWAFwyjmwViiPv1asXBx98MADHHXcc4J5j+ddlI9hxxx0BF/Gl\n50H3v6GhoaCv2ZjZYKgxNJvOHHXdadOmBbu5rKWCdr9cWTq5zh1H1yy3n1lMI2tmeFzSkWW9FgpJ\nGMXOb+53Up+jxhG2g+y2226As3uIqcVMvXr1AmDMmDE5zyk7iOwi+ZB0Df0IwaiorA8++ACAK664\nAnBM/fTTTweeh+uvv17XBVyknyRPrbGvG0tSU1ZZ3PnlgzGzwVAlKBszP/roo4Dz0UlnKHS9SZMm\nBbqMj1wZVuFzbrTRRkCT3i0U8oGXK65XWUHakb///nugyYopK/vTTz+d8V2da8UVVwSc7zLftQvd\nz3Iys8arqKdRo0YBTRZcsZpygJVjrrxfX+ryzxmel3Kco2woxa6hLMp33XUXALvuuivgfMXSkcXU\nYtH9998/eL5XWGEFAD755BPArZ2KMcgqL7uCJJGwNFOoPFZFihMUAy2m/3JdffXVQFPvZxlHNGG9\nkBLV/K6QLSGcUxvQlClTALd5DRw4EHAuGs0tF6Re+GJfKUXZKyFmy+gjg9hyyy0XbLhSFbQxqXd2\nmhUxk66hv2HofqtXsp7N119/HYCzzjoLcCmqyyyzTBB+uv322wOOQPr06QM4kVzPrNSKRx55pKT5\n5YOJ2QZDlaBszHzrrbcCTQ52cMYGP1hEIozcHeHSLKHrAtm7+dixYwHo2bNnxuctwQDmj1WsKpbN\nhbiSxV577QUUDqqZO46imTlpeKHCOXv27MkNN9wAOLZTemfcGlkSXwupGnPHV5KYrd7gGqMkDUkX\nCqtVUYkBAwYEocWPPfaYrgu4Z1ISqK7hJ1hI3Paf3VwwZjYYagxl62hx4IEHZvwt3UFJ2kn0W+2c\nMufLqCYjinZ76T5bbbVVscMuGppX7969AbcTt2vXDsjPyIIYULraBhtskPF/7fZhRlYAje/eKgXF\nBvyLwT7//PNgbTSuqGQCPReyKfg6NmQXdiwV/rVUdmqfffbJuJ4SYBRuq+M+++yzQNJUwsSzzz4L\nuHVWSLLSJmVP0DWlQ6cJY2aDoUpQNp1Zu18uHTgX5K7JFUTghwbK7aGSr5MmTcr4fyUL+vnQziuL\nqPSvMHRPtIv7QSTa9dPoRljJutmac+fOnfMWmciHJZdcEnApknGQtntR6yIvityLSgoZNWpUsFYK\nPVZo8YYbbgg4KUW6v55RPctx34u54zKd2WCoJVTMzxylG+WCnPXancPpg2GcfPLJAPzrX//KuEaS\nonRp7+qSLBTY70sJs2bNCj4Ta2u+8sGGExZKRTmY2U9JFJOJmVdffXX69+8PuIIR8sv6SKM3cbFr\n6CeuaAz+8yZJSSz8xRdf8NlnnwGuYIYSKyRZKIhE9yoJE/swZjYYagwV68+sXTxOGp9KsRx55JGA\nS0lTmpxawEinUTihLMdxfHfFIMyyfgie+mKNHz8egO7duwOOtcLlgGWt7ty5M+BCPRUuWK4+0MVC\naybr+muvvQa48Fol6iuBYc6cOUHaYBQj6374SfpiOjFfOeHf57/85S8AvPXWW0C2BT48Js35ggsu\nAFzxASWIXHnllYDzaugeKp4iTlGCpDBmNhiqBGXTmaVD+P5P3+KsnVn68SKLLFKwbI50TVmzFe8q\nP2ASlKozi0mUDBBVSO/JJ58EmmJ3NT8VMzz//PMB2HLLLQGXgJEG0tCZFcUn3V5sFIVw8kAhz4KK\nVcjWIN2yWGtvkvlJOpCeq0QdMbByACRlKJ31s88+C+Yn24+kQunX/nOuv3O9b4VsPaYzGww1hrJb\ns/1i5sVkOK200kqA0zdkIU3ShiYKpTKzPwb9VGSWookUKZQL2pllGxATpG3pnXvOxMwl1lGBBY1H\n7OkXUhwwYECQ8iioCLzugx+1V0pf41LX0C/lc/HFFwMwePDgyO/Iz6yfYvEuXboA0UUXcsGK4BsM\nhgyUjZkV56rEb0G+unxNtdMsgF5IEih2Vy+UBeX7YJVYHycLKAmSzG/ucYnnqNh46YfK2rrjjjty\nfu+NN94ILMM+kkYGgotrlmTmo9g1LCQV9O3bF4AHHngAcNb8fv36BfYOSVWS0LQefs59PsibIZuE\nD2Nmg6HGUHadOUofEGP5O3TabUkKIe3Y7Kj5qg1tFJuVC2lYs8WmfkWOl156CXCMXUyz+zRQ7qKM\nshlo/t98800wx1J0/bhosWWDWhrSehB890Ia/Y7TQCUTLcqNKLG4Up08cyENI2VUV9DQ3yZmGwy1\nhIqFc1Y7fAbOx8gtgbVbwhiSIi2RNunccx0vVUNhnKXcz7SKGxozGwxVgkQ6M9AI5TVw1NfXl5Ut\n/LK1YX2kZ8+ejZDdkbClIUnpXV/fmjp1aiPAqquuWo6hpYYlllgCaDI2FUJ4jt26dWsEZ5wrB1q1\napVK4Ygo+CxvOrPBUGNo0dbsNPS6JKFy86Klt1BIayU6WkQV66sU5vU1LCSFGDMbDDWGpDqzwWBo\noTBmNhiqBPYyGwxVgkRBI/OicaEQ0jaepJGfmybKYQBrLkNXFOZ1A1ghxDWAWQRYDIQf3qj2Kn4j\nvOYYW67PizlfjJ7PRZ3bUF6YmG0wVAmMmWMgzEQ+KxXjA/fZvMRm6nmvkdb5ksKXGFTgMV+zeUNp\nMGY2GKoELToCrBKotPGkoaEhKBWsMsRxGVlJ8iqsHlO/bZZ8ZhU0CMXA6/oZf6cBM4A1wZjZYKgS\ntGhmVgPrcjZPb85dPdyyZu5YSj6nH+fb3JVGxMR+Mfg0YczchGZ7mZNUaVTv5ldeeQVIVvmwEPI9\nCOrGqFrIcaDuf+ojtf766wOupjS4Xr6bbbYZAC+++CIADz/8MAAjR44EXM8jdVfUWvnidj4UepmL\nmeOjjz4KuF5gAwYMAGDo0KHBMTvssAMAjz/+OAAfffQR4LpHfP7554Dr5Pnggw/Gvr6PfGsoIhAx\nzIswMdtgqDG0SDG7UJ3kNFGqiCZRWfdRYuRqq60GwEEHHQS4vlIAnTp1AuDdd9/NOJe6f6jbpc4l\nSeT+++8HXNpjGDKq+Z0z0hCzNUeNRz/VtXKdddYBnEQBsO666wLw9ttv67oAdOjQAXASgVQM1RVX\nzzF1+AxD1T/9/mXlErPVBy1X/6ti6n8XC2Nmg6HG0CKZWXWY1Y1PRh2xT5oodVf3wyb9v7WD77TT\nTgDcd999WfHb+ludE7bYYgvA9THy61GLtcLJ7HH7FJVzDdUra8qUKVnjUhDLxIkTAcfcYn1JG5qb\nz775kDYzqz+YnkON6ZRTTgFg9OjRQSfM/v37awyA64OWJoyZDYYaQ4thZvVWXmaZZbKs1dq1xURp\nMnR416uvr2+c+1nGMcWUL9JuLr3/448/Bpr6CUkXk21A15OVWz2OZK3u3bs34Po2h5k9aW/fcpYN\nEiuttdZawbj0P/285ZZbAGcRl56tfktR586HcnUlGTZsGABnnnkm4LwKr732WlYvLc1XOr+s9mnA\nmNlgqDG0mEQLdRrMtROrWF0uK26aiGIBMWmcJIHDDz8cINCppO9rfn379uX1118HYOrUqRnXFXuL\nGSSh3HnnnQAsvfTSANx+++3B9cTIpfaqTsKEYqUNN9wQgBtvvBGANddcE4Bll102YDHNQfOXjvnl\nl18CTTYEcPf2pptuAuDYY4+NPea00b17dwAOOeQQAE499VTAzWXNNdcMri3/uD9PH5XIczdmNhiq\nBC1GZw5dI1L/K8dOnFTfimIwWa31/xEjRgCw6667As4fueKKK2YlWGg3l74lv+0zzzwDuJ7WOrf8\nu4qiiju/uHOMC0W3TZgwAYBu3boBTS1bJM0o9fHEE08E4Oijjwbg66+/Btzcdf+KQVqxAhqDbBnC\nLrvsAjg9f86cObz//vuAiw1YaqmlgOLSWAvBdGaDocaQCjP76W1QvA73zTffBLHHwvTp0wEXVeVH\n3ZQSjRNnV8/FxssuuyyQzY4XX3wx4GKxH3roIcDdh8UXXzyIdpI/Vuwk3VMx22I3We/lb5Z+GaeV\nT1xmzmUVj5JCdKwYbe+9986Y+5JLLsngwYMBuPTSSwF44403AMfmgtbMP2d4DEnSPKPmJ29JWKeV\nH1l+ZUExAWJijS0cZdevXz/A6fwrrbQS4Gwk8qfrPdCaFWP3MWY2GGoMLU5nbmhoyNI7tHPKZ6td\nNg0k1bd8q6R0pp9++injc+nF2pFlqe7Vq1fAftLNVlllFQA++OADoIm9w9dSvLVYSywfpzRQOXVm\njfOYY44B4NxzzwWa9EYxlH8fJEVpLmJ/f839pvX5UKrdw4/4Enr16gVkZrwJYng9i5qPxltIIpXO\nrVj1fDBmNhhqDKkwc5o+tFxouhTIAAAUL0lEQVTjKWcL2WItoYrSOu644wDo0aMH4FhUUoTGrh17\n6aWXDiK7ZBsQeykKascddwQcmx944IEAXHLJJRnXaNeuXXCuqHtfCjNr7GLg7777DnAx41dccQXg\nWFeW6k6dOgUtYx955BHAMZEyxlZccUXA2UPyeQkK2UJKtWaLRRW1J+lBY/Elobq6uuB+K0rstNNO\nA5zn4YsvvvDHmPFTaGhoKPjetPjiBFFYeOGFs4Ls+/TpA8CTTz6Z+vWKfRC0gWmB99prLwDWW289\nAE444QTAhQDq8759+wbpkPqO3Fg6du211wagY8eOgAtMkPsjCdIUs+V6ktFPaYyDBg0CXAGCCRMm\nRHaI1IsvY5I+79q1a/DdpChVzNYa+kUftCGFE0cEFTvYdtttAWfI8xNHJLrr81KNtPlgYrbBUCVo\nMeGcQpiV/WD95sYCCywQGK0kkskApp1aySAKkhDkumjbtm3g1pB4pd1bwSJt27YFHHMrSERIYhxK\nE2JisY6YTJKFxP+wWuSrSH6SjNbWZ+SXX34ZgI022iiVsee6pqD7qEAW4eabbwbgyiuvBODee+8F\n4LrrrgtKWZ1++unBZxC9NmJk3Q9JdmkGmRgzGwxVgtSZOVcASbHQ7tZSmrCFw/xkFFEBv1tvvRVw\nyQcDBw4EXFrjO++8AzQZV0aNGgU4nUwGJSUfiKkVtKCkDf1U8Eh49/eDR8phNJSxZ7fddgOc7qx0\nPzHzoosuGiQeSILx11Kpj9ttt13GeBUoE2bktEv0SNKRkUrPrCQjpXKqGKEKLQrLLbdcMJ+ZM2cC\nrpih1l3nVqFEP7ioHGGfxswGQ5WgxViz5bi/6qqr2G+//QCXeqaQwHIgqSVUO7L0Ru2wslYqVFMW\n6aeeegpwuvQSSywRsJPOJZeU3DXSTZVoIZeU3GHnnXdeUfOLO8coSM+bNGkS4JhS9gAlVXz66aeB\nziumldVXUoiOFYPrp8/g4XDOKPdVpepmh68ve4EkMrkTNW49D5LUFN5ZDMyabTDUGFoMM2scyy+/\nPDNmzPCvW67LFr2rS48TW0k33GOPPQBXnE+BFuECB7KEirXFUmI4sb7CCf0E/iS6YxrMLKlJdgIF\ngmy66aaAY1PN4+ijj+bggw8GYOONNwbc/VEYpHy5mqtfQikJKsXMkkg6duwY+J6V/KN74Pub04Ax\ns8FQY2gxfmaFPyoKqqVC7CMmkdTwxBNPALDvvvsCLkVS8wmXHJLVWhKIzqVjZCFVAfnnnnsOcH7d\nXBFJaaGuri6rg6MYWeNRWucmm2wCOH1X/nFw7WnEtJrjlltuCcD48eOB7NY75egSmRYUkQdNRQvB\nMbHuge5VVMH+YopDxoUxs8FQJai4zuzrX6uvvjrgdv02bdoEu7L00VJ2MbGgiuH5KFbfklX2scce\nA2CDDTYAYNq0aYDTDdWeRtcfMWJEMJ8PP/wQcI3xVFJX6YNqXzN58mTAlRVK4qMsRWcWQ8u7cP31\n1+scgNMLZRc444wzABg+fHgwRyWLKDZd8eVqcCBm8+Okk6x5c3SB1Hg//fRTwNk7VOxQRRtTupbp\nzAZDLaHFWLObC8Xu6mInMY38yH6WjC9dhBlH/1Nxe/moFTUkdvfT6cJ6ZRSThfy1JVuzJSnIH645\nSi/UXPO1lJEkI+u27ACyQeQrY1woxbY5+zOH7QTgIgJ1b9KAMbPBUGNoNmbefvvtAZejLL/knDlz\ngqiaNCDdTEnjPord1VW87vjjj8/43Ncje/bsCcDYsWOBJpZVsXgdK8uoGq8pFjiqnE0YhTKokurM\n4Ygr5SfLl+pDdg+xq/LO//vf/wbW3ai85iTPXaF4/0ozc11dXXC/FUOuaEXZCOIU8RcUk7D77rvn\n/L8xs8FQY2gxOrN2ukGDBnHNNdcA5fHF+UirgLpvYdZ8jjrqKMBVHpHVsxgUyWol68xReeX+34p+\nU95vpVBpZl5uueWCWACtu6QXeTP07KbhL59nywZVGs1pPEkDvuiZLwlh7vFFzzENkbkcaI41lAok\ng5fSKnVP0iQiE7MNhhpDiwnnDEOVDpUMPy8jF3spucAPmCgGlWTFQmJ2GFHqR7VA4alym0mdUomh\n5oAxs8FQJUikMzc0NDRCZQxTlUJYHxk3blwjOHdSOdCmTZuSk0nyBVqoxrUCPHx965BDDmkEV6yu\npUKJN35HRshm/fAc6+vrG+d+Vv5BVgimMxsMNYaqt2arg4KSFnyEdz1JHlHdB9JGVJpcEuRjMChv\nr6k4SMPiHdVxU6gWj0TUPTJmNhhqDImY2WAwtFwYMxsMVQJ7mQ2GKkGioJF50bhQCEndGoUqYRRj\n8PG/I9eL8nejzhXOcIoaX3MbwCqBed0A5sN/HuIawFpkBFhzIc4LWOiYQrHSkNNPCrgXUZ/HKTHs\nFz8wG8i8j2LX0MRsg6FKME8wc0vJzokzBjFkPlYNt17Jd+6o7KTw376477N8NSPNQvPVgOpfcYOh\nRtAit7YcBoCKXtdvhJ1PMvANTnFKxUY12s5TFifyXHmihiK/UwkUK00lKbWbLyOr2rO2csGY2WCo\nEswTsdnl1JnL5dbwx6wcZhXBA1cYXyVocriV8p4TssvQFnJrVHoNO3ToAMD777+f2jnV+lYF6Cvl\nmsolNajx/IMPPgjkXudSURHX1F133QXAPvvsE/s7/sMXR6zSMd26dQNgwoQJQLJuiHHgvwi5qmMW\nMlpJvFMSxaxZszKOq6+vD7oeKPljzz33zDh2zJgxQHY/K9+41tjYmFVLOumGp+6UqqYZBxqnXlR1\nDck1DnXFmDp1KuASXwpd7+yzzwZgyJAhWf/TS1xuHHPMMQBcccUVQOazeueddwKud7iSZW644QYA\nTjzxRCC61nc5YGK2wVAlaJFidlQHA+2MRx55JOAY7M033wRgwIABANx4441Z54ySAIoV0XzXj28A\n8+eg/7du3TroT7XLLrsAjh133HFHwNVRlqgmtlfRONWzDiPK4FMOMVuSgVhXpXKOOOKI4Bh1iHzp\npZdyftd/7lQsoV+/fkCyjhBpi9lx1Dq/H5qqrl533XUAbLvttqUOI3wtS4E0GGoJLYaZtcv/+eef\nAQOpx9KSSy4JuH5Om266KQC9evUCnH6VVgfBJCVl/f/5jC29Wwn2iy66KFdddRUAd999NwB///vf\nATjnnHMAV/qnTZs2AFxwwQX+mLN+j5vYnsYaysgjqUMFEjTer7/+OvK70i3Ve8p3B2rtDjvsMMDp\noPlQaWbu2rVrYLfReDV+SRhnnXUW4NaylK6QxswGQ42h2ZjZ3/1kMW7Xrl1QtlTdB0866SQgu5Bd\nGi6rfFlTPtPX1dUF1/STInyot5Us7tOnTwegf//+gTtD57j88ssBOP300wHYeeedM64bVcAvF0Pn\nm9/cOaQuXUnSOOCAA4D8+m5UbyxfCkqytpVyL+rneuutxyuvvAI4RlYBxfbt22d8Nw0YMxsMNYaK\nM7OsrqussgoAH374IeAY7vfffw92teuvvx6Ar776CnC73uDBgwH46aefAKdLd+zYEcjf69dHknzm\ncP5wlH7ud3Z85513ALj22muBpt7L0qN0rPym6rH1yCOPAK4z5n/+8x/AWUxlva+vr8/y1/ssEpeZ\n1QtaPuR8kG7s+8F1zc033zzwNPj3xz92/PjxgLODqG+z7CFhxLHYV8Lj8r///Y/u3bvrehn/Gzdu\nHAB//etf/TECxfn1jZkNhhpDs+nM2t3lE5b1slWrVrz22muA0yXF0CoeL9Y7/PDDgeweyUmQj5l9\n/a2+vj5gBelK/v3zo7TUi1lSxI8//sjw4cMBJ51ovscddxzgWFLz1Xd1TlmPf/311+CzNMM5o6QO\nfa6fbdu2BVw4qtCqVavIGAH/nL49QNFx559/PgDbbbddoeEmYuZWrVqlknwhW4ifhpmmriwYMxsM\nNYZUUiD3339/AO64447gM/mN/fhp7VyKbhIjT5kyBWiyAt96662As5LKqj158mTA6UwzZszI+Nvf\nJevr6xP5nMUePquIMS+66KLgM+nvflyymEZsKiu9LLxt2rQJ5n7GGWcEn4Fri/Pdd99ljEfH7brr\nroDTt1q1ahVZnKAUhojy9epz3R9JHYLmteCCCwbz13eibAuyE+gZUnRcHEZOAq2D/P5QfFJEly5d\ngvH7ktkll1wCuGdGiIpqTBPGzAZDlaDZdGZZ9QSxTV1dXZBZo7S5vn37Ai6qRtk6UTurmE06XT7k\nak8TxeatW7fOKsIXlUUlvdePr1588cUDy/a0adMAePLJJwFnHfYtwb6OJz/0o48+WjBKLQ0/s6zv\nfsM7jVefS8LYYIMNeOutt4BsJho4cCDgYphD48z5dxwJo9LW7DZt2mS1A1LUm9ZOz2wUivWj54Mx\ns8FQJSg7M8tiq3xWsem6664LOB/rv//9bwCOPfbYQBdWHK/0zRNOOAFwekk4zzgX4ujMuazZ4e+D\n03fCPnDBj1NWzLH+XmGFFQCXix2OjlKkW+fOnYGmuG1wfnU/Ssq3WDc0NAS6u+LYhVAOdNHMLMlo\ntdVWA4jUE300NDRE3nc/7l75ymeeeSYAf/vb3wDnl29sbCyo28Zh5jR0Vq3HzJkzAzuO4Nc6TwKd\nS/ESPuIyc8XE7N69ewPODSNDx+abbw44UfLaa69lv/32A+Dxxx8HYK+99gKgT58+AIwcORJwxrWo\nmlpxkOtBiArAmHtMxmdRYYl+IoFE0UUWWYQXXngBcOGbMv4o/c9/EWRM1OaVS/T0C+jn6l0cnmMc\n7LHHHoCroqEHVQ+fNh0hnCyhl1RJMDI8acOSWKrnYtSoUZFzK4RKi9lhA5/uu4yFudJvk6LQGkbB\nxGyDoUpQMWb2ExRkQNDfG2+8MdCUzK6dSQylIHYxQiGRae211wacKysf8onZoWOyPitU/VHMLEiK\n6NWrF0OHDgXgtNNOA1x63A8//BA1Ro0PgKWWWgrI7FdcDgOY1BwVg7j99tszrqXrS5XyDWS5IJFZ\n90P3T8UMJk6cCMSrPy5UmplffvllunbtCmQG8JQLxswGQ40h9brZfsC+2ET6oRjtvffeA1yqoMqs\nNDQ0ZOmq7dq1A1wgxqGHHgq45H7fjRGHkfMhn1tEyQ9KQvdDHMUovuShc3bu3Dko+6MQRjGb78ZS\nEoqvK4sRwymZSYJj4kISgOYiVpUOL2NWHPipgn6orMoL6dxbbLFFSWPPh1wBJEnQpUuX4PeWVJfb\nmNlgqBJUPGhESRLSf1deeWUAbrvtNqApJU47n3ZO7eq+xVD6SpJ0Mh/59K1S2rP6rK4Egl9//TVw\nJ6266qqAs877CQuaX5QuHR6b7pXvvinFNSWpSZJAKUUgfMlFkpukqH/+85+A82BozeOgUjqzXHQD\nBgwIApPuueceAD755JOSzx+3KGMUjJkNhipBxXtNKYRx3333BZwPUzv3mDFj6NGjR8Z3ttpqq4zv\niJlLYeQ4iOooEf5foUbpguZ5yCGH8NBDDwFOP5TlW/YG6dJJiiyIkdPs+iEd2Wd/WaLz6em6L/37\n9wec5CXIDvLqq68CLgwyTghuc0HJQOeeey4XXngh4IotptF1s1T925jZYKgSVExnVhij/HFKtFBr\nG4Vzzp49m0mTJgHOX6wxKlpIu3gaSFI2KB/EWj4jq5+U5j1r1qwgtVPWYBUslF9XEod+ignF5GG9\nOCrpP41wTv8aisBT9F4c+KV0NSfNRZAUouP8RJx8KLfOrLEqnPiCCy4Iot9UnPH555+Pda5c61Wo\nRLTpzAZDjaFszOxbdbfcckvAsa0Ktqk8jNLnXnrppYB5xGbyd+rvNBvGxbFm54r91m4qRpZ+qSZw\nsgDLan/00UcDTfHXH3/8MeD8y7KE6h5ofr6F2k/0b2xszCoQ51vR02BmFWBQ+SZZnNX4TtZ2NVEb\nPHhwRllagLfffhtw90nRZIr/VulaFcpLkrCQNjOr3c6IESMyfsq6Hy49lEaZIMVYPP300zn/b8xs\nMNQYyq4z+9Ze6ZC52oD6UIaNdn4xtO+PTXJ9H0l3dT+iS2wqqUHN4J555hnARRspFXLNNdcMop10\nDrGV+g4rVjuOnzvJ/OLO0UdU3+gkrORb22XlVqndUK/l2OfMZRdIg5lVHOPbb78F3POmsZ166qkM\nGzYs75jS9CoYMxsMNYayMXOuRuVhqBSNYnXDMc7Sl0rJUxYKxeEmYeYwEylyTfqun9l0yy23AAQ7\nuNq0PvXUU4E1W9+VtVQN8uSLL4S6urqgyGBUueFSmFkeCFnZBenpipWXvh62QPusLVvCxRdfDDgp\nRH5lRVTlgv88+ChWZ5a0pNZBPjRvZXSpocHYsWOzitwLxTQvHDRoEOCKG/owZjYYagwtpqVrON+5\nnOVIfZRqCfUZSDuzmEf68LHHHgs0WW1lDVa1jahIs6ic3nyVT/xx/PnnnyXrzFFQBtlNN92U8Xkp\nFt602vKmAb9ssmw3zz33XOBfrsSz2uLKBvkoJIZDcQubFEmqc4Z7TfnwUyH9JPxw/S6/uELcByLX\ni+uHXPpuu0p0gWxuVLo4QaVhYrbBUGOoeKKFkI+RjznmGACuuOIKoDIMDdHJE2H4wTD+mGSsE9vm\ncuOoE4QMKlHXixKvw8EsSbsxGNJBoYqazQFjZoOhSpBIZ15sscUaIX+y/LyGsD6y4YYbNoJLyysG\nUSmRucL/ig0sCKdZRrF5VBfIP/74oxGcrl0OpNFpMY50lGuOHTt2bITSS0e1JJjObDDUGFqMa6pc\n8ENCfeQrtRvn3hRyDUmnLkbvjxMaqKALzc8/fxqJFqWgEt0P53VrtopTyAXmw5jZYKgxJGJmg8HQ\ncmHMbDBUCexlNhiqBPYyGwxVAnuZDYYqgb3MBkOVwF5mg6FKYC+zwVAlsJfZYKgS2MtsMFQJ7GU2\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\n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\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\nBGG9W9cvtV1LFBQnrvhvPV9PP/00EM96SJqQjvzFF18AzjawwAILAPFG+RkzGwwpQc0ws/ySyy23\nXPCZHyWkZH7pVbUM7f6y4kovm3POOQM9SUnwmk8lygYVUzP6hRdeALKbzymGXF6GOFlF9hHplmFI\nV9Z1VcQhX+O4fIUM9tlnH8Cx/+TJk4Hy9FeNZZZZZgEI7qHW+OWXXwYcQ59xxhlAvPew6i+zbv5W\nW20FtBQikHi3wgorANnpdIUqRdSC2CoDx3vvvQfAXHPNBbQEESikT99RsYKbbroJgM8++yyxcRUK\n89xkk00YNGhQq8+UhqjAh1hFw7/XX+4nGczC0GYn42E+A1gxY5ttttla/e2nWUaJ83oOw1AQiIyE\niy++eKtraIwbb7wx4Db5888/v+A4S4WJ2QZDSlC14gTasWQgUKGBcePGBcy1yiqrAG6nVLKCH4hR\nDpIqTiAp4rDDDgNcAYLRo0cHBheFQ4qJJfb5zFEO/MT2mWeeuRnIClTQevz+++/BuAS/T3Qc8JM2\nnnvuOcCV7pFK1dTUxKGHHgpkJ0Dk6mhRTFeS1VZbDXBFIITXX3+d8LFiXY0lzMxRUmAhI93aa68N\nwLPPPpv3e2FYcQKDoYMhcWbWbqaA83nnnRdwznSF9fXq1QtoKTzgJ7KLyaSPfPnll6UOIxJJMbN2\naBn2ZMQL32/p0ar+6NdrjgP+rt7Y2NgMzuije6x7q3BLcLpprvDMtkL3RaV6hgwZAriEC11L33v5\n5ZdZc801gegwy1L7hekahVIq/eZv4UAXGbKOOOIIwN1PFQGMWkPZHWRLKQbGzAZDB0Pi1mzfWn3p\npZe2+r8CDsQI3bt3D/Qo7YznnHMOEG9qWtJQ0Ih001xMofJH2vELdVKIA9LH5QaTdVVlf5ubm4Pr\nT5o0Kec5Shmfvrv//vsDThJT+WRJXb6uKdbcfPPNY018AOe20v3XPfHrYot9P//8c8BJUFdccUVg\nA/Fx6623Ai45RdA5fXdfPlhHC4OhgyJxZpbepZ1MIXMXXngh4FLgFMJ51113BUz15ptvAvFar5OG\nnwYo5skFMc5VV10FwI477gi4e6HEkjih9dA9VoKD0ksnT54cpO298847AGyxxRaAs+rK/69jNM6P\nP/4YaGE8BX/cfvvtAMw///yAW0OxoJhK49J4NtlkEyD+QhSZTCaYuwI64vSbS/KUTciPjZhvvvkA\nd28LjbUUGDMbDClBxfzMfgK7r5/svPPOgGs9A7D00ksDpVn+SkVc1mzNS4XoDjjgACA/M+ueSAJR\nsvyqq64KOL9nOfAtoXPPPXczZPe1UhjiE088EfhhtTb66fubfStvmEmiWEXrrmN0f8TqRx99NAAj\nRoxo9b1i5+ivocYhb8qff/6ZqIQnK/0DDzwAZFvOu3XrFoyjEEIpn2bNNhg6EioWm63dUDuUXxz8\nzDPPBFp2fyUlKEa7PWHAgAGAKxeTj5nlP1WkkWKQR40aldj4FA/uQ0xx+OGH88orrwDRfm//71JS\nE3WsovzUKE5F+2Qxjru0Ui4/fxKQ5duP41YBw1JKBFnjOIOhg6LqjeMU7SVWamhoYOzYsYDzfSaJ\nuCPAVIpGjKy5yGeZyWQCn/tll10GOGvw3nvvDcDzzz9f7jAC+DpzQ0NDM0RHU2UymYA1JV34zOvr\nzBHXbfW3mFHx0McffzwAr732WjHTyIukm/+1Bbq/vl+5lDj3XLHn+WDMbDCkBFVnZr/gQOfOnQNG\nLqadZ7mIe1fXzqtE+jvuuANwMbn19fWBPqUSMspnlt82Sq9tC3xmrq+vb4b8yfuy/Moyu8022wDO\nwqw1UwK+ihYo+6upqSmLvX0bSVzlZaH02OxKQN4CPQeC/pb0UwwsNttg6GAoiZmT2PUUhy1fcvfu\n3enXrx/gmCtJJL2ri5HkXxw4cGDQVE2sreLr+diyrfB39c6dOzdDdomccLy1ryNH+ZNrpZh/LTKz\nIsHU0kfQcy5JrRgUy8xVF7P1YPTv3x9oSZGUkaQSD0stPghxolgxO1/yhG+0qZX709biBJWAn2gj\nyDCm/4fDS32YAcxg6KCoekE/7aBytn/22WdV21WrvZtXE+G5+y6natyXsKRQS4Uai4VccXLvKRjm\n4YcfBoqTcixoxGDooKgZnbmKbFxzAQdxwteZZ5pppmYoXDKn2iiFmcNz7NSpUzPUjnGuHJjObDB0\nUJSkM0elwOXaMQuF/JVjGY2j4F2u5ICoULtcY4wagz6PSj7IZDLBd/w00GKuG3XtYku+KiVPVtVc\n+nHU3AqlQIbnUWwyhp9eqYAa/T19+vSsflT6O1dRer+AYjH6v38eXduflz6vr68P1s538cUhEfgB\nNsXCmNlgSAlK0pkNBkPtwpjZYEgJ7GU2GFICe5kNhpTAXmaDISWwl9lgSAnsZTYYUgJ7mQ2GlMBe\nZoMhJbCX2WBICexlNhhSgv8HJrvWJciUG0kAAAAASUVORK5CYII=\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)