Tensorflow 操纵矩阵张量流,tf.data.dataset有问题

Tensorflow 操纵矩阵张量流,tf.data.dataset有问题,tensorflow,Tensorflow,我想连接三个大小为[10241024,3]的图像,以创建一个大小为[310241024,3]的批处理。我用TensorFlow编写了这段代码,但它不起作用。它返回错误“不可访问的传感器错误:此处无法访问张量'tensor('truediv:0',shape=(1024,1024,3),dtype=float32)”:它是在另一个函数或代码块中定义的。请使用返回值、显式Python局部变量或TensorFlow集合来访问它。“ 通常,tensorflow不支持项目分配。相反,生成所需的所有img层

我想连接三个大小为[10241024,3]的图像,以创建一个大小为[310241024,3]的批处理。我用TensorFlow编写了这段代码,但它不起作用。它返回错误
“不可访问的传感器错误:此处无法访问张量'tensor('truediv:0',shape=(1024,1024,3),dtype=float32)”:它是在另一个函数或代码块中定义的。请使用返回值、显式Python局部变量或TensorFlow集合来访问它。“


通常,tensorflow不支持项目分配。相反,生成所需的所有
img
层,然后使用
tf.stack()
tf.concatenate

filename = [img1.png, img2.png, img3.png]
cnt=0
slices = []
for fi in filename:
  bits = tf.io.read_file(fi)
  img = tf.image.decode_jpeg(bits, channels=3)
  img = tf.image.resize(img, (1024,1024))
  slices.append(tf.cast(img, tf.float32) / 255.0)
  cnt +=1

image = tf.stack(slices)

同样,通过这种方式,它返回错误“InaccessibleTensorError:tensor'tensor(“truediv:0”,shape=(1024,1024,3),dtype=float32)”不能在这里访问:它是在另一个函数或代码块中定义的。使用返回值、显式Python局部变量或TensorFlow集合来访问它。实际上,我正在使用以下代码,它在“image=tf.stack(slices)”def decode\u img(文件名):image=tf.ones((310241024,3),dtype=tf.dtypes.float32)cnt=0 slices=[]行返回错误,对于文件名中的fi:bits=tf.io.read\u file(fi)img=tf.image.decode\u jpeg(bits,channels=3)img=tf.image.resize(img,(10241024))slices.append(tf.cast)(tf.cast(img,tf.float32)/255.0)cnt+=1 image=tf.stack(slices)return image filenames=[img1.png,img2.png,img3.png]dataset=tf.data.dataset.from_tensor_slices(filenames)dataset=dataset.map(decode_img)Post有问题,格式为代码,这很难阅读,在代码中您首先定义图像,然后尝试为图像分配一个新值。tf中一般不允许分配。每次要组合几个变量或修改它们时,都需要将结果分配给一个新变量。这是基于tensorflow为有效的反向传播定义其函数图的方式我相信对不起,这是我的一段代码,我编辑了这个问题,并将所有代码
filename = [img1.png, img2.png, img3.png]
cnt=0
slices = []
for fi in filename:
  bits = tf.io.read_file(fi)
  img = tf.image.decode_jpeg(bits, channels=3)
  img = tf.image.resize(img, (1024,1024))
  slices.append(tf.cast(img, tf.float32) / 255.0)
  cnt +=1

image = tf.stack(slices)