gpt4 book ai didi

tensorflow - 如何在 tensorflow 2.0 中使用层列表?

转载 作者:行者123 更新时间:2023-12-04 14:19:56 25 4
gpt4 key购买 nike

下面的代码向我抛出一个错误“AttributeError:无法设置属性”。我认为这是因为我试图将 TensorFlow 层放入一个普通列表中。

有谁知道我如何解决这个问题并能够创建一个图层列表?我不想使用 Sequential,因为它不太灵活。

在 PyTorch 中,他们有 ModuleLists,您可以使用它来代替列表,我可以使用 TensorFlow 中的等效项吗?

!pip install tensorflow-gpu==2.0.0-alpha0
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 = 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:
x = layer(x)
return x

model = MyModel()

full problem

最佳答案

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)

关于tensorflow - 如何在 tensorflow 2.0 中使用层列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56117745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com