我改变了我的问题来解释我的问题更好:
我有一个函数:output_image = my_dunc(X)是x应该像(1,4,4,1)
请帮我修正这个错误在这一部分:
out = tf.Variable(tf.zeros([1, 4, 4, 3]))
index = tf.constant(0)
def condition(index):
return tf.less(index, tf.subtract(tf.shape(x)[3], 1))
def body(index):
out[:, :, :, index].assign(my_func(x[:, :, :, index]))
return tf.add(index, 1), out
out = tf.while_loop(condition, body, [index])
ValueError异常:这两个结构不具有相同的嵌套结构。 第一结构:类型=列表STR = []第二结构:类型=列表str=[<tf.Tensor 'while_10/Add_3:0' shape=() dtype=int32>, <tf.Variable 'Variable_2:0' shape=(1, 4, 4, 3) dtype=float32_ref>]
更具体地:两个结构不具有相同数量的元素。 第一结构: type=list str=[<tf.Tensor 'while_10/Identity:0' shape=() dtype=int32>]
第二结构: type=list str=[<tf.Tensor 'while_10/Add_3:0' shape=() dtype=int32>, <tf.Variable 'Variable_2:0' shape=(1, 4, 4, 3) dtype=float32_ref>]
我测试了我的代码,我可以从导致out = my_func(x[:, :, :, i])
与我不同的值,并且还当我的评论行while_loop工作out[:, :, :, index].assign(my_func(x[:, :, :, index]))
什么是错的那一行。