import numpy as np import matplotlib.pyplot as plt from mnist import MNIST import random mndata=MNIST('./mnist_dataset/idx/ubyte') images_train,labels_train=mndata.load_training() images_test,labels_test=mndata.load_testing() index=random.randrange(0,60000) print('='*30) print('图像展平后的长度:',len(images_train[index])) print("图像展平后的数据:",images_train[index]) print('='*30) print(mndata.display(images_train[index]))# 打印出28*28的矩阵 plt.imshow(np.array(images_train[index]).reshape(28,28)) plt.show() plt.imshow(np.array(images_train[index]).reshape(28,28),cmap=plt.cm.binary) plt.show() print('='*30) print('图像对应度数值:',labels_train[index]) print('='*30)任务1:使用 MNIST('./mnist_dataset/idx/ubyte') 的方法(方法2)装载数据集
时间: 2024-03-05 07:48:59 浏览: 72
python 3.74 运行import numpy as np 报错lib\site-packages\numpy\__init__.py
好的,这是一个关于MNIST数据集的问题。你想要使用方法2来装载数据集,然后展示一个随机选择的图像,以及它的展平后的数据和对应的标签。我可以帮你解决这个问题。
以下是代码实现:
```python
import numpy as np
import matplotlib.pyplot as plt
from mnist import MNIST
import random
mndata=MNIST('./mnist_dataset/idx/ubyte')
images_train, labels_train = mndata.load_training()
images_test, labels_test = mndata.load_testing()
index = random.randrange(0, 60000)
print('='*30)
print('图像展平后的长度:', len(images_train[index]))
print("图像展平后的数据:", images_train[index])
print('='*30)
# 打印出28*28的矩阵
print(mndata.display(images_train[index]))
plt.imshow(np.array(images_train[index]).reshape(28,28))
plt.show()
plt.imshow(np.array(images_train[index]).reshape(28,28), cmap=plt.cm.binary)
plt.show()
print('='*30)
print('图像对应度数值:', labels_train[index])
print('='*30)
```
请注意,你需要安装`mnist`包,可以使用以下命令进行安装:
```python
pip install python-mnist
```
阅读全文