我有以下代码用于在Keras中实现标准分类问题:
import numpy as np
import keras
from keras.models import Sequential
from keras.layers import Dense
from sklearn.datasets import load_breast_cancer
X,y = load_breast_cancer(return_X_y =True)
from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(X,y,test_size=0.3,random_state=1)
model = Sequential()
model.add(Dense(units=30,input_dim=X_train.shape[1],activation='relu',kernel_initializer='uniform'))
model.add(Dense(units=20,activation='relu',kernel_initializer='uniform'))
model.add(Dense(units=1,activation='sigmoid',kernel_initializer='uniform'))
model.compile(optimizer='sgd',loss='binary_crossentropy',metrics=['accuracy'])
model.fit(X_train,y_train,validation_data=(X_test,y_test),epochs=200,batch_size=40,verbose=1)
一切正常,但我想在kernel_initializer
中使用自定义初始化函数.
例如,在这一行中
model.add(Dense(units=20,activation='relu',kernel_initializer='uniform'))
我更喜欢这种代码:
def my_custom_initialization():
return here
model.add(Dense(units=20,activation='relu',kernel_initializer=my_custom_initialization()))
如何使用符合Keras框架的自定义分布或方法生成数字?