我试图显示CIFAR-10数据集的图像部分,但由于某种原因,plt
显示了一个轴图像,而不是我想看到的实际图像。
from os import lseek
from cs231n.data_utils import load_CIFAR10
import matplotlib.pyplot as plt
Xtr, Ytr, Xte, Yte = load_CIFAR10('cs231n/datasets/cifar-10-batches-py')
# print(Xtr[0].shape) Shape is (32, 32, 3) RGB image.
plt.imshow(Xtr[0])
在文档中它说(M, N, 3)
的形状对于RGB图像是可以的,所以我不知道为什么它不显示它。有什么想法吗?
1条答案
按热度按时间jvlzgdj91#
正如注解中所讨论的,这个问题是由于
Xtr[0]
变量中值的数据类型引起的。(M,N,3)数组,即Xtr[0]
,imshow
函数要求该数组要么是包含0到1之间的值的浮点数组,要么是包含0到255之间的值的整数数组。在这种情况下,Xtr[0]
是一个浮点数组,其值在0到255之间,imshow
不喜欢这样。最简单的解决方案是将此数组作为整数传递给imshow
,例如,