繁体   English   中英

尝试使用 rmsprop 优化器时,如何解决“TypeError: 'module' object is not callable”问题?

[英]How do I resolve the "TypeError: 'module' object is not callable" issue when trying to use the rmsprop optimizer?

这是我试图起床的神经网络的代码:

from keras import layers
from keras import models
from keras import optimizers
from keras.preprocessing.image import ImageDataGenerator

train_dir = 'C:/Users/BaskaranBadr/Documents/Deep Learning/cats_and_dogs_small/train'
validation_dir = 'C:/Users/BaskaranBadr/Documents/Deep Learning/cats_and_dogs_small/validation'

model = models.Sequential()
model.add(layers.Conv2D(32, (3,3), activation='relu', input_shape = (150,150,3)))
model.add(layers.MaxPooling2D((2,2)))
model.add(layers.Conv2D(64, (3,3), activation='relu', input_shape = (150,150,3)))
model.add(layers.MaxPooling2D((2,2)))
model.add(layers.Conv2D(128, (3,3), activation='relu', input_shape = (150,150,3)))
model.add(layers.MaxPooling2D((2,2)))
model.add(layers.Conv2D(128, (3,3), activation='relu', input_shape = (150,150,3)))
model.add(layers.MaxPooling2D((2,2)))
model.add(layers.Flatten())
model.add(layers.Dense(512, activation='relu'))
model.add(layers.Dense(1, activation='sigmoid'))


model.compile(loss='binarycrossentropy', optimizer=optimizers.rmsprop_v2(lr=0.0001), metrics = ['acc'])

我不断收到的错误是:

Traceback (most recent call last):
File "c:\Users\BaskaranBadr\Documents\Deep Learning\CatDogClassifier.py", line 24, in <module>
    model.compile(loss='binarycrossentropy', optimizer=optimizers.rmsprop_v2(lr=0.0001), metrics = ['acc'])
TypeError: 'module' object is not callable

我不知道rmsprop_v2是否存在,或者它是rmspropkeras.optimizer_v2 ,你可以查看keras这个链接
如果你想使用RMSprop ,你可以按照这种方式:

import tensorflow as tf

optim = tf.keras.optimizers.RMSprop(lr=0.0001)
model.compile(loss='binarycrossentropy', optimizer=optim, metrics = ['acc'])

rmsprop_v2只是optimizers模块中rmsprop模块的别名(参见GitHub 上的 keras )。 你不应该使用这个别名。 只是

from keras import optimizers

接着

opt = optimizers.RMSprop(learning_rate=0.0001)
model.compile(loss='binarycrossentropy', optimizer=opt, metrics = ['acc'])

要访问 Tensorflow 1 中的 Keras,请使用“import keras”。 使用 Tensorflow 2 时,大多数较旧的代码和教程需要将其导入重写为“从 tensorflow.keras 导入 X”。

利用:

from tensorflow.keras.optimizers import RMSprop

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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