keras.datasets.fashion_mnist
时间: 2023-05-01 20:03:36 浏览: 168
keras.datasets.fashion_mnist是一个用于训练和测试图像分类模型的数据集,包含10个不同类型的时尚物品的灰度图像,其中每个图像的大小为28x28像素。这个数据集通常用于深度学习和机器学习的教学和实验。
相关问题
使用TensorFlow实现时装分类,数据来源: keras.datasets.fashion_mnist,步骤和部分代码分析: 1.读取数据 2.进行模型编写: 双层:128神经元, 全链接层10个类别输出 Dense(128, activation=tf.nn.relu) 3.选择SGD优化器 4.训练和评估 5.打印模型结构 6.保存模型(model.save_weights): a)保存成ckpt b)保存成h5文件 keras.callbacks import ModelCheckpoint(*),使用pycharm语言进行代码书写
以下是使用TensorFlow实现时装分类的代码和注释:
``` python
import tensorflow as tf
from tensorflow import keras
from keras.callbacks import ModelCheckpoint
# 1. 读取数据
(train_images, train_labels), (test_images, test_labels) = keras.datasets.fashion_mnist.load_data()
# 2. 模型编写
model = keras.Sequential([
keras.layers.Flatten(input_shape=(28, 28)), # 展平层,将输入的28x28的图像展平为一维向量
keras.layers.Dense(128, activation=tf.nn.relu), # 第一层全连接层,128个神经元,激活函数为ReLU
keras.layers.Dense(128, activation=tf.nn.relu), # 第二层全连接层,128个神经元,激活函数为ReLU
keras.layers.Dense(10, activation=tf.nn.softmax) # 输出层,输出10个类别的概率分布
])
# 3. 选择SGD优化器
sgd = keras.optimizers.SGD(lr=0.01)
# 4. 训练和评估
model.compile(optimizer=sgd,
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
# 设置模型保存路径和文件名
checkpoint_path = "model/checkpoint.ckpt"
checkpoint_dir = os.path.dirname(checkpoint_path)
# 定义回调函数,每5个epoch保存一次模型
cp_callback = ModelCheckpoint(checkpoint_path, save_weights_only=True, verbose=1, period=5)
# 开始训练模型
model.fit(train_images, train_labels, epochs=50, validation_data=(test_images, test_labels), callbacks=[cp_callback])
# 5. 打印模型结构
model.summary()
# 6. 保存模型
# 6.a. 保存成ckpt格式
model.save_weights(checkpoint_path.format(epoch=0))
# 6.b. 保存成h5格式
model.save('model/fashion_mnist.h5')
```
keras.datasets.fashion_mnist 其中数据涵盖了10个类别,单间服装的分辨率(28x28像素) 步骤和部分代码分析: 1.读取数据 2.进行模型编写: 双层:128神经元, 全链接层10个类别输出 Dense(128, activation=tf.nn.relu) 3.选择SGD优化器 4.训练和评估 5.打印模型结构 6.保存模型(model.save_weights): a)保存成ckpt b)保存成h5文件 keras.callbacks import ModelCheckpoint(*)
1. 读取数据:
```python
import tensorflow as tf
from tensorflow import keras
# 读取数据
(train_images, train_labels), (test_images, test_labels) = keras.datasets.fashion_mnist.load_data()
```
2. 进行模型编写:
```python
num_classes = 10
model = keras.Sequential([
keras.layers.Flatten(input_shape=(28, 28)), # 将28x28的像素矩阵展开为一维向量
keras.layers.Dense(128, activation=tf.nn.relu),
keras.layers.Dense(num_classes, activation=tf.nn.softmax)
])
```
3. 选择SGD优化器:
```python
sgd = keras.optimizers.SGD(lr=0.01)
model.compile(optimizer=sgd,
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])
```
4. 训练和评估:
```python
model.fit(train_images, train_labels, epochs=10)
test_loss, test_acc = model.evaluate(test_images, test_labels)
print('Test accuracy:', test_acc)
```
5. 打印模型结构:
```python
model.summary()
```
6. 保存模型:
```python
# 保存成ckpt格式
checkpoint_path = "model_checkpoint.ckpt"
checkpoint = ModelCheckpoint(checkpoint_path, save_weights_only=True, verbose=1)
model.fit(train_images, train_labels, epochs=10, callbacks=[checkpoint])
# 保存成h5格式
model.save_weights('model.h5')
```
阅读全文