帶你入門機器學習 卷積神經網路識別手寫數字

2021-09-11 09:42:50 字數 1722 閱讀 3497

未來的程式設計師分為兩種, 會機器學習和不會的

原博位址laboo.top/2018/11/21/…

digit-recognizer

github-laziji.github.io/digit-recog… 演示開始時需要載入大概100m的訓練資料, 稍等片刻

調整訓練集的大小, 觀察測試結果的準確性

資料**與 www.kaggle.com 中的一道題目digit-recognizer題目給出42000條訓練資料(包含和標籤)以及28000條測試資料(只包含) 要求給這些測試資料打上標籤[0,1,2,3....,9] 要盡可能的準確

**中還有許多其他的機器學習的題目以及資料, 是個很好的練手的地方

這裡我們使用tensorflow.js來實現這個專案

卷積神經網路的第一層有兩種作用, 它既是輸入層也是執行層, 接收image_h * image_w大小的黑白畫素 最後一層是輸出層, 有10個輸出單元, 代表著0-9這十個值的概率分布, 例如 label=2 , 輸出為[0.02,0.01,0.9,...,0.01]

function

createconvmodel() ));

model.add(tf.layers.maxpooling2d());

model.add(tf.layers.conv2d());

model.add(tf.layers.maxpooling2d());

model.add(tf.layers.conv2d());

model.add(tf.layers.flatten({}));

model.add(tf.layers.dense());

model.add(tf.layers.dense());

return model;

}複製**

我們選擇適當的優化器和損失函式, 來編譯模型

async

function

train() );

const traindata = data.gettraindata(ui.gettrainnum());

ui.trainlog('training model...');

await model.fit(traindata.xs, traindata.labels, {});

ui.trainlog('completed!');

ui.traincompleted();

}複製**

這裡測試一組測試資料, 返回對應的標籤, 即十個輸出單元中概率最高的下標

function

testone(xs)

ui.viewlog('testing...');

let output = model.predict(xs);

ui.viewlog('completed!');

output.print();

const axis = 1;

const predictions = output.argmax(axis).datasync();

return predictions[0];

}複製**

機器學習筆記22 神經網路 卷積神經網路

參考資料 面向機器智慧型的tensorflow實踐 keras example mnist cnn.py keras中文文件 常用層卷積層 卷積理解就是之前影象處理裡用作檢測邊緣 檢測角點的運算元,例如 輸入 12 34 begin 1 2 3 4 end 13 24 核 2 begin 2 end...

Keras深度學習 卷積神經網路 手寫數字識別

引言 最近在閉關學習中,由於多久沒有寫部落格了,今天給大家帶來學習的一些內容,還在學習神經網路的同學,跑一跑下面的 給你一些自信吧!nice 奧里給!正文 首先該impor的庫就不多說了,不會的就pip install something that you got it 備註 mnist.npz資源...

機器學習之卷積神經網路(一)

計算機視覺 computer vision 深度學習與計算機視覺可以幫助汽車,查明周圍的行人和汽車,並幫助汽車避開它們。還使得人臉識別技術變得更加效率和精準,我們可以體驗到通過刷臉就能解鎖手機或者門鎖的便捷。當你解鎖了手機,手機上一定有很多分享的應用。在上面,可以看到美食,酒店或美麗風景的。有些公司...