首页 > 解决方案 > 如何在张量流中分配张量的元素

问题描述

我想了解以下代码的错误信息

M = K.eye(2)
K.assign(M[0,1],1.0)

我收到的消息是“尝试将'输入'转换为张量并失败。错误:不支持任何值。”

标签: tensorflowvariable-assignment

解决方案


您可以在 tensorflow 中分配变量的元素。这是一个例子。(我在安装的 tensorflow 版本中没有找到 K.assign 这个操作,顺便说一句)

import tensorflow as tf
import keras.backend as K

M = tf.Variable(K.eye(2), tf.float32)
assign_op = tf.assign(M[0,1], 1.0)

with tf.Session() as sess:
  sess.run(tf.global_variables_initializer())
  print(sess.run(M))
  sess.run(assign_op)
  print(sess.run(M))

#[[1. 0.]
# [0. 1.]]

#[[1. 1.]
# [0. 1.]]

推荐阅读