尝试加载MNIST数据集,并将其下载到data 文件夹内,随机选取一张图片进行展示,并且展示其对应的label,输出下载在数据集图片数量,并输出单张图片在尺寸信息,在其图片数量范围内,随机选取8张图片进行展示
时间: 2024-09-30 11:12:28 浏览: 26
MNIST手写数字数据集+7000张图片.rar
5星 · 资源好评率100%
首先,为了加载MNIST数据集并下载到"data"文件夹,我们可以使用Python的`tensorflow.keras.datasets`库,这是一个预装的机器学习数据集工具。让我们一步步操作:
1. **安装所需库** (如果尚未安装):
```bash
pip install tensorflow numpy
```
2. **导入所需的库** 和下载数据集:
```python
import os
import tensorflow as tf
from tensorflow.keras.datasets import mnist
if not os.path.exists('data'):
os.makedirs('data')
(train_images, train_labels), (_, _) = mnist.load_data()
train_images = train_images / 255.0 # 归一化到0-1之间
train_images = train_images[:1] # 只取一张图片进行展示,这里我们只取第一张
# 下载到data文件夹
img_path = 'data/mnist_sample.png'
tf.keras.utils.save_img(img_path, train_images[0])
print("已保存的图片路径:", img_path)
label = train_labels[0]
print("图片对应的标签:", label)
```
3. **显示图片尺寸**:
```python
img_shape = train_images.shape
print("图片尺寸:", img_shape)
```
4. **随机选取并展示8张图片**:
```python
num_random_images = 8
random_indices = tf.random.uniform(shape=(num_random_images,), maxval=train_images.shape[0], dtype=tf.int32)
for i in range(num_random_images):
img_index = random_indices[i]
img_path = f'data/rand_image_{i+1}.png'
tf.keras.utils.save_img(img_path, train_images[img_index])
print(f"已保存的随机图片 {i+1} 的路径: {img_path}")
```
注意,这将创建8个单独的图片文件在"data"文件夹下。
阅读全文