Tensorflow 在Keras中,是否有文档描述初始化器、优化器等的字符串名称到类的映射?

Tensorflow 在Keras中,是否有文档描述初始化器、优化器等的字符串名称到类的映射?,tensorflow,keras,Tensorflow,Keras,是否有任何文档描述Keras中哪些字符串名称映射到哪些对象?例如,下面我从tf.keras.layers创建了一个嵌入层,我可以使用'uniform'映射到tf.keras.initializers.RandomUniform类 tf.keras.layers.Embedding(1000, 64, embeddings_initializer='uniform') 但我只是通过看到这种用法的例子才知道这一点。我假设支持的字符串表单在某处有文档记录,但我似乎找不到这样的文档,而且挖掘代码太抽象

是否有任何文档描述Keras中哪些字符串名称映射到哪些对象?例如,下面我从
tf.keras.layers
创建了一个嵌入层,我可以使用
'uniform'
映射到
tf.keras.initializers.RandomUniform

tf.keras.layers.Embedding(1000, 64, embeddings_initializer='uniform')
但我只是通过看到这种用法的例子才知道这一点。我假设支持的字符串表单在某处有文档记录,但我似乎找不到这样的文档,而且挖掘代码太抽象,很难理解


版本:tf1.13.1

在TF中的keras实现中没有可用的字符串常量列表(我想,在原始keras中也没有)

对于这种情况,将
'uniform'
字符串转换为config,并在该配置上调用fabric方法,并提示从初始值设定项命名空间创建对象(可在此处找到,如下所示):

因此,我想不出比下列方法更好的方法,例如列出所有初始值设定者:

import tensorflow as tf

for k, v in tf.keras.initializers.__dict__.items():
    if not k[0].isupper() and not k[0] == "_":
        print(k)
和输出,尽管有额外的值,如下所示:

constant
glorot_normal
glorot_uniform
identity
ones
orthogonal
zeros
he_normal
he_uniform
lecun_normal
lecun_uniform
normal
random_normal
random_uniform
uniform
truncated_normal
deserialize
get
serialize

我恐怕不知道,第二好,有人知道在代码中的什么地方可以查找这个吗?另外,这样做的原因是通过使用上面的映射,它需要在局部线程上下文中进行绑定,如果我们有一个对初始化器类的引用,它在深层神经网络中被使用了两到三次,新手可能会在分配/更改带有一组新参数的引用时出错,从而导致初始分配的分布无效
constant
glorot_normal
glorot_uniform
identity
ones
orthogonal
zeros
he_normal
he_uniform
lecun_normal
lecun_uniform
normal
random_normal
random_uniform
uniform
truncated_normal
deserialize
get
serialize