今天继续学习《动手学习深度学习》第5章:深度学习计算、第6章:卷积神经网络,今天学到的内容主要有这两章的概念。以及实现LeNet对FashionMNIST进行分类。
一、理论部分:
1、概念解释:
- 1×1卷积的作用:卷积通常用于识别相邻元素间相互作用的能力,但1×1卷积不具备该能力,其主要用于调整输出的通道数量,以控制模型的复杂性。
- pooling层的作用:降低卷积层对位置的敏感性,同时降低对空间降采样的敏感性。常用 max pooling 和 average pooling。
二、模块和函数
1、pytorch 模块
torch.tensor()
和torch.Tensor()
torch.tensor()
根据输入数据的类型生成 tensor,例如输入是 int,那么生成的 tensor 也是 int 类型,而torch.Tensor()
默认生成 float32 类型的 tensor。此外,torch.tensor()
生成的 tensor 有可能与输入共享内存(may return a view of the input data if possible),而torch.Tensor()
永远生成新的 tensor。
三、涨知识
model.eval()
和model.train()
model.eval()
将模型设置为测试状态,model.train()
将模型设置为训练状态。因为模型在训练阶段的某些操作,如dropout、batch normalization等,在测试阶段都是不需要的。并且,测试状态还可以ensure that the model performs consistently during inference, and that the results are reliable and repeatable. 注意,在训练阶段要把模型置为训练状态。