Update STYLE_GUIDE

This commit is contained in:
Eric_lai
2022-01-24 17:08:12 +08:00
parent 807a7cd803
commit 809809b568
31 changed files with 12975 additions and 173 deletions

View File

@@ -14,7 +14,7 @@ python setyp.py install
当然构建PDF必须要有LaTeX如安装[Tex Live](https://www.tug.org/texlive/).
## 编译HTML版本
在编译前先下载[openmlsys-zh]()所有的编译命令都在改文件目录内执行。
在编译前先下载[openmlsys-zh](https://github.com/openmlsys/openmlsys-zh) 所有的编译命令都在改文件目录内执行。
```
git clone git@github.com:openmlsys/openmlsys-zh.git
cd openmlsys-zh

View File

@@ -1,178 +1,62 @@
# 样式规范
从LaTeX迁移到Markdown。工具列表
* [Pandoc:](https://pandoc.org/getting-started.html) LaTeX转换为Markdown。
* [Inkscape:](https://inkscape.org/release/inkscape-1.1.1/) pdf图片文件转换成svg图片文件
书写内容:
* 页面划分每章建一个目录以一级子章节的维度建一个md页面[参考地址](https://github.com/openmlsys/openmlsys-zh/tree/master/chapter_programming_interface) 。
* 图存放位置: openmlsys-zh/img/自己章节如openmlsys-zh/img/ch01把自己章节的图片全部放置在对应目录。
## 文本
* 章节
* 每章开头对全章做介绍
* 结构标题一致
* 小结
* 练习
* 扫码直达讨论区
* 参考文献(如有)
* 引用
* 在每节结尾处引用
* 字符串
* 使用中文双引号
* 符号描述
* 时刻t不是t时刻
* 形状使用英文标点
* (10, 20) 不是 1020
* 空格:
* 文本中中文和英文、数字、数学公式、特殊字体等之间不要加空格
* 非行首的`:numref:``:cite:`等前留有一个英文空格(否则网页不渲染)
* 代码注释同上
* 人称
* 第一人称 → 我们
* 第二人称 → 读者、你、大家
* 工具或部件
* Gluon, MXNet, NumPy, spaCy, ResNet-18, Fashion-MNIST, matplotlib
* 这些都作为词,不要带重音符
* `backward`函数
* 不是“`backward()`函数” (不要带括号)
* `for`循环
* 术语
* 统一使用
* 函数(非方法)
* 实例(非对象)
* 区分:超参数和参数
* 区分:小批量随机梯度下降和随机梯度下降
* 权重、偏差、标签
* 模型训练、模型预测(推断)
* 训练数据集、验证数据集、测试数据集
* 中文优先于英文
* 首次出现,注明原英文术语
* 无须加粗
* 无须加引号
* 中英文对照统一标准
* https://github.com/mli/gluon-tutorials-zh/blob/master/README.md
## 数学
* 数学符号样式一致
* https://github.com/goodfeli/dlbook_notation/blob/master/notation_example.pdf
* 书本页宽限制
* 每行长度
* 引用
* 上式和下式
* 以上N式以下N式
* 公式末放英文标点
* 逗号:,
* 句号:.
* 赋值符号
* \leftarrow
* LaTeX文件转换Markdown文件
* Linux下安装Pandoc命令agt-get install pandoc
* 使用Pandoc命令pandoc -s example.tex -o example.md
* 使用Pandoc转换后需要注意修改的地方
* 图片需要手动改
* 公式部分可能会有不正确,需要注意
* 代码部分需要手动改,样式如下:
```python
```python
import os
import argparse
```
```
## 图片
* 软件
* 使用OmniGraffle制图以100%的大小导出pdfinfinite canvas再使用pdf2svg转成svg
* 使用PPT制图以pdf导出再使用Inkscape转成svg
* Inkscape软件使用
* 用Inkscape打开pdf渐变曲线精细度选择为精细。
![Inkscape打开PDF](./img/guide/step1.png)
* 选中图片,我们可以看到图和其白底
![1](./img/guide/step2.png)
* 随意找一块能选择的图,此时会出现周边有虚框
![2](./img/guide/step3.png)
* 按住ctrl拉一下白色框此时能将图片和白框分离出来按Delete删除白框。
![3](./img/guide/step4.png)
* 选择文件-文档属性-缩放页面内容-缩放页面到绘图或选区。
![4](./img/guide/step5.png)
* 最后保存图片用Pycharm看图片效果如下无白色底大小刚好框住整图。
![5](./img/guide/step6.png)
* 样式
* 格式:
* svg
* png
* export resolution: 144
* 大小:
* 横向不超过400像素
* 纵向不超过200像素
* 粗细:
* StickArrow
* 1pt
* arrow head size: 50%
* 字体:
* 英文STIXGeneral, 9pt下标和上标6pt
* 中文PingFang SC, 9pt
* 下标和上标中的数字和括号不要斜体
* 颜色:
* 非填充深蓝色(与黑相近):
* 5B7DAA
* 填充蓝色(与黑对比)
*66BFFF
*B2D9FF
* svg自己绘制的图片需要用svg注意去掉白底
* png一些常规举例图片不需去除白底的可以使用png
* md里插入图片大小选择800个像素label自动生成例如
```python
![机器学习系统工作流](../img/ch02/workflow.svg)
:width:`800px`
:label:`img_workflow`
```
* 版权
* 不使用网络图片
* 位置
* 两张图不可以较邻近
* 两张图拼一下
* 引用
* 手动引用例如图7.1
* matplotlib
* 大小
* 分辨率
## 代码
* 使用utils.py封装多次使用函数
* 首次出现函数,书里给出函数实现
* Python规范一致
* PEP8
* 二元操作符换行:操作符和后一元一起换行 (https://www.python.org/dev/peps/pep-0008/#should-a-line-break-before-or-after-a-binary-operator)
* 将相邻赋值语句尽可能合并为同一行
* 如 num_epochs, lr = 5, 0.1
* 变量名一致
* num_epochs
* 迭代周期
* num_hiddens
* 隐藏单元个数
* num_inputs
* 输入个数
* num_outputs
* 输出个数
* net
* 模型
* lr
* 学习率
* acc
* 准确率
* 迭代中
* 特征X
* 标签y, y_hat 或 Y, Y_hat
* for X, y in data_iter
* 数据集:
* 特征features或images
* 标签labels
* DataLoader实例train_iter, test_iter, data_iter
* 注释
* 中文
* 句末不加句号
* 书本页宽限制
* 每行不超过78字符
* In [X]: 79字符不会自动换行X = 1, ..., 9
* In [XX]: 78字符不会自动换行XX = 10, 11, ..., 99
* 打印结果自动换行
* imports
* import alphabetically
* from mxnet.gluon import data as gdata, loss as gloss, nn, utils as gutils
* 打印名称
* epoch从1开始计数, lr, loss, train acc, time
* 5行左右
* 打印变量
* 代码块最后一行尽量不用print()语句,例如`x, y`而不是`print('x:', x, 'y:', y)`
* 字符串
* 使用单引号
* 其他
* nd.f(x) → x.nd
* random_normal → random.normal
* multiple imports
* .1 → 1.0
* 1. → 1.0
* remove namescope
## 超链接
* 内链格式
* [“线性回归”](linear-reg.md)一节
* 外链
* [](http:bla)
* 无须暴露URL
## 英翻汉的常见问题
* 遇到不确定的地方,可以翻阅中文版第一版的处理方法(即我们需要遵照的出版标准),以及查阅人工翻译 http://www.jukuu.com/
* 建立中英文术语对照表,全书术语翻译要完全一致。
* 语法要正确(如不能缺主语、谓语)、句子要通顺(硬翻不妥就意译)、不要漏内容。
* 代码注释要翻译。注意i) 每行不要超过78字符注释末尾不用加句号。 ii) # 后要空一个半角字符英文空格。iii) 如果注释与代码同行,# 前要空两个半角字符英文空格。iv保留注释中的``符号为了表示代码部分如变量名、函数名等。v注释中中文和英文之间不要空格。vi贪婪换行只有当一行注释抵到78字符时再换行。
* 不要新加空行(这样会另起一个自然段)。
* 术语要保留英文翻译。现在很多地方漏了英文翻译。格式:*术语*terminology
* 正文和代码注释均使用中文标点。例如,中文括号要用全角括号(),不是英文半角()。例外:所有表示形状的括号和逗号(逗号后紧跟半角英文空格)用英文半角,例如“(批量大小, 词数)”而不是“(批量大小,词数)”
* 英文在标题里或句首全部不要首字母大写(即便在标题的第一个词)。除非本身是首字母大写的术语
* 不要客气。“您”->“你”,去掉“请”
* 生成html后可以看到自动label的引用手动引用例如图7.1

View File

@@ -1,6 +1,6 @@
## 机器学习系统编程模型的演进
![机器学习编程库发展历程](../img/ch02/framework_development_history.png)
![机器学习编程库发展历程](../img/ch02/framework_development_history.svg)
:width:`800px`
:label:`img_framedh`

View File

@@ -19,7 +19,7 @@
- **测试和调优:**
训练过程中用户需要测试API来对当前模型的精度进行评估。当精度达到目标后训练结束。这一过程中用户往往需要调试API来完成对模型的性能和正确性进行验证。
![机器学习系统工作流](../img/ch02/workflow.png)
![机器学习系统工作流](../img/ch02/workflow.svg)
:width:`800px`
:label:`img_workflow`

View File

@@ -9,14 +9,14 @@
**全连接**是将当前层每个节点都和上一层节点一一连接,本质上是特征空间的线性变换;可以将数据从高维映射到低维,也能从低维映射到高维度。
图2.3.1展示了全连接的过程对输入的n个数据变换到另一个大小为m的特征空间再从大小为m的特征空间变换到大小为p的特征空间可见全连接层的参数量巨大两次变换所需的参数大小为$n \times m$和$m \times p$。
![全连接层](../img/ch02/fc_layer_1.png)
![全连接层](../img/ch02/fc_layer_1.svg)
:width:`800px`
:label:`fc_layer`
**卷积**操作是卷积神经网络中常用的操作之一卷积相当于对输入进行滑动滤波。根据卷积核Kernel、卷积步长Stride、填充Padding对输入数据从左到右从上到下进行滑动每一次滑动操作是矩阵的乘加运算得到的加权值。
如图2.3.2卷积操作主要由输入、卷积核、输出组成输出又被称为特征图Feature Map
![卷积操作的组成](../img/ch02/conv_component.png)
![卷积操作的组成](../img/ch02/conv_component.svg)
:width:`800px`
:label:`conv_comp`
@@ -24,7 +24,7 @@
计算过程为将$3 \times 3$的卷积核作用到左上角$3 \times 3$大小的输入图上;输出为$1 \times 1 + 2 \times 0 + 2 \times 1 + 3 \times 0 + 2 \times 1 + 3 \times 0 + 4 \times 1 + 1 \times 0 + 3 \times 1 = 12$,
同理对卷积核移动1个步长再次执行相同的计算步骤得到第二个输出为11当再次移动将出界时结束从左往右执行从上往下移动1步再进行从左往右移动依次操作直到从上往下再移动也出界时结束整个卷积过程得到输出结果。我们不难发现相比于全连接卷积的优势是参数共享同一个卷积核遍历整个输入图和参数量小卷积核大小即是参数量
![卷积的具体运算过程](../img/ch02/single_channel_conv.png)
![卷积的具体运算过程](../img/ch02/single_channel_conv.svg)
:width:`800px`
:label:`single_conv`
@@ -33,14 +33,14 @@
在上述例子中我们介绍了一个输入一个卷积核的卷积操作。通常情况下我们输入的是彩色图片有三个输入这三个输入称为通道Channel分别代表红、绿、蓝RGB。此时我们执行卷积则为多通道卷积需要三个卷积核分别对RGB三个通道进行上述卷积过程之后将结果加起来。
具体如图2.3.4描述了一个输入通道为3输出通道为1卷积核大小为$3 \times 3$卷积步长为1的多通道卷积过程需要注意的是每个通道都有各自的卷积核同一个通道的卷积核参数共享。如果输出通道为$out_c$,输入通道为$in_c$,那么需要$out_c$$\times$$in_c$个卷积核。
![多通道卷积](../img/ch02/channels_conv.png)
![多通道卷积](../img/ch02/channels_conv.svg)
:width:`800px`
:label:`channels_conv`
**池化**是常见的降维操作有最大池化和平均池化。池化操作和卷积的执行类似通过池化核、步长、填充决定输出最大池化是在池化核区域范围内取最大值平均池化则是在池化核范围内做平均。与卷积不同的是池化核没有训练参数池化层的填充方式也有所不同平均池化填充的是0最大池化填充的是$-inf$。
图2.3.5是对$4 \times 4$的输入进行$2 \times 2$区域池化步长为2不填充图左边是最大池化的结果右边是平均池化的结果。
![池化操作](../img/ch02/pooling.png)
![池化操作](../img/ch02/pooling.svg)
:width:`800px`
:label:`pooling`
@@ -52,7 +52,7 @@
之后做一次全连接对大小为768特征变换到大小为128的特征再依次做两次全连接分别得到6410。
这里最后的输出结果是依据自己的实际问题而定,假设我们的输入是包含$0 \sim 9$的数字图片做分类那输出对应是10个概率值分别对应$0 \sim 9$的概率大小。
![卷积神经网络模型](../img/ch02/nn_network.png)
![卷积神经网络模型](../img/ch02/nn_network.svg)
:width:`800px`
:label:`nn_network`
@@ -109,13 +109,13 @@ Cell和Module是模型抽象方法也是所有网络的基类。
一种是抽象出两个方法分别为Layer负责单个神经网络层的参数构建和前向计算Model负责对神经网络层进行连接组合和神经网络层参数管理
另一种是将Layer和Modle抽象成一个方法该方法既能表示单层神经网络层也能表示包含多个神经网络层堆叠的模型Cell和Module就是这样实现的。
![神经网络模型构建细节](../img/ch02/model_build.png)
![神经网络模型构建细节](../img/ch02/model_build.svg)
:width:`800px`
:label:`model_build`
图2.3.8展示了设计神经网络层抽象方法的通用表示。通常在构造器会选择使用Python中collections模块的OrderedDict来初始化神经网络层和神经网络层参数的存储它的输出是一个有序的相比与Dict更适合深度学习这种模型堆叠的模式。参数和神经网络层的管理是在\_\_setattr\_\_中实现的当检测到属性是属于神经网络层及神经网络层参数时就记录起来。神经网络模型比较重要的是计算连接过程可以在\_\_call\_\_里重载实现神经网络层时在这里定义计算过程。训练参数的返回接口是为了给优化器传所有训练参数。神经网络层返回为了遍历各层神经网络得到各个神经网络层的参数。这里只列出了一些重要的方法在自定义方法中通常需要实现参数插入删除方法、神经网络层插入删除、神经网络模型信息等。
![神经网络基类抽象方法](../img/ch02/cell_abstract.png)
![神经网络基类抽象方法](../img/ch02/cell_abstract.svg)
:width:`800px`
:label:`cell_abs`

Binary file not shown.

Before

Width:  |  Height:  |  Size: 137 KiB

725
img/ch02/cell_abstract.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 KiB

3345
img/ch02/channels_conv.svg Normal file

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 177 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

812
img/ch02/conv_component.svg Normal file
View File

@@ -0,0 +1,812 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
version="1.1"
id="svg2"
xml:space="preserve"
width="590.93329"
height="220.64609"
viewBox="0 0 590.93329 220.64609"
sodipodi:docname="conv_component.svg"
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs6"><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath18"><path
d="M 0,0 H 960 V 540 H 0 Z"
id="path16" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath28"><path
d="M 0,0 H 960 V 540 H 0 Z"
clip-rule="evenodd"
id="path26" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath80"><path
d="M 0,0 H 960 V 540 H 0 Z"
clip-rule="evenodd"
id="path78" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath88"><path
d="M 253.45,0 H 286.4 V 540 H 253.45 Z"
clip-rule="evenodd"
id="path86" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath102"><path
d="M 0,0 H 960 V 540 H 0 Z"
clip-rule="evenodd"
id="path100" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath110"><path
d="m 286.4,0 h 32.95 V 540 H 286.4 Z"
clip-rule="evenodd"
id="path108" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath124"><path
d="M 0,0 H 960 V 540 H 0 Z"
clip-rule="evenodd"
id="path122" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath132"><path
d="M 319.35,0 H 352.3 V 540 H 319.35 Z"
clip-rule="evenodd"
id="path130" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath146"><path
d="M 0,0 H 960 V 540 H 0 Z"
clip-rule="evenodd"
id="path144" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath154"><path
d="m 352.3,0 h 32.95 V 540 H 352.3 Z"
clip-rule="evenodd"
id="path152" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath168"><path
d="M 0,0 H 960 V 540 H 0 Z"
clip-rule="evenodd"
id="path166" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath176"><path
d="M 253.45,0 H 286.4 V 540 H 253.45 Z"
clip-rule="evenodd"
id="path174" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath190"><path
d="M 0,0 H 960 V 540 H 0 Z"
clip-rule="evenodd"
id="path188" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath198"><path
d="m 286.4,0 h 32.95 V 540 H 286.4 Z"
clip-rule="evenodd"
id="path196" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath212"><path
d="M 0,0 H 960 V 540 H 0 Z"
clip-rule="evenodd"
id="path210" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath220"><path
d="M 319.35,0 H 352.3 V 540 H 319.35 Z"
clip-rule="evenodd"
id="path218" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath234"><path
d="M 0,0 H 960 V 540 H 0 Z"
clip-rule="evenodd"
id="path232" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath242"><path
d="m 352.3,0 h 32.95 V 540 H 352.3 Z"
clip-rule="evenodd"
id="path240" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath256"><path
d="M 0,0 H 960 V 540 H 0 Z"
clip-rule="evenodd"
id="path254" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath264"><path
d="M 253.45,0 H 286.4 V 540 H 253.45 Z"
clip-rule="evenodd"
id="path262" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath278"><path
d="M 0,0 H 960 V 540 H 0 Z"
clip-rule="evenodd"
id="path276" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath286"><path
d="m 286.4,0 h 32.95 V 540 H 286.4 Z"
clip-rule="evenodd"
id="path284" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath300"><path
d="M 0,0 H 960 V 540 H 0 Z"
clip-rule="evenodd"
id="path298" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath308"><path
d="M 319.35,0 H 352.3 V 540 H 319.35 Z"
clip-rule="evenodd"
id="path306" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath322"><path
d="M 0,0 H 960 V 540 H 0 Z"
clip-rule="evenodd"
id="path320" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath330"><path
d="m 352.3,0 h 32.95 V 540 H 352.3 Z"
clip-rule="evenodd"
id="path328" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath344"><path
d="M 0,0 H 960 V 540 H 0 Z"
clip-rule="evenodd"
id="path342" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath352"><path
d="M 253.45,0 H 286.4 V 540 H 253.45 Z"
clip-rule="evenodd"
id="path350" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath366"><path
d="M 0,0 H 960 V 540 H 0 Z"
clip-rule="evenodd"
id="path364" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath374"><path
d="m 286.4,0 h 32.95 V 540 H 286.4 Z"
clip-rule="evenodd"
id="path372" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath388"><path
d="M 0,0 H 960 V 540 H 0 Z"
clip-rule="evenodd"
id="path386" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath396"><path
d="M 319.35,0 H 352.3 V 540 H 319.35 Z"
clip-rule="evenodd"
id="path394" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath410"><path
d="M 0,0 H 960 V 540 H 0 Z"
clip-rule="evenodd"
id="path408" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath418"><path
d="m 352.3,0 h 32.95 V 540 H 352.3 Z"
clip-rule="evenodd"
id="path416" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath432"><path
d="M 0,0 H 960 V 540 H 0 Z"
clip-rule="evenodd"
id="path430" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath472"><path
d="M 0,0 H 960 V 540 H 0 Z"
clip-rule="evenodd"
id="path470" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath480"><path
d="m 435.1,0 h 33.1 v 540 h -33.1 z"
clip-rule="evenodd"
id="path478" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath494"><path
d="M 0,0 H 960 V 540 H 0 Z"
clip-rule="evenodd"
id="path492" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath502"><path
d="m 468.2,0 h 33.1 v 540 h -33.1 z"
clip-rule="evenodd"
id="path500" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath516"><path
d="M 0,0 H 960 V 540 H 0 Z"
clip-rule="evenodd"
id="path514" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath524"><path
d="m 501.3,0 h 33.1 v 540 h -33.1 z"
clip-rule="evenodd"
id="path522" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath538"><path
d="M 0,0 H 960 V 540 H 0 Z"
clip-rule="evenodd"
id="path536" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath546"><path
d="m 435.1,0 h 33.1 v 540 h -33.1 z"
clip-rule="evenodd"
id="path544" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath560"><path
d="M 0,0 H 960 V 540 H 0 Z"
clip-rule="evenodd"
id="path558" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath568"><path
d="m 468.2,0 h 33.1 v 540 h -33.1 z"
clip-rule="evenodd"
id="path566" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath582"><path
d="M 0,0 H 960 V 540 H 0 Z"
clip-rule="evenodd"
id="path580" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath590"><path
d="m 501.3,0 h 33.1 v 540 h -33.1 z"
clip-rule="evenodd"
id="path588" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath604"><path
d="M 0,0 H 960 V 540 H 0 Z"
clip-rule="evenodd"
id="path602" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath612"><path
d="m 435.1,0 h 33.1 v 540 h -33.1 z"
clip-rule="evenodd"
id="path610" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath626"><path
d="M 0,0 H 960 V 540 H 0 Z"
clip-rule="evenodd"
id="path624" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath634"><path
d="m 468.2,0 h 33.1 v 540 h -33.1 z"
clip-rule="evenodd"
id="path632" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath648"><path
d="M 0,0 H 960 V 540 H 0 Z"
clip-rule="evenodd"
id="path646" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath656"><path
d="m 501.3,0 h 33.1 v 540 h -33.1 z"
clip-rule="evenodd"
id="path654" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath670"><path
d="M 0,0 H 960 V 540 H 0 Z"
clip-rule="evenodd"
id="path668" /></clipPath></defs><sodipodi:namedview
id="namedview4"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:zoom="0.76510545"
inkscape:cx="250.29229"
inkscape:cy="88.876637"
inkscape:window-width="1920"
inkscape:window-height="1137"
inkscape:window-x="1912"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="g20" /><g
id="g8"
inkscape:groupmode="layer"
inkscape:label="conv_component"
transform="matrix(1.3333333,0,0,-1.3333333,-6.4947052,-111.68739)"><g
id="g10"
transform="translate(-252,-192)"><g
id="g12"><g
id="g14"
clip-path="url(#clipPath18)"
transform="translate(-22.545911,-248.98529)"><g
id="g20"
transform="matrix(1,0,0,-1,0,540)"><g
id="g22"
transform="translate(26.46694,0.98025735)"><g
id="g24"
clip-path="url(#clipPath28)"><g
id="g30" /><g
id="g34"><path
d="m 253.45,181.8 h 131.8 v 1 h -131.8 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path36" /></g><g
id="g38"><path
d="m 253.45,214.3 h 131.8 v 1 h -131.8 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path40" /></g><g
id="g42"><path
d="m 253.95,182.3 v 130 h -1 v -130 h 1"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path44" /></g><g
id="g46"><path
d="m 286.9,182.3 v 130 h -1 v -130 h 1"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path48" /></g><g
id="g50"><path
d="m 319.85,182.3 v 130 h -1 v -130 h 1"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path52" /></g><g
id="g54"><path
d="m 352.8,182.3 v 130 h -1 v -130 h 1"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path56" /></g><g
id="g58"><path
d="m 385.75,182.3 v 130 h -1 v -130 h 1"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path60" /></g><g
id="g62"><path
d="m 253.45,246.8 h 131.8 v 1 h -131.8 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path64" /></g><g
id="g66"><path
d="m 253.45,279.3 h 131.8 v 1 h -131.8 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path68" /></g><g
id="g70"><path
d="m 253.45,311.8 h 131.8 v 1 h -131.8 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path72" /></g></g></g><g
id="g74"
transform="translate(26.46694,0.98025735)"><g
id="g76"
clip-path="url(#clipPath80)"><g
id="g82"><g
id="g84"
clip-path="url(#clipPath88)"><g
id="g90"><text
transform="translate(265.4,202.85)"
style="font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18px;font-family:'Times New Roman';-inkscape-font-specification:TimesNewRomanPSMT;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text94"><tspan
x="0"
y="0"
id="tspan92">1</tspan></text></g></g></g></g></g><g
id="g96"
transform="translate(26.46694,0.98025735)"><g
id="g98"
clip-path="url(#clipPath102)"><g
id="g104"><g
id="g106"
clip-path="url(#clipPath110)"><g
id="g112"><text
transform="translate(298.35,202.85)"
style="font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18px;font-family:'Times New Roman';-inkscape-font-specification:TimesNewRomanPSMT;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text116"><tspan
x="0"
y="0"
id="tspan114">2</tspan></text></g></g></g></g></g><g
id="g118"
transform="translate(26.46694,0.98025735)"><g
id="g120"
clip-path="url(#clipPath124)"><g
id="g126"><g
id="g128"
clip-path="url(#clipPath132)"><g
id="g134"><text
transform="translate(331.3,202.85)"
style="font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18px;font-family:'Times New Roman';-inkscape-font-specification:TimesNewRomanPSMT;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text138"><tspan
x="0"
y="0"
id="tspan136">2</tspan></text></g></g></g></g></g><g
id="g140"
transform="translate(26.46694,0.98025735)"><g
id="g142"
clip-path="url(#clipPath146)"><g
id="g148"><g
id="g150"
clip-path="url(#clipPath154)"><g
id="g156"><text
transform="translate(364.25,202.85)"
style="font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18px;font-family:'Times New Roman';-inkscape-font-specification:TimesNewRomanPSMT;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text160"><tspan
x="0"
y="0"
id="tspan158">3</tspan></text></g></g></g></g></g><g
id="g162"
transform="translate(26.46694,0.98025735)"><g
id="g164"
clip-path="url(#clipPath168)"><g
id="g170"><g
id="g172"
clip-path="url(#clipPath176)"><g
id="g178"><text
transform="translate(265.4,235.35)"
style="font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18px;font-family:'Times New Roman';-inkscape-font-specification:TimesNewRomanPSMT;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text182"><tspan
x="0"
y="0"
id="tspan180">3</tspan></text></g></g></g></g></g><g
id="g184"
transform="translate(26.46694,0.98025735)"><g
id="g186"
clip-path="url(#clipPath190)"><g
id="g192"><g
id="g194"
clip-path="url(#clipPath198)"><g
id="g200"><text
transform="translate(298.35,235.35)"
style="font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18px;font-family:'Times New Roman';-inkscape-font-specification:TimesNewRomanPSMT;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text204"><tspan
x="0"
y="0"
id="tspan202">2</tspan></text></g></g></g></g></g><g
id="g206"
transform="translate(26.46694,0.98025735)"><g
id="g208"
clip-path="url(#clipPath212)"><g
id="g214"><g
id="g216"
clip-path="url(#clipPath220)"><g
id="g222"><text
transform="translate(331.3,235.35)"
style="font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18px;font-family:'Times New Roman';-inkscape-font-specification:TimesNewRomanPSMT;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text226"><tspan
x="0"
y="0"
id="tspan224">3</tspan></text></g></g></g></g></g><g
id="g228"
transform="translate(26.46694,0.98025735)"><g
id="g230"
clip-path="url(#clipPath234)"><g
id="g236"><g
id="g238"
clip-path="url(#clipPath242)"><g
id="g244"><text
transform="translate(364.25,235.35)"
style="font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18px;font-family:'Times New Roman';-inkscape-font-specification:TimesNewRomanPSMT;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text248"><tspan
x="0"
y="0"
id="tspan246">2</tspan></text></g></g></g></g></g><g
id="g250"
transform="translate(26.46694,0.98025735)"><g
id="g252"
clip-path="url(#clipPath256)"><g
id="g258"><g
id="g260"
clip-path="url(#clipPath264)"><g
id="g266"><text
transform="translate(265.4,267.85)"
style="font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18px;font-family:'Times New Roman';-inkscape-font-specification:TimesNewRomanPSMT;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text270"><tspan
x="0"
y="0"
id="tspan268">4</tspan></text></g></g></g></g></g><g
id="g272"
transform="translate(26.46694,0.98025735)"><g
id="g274"
clip-path="url(#clipPath278)"><g
id="g280"><g
id="g282"
clip-path="url(#clipPath286)"><g
id="g288"><text
transform="translate(298.35,267.85)"
style="font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18px;font-family:'Times New Roman';-inkscape-font-specification:TimesNewRomanPSMT;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text292"><tspan
x="0"
y="0"
id="tspan290">1</tspan></text></g></g></g></g></g><g
id="g294"
transform="translate(26.46694,0.98025735)"><g
id="g296"
clip-path="url(#clipPath300)"><g
id="g302"><g
id="g304"
clip-path="url(#clipPath308)"><g
id="g310"><text
transform="translate(331.3,267.85)"
style="font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18px;font-family:'Times New Roman';-inkscape-font-specification:TimesNewRomanPSMT;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text314"><tspan
x="0"
y="0"
id="tspan312">3</tspan></text></g></g></g></g></g><g
id="g316"
transform="translate(26.46694,0.98025735)"><g
id="g318"
clip-path="url(#clipPath322)"><g
id="g324"><g
id="g326"
clip-path="url(#clipPath330)"><g
id="g332"><text
transform="translate(364.25,267.85)"
style="font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18px;font-family:'Times New Roman';-inkscape-font-specification:TimesNewRomanPSMT;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text336"><tspan
x="0"
y="0"
id="tspan334">2</tspan></text></g></g></g></g></g><g
id="g338"
transform="translate(26.46694,0.98025735)"><g
id="g340"
clip-path="url(#clipPath344)"><g
id="g346"><g
id="g348"
clip-path="url(#clipPath352)"><g
id="g354"><text
transform="translate(265.4,300.35)"
style="font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18px;font-family:'Times New Roman';-inkscape-font-specification:TimesNewRomanPSMT;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text358"><tspan
x="0"
y="0"
id="tspan356">4</tspan></text></g></g></g></g></g><g
id="g360"
transform="translate(26.46694,0.98025735)"><g
id="g362"
clip-path="url(#clipPath366)"><g
id="g368"><g
id="g370"
clip-path="url(#clipPath374)"><g
id="g376"><text
transform="translate(298.35,300.35)"
style="font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18px;font-family:'Times New Roman';-inkscape-font-specification:TimesNewRomanPSMT;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text380"><tspan
x="0"
y="0"
id="tspan378">3</tspan></text></g></g></g></g></g><g
id="g382"
transform="translate(26.46694,0.98025735)"><g
id="g384"
clip-path="url(#clipPath388)"><g
id="g390"><g
id="g392"
clip-path="url(#clipPath396)"><g
id="g398"><text
transform="translate(331.3,300.35)"
style="font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18px;font-family:'Times New Roman';-inkscape-font-specification:TimesNewRomanPSMT;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text402"><tspan
x="0"
y="0"
id="tspan400">5</tspan></text></g></g></g></g></g><g
id="g404"
transform="translate(26.46694,0.98025735)"><g
id="g406"
clip-path="url(#clipPath410)"><g
id="g412"><g
id="g414"
clip-path="url(#clipPath418)"><g
id="g420"><text
transform="translate(364.25,300.35)"
style="font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18px;font-family:'Times New Roman';-inkscape-font-specification:TimesNewRomanPSMT;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text424"><tspan
x="0"
y="0"
id="tspan422">1</tspan></text></g></g></g></g></g><g
id="g426"
transform="translate(26.46694,0.98025735)"><g
id="g428"
clip-path="url(#clipPath432)"><g
id="g434"><path
d="m 435.1,199 h 99.3 v 1 h -99.3 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path436" /></g><g
id="g438"><path
d="m 435.1,230.85 h 99.3 v 1 h -99.3 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path440" /></g><g
id="g442"><path
d="m 435.6,199.5 v 95.55 h -1 V 199.5 h 1"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path444" /></g><g
id="g446"><path
d="m 468.7,199.5 v 95.55 h -1 V 199.5 h 1"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path448" /></g><g
id="g450"><path
d="m 501.8,199.5 v 95.55 h -1 V 199.5 h 1"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path452" /></g><g
id="g454"><path
d="m 534.9,199.5 v 95.55 h -1 V 199.5 h 1"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path456" /></g><g
id="g458"><path
d="m 435.1,262.7 h 99.3 v 1 h -99.3 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path460" /></g><g
id="g462"><path
d="m 435.1,294.55 h 99.3 v 1 h -99.3 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path464" /></g></g></g><g
id="g466"
transform="translate(26.46694,0.98025735)"><g
id="g468"
clip-path="url(#clipPath472)"><g
id="g474"><g
id="g476"
clip-path="url(#clipPath480)"><g
id="g482"><text
transform="translate(447.15,220.05)"
style="font-variant:normal;font-weight:bold;font-stretch:normal;font-size:18px;font-family:'Times New Roman';-inkscape-font-specification:TimesNewRomanPS-BoldMT;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text486"><tspan
x="0"
y="0"
id="tspan484">1</tspan></text></g></g></g></g></g><g
id="g488"
transform="translate(26.46694,0.98025735)"><g
id="g490"
clip-path="url(#clipPath494)"><g
id="g496"><g
id="g498"
clip-path="url(#clipPath502)"><g
id="g504"><text
transform="translate(480.25,220.05)"
style="font-variant:normal;font-weight:bold;font-stretch:normal;font-size:18px;font-family:'Times New Roman';-inkscape-font-specification:TimesNewRomanPS-BoldMT;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text508"><tspan
x="0"
y="0"
id="tspan506">0</tspan></text></g></g></g></g></g><g
id="g510"
transform="translate(26.46694,0.98025735)"><g
id="g512"
clip-path="url(#clipPath516)"><g
id="g518"><g
id="g520"
clip-path="url(#clipPath524)"><g
id="g526"><text
transform="translate(513.35,220.05)"
style="font-variant:normal;font-weight:bold;font-stretch:normal;font-size:18px;font-family:'Times New Roman';-inkscape-font-specification:TimesNewRomanPS-BoldMT;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text530"><tspan
x="0"
y="0"
id="tspan528">1</tspan></text></g></g></g></g></g><g
id="g532"
transform="translate(26.46694,0.98025735)"><g
id="g534"
clip-path="url(#clipPath538)"><g
id="g540"><g
id="g542"
clip-path="url(#clipPath546)"><g
id="g548"><text
transform="translate(447.15,251.9)"
style="font-variant:normal;font-weight:bold;font-stretch:normal;font-size:18px;font-family:'Times New Roman';-inkscape-font-specification:TimesNewRomanPS-BoldMT;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text552"><tspan
x="0"
y="0"
id="tspan550">0</tspan></text></g></g></g></g></g><g
id="g554"
transform="translate(26.46694,0.98025735)"><g
id="g556"
clip-path="url(#clipPath560)"><g
id="g562"><g
id="g564"
clip-path="url(#clipPath568)"><g
id="g570"><text
transform="translate(480.25,251.9)"
style="font-variant:normal;font-weight:bold;font-stretch:normal;font-size:18px;font-family:'Times New Roman';-inkscape-font-specification:TimesNewRomanPS-BoldMT;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text574"><tspan
x="0"
y="0"
id="tspan572">1</tspan></text></g></g></g></g></g><g
id="g576"
transform="translate(26.46694,0.98025735)"><g
id="g578"
clip-path="url(#clipPath582)"><g
id="g584"><g
id="g586"
clip-path="url(#clipPath590)"><g
id="g592"><text
transform="translate(513.35,251.9)"
style="font-variant:normal;font-weight:bold;font-stretch:normal;font-size:18px;font-family:'Times New Roman';-inkscape-font-specification:TimesNewRomanPS-BoldMT;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text596"><tspan
x="0"
y="0"
id="tspan594">0</tspan></text></g></g></g></g></g><g
id="g598"
transform="translate(26.46694,0.98025735)"><g
id="g600"
clip-path="url(#clipPath604)"><g
id="g606"><g
id="g608"
clip-path="url(#clipPath612)"><g
id="g614"><text
transform="translate(447.15,283.75)"
style="font-variant:normal;font-weight:bold;font-stretch:normal;font-size:18px;font-family:'Times New Roman';-inkscape-font-specification:TimesNewRomanPS-BoldMT;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text618"><tspan
x="0"
y="0"
id="tspan616">1</tspan></text></g></g></g></g></g><g
id="g620"
transform="translate(26.46694,0.98025735)"><g
id="g622"
clip-path="url(#clipPath626)"><g
id="g628"><g
id="g630"
clip-path="url(#clipPath634)"><g
id="g636"><text
transform="translate(480.25,283.75)"
style="font-variant:normal;font-weight:bold;font-stretch:normal;font-size:18px;font-family:'Times New Roman';-inkscape-font-specification:TimesNewRomanPS-BoldMT;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text640"><tspan
x="0"
y="0"
id="tspan638">0</tspan></text></g></g></g></g></g><g
id="g642"
transform="translate(26.46694,0.98025735)"><g
id="g644"
clip-path="url(#clipPath648)"><g
id="g650"><g
id="g652"
clip-path="url(#clipPath656)"><g
id="g658"><text
transform="translate(513.35,283.75)"
style="font-variant:normal;font-weight:bold;font-stretch:normal;font-size:18px;font-family:'Times New Roman';-inkscape-font-specification:TimesNewRomanPS-BoldMT;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text662"><tspan
x="0"
y="0"
id="tspan660">1</tspan></text></g></g></g></g></g><g
id="g664"
transform="translate(26.46694,0.98025735)"><g
id="g666"
clip-path="url(#clipPath670)"><g
id="g672"><path
d="m 623.15,211.75 h 72.5 v 1 h -72.5 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path674" /></g><g
id="g676"><path
d="m 623.15,246.25 h 72.5 v 1 h -72.5 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path678" /></g><g
id="g680"><path
d="m 623.65,212.25 v 69 h -1 v -69 h 1"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path682" /></g><g
id="g684"><path
d="m 659.9,212.25 v 69 h -1 v -69 h 1"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path686" /></g><g
id="g688"><path
d="m 696.15,212.25 v 69 h -1 v -69 h 1"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path690" /></g><g
id="g692"><path
d="m 623.15,280.75 h 72.5 v 1 h -72.5 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path694" /></g><g
id="g696"><path
d="m 597.078,250.875 8.25,-4.813 v 2.376 l -8.25,-4.813 -0.206,-0.147 -0.176,-0.183 -0.139,-0.212 -0.098,-0.235 -0.053,-0.248 -0.007,-0.253 0.04,-0.251 0.086,-0.239 0.127,-0.219 0.166,-0.192 0.199,-0.158 0.224,-0.119 0.242,-0.076 0.252,-0.03 0.253,0.017 0.246,0.063 0.23,0.107 10.286,6 -10.286,6 -0.23,0.107 -0.246,0.063 -0.253,0.017 -0.252,-0.03 -0.242,-0.076 -0.224,-0.119 -0.199,-0.158 -0.166,-0.192 -0.127,-0.219 -0.086,-0.239 -0.04,-0.251 0.007,-0.253 0.053,-0.248 0.098,-0.235 0.139,-0.212 0.176,-0.183 z m -43.728,-5 h 52.671 v 2.75 H 553.35 v -2.75"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path698" /></g><g
id="g700"><text
transform="translate(298.5,344.85)"
style="font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18px;font-family:'Microsoft YaHei';-inkscape-font-specification:MicrosoftYaHei;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text704"><tspan
x="0 18"
y="0"
sodipodi:role="line"
id="tspan702">输入</tspan></text></g><g
id="g706"><text
transform="translate(452.8,344.3)"
style="font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18px;font-family:'Microsoft YaHei';-inkscape-font-specification:MicrosoftYaHei;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text710"><tspan
x="0 18 36"
y="0"
sodipodi:role="line"
id="tspan708">卷积核</tspan></text></g><g
id="g712"><text
transform="translate(640.35,344.85)"
style="font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18px;font-family:'Microsoft YaHei';-inkscape-font-specification:MicrosoftYaHei;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text716"><tspan
x="0"
y="0"
id="tspan714"></tspan></text></g><g
id="g718"><text
transform="translate(658.35,344.85)"
style="font-variant:normal;font-weight:normal;font-stretch:normal;font-size:18px;font-family:'Microsoft YaHei';-inkscape-font-specification:MicrosoftYaHei;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text722"><tspan
x="0"
y="0"
id="tspan720"></tspan></text></g></g></g></g></g></g></g></g></svg>

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

413
img/ch02/fc_layer_1.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 143 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

513
img/ch02/model_build.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

1734
img/ch02/nn_network.svg Normal file

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

1291
img/ch02/pooling.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 171 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

168
img/ch02/workflow.svg Normal file
View File

@@ -0,0 +1,168 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
version="1.1"
id="svg2"
xml:space="preserve"
width="1251.4545"
height="158.8"
viewBox="0 0 1251.4545 158.8"
sodipodi:docname="workflow.svg"
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs6"><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath18"><path
d="M 0,0 H 939.9273 V 120 H 0 Z"
id="path16" /></clipPath></defs><sodipodi:namedview
id="namedview4"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:zoom="0.99494688"
inkscape:cx="963.36801"
inkscape:cy="-127.64501"
inkscape:window-width="1920"
inkscape:window-height="1137"
inkscape:window-x="1912"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="g22" /><g
id="g8"
inkscape:groupmode="layer"
inkscape:label="workflow"
transform="matrix(1.3333333,0,0,-1.3333333,-1.2545919,159.3272)"><g
id="g10" /><g
id="g22"><g
id="g26"
transform="matrix(7.874016e-5,0,0,-7.874016e-5,1.690944,118.7454)"><path
d="M 0,0 H 1648690 V 1493520 H 0 Z"
style="fill:none;stroke:#000000;stroke-width:19050;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
id="path28" /></g><g
id="g30"
transform="matrix(0.2181818,0,0,0.2181818,30.4146,-65.45454)"><text
transform="matrix(1,0,0,-1,0,550)"
style="font-variant:normal;font-weight:normal;font-size:83px;font-family:STSongti-SC;-inkscape-font-specification:STSongti-SC-Regular;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text34"><tspan
x="0 82.501991 165.00398 247.50597"
y="0"
sodipodi:role="line"
id="tspan32">数据处理</tspan></text></g><g
id="g38"
transform="matrix(7.874016e-5,0,0,-7.874016e-5,203.5091,118.7454)"><path
d="M 0,0 H 1645920 V 1493520 H 0 Z"
style="fill:none;stroke:#000000;stroke-width:19050;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
id="path40" /></g><g
id="g42"
transform="matrix(0.2181818,0,0,0.2181818,232.2039,-65.45454)"><text
transform="matrix(1,0,0,-1,0,550)"
style="font-variant:normal;font-weight:normal;font-size:83px;font-family:STSongti-SC;-inkscape-font-specification:STSongti-SC-Regular;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text46"><tspan
x="0 82.501991 165.00398 247.50597"
y="0"
sodipodi:role="line"
id="tspan44">模型结构</tspan></text></g><g
id="g50"
transform="matrix(7.874016e-5,0,0,-7.874016e-5,607.3636,118.7454)"><path
d="M 0,0 H 1648691 V 1493520 H 0 Z"
style="fill:none;stroke:#000000;stroke-width:19050;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
id="path52" /></g><g
id="g54"
transform="matrix(0.2181818,0,0,0.2181818,636.1186,-65.45454)"><text
transform="matrix(1,0,0,-1,0,550)"
style="font-variant:normal;font-weight:normal;font-size:83px;font-family:STSongti-SC;-inkscape-font-specification:STSongti-SC-Regular;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text58"><tspan
x="0 82.501991"
y="0"
sodipodi:role="line"
id="tspan56">训练</tspan></text></g><g
id="g60"
transform="matrix(0.2181818,0,0,0.2181818,672.1186,-65.45454)"><text
transform="matrix(1,0,0,-1,0,550)"
style="font-variant:normal;font-weight:normal;font-size:83px;font-family:STSongti-SC;-inkscape-font-specification:STSongti-SC-Regular;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text64"><tspan
x="0 82.501991"
y="0"
sodipodi:role="line"
id="tspan62">过程</tspan></text></g><path
d="m 142.4182,68.72725 h 33.7091 v 8.78181 L 193.6909,59.94544 176.1273,42.38182 v 8.78181 h -33.7091 z"
style="fill:#deebf7;fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path66" /><g
id="g68"
transform="matrix(7.874016e-5,0,0,-7.874016e-5,142.4182,77.50906)"><path
d="M 0,111529 H 428106.1 V 0 L 651164,223058 428106.1,446116 V 334587 H 0 Z"
style="fill:none;stroke:#000000;stroke-width:19050;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
id="path70" /></g><path
d="m 545.8364,68.72726 h 33.491 v 8.7818 L 596.8909,59.94541 579.3274,42.38182 v 8.78179 h -33.491 z"
style="fill:#deebf7;fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path72" /><g
id="g74"
transform="matrix(7.874016e-5,0,0,-7.874016e-5,545.8364,77.50906)"><path
d="M 0,111528.8 H 425335.6 V 0 L 648393,223058.3 425335.6,446116 V 334587.2 H 0 Z"
style="fill:none;stroke:#000000;stroke-width:19050;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
id="path76" /></g><path
d="m 342.9272,68.72726 h 33.491 v 8.7818 L 393.9818,59.94541 376.4182,42.38182 v 8.78179 h -33.491 z"
style="fill:#deebf7;fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path78" /><g
id="g80"
transform="matrix(7.874016e-5,0,0,-7.874016e-5,342.9272,77.50906)"><path
d="M 0,111528.8 H 425335.6 V 0 L 648393,223058.3 425335.6,446116 V 334587.2 H 0 Z"
style="fill:none;stroke:#000000;stroke-width:19050;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
id="path82" /></g><g
id="g86"
transform="matrix(7.874016e-5,0,0,-7.874016e-5,405.1091,118.7454)"><path
d="M 0,0 H 1648691 V 1493520 H 0 Z"
style="fill:none;stroke:#000000;stroke-width:19050;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
id="path88" /></g><g
id="g90"
transform="matrix(0.2181818,0,0,0.2181818,415.9932,-54.76363)"><text
transform="matrix(1,0,0,-1,0,550)"
style="font-variant:normal;font-weight:normal;font-size:83px;font-family:STSongti-SC;-inkscape-font-specification:STSongti-SC-Regular;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text94"><tspan
x="0 82.501991 165.00398 247.50597 330.00797 412.50995"
y="0"
sodipodi:role="line"
id="tspan92">损失函数和优</tspan></text></g><g
id="g96"
transform="matrix(0.2181818,0,0,0.2181818,442.9932,-76.36363)"><text
transform="matrix(1,0,0,-1,0,550)"
style="font-variant:normal;font-weight:normal;font-size:83px;font-family:STSongti-SC;-inkscape-font-specification:STSongti-SC-Regular;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text100"><tspan
x="0 82.501991 165.00398"
y="0"
sodipodi:role="line"
id="tspan98">化算法</tspan></text></g><g
id="g104"
transform="matrix(7.874016e-5,0,0,-7.874016e-5,808.9636,118.7454)"><path
d="M 0,0 H 1648691 V 1493520 H 0 Z"
style="fill:none;stroke:#000000;stroke-width:19050;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
id="path106" /></g><g
id="g108"
transform="matrix(0.2181818,0,0,0.2181818,828.8295,-65.45454)"><text
transform="matrix(1,0,0,-1,0,550)"
style="font-variant:normal;font-weight:normal;font-size:83px;font-family:STSongti-SC;-inkscape-font-specification:STSongti-SC-Regular;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text112"><tspan
x="0 82.501991 165.00398 247.50597 330.00797"
y="0"
sodipodi:role="line"
id="tspan110">测试和调试</tspan></text></g><path
d="m 747.4364,72.05453 h 33.8181 v 8.72729 L 798.709,63.32729 781.2545,45.87276 V 54.6 h -33.8181 z"
style="fill:#deebf7;fill-opacity:1;fill-rule:evenodd;stroke:none"
id="path114" /><g
id="g116"
transform="matrix(7.874016e-5,0,0,-7.874016e-5,747.4364,80.78182)"><path
d="M 0,110836.6 H 429490.6 V 0 L 651163,221672.5 429490.6,443345 V 332509.1 H 0 Z"
style="fill:none;stroke:#000000;stroke-width:19050;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
id="path118" /></g></g></g></svg>

After

Width:  |  Height:  |  Size: 9.3 KiB

BIN
img/guide/step1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

BIN
img/guide/step2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

BIN
img/guide/step3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

BIN
img/guide/step4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

BIN
img/guide/step5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 207 KiB

BIN
img/guide/step6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 KiB