tensorflow keras中的层具有一种方法build
,该方法用于将权重创建延迟到您看到输入将是什么的时候。 a layer's build method
我有几个问题我无法找到答案:
如果将一个Layer实例分配为另一个Layer的属性,则外层将开始跟踪内层的权重。
跟踪层的权重是什么意思?
我们建议在init方法中创建此类子层(由于子层通常具有构建方法,因此将在构建外层时构建它们。)>
是否表示在运行子类(自身)的build
方法时,将通过self
的所有属性进行迭代,并且从tf.keras.layer.Layer
的实例中发现的任何子类都将具有其build
方法是否自动运行?
class Net(tf.keras.Model):
"""A simple linear model."""
def __init__(self):
super(Net, self).__init__()
self.l1 = tf.keras.layers.Dense(5)
def call(self, x):
return self.l1(x)
net = Net()
print(net.variables)
但不是这个:
class Net(tf.keras.Model):
"""A simple linear model."""
def __init__(self):
super(Net, self).__init__()
self.l1 = tf.keras.layers.Dense(5)
def build(self,input_shape):
super().build()
def call(self, x):
return self.l1(x)
net = Net()
print(net.variables)
为什么?
tensorflow keras中的层具有一种方法构建,该方法用于将权重创建推迟到您看到输入将是什么的时候。一层的构建方法我有几个问题,我...
例如,当您构建自定义的tf.keras.Model时,我会说build