Tensorboard日志RGB图片遇TypeError:无法处理对应数据类型
解决TensorBoard add_image报错TypeError: Cannot handle this data type的问题
你的错误根源是TensorBoard的add_image默认要求**通道在前(CHW)的张量格式,而你的图片数组是通道在后(HWC)**的格式(即(高度, 宽度, 通道数)),这种格式虽然能被PIL直接识别保存,但TensorBoard内部处理时会因为形状顺序不匹配出现识别错误。
提供两种直接可行的解决方法:
方法1:调整数组通道顺序
通过转置操作把通道维度移到最前面,将形状从(206,127,3)转为(3,206,127):
img_chw = img.transpose(2, 0, 1) writer.add_image("Example Image", img_chw, epoch)
方法2:指定dataformats参数
直接在add_image中告诉TensorBoard当前数组的格式为HWC,无需修改数组本身:
writer.add_image("Example Image", img, epoch, dataformats='HWC')
两种方法都能解决问题,方法二更简洁,适合不需要调整数组后续使用的场景;方法一适合需要统一张量格式为CHW的深度学习训练流程。
内容的提问来源于stack exchange,提问作者A-wels
相关产品推荐
相关产品推荐

