Tensorflow 渴望模式优化器
在急切模式下仅支持TF本机优化器 我在以下方面尝试过的每一位乐观主义者都会犯这个错误:Tensorflow 渴望模式优化器,tensorflow,optimization,Tensorflow,Optimization,在急切模式下仅支持TF本机优化器 我在以下方面尝试过的每一位乐观主义者都会犯这个错误: def create_model(): model = tf.keras.models.Sequential([tf.keras.layers.Dense(512,activation=tf.nn.relu, input_shape=(784,)), tf.keras.layers.Dropout(0.2), tf.keras.layers.Dense(10, activation=tf.nn.sof
def create_model():
model = tf.keras.models.Sequential([tf.keras.layers.Dense(512,activation=tf.nn.relu, input_shape=(784,)), tf.keras.layers.Dropout(0.2), tf.keras.layers.Dense(10, activation=tf.nn.softmax) ])
opt = tf.train.GradientDescentOptimizer
model.compile(optimizer = opt,
loss=tf.keras.losses.sparse_categorical_crossentropy, metrics= ['accuracy'])
return model
所以我的问题是,“TF原生优化器”是什么?
谢谢。简短回答:从
opt=tf.train.GradientDescentOptimizer
更改为opt=tf.train.GradientDescentOptimizer()
更详细的回答:在上面提供的代码片段中,您将传递一个类(tf.train.GradientDescentOptimizer
),而不是对象到model.compile
。因此,错误消息抱怨opt
参数的类型不正确
希望有帮助
(A有望在未来的版本中产生更好的错误消息)除了ash的回答之外,“在急切模式下仅支持TF本机优化器”错误的另一个可能原因是使用TF.keras优化器,而不是TF.train优化器 例如:
# Gives error
model.compile(loss='binary_crossentropy', optimizer='rmsprop', metrics=['accuracy'])
# Also gives error
model.compile(loss='binary_crossentropy', optimizer=tf.keras.optimizers.RMSprop(), metrics=['accuracy'])
# Correct
model.compile(loss='binary_crossentropy', optimizer=tf.train.RMSPropOptimizer(learning_rate=0.001), metrics=['accuracy'])