我有一个带有权重的NN模型,我需要能够使用一定的推论来推论(和学习)一组权重A,有时还包括一组权重B。我知道我可以将值提供给变量,而不仅是占位符,但是如果这样做,我会在请求的op节点的执行窗口内永久覆盖变量值或它是临时的?
例如,假设我使用权重集合A构建了图形并学习了一个模型。如果我想使用另一个权重集合B进行推理,则可以执行以下操作:
sess.run(output, feed_dict={input:input, weights:weightsB}) #inference
Run Code Online (Sandbox Code Playgroud)
我的问题是:如果我输入weightsB值,它们会永久覆盖网络的值吗?如果下次我会跑
sess.run(output, feed_dict={input:input}) #inference
Run Code Online (Sandbox Code Playgroud)
使用权重A还是权重B?
在TensorFlow中,一步输入变量值不会值影响存储在该变量中的值。在后续步骤中,如果使用变量,它将继续使用其先前的值。
请注意,如果您希望供稿在以后的步骤中更改变量的值,则应使用类似以下的结构将值显式分配给变量:
v = tf.Variable(...)
v_update_placeholder = tf.placeholder(v.dtype, shape=v.shape)
v_update_op = v.assign(v_update_placeholder).op
# ...
sess.run(v_update_op, feed_dict={v_update_placeholder: ...})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
690 次 |
| 最近记录: |