python - 在 Tensorflow 中等同 Subtensor 时出错

标签 python tensorflow

我尝试使用下面的代码来等同于tensorflow中的张量:

import tensorflow as tf
import numpy as np
a = tf.placeholder(tf.float32, shape=[2,2])
b = tf.Variable(tf.zeros(shape = [1,1]))

sess = tf.Session()
b[0,0]=a[0,0]
sess.run(tf.initialize_all_variables())

但出现错误信息“‘RefVariable’对象不支持项目分配”。我该如何修改?

最佳答案

您必须创建一个执行分配并运行它的张量。您可以对切片进行分配:

assg = b[0,0].assign(a[0,0])
feed_dict = {a: np.array([[3,4],[5,6]])}
sess.run(assg, feed_dict=feed_dict)
print(sess.run(b)) # [[3.]]

因为你实际上想为整个 b 分配新值,你也可以只使用 tf.assign,但是你必须确保形状匹配,因为 a[0,0] 是一个数字,而 b是大小为 1x1 的矩阵。

assg = tf.assign(b, tf.reshape(a[0,0],shape=[1,1]))
feed_dict = {a: np.array([[3,4],[5,6]])}
sess.run(assg, feed_dict=feed_dict)
print(sess.run(b)) # [[3.]]

关于python - 在 Tensorflow 中等同 Subtensor 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54899974/

相关文章:

python - 使用 tfx 运行多个训练器时 Kubeflow Pipeline RuntimeError

python - 基于 tensorflow 的流式指标的自定义指标返回 NaN

带列表的 Python 数据类

python - 将大写字符串字典转换为大写字符串文本

python - followObject_Setup 和 followObjectExpr 在这里的意思是什么

python - 以控制台格式 pyspark 写入流时出错

python - 在同一线程下的 tensorflow 中创建多个图

python - Tensorflow:多项尝试中结果的概率

python - 命令行 : Show list of options and let user choose

tensorflow - Keras 的 AUC(曲线 ='PR' )和 Scikit-learn 的 average_precision_score 有什么区别?