以下代码向我抛出错误“ AttributeError:无法设置属性”。我认为这是因为我试图将TensorFlow层放入普通列表中。
有人知道我如何解决这个问题并能够创建图层列表吗?我不想使用顺序,因为它不太灵活。
在PyTorch中,它们具有您可以使用而不是列表的ModuleLists,我可以使用TensorFlow中的等效项吗?
PeanutButterAndJellySandwich
答案 0 :(得分:0)
layers
是模型各层的保留名称。考虑为模型使用另一个属性。
import tensorflow as tf
from tensorflow.keras.layers import Dense, Flatten, Conv2D
from tensorflow.keras import Model
class MyModel(Model):
def __init__(self):
super(MyModel, self).__init__()
self.layers_custom = self.create_layers()
def create_layers(self):
layers = [Conv2D(32, 3, activation='relu'), Flatten(),
Dense(128, activation='relu'), Dense(10, activation='softmax')]
return layers
def call(self, x):
for layer in self.layers_custom:
x = layer(x)
return x
model = MyModel()
print(model.layers)
print(model.layers_custom)
答案 1 :(得分:0)
只需在tf2.0的教程中看到有关如何制作图层列表的示例 https://www.tensorflow.org/tutorials/generative/pix2pix