Keras(特别是我正在使用tf.keras)允许您在创建新的类实例时将某些字符串用作参数,并且这些字符串引用其他Keras类。例如,tf.keras.layers.Dense(10, activation='elu')
中的'elu'是tf.keras.activations.elu
的快捷方式。
但是,在文档中,我似乎无法找到每种参数的有效参数的全面列表。有些会很明显,但是如果我有一份要处理的清单,它将容易得多。此外,model.compile(..., metrics=['accuracy'])
中诸如“ accuracy”之类的参数的行为似乎太含糊,以至于缺乏描述其行为的文档。
有人可以帮我指出解决此问题的适当资源吗?除了上述“准确性”之外,我还对tf.keras.callbacks.EarlyStopping
的monitor参数特别感兴趣。有谁知道为什么源文档如此之少?预先感谢!
答案 0 :(得分:1)
这段代码就可以了
for k, v in tf.keras.activations.__dict__.items():
if not k[0].isupper() and not k[0] == "_":
print(k)
deserialize
elu
exponential
gelu
get
hard_sigmoid
linear
relu
selu
serialize
sigmoid
softmax
softplus
softsign
swish
tanh
答案 1 :(得分:0)
遗憾的是,这没有记录,也没有这样的字符串常量的单个位置存储。
当keras收到tf.keras.layers.Dense(10, activation='elu')
时,它将进入激活功能模块,并且如果存在该功能,将按其名称从字面上调用激活功能。因此,activation='elu'
将转换为tf.keras.activations.elu()
。
同时,这意味着您可以将任何激活功能名称用作字符串。
您可以查看代码suggested here来解决此问题。