【神经网络】imshow展示图片报错

文章目录

代码示例

kotlin 复制代码
plt.imshow(np.squeeze(images[0]))

报错信息

kotlin 复制代码
Invalid shape (3, 60, 90) for image data

报错原因

格式错误,输入具有RGB值的图像,输入三维数组参数的格式应该是(高度,宽度,通道数)

我们可以看一下显示数据信息

kotlin 复制代码
dataiter = iter(trainloader)
images, labels = dataiter.next()
print(type(images))
print(images.shape)
sh 复制代码
# output
<class 'torch.Tensor'>
torch.Size([32, 3, 60, 90])

对于图像数据,这通常是 (batch_size, channels, height, width)

也就是说它的每个图像格式是(通道数,宽度,高度),我们需要将其调整为(宽度,高度,通道数)的格式

解决方法

将图像数据调整为(宽度,高度,通道数)的格式,以便于正确地显示和处理图像。

kotlin 复制代码
plt.imshow(np.squeeze(np.transpose(images[0], (1, 2, 0))))

其他问题

下面这段代码如果出现报错

py 复制代码
# 获取一个 Batch 的图片
dataiter = iter(train_loader)
images, labels = dataiter.next()
kotlin 复制代码
AttributeError: '_SingleProcessDataLoaderIter' object has no attribute 'next'

出错原因Python 版本问题

解决方案

py 复制代码
x = next(dataiter)
# or
x = dataiter.__next__()
相关推荐
ganbingfenxiang12 小时前
山西干冰零售
大数据·人工智能·python·零售
薛定猫AI12 小时前
【深度解析】GLM-5.2 与 Z-Code:AI 编程智能体的原理拆解与 Python 调用实战
开发语言·人工智能·python
weixin_4000056012 小时前
RL-frenet-trajectory-planning-in-CARLA
人工智能·深度学习·算法·机器学习·自动驾驶
白白白飘12 小时前
【3】大语言模型的核心原理
人工智能·语言模型·自然语言处理
西西弗Sisyphus12 小时前
计算机视觉领域 选择 卷积神经网络 还是选择 Vision Transformer
计算机视觉·cnn·transformer
ZeekerLin13 小时前
AI时代,企业核心业务中台化建设思考
大数据·人工智能·企业ai转型
刘海东刘海东13 小时前
完成了一二三四章
人工智能
甲维斯13 小时前
普通人慎入!Fable5原创游戏“死线求生”第一版!
人工智能·ai编程·游戏开发
北鹤M13 小时前
ai模特画图高效实现换装,批量生图工具实测体验
人工智能·aigc
大C聊AI13 小时前
通用办公 AI 难以适配招投标专业场景,垂直行业 AI 工具落地实践|智标领航技术选型分析
人工智能·效率提升·ai 工具·招投标·智标领航·ai 辅助办公