RetinexNet 代码复现过程中出现的ValueError 维数报错问题

在复现RetinexNet代码时遇到ValueError,原因是输入图像张量形状不匹配。部分图像形状为(?, ?, ?, 4),包含额外的透明度通道。问题源头在于load_images函数加载了RGBA图像。通过将RGBA图像转换为RGB图像,成功解决了这个问题,程序得以正常运行。" 117894053,10554342,符合W3C标准的JavaScript随机漂浮广告代码实现,"['前端开发', 'HTML', 'JavaScript']

在实现RetinexNet代码复现过程中出现ValueError: Cannot feed value of shape (1, 331, 496, 4) for Tensor 'input_low:0', which has shape '(?, ?, ?, 3)',这样的问题,经过查找资料,发现是因为输入数据张量不符合要求导致的。但是在复现过程中,有些图像不会报错,有些图像就会报错,在代码print后发现,报错图像的数据的shape是(?, ?, ?, 4),每个数组比正常运行的数据多了一个元素1,

发现是载入数据的问题,阅读代码后发现该数据来自main.py中86行

test_low_im = load_images(test_low_data_name[idx])

继续阅读代码,找到load_images函数来自工程下utils.py文件 

def load_images(file):
    im = Image.open(file)
    return np.array(im, dtype="float32") / 255.0

测试报错和不报错图片,发现图像1和2的区别,其中im2为报错图像

查找资料后发现RGBA图像比RGB图像多了一个透明度的值 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值