日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2024/9/19 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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如何冻结网络层的全部內容,希望文章能夠幫你解決所遇到的問題。

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