亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有沒有辦法將自定義的 keras 模型放入 python 類方法中?

有沒有辦法將自定義的 keras 模型放入 python 類方法中?

aluckdog 2022-05-24 10:47:35
我正在嘗試使用類方法在 python 中構建一個深度神經網絡。((其背后的主要思想是稍后嘗試自定義損失函數))我試圖在定義神經網絡結構的函數中使用 Keras,但它似乎不起作用。# create a class toclass PGNN(keras.Sequential):    def __init__(self,x,y):        super().__init__()        X = np.concatenate([x,y], axis=1)        self.X = X        self.x = X[:,0:1]        self.y = X[:,1:2]    def build_model_u(self):        model_u = models.Sequential        model_u.add(layers.Dense(64, activation='tanh', input_shape= 1000))        model_u.add(layers.Dense(32, activation='tanh'))        model_u.add(layers.Dense(16, activation='tanh'))        model_u.add(layers.Dense(8, activation='tanh'))        model_u.add(layers.Dense(4, activation='tanh'))        model_u.add(layers.Dense(1))        model_u.compile(optimizer='Adam', loss='mse', metrics=['mae'])    def train(self, x_train, y_train):        model = build_model_u(self)        model.fit()    def predict(self, x_test):        model.predict(x_test)    def validation(self, x_test, y_test):        model.evaluate(x_test,y_test, verbose=2)我希望模型在我調用 model.fit(x_train,y_train) 時開始訓練,但我總是收到錯誤“未定義 build_model_u”model = build_model_u(self)NameError:名稱“build_model_u”未定義
查看完整描述

2 回答

?
瀟瀟雨雨

TA貢獻1833條經驗 獲得超4個贊

您必須調用類似的方法


model = build_model_u

model.fit(x_train,y_train)

像這樣調用函數


model = build_model_u()

model.fit(x_train,y_train)

你也可以刪除輸出變量


output= model_u.add(layers.Dense(3))

并保持這種方式


model_u.add(layers.Dense(3))


查看完整回答
反對 回復 2022-05-24
?
守著一只汪

TA貢獻1872條經驗 獲得超4個贊

是的,有辦法。您必須使用 keras.Model 和 overtire 調用方法擴展您的自定義模型類,然后您可以從您自己的自定義類調用 fit 方法。您可以遵循以下 Keras 文檔。 https://keras.io/models/about-keras-models/#model-subclassing


查看完整回答
反對 回復 2022-05-24
  • 2 回答
  • 0 關注
  • 133 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號