当我们在keras中创建Embeddings实例时,我们将embeddings_initializer
变量设置为initializers.get(embeddings_initializer)
以设置为设置Keras图层的初始随机权重。
当我进入行https://github.com/keras-team/keras/blob/45c838cc7a0a5830c0a54a2f58f48fc61950eb68/keras/initializers.py#L488时,要查看get()的定义,有3个if if情况,哪些if else case执行?
询问此问题的上下文是何时将初始随机权重分配给嵌入实例。那么在我们创建对象时还是在一段时间后分配它们? 我个人的直觉是第三个条件被执行但我不知道如何。
答案 0 :(得分:1)
这些get
函数是将字符串转换为实际初始化对象的辅助函数。
dict
,然后将dict转换为初始化程序。 string
,然后将字符串转换为初始值设定项。 这部分代码没什么特别之处。实际的初始值设定项是上面定义的所有类和函数,例如RandomUniform
,Orthogonal
,lecun_uniform
,glorot_normal
等。