日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

手写字体识别

發布時間:2024/3/12 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 手写字体识别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.完成手寫字體識別kaggle比賽:https://www.kaggle.com/c/digit-recognizer

2.環境:谷歌云盤(內有GPU運算,速度比我自己電腦快好多倍)

3.手寫字體文件

? ? train.csv文件第一列是圖像標簽,后面784(28*28)列是像素。

? ? test.csv文件是784列像素。

? ? sample_submission.csv是提交的文件

4.谷歌云盤啟動

from google.colab import drive drive.mount('/content/drive/') !ls "/content/drive/My Drive/" import tensorflow as tf tf.test.gpu_device_name() !ls # 切換目錄 import os os.chdir("/content/drive/My Drive/home") !ls

5.預處理圖像

# 預處理數據 import keras import pandas as pd import numpy as np from keras.utils import np_utils dataset = pd.read_csv('train.csv') dataset = np.array(dataset) x = dataset[:,1:] x = x/255 x = x.reshape(-1,28,28,1) y = dataset[:,0] y = np_utils.to_categorical(y) print(x.shape) print(y.shape)

6.構建模型訓練

from keras.layers.convolutional import Conv2D, MaxPooling2D from keras.layers import * from keras.models import Sequential def creat_model():model = Sequential()model.add(Conv2D(32,(5,5), padding='same',input_shape=(28,28,1),activation='relu'))model.add(Conv2D(64,(5,5), padding='same',activation='relu'))model.add(MaxPooling2D((2,2)))model.add(Dropout(0.3))model.add(Flatten())model.add(Dense(64,activation= 'relu'))model.add(Dropout(0.3))model.add(Dense(128,activation= 'relu'))model.add(Dropout(0.3))model.add(Dense(10,activation= 'softmax'))model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy'])return model model = creat_model() print(model.summary()) model.fit(x=x,y=y,epochs=10,batch_size=20)

7.數據預測

dataset2 = pd.read_csv('test.csv') dataset2 = np.array(dataset2) dataset2 = dataset2.reshape(-1,28,28,1) print(dataset2.shape) y = model.predict(dataset2) print(y.shape) y = np.argmax(y,axis=1) test = pd.read_csv('sample_submission.csv') test = np.array(test) for i in range(len(y)):test[i][1] = y[i] test = pd.DataFrame(test,columns=['ImageId', 'Label']) print(test) test.to_csv('sample_submission.csv',index=False)

?

8.比賽成績

準確率98.428%,那個模型訓練多一下次數準確率應該可以去到更好。

9.項目截圖

總結

以上是生活随笔為你收集整理的手写字体识别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。