简体   繁体   中英

Tensorflow._api.v2.train has no attribute 'AdamOptimizer'

When using

model.compile(optimizer = tf.train.AdamOptimizer(),
              loss = 'sparse_categorical_crossentropy',
              metrics=['accuracy'])

in my Jupyter Notebook the following Error pops up:

module 'tensorflow._api.v2.train' has no attribute 'AdamOptimizer'

Tensorflow Version: 2.0.0-alpha0


Do you think the only possibility is to downgrade the TF version?

tf.train.AdamOptimizer() => tf.optimizers.Adam()

来自https://www.tensorflow.org/versions/r2.0/api_docs/python/tf/optimizers

model.compile(optimizer = tf.keras.optimizers.Adam(),
              loss = 'sparse_categorical_crossentropy',
              metrics=['accuracy'])

I haven't tried 2.0 yet, but from what I've seen on the dev submit videos, you can use

model.compile(optimizer = 'adam',
           loss = 'sparse_categorical_crossentropy',
           metrics=['accuracy'])
tf.optimizers.Adam()

Is the way to go. No reason to downgrade.
There are lots of changes in tf 2.0 compared to 1.14.
Note that the parameter-names of Adam have changed, too. eg beta1 is now beta_1, check the documentation in Meixu Songs link.

I had the same error. I removed

tf.train.AdamOptimizer() 

And I wrote

tf.optimizers.Adam()

Instead.

It's a minor change in upgraded version.

Please use:

model.compile(optimizer=tf.optimizers.Adam(), loss="sparse_categorical_crossentropy")

Thanks!

它应该是:

tf.compat.v1.train.AdamOptimizer()

model.compile(optimizer = tf.keras.optimizers.Adam(), loss = 'sparse_categorical_crossentropy', metrics=['accuracy'])

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM