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_正则化器是一个稠密的参数,而不是加法函数

是的,我刚才就知道了。谢谢然而,使用核正则化只会破坏我的神经网络学习能力。