Python Keras意外的内核正则化器错误
我尝试使用核正则化器,它是机器学习中权重的正规正则化 以下是我的代码:Python Keras意外的内核正则化器错误,python,tensorflow,deep-learning,keras,Python,Tensorflow,Deep Learning,Keras,我尝试使用核正则化器,它是机器学习中权重的正规正则化 以下是我的代码: def model_param(self): """ Method to do deep learning """ from keras.models import Sequential from keras.layers import Dense, Dropout, Activation from keras.optimizers im
def model_param(self):
""" Method to do deep learning
"""
from keras.models import Sequential
from keras.layers import Dense, Dropout, Activation
from keras.optimizers import SGD
from keras import regularizers
self.model = Sequential()
# Dense(64) is a fully-connected layer with 64 hidden units.
# in the first layer, you must specify the expected input data shape:
# here, 20-dimensional vectors.
self.model.add(Dense(32, activation='relu', input_dim=self.x_train_std.shape[1]),\
kernel_regularizer=regularizers.l2(0.01))
self.model.add(Dropout(0.5))
#self.model.add(Dense(60, activation='relu'))
#self.model.add(Dropout(0.5))
self.model.add(Dense(1, activation='sigmoid'))
sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
self.model.compile(loss='binary_crossentropy',
optimizer=sgd,
metrics=['accuracy'])
获取一个错误,该错误表示无法识别关键字参数
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-225-3cf87672aeed> in <module>()
----> 1 dl_2.model_param()
<ipython-input-223-08450db8ff4d> in model_param(self)
65 # in the first layer, you must specify the expected input data shape:
66 # here, 20-dimensional vectors.
---> 67 self.model.add(Dense(32, activation='relu', input_dim=self.x_train_std.shape[1]), kernel_regularizer=regularizers.l2(0.01))
68 self.model.add(Dropout(0.5))
69 #self.model.add(Dense(60, activation='relu'))
TypeError: add() got an unexpected keyword argument 'kernel_regularizer'
---------------------------------------------------------------------------
TypeError回溯(最近一次调用上次)
在()
---->1 dl_2.模型参数()
在模型参数中(自)
65#在第一层中,必须指定预期的输入数据形状:
这里是20维向量。
--->67 self.model.add(稠密(32,activation='relu',input_dim=self.x_train_std.shape[1]),核正则化子=regularizers.l2(0.01))
68自我模型添加(辍学率(0.5))
69#self.model.add(密集(60,activation='relu'))
TypeError:add()获得意外的关键字参数“kernel\u regularizer”
试试这个:
self.model.add(Dense(32, activation='relu', input_dim=self.x_train_std.shape[1], kernel_regularizer=regularizers.l2(0.01)))
kernel_正则化器是一个稠密的参数,而不是加法函数是的,我刚才就知道了。谢谢然而,使用核正则化只会破坏我的神经网络学习能力。