机器学习(TensorFlow)---Fashion MNIST数据集使用范例(计算机视觉)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习(TensorFlow)---Fashion MNIST数据集使用范例(计算机视觉)相关的知识,希望对你有一定的参考价值。
Fashion MNIST数据集
共70,000张图片
共10个类别
每张图片有28x28像素
完整代码: https://github.com/wangyuhubugui/-Machine_learning/blob/main/Fashion_minist.ipynb
加载数据Fashion Mnist 数据集
输入:
# =========加载fashion_mist数据集===================
from tensorflow import keras
fashion_mist = keras.datasets.fashion_mnist
(train_images, train_labels), (test_images,test_labels) = fashion_mist.load_data()
运行结果就是这样
查看数据及内容
输入:
# 下面 查看一下数据集里面的东西
print(train_images.shape) # 查看图片的维度
# 添加下方代码查看 数据集里面的图片
import matplotlib.pyplot as plt
plt.imshow(train_images[0])
结果如下:
构造模型
代码如下:
# ===========构造神经网络模型========================
model = keras.Sequential([
# 模型构造的很简单, 一共三层, 输入层, 中间层, 输出层
keras.layers.Flatten(input_shape = (28,28)),
keras.layers.Dense(128,activation=tf.nn.relu),
keras.layers.Dense(10,activation=tf.nn.softmax)
])
# 使用 model.summary 来产看模型的样子
model.summary()
训练模型
输入:
# =============训练模型====================
train_images = train_images/255 # 作 normalization 处理, 是图片在 0~1 之间
model.compile(optimizer="adam", loss="sparse_categorical_crossentropy", metrics=[accuracy])
model.fit(train_images,train_labels,epochs=5)
model.evaluate(test_images,test_labels)
# 因为此处的标签为整数, 所以可以用 sparse_categorical_crossentropy
# 如果 形如[0,0,0,0,1] , 也就是one hot 类型的, 就用 category_crossentropy
# 使用 normalization 或者叫作 scaliing 来让 图片的维度 在 0 ~ 1 之间, 训练的效果会更好
效果:
训练单图片
如果不想要训练真个数据集, 而是想要训练单张图片,可以用 model.predict
例如:
# ==============训练单张图片===================
import numpy as np
# 下面就会出现 , 图片对应元组的最大值, 机器以后会通过这些值来进行判断
print(model.predict(np.expand_dims(test_images[0]/255, axis=0)))
评估模型
# =============评估模型=========================
test_images = test_images/255 # 用 test_image 来评估模型, 因为 train_images 用了 255 , 所以此处也用255
model.evaluate(test_images,test_labels)
自动终止训练(防止过拟合)
class myCallback(tf.keras.callbacks.Callback):
def on_epoch_end(self,epoch,logs=):
if(logs.get(loss)<0.4): # 获取loss的值 , 当loss < 0.4 的时候
print("\\n Loss is low to scancelling training") # 打印
self.model.stop_training = True # 模型终止训练
callbacks = myCallback()
# 下面就是正常的 定义, 构造,训练, 评估模型的代码
# 在 使用model.fit 的时候, 使用参数, callback=[callbacks]
结果:
完整代码
上方内容是为了解读, 完整代码已放到github 上啦(持续更新, 欢迎星标)
https://github.com/wangyuhubugui/-Machine_learning/blob/main/Fashion_minist.ipynb
以上就是 学习的整个过程啦!!!
以上是关于机器学习(TensorFlow)---Fashion MNIST数据集使用范例(计算机视觉)的主要内容,如果未能解决你的问题,请参考以下文章
TensorFlow机器学习:如何正确的掌握Google深度学习框架TensorFlow(第二代分布式机器学习系统)?
基于Docker的TensorFlow机器学习框架搭建和实例源码解读
机器学习-Tensorflow之Tensor和Dataset学习
机器学习TensorFlow/PyTorch/Sklearn实现的五十种机器学习模型