Monday, March 22, 2021

Colab(八。一):Keras - LeNet

 Colab(八。一):LeNet - Keras

2021/03/09

-----

說明:

在 Colab 上,執行 LeNet 的 Keras 版本。

-----


https://pixabay.com/zh/photos/spider-webs-hoarfrost-frozen-cold-4675638/

-----

步驟:

共有六個步驟。


步驟一、啟動 Colab,打開一個新的筆記本 [1]。

步驟二、根據 [2] 的指示,到 Kaggle 下載(可用 Google 帳號登入)訓練集以及測試集的 zip 檔(train.csv 與 test.csv),解壓縮後,將 train.csv 與 test.csv 兩個 csv 檔放到 Google Drive 網路硬碟的根目錄。

步驟三、將 [2] 的 lenet_5.py 的內容搬到 Colab 的筆記本上。有三個地方需要修改。1. 要 mount Google Drive [3]。2. 要修改檔案路徑 [3]。3. 要修改 Pandas 的指令。


1. 新增下列指令

from google.colab import drive

drive.mount('/content/drive/')

# 點入系統提供的連結之後,登入自己的帳戶,會得到一組授權碼,將授權碼輸入後,即可存取自己的 Google Drive。

!ls '/content/drive/My Drive/' 


2. 原程式的 10 跟 11 行(列)

train = pd.read_csv('train.csv')

test = pd.read_csv('test.csv')

改為

train = pd.read_csv('/content/drive/My Drive/train.csv')

test = pd.read_csv('/content/drive/My Drive/test.csv')


3. 原程式的 19 行(列)

sample = sample.reshape([28,28])

改為

sample = sample.values.reshape([28,28])


步驟四、修改完畢後,執行(程式區左上角的三角形)即可看到 LeNet 訓練與執行的結果。

-----


# 實作結果。

-----

步驟五、Runtine、Change runtime type、Hardware accelerator、GPU。選擇 GPU 加速,再看一次結果。

-----

六、超參數調整


epochs = 42


act = 'relu'

act = 'sigmoid'

opt = 'adam'

opt = 'sgd'


1. relu + adam

2. relu + sgd

3. sigmoid + adam

4. sigmoid + sgd


四個組合在 epoch 10 與 epoch 42 的正確率。

1. 收斂極快,極高。0.96。0.99。

2. 收斂較快,較低。0.64。0.93。

3. 收斂較慢,較高。0.61。0.95。

4. 無法收斂。0.10。0.11。

-----

References

[1] 歡迎使用 Colaboratory - Colaboratory

https://colab.research.google.com/


[2] GitHub - TaavishThaman/LeNet-5-with-Keras: Implementation of LeNet-5 with keras

https://github.com/TaavishThaman/LeNet-5-with-Keras


[3] 玩具烏托邦: 貴哥的 colab 初學筆記

https://newtoypia.blogspot.com/2019/07/colab.html


[4] pandas.Series.reshape — pandas 0.19.0 documentation

https://pandas.pydata.org/pandas-docs/version/0.19.0/generated/pandas.Series.reshape.html


-----


# 使用 TPU 的 Keras LeNet

[5] Keras Fashion MNIST - Colaboratory

https://colab.research.google.com/github/tensorflow/tpu/blob/master/tools/colab/fashion_mnist.ipynb


LeNet-5 CNN with Keras - 99.48% | Kaggle

https://www.kaggle.com/curiousprogrammer/lenet-5-cnn-with-keras-99-48


-----

從 Colab 到 Kaggle(目錄)

https://hemingwang.blogspot.com/2021/03/colab_12.html

-----

No comments: