如何在Keras上进行切片分配(使用TensorFlow作为后端)

时间:2019-04-11 14:08:42

标签: tensorflow keras

例如

RadioButton.checked = false

因为它是在编译模型之前使用的,所以当我尝试使用函数textDecoration = "none"(这是一个TensorFlow函数)时,会出现错误: “张量”对象没有属性“分配”。

这可能是因为在编译模型之前,变量的第一个暗号是a = Input(...) b = keras.layers.Conv2D(...)(a) c = keras.backend.zeros(...) c[...].assign(b[...]) 。 那么,有什么方法可以进行切片分配吗?

1 个答案:

答案 0 :(得分:1)

通常,TensorFlow张量是不可分配的。但是,根据官方docstf.assign()函数仅适用于可变张量,该张量应来自变量节点。因此,下面的代码有效。其余的将在很大程度上取决于您的具体情况。

var1 = tf.keras.backend.zeros(1,1)
var2 = var1[0].assign(1)

sess = tf.Session()
sess.run(tf.global_variables_initializer())
print(sess.run(var2))

您可能会发现此答案很有用 How to do slice assignment in Tensorflow