我有这段代码:
model = Sequential()
model.add(Dense(32, input_dim=9, activation='relu'))
model.add(Dense(128, activation='relu'))
model.add(Dropout(0.2))
model.add(Dense(1, activation='relu'))
learning_rate = 0.001
(1) optimizer = tf.train.AdamOptimizer(learning_rate)
(2) optimizer = tf.keras.optimizers.Adam(lr=learning_rate, decay=1e-6)
model.compile(loss='mean_squared_error', optimizer=optimizer, metrics=['mse'])
对于优化器,起初我有第 (1) 行。它起作用了,但是在制作 ModelCheckpoints 时我收到了以下警告:
警告:tensorflow:TensorFlow 优化器无法在实例化后访问优化器属性或优化器状态。因此,我们无法将优化器保存为模型保存文件的一部分。您必须在加载模型后再次编译模型。更喜欢使用 Keras 优化器(请参阅 keras.io/optimizers)。
显然,如果你想使用它,你必须使用 Keras 优化器。好的,没问题,所以我将 (1) 注释掉,并插入 (2)。
现在它甚至不想编译了,而是给了我这个错误:
ValueError:优化器必须是 tf.train.Optimizer 的实例,而不是类 'tensorflow.python.keras.optimizers.Adam'
这对我来说听起来有点矛盾?我究竟做错了什么?