7853 lines
307 KiB
Plaintext
7853 lines
307 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "255f7fbf-617f-40da-a338-d3f8fc5a0e92",
|
||
"metadata": {},
|
||
"source": [
|
||
"# 现代卷积神经网络\n",
|
||
"\n",
|
||
"目录\n",
|
||
"\n",
|
||
"- 深度卷积神经网络(AlexNet)\n",
|
||
"- 使用块的网络(VGG)\n",
|
||
"- 网络中的网络(NiN)\n",
|
||
"- 含并行连结的网络(GoogLeNet)\n",
|
||
"- 批量规范化\n",
|
||
"- 残差网络(ResNet)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "3955813c-8792-42ae-af95-d88448189353",
|
||
"metadata": {
|
||
"jp-MarkdownHeadingCollapsed": true,
|
||
"slideshow": {
|
||
"slide_type": "-"
|
||
},
|
||
"tags": []
|
||
},
|
||
"source": [
|
||
"## 深度卷积神经网络(AlexNet)\n",
|
||
"\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"id": "250437f3-532a-4eb2-9ed5-fed19a106e15",
|
||
"metadata": {
|
||
"origin_pos": 2,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"import torch\n",
|
||
"from torch import nn\n",
|
||
"from d2l import torch as d2l\n",
|
||
"\n",
|
||
"net = nn.Sequential(\n",
|
||
" # 这里,我们使用一个11*11的更大窗口来捕捉对象。\n",
|
||
" # 同时,步幅为4,以减少输出的高度和宽度。\n",
|
||
" # 另外,输出通道的数目远大于LeNet\n",
|
||
" nn.Conv2d(1, 96, kernel_size=11, stride=4, padding=1), nn.ReLU(),\n",
|
||
" nn.MaxPool2d(kernel_size=3, stride=2),\n",
|
||
" # 减小卷积窗口,使用填充为2来使得输入与输出的高和宽一致,且增大输出通道数\n",
|
||
" nn.Conv2d(96, 256, kernel_size=5, padding=2), nn.ReLU(),\n",
|
||
" nn.MaxPool2d(kernel_size=3, stride=2),\n",
|
||
" # 使用三个连续的卷积层和较小的卷积窗口。\n",
|
||
" # 除了最后的卷积层,输出通道的数量进一步增加。\n",
|
||
" # 在前两个卷积层之后,汇聚层不用于减少输入的高度和宽度\n",
|
||
" nn.Conv2d(256, 384, kernel_size=3, padding=1), nn.ReLU(),\n",
|
||
" nn.Conv2d(384, 384, kernel_size=3, padding=1), nn.ReLU(),\n",
|
||
" nn.Conv2d(384, 256, kernel_size=3, padding=1), nn.ReLU(),\n",
|
||
" nn.MaxPool2d(kernel_size=3, stride=2),\n",
|
||
" nn.Flatten(),\n",
|
||
" # 这里,全连接层的输出数量是LeNet中的好几倍。使用dropout层来减轻过拟合\n",
|
||
" nn.Linear(6400, 4096), nn.ReLU(),\n",
|
||
" nn.Dropout(p=0.5),\n",
|
||
" nn.Linear(4096, 4096), nn.ReLU(),\n",
|
||
" nn.Dropout(p=0.5),\n",
|
||
" # 最后是输出层。由于这里使用Fashion-MNIST,所以用类别数为10,而非论文中的1000\n",
|
||
" nn.Linear(4096, 10))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "9a6f3671-6eb9-44c3-bfe4-fd01bcfa2805",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"我们构造一个\n",
|
||
"单通道数据,来观察每一层输出的形状"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"id": "96608413-913b-4dfe-8f23-9ffce9ea0582",
|
||
"metadata": {
|
||
"origin_pos": 6,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Conv2d output shape:\t torch.Size([1, 96, 54, 54])\n",
|
||
"ReLU output shape:\t torch.Size([1, 96, 54, 54])\n",
|
||
"MaxPool2d output shape:\t torch.Size([1, 96, 26, 26])\n",
|
||
"Conv2d output shape:\t torch.Size([1, 256, 26, 26])\n",
|
||
"ReLU output shape:\t torch.Size([1, 256, 26, 26])\n",
|
||
"MaxPool2d output shape:\t torch.Size([1, 256, 12, 12])\n",
|
||
"Conv2d output shape:\t torch.Size([1, 384, 12, 12])\n",
|
||
"ReLU output shape:\t torch.Size([1, 384, 12, 12])\n",
|
||
"Conv2d output shape:\t torch.Size([1, 384, 12, 12])\n",
|
||
"ReLU output shape:\t torch.Size([1, 384, 12, 12])\n",
|
||
"Conv2d output shape:\t torch.Size([1, 256, 12, 12])\n",
|
||
"ReLU output shape:\t torch.Size([1, 256, 12, 12])\n",
|
||
"MaxPool2d output shape:\t torch.Size([1, 256, 5, 5])\n",
|
||
"Flatten output shape:\t torch.Size([1, 6400])\n",
|
||
"Linear output shape:\t torch.Size([1, 4096])\n",
|
||
"ReLU output shape:\t torch.Size([1, 4096])\n",
|
||
"Dropout output shape:\t torch.Size([1, 4096])\n",
|
||
"Linear output shape:\t torch.Size([1, 4096])\n",
|
||
"ReLU output shape:\t torch.Size([1, 4096])\n",
|
||
"Dropout output shape:\t torch.Size([1, 4096])\n",
|
||
"Linear output shape:\t torch.Size([1, 10])\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"X = torch.randn(1, 1, 224, 224)\n",
|
||
"for layer in net:\n",
|
||
" X=layer(X)\n",
|
||
" print(layer.__class__.__name__,'output shape:\\t',X.shape)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "356e7ffe-330d-48f9-ba76-3a54acddbeaa",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"Fashion-MNIST图像的分辨率\n",
|
||
"低于ImageNet图像。\n",
|
||
"我们将它们增加到$224 \\times 224$"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"id": "df2cf34a-9cd9-4384-a453-00043a33f530",
|
||
"metadata": {
|
||
"origin_pos": 9,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"batch_size = 128\n",
|
||
"train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size, resize=224)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "0bc4d037-556d-4847-b154-19f265aa660c",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"训练AlexNet。注意:这里是欠拟合的标准曲线"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"id": "967372e1-5db6-4762-a0d4-fc990ff5f0f7",
|
||
"metadata": {
|
||
"origin_pos": 11,
|
||
"scrolled": true,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"loss 0.333, train acc 0.878, test acc 0.878\n",
|
||
"1762.7 examples/sec on cuda:0\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/svg+xml": [
|
||
"<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n",
|
||
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
||
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
||
"<!-- Created with matplotlib (https://matplotlib.org/) -->\n",
|
||
"<svg height=\"180.65625pt\" version=\"1.1\" viewBox=\"0 0 238.965625 180.65625\" width=\"238.965625pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
||
" <metadata>\n",
|
||
" <rdf:RDF xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n",
|
||
" <cc:Work>\n",
|
||
" <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\n",
|
||
" <dc:date>2022-03-21T08:52:06.634916</dc:date>\n",
|
||
" <dc:format>image/svg+xml</dc:format>\n",
|
||
" <dc:creator>\n",
|
||
" <cc:Agent>\n",
|
||
" <dc:title>Matplotlib v3.3.3, https://matplotlib.org/</dc:title>\n",
|
||
" </cc:Agent>\n",
|
||
" </dc:creator>\n",
|
||
" </cc:Work>\n",
|
||
" </rdf:RDF>\n",
|
||
" </metadata>\n",
|
||
" <defs>\n",
|
||
" <style type=\"text/css\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\n",
|
||
" </defs>\n",
|
||
" <g id=\"figure_1\">\n",
|
||
" <g id=\"patch_1\">\n",
|
||
" <path d=\"M 0 180.65625 \n",
|
||
"L 238.965625 180.65625 \n",
|
||
"L 238.965625 0 \n",
|
||
"L 0 0 \n",
|
||
"z\n",
|
||
"\" style=\"fill:none;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"axes_1\">\n",
|
||
" <g id=\"patch_2\">\n",
|
||
" <path d=\"M 30.103125 143.1 \n",
|
||
"L 225.403125 143.1 \n",
|
||
"L 225.403125 7.2 \n",
|
||
"L 30.103125 7.2 \n",
|
||
"z\n",
|
||
"\" style=\"fill:#ffffff;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"matplotlib.axis_1\">\n",
|
||
" <g id=\"xtick_1\">\n",
|
||
" <g id=\"line2d_1\">\n",
|
||
" <path clip-path=\"url(#p0a7ff4ecc5)\" d=\"M 51.803125 143.1 \n",
|
||
"L 51.803125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_2\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 0 0 \n",
|
||
"L 0 3.5 \n",
|
||
"\" id=\"m1daad97e4e\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
|
||
" </defs>\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"51.803125\" xlink:href=\"#m1daad97e4e\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_1\">\n",
|
||
" <!-- 2 -->\n",
|
||
" <g transform=\"translate(48.621875 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 19.1875 8.296875 \n",
|
||
"L 53.609375 8.296875 \n",
|
||
"L 53.609375 0 \n",
|
||
"L 7.328125 0 \n",
|
||
"L 7.328125 8.296875 \n",
|
||
"Q 12.9375 14.109375 22.625 23.890625 \n",
|
||
"Q 32.328125 33.6875 34.8125 36.53125 \n",
|
||
"Q 39.546875 41.84375 41.421875 45.53125 \n",
|
||
"Q 43.3125 49.21875 43.3125 52.78125 \n",
|
||
"Q 43.3125 58.59375 39.234375 62.25 \n",
|
||
"Q 35.15625 65.921875 28.609375 65.921875 \n",
|
||
"Q 23.96875 65.921875 18.8125 64.3125 \n",
|
||
"Q 13.671875 62.703125 7.8125 59.421875 \n",
|
||
"L 7.8125 69.390625 \n",
|
||
"Q 13.765625 71.78125 18.9375 73 \n",
|
||
"Q 24.125 74.21875 28.421875 74.21875 \n",
|
||
"Q 39.75 74.21875 46.484375 68.546875 \n",
|
||
"Q 53.21875 62.890625 53.21875 53.421875 \n",
|
||
"Q 53.21875 48.921875 51.53125 44.890625 \n",
|
||
"Q 49.859375 40.875 45.40625 35.40625 \n",
|
||
"Q 44.1875 33.984375 37.640625 27.21875 \n",
|
||
"Q 31.109375 20.453125 19.1875 8.296875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-50\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-50\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_2\">\n",
|
||
" <g id=\"line2d_3\">\n",
|
||
" <path clip-path=\"url(#p0a7ff4ecc5)\" d=\"M 95.203125 143.1 \n",
|
||
"L 95.203125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_4\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"95.203125\" xlink:href=\"#m1daad97e4e\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_2\">\n",
|
||
" <!-- 4 -->\n",
|
||
" <g transform=\"translate(92.021875 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 37.796875 64.3125 \n",
|
||
"L 12.890625 25.390625 \n",
|
||
"L 37.796875 25.390625 \n",
|
||
"z\n",
|
||
"M 35.203125 72.90625 \n",
|
||
"L 47.609375 72.90625 \n",
|
||
"L 47.609375 25.390625 \n",
|
||
"L 58.015625 25.390625 \n",
|
||
"L 58.015625 17.1875 \n",
|
||
"L 47.609375 17.1875 \n",
|
||
"L 47.609375 0 \n",
|
||
"L 37.796875 0 \n",
|
||
"L 37.796875 17.1875 \n",
|
||
"L 4.890625 17.1875 \n",
|
||
"L 4.890625 26.703125 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-52\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-52\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_3\">\n",
|
||
" <g id=\"line2d_5\">\n",
|
||
" <path clip-path=\"url(#p0a7ff4ecc5)\" d=\"M 138.603125 143.1 \n",
|
||
"L 138.603125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_6\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"138.603125\" xlink:href=\"#m1daad97e4e\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_3\">\n",
|
||
" <!-- 6 -->\n",
|
||
" <g transform=\"translate(135.421875 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 33.015625 40.375 \n",
|
||
"Q 26.375 40.375 22.484375 35.828125 \n",
|
||
"Q 18.609375 31.296875 18.609375 23.390625 \n",
|
||
"Q 18.609375 15.53125 22.484375 10.953125 \n",
|
||
"Q 26.375 6.390625 33.015625 6.390625 \n",
|
||
"Q 39.65625 6.390625 43.53125 10.953125 \n",
|
||
"Q 47.40625 15.53125 47.40625 23.390625 \n",
|
||
"Q 47.40625 31.296875 43.53125 35.828125 \n",
|
||
"Q 39.65625 40.375 33.015625 40.375 \n",
|
||
"z\n",
|
||
"M 52.59375 71.296875 \n",
|
||
"L 52.59375 62.3125 \n",
|
||
"Q 48.875 64.0625 45.09375 64.984375 \n",
|
||
"Q 41.3125 65.921875 37.59375 65.921875 \n",
|
||
"Q 27.828125 65.921875 22.671875 59.328125 \n",
|
||
"Q 17.53125 52.734375 16.796875 39.40625 \n",
|
||
"Q 19.671875 43.65625 24.015625 45.921875 \n",
|
||
"Q 28.375 48.1875 33.59375 48.1875 \n",
|
||
"Q 44.578125 48.1875 50.953125 41.515625 \n",
|
||
"Q 57.328125 34.859375 57.328125 23.390625 \n",
|
||
"Q 57.328125 12.15625 50.6875 5.359375 \n",
|
||
"Q 44.046875 -1.421875 33.015625 -1.421875 \n",
|
||
"Q 20.359375 -1.421875 13.671875 8.265625 \n",
|
||
"Q 6.984375 17.96875 6.984375 36.375 \n",
|
||
"Q 6.984375 53.65625 15.1875 63.9375 \n",
|
||
"Q 23.390625 74.21875 37.203125 74.21875 \n",
|
||
"Q 40.921875 74.21875 44.703125 73.484375 \n",
|
||
"Q 48.484375 72.75 52.59375 71.296875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-54\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-54\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_4\">\n",
|
||
" <g id=\"line2d_7\">\n",
|
||
" <path clip-path=\"url(#p0a7ff4ecc5)\" d=\"M 182.003125 143.1 \n",
|
||
"L 182.003125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_8\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"182.003125\" xlink:href=\"#m1daad97e4e\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_4\">\n",
|
||
" <!-- 8 -->\n",
|
||
" <g transform=\"translate(178.821875 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 31.78125 34.625 \n",
|
||
"Q 24.75 34.625 20.71875 30.859375 \n",
|
||
"Q 16.703125 27.09375 16.703125 20.515625 \n",
|
||
"Q 16.703125 13.921875 20.71875 10.15625 \n",
|
||
"Q 24.75 6.390625 31.78125 6.390625 \n",
|
||
"Q 38.8125 6.390625 42.859375 10.171875 \n",
|
||
"Q 46.921875 13.96875 46.921875 20.515625 \n",
|
||
"Q 46.921875 27.09375 42.890625 30.859375 \n",
|
||
"Q 38.875 34.625 31.78125 34.625 \n",
|
||
"z\n",
|
||
"M 21.921875 38.8125 \n",
|
||
"Q 15.578125 40.375 12.03125 44.71875 \n",
|
||
"Q 8.5 49.078125 8.5 55.328125 \n",
|
||
"Q 8.5 64.0625 14.71875 69.140625 \n",
|
||
"Q 20.953125 74.21875 31.78125 74.21875 \n",
|
||
"Q 42.671875 74.21875 48.875 69.140625 \n",
|
||
"Q 55.078125 64.0625 55.078125 55.328125 \n",
|
||
"Q 55.078125 49.078125 51.53125 44.71875 \n",
|
||
"Q 48 40.375 41.703125 38.8125 \n",
|
||
"Q 48.828125 37.15625 52.796875 32.3125 \n",
|
||
"Q 56.78125 27.484375 56.78125 20.515625 \n",
|
||
"Q 56.78125 9.90625 50.3125 4.234375 \n",
|
||
"Q 43.84375 -1.421875 31.78125 -1.421875 \n",
|
||
"Q 19.734375 -1.421875 13.25 4.234375 \n",
|
||
"Q 6.78125 9.90625 6.78125 20.515625 \n",
|
||
"Q 6.78125 27.484375 10.78125 32.3125 \n",
|
||
"Q 14.796875 37.15625 21.921875 38.8125 \n",
|
||
"z\n",
|
||
"M 18.3125 54.390625 \n",
|
||
"Q 18.3125 48.734375 21.84375 45.5625 \n",
|
||
"Q 25.390625 42.390625 31.78125 42.390625 \n",
|
||
"Q 38.140625 42.390625 41.71875 45.5625 \n",
|
||
"Q 45.3125 48.734375 45.3125 54.390625 \n",
|
||
"Q 45.3125 60.0625 41.71875 63.234375 \n",
|
||
"Q 38.140625 66.40625 31.78125 66.40625 \n",
|
||
"Q 25.390625 66.40625 21.84375 63.234375 \n",
|
||
"Q 18.3125 60.0625 18.3125 54.390625 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-56\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-56\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_5\">\n",
|
||
" <g id=\"line2d_9\">\n",
|
||
" <path clip-path=\"url(#p0a7ff4ecc5)\" d=\"M 225.403125 143.1 \n",
|
||
"L 225.403125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_10\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"225.403125\" xlink:href=\"#m1daad97e4e\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_5\">\n",
|
||
" <!-- 10 -->\n",
|
||
" <g transform=\"translate(219.040625 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 12.40625 8.296875 \n",
|
||
"L 28.515625 8.296875 \n",
|
||
"L 28.515625 63.921875 \n",
|
||
"L 10.984375 60.40625 \n",
|
||
"L 10.984375 69.390625 \n",
|
||
"L 28.421875 72.90625 \n",
|
||
"L 38.28125 72.90625 \n",
|
||
"L 38.28125 8.296875 \n",
|
||
"L 54.390625 8.296875 \n",
|
||
"L 54.390625 0 \n",
|
||
"L 12.40625 0 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-49\"/>\n",
|
||
" <path d=\"M 31.78125 66.40625 \n",
|
||
"Q 24.171875 66.40625 20.328125 58.90625 \n",
|
||
"Q 16.5 51.421875 16.5 36.375 \n",
|
||
"Q 16.5 21.390625 20.328125 13.890625 \n",
|
||
"Q 24.171875 6.390625 31.78125 6.390625 \n",
|
||
"Q 39.453125 6.390625 43.28125 13.890625 \n",
|
||
"Q 47.125 21.390625 47.125 36.375 \n",
|
||
"Q 47.125 51.421875 43.28125 58.90625 \n",
|
||
"Q 39.453125 66.40625 31.78125 66.40625 \n",
|
||
"z\n",
|
||
"M 31.78125 74.21875 \n",
|
||
"Q 44.046875 74.21875 50.515625 64.515625 \n",
|
||
"Q 56.984375 54.828125 56.984375 36.375 \n",
|
||
"Q 56.984375 17.96875 50.515625 8.265625 \n",
|
||
"Q 44.046875 -1.421875 31.78125 -1.421875 \n",
|
||
"Q 19.53125 -1.421875 13.0625 8.265625 \n",
|
||
"Q 6.59375 17.96875 6.59375 36.375 \n",
|
||
"Q 6.59375 54.828125 13.0625 64.515625 \n",
|
||
"Q 19.53125 74.21875 31.78125 74.21875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-48\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-49\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_6\">\n",
|
||
" <!-- epoch -->\n",
|
||
" <g transform=\"translate(112.525 171.376563)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 56.203125 29.59375 \n",
|
||
"L 56.203125 25.203125 \n",
|
||
"L 14.890625 25.203125 \n",
|
||
"Q 15.484375 15.921875 20.484375 11.0625 \n",
|
||
"Q 25.484375 6.203125 34.421875 6.203125 \n",
|
||
"Q 39.59375 6.203125 44.453125 7.46875 \n",
|
||
"Q 49.3125 8.734375 54.109375 11.28125 \n",
|
||
"L 54.109375 2.78125 \n",
|
||
"Q 49.265625 0.734375 44.1875 -0.34375 \n",
|
||
"Q 39.109375 -1.421875 33.890625 -1.421875 \n",
|
||
"Q 20.796875 -1.421875 13.15625 6.1875 \n",
|
||
"Q 5.515625 13.8125 5.515625 26.8125 \n",
|
||
"Q 5.515625 40.234375 12.765625 48.109375 \n",
|
||
"Q 20.015625 56 32.328125 56 \n",
|
||
"Q 43.359375 56 49.78125 48.890625 \n",
|
||
"Q 56.203125 41.796875 56.203125 29.59375 \n",
|
||
"z\n",
|
||
"M 47.21875 32.234375 \n",
|
||
"Q 47.125 39.59375 43.09375 43.984375 \n",
|
||
"Q 39.0625 48.390625 32.421875 48.390625 \n",
|
||
"Q 24.90625 48.390625 20.390625 44.140625 \n",
|
||
"Q 15.875 39.890625 15.1875 32.171875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-101\"/>\n",
|
||
" <path d=\"M 18.109375 8.203125 \n",
|
||
"L 18.109375 -20.796875 \n",
|
||
"L 9.078125 -20.796875 \n",
|
||
"L 9.078125 54.6875 \n",
|
||
"L 18.109375 54.6875 \n",
|
||
"L 18.109375 46.390625 \n",
|
||
"Q 20.953125 51.265625 25.265625 53.625 \n",
|
||
"Q 29.59375 56 35.59375 56 \n",
|
||
"Q 45.5625 56 51.78125 48.09375 \n",
|
||
"Q 58.015625 40.1875 58.015625 27.296875 \n",
|
||
"Q 58.015625 14.40625 51.78125 6.484375 \n",
|
||
"Q 45.5625 -1.421875 35.59375 -1.421875 \n",
|
||
"Q 29.59375 -1.421875 25.265625 0.953125 \n",
|
||
"Q 20.953125 3.328125 18.109375 8.203125 \n",
|
||
"z\n",
|
||
"M 48.6875 27.296875 \n",
|
||
"Q 48.6875 37.203125 44.609375 42.84375 \n",
|
||
"Q 40.53125 48.484375 33.40625 48.484375 \n",
|
||
"Q 26.265625 48.484375 22.1875 42.84375 \n",
|
||
"Q 18.109375 37.203125 18.109375 27.296875 \n",
|
||
"Q 18.109375 17.390625 22.1875 11.75 \n",
|
||
"Q 26.265625 6.109375 33.40625 6.109375 \n",
|
||
"Q 40.53125 6.109375 44.609375 11.75 \n",
|
||
"Q 48.6875 17.390625 48.6875 27.296875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-112\"/>\n",
|
||
" <path d=\"M 30.609375 48.390625 \n",
|
||
"Q 23.390625 48.390625 19.1875 42.75 \n",
|
||
"Q 14.984375 37.109375 14.984375 27.296875 \n",
|
||
"Q 14.984375 17.484375 19.15625 11.84375 \n",
|
||
"Q 23.34375 6.203125 30.609375 6.203125 \n",
|
||
"Q 37.796875 6.203125 41.984375 11.859375 \n",
|
||
"Q 46.1875 17.53125 46.1875 27.296875 \n",
|
||
"Q 46.1875 37.015625 41.984375 42.703125 \n",
|
||
"Q 37.796875 48.390625 30.609375 48.390625 \n",
|
||
"z\n",
|
||
"M 30.609375 56 \n",
|
||
"Q 42.328125 56 49.015625 48.375 \n",
|
||
"Q 55.71875 40.765625 55.71875 27.296875 \n",
|
||
"Q 55.71875 13.875 49.015625 6.21875 \n",
|
||
"Q 42.328125 -1.421875 30.609375 -1.421875 \n",
|
||
"Q 18.84375 -1.421875 12.171875 6.21875 \n",
|
||
"Q 5.515625 13.875 5.515625 27.296875 \n",
|
||
"Q 5.515625 40.765625 12.171875 48.375 \n",
|
||
"Q 18.84375 56 30.609375 56 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-111\"/>\n",
|
||
" <path d=\"M 48.78125 52.59375 \n",
|
||
"L 48.78125 44.1875 \n",
|
||
"Q 44.96875 46.296875 41.140625 47.34375 \n",
|
||
"Q 37.3125 48.390625 33.40625 48.390625 \n",
|
||
"Q 24.65625 48.390625 19.8125 42.84375 \n",
|
||
"Q 14.984375 37.3125 14.984375 27.296875 \n",
|
||
"Q 14.984375 17.28125 19.8125 11.734375 \n",
|
||
"Q 24.65625 6.203125 33.40625 6.203125 \n",
|
||
"Q 37.3125 6.203125 41.140625 7.25 \n",
|
||
"Q 44.96875 8.296875 48.78125 10.40625 \n",
|
||
"L 48.78125 2.09375 \n",
|
||
"Q 45.015625 0.34375 40.984375 -0.53125 \n",
|
||
"Q 36.96875 -1.421875 32.421875 -1.421875 \n",
|
||
"Q 20.0625 -1.421875 12.78125 6.34375 \n",
|
||
"Q 5.515625 14.109375 5.515625 27.296875 \n",
|
||
"Q 5.515625 40.671875 12.859375 48.328125 \n",
|
||
"Q 20.21875 56 33.015625 56 \n",
|
||
"Q 37.15625 56 41.109375 55.140625 \n",
|
||
"Q 45.0625 54.296875 48.78125 52.59375 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-99\"/>\n",
|
||
" <path d=\"M 54.890625 33.015625 \n",
|
||
"L 54.890625 0 \n",
|
||
"L 45.90625 0 \n",
|
||
"L 45.90625 32.71875 \n",
|
||
"Q 45.90625 40.484375 42.875 44.328125 \n",
|
||
"Q 39.84375 48.1875 33.796875 48.1875 \n",
|
||
"Q 26.515625 48.1875 22.3125 43.546875 \n",
|
||
"Q 18.109375 38.921875 18.109375 30.90625 \n",
|
||
"L 18.109375 0 \n",
|
||
"L 9.078125 0 \n",
|
||
"L 9.078125 75.984375 \n",
|
||
"L 18.109375 75.984375 \n",
|
||
"L 18.109375 46.1875 \n",
|
||
"Q 21.34375 51.125 25.703125 53.5625 \n",
|
||
"Q 30.078125 56 35.796875 56 \n",
|
||
"Q 45.21875 56 50.046875 50.171875 \n",
|
||
"Q 54.890625 44.34375 54.890625 33.015625 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-104\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-101\"/>\n",
|
||
" <use x=\"61.523438\" xlink:href=\"#DejaVuSans-112\"/>\n",
|
||
" <use x=\"125\" xlink:href=\"#DejaVuSans-111\"/>\n",
|
||
" <use x=\"186.181641\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" <use x=\"241.162109\" xlink:href=\"#DejaVuSans-104\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"matplotlib.axis_2\">\n",
|
||
" <g id=\"ytick_1\">\n",
|
||
" <g id=\"line2d_11\">\n",
|
||
" <path clip-path=\"url(#p0a7ff4ecc5)\" d=\"M 30.103125 116.028028 \n",
|
||
"L 225.403125 116.028028 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_12\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 0 0 \n",
|
||
"L -3.5 0 \n",
|
||
"\" id=\"mcaa51c1821\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
|
||
" </defs>\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#mcaa51c1821\" y=\"116.028028\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_7\">\n",
|
||
" <!-- 0.5 -->\n",
|
||
" <g transform=\"translate(7.2 119.827247)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 10.6875 12.40625 \n",
|
||
"L 21 12.40625 \n",
|
||
"L 21 0 \n",
|
||
"L 10.6875 0 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-46\"/>\n",
|
||
" <path d=\"M 10.796875 72.90625 \n",
|
||
"L 49.515625 72.90625 \n",
|
||
"L 49.515625 64.59375 \n",
|
||
"L 19.828125 64.59375 \n",
|
||
"L 19.828125 46.734375 \n",
|
||
"Q 21.96875 47.46875 24.109375 47.828125 \n",
|
||
"Q 26.265625 48.1875 28.421875 48.1875 \n",
|
||
"Q 40.625 48.1875 47.75 41.5 \n",
|
||
"Q 54.890625 34.8125 54.890625 23.390625 \n",
|
||
"Q 54.890625 11.625 47.5625 5.09375 \n",
|
||
"Q 40.234375 -1.421875 26.90625 -1.421875 \n",
|
||
"Q 22.3125 -1.421875 17.546875 -0.640625 \n",
|
||
"Q 12.796875 0.140625 7.71875 1.703125 \n",
|
||
"L 7.71875 11.625 \n",
|
||
"Q 12.109375 9.234375 16.796875 8.0625 \n",
|
||
"Q 21.484375 6.890625 26.703125 6.890625 \n",
|
||
"Q 35.15625 6.890625 40.078125 11.328125 \n",
|
||
"Q 45.015625 15.765625 45.015625 23.390625 \n",
|
||
"Q 45.015625 31 40.078125 35.4375 \n",
|
||
"Q 35.15625 39.890625 26.703125 39.890625 \n",
|
||
"Q 22.75 39.890625 18.8125 39.015625 \n",
|
||
"Q 14.890625 38.140625 10.796875 36.28125 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-53\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-53\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"ytick_2\">\n",
|
||
" <g id=\"line2d_13\">\n",
|
||
" <path clip-path=\"url(#p0a7ff4ecc5)\" d=\"M 30.103125 87.359229 \n",
|
||
"L 225.403125 87.359229 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_14\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#mcaa51c1821\" y=\"87.359229\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_8\">\n",
|
||
" <!-- 1.0 -->\n",
|
||
" <g transform=\"translate(7.2 91.158448)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-49\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"ytick_3\">\n",
|
||
" <g id=\"line2d_15\">\n",
|
||
" <path clip-path=\"url(#p0a7ff4ecc5)\" d=\"M 30.103125 58.69043 \n",
|
||
"L 225.403125 58.69043 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_16\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#mcaa51c1821\" y=\"58.69043\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_9\">\n",
|
||
" <!-- 1.5 -->\n",
|
||
" <g transform=\"translate(7.2 62.489649)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-49\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-53\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"ytick_4\">\n",
|
||
" <g id=\"line2d_17\">\n",
|
||
" <path clip-path=\"url(#p0a7ff4ecc5)\" d=\"M 30.103125 30.021631 \n",
|
||
"L 225.403125 30.021631 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_18\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#mcaa51c1821\" y=\"30.021631\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_10\">\n",
|
||
" <!-- 2.0 -->\n",
|
||
" <g transform=\"translate(7.2 33.82085)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-50\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_19\">\n",
|
||
" <path clip-path=\"url(#p0a7ff4ecc5)\" d=\"M 12.70611 13.377273 \n",
|
||
"L 17.009095 24.764826 \n",
|
||
"L 21.31208 43.256249 \n",
|
||
"L 25.615065 55.289226 \n",
|
||
"L 29.91805 63.752381 \n",
|
||
"L 30.103125 64.023204 \n",
|
||
"L 34.40611 102.900905 \n",
|
||
"L 38.709095 103.594664 \n",
|
||
"L 43.01208 104.844565 \n",
|
||
"L 47.315065 105.838462 \n",
|
||
"L 51.61805 106.642006 \n",
|
||
"L 51.803125 106.685119 \n",
|
||
"L 56.10611 111.344397 \n",
|
||
"L 60.409095 112.215739 \n",
|
||
"L 64.71208 112.295514 \n",
|
||
"L 69.015065 112.884077 \n",
|
||
"L 73.31805 113.223213 \n",
|
||
"L 73.503125 113.247833 \n",
|
||
"L 77.80611 115.698217 \n",
|
||
"L 82.109095 116.147146 \n",
|
||
"L 86.41208 116.459939 \n",
|
||
"L 90.715065 116.557436 \n",
|
||
"L 95.01805 116.985809 \n",
|
||
"L 95.203125 116.993757 \n",
|
||
"L 99.50611 118.348559 \n",
|
||
"L 103.809095 118.945744 \n",
|
||
"L 108.11208 119.027695 \n",
|
||
"L 112.415065 119.251031 \n",
|
||
"L 116.71805 119.534485 \n",
|
||
"L 116.903125 119.529998 \n",
|
||
"L 121.20611 120.913891 \n",
|
||
"L 125.509095 120.934154 \n",
|
||
"L 129.81208 121.197847 \n",
|
||
"L 134.115065 121.230586 \n",
|
||
"L 138.41805 121.411203 \n",
|
||
"L 138.603125 121.420621 \n",
|
||
"L 142.90611 122.46335 \n",
|
||
"L 147.209095 122.560513 \n",
|
||
"L 151.51208 122.644247 \n",
|
||
"L 155.815065 122.800532 \n",
|
||
"L 160.11805 122.808291 \n",
|
||
"L 160.303125 122.775911 \n",
|
||
"L 164.60611 122.948458 \n",
|
||
"L 168.909095 123.516091 \n",
|
||
"L 173.21208 123.786311 \n",
|
||
"L 177.515065 123.794336 \n",
|
||
"L 181.81805 123.840104 \n",
|
||
"L 182.003125 123.826488 \n",
|
||
"L 186.30611 124.659939 \n",
|
||
"L 190.609095 124.41778 \n",
|
||
"L 194.91208 124.612044 \n",
|
||
"L 199.215065 124.742309 \n",
|
||
"L 203.51805 124.865244 \n",
|
||
"L 203.703125 124.848429 \n",
|
||
"L 208.00611 125.053133 \n",
|
||
"L 212.309095 125.370505 \n",
|
||
"L 216.61208 125.483052 \n",
|
||
"L 220.915065 125.48916 \n",
|
||
"L 225.21805 125.577818 \n",
|
||
"L 225.403125 125.579251 \n",
|
||
"\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_20\">\n",
|
||
" <path clip-path=\"url(#p0a7ff4ecc5)\" d=\"M 12.70611 136.922727 \n",
|
||
"L 17.009095 131.701461 \n",
|
||
"L 21.31208 125.219833 \n",
|
||
"L 25.615065 120.72789 \n",
|
||
"L 29.91805 117.601151 \n",
|
||
"L 30.103125 117.511161 \n",
|
||
"L 34.40611 102.709945 \n",
|
||
"L 38.709095 102.753295 \n",
|
||
"L 43.01208 102.286078 \n",
|
||
"L 47.315065 101.877866 \n",
|
||
"L 51.61805 101.603075 \n",
|
||
"L 51.803125 101.594243 \n",
|
||
"L 56.10611 99.829579 \n",
|
||
"L 60.409095 99.52372 \n",
|
||
"L 64.71208 99.45709 \n",
|
||
"L 69.015065 99.221474 \n",
|
||
"L 73.31805 99.047352 \n",
|
||
"L 73.503125 99.039853 \n",
|
||
"L 77.80611 98.153379 \n",
|
||
"L 82.109095 97.849929 \n",
|
||
"L 86.41208 97.835479 \n",
|
||
"L 90.715065 97.752391 \n",
|
||
"L 95.01805 97.610059 \n",
|
||
"L 95.203125 97.614058 \n",
|
||
"L 99.50611 96.886595 \n",
|
||
"L 103.809095 96.783037 \n",
|
||
"L 108.11208 96.703562 \n",
|
||
"L 112.415065 96.644558 \n",
|
||
"L 116.71805 96.566769 \n",
|
||
"L 116.903125 96.56478 \n",
|
||
"L 121.20611 96.038862 \n",
|
||
"L 125.509095 96.058129 \n",
|
||
"L 129.81208 95.936106 \n",
|
||
"L 134.115065 95.943733 \n",
|
||
"L 138.41805 95.898215 \n",
|
||
"L 138.603125 95.896797 \n",
|
||
"L 142.90611 95.446412 \n",
|
||
"L 147.209095 95.371754 \n",
|
||
"L 151.51208 95.354895 \n",
|
||
"L 155.815065 95.34165 \n",
|
||
"L 160.11805 95.347189 \n",
|
||
"L 160.303125 95.356868 \n",
|
||
"L 164.60611 95.417512 \n",
|
||
"L 168.909095 95.205579 \n",
|
||
"L 173.21208 95.09319 \n",
|
||
"L 177.515065 94.999666 \n",
|
||
"L 181.81805 94.966672 \n",
|
||
"L 182.003125 94.971751 \n",
|
||
"L 186.30611 94.738362 \n",
|
||
"L 190.609095 94.820245 \n",
|
||
"L 194.91208 94.783318 \n",
|
||
"L 199.215065 94.739566 \n",
|
||
"L 203.51805 94.667075 \n",
|
||
"L 203.703125 94.671684 \n",
|
||
"L 208.00611 94.564962 \n",
|
||
"L 212.309095 94.40842 \n",
|
||
"L 216.61208 94.44294 \n",
|
||
"L 220.915065 94.418054 \n",
|
||
"L 225.21805 94.350139 \n",
|
||
"L 225.403125 94.350593 \n",
|
||
"\" style=\"fill:none;stroke:#bf00bf;stroke-dasharray:5.55,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_21\">\n",
|
||
" <path clip-path=\"url(#p0a7ff4ecc5)\" d=\"M 30.103125 105.741663 \n",
|
||
"L 51.803125 98.993028 \n",
|
||
"L 73.503125 97.725867 \n",
|
||
"L 95.203125 96.46444 \n",
|
||
"L 116.903125 96.349764 \n",
|
||
"L 138.603125 95.741986 \n",
|
||
"L 160.303125 95.042467 \n",
|
||
"L 182.003125 94.899123 \n",
|
||
"L 203.703125 95.271817 \n",
|
||
"L 225.403125 94.331481 \n",
|
||
"\" style=\"fill:none;stroke:#008000;stroke-dasharray:9.6,2.4,1.5,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_3\">\n",
|
||
" <path d=\"M 30.103125 143.1 \n",
|
||
"L 30.103125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_4\">\n",
|
||
" <path d=\"M 225.403125 143.1 \n",
|
||
"L 225.403125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_5\">\n",
|
||
" <path d=\"M 30.103125 143.1 \n",
|
||
"L 225.403125 143.1 \n",
|
||
"\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_6\">\n",
|
||
" <path d=\"M 30.103125 7.2 \n",
|
||
"L 225.403125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"legend_1\">\n",
|
||
" <g id=\"patch_7\">\n",
|
||
" <path d=\"M 140.634375 59.234375 \n",
|
||
"L 218.403125 59.234375 \n",
|
||
"Q 220.403125 59.234375 220.403125 57.234375 \n",
|
||
"L 220.403125 14.2 \n",
|
||
"Q 220.403125 12.2 218.403125 12.2 \n",
|
||
"L 140.634375 12.2 \n",
|
||
"Q 138.634375 12.2 138.634375 14.2 \n",
|
||
"L 138.634375 57.234375 \n",
|
||
"Q 138.634375 59.234375 140.634375 59.234375 \n",
|
||
"z\n",
|
||
"\" style=\"fill:#ffffff;opacity:0.8;stroke:#cccccc;stroke-linejoin:miter;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_22\">\n",
|
||
" <path d=\"M 142.634375 20.298438 \n",
|
||
"L 162.634375 20.298438 \n",
|
||
"\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_23\"/>\n",
|
||
" <g id=\"text_11\">\n",
|
||
" <!-- train loss -->\n",
|
||
" <g transform=\"translate(170.634375 23.798438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 18.3125 70.21875 \n",
|
||
"L 18.3125 54.6875 \n",
|
||
"L 36.8125 54.6875 \n",
|
||
"L 36.8125 47.703125 \n",
|
||
"L 18.3125 47.703125 \n",
|
||
"L 18.3125 18.015625 \n",
|
||
"Q 18.3125 11.328125 20.140625 9.421875 \n",
|
||
"Q 21.96875 7.515625 27.59375 7.515625 \n",
|
||
"L 36.8125 7.515625 \n",
|
||
"L 36.8125 0 \n",
|
||
"L 27.59375 0 \n",
|
||
"Q 17.1875 0 13.234375 3.875 \n",
|
||
"Q 9.28125 7.765625 9.28125 18.015625 \n",
|
||
"L 9.28125 47.703125 \n",
|
||
"L 2.6875 47.703125 \n",
|
||
"L 2.6875 54.6875 \n",
|
||
"L 9.28125 54.6875 \n",
|
||
"L 9.28125 70.21875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-116\"/>\n",
|
||
" <path d=\"M 41.109375 46.296875 \n",
|
||
"Q 39.59375 47.171875 37.8125 47.578125 \n",
|
||
"Q 36.03125 48 33.890625 48 \n",
|
||
"Q 26.265625 48 22.1875 43.046875 \n",
|
||
"Q 18.109375 38.09375 18.109375 28.8125 \n",
|
||
"L 18.109375 0 \n",
|
||
"L 9.078125 0 \n",
|
||
"L 9.078125 54.6875 \n",
|
||
"L 18.109375 54.6875 \n",
|
||
"L 18.109375 46.1875 \n",
|
||
"Q 20.953125 51.171875 25.484375 53.578125 \n",
|
||
"Q 30.03125 56 36.53125 56 \n",
|
||
"Q 37.453125 56 38.578125 55.875 \n",
|
||
"Q 39.703125 55.765625 41.0625 55.515625 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-114\"/>\n",
|
||
" <path d=\"M 34.28125 27.484375 \n",
|
||
"Q 23.390625 27.484375 19.1875 25 \n",
|
||
"Q 14.984375 22.515625 14.984375 16.5 \n",
|
||
"Q 14.984375 11.71875 18.140625 8.90625 \n",
|
||
"Q 21.296875 6.109375 26.703125 6.109375 \n",
|
||
"Q 34.1875 6.109375 38.703125 11.40625 \n",
|
||
"Q 43.21875 16.703125 43.21875 25.484375 \n",
|
||
"L 43.21875 27.484375 \n",
|
||
"z\n",
|
||
"M 52.203125 31.203125 \n",
|
||
"L 52.203125 0 \n",
|
||
"L 43.21875 0 \n",
|
||
"L 43.21875 8.296875 \n",
|
||
"Q 40.140625 3.328125 35.546875 0.953125 \n",
|
||
"Q 30.953125 -1.421875 24.3125 -1.421875 \n",
|
||
"Q 15.921875 -1.421875 10.953125 3.296875 \n",
|
||
"Q 6 8.015625 6 15.921875 \n",
|
||
"Q 6 25.140625 12.171875 29.828125 \n",
|
||
"Q 18.359375 34.515625 30.609375 34.515625 \n",
|
||
"L 43.21875 34.515625 \n",
|
||
"L 43.21875 35.40625 \n",
|
||
"Q 43.21875 41.609375 39.140625 45 \n",
|
||
"Q 35.0625 48.390625 27.6875 48.390625 \n",
|
||
"Q 23 48.390625 18.546875 47.265625 \n",
|
||
"Q 14.109375 46.140625 10.015625 43.890625 \n",
|
||
"L 10.015625 52.203125 \n",
|
||
"Q 14.9375 54.109375 19.578125 55.046875 \n",
|
||
"Q 24.21875 56 28.609375 56 \n",
|
||
"Q 40.484375 56 46.34375 49.84375 \n",
|
||
"Q 52.203125 43.703125 52.203125 31.203125 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-97\"/>\n",
|
||
" <path d=\"M 9.421875 54.6875 \n",
|
||
"L 18.40625 54.6875 \n",
|
||
"L 18.40625 0 \n",
|
||
"L 9.421875 0 \n",
|
||
"z\n",
|
||
"M 9.421875 75.984375 \n",
|
||
"L 18.40625 75.984375 \n",
|
||
"L 18.40625 64.59375 \n",
|
||
"L 9.421875 64.59375 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-105\"/>\n",
|
||
" <path d=\"M 54.890625 33.015625 \n",
|
||
"L 54.890625 0 \n",
|
||
"L 45.90625 0 \n",
|
||
"L 45.90625 32.71875 \n",
|
||
"Q 45.90625 40.484375 42.875 44.328125 \n",
|
||
"Q 39.84375 48.1875 33.796875 48.1875 \n",
|
||
"Q 26.515625 48.1875 22.3125 43.546875 \n",
|
||
"Q 18.109375 38.921875 18.109375 30.90625 \n",
|
||
"L 18.109375 0 \n",
|
||
"L 9.078125 0 \n",
|
||
"L 9.078125 54.6875 \n",
|
||
"L 18.109375 54.6875 \n",
|
||
"L 18.109375 46.1875 \n",
|
||
"Q 21.34375 51.125 25.703125 53.5625 \n",
|
||
"Q 30.078125 56 35.796875 56 \n",
|
||
"Q 45.21875 56 50.046875 50.171875 \n",
|
||
"Q 54.890625 44.34375 54.890625 33.015625 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-110\"/>\n",
|
||
" <path id=\"DejaVuSans-32\"/>\n",
|
||
" <path d=\"M 9.421875 75.984375 \n",
|
||
"L 18.40625 75.984375 \n",
|
||
"L 18.40625 0 \n",
|
||
"L 9.421875 0 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-108\"/>\n",
|
||
" <path d=\"M 44.28125 53.078125 \n",
|
||
"L 44.28125 44.578125 \n",
|
||
"Q 40.484375 46.53125 36.375 47.5 \n",
|
||
"Q 32.28125 48.484375 27.875 48.484375 \n",
|
||
"Q 21.1875 48.484375 17.84375 46.4375 \n",
|
||
"Q 14.5 44.390625 14.5 40.28125 \n",
|
||
"Q 14.5 37.15625 16.890625 35.375 \n",
|
||
"Q 19.28125 33.59375 26.515625 31.984375 \n",
|
||
"L 29.59375 31.296875 \n",
|
||
"Q 39.15625 29.25 43.1875 25.515625 \n",
|
||
"Q 47.21875 21.78125 47.21875 15.09375 \n",
|
||
"Q 47.21875 7.46875 41.1875 3.015625 \n",
|
||
"Q 35.15625 -1.421875 24.609375 -1.421875 \n",
|
||
"Q 20.21875 -1.421875 15.453125 -0.5625 \n",
|
||
"Q 10.6875 0.296875 5.421875 2 \n",
|
||
"L 5.421875 11.28125 \n",
|
||
"Q 10.40625 8.6875 15.234375 7.390625 \n",
|
||
"Q 20.0625 6.109375 24.8125 6.109375 \n",
|
||
"Q 31.15625 6.109375 34.5625 8.28125 \n",
|
||
"Q 37.984375 10.453125 37.984375 14.40625 \n",
|
||
"Q 37.984375 18.0625 35.515625 20.015625 \n",
|
||
"Q 33.0625 21.96875 24.703125 23.78125 \n",
|
||
"L 21.578125 24.515625 \n",
|
||
"Q 13.234375 26.265625 9.515625 29.90625 \n",
|
||
"Q 5.8125 33.546875 5.8125 39.890625 \n",
|
||
"Q 5.8125 47.609375 11.28125 51.796875 \n",
|
||
"Q 16.75 56 26.8125 56 \n",
|
||
"Q 31.78125 56 36.171875 55.265625 \n",
|
||
"Q 40.578125 54.546875 44.28125 53.078125 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-115\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"39.208984\" xlink:href=\"#DejaVuSans-114\"/>\n",
|
||
" <use x=\"80.322266\" xlink:href=\"#DejaVuSans-97\"/>\n",
|
||
" <use x=\"141.601562\" xlink:href=\"#DejaVuSans-105\"/>\n",
|
||
" <use x=\"169.384766\" xlink:href=\"#DejaVuSans-110\"/>\n",
|
||
" <use x=\"232.763672\" xlink:href=\"#DejaVuSans-32\"/>\n",
|
||
" <use x=\"264.550781\" xlink:href=\"#DejaVuSans-108\"/>\n",
|
||
" <use x=\"292.333984\" xlink:href=\"#DejaVuSans-111\"/>\n",
|
||
" <use x=\"353.515625\" xlink:href=\"#DejaVuSans-115\"/>\n",
|
||
" <use x=\"405.615234\" xlink:href=\"#DejaVuSans-115\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_24\">\n",
|
||
" <path d=\"M 142.634375 34.976562 \n",
|
||
"L 162.634375 34.976562 \n",
|
||
"\" style=\"fill:none;stroke:#bf00bf;stroke-dasharray:5.55,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_25\"/>\n",
|
||
" <g id=\"text_12\">\n",
|
||
" <!-- train acc -->\n",
|
||
" <g transform=\"translate(170.634375 38.476562)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"39.208984\" xlink:href=\"#DejaVuSans-114\"/>\n",
|
||
" <use x=\"80.322266\" xlink:href=\"#DejaVuSans-97\"/>\n",
|
||
" <use x=\"141.601562\" xlink:href=\"#DejaVuSans-105\"/>\n",
|
||
" <use x=\"169.384766\" xlink:href=\"#DejaVuSans-110\"/>\n",
|
||
" <use x=\"232.763672\" xlink:href=\"#DejaVuSans-32\"/>\n",
|
||
" <use x=\"264.550781\" xlink:href=\"#DejaVuSans-97\"/>\n",
|
||
" <use x=\"325.830078\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" <use x=\"380.810547\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_26\">\n",
|
||
" <path d=\"M 142.634375 49.654688 \n",
|
||
"L 162.634375 49.654688 \n",
|
||
"\" style=\"fill:none;stroke:#008000;stroke-dasharray:9.6,2.4,1.5,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_27\"/>\n",
|
||
" <g id=\"text_13\">\n",
|
||
" <!-- test acc -->\n",
|
||
" <g transform=\"translate(170.634375 53.154688)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"39.208984\" xlink:href=\"#DejaVuSans-101\"/>\n",
|
||
" <use x=\"100.732422\" xlink:href=\"#DejaVuSans-115\"/>\n",
|
||
" <use x=\"152.832031\" xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"192.041016\" xlink:href=\"#DejaVuSans-32\"/>\n",
|
||
" <use x=\"223.828125\" xlink:href=\"#DejaVuSans-97\"/>\n",
|
||
" <use x=\"285.107422\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" <use x=\"340.087891\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <defs>\n",
|
||
" <clipPath id=\"p0a7ff4ecc5\">\n",
|
||
" <rect height=\"135.9\" width=\"195.3\" x=\"30.103125\" y=\"7.2\"/>\n",
|
||
" </clipPath>\n",
|
||
" </defs>\n",
|
||
"</svg>\n"
|
||
],
|
||
"text/plain": [
|
||
"<Figure size 252x180 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"lr, num_epochs = 0.01, 10\n",
|
||
"d2l.train_ch6(net, train_iter, test_iter, num_epochs, lr, d2l.try_gpu())"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "fc1d1ce8-9b00-4b87-9ff1-177da5ee139d",
|
||
"metadata": {
|
||
"jp-MarkdownHeadingCollapsed": true,
|
||
"slideshow": {
|
||
"slide_type": "-"
|
||
},
|
||
"tags": []
|
||
},
|
||
"source": [
|
||
"## 使用块的网络(VGG)\n",
|
||
"\n",
|
||
"VGG块"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"id": "cf0cb392-48d9-451d-a7ea-e1892865657d",
|
||
"metadata": {
|
||
"origin_pos": 4,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"import torch\n",
|
||
"from torch import nn\n",
|
||
"from d2l import torch as d2l\n",
|
||
"\n",
|
||
"\n",
|
||
"def vgg_block(num_convs, in_channels, out_channels):\n",
|
||
" layers = []\n",
|
||
" for _ in range(num_convs):\n",
|
||
" layers.append(nn.Conv2d(in_channels, out_channels,\n",
|
||
" kernel_size=3, padding=1))\n",
|
||
" layers.append(nn.ReLU())\n",
|
||
" in_channels = out_channels\n",
|
||
" layers.append(nn.MaxPool2d(kernel_size=2,stride=2))\n",
|
||
" return nn.Sequential(*layers)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "e40a3ce9-5838-491c-b02a-d4f626c5f024",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"VGG网络\n",
|
||
"\n",
|
||
"原始VGG网络有5个卷积块,其中前两个块各有一个卷积层,后三个块各包含两个卷积层。 第一个模块有64个输出通道,每个后续模块将输出通道数量翻倍,直到该数字达到512。由于该网络使用8个卷积层和3个全连接层,因此它通常被称为VGG-11。"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"id": "aad71cf3-3c74-4162-bf78-b5b2e313cf65",
|
||
"metadata": {
|
||
"origin_pos": 10,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"conv_arch = ((1, 64), (1, 128), (2, 256), (2, 512), (2, 512))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"id": "df9c3499-e926-4821-8136-e66baf433731",
|
||
"metadata": {
|
||
"origin_pos": 10,
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
},
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"def vgg(conv_arch):\n",
|
||
" conv_blks = []\n",
|
||
" in_channels = 1\n",
|
||
" for (num_convs, out_channels) in conv_arch:\n",
|
||
" conv_blks.append(vgg_block(num_convs, in_channels, out_channels))\n",
|
||
" in_channels = out_channels\n",
|
||
"\n",
|
||
" return nn.Sequential(\n",
|
||
" *conv_blks, nn.Flatten(),\n",
|
||
" nn.Linear(out_channels * 7 * 7, 4096), nn.ReLU(), nn.Dropout(0.5),\n",
|
||
" nn.Linear(4096, 4096), nn.ReLU(), nn.Dropout(0.5),\n",
|
||
" nn.Linear(4096, 10))\n",
|
||
"\n",
|
||
"net = vgg(conv_arch)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "18ceef7a-71d8-4eab-b340-c0848b4675b6",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"观察每个层输出的形状"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"id": "20065462-d243-406d-919e-5af13f73c088",
|
||
"metadata": {
|
||
"origin_pos": 14,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Sequential output shape:\t torch.Size([1, 64, 112, 112])\n",
|
||
"Sequential output shape:\t torch.Size([1, 128, 56, 56])\n",
|
||
"Sequential output shape:\t torch.Size([1, 256, 28, 28])\n",
|
||
"Sequential output shape:\t torch.Size([1, 512, 14, 14])\n",
|
||
"Sequential output shape:\t torch.Size([1, 512, 7, 7])\n",
|
||
"Flatten output shape:\t torch.Size([1, 25088])\n",
|
||
"Linear output shape:\t torch.Size([1, 4096])\n",
|
||
"ReLU output shape:\t torch.Size([1, 4096])\n",
|
||
"Dropout output shape:\t torch.Size([1, 4096])\n",
|
||
"Linear output shape:\t torch.Size([1, 4096])\n",
|
||
"ReLU output shape:\t torch.Size([1, 4096])\n",
|
||
"Dropout output shape:\t torch.Size([1, 4096])\n",
|
||
"Linear output shape:\t torch.Size([1, 10])\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"X = torch.randn(size=(1, 1, 224, 224))\n",
|
||
"for blk in net:\n",
|
||
" X = blk(X)\n",
|
||
" print(blk.__class__.__name__,'output shape:\\t',X.shape)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "49d25e85-676d-4b59-8148-58596e407411",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"由于VGG-11比AlexNet计算量更大,因此我们构建了一个通道数较少的网络"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"id": "286b6e79-ca57-4ac4-b018-e64a210dd88e",
|
||
"metadata": {
|
||
"origin_pos": 17,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"ratio = 4\n",
|
||
"small_conv_arch = [(pair[0], pair[1] // ratio) for pair in conv_arch]\n",
|
||
"net = vgg(small_conv_arch)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "0e9ec14c-f318-4c0e-969c-4a17e9ec09a7",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"模型训练。仔细观察:这里出现了过拟合"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"id": "e986bb65-7c5f-4402-af8d-55ccc4760662",
|
||
"metadata": {
|
||
"origin_pos": 20,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"loss 0.172, train acc 0.936, test acc 0.914\n",
|
||
"1119.5 examples/sec on cuda:0\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/svg+xml": [
|
||
"<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n",
|
||
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
||
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
||
"<!-- Created with matplotlib (https://matplotlib.org/) -->\n",
|
||
"<svg height=\"180.65625pt\" version=\"1.1\" viewBox=\"0 0 238.965625 180.65625\" width=\"238.965625pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
||
" <metadata>\n",
|
||
" <rdf:RDF xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n",
|
||
" <cc:Work>\n",
|
||
" <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\n",
|
||
" <dc:date>2022-03-21T09:16:51.006260</dc:date>\n",
|
||
" <dc:format>image/svg+xml</dc:format>\n",
|
||
" <dc:creator>\n",
|
||
" <cc:Agent>\n",
|
||
" <dc:title>Matplotlib v3.3.3, https://matplotlib.org/</dc:title>\n",
|
||
" </cc:Agent>\n",
|
||
" </dc:creator>\n",
|
||
" </cc:Work>\n",
|
||
" </rdf:RDF>\n",
|
||
" </metadata>\n",
|
||
" <defs>\n",
|
||
" <style type=\"text/css\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\n",
|
||
" </defs>\n",
|
||
" <g id=\"figure_1\">\n",
|
||
" <g id=\"patch_1\">\n",
|
||
" <path d=\"M 0 180.65625 \n",
|
||
"L 238.965625 180.65625 \n",
|
||
"L 238.965625 0 \n",
|
||
"L 0 0 \n",
|
||
"z\n",
|
||
"\" style=\"fill:none;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"axes_1\">\n",
|
||
" <g id=\"patch_2\">\n",
|
||
" <path d=\"M 30.103125 143.1 \n",
|
||
"L 225.403125 143.1 \n",
|
||
"L 225.403125 7.2 \n",
|
||
"L 30.103125 7.2 \n",
|
||
"z\n",
|
||
"\" style=\"fill:#ffffff;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"matplotlib.axis_1\">\n",
|
||
" <g id=\"xtick_1\">\n",
|
||
" <g id=\"line2d_1\">\n",
|
||
" <path clip-path=\"url(#p5d9e137dd0)\" d=\"M 51.803125 143.1 \n",
|
||
"L 51.803125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_2\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 0 0 \n",
|
||
"L 0 3.5 \n",
|
||
"\" id=\"m065c34e360\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
|
||
" </defs>\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"51.803125\" xlink:href=\"#m065c34e360\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_1\">\n",
|
||
" <!-- 2 -->\n",
|
||
" <g transform=\"translate(48.621875 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 19.1875 8.296875 \n",
|
||
"L 53.609375 8.296875 \n",
|
||
"L 53.609375 0 \n",
|
||
"L 7.328125 0 \n",
|
||
"L 7.328125 8.296875 \n",
|
||
"Q 12.9375 14.109375 22.625 23.890625 \n",
|
||
"Q 32.328125 33.6875 34.8125 36.53125 \n",
|
||
"Q 39.546875 41.84375 41.421875 45.53125 \n",
|
||
"Q 43.3125 49.21875 43.3125 52.78125 \n",
|
||
"Q 43.3125 58.59375 39.234375 62.25 \n",
|
||
"Q 35.15625 65.921875 28.609375 65.921875 \n",
|
||
"Q 23.96875 65.921875 18.8125 64.3125 \n",
|
||
"Q 13.671875 62.703125 7.8125 59.421875 \n",
|
||
"L 7.8125 69.390625 \n",
|
||
"Q 13.765625 71.78125 18.9375 73 \n",
|
||
"Q 24.125 74.21875 28.421875 74.21875 \n",
|
||
"Q 39.75 74.21875 46.484375 68.546875 \n",
|
||
"Q 53.21875 62.890625 53.21875 53.421875 \n",
|
||
"Q 53.21875 48.921875 51.53125 44.890625 \n",
|
||
"Q 49.859375 40.875 45.40625 35.40625 \n",
|
||
"Q 44.1875 33.984375 37.640625 27.21875 \n",
|
||
"Q 31.109375 20.453125 19.1875 8.296875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-50\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-50\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_2\">\n",
|
||
" <g id=\"line2d_3\">\n",
|
||
" <path clip-path=\"url(#p5d9e137dd0)\" d=\"M 95.203125 143.1 \n",
|
||
"L 95.203125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_4\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"95.203125\" xlink:href=\"#m065c34e360\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_2\">\n",
|
||
" <!-- 4 -->\n",
|
||
" <g transform=\"translate(92.021875 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 37.796875 64.3125 \n",
|
||
"L 12.890625 25.390625 \n",
|
||
"L 37.796875 25.390625 \n",
|
||
"z\n",
|
||
"M 35.203125 72.90625 \n",
|
||
"L 47.609375 72.90625 \n",
|
||
"L 47.609375 25.390625 \n",
|
||
"L 58.015625 25.390625 \n",
|
||
"L 58.015625 17.1875 \n",
|
||
"L 47.609375 17.1875 \n",
|
||
"L 47.609375 0 \n",
|
||
"L 37.796875 0 \n",
|
||
"L 37.796875 17.1875 \n",
|
||
"L 4.890625 17.1875 \n",
|
||
"L 4.890625 26.703125 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-52\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-52\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_3\">\n",
|
||
" <g id=\"line2d_5\">\n",
|
||
" <path clip-path=\"url(#p5d9e137dd0)\" d=\"M 138.603125 143.1 \n",
|
||
"L 138.603125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_6\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"138.603125\" xlink:href=\"#m065c34e360\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_3\">\n",
|
||
" <!-- 6 -->\n",
|
||
" <g transform=\"translate(135.421875 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 33.015625 40.375 \n",
|
||
"Q 26.375 40.375 22.484375 35.828125 \n",
|
||
"Q 18.609375 31.296875 18.609375 23.390625 \n",
|
||
"Q 18.609375 15.53125 22.484375 10.953125 \n",
|
||
"Q 26.375 6.390625 33.015625 6.390625 \n",
|
||
"Q 39.65625 6.390625 43.53125 10.953125 \n",
|
||
"Q 47.40625 15.53125 47.40625 23.390625 \n",
|
||
"Q 47.40625 31.296875 43.53125 35.828125 \n",
|
||
"Q 39.65625 40.375 33.015625 40.375 \n",
|
||
"z\n",
|
||
"M 52.59375 71.296875 \n",
|
||
"L 52.59375 62.3125 \n",
|
||
"Q 48.875 64.0625 45.09375 64.984375 \n",
|
||
"Q 41.3125 65.921875 37.59375 65.921875 \n",
|
||
"Q 27.828125 65.921875 22.671875 59.328125 \n",
|
||
"Q 17.53125 52.734375 16.796875 39.40625 \n",
|
||
"Q 19.671875 43.65625 24.015625 45.921875 \n",
|
||
"Q 28.375 48.1875 33.59375 48.1875 \n",
|
||
"Q 44.578125 48.1875 50.953125 41.515625 \n",
|
||
"Q 57.328125 34.859375 57.328125 23.390625 \n",
|
||
"Q 57.328125 12.15625 50.6875 5.359375 \n",
|
||
"Q 44.046875 -1.421875 33.015625 -1.421875 \n",
|
||
"Q 20.359375 -1.421875 13.671875 8.265625 \n",
|
||
"Q 6.984375 17.96875 6.984375 36.375 \n",
|
||
"Q 6.984375 53.65625 15.1875 63.9375 \n",
|
||
"Q 23.390625 74.21875 37.203125 74.21875 \n",
|
||
"Q 40.921875 74.21875 44.703125 73.484375 \n",
|
||
"Q 48.484375 72.75 52.59375 71.296875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-54\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-54\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_4\">\n",
|
||
" <g id=\"line2d_7\">\n",
|
||
" <path clip-path=\"url(#p5d9e137dd0)\" d=\"M 182.003125 143.1 \n",
|
||
"L 182.003125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_8\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"182.003125\" xlink:href=\"#m065c34e360\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_4\">\n",
|
||
" <!-- 8 -->\n",
|
||
" <g transform=\"translate(178.821875 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 31.78125 34.625 \n",
|
||
"Q 24.75 34.625 20.71875 30.859375 \n",
|
||
"Q 16.703125 27.09375 16.703125 20.515625 \n",
|
||
"Q 16.703125 13.921875 20.71875 10.15625 \n",
|
||
"Q 24.75 6.390625 31.78125 6.390625 \n",
|
||
"Q 38.8125 6.390625 42.859375 10.171875 \n",
|
||
"Q 46.921875 13.96875 46.921875 20.515625 \n",
|
||
"Q 46.921875 27.09375 42.890625 30.859375 \n",
|
||
"Q 38.875 34.625 31.78125 34.625 \n",
|
||
"z\n",
|
||
"M 21.921875 38.8125 \n",
|
||
"Q 15.578125 40.375 12.03125 44.71875 \n",
|
||
"Q 8.5 49.078125 8.5 55.328125 \n",
|
||
"Q 8.5 64.0625 14.71875 69.140625 \n",
|
||
"Q 20.953125 74.21875 31.78125 74.21875 \n",
|
||
"Q 42.671875 74.21875 48.875 69.140625 \n",
|
||
"Q 55.078125 64.0625 55.078125 55.328125 \n",
|
||
"Q 55.078125 49.078125 51.53125 44.71875 \n",
|
||
"Q 48 40.375 41.703125 38.8125 \n",
|
||
"Q 48.828125 37.15625 52.796875 32.3125 \n",
|
||
"Q 56.78125 27.484375 56.78125 20.515625 \n",
|
||
"Q 56.78125 9.90625 50.3125 4.234375 \n",
|
||
"Q 43.84375 -1.421875 31.78125 -1.421875 \n",
|
||
"Q 19.734375 -1.421875 13.25 4.234375 \n",
|
||
"Q 6.78125 9.90625 6.78125 20.515625 \n",
|
||
"Q 6.78125 27.484375 10.78125 32.3125 \n",
|
||
"Q 14.796875 37.15625 21.921875 38.8125 \n",
|
||
"z\n",
|
||
"M 18.3125 54.390625 \n",
|
||
"Q 18.3125 48.734375 21.84375 45.5625 \n",
|
||
"Q 25.390625 42.390625 31.78125 42.390625 \n",
|
||
"Q 38.140625 42.390625 41.71875 45.5625 \n",
|
||
"Q 45.3125 48.734375 45.3125 54.390625 \n",
|
||
"Q 45.3125 60.0625 41.71875 63.234375 \n",
|
||
"Q 38.140625 66.40625 31.78125 66.40625 \n",
|
||
"Q 25.390625 66.40625 21.84375 63.234375 \n",
|
||
"Q 18.3125 60.0625 18.3125 54.390625 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-56\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-56\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_5\">\n",
|
||
" <g id=\"line2d_9\">\n",
|
||
" <path clip-path=\"url(#p5d9e137dd0)\" d=\"M 225.403125 143.1 \n",
|
||
"L 225.403125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_10\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"225.403125\" xlink:href=\"#m065c34e360\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_5\">\n",
|
||
" <!-- 10 -->\n",
|
||
" <g transform=\"translate(219.040625 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 12.40625 8.296875 \n",
|
||
"L 28.515625 8.296875 \n",
|
||
"L 28.515625 63.921875 \n",
|
||
"L 10.984375 60.40625 \n",
|
||
"L 10.984375 69.390625 \n",
|
||
"L 28.421875 72.90625 \n",
|
||
"L 38.28125 72.90625 \n",
|
||
"L 38.28125 8.296875 \n",
|
||
"L 54.390625 8.296875 \n",
|
||
"L 54.390625 0 \n",
|
||
"L 12.40625 0 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-49\"/>\n",
|
||
" <path d=\"M 31.78125 66.40625 \n",
|
||
"Q 24.171875 66.40625 20.328125 58.90625 \n",
|
||
"Q 16.5 51.421875 16.5 36.375 \n",
|
||
"Q 16.5 21.390625 20.328125 13.890625 \n",
|
||
"Q 24.171875 6.390625 31.78125 6.390625 \n",
|
||
"Q 39.453125 6.390625 43.28125 13.890625 \n",
|
||
"Q 47.125 21.390625 47.125 36.375 \n",
|
||
"Q 47.125 51.421875 43.28125 58.90625 \n",
|
||
"Q 39.453125 66.40625 31.78125 66.40625 \n",
|
||
"z\n",
|
||
"M 31.78125 74.21875 \n",
|
||
"Q 44.046875 74.21875 50.515625 64.515625 \n",
|
||
"Q 56.984375 54.828125 56.984375 36.375 \n",
|
||
"Q 56.984375 17.96875 50.515625 8.265625 \n",
|
||
"Q 44.046875 -1.421875 31.78125 -1.421875 \n",
|
||
"Q 19.53125 -1.421875 13.0625 8.265625 \n",
|
||
"Q 6.59375 17.96875 6.59375 36.375 \n",
|
||
"Q 6.59375 54.828125 13.0625 64.515625 \n",
|
||
"Q 19.53125 74.21875 31.78125 74.21875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-48\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-49\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_6\">\n",
|
||
" <!-- epoch -->\n",
|
||
" <g transform=\"translate(112.525 171.376563)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 56.203125 29.59375 \n",
|
||
"L 56.203125 25.203125 \n",
|
||
"L 14.890625 25.203125 \n",
|
||
"Q 15.484375 15.921875 20.484375 11.0625 \n",
|
||
"Q 25.484375 6.203125 34.421875 6.203125 \n",
|
||
"Q 39.59375 6.203125 44.453125 7.46875 \n",
|
||
"Q 49.3125 8.734375 54.109375 11.28125 \n",
|
||
"L 54.109375 2.78125 \n",
|
||
"Q 49.265625 0.734375 44.1875 -0.34375 \n",
|
||
"Q 39.109375 -1.421875 33.890625 -1.421875 \n",
|
||
"Q 20.796875 -1.421875 13.15625 6.1875 \n",
|
||
"Q 5.515625 13.8125 5.515625 26.8125 \n",
|
||
"Q 5.515625 40.234375 12.765625 48.109375 \n",
|
||
"Q 20.015625 56 32.328125 56 \n",
|
||
"Q 43.359375 56 49.78125 48.890625 \n",
|
||
"Q 56.203125 41.796875 56.203125 29.59375 \n",
|
||
"z\n",
|
||
"M 47.21875 32.234375 \n",
|
||
"Q 47.125 39.59375 43.09375 43.984375 \n",
|
||
"Q 39.0625 48.390625 32.421875 48.390625 \n",
|
||
"Q 24.90625 48.390625 20.390625 44.140625 \n",
|
||
"Q 15.875 39.890625 15.1875 32.171875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-101\"/>\n",
|
||
" <path d=\"M 18.109375 8.203125 \n",
|
||
"L 18.109375 -20.796875 \n",
|
||
"L 9.078125 -20.796875 \n",
|
||
"L 9.078125 54.6875 \n",
|
||
"L 18.109375 54.6875 \n",
|
||
"L 18.109375 46.390625 \n",
|
||
"Q 20.953125 51.265625 25.265625 53.625 \n",
|
||
"Q 29.59375 56 35.59375 56 \n",
|
||
"Q 45.5625 56 51.78125 48.09375 \n",
|
||
"Q 58.015625 40.1875 58.015625 27.296875 \n",
|
||
"Q 58.015625 14.40625 51.78125 6.484375 \n",
|
||
"Q 45.5625 -1.421875 35.59375 -1.421875 \n",
|
||
"Q 29.59375 -1.421875 25.265625 0.953125 \n",
|
||
"Q 20.953125 3.328125 18.109375 8.203125 \n",
|
||
"z\n",
|
||
"M 48.6875 27.296875 \n",
|
||
"Q 48.6875 37.203125 44.609375 42.84375 \n",
|
||
"Q 40.53125 48.484375 33.40625 48.484375 \n",
|
||
"Q 26.265625 48.484375 22.1875 42.84375 \n",
|
||
"Q 18.109375 37.203125 18.109375 27.296875 \n",
|
||
"Q 18.109375 17.390625 22.1875 11.75 \n",
|
||
"Q 26.265625 6.109375 33.40625 6.109375 \n",
|
||
"Q 40.53125 6.109375 44.609375 11.75 \n",
|
||
"Q 48.6875 17.390625 48.6875 27.296875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-112\"/>\n",
|
||
" <path d=\"M 30.609375 48.390625 \n",
|
||
"Q 23.390625 48.390625 19.1875 42.75 \n",
|
||
"Q 14.984375 37.109375 14.984375 27.296875 \n",
|
||
"Q 14.984375 17.484375 19.15625 11.84375 \n",
|
||
"Q 23.34375 6.203125 30.609375 6.203125 \n",
|
||
"Q 37.796875 6.203125 41.984375 11.859375 \n",
|
||
"Q 46.1875 17.53125 46.1875 27.296875 \n",
|
||
"Q 46.1875 37.015625 41.984375 42.703125 \n",
|
||
"Q 37.796875 48.390625 30.609375 48.390625 \n",
|
||
"z\n",
|
||
"M 30.609375 56 \n",
|
||
"Q 42.328125 56 49.015625 48.375 \n",
|
||
"Q 55.71875 40.765625 55.71875 27.296875 \n",
|
||
"Q 55.71875 13.875 49.015625 6.21875 \n",
|
||
"Q 42.328125 -1.421875 30.609375 -1.421875 \n",
|
||
"Q 18.84375 -1.421875 12.171875 6.21875 \n",
|
||
"Q 5.515625 13.875 5.515625 27.296875 \n",
|
||
"Q 5.515625 40.765625 12.171875 48.375 \n",
|
||
"Q 18.84375 56 30.609375 56 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-111\"/>\n",
|
||
" <path d=\"M 48.78125 52.59375 \n",
|
||
"L 48.78125 44.1875 \n",
|
||
"Q 44.96875 46.296875 41.140625 47.34375 \n",
|
||
"Q 37.3125 48.390625 33.40625 48.390625 \n",
|
||
"Q 24.65625 48.390625 19.8125 42.84375 \n",
|
||
"Q 14.984375 37.3125 14.984375 27.296875 \n",
|
||
"Q 14.984375 17.28125 19.8125 11.734375 \n",
|
||
"Q 24.65625 6.203125 33.40625 6.203125 \n",
|
||
"Q 37.3125 6.203125 41.140625 7.25 \n",
|
||
"Q 44.96875 8.296875 48.78125 10.40625 \n",
|
||
"L 48.78125 2.09375 \n",
|
||
"Q 45.015625 0.34375 40.984375 -0.53125 \n",
|
||
"Q 36.96875 -1.421875 32.421875 -1.421875 \n",
|
||
"Q 20.0625 -1.421875 12.78125 6.34375 \n",
|
||
"Q 5.515625 14.109375 5.515625 27.296875 \n",
|
||
"Q 5.515625 40.671875 12.859375 48.328125 \n",
|
||
"Q 20.21875 56 33.015625 56 \n",
|
||
"Q 37.15625 56 41.109375 55.140625 \n",
|
||
"Q 45.0625 54.296875 48.78125 52.59375 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-99\"/>\n",
|
||
" <path d=\"M 54.890625 33.015625 \n",
|
||
"L 54.890625 0 \n",
|
||
"L 45.90625 0 \n",
|
||
"L 45.90625 32.71875 \n",
|
||
"Q 45.90625 40.484375 42.875 44.328125 \n",
|
||
"Q 39.84375 48.1875 33.796875 48.1875 \n",
|
||
"Q 26.515625 48.1875 22.3125 43.546875 \n",
|
||
"Q 18.109375 38.921875 18.109375 30.90625 \n",
|
||
"L 18.109375 0 \n",
|
||
"L 9.078125 0 \n",
|
||
"L 9.078125 75.984375 \n",
|
||
"L 18.109375 75.984375 \n",
|
||
"L 18.109375 46.1875 \n",
|
||
"Q 21.34375 51.125 25.703125 53.5625 \n",
|
||
"Q 30.078125 56 35.796875 56 \n",
|
||
"Q 45.21875 56 50.046875 50.171875 \n",
|
||
"Q 54.890625 44.34375 54.890625 33.015625 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-104\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-101\"/>\n",
|
||
" <use x=\"61.523438\" xlink:href=\"#DejaVuSans-112\"/>\n",
|
||
" <use x=\"125\" xlink:href=\"#DejaVuSans-111\"/>\n",
|
||
" <use x=\"186.181641\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" <use x=\"241.162109\" xlink:href=\"#DejaVuSans-104\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"matplotlib.axis_2\">\n",
|
||
" <g id=\"ytick_1\">\n",
|
||
" <g id=\"line2d_11\">\n",
|
||
" <path clip-path=\"url(#p5d9e137dd0)\" d=\"M 30.103125 112.716051 \n",
|
||
"L 225.403125 112.716051 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_12\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 0 0 \n",
|
||
"L -3.5 0 \n",
|
||
"\" id=\"mdd6eeceb16\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
|
||
" </defs>\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#mdd6eeceb16\" y=\"112.716051\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_7\">\n",
|
||
" <!-- 0.5 -->\n",
|
||
" <g transform=\"translate(7.2 116.51527)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 10.6875 12.40625 \n",
|
||
"L 21 12.40625 \n",
|
||
"L 21 0 \n",
|
||
"L 10.6875 0 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-46\"/>\n",
|
||
" <path d=\"M 10.796875 72.90625 \n",
|
||
"L 49.515625 72.90625 \n",
|
||
"L 49.515625 64.59375 \n",
|
||
"L 19.828125 64.59375 \n",
|
||
"L 19.828125 46.734375 \n",
|
||
"Q 21.96875 47.46875 24.109375 47.828125 \n",
|
||
"Q 26.265625 48.1875 28.421875 48.1875 \n",
|
||
"Q 40.625 48.1875 47.75 41.5 \n",
|
||
"Q 54.890625 34.8125 54.890625 23.390625 \n",
|
||
"Q 54.890625 11.625 47.5625 5.09375 \n",
|
||
"Q 40.234375 -1.421875 26.90625 -1.421875 \n",
|
||
"Q 22.3125 -1.421875 17.546875 -0.640625 \n",
|
||
"Q 12.796875 0.140625 7.71875 1.703125 \n",
|
||
"L 7.71875 11.625 \n",
|
||
"Q 12.109375 9.234375 16.796875 8.0625 \n",
|
||
"Q 21.484375 6.890625 26.703125 6.890625 \n",
|
||
"Q 35.15625 6.890625 40.078125 11.328125 \n",
|
||
"Q 45.015625 15.765625 45.015625 23.390625 \n",
|
||
"Q 45.015625 31 40.078125 35.4375 \n",
|
||
"Q 35.15625 39.890625 26.703125 39.890625 \n",
|
||
"Q 22.75 39.890625 18.8125 39.015625 \n",
|
||
"Q 14.890625 38.140625 10.796875 36.28125 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-53\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-53\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"ytick_2\">\n",
|
||
" <g id=\"line2d_13\">\n",
|
||
" <path clip-path=\"url(#p5d9e137dd0)\" d=\"M 30.103125 75.884156 \n",
|
||
"L 225.403125 75.884156 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_14\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#mdd6eeceb16\" y=\"75.884156\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_8\">\n",
|
||
" <!-- 1.0 -->\n",
|
||
" <g transform=\"translate(7.2 79.683374)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-49\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"ytick_3\">\n",
|
||
" <g id=\"line2d_15\">\n",
|
||
" <path clip-path=\"url(#p5d9e137dd0)\" d=\"M 30.103125 39.05226 \n",
|
||
"L 225.403125 39.05226 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_16\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#mdd6eeceb16\" y=\"39.05226\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_9\">\n",
|
||
" <!-- 1.5 -->\n",
|
||
" <g transform=\"translate(7.2 42.851479)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-49\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-53\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_17\">\n",
|
||
" <path clip-path=\"url(#p5d9e137dd0)\" d=\"M 12.70611 13.377273 \n",
|
||
"L 17.009095 52.05684 \n",
|
||
"L 21.31208 69.606941 \n",
|
||
"L 25.615065 80.068565 \n",
|
||
"L 29.91805 87.066482 \n",
|
||
"L 30.103125 87.290831 \n",
|
||
"L 34.40611 118.046162 \n",
|
||
"L 38.709095 118.783772 \n",
|
||
"L 43.01208 119.574989 \n",
|
||
"L 47.315065 120.253706 \n",
|
||
"L 51.61805 120.815172 \n",
|
||
"L 51.803125 120.811353 \n",
|
||
"L 56.10611 124.678601 \n",
|
||
"L 60.409095 125.264171 \n",
|
||
"L 64.71208 125.581641 \n",
|
||
"L 69.015065 125.875055 \n",
|
||
"L 73.31805 126.032716 \n",
|
||
"L 73.503125 126.083064 \n",
|
||
"L 77.80611 128.071091 \n",
|
||
"L 82.109095 127.981523 \n",
|
||
"L 86.41208 128.072362 \n",
|
||
"L 90.715065 128.471795 \n",
|
||
"L 95.01805 128.662189 \n",
|
||
"L 95.203125 128.683802 \n",
|
||
"L 99.50611 130.704636 \n",
|
||
"L 103.809095 130.446874 \n",
|
||
"L 108.11208 130.473797 \n",
|
||
"L 112.415065 130.592142 \n",
|
||
"L 116.71805 130.679454 \n",
|
||
"L 116.903125 130.681771 \n",
|
||
"L 121.20611 132.221635 \n",
|
||
"L 125.509095 132.520103 \n",
|
||
"L 129.81208 132.459375 \n",
|
||
"L 134.115065 132.214625 \n",
|
||
"L 138.41805 132.247299 \n",
|
||
"L 138.603125 132.2582 \n",
|
||
"L 142.90611 133.018535 \n",
|
||
"L 147.209095 133.323842 \n",
|
||
"L 151.51208 133.485165 \n",
|
||
"L 155.815065 133.365356 \n",
|
||
"L 160.11805 133.580997 \n",
|
||
"L 160.303125 133.595579 \n",
|
||
"L 164.60611 134.796426 \n",
|
||
"L 168.909095 134.641742 \n",
|
||
"L 173.21208 134.703306 \n",
|
||
"L 177.515065 134.633166 \n",
|
||
"L 181.81805 134.61159 \n",
|
||
"L 182.003125 134.630195 \n",
|
||
"L 186.30611 136.275031 \n",
|
||
"L 190.609095 135.886399 \n",
|
||
"L 194.91208 135.670998 \n",
|
||
"L 199.215065 135.615051 \n",
|
||
"L 203.51805 135.702139 \n",
|
||
"L 203.703125 135.721795 \n",
|
||
"L 208.00611 136.645067 \n",
|
||
"L 212.309095 136.760199 \n",
|
||
"L 216.61208 136.816952 \n",
|
||
"L 220.915065 136.922727 \n",
|
||
"L 225.21805 136.882012 \n",
|
||
"L 225.403125 136.874668 \n",
|
||
"\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_18\">\n",
|
||
" <path clip-path=\"url(#p5d9e137dd0)\" d=\"M 12.70611 124.752012 \n",
|
||
"L 17.009095 111.459856 \n",
|
||
"L 21.31208 105.199506 \n",
|
||
"L 25.615065 101.436593 \n",
|
||
"L 29.91805 98.876862 \n",
|
||
"L 30.103125 98.798506 \n",
|
||
"L 34.40611 87.443628 \n",
|
||
"L 38.709095 87.084715 \n",
|
||
"L 43.01208 86.826875 \n",
|
||
"L 47.315065 86.615962 \n",
|
||
"L 51.61805 86.413919 \n",
|
||
"L 51.803125 86.410711 \n",
|
||
"L 56.10611 84.980743 \n",
|
||
"L 60.409095 84.65277 \n",
|
||
"L 64.71208 84.574387 \n",
|
||
"L 69.015065 84.473314 \n",
|
||
"L 73.31805 84.443611 \n",
|
||
"L 73.503125 84.419333 \n",
|
||
"L 77.80611 83.829746 \n",
|
||
"L 82.109095 83.789523 \n",
|
||
"L 86.41208 83.809119 \n",
|
||
"L 90.715065 83.664213 \n",
|
||
"L 95.01805 83.571081 \n",
|
||
"L 95.203125 83.563606 \n",
|
||
"L 99.50611 82.870582 \n",
|
||
"L 103.809095 82.972687 \n",
|
||
"L 108.11208 82.984031 \n",
|
||
"L 112.415065 82.85047 \n",
|
||
"L 116.71805 82.844592 \n",
|
||
"L 116.903125 82.841701 \n",
|
||
"L 121.20611 82.270331 \n",
|
||
"L 125.509095 82.016617 \n",
|
||
"L 129.81208 82.130066 \n",
|
||
"L 134.115065 82.217732 \n",
|
||
"L 138.41805 82.215875 \n",
|
||
"L 138.603125 82.20942 \n",
|
||
"L 142.90611 82.047557 \n",
|
||
"L 147.209095 81.812408 \n",
|
||
"L 151.51208 81.717522 \n",
|
||
"L 155.815065 81.77992 \n",
|
||
"L 160.11805 81.736912 \n",
|
||
"L 160.303125 81.730605 \n",
|
||
"L 164.60611 81.441118 \n",
|
||
"L 168.909095 81.422554 \n",
|
||
"L 173.21208 81.424617 \n",
|
||
"L 177.515065 81.405536 \n",
|
||
"L 181.81805 81.385425 \n",
|
||
"L 182.003125 81.377019 \n",
|
||
"L 186.30611 80.927501 \n",
|
||
"L 190.609095 80.977007 \n",
|
||
"L 194.91208 81.030637 \n",
|
||
"L 199.215065 81.063641 \n",
|
||
"L 203.51805 81.031462 \n",
|
||
"L 203.703125 81.025888 \n",
|
||
"L 208.00611 80.63047 \n",
|
||
"L 212.309095 80.568588 \n",
|
||
"L 216.61208 80.527334 \n",
|
||
"L 220.915065 80.502066 \n",
|
||
"L 225.21805 80.568588 \n",
|
||
"L 225.403125 80.571628 \n",
|
||
"\" style=\"fill:none;stroke:#bf00bf;stroke-dasharray:5.55,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_19\">\n",
|
||
" <path clip-path=\"url(#p5d9e137dd0)\" d=\"M 30.103125 86.896892 \n",
|
||
"L 51.803125 85.003733 \n",
|
||
"L 73.503125 83.832479 \n",
|
||
"L 95.203125 83.169504 \n",
|
||
"L 116.903125 83.692517 \n",
|
||
"L 138.603125 82.300272 \n",
|
||
"L 160.303125 82.351836 \n",
|
||
"L 182.003125 81.968785 \n",
|
||
"L 203.703125 81.814091 \n",
|
||
"L 225.403125 82.226608 \n",
|
||
"\" style=\"fill:none;stroke:#008000;stroke-dasharray:9.6,2.4,1.5,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_3\">\n",
|
||
" <path d=\"M 30.103125 143.1 \n",
|
||
"L 30.103125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_4\">\n",
|
||
" <path d=\"M 225.403125 143.1 \n",
|
||
"L 225.403125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_5\">\n",
|
||
" <path d=\"M 30.103125 143.1 \n",
|
||
"L 225.403125 143.1 \n",
|
||
"\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_6\">\n",
|
||
" <path d=\"M 30.103125 7.2 \n",
|
||
"L 225.403125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"legend_1\">\n",
|
||
" <g id=\"patch_7\">\n",
|
||
" <path d=\"M 140.634375 59.234375 \n",
|
||
"L 218.403125 59.234375 \n",
|
||
"Q 220.403125 59.234375 220.403125 57.234375 \n",
|
||
"L 220.403125 14.2 \n",
|
||
"Q 220.403125 12.2 218.403125 12.2 \n",
|
||
"L 140.634375 12.2 \n",
|
||
"Q 138.634375 12.2 138.634375 14.2 \n",
|
||
"L 138.634375 57.234375 \n",
|
||
"Q 138.634375 59.234375 140.634375 59.234375 \n",
|
||
"z\n",
|
||
"\" style=\"fill:#ffffff;opacity:0.8;stroke:#cccccc;stroke-linejoin:miter;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_20\">\n",
|
||
" <path d=\"M 142.634375 20.298438 \n",
|
||
"L 162.634375 20.298438 \n",
|
||
"\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_21\"/>\n",
|
||
" <g id=\"text_10\">\n",
|
||
" <!-- train loss -->\n",
|
||
" <g transform=\"translate(170.634375 23.798438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 18.3125 70.21875 \n",
|
||
"L 18.3125 54.6875 \n",
|
||
"L 36.8125 54.6875 \n",
|
||
"L 36.8125 47.703125 \n",
|
||
"L 18.3125 47.703125 \n",
|
||
"L 18.3125 18.015625 \n",
|
||
"Q 18.3125 11.328125 20.140625 9.421875 \n",
|
||
"Q 21.96875 7.515625 27.59375 7.515625 \n",
|
||
"L 36.8125 7.515625 \n",
|
||
"L 36.8125 0 \n",
|
||
"L 27.59375 0 \n",
|
||
"Q 17.1875 0 13.234375 3.875 \n",
|
||
"Q 9.28125 7.765625 9.28125 18.015625 \n",
|
||
"L 9.28125 47.703125 \n",
|
||
"L 2.6875 47.703125 \n",
|
||
"L 2.6875 54.6875 \n",
|
||
"L 9.28125 54.6875 \n",
|
||
"L 9.28125 70.21875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-116\"/>\n",
|
||
" <path d=\"M 41.109375 46.296875 \n",
|
||
"Q 39.59375 47.171875 37.8125 47.578125 \n",
|
||
"Q 36.03125 48 33.890625 48 \n",
|
||
"Q 26.265625 48 22.1875 43.046875 \n",
|
||
"Q 18.109375 38.09375 18.109375 28.8125 \n",
|
||
"L 18.109375 0 \n",
|
||
"L 9.078125 0 \n",
|
||
"L 9.078125 54.6875 \n",
|
||
"L 18.109375 54.6875 \n",
|
||
"L 18.109375 46.1875 \n",
|
||
"Q 20.953125 51.171875 25.484375 53.578125 \n",
|
||
"Q 30.03125 56 36.53125 56 \n",
|
||
"Q 37.453125 56 38.578125 55.875 \n",
|
||
"Q 39.703125 55.765625 41.0625 55.515625 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-114\"/>\n",
|
||
" <path d=\"M 34.28125 27.484375 \n",
|
||
"Q 23.390625 27.484375 19.1875 25 \n",
|
||
"Q 14.984375 22.515625 14.984375 16.5 \n",
|
||
"Q 14.984375 11.71875 18.140625 8.90625 \n",
|
||
"Q 21.296875 6.109375 26.703125 6.109375 \n",
|
||
"Q 34.1875 6.109375 38.703125 11.40625 \n",
|
||
"Q 43.21875 16.703125 43.21875 25.484375 \n",
|
||
"L 43.21875 27.484375 \n",
|
||
"z\n",
|
||
"M 52.203125 31.203125 \n",
|
||
"L 52.203125 0 \n",
|
||
"L 43.21875 0 \n",
|
||
"L 43.21875 8.296875 \n",
|
||
"Q 40.140625 3.328125 35.546875 0.953125 \n",
|
||
"Q 30.953125 -1.421875 24.3125 -1.421875 \n",
|
||
"Q 15.921875 -1.421875 10.953125 3.296875 \n",
|
||
"Q 6 8.015625 6 15.921875 \n",
|
||
"Q 6 25.140625 12.171875 29.828125 \n",
|
||
"Q 18.359375 34.515625 30.609375 34.515625 \n",
|
||
"L 43.21875 34.515625 \n",
|
||
"L 43.21875 35.40625 \n",
|
||
"Q 43.21875 41.609375 39.140625 45 \n",
|
||
"Q 35.0625 48.390625 27.6875 48.390625 \n",
|
||
"Q 23 48.390625 18.546875 47.265625 \n",
|
||
"Q 14.109375 46.140625 10.015625 43.890625 \n",
|
||
"L 10.015625 52.203125 \n",
|
||
"Q 14.9375 54.109375 19.578125 55.046875 \n",
|
||
"Q 24.21875 56 28.609375 56 \n",
|
||
"Q 40.484375 56 46.34375 49.84375 \n",
|
||
"Q 52.203125 43.703125 52.203125 31.203125 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-97\"/>\n",
|
||
" <path d=\"M 9.421875 54.6875 \n",
|
||
"L 18.40625 54.6875 \n",
|
||
"L 18.40625 0 \n",
|
||
"L 9.421875 0 \n",
|
||
"z\n",
|
||
"M 9.421875 75.984375 \n",
|
||
"L 18.40625 75.984375 \n",
|
||
"L 18.40625 64.59375 \n",
|
||
"L 9.421875 64.59375 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-105\"/>\n",
|
||
" <path d=\"M 54.890625 33.015625 \n",
|
||
"L 54.890625 0 \n",
|
||
"L 45.90625 0 \n",
|
||
"L 45.90625 32.71875 \n",
|
||
"Q 45.90625 40.484375 42.875 44.328125 \n",
|
||
"Q 39.84375 48.1875 33.796875 48.1875 \n",
|
||
"Q 26.515625 48.1875 22.3125 43.546875 \n",
|
||
"Q 18.109375 38.921875 18.109375 30.90625 \n",
|
||
"L 18.109375 0 \n",
|
||
"L 9.078125 0 \n",
|
||
"L 9.078125 54.6875 \n",
|
||
"L 18.109375 54.6875 \n",
|
||
"L 18.109375 46.1875 \n",
|
||
"Q 21.34375 51.125 25.703125 53.5625 \n",
|
||
"Q 30.078125 56 35.796875 56 \n",
|
||
"Q 45.21875 56 50.046875 50.171875 \n",
|
||
"Q 54.890625 44.34375 54.890625 33.015625 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-110\"/>\n",
|
||
" <path id=\"DejaVuSans-32\"/>\n",
|
||
" <path d=\"M 9.421875 75.984375 \n",
|
||
"L 18.40625 75.984375 \n",
|
||
"L 18.40625 0 \n",
|
||
"L 9.421875 0 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-108\"/>\n",
|
||
" <path d=\"M 44.28125 53.078125 \n",
|
||
"L 44.28125 44.578125 \n",
|
||
"Q 40.484375 46.53125 36.375 47.5 \n",
|
||
"Q 32.28125 48.484375 27.875 48.484375 \n",
|
||
"Q 21.1875 48.484375 17.84375 46.4375 \n",
|
||
"Q 14.5 44.390625 14.5 40.28125 \n",
|
||
"Q 14.5 37.15625 16.890625 35.375 \n",
|
||
"Q 19.28125 33.59375 26.515625 31.984375 \n",
|
||
"L 29.59375 31.296875 \n",
|
||
"Q 39.15625 29.25 43.1875 25.515625 \n",
|
||
"Q 47.21875 21.78125 47.21875 15.09375 \n",
|
||
"Q 47.21875 7.46875 41.1875 3.015625 \n",
|
||
"Q 35.15625 -1.421875 24.609375 -1.421875 \n",
|
||
"Q 20.21875 -1.421875 15.453125 -0.5625 \n",
|
||
"Q 10.6875 0.296875 5.421875 2 \n",
|
||
"L 5.421875 11.28125 \n",
|
||
"Q 10.40625 8.6875 15.234375 7.390625 \n",
|
||
"Q 20.0625 6.109375 24.8125 6.109375 \n",
|
||
"Q 31.15625 6.109375 34.5625 8.28125 \n",
|
||
"Q 37.984375 10.453125 37.984375 14.40625 \n",
|
||
"Q 37.984375 18.0625 35.515625 20.015625 \n",
|
||
"Q 33.0625 21.96875 24.703125 23.78125 \n",
|
||
"L 21.578125 24.515625 \n",
|
||
"Q 13.234375 26.265625 9.515625 29.90625 \n",
|
||
"Q 5.8125 33.546875 5.8125 39.890625 \n",
|
||
"Q 5.8125 47.609375 11.28125 51.796875 \n",
|
||
"Q 16.75 56 26.8125 56 \n",
|
||
"Q 31.78125 56 36.171875 55.265625 \n",
|
||
"Q 40.578125 54.546875 44.28125 53.078125 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-115\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"39.208984\" xlink:href=\"#DejaVuSans-114\"/>\n",
|
||
" <use x=\"80.322266\" xlink:href=\"#DejaVuSans-97\"/>\n",
|
||
" <use x=\"141.601562\" xlink:href=\"#DejaVuSans-105\"/>\n",
|
||
" <use x=\"169.384766\" xlink:href=\"#DejaVuSans-110\"/>\n",
|
||
" <use x=\"232.763672\" xlink:href=\"#DejaVuSans-32\"/>\n",
|
||
" <use x=\"264.550781\" xlink:href=\"#DejaVuSans-108\"/>\n",
|
||
" <use x=\"292.333984\" xlink:href=\"#DejaVuSans-111\"/>\n",
|
||
" <use x=\"353.515625\" xlink:href=\"#DejaVuSans-115\"/>\n",
|
||
" <use x=\"405.615234\" xlink:href=\"#DejaVuSans-115\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_22\">\n",
|
||
" <path d=\"M 142.634375 34.976562 \n",
|
||
"L 162.634375 34.976562 \n",
|
||
"\" style=\"fill:none;stroke:#bf00bf;stroke-dasharray:5.55,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_23\"/>\n",
|
||
" <g id=\"text_11\">\n",
|
||
" <!-- train acc -->\n",
|
||
" <g transform=\"translate(170.634375 38.476562)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"39.208984\" xlink:href=\"#DejaVuSans-114\"/>\n",
|
||
" <use x=\"80.322266\" xlink:href=\"#DejaVuSans-97\"/>\n",
|
||
" <use x=\"141.601562\" xlink:href=\"#DejaVuSans-105\"/>\n",
|
||
" <use x=\"169.384766\" xlink:href=\"#DejaVuSans-110\"/>\n",
|
||
" <use x=\"232.763672\" xlink:href=\"#DejaVuSans-32\"/>\n",
|
||
" <use x=\"264.550781\" xlink:href=\"#DejaVuSans-97\"/>\n",
|
||
" <use x=\"325.830078\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" <use x=\"380.810547\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_24\">\n",
|
||
" <path d=\"M 142.634375 49.654688 \n",
|
||
"L 162.634375 49.654688 \n",
|
||
"\" style=\"fill:none;stroke:#008000;stroke-dasharray:9.6,2.4,1.5,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_25\"/>\n",
|
||
" <g id=\"text_12\">\n",
|
||
" <!-- test acc -->\n",
|
||
" <g transform=\"translate(170.634375 53.154688)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"39.208984\" xlink:href=\"#DejaVuSans-101\"/>\n",
|
||
" <use x=\"100.732422\" xlink:href=\"#DejaVuSans-115\"/>\n",
|
||
" <use x=\"152.832031\" xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"192.041016\" xlink:href=\"#DejaVuSans-32\"/>\n",
|
||
" <use x=\"223.828125\" xlink:href=\"#DejaVuSans-97\"/>\n",
|
||
" <use x=\"285.107422\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" <use x=\"340.087891\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <defs>\n",
|
||
" <clipPath id=\"p5d9e137dd0\">\n",
|
||
" <rect height=\"135.9\" width=\"195.3\" x=\"30.103125\" y=\"7.2\"/>\n",
|
||
" </clipPath>\n",
|
||
" </defs>\n",
|
||
"</svg>\n"
|
||
],
|
||
"text/plain": [
|
||
"<Figure size 252x180 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"lr, num_epochs, batch_size = 0.05, 10, 128\n",
|
||
"train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size, resize=224)\n",
|
||
"d2l.train_ch6(net, train_iter, test_iter, num_epochs, lr, d2l.try_gpu())"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "051bf6dd-6153-4d4a-8a18-4878031998b0",
|
||
"metadata": {
|
||
"jp-MarkdownHeadingCollapsed": true,
|
||
"slideshow": {
|
||
"slide_type": "-"
|
||
},
|
||
"tags": []
|
||
},
|
||
"source": [
|
||
"## 网络中的网络(NiN)\n",
|
||
"\n",
|
||
"NiN块"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"id": "1c18dda6-ece9-4c0a-9235-83e4b5bd6f34",
|
||
"metadata": {
|
||
"origin_pos": 2,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"import torch\n",
|
||
"from torch import nn\n",
|
||
"from d2l import torch as d2l\n",
|
||
"\n",
|
||
"\n",
|
||
"def nin_block(in_channels, out_channels, kernel_size, strides, padding):\n",
|
||
" return nn.Sequential(\n",
|
||
" nn.Conv2d(in_channels, out_channels, kernel_size, strides, padding),\n",
|
||
" nn.ReLU(),\n",
|
||
" nn.Conv2d(out_channels, out_channels, kernel_size=1), nn.ReLU(),\n",
|
||
" nn.Conv2d(out_channels, out_channels, kernel_size=1), nn.ReLU())"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "9a43fb36-d21c-48d8-afc9-3940fc4151c8",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"NiN模型"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"id": "4d406faa-4e96-49f8-b226-a76be1f1cc40",
|
||
"metadata": {
|
||
"origin_pos": 6,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"net = nn.Sequential(\n",
|
||
" nin_block(1, 96, kernel_size=11, strides=4, padding=0),\n",
|
||
" nn.MaxPool2d(3, stride=2),\n",
|
||
" nin_block(96, 256, kernel_size=5, strides=1, padding=2),\n",
|
||
" nn.MaxPool2d(3, stride=2),\n",
|
||
" nin_block(256, 384, kernel_size=3, strides=1, padding=1),\n",
|
||
" nn.MaxPool2d(3, stride=2),\n",
|
||
" nn.Dropout(0.5),\n",
|
||
" nin_block(384, 10, kernel_size=3, strides=1, padding=1), # 标签类别数是10\n",
|
||
" nn.AdaptiveAvgPool2d((1, 1)),\n",
|
||
" nn.Flatten()) # 将四维的输出转成二维的输出,其形状为(批量大小,10)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "554152fc-1a8c-40dc-9892-996c7039d471",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"查看每个块的输出形状"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"id": "73bc25b6-f379-4013-8ee2-b7e80c50a23f",
|
||
"metadata": {
|
||
"origin_pos": 10,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Sequential output shape:\t torch.Size([1, 96, 54, 54])\n",
|
||
"MaxPool2d output shape:\t torch.Size([1, 96, 26, 26])\n",
|
||
"Sequential output shape:\t torch.Size([1, 256, 26, 26])\n",
|
||
"MaxPool2d output shape:\t torch.Size([1, 256, 12, 12])\n",
|
||
"Sequential output shape:\t torch.Size([1, 384, 12, 12])\n",
|
||
"MaxPool2d output shape:\t torch.Size([1, 384, 5, 5])\n",
|
||
"Dropout output shape:\t torch.Size([1, 384, 5, 5])\n",
|
||
"Sequential output shape:\t torch.Size([1, 10, 5, 5])\n",
|
||
"AdaptiveAvgPool2d output shape:\t torch.Size([1, 10, 1, 1])\n",
|
||
"Flatten output shape:\t torch.Size([1, 10])\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"X = torch.rand(size=(1, 1, 224, 224))\n",
|
||
"for layer in net:\n",
|
||
" X = layer(X)\n",
|
||
" print(layer.__class__.__name__,'output shape:\\t', X.shape)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "feb20603-ba72-4fb4-9763-ba195b16da54",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"训练模型"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"id": "5ef0873e-78e2-4f65-9ce0-4dba0c5f48c9",
|
||
"metadata": {
|
||
"origin_pos": 13,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"loss 2.303, train acc 0.100, test acc 0.100\n",
|
||
"1445.5 examples/sec on cuda:0\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/svg+xml": [
|
||
"<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n",
|
||
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
||
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
||
"<!-- Created with matplotlib (https://matplotlib.org/) -->\n",
|
||
"<svg height=\"180.65625pt\" version=\"1.1\" viewBox=\"0 0 238.965625 180.65625\" width=\"238.965625pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
||
" <metadata>\n",
|
||
" <rdf:RDF xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n",
|
||
" <cc:Work>\n",
|
||
" <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\n",
|
||
" <dc:date>2022-03-22T09:47:52.697012</dc:date>\n",
|
||
" <dc:format>image/svg+xml</dc:format>\n",
|
||
" <dc:creator>\n",
|
||
" <cc:Agent>\n",
|
||
" <dc:title>Matplotlib v3.3.3, https://matplotlib.org/</dc:title>\n",
|
||
" </cc:Agent>\n",
|
||
" </dc:creator>\n",
|
||
" </cc:Work>\n",
|
||
" </rdf:RDF>\n",
|
||
" </metadata>\n",
|
||
" <defs>\n",
|
||
" <style type=\"text/css\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\n",
|
||
" </defs>\n",
|
||
" <g id=\"figure_1\">\n",
|
||
" <g id=\"patch_1\">\n",
|
||
" <path d=\"M 0 180.65625 \n",
|
||
"L 238.965625 180.65625 \n",
|
||
"L 238.965625 0 \n",
|
||
"L 0 0 \n",
|
||
"z\n",
|
||
"\" style=\"fill:none;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"axes_1\">\n",
|
||
" <g id=\"patch_2\">\n",
|
||
" <path d=\"M 30.103125 143.1 \n",
|
||
"L 225.403125 143.1 \n",
|
||
"L 225.403125 7.2 \n",
|
||
"L 30.103125 7.2 \n",
|
||
"z\n",
|
||
"\" style=\"fill:#ffffff;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"matplotlib.axis_1\">\n",
|
||
" <g id=\"xtick_1\">\n",
|
||
" <g id=\"line2d_1\">\n",
|
||
" <path clip-path=\"url(#pdaed99b1c6)\" d=\"M 51.803125 143.1 \n",
|
||
"L 51.803125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_2\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 0 0 \n",
|
||
"L 0 3.5 \n",
|
||
"\" id=\"m6f29ccba98\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
|
||
" </defs>\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"51.803125\" xlink:href=\"#m6f29ccba98\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_1\">\n",
|
||
" <!-- 2 -->\n",
|
||
" <g transform=\"translate(48.621875 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 19.1875 8.296875 \n",
|
||
"L 53.609375 8.296875 \n",
|
||
"L 53.609375 0 \n",
|
||
"L 7.328125 0 \n",
|
||
"L 7.328125 8.296875 \n",
|
||
"Q 12.9375 14.109375 22.625 23.890625 \n",
|
||
"Q 32.328125 33.6875 34.8125 36.53125 \n",
|
||
"Q 39.546875 41.84375 41.421875 45.53125 \n",
|
||
"Q 43.3125 49.21875 43.3125 52.78125 \n",
|
||
"Q 43.3125 58.59375 39.234375 62.25 \n",
|
||
"Q 35.15625 65.921875 28.609375 65.921875 \n",
|
||
"Q 23.96875 65.921875 18.8125 64.3125 \n",
|
||
"Q 13.671875 62.703125 7.8125 59.421875 \n",
|
||
"L 7.8125 69.390625 \n",
|
||
"Q 13.765625 71.78125 18.9375 73 \n",
|
||
"Q 24.125 74.21875 28.421875 74.21875 \n",
|
||
"Q 39.75 74.21875 46.484375 68.546875 \n",
|
||
"Q 53.21875 62.890625 53.21875 53.421875 \n",
|
||
"Q 53.21875 48.921875 51.53125 44.890625 \n",
|
||
"Q 49.859375 40.875 45.40625 35.40625 \n",
|
||
"Q 44.1875 33.984375 37.640625 27.21875 \n",
|
||
"Q 31.109375 20.453125 19.1875 8.296875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-50\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-50\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_2\">\n",
|
||
" <g id=\"line2d_3\">\n",
|
||
" <path clip-path=\"url(#pdaed99b1c6)\" d=\"M 95.203125 143.1 \n",
|
||
"L 95.203125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_4\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"95.203125\" xlink:href=\"#m6f29ccba98\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_2\">\n",
|
||
" <!-- 4 -->\n",
|
||
" <g transform=\"translate(92.021875 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 37.796875 64.3125 \n",
|
||
"L 12.890625 25.390625 \n",
|
||
"L 37.796875 25.390625 \n",
|
||
"z\n",
|
||
"M 35.203125 72.90625 \n",
|
||
"L 47.609375 72.90625 \n",
|
||
"L 47.609375 25.390625 \n",
|
||
"L 58.015625 25.390625 \n",
|
||
"L 58.015625 17.1875 \n",
|
||
"L 47.609375 17.1875 \n",
|
||
"L 47.609375 0 \n",
|
||
"L 37.796875 0 \n",
|
||
"L 37.796875 17.1875 \n",
|
||
"L 4.890625 17.1875 \n",
|
||
"L 4.890625 26.703125 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-52\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-52\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_3\">\n",
|
||
" <g id=\"line2d_5\">\n",
|
||
" <path clip-path=\"url(#pdaed99b1c6)\" d=\"M 138.603125 143.1 \n",
|
||
"L 138.603125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_6\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"138.603125\" xlink:href=\"#m6f29ccba98\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_3\">\n",
|
||
" <!-- 6 -->\n",
|
||
" <g transform=\"translate(135.421875 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 33.015625 40.375 \n",
|
||
"Q 26.375 40.375 22.484375 35.828125 \n",
|
||
"Q 18.609375 31.296875 18.609375 23.390625 \n",
|
||
"Q 18.609375 15.53125 22.484375 10.953125 \n",
|
||
"Q 26.375 6.390625 33.015625 6.390625 \n",
|
||
"Q 39.65625 6.390625 43.53125 10.953125 \n",
|
||
"Q 47.40625 15.53125 47.40625 23.390625 \n",
|
||
"Q 47.40625 31.296875 43.53125 35.828125 \n",
|
||
"Q 39.65625 40.375 33.015625 40.375 \n",
|
||
"z\n",
|
||
"M 52.59375 71.296875 \n",
|
||
"L 52.59375 62.3125 \n",
|
||
"Q 48.875 64.0625 45.09375 64.984375 \n",
|
||
"Q 41.3125 65.921875 37.59375 65.921875 \n",
|
||
"Q 27.828125 65.921875 22.671875 59.328125 \n",
|
||
"Q 17.53125 52.734375 16.796875 39.40625 \n",
|
||
"Q 19.671875 43.65625 24.015625 45.921875 \n",
|
||
"Q 28.375 48.1875 33.59375 48.1875 \n",
|
||
"Q 44.578125 48.1875 50.953125 41.515625 \n",
|
||
"Q 57.328125 34.859375 57.328125 23.390625 \n",
|
||
"Q 57.328125 12.15625 50.6875 5.359375 \n",
|
||
"Q 44.046875 -1.421875 33.015625 -1.421875 \n",
|
||
"Q 20.359375 -1.421875 13.671875 8.265625 \n",
|
||
"Q 6.984375 17.96875 6.984375 36.375 \n",
|
||
"Q 6.984375 53.65625 15.1875 63.9375 \n",
|
||
"Q 23.390625 74.21875 37.203125 74.21875 \n",
|
||
"Q 40.921875 74.21875 44.703125 73.484375 \n",
|
||
"Q 48.484375 72.75 52.59375 71.296875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-54\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-54\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_4\">\n",
|
||
" <g id=\"line2d_7\">\n",
|
||
" <path clip-path=\"url(#pdaed99b1c6)\" d=\"M 182.003125 143.1 \n",
|
||
"L 182.003125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_8\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"182.003125\" xlink:href=\"#m6f29ccba98\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_4\">\n",
|
||
" <!-- 8 -->\n",
|
||
" <g transform=\"translate(178.821875 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 31.78125 34.625 \n",
|
||
"Q 24.75 34.625 20.71875 30.859375 \n",
|
||
"Q 16.703125 27.09375 16.703125 20.515625 \n",
|
||
"Q 16.703125 13.921875 20.71875 10.15625 \n",
|
||
"Q 24.75 6.390625 31.78125 6.390625 \n",
|
||
"Q 38.8125 6.390625 42.859375 10.171875 \n",
|
||
"Q 46.921875 13.96875 46.921875 20.515625 \n",
|
||
"Q 46.921875 27.09375 42.890625 30.859375 \n",
|
||
"Q 38.875 34.625 31.78125 34.625 \n",
|
||
"z\n",
|
||
"M 21.921875 38.8125 \n",
|
||
"Q 15.578125 40.375 12.03125 44.71875 \n",
|
||
"Q 8.5 49.078125 8.5 55.328125 \n",
|
||
"Q 8.5 64.0625 14.71875 69.140625 \n",
|
||
"Q 20.953125 74.21875 31.78125 74.21875 \n",
|
||
"Q 42.671875 74.21875 48.875 69.140625 \n",
|
||
"Q 55.078125 64.0625 55.078125 55.328125 \n",
|
||
"Q 55.078125 49.078125 51.53125 44.71875 \n",
|
||
"Q 48 40.375 41.703125 38.8125 \n",
|
||
"Q 48.828125 37.15625 52.796875 32.3125 \n",
|
||
"Q 56.78125 27.484375 56.78125 20.515625 \n",
|
||
"Q 56.78125 9.90625 50.3125 4.234375 \n",
|
||
"Q 43.84375 -1.421875 31.78125 -1.421875 \n",
|
||
"Q 19.734375 -1.421875 13.25 4.234375 \n",
|
||
"Q 6.78125 9.90625 6.78125 20.515625 \n",
|
||
"Q 6.78125 27.484375 10.78125 32.3125 \n",
|
||
"Q 14.796875 37.15625 21.921875 38.8125 \n",
|
||
"z\n",
|
||
"M 18.3125 54.390625 \n",
|
||
"Q 18.3125 48.734375 21.84375 45.5625 \n",
|
||
"Q 25.390625 42.390625 31.78125 42.390625 \n",
|
||
"Q 38.140625 42.390625 41.71875 45.5625 \n",
|
||
"Q 45.3125 48.734375 45.3125 54.390625 \n",
|
||
"Q 45.3125 60.0625 41.71875 63.234375 \n",
|
||
"Q 38.140625 66.40625 31.78125 66.40625 \n",
|
||
"Q 25.390625 66.40625 21.84375 63.234375 \n",
|
||
"Q 18.3125 60.0625 18.3125 54.390625 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-56\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-56\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_5\">\n",
|
||
" <g id=\"line2d_9\">\n",
|
||
" <path clip-path=\"url(#pdaed99b1c6)\" d=\"M 225.403125 143.1 \n",
|
||
"L 225.403125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_10\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"225.403125\" xlink:href=\"#m6f29ccba98\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_5\">\n",
|
||
" <!-- 10 -->\n",
|
||
" <g transform=\"translate(219.040625 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 12.40625 8.296875 \n",
|
||
"L 28.515625 8.296875 \n",
|
||
"L 28.515625 63.921875 \n",
|
||
"L 10.984375 60.40625 \n",
|
||
"L 10.984375 69.390625 \n",
|
||
"L 28.421875 72.90625 \n",
|
||
"L 38.28125 72.90625 \n",
|
||
"L 38.28125 8.296875 \n",
|
||
"L 54.390625 8.296875 \n",
|
||
"L 54.390625 0 \n",
|
||
"L 12.40625 0 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-49\"/>\n",
|
||
" <path d=\"M 31.78125 66.40625 \n",
|
||
"Q 24.171875 66.40625 20.328125 58.90625 \n",
|
||
"Q 16.5 51.421875 16.5 36.375 \n",
|
||
"Q 16.5 21.390625 20.328125 13.890625 \n",
|
||
"Q 24.171875 6.390625 31.78125 6.390625 \n",
|
||
"Q 39.453125 6.390625 43.28125 13.890625 \n",
|
||
"Q 47.125 21.390625 47.125 36.375 \n",
|
||
"Q 47.125 51.421875 43.28125 58.90625 \n",
|
||
"Q 39.453125 66.40625 31.78125 66.40625 \n",
|
||
"z\n",
|
||
"M 31.78125 74.21875 \n",
|
||
"Q 44.046875 74.21875 50.515625 64.515625 \n",
|
||
"Q 56.984375 54.828125 56.984375 36.375 \n",
|
||
"Q 56.984375 17.96875 50.515625 8.265625 \n",
|
||
"Q 44.046875 -1.421875 31.78125 -1.421875 \n",
|
||
"Q 19.53125 -1.421875 13.0625 8.265625 \n",
|
||
"Q 6.59375 17.96875 6.59375 36.375 \n",
|
||
"Q 6.59375 54.828125 13.0625 64.515625 \n",
|
||
"Q 19.53125 74.21875 31.78125 74.21875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-48\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-49\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_6\">\n",
|
||
" <!-- epoch -->\n",
|
||
" <g transform=\"translate(112.525 171.376563)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 56.203125 29.59375 \n",
|
||
"L 56.203125 25.203125 \n",
|
||
"L 14.890625 25.203125 \n",
|
||
"Q 15.484375 15.921875 20.484375 11.0625 \n",
|
||
"Q 25.484375 6.203125 34.421875 6.203125 \n",
|
||
"Q 39.59375 6.203125 44.453125 7.46875 \n",
|
||
"Q 49.3125 8.734375 54.109375 11.28125 \n",
|
||
"L 54.109375 2.78125 \n",
|
||
"Q 49.265625 0.734375 44.1875 -0.34375 \n",
|
||
"Q 39.109375 -1.421875 33.890625 -1.421875 \n",
|
||
"Q 20.796875 -1.421875 13.15625 6.1875 \n",
|
||
"Q 5.515625 13.8125 5.515625 26.8125 \n",
|
||
"Q 5.515625 40.234375 12.765625 48.109375 \n",
|
||
"Q 20.015625 56 32.328125 56 \n",
|
||
"Q 43.359375 56 49.78125 48.890625 \n",
|
||
"Q 56.203125 41.796875 56.203125 29.59375 \n",
|
||
"z\n",
|
||
"M 47.21875 32.234375 \n",
|
||
"Q 47.125 39.59375 43.09375 43.984375 \n",
|
||
"Q 39.0625 48.390625 32.421875 48.390625 \n",
|
||
"Q 24.90625 48.390625 20.390625 44.140625 \n",
|
||
"Q 15.875 39.890625 15.1875 32.171875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-101\"/>\n",
|
||
" <path d=\"M 18.109375 8.203125 \n",
|
||
"L 18.109375 -20.796875 \n",
|
||
"L 9.078125 -20.796875 \n",
|
||
"L 9.078125 54.6875 \n",
|
||
"L 18.109375 54.6875 \n",
|
||
"L 18.109375 46.390625 \n",
|
||
"Q 20.953125 51.265625 25.265625 53.625 \n",
|
||
"Q 29.59375 56 35.59375 56 \n",
|
||
"Q 45.5625 56 51.78125 48.09375 \n",
|
||
"Q 58.015625 40.1875 58.015625 27.296875 \n",
|
||
"Q 58.015625 14.40625 51.78125 6.484375 \n",
|
||
"Q 45.5625 -1.421875 35.59375 -1.421875 \n",
|
||
"Q 29.59375 -1.421875 25.265625 0.953125 \n",
|
||
"Q 20.953125 3.328125 18.109375 8.203125 \n",
|
||
"z\n",
|
||
"M 48.6875 27.296875 \n",
|
||
"Q 48.6875 37.203125 44.609375 42.84375 \n",
|
||
"Q 40.53125 48.484375 33.40625 48.484375 \n",
|
||
"Q 26.265625 48.484375 22.1875 42.84375 \n",
|
||
"Q 18.109375 37.203125 18.109375 27.296875 \n",
|
||
"Q 18.109375 17.390625 22.1875 11.75 \n",
|
||
"Q 26.265625 6.109375 33.40625 6.109375 \n",
|
||
"Q 40.53125 6.109375 44.609375 11.75 \n",
|
||
"Q 48.6875 17.390625 48.6875 27.296875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-112\"/>\n",
|
||
" <path d=\"M 30.609375 48.390625 \n",
|
||
"Q 23.390625 48.390625 19.1875 42.75 \n",
|
||
"Q 14.984375 37.109375 14.984375 27.296875 \n",
|
||
"Q 14.984375 17.484375 19.15625 11.84375 \n",
|
||
"Q 23.34375 6.203125 30.609375 6.203125 \n",
|
||
"Q 37.796875 6.203125 41.984375 11.859375 \n",
|
||
"Q 46.1875 17.53125 46.1875 27.296875 \n",
|
||
"Q 46.1875 37.015625 41.984375 42.703125 \n",
|
||
"Q 37.796875 48.390625 30.609375 48.390625 \n",
|
||
"z\n",
|
||
"M 30.609375 56 \n",
|
||
"Q 42.328125 56 49.015625 48.375 \n",
|
||
"Q 55.71875 40.765625 55.71875 27.296875 \n",
|
||
"Q 55.71875 13.875 49.015625 6.21875 \n",
|
||
"Q 42.328125 -1.421875 30.609375 -1.421875 \n",
|
||
"Q 18.84375 -1.421875 12.171875 6.21875 \n",
|
||
"Q 5.515625 13.875 5.515625 27.296875 \n",
|
||
"Q 5.515625 40.765625 12.171875 48.375 \n",
|
||
"Q 18.84375 56 30.609375 56 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-111\"/>\n",
|
||
" <path d=\"M 48.78125 52.59375 \n",
|
||
"L 48.78125 44.1875 \n",
|
||
"Q 44.96875 46.296875 41.140625 47.34375 \n",
|
||
"Q 37.3125 48.390625 33.40625 48.390625 \n",
|
||
"Q 24.65625 48.390625 19.8125 42.84375 \n",
|
||
"Q 14.984375 37.3125 14.984375 27.296875 \n",
|
||
"Q 14.984375 17.28125 19.8125 11.734375 \n",
|
||
"Q 24.65625 6.203125 33.40625 6.203125 \n",
|
||
"Q 37.3125 6.203125 41.140625 7.25 \n",
|
||
"Q 44.96875 8.296875 48.78125 10.40625 \n",
|
||
"L 48.78125 2.09375 \n",
|
||
"Q 45.015625 0.34375 40.984375 -0.53125 \n",
|
||
"Q 36.96875 -1.421875 32.421875 -1.421875 \n",
|
||
"Q 20.0625 -1.421875 12.78125 6.34375 \n",
|
||
"Q 5.515625 14.109375 5.515625 27.296875 \n",
|
||
"Q 5.515625 40.671875 12.859375 48.328125 \n",
|
||
"Q 20.21875 56 33.015625 56 \n",
|
||
"Q 37.15625 56 41.109375 55.140625 \n",
|
||
"Q 45.0625 54.296875 48.78125 52.59375 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-99\"/>\n",
|
||
" <path d=\"M 54.890625 33.015625 \n",
|
||
"L 54.890625 0 \n",
|
||
"L 45.90625 0 \n",
|
||
"L 45.90625 32.71875 \n",
|
||
"Q 45.90625 40.484375 42.875 44.328125 \n",
|
||
"Q 39.84375 48.1875 33.796875 48.1875 \n",
|
||
"Q 26.515625 48.1875 22.3125 43.546875 \n",
|
||
"Q 18.109375 38.921875 18.109375 30.90625 \n",
|
||
"L 18.109375 0 \n",
|
||
"L 9.078125 0 \n",
|
||
"L 9.078125 75.984375 \n",
|
||
"L 18.109375 75.984375 \n",
|
||
"L 18.109375 46.1875 \n",
|
||
"Q 21.34375 51.125 25.703125 53.5625 \n",
|
||
"Q 30.078125 56 35.796875 56 \n",
|
||
"Q 45.21875 56 50.046875 50.171875 \n",
|
||
"Q 54.890625 44.34375 54.890625 33.015625 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-104\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-101\"/>\n",
|
||
" <use x=\"61.523438\" xlink:href=\"#DejaVuSans-112\"/>\n",
|
||
" <use x=\"125\" xlink:href=\"#DejaVuSans-111\"/>\n",
|
||
" <use x=\"186.181641\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" <use x=\"241.162109\" xlink:href=\"#DejaVuSans-104\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"matplotlib.axis_2\">\n",
|
||
" <g id=\"ytick_1\">\n",
|
||
" <g id=\"line2d_11\">\n",
|
||
" <path clip-path=\"url(#pdaed99b1c6)\" d=\"M 30.103125 142.353778 \n",
|
||
"L 225.403125 142.353778 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_12\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 0 0 \n",
|
||
"L -3.5 0 \n",
|
||
"\" id=\"m136e28a426\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
|
||
" </defs>\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#m136e28a426\" y=\"142.353778\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_7\">\n",
|
||
" <!-- 0.0 -->\n",
|
||
" <g transform=\"translate(7.2 146.152997)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 10.6875 12.40625 \n",
|
||
"L 21 12.40625 \n",
|
||
"L 21 0 \n",
|
||
"L 10.6875 0 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-46\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"ytick_2\">\n",
|
||
" <g id=\"line2d_13\">\n",
|
||
" <path clip-path=\"url(#pdaed99b1c6)\" d=\"M 30.103125 114.366233 \n",
|
||
"L 225.403125 114.366233 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_14\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#m136e28a426\" y=\"114.366233\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_8\">\n",
|
||
" <!-- 0.5 -->\n",
|
||
" <g transform=\"translate(7.2 118.165452)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 10.796875 72.90625 \n",
|
||
"L 49.515625 72.90625 \n",
|
||
"L 49.515625 64.59375 \n",
|
||
"L 19.828125 64.59375 \n",
|
||
"L 19.828125 46.734375 \n",
|
||
"Q 21.96875 47.46875 24.109375 47.828125 \n",
|
||
"Q 26.265625 48.1875 28.421875 48.1875 \n",
|
||
"Q 40.625 48.1875 47.75 41.5 \n",
|
||
"Q 54.890625 34.8125 54.890625 23.390625 \n",
|
||
"Q 54.890625 11.625 47.5625 5.09375 \n",
|
||
"Q 40.234375 -1.421875 26.90625 -1.421875 \n",
|
||
"Q 22.3125 -1.421875 17.546875 -0.640625 \n",
|
||
"Q 12.796875 0.140625 7.71875 1.703125 \n",
|
||
"L 7.71875 11.625 \n",
|
||
"Q 12.109375 9.234375 16.796875 8.0625 \n",
|
||
"Q 21.484375 6.890625 26.703125 6.890625 \n",
|
||
"Q 35.15625 6.890625 40.078125 11.328125 \n",
|
||
"Q 45.015625 15.765625 45.015625 23.390625 \n",
|
||
"Q 45.015625 31 40.078125 35.4375 \n",
|
||
"Q 35.15625 39.890625 26.703125 39.890625 \n",
|
||
"Q 22.75 39.890625 18.8125 39.015625 \n",
|
||
"Q 14.890625 38.140625 10.796875 36.28125 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-53\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-53\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"ytick_3\">\n",
|
||
" <g id=\"line2d_15\">\n",
|
||
" <path clip-path=\"url(#pdaed99b1c6)\" d=\"M 30.103125 86.378688 \n",
|
||
"L 225.403125 86.378688 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_16\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#m136e28a426\" y=\"86.378688\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_9\">\n",
|
||
" <!-- 1.0 -->\n",
|
||
" <g transform=\"translate(7.2 90.177906)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-49\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"ytick_4\">\n",
|
||
" <g id=\"line2d_17\">\n",
|
||
" <path clip-path=\"url(#pdaed99b1c6)\" d=\"M 30.103125 58.391142 \n",
|
||
"L 225.403125 58.391142 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_18\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#m136e28a426\" y=\"58.391142\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_10\">\n",
|
||
" <!-- 1.5 -->\n",
|
||
" <g transform=\"translate(7.2 62.190361)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-49\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-53\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"ytick_5\">\n",
|
||
" <g id=\"line2d_19\">\n",
|
||
" <path clip-path=\"url(#pdaed99b1c6)\" d=\"M 30.103125 30.403597 \n",
|
||
"L 225.403125 30.403597 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_20\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#m136e28a426\" y=\"30.403597\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_11\">\n",
|
||
" <!-- 2.0 -->\n",
|
||
" <g transform=\"translate(7.2 34.202816)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-50\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_21\">\n",
|
||
" <path clip-path=\"url(#pdaed99b1c6)\" d=\"M 12.70611 13.435958 \n",
|
||
"L 17.009095 13.567368 \n",
|
||
"L 21.31208 14.239963 \n",
|
||
"L 25.615065 16.2911 \n",
|
||
"L 29.91805 18.743064 \n",
|
||
"L 30.103125 18.813655 \n",
|
||
"L 34.40611 35.526268 \n",
|
||
"L 38.709095 43.976508 \n",
|
||
"L 43.01208 54.021549 \n",
|
||
"L 47.315065 62.512164 \n",
|
||
"L 51.61805 69.057921 \n",
|
||
"L 51.803125 69.269713 \n",
|
||
"L 56.10611 99.331544 \n",
|
||
"L 60.409095 100.579731 \n",
|
||
"L 64.71208 102.015528 \n",
|
||
"L 69.015065 103.341695 \n",
|
||
"L 73.31805 74.422831 \n",
|
||
"L 73.503125 73.933195 \n",
|
||
"L 77.80611 13.377273 \n",
|
||
"L 82.109095 13.407692 \n",
|
||
"L 86.41208 13.428589 \n",
|
||
"L 90.715065 13.434367 \n",
|
||
"L 95.01805 13.438629 \n",
|
||
"L 95.203125 13.438721 \n",
|
||
"L 99.50611 13.464984 \n",
|
||
"L 103.809095 13.46543 \n",
|
||
"L 108.11208 13.465709 \n",
|
||
"L 112.415065 13.465757 \n",
|
||
"L 116.71805 13.465794 \n",
|
||
"L 116.903125 13.465799 \n",
|
||
"L 121.20611 13.467335 \n",
|
||
"L 125.509095 13.466974 \n",
|
||
"L 129.81208 13.466676 \n",
|
||
"L 134.115065 13.466843 \n",
|
||
"L 138.41805 13.466727 \n",
|
||
"L 138.603125 13.466671 \n",
|
||
"L 142.90611 13.466294 \n",
|
||
"L 147.209095 13.466511 \n",
|
||
"L 151.51208 13.471351 \n",
|
||
"L 155.815065 13.455697 \n",
|
||
"L 160.11805 13.457834 \n",
|
||
"L 160.303125 13.457902 \n",
|
||
"L 164.60611 13.466381 \n",
|
||
"L 168.909095 13.466381 \n",
|
||
"L 173.21208 13.466381 \n",
|
||
"L 177.515065 13.466381 \n",
|
||
"L 181.81805 13.466381 \n",
|
||
"L 182.003125 13.466381 \n",
|
||
"L 186.30611 13.466381 \n",
|
||
"L 190.609095 13.466381 \n",
|
||
"L 194.91208 13.466381 \n",
|
||
"L 199.215065 13.466381 \n",
|
||
"L 203.51805 13.466381 \n",
|
||
"L 203.703125 13.466381 \n",
|
||
"L 208.00611 13.466381 \n",
|
||
"L 212.309095 13.466381 \n",
|
||
"L 216.61208 13.466381 \n",
|
||
"L 220.915065 13.466381 \n",
|
||
"L 225.21805 13.466381 \n",
|
||
"L 225.403125 13.466381 \n",
|
||
"\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_22\">\n",
|
||
" <path clip-path=\"url(#pdaed99b1c6)\" d=\"M 12.70611 136.39608 \n",
|
||
"L 17.009095 135.592002 \n",
|
||
"L 21.31208 134.218957 \n",
|
||
"L 25.615065 132.623733 \n",
|
||
"L 29.91805 131.088227 \n",
|
||
"L 30.103125 131.037481 \n",
|
||
"L 34.40611 122.23773 \n",
|
||
"L 38.709095 120.074714 \n",
|
||
"L 43.01208 117.585678 \n",
|
||
"L 47.315065 114.936376 \n",
|
||
"L 51.61805 112.816385 \n",
|
||
"L 51.803125 112.75415 \n",
|
||
"L 56.10611 102.963377 \n",
|
||
"L 60.409095 102.349739 \n",
|
||
"L 64.71208 101.786258 \n",
|
||
"L 69.015065 101.28704 \n",
|
||
"L 73.31805 107.33455 \n",
|
||
"L 73.503125 107.566192 \n",
|
||
"L 77.80611 136.838088 \n",
|
||
"L 82.109095 136.760501 \n",
|
||
"L 86.41208 136.67978 \n",
|
||
"L 90.715065 136.699372 \n",
|
||
"L 95.01805 136.710187 \n",
|
||
"L 95.203125 136.715221 \n",
|
||
"L 99.50611 136.772257 \n",
|
||
"L 103.809095 136.71583 \n",
|
||
"L 108.11208 136.76442 \n",
|
||
"L 112.415065 136.794592 \n",
|
||
"L 116.71805 136.785423 \n",
|
||
"L 116.903125 136.782391 \n",
|
||
"L 121.20611 136.922727 \n",
|
||
"L 125.509095 136.805172 \n",
|
||
"L 129.81208 136.697021 \n",
|
||
"L 134.115065 136.728761 \n",
|
||
"L 138.41805 136.75815 \n",
|
||
"L 138.603125 136.758135 \n",
|
||
"L 142.90611 136.664106 \n",
|
||
"L 147.209095 136.725235 \n",
|
||
"L 151.51208 136.728369 \n",
|
||
"L 155.815065 136.734639 \n",
|
||
"L 160.11805 136.725235 \n",
|
||
"L 160.303125 136.733879 \n",
|
||
"L 164.60611 136.772257 \n",
|
||
"L 168.909095 136.786363 \n",
|
||
"L 173.21208 136.762852 \n",
|
||
"L 177.515065 136.776959 \n",
|
||
"L 181.81805 136.754388 \n",
|
||
"L 182.003125 136.756269 \n",
|
||
"L 186.30611 136.922727 \n",
|
||
"L 190.609095 136.882759 \n",
|
||
"L 194.91208 136.839655 \n",
|
||
"L 199.215065 136.799294 \n",
|
||
"L 203.51805 136.763793 \n",
|
||
"L 203.703125 136.756269 \n",
|
||
"L 208.00611 136.875705 \n",
|
||
"L 212.309095 136.788714 \n",
|
||
"L 216.61208 136.814576 \n",
|
||
"L 220.915065 136.740517 \n",
|
||
"L 225.21805 136.747805 \n",
|
||
"L 225.403125 136.756269 \n",
|
||
"\" style=\"fill:none;stroke:#bf00bf;stroke-dasharray:5.55,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_23\">\n",
|
||
" <path clip-path=\"url(#pdaed99b1c6)\" d=\"M 30.103125 122.549791 \n",
|
||
"L 51.803125 104.716127 \n",
|
||
"L 73.503125 136.756269 \n",
|
||
"L 95.203125 136.756269 \n",
|
||
"L 116.903125 136.756269 \n",
|
||
"L 138.603125 136.756269 \n",
|
||
"L 160.303125 136.756269 \n",
|
||
"L 182.003125 136.756269 \n",
|
||
"L 203.703125 136.756269 \n",
|
||
"L 225.403125 136.756269 \n",
|
||
"\" style=\"fill:none;stroke:#008000;stroke-dasharray:9.6,2.4,1.5,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_3\">\n",
|
||
" <path d=\"M 30.103125 143.1 \n",
|
||
"L 30.103125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_4\">\n",
|
||
" <path d=\"M 225.403125 143.1 \n",
|
||
"L 225.403125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_5\">\n",
|
||
" <path d=\"M 30.103125 143.1 \n",
|
||
"L 225.403125 143.1 \n",
|
||
"\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_6\">\n",
|
||
" <path d=\"M 30.103125 7.2 \n",
|
||
"L 225.403125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"legend_1\">\n",
|
||
" <g id=\"patch_7\">\n",
|
||
" <path d=\"M 140.634375 98.667187 \n",
|
||
"L 218.403125 98.667187 \n",
|
||
"Q 220.403125 98.667187 220.403125 96.667187 \n",
|
||
"L 220.403125 53.632812 \n",
|
||
"Q 220.403125 51.632812 218.403125 51.632812 \n",
|
||
"L 140.634375 51.632812 \n",
|
||
"Q 138.634375 51.632812 138.634375 53.632812 \n",
|
||
"L 138.634375 96.667187 \n",
|
||
"Q 138.634375 98.667187 140.634375 98.667187 \n",
|
||
"z\n",
|
||
"\" style=\"fill:#ffffff;opacity:0.8;stroke:#cccccc;stroke-linejoin:miter;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_24\">\n",
|
||
" <path d=\"M 142.634375 59.73125 \n",
|
||
"L 162.634375 59.73125 \n",
|
||
"\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_25\"/>\n",
|
||
" <g id=\"text_12\">\n",
|
||
" <!-- train loss -->\n",
|
||
" <g transform=\"translate(170.634375 63.23125)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 18.3125 70.21875 \n",
|
||
"L 18.3125 54.6875 \n",
|
||
"L 36.8125 54.6875 \n",
|
||
"L 36.8125 47.703125 \n",
|
||
"L 18.3125 47.703125 \n",
|
||
"L 18.3125 18.015625 \n",
|
||
"Q 18.3125 11.328125 20.140625 9.421875 \n",
|
||
"Q 21.96875 7.515625 27.59375 7.515625 \n",
|
||
"L 36.8125 7.515625 \n",
|
||
"L 36.8125 0 \n",
|
||
"L 27.59375 0 \n",
|
||
"Q 17.1875 0 13.234375 3.875 \n",
|
||
"Q 9.28125 7.765625 9.28125 18.015625 \n",
|
||
"L 9.28125 47.703125 \n",
|
||
"L 2.6875 47.703125 \n",
|
||
"L 2.6875 54.6875 \n",
|
||
"L 9.28125 54.6875 \n",
|
||
"L 9.28125 70.21875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-116\"/>\n",
|
||
" <path d=\"M 41.109375 46.296875 \n",
|
||
"Q 39.59375 47.171875 37.8125 47.578125 \n",
|
||
"Q 36.03125 48 33.890625 48 \n",
|
||
"Q 26.265625 48 22.1875 43.046875 \n",
|
||
"Q 18.109375 38.09375 18.109375 28.8125 \n",
|
||
"L 18.109375 0 \n",
|
||
"L 9.078125 0 \n",
|
||
"L 9.078125 54.6875 \n",
|
||
"L 18.109375 54.6875 \n",
|
||
"L 18.109375 46.1875 \n",
|
||
"Q 20.953125 51.171875 25.484375 53.578125 \n",
|
||
"Q 30.03125 56 36.53125 56 \n",
|
||
"Q 37.453125 56 38.578125 55.875 \n",
|
||
"Q 39.703125 55.765625 41.0625 55.515625 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-114\"/>\n",
|
||
" <path d=\"M 34.28125 27.484375 \n",
|
||
"Q 23.390625 27.484375 19.1875 25 \n",
|
||
"Q 14.984375 22.515625 14.984375 16.5 \n",
|
||
"Q 14.984375 11.71875 18.140625 8.90625 \n",
|
||
"Q 21.296875 6.109375 26.703125 6.109375 \n",
|
||
"Q 34.1875 6.109375 38.703125 11.40625 \n",
|
||
"Q 43.21875 16.703125 43.21875 25.484375 \n",
|
||
"L 43.21875 27.484375 \n",
|
||
"z\n",
|
||
"M 52.203125 31.203125 \n",
|
||
"L 52.203125 0 \n",
|
||
"L 43.21875 0 \n",
|
||
"L 43.21875 8.296875 \n",
|
||
"Q 40.140625 3.328125 35.546875 0.953125 \n",
|
||
"Q 30.953125 -1.421875 24.3125 -1.421875 \n",
|
||
"Q 15.921875 -1.421875 10.953125 3.296875 \n",
|
||
"Q 6 8.015625 6 15.921875 \n",
|
||
"Q 6 25.140625 12.171875 29.828125 \n",
|
||
"Q 18.359375 34.515625 30.609375 34.515625 \n",
|
||
"L 43.21875 34.515625 \n",
|
||
"L 43.21875 35.40625 \n",
|
||
"Q 43.21875 41.609375 39.140625 45 \n",
|
||
"Q 35.0625 48.390625 27.6875 48.390625 \n",
|
||
"Q 23 48.390625 18.546875 47.265625 \n",
|
||
"Q 14.109375 46.140625 10.015625 43.890625 \n",
|
||
"L 10.015625 52.203125 \n",
|
||
"Q 14.9375 54.109375 19.578125 55.046875 \n",
|
||
"Q 24.21875 56 28.609375 56 \n",
|
||
"Q 40.484375 56 46.34375 49.84375 \n",
|
||
"Q 52.203125 43.703125 52.203125 31.203125 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-97\"/>\n",
|
||
" <path d=\"M 9.421875 54.6875 \n",
|
||
"L 18.40625 54.6875 \n",
|
||
"L 18.40625 0 \n",
|
||
"L 9.421875 0 \n",
|
||
"z\n",
|
||
"M 9.421875 75.984375 \n",
|
||
"L 18.40625 75.984375 \n",
|
||
"L 18.40625 64.59375 \n",
|
||
"L 9.421875 64.59375 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-105\"/>\n",
|
||
" <path d=\"M 54.890625 33.015625 \n",
|
||
"L 54.890625 0 \n",
|
||
"L 45.90625 0 \n",
|
||
"L 45.90625 32.71875 \n",
|
||
"Q 45.90625 40.484375 42.875 44.328125 \n",
|
||
"Q 39.84375 48.1875 33.796875 48.1875 \n",
|
||
"Q 26.515625 48.1875 22.3125 43.546875 \n",
|
||
"Q 18.109375 38.921875 18.109375 30.90625 \n",
|
||
"L 18.109375 0 \n",
|
||
"L 9.078125 0 \n",
|
||
"L 9.078125 54.6875 \n",
|
||
"L 18.109375 54.6875 \n",
|
||
"L 18.109375 46.1875 \n",
|
||
"Q 21.34375 51.125 25.703125 53.5625 \n",
|
||
"Q 30.078125 56 35.796875 56 \n",
|
||
"Q 45.21875 56 50.046875 50.171875 \n",
|
||
"Q 54.890625 44.34375 54.890625 33.015625 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-110\"/>\n",
|
||
" <path id=\"DejaVuSans-32\"/>\n",
|
||
" <path d=\"M 9.421875 75.984375 \n",
|
||
"L 18.40625 75.984375 \n",
|
||
"L 18.40625 0 \n",
|
||
"L 9.421875 0 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-108\"/>\n",
|
||
" <path d=\"M 44.28125 53.078125 \n",
|
||
"L 44.28125 44.578125 \n",
|
||
"Q 40.484375 46.53125 36.375 47.5 \n",
|
||
"Q 32.28125 48.484375 27.875 48.484375 \n",
|
||
"Q 21.1875 48.484375 17.84375 46.4375 \n",
|
||
"Q 14.5 44.390625 14.5 40.28125 \n",
|
||
"Q 14.5 37.15625 16.890625 35.375 \n",
|
||
"Q 19.28125 33.59375 26.515625 31.984375 \n",
|
||
"L 29.59375 31.296875 \n",
|
||
"Q 39.15625 29.25 43.1875 25.515625 \n",
|
||
"Q 47.21875 21.78125 47.21875 15.09375 \n",
|
||
"Q 47.21875 7.46875 41.1875 3.015625 \n",
|
||
"Q 35.15625 -1.421875 24.609375 -1.421875 \n",
|
||
"Q 20.21875 -1.421875 15.453125 -0.5625 \n",
|
||
"Q 10.6875 0.296875 5.421875 2 \n",
|
||
"L 5.421875 11.28125 \n",
|
||
"Q 10.40625 8.6875 15.234375 7.390625 \n",
|
||
"Q 20.0625 6.109375 24.8125 6.109375 \n",
|
||
"Q 31.15625 6.109375 34.5625 8.28125 \n",
|
||
"Q 37.984375 10.453125 37.984375 14.40625 \n",
|
||
"Q 37.984375 18.0625 35.515625 20.015625 \n",
|
||
"Q 33.0625 21.96875 24.703125 23.78125 \n",
|
||
"L 21.578125 24.515625 \n",
|
||
"Q 13.234375 26.265625 9.515625 29.90625 \n",
|
||
"Q 5.8125 33.546875 5.8125 39.890625 \n",
|
||
"Q 5.8125 47.609375 11.28125 51.796875 \n",
|
||
"Q 16.75 56 26.8125 56 \n",
|
||
"Q 31.78125 56 36.171875 55.265625 \n",
|
||
"Q 40.578125 54.546875 44.28125 53.078125 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-115\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"39.208984\" xlink:href=\"#DejaVuSans-114\"/>\n",
|
||
" <use x=\"80.322266\" xlink:href=\"#DejaVuSans-97\"/>\n",
|
||
" <use x=\"141.601562\" xlink:href=\"#DejaVuSans-105\"/>\n",
|
||
" <use x=\"169.384766\" xlink:href=\"#DejaVuSans-110\"/>\n",
|
||
" <use x=\"232.763672\" xlink:href=\"#DejaVuSans-32\"/>\n",
|
||
" <use x=\"264.550781\" xlink:href=\"#DejaVuSans-108\"/>\n",
|
||
" <use x=\"292.333984\" xlink:href=\"#DejaVuSans-111\"/>\n",
|
||
" <use x=\"353.515625\" xlink:href=\"#DejaVuSans-115\"/>\n",
|
||
" <use x=\"405.615234\" xlink:href=\"#DejaVuSans-115\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_26\">\n",
|
||
" <path d=\"M 142.634375 74.409375 \n",
|
||
"L 162.634375 74.409375 \n",
|
||
"\" style=\"fill:none;stroke:#bf00bf;stroke-dasharray:5.55,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_27\"/>\n",
|
||
" <g id=\"text_13\">\n",
|
||
" <!-- train acc -->\n",
|
||
" <g transform=\"translate(170.634375 77.909375)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"39.208984\" xlink:href=\"#DejaVuSans-114\"/>\n",
|
||
" <use x=\"80.322266\" xlink:href=\"#DejaVuSans-97\"/>\n",
|
||
" <use x=\"141.601562\" xlink:href=\"#DejaVuSans-105\"/>\n",
|
||
" <use x=\"169.384766\" xlink:href=\"#DejaVuSans-110\"/>\n",
|
||
" <use x=\"232.763672\" xlink:href=\"#DejaVuSans-32\"/>\n",
|
||
" <use x=\"264.550781\" xlink:href=\"#DejaVuSans-97\"/>\n",
|
||
" <use x=\"325.830078\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" <use x=\"380.810547\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_28\">\n",
|
||
" <path d=\"M 142.634375 89.0875 \n",
|
||
"L 162.634375 89.0875 \n",
|
||
"\" style=\"fill:none;stroke:#008000;stroke-dasharray:9.6,2.4,1.5,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_29\"/>\n",
|
||
" <g id=\"text_14\">\n",
|
||
" <!-- test acc -->\n",
|
||
" <g transform=\"translate(170.634375 92.5875)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"39.208984\" xlink:href=\"#DejaVuSans-101\"/>\n",
|
||
" <use x=\"100.732422\" xlink:href=\"#DejaVuSans-115\"/>\n",
|
||
" <use x=\"152.832031\" xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"192.041016\" xlink:href=\"#DejaVuSans-32\"/>\n",
|
||
" <use x=\"223.828125\" xlink:href=\"#DejaVuSans-97\"/>\n",
|
||
" <use x=\"285.107422\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" <use x=\"340.087891\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <defs>\n",
|
||
" <clipPath id=\"pdaed99b1c6\">\n",
|
||
" <rect height=\"135.9\" width=\"195.3\" x=\"30.103125\" y=\"7.2\"/>\n",
|
||
" </clipPath>\n",
|
||
" </defs>\n",
|
||
"</svg>\n"
|
||
],
|
||
"text/plain": [
|
||
"<Figure size 252x180 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"lr, num_epochs, batch_size = 0.1, 10, 128\n",
|
||
"train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size, resize=224)\n",
|
||
"d2l.train_ch6(net, train_iter, test_iter, num_epochs, lr, d2l.try_gpu())"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "3b78340b-c3f8-4617-876b-79f7e89d7d2e",
|
||
"metadata": {},
|
||
"source": [
|
||
"注意:这是典型的训练失败案例。\n",
|
||
"\n",
|
||
"- 思考:如何(调参以实现)提高准确性?"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "0d7743da-c831-4ad6-bb10-bd55e05a7178",
|
||
"metadata": {
|
||
"jp-MarkdownHeadingCollapsed": true,
|
||
"slideshow": {
|
||
"slide_type": "-"
|
||
},
|
||
"tags": []
|
||
},
|
||
"source": [
|
||
"## 含并行连结的网络(GoogLeNet)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"id": "8892c059-5c03-4cb2-9a2f-5d3cfecbf832",
|
||
"metadata": {
|
||
"origin_pos": 2,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"import torch\n",
|
||
"from torch import nn\n",
|
||
"from torch.nn import functional as F\n",
|
||
"from d2l import torch as d2l"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "f161d0dd-95c0-4f0b-97e4-8e33bec1c5ac",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"Inception块"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"id": "4c8873f6-a2c8-43ed-bfb6-702d37fa897b",
|
||
"metadata": {
|
||
"origin_pos": 2,
|
||
"slideshow": {
|
||
"slide_type": "-"
|
||
},
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"class Inception(nn.Module):\n",
|
||
" # c1--c4是每条路径的输出通道数\n",
|
||
" def __init__(self, in_channels, c1, c2, c3, c4, **kwargs):\n",
|
||
" super(Inception, self).__init__(**kwargs)\n",
|
||
" # 线路1,单1x1卷积层\n",
|
||
" self.p1_1 = nn.Conv2d(in_channels, c1, kernel_size=1)\n",
|
||
" # 线路2,1x1卷积层后接3x3卷积层\n",
|
||
" self.p2_1 = nn.Conv2d(in_channels, c2[0], kernel_size=1)\n",
|
||
" self.p2_2 = nn.Conv2d(c2[0], c2[1], kernel_size=3, padding=1)\n",
|
||
" # 线路3,1x1卷积层后接5x5卷积层\n",
|
||
" self.p3_1 = nn.Conv2d(in_channels, c3[0], kernel_size=1)\n",
|
||
" self.p3_2 = nn.Conv2d(c3[0], c3[1], kernel_size=5, padding=2)\n",
|
||
" # 线路4,3x3最大汇聚层后接1x1卷积层\n",
|
||
" self.p4_1 = nn.MaxPool2d(kernel_size=3, stride=1, padding=1)\n",
|
||
" self.p4_2 = nn.Conv2d(in_channels, c4, kernel_size=1)\n",
|
||
"\n",
|
||
" def forward(self, x):\n",
|
||
" p1 = F.relu(self.p1_1(x))\n",
|
||
" p2 = F.relu(self.p2_2(F.relu(self.p2_1(x))))\n",
|
||
" p3 = F.relu(self.p3_2(F.relu(self.p3_1(x))))\n",
|
||
" p4 = F.relu(self.p4_2(self.p4_1(x)))\n",
|
||
" # 在通道维度上连结输出\n",
|
||
" return torch.cat((p1, p2, p3, p4), dim=1)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "1f734be6-59ed-4dd2-b60f-5f7616942401",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"GoogLeNet模型"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"id": "2ae4258c-339b-4bb2-b78a-7ad180697576",
|
||
"metadata": {
|
||
"origin_pos": 22,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"b1 = nn.Sequential(nn.Conv2d(1, 64, kernel_size=7, stride=2, padding=3),\n",
|
||
" nn.ReLU(),\n",
|
||
" nn.MaxPool2d(kernel_size=3, stride=2, padding=1))\n",
|
||
"\n",
|
||
"b2 = nn.Sequential(nn.Conv2d(64, 64, kernel_size=1),\n",
|
||
" nn.ReLU(),\n",
|
||
" nn.Conv2d(64, 192, kernel_size=3, padding=1),\n",
|
||
" nn.ReLU(),\n",
|
||
" nn.MaxPool2d(kernel_size=3, stride=2, padding=1))\n",
|
||
"\n",
|
||
"b3 = nn.Sequential(Inception(192, 64, (96, 128), (16, 32), 32),\n",
|
||
" Inception(256, 128, (128, 192), (32, 96), 64),\n",
|
||
" nn.MaxPool2d(kernel_size=3, stride=2, padding=1))\n",
|
||
"\n",
|
||
"b4 = nn.Sequential(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(kernel_size=3, stride=2, padding=1))\n",
|
||
"\n",
|
||
"b5 = nn.Sequential(Inception(832, 256, (160, 320), (32, 128), 128),\n",
|
||
" Inception(832, 384, (192, 384), (48, 128), 128),\n",
|
||
" nn.AdaptiveAvgPool2d((1,1)),\n",
|
||
" nn.Flatten())\n",
|
||
"\n",
|
||
"net = nn.Sequential(b1, b2, b3, b4, b5, nn.Linear(1024, 10))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "0d0f8c4d-c45f-4610-9d0d-eccc76839e4a",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"为了使Fashion-MNIST上的训练短小精悍,我们将输入的高和宽从224降到96"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 7,
|
||
"id": "23870be5-1556-405a-bcef-2c0fe26cb645",
|
||
"metadata": {
|
||
"origin_pos": 26,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Sequential output shape:\t torch.Size([1, 64, 24, 24])\n",
|
||
"Sequential output shape:\t torch.Size([1, 192, 12, 12])\n",
|
||
"Sequential output shape:\t torch.Size([1, 480, 6, 6])\n",
|
||
"Sequential output shape:\t torch.Size([1, 832, 3, 3])\n",
|
||
"Sequential output shape:\t torch.Size([1, 1024])\n",
|
||
"Linear output shape:\t torch.Size([1, 10])\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"X = torch.rand(size=(1, 1, 96, 96))\n",
|
||
"for layer in net:\n",
|
||
" X = layer(X)\n",
|
||
" print(layer.__class__.__name__,'output shape:\\t', X.shape)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "9b814549-6649-4548-9297-d3847abaced1",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"训练模型"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 8,
|
||
"id": "54f90511-0268-4d50-9316-a8ddbc953670",
|
||
"metadata": {
|
||
"origin_pos": 29,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"loss 0.244, train acc 0.908, test acc 0.896\n",
|
||
"3490.2 examples/sec on cuda:0\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/svg+xml": [
|
||
"<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n",
|
||
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
||
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
||
"<!-- Created with matplotlib (https://matplotlib.org/) -->\n",
|
||
"<svg height=\"180.65625pt\" version=\"1.1\" viewBox=\"0 0 238.965625 180.65625\" width=\"238.965625pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
||
" <metadata>\n",
|
||
" <rdf:RDF xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n",
|
||
" <cc:Work>\n",
|
||
" <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\n",
|
||
" <dc:date>2022-01-17T01:55:44.273318</dc:date>\n",
|
||
" <dc:format>image/svg+xml</dc:format>\n",
|
||
" <dc:creator>\n",
|
||
" <cc:Agent>\n",
|
||
" <dc:title>Matplotlib v3.3.3, https://matplotlib.org/</dc:title>\n",
|
||
" </cc:Agent>\n",
|
||
" </dc:creator>\n",
|
||
" </cc:Work>\n",
|
||
" </rdf:RDF>\n",
|
||
" </metadata>\n",
|
||
" <defs>\n",
|
||
" <style type=\"text/css\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\n",
|
||
" </defs>\n",
|
||
" <g id=\"figure_1\">\n",
|
||
" <g id=\"patch_1\">\n",
|
||
" <path d=\"M 0 180.65625 \n",
|
||
"L 238.965625 180.65625 \n",
|
||
"L 238.965625 0 \n",
|
||
"L 0 0 \n",
|
||
"z\n",
|
||
"\" style=\"fill:none;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"axes_1\">\n",
|
||
" <g id=\"patch_2\">\n",
|
||
" <path d=\"M 30.103125 143.1 \n",
|
||
"L 225.403125 143.1 \n",
|
||
"L 225.403125 7.2 \n",
|
||
"L 30.103125 7.2 \n",
|
||
"z\n",
|
||
"\" style=\"fill:#ffffff;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"matplotlib.axis_1\">\n",
|
||
" <g id=\"xtick_1\">\n",
|
||
" <g id=\"line2d_1\">\n",
|
||
" <path clip-path=\"url(#p09795e3910)\" d=\"M 51.803125 143.1 \n",
|
||
"L 51.803125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_2\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 0 0 \n",
|
||
"L 0 3.5 \n",
|
||
"\" id=\"mf78ab9d40e\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
|
||
" </defs>\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"51.803125\" xlink:href=\"#mf78ab9d40e\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_1\">\n",
|
||
" <!-- 2 -->\n",
|
||
" <g transform=\"translate(48.621875 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 19.1875 8.296875 \n",
|
||
"L 53.609375 8.296875 \n",
|
||
"L 53.609375 0 \n",
|
||
"L 7.328125 0 \n",
|
||
"L 7.328125 8.296875 \n",
|
||
"Q 12.9375 14.109375 22.625 23.890625 \n",
|
||
"Q 32.328125 33.6875 34.8125 36.53125 \n",
|
||
"Q 39.546875 41.84375 41.421875 45.53125 \n",
|
||
"Q 43.3125 49.21875 43.3125 52.78125 \n",
|
||
"Q 43.3125 58.59375 39.234375 62.25 \n",
|
||
"Q 35.15625 65.921875 28.609375 65.921875 \n",
|
||
"Q 23.96875 65.921875 18.8125 64.3125 \n",
|
||
"Q 13.671875 62.703125 7.8125 59.421875 \n",
|
||
"L 7.8125 69.390625 \n",
|
||
"Q 13.765625 71.78125 18.9375 73 \n",
|
||
"Q 24.125 74.21875 28.421875 74.21875 \n",
|
||
"Q 39.75 74.21875 46.484375 68.546875 \n",
|
||
"Q 53.21875 62.890625 53.21875 53.421875 \n",
|
||
"Q 53.21875 48.921875 51.53125 44.890625 \n",
|
||
"Q 49.859375 40.875 45.40625 35.40625 \n",
|
||
"Q 44.1875 33.984375 37.640625 27.21875 \n",
|
||
"Q 31.109375 20.453125 19.1875 8.296875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-50\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-50\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_2\">\n",
|
||
" <g id=\"line2d_3\">\n",
|
||
" <path clip-path=\"url(#p09795e3910)\" d=\"M 95.203125 143.1 \n",
|
||
"L 95.203125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_4\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"95.203125\" xlink:href=\"#mf78ab9d40e\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_2\">\n",
|
||
" <!-- 4 -->\n",
|
||
" <g transform=\"translate(92.021875 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 37.796875 64.3125 \n",
|
||
"L 12.890625 25.390625 \n",
|
||
"L 37.796875 25.390625 \n",
|
||
"z\n",
|
||
"M 35.203125 72.90625 \n",
|
||
"L 47.609375 72.90625 \n",
|
||
"L 47.609375 25.390625 \n",
|
||
"L 58.015625 25.390625 \n",
|
||
"L 58.015625 17.1875 \n",
|
||
"L 47.609375 17.1875 \n",
|
||
"L 47.609375 0 \n",
|
||
"L 37.796875 0 \n",
|
||
"L 37.796875 17.1875 \n",
|
||
"L 4.890625 17.1875 \n",
|
||
"L 4.890625 26.703125 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-52\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-52\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_3\">\n",
|
||
" <g id=\"line2d_5\">\n",
|
||
" <path clip-path=\"url(#p09795e3910)\" d=\"M 138.603125 143.1 \n",
|
||
"L 138.603125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_6\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"138.603125\" xlink:href=\"#mf78ab9d40e\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_3\">\n",
|
||
" <!-- 6 -->\n",
|
||
" <g transform=\"translate(135.421875 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 33.015625 40.375 \n",
|
||
"Q 26.375 40.375 22.484375 35.828125 \n",
|
||
"Q 18.609375 31.296875 18.609375 23.390625 \n",
|
||
"Q 18.609375 15.53125 22.484375 10.953125 \n",
|
||
"Q 26.375 6.390625 33.015625 6.390625 \n",
|
||
"Q 39.65625 6.390625 43.53125 10.953125 \n",
|
||
"Q 47.40625 15.53125 47.40625 23.390625 \n",
|
||
"Q 47.40625 31.296875 43.53125 35.828125 \n",
|
||
"Q 39.65625 40.375 33.015625 40.375 \n",
|
||
"z\n",
|
||
"M 52.59375 71.296875 \n",
|
||
"L 52.59375 62.3125 \n",
|
||
"Q 48.875 64.0625 45.09375 64.984375 \n",
|
||
"Q 41.3125 65.921875 37.59375 65.921875 \n",
|
||
"Q 27.828125 65.921875 22.671875 59.328125 \n",
|
||
"Q 17.53125 52.734375 16.796875 39.40625 \n",
|
||
"Q 19.671875 43.65625 24.015625 45.921875 \n",
|
||
"Q 28.375 48.1875 33.59375 48.1875 \n",
|
||
"Q 44.578125 48.1875 50.953125 41.515625 \n",
|
||
"Q 57.328125 34.859375 57.328125 23.390625 \n",
|
||
"Q 57.328125 12.15625 50.6875 5.359375 \n",
|
||
"Q 44.046875 -1.421875 33.015625 -1.421875 \n",
|
||
"Q 20.359375 -1.421875 13.671875 8.265625 \n",
|
||
"Q 6.984375 17.96875 6.984375 36.375 \n",
|
||
"Q 6.984375 53.65625 15.1875 63.9375 \n",
|
||
"Q 23.390625 74.21875 37.203125 74.21875 \n",
|
||
"Q 40.921875 74.21875 44.703125 73.484375 \n",
|
||
"Q 48.484375 72.75 52.59375 71.296875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-54\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-54\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_4\">\n",
|
||
" <g id=\"line2d_7\">\n",
|
||
" <path clip-path=\"url(#p09795e3910)\" d=\"M 182.003125 143.1 \n",
|
||
"L 182.003125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_8\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"182.003125\" xlink:href=\"#mf78ab9d40e\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_4\">\n",
|
||
" <!-- 8 -->\n",
|
||
" <g transform=\"translate(178.821875 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 31.78125 34.625 \n",
|
||
"Q 24.75 34.625 20.71875 30.859375 \n",
|
||
"Q 16.703125 27.09375 16.703125 20.515625 \n",
|
||
"Q 16.703125 13.921875 20.71875 10.15625 \n",
|
||
"Q 24.75 6.390625 31.78125 6.390625 \n",
|
||
"Q 38.8125 6.390625 42.859375 10.171875 \n",
|
||
"Q 46.921875 13.96875 46.921875 20.515625 \n",
|
||
"Q 46.921875 27.09375 42.890625 30.859375 \n",
|
||
"Q 38.875 34.625 31.78125 34.625 \n",
|
||
"z\n",
|
||
"M 21.921875 38.8125 \n",
|
||
"Q 15.578125 40.375 12.03125 44.71875 \n",
|
||
"Q 8.5 49.078125 8.5 55.328125 \n",
|
||
"Q 8.5 64.0625 14.71875 69.140625 \n",
|
||
"Q 20.953125 74.21875 31.78125 74.21875 \n",
|
||
"Q 42.671875 74.21875 48.875 69.140625 \n",
|
||
"Q 55.078125 64.0625 55.078125 55.328125 \n",
|
||
"Q 55.078125 49.078125 51.53125 44.71875 \n",
|
||
"Q 48 40.375 41.703125 38.8125 \n",
|
||
"Q 48.828125 37.15625 52.796875 32.3125 \n",
|
||
"Q 56.78125 27.484375 56.78125 20.515625 \n",
|
||
"Q 56.78125 9.90625 50.3125 4.234375 \n",
|
||
"Q 43.84375 -1.421875 31.78125 -1.421875 \n",
|
||
"Q 19.734375 -1.421875 13.25 4.234375 \n",
|
||
"Q 6.78125 9.90625 6.78125 20.515625 \n",
|
||
"Q 6.78125 27.484375 10.78125 32.3125 \n",
|
||
"Q 14.796875 37.15625 21.921875 38.8125 \n",
|
||
"z\n",
|
||
"M 18.3125 54.390625 \n",
|
||
"Q 18.3125 48.734375 21.84375 45.5625 \n",
|
||
"Q 25.390625 42.390625 31.78125 42.390625 \n",
|
||
"Q 38.140625 42.390625 41.71875 45.5625 \n",
|
||
"Q 45.3125 48.734375 45.3125 54.390625 \n",
|
||
"Q 45.3125 60.0625 41.71875 63.234375 \n",
|
||
"Q 38.140625 66.40625 31.78125 66.40625 \n",
|
||
"Q 25.390625 66.40625 21.84375 63.234375 \n",
|
||
"Q 18.3125 60.0625 18.3125 54.390625 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-56\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-56\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_5\">\n",
|
||
" <g id=\"line2d_9\">\n",
|
||
" <path clip-path=\"url(#p09795e3910)\" d=\"M 225.403125 143.1 \n",
|
||
"L 225.403125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_10\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"225.403125\" xlink:href=\"#mf78ab9d40e\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_5\">\n",
|
||
" <!-- 10 -->\n",
|
||
" <g transform=\"translate(219.040625 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 12.40625 8.296875 \n",
|
||
"L 28.515625 8.296875 \n",
|
||
"L 28.515625 63.921875 \n",
|
||
"L 10.984375 60.40625 \n",
|
||
"L 10.984375 69.390625 \n",
|
||
"L 28.421875 72.90625 \n",
|
||
"L 38.28125 72.90625 \n",
|
||
"L 38.28125 8.296875 \n",
|
||
"L 54.390625 8.296875 \n",
|
||
"L 54.390625 0 \n",
|
||
"L 12.40625 0 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-49\"/>\n",
|
||
" <path d=\"M 31.78125 66.40625 \n",
|
||
"Q 24.171875 66.40625 20.328125 58.90625 \n",
|
||
"Q 16.5 51.421875 16.5 36.375 \n",
|
||
"Q 16.5 21.390625 20.328125 13.890625 \n",
|
||
"Q 24.171875 6.390625 31.78125 6.390625 \n",
|
||
"Q 39.453125 6.390625 43.28125 13.890625 \n",
|
||
"Q 47.125 21.390625 47.125 36.375 \n",
|
||
"Q 47.125 51.421875 43.28125 58.90625 \n",
|
||
"Q 39.453125 66.40625 31.78125 66.40625 \n",
|
||
"z\n",
|
||
"M 31.78125 74.21875 \n",
|
||
"Q 44.046875 74.21875 50.515625 64.515625 \n",
|
||
"Q 56.984375 54.828125 56.984375 36.375 \n",
|
||
"Q 56.984375 17.96875 50.515625 8.265625 \n",
|
||
"Q 44.046875 -1.421875 31.78125 -1.421875 \n",
|
||
"Q 19.53125 -1.421875 13.0625 8.265625 \n",
|
||
"Q 6.59375 17.96875 6.59375 36.375 \n",
|
||
"Q 6.59375 54.828125 13.0625 64.515625 \n",
|
||
"Q 19.53125 74.21875 31.78125 74.21875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-48\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-49\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_6\">\n",
|
||
" <!-- epoch -->\n",
|
||
" <g transform=\"translate(112.525 171.376563)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 56.203125 29.59375 \n",
|
||
"L 56.203125 25.203125 \n",
|
||
"L 14.890625 25.203125 \n",
|
||
"Q 15.484375 15.921875 20.484375 11.0625 \n",
|
||
"Q 25.484375 6.203125 34.421875 6.203125 \n",
|
||
"Q 39.59375 6.203125 44.453125 7.46875 \n",
|
||
"Q 49.3125 8.734375 54.109375 11.28125 \n",
|
||
"L 54.109375 2.78125 \n",
|
||
"Q 49.265625 0.734375 44.1875 -0.34375 \n",
|
||
"Q 39.109375 -1.421875 33.890625 -1.421875 \n",
|
||
"Q 20.796875 -1.421875 13.15625 6.1875 \n",
|
||
"Q 5.515625 13.8125 5.515625 26.8125 \n",
|
||
"Q 5.515625 40.234375 12.765625 48.109375 \n",
|
||
"Q 20.015625 56 32.328125 56 \n",
|
||
"Q 43.359375 56 49.78125 48.890625 \n",
|
||
"Q 56.203125 41.796875 56.203125 29.59375 \n",
|
||
"z\n",
|
||
"M 47.21875 32.234375 \n",
|
||
"Q 47.125 39.59375 43.09375 43.984375 \n",
|
||
"Q 39.0625 48.390625 32.421875 48.390625 \n",
|
||
"Q 24.90625 48.390625 20.390625 44.140625 \n",
|
||
"Q 15.875 39.890625 15.1875 32.171875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-101\"/>\n",
|
||
" <path d=\"M 18.109375 8.203125 \n",
|
||
"L 18.109375 -20.796875 \n",
|
||
"L 9.078125 -20.796875 \n",
|
||
"L 9.078125 54.6875 \n",
|
||
"L 18.109375 54.6875 \n",
|
||
"L 18.109375 46.390625 \n",
|
||
"Q 20.953125 51.265625 25.265625 53.625 \n",
|
||
"Q 29.59375 56 35.59375 56 \n",
|
||
"Q 45.5625 56 51.78125 48.09375 \n",
|
||
"Q 58.015625 40.1875 58.015625 27.296875 \n",
|
||
"Q 58.015625 14.40625 51.78125 6.484375 \n",
|
||
"Q 45.5625 -1.421875 35.59375 -1.421875 \n",
|
||
"Q 29.59375 -1.421875 25.265625 0.953125 \n",
|
||
"Q 20.953125 3.328125 18.109375 8.203125 \n",
|
||
"z\n",
|
||
"M 48.6875 27.296875 \n",
|
||
"Q 48.6875 37.203125 44.609375 42.84375 \n",
|
||
"Q 40.53125 48.484375 33.40625 48.484375 \n",
|
||
"Q 26.265625 48.484375 22.1875 42.84375 \n",
|
||
"Q 18.109375 37.203125 18.109375 27.296875 \n",
|
||
"Q 18.109375 17.390625 22.1875 11.75 \n",
|
||
"Q 26.265625 6.109375 33.40625 6.109375 \n",
|
||
"Q 40.53125 6.109375 44.609375 11.75 \n",
|
||
"Q 48.6875 17.390625 48.6875 27.296875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-112\"/>\n",
|
||
" <path d=\"M 30.609375 48.390625 \n",
|
||
"Q 23.390625 48.390625 19.1875 42.75 \n",
|
||
"Q 14.984375 37.109375 14.984375 27.296875 \n",
|
||
"Q 14.984375 17.484375 19.15625 11.84375 \n",
|
||
"Q 23.34375 6.203125 30.609375 6.203125 \n",
|
||
"Q 37.796875 6.203125 41.984375 11.859375 \n",
|
||
"Q 46.1875 17.53125 46.1875 27.296875 \n",
|
||
"Q 46.1875 37.015625 41.984375 42.703125 \n",
|
||
"Q 37.796875 48.390625 30.609375 48.390625 \n",
|
||
"z\n",
|
||
"M 30.609375 56 \n",
|
||
"Q 42.328125 56 49.015625 48.375 \n",
|
||
"Q 55.71875 40.765625 55.71875 27.296875 \n",
|
||
"Q 55.71875 13.875 49.015625 6.21875 \n",
|
||
"Q 42.328125 -1.421875 30.609375 -1.421875 \n",
|
||
"Q 18.84375 -1.421875 12.171875 6.21875 \n",
|
||
"Q 5.515625 13.875 5.515625 27.296875 \n",
|
||
"Q 5.515625 40.765625 12.171875 48.375 \n",
|
||
"Q 18.84375 56 30.609375 56 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-111\"/>\n",
|
||
" <path d=\"M 48.78125 52.59375 \n",
|
||
"L 48.78125 44.1875 \n",
|
||
"Q 44.96875 46.296875 41.140625 47.34375 \n",
|
||
"Q 37.3125 48.390625 33.40625 48.390625 \n",
|
||
"Q 24.65625 48.390625 19.8125 42.84375 \n",
|
||
"Q 14.984375 37.3125 14.984375 27.296875 \n",
|
||
"Q 14.984375 17.28125 19.8125 11.734375 \n",
|
||
"Q 24.65625 6.203125 33.40625 6.203125 \n",
|
||
"Q 37.3125 6.203125 41.140625 7.25 \n",
|
||
"Q 44.96875 8.296875 48.78125 10.40625 \n",
|
||
"L 48.78125 2.09375 \n",
|
||
"Q 45.015625 0.34375 40.984375 -0.53125 \n",
|
||
"Q 36.96875 -1.421875 32.421875 -1.421875 \n",
|
||
"Q 20.0625 -1.421875 12.78125 6.34375 \n",
|
||
"Q 5.515625 14.109375 5.515625 27.296875 \n",
|
||
"Q 5.515625 40.671875 12.859375 48.328125 \n",
|
||
"Q 20.21875 56 33.015625 56 \n",
|
||
"Q 37.15625 56 41.109375 55.140625 \n",
|
||
"Q 45.0625 54.296875 48.78125 52.59375 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-99\"/>\n",
|
||
" <path d=\"M 54.890625 33.015625 \n",
|
||
"L 54.890625 0 \n",
|
||
"L 45.90625 0 \n",
|
||
"L 45.90625 32.71875 \n",
|
||
"Q 45.90625 40.484375 42.875 44.328125 \n",
|
||
"Q 39.84375 48.1875 33.796875 48.1875 \n",
|
||
"Q 26.515625 48.1875 22.3125 43.546875 \n",
|
||
"Q 18.109375 38.921875 18.109375 30.90625 \n",
|
||
"L 18.109375 0 \n",
|
||
"L 9.078125 0 \n",
|
||
"L 9.078125 75.984375 \n",
|
||
"L 18.109375 75.984375 \n",
|
||
"L 18.109375 46.1875 \n",
|
||
"Q 21.34375 51.125 25.703125 53.5625 \n",
|
||
"Q 30.078125 56 35.796875 56 \n",
|
||
"Q 45.21875 56 50.046875 50.171875 \n",
|
||
"Q 54.890625 44.34375 54.890625 33.015625 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-104\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-101\"/>\n",
|
||
" <use x=\"61.523438\" xlink:href=\"#DejaVuSans-112\"/>\n",
|
||
" <use x=\"125\" xlink:href=\"#DejaVuSans-111\"/>\n",
|
||
" <use x=\"186.181641\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" <use x=\"241.162109\" xlink:href=\"#DejaVuSans-104\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"matplotlib.axis_2\">\n",
|
||
" <g id=\"ytick_1\">\n",
|
||
" <g id=\"line2d_11\">\n",
|
||
" <path clip-path=\"url(#p09795e3910)\" d=\"M 30.103125 142.903506 \n",
|
||
"L 225.403125 142.903506 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_12\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 0 0 \n",
|
||
"L -3.5 0 \n",
|
||
"\" id=\"m14dfb1b958\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
|
||
" </defs>\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#m14dfb1b958\" y=\"142.903506\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_7\">\n",
|
||
" <!-- 0.0 -->\n",
|
||
" <g transform=\"translate(7.2 146.702725)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 10.6875 12.40625 \n",
|
||
"L 21 12.40625 \n",
|
||
"L 21 0 \n",
|
||
"L 10.6875 0 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-46\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"ytick_2\">\n",
|
||
" <g id=\"line2d_13\">\n",
|
||
" <path clip-path=\"url(#p09795e3910)\" d=\"M 30.103125 114.763114 \n",
|
||
"L 225.403125 114.763114 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_14\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#m14dfb1b958\" y=\"114.763114\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_8\">\n",
|
||
" <!-- 0.5 -->\n",
|
||
" <g transform=\"translate(7.2 118.562332)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 10.796875 72.90625 \n",
|
||
"L 49.515625 72.90625 \n",
|
||
"L 49.515625 64.59375 \n",
|
||
"L 19.828125 64.59375 \n",
|
||
"L 19.828125 46.734375 \n",
|
||
"Q 21.96875 47.46875 24.109375 47.828125 \n",
|
||
"Q 26.265625 48.1875 28.421875 48.1875 \n",
|
||
"Q 40.625 48.1875 47.75 41.5 \n",
|
||
"Q 54.890625 34.8125 54.890625 23.390625 \n",
|
||
"Q 54.890625 11.625 47.5625 5.09375 \n",
|
||
"Q 40.234375 -1.421875 26.90625 -1.421875 \n",
|
||
"Q 22.3125 -1.421875 17.546875 -0.640625 \n",
|
||
"Q 12.796875 0.140625 7.71875 1.703125 \n",
|
||
"L 7.71875 11.625 \n",
|
||
"Q 12.109375 9.234375 16.796875 8.0625 \n",
|
||
"Q 21.484375 6.890625 26.703125 6.890625 \n",
|
||
"Q 35.15625 6.890625 40.078125 11.328125 \n",
|
||
"Q 45.015625 15.765625 45.015625 23.390625 \n",
|
||
"Q 45.015625 31 40.078125 35.4375 \n",
|
||
"Q 35.15625 39.890625 26.703125 39.890625 \n",
|
||
"Q 22.75 39.890625 18.8125 39.015625 \n",
|
||
"Q 14.890625 38.140625 10.796875 36.28125 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-53\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-53\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"ytick_3\">\n",
|
||
" <g id=\"line2d_15\">\n",
|
||
" <path clip-path=\"url(#p09795e3910)\" d=\"M 30.103125 86.622721 \n",
|
||
"L 225.403125 86.622721 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_16\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#m14dfb1b958\" y=\"86.622721\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_9\">\n",
|
||
" <!-- 1.0 -->\n",
|
||
" <g transform=\"translate(7.2 90.42194)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-49\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"ytick_4\">\n",
|
||
" <g id=\"line2d_17\">\n",
|
||
" <path clip-path=\"url(#p09795e3910)\" d=\"M 30.103125 58.482328 \n",
|
||
"L 225.403125 58.482328 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_18\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#m14dfb1b958\" y=\"58.482328\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_10\">\n",
|
||
" <!-- 1.5 -->\n",
|
||
" <g transform=\"translate(7.2 62.281547)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-49\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-53\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"ytick_5\">\n",
|
||
" <g id=\"line2d_19\">\n",
|
||
" <path clip-path=\"url(#p09795e3910)\" d=\"M 30.103125 30.341935 \n",
|
||
"L 225.403125 30.341935 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_20\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#m14dfb1b958\" y=\"30.341935\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_11\">\n",
|
||
" <!-- 2.0 -->\n",
|
||
" <g transform=\"translate(7.2 34.141154)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-50\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_21\">\n",
|
||
" <path clip-path=\"url(#p09795e3910)\" d=\"M 12.70611 13.377273 \n",
|
||
"L 17.009095 13.90688 \n",
|
||
"L 21.31208 17.196704 \n",
|
||
"L 25.615065 25.694433 \n",
|
||
"L 29.91805 36.449557 \n",
|
||
"L 30.103125 36.858035 \n",
|
||
"L 34.40611 89.268567 \n",
|
||
"L 38.709095 92.243738 \n",
|
||
"L 43.01208 93.391841 \n",
|
||
"L 47.315065 96.436116 \n",
|
||
"L 51.61805 99.047836 \n",
|
||
"L 51.803125 99.132284 \n",
|
||
"L 56.10611 113.214916 \n",
|
||
"L 60.409095 113.910894 \n",
|
||
"L 64.71208 114.456847 \n",
|
||
"L 69.015065 115.012329 \n",
|
||
"L 73.31805 115.450369 \n",
|
||
"L 73.503125 115.469142 \n",
|
||
"L 77.80611 119.5286 \n",
|
||
"L 82.109095 119.427363 \n",
|
||
"L 86.41208 119.898056 \n",
|
||
"L 90.715065 120.38242 \n",
|
||
"L 95.01805 120.588845 \n",
|
||
"L 95.203125 120.596856 \n",
|
||
"L 99.50611 122.568743 \n",
|
||
"L 103.809095 122.8493 \n",
|
||
"L 108.11208 123.261757 \n",
|
||
"L 112.415065 123.445023 \n",
|
||
"L 116.71805 123.468607 \n",
|
||
"L 116.903125 123.475009 \n",
|
||
"L 121.20611 124.32142 \n",
|
||
"L 125.509095 124.915181 \n",
|
||
"L 129.81208 124.999079 \n",
|
||
"L 134.115065 124.917528 \n",
|
||
"L 138.41805 125.130637 \n",
|
||
"L 138.603125 125.126753 \n",
|
||
"L 142.90611 126.466769 \n",
|
||
"L 147.209095 126.442227 \n",
|
||
"L 151.51208 126.532549 \n",
|
||
"L 155.815065 126.45239 \n",
|
||
"L 160.11805 126.433656 \n",
|
||
"L 160.303125 126.432254 \n",
|
||
"L 164.60611 127.701192 \n",
|
||
"L 168.909095 127.315125 \n",
|
||
"L 173.21208 127.328209 \n",
|
||
"L 177.515065 127.344343 \n",
|
||
"L 181.81805 127.3673 \n",
|
||
"L 182.003125 127.359543 \n",
|
||
"L 186.30611 128.034549 \n",
|
||
"L 190.609095 128.230584 \n",
|
||
"L 194.91208 128.305978 \n",
|
||
"L 199.215065 128.459244 \n",
|
||
"L 203.51805 128.39711 \n",
|
||
"L 203.703125 128.377816 \n",
|
||
"L 208.00611 129.461992 \n",
|
||
"L 212.309095 129.209328 \n",
|
||
"L 216.61208 129.317615 \n",
|
||
"L 220.915065 129.284636 \n",
|
||
"L 225.21805 129.184874 \n",
|
||
"L 225.403125 129.165658 \n",
|
||
"\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_22\">\n",
|
||
" <path clip-path=\"url(#p09795e3910)\" d=\"M 12.70611 136.922727 \n",
|
||
"L 17.009095 135.70766 \n",
|
||
"L 21.31208 134.108058 \n",
|
||
"L 25.615065 131.196072 \n",
|
||
"L 29.91805 127.599331 \n",
|
||
"L 30.103125 127.453493 \n",
|
||
"L 34.40611 107.94077 \n",
|
||
"L 38.709095 106.834444 \n",
|
||
"L 43.01208 106.084286 \n",
|
||
"L 47.315065 104.794361 \n",
|
||
"L 51.61805 103.699854 \n",
|
||
"L 51.803125 103.670171 \n",
|
||
"L 56.10611 97.860912 \n",
|
||
"L 60.409095 97.567783 \n",
|
||
"L 64.71208 97.373939 \n",
|
||
"L 69.015065 97.196644 \n",
|
||
"L 73.31805 97.004219 \n",
|
||
"L 73.503125 97.007464 \n",
|
||
"L 77.80611 95.539519 \n",
|
||
"L 82.109095 95.407138 \n",
|
||
"L 86.41208 95.282637 \n",
|
||
"L 90.715065 95.160106 \n",
|
||
"L 95.01805 95.080914 \n",
|
||
"L 95.203125 95.082661 \n",
|
||
"L 99.50611 94.357547 \n",
|
||
"L 103.809095 94.29372 \n",
|
||
"L 108.11208 94.102241 \n",
|
||
"L 112.415065 93.989953 \n",
|
||
"L 116.71805 93.956622 \n",
|
||
"L 116.903125 93.950479 \n",
|
||
"L 121.20611 93.63418 \n",
|
||
"L 125.509095 93.437972 \n",
|
||
"L 129.81208 93.382026 \n",
|
||
"L 134.115065 93.439154 \n",
|
||
"L 138.41805 93.355234 \n",
|
||
"L 138.603125 93.359531 \n",
|
||
"L 142.90611 92.93918 \n",
|
||
"L 147.209095 92.910813 \n",
|
||
"L 151.51208 92.869838 \n",
|
||
"L 155.815065 92.880081 \n",
|
||
"L 160.11805 92.893792 \n",
|
||
"L 160.303125 92.898028 \n",
|
||
"L 164.60611 92.608228 \n",
|
||
"L 168.909095 92.537309 \n",
|
||
"L 173.21208 92.527854 \n",
|
||
"L 177.515065 92.517216 \n",
|
||
"L 181.81805 92.507997 \n",
|
||
"L 182.003125 92.505001 \n",
|
||
"L 186.30611 92.229997 \n",
|
||
"L 190.609095 92.116527 \n",
|
||
"L 194.91208 92.102344 \n",
|
||
"L 199.215065 92.095252 \n",
|
||
"L 203.51805 92.122201 \n",
|
||
"L 203.703125 92.13261 \n",
|
||
"L 208.00611 91.691017 \n",
|
||
"L 212.309095 91.721749 \n",
|
||
"L 216.61208 91.73672 \n",
|
||
"L 220.915065 91.765482 \n",
|
||
"L 225.21805 91.814888 \n",
|
||
"L 225.403125 91.824941 \n",
|
||
"\" style=\"fill:none;stroke:#bf00bf;stroke-dasharray:5.55,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_23\">\n",
|
||
" <path clip-path=\"url(#p09795e3910)\" d=\"M 30.103125 110.575823 \n",
|
||
"L 51.803125 99.049518 \n",
|
||
"L 73.503125 95.132376 \n",
|
||
"L 95.203125 94.535799 \n",
|
||
"L 116.903125 95.768349 \n",
|
||
"L 138.603125 93.590282 \n",
|
||
"L 160.303125 93.911083 \n",
|
||
"L 182.003125 94.980418 \n",
|
||
"L 203.703125 92.881144 \n",
|
||
"L 225.403125 92.470294 \n",
|
||
"\" style=\"fill:none;stroke:#008000;stroke-dasharray:9.6,2.4,1.5,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_3\">\n",
|
||
" <path d=\"M 30.103125 143.1 \n",
|
||
"L 30.103125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_4\">\n",
|
||
" <path d=\"M 225.403125 143.1 \n",
|
||
"L 225.403125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_5\">\n",
|
||
" <path d=\"M 30.103125 143.1 \n",
|
||
"L 225.403125 143.1 \n",
|
||
"\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_6\">\n",
|
||
" <path d=\"M 30.103125 7.2 \n",
|
||
"L 225.403125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"legend_1\">\n",
|
||
" <g id=\"patch_7\">\n",
|
||
" <path d=\"M 140.634375 59.234375 \n",
|
||
"L 218.403125 59.234375 \n",
|
||
"Q 220.403125 59.234375 220.403125 57.234375 \n",
|
||
"L 220.403125 14.2 \n",
|
||
"Q 220.403125 12.2 218.403125 12.2 \n",
|
||
"L 140.634375 12.2 \n",
|
||
"Q 138.634375 12.2 138.634375 14.2 \n",
|
||
"L 138.634375 57.234375 \n",
|
||
"Q 138.634375 59.234375 140.634375 59.234375 \n",
|
||
"z\n",
|
||
"\" style=\"fill:#ffffff;opacity:0.8;stroke:#cccccc;stroke-linejoin:miter;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_24\">\n",
|
||
" <path d=\"M 142.634375 20.298438 \n",
|
||
"L 162.634375 20.298438 \n",
|
||
"\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_25\"/>\n",
|
||
" <g id=\"text_12\">\n",
|
||
" <!-- train loss -->\n",
|
||
" <g transform=\"translate(170.634375 23.798438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 18.3125 70.21875 \n",
|
||
"L 18.3125 54.6875 \n",
|
||
"L 36.8125 54.6875 \n",
|
||
"L 36.8125 47.703125 \n",
|
||
"L 18.3125 47.703125 \n",
|
||
"L 18.3125 18.015625 \n",
|
||
"Q 18.3125 11.328125 20.140625 9.421875 \n",
|
||
"Q 21.96875 7.515625 27.59375 7.515625 \n",
|
||
"L 36.8125 7.515625 \n",
|
||
"L 36.8125 0 \n",
|
||
"L 27.59375 0 \n",
|
||
"Q 17.1875 0 13.234375 3.875 \n",
|
||
"Q 9.28125 7.765625 9.28125 18.015625 \n",
|
||
"L 9.28125 47.703125 \n",
|
||
"L 2.6875 47.703125 \n",
|
||
"L 2.6875 54.6875 \n",
|
||
"L 9.28125 54.6875 \n",
|
||
"L 9.28125 70.21875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-116\"/>\n",
|
||
" <path d=\"M 41.109375 46.296875 \n",
|
||
"Q 39.59375 47.171875 37.8125 47.578125 \n",
|
||
"Q 36.03125 48 33.890625 48 \n",
|
||
"Q 26.265625 48 22.1875 43.046875 \n",
|
||
"Q 18.109375 38.09375 18.109375 28.8125 \n",
|
||
"L 18.109375 0 \n",
|
||
"L 9.078125 0 \n",
|
||
"L 9.078125 54.6875 \n",
|
||
"L 18.109375 54.6875 \n",
|
||
"L 18.109375 46.1875 \n",
|
||
"Q 20.953125 51.171875 25.484375 53.578125 \n",
|
||
"Q 30.03125 56 36.53125 56 \n",
|
||
"Q 37.453125 56 38.578125 55.875 \n",
|
||
"Q 39.703125 55.765625 41.0625 55.515625 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-114\"/>\n",
|
||
" <path d=\"M 34.28125 27.484375 \n",
|
||
"Q 23.390625 27.484375 19.1875 25 \n",
|
||
"Q 14.984375 22.515625 14.984375 16.5 \n",
|
||
"Q 14.984375 11.71875 18.140625 8.90625 \n",
|
||
"Q 21.296875 6.109375 26.703125 6.109375 \n",
|
||
"Q 34.1875 6.109375 38.703125 11.40625 \n",
|
||
"Q 43.21875 16.703125 43.21875 25.484375 \n",
|
||
"L 43.21875 27.484375 \n",
|
||
"z\n",
|
||
"M 52.203125 31.203125 \n",
|
||
"L 52.203125 0 \n",
|
||
"L 43.21875 0 \n",
|
||
"L 43.21875 8.296875 \n",
|
||
"Q 40.140625 3.328125 35.546875 0.953125 \n",
|
||
"Q 30.953125 -1.421875 24.3125 -1.421875 \n",
|
||
"Q 15.921875 -1.421875 10.953125 3.296875 \n",
|
||
"Q 6 8.015625 6 15.921875 \n",
|
||
"Q 6 25.140625 12.171875 29.828125 \n",
|
||
"Q 18.359375 34.515625 30.609375 34.515625 \n",
|
||
"L 43.21875 34.515625 \n",
|
||
"L 43.21875 35.40625 \n",
|
||
"Q 43.21875 41.609375 39.140625 45 \n",
|
||
"Q 35.0625 48.390625 27.6875 48.390625 \n",
|
||
"Q 23 48.390625 18.546875 47.265625 \n",
|
||
"Q 14.109375 46.140625 10.015625 43.890625 \n",
|
||
"L 10.015625 52.203125 \n",
|
||
"Q 14.9375 54.109375 19.578125 55.046875 \n",
|
||
"Q 24.21875 56 28.609375 56 \n",
|
||
"Q 40.484375 56 46.34375 49.84375 \n",
|
||
"Q 52.203125 43.703125 52.203125 31.203125 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-97\"/>\n",
|
||
" <path d=\"M 9.421875 54.6875 \n",
|
||
"L 18.40625 54.6875 \n",
|
||
"L 18.40625 0 \n",
|
||
"L 9.421875 0 \n",
|
||
"z\n",
|
||
"M 9.421875 75.984375 \n",
|
||
"L 18.40625 75.984375 \n",
|
||
"L 18.40625 64.59375 \n",
|
||
"L 9.421875 64.59375 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-105\"/>\n",
|
||
" <path d=\"M 54.890625 33.015625 \n",
|
||
"L 54.890625 0 \n",
|
||
"L 45.90625 0 \n",
|
||
"L 45.90625 32.71875 \n",
|
||
"Q 45.90625 40.484375 42.875 44.328125 \n",
|
||
"Q 39.84375 48.1875 33.796875 48.1875 \n",
|
||
"Q 26.515625 48.1875 22.3125 43.546875 \n",
|
||
"Q 18.109375 38.921875 18.109375 30.90625 \n",
|
||
"L 18.109375 0 \n",
|
||
"L 9.078125 0 \n",
|
||
"L 9.078125 54.6875 \n",
|
||
"L 18.109375 54.6875 \n",
|
||
"L 18.109375 46.1875 \n",
|
||
"Q 21.34375 51.125 25.703125 53.5625 \n",
|
||
"Q 30.078125 56 35.796875 56 \n",
|
||
"Q 45.21875 56 50.046875 50.171875 \n",
|
||
"Q 54.890625 44.34375 54.890625 33.015625 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-110\"/>\n",
|
||
" <path id=\"DejaVuSans-32\"/>\n",
|
||
" <path d=\"M 9.421875 75.984375 \n",
|
||
"L 18.40625 75.984375 \n",
|
||
"L 18.40625 0 \n",
|
||
"L 9.421875 0 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-108\"/>\n",
|
||
" <path d=\"M 44.28125 53.078125 \n",
|
||
"L 44.28125 44.578125 \n",
|
||
"Q 40.484375 46.53125 36.375 47.5 \n",
|
||
"Q 32.28125 48.484375 27.875 48.484375 \n",
|
||
"Q 21.1875 48.484375 17.84375 46.4375 \n",
|
||
"Q 14.5 44.390625 14.5 40.28125 \n",
|
||
"Q 14.5 37.15625 16.890625 35.375 \n",
|
||
"Q 19.28125 33.59375 26.515625 31.984375 \n",
|
||
"L 29.59375 31.296875 \n",
|
||
"Q 39.15625 29.25 43.1875 25.515625 \n",
|
||
"Q 47.21875 21.78125 47.21875 15.09375 \n",
|
||
"Q 47.21875 7.46875 41.1875 3.015625 \n",
|
||
"Q 35.15625 -1.421875 24.609375 -1.421875 \n",
|
||
"Q 20.21875 -1.421875 15.453125 -0.5625 \n",
|
||
"Q 10.6875 0.296875 5.421875 2 \n",
|
||
"L 5.421875 11.28125 \n",
|
||
"Q 10.40625 8.6875 15.234375 7.390625 \n",
|
||
"Q 20.0625 6.109375 24.8125 6.109375 \n",
|
||
"Q 31.15625 6.109375 34.5625 8.28125 \n",
|
||
"Q 37.984375 10.453125 37.984375 14.40625 \n",
|
||
"Q 37.984375 18.0625 35.515625 20.015625 \n",
|
||
"Q 33.0625 21.96875 24.703125 23.78125 \n",
|
||
"L 21.578125 24.515625 \n",
|
||
"Q 13.234375 26.265625 9.515625 29.90625 \n",
|
||
"Q 5.8125 33.546875 5.8125 39.890625 \n",
|
||
"Q 5.8125 47.609375 11.28125 51.796875 \n",
|
||
"Q 16.75 56 26.8125 56 \n",
|
||
"Q 31.78125 56 36.171875 55.265625 \n",
|
||
"Q 40.578125 54.546875 44.28125 53.078125 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-115\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"39.208984\" xlink:href=\"#DejaVuSans-114\"/>\n",
|
||
" <use x=\"80.322266\" xlink:href=\"#DejaVuSans-97\"/>\n",
|
||
" <use x=\"141.601562\" xlink:href=\"#DejaVuSans-105\"/>\n",
|
||
" <use x=\"169.384766\" xlink:href=\"#DejaVuSans-110\"/>\n",
|
||
" <use x=\"232.763672\" xlink:href=\"#DejaVuSans-32\"/>\n",
|
||
" <use x=\"264.550781\" xlink:href=\"#DejaVuSans-108\"/>\n",
|
||
" <use x=\"292.333984\" xlink:href=\"#DejaVuSans-111\"/>\n",
|
||
" <use x=\"353.515625\" xlink:href=\"#DejaVuSans-115\"/>\n",
|
||
" <use x=\"405.615234\" xlink:href=\"#DejaVuSans-115\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_26\">\n",
|
||
" <path d=\"M 142.634375 34.976562 \n",
|
||
"L 162.634375 34.976562 \n",
|
||
"\" style=\"fill:none;stroke:#bf00bf;stroke-dasharray:5.55,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_27\"/>\n",
|
||
" <g id=\"text_13\">\n",
|
||
" <!-- train acc -->\n",
|
||
" <g transform=\"translate(170.634375 38.476562)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"39.208984\" xlink:href=\"#DejaVuSans-114\"/>\n",
|
||
" <use x=\"80.322266\" xlink:href=\"#DejaVuSans-97\"/>\n",
|
||
" <use x=\"141.601562\" xlink:href=\"#DejaVuSans-105\"/>\n",
|
||
" <use x=\"169.384766\" xlink:href=\"#DejaVuSans-110\"/>\n",
|
||
" <use x=\"232.763672\" xlink:href=\"#DejaVuSans-32\"/>\n",
|
||
" <use x=\"264.550781\" xlink:href=\"#DejaVuSans-97\"/>\n",
|
||
" <use x=\"325.830078\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" <use x=\"380.810547\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_28\">\n",
|
||
" <path d=\"M 142.634375 49.654688 \n",
|
||
"L 162.634375 49.654688 \n",
|
||
"\" style=\"fill:none;stroke:#008000;stroke-dasharray:9.6,2.4,1.5,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_29\"/>\n",
|
||
" <g id=\"text_14\">\n",
|
||
" <!-- test acc -->\n",
|
||
" <g transform=\"translate(170.634375 53.154688)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"39.208984\" xlink:href=\"#DejaVuSans-101\"/>\n",
|
||
" <use x=\"100.732422\" xlink:href=\"#DejaVuSans-115\"/>\n",
|
||
" <use x=\"152.832031\" xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"192.041016\" xlink:href=\"#DejaVuSans-32\"/>\n",
|
||
" <use x=\"223.828125\" xlink:href=\"#DejaVuSans-97\"/>\n",
|
||
" <use x=\"285.107422\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" <use x=\"340.087891\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <defs>\n",
|
||
" <clipPath id=\"p09795e3910\">\n",
|
||
" <rect height=\"135.9\" width=\"195.3\" x=\"30.103125\" y=\"7.2\"/>\n",
|
||
" </clipPath>\n",
|
||
" </defs>\n",
|
||
"</svg>\n"
|
||
],
|
||
"text/plain": [
|
||
"<Figure size 252x180 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"lr, num_epochs, batch_size = 0.1, 10, 128\n",
|
||
"train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size, resize=96)\n",
|
||
"d2l.train_ch6(net, train_iter, test_iter, num_epochs, lr, d2l.try_gpu())"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "7edc7652-ed97-4851-aac8-ed51bacae82f",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "-"
|
||
}
|
||
},
|
||
"source": [
|
||
"## 批量规范化\n",
|
||
"\n",
|
||
"从零实现"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"id": "c59dccc1-434e-4134-a988-b4f8c4ec63f0",
|
||
"metadata": {
|
||
"origin_pos": 2,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"import torch\n",
|
||
"from torch import nn\n",
|
||
"from d2l import torch as d2l"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"id": "d6629b56-83fb-47bf-93cf-98becf2a088f",
|
||
"metadata": {
|
||
"origin_pos": 2,
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
},
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"def batch_norm(X, gamma, beta, moving_mean, moving_var, eps, momentum):\n",
|
||
" if not torch.is_grad_enabled(): # 判断当前模式是训练模式还是预测模式\n",
|
||
" # 如果是在预测模式下,直接使用传入的移动平均所得的均值和方差\n",
|
||
" X_hat = (X - moving_mean) / torch.sqrt(moving_var + eps)\n",
|
||
" else:\n",
|
||
" assert len(X.shape) in (2, 4)\n",
|
||
" if len(X.shape) == 2: # 使用全连接层的情况,计算特征维上的均值和方差\n",
|
||
" mean = X.mean(dim=0)\n",
|
||
" var = ((X - mean) ** 2).mean(dim=0)\n",
|
||
" else: # 使用二维卷积层的情况,计算通道维上(axis=1)的均值和方差\n",
|
||
" # 这里我们需要保持X的形状以便后面可以做广播运算\n",
|
||
" mean = X.mean(dim=(0, 2, 3), keepdim=True)\n",
|
||
" var = ((X - mean) ** 2).mean(dim=(0, 2, 3), keepdim=True)\n",
|
||
" # 训练模式下,用当前的均值和方差做标准化\n",
|
||
" X_hat = (X - mean) / torch.sqrt(var + eps)\n",
|
||
" # 更新移动平均的均值和方差\n",
|
||
" moving_mean = momentum * moving_mean + (1.0 - momentum) * mean\n",
|
||
" moving_var = momentum * moving_var + (1.0 - momentum) * var\n",
|
||
" Y = gamma * X_hat + beta # 缩放和移位\n",
|
||
" return Y, moving_mean.data, moving_var.data"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "f4872957-57c1-40c0-be54-6d00862c9d2f",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"创建一个正确的`BatchNorm`层"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"id": "f4c0ef6f-7546-4949-bfd9-b1e10f3abade",
|
||
"metadata": {
|
||
"origin_pos": 6,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"class BatchNorm(nn.Module):\n",
|
||
" def __init__(self, num_features, num_dims):\n",
|
||
" # num_features:全连接层的输出数量或卷积层的输出通道数。\n",
|
||
" # num_dims:2表示全连接层,4表示卷积层\n",
|
||
" super().__init__()\n",
|
||
" if num_dims == 2:\n",
|
||
" shape = (1, num_features)\n",
|
||
" else:\n",
|
||
" shape = (1, num_features, 1, 1)\n",
|
||
" # 参与求梯度和迭代的拉伸和偏移参数,分别初始化成1和0\n",
|
||
" self.gamma = nn.Parameter(torch.ones(shape))\n",
|
||
" self.beta = nn.Parameter(torch.zeros(shape))\n",
|
||
" # 非模型参数:均值、方差\n",
|
||
" self.moving_mean = torch.zeros(shape)\n",
|
||
" self.moving_var = torch.ones(shape)\n",
|
||
"\n",
|
||
" def forward(self, X):\n",
|
||
" if self.moving_mean.device != X.device:\n",
|
||
" # 如果X不在内存上,将moving_mean和moving_var复制到X所在显存上\n",
|
||
" self.moving_mean = self.moving_mean.to(X.device)\n",
|
||
" self.moving_var = self.moving_var.to(X.device)\n",
|
||
" # 保存更新过的moving_mean和moving_var\n",
|
||
" Y, self.moving_mean, self.moving_var = batch_norm(\n",
|
||
" X, self.gamma, self.beta, self.moving_mean,\n",
|
||
" self.moving_var, eps=1e-5, momentum=0.9)\n",
|
||
" return Y"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "cf94bbae-4049-443e-82f9-b483b2b25a8e",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"应用`BatchNorm`\n",
|
||
"于LeNet模型"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"id": "cc24a7dc-08ac-4a95-bfbc-b8aada3842e7",
|
||
"metadata": {
|
||
"origin_pos": 10,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"net = nn.Sequential(\n",
|
||
" nn.Conv2d(1, 6, kernel_size=5), BatchNorm(6, num_dims=4), nn.Sigmoid(),\n",
|
||
" nn.AvgPool2d(kernel_size=2, stride=2),\n",
|
||
" nn.Conv2d(6, 16, kernel_size=5), BatchNorm(16, num_dims=4), nn.Sigmoid(),\n",
|
||
" nn.AvgPool2d(kernel_size=2, stride=2), nn.Flatten(),\n",
|
||
" nn.Linear(16*4*4, 120), BatchNorm(120, num_dims=2), nn.Sigmoid(),\n",
|
||
" nn.Linear(120, 84), BatchNorm(84, num_dims=2), nn.Sigmoid(),\n",
|
||
" nn.Linear(84, 10))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "fbcd9945-0abd-4443-962f-56e928685200",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"在Fashion-MNIST数据集上训练网络。注意:学习率大很多"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"id": "3ab1ecba-57e6-4cec-a902-e68dc49b64d1",
|
||
"metadata": {
|
||
"origin_pos": 13,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"loss 0.263, train acc 0.902, test acc 0.857\n",
|
||
"31378.5 examples/sec on cuda:0\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/svg+xml": [
|
||
"<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n",
|
||
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
||
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
||
"<!-- Created with matplotlib (https://matplotlib.org/) -->\n",
|
||
"<svg height=\"180.65625pt\" version=\"1.1\" viewBox=\"0 0 238.965625 180.65625\" width=\"238.965625pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
||
" <metadata>\n",
|
||
" <rdf:RDF xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n",
|
||
" <cc:Work>\n",
|
||
" <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\n",
|
||
" <dc:date>2022-03-22T19:59:51.169965</dc:date>\n",
|
||
" <dc:format>image/svg+xml</dc:format>\n",
|
||
" <dc:creator>\n",
|
||
" <cc:Agent>\n",
|
||
" <dc:title>Matplotlib v3.3.3, https://matplotlib.org/</dc:title>\n",
|
||
" </cc:Agent>\n",
|
||
" </dc:creator>\n",
|
||
" </cc:Work>\n",
|
||
" </rdf:RDF>\n",
|
||
" </metadata>\n",
|
||
" <defs>\n",
|
||
" <style type=\"text/css\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\n",
|
||
" </defs>\n",
|
||
" <g id=\"figure_1\">\n",
|
||
" <g id=\"patch_1\">\n",
|
||
" <path d=\"M 0 180.65625 \n",
|
||
"L 238.965625 180.65625 \n",
|
||
"L 238.965625 0 \n",
|
||
"L 0 0 \n",
|
||
"z\n",
|
||
"\" style=\"fill:none;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"axes_1\">\n",
|
||
" <g id=\"patch_2\">\n",
|
||
" <path d=\"M 30.103125 143.1 \n",
|
||
"L 225.403125 143.1 \n",
|
||
"L 225.403125 7.2 \n",
|
||
"L 30.103125 7.2 \n",
|
||
"z\n",
|
||
"\" style=\"fill:#ffffff;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"matplotlib.axis_1\">\n",
|
||
" <g id=\"xtick_1\">\n",
|
||
" <g id=\"line2d_1\">\n",
|
||
" <path clip-path=\"url(#pa12f7f6824)\" d=\"M 51.803125 143.1 \n",
|
||
"L 51.803125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_2\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 0 0 \n",
|
||
"L 0 3.5 \n",
|
||
"\" id=\"m9ea0bfe744\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
|
||
" </defs>\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"51.803125\" xlink:href=\"#m9ea0bfe744\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_1\">\n",
|
||
" <!-- 2 -->\n",
|
||
" <g transform=\"translate(48.621875 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 19.1875 8.296875 \n",
|
||
"L 53.609375 8.296875 \n",
|
||
"L 53.609375 0 \n",
|
||
"L 7.328125 0 \n",
|
||
"L 7.328125 8.296875 \n",
|
||
"Q 12.9375 14.109375 22.625 23.890625 \n",
|
||
"Q 32.328125 33.6875 34.8125 36.53125 \n",
|
||
"Q 39.546875 41.84375 41.421875 45.53125 \n",
|
||
"Q 43.3125 49.21875 43.3125 52.78125 \n",
|
||
"Q 43.3125 58.59375 39.234375 62.25 \n",
|
||
"Q 35.15625 65.921875 28.609375 65.921875 \n",
|
||
"Q 23.96875 65.921875 18.8125 64.3125 \n",
|
||
"Q 13.671875 62.703125 7.8125 59.421875 \n",
|
||
"L 7.8125 69.390625 \n",
|
||
"Q 13.765625 71.78125 18.9375 73 \n",
|
||
"Q 24.125 74.21875 28.421875 74.21875 \n",
|
||
"Q 39.75 74.21875 46.484375 68.546875 \n",
|
||
"Q 53.21875 62.890625 53.21875 53.421875 \n",
|
||
"Q 53.21875 48.921875 51.53125 44.890625 \n",
|
||
"Q 49.859375 40.875 45.40625 35.40625 \n",
|
||
"Q 44.1875 33.984375 37.640625 27.21875 \n",
|
||
"Q 31.109375 20.453125 19.1875 8.296875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-50\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-50\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_2\">\n",
|
||
" <g id=\"line2d_3\">\n",
|
||
" <path clip-path=\"url(#pa12f7f6824)\" d=\"M 95.203125 143.1 \n",
|
||
"L 95.203125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_4\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"95.203125\" xlink:href=\"#m9ea0bfe744\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_2\">\n",
|
||
" <!-- 4 -->\n",
|
||
" <g transform=\"translate(92.021875 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 37.796875 64.3125 \n",
|
||
"L 12.890625 25.390625 \n",
|
||
"L 37.796875 25.390625 \n",
|
||
"z\n",
|
||
"M 35.203125 72.90625 \n",
|
||
"L 47.609375 72.90625 \n",
|
||
"L 47.609375 25.390625 \n",
|
||
"L 58.015625 25.390625 \n",
|
||
"L 58.015625 17.1875 \n",
|
||
"L 47.609375 17.1875 \n",
|
||
"L 47.609375 0 \n",
|
||
"L 37.796875 0 \n",
|
||
"L 37.796875 17.1875 \n",
|
||
"L 4.890625 17.1875 \n",
|
||
"L 4.890625 26.703125 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-52\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-52\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_3\">\n",
|
||
" <g id=\"line2d_5\">\n",
|
||
" <path clip-path=\"url(#pa12f7f6824)\" d=\"M 138.603125 143.1 \n",
|
||
"L 138.603125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_6\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"138.603125\" xlink:href=\"#m9ea0bfe744\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_3\">\n",
|
||
" <!-- 6 -->\n",
|
||
" <g transform=\"translate(135.421875 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 33.015625 40.375 \n",
|
||
"Q 26.375 40.375 22.484375 35.828125 \n",
|
||
"Q 18.609375 31.296875 18.609375 23.390625 \n",
|
||
"Q 18.609375 15.53125 22.484375 10.953125 \n",
|
||
"Q 26.375 6.390625 33.015625 6.390625 \n",
|
||
"Q 39.65625 6.390625 43.53125 10.953125 \n",
|
||
"Q 47.40625 15.53125 47.40625 23.390625 \n",
|
||
"Q 47.40625 31.296875 43.53125 35.828125 \n",
|
||
"Q 39.65625 40.375 33.015625 40.375 \n",
|
||
"z\n",
|
||
"M 52.59375 71.296875 \n",
|
||
"L 52.59375 62.3125 \n",
|
||
"Q 48.875 64.0625 45.09375 64.984375 \n",
|
||
"Q 41.3125 65.921875 37.59375 65.921875 \n",
|
||
"Q 27.828125 65.921875 22.671875 59.328125 \n",
|
||
"Q 17.53125 52.734375 16.796875 39.40625 \n",
|
||
"Q 19.671875 43.65625 24.015625 45.921875 \n",
|
||
"Q 28.375 48.1875 33.59375 48.1875 \n",
|
||
"Q 44.578125 48.1875 50.953125 41.515625 \n",
|
||
"Q 57.328125 34.859375 57.328125 23.390625 \n",
|
||
"Q 57.328125 12.15625 50.6875 5.359375 \n",
|
||
"Q 44.046875 -1.421875 33.015625 -1.421875 \n",
|
||
"Q 20.359375 -1.421875 13.671875 8.265625 \n",
|
||
"Q 6.984375 17.96875 6.984375 36.375 \n",
|
||
"Q 6.984375 53.65625 15.1875 63.9375 \n",
|
||
"Q 23.390625 74.21875 37.203125 74.21875 \n",
|
||
"Q 40.921875 74.21875 44.703125 73.484375 \n",
|
||
"Q 48.484375 72.75 52.59375 71.296875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-54\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-54\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_4\">\n",
|
||
" <g id=\"line2d_7\">\n",
|
||
" <path clip-path=\"url(#pa12f7f6824)\" d=\"M 182.003125 143.1 \n",
|
||
"L 182.003125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_8\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"182.003125\" xlink:href=\"#m9ea0bfe744\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_4\">\n",
|
||
" <!-- 8 -->\n",
|
||
" <g transform=\"translate(178.821875 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 31.78125 34.625 \n",
|
||
"Q 24.75 34.625 20.71875 30.859375 \n",
|
||
"Q 16.703125 27.09375 16.703125 20.515625 \n",
|
||
"Q 16.703125 13.921875 20.71875 10.15625 \n",
|
||
"Q 24.75 6.390625 31.78125 6.390625 \n",
|
||
"Q 38.8125 6.390625 42.859375 10.171875 \n",
|
||
"Q 46.921875 13.96875 46.921875 20.515625 \n",
|
||
"Q 46.921875 27.09375 42.890625 30.859375 \n",
|
||
"Q 38.875 34.625 31.78125 34.625 \n",
|
||
"z\n",
|
||
"M 21.921875 38.8125 \n",
|
||
"Q 15.578125 40.375 12.03125 44.71875 \n",
|
||
"Q 8.5 49.078125 8.5 55.328125 \n",
|
||
"Q 8.5 64.0625 14.71875 69.140625 \n",
|
||
"Q 20.953125 74.21875 31.78125 74.21875 \n",
|
||
"Q 42.671875 74.21875 48.875 69.140625 \n",
|
||
"Q 55.078125 64.0625 55.078125 55.328125 \n",
|
||
"Q 55.078125 49.078125 51.53125 44.71875 \n",
|
||
"Q 48 40.375 41.703125 38.8125 \n",
|
||
"Q 48.828125 37.15625 52.796875 32.3125 \n",
|
||
"Q 56.78125 27.484375 56.78125 20.515625 \n",
|
||
"Q 56.78125 9.90625 50.3125 4.234375 \n",
|
||
"Q 43.84375 -1.421875 31.78125 -1.421875 \n",
|
||
"Q 19.734375 -1.421875 13.25 4.234375 \n",
|
||
"Q 6.78125 9.90625 6.78125 20.515625 \n",
|
||
"Q 6.78125 27.484375 10.78125 32.3125 \n",
|
||
"Q 14.796875 37.15625 21.921875 38.8125 \n",
|
||
"z\n",
|
||
"M 18.3125 54.390625 \n",
|
||
"Q 18.3125 48.734375 21.84375 45.5625 \n",
|
||
"Q 25.390625 42.390625 31.78125 42.390625 \n",
|
||
"Q 38.140625 42.390625 41.71875 45.5625 \n",
|
||
"Q 45.3125 48.734375 45.3125 54.390625 \n",
|
||
"Q 45.3125 60.0625 41.71875 63.234375 \n",
|
||
"Q 38.140625 66.40625 31.78125 66.40625 \n",
|
||
"Q 25.390625 66.40625 21.84375 63.234375 \n",
|
||
"Q 18.3125 60.0625 18.3125 54.390625 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-56\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-56\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_5\">\n",
|
||
" <g id=\"line2d_9\">\n",
|
||
" <path clip-path=\"url(#pa12f7f6824)\" d=\"M 225.403125 143.1 \n",
|
||
"L 225.403125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_10\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"225.403125\" xlink:href=\"#m9ea0bfe744\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_5\">\n",
|
||
" <!-- 10 -->\n",
|
||
" <g transform=\"translate(219.040625 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 12.40625 8.296875 \n",
|
||
"L 28.515625 8.296875 \n",
|
||
"L 28.515625 63.921875 \n",
|
||
"L 10.984375 60.40625 \n",
|
||
"L 10.984375 69.390625 \n",
|
||
"L 28.421875 72.90625 \n",
|
||
"L 38.28125 72.90625 \n",
|
||
"L 38.28125 8.296875 \n",
|
||
"L 54.390625 8.296875 \n",
|
||
"L 54.390625 0 \n",
|
||
"L 12.40625 0 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-49\"/>\n",
|
||
" <path d=\"M 31.78125 66.40625 \n",
|
||
"Q 24.171875 66.40625 20.328125 58.90625 \n",
|
||
"Q 16.5 51.421875 16.5 36.375 \n",
|
||
"Q 16.5 21.390625 20.328125 13.890625 \n",
|
||
"Q 24.171875 6.390625 31.78125 6.390625 \n",
|
||
"Q 39.453125 6.390625 43.28125 13.890625 \n",
|
||
"Q 47.125 21.390625 47.125 36.375 \n",
|
||
"Q 47.125 51.421875 43.28125 58.90625 \n",
|
||
"Q 39.453125 66.40625 31.78125 66.40625 \n",
|
||
"z\n",
|
||
"M 31.78125 74.21875 \n",
|
||
"Q 44.046875 74.21875 50.515625 64.515625 \n",
|
||
"Q 56.984375 54.828125 56.984375 36.375 \n",
|
||
"Q 56.984375 17.96875 50.515625 8.265625 \n",
|
||
"Q 44.046875 -1.421875 31.78125 -1.421875 \n",
|
||
"Q 19.53125 -1.421875 13.0625 8.265625 \n",
|
||
"Q 6.59375 17.96875 6.59375 36.375 \n",
|
||
"Q 6.59375 54.828125 13.0625 64.515625 \n",
|
||
"Q 19.53125 74.21875 31.78125 74.21875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-48\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-49\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_6\">\n",
|
||
" <!-- epoch -->\n",
|
||
" <g transform=\"translate(112.525 171.376563)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 56.203125 29.59375 \n",
|
||
"L 56.203125 25.203125 \n",
|
||
"L 14.890625 25.203125 \n",
|
||
"Q 15.484375 15.921875 20.484375 11.0625 \n",
|
||
"Q 25.484375 6.203125 34.421875 6.203125 \n",
|
||
"Q 39.59375 6.203125 44.453125 7.46875 \n",
|
||
"Q 49.3125 8.734375 54.109375 11.28125 \n",
|
||
"L 54.109375 2.78125 \n",
|
||
"Q 49.265625 0.734375 44.1875 -0.34375 \n",
|
||
"Q 39.109375 -1.421875 33.890625 -1.421875 \n",
|
||
"Q 20.796875 -1.421875 13.15625 6.1875 \n",
|
||
"Q 5.515625 13.8125 5.515625 26.8125 \n",
|
||
"Q 5.515625 40.234375 12.765625 48.109375 \n",
|
||
"Q 20.015625 56 32.328125 56 \n",
|
||
"Q 43.359375 56 49.78125 48.890625 \n",
|
||
"Q 56.203125 41.796875 56.203125 29.59375 \n",
|
||
"z\n",
|
||
"M 47.21875 32.234375 \n",
|
||
"Q 47.125 39.59375 43.09375 43.984375 \n",
|
||
"Q 39.0625 48.390625 32.421875 48.390625 \n",
|
||
"Q 24.90625 48.390625 20.390625 44.140625 \n",
|
||
"Q 15.875 39.890625 15.1875 32.171875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-101\"/>\n",
|
||
" <path d=\"M 18.109375 8.203125 \n",
|
||
"L 18.109375 -20.796875 \n",
|
||
"L 9.078125 -20.796875 \n",
|
||
"L 9.078125 54.6875 \n",
|
||
"L 18.109375 54.6875 \n",
|
||
"L 18.109375 46.390625 \n",
|
||
"Q 20.953125 51.265625 25.265625 53.625 \n",
|
||
"Q 29.59375 56 35.59375 56 \n",
|
||
"Q 45.5625 56 51.78125 48.09375 \n",
|
||
"Q 58.015625 40.1875 58.015625 27.296875 \n",
|
||
"Q 58.015625 14.40625 51.78125 6.484375 \n",
|
||
"Q 45.5625 -1.421875 35.59375 -1.421875 \n",
|
||
"Q 29.59375 -1.421875 25.265625 0.953125 \n",
|
||
"Q 20.953125 3.328125 18.109375 8.203125 \n",
|
||
"z\n",
|
||
"M 48.6875 27.296875 \n",
|
||
"Q 48.6875 37.203125 44.609375 42.84375 \n",
|
||
"Q 40.53125 48.484375 33.40625 48.484375 \n",
|
||
"Q 26.265625 48.484375 22.1875 42.84375 \n",
|
||
"Q 18.109375 37.203125 18.109375 27.296875 \n",
|
||
"Q 18.109375 17.390625 22.1875 11.75 \n",
|
||
"Q 26.265625 6.109375 33.40625 6.109375 \n",
|
||
"Q 40.53125 6.109375 44.609375 11.75 \n",
|
||
"Q 48.6875 17.390625 48.6875 27.296875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-112\"/>\n",
|
||
" <path d=\"M 30.609375 48.390625 \n",
|
||
"Q 23.390625 48.390625 19.1875 42.75 \n",
|
||
"Q 14.984375 37.109375 14.984375 27.296875 \n",
|
||
"Q 14.984375 17.484375 19.15625 11.84375 \n",
|
||
"Q 23.34375 6.203125 30.609375 6.203125 \n",
|
||
"Q 37.796875 6.203125 41.984375 11.859375 \n",
|
||
"Q 46.1875 17.53125 46.1875 27.296875 \n",
|
||
"Q 46.1875 37.015625 41.984375 42.703125 \n",
|
||
"Q 37.796875 48.390625 30.609375 48.390625 \n",
|
||
"z\n",
|
||
"M 30.609375 56 \n",
|
||
"Q 42.328125 56 49.015625 48.375 \n",
|
||
"Q 55.71875 40.765625 55.71875 27.296875 \n",
|
||
"Q 55.71875 13.875 49.015625 6.21875 \n",
|
||
"Q 42.328125 -1.421875 30.609375 -1.421875 \n",
|
||
"Q 18.84375 -1.421875 12.171875 6.21875 \n",
|
||
"Q 5.515625 13.875 5.515625 27.296875 \n",
|
||
"Q 5.515625 40.765625 12.171875 48.375 \n",
|
||
"Q 18.84375 56 30.609375 56 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-111\"/>\n",
|
||
" <path d=\"M 48.78125 52.59375 \n",
|
||
"L 48.78125 44.1875 \n",
|
||
"Q 44.96875 46.296875 41.140625 47.34375 \n",
|
||
"Q 37.3125 48.390625 33.40625 48.390625 \n",
|
||
"Q 24.65625 48.390625 19.8125 42.84375 \n",
|
||
"Q 14.984375 37.3125 14.984375 27.296875 \n",
|
||
"Q 14.984375 17.28125 19.8125 11.734375 \n",
|
||
"Q 24.65625 6.203125 33.40625 6.203125 \n",
|
||
"Q 37.3125 6.203125 41.140625 7.25 \n",
|
||
"Q 44.96875 8.296875 48.78125 10.40625 \n",
|
||
"L 48.78125 2.09375 \n",
|
||
"Q 45.015625 0.34375 40.984375 -0.53125 \n",
|
||
"Q 36.96875 -1.421875 32.421875 -1.421875 \n",
|
||
"Q 20.0625 -1.421875 12.78125 6.34375 \n",
|
||
"Q 5.515625 14.109375 5.515625 27.296875 \n",
|
||
"Q 5.515625 40.671875 12.859375 48.328125 \n",
|
||
"Q 20.21875 56 33.015625 56 \n",
|
||
"Q 37.15625 56 41.109375 55.140625 \n",
|
||
"Q 45.0625 54.296875 48.78125 52.59375 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-99\"/>\n",
|
||
" <path d=\"M 54.890625 33.015625 \n",
|
||
"L 54.890625 0 \n",
|
||
"L 45.90625 0 \n",
|
||
"L 45.90625 32.71875 \n",
|
||
"Q 45.90625 40.484375 42.875 44.328125 \n",
|
||
"Q 39.84375 48.1875 33.796875 48.1875 \n",
|
||
"Q 26.515625 48.1875 22.3125 43.546875 \n",
|
||
"Q 18.109375 38.921875 18.109375 30.90625 \n",
|
||
"L 18.109375 0 \n",
|
||
"L 9.078125 0 \n",
|
||
"L 9.078125 75.984375 \n",
|
||
"L 18.109375 75.984375 \n",
|
||
"L 18.109375 46.1875 \n",
|
||
"Q 21.34375 51.125 25.703125 53.5625 \n",
|
||
"Q 30.078125 56 35.796875 56 \n",
|
||
"Q 45.21875 56 50.046875 50.171875 \n",
|
||
"Q 54.890625 44.34375 54.890625 33.015625 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-104\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-101\"/>\n",
|
||
" <use x=\"61.523438\" xlink:href=\"#DejaVuSans-112\"/>\n",
|
||
" <use x=\"125\" xlink:href=\"#DejaVuSans-111\"/>\n",
|
||
" <use x=\"186.181641\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" <use x=\"241.162109\" xlink:href=\"#DejaVuSans-104\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"matplotlib.axis_2\">\n",
|
||
" <g id=\"ytick_1\">\n",
|
||
" <g id=\"line2d_11\">\n",
|
||
" <path clip-path=\"url(#pa12f7f6824)\" d=\"M 30.103125 117.022605 \n",
|
||
"L 225.403125 117.022605 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_12\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 0 0 \n",
|
||
"L -3.5 0 \n",
|
||
"\" id=\"mf9e949237f\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
|
||
" </defs>\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#mf9e949237f\" y=\"117.022605\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_7\">\n",
|
||
" <!-- 0.4 -->\n",
|
||
" <g transform=\"translate(7.2 120.821824)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 10.6875 12.40625 \n",
|
||
"L 21 12.40625 \n",
|
||
"L 21 0 \n",
|
||
"L 10.6875 0 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-46\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-52\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"ytick_2\">\n",
|
||
" <g id=\"line2d_13\">\n",
|
||
" <path clip-path=\"url(#pa12f7f6824)\" d=\"M 30.103125 89.505023 \n",
|
||
"L 225.403125 89.505023 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_14\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#mf9e949237f\" y=\"89.505023\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_8\">\n",
|
||
" <!-- 0.6 -->\n",
|
||
" <g transform=\"translate(7.2 93.304241)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-54\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"ytick_3\">\n",
|
||
" <g id=\"line2d_15\">\n",
|
||
" <path clip-path=\"url(#pa12f7f6824)\" d=\"M 30.103125 61.987441 \n",
|
||
"L 225.403125 61.987441 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_16\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#mf9e949237f\" y=\"61.987441\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_9\">\n",
|
||
" <!-- 0.8 -->\n",
|
||
" <g transform=\"translate(7.2 65.786659)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-56\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"ytick_4\">\n",
|
||
" <g id=\"line2d_17\">\n",
|
||
" <path clip-path=\"url(#pa12f7f6824)\" d=\"M 30.103125 34.469858 \n",
|
||
"L 225.403125 34.469858 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_18\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#mf9e949237f\" y=\"34.469858\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_10\">\n",
|
||
" <!-- 1.0 -->\n",
|
||
" <g transform=\"translate(7.2 38.269077)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-49\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_19\">\n",
|
||
" <path clip-path=\"url(#pa12f7f6824)\" d=\"M 12.743125 13.377273 \n",
|
||
"L 17.083125 46.397412 \n",
|
||
"L 21.423125 59.886721 \n",
|
||
"L 25.763125 68.647004 \n",
|
||
"L 30.103125 74.757779 \n",
|
||
"L 34.443125 100.36069 \n",
|
||
"L 38.783125 102.501832 \n",
|
||
"L 43.123125 104.37194 \n",
|
||
"L 47.463125 105.662645 \n",
|
||
"L 51.803125 107.177099 \n",
|
||
"L 56.143125 113.198381 \n",
|
||
"L 60.483125 114.700054 \n",
|
||
"L 64.823125 115.44685 \n",
|
||
"L 69.163125 116.202276 \n",
|
||
"L 73.503125 116.361081 \n",
|
||
"L 77.843125 122.539128 \n",
|
||
"L 82.183125 121.282377 \n",
|
||
"L 86.523125 122.017011 \n",
|
||
"L 90.863125 121.430713 \n",
|
||
"L 95.203125 122.369264 \n",
|
||
"L 99.543125 125.328357 \n",
|
||
"L 103.883125 125.567811 \n",
|
||
"L 108.223125 125.851595 \n",
|
||
"L 112.563125 126.112816 \n",
|
||
"L 116.903125 126.298821 \n",
|
||
"L 121.243125 128.478373 \n",
|
||
"L 125.583125 127.962033 \n",
|
||
"L 129.923125 128.721506 \n",
|
||
"L 134.263125 128.759299 \n",
|
||
"L 138.603125 129.105499 \n",
|
||
"L 142.943125 128.598937 \n",
|
||
"L 147.283125 130.018452 \n",
|
||
"L 151.623125 130.154125 \n",
|
||
"L 155.963125 130.777771 \n",
|
||
"L 160.303125 131.204822 \n",
|
||
"L 164.643125 132.811009 \n",
|
||
"L 168.983125 132.908076 \n",
|
||
"L 173.323125 133.309402 \n",
|
||
"L 177.663125 133.06857 \n",
|
||
"L 182.003125 133.265446 \n",
|
||
"L 186.343125 133.84875 \n",
|
||
"L 190.683125 134.321602 \n",
|
||
"L 195.023125 134.833822 \n",
|
||
"L 199.363125 135.069339 \n",
|
||
"L 203.703125 134.965618 \n",
|
||
"L 208.043125 136.922727 \n",
|
||
"L 212.383125 136.173997 \n",
|
||
"L 216.723125 136.159232 \n",
|
||
"L 221.063125 136.218643 \n",
|
||
"L 225.403125 135.847372 \n",
|
||
"\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_20\">\n",
|
||
" <path clip-path=\"url(#pa12f7f6824)\" d=\"M 12.743125 88.649672 \n",
|
||
"L 17.083125 78.032121 \n",
|
||
"L 21.423125 73.867815 \n",
|
||
"L 25.763125 71.076682 \n",
|
||
"L 30.103125 68.951682 \n",
|
||
"L 34.443125 60.86222 \n",
|
||
"L 38.783125 60.021736 \n",
|
||
"L 43.123125 59.326096 \n",
|
||
"L 47.463125 58.85249 \n",
|
||
"L 51.803125 58.203773 \n",
|
||
"L 56.143125 55.853618 \n",
|
||
"L 60.483125 55.253272 \n",
|
||
"L 64.823125 54.900687 \n",
|
||
"L 69.163125 54.767277 \n",
|
||
"L 73.503125 54.690695 \n",
|
||
"L 77.843125 52.262976 \n",
|
||
"L 82.183125 52.74897 \n",
|
||
"L 86.523125 52.548855 \n",
|
||
"L 90.863125 52.897628 \n",
|
||
"L 95.203125 52.500754 \n",
|
||
"L 99.543125 51.999967 \n",
|
||
"L 103.883125 51.782699 \n",
|
||
"L 108.223125 51.515878 \n",
|
||
"L 112.563125 51.299563 \n",
|
||
"L 116.903125 51.212014 \n",
|
||
"L 121.243125 50.227516 \n",
|
||
"L 125.583125 50.376174 \n",
|
||
"L 129.923125 50.170341 \n",
|
||
"L 134.263125 50.141753 \n",
|
||
"L 138.603125 50.083793 \n",
|
||
"L 142.943125 50.513396 \n",
|
||
"L 147.283125 49.844438 \n",
|
||
"L 151.623125 49.876838 \n",
|
||
"L 155.963125 49.670052 \n",
|
||
"L 160.303125 49.563252 \n",
|
||
"L 164.643125 48.72951 \n",
|
||
"L 168.983125 48.75238 \n",
|
||
"L 173.323125 48.573229 \n",
|
||
"L 177.663125 48.720933 \n",
|
||
"L 182.003125 48.703328 \n",
|
||
"L 186.343125 48.192057 \n",
|
||
"L 190.683125 48.277821 \n",
|
||
"L 195.023125 48.100576 \n",
|
||
"L 199.363125 48.054835 \n",
|
||
"L 203.703125 48.086475 \n",
|
||
"L 208.043125 47.563123 \n",
|
||
"L 212.383125 47.849002 \n",
|
||
"L 216.723125 47.784203 \n",
|
||
"L 221.063125 47.794685 \n",
|
||
"L 225.403125 47.900732 \n",
|
||
"\" style=\"fill:none;stroke:#bf00bf;stroke-dasharray:5.55,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_21\">\n",
|
||
" <path clip-path=\"url(#pa12f7f6824)\" d=\"M 30.103125 66.926847 \n",
|
||
"L 51.803125 57.44704 \n",
|
||
"L 73.503125 60.749149 \n",
|
||
"L 95.203125 57.144346 \n",
|
||
"L 116.903125 57.680939 \n",
|
||
"L 138.603125 54.695281 \n",
|
||
"L 160.303125 55.328186 \n",
|
||
"L 182.003125 53.608337 \n",
|
||
"L 203.703125 53.91103 \n",
|
||
"L 225.403125 54.103653 \n",
|
||
"\" style=\"fill:none;stroke:#008000;stroke-dasharray:9.6,2.4,1.5,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_3\">\n",
|
||
" <path d=\"M 30.103125 143.1 \n",
|
||
"L 30.103125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_4\">\n",
|
||
" <path d=\"M 225.403125 143.1 \n",
|
||
"L 225.403125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_5\">\n",
|
||
" <path d=\"M 30.103125 143.1 \n",
|
||
"L 225.403125 143.1 \n",
|
||
"\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_6\">\n",
|
||
" <path d=\"M 30.103125 7.2 \n",
|
||
"L 225.403125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"legend_1\">\n",
|
||
" <g id=\"patch_7\">\n",
|
||
" <path d=\"M 140.634375 98.667187 \n",
|
||
"L 218.403125 98.667187 \n",
|
||
"Q 220.403125 98.667187 220.403125 96.667187 \n",
|
||
"L 220.403125 53.632812 \n",
|
||
"Q 220.403125 51.632812 218.403125 51.632812 \n",
|
||
"L 140.634375 51.632812 \n",
|
||
"Q 138.634375 51.632812 138.634375 53.632812 \n",
|
||
"L 138.634375 96.667187 \n",
|
||
"Q 138.634375 98.667187 140.634375 98.667187 \n",
|
||
"z\n",
|
||
"\" style=\"fill:#ffffff;opacity:0.8;stroke:#cccccc;stroke-linejoin:miter;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_22\">\n",
|
||
" <path d=\"M 142.634375 59.73125 \n",
|
||
"L 162.634375 59.73125 \n",
|
||
"\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_23\"/>\n",
|
||
" <g id=\"text_11\">\n",
|
||
" <!-- train loss -->\n",
|
||
" <g transform=\"translate(170.634375 63.23125)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 18.3125 70.21875 \n",
|
||
"L 18.3125 54.6875 \n",
|
||
"L 36.8125 54.6875 \n",
|
||
"L 36.8125 47.703125 \n",
|
||
"L 18.3125 47.703125 \n",
|
||
"L 18.3125 18.015625 \n",
|
||
"Q 18.3125 11.328125 20.140625 9.421875 \n",
|
||
"Q 21.96875 7.515625 27.59375 7.515625 \n",
|
||
"L 36.8125 7.515625 \n",
|
||
"L 36.8125 0 \n",
|
||
"L 27.59375 0 \n",
|
||
"Q 17.1875 0 13.234375 3.875 \n",
|
||
"Q 9.28125 7.765625 9.28125 18.015625 \n",
|
||
"L 9.28125 47.703125 \n",
|
||
"L 2.6875 47.703125 \n",
|
||
"L 2.6875 54.6875 \n",
|
||
"L 9.28125 54.6875 \n",
|
||
"L 9.28125 70.21875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-116\"/>\n",
|
||
" <path d=\"M 41.109375 46.296875 \n",
|
||
"Q 39.59375 47.171875 37.8125 47.578125 \n",
|
||
"Q 36.03125 48 33.890625 48 \n",
|
||
"Q 26.265625 48 22.1875 43.046875 \n",
|
||
"Q 18.109375 38.09375 18.109375 28.8125 \n",
|
||
"L 18.109375 0 \n",
|
||
"L 9.078125 0 \n",
|
||
"L 9.078125 54.6875 \n",
|
||
"L 18.109375 54.6875 \n",
|
||
"L 18.109375 46.1875 \n",
|
||
"Q 20.953125 51.171875 25.484375 53.578125 \n",
|
||
"Q 30.03125 56 36.53125 56 \n",
|
||
"Q 37.453125 56 38.578125 55.875 \n",
|
||
"Q 39.703125 55.765625 41.0625 55.515625 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-114\"/>\n",
|
||
" <path d=\"M 34.28125 27.484375 \n",
|
||
"Q 23.390625 27.484375 19.1875 25 \n",
|
||
"Q 14.984375 22.515625 14.984375 16.5 \n",
|
||
"Q 14.984375 11.71875 18.140625 8.90625 \n",
|
||
"Q 21.296875 6.109375 26.703125 6.109375 \n",
|
||
"Q 34.1875 6.109375 38.703125 11.40625 \n",
|
||
"Q 43.21875 16.703125 43.21875 25.484375 \n",
|
||
"L 43.21875 27.484375 \n",
|
||
"z\n",
|
||
"M 52.203125 31.203125 \n",
|
||
"L 52.203125 0 \n",
|
||
"L 43.21875 0 \n",
|
||
"L 43.21875 8.296875 \n",
|
||
"Q 40.140625 3.328125 35.546875 0.953125 \n",
|
||
"Q 30.953125 -1.421875 24.3125 -1.421875 \n",
|
||
"Q 15.921875 -1.421875 10.953125 3.296875 \n",
|
||
"Q 6 8.015625 6 15.921875 \n",
|
||
"Q 6 25.140625 12.171875 29.828125 \n",
|
||
"Q 18.359375 34.515625 30.609375 34.515625 \n",
|
||
"L 43.21875 34.515625 \n",
|
||
"L 43.21875 35.40625 \n",
|
||
"Q 43.21875 41.609375 39.140625 45 \n",
|
||
"Q 35.0625 48.390625 27.6875 48.390625 \n",
|
||
"Q 23 48.390625 18.546875 47.265625 \n",
|
||
"Q 14.109375 46.140625 10.015625 43.890625 \n",
|
||
"L 10.015625 52.203125 \n",
|
||
"Q 14.9375 54.109375 19.578125 55.046875 \n",
|
||
"Q 24.21875 56 28.609375 56 \n",
|
||
"Q 40.484375 56 46.34375 49.84375 \n",
|
||
"Q 52.203125 43.703125 52.203125 31.203125 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-97\"/>\n",
|
||
" <path d=\"M 9.421875 54.6875 \n",
|
||
"L 18.40625 54.6875 \n",
|
||
"L 18.40625 0 \n",
|
||
"L 9.421875 0 \n",
|
||
"z\n",
|
||
"M 9.421875 75.984375 \n",
|
||
"L 18.40625 75.984375 \n",
|
||
"L 18.40625 64.59375 \n",
|
||
"L 9.421875 64.59375 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-105\"/>\n",
|
||
" <path d=\"M 54.890625 33.015625 \n",
|
||
"L 54.890625 0 \n",
|
||
"L 45.90625 0 \n",
|
||
"L 45.90625 32.71875 \n",
|
||
"Q 45.90625 40.484375 42.875 44.328125 \n",
|
||
"Q 39.84375 48.1875 33.796875 48.1875 \n",
|
||
"Q 26.515625 48.1875 22.3125 43.546875 \n",
|
||
"Q 18.109375 38.921875 18.109375 30.90625 \n",
|
||
"L 18.109375 0 \n",
|
||
"L 9.078125 0 \n",
|
||
"L 9.078125 54.6875 \n",
|
||
"L 18.109375 54.6875 \n",
|
||
"L 18.109375 46.1875 \n",
|
||
"Q 21.34375 51.125 25.703125 53.5625 \n",
|
||
"Q 30.078125 56 35.796875 56 \n",
|
||
"Q 45.21875 56 50.046875 50.171875 \n",
|
||
"Q 54.890625 44.34375 54.890625 33.015625 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-110\"/>\n",
|
||
" <path id=\"DejaVuSans-32\"/>\n",
|
||
" <path d=\"M 9.421875 75.984375 \n",
|
||
"L 18.40625 75.984375 \n",
|
||
"L 18.40625 0 \n",
|
||
"L 9.421875 0 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-108\"/>\n",
|
||
" <path d=\"M 44.28125 53.078125 \n",
|
||
"L 44.28125 44.578125 \n",
|
||
"Q 40.484375 46.53125 36.375 47.5 \n",
|
||
"Q 32.28125 48.484375 27.875 48.484375 \n",
|
||
"Q 21.1875 48.484375 17.84375 46.4375 \n",
|
||
"Q 14.5 44.390625 14.5 40.28125 \n",
|
||
"Q 14.5 37.15625 16.890625 35.375 \n",
|
||
"Q 19.28125 33.59375 26.515625 31.984375 \n",
|
||
"L 29.59375 31.296875 \n",
|
||
"Q 39.15625 29.25 43.1875 25.515625 \n",
|
||
"Q 47.21875 21.78125 47.21875 15.09375 \n",
|
||
"Q 47.21875 7.46875 41.1875 3.015625 \n",
|
||
"Q 35.15625 -1.421875 24.609375 -1.421875 \n",
|
||
"Q 20.21875 -1.421875 15.453125 -0.5625 \n",
|
||
"Q 10.6875 0.296875 5.421875 2 \n",
|
||
"L 5.421875 11.28125 \n",
|
||
"Q 10.40625 8.6875 15.234375 7.390625 \n",
|
||
"Q 20.0625 6.109375 24.8125 6.109375 \n",
|
||
"Q 31.15625 6.109375 34.5625 8.28125 \n",
|
||
"Q 37.984375 10.453125 37.984375 14.40625 \n",
|
||
"Q 37.984375 18.0625 35.515625 20.015625 \n",
|
||
"Q 33.0625 21.96875 24.703125 23.78125 \n",
|
||
"L 21.578125 24.515625 \n",
|
||
"Q 13.234375 26.265625 9.515625 29.90625 \n",
|
||
"Q 5.8125 33.546875 5.8125 39.890625 \n",
|
||
"Q 5.8125 47.609375 11.28125 51.796875 \n",
|
||
"Q 16.75 56 26.8125 56 \n",
|
||
"Q 31.78125 56 36.171875 55.265625 \n",
|
||
"Q 40.578125 54.546875 44.28125 53.078125 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-115\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"39.208984\" xlink:href=\"#DejaVuSans-114\"/>\n",
|
||
" <use x=\"80.322266\" xlink:href=\"#DejaVuSans-97\"/>\n",
|
||
" <use x=\"141.601562\" xlink:href=\"#DejaVuSans-105\"/>\n",
|
||
" <use x=\"169.384766\" xlink:href=\"#DejaVuSans-110\"/>\n",
|
||
" <use x=\"232.763672\" xlink:href=\"#DejaVuSans-32\"/>\n",
|
||
" <use x=\"264.550781\" xlink:href=\"#DejaVuSans-108\"/>\n",
|
||
" <use x=\"292.333984\" xlink:href=\"#DejaVuSans-111\"/>\n",
|
||
" <use x=\"353.515625\" xlink:href=\"#DejaVuSans-115\"/>\n",
|
||
" <use x=\"405.615234\" xlink:href=\"#DejaVuSans-115\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_24\">\n",
|
||
" <path d=\"M 142.634375 74.409375 \n",
|
||
"L 162.634375 74.409375 \n",
|
||
"\" style=\"fill:none;stroke:#bf00bf;stroke-dasharray:5.55,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_25\"/>\n",
|
||
" <g id=\"text_12\">\n",
|
||
" <!-- train acc -->\n",
|
||
" <g transform=\"translate(170.634375 77.909375)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"39.208984\" xlink:href=\"#DejaVuSans-114\"/>\n",
|
||
" <use x=\"80.322266\" xlink:href=\"#DejaVuSans-97\"/>\n",
|
||
" <use x=\"141.601562\" xlink:href=\"#DejaVuSans-105\"/>\n",
|
||
" <use x=\"169.384766\" xlink:href=\"#DejaVuSans-110\"/>\n",
|
||
" <use x=\"232.763672\" xlink:href=\"#DejaVuSans-32\"/>\n",
|
||
" <use x=\"264.550781\" xlink:href=\"#DejaVuSans-97\"/>\n",
|
||
" <use x=\"325.830078\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" <use x=\"380.810547\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_26\">\n",
|
||
" <path d=\"M 142.634375 89.0875 \n",
|
||
"L 162.634375 89.0875 \n",
|
||
"\" style=\"fill:none;stroke:#008000;stroke-dasharray:9.6,2.4,1.5,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_27\"/>\n",
|
||
" <g id=\"text_13\">\n",
|
||
" <!-- test acc -->\n",
|
||
" <g transform=\"translate(170.634375 92.5875)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"39.208984\" xlink:href=\"#DejaVuSans-101\"/>\n",
|
||
" <use x=\"100.732422\" xlink:href=\"#DejaVuSans-115\"/>\n",
|
||
" <use x=\"152.832031\" xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"192.041016\" xlink:href=\"#DejaVuSans-32\"/>\n",
|
||
" <use x=\"223.828125\" xlink:href=\"#DejaVuSans-97\"/>\n",
|
||
" <use x=\"285.107422\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" <use x=\"340.087891\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <defs>\n",
|
||
" <clipPath id=\"pa12f7f6824\">\n",
|
||
" <rect height=\"135.9\" width=\"195.3\" x=\"30.103125\" y=\"7.2\"/>\n",
|
||
" </clipPath>\n",
|
||
" </defs>\n",
|
||
"</svg>\n"
|
||
],
|
||
"text/plain": [
|
||
"<Figure size 252x180 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"lr, num_epochs, batch_size = 1.0, 10, 256\n",
|
||
"train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size)\n",
|
||
"d2l.train_ch6(net, train_iter, test_iter, num_epochs, lr, d2l.try_gpu())"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "b8bc077b-1747-4de4-87c1-4da4e574df34",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"拉伸参数`gamma`和偏移参数`beta`"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"id": "ed6c4a56-a677-4c93-9d13-8a3b5f5c489d",
|
||
"metadata": {
|
||
"origin_pos": 17,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"(tensor([2.9182, 3.9908, 2.5709, 2.1960, 3.0324, 2.0170], device='cuda:0',\n",
|
||
" grad_fn=<ReshapeAliasBackward0>),\n",
|
||
" tensor([-0.4980, 2.6303, -2.3259, -1.4185, -3.2187, -2.1353], device='cuda:0',\n",
|
||
" grad_fn=<ReshapeAliasBackward0>))"
|
||
]
|
||
},
|
||
"execution_count": 6,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"net[1].gamma.reshape((-1,)), net[1].beta.reshape((-1,))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "57715920-0def-4217-96b1-4425f07b02f6",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"简明实现"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 7,
|
||
"id": "ff5c985a-76c9-4a4a-bccc-feb3179e3c4b",
|
||
"metadata": {
|
||
"origin_pos": 21,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"net = nn.Sequential(\n",
|
||
" nn.Conv2d(1, 6, kernel_size=5), nn.BatchNorm2d(6), nn.Sigmoid(),\n",
|
||
" nn.AvgPool2d(kernel_size=2, stride=2),\n",
|
||
" nn.Conv2d(6, 16, kernel_size=5), nn.BatchNorm2d(16), nn.Sigmoid(),\n",
|
||
" nn.AvgPool2d(kernel_size=2, stride=2), nn.Flatten(),\n",
|
||
" nn.Linear(256, 120), nn.BatchNorm1d(120), nn.Sigmoid(),\n",
|
||
" nn.Linear(120, 84), nn.BatchNorm1d(84), nn.Sigmoid(),\n",
|
||
" nn.Linear(84, 10))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "c991fda9-53a2-4510-9ee5-2968b3f521a5",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"使用相同超参数来训练模型。注意:通常高级API运行速度快得多,因为它的代码已编译为C++或CUDA"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 8,
|
||
"id": "2e6a118b-c4db-4db0-a15f-ab361efb2051",
|
||
"metadata": {
|
||
"origin_pos": 24,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"loss 0.281, train acc 0.896, test acc 0.843\n",
|
||
"55970.4 examples/sec on cuda:0\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/svg+xml": [
|
||
"<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n",
|
||
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
||
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
||
"<!-- Created with matplotlib (https://matplotlib.org/) -->\n",
|
||
"<svg height=\"180.65625pt\" version=\"1.1\" viewBox=\"0 0 238.965625 180.65625\" width=\"238.965625pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
||
" <metadata>\n",
|
||
" <rdf:RDF xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n",
|
||
" <cc:Work>\n",
|
||
" <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\n",
|
||
" <dc:date>2022-03-22T20:00:16.979860</dc:date>\n",
|
||
" <dc:format>image/svg+xml</dc:format>\n",
|
||
" <dc:creator>\n",
|
||
" <cc:Agent>\n",
|
||
" <dc:title>Matplotlib v3.3.3, https://matplotlib.org/</dc:title>\n",
|
||
" </cc:Agent>\n",
|
||
" </dc:creator>\n",
|
||
" </cc:Work>\n",
|
||
" </rdf:RDF>\n",
|
||
" </metadata>\n",
|
||
" <defs>\n",
|
||
" <style type=\"text/css\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\n",
|
||
" </defs>\n",
|
||
" <g id=\"figure_1\">\n",
|
||
" <g id=\"patch_1\">\n",
|
||
" <path d=\"M 0 180.65625 \n",
|
||
"L 238.965625 180.65625 \n",
|
||
"L 238.965625 0 \n",
|
||
"L 0 0 \n",
|
||
"z\n",
|
||
"\" style=\"fill:none;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"axes_1\">\n",
|
||
" <g id=\"patch_2\">\n",
|
||
" <path d=\"M 30.103125 143.1 \n",
|
||
"L 225.403125 143.1 \n",
|
||
"L 225.403125 7.2 \n",
|
||
"L 30.103125 7.2 \n",
|
||
"z\n",
|
||
"\" style=\"fill:#ffffff;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"matplotlib.axis_1\">\n",
|
||
" <g id=\"xtick_1\">\n",
|
||
" <g id=\"line2d_1\">\n",
|
||
" <path clip-path=\"url(#pff870b7ffb)\" d=\"M 51.803125 143.1 \n",
|
||
"L 51.803125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_2\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 0 0 \n",
|
||
"L 0 3.5 \n",
|
||
"\" id=\"m77122eb10e\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
|
||
" </defs>\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"51.803125\" xlink:href=\"#m77122eb10e\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_1\">\n",
|
||
" <!-- 2 -->\n",
|
||
" <g transform=\"translate(48.621875 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 19.1875 8.296875 \n",
|
||
"L 53.609375 8.296875 \n",
|
||
"L 53.609375 0 \n",
|
||
"L 7.328125 0 \n",
|
||
"L 7.328125 8.296875 \n",
|
||
"Q 12.9375 14.109375 22.625 23.890625 \n",
|
||
"Q 32.328125 33.6875 34.8125 36.53125 \n",
|
||
"Q 39.546875 41.84375 41.421875 45.53125 \n",
|
||
"Q 43.3125 49.21875 43.3125 52.78125 \n",
|
||
"Q 43.3125 58.59375 39.234375 62.25 \n",
|
||
"Q 35.15625 65.921875 28.609375 65.921875 \n",
|
||
"Q 23.96875 65.921875 18.8125 64.3125 \n",
|
||
"Q 13.671875 62.703125 7.8125 59.421875 \n",
|
||
"L 7.8125 69.390625 \n",
|
||
"Q 13.765625 71.78125 18.9375 73 \n",
|
||
"Q 24.125 74.21875 28.421875 74.21875 \n",
|
||
"Q 39.75 74.21875 46.484375 68.546875 \n",
|
||
"Q 53.21875 62.890625 53.21875 53.421875 \n",
|
||
"Q 53.21875 48.921875 51.53125 44.890625 \n",
|
||
"Q 49.859375 40.875 45.40625 35.40625 \n",
|
||
"Q 44.1875 33.984375 37.640625 27.21875 \n",
|
||
"Q 31.109375 20.453125 19.1875 8.296875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-50\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-50\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_2\">\n",
|
||
" <g id=\"line2d_3\">\n",
|
||
" <path clip-path=\"url(#pff870b7ffb)\" d=\"M 95.203125 143.1 \n",
|
||
"L 95.203125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_4\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"95.203125\" xlink:href=\"#m77122eb10e\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_2\">\n",
|
||
" <!-- 4 -->\n",
|
||
" <g transform=\"translate(92.021875 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 37.796875 64.3125 \n",
|
||
"L 12.890625 25.390625 \n",
|
||
"L 37.796875 25.390625 \n",
|
||
"z\n",
|
||
"M 35.203125 72.90625 \n",
|
||
"L 47.609375 72.90625 \n",
|
||
"L 47.609375 25.390625 \n",
|
||
"L 58.015625 25.390625 \n",
|
||
"L 58.015625 17.1875 \n",
|
||
"L 47.609375 17.1875 \n",
|
||
"L 47.609375 0 \n",
|
||
"L 37.796875 0 \n",
|
||
"L 37.796875 17.1875 \n",
|
||
"L 4.890625 17.1875 \n",
|
||
"L 4.890625 26.703125 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-52\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-52\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_3\">\n",
|
||
" <g id=\"line2d_5\">\n",
|
||
" <path clip-path=\"url(#pff870b7ffb)\" d=\"M 138.603125 143.1 \n",
|
||
"L 138.603125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_6\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"138.603125\" xlink:href=\"#m77122eb10e\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_3\">\n",
|
||
" <!-- 6 -->\n",
|
||
" <g transform=\"translate(135.421875 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 33.015625 40.375 \n",
|
||
"Q 26.375 40.375 22.484375 35.828125 \n",
|
||
"Q 18.609375 31.296875 18.609375 23.390625 \n",
|
||
"Q 18.609375 15.53125 22.484375 10.953125 \n",
|
||
"Q 26.375 6.390625 33.015625 6.390625 \n",
|
||
"Q 39.65625 6.390625 43.53125 10.953125 \n",
|
||
"Q 47.40625 15.53125 47.40625 23.390625 \n",
|
||
"Q 47.40625 31.296875 43.53125 35.828125 \n",
|
||
"Q 39.65625 40.375 33.015625 40.375 \n",
|
||
"z\n",
|
||
"M 52.59375 71.296875 \n",
|
||
"L 52.59375 62.3125 \n",
|
||
"Q 48.875 64.0625 45.09375 64.984375 \n",
|
||
"Q 41.3125 65.921875 37.59375 65.921875 \n",
|
||
"Q 27.828125 65.921875 22.671875 59.328125 \n",
|
||
"Q 17.53125 52.734375 16.796875 39.40625 \n",
|
||
"Q 19.671875 43.65625 24.015625 45.921875 \n",
|
||
"Q 28.375 48.1875 33.59375 48.1875 \n",
|
||
"Q 44.578125 48.1875 50.953125 41.515625 \n",
|
||
"Q 57.328125 34.859375 57.328125 23.390625 \n",
|
||
"Q 57.328125 12.15625 50.6875 5.359375 \n",
|
||
"Q 44.046875 -1.421875 33.015625 -1.421875 \n",
|
||
"Q 20.359375 -1.421875 13.671875 8.265625 \n",
|
||
"Q 6.984375 17.96875 6.984375 36.375 \n",
|
||
"Q 6.984375 53.65625 15.1875 63.9375 \n",
|
||
"Q 23.390625 74.21875 37.203125 74.21875 \n",
|
||
"Q 40.921875 74.21875 44.703125 73.484375 \n",
|
||
"Q 48.484375 72.75 52.59375 71.296875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-54\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-54\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_4\">\n",
|
||
" <g id=\"line2d_7\">\n",
|
||
" <path clip-path=\"url(#pff870b7ffb)\" d=\"M 182.003125 143.1 \n",
|
||
"L 182.003125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_8\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"182.003125\" xlink:href=\"#m77122eb10e\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_4\">\n",
|
||
" <!-- 8 -->\n",
|
||
" <g transform=\"translate(178.821875 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 31.78125 34.625 \n",
|
||
"Q 24.75 34.625 20.71875 30.859375 \n",
|
||
"Q 16.703125 27.09375 16.703125 20.515625 \n",
|
||
"Q 16.703125 13.921875 20.71875 10.15625 \n",
|
||
"Q 24.75 6.390625 31.78125 6.390625 \n",
|
||
"Q 38.8125 6.390625 42.859375 10.171875 \n",
|
||
"Q 46.921875 13.96875 46.921875 20.515625 \n",
|
||
"Q 46.921875 27.09375 42.890625 30.859375 \n",
|
||
"Q 38.875 34.625 31.78125 34.625 \n",
|
||
"z\n",
|
||
"M 21.921875 38.8125 \n",
|
||
"Q 15.578125 40.375 12.03125 44.71875 \n",
|
||
"Q 8.5 49.078125 8.5 55.328125 \n",
|
||
"Q 8.5 64.0625 14.71875 69.140625 \n",
|
||
"Q 20.953125 74.21875 31.78125 74.21875 \n",
|
||
"Q 42.671875 74.21875 48.875 69.140625 \n",
|
||
"Q 55.078125 64.0625 55.078125 55.328125 \n",
|
||
"Q 55.078125 49.078125 51.53125 44.71875 \n",
|
||
"Q 48 40.375 41.703125 38.8125 \n",
|
||
"Q 48.828125 37.15625 52.796875 32.3125 \n",
|
||
"Q 56.78125 27.484375 56.78125 20.515625 \n",
|
||
"Q 56.78125 9.90625 50.3125 4.234375 \n",
|
||
"Q 43.84375 -1.421875 31.78125 -1.421875 \n",
|
||
"Q 19.734375 -1.421875 13.25 4.234375 \n",
|
||
"Q 6.78125 9.90625 6.78125 20.515625 \n",
|
||
"Q 6.78125 27.484375 10.78125 32.3125 \n",
|
||
"Q 14.796875 37.15625 21.921875 38.8125 \n",
|
||
"z\n",
|
||
"M 18.3125 54.390625 \n",
|
||
"Q 18.3125 48.734375 21.84375 45.5625 \n",
|
||
"Q 25.390625 42.390625 31.78125 42.390625 \n",
|
||
"Q 38.140625 42.390625 41.71875 45.5625 \n",
|
||
"Q 45.3125 48.734375 45.3125 54.390625 \n",
|
||
"Q 45.3125 60.0625 41.71875 63.234375 \n",
|
||
"Q 38.140625 66.40625 31.78125 66.40625 \n",
|
||
"Q 25.390625 66.40625 21.84375 63.234375 \n",
|
||
"Q 18.3125 60.0625 18.3125 54.390625 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-56\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-56\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_5\">\n",
|
||
" <g id=\"line2d_9\">\n",
|
||
" <path clip-path=\"url(#pff870b7ffb)\" d=\"M 225.403125 143.1 \n",
|
||
"L 225.403125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_10\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"225.403125\" xlink:href=\"#m77122eb10e\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_5\">\n",
|
||
" <!-- 10 -->\n",
|
||
" <g transform=\"translate(219.040625 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 12.40625 8.296875 \n",
|
||
"L 28.515625 8.296875 \n",
|
||
"L 28.515625 63.921875 \n",
|
||
"L 10.984375 60.40625 \n",
|
||
"L 10.984375 69.390625 \n",
|
||
"L 28.421875 72.90625 \n",
|
||
"L 38.28125 72.90625 \n",
|
||
"L 38.28125 8.296875 \n",
|
||
"L 54.390625 8.296875 \n",
|
||
"L 54.390625 0 \n",
|
||
"L 12.40625 0 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-49\"/>\n",
|
||
" <path d=\"M 31.78125 66.40625 \n",
|
||
"Q 24.171875 66.40625 20.328125 58.90625 \n",
|
||
"Q 16.5 51.421875 16.5 36.375 \n",
|
||
"Q 16.5 21.390625 20.328125 13.890625 \n",
|
||
"Q 24.171875 6.390625 31.78125 6.390625 \n",
|
||
"Q 39.453125 6.390625 43.28125 13.890625 \n",
|
||
"Q 47.125 21.390625 47.125 36.375 \n",
|
||
"Q 47.125 51.421875 43.28125 58.90625 \n",
|
||
"Q 39.453125 66.40625 31.78125 66.40625 \n",
|
||
"z\n",
|
||
"M 31.78125 74.21875 \n",
|
||
"Q 44.046875 74.21875 50.515625 64.515625 \n",
|
||
"Q 56.984375 54.828125 56.984375 36.375 \n",
|
||
"Q 56.984375 17.96875 50.515625 8.265625 \n",
|
||
"Q 44.046875 -1.421875 31.78125 -1.421875 \n",
|
||
"Q 19.53125 -1.421875 13.0625 8.265625 \n",
|
||
"Q 6.59375 17.96875 6.59375 36.375 \n",
|
||
"Q 6.59375 54.828125 13.0625 64.515625 \n",
|
||
"Q 19.53125 74.21875 31.78125 74.21875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-48\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-49\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_6\">\n",
|
||
" <!-- epoch -->\n",
|
||
" <g transform=\"translate(112.525 171.376563)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 56.203125 29.59375 \n",
|
||
"L 56.203125 25.203125 \n",
|
||
"L 14.890625 25.203125 \n",
|
||
"Q 15.484375 15.921875 20.484375 11.0625 \n",
|
||
"Q 25.484375 6.203125 34.421875 6.203125 \n",
|
||
"Q 39.59375 6.203125 44.453125 7.46875 \n",
|
||
"Q 49.3125 8.734375 54.109375 11.28125 \n",
|
||
"L 54.109375 2.78125 \n",
|
||
"Q 49.265625 0.734375 44.1875 -0.34375 \n",
|
||
"Q 39.109375 -1.421875 33.890625 -1.421875 \n",
|
||
"Q 20.796875 -1.421875 13.15625 6.1875 \n",
|
||
"Q 5.515625 13.8125 5.515625 26.8125 \n",
|
||
"Q 5.515625 40.234375 12.765625 48.109375 \n",
|
||
"Q 20.015625 56 32.328125 56 \n",
|
||
"Q 43.359375 56 49.78125 48.890625 \n",
|
||
"Q 56.203125 41.796875 56.203125 29.59375 \n",
|
||
"z\n",
|
||
"M 47.21875 32.234375 \n",
|
||
"Q 47.125 39.59375 43.09375 43.984375 \n",
|
||
"Q 39.0625 48.390625 32.421875 48.390625 \n",
|
||
"Q 24.90625 48.390625 20.390625 44.140625 \n",
|
||
"Q 15.875 39.890625 15.1875 32.171875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-101\"/>\n",
|
||
" <path d=\"M 18.109375 8.203125 \n",
|
||
"L 18.109375 -20.796875 \n",
|
||
"L 9.078125 -20.796875 \n",
|
||
"L 9.078125 54.6875 \n",
|
||
"L 18.109375 54.6875 \n",
|
||
"L 18.109375 46.390625 \n",
|
||
"Q 20.953125 51.265625 25.265625 53.625 \n",
|
||
"Q 29.59375 56 35.59375 56 \n",
|
||
"Q 45.5625 56 51.78125 48.09375 \n",
|
||
"Q 58.015625 40.1875 58.015625 27.296875 \n",
|
||
"Q 58.015625 14.40625 51.78125 6.484375 \n",
|
||
"Q 45.5625 -1.421875 35.59375 -1.421875 \n",
|
||
"Q 29.59375 -1.421875 25.265625 0.953125 \n",
|
||
"Q 20.953125 3.328125 18.109375 8.203125 \n",
|
||
"z\n",
|
||
"M 48.6875 27.296875 \n",
|
||
"Q 48.6875 37.203125 44.609375 42.84375 \n",
|
||
"Q 40.53125 48.484375 33.40625 48.484375 \n",
|
||
"Q 26.265625 48.484375 22.1875 42.84375 \n",
|
||
"Q 18.109375 37.203125 18.109375 27.296875 \n",
|
||
"Q 18.109375 17.390625 22.1875 11.75 \n",
|
||
"Q 26.265625 6.109375 33.40625 6.109375 \n",
|
||
"Q 40.53125 6.109375 44.609375 11.75 \n",
|
||
"Q 48.6875 17.390625 48.6875 27.296875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-112\"/>\n",
|
||
" <path d=\"M 30.609375 48.390625 \n",
|
||
"Q 23.390625 48.390625 19.1875 42.75 \n",
|
||
"Q 14.984375 37.109375 14.984375 27.296875 \n",
|
||
"Q 14.984375 17.484375 19.15625 11.84375 \n",
|
||
"Q 23.34375 6.203125 30.609375 6.203125 \n",
|
||
"Q 37.796875 6.203125 41.984375 11.859375 \n",
|
||
"Q 46.1875 17.53125 46.1875 27.296875 \n",
|
||
"Q 46.1875 37.015625 41.984375 42.703125 \n",
|
||
"Q 37.796875 48.390625 30.609375 48.390625 \n",
|
||
"z\n",
|
||
"M 30.609375 56 \n",
|
||
"Q 42.328125 56 49.015625 48.375 \n",
|
||
"Q 55.71875 40.765625 55.71875 27.296875 \n",
|
||
"Q 55.71875 13.875 49.015625 6.21875 \n",
|
||
"Q 42.328125 -1.421875 30.609375 -1.421875 \n",
|
||
"Q 18.84375 -1.421875 12.171875 6.21875 \n",
|
||
"Q 5.515625 13.875 5.515625 27.296875 \n",
|
||
"Q 5.515625 40.765625 12.171875 48.375 \n",
|
||
"Q 18.84375 56 30.609375 56 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-111\"/>\n",
|
||
" <path d=\"M 48.78125 52.59375 \n",
|
||
"L 48.78125 44.1875 \n",
|
||
"Q 44.96875 46.296875 41.140625 47.34375 \n",
|
||
"Q 37.3125 48.390625 33.40625 48.390625 \n",
|
||
"Q 24.65625 48.390625 19.8125 42.84375 \n",
|
||
"Q 14.984375 37.3125 14.984375 27.296875 \n",
|
||
"Q 14.984375 17.28125 19.8125 11.734375 \n",
|
||
"Q 24.65625 6.203125 33.40625 6.203125 \n",
|
||
"Q 37.3125 6.203125 41.140625 7.25 \n",
|
||
"Q 44.96875 8.296875 48.78125 10.40625 \n",
|
||
"L 48.78125 2.09375 \n",
|
||
"Q 45.015625 0.34375 40.984375 -0.53125 \n",
|
||
"Q 36.96875 -1.421875 32.421875 -1.421875 \n",
|
||
"Q 20.0625 -1.421875 12.78125 6.34375 \n",
|
||
"Q 5.515625 14.109375 5.515625 27.296875 \n",
|
||
"Q 5.515625 40.671875 12.859375 48.328125 \n",
|
||
"Q 20.21875 56 33.015625 56 \n",
|
||
"Q 37.15625 56 41.109375 55.140625 \n",
|
||
"Q 45.0625 54.296875 48.78125 52.59375 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-99\"/>\n",
|
||
" <path d=\"M 54.890625 33.015625 \n",
|
||
"L 54.890625 0 \n",
|
||
"L 45.90625 0 \n",
|
||
"L 45.90625 32.71875 \n",
|
||
"Q 45.90625 40.484375 42.875 44.328125 \n",
|
||
"Q 39.84375 48.1875 33.796875 48.1875 \n",
|
||
"Q 26.515625 48.1875 22.3125 43.546875 \n",
|
||
"Q 18.109375 38.921875 18.109375 30.90625 \n",
|
||
"L 18.109375 0 \n",
|
||
"L 9.078125 0 \n",
|
||
"L 9.078125 75.984375 \n",
|
||
"L 18.109375 75.984375 \n",
|
||
"L 18.109375 46.1875 \n",
|
||
"Q 21.34375 51.125 25.703125 53.5625 \n",
|
||
"Q 30.078125 56 35.796875 56 \n",
|
||
"Q 45.21875 56 50.046875 50.171875 \n",
|
||
"Q 54.890625 44.34375 54.890625 33.015625 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-104\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-101\"/>\n",
|
||
" <use x=\"61.523438\" xlink:href=\"#DejaVuSans-112\"/>\n",
|
||
" <use x=\"125\" xlink:href=\"#DejaVuSans-111\"/>\n",
|
||
" <use x=\"186.181641\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" <use x=\"241.162109\" xlink:href=\"#DejaVuSans-104\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"matplotlib.axis_2\">\n",
|
||
" <g id=\"ytick_1\">\n",
|
||
" <g id=\"line2d_11\">\n",
|
||
" <path clip-path=\"url(#pff870b7ffb)\" d=\"M 30.103125 120.519208 \n",
|
||
"L 225.403125 120.519208 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_12\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 0 0 \n",
|
||
"L -3.5 0 \n",
|
||
"\" id=\"m86de3851a4\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
|
||
" </defs>\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#m86de3851a4\" y=\"120.519208\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_7\">\n",
|
||
" <!-- 0.4 -->\n",
|
||
" <g transform=\"translate(7.2 124.318427)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 10.6875 12.40625 \n",
|
||
"L 21 12.40625 \n",
|
||
"L 21 0 \n",
|
||
"L 10.6875 0 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-46\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-52\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"ytick_2\">\n",
|
||
" <g id=\"line2d_13\">\n",
|
||
" <path clip-path=\"url(#pff870b7ffb)\" d=\"M 30.103125 94.113885 \n",
|
||
"L 225.403125 94.113885 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_14\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#m86de3851a4\" y=\"94.113885\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_8\">\n",
|
||
" <!-- 0.6 -->\n",
|
||
" <g transform=\"translate(7.2 97.913104)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-54\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"ytick_3\">\n",
|
||
" <g id=\"line2d_15\">\n",
|
||
" <path clip-path=\"url(#pff870b7ffb)\" d=\"M 30.103125 67.708563 \n",
|
||
"L 225.403125 67.708563 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_16\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#m86de3851a4\" y=\"67.708563\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_9\">\n",
|
||
" <!-- 0.8 -->\n",
|
||
" <g transform=\"translate(7.2 71.507782)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-56\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"ytick_4\">\n",
|
||
" <g id=\"line2d_17\">\n",
|
||
" <path clip-path=\"url(#pff870b7ffb)\" d=\"M 30.103125 41.303241 \n",
|
||
"L 225.403125 41.303241 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_18\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#m86de3851a4\" y=\"41.303241\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_10\">\n",
|
||
" <!-- 1.0 -->\n",
|
||
" <g transform=\"translate(7.2 45.10246)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-49\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"ytick_5\">\n",
|
||
" <g id=\"line2d_19\">\n",
|
||
" <path clip-path=\"url(#pff870b7ffb)\" d=\"M 30.103125 14.897918 \n",
|
||
"L 225.403125 14.897918 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_20\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#m86de3851a4\" y=\"14.897918\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_11\">\n",
|
||
" <!-- 1.2 -->\n",
|
||
" <g transform=\"translate(7.2 18.697137)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-49\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-50\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_21\">\n",
|
||
" <path clip-path=\"url(#pff870b7ffb)\" d=\"M 12.743125 13.377273 \n",
|
||
"L 17.083125 43.641659 \n",
|
||
"L 21.423125 58.493102 \n",
|
||
"L 25.763125 67.312223 \n",
|
||
"L 30.103125 73.753115 \n",
|
||
"L 34.443125 104.280555 \n",
|
||
"L 38.783125 104.947038 \n",
|
||
"L 43.123125 106.754147 \n",
|
||
"L 47.463125 108.24409 \n",
|
||
"L 51.803125 109.625944 \n",
|
||
"L 56.143125 117.026558 \n",
|
||
"L 60.483125 116.517257 \n",
|
||
"L 64.823125 116.792934 \n",
|
||
"L 69.163125 117.683394 \n",
|
||
"L 73.503125 118.066517 \n",
|
||
"L 77.843125 122.429756 \n",
|
||
"L 82.183125 122.035346 \n",
|
||
"L 86.523125 122.712918 \n",
|
||
"L 90.863125 123.118241 \n",
|
||
"L 95.203125 123.839287 \n",
|
||
"L 99.543125 125.349841 \n",
|
||
"L 103.883125 126.42074 \n",
|
||
"L 108.223125 127.068962 \n",
|
||
"L 112.563125 127.341038 \n",
|
||
"L 116.903125 127.405801 \n",
|
||
"L 121.243125 129.060757 \n",
|
||
"L 125.583125 129.155523 \n",
|
||
"L 129.923125 129.640389 \n",
|
||
"L 134.263125 129.701322 \n",
|
||
"L 138.603125 130.02403 \n",
|
||
"L 142.943125 132.375159 \n",
|
||
"L 147.283125 132.23065 \n",
|
||
"L 151.623125 131.565653 \n",
|
||
"L 155.963125 131.925717 \n",
|
||
"L 160.303125 131.96525 \n",
|
||
"L 164.643125 134.362138 \n",
|
||
"L 168.983125 133.589403 \n",
|
||
"L 173.323125 134.087517 \n",
|
||
"L 177.663125 133.330482 \n",
|
||
"L 182.003125 133.739306 \n",
|
||
"L 186.343125 134.164122 \n",
|
||
"L 190.683125 134.174928 \n",
|
||
"L 195.023125 134.618512 \n",
|
||
"L 199.363125 134.853482 \n",
|
||
"L 203.703125 135.180067 \n",
|
||
"L 208.043125 136.922727 \n",
|
||
"L 212.383125 136.457528 \n",
|
||
"L 216.723125 135.911417 \n",
|
||
"L 221.063125 135.808154 \n",
|
||
"L 225.403125 136.242653 \n",
|
||
"\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_22\">\n",
|
||
" <path clip-path=\"url(#pff870b7ffb)\" d=\"M 12.743125 97.451859 \n",
|
||
"L 17.083125 87.850522 \n",
|
||
"L 21.423125 82.766385 \n",
|
||
"L 25.763125 79.801858 \n",
|
||
"L 30.103125 77.507138 \n",
|
||
"L 34.443125 66.409365 \n",
|
||
"L 38.783125 66.272203 \n",
|
||
"L 43.123125 65.571763 \n",
|
||
"L 47.463125 65.10084 \n",
|
||
"L 51.803125 64.572931 \n",
|
||
"L 56.143125 61.471535 \n",
|
||
"L 60.483125 62.053101 \n",
|
||
"L 64.823125 61.877534 \n",
|
||
"L 69.163125 61.534629 \n",
|
||
"L 73.503125 61.417495 \n",
|
||
"L 77.843125 59.715862 \n",
|
||
"L 82.183125 60.012131 \n",
|
||
"L 86.523125 59.726835 \n",
|
||
"L 90.863125 59.630821 \n",
|
||
"L 95.203125 59.344677 \n",
|
||
"L 99.543125 58.618566 \n",
|
||
"L 103.883125 58.437512 \n",
|
||
"L 108.223125 58.344242 \n",
|
||
"L 112.563125 58.209823 \n",
|
||
"L 116.903125 58.21805 \n",
|
||
"L 121.243125 57.576135 \n",
|
||
"L 125.583125 57.61454 \n",
|
||
"L 129.923125 57.404225 \n",
|
||
"L 134.263125 57.285352 \n",
|
||
"L 138.603125 57.199245 \n",
|
||
"L 142.943125 56.47884 \n",
|
||
"L 147.283125 56.341678 \n",
|
||
"L 151.623125 56.672695 \n",
|
||
"L 155.963125 56.561137 \n",
|
||
"L 160.303125 56.444493 \n",
|
||
"L 164.643125 55.535165 \n",
|
||
"L 168.983125 55.902759 \n",
|
||
"L 173.323125 55.710733 \n",
|
||
"L 177.663125 55.985056 \n",
|
||
"L 182.003125 55.848172 \n",
|
||
"L 186.343125 55.425436 \n",
|
||
"L 190.683125 55.546138 \n",
|
||
"L 195.023125 55.440066 \n",
|
||
"L 199.363125 55.337652 \n",
|
||
"L 203.703125 55.315665 \n",
|
||
"L 208.043125 54.909707 \n",
|
||
"L 212.383125 54.882274 \n",
|
||
"L 216.723125 55.154769 \n",
|
||
"L 221.063125 55.126423 \n",
|
||
"L 225.403125 54.9944 \n",
|
||
"\" style=\"fill:none;stroke:#bf00bf;stroke-dasharray:5.55,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_23\">\n",
|
||
" <path clip-path=\"url(#pff870b7ffb)\" d=\"M 30.103125 72.329495 \n",
|
||
"L 51.803125 67.550131 \n",
|
||
"L 73.503125 64.724762 \n",
|
||
"L 95.203125 67.44451 \n",
|
||
"L 116.903125 61.859784 \n",
|
||
"L 138.603125 67.206862 \n",
|
||
"L 160.303125 59.219252 \n",
|
||
"L 182.003125 60.288668 \n",
|
||
"L 203.703125 59.971804 \n",
|
||
"L 225.403125 62.031419 \n",
|
||
"\" style=\"fill:none;stroke:#008000;stroke-dasharray:9.6,2.4,1.5,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_3\">\n",
|
||
" <path d=\"M 30.103125 143.1 \n",
|
||
"L 30.103125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_4\">\n",
|
||
" <path d=\"M 225.403125 143.1 \n",
|
||
"L 225.403125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_5\">\n",
|
||
" <path d=\"M 30.103125 143.1 \n",
|
||
"L 225.403125 143.1 \n",
|
||
"\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_6\">\n",
|
||
" <path d=\"M 30.103125 7.2 \n",
|
||
"L 225.403125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"legend_1\">\n",
|
||
" <g id=\"patch_7\">\n",
|
||
" <path d=\"M 37.103125 59.234375 \n",
|
||
"L 114.871875 59.234375 \n",
|
||
"Q 116.871875 59.234375 116.871875 57.234375 \n",
|
||
"L 116.871875 14.2 \n",
|
||
"Q 116.871875 12.2 114.871875 12.2 \n",
|
||
"L 37.103125 12.2 \n",
|
||
"Q 35.103125 12.2 35.103125 14.2 \n",
|
||
"L 35.103125 57.234375 \n",
|
||
"Q 35.103125 59.234375 37.103125 59.234375 \n",
|
||
"z\n",
|
||
"\" style=\"fill:#ffffff;opacity:0.8;stroke:#cccccc;stroke-linejoin:miter;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_24\">\n",
|
||
" <path d=\"M 39.103125 20.298438 \n",
|
||
"L 59.103125 20.298438 \n",
|
||
"\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_25\"/>\n",
|
||
" <g id=\"text_12\">\n",
|
||
" <!-- train loss -->\n",
|
||
" <g transform=\"translate(67.103125 23.798438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 18.3125 70.21875 \n",
|
||
"L 18.3125 54.6875 \n",
|
||
"L 36.8125 54.6875 \n",
|
||
"L 36.8125 47.703125 \n",
|
||
"L 18.3125 47.703125 \n",
|
||
"L 18.3125 18.015625 \n",
|
||
"Q 18.3125 11.328125 20.140625 9.421875 \n",
|
||
"Q 21.96875 7.515625 27.59375 7.515625 \n",
|
||
"L 36.8125 7.515625 \n",
|
||
"L 36.8125 0 \n",
|
||
"L 27.59375 0 \n",
|
||
"Q 17.1875 0 13.234375 3.875 \n",
|
||
"Q 9.28125 7.765625 9.28125 18.015625 \n",
|
||
"L 9.28125 47.703125 \n",
|
||
"L 2.6875 47.703125 \n",
|
||
"L 2.6875 54.6875 \n",
|
||
"L 9.28125 54.6875 \n",
|
||
"L 9.28125 70.21875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-116\"/>\n",
|
||
" <path d=\"M 41.109375 46.296875 \n",
|
||
"Q 39.59375 47.171875 37.8125 47.578125 \n",
|
||
"Q 36.03125 48 33.890625 48 \n",
|
||
"Q 26.265625 48 22.1875 43.046875 \n",
|
||
"Q 18.109375 38.09375 18.109375 28.8125 \n",
|
||
"L 18.109375 0 \n",
|
||
"L 9.078125 0 \n",
|
||
"L 9.078125 54.6875 \n",
|
||
"L 18.109375 54.6875 \n",
|
||
"L 18.109375 46.1875 \n",
|
||
"Q 20.953125 51.171875 25.484375 53.578125 \n",
|
||
"Q 30.03125 56 36.53125 56 \n",
|
||
"Q 37.453125 56 38.578125 55.875 \n",
|
||
"Q 39.703125 55.765625 41.0625 55.515625 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-114\"/>\n",
|
||
" <path d=\"M 34.28125 27.484375 \n",
|
||
"Q 23.390625 27.484375 19.1875 25 \n",
|
||
"Q 14.984375 22.515625 14.984375 16.5 \n",
|
||
"Q 14.984375 11.71875 18.140625 8.90625 \n",
|
||
"Q 21.296875 6.109375 26.703125 6.109375 \n",
|
||
"Q 34.1875 6.109375 38.703125 11.40625 \n",
|
||
"Q 43.21875 16.703125 43.21875 25.484375 \n",
|
||
"L 43.21875 27.484375 \n",
|
||
"z\n",
|
||
"M 52.203125 31.203125 \n",
|
||
"L 52.203125 0 \n",
|
||
"L 43.21875 0 \n",
|
||
"L 43.21875 8.296875 \n",
|
||
"Q 40.140625 3.328125 35.546875 0.953125 \n",
|
||
"Q 30.953125 -1.421875 24.3125 -1.421875 \n",
|
||
"Q 15.921875 -1.421875 10.953125 3.296875 \n",
|
||
"Q 6 8.015625 6 15.921875 \n",
|
||
"Q 6 25.140625 12.171875 29.828125 \n",
|
||
"Q 18.359375 34.515625 30.609375 34.515625 \n",
|
||
"L 43.21875 34.515625 \n",
|
||
"L 43.21875 35.40625 \n",
|
||
"Q 43.21875 41.609375 39.140625 45 \n",
|
||
"Q 35.0625 48.390625 27.6875 48.390625 \n",
|
||
"Q 23 48.390625 18.546875 47.265625 \n",
|
||
"Q 14.109375 46.140625 10.015625 43.890625 \n",
|
||
"L 10.015625 52.203125 \n",
|
||
"Q 14.9375 54.109375 19.578125 55.046875 \n",
|
||
"Q 24.21875 56 28.609375 56 \n",
|
||
"Q 40.484375 56 46.34375 49.84375 \n",
|
||
"Q 52.203125 43.703125 52.203125 31.203125 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-97\"/>\n",
|
||
" <path d=\"M 9.421875 54.6875 \n",
|
||
"L 18.40625 54.6875 \n",
|
||
"L 18.40625 0 \n",
|
||
"L 9.421875 0 \n",
|
||
"z\n",
|
||
"M 9.421875 75.984375 \n",
|
||
"L 18.40625 75.984375 \n",
|
||
"L 18.40625 64.59375 \n",
|
||
"L 9.421875 64.59375 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-105\"/>\n",
|
||
" <path d=\"M 54.890625 33.015625 \n",
|
||
"L 54.890625 0 \n",
|
||
"L 45.90625 0 \n",
|
||
"L 45.90625 32.71875 \n",
|
||
"Q 45.90625 40.484375 42.875 44.328125 \n",
|
||
"Q 39.84375 48.1875 33.796875 48.1875 \n",
|
||
"Q 26.515625 48.1875 22.3125 43.546875 \n",
|
||
"Q 18.109375 38.921875 18.109375 30.90625 \n",
|
||
"L 18.109375 0 \n",
|
||
"L 9.078125 0 \n",
|
||
"L 9.078125 54.6875 \n",
|
||
"L 18.109375 54.6875 \n",
|
||
"L 18.109375 46.1875 \n",
|
||
"Q 21.34375 51.125 25.703125 53.5625 \n",
|
||
"Q 30.078125 56 35.796875 56 \n",
|
||
"Q 45.21875 56 50.046875 50.171875 \n",
|
||
"Q 54.890625 44.34375 54.890625 33.015625 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-110\"/>\n",
|
||
" <path id=\"DejaVuSans-32\"/>\n",
|
||
" <path d=\"M 9.421875 75.984375 \n",
|
||
"L 18.40625 75.984375 \n",
|
||
"L 18.40625 0 \n",
|
||
"L 9.421875 0 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-108\"/>\n",
|
||
" <path d=\"M 44.28125 53.078125 \n",
|
||
"L 44.28125 44.578125 \n",
|
||
"Q 40.484375 46.53125 36.375 47.5 \n",
|
||
"Q 32.28125 48.484375 27.875 48.484375 \n",
|
||
"Q 21.1875 48.484375 17.84375 46.4375 \n",
|
||
"Q 14.5 44.390625 14.5 40.28125 \n",
|
||
"Q 14.5 37.15625 16.890625 35.375 \n",
|
||
"Q 19.28125 33.59375 26.515625 31.984375 \n",
|
||
"L 29.59375 31.296875 \n",
|
||
"Q 39.15625 29.25 43.1875 25.515625 \n",
|
||
"Q 47.21875 21.78125 47.21875 15.09375 \n",
|
||
"Q 47.21875 7.46875 41.1875 3.015625 \n",
|
||
"Q 35.15625 -1.421875 24.609375 -1.421875 \n",
|
||
"Q 20.21875 -1.421875 15.453125 -0.5625 \n",
|
||
"Q 10.6875 0.296875 5.421875 2 \n",
|
||
"L 5.421875 11.28125 \n",
|
||
"Q 10.40625 8.6875 15.234375 7.390625 \n",
|
||
"Q 20.0625 6.109375 24.8125 6.109375 \n",
|
||
"Q 31.15625 6.109375 34.5625 8.28125 \n",
|
||
"Q 37.984375 10.453125 37.984375 14.40625 \n",
|
||
"Q 37.984375 18.0625 35.515625 20.015625 \n",
|
||
"Q 33.0625 21.96875 24.703125 23.78125 \n",
|
||
"L 21.578125 24.515625 \n",
|
||
"Q 13.234375 26.265625 9.515625 29.90625 \n",
|
||
"Q 5.8125 33.546875 5.8125 39.890625 \n",
|
||
"Q 5.8125 47.609375 11.28125 51.796875 \n",
|
||
"Q 16.75 56 26.8125 56 \n",
|
||
"Q 31.78125 56 36.171875 55.265625 \n",
|
||
"Q 40.578125 54.546875 44.28125 53.078125 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-115\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"39.208984\" xlink:href=\"#DejaVuSans-114\"/>\n",
|
||
" <use x=\"80.322266\" xlink:href=\"#DejaVuSans-97\"/>\n",
|
||
" <use x=\"141.601562\" xlink:href=\"#DejaVuSans-105\"/>\n",
|
||
" <use x=\"169.384766\" xlink:href=\"#DejaVuSans-110\"/>\n",
|
||
" <use x=\"232.763672\" xlink:href=\"#DejaVuSans-32\"/>\n",
|
||
" <use x=\"264.550781\" xlink:href=\"#DejaVuSans-108\"/>\n",
|
||
" <use x=\"292.333984\" xlink:href=\"#DejaVuSans-111\"/>\n",
|
||
" <use x=\"353.515625\" xlink:href=\"#DejaVuSans-115\"/>\n",
|
||
" <use x=\"405.615234\" xlink:href=\"#DejaVuSans-115\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_26\">\n",
|
||
" <path d=\"M 39.103125 34.976562 \n",
|
||
"L 59.103125 34.976562 \n",
|
||
"\" style=\"fill:none;stroke:#bf00bf;stroke-dasharray:5.55,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_27\"/>\n",
|
||
" <g id=\"text_13\">\n",
|
||
" <!-- train acc -->\n",
|
||
" <g transform=\"translate(67.103125 38.476562)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"39.208984\" xlink:href=\"#DejaVuSans-114\"/>\n",
|
||
" <use x=\"80.322266\" xlink:href=\"#DejaVuSans-97\"/>\n",
|
||
" <use x=\"141.601562\" xlink:href=\"#DejaVuSans-105\"/>\n",
|
||
" <use x=\"169.384766\" xlink:href=\"#DejaVuSans-110\"/>\n",
|
||
" <use x=\"232.763672\" xlink:href=\"#DejaVuSans-32\"/>\n",
|
||
" <use x=\"264.550781\" xlink:href=\"#DejaVuSans-97\"/>\n",
|
||
" <use x=\"325.830078\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" <use x=\"380.810547\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_28\">\n",
|
||
" <path d=\"M 39.103125 49.654688 \n",
|
||
"L 59.103125 49.654688 \n",
|
||
"\" style=\"fill:none;stroke:#008000;stroke-dasharray:9.6,2.4,1.5,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_29\"/>\n",
|
||
" <g id=\"text_14\">\n",
|
||
" <!-- test acc -->\n",
|
||
" <g transform=\"translate(67.103125 53.154688)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"39.208984\" xlink:href=\"#DejaVuSans-101\"/>\n",
|
||
" <use x=\"100.732422\" xlink:href=\"#DejaVuSans-115\"/>\n",
|
||
" <use x=\"152.832031\" xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"192.041016\" xlink:href=\"#DejaVuSans-32\"/>\n",
|
||
" <use x=\"223.828125\" xlink:href=\"#DejaVuSans-97\"/>\n",
|
||
" <use x=\"285.107422\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" <use x=\"340.087891\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <defs>\n",
|
||
" <clipPath id=\"pff870b7ffb\">\n",
|
||
" <rect height=\"135.9\" width=\"195.3\" x=\"30.103125\" y=\"7.2\"/>\n",
|
||
" </clipPath>\n",
|
||
" </defs>\n",
|
||
"</svg>\n"
|
||
],
|
||
"text/plain": [
|
||
"<Figure size 252x180 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"d2l.train_ch6(net, train_iter, test_iter, num_epochs, lr, d2l.try_gpu())"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "be2ce66c-0694-4c20-8f9c-e4c62b9e92b1",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "-"
|
||
}
|
||
},
|
||
"source": [
|
||
"## 残差网络(ResNet)\n",
|
||
"\n",
|
||
"残差块"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"id": "b253049d-96a4-4871-a6a1-c9d2de3a9379",
|
||
"metadata": {
|
||
"origin_pos": 2,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"import torch\n",
|
||
"from torch import nn\n",
|
||
"from torch.nn import functional as F\n",
|
||
"from d2l import torch as d2l\n",
|
||
"\n",
|
||
"\n",
|
||
"class Residual(nn.Module): \n",
|
||
" def __init__(self, input_channels, num_channels,\n",
|
||
" use_1x1conv=False, strides=1):\n",
|
||
" super().__init__()\n",
|
||
" self.conv1 = nn.Conv2d(input_channels, num_channels,\n",
|
||
" kernel_size=3, padding=1, stride=strides)\n",
|
||
" self.conv2 = nn.Conv2d(num_channels, num_channels,\n",
|
||
" kernel_size=3, padding=1)\n",
|
||
" if use_1x1conv:\n",
|
||
" self.conv3 = nn.Conv2d(input_channels, num_channels,\n",
|
||
" kernel_size=1, stride=strides)\n",
|
||
" else:\n",
|
||
" self.conv3 = None\n",
|
||
" self.bn1 = nn.BatchNorm2d(num_channels)\n",
|
||
" self.bn2 = nn.BatchNorm2d(num_channels)\n",
|
||
"\n",
|
||
" def forward(self, X):\n",
|
||
" Y = F.relu(self.bn1(self.conv1(X)))\n",
|
||
" Y = self.bn2(self.conv2(Y))\n",
|
||
" if self.conv3:\n",
|
||
" X = self.conv3(X)\n",
|
||
" Y += X\n",
|
||
" return F.relu(Y)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "72824a52-1ed9-4f12-b826-e60d2ce42568",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"输入和输出形状一致"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"id": "02cc50d9-5710-4e2f-bf0f-568f1046321e",
|
||
"metadata": {
|
||
"origin_pos": 6,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"torch.Size([4, 3, 6, 6])"
|
||
]
|
||
},
|
||
"execution_count": 2,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"blk = Residual(3,3)\n",
|
||
"X = torch.rand(4, 3, 6, 6)\n",
|
||
"Y = blk(X)\n",
|
||
"Y.shape"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "c09c8e89-dfdb-4e6f-a75b-b949f8e04d6c",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"增加输出通道数的同时,减半输出的高和宽"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"id": "57b5f05e-853c-460e-afb7-3a3483c7e776",
|
||
"metadata": {
|
||
"origin_pos": 10,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"torch.Size([4, 6, 3, 3])"
|
||
]
|
||
},
|
||
"execution_count": 3,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"blk = Residual(3,6, use_1x1conv=True, strides=2)\n",
|
||
"blk(X).shape"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "57bd6688-aa3a-4758-b0f6-67b786db8c7a",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"ResNet模型"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 7,
|
||
"id": "95fcb71a-7682-4efe-9434-688e4f1606e0",
|
||
"metadata": {
|
||
"origin_pos": 26,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"b1 = nn.Sequential(nn.Conv2d(1, 64, kernel_size=7, stride=2, padding=3),\n",
|
||
" nn.BatchNorm2d(64), nn.ReLU(),\n",
|
||
" nn.MaxPool2d(kernel_size=3, stride=2, padding=1))\n",
|
||
"\n",
|
||
"def resnet_block(input_channels, num_channels, num_residuals,\n",
|
||
" first_block=False):\n",
|
||
" blk = []\n",
|
||
" for i in range(num_residuals):\n",
|
||
" if i == 0 and not first_block:\n",
|
||
" blk.append(Residual(input_channels, num_channels,\n",
|
||
" use_1x1conv=True, strides=2))\n",
|
||
" else:\n",
|
||
" blk.append(Residual(num_channels, num_channels))\n",
|
||
" return blk\n",
|
||
"\n",
|
||
"b2 = nn.Sequential(*resnet_block(64, 64, 2, first_block=True))\n",
|
||
"b3 = nn.Sequential(*resnet_block(64, 128, 2))\n",
|
||
"b4 = nn.Sequential(*resnet_block(128, 256, 2))\n",
|
||
"b5 = nn.Sequential(*resnet_block(256, 512, 2))\n",
|
||
"\n",
|
||
"net = nn.Sequential(b1, b2, b3, b4, b5,\n",
|
||
" nn.AdaptiveAvgPool2d((1,1)),\n",
|
||
" nn.Flatten(), nn.Linear(512, 10))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "ead75736-665d-48b8-9ba9-7634f5ed1395",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"观察一下ResNet中不同模块的输入形状是如何变化的"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 8,
|
||
"id": "caaf4445-c02e-4d4e-af70-ead31c246332",
|
||
"metadata": {
|
||
"origin_pos": 30,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Sequential output shape:\t torch.Size([1, 64, 56, 56])\n",
|
||
"Sequential output shape:\t torch.Size([1, 64, 56, 56])\n",
|
||
"Sequential output shape:\t torch.Size([1, 128, 28, 28])\n",
|
||
"Sequential output shape:\t torch.Size([1, 256, 14, 14])\n",
|
||
"Sequential output shape:\t torch.Size([1, 512, 7, 7])\n",
|
||
"AdaptiveAvgPool2d output shape:\t torch.Size([1, 512, 1, 1])\n",
|
||
"Flatten output shape:\t torch.Size([1, 512])\n",
|
||
"Linear output shape:\t torch.Size([1, 10])\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"X = torch.rand(size=(1, 1, 224, 224))\n",
|
||
"for layer in net:\n",
|
||
" X = layer(X)\n",
|
||
" print(layer.__class__.__name__,'output shape:\\t', X.shape)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "057bd90d-193f-4577-8d4b-e922d8e1ae18",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"训练模型"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 9,
|
||
"id": "bd0e57ed-ed08-4d18-8cdf-4062fad7ffe1",
|
||
"metadata": {
|
||
"origin_pos": 33,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"loss 0.009, train acc 0.998, test acc 0.922\n",
|
||
"4702.7 examples/sec on cuda:0\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/svg+xml": [
|
||
"<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n",
|
||
"<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\n",
|
||
" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\n",
|
||
"<!-- Created with matplotlib (https://matplotlib.org/) -->\n",
|
||
"<svg height=\"180.65625pt\" version=\"1.1\" viewBox=\"0 0 238.965625 180.65625\" width=\"238.965625pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
|
||
" <metadata>\n",
|
||
" <rdf:RDF xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n",
|
||
" <cc:Work>\n",
|
||
" <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\n",
|
||
" <dc:date>2022-01-17T01:46:46.812949</dc:date>\n",
|
||
" <dc:format>image/svg+xml</dc:format>\n",
|
||
" <dc:creator>\n",
|
||
" <cc:Agent>\n",
|
||
" <dc:title>Matplotlib v3.3.3, https://matplotlib.org/</dc:title>\n",
|
||
" </cc:Agent>\n",
|
||
" </dc:creator>\n",
|
||
" </cc:Work>\n",
|
||
" </rdf:RDF>\n",
|
||
" </metadata>\n",
|
||
" <defs>\n",
|
||
" <style type=\"text/css\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\n",
|
||
" </defs>\n",
|
||
" <g id=\"figure_1\">\n",
|
||
" <g id=\"patch_1\">\n",
|
||
" <path d=\"M 0 180.65625 \n",
|
||
"L 238.965625 180.65625 \n",
|
||
"L 238.965625 0 \n",
|
||
"L 0 0 \n",
|
||
"z\n",
|
||
"\" style=\"fill:none;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"axes_1\">\n",
|
||
" <g id=\"patch_2\">\n",
|
||
" <path d=\"M 30.103125 143.1 \n",
|
||
"L 225.403125 143.1 \n",
|
||
"L 225.403125 7.2 \n",
|
||
"L 30.103125 7.2 \n",
|
||
"z\n",
|
||
"\" style=\"fill:#ffffff;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"matplotlib.axis_1\">\n",
|
||
" <g id=\"xtick_1\">\n",
|
||
" <g id=\"line2d_1\">\n",
|
||
" <path clip-path=\"url(#p5bc179852d)\" d=\"M 51.803125 143.1 \n",
|
||
"L 51.803125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_2\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 0 0 \n",
|
||
"L 0 3.5 \n",
|
||
"\" id=\"mff60f23549\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
|
||
" </defs>\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"51.803125\" xlink:href=\"#mff60f23549\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_1\">\n",
|
||
" <!-- 2 -->\n",
|
||
" <g transform=\"translate(48.621875 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 19.1875 8.296875 \n",
|
||
"L 53.609375 8.296875 \n",
|
||
"L 53.609375 0 \n",
|
||
"L 7.328125 0 \n",
|
||
"L 7.328125 8.296875 \n",
|
||
"Q 12.9375 14.109375 22.625 23.890625 \n",
|
||
"Q 32.328125 33.6875 34.8125 36.53125 \n",
|
||
"Q 39.546875 41.84375 41.421875 45.53125 \n",
|
||
"Q 43.3125 49.21875 43.3125 52.78125 \n",
|
||
"Q 43.3125 58.59375 39.234375 62.25 \n",
|
||
"Q 35.15625 65.921875 28.609375 65.921875 \n",
|
||
"Q 23.96875 65.921875 18.8125 64.3125 \n",
|
||
"Q 13.671875 62.703125 7.8125 59.421875 \n",
|
||
"L 7.8125 69.390625 \n",
|
||
"Q 13.765625 71.78125 18.9375 73 \n",
|
||
"Q 24.125 74.21875 28.421875 74.21875 \n",
|
||
"Q 39.75 74.21875 46.484375 68.546875 \n",
|
||
"Q 53.21875 62.890625 53.21875 53.421875 \n",
|
||
"Q 53.21875 48.921875 51.53125 44.890625 \n",
|
||
"Q 49.859375 40.875 45.40625 35.40625 \n",
|
||
"Q 44.1875 33.984375 37.640625 27.21875 \n",
|
||
"Q 31.109375 20.453125 19.1875 8.296875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-50\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-50\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_2\">\n",
|
||
" <g id=\"line2d_3\">\n",
|
||
" <path clip-path=\"url(#p5bc179852d)\" d=\"M 95.203125 143.1 \n",
|
||
"L 95.203125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_4\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"95.203125\" xlink:href=\"#mff60f23549\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_2\">\n",
|
||
" <!-- 4 -->\n",
|
||
" <g transform=\"translate(92.021875 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 37.796875 64.3125 \n",
|
||
"L 12.890625 25.390625 \n",
|
||
"L 37.796875 25.390625 \n",
|
||
"z\n",
|
||
"M 35.203125 72.90625 \n",
|
||
"L 47.609375 72.90625 \n",
|
||
"L 47.609375 25.390625 \n",
|
||
"L 58.015625 25.390625 \n",
|
||
"L 58.015625 17.1875 \n",
|
||
"L 47.609375 17.1875 \n",
|
||
"L 47.609375 0 \n",
|
||
"L 37.796875 0 \n",
|
||
"L 37.796875 17.1875 \n",
|
||
"L 4.890625 17.1875 \n",
|
||
"L 4.890625 26.703125 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-52\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-52\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_3\">\n",
|
||
" <g id=\"line2d_5\">\n",
|
||
" <path clip-path=\"url(#p5bc179852d)\" d=\"M 138.603125 143.1 \n",
|
||
"L 138.603125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_6\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"138.603125\" xlink:href=\"#mff60f23549\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_3\">\n",
|
||
" <!-- 6 -->\n",
|
||
" <g transform=\"translate(135.421875 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 33.015625 40.375 \n",
|
||
"Q 26.375 40.375 22.484375 35.828125 \n",
|
||
"Q 18.609375 31.296875 18.609375 23.390625 \n",
|
||
"Q 18.609375 15.53125 22.484375 10.953125 \n",
|
||
"Q 26.375 6.390625 33.015625 6.390625 \n",
|
||
"Q 39.65625 6.390625 43.53125 10.953125 \n",
|
||
"Q 47.40625 15.53125 47.40625 23.390625 \n",
|
||
"Q 47.40625 31.296875 43.53125 35.828125 \n",
|
||
"Q 39.65625 40.375 33.015625 40.375 \n",
|
||
"z\n",
|
||
"M 52.59375 71.296875 \n",
|
||
"L 52.59375 62.3125 \n",
|
||
"Q 48.875 64.0625 45.09375 64.984375 \n",
|
||
"Q 41.3125 65.921875 37.59375 65.921875 \n",
|
||
"Q 27.828125 65.921875 22.671875 59.328125 \n",
|
||
"Q 17.53125 52.734375 16.796875 39.40625 \n",
|
||
"Q 19.671875 43.65625 24.015625 45.921875 \n",
|
||
"Q 28.375 48.1875 33.59375 48.1875 \n",
|
||
"Q 44.578125 48.1875 50.953125 41.515625 \n",
|
||
"Q 57.328125 34.859375 57.328125 23.390625 \n",
|
||
"Q 57.328125 12.15625 50.6875 5.359375 \n",
|
||
"Q 44.046875 -1.421875 33.015625 -1.421875 \n",
|
||
"Q 20.359375 -1.421875 13.671875 8.265625 \n",
|
||
"Q 6.984375 17.96875 6.984375 36.375 \n",
|
||
"Q 6.984375 53.65625 15.1875 63.9375 \n",
|
||
"Q 23.390625 74.21875 37.203125 74.21875 \n",
|
||
"Q 40.921875 74.21875 44.703125 73.484375 \n",
|
||
"Q 48.484375 72.75 52.59375 71.296875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-54\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-54\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_4\">\n",
|
||
" <g id=\"line2d_7\">\n",
|
||
" <path clip-path=\"url(#p5bc179852d)\" d=\"M 182.003125 143.1 \n",
|
||
"L 182.003125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_8\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"182.003125\" xlink:href=\"#mff60f23549\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_4\">\n",
|
||
" <!-- 8 -->\n",
|
||
" <g transform=\"translate(178.821875 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 31.78125 34.625 \n",
|
||
"Q 24.75 34.625 20.71875 30.859375 \n",
|
||
"Q 16.703125 27.09375 16.703125 20.515625 \n",
|
||
"Q 16.703125 13.921875 20.71875 10.15625 \n",
|
||
"Q 24.75 6.390625 31.78125 6.390625 \n",
|
||
"Q 38.8125 6.390625 42.859375 10.171875 \n",
|
||
"Q 46.921875 13.96875 46.921875 20.515625 \n",
|
||
"Q 46.921875 27.09375 42.890625 30.859375 \n",
|
||
"Q 38.875 34.625 31.78125 34.625 \n",
|
||
"z\n",
|
||
"M 21.921875 38.8125 \n",
|
||
"Q 15.578125 40.375 12.03125 44.71875 \n",
|
||
"Q 8.5 49.078125 8.5 55.328125 \n",
|
||
"Q 8.5 64.0625 14.71875 69.140625 \n",
|
||
"Q 20.953125 74.21875 31.78125 74.21875 \n",
|
||
"Q 42.671875 74.21875 48.875 69.140625 \n",
|
||
"Q 55.078125 64.0625 55.078125 55.328125 \n",
|
||
"Q 55.078125 49.078125 51.53125 44.71875 \n",
|
||
"Q 48 40.375 41.703125 38.8125 \n",
|
||
"Q 48.828125 37.15625 52.796875 32.3125 \n",
|
||
"Q 56.78125 27.484375 56.78125 20.515625 \n",
|
||
"Q 56.78125 9.90625 50.3125 4.234375 \n",
|
||
"Q 43.84375 -1.421875 31.78125 -1.421875 \n",
|
||
"Q 19.734375 -1.421875 13.25 4.234375 \n",
|
||
"Q 6.78125 9.90625 6.78125 20.515625 \n",
|
||
"Q 6.78125 27.484375 10.78125 32.3125 \n",
|
||
"Q 14.796875 37.15625 21.921875 38.8125 \n",
|
||
"z\n",
|
||
"M 18.3125 54.390625 \n",
|
||
"Q 18.3125 48.734375 21.84375 45.5625 \n",
|
||
"Q 25.390625 42.390625 31.78125 42.390625 \n",
|
||
"Q 38.140625 42.390625 41.71875 45.5625 \n",
|
||
"Q 45.3125 48.734375 45.3125 54.390625 \n",
|
||
"Q 45.3125 60.0625 41.71875 63.234375 \n",
|
||
"Q 38.140625 66.40625 31.78125 66.40625 \n",
|
||
"Q 25.390625 66.40625 21.84375 63.234375 \n",
|
||
"Q 18.3125 60.0625 18.3125 54.390625 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-56\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-56\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_5\">\n",
|
||
" <g id=\"line2d_9\">\n",
|
||
" <path clip-path=\"url(#p5bc179852d)\" d=\"M 225.403125 143.1 \n",
|
||
"L 225.403125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_10\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"225.403125\" xlink:href=\"#mff60f23549\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_5\">\n",
|
||
" <!-- 10 -->\n",
|
||
" <g transform=\"translate(219.040625 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 12.40625 8.296875 \n",
|
||
"L 28.515625 8.296875 \n",
|
||
"L 28.515625 63.921875 \n",
|
||
"L 10.984375 60.40625 \n",
|
||
"L 10.984375 69.390625 \n",
|
||
"L 28.421875 72.90625 \n",
|
||
"L 38.28125 72.90625 \n",
|
||
"L 38.28125 8.296875 \n",
|
||
"L 54.390625 8.296875 \n",
|
||
"L 54.390625 0 \n",
|
||
"L 12.40625 0 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-49\"/>\n",
|
||
" <path d=\"M 31.78125 66.40625 \n",
|
||
"Q 24.171875 66.40625 20.328125 58.90625 \n",
|
||
"Q 16.5 51.421875 16.5 36.375 \n",
|
||
"Q 16.5 21.390625 20.328125 13.890625 \n",
|
||
"Q 24.171875 6.390625 31.78125 6.390625 \n",
|
||
"Q 39.453125 6.390625 43.28125 13.890625 \n",
|
||
"Q 47.125 21.390625 47.125 36.375 \n",
|
||
"Q 47.125 51.421875 43.28125 58.90625 \n",
|
||
"Q 39.453125 66.40625 31.78125 66.40625 \n",
|
||
"z\n",
|
||
"M 31.78125 74.21875 \n",
|
||
"Q 44.046875 74.21875 50.515625 64.515625 \n",
|
||
"Q 56.984375 54.828125 56.984375 36.375 \n",
|
||
"Q 56.984375 17.96875 50.515625 8.265625 \n",
|
||
"Q 44.046875 -1.421875 31.78125 -1.421875 \n",
|
||
"Q 19.53125 -1.421875 13.0625 8.265625 \n",
|
||
"Q 6.59375 17.96875 6.59375 36.375 \n",
|
||
"Q 6.59375 54.828125 13.0625 64.515625 \n",
|
||
"Q 19.53125 74.21875 31.78125 74.21875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-48\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-49\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_6\">\n",
|
||
" <!-- epoch -->\n",
|
||
" <g transform=\"translate(112.525 171.376563)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 56.203125 29.59375 \n",
|
||
"L 56.203125 25.203125 \n",
|
||
"L 14.890625 25.203125 \n",
|
||
"Q 15.484375 15.921875 20.484375 11.0625 \n",
|
||
"Q 25.484375 6.203125 34.421875 6.203125 \n",
|
||
"Q 39.59375 6.203125 44.453125 7.46875 \n",
|
||
"Q 49.3125 8.734375 54.109375 11.28125 \n",
|
||
"L 54.109375 2.78125 \n",
|
||
"Q 49.265625 0.734375 44.1875 -0.34375 \n",
|
||
"Q 39.109375 -1.421875 33.890625 -1.421875 \n",
|
||
"Q 20.796875 -1.421875 13.15625 6.1875 \n",
|
||
"Q 5.515625 13.8125 5.515625 26.8125 \n",
|
||
"Q 5.515625 40.234375 12.765625 48.109375 \n",
|
||
"Q 20.015625 56 32.328125 56 \n",
|
||
"Q 43.359375 56 49.78125 48.890625 \n",
|
||
"Q 56.203125 41.796875 56.203125 29.59375 \n",
|
||
"z\n",
|
||
"M 47.21875 32.234375 \n",
|
||
"Q 47.125 39.59375 43.09375 43.984375 \n",
|
||
"Q 39.0625 48.390625 32.421875 48.390625 \n",
|
||
"Q 24.90625 48.390625 20.390625 44.140625 \n",
|
||
"Q 15.875 39.890625 15.1875 32.171875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-101\"/>\n",
|
||
" <path d=\"M 18.109375 8.203125 \n",
|
||
"L 18.109375 -20.796875 \n",
|
||
"L 9.078125 -20.796875 \n",
|
||
"L 9.078125 54.6875 \n",
|
||
"L 18.109375 54.6875 \n",
|
||
"L 18.109375 46.390625 \n",
|
||
"Q 20.953125 51.265625 25.265625 53.625 \n",
|
||
"Q 29.59375 56 35.59375 56 \n",
|
||
"Q 45.5625 56 51.78125 48.09375 \n",
|
||
"Q 58.015625 40.1875 58.015625 27.296875 \n",
|
||
"Q 58.015625 14.40625 51.78125 6.484375 \n",
|
||
"Q 45.5625 -1.421875 35.59375 -1.421875 \n",
|
||
"Q 29.59375 -1.421875 25.265625 0.953125 \n",
|
||
"Q 20.953125 3.328125 18.109375 8.203125 \n",
|
||
"z\n",
|
||
"M 48.6875 27.296875 \n",
|
||
"Q 48.6875 37.203125 44.609375 42.84375 \n",
|
||
"Q 40.53125 48.484375 33.40625 48.484375 \n",
|
||
"Q 26.265625 48.484375 22.1875 42.84375 \n",
|
||
"Q 18.109375 37.203125 18.109375 27.296875 \n",
|
||
"Q 18.109375 17.390625 22.1875 11.75 \n",
|
||
"Q 26.265625 6.109375 33.40625 6.109375 \n",
|
||
"Q 40.53125 6.109375 44.609375 11.75 \n",
|
||
"Q 48.6875 17.390625 48.6875 27.296875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-112\"/>\n",
|
||
" <path d=\"M 30.609375 48.390625 \n",
|
||
"Q 23.390625 48.390625 19.1875 42.75 \n",
|
||
"Q 14.984375 37.109375 14.984375 27.296875 \n",
|
||
"Q 14.984375 17.484375 19.15625 11.84375 \n",
|
||
"Q 23.34375 6.203125 30.609375 6.203125 \n",
|
||
"Q 37.796875 6.203125 41.984375 11.859375 \n",
|
||
"Q 46.1875 17.53125 46.1875 27.296875 \n",
|
||
"Q 46.1875 37.015625 41.984375 42.703125 \n",
|
||
"Q 37.796875 48.390625 30.609375 48.390625 \n",
|
||
"z\n",
|
||
"M 30.609375 56 \n",
|
||
"Q 42.328125 56 49.015625 48.375 \n",
|
||
"Q 55.71875 40.765625 55.71875 27.296875 \n",
|
||
"Q 55.71875 13.875 49.015625 6.21875 \n",
|
||
"Q 42.328125 -1.421875 30.609375 -1.421875 \n",
|
||
"Q 18.84375 -1.421875 12.171875 6.21875 \n",
|
||
"Q 5.515625 13.875 5.515625 27.296875 \n",
|
||
"Q 5.515625 40.765625 12.171875 48.375 \n",
|
||
"Q 18.84375 56 30.609375 56 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-111\"/>\n",
|
||
" <path d=\"M 48.78125 52.59375 \n",
|
||
"L 48.78125 44.1875 \n",
|
||
"Q 44.96875 46.296875 41.140625 47.34375 \n",
|
||
"Q 37.3125 48.390625 33.40625 48.390625 \n",
|
||
"Q 24.65625 48.390625 19.8125 42.84375 \n",
|
||
"Q 14.984375 37.3125 14.984375 27.296875 \n",
|
||
"Q 14.984375 17.28125 19.8125 11.734375 \n",
|
||
"Q 24.65625 6.203125 33.40625 6.203125 \n",
|
||
"Q 37.3125 6.203125 41.140625 7.25 \n",
|
||
"Q 44.96875 8.296875 48.78125 10.40625 \n",
|
||
"L 48.78125 2.09375 \n",
|
||
"Q 45.015625 0.34375 40.984375 -0.53125 \n",
|
||
"Q 36.96875 -1.421875 32.421875 -1.421875 \n",
|
||
"Q 20.0625 -1.421875 12.78125 6.34375 \n",
|
||
"Q 5.515625 14.109375 5.515625 27.296875 \n",
|
||
"Q 5.515625 40.671875 12.859375 48.328125 \n",
|
||
"Q 20.21875 56 33.015625 56 \n",
|
||
"Q 37.15625 56 41.109375 55.140625 \n",
|
||
"Q 45.0625 54.296875 48.78125 52.59375 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-99\"/>\n",
|
||
" <path d=\"M 54.890625 33.015625 \n",
|
||
"L 54.890625 0 \n",
|
||
"L 45.90625 0 \n",
|
||
"L 45.90625 32.71875 \n",
|
||
"Q 45.90625 40.484375 42.875 44.328125 \n",
|
||
"Q 39.84375 48.1875 33.796875 48.1875 \n",
|
||
"Q 26.515625 48.1875 22.3125 43.546875 \n",
|
||
"Q 18.109375 38.921875 18.109375 30.90625 \n",
|
||
"L 18.109375 0 \n",
|
||
"L 9.078125 0 \n",
|
||
"L 9.078125 75.984375 \n",
|
||
"L 18.109375 75.984375 \n",
|
||
"L 18.109375 46.1875 \n",
|
||
"Q 21.34375 51.125 25.703125 53.5625 \n",
|
||
"Q 30.078125 56 35.796875 56 \n",
|
||
"Q 45.21875 56 50.046875 50.171875 \n",
|
||
"Q 54.890625 44.34375 54.890625 33.015625 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-104\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-101\"/>\n",
|
||
" <use x=\"61.523438\" xlink:href=\"#DejaVuSans-112\"/>\n",
|
||
" <use x=\"125\" xlink:href=\"#DejaVuSans-111\"/>\n",
|
||
" <use x=\"186.181641\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" <use x=\"241.162109\" xlink:href=\"#DejaVuSans-104\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"matplotlib.axis_2\">\n",
|
||
" <g id=\"ytick_1\">\n",
|
||
" <g id=\"line2d_11\">\n",
|
||
" <path clip-path=\"url(#p5bc179852d)\" d=\"M 30.103125 137.93096 \n",
|
||
"L 225.403125 137.93096 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_12\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 0 0 \n",
|
||
"L -3.5 0 \n",
|
||
"\" id=\"m7b299725ba\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
|
||
" </defs>\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#m7b299725ba\" y=\"137.93096\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_7\">\n",
|
||
" <!-- 0.0 -->\n",
|
||
" <g transform=\"translate(7.2 141.730178)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 10.6875 12.40625 \n",
|
||
"L 21 12.40625 \n",
|
||
"L 21 0 \n",
|
||
"L 10.6875 0 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-46\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"ytick_2\">\n",
|
||
" <g id=\"line2d_13\">\n",
|
||
" <path clip-path=\"url(#p5bc179852d)\" d=\"M 30.103125 112.978746 \n",
|
||
"L 225.403125 112.978746 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_14\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#m7b299725ba\" y=\"112.978746\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_8\">\n",
|
||
" <!-- 0.2 -->\n",
|
||
" <g transform=\"translate(7.2 116.777965)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-50\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"ytick_3\">\n",
|
||
" <g id=\"line2d_15\">\n",
|
||
" <path clip-path=\"url(#p5bc179852d)\" d=\"M 30.103125 88.026532 \n",
|
||
"L 225.403125 88.026532 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_16\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#m7b299725ba\" y=\"88.026532\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_9\">\n",
|
||
" <!-- 0.4 -->\n",
|
||
" <g transform=\"translate(7.2 91.825751)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-52\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"ytick_4\">\n",
|
||
" <g id=\"line2d_17\">\n",
|
||
" <path clip-path=\"url(#p5bc179852d)\" d=\"M 30.103125 63.074318 \n",
|
||
"L 225.403125 63.074318 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_18\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#m7b299725ba\" y=\"63.074318\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_10\">\n",
|
||
" <!-- 0.6 -->\n",
|
||
" <g transform=\"translate(7.2 66.873537)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-54\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"ytick_5\">\n",
|
||
" <g id=\"line2d_19\">\n",
|
||
" <path clip-path=\"url(#p5bc179852d)\" d=\"M 30.103125 38.122104 \n",
|
||
"L 225.403125 38.122104 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_20\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#m7b299725ba\" y=\"38.122104\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_11\">\n",
|
||
" <!-- 0.8 -->\n",
|
||
" <g transform=\"translate(7.2 41.921323)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-56\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"ytick_6\">\n",
|
||
" <g id=\"line2d_21\">\n",
|
||
" <path clip-path=\"url(#p5bc179852d)\" d=\"M 30.103125 13.169891 \n",
|
||
"L 225.403125 13.169891 \n",
|
||
"\" style=\"fill:none;stroke:#b0b0b0;stroke-linecap:square;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_22\">\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"30.103125\" xlink:href=\"#m7b299725ba\" y=\"13.169891\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_12\">\n",
|
||
" <!-- 1.0 -->\n",
|
||
" <g transform=\"translate(7.2 16.969109)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-49\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-46\"/>\n",
|
||
" <use x=\"95.410156\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_23\">\n",
|
||
" <path clip-path=\"url(#p5bc179852d)\" d=\"M 12.743125 23.31786 \n",
|
||
"L 17.083125 53.212021 \n",
|
||
"L 21.423125 66.051275 \n",
|
||
"L 25.763125 73.593385 \n",
|
||
"L 30.103125 78.538047 \n",
|
||
"L 34.443125 105.509061 \n",
|
||
"L 38.783125 105.279838 \n",
|
||
"L 43.123125 105.687404 \n",
|
||
"L 47.463125 106.145533 \n",
|
||
"L 51.803125 106.430936 \n",
|
||
"L 56.143125 114.557925 \n",
|
||
"L 60.483125 114.73712 \n",
|
||
"L 64.823125 114.80369 \n",
|
||
"L 69.163125 114.839776 \n",
|
||
"L 73.503125 114.588206 \n",
|
||
"L 77.843125 120.470126 \n",
|
||
"L 82.183125 120.666442 \n",
|
||
"L 86.523125 120.348492 \n",
|
||
"L 90.863125 120.447106 \n",
|
||
"L 95.203125 120.089736 \n",
|
||
"L 99.543125 124.589563 \n",
|
||
"L 103.883125 125.34185 \n",
|
||
"L 108.223125 125.077049 \n",
|
||
"L 112.563125 124.898619 \n",
|
||
"L 116.903125 124.352569 \n",
|
||
"L 121.243125 129.255753 \n",
|
||
"L 125.583125 129.191305 \n",
|
||
"L 129.923125 129.121743 \n",
|
||
"L 134.263125 128.747127 \n",
|
||
"L 138.603125 128.249575 \n",
|
||
"L 142.943125 132.199866 \n",
|
||
"L 147.283125 132.356722 \n",
|
||
"L 151.623125 131.903585 \n",
|
||
"L 155.963125 132.026033 \n",
|
||
"L 160.303125 131.657519 \n",
|
||
"L 164.643125 134.471376 \n",
|
||
"L 168.983125 134.612211 \n",
|
||
"L 173.323125 134.450586 \n",
|
||
"L 177.663125 134.309622 \n",
|
||
"L 182.003125 134.055616 \n",
|
||
"L 186.343125 135.279609 \n",
|
||
"L 190.683125 135.611662 \n",
|
||
"L 195.023125 135.704164 \n",
|
||
"L 199.363125 135.648711 \n",
|
||
"L 203.703125 135.624547 \n",
|
||
"L 208.043125 136.880675 \n",
|
||
"L 212.383125 136.922727 \n",
|
||
"L 216.723125 136.831273 \n",
|
||
"L 221.063125 136.83511 \n",
|
||
"L 225.403125 136.793476 \n",
|
||
"\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_24\">\n",
|
||
" <path clip-path=\"url(#p5bc179852d)\" d=\"M 12.743125 50.384608 \n",
|
||
"L 17.083125 41.669375 \n",
|
||
"L 21.423125 37.882924 \n",
|
||
"L 25.763125 35.53605 \n",
|
||
"L 30.103125 33.977958 \n",
|
||
"L 34.443125 25.156576 \n",
|
||
"L 38.783125 25.115099 \n",
|
||
"L 43.123125 25.021777 \n",
|
||
"L 47.463125 24.874018 \n",
|
||
"L 51.803125 24.853765 \n",
|
||
"L 56.143125 21.734771 \n",
|
||
"L 60.483125 21.776248 \n",
|
||
"L 64.823125 21.651818 \n",
|
||
"L 69.163125 21.576642 \n",
|
||
"L 73.503125 21.651564 \n",
|
||
"L 77.843125 19.194341 \n",
|
||
"L 82.183125 19.298032 \n",
|
||
"L 86.523125 19.477763 \n",
|
||
"L 90.863125 19.497637 \n",
|
||
"L 95.203125 19.642911 \n",
|
||
"L 99.543125 17.711559 \n",
|
||
"L 103.883125 17.51973 \n",
|
||
"L 108.223125 17.649344 \n",
|
||
"L 112.563125 17.765996 \n",
|
||
"L 116.903125 18.014779 \n",
|
||
"L 121.243125 16.011025 \n",
|
||
"L 125.583125 16.13027 \n",
|
||
"L 129.923125 16.22532 \n",
|
||
"L 134.263125 16.384313 \n",
|
||
"L 138.603125 16.542598 \n",
|
||
"L 142.943125 14.870424 \n",
|
||
"L 147.283125 14.880793 \n",
|
||
"L 151.623125 15.081262 \n",
|
||
"L 155.963125 15.064845 \n",
|
||
"L 160.303125 15.199337 \n",
|
||
"L 164.643125 14.165325 \n",
|
||
"L 168.983125 14.077187 \n",
|
||
"L 173.323125 14.206801 \n",
|
||
"L 177.663125 14.266423 \n",
|
||
"L 182.003125 14.367597 \n",
|
||
"L 186.343125 13.978681 \n",
|
||
"L 190.683125 13.802406 \n",
|
||
"L 195.023125 13.750561 \n",
|
||
"L 199.363125 13.797221 \n",
|
||
"L 203.703125 13.824886 \n",
|
||
"L 208.043125 13.40838 \n",
|
||
"L 212.383125 13.377273 \n",
|
||
"L 216.723125 13.418749 \n",
|
||
"L 221.063125 13.40838 \n",
|
||
"L 225.403125 13.419413 \n",
|
||
"\" style=\"fill:none;stroke:#bf00bf;stroke-dasharray:5.55,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_25\">\n",
|
||
" <path clip-path=\"url(#p5bc179852d)\" d=\"M 30.103125 31.123008 \n",
|
||
"L 51.803125 31.884051 \n",
|
||
"L 73.503125 31.222817 \n",
|
||
"L 95.203125 38.309246 \n",
|
||
"L 116.903125 27.97903 \n",
|
||
"L 138.603125 25.982852 \n",
|
||
"L 160.303125 27.667127 \n",
|
||
"L 182.003125 28.116267 \n",
|
||
"L 203.703125 25.109525 \n",
|
||
"L 225.403125 22.901254 \n",
|
||
"\" style=\"fill:none;stroke:#008000;stroke-dasharray:9.6,2.4,1.5,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_3\">\n",
|
||
" <path d=\"M 30.103125 143.1 \n",
|
||
"L 30.103125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_4\">\n",
|
||
" <path d=\"M 225.403125 143.1 \n",
|
||
"L 225.403125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_5\">\n",
|
||
" <path d=\"M 30.103125 143.1 \n",
|
||
"L 225.403125 143.1 \n",
|
||
"\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_6\">\n",
|
||
" <path d=\"M 30.103125 7.2 \n",
|
||
"L 225.403125 7.2 \n",
|
||
"\" style=\"fill:none;stroke:#000000;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"legend_1\">\n",
|
||
" <g id=\"patch_7\">\n",
|
||
" <path d=\"M 140.634375 98.667187 \n",
|
||
"L 218.403125 98.667187 \n",
|
||
"Q 220.403125 98.667187 220.403125 96.667187 \n",
|
||
"L 220.403125 53.632812 \n",
|
||
"Q 220.403125 51.632812 218.403125 51.632812 \n",
|
||
"L 140.634375 51.632812 \n",
|
||
"Q 138.634375 51.632812 138.634375 53.632812 \n",
|
||
"L 138.634375 96.667187 \n",
|
||
"Q 138.634375 98.667187 140.634375 98.667187 \n",
|
||
"z\n",
|
||
"\" style=\"fill:#ffffff;opacity:0.8;stroke:#cccccc;stroke-linejoin:miter;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_26\">\n",
|
||
" <path d=\"M 142.634375 59.73125 \n",
|
||
"L 162.634375 59.73125 \n",
|
||
"\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_27\"/>\n",
|
||
" <g id=\"text_13\">\n",
|
||
" <!-- train loss -->\n",
|
||
" <g transform=\"translate(170.634375 63.23125)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 18.3125 70.21875 \n",
|
||
"L 18.3125 54.6875 \n",
|
||
"L 36.8125 54.6875 \n",
|
||
"L 36.8125 47.703125 \n",
|
||
"L 18.3125 47.703125 \n",
|
||
"L 18.3125 18.015625 \n",
|
||
"Q 18.3125 11.328125 20.140625 9.421875 \n",
|
||
"Q 21.96875 7.515625 27.59375 7.515625 \n",
|
||
"L 36.8125 7.515625 \n",
|
||
"L 36.8125 0 \n",
|
||
"L 27.59375 0 \n",
|
||
"Q 17.1875 0 13.234375 3.875 \n",
|
||
"Q 9.28125 7.765625 9.28125 18.015625 \n",
|
||
"L 9.28125 47.703125 \n",
|
||
"L 2.6875 47.703125 \n",
|
||
"L 2.6875 54.6875 \n",
|
||
"L 9.28125 54.6875 \n",
|
||
"L 9.28125 70.21875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-116\"/>\n",
|
||
" <path d=\"M 41.109375 46.296875 \n",
|
||
"Q 39.59375 47.171875 37.8125 47.578125 \n",
|
||
"Q 36.03125 48 33.890625 48 \n",
|
||
"Q 26.265625 48 22.1875 43.046875 \n",
|
||
"Q 18.109375 38.09375 18.109375 28.8125 \n",
|
||
"L 18.109375 0 \n",
|
||
"L 9.078125 0 \n",
|
||
"L 9.078125 54.6875 \n",
|
||
"L 18.109375 54.6875 \n",
|
||
"L 18.109375 46.1875 \n",
|
||
"Q 20.953125 51.171875 25.484375 53.578125 \n",
|
||
"Q 30.03125 56 36.53125 56 \n",
|
||
"Q 37.453125 56 38.578125 55.875 \n",
|
||
"Q 39.703125 55.765625 41.0625 55.515625 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-114\"/>\n",
|
||
" <path d=\"M 34.28125 27.484375 \n",
|
||
"Q 23.390625 27.484375 19.1875 25 \n",
|
||
"Q 14.984375 22.515625 14.984375 16.5 \n",
|
||
"Q 14.984375 11.71875 18.140625 8.90625 \n",
|
||
"Q 21.296875 6.109375 26.703125 6.109375 \n",
|
||
"Q 34.1875 6.109375 38.703125 11.40625 \n",
|
||
"Q 43.21875 16.703125 43.21875 25.484375 \n",
|
||
"L 43.21875 27.484375 \n",
|
||
"z\n",
|
||
"M 52.203125 31.203125 \n",
|
||
"L 52.203125 0 \n",
|
||
"L 43.21875 0 \n",
|
||
"L 43.21875 8.296875 \n",
|
||
"Q 40.140625 3.328125 35.546875 0.953125 \n",
|
||
"Q 30.953125 -1.421875 24.3125 -1.421875 \n",
|
||
"Q 15.921875 -1.421875 10.953125 3.296875 \n",
|
||
"Q 6 8.015625 6 15.921875 \n",
|
||
"Q 6 25.140625 12.171875 29.828125 \n",
|
||
"Q 18.359375 34.515625 30.609375 34.515625 \n",
|
||
"L 43.21875 34.515625 \n",
|
||
"L 43.21875 35.40625 \n",
|
||
"Q 43.21875 41.609375 39.140625 45 \n",
|
||
"Q 35.0625 48.390625 27.6875 48.390625 \n",
|
||
"Q 23 48.390625 18.546875 47.265625 \n",
|
||
"Q 14.109375 46.140625 10.015625 43.890625 \n",
|
||
"L 10.015625 52.203125 \n",
|
||
"Q 14.9375 54.109375 19.578125 55.046875 \n",
|
||
"Q 24.21875 56 28.609375 56 \n",
|
||
"Q 40.484375 56 46.34375 49.84375 \n",
|
||
"Q 52.203125 43.703125 52.203125 31.203125 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-97\"/>\n",
|
||
" <path d=\"M 9.421875 54.6875 \n",
|
||
"L 18.40625 54.6875 \n",
|
||
"L 18.40625 0 \n",
|
||
"L 9.421875 0 \n",
|
||
"z\n",
|
||
"M 9.421875 75.984375 \n",
|
||
"L 18.40625 75.984375 \n",
|
||
"L 18.40625 64.59375 \n",
|
||
"L 9.421875 64.59375 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-105\"/>\n",
|
||
" <path d=\"M 54.890625 33.015625 \n",
|
||
"L 54.890625 0 \n",
|
||
"L 45.90625 0 \n",
|
||
"L 45.90625 32.71875 \n",
|
||
"Q 45.90625 40.484375 42.875 44.328125 \n",
|
||
"Q 39.84375 48.1875 33.796875 48.1875 \n",
|
||
"Q 26.515625 48.1875 22.3125 43.546875 \n",
|
||
"Q 18.109375 38.921875 18.109375 30.90625 \n",
|
||
"L 18.109375 0 \n",
|
||
"L 9.078125 0 \n",
|
||
"L 9.078125 54.6875 \n",
|
||
"L 18.109375 54.6875 \n",
|
||
"L 18.109375 46.1875 \n",
|
||
"Q 21.34375 51.125 25.703125 53.5625 \n",
|
||
"Q 30.078125 56 35.796875 56 \n",
|
||
"Q 45.21875 56 50.046875 50.171875 \n",
|
||
"Q 54.890625 44.34375 54.890625 33.015625 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-110\"/>\n",
|
||
" <path id=\"DejaVuSans-32\"/>\n",
|
||
" <path d=\"M 9.421875 75.984375 \n",
|
||
"L 18.40625 75.984375 \n",
|
||
"L 18.40625 0 \n",
|
||
"L 9.421875 0 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-108\"/>\n",
|
||
" <path d=\"M 44.28125 53.078125 \n",
|
||
"L 44.28125 44.578125 \n",
|
||
"Q 40.484375 46.53125 36.375 47.5 \n",
|
||
"Q 32.28125 48.484375 27.875 48.484375 \n",
|
||
"Q 21.1875 48.484375 17.84375 46.4375 \n",
|
||
"Q 14.5 44.390625 14.5 40.28125 \n",
|
||
"Q 14.5 37.15625 16.890625 35.375 \n",
|
||
"Q 19.28125 33.59375 26.515625 31.984375 \n",
|
||
"L 29.59375 31.296875 \n",
|
||
"Q 39.15625 29.25 43.1875 25.515625 \n",
|
||
"Q 47.21875 21.78125 47.21875 15.09375 \n",
|
||
"Q 47.21875 7.46875 41.1875 3.015625 \n",
|
||
"Q 35.15625 -1.421875 24.609375 -1.421875 \n",
|
||
"Q 20.21875 -1.421875 15.453125 -0.5625 \n",
|
||
"Q 10.6875 0.296875 5.421875 2 \n",
|
||
"L 5.421875 11.28125 \n",
|
||
"Q 10.40625 8.6875 15.234375 7.390625 \n",
|
||
"Q 20.0625 6.109375 24.8125 6.109375 \n",
|
||
"Q 31.15625 6.109375 34.5625 8.28125 \n",
|
||
"Q 37.984375 10.453125 37.984375 14.40625 \n",
|
||
"Q 37.984375 18.0625 35.515625 20.015625 \n",
|
||
"Q 33.0625 21.96875 24.703125 23.78125 \n",
|
||
"L 21.578125 24.515625 \n",
|
||
"Q 13.234375 26.265625 9.515625 29.90625 \n",
|
||
"Q 5.8125 33.546875 5.8125 39.890625 \n",
|
||
"Q 5.8125 47.609375 11.28125 51.796875 \n",
|
||
"Q 16.75 56 26.8125 56 \n",
|
||
"Q 31.78125 56 36.171875 55.265625 \n",
|
||
"Q 40.578125 54.546875 44.28125 53.078125 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-115\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"39.208984\" xlink:href=\"#DejaVuSans-114\"/>\n",
|
||
" <use x=\"80.322266\" xlink:href=\"#DejaVuSans-97\"/>\n",
|
||
" <use x=\"141.601562\" xlink:href=\"#DejaVuSans-105\"/>\n",
|
||
" <use x=\"169.384766\" xlink:href=\"#DejaVuSans-110\"/>\n",
|
||
" <use x=\"232.763672\" xlink:href=\"#DejaVuSans-32\"/>\n",
|
||
" <use x=\"264.550781\" xlink:href=\"#DejaVuSans-108\"/>\n",
|
||
" <use x=\"292.333984\" xlink:href=\"#DejaVuSans-111\"/>\n",
|
||
" <use x=\"353.515625\" xlink:href=\"#DejaVuSans-115\"/>\n",
|
||
" <use x=\"405.615234\" xlink:href=\"#DejaVuSans-115\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_28\">\n",
|
||
" <path d=\"M 142.634375 74.409375 \n",
|
||
"L 162.634375 74.409375 \n",
|
||
"\" style=\"fill:none;stroke:#bf00bf;stroke-dasharray:5.55,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_29\"/>\n",
|
||
" <g id=\"text_14\">\n",
|
||
" <!-- train acc -->\n",
|
||
" <g transform=\"translate(170.634375 77.909375)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"39.208984\" xlink:href=\"#DejaVuSans-114\"/>\n",
|
||
" <use x=\"80.322266\" xlink:href=\"#DejaVuSans-97\"/>\n",
|
||
" <use x=\"141.601562\" xlink:href=\"#DejaVuSans-105\"/>\n",
|
||
" <use x=\"169.384766\" xlink:href=\"#DejaVuSans-110\"/>\n",
|
||
" <use x=\"232.763672\" xlink:href=\"#DejaVuSans-32\"/>\n",
|
||
" <use x=\"264.550781\" xlink:href=\"#DejaVuSans-97\"/>\n",
|
||
" <use x=\"325.830078\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" <use x=\"380.810547\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_30\">\n",
|
||
" <path d=\"M 142.634375 89.0875 \n",
|
||
"L 162.634375 89.0875 \n",
|
||
"\" style=\"fill:none;stroke:#008000;stroke-dasharray:9.6,2.4,1.5,2.4;stroke-dashoffset:0;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_31\"/>\n",
|
||
" <g id=\"text_15\">\n",
|
||
" <!-- test acc -->\n",
|
||
" <g transform=\"translate(170.634375 92.5875)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"39.208984\" xlink:href=\"#DejaVuSans-101\"/>\n",
|
||
" <use x=\"100.732422\" xlink:href=\"#DejaVuSans-115\"/>\n",
|
||
" <use x=\"152.832031\" xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"192.041016\" xlink:href=\"#DejaVuSans-32\"/>\n",
|
||
" <use x=\"223.828125\" xlink:href=\"#DejaVuSans-97\"/>\n",
|
||
" <use x=\"285.107422\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" <use x=\"340.087891\" xlink:href=\"#DejaVuSans-99\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <defs>\n",
|
||
" <clipPath id=\"p5bc179852d\">\n",
|
||
" <rect height=\"135.9\" width=\"195.3\" x=\"30.103125\" y=\"7.2\"/>\n",
|
||
" </clipPath>\n",
|
||
" </defs>\n",
|
||
"</svg>\n"
|
||
],
|
||
"text/plain": [
|
||
"<Figure size 252x180 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"lr, num_epochs, batch_size = 0.05, 10, 256\n",
|
||
"train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size, resize=96)\n",
|
||
"d2l.train_ch6(net, train_iter, test_iter, num_epochs, lr, d2l.try_gpu())"
|
||
]
|
||
}
|
||
],
|
||
"metadata": {
|
||
"kernelspec": {
|
||
"display_name": "Python 3 (ipykernel)",
|
||
"language": "python",
|
||
"name": "python3"
|
||
},
|
||
"language_info": {
|
||
"codemirror_mode": {
|
||
"name": "ipython",
|
||
"version": 3
|
||
},
|
||
"file_extension": ".py",
|
||
"mimetype": "text/x-python",
|
||
"name": "python",
|
||
"nbconvert_exporter": "python",
|
||
"pygments_lexer": "ipython3",
|
||
"version": "3.8.16"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 5
|
||
}
|