Python 板


LINE

想請問一個型如以下的model: input = Input(shape = (None, None, 3)) y = block_1(input) y_1 = block_2(y) y_2 = block_3(y) y_3 = Concatenate()([y_1, y_2]) model = Model(input, y_3) 有沒有辦法不用summary算層數在model build起來後 直接設定y_1 = block_2(y)的trainable為False 其中 block_1,2,3 都不是 Model class 會有這問題是因為當初因為block_1,2,3很複雜就沒逐一設name 原本想要硬算層數,但是summary出來發現因為y_2, y_3都有吃到y,所以summary的layer 是平行對稱下來的,但是又有不對稱的地方,算完也不太確定是否正確 不知道是否有一勞永逸的方法? 雖然把block改寫成 Model class是一解,但是原本的架構已經train完了 嘗試改寫成 Model class就load不進去原本train好的weights.... 因為 Model class會被當成一整大層的layer,整體變一層 就對不上了QQ 感謝幫忙~第一個解決的500p致謝 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.68.160.241
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1542660755.A.94C.html ※ 編輯: znmkhxrw (219.68.160.241), 11/20/2018 04:53:09
1F:→ jackwang01: 嗯...block2多加一個參數控制trainable? 11/21 01:32
這個我試過了,好像有BUG,應該說是keras自己的設定 當初我train時全部的layer都是True 而晚上我就故意建一個一模一樣的model,只是block_2裡面layer都給trainable = False 之後再load_weights應該就可以了 結果是失敗的! 整個超不合理的,等於是說我用全部trainable = True的model下去train, 之後建回來一樣的model時連trainable都要設定一樣才能load_weights... 但是明明毫無關係阿 後來上google找,有人有相同的問題:https://goo.gl/1v8rYz 他是model = Res50 + self_layer, train時把Res50的trainable改成False 之後要load回來fine tune時,必須建一個Res50的trainable = False的同model才能load 這個能解掉的話也是一個方法... 或是 #1Rz40vk6 (DataScience) 的問題如果有解也是一種方法 ※ 編輯: znmkhxrw (219.68.160.241), 11/21/2018 01:42:02
2F:推 germun: trainable會影響model取weights的順序 11/21 04:10
3F:→ germun: 加name是最簡單啦...雖然我覺得改寫成model比較省事 11/21 04:19
4F:→ germun: 至育weights的問題你用model.weights檢查一下就知道了 11/21 04:20
5F:→ germun: 順序有變又不想重train的話,就list對照一下順序調整就好.. 11/21 04:21
原來順序會變....所以真的當時train前的default tranability setting是怎樣時 load_weights時所建的model也要跟當初save weights有相同的default tranability?? 不過因為block_2涵蓋超多layer 逐個調weight順序好像有點血尿XDDD 學了一課 THX~
6F:→ germun: 因為不論存取weights都是照list的順序去擺的, 另外我記得 11/21 14:28
7F:→ germun: 即使你塞的是model也不影響你weights取出來的list, 應該是 11/21 14:29
8F:→ germun: tainable改順序的關係讓你誤以為是model的問題 11/21 14:29
9F:→ germun: 而順序會變是因為keras在取weights時會把能train跟不能 11/21 14:30
10F:→ germun: train的weights分開取出來再concat起來 11/21 14:30
所以,假設一個model有3個layer: (1)trainable 分別為 T F T (2)trainable 分別為 T T T 這兩個在save_weights時,存的順序順序是不一樣的 如果是在(1)的情況下存 之後要load_weights時,即便建同樣的model,trainable 一定也要先給 T F T 後 才能load成功? ※ 編輯: znmkhxrw (220.128.169.29), 11/21/2018 14:39:27







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP