model.get_weights()
和 model.trainable_variables
在 Tensorflow 中似乎返回相同的值,但数据类型不同。前者返回数组列表,后者返回张量数组。(如果我没有理解错的话)
请解释在哪些情况下使用哪一个更合适?另外,我试图比较它们但没有成功,如果可能的话,请提供一个比较代码的示例。
谢谢你。
回答:
model.get_weights():
- 它返回层当前的权重,以 NumPy 数组的形式。
- 此函数返回一个包含与该层相关联的可训练和不可训练权重值的 NumPy 数组列表,这些数组可用于将状态加载到参数相似的层中。
model.trainable_variables:
- 它返回在层中创建的所有变量,当
trainable = True
时。默认情况下,所有层都设置为 true。
因此,model.get_weights()
和 model.trainable_variables
返回相同的值。请参考这个 gist 以更好地理解。谢谢你!