如何在tensorflow 2.4.1中设置优化器

2024-10-03 04:33:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我按照代码学习图像分类。但是,此代码在编译函数中使用了带有优化器的结构:

optimizer=optimizers.Adam(lr=lr)

但我得到一个错误:

File "C:\Users\jucar\PycharmProjects\AIRecProject\Scode.py", line 69, in <module>
optimizer=optimizers.Adam(lr=lr),NameError: name 'optimizers' is not defined

我改变了结构,采用了类似的解决方案:

optimizer='adam'(lr=lr)

但这一错误是:

File "C:\Users\jucar\PycharmProjects\AIRecProject\Scode.py", line 69, in <module>
optimizer='adam'(lr=lr),TypeError: 'str' object is not callable

我一直在寻找有关Keras和TensorFlow的信息,这里提供了这些信息

tf.keras.optimizers.Adam(
learning_rate=0.001, beta_1=0.9, beta_2=0.999, epsilon=1e-07, amsgrad=False,
name='Adam', **kwargs

)

因此,我使用这个:

from tensorflow.python.keras import optimizers as opt

后来:

opt = opt(learning_rate=0.001, gradient_aggregator=None, gradient_transformers=None)

SD.compile(loss='categorical_crossentropy',
        optimizer=opt,
        metrics=['accuracy'])

出现此错误时:

File "C:\Users\jucar\PycharmProjects\AIRecProject\Scode.py", line 67, in <module>
opt = opt(learning_rate=0.001)TypeError: 'module' object is not callable

我改成:

opt = opt.Adam(learning_rate=0.001)

获取此错误:

File "C:\Users\jucar\PycharmProjects\AIRecProject\Scode.py", line 67, in <module>
opt = opt.Adam(learning_rate=0.001)
AttributeError: module 'tensorflow.python.keras.optimizers' has no attribute 'Adam'

我怎样才能解决这个问题


Tags: rate错误usersoptimizerfilelearningmoduleopt