python 占位符 dict_python – 将参数提供到tensorflow中的占位符

输入应该是numpy数组.

因此,代替tf.Variable(tf.random_normal([K])),只需编写np.random.randn(K),一切都应该按预期工作.

编辑(问题在我回答后澄清):

可以使用占位符作为参数,但方式略有不同.例如:

lchild = tf.placeholder(tf.float32, shape=(K))

rchild = tf.placeholder(tf.float32, shape=(K))

parent = tf.nn.tanh(tf.add(lchild, rchild))

loss =

# Compute gradients with respect to the input variables

grads = tf.gradients(loss, [lchild, rchild])

inputs = [np.random.randn(K), np.random.randn(K)]

for i in range():

np_grads = sess.run(grads, feed_dict={lchild:inputs[0], rchild:inputs[1])

inputs[0] -= 0.1 * np_grads[0]

inputs[1] -= 0.1 * np_grads[1]

然而,这不是最好或最简单的方法.它的主要问题是,在每次迭代时,您都需要将numpy数组复制到会话中或从会话中复制(可能在GPU等其他设备上运行).

占位符通常用于提供模型外部的数据(如文本或图像).使用tensorflow实用程序解决它的方法如下:

lchild = tf.Variable(tf.random_normal([K])

rchild = tf.Variable(tf.random_normal([K])

parent = tf.nn.tanh(tf.add(lchild, rchild))

loss =

train_op = tf.train.GradientDescentOptimizer(loss).minimize(0.1)

for i in range():

sess.run(train_op)

# Retrieve the weights back to numpy:

np_lchild = sess.run(lchild)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值