如何在Keras中设置内核初始化程序(glorot_uniform)的种子值

WKK*_*WKK 1 kernel initializer seed keras tensorflow

我想在Keras中设置glorot_uniform内核初始化程序的种子值。

model.add(Dense(50, input_dim=self.state_size, activation='relu', kernel_initializer='glorot_uniform(seed=0)'))
Run Code Online (Sandbox Code Playgroud)

当我使用以上代码时,错误消息如下。

ValueError: Unknown initializer: glorot_uniform(seed=0)
Run Code Online (Sandbox Code Playgroud)

如果我删除“(seed = 0)”,如下所示

 model.add(Dense(50, input_dim=self.state_size, activation='relu', kernel_initializer='glorot_uniform'))
Run Code Online (Sandbox Code Playgroud)

它无需设置种子值即可很好地工作。

如何设置种子值?

Lau*_*Lau 5

Keras可以将字符串和函数用作初始化程序的参数。字符串仅使用初始化程序的默认选项。为您的FC层尝试以下代码:

from keras import initializers
model.add(Dense(50, input_dim=self.state_size, activation='relu', kernel_initializer=initializers.glorot_uniform(seed=0)))
Run Code Online (Sandbox Code Playgroud)

在这里,您具有初始化程序的文档:https : //keras.io/initializers