keras 的 example 文件 mnist_transfer_cnn.py 解析
生活随笔
收集整理的這篇文章主要介紹了
keras 的 example 文件 mnist_transfer_cnn.py 解析
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本代碼介紹了遷移學習,也就是在一個數據集上訓練完成后,在另一個數據集上,部分網絡層配置為不可訓練,僅對部分網絡進行訓練
本代碼的神經網絡結構為:
______________________________________________________________________
Layer (type) Output Shape Param #
======================================================================
conv2d_1 (Conv2D) (None, 26, 26, 32) 320
______________________________________________________________________
activation_1 (Activation) (None, 26, 26, 32) 0
______________________________________________________________________
conv2d_2 (Conv2D) (None, 24, 24, 32) 9248
______________________________________________________________________
activation_2 (Activation) (None, 24, 24, 32) 0
______________________________________________________________________
max_pooling2d_1 (MaxPooling2D) (None, 12, 12, 32) 0
______________________________________________________________________
dropout_1 (Dropout) (None, 12, 12, 32) 0
______________________________________________________________________
flatten_1 (Flatten) (None, 4608) 0
______________________________________________________________________
dense_1 (Dense) (None, 128) 589952
______________________________________________________________________
activation_3 (Activation) (None, 128) 0
______________________________________________________________________
dropout_2 (Dropout) (None, 128) 0
______________________________________________________________________
dense_2 (Dense) (None, 5) 645
______________________________________________________________________
activation_4 (Activation) (None, 5) 0
======================================================================
Total params: 600,165
Trainable params: 600,165
Non-trainable params: 0
______________________________________________________________________
?
代碼是先訓練mnist中的 0~4 的數據集,對其進行識別,訓練出一個常規的卷積神經網絡的分類,
然后將該神經網絡中的卷積層的可訓練屬性配置為FALSE,也就是不可訓練,然后采用 5~9 的數據集進行訓練,也就是只訓練全連接層,然后發現效果不錯,訓練速度可以大大提升
比如在我電腦上,6G顯存,在訓練 0~4 的數據集時,大致訓練了 11 秒,而在訓練 5~9 時,雖然數據集大小一樣,訓練次數一致,但僅用了大概 5 秒的時間,而且識別率可以達到 99% 左右
總結
以上是生活随笔為你收集整理的keras 的 example 文件 mnist_transfer_cnn.py 解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: keras 的 example 文件 m
- 下一篇: keras 的 example 文件 r