[問題] keras model.trainable一問(solved)

看板DataScience作者 (QQ)時間6年前 (2018/06/11 01:37), 6年前編輯推噓2(201)
留言3則, 2人參與, 6年前最新討論串1/1
問題類別: ML 使用工具: python,keras 問題內容: 想以以下例子問trainable的影響範圍 def generator(): input = Input(shape=(100,)) y = Dense(300,activation = "relu")(input) y = Dense(500,activation = "relu")(y) y = Dense(784,activation = "relu")(y) return Model(input,y) 【Case I】 gen_model = generator() gen_model.trainable=False model = Model(gen_model.input, gen_model(gen_model.input)) model.summary() 【Case II】 gen_model = generator() gen_model.trainable=False model = Model(gen_model.input, gen_model.output) model.summary() 結果: Case I的model會被gen_model的trainable=False影響到 但是 Case II的model並不會 起初我是先知道Case II,然後覺得很合理 把 model = Model(gen_model.input, gen_model.output) 解釋成: 只會使用gen_model的架構,trainable與否的設定不會繼承 但是突然發現Case I後就發現這套說法無法解釋了... 雖然我知道正解是:module本身就是這樣設計 背起來(? 但是有沒有理解性的說法可以給我參考 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.68.160.241 ※ 文章網址: https://www.ptt.cc/bbs/DataScience/M.1528652257.A.334.html

06/11 02:17, 6年前 , 1F
06/11 02:17, 1F

06/11 02:21, 6年前 , 2F
我的keras版本是2.1.6
06/11 02:21, 2F
我來公司用keras 2.1.6跑沒錯耶,附上code: from keras.models import Model from keras.layers import Input, Dense def generator(): input = Input(shape=(100,)) y = Dense(300,activation = "relu")(input) y = Dense(500,activation = "relu")(y) y = Dense(784,activation = "relu")(y) return Model(input,y) gen_model = generator() gen_model.trainable=False model = Model(gen_model.input, gen_model(gen_model.input)) model.summary() gen_model = generator() gen_model.trainable=False model = Model(gen_model.input, gen_model.output) model.summary() ※ 編輯: znmkhxrw (210.242.52.37), 06/11/2018 10:16:03

06/11 11:34, 6年前 , 3F
已有答案 謝謝
06/11 11:34, 3F
文章代碼(AID): #1R7M7XCq (DataScience)
文章代碼(AID): #1R7M7XCq (DataScience)