我一直在解决这个问题,“线性”对象没有属性“密集”。
import tensorflow as tf
x=tf.constant([[0,1,2],[4,5,6]])
y=tf.constant([[10],[20]])
class Linear(tf.keras.Model):
def _init_(self):
super()._init_()
self.dense=tf.keras.layers.Dense(
units=1,
activation=0,
kernel_initializer=tf.zeros_initializer(),
bias_initializer=tf.zeros_initializer()
)
def call(self,input):
output=self.dense(input)
return output
model=Linear()
optimizer=tf.keras.optimizers.SGD(learning_rate=0.01)
for i in range(100):
with tf.GradientTape() as tape:
y_pred=model(x)
loss=tf.reduce_mean(tf.square(y_pred-y))
grads=tape.gradient(loss,model.variables)
optimizer.apply_gradients(grads_and_vars=zip(grads,model.variables))
print(model.vabriables)
我是一个新学习者,如果有人能帮助我,我将不胜感激。
使用 init 应该是两破折号:
__init__