首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TensorFlow2.0: Optimizer.minimize ('Adam‘对象没有’minimize‘属性)

TensorFlow2.0: Optimizer.minimize ('Adam‘对象没有’minimize‘属性)
EN

Stack Overflow用户
提问于 2019-04-01 23:53:10
回答 1查看 17.1K关注 0票数 6

对于我的强化学习应用程序,我需要能够应用自定义梯度/最小化变化的损失函数。根据documentation的说法,应该可以使用Optimizer.minimize()函数。但是,我的pip安装版本似乎根本没有这个功能。

我的代码:

代码语言:javascript
复制
from tensorflow.python.keras.optimizers import Adam, SGD
print(tf.version.VERSION)
optim = Adam()
optim.minimize(loss, var_list=network.weights)

输出:

代码语言:javascript
复制
2.0.0-alpha0
Traceback (most recent call last):
  File "/Users/ikkamens/Library/Preferences/PyCharmCE2018.3/scratches/testo.py", line 18, in <module>
    optim.minimize(loss, var_list=network.weights)
AttributeError: 'Adam' object has no attribute 'minimize'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-02 01:01:17

实际上这是有区别的。如果打印这两个类,您将看到:

代码语言:javascript
复制
from tensorflow.python.keras.optimizers import Adam

print(Adam)
print(tf.optimizers.Adam)

<class 'tensorflow.python.keras.optimizers.Adam'>
<class 'tensorflow.python.keras.optimizer_v2.adam.Adam'>

因此,在第一种情况下,Adam继承自其他类。它是在Keras训练循环中使用的,因此,它没有最小化方法。为了确保这一点,让我们获取所有类方法

代码语言:javascript
复制
import inspect
from tensorflow.python.keras.optimizers import Adam

print(inspect.getmembers(Adam(), predicate=inspect.ismethod))

输出显示这个类甚至没有最小化

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55459087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档