tensorflow 图形中不允许运算符错误:在'tf.Tensor'上迭代

ffscu2ro  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(203)

当我尝试用tf.data建立一个输入管道时,我遇到了一个非常奇怪的错误。我把我的参考图像和我的绘图合并成一个元组。然后我把它添加到列表中。这应该可以工作。
但是现在我在这一行得到这个奇怪的错误:

train_dataset = train_dataset.map(load_image_train, num_parallel_calls=tf.data.AUTOTUNE)

下面是我的代码:

@tf.function()
def load_image_train(a_training_datapoint):
 print(type(a_training_datapoint))
 print("here 1")
 real_image_path, drawing_path = zip(*a_training_datapoint)
 print("here 2")
 real_image = convert_images_to_tensor(real_image_path)
 print("here 3")
 drawing_image = convert_images_to_tensor(drawing_path)
 real_image, drawing_image = random_jitter(real_image, drawing_image)
 real_image, drawing_image = normalize(real_image, drawing_image)
return real_image, drawing_image

然后我有了这个:

test_dataset_list = []
for data in test_set:
 test_dataset_list.append(zip(data.reference_image, data.drawing))
print(test_dataset_list)

这里1是唯一一个打印输出的。
因此,它看起来不像我正在解压缩元组,但我确信我做得是正确。
还它这样说:〈类'tensorflow .Python.框架.操作.Tensor'〉
当我打印出a_test_datapoint的类型时

acruukt9

acruukt91#

此Zip方法不是zip作为文件加密,但它是引用Map,您无法读取它,因为一些硬件正在尝试,但对象仍然存在,如果不这样做,它无法恢复反向引用。
同样的问题,你的工作与路由路径或模拟问题,我的样本作为游戏找到下一步行动,并存在的解决方案。
服务器-硬件安全任务,其中一个角色为什么要压缩Fn
试试看,看看工作日志。
示例:重叠工作输入文本序列的Zip。

import tensorflow as tf
import tensorflow_text as tft

input_word = tf.constant(' \'Cause it\'s easy as an ice cream sundae Slipping outta your hand into the dirt Easy as an ice cream sundae Every dancer gets a little hurt Easy as an ice cream sundae Slipping outta your hand into the dirt Easy as an ice cream sundae Every dancer gets a little hurt Easy as an ice cream sundae Oh, easy as an ice cream sundae ' )

print( 'input_word: ' + str(input_word) )
print( " " )

dataset = tf.data.Dataset.from_tensors( tf.strings.bytes_split(input_word ) )

window_size = 6
dataset = dataset.map(lambda x: tft.sliding_window(x, width=window_size, axis=0) ).flat_map(tf.data.Dataset.from_tensor_slices)
print( dataset )

test_dataset_list = []
icount = 0
for data in dataset:
    test_dataset_list.append(zip(tf.constant(data, name=str(icount)), tf.constant(data, name=str(icount + 1))))
    icount = icount + 1
print(test_dataset_list)

相关问题