目录
摘要
本周报的目的在于汇报《PyTorch深度学习快速入门教程》课程第五周的学习成果,主要聚焦于Transforms的使用以及其相关内容。
在这本周的学习中,课程内容主要涵盖了卷积原理,包括步幅,填充原理,以及卷积层的搭建和卷积层处理图片等等。
本篇文章将对学习内容进行详细的阐述,并在最后部分对本周的学习内容进行总结。本周报旨在通过这种方式,将理论知识与实践应用有效地结合起来,为深度学习的基础内容学习与方向提供概括性总结。
abstract
The purpose of this weekly report is to present the learning outcomes of the fifth week of the PyTorch Deep Learning Quick Start Tutorial course, with a focus on the use of Transformers and its related content.
In this week's learning, the course content mainly covers the principles of convolution, including stride, filling principle, as well as the construction of convolutional layers and the processing of images by convolutional layers.
This article will provide a detailed explanation of the learning content and summarize the learning content for this week in the final section. This weekly report aims to effectively combine theoretical knowledge with practical applications in this way, providing a summary of the basic content and direction of deep learning learning learning.
1. 卷积原理
① 卷积核不停的在原图上进行滑动,对应元素相乘再相加。
② 下图为每次滑动移动1格,然后再利用原图与卷积核上的数值进行计算得到缩略图矩阵的数据,如下图右所示。
2. 步幅、填充原理
① 步幅:卷积核经过输入特征图的采样间隔。设置步幅的目的:希望减小输入参数的数目,减少计算量。
② 填充:在输入特征图的每一边添加一定数目的行列。设置填充的目的:希望每个输入方块都能作为卷积窗口的中心,或使得输出的特征图的长、宽 = 输入的特征图的长、宽。
③ 一个尺寸 a * a 的特征图,经过 b * b 的卷积层,步幅(stride)= c,填充(padding)= d,若d等于0,也就是不填充,输出的特征图的尺寸 =(a-b)/ c+1;若d不等于0,也就是填充,输出的特征图的尺寸 =(a+2d-b)/ c+1。
例子1:一个特征图尺寸为4 * 4的输入,使用3 * 3的卷积核,步幅=1,填充=0,输出的尺寸=(4 - 3)/1 + 1 = 2。
例子2: 一个特征图尺寸为5 * 5的输入,使用3 * 3的卷积核,步幅=1,填充=1,输出的尺寸=(5 + 2 * 1 - 3)/1 + 1 = 5。
例子3:一个特征图尺寸为5 * 5的输入, 使用3 * 3的卷积核,步幅=2,填充=0,输出的尺寸=(5-3)/2 + 1 = 2。
例子4:一个特征图尺寸为6 * 6的输入, 使用3 * 3的卷积核,步幅=2,填充=1,输出的尺寸=(6 + 2 * 1 - 3)/2 + 1 = 2.5 + 1 = 3.5 向下取整=3(降采样:边长减少1/2)。
3. 卷积原理
① Conv1d代表一维卷积,Conv2d代表二维卷积,Conv3d代表三维卷积。
② kernel_size在训练过程中不断调整,定义为3就是3 * 3的卷积核,实际我们在训练神经网络过程中其实就是对kernel_size不断调整。
③ 可以根据输入的参数获得输出的情况,如下图所示。
4. 搭建卷积层
5. 卷积层处理图片
6. Tensorboard显示
① 在 Anaconda 终端里面,激活py3.6.3环境,再输入 tensorboard --logdir=C:\Users\wangy\Desktop\03CV\logs 命令,将网址赋值浏览器的网址栏,回车,即可查看tensorboard显示日志情况。