简体   繁体   English

Tensorflow 到 Pytorch CNN(使用 nn.Conv1d)

[英]Tensorflow to Pytorch CNN(Use nn.Conv1d)

input_size = [765, 500, 72]

model = Sequential()
add = model.add

add(l.Conv1D(256, kernel_size=3, strides=2, activation='relu')
add(l.Dropout(0.5))
add(l.Conv1D(256, kernel_size=3, strides=2, activation='relu')
add(l.Dropout(0.5))
add(l.GlobalAveragePooling1D())
add(l.Dense(100, activation="relu"))
add(l.Dense(3, activation="softmax"))


(None, 249, 256)
(None, 249, 256)
(None, 124, 256)
(None, 124, 256)
(None, 256)
(None, 100)
(None, 3)

This is tensorflow model struc and summary.这是 tensorflow model 结构和摘要。 Tensorflow to Pytorch CNN model. Use Conv1D Tensorflow 到 Pytorch CNN model。使用 Conv1D

[Tensorflow Model summary] [Tensorflow Model总结]

在此处输入图像描述

To jump-start your research, here is an example usage of nn.Conv1d :为了快速启动您的研究,这里有一个nn.Conv1d的用法示例:

>>> f = nn.Conv1d(72, 256, kernel_size=3, stride=2)
>>> f(torch.rand(765, 72, 500)).shape
torch.Size([765, 256, 249])

Regarding this case keep in mind a few PyTorch-related things:关于这种情况,请记住一些与 PyTorch 相关的事情:

  • Unlike Tensorflow, it handles data in the BHC format.与 Tensorflow 不同,它处理BHC格式的数据。

  • You have to provide the input feature sizes for each linear layer.您必须为每个线性层提供输入特征尺寸。

  • The activation function is not included in nn.Conv1d , you have to use a dedicated module for that ( eg. nn.ReLU ).激活 function 不包含在nn.Conv1d中,您必须为此使用专用模块(例如nn.ReLU )。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM