我正在尝试在我的卷积神经网络中实现学习率调度,我为此实现了
ReduceLROnPlateau
方法,但遇到了这个错误。
我的进口清单
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import seaborn as sns
%matplotlib inline
import warnings
warnings.filterwarnings('ignore')
np.random.seed(0)
from sklearn.model_selection import train_test_split
from sklearn.metrics import confusion_matrix
import itertools
from keras.utils.np_utils import to_categorical # convert to one-hot-encoding
from keras.models import Sequential
from keras.layers import Dense, Dropout, Flatten, Conv2D, MaxPool2D
from keras.optimizers import RMSprop
from keras.preprocessing.image import ImageDataGenerator
from keras.callbacks import ReduceLROnPlateau
from keras.activations import selu
我用来实现它的代码:
reduce_lr = ReduceLROnPlateau(monitor='val_loss', factor=0.2,patience=5, min_lr=0.001)
我遇到的完整错误
我的代码在没有学习率调度程序的情况下也可以工作,这是每当我尝试回调这个特定调度程序时遇到的错误。
谢谢你
改变
from keras.callbacks import ReduceLROnPlateau
至
from tensorflow.keras.callbacks import ReduceLROnPlateau
可能会解决您的错误。
发生这种情况很可能是因为您混合了张量流和 keras 导入。
“ReduceLROnPlateau”对象没有属性“_implements_train_batch_hooks”
对于此错误,您可以将其与最新的张量流库一起使用 从tensorflow.python.keras.callbacks导入ReduceLROnPlateau