我遇到了一些使用 tf.Variable(... trainable=False)
的代码,我想知道使用 tf.constant(...) 之间是否有任何区别
和 tf.Variable
(将 trainable
参数设置为 False)
让 trainable
参数选项与 tf.constant 一起使用似乎有点多余。
最佳答案
我可以直接告诉你的几个原因:
如果您声明了
tf.Variable
,您可以稍后根据需要更改它的值。另一方面,tf.constant
是不可变的,这意味着一旦定义它,就无法更改它的值。假设您有一个具有多个权重矩阵的神经网络,在前几个时期,您可以训练最后一层,同时保持其余所有层的卡住。之后,在最后几个时期,您需要微调整个模型。如果第一层定义为
tf.constant
,则不能这样做。
关于python - tf.constant 和 tf.Variable 之间的区别(trainable= False),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56479870/