5212 lines
203 KiB
Plaintext
5212 lines
203 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "5c5922d3-95a1-4415-91a0-3399e39b6cd3",
|
||
"metadata": {},
|
||
"source": [
|
||
"# 现代循环神经网络\n",
|
||
"\n",
|
||
"目录\n",
|
||
"\n",
|
||
"- 长短期记忆网络(LSTM)\n",
|
||
"- 门控循环单元(GRU)\n",
|
||
"- 深度循环神经网络\n",
|
||
"- 双向循环神经网络"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "1035997a-b182-4d01-b0a6-66ddd0d0c62b",
|
||
"metadata": {
|
||
"jp-MarkdownHeadingCollapsed": true,
|
||
"slideshow": {
|
||
"slide_type": "-"
|
||
},
|
||
"tags": []
|
||
},
|
||
"source": [
|
||
"## 长短期记忆网络(LSTM)\n",
|
||
"\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"id": "526021ea-9bbe-42a8-9e64-22692860d2ff",
|
||
"metadata": {
|
||
"origin_pos": 2,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"import torch\n",
|
||
"from torch import nn\n",
|
||
"from d2l import torch as d2l\n",
|
||
"\n",
|
||
"batch_size, num_steps = 32, 35\n",
|
||
"train_iter, vocab = d2l.load_data_time_machine(batch_size, num_steps)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "842b0708-6b64-4ca0-adab-c809b2b5b1df",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"初始化模型参数"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"id": "edee6ecd-f9a8-4b43-a509-aa8c48e874a0",
|
||
"metadata": {
|
||
"origin_pos": 6,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"def get_lstm_params(vocab_size, num_hiddens, device):\n",
|
||
" num_inputs = num_outputs = vocab_size\n",
|
||
"\n",
|
||
" def normal(shape):\n",
|
||
" return torch.randn(size=shape, device=device)*0.01\n",
|
||
"\n",
|
||
" def three():\n",
|
||
" return (normal((num_inputs, num_hiddens)),\n",
|
||
" normal((num_hiddens, num_hiddens)),\n",
|
||
" torch.zeros(num_hiddens, device=device))\n",
|
||
"\n",
|
||
" W_xi, W_hi, b_i = three() # 输入门参数\n",
|
||
" W_xf, W_hf, b_f = three() # 遗忘门参数\n",
|
||
" W_xo, W_ho, b_o = three() # 输出门参数\n",
|
||
" W_xc, W_hc, b_c = three() # 候选记忆元参数\n",
|
||
" # 输出层参数\n",
|
||
" W_hq = normal((num_hiddens, num_outputs))\n",
|
||
" b_q = torch.zeros(num_outputs, device=device)\n",
|
||
" params = [W_xi, W_hi, b_i, W_xf, W_hf, b_f, W_xo, W_ho, b_o, W_xc, W_hc,\n",
|
||
" b_c, W_hq, b_q]\n",
|
||
" for param in params:\n",
|
||
" param.requires_grad_(True)\n",
|
||
" return params"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "c5abc77a-229e-4aaa-9bbb-a5a6d8a061e1",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"初始化隐状态、记忆元"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"id": "86888086-63cd-4411-98a5-a2e3f9a67bf7",
|
||
"metadata": {
|
||
"origin_pos": 10,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"def init_lstm_state(batch_size, num_hiddens, device):\n",
|
||
" return (torch.zeros((batch_size, num_hiddens), device=device),\n",
|
||
" torch.zeros((batch_size, num_hiddens), device=device))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "453c58cf-54cc-490b-b337-ec5953e0c409",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"实际模型。注意:只有隐状态传递到输出层;记忆元不直接参与输出计算"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"id": "fedefee3-0199-4532-9d3a-edafdfba32b1",
|
||
"metadata": {
|
||
"origin_pos": 14,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"def lstm(inputs, state, params):\n",
|
||
" [W_xi, W_hi, b_i, W_xf, W_hf, b_f, W_xo, W_ho, b_o, W_xc, W_hc, b_c,\n",
|
||
" W_hq, b_q] = params\n",
|
||
" (H, C) = state\n",
|
||
" outputs = []\n",
|
||
" for X in inputs:\n",
|
||
" I = torch.sigmoid((X @ W_xi) + (H @ W_hi) + b_i)\n",
|
||
" F = torch.sigmoid((X @ W_xf) + (H @ W_hf) + b_f)\n",
|
||
" O = torch.sigmoid((X @ W_xo) + (H @ W_ho) + b_o)\n",
|
||
" C_tilda = torch.tanh((X @ W_xc) + (H @ W_hc) + b_c)\n",
|
||
" C = F * C + I * C_tilda\n",
|
||
" H = O * torch.tanh(C)\n",
|
||
" Y = (H @ W_hq) + b_q\n",
|
||
" outputs.append(Y)\n",
|
||
" return torch.cat(outputs, dim=0), (H, C)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "6a049a6f-80ed-4a3f-b2c0-8f1214446bc9",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"训练"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"id": "d6485ad2-20f4-4d9c-a70d-09956426a472",
|
||
"metadata": {
|
||
"origin_pos": 17,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"perplexity 1.1, 19331.5 tokens/sec on cuda:0\n",
|
||
"time traveller for so it will be convenient to speak of himway a\n",
|
||
"travelleryou can show black is white by argument said filby\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 252.646875 180.65625\" width=\"252.646875pt\" 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:50:45.607624</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 252.646875 180.65625 \n",
|
||
"L 252.646875 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 40.603125 143.1 \n",
|
||
"L 235.903125 143.1 \n",
|
||
"L 235.903125 7.2 \n",
|
||
"L 40.603125 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(#pefb36a3d49)\" d=\"M 76.474554 143.1 \n",
|
||
"L 76.474554 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=\"m603b1c8f2a\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
|
||
" </defs>\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"76.474554\" xlink:href=\"#m603b1c8f2a\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_1\">\n",
|
||
" <!-- 100 -->\n",
|
||
" <g transform=\"translate(66.930804 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",
|
||
" <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_2\">\n",
|
||
" <g id=\"line2d_3\">\n",
|
||
" <path clip-path=\"url(#pefb36a3d49)\" d=\"M 116.331696 143.1 \n",
|
||
"L 116.331696 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=\"116.331696\" xlink:href=\"#m603b1c8f2a\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_2\">\n",
|
||
" <!-- 200 -->\n",
|
||
" <g transform=\"translate(106.787946 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",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_3\">\n",
|
||
" <g id=\"line2d_5\">\n",
|
||
" <path clip-path=\"url(#pefb36a3d49)\" d=\"M 156.188839 143.1 \n",
|
||
"L 156.188839 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=\"156.188839\" xlink:href=\"#m603b1c8f2a\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_3\">\n",
|
||
" <!-- 300 -->\n",
|
||
" <g transform=\"translate(146.645089 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 40.578125 39.3125 \n",
|
||
"Q 47.65625 37.796875 51.625 33 \n",
|
||
"Q 55.609375 28.21875 55.609375 21.1875 \n",
|
||
"Q 55.609375 10.40625 48.1875 4.484375 \n",
|
||
"Q 40.765625 -1.421875 27.09375 -1.421875 \n",
|
||
"Q 22.515625 -1.421875 17.65625 -0.515625 \n",
|
||
"Q 12.796875 0.390625 7.625 2.203125 \n",
|
||
"L 7.625 11.71875 \n",
|
||
"Q 11.71875 9.328125 16.59375 8.109375 \n",
|
||
"Q 21.484375 6.890625 26.8125 6.890625 \n",
|
||
"Q 36.078125 6.890625 40.9375 10.546875 \n",
|
||
"Q 45.796875 14.203125 45.796875 21.1875 \n",
|
||
"Q 45.796875 27.640625 41.28125 31.265625 \n",
|
||
"Q 36.765625 34.90625 28.71875 34.90625 \n",
|
||
"L 20.21875 34.90625 \n",
|
||
"L 20.21875 43.015625 \n",
|
||
"L 29.109375 43.015625 \n",
|
||
"Q 36.375 43.015625 40.234375 45.921875 \n",
|
||
"Q 44.09375 48.828125 44.09375 54.296875 \n",
|
||
"Q 44.09375 59.90625 40.109375 62.90625 \n",
|
||
"Q 36.140625 65.921875 28.71875 65.921875 \n",
|
||
"Q 24.65625 65.921875 20.015625 65.03125 \n",
|
||
"Q 15.375 64.15625 9.8125 62.3125 \n",
|
||
"L 9.8125 71.09375 \n",
|
||
"Q 15.4375 72.65625 20.34375 73.4375 \n",
|
||
"Q 25.25 74.21875 29.59375 74.21875 \n",
|
||
"Q 40.828125 74.21875 47.359375 69.109375 \n",
|
||
"Q 53.90625 64.015625 53.90625 55.328125 \n",
|
||
"Q 53.90625 49.265625 50.4375 45.09375 \n",
|
||
"Q 46.96875 40.921875 40.578125 39.3125 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-51\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-51\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_4\">\n",
|
||
" <g id=\"line2d_7\">\n",
|
||
" <path clip-path=\"url(#pefb36a3d49)\" d=\"M 196.045982 143.1 \n",
|
||
"L 196.045982 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=\"196.045982\" xlink:href=\"#m603b1c8f2a\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_4\">\n",
|
||
" <!-- 400 -->\n",
|
||
" <g transform=\"translate(186.502232 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",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_5\">\n",
|
||
" <g id=\"line2d_9\">\n",
|
||
" <path clip-path=\"url(#pefb36a3d49)\" d=\"M 235.903125 143.1 \n",
|
||
"L 235.903125 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=\"235.903125\" xlink:href=\"#m603b1c8f2a\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_5\">\n",
|
||
" <!-- 500 -->\n",
|
||
" <g transform=\"translate(226.359375 157.698438)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-53\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_6\">\n",
|
||
" <!-- epoch -->\n",
|
||
" <g transform=\"translate(123.025 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(#pefb36a3d49)\" d=\"M 40.603125 108.251054 \n",
|
||
"L 235.903125 108.251054 \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=\"m6f163f1cbc\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
|
||
" </defs>\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"40.603125\" xlink:href=\"#m6f163f1cbc\" y=\"108.251054\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_7\">\n",
|
||
" <!-- 5 -->\n",
|
||
" <g transform=\"translate(27.240625 112.050273)scale(0.1 -0.1)\">\n",
|
||
" <use 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(#pefb36a3d49)\" d=\"M 40.603125 71.448095 \n",
|
||
"L 235.903125 71.448095 \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=\"40.603125\" xlink:href=\"#m6f163f1cbc\" y=\"71.448095\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_8\">\n",
|
||
" <!-- 10 -->\n",
|
||
" <g transform=\"translate(20.878125 75.247313)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-49\"/>\n",
|
||
" <use x=\"63.623047\" 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(#pefb36a3d49)\" d=\"M 40.603125 34.645135 \n",
|
||
"L 235.903125 34.645135 \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=\"40.603125\" xlink:href=\"#m6f163f1cbc\" y=\"34.645135\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_9\">\n",
|
||
" <!-- 15 -->\n",
|
||
" <g transform=\"translate(20.878125 38.444354)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-49\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-53\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_10\">\n",
|
||
" <!-- perplexity -->\n",
|
||
" <g transform=\"translate(14.798437 100.276562)rotate(-90)scale(0.1 -0.1)\">\n",
|
||
" <defs>\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 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 54.890625 54.6875 \n",
|
||
"L 35.109375 28.078125 \n",
|
||
"L 55.90625 0 \n",
|
||
"L 45.3125 0 \n",
|
||
"L 29.390625 21.484375 \n",
|
||
"L 13.484375 0 \n",
|
||
"L 2.875 0 \n",
|
||
"L 24.125 28.609375 \n",
|
||
"L 4.6875 54.6875 \n",
|
||
"L 15.28125 54.6875 \n",
|
||
"L 29.78125 35.203125 \n",
|
||
"L 44.28125 54.6875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-120\"/>\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 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 32.171875 -5.078125 \n",
|
||
"Q 28.375 -14.84375 24.75 -17.8125 \n",
|
||
"Q 21.140625 -20.796875 15.09375 -20.796875 \n",
|
||
"L 7.90625 -20.796875 \n",
|
||
"L 7.90625 -13.28125 \n",
|
||
"L 13.1875 -13.28125 \n",
|
||
"Q 16.890625 -13.28125 18.9375 -11.515625 \n",
|
||
"Q 21 -9.765625 23.484375 -3.21875 \n",
|
||
"L 25.09375 0.875 \n",
|
||
"L 2.984375 54.6875 \n",
|
||
"L 12.5 54.6875 \n",
|
||
"L 29.59375 11.921875 \n",
|
||
"L 46.6875 54.6875 \n",
|
||
"L 56.203125 54.6875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-121\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-112\"/>\n",
|
||
" <use x=\"63.476562\" xlink:href=\"#DejaVuSans-101\"/>\n",
|
||
" <use x=\"125\" xlink:href=\"#DejaVuSans-114\"/>\n",
|
||
" <use x=\"166.113281\" xlink:href=\"#DejaVuSans-112\"/>\n",
|
||
" <use x=\"229.589844\" xlink:href=\"#DejaVuSans-108\"/>\n",
|
||
" <use x=\"257.373047\" xlink:href=\"#DejaVuSans-101\"/>\n",
|
||
" <use x=\"317.146484\" xlink:href=\"#DejaVuSans-120\"/>\n",
|
||
" <use x=\"376.326172\" xlink:href=\"#DejaVuSans-105\"/>\n",
|
||
" <use x=\"404.109375\" xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"443.318359\" xlink:href=\"#DejaVuSans-121\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_17\">\n",
|
||
" <path clip-path=\"url(#pefb36a3d49)\" d=\"M 40.603125 13.377273 \n",
|
||
"L 44.588839 16.843111 \n",
|
||
"L 48.574554 22.159793 \n",
|
||
"L 52.560268 29.924778 \n",
|
||
"L 56.545982 38.227732 \n",
|
||
"L 60.531696 50.307547 \n",
|
||
"L 64.517411 57.218963 \n",
|
||
"L 68.503125 61.743012 \n",
|
||
"L 72.488839 64.823305 \n",
|
||
"L 76.474554 67.086114 \n",
|
||
"L 80.460268 69.664171 \n",
|
||
"L 84.445982 72.745923 \n",
|
||
"L 88.431696 74.312151 \n",
|
||
"L 92.417411 77.467948 \n",
|
||
"L 96.403125 80.368311 \n",
|
||
"L 100.388839 83.20777 \n",
|
||
"L 104.374554 85.713371 \n",
|
||
"L 108.360268 87.902671 \n",
|
||
"L 112.345982 90.042641 \n",
|
||
"L 116.331696 92.264574 \n",
|
||
"L 120.317411 95.177953 \n",
|
||
"L 124.303125 96.480449 \n",
|
||
"L 128.288839 98.935524 \n",
|
||
"L 132.274554 100.886254 \n",
|
||
"L 136.260268 103.061507 \n",
|
||
"L 140.245982 104.904817 \n",
|
||
"L 144.231696 107.230452 \n",
|
||
"L 148.217411 109.037452 \n",
|
||
"L 152.203125 110.866254 \n",
|
||
"L 156.188839 113.069207 \n",
|
||
"L 160.174554 115.661869 \n",
|
||
"L 164.160268 117.852159 \n",
|
||
"L 168.145982 119.475722 \n",
|
||
"L 172.131696 122.086264 \n",
|
||
"L 176.117411 123.85671 \n",
|
||
"L 180.103125 125.899136 \n",
|
||
"L 184.088839 127.782376 \n",
|
||
"L 188.074554 129.083812 \n",
|
||
"L 192.060268 130.492509 \n",
|
||
"L 196.045982 131.041986 \n",
|
||
"L 200.031696 131.936608 \n",
|
||
"L 204.017411 133.534671 \n",
|
||
"L 208.003125 134.176519 \n",
|
||
"L 211.988839 134.021616 \n",
|
||
"L 215.974554 135.580158 \n",
|
||
"L 219.960268 135.632022 \n",
|
||
"L 223.945982 136.192217 \n",
|
||
"L 227.931696 136.689484 \n",
|
||
"L 231.917411 135.932729 \n",
|
||
"L 235.903125 136.922727 \n",
|
||
"\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_3\">\n",
|
||
" <path d=\"M 40.603125 143.1 \n",
|
||
"L 40.603125 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 235.903125 143.1 \n",
|
||
"L 235.903125 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 40.603125 143.1 \n",
|
||
"L 235.903125 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 40.603125 7.2 \n",
|
||
"L 235.903125 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 173.628125 29.878125 \n",
|
||
"L 228.903125 29.878125 \n",
|
||
"Q 230.903125 29.878125 230.903125 27.878125 \n",
|
||
"L 230.903125 14.2 \n",
|
||
"Q 230.903125 12.2 228.903125 12.2 \n",
|
||
"L 173.628125 12.2 \n",
|
||
"Q 171.628125 12.2 171.628125 14.2 \n",
|
||
"L 171.628125 27.878125 \n",
|
||
"Q 171.628125 29.878125 173.628125 29.878125 \n",
|
||
"z\n",
|
||
"\" style=\"fill:#ffffff;opacity:0.8;stroke:#cccccc;stroke-linejoin:miter;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_18\">\n",
|
||
" <path d=\"M 175.628125 20.298437 \n",
|
||
"L 195.628125 20.298437 \n",
|
||
"\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_19\"/>\n",
|
||
" <g id=\"text_11\">\n",
|
||
" <!-- train -->\n",
|
||
" <g transform=\"translate(203.628125 23.798437)scale(0.1 -0.1)\">\n",
|
||
" <defs>\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 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",
|
||
" </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",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <defs>\n",
|
||
" <clipPath id=\"pefb36a3d49\">\n",
|
||
" <rect height=\"135.9\" width=\"195.3\" x=\"40.603125\" 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": [
|
||
"vocab_size, num_hiddens, device = len(vocab), 256, d2l.try_gpu()\n",
|
||
"num_epochs, lr = 500, 1\n",
|
||
"model = d2l.RNNModelScratch(len(vocab), num_hiddens, device, get_lstm_params,\n",
|
||
" init_lstm_state, lstm)\n",
|
||
"d2l.train_ch8(model, train_iter, vocab, lr, num_epochs, device)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "7c73a98a-0081-4d5c-88ae-786f3874b62b",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"简洁实现"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"id": "665010d4-5ce1-4610-af14-925606e1fe1b",
|
||
"metadata": {
|
||
"origin_pos": 21,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"perplexity 1.1, 222756.1 tokens/sec on cuda:0\n",
|
||
"time traveller for so it will be convenient to speak of himwas e\n",
|
||
"travellerit s against reason said filbywhat the exrect a do\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 252.646875 180.65625\" width=\"252.646875pt\" 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:51:13.624095</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 252.646875 180.65625 \n",
|
||
"L 252.646875 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 40.603125 143.1 \n",
|
||
"L 235.903125 143.1 \n",
|
||
"L 235.903125 7.2 \n",
|
||
"L 40.603125 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(#pc44674949a)\" d=\"M 76.474554 143.1 \n",
|
||
"L 76.474554 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=\"m9f457ec782\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
|
||
" </defs>\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"76.474554\" xlink:href=\"#m9f457ec782\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_1\">\n",
|
||
" <!-- 100 -->\n",
|
||
" <g transform=\"translate(66.930804 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",
|
||
" <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_2\">\n",
|
||
" <g id=\"line2d_3\">\n",
|
||
" <path clip-path=\"url(#pc44674949a)\" d=\"M 116.331696 143.1 \n",
|
||
"L 116.331696 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=\"116.331696\" xlink:href=\"#m9f457ec782\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_2\">\n",
|
||
" <!-- 200 -->\n",
|
||
" <g transform=\"translate(106.787946 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",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_3\">\n",
|
||
" <g id=\"line2d_5\">\n",
|
||
" <path clip-path=\"url(#pc44674949a)\" d=\"M 156.188839 143.1 \n",
|
||
"L 156.188839 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=\"156.188839\" xlink:href=\"#m9f457ec782\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_3\">\n",
|
||
" <!-- 300 -->\n",
|
||
" <g transform=\"translate(146.645089 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 40.578125 39.3125 \n",
|
||
"Q 47.65625 37.796875 51.625 33 \n",
|
||
"Q 55.609375 28.21875 55.609375 21.1875 \n",
|
||
"Q 55.609375 10.40625 48.1875 4.484375 \n",
|
||
"Q 40.765625 -1.421875 27.09375 -1.421875 \n",
|
||
"Q 22.515625 -1.421875 17.65625 -0.515625 \n",
|
||
"Q 12.796875 0.390625 7.625 2.203125 \n",
|
||
"L 7.625 11.71875 \n",
|
||
"Q 11.71875 9.328125 16.59375 8.109375 \n",
|
||
"Q 21.484375 6.890625 26.8125 6.890625 \n",
|
||
"Q 36.078125 6.890625 40.9375 10.546875 \n",
|
||
"Q 45.796875 14.203125 45.796875 21.1875 \n",
|
||
"Q 45.796875 27.640625 41.28125 31.265625 \n",
|
||
"Q 36.765625 34.90625 28.71875 34.90625 \n",
|
||
"L 20.21875 34.90625 \n",
|
||
"L 20.21875 43.015625 \n",
|
||
"L 29.109375 43.015625 \n",
|
||
"Q 36.375 43.015625 40.234375 45.921875 \n",
|
||
"Q 44.09375 48.828125 44.09375 54.296875 \n",
|
||
"Q 44.09375 59.90625 40.109375 62.90625 \n",
|
||
"Q 36.140625 65.921875 28.71875 65.921875 \n",
|
||
"Q 24.65625 65.921875 20.015625 65.03125 \n",
|
||
"Q 15.375 64.15625 9.8125 62.3125 \n",
|
||
"L 9.8125 71.09375 \n",
|
||
"Q 15.4375 72.65625 20.34375 73.4375 \n",
|
||
"Q 25.25 74.21875 29.59375 74.21875 \n",
|
||
"Q 40.828125 74.21875 47.359375 69.109375 \n",
|
||
"Q 53.90625 64.015625 53.90625 55.328125 \n",
|
||
"Q 53.90625 49.265625 50.4375 45.09375 \n",
|
||
"Q 46.96875 40.921875 40.578125 39.3125 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-51\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-51\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_4\">\n",
|
||
" <g id=\"line2d_7\">\n",
|
||
" <path clip-path=\"url(#pc44674949a)\" d=\"M 196.045982 143.1 \n",
|
||
"L 196.045982 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=\"196.045982\" xlink:href=\"#m9f457ec782\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_4\">\n",
|
||
" <!-- 400 -->\n",
|
||
" <g transform=\"translate(186.502232 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",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_5\">\n",
|
||
" <g id=\"line2d_9\">\n",
|
||
" <path clip-path=\"url(#pc44674949a)\" d=\"M 235.903125 143.1 \n",
|
||
"L 235.903125 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=\"235.903125\" xlink:href=\"#m9f457ec782\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_5\">\n",
|
||
" <!-- 500 -->\n",
|
||
" <g transform=\"translate(226.359375 157.698438)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-53\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_6\">\n",
|
||
" <!-- epoch -->\n",
|
||
" <g transform=\"translate(123.025 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(#pc44674949a)\" d=\"M 40.603125 106.604895 \n",
|
||
"L 235.903125 106.604895 \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=\"mee01f2ffa3\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
|
||
" </defs>\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"40.603125\" xlink:href=\"#mee01f2ffa3\" y=\"106.604895\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_7\">\n",
|
||
" <!-- 5 -->\n",
|
||
" <g transform=\"translate(27.240625 110.404114)scale(0.1 -0.1)\">\n",
|
||
" <use 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(#pc44674949a)\" d=\"M 40.603125 68.287895 \n",
|
||
"L 235.903125 68.287895 \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=\"40.603125\" xlink:href=\"#mee01f2ffa3\" y=\"68.287895\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_8\">\n",
|
||
" <!-- 10 -->\n",
|
||
" <g transform=\"translate(20.878125 72.087114)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-49\"/>\n",
|
||
" <use x=\"63.623047\" 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(#pc44674949a)\" d=\"M 40.603125 29.970896 \n",
|
||
"L 235.903125 29.970896 \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=\"40.603125\" xlink:href=\"#mee01f2ffa3\" y=\"29.970896\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_9\">\n",
|
||
" <!-- 15 -->\n",
|
||
" <g transform=\"translate(20.878125 33.770115)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-49\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-53\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_10\">\n",
|
||
" <!-- perplexity -->\n",
|
||
" <g transform=\"translate(14.798437 100.276562)rotate(-90)scale(0.1 -0.1)\">\n",
|
||
" <defs>\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 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 54.890625 54.6875 \n",
|
||
"L 35.109375 28.078125 \n",
|
||
"L 55.90625 0 \n",
|
||
"L 45.3125 0 \n",
|
||
"L 29.390625 21.484375 \n",
|
||
"L 13.484375 0 \n",
|
||
"L 2.875 0 \n",
|
||
"L 24.125 28.609375 \n",
|
||
"L 4.6875 54.6875 \n",
|
||
"L 15.28125 54.6875 \n",
|
||
"L 29.78125 35.203125 \n",
|
||
"L 44.28125 54.6875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-120\"/>\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 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 32.171875 -5.078125 \n",
|
||
"Q 28.375 -14.84375 24.75 -17.8125 \n",
|
||
"Q 21.140625 -20.796875 15.09375 -20.796875 \n",
|
||
"L 7.90625 -20.796875 \n",
|
||
"L 7.90625 -13.28125 \n",
|
||
"L 13.1875 -13.28125 \n",
|
||
"Q 16.890625 -13.28125 18.9375 -11.515625 \n",
|
||
"Q 21 -9.765625 23.484375 -3.21875 \n",
|
||
"L 25.09375 0.875 \n",
|
||
"L 2.984375 54.6875 \n",
|
||
"L 12.5 54.6875 \n",
|
||
"L 29.59375 11.921875 \n",
|
||
"L 46.6875 54.6875 \n",
|
||
"L 56.203125 54.6875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-121\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-112\"/>\n",
|
||
" <use x=\"63.476562\" xlink:href=\"#DejaVuSans-101\"/>\n",
|
||
" <use x=\"125\" xlink:href=\"#DejaVuSans-114\"/>\n",
|
||
" <use x=\"166.113281\" xlink:href=\"#DejaVuSans-112\"/>\n",
|
||
" <use x=\"229.589844\" xlink:href=\"#DejaVuSans-108\"/>\n",
|
||
" <use x=\"257.373047\" xlink:href=\"#DejaVuSans-101\"/>\n",
|
||
" <use x=\"317.146484\" xlink:href=\"#DejaVuSans-120\"/>\n",
|
||
" <use x=\"376.326172\" xlink:href=\"#DejaVuSans-105\"/>\n",
|
||
" <use x=\"404.109375\" xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"443.318359\" xlink:href=\"#DejaVuSans-121\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_17\">\n",
|
||
" <path clip-path=\"url(#pc44674949a)\" d=\"M 40.603125 13.377273 \n",
|
||
"L 44.588839 19.840101 \n",
|
||
"L 48.574554 35.394203 \n",
|
||
"L 52.560268 50.277982 \n",
|
||
"L 56.545982 59.104074 \n",
|
||
"L 60.531696 63.382118 \n",
|
||
"L 64.517411 67.424673 \n",
|
||
"L 68.503125 71.801034 \n",
|
||
"L 72.488839 75.390541 \n",
|
||
"L 76.474554 79.118204 \n",
|
||
"L 80.460268 82.880337 \n",
|
||
"L 84.445982 84.092429 \n",
|
||
"L 88.431696 88.045157 \n",
|
||
"L 92.417411 92.304981 \n",
|
||
"L 96.403125 93.876796 \n",
|
||
"L 100.388839 97.127903 \n",
|
||
"L 104.374554 101.102012 \n",
|
||
"L 108.360268 104.626525 \n",
|
||
"L 112.345982 108.043623 \n",
|
||
"L 116.331696 112.320246 \n",
|
||
"L 120.317411 115.626967 \n",
|
||
"L 124.303125 117.983719 \n",
|
||
"L 128.288839 121.857575 \n",
|
||
"L 132.274554 125.287946 \n",
|
||
"L 136.260268 126.443167 \n",
|
||
"L 140.245982 129.888369 \n",
|
||
"L 144.231696 131.225935 \n",
|
||
"L 148.217411 132.54486 \n",
|
||
"L 152.203125 134.24488 \n",
|
||
"L 156.188839 134.86002 \n",
|
||
"L 160.174554 135.287533 \n",
|
||
"L 164.160268 136.006825 \n",
|
||
"L 168.145982 136.072318 \n",
|
||
"L 172.131696 136.159408 \n",
|
||
"L 176.117411 136.467993 \n",
|
||
"L 180.103125 136.696202 \n",
|
||
"L 184.088839 136.385747 \n",
|
||
"L 188.074554 136.753765 \n",
|
||
"L 192.060268 136.792135 \n",
|
||
"L 196.045982 136.786209 \n",
|
||
"L 200.031696 136.865748 \n",
|
||
"L 204.017411 136.660008 \n",
|
||
"L 208.003125 136.734854 \n",
|
||
"L 211.988839 136.749728 \n",
|
||
"L 215.974554 136.831945 \n",
|
||
"L 219.960268 136.895555 \n",
|
||
"L 223.945982 136.895439 \n",
|
||
"L 227.931696 136.922727 \n",
|
||
"L 231.917411 136.772343 \n",
|
||
"L 235.903125 136.871636 \n",
|
||
"\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_3\">\n",
|
||
" <path d=\"M 40.603125 143.1 \n",
|
||
"L 40.603125 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 235.903125 143.1 \n",
|
||
"L 235.903125 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 40.603125 143.1 \n",
|
||
"L 235.903125 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 40.603125 7.2 \n",
|
||
"L 235.903125 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 173.628125 29.878125 \n",
|
||
"L 228.903125 29.878125 \n",
|
||
"Q 230.903125 29.878125 230.903125 27.878125 \n",
|
||
"L 230.903125 14.2 \n",
|
||
"Q 230.903125 12.2 228.903125 12.2 \n",
|
||
"L 173.628125 12.2 \n",
|
||
"Q 171.628125 12.2 171.628125 14.2 \n",
|
||
"L 171.628125 27.878125 \n",
|
||
"Q 171.628125 29.878125 173.628125 29.878125 \n",
|
||
"z\n",
|
||
"\" style=\"fill:#ffffff;opacity:0.8;stroke:#cccccc;stroke-linejoin:miter;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_18\">\n",
|
||
" <path d=\"M 175.628125 20.298437 \n",
|
||
"L 195.628125 20.298437 \n",
|
||
"\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_19\"/>\n",
|
||
" <g id=\"text_11\">\n",
|
||
" <!-- train -->\n",
|
||
" <g transform=\"translate(203.628125 23.798437)scale(0.1 -0.1)\">\n",
|
||
" <defs>\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 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",
|
||
" </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",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <defs>\n",
|
||
" <clipPath id=\"pc44674949a\">\n",
|
||
" <rect height=\"135.9\" width=\"195.3\" x=\"40.603125\" 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": [
|
||
"num_inputs = vocab_size\n",
|
||
"lstm_layer = nn.LSTM(num_inputs, num_hiddens)\n",
|
||
"model = d2l.RNNModel(lstm_layer, len(vocab))\n",
|
||
"model = model.to(device)\n",
|
||
"d2l.train_ch8(model, train_iter, vocab, lr, num_epochs, device)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "49eee153-dc83-4924-b635-c990537f6617",
|
||
"metadata": {
|
||
"jp-MarkdownHeadingCollapsed": true,
|
||
"slideshow": {
|
||
"slide_type": "-"
|
||
},
|
||
"tags": []
|
||
},
|
||
"source": [
|
||
"## 门控循环单元(GRU)\n",
|
||
"\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"id": "20488c5d-4781-453f-a316-35b07bc58b84",
|
||
"metadata": {
|
||
"origin_pos": 2,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"import torch\n",
|
||
"from torch import nn\n",
|
||
"from d2l import torch as d2l\n",
|
||
"\n",
|
||
"batch_size, num_steps = 32, 35\n",
|
||
"train_iter, vocab = d2l.load_data_time_machine(batch_size, num_steps)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "99fcb45a-fb0c-4e78-b482-ee65b07d25f0",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"初始化模型参数"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"id": "ce37e242-fc70-43e6-b38e-9f9768df6637",
|
||
"metadata": {
|
||
"origin_pos": 6,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"def get_params(vocab_size, num_hiddens, device):\n",
|
||
" num_inputs = num_outputs = vocab_size\n",
|
||
"\n",
|
||
" def normal(shape):\n",
|
||
" return torch.randn(size=shape, device=device)*0.01\n",
|
||
"\n",
|
||
" def three():\n",
|
||
" return (normal((num_inputs, num_hiddens)),\n",
|
||
" normal((num_hiddens, num_hiddens)),\n",
|
||
" torch.zeros(num_hiddens, device=device))\n",
|
||
"\n",
|
||
" W_xz, W_hz, b_z = three() # 更新门参数\n",
|
||
" W_xr, W_hr, b_r = three() # 重置门参数\n",
|
||
" W_xh, W_hh, b_h = three() # 候选隐状态参数\n",
|
||
" # 输出层参数\n",
|
||
" W_hq = normal((num_hiddens, num_outputs))\n",
|
||
" b_q = torch.zeros(num_outputs, device=device)\n",
|
||
" params = [W_xz, W_hz, b_z, W_xr, W_hr, b_r, W_xh, W_hh, b_h, W_hq, b_q]\n",
|
||
" for param in params:\n",
|
||
" param.requires_grad_(True)\n",
|
||
" return params"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "674a2ce3-6c8b-401b-8390-34815195eeef",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"定义隐状态的初始化函数"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"id": "c962f4e5-c015-42c8-b073-7c2774d5a1ce",
|
||
"metadata": {
|
||
"origin_pos": 10,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"def init_gru_state(batch_size, num_hiddens, device):\n",
|
||
" return (torch.zeros((batch_size, num_hiddens), device=device), )"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "d46b76ba-7567-4d19-b4a9-ef386254c0e8",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"定义门控循环单元模型"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 4,
|
||
"id": "784bbe7b-b987-40f3-b228-cd640c420b06",
|
||
"metadata": {
|
||
"origin_pos": 14,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"def gru(inputs, state, params):\n",
|
||
" W_xz, W_hz, b_z, W_xr, W_hr, b_r, W_xh, W_hh, b_h, W_hq, b_q = params\n",
|
||
" H, = state\n",
|
||
" outputs = []\n",
|
||
" for X in inputs:\n",
|
||
" Z = torch.sigmoid((X @ W_xz) + (H @ W_hz) + b_z)\n",
|
||
" R = torch.sigmoid((X @ W_xr) + (H @ W_hr) + b_r)\n",
|
||
" H_tilda = torch.tanh((X @ W_xh) + ((R * H) @ W_hh) + b_h)\n",
|
||
" H = Z * H + (1 - Z) * H_tilda\n",
|
||
" Y = H @ W_hq + b_q\n",
|
||
" outputs.append(Y)\n",
|
||
" return torch.cat(outputs, dim=0), (H,)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "9f142a23-6a30-4152-b4cd-320465fdde48",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"训练"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 5,
|
||
"id": "54d1caf6-df93-4b09-8ff7-a79d3fdc97f3",
|
||
"metadata": {
|
||
"origin_pos": 17,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"perplexity 1.1, 24308.6 tokens/sec on cuda:0\n",
|
||
"time travelleryou can show black is white by argument said filby\n",
|
||
"travelleryou can show black is white by argument said filby\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 252.646875 180.65625\" width=\"252.646875pt\" 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:37:00.239620</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 252.646875 180.65625 \n",
|
||
"L 252.646875 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 40.603125 143.1 \n",
|
||
"L 235.903125 143.1 \n",
|
||
"L 235.903125 7.2 \n",
|
||
"L 40.603125 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(#p749d77dbd2)\" d=\"M 76.474554 143.1 \n",
|
||
"L 76.474554 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=\"m2bf73234e6\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
|
||
" </defs>\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"76.474554\" xlink:href=\"#m2bf73234e6\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_1\">\n",
|
||
" <!-- 100 -->\n",
|
||
" <g transform=\"translate(66.930804 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",
|
||
" <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_2\">\n",
|
||
" <g id=\"line2d_3\">\n",
|
||
" <path clip-path=\"url(#p749d77dbd2)\" d=\"M 116.331696 143.1 \n",
|
||
"L 116.331696 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=\"116.331696\" xlink:href=\"#m2bf73234e6\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_2\">\n",
|
||
" <!-- 200 -->\n",
|
||
" <g transform=\"translate(106.787946 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",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_3\">\n",
|
||
" <g id=\"line2d_5\">\n",
|
||
" <path clip-path=\"url(#p749d77dbd2)\" d=\"M 156.188839 143.1 \n",
|
||
"L 156.188839 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=\"156.188839\" xlink:href=\"#m2bf73234e6\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_3\">\n",
|
||
" <!-- 300 -->\n",
|
||
" <g transform=\"translate(146.645089 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 40.578125 39.3125 \n",
|
||
"Q 47.65625 37.796875 51.625 33 \n",
|
||
"Q 55.609375 28.21875 55.609375 21.1875 \n",
|
||
"Q 55.609375 10.40625 48.1875 4.484375 \n",
|
||
"Q 40.765625 -1.421875 27.09375 -1.421875 \n",
|
||
"Q 22.515625 -1.421875 17.65625 -0.515625 \n",
|
||
"Q 12.796875 0.390625 7.625 2.203125 \n",
|
||
"L 7.625 11.71875 \n",
|
||
"Q 11.71875 9.328125 16.59375 8.109375 \n",
|
||
"Q 21.484375 6.890625 26.8125 6.890625 \n",
|
||
"Q 36.078125 6.890625 40.9375 10.546875 \n",
|
||
"Q 45.796875 14.203125 45.796875 21.1875 \n",
|
||
"Q 45.796875 27.640625 41.28125 31.265625 \n",
|
||
"Q 36.765625 34.90625 28.71875 34.90625 \n",
|
||
"L 20.21875 34.90625 \n",
|
||
"L 20.21875 43.015625 \n",
|
||
"L 29.109375 43.015625 \n",
|
||
"Q 36.375 43.015625 40.234375 45.921875 \n",
|
||
"Q 44.09375 48.828125 44.09375 54.296875 \n",
|
||
"Q 44.09375 59.90625 40.109375 62.90625 \n",
|
||
"Q 36.140625 65.921875 28.71875 65.921875 \n",
|
||
"Q 24.65625 65.921875 20.015625 65.03125 \n",
|
||
"Q 15.375 64.15625 9.8125 62.3125 \n",
|
||
"L 9.8125 71.09375 \n",
|
||
"Q 15.4375 72.65625 20.34375 73.4375 \n",
|
||
"Q 25.25 74.21875 29.59375 74.21875 \n",
|
||
"Q 40.828125 74.21875 47.359375 69.109375 \n",
|
||
"Q 53.90625 64.015625 53.90625 55.328125 \n",
|
||
"Q 53.90625 49.265625 50.4375 45.09375 \n",
|
||
"Q 46.96875 40.921875 40.578125 39.3125 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-51\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-51\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_4\">\n",
|
||
" <g id=\"line2d_7\">\n",
|
||
" <path clip-path=\"url(#p749d77dbd2)\" d=\"M 196.045982 143.1 \n",
|
||
"L 196.045982 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=\"196.045982\" xlink:href=\"#m2bf73234e6\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_4\">\n",
|
||
" <!-- 400 -->\n",
|
||
" <g transform=\"translate(186.502232 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",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_5\">\n",
|
||
" <g id=\"line2d_9\">\n",
|
||
" <path clip-path=\"url(#p749d77dbd2)\" d=\"M 235.903125 143.1 \n",
|
||
"L 235.903125 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=\"235.903125\" xlink:href=\"#m2bf73234e6\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_5\">\n",
|
||
" <!-- 500 -->\n",
|
||
" <g transform=\"translate(226.359375 157.698438)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-53\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_6\">\n",
|
||
" <!-- epoch -->\n",
|
||
" <g transform=\"translate(123.025 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(#p749d77dbd2)\" d=\"M 40.603125 106.809466 \n",
|
||
"L 235.903125 106.809466 \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=\"mf2514da92e\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
|
||
" </defs>\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"40.603125\" xlink:href=\"#mf2514da92e\" y=\"106.809466\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_7\">\n",
|
||
" <!-- 5 -->\n",
|
||
" <g transform=\"translate(27.240625 110.608685)scale(0.1 -0.1)\">\n",
|
||
" <use 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(#p749d77dbd2)\" d=\"M 40.603125 68.704938 \n",
|
||
"L 235.903125 68.704938 \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=\"40.603125\" xlink:href=\"#mf2514da92e\" y=\"68.704938\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_8\">\n",
|
||
" <!-- 10 -->\n",
|
||
" <g transform=\"translate(20.878125 72.504157)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-49\"/>\n",
|
||
" <use x=\"63.623047\" 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(#p749d77dbd2)\" d=\"M 40.603125 30.60041 \n",
|
||
"L 235.903125 30.60041 \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=\"40.603125\" xlink:href=\"#mf2514da92e\" y=\"30.60041\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_9\">\n",
|
||
" <!-- 15 -->\n",
|
||
" <g transform=\"translate(20.878125 34.399629)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-49\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-53\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_10\">\n",
|
||
" <!-- perplexity -->\n",
|
||
" <g transform=\"translate(14.798437 100.276562)rotate(-90)scale(0.1 -0.1)\">\n",
|
||
" <defs>\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 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 54.890625 54.6875 \n",
|
||
"L 35.109375 28.078125 \n",
|
||
"L 55.90625 0 \n",
|
||
"L 45.3125 0 \n",
|
||
"L 29.390625 21.484375 \n",
|
||
"L 13.484375 0 \n",
|
||
"L 2.875 0 \n",
|
||
"L 24.125 28.609375 \n",
|
||
"L 4.6875 54.6875 \n",
|
||
"L 15.28125 54.6875 \n",
|
||
"L 29.78125 35.203125 \n",
|
||
"L 44.28125 54.6875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-120\"/>\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 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 32.171875 -5.078125 \n",
|
||
"Q 28.375 -14.84375 24.75 -17.8125 \n",
|
||
"Q 21.140625 -20.796875 15.09375 -20.796875 \n",
|
||
"L 7.90625 -20.796875 \n",
|
||
"L 7.90625 -13.28125 \n",
|
||
"L 13.1875 -13.28125 \n",
|
||
"Q 16.890625 -13.28125 18.9375 -11.515625 \n",
|
||
"Q 21 -9.765625 23.484375 -3.21875 \n",
|
||
"L 25.09375 0.875 \n",
|
||
"L 2.984375 54.6875 \n",
|
||
"L 12.5 54.6875 \n",
|
||
"L 29.59375 11.921875 \n",
|
||
"L 46.6875 54.6875 \n",
|
||
"L 56.203125 54.6875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-121\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-112\"/>\n",
|
||
" <use x=\"63.476562\" xlink:href=\"#DejaVuSans-101\"/>\n",
|
||
" <use x=\"125\" xlink:href=\"#DejaVuSans-114\"/>\n",
|
||
" <use x=\"166.113281\" xlink:href=\"#DejaVuSans-112\"/>\n",
|
||
" <use x=\"229.589844\" xlink:href=\"#DejaVuSans-108\"/>\n",
|
||
" <use x=\"257.373047\" xlink:href=\"#DejaVuSans-101\"/>\n",
|
||
" <use x=\"317.146484\" xlink:href=\"#DejaVuSans-120\"/>\n",
|
||
" <use x=\"376.326172\" xlink:href=\"#DejaVuSans-105\"/>\n",
|
||
" <use x=\"404.109375\" xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"443.318359\" xlink:href=\"#DejaVuSans-121\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_17\">\n",
|
||
" <path clip-path=\"url(#p749d77dbd2)\" d=\"M 40.603125 13.377273 \n",
|
||
"L 44.588839 26.354528 \n",
|
||
"L 48.574554 48.166007 \n",
|
||
"L 52.560268 56.911441 \n",
|
||
"L 56.545982 62.032301 \n",
|
||
"L 60.531696 66.354482 \n",
|
||
"L 64.517411 69.327975 \n",
|
||
"L 68.503125 71.519553 \n",
|
||
"L 72.488839 74.322576 \n",
|
||
"L 76.474554 75.672704 \n",
|
||
"L 80.460268 78.868995 \n",
|
||
"L 84.445982 80.714641 \n",
|
||
"L 88.431696 83.341134 \n",
|
||
"L 92.417411 84.316519 \n",
|
||
"L 96.403125 87.46335 \n",
|
||
"L 100.388839 89.006657 \n",
|
||
"L 104.374554 90.892413 \n",
|
||
"L 108.360268 92.83286 \n",
|
||
"L 112.345982 94.839887 \n",
|
||
"L 116.331696 96.899528 \n",
|
||
"L 120.317411 99.034346 \n",
|
||
"L 124.303125 100.995349 \n",
|
||
"L 128.288839 102.923954 \n",
|
||
"L 132.274554 105.438016 \n",
|
||
"L 136.260268 107.804159 \n",
|
||
"L 140.245982 110.696112 \n",
|
||
"L 144.231696 112.754489 \n",
|
||
"L 148.217411 115.534038 \n",
|
||
"L 152.203125 119.172796 \n",
|
||
"L 156.188839 121.543894 \n",
|
||
"L 160.174554 124.056074 \n",
|
||
"L 164.160268 127.614388 \n",
|
||
"L 168.145982 129.632694 \n",
|
||
"L 172.131696 131.499248 \n",
|
||
"L 176.117411 133.218346 \n",
|
||
"L 180.103125 133.979919 \n",
|
||
"L 184.088839 134.998673 \n",
|
||
"L 188.074554 135.360282 \n",
|
||
"L 192.060268 135.946165 \n",
|
||
"L 196.045982 136.140483 \n",
|
||
"L 200.031696 136.334071 \n",
|
||
"L 204.017411 136.597794 \n",
|
||
"L 208.003125 136.41588 \n",
|
||
"L 211.988839 135.977693 \n",
|
||
"L 215.974554 136.597432 \n",
|
||
"L 219.960268 136.518557 \n",
|
||
"L 223.945982 136.810965 \n",
|
||
"L 227.931696 136.727204 \n",
|
||
"L 231.917411 136.922727 \n",
|
||
"L 235.903125 136.856274 \n",
|
||
"\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_3\">\n",
|
||
" <path d=\"M 40.603125 143.1 \n",
|
||
"L 40.603125 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 235.903125 143.1 \n",
|
||
"L 235.903125 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 40.603125 143.1 \n",
|
||
"L 235.903125 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 40.603125 7.2 \n",
|
||
"L 235.903125 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 173.628125 29.878125 \n",
|
||
"L 228.903125 29.878125 \n",
|
||
"Q 230.903125 29.878125 230.903125 27.878125 \n",
|
||
"L 230.903125 14.2 \n",
|
||
"Q 230.903125 12.2 228.903125 12.2 \n",
|
||
"L 173.628125 12.2 \n",
|
||
"Q 171.628125 12.2 171.628125 14.2 \n",
|
||
"L 171.628125 27.878125 \n",
|
||
"Q 171.628125 29.878125 173.628125 29.878125 \n",
|
||
"z\n",
|
||
"\" style=\"fill:#ffffff;opacity:0.8;stroke:#cccccc;stroke-linejoin:miter;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_18\">\n",
|
||
" <path d=\"M 175.628125 20.298437 \n",
|
||
"L 195.628125 20.298437 \n",
|
||
"\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_19\"/>\n",
|
||
" <g id=\"text_11\">\n",
|
||
" <!-- train -->\n",
|
||
" <g transform=\"translate(203.628125 23.798437)scale(0.1 -0.1)\">\n",
|
||
" <defs>\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 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",
|
||
" </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",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <defs>\n",
|
||
" <clipPath id=\"p749d77dbd2\">\n",
|
||
" <rect height=\"135.9\" width=\"195.3\" x=\"40.603125\" 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": [
|
||
"vocab_size, num_hiddens, device = len(vocab), 256, d2l.try_gpu()\n",
|
||
"num_epochs, lr = 500, 1\n",
|
||
"model = d2l.RNNModelScratch(len(vocab), num_hiddens, device, get_params,\n",
|
||
" init_gru_state, gru)\n",
|
||
"d2l.train_ch8(model, train_iter, vocab, lr, num_epochs, device)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "99e6c8d5-da91-49e6-927c-4b012fe6cf2c",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"简洁实现"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"id": "22312f7f-e43d-42a4-82ec-b66adf677210",
|
||
"metadata": {
|
||
"origin_pos": 21,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"perplexity 1.0, 302131.8 tokens/sec on cuda:0\n",
|
||
"time travelleryou can show black is white by argument said filby\n",
|
||
"travelleryou can show black is white by argument said filby\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 252.646875 180.65625\" width=\"252.646875pt\" 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:37:24.482861</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 252.646875 180.65625 \n",
|
||
"L 252.646875 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 40.603125 143.1 \n",
|
||
"L 235.903125 143.1 \n",
|
||
"L 235.903125 7.2 \n",
|
||
"L 40.603125 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(#p253ffa8baa)\" d=\"M 76.474554 143.1 \n",
|
||
"L 76.474554 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=\"me6e1587dff\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
|
||
" </defs>\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"76.474554\" xlink:href=\"#me6e1587dff\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_1\">\n",
|
||
" <!-- 100 -->\n",
|
||
" <g transform=\"translate(66.930804 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",
|
||
" <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_2\">\n",
|
||
" <g id=\"line2d_3\">\n",
|
||
" <path clip-path=\"url(#p253ffa8baa)\" d=\"M 116.331696 143.1 \n",
|
||
"L 116.331696 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=\"116.331696\" xlink:href=\"#me6e1587dff\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_2\">\n",
|
||
" <!-- 200 -->\n",
|
||
" <g transform=\"translate(106.787946 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",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_3\">\n",
|
||
" <g id=\"line2d_5\">\n",
|
||
" <path clip-path=\"url(#p253ffa8baa)\" d=\"M 156.188839 143.1 \n",
|
||
"L 156.188839 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=\"156.188839\" xlink:href=\"#me6e1587dff\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_3\">\n",
|
||
" <!-- 300 -->\n",
|
||
" <g transform=\"translate(146.645089 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 40.578125 39.3125 \n",
|
||
"Q 47.65625 37.796875 51.625 33 \n",
|
||
"Q 55.609375 28.21875 55.609375 21.1875 \n",
|
||
"Q 55.609375 10.40625 48.1875 4.484375 \n",
|
||
"Q 40.765625 -1.421875 27.09375 -1.421875 \n",
|
||
"Q 22.515625 -1.421875 17.65625 -0.515625 \n",
|
||
"Q 12.796875 0.390625 7.625 2.203125 \n",
|
||
"L 7.625 11.71875 \n",
|
||
"Q 11.71875 9.328125 16.59375 8.109375 \n",
|
||
"Q 21.484375 6.890625 26.8125 6.890625 \n",
|
||
"Q 36.078125 6.890625 40.9375 10.546875 \n",
|
||
"Q 45.796875 14.203125 45.796875 21.1875 \n",
|
||
"Q 45.796875 27.640625 41.28125 31.265625 \n",
|
||
"Q 36.765625 34.90625 28.71875 34.90625 \n",
|
||
"L 20.21875 34.90625 \n",
|
||
"L 20.21875 43.015625 \n",
|
||
"L 29.109375 43.015625 \n",
|
||
"Q 36.375 43.015625 40.234375 45.921875 \n",
|
||
"Q 44.09375 48.828125 44.09375 54.296875 \n",
|
||
"Q 44.09375 59.90625 40.109375 62.90625 \n",
|
||
"Q 36.140625 65.921875 28.71875 65.921875 \n",
|
||
"Q 24.65625 65.921875 20.015625 65.03125 \n",
|
||
"Q 15.375 64.15625 9.8125 62.3125 \n",
|
||
"L 9.8125 71.09375 \n",
|
||
"Q 15.4375 72.65625 20.34375 73.4375 \n",
|
||
"Q 25.25 74.21875 29.59375 74.21875 \n",
|
||
"Q 40.828125 74.21875 47.359375 69.109375 \n",
|
||
"Q 53.90625 64.015625 53.90625 55.328125 \n",
|
||
"Q 53.90625 49.265625 50.4375 45.09375 \n",
|
||
"Q 46.96875 40.921875 40.578125 39.3125 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-51\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-51\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_4\">\n",
|
||
" <g id=\"line2d_7\">\n",
|
||
" <path clip-path=\"url(#p253ffa8baa)\" d=\"M 196.045982 143.1 \n",
|
||
"L 196.045982 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=\"196.045982\" xlink:href=\"#me6e1587dff\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_4\">\n",
|
||
" <!-- 400 -->\n",
|
||
" <g transform=\"translate(186.502232 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",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_5\">\n",
|
||
" <g id=\"line2d_9\">\n",
|
||
" <path clip-path=\"url(#p253ffa8baa)\" d=\"M 235.903125 143.1 \n",
|
||
"L 235.903125 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=\"235.903125\" xlink:href=\"#me6e1587dff\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_5\">\n",
|
||
" <!-- 500 -->\n",
|
||
" <g transform=\"translate(226.359375 157.698438)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-53\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_6\">\n",
|
||
" <!-- epoch -->\n",
|
||
" <g transform=\"translate(123.025 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(#p253ffa8baa)\" d=\"M 40.603125 103.412059 \n",
|
||
"L 235.903125 103.412059 \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=\"mb29689cda9\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
|
||
" </defs>\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"40.603125\" xlink:href=\"#mb29689cda9\" y=\"103.412059\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_7\">\n",
|
||
" <!-- 5 -->\n",
|
||
" <g transform=\"translate(27.240625 107.211278)scale(0.1 -0.1)\">\n",
|
||
" <use 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(#p253ffa8baa)\" d=\"M 40.603125 61.147526 \n",
|
||
"L 235.903125 61.147526 \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=\"40.603125\" xlink:href=\"#mb29689cda9\" y=\"61.147526\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_8\">\n",
|
||
" <!-- 10 -->\n",
|
||
" <g transform=\"translate(20.878125 64.946745)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-49\"/>\n",
|
||
" <use x=\"63.623047\" 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(#p253ffa8baa)\" d=\"M 40.603125 18.882993 \n",
|
||
"L 235.903125 18.882993 \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=\"40.603125\" xlink:href=\"#mb29689cda9\" y=\"18.882993\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_9\">\n",
|
||
" <!-- 15 -->\n",
|
||
" <g transform=\"translate(20.878125 22.682211)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-49\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-53\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_10\">\n",
|
||
" <!-- perplexity -->\n",
|
||
" <g transform=\"translate(14.798437 100.276562)rotate(-90)scale(0.1 -0.1)\">\n",
|
||
" <defs>\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 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 54.890625 54.6875 \n",
|
||
"L 35.109375 28.078125 \n",
|
||
"L 55.90625 0 \n",
|
||
"L 45.3125 0 \n",
|
||
"L 29.390625 21.484375 \n",
|
||
"L 13.484375 0 \n",
|
||
"L 2.875 0 \n",
|
||
"L 24.125 28.609375 \n",
|
||
"L 4.6875 54.6875 \n",
|
||
"L 15.28125 54.6875 \n",
|
||
"L 29.78125 35.203125 \n",
|
||
"L 44.28125 54.6875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-120\"/>\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 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 32.171875 -5.078125 \n",
|
||
"Q 28.375 -14.84375 24.75 -17.8125 \n",
|
||
"Q 21.140625 -20.796875 15.09375 -20.796875 \n",
|
||
"L 7.90625 -20.796875 \n",
|
||
"L 7.90625 -13.28125 \n",
|
||
"L 13.1875 -13.28125 \n",
|
||
"Q 16.890625 -13.28125 18.9375 -11.515625 \n",
|
||
"Q 21 -9.765625 23.484375 -3.21875 \n",
|
||
"L 25.09375 0.875 \n",
|
||
"L 2.984375 54.6875 \n",
|
||
"L 12.5 54.6875 \n",
|
||
"L 29.59375 11.921875 \n",
|
||
"L 46.6875 54.6875 \n",
|
||
"L 56.203125 54.6875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-121\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-112\"/>\n",
|
||
" <use x=\"63.476562\" xlink:href=\"#DejaVuSans-101\"/>\n",
|
||
" <use x=\"125\" xlink:href=\"#DejaVuSans-114\"/>\n",
|
||
" <use x=\"166.113281\" xlink:href=\"#DejaVuSans-112\"/>\n",
|
||
" <use x=\"229.589844\" xlink:href=\"#DejaVuSans-108\"/>\n",
|
||
" <use x=\"257.373047\" xlink:href=\"#DejaVuSans-101\"/>\n",
|
||
" <use x=\"317.146484\" xlink:href=\"#DejaVuSans-120\"/>\n",
|
||
" <use x=\"376.326172\" xlink:href=\"#DejaVuSans-105\"/>\n",
|
||
" <use x=\"404.109375\" xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"443.318359\" xlink:href=\"#DejaVuSans-121\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_17\">\n",
|
||
" <path clip-path=\"url(#p253ffa8baa)\" d=\"M 40.603125 13.377273 \n",
|
||
"L 44.588839 41.395097 \n",
|
||
"L 48.574554 54.515807 \n",
|
||
"L 52.560268 60.509004 \n",
|
||
"L 56.545982 65.206893 \n",
|
||
"L 60.531696 68.830937 \n",
|
||
"L 64.517411 71.615286 \n",
|
||
"L 68.503125 74.920623 \n",
|
||
"L 72.488839 77.927893 \n",
|
||
"L 76.474554 80.54603 \n",
|
||
"L 80.460268 83.203348 \n",
|
||
"L 84.445982 86.238904 \n",
|
||
"L 88.431696 89.045605 \n",
|
||
"L 92.417411 91.813943 \n",
|
||
"L 96.403125 94.335824 \n",
|
||
"L 100.388839 98.290505 \n",
|
||
"L 104.374554 102.025608 \n",
|
||
"L 108.360268 105.205487 \n",
|
||
"L 112.345982 109.56569 \n",
|
||
"L 116.331696 112.953346 \n",
|
||
"L 120.317411 118.001286 \n",
|
||
"L 124.303125 122.282694 \n",
|
||
"L 128.288839 125.080503 \n",
|
||
"L 132.274554 127.69059 \n",
|
||
"L 136.260268 131.717473 \n",
|
||
"L 140.245982 133.037557 \n",
|
||
"L 144.231696 134.519143 \n",
|
||
"L 148.217411 135.474633 \n",
|
||
"L 152.203125 135.696711 \n",
|
||
"L 156.188839 136.162096 \n",
|
||
"L 160.174554 136.297359 \n",
|
||
"L 164.160268 135.947779 \n",
|
||
"L 168.145982 136.474779 \n",
|
||
"L 172.131696 136.574136 \n",
|
||
"L 176.117411 136.688263 \n",
|
||
"L 180.103125 136.712353 \n",
|
||
"L 184.088839 136.632455 \n",
|
||
"L 188.074554 136.793627 \n",
|
||
"L 192.060268 136.825918 \n",
|
||
"L 196.045982 136.649913 \n",
|
||
"L 200.031696 136.899169 \n",
|
||
"L 204.017411 136.77376 \n",
|
||
"L 208.003125 136.598921 \n",
|
||
"L 211.988839 136.753388 \n",
|
||
"L 215.974554 136.844129 \n",
|
||
"L 219.960268 136.824159 \n",
|
||
"L 223.945982 136.869613 \n",
|
||
"L 227.931696 136.884024 \n",
|
||
"L 231.917411 136.922727 \n",
|
||
"L 235.903125 136.859541 \n",
|
||
"\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_3\">\n",
|
||
" <path d=\"M 40.603125 143.1 \n",
|
||
"L 40.603125 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 235.903125 143.1 \n",
|
||
"L 235.903125 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 40.603125 143.1 \n",
|
||
"L 235.903125 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 40.603125 7.2 \n",
|
||
"L 235.903125 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 173.628125 29.878125 \n",
|
||
"L 228.903125 29.878125 \n",
|
||
"Q 230.903125 29.878125 230.903125 27.878125 \n",
|
||
"L 230.903125 14.2 \n",
|
||
"Q 230.903125 12.2 228.903125 12.2 \n",
|
||
"L 173.628125 12.2 \n",
|
||
"Q 171.628125 12.2 171.628125 14.2 \n",
|
||
"L 171.628125 27.878125 \n",
|
||
"Q 171.628125 29.878125 173.628125 29.878125 \n",
|
||
"z\n",
|
||
"\" style=\"fill:#ffffff;opacity:0.8;stroke:#cccccc;stroke-linejoin:miter;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_18\">\n",
|
||
" <path d=\"M 175.628125 20.298437 \n",
|
||
"L 195.628125 20.298437 \n",
|
||
"\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_19\"/>\n",
|
||
" <g id=\"text_11\">\n",
|
||
" <!-- train -->\n",
|
||
" <g transform=\"translate(203.628125 23.798437)scale(0.1 -0.1)\">\n",
|
||
" <defs>\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 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",
|
||
" </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",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <defs>\n",
|
||
" <clipPath id=\"p253ffa8baa\">\n",
|
||
" <rect height=\"135.9\" width=\"195.3\" x=\"40.603125\" 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": [
|
||
"num_inputs = vocab_size\n",
|
||
"gru_layer = nn.GRU(num_inputs, num_hiddens)\n",
|
||
"model = d2l.RNNModel(gru_layer, len(vocab))\n",
|
||
"model = model.to(device)\n",
|
||
"d2l.train_ch8(model, train_iter, vocab, lr, num_epochs, device)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "c0c85839-2eb3-4e89-bf10-63197ec67988",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "-"
|
||
}
|
||
},
|
||
"source": [
|
||
"## 深度循环神经网络\n",
|
||
"\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"id": "bf1b6cd6-b5f7-4f09-bc2e-c03d9e614411",
|
||
"metadata": {
|
||
"origin_pos": 2,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Downloading ../data/timemachine.txt from http://d2l-data.s3-accelerate.amazonaws.com/timemachine.txt...\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"import torch\n",
|
||
"from torch import nn\n",
|
||
"from d2l import torch as d2l\n",
|
||
"\n",
|
||
"batch_size, num_steps = 32, 35\n",
|
||
"train_iter, vocab = d2l.load_data_time_machine(batch_size, num_steps)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "827b8d71-9105-4103-8b86-b6cd6c2724cf",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"通过`num_layers`的值来设定隐藏层数"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 2,
|
||
"id": "33fd898e-b4ed-4632-b7bf-43a8585a4715",
|
||
"metadata": {
|
||
"origin_pos": 5,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"vocab_size, num_hiddens, num_layers = len(vocab), 256, 2\n",
|
||
"num_inputs = vocab_size\n",
|
||
"device = d2l.try_gpu()\n",
|
||
"# 通过num_layers的值来设定隐藏层数\n",
|
||
"lstm_layer = nn.LSTM(num_inputs, num_hiddens, num_layers)\n",
|
||
"model = d2l.RNNModel(lstm_layer, len(vocab))\n",
|
||
"model = model.to(device)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "0bae32e2-c90a-4793-8e0a-8a5d78985745",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
}
|
||
},
|
||
"source": [
|
||
"训练"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 3,
|
||
"id": "ff5e04c1-9bde-4764-b568-c558e74772a3",
|
||
"metadata": {
|
||
"origin_pos": 7,
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"perplexity 1.0, 199074.9 tokens/sec on cuda:0\n",
|
||
"time traveller for so it will be convenient to speak of himwas e\n",
|
||
"travelleryou can show black is white by argument said filby\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 252.646875 180.65625\" width=\"252.646875pt\" 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:18:12.617793</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 252.646875 180.65625 \n",
|
||
"L 252.646875 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 40.603125 143.1 \n",
|
||
"L 235.903125 143.1 \n",
|
||
"L 235.903125 7.2 \n",
|
||
"L 40.603125 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(#p5769824aa2)\" d=\"M 76.474554 143.1 \n",
|
||
"L 76.474554 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=\"m985b7486c3\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
|
||
" </defs>\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"76.474554\" xlink:href=\"#m985b7486c3\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_1\">\n",
|
||
" <!-- 100 -->\n",
|
||
" <g transform=\"translate(66.930804 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",
|
||
" <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_2\">\n",
|
||
" <g id=\"line2d_3\">\n",
|
||
" <path clip-path=\"url(#p5769824aa2)\" d=\"M 116.331696 143.1 \n",
|
||
"L 116.331696 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=\"116.331696\" xlink:href=\"#m985b7486c3\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_2\">\n",
|
||
" <!-- 200 -->\n",
|
||
" <g transform=\"translate(106.787946 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",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_3\">\n",
|
||
" <g id=\"line2d_5\">\n",
|
||
" <path clip-path=\"url(#p5769824aa2)\" d=\"M 156.188839 143.1 \n",
|
||
"L 156.188839 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=\"156.188839\" xlink:href=\"#m985b7486c3\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_3\">\n",
|
||
" <!-- 300 -->\n",
|
||
" <g transform=\"translate(146.645089 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 40.578125 39.3125 \n",
|
||
"Q 47.65625 37.796875 51.625 33 \n",
|
||
"Q 55.609375 28.21875 55.609375 21.1875 \n",
|
||
"Q 55.609375 10.40625 48.1875 4.484375 \n",
|
||
"Q 40.765625 -1.421875 27.09375 -1.421875 \n",
|
||
"Q 22.515625 -1.421875 17.65625 -0.515625 \n",
|
||
"Q 12.796875 0.390625 7.625 2.203125 \n",
|
||
"L 7.625 11.71875 \n",
|
||
"Q 11.71875 9.328125 16.59375 8.109375 \n",
|
||
"Q 21.484375 6.890625 26.8125 6.890625 \n",
|
||
"Q 36.078125 6.890625 40.9375 10.546875 \n",
|
||
"Q 45.796875 14.203125 45.796875 21.1875 \n",
|
||
"Q 45.796875 27.640625 41.28125 31.265625 \n",
|
||
"Q 36.765625 34.90625 28.71875 34.90625 \n",
|
||
"L 20.21875 34.90625 \n",
|
||
"L 20.21875 43.015625 \n",
|
||
"L 29.109375 43.015625 \n",
|
||
"Q 36.375 43.015625 40.234375 45.921875 \n",
|
||
"Q 44.09375 48.828125 44.09375 54.296875 \n",
|
||
"Q 44.09375 59.90625 40.109375 62.90625 \n",
|
||
"Q 36.140625 65.921875 28.71875 65.921875 \n",
|
||
"Q 24.65625 65.921875 20.015625 65.03125 \n",
|
||
"Q 15.375 64.15625 9.8125 62.3125 \n",
|
||
"L 9.8125 71.09375 \n",
|
||
"Q 15.4375 72.65625 20.34375 73.4375 \n",
|
||
"Q 25.25 74.21875 29.59375 74.21875 \n",
|
||
"Q 40.828125 74.21875 47.359375 69.109375 \n",
|
||
"Q 53.90625 64.015625 53.90625 55.328125 \n",
|
||
"Q 53.90625 49.265625 50.4375 45.09375 \n",
|
||
"Q 46.96875 40.921875 40.578125 39.3125 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-51\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-51\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_4\">\n",
|
||
" <g id=\"line2d_7\">\n",
|
||
" <path clip-path=\"url(#p5769824aa2)\" d=\"M 196.045982 143.1 \n",
|
||
"L 196.045982 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=\"196.045982\" xlink:href=\"#m985b7486c3\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_4\">\n",
|
||
" <!-- 400 -->\n",
|
||
" <g transform=\"translate(186.502232 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",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_5\">\n",
|
||
" <g id=\"line2d_9\">\n",
|
||
" <path clip-path=\"url(#p5769824aa2)\" d=\"M 235.903125 143.1 \n",
|
||
"L 235.903125 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=\"235.903125\" xlink:href=\"#m985b7486c3\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_5\">\n",
|
||
" <!-- 500 -->\n",
|
||
" <g transform=\"translate(226.359375 157.698438)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-53\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_6\">\n",
|
||
" <!-- epoch -->\n",
|
||
" <g transform=\"translate(123.025 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(#p5769824aa2)\" d=\"M 40.603125 107.216076 \n",
|
||
"L 235.903125 107.216076 \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=\"mcc4269d03b\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
|
||
" </defs>\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"40.603125\" xlink:href=\"#mcc4269d03b\" y=\"107.216076\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_7\">\n",
|
||
" <!-- 5 -->\n",
|
||
" <g transform=\"translate(27.240625 111.015295)scale(0.1 -0.1)\">\n",
|
||
" <use 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(#p5769824aa2)\" d=\"M 40.603125 69.887873 \n",
|
||
"L 235.903125 69.887873 \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=\"40.603125\" xlink:href=\"#mcc4269d03b\" y=\"69.887873\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_8\">\n",
|
||
" <!-- 10 -->\n",
|
||
" <g transform=\"translate(20.878125 73.687091)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-49\"/>\n",
|
||
" <use x=\"63.623047\" 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(#p5769824aa2)\" d=\"M 40.603125 32.559669 \n",
|
||
"L 235.903125 32.559669 \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=\"40.603125\" xlink:href=\"#mcc4269d03b\" y=\"32.559669\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_9\">\n",
|
||
" <!-- 15 -->\n",
|
||
" <g transform=\"translate(20.878125 36.358888)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-49\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-53\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_10\">\n",
|
||
" <!-- perplexity -->\n",
|
||
" <g transform=\"translate(14.798437 100.276562)rotate(-90)scale(0.1 -0.1)\">\n",
|
||
" <defs>\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 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 54.890625 54.6875 \n",
|
||
"L 35.109375 28.078125 \n",
|
||
"L 55.90625 0 \n",
|
||
"L 45.3125 0 \n",
|
||
"L 29.390625 21.484375 \n",
|
||
"L 13.484375 0 \n",
|
||
"L 2.875 0 \n",
|
||
"L 24.125 28.609375 \n",
|
||
"L 4.6875 54.6875 \n",
|
||
"L 15.28125 54.6875 \n",
|
||
"L 29.78125 35.203125 \n",
|
||
"L 44.28125 54.6875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-120\"/>\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 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 32.171875 -5.078125 \n",
|
||
"Q 28.375 -14.84375 24.75 -17.8125 \n",
|
||
"Q 21.140625 -20.796875 15.09375 -20.796875 \n",
|
||
"L 7.90625 -20.796875 \n",
|
||
"L 7.90625 -13.28125 \n",
|
||
"L 13.1875 -13.28125 \n",
|
||
"Q 16.890625 -13.28125 18.9375 -11.515625 \n",
|
||
"Q 21 -9.765625 23.484375 -3.21875 \n",
|
||
"L 25.09375 0.875 \n",
|
||
"L 2.984375 54.6875 \n",
|
||
"L 12.5 54.6875 \n",
|
||
"L 29.59375 11.921875 \n",
|
||
"L 46.6875 54.6875 \n",
|
||
"L 56.203125 54.6875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-121\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-112\"/>\n",
|
||
" <use x=\"63.476562\" xlink:href=\"#DejaVuSans-101\"/>\n",
|
||
" <use x=\"125\" xlink:href=\"#DejaVuSans-114\"/>\n",
|
||
" <use x=\"166.113281\" xlink:href=\"#DejaVuSans-112\"/>\n",
|
||
" <use x=\"229.589844\" xlink:href=\"#DejaVuSans-108\"/>\n",
|
||
" <use x=\"257.373047\" xlink:href=\"#DejaVuSans-101\"/>\n",
|
||
" <use x=\"317.146484\" xlink:href=\"#DejaVuSans-120\"/>\n",
|
||
" <use x=\"376.326172\" xlink:href=\"#DejaVuSans-105\"/>\n",
|
||
" <use x=\"404.109375\" xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"443.318359\" xlink:href=\"#DejaVuSans-121\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_17\">\n",
|
||
" <path clip-path=\"url(#p5769824aa2)\" d=\"M 40.603125 13.377273 \n",
|
||
"L 44.588839 14.467329 \n",
|
||
"L 48.574554 16.23636 \n",
|
||
"L 52.560268 25.637806 \n",
|
||
"L 56.545982 33.545714 \n",
|
||
"L 60.531696 55.212824 \n",
|
||
"L 64.517411 60.747867 \n",
|
||
"L 68.503125 64.55042 \n",
|
||
"L 72.488839 70.458513 \n",
|
||
"L 76.474554 75.588654 \n",
|
||
"L 80.460268 81.511973 \n",
|
||
"L 84.445982 87.324706 \n",
|
||
"L 88.431696 92.69747 \n",
|
||
"L 92.417411 97.146683 \n",
|
||
"L 96.403125 103.001662 \n",
|
||
"L 100.388839 109.04291 \n",
|
||
"L 104.374554 112.885383 \n",
|
||
"L 108.360268 120.157362 \n",
|
||
"L 112.345982 126.174029 \n",
|
||
"L 116.331696 131.007651 \n",
|
||
"L 120.317411 134.010469 \n",
|
||
"L 124.303125 135.628737 \n",
|
||
"L 128.288839 136.122122 \n",
|
||
"L 132.274554 136.239277 \n",
|
||
"L 136.260268 136.571533 \n",
|
||
"L 140.245982 136.539839 \n",
|
||
"L 144.231696 136.686404 \n",
|
||
"L 148.217411 136.770447 \n",
|
||
"L 152.203125 136.720735 \n",
|
||
"L 156.188839 136.729878 \n",
|
||
"L 160.174554 136.829845 \n",
|
||
"L 164.160268 136.784129 \n",
|
||
"L 168.145982 136.815041 \n",
|
||
"L 172.131696 136.78607 \n",
|
||
"L 176.117411 136.837441 \n",
|
||
"L 180.103125 136.684272 \n",
|
||
"L 184.088839 136.768764 \n",
|
||
"L 188.074554 136.848249 \n",
|
||
"L 192.060268 136.889366 \n",
|
||
"L 196.045982 136.879097 \n",
|
||
"L 200.031696 136.906272 \n",
|
||
"L 204.017411 136.875467 \n",
|
||
"L 208.003125 136.864094 \n",
|
||
"L 211.988839 136.861813 \n",
|
||
"L 215.974554 136.835632 \n",
|
||
"L 219.960268 136.869141 \n",
|
||
"L 223.945982 136.922727 \n",
|
||
"L 227.931696 136.874519 \n",
|
||
"L 231.917411 136.892643 \n",
|
||
"L 235.903125 136.734211 \n",
|
||
"\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_3\">\n",
|
||
" <path d=\"M 40.603125 143.1 \n",
|
||
"L 40.603125 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 235.903125 143.1 \n",
|
||
"L 235.903125 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 40.603125 143.1 \n",
|
||
"L 235.903125 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 40.603125 7.2 \n",
|
||
"L 235.903125 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 173.628125 29.878125 \n",
|
||
"L 228.903125 29.878125 \n",
|
||
"Q 230.903125 29.878125 230.903125 27.878125 \n",
|
||
"L 230.903125 14.2 \n",
|
||
"Q 230.903125 12.2 228.903125 12.2 \n",
|
||
"L 173.628125 12.2 \n",
|
||
"Q 171.628125 12.2 171.628125 14.2 \n",
|
||
"L 171.628125 27.878125 \n",
|
||
"Q 171.628125 29.878125 173.628125 29.878125 \n",
|
||
"z\n",
|
||
"\" style=\"fill:#ffffff;opacity:0.8;stroke:#cccccc;stroke-linejoin:miter;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_18\">\n",
|
||
" <path d=\"M 175.628125 20.298437 \n",
|
||
"L 195.628125 20.298437 \n",
|
||
"\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_19\"/>\n",
|
||
" <g id=\"text_11\">\n",
|
||
" <!-- train -->\n",
|
||
" <g transform=\"translate(203.628125 23.798437)scale(0.1 -0.1)\">\n",
|
||
" <defs>\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 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",
|
||
" </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",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <defs>\n",
|
||
" <clipPath id=\"p5769824aa2\">\n",
|
||
" <rect height=\"135.9\" width=\"195.3\" x=\"40.603125\" 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": [
|
||
"num_epochs, lr = 500, 2\n",
|
||
"d2l.train_ch8(model, train_iter, vocab, lr, num_epochs, device)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "fdc6d401-d1f3-4426-95f3-1385c1a07653",
|
||
"metadata": {
|
||
"slideshow": {
|
||
"slide_type": "-"
|
||
}
|
||
},
|
||
"source": [
|
||
"## 双向循环神经网络\n",
|
||
"\n",
|
||
"双向循环神经网络的错误应用"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "302ad7f5-3dc2-45f9-af35-67ca7b9bc527",
|
||
"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",
|
||
"batch_size, num_steps, device = 32, 35, d2l.try_gpu()\n",
|
||
"train_iter, vocab = d2l.load_data_time_machine(batch_size, num_steps)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "21450277-6c6b-43f1-8bf6-6cb43af3aba4",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"vocab_size, num_hiddens, num_layers = len(vocab), 256, 2\n",
|
||
"num_inputs = vocab_size\n",
|
||
"# 通过设置“bidirective=True”来定义双向LSTM模型\n",
|
||
"lstm_layer = nn.LSTM(num_inputs, num_hiddens, num_layers, bidirectional=True)\n",
|
||
"model = d2l.RNNModel(lstm_layer, len(vocab))\n",
|
||
"model = model.to(device)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"id": "7e4f3c24-4166-4bfa-b04d-125163d748a6",
|
||
"metadata": {
|
||
"origin_pos": 2,
|
||
"slideshow": {
|
||
"slide_type": "slide"
|
||
},
|
||
"tab": [
|
||
"pytorch"
|
||
]
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"perplexity 1.1, 118001.0 tokens/sec on cuda:0\n",
|
||
"time travellerererererererererererererererererererererererererer\n",
|
||
"travellerererererererererererererererererererererererererer\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 252.646875 180.65625\" width=\"252.646875pt\" 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-17T02:15:21.385692</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 252.646875 180.65625 \n",
|
||
"L 252.646875 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 40.603125 143.1 \n",
|
||
"L 235.903125 143.1 \n",
|
||
"L 235.903125 7.2 \n",
|
||
"L 40.603125 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(#pc61c32422a)\" d=\"M 76.474554 143.1 \n",
|
||
"L 76.474554 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=\"mc19fa28d48\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
|
||
" </defs>\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"76.474554\" xlink:href=\"#mc19fa28d48\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_1\">\n",
|
||
" <!-- 100 -->\n",
|
||
" <g transform=\"translate(66.930804 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",
|
||
" <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_2\">\n",
|
||
" <g id=\"line2d_3\">\n",
|
||
" <path clip-path=\"url(#pc61c32422a)\" d=\"M 116.331696 143.1 \n",
|
||
"L 116.331696 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=\"116.331696\" xlink:href=\"#mc19fa28d48\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_2\">\n",
|
||
" <!-- 200 -->\n",
|
||
" <g transform=\"translate(106.787946 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",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_3\">\n",
|
||
" <g id=\"line2d_5\">\n",
|
||
" <path clip-path=\"url(#pc61c32422a)\" d=\"M 156.188839 143.1 \n",
|
||
"L 156.188839 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=\"156.188839\" xlink:href=\"#mc19fa28d48\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_3\">\n",
|
||
" <!-- 300 -->\n",
|
||
" <g transform=\"translate(146.645089 157.698438)scale(0.1 -0.1)\">\n",
|
||
" <defs>\n",
|
||
" <path d=\"M 40.578125 39.3125 \n",
|
||
"Q 47.65625 37.796875 51.625 33 \n",
|
||
"Q 55.609375 28.21875 55.609375 21.1875 \n",
|
||
"Q 55.609375 10.40625 48.1875 4.484375 \n",
|
||
"Q 40.765625 -1.421875 27.09375 -1.421875 \n",
|
||
"Q 22.515625 -1.421875 17.65625 -0.515625 \n",
|
||
"Q 12.796875 0.390625 7.625 2.203125 \n",
|
||
"L 7.625 11.71875 \n",
|
||
"Q 11.71875 9.328125 16.59375 8.109375 \n",
|
||
"Q 21.484375 6.890625 26.8125 6.890625 \n",
|
||
"Q 36.078125 6.890625 40.9375 10.546875 \n",
|
||
"Q 45.796875 14.203125 45.796875 21.1875 \n",
|
||
"Q 45.796875 27.640625 41.28125 31.265625 \n",
|
||
"Q 36.765625 34.90625 28.71875 34.90625 \n",
|
||
"L 20.21875 34.90625 \n",
|
||
"L 20.21875 43.015625 \n",
|
||
"L 29.109375 43.015625 \n",
|
||
"Q 36.375 43.015625 40.234375 45.921875 \n",
|
||
"Q 44.09375 48.828125 44.09375 54.296875 \n",
|
||
"Q 44.09375 59.90625 40.109375 62.90625 \n",
|
||
"Q 36.140625 65.921875 28.71875 65.921875 \n",
|
||
"Q 24.65625 65.921875 20.015625 65.03125 \n",
|
||
"Q 15.375 64.15625 9.8125 62.3125 \n",
|
||
"L 9.8125 71.09375 \n",
|
||
"Q 15.4375 72.65625 20.34375 73.4375 \n",
|
||
"Q 25.25 74.21875 29.59375 74.21875 \n",
|
||
"Q 40.828125 74.21875 47.359375 69.109375 \n",
|
||
"Q 53.90625 64.015625 53.90625 55.328125 \n",
|
||
"Q 53.90625 49.265625 50.4375 45.09375 \n",
|
||
"Q 46.96875 40.921875 40.578125 39.3125 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-51\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-51\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_4\">\n",
|
||
" <g id=\"line2d_7\">\n",
|
||
" <path clip-path=\"url(#pc61c32422a)\" d=\"M 196.045982 143.1 \n",
|
||
"L 196.045982 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=\"196.045982\" xlink:href=\"#mc19fa28d48\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_4\">\n",
|
||
" <!-- 400 -->\n",
|
||
" <g transform=\"translate(186.502232 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",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"xtick_5\">\n",
|
||
" <g id=\"line2d_9\">\n",
|
||
" <path clip-path=\"url(#pc61c32422a)\" d=\"M 235.903125 143.1 \n",
|
||
"L 235.903125 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=\"235.903125\" xlink:href=\"#mc19fa28d48\" y=\"143.1\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_5\">\n",
|
||
" <!-- 500 -->\n",
|
||
" <g transform=\"translate(226.359375 157.698438)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-53\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" <use x=\"127.246094\" xlink:href=\"#DejaVuSans-48\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_6\">\n",
|
||
" <!-- epoch -->\n",
|
||
" <g transform=\"translate(123.025 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(#pc61c32422a)\" d=\"M 40.603125 107.223819 \n",
|
||
"L 235.903125 107.223819 \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=\"m9ad9c3d407\" style=\"stroke:#000000;stroke-width:0.8;\"/>\n",
|
||
" </defs>\n",
|
||
" <g>\n",
|
||
" <use style=\"stroke:#000000;stroke-width:0.8;\" x=\"40.603125\" xlink:href=\"#m9ad9c3d407\" y=\"107.223819\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_7\">\n",
|
||
" <!-- 5 -->\n",
|
||
" <g transform=\"translate(27.240625 111.023037)scale(0.1 -0.1)\">\n",
|
||
" <use 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(#pc61c32422a)\" d=\"M 40.603125 69.211302 \n",
|
||
"L 235.903125 69.211302 \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=\"40.603125\" xlink:href=\"#m9ad9c3d407\" y=\"69.211302\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_8\">\n",
|
||
" <!-- 10 -->\n",
|
||
" <g transform=\"translate(20.878125 73.010521)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-49\"/>\n",
|
||
" <use x=\"63.623047\" 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(#pc61c32422a)\" d=\"M 40.603125 31.198785 \n",
|
||
"L 235.903125 31.198785 \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=\"40.603125\" xlink:href=\"#m9ad9c3d407\" y=\"31.198785\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_9\">\n",
|
||
" <!-- 15 -->\n",
|
||
" <g transform=\"translate(20.878125 34.998004)scale(0.1 -0.1)\">\n",
|
||
" <use xlink:href=\"#DejaVuSans-49\"/>\n",
|
||
" <use x=\"63.623047\" xlink:href=\"#DejaVuSans-53\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"text_10\">\n",
|
||
" <!-- perplexity -->\n",
|
||
" <g transform=\"translate(14.798437 100.276562)rotate(-90)scale(0.1 -0.1)\">\n",
|
||
" <defs>\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 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 54.890625 54.6875 \n",
|
||
"L 35.109375 28.078125 \n",
|
||
"L 55.90625 0 \n",
|
||
"L 45.3125 0 \n",
|
||
"L 29.390625 21.484375 \n",
|
||
"L 13.484375 0 \n",
|
||
"L 2.875 0 \n",
|
||
"L 24.125 28.609375 \n",
|
||
"L 4.6875 54.6875 \n",
|
||
"L 15.28125 54.6875 \n",
|
||
"L 29.78125 35.203125 \n",
|
||
"L 44.28125 54.6875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-120\"/>\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 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 32.171875 -5.078125 \n",
|
||
"Q 28.375 -14.84375 24.75 -17.8125 \n",
|
||
"Q 21.140625 -20.796875 15.09375 -20.796875 \n",
|
||
"L 7.90625 -20.796875 \n",
|
||
"L 7.90625 -13.28125 \n",
|
||
"L 13.1875 -13.28125 \n",
|
||
"Q 16.890625 -13.28125 18.9375 -11.515625 \n",
|
||
"Q 21 -9.765625 23.484375 -3.21875 \n",
|
||
"L 25.09375 0.875 \n",
|
||
"L 2.984375 54.6875 \n",
|
||
"L 12.5 54.6875 \n",
|
||
"L 29.59375 11.921875 \n",
|
||
"L 46.6875 54.6875 \n",
|
||
"L 56.203125 54.6875 \n",
|
||
"z\n",
|
||
"\" id=\"DejaVuSans-121\"/>\n",
|
||
" </defs>\n",
|
||
" <use xlink:href=\"#DejaVuSans-112\"/>\n",
|
||
" <use x=\"63.476562\" xlink:href=\"#DejaVuSans-101\"/>\n",
|
||
" <use x=\"125\" xlink:href=\"#DejaVuSans-114\"/>\n",
|
||
" <use x=\"166.113281\" xlink:href=\"#DejaVuSans-112\"/>\n",
|
||
" <use x=\"229.589844\" xlink:href=\"#DejaVuSans-108\"/>\n",
|
||
" <use x=\"257.373047\" xlink:href=\"#DejaVuSans-101\"/>\n",
|
||
" <use x=\"317.146484\" xlink:href=\"#DejaVuSans-120\"/>\n",
|
||
" <use x=\"376.326172\" xlink:href=\"#DejaVuSans-105\"/>\n",
|
||
" <use x=\"404.109375\" xlink:href=\"#DejaVuSans-116\"/>\n",
|
||
" <use x=\"443.318359\" xlink:href=\"#DejaVuSans-121\"/>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_17\">\n",
|
||
" <path clip-path=\"url(#pc61c32422a)\" d=\"M 40.603125 13.377273 \n",
|
||
"L 44.588839 15.511336 \n",
|
||
"L 48.574554 29.409891 \n",
|
||
"L 52.560268 86.50221 \n",
|
||
"L 56.545982 119.112089 \n",
|
||
"L 60.531696 130.166506 \n",
|
||
"L 64.517411 133.503624 \n",
|
||
"L 68.503125 134.762295 \n",
|
||
"L 72.488839 134.864947 \n",
|
||
"L 76.474554 135.541008 \n",
|
||
"L 80.460268 135.73973 \n",
|
||
"L 84.445982 135.829937 \n",
|
||
"L 88.431696 135.908314 \n",
|
||
"L 92.417411 136.027752 \n",
|
||
"L 96.403125 136.162128 \n",
|
||
"L 100.388839 136.07092 \n",
|
||
"L 104.374554 136.382247 \n",
|
||
"L 108.360268 136.213221 \n",
|
||
"L 112.345982 134.95519 \n",
|
||
"L 116.331696 136.283675 \n",
|
||
"L 120.317411 136.32703 \n",
|
||
"L 124.303125 136.276721 \n",
|
||
"L 128.288839 136.548008 \n",
|
||
"L 132.274554 136.311999 \n",
|
||
"L 136.260268 136.482151 \n",
|
||
"L 140.245982 136.602949 \n",
|
||
"L 144.231696 136.489476 \n",
|
||
"L 148.217411 136.550743 \n",
|
||
"L 152.203125 136.553096 \n",
|
||
"L 156.188839 136.520669 \n",
|
||
"L 160.174554 136.693885 \n",
|
||
"L 164.160268 136.505213 \n",
|
||
"L 168.145982 136.58952 \n",
|
||
"L 172.131696 136.591405 \n",
|
||
"L 176.117411 136.683866 \n",
|
||
"L 180.103125 136.651318 \n",
|
||
"L 184.088839 136.674727 \n",
|
||
"L 188.074554 136.736379 \n",
|
||
"L 192.060268 136.655137 \n",
|
||
"L 196.045982 136.731319 \n",
|
||
"L 200.031696 136.768907 \n",
|
||
"L 204.017411 136.863913 \n",
|
||
"L 208.003125 136.785005 \n",
|
||
"L 211.988839 136.732671 \n",
|
||
"L 215.974554 136.821383 \n",
|
||
"L 219.960268 136.722406 \n",
|
||
"L 223.945982 136.888126 \n",
|
||
"L 227.931696 136.78448 \n",
|
||
"L 231.917411 136.779979 \n",
|
||
"L 235.903125 136.922727 \n",
|
||
"\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"patch_3\">\n",
|
||
" <path d=\"M 40.603125 143.1 \n",
|
||
"L 40.603125 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 235.903125 143.1 \n",
|
||
"L 235.903125 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 40.603125 143.1 \n",
|
||
"L 235.903125 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 40.603125 7.2 \n",
|
||
"L 235.903125 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 173.628125 29.878125 \n",
|
||
"L 228.903125 29.878125 \n",
|
||
"Q 230.903125 29.878125 230.903125 27.878125 \n",
|
||
"L 230.903125 14.2 \n",
|
||
"Q 230.903125 12.2 228.903125 12.2 \n",
|
||
"L 173.628125 12.2 \n",
|
||
"Q 171.628125 12.2 171.628125 14.2 \n",
|
||
"L 171.628125 27.878125 \n",
|
||
"Q 171.628125 29.878125 173.628125 29.878125 \n",
|
||
"z\n",
|
||
"\" style=\"fill:#ffffff;opacity:0.8;stroke:#cccccc;stroke-linejoin:miter;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_18\">\n",
|
||
" <path d=\"M 175.628125 20.298437 \n",
|
||
"L 195.628125 20.298437 \n",
|
||
"\" style=\"fill:none;stroke:#1f77b4;stroke-linecap:square;stroke-width:1.5;\"/>\n",
|
||
" </g>\n",
|
||
" <g id=\"line2d_19\"/>\n",
|
||
" <g id=\"text_11\">\n",
|
||
" <!-- train -->\n",
|
||
" <g transform=\"translate(203.628125 23.798437)scale(0.1 -0.1)\">\n",
|
||
" <defs>\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 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",
|
||
" </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",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" </g>\n",
|
||
" <defs>\n",
|
||
" <clipPath id=\"pc61c32422a\">\n",
|
||
" <rect height=\"135.9\" width=\"195.3\" x=\"40.603125\" 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": [
|
||
"# 训练模型\n",
|
||
"num_epochs, lr = 500, 1\n",
|
||
"d2l.train_ch8(model, train_iter, vocab, lr, num_epochs, device)\n",
|
||
"# 注意:困惑度非常低,但生成的文本质量很低"
|
||
]
|
||
}
|
||
],
|
||
"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
|
||
}
|