【发布时间】:2022-01-29 04:00:13
【问题描述】:
我有一个关于如何将 Pytorch 神经网络转换为 Tensorflow 神经网络的问题。下面写的 TF 类不起作用,我认为它与 nn.Sequential 和 tf.keras.Sequential 之间的区别无关。
class FullyConnected(nn.Sequential):
"""
Fully connected multi-layer network with ELU activations.
"""
def __init__(self, sizes, final_activation=None):
layers = []
for in_size, out_size in zip(sizes, sizes[1:]):
layers.append(nn.Linear(in_size, out_size))
layers.append(nn.ELU())
layers.pop(-1)
if final_activation is not None:
layers.append(final_activation)
super().__init__(*layers) here
class FullyConnected(tf.keras.Sequential):
"""
Fully connected multi-layer network with ELU activations.
"""
def __init__(self, sizes, final_activation=None):
layers = []
for out_size in sizes[1:-1]:
layers.append(Dense(units=out_size, activation='elu'))
if final_activation is not None:
layers.append(Dense(units=sizes[-1], activation='elu'))
else:
layers.append(Dense(units=sizes[-1]))
super().__init__(*layers)
如果我尝试通过self.fc = FullyConnected(sizes=(sizes[:-1] + [self.dim * 2])) 和sizes = [1, 128, 128, 128, 1] 初始化网络,我在使用TF 网络时收到错误:TypeError: object.__init__() takes exactly one argument (the instance to initialize)。
有人可以帮忙吗?
提前非常感谢!!
【问题讨论】:
-
我的输入大小为“torch.Size([673, 25])”。对于测试,可以使用随机值。
标签: python tensorflow pytorch