【问题标题】:Could not interpret optimizer identifier: {}'.format(identifier))无法解释优化器标识符:{}'.format(identifier))
【发布时间】:2022-01-10 19:36:07
【问题描述】:

我正在开发一个程序,当我运行它时出现以下错误:

'Could not interpret optimizer identifier: {}'.format(identifier))
ValueError: Could not interpret optimizer identifier: <keras.optimizer_v2.adam.Adam object at 0x0000023F5EEF4CF8>

我不知道如何解决它,也不知道这是我的问题还是我的外部问题。 问题出现在第 132 行,我只写了 74 行:(

Python version: 3.6.0
Tensorflow version: 2.6.2
Keras version: 2.6.0

图书馆:

import os
from tensorflow.python.keras.preprocessing.image import ImageDataGenerator
from tensorflow.python.keras import optimizers
from tensorflow.python.keras.models import Sequential
from tensorflow.python.keras.layers import Dropout, Flatten, Dense, Activation
from tensorflow.python.keras.layers import  Convolution2D, MaxPooling2D
from tensorflow.python.keras import backend as K

显示错误前的最后几行代码:

cnn=Sequential()
cnn.add(Convolution2D(filtconv1, siz_filtconv1, padding='same', activation='relu'))
cnn.add(MaxPooling2D(pool_size=siz_pool))
cnn.add(Convolution2D(filtconv2, siz_filtconv2, padding='same', activation='relu'))
cnn.add(MaxPooling2D(pool_size=siz_pool))
cnn.add(Convolution2D(filtconv3, siz_filtconv3, padding='same', activation='relu'))
cnn.add(MaxPooling2D(pool_size=siz_pool))

cnn.add(Flatten())
cnn.add(Dense(128, activation='relu'))
cnn.add(Dropout(0.5))
cnn.add(Dense(classs, activation='softmax'))
print('1')
optim=tensorflow.keras.optimizers.Adam(learning_rate=lr)
print('2')
cnn.compile(optimizer=optim,loss='categorical_crossentropy',metrics=['accuracy'])
print('3')

运行时的输出:

1
2
Traceback (most recent call last):
File "NeuronalRed.py", line 63, in <module>
cnn.compile(optimizer=optim,loss='categorical_crossentropy', metrics=['accuracy'])
File "C:\Users\paula\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\keras\engine\training.py", line 573, in compile
self.optimizer = self._get_optimizer(optimizer)
File "C:\Users\paula\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\keras\engine\training.py", line 611, in _get_optimizer
return nest.map_structure(_get_single_optimizer, optimizer)
File "C:\Users\paula\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\util\nest.py", line 869, in map_structure
structure[0], [func(*x) for x in entries],
File "C:\Users\paula\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\util\nest.py", line 869, in <listcomp>
structure[0], [func(*x) for x in entries],
File "C:\Users\paula\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\keras\engine\training.py", line 602, in _get_single_optimizer
opt = optimizers.get(opt)
File "C:\Users\paula\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\keras\optimizers.py", line 132, in get
'Could not interpret optimizer identifier: {}'.format(identifier))
ValueError: Could not interpret optimizer identifier: <keras.optimizer_v2.adam.Adam object at 0x000001805F30F2E8>

任何帮助将不胜感激

【问题讨论】:

标签: python tensorflow keras


【解决方案1】:

您需要从每个导入的库中删除.python,如下所示:

import os
import tensorflow  # also import tensorflow individually
from tensorflow.keras.preprocessing.image import ImageDataGenerator
from tensorflow.keras import optimizers
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dropout, Flatten, Dense, Activation
from tensorflow.keras.layers import  Convolution2D, MaxPooling2D
from tensorflow.keras import backend as K

在此之后再次尝试执行您的整个代码,如果问题仍然存在,请告诉我们。

【讨论】:

    猜你喜欢
    • 2021-09-21
    • 2018-10-07
    • 1970-01-01
    • 2022-12-13
    • 2019-10-16
    • 2020-06-06
    • 1970-01-01
    • 1970-01-01
    • 2020-11-16
    相关资源
    最近更新 更多