日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

keras冻结_[开发技巧]·keras如何冻结网络层

發布時間:2024/9/19 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 keras冻结_[开发技巧]·keras如何冻结网络层 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

[開發技巧]·keras如何凍結網絡層

在使用keras進行進行finetune有時需要凍結一些網絡層加速訓練

keras中提供凍結單個層的方法:layer.trainable = False

這個應該如何使用?下面給大家一些例子

1.凍結model所有網絡層

base_model = DenseNet121(include_top=False, weights="imagenet",input_shape=(224, 224, 3))

for layer in base_model.layers:

layer.trainable = False

2.凍結model某些網絡層

在keras中除了從model.layers取得layer,我們還可以通過model.get_layer(layer_name)獲取。

base_model = VGG19(weights='imagenet')

base_model.get_layer('block4_pool').trainable = False

你可能會疑問,我不知道layer_name該怎么辦呢?答案是通過model.summary()輸出一下,

如下所示,最左面一列就是layer_name(注意是括號外面的>

__________________________________________________________________________________________________

Layer (type) Output Shape Param # Connected to

==================================================================================================

input_1 (InputLayer) (None, 224, 224, 3) 0

__________________________________________________________________________________________________

NASNet (Model) (None, 7, 7, 1056) 4269716 input_1[0][0]

__________________________________________________________________________________________________

resnet50 (Model) (None, 7, 7, 2048) 23587712 input_1[0][0]

__________________________________________________________________________________________________

densenet121 (Model) (None, 7, 7, 1024) 7037504 input_1[0][0]

__________________________________________________________________________________________________

global_average_pooling2d_1 (Glo (None, 1056) 0 NASNet[1][0]

__________________________________________________________________________________________________

global_average_pooling2d_2 (Glo (None, 2048) 0 resnet50[1][0]

__________________________________________________________________________________________________

global_average_pooling2d_3 (Glo (None, 1024) 0 densenet121[1][0]

__________________________________________________________________________________________________

concatenate_5 (Concatenate) (None, 4128) 0 global_average_pooling2d_1[0][0]

global_average_pooling2d_2[0][0]

global_average_pooling2d_3[0][0]

__________________________________________________________________________________________________

dropout_1 (Dropout) (None, 4128) 0 concatenate_5[0][0]

__________________________________________________________________________________________________

classifier (Dense) (None, 200) 825800 dropout_1[0][0]

==================================================================================================

Total params: 35,720,732

Trainable params: 825,800

Non-trainable params: 34,894,932

__________________________________________________________________________________________________

None

hope this helps

本文同步分享在 博客“小宋是呢”(CSDN)。

如有侵權,請聯系 support@oschina.cn 刪除。

本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

總結

以上是生活随笔為你收集整理的keras冻结_[开发技巧]·keras如何冻结网络层的全部內容,希望文章能夠幫你解決所遇到的問題。

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