2021-08-20Fashion_mnist服饰预测

本文介绍了使用Keras进行Fashion MNIST数据集的加载、预处理,包括图像展示、特征缩放和类别编码。随后构建了一个多层感知器模型,详细解释了模型训练过程,并展示了预测结果的准确率。关键步骤包括数据可视化和模型评估。
摘要由CSDN通过智能技术生成
#数据加载
from keras.datasets import fashion_mnist
import numpy as np
(X_train,y_train),(X_test,y_test) = fashion_mnist.load_data()
print(type(X_train),X_train.shape)
#样本可视化
img1 = X_train[0]
#引入画图包
from matplotlib import pyplot as plt
fig1 = plt.figure(figsize=(3,3))
plt.imshow(img1)
plt.title('raw img 1')
#输入数据的预处理
feature_size = img1.shape[0]*img1.shape[1]
print(feature_size)
X_train_format = X_train.reshape(X_train.shape[0],feature_size)
X_test_format = X_test.reshape(X_test.shape[0],feature_size)
print(X_train_format.shape,X_train.shape)
#数据归一化
X_train_normal=X_train_format/255
X_test_normal=X_test_format/255
print(X_train_normal[0])
#输出结果的数据预处理
from keras.utils import to_categorical
y_train_format = to_categorical(y_train)
y_test_format = to_categorical(y_test)
print(y_train[0])
print(y_train_format[0])
#建立mlp模型
from keras.models import Sequential
from keras.layers import Dense, Activation

mlp = Sequential()
mlp.add(Dense(units = 392, input_dim = 784, activation='relu'))
mlp.add(Dense(units = 196, activation='relu'))
mlp.add(Dense(units=10, activation='softmax'))
mlp.summary()
#参数配置
mlp.compile(optimizer='adam',loss='categorical_crossentropy',metrics=['categorical_accuracy'])
#模型训练
mlp.fit(X_train_normal, y_train_format, epochs=10)
y_train_predict=mlp.predict_classes(X_train_normal)
print(y_train_predict[0:10])
#准确率
y_test_predict=mlp.predict_classes(X_test_normal)
accuracy_test=accuracy_score(y_test,y_test_predict)
print(accuracy_test)
from sklearn.metrics import accuracy_score
accuracy_train=accuracy_score(y_train,y_train_predict)
print(accuracy_train)
#创建结果标签
label_dict={0:'T shirt',1:'裤子',2:'套头衫',3:'裙子',4:'外套',5:'凉鞋',6:'衬衫',7:'运动鞋',8:'包',9:'踝靴'}
print(label_dict)
#样本可视化
img2=X_train[100]
fig2=plt.figure(figsize=(3,3))
plt.imshow(img2)
label_dict[y_train_predict[100]]
a = [i for i in range(1,10)]
print(a)
fig4=plt.figure(figsize=(5,5))
font2={'family':'SimHei'}
for i in a:
    plt.subplot(3,3,i)
    plt.imshow(X_test[i])
    plt.title('predict:{}'.format(label_dict[y_test_predict[i]]),font2)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在TensorFlow 1.4版本中,fashion_mnist数据集还没有被包含在TensorFlow的内置数据集中,因此需要手动导入。可以通过以下步骤导入fashion_mnist数据集: 1. 首先,从Github上下载fashion_mnist数据集的压缩文件,链接为:https://github.com/zalandoresearch/fashion-mnist/tree/master/data/fashion。 2. 将下载的压缩文件解压缩,得到四个文件:train-images-idx3-ubyte、train-labels-idx1-ubyte、t10k-images-idx3-ubyte、t10k-labels-idx1-ubyte。 3. 在TensorFlow中,我们可以使用`input_data`模块中的`read_data_sets`函数来导入数据集。因此,我们需要先导入`input_data`模块: ```python from tensorflow.examples.tutorials.mnist import input_data ``` 4. 然后,我们可以使用`read_data_sets`函数导入fashion_mnist数据集,具体代码如下: ```python fashion_mnist = input_data.read_data_sets('path/to/fashion_mnist_data', one_hot=True) ``` 其中,`path/to/fashion_mnist_data`是fashion_mnist数据集的路径,one_hot=True表示将标签进行one-hot编码。 5. 最后,我们可以使用`fashion_mnist.train.images`和`fashion_mnist.train.labels`访问训练集的图像和标签,使用`fashion_mnist.test.images`和`fashion_mnist.test.labels`访问测试集的图像和标签。 完整的导入代码如下: ```python from tensorflow.examples.tutorials.mnist import input_data fashion_mnist = input_data.read_data_sets('path/to/fashion_mnist_data', one_hot=True) train_images = fashion_mnist.train.images train_labels = fashion_mnist.train.labels test_images = fashion_mnist.test.images test_labels = fashion_mnist.test.labels ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值