如何找到用作参数的 keras 类 的可用字符串缩写列表?
How can I find the list of available string abbreviations for keras classes used as arguments?
Keras(具体我使用的是 tf.keras)允许您在创建新的 class 实例时使用某些字符串作为参数,并且这些字符串引用其他 Keras classes。例如,tf.keras.layers.Dense(10, activation='elu')
中的 'elu' 是 tf.keras.activations.elu
的快捷方式。
但是,在文档中,我似乎找不到每个参数的任何有效参数的综合列表。有些将是显而易见的,但如果我有一个清单可以使用,那会容易得多。此外,model.compile(..., metrics=['accuracy'])
中的 'accuracy' 等参数的行为似乎过于模棱两可,以至于缺乏描述其行为的文档。
任何人都可以帮助我找到解决此问题的适当资源吗?除了上面提到的'accuracy',我还对tf.keras.callbacks.EarlyStopping
的monitor参数特别感兴趣。有谁知道为什么源文档如此缺乏?提前致谢!
遗憾的是,这没有记录,也没有单独的地方存储此类字符串常量。
当 keras 接收到 tf.keras.layers.Dense(10, activation='elu')
时,它将进入激活函数模块,如果激活函数存在于那里,它将按字面意思调用激活函数。因此,activation='elu'
将转换为 tf.keras.activations.elu()
。
同时意味着你可以使用任意的激活函数名作为字符串。
您可以查看代码 来解决此问题。
这个代码片段就可以了
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
Keras(具体我使用的是 tf.keras)允许您在创建新的 class 实例时使用某些字符串作为参数,并且这些字符串引用其他 Keras classes。例如,tf.keras.layers.Dense(10, activation='elu')
中的 'elu' 是 tf.keras.activations.elu
的快捷方式。
但是,在文档中,我似乎找不到每个参数的任何有效参数的综合列表。有些将是显而易见的,但如果我有一个清单可以使用,那会容易得多。此外,model.compile(..., metrics=['accuracy'])
中的 'accuracy' 等参数的行为似乎过于模棱两可,以至于缺乏描述其行为的文档。
任何人都可以帮助我找到解决此问题的适当资源吗?除了上面提到的'accuracy',我还对tf.keras.callbacks.EarlyStopping
的monitor参数特别感兴趣。有谁知道为什么源文档如此缺乏?提前致谢!
遗憾的是,这没有记录,也没有单独的地方存储此类字符串常量。
当 keras 接收到 tf.keras.layers.Dense(10, activation='elu')
时,它将进入激活函数模块,如果激活函数存在于那里,它将按字面意思调用激活函数。因此,activation='elu'
将转换为 tf.keras.activations.elu()
。
同时意味着你可以使用任意的激活函数名作为字符串。
您可以查看代码
这个代码片段就可以了
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