玩轉(zhuǎn)fashion-mnist 數(shù)據(jù)集

fashion-mnist 是mnist的升級版阴颖;

數(shù)據(jù)長這樣,7000張不同類別的單色圖片:

pic.png

任務(wù)是給這些圖片分類坊秸,衣服鞋包包歸納整齊谜疤。

數(shù)據(jù)歸類:

from pathlib import Path
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Conv2D,MaxPool2D,AveragePooling2D,Flatten,Dense
import pandas as pd

path = Path.cwd()/"mnist_fashion"
pathes = []

def to_the_end(path):
    if path.is_file():
        pathes.append(path)
    else:
        for i in path.iterdir():
            to_the_end(i)
to_the_end(path)

def show_data(row,col,x_train):
    for index in range(1,row*col+1):
        ax = plt.subplot(row,col,index)
        ax.imshow(x_train[index],"gray")
        plt.axis('off')

X = np.array([plt.imread(str(i)) for i in pathes])
Y = np.array([int(p.parent.name) for p in pathes])

X_train, X_test, y_train, y_test = train_test_split(X,Y)
X_train, X_test = np.expand_dims(X_train,-1),np.expand_dims(X_test,-1)

CNN分類數(shù)據(jù)集:

model = Sequential()
model.add(Conv2D(32,(3,3),input_shape=(28,28,1)))
model.add(MaxPool2D())
model.add(Conv2D(64,(3,3)))
model.add(MaxPool2D())
model.add(Conv2D(128,(3,3)))
model.add(MaxPool2D())
model.add(Flatten())
model.add(Dense(128,activation="relu"))
model.add(Dense(10,activation="softmax"))

model.summary()

model.compile(optimizer="adam",loss="sparse_categorical_crossentropy",metrics=["accuracy"])
history = model.fit(X_train,y_train,batch_size=500,epochs=10,validation_data=[X_test,y_test])
history = pd.DataFrame(history.history)
history.plot()

跑分結(jié)果:

Model: "sequential_33"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
conv2d_83 (Conv2D)           (None, 26, 26, 32)        320       
_________________________________________________________________
max_pooling2d_41 (MaxPooling (None, 13, 13, 32)        0         
_________________________________________________________________
conv2d_84 (Conv2D)           (None, 11, 11, 64)        18496     
_________________________________________________________________
max_pooling2d_42 (MaxPooling (None, 5, 5, 64)          0         
_________________________________________________________________
conv2d_85 (Conv2D)           (None, 3, 3, 128)         73856     
_________________________________________________________________
max_pooling2d_43 (MaxPooling (None, 1, 1, 128)         0         
_________________________________________________________________
flatten_10 (Flatten)         (None, 128)               0         
_________________________________________________________________
dense_11 (Dense)             (None, 128)               16512     
_________________________________________________________________
dense_12 (Dense)             (None, 10)                1290      
=================================================================
Total params: 110,474
Trainable params: 110,474
Non-trainable params: 0
_________________________________________________________________
Train on 52500 samples, validate on 17500 samples
Epoch 1/10
52500/52500 [==============================] - 39s 745us/sample - loss: 0.8906 - accuracy: 0.6817 - val_loss: 0.6245 - val_accuracy: 0.7737
Epoch 2/10
52500/52500 [==============================] - 39s 741us/sample - loss: 0.5823 - accuracy: 0.7905 - val_loss: 0.5329 - val_accuracy: 0.8085
Epoch 3/10
52500/52500 [==============================] - 39s 746us/sample - loss: 0.5072 - accuracy: 0.8181 - val_loss: 0.4819 - val_accuracy: 0.8294
Epoch 4/10
52500/52500 [==============================] - 43s 815us/sample - loss: 0.4567 - accuracy: 0.8355 - val_loss: 0.4415 - val_accuracy: 0.8447
Epoch 5/10
52500/52500 [==============================] - 48s 919us/sample - loss: 0.4260 - accuracy: 0.8475 - val_loss: 0.4359 - val_accuracy: 0.8456
Epoch 6/10
52500/52500 [==============================] - 44s 836us/sample - loss: 0.3940 - accuracy: 0.8569 - val_loss: 0.4029 - val_accuracy: 0.8545
Epoch 7/10
52500/52500 [==============================] - 39s 744us/sample - loss: 0.3785 - accuracy: 0.8630 - val_loss: 0.4127 - val_accuracy: 0.8489
Epoch 8/10
52500/52500 [==============================] - 39s 741us/sample - loss: 0.3580 - accuracy: 0.8705 - val_loss: 0.3710 - val_accuracy: 0.8696
Epoch 9/10
52500/52500 [==============================] - 40s 753us/sample - loss: 0.3443 - accuracy: 0.8749 - val_loss: 0.3732 - val_accuracy: 0.8636
Epoch 10/10
52500/52500 [==============================] - 39s 745us/sample - loss: 0.3316 - accuracy: 0.8800 - val_loss: 0.3634 - val_accuracy: 0.8716
download.png

驗(yàn)證集正確率達(dá)到了87%,是不是很棒帽撑!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末泼各,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子亏拉,更是在濱河造成了極大的恐慌扣蜻,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,470評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件及塘,死亡現(xiàn)場離奇詭異莽使,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)笙僚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評論 3 392
  • 文/潘曉璐 我一進(jìn)店門芳肌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事亿笤∶枢郑” “怎么了?”我有些...
    開封第一講書人閱讀 162,577評論 0 353
  • 文/不壞的土叔 我叫張陵责嚷,是天一觀的道長鸳兽。 經(jīng)常有香客問我,道長罕拂,這世上最難降的妖魔是什么揍异? 我笑而不...
    開封第一講書人閱讀 58,176評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮爆班,結(jié)果婚禮上衷掷,老公的妹妹穿的比我還像新娘。我一直安慰自己柿菩,他們只是感情好戚嗅,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著枢舶,像睡著了一般懦胞。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上凉泄,一...
    開封第一講書人閱讀 51,155評論 1 299
  • 那天胀糜,我揣著相機(jī)與錄音右锨,去河邊找鬼哮肚。 笑死,一個胖子當(dāng)著我的面吹牛涣楷,可吹牛的內(nèi)容都是我干的碳褒。 我是一名探鬼主播,決...
    沈念sama閱讀 40,041評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼删顶,長吁一口氣:“原來是場噩夢啊……” “哼猎荠!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,903評論 0 274
  • 序言:老撾萬榮一對情侶失蹤亭病,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體炸客,經(jīng)...
    沈念sama閱讀 45,319評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蝶溶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了傻粘。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片每窖。...
    茶點(diǎn)故事閱讀 39,703評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖弦悉,靈堂內(nèi)的尸體忽然破棺而出窒典,到底是詐尸還是另有隱情,我是刑警寧澤稽莉,帶...
    沈念sama閱讀 35,417評論 5 343
  • 正文 年R本政府宣布瀑志,位于F島的核電站,受9級特大地震影響污秆,放射性物質(zhì)發(fā)生泄漏劈猪。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評論 3 325
  • 文/蒙蒙 一良拼、第九天 我趴在偏房一處隱蔽的房頂上張望战得。 院中可真熱鬧,春花似錦将饺、人聲如沸贡避。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽刮吧。三九已至,卻和暖如春掖蛤,著一層夾襖步出監(jiān)牢的瞬間杀捻,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評論 1 269
  • 我被黑心中介騙來泰國打工蚓庭, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留致讥,地道東北人。 一個月前我還...
    沈念sama閱讀 47,711評論 2 368
  • 正文 我出身青樓器赞,卻偏偏與公主長得像垢袱,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子夹姥,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評論 2 353

推薦閱讀更多精彩內(nèi)容