谁能帮我解决编译错误:Adam/SGD/RMSprop

2024-03-29 09:27:25 发布

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

如果我的代码是这样的:

from sklearn.model_selection import train_test_split

from keras.models import Sequential

from keras.layers import Dropout, Flatten, Dense, Conv2D, MaxPooling2D, BatchNormalization

from keras.callbacks import TensorBoard

from keras.callbacks import ModelCheckpoint

from keras.optimizers import Adam

from keras.optimizers import SGD

然后它向我报告错误是:

ImportError回溯(最近一次呼叫最后一次)

<ipython-input-13-65309f3d78a9> in <module>()
      6 from keras.callbacks import TensorBoard
      7 from keras.callbacks import ModelCheckpoint
----> 8 from keras.optimizers import Adam
      9 from keras.optimizers import SGD
     10 

ImportError:无法导入名称“Adam”

如果我的代码是这样的:

from tensorflow.keras.optimizers import Adam


model.compile(loss='sparse_categorical_crossentropy',optimizer=Adam(),metrics=['acc'])

它报告错误:

~/anaconda3/lib/python3.6/site-packages/keras/optimizers.py in get(identifier)
    else:
        raise ValueError('Could not interpret optimizer identifier: {}'.format(identifier))
ValueError: Could not interpret optimizer identifier: <tensorflow.python.keras.optimizer_v2.adam.Adam object at 0x7fa9bd68c048>

Tags: 代码fromimportmodel报告错误kerasoptimizer
1条回答
网友
1楼 · 发布于 2024-03-29 09:27:25

import语句看起来很好:

from tensorflow.keras.optimizers import Adam

compile方法有三个参数(loss、optimizer和metrics)。优化器可以是字符串。例如:

model.compile(loss='sparse_categorical_crossentropy',optimizer='adam',metrics=['acc'])

还可以将Adam指定为变量,并将该变量用作优化器:

example = Adam(learning_rate=0.1)
model.compile(loss='sparse_categorical_crossentropy',optimizer=example,metrics=['acc'])

Adam的默认值为here

相关问题 更多 >