2020年8月18日火曜日

C言語の標準ライブラリだけでMNISTをつくる

前回、TensorFlowのC++APIでMNISTを作ったときに気づいたのですが、MNISTってほとんどがPythonで書かれていて、C言語で書かれたもはほとんどみあたりません。

MNISTって簡単だからC言語の標準ライブラリ関数だけでかけるんじゃない?

おじさん、世の中にないものは作りたくなってしまう・・・。


大学生とかが課題ででそうだけどなぁ。

数時間でできそうなので、C言語で書かれたシンプルなMNISTを作ってみました。


コードはこちら。

https://github.com/yomei-o/Tiny-MNIST


---------------------------

[train 100] 0.610000

[train 200] 0.720000

[train 300] 0.810000

[train 400] 0.860000

[train 500] 0.900000

[train 600] 0.890000

[train 700] 0.830000

[train 800] 0.900000

[train 900] 0.880000

[train 1000] 0.930000

[train 1100] 0.920000

[train 1200] 0.920000

[train 1300] 0.890000

[train 1400] 0.910000

[train 1500] 0.840000

[train 1600] 0.860000

[train 1700] 0.930000

[train 1800] 0.930000

[train 1900] 0.870000

[train 2000] 0.960000

--------------------------------------------------------

--------------------------------------------------------

--------------------------------------------------------

--------------------------------------------------------

--------------------------------------------------------

--------------------------------------------------------

--------------------------------------11111111----------

----------------------------------111111111111----------

--------------------------1111111111111111--------------

----------------111111111111111111111111----------------

--------------111111111111111111111111------------------

--------------111111111111----11111111------------------

----------------------------11111111--------------------

----------------------------11111111--------------------

--------------------------11111111----------------------

--------------------------111111------------------------

------------------------111111--11----------------------

----------------11111111111111111111--------------------

----------------11111111111111111111--------------------

------------------1111111111----------------------------

--------------------111111------------------------------

--------------------111111------------------------------

--------------------111111------------------------------

------------------111111--------------------------------

------------------111111--------------------------------

------------------1111----------------------------------

--------------------------------------------------------

--------------------------------------------------------


0: 0.000501

1: 0.160337

2: 0.023977

3: 0.000703

4: 0.005110

5: 0.005704

6: 0.002674

7: 0.715114

8: 0.043781

9: 0.042101

------------------------


なんかできた。

学習がめんどくさいので2000回くらいしかやっていませんが、10000回くらいやればもっと正解率が上がるはず。

C言語でTensorflowとか使わなくてもMNISTって簡単に作れんだね。



0 件のコメント:

コメントを投稿