当前位置: 代码迷 >> 综合 >> could not broadcast input array from shape (128,128,3) into shape (1)错误原因
  详细解决方案

could not broadcast input array from shape (128,128,3) into shape (1)错误原因

热度:91   发布时间:2023-11-23 09:40:03.0

原本是一个简单的list转换为array函数,结果却出现这样的错误:
could not broadcast input array from shape (128,128,3) into shape (1)
后来尝试了网上很多种方法,都没有办法解决问题。
可能的原因:
1、本身的数据集出现问题,没有统一尺寸。
2、(我代码出错的地方)tensorflow函数处理上出现问题,因为出错的地方在map_array =(np.array(map))这一行上,错误显示map为list类型,后来我往上探索,终于找到问题所在:map = tf.train.shuffle_batch([imga, 1], batch_size=1, capacity=20, min_after_dequeue=10)
需要改成:map, _ = tf.train.shuffle_batch([imga, 1], batch_size=1, capacity=20, min_after_dequeue=10)
由于函数输出为一个二元组,结果我只赋给一个变量,该变量就会变成一个list。
比如:

def func():return 1,2a,b = func()  #a = 1, b = 2
c = func()  # c = (1,2)

这将是完全不同的结果。

  相关解决方案