详解pytorch CNN操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了详解pytorch CNN操作相关的知识,希望对你有一定的参考价值。

参考技术A

一维卷积主要用作降维或者升维。以下所有例子都以语音/NLP的场景讲述,输入的矩阵为 batch x T x d 。T为一个batch中语音的最长时间(短的语音会加padding),d为特征的维度。一维卷积的作用是对特征进行降维/升维。

从结果可以发现,我只把最后的维度从256变成了100。一维卷积的卷积核实际上是 [in_channels , kernel_size]

一维卷积是只在某一个维度上操作,而二维卷积是在两个维度上操作。
一维卷积的输入是三维的,而二维卷积的输入是四维的。

通过二维卷积操作,可以将时间长度减少了4倍,特征维度从320映射到了512

输出维度的计算方法:
输入的矩阵: T x d
Filter: F x F
步长: S x S
padding: P x P
则输出的矩阵大小为 ((T-F+2P)/S+1) x ((d-F+2P)/S)+1

以上是关于详解pytorch CNN操作的主要内容,如果未能解决你的问题,请参考以下文章

DenseNet——CNN经典网络模型详解(pytorch实现)

ResNet——CNN经典网络模型详解(pytorch实现)

[Pytorch系列-61]:循环神经网络 - 中文新闻文本分类详解-3-CNN网络训练与评估代码详解

LeNet-5——CNN经典网络模型详解(pytorch实现)

CNN的Pytorch实现(LeNet)

PyTorch训练一个最简单的CNN