将Conv2D从PyTorch代码转换为Tensorflow [英] Translate Conv2D from PyTorch code to Tensorflow
本文介绍了将Conv2D从PyTorch代码转换为Tensorflow的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下PyTorch图层定义:
I have the following PyTorch layer definition:
self.e_conv_1 = nn.Sequential(
nn.ZeroPad2d((1, 2, 1, 2)),
nn.Conv2d(in_channels=3, out_channels=64, kernel_size=(5, 5), stride=(2, 2)),
nn.LeakyReLU(),
)
我想在Tensorflow中使用相同的确切层声明.我该怎么办?
I want to have the same exact layer declaration in Tensorflow. How can I get to that?
self.e_conv_1 = tf.keras.Sequential([
layers.Conv2D(64, kernel_size=(5, 5), activation=partial(tf.nn.leaky_relu, alpha=0.01), padding='same', strides=(1, 2))
])
应该是上面的这段代码吗?我认为至少步幅和填充是不一样的.
Should it be something like this code above? I think that at least strides and padding isn't the same.
在此先感谢提供帮助的人.
Thanks in advance to anyone who helps.
推荐答案
我认为您可以根据主要区别在于割炬零填充和张量零填充参数之间.在焊炬填充参数中:
the main difference is between torch zero padding and tensroflow zero padding arguments. in torch padding arguments are:
m = nn.ZeroPad2d((left, right, top, bottom))
在张量流中:
tf.keras.layers.ZeroPadding2D(padding=((top,bottom),(left,right)))
这篇关于将Conv2D从PyTorch代码转换为Tensorflow的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文