我需要自定义训练keras模型:
def base_model():
inputs = Input(shape=(128,))
x = Dense(128,activation='relu')(inputs)
outputs = Dense(13, activation='relu')(x)
return Model(inputs=inputs, outputs=outputs)
我尝试使用tf.GradientTape
来代替:
1. x = tf.random.uniform([1,128])
2. y = tf.random.uniform([13])
3. model = base_model()
4.
5. optimizer = keras.optimizers.Adam(learning_rate=0.001)
6. with tf.GradientTape() as t:
7. logits = model(x)
8. loss = keras.backend.mean(keras.losses.mean_squared_error(y, logits))
9. gradients = t.gradient(loss, model.trainable_weights)
10. optimizer.apply_gradients(zip(gradients, model.trainable_weights))
该代码段在第9行引发了以下错误:
'RefVariable' object has no attribute '_id'
我正在使用Tensorflow 1.14
,并且已将keras导入为
import tensoflow.keras as keras
我是tensorflow的新手。如果我在技术上说错了什么,我感到抱歉。我也想知道我是否可以在渴望执行模式下训练相同的模型。
谢谢。