gpt4 book ai didi

tensorflow - 循环时更改 tensorflow session 中的常量

转载 作者:行者123 更新时间:2023-12-03 15:46:10 25 4
gpt4 key购买 nike

如何更改 session 中的 tensorflow 常量 for 循环 .
我是一名学习者,我想知道如何在 for 循环中更新它

import tensorflow as tf
import numpy as np

looperCount = 10

data = np.random.randint(2, size=looperCount)
x = tf.constant(data, name='x')

y = tf.Variable((5 * (x * x)) - (3 * x) + 15, name="y")
model = tf.initialize_all_variables()

with tf.Session() as sess:
for i in range(looperCount):
sess.run(model)
data = np.random.randint(2, size=looperCount)
x = tf.constant(data, name='x')
avg = np.average(sess.run(y))
print "avg - {}, sess - {}".format(avg, sess.run(y))

更新的工作代码
import tensorflow as tf
import numpy as np

looperCount = 10

x = tf.placeholder("float", looperCount)
y = (5 * (x * x)) - (3 * x) + 15

with tf.Session() as sess:
for i in range(looperCount):
data = np.random.randint(10, size=looperCount)
result_y = sess.run(y, feed_dict={x: data})
avg = np.average(result_y)
print "avg - {:10} valy - {:10}".format("{:.2f}".format(avg), result_y)

最佳答案

在 TensorFlow 中,“常量”的意思就是:一旦设置,就无法更改。要更改 TensorFlow 程序在循环中使用的值,您有两个主要选择:(1) 使用 tf.placeholder() 输入一个值,或 (2) 使用 tf.Variable 存储步骤之间的值,以及 tf.Variable.assign() 更新它。

选项 1 更容易。这是一个示例,说明如何使用它使用占位符来实现您的程序:

import tensorflow as tf
import numpy as np

looperCount = 10

data = np.random.randint(2, size=looperCount)
x = tf.placeholder(tf.float64, shape=[2], name="x")

y = tf.Variable((5 * (x * x)) - (3 * x) + 15, name="y")
init_op = tf.initialize_all_variables()

with tf.Session() as sess:
sess.run(init_op)
for i in range(looperCount):
data = np.random.randint(2, size=looperCount)
avg = np.average(sess.run(y, feed_dict={x: data}))
print "avg - {}, sess - {}".format(avg, sess.run(y, feed_dict={x: data}))

关于tensorflow - 循环时更改 tensorflow session 中的常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40529519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com