将Conv2D从PyTorch代码转换为Tensorflow [英] Translate Conv2D from PyTorch code to Tensorflow

查看:330
本文介绍了将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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆