第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

圖層權(quán)重形狀 (1, 1) 與為 keras 模型提供的權(quán)重形狀 (1,) 不兼容

圖層權(quán)重形狀 (1, 1) 與為 keras 模型提供的權(quán)重形狀 (1,) 不兼容

呼如林 2023-03-22 16:54:17
我使用 Keras 訓(xùn)練了一個(gè)模型,但忘記保存模型。該模型是開發(fā)了許多其他模型的項(xiàng)目的一部分,但現(xiàn)在我無法繼續(xù)該項(xiàng)目。幸運(yùn)的是,我保存了初始和最終訓(xùn)練重量?,F(xiàn)在,我正在嘗試創(chuàng)建一個(gè)具有相同最終權(quán)重的模型來獲得預(yù)測。我正在編譯 keras 模型并使用函數(shù) model.set_weights 將丟失模型的最終訓(xùn)練權(quán)重設(shè)置為新模型。這是代碼。model = Sequential()model.add(Dense(1,input_dim = 1, activation = 'relu'))model.add(Dense(1, activation = 'relu'))model.compile(loss = 'mean_squared_error', optimizer = 'Adam', metrics = ['mse'])listOfNumpyArrays = [np.array([0.2]),np.array([0.2])]listOfNumpyArrays1 = listOfNumpyArraysmodel.layers[0].set_weights(listOfNumpyArrays)model.layers[1].set_weights(listOfNumpyArrays1)追溯ValueError                                Traceback (most recent call last)<ipython-input-31-e63437554e30> in <module>()----> 1 model.layers[0].set_weights(listOfNumpyArrays)      2 model.layers[1].set_weights(listOfNumpyArrays1)1 frames/usr/local/lib/python3.6/dist-packages/keras/engine/base_layer.py in set_weights(self, weights)   1124                                  str(pv.shape) +   1125                                  ' not compatible with '-> 1126                                  'provided weight shape ' + str(w.shape))   1127             weight_value_tuples.append((p, w))   1128         K.batch_set_value(weight_value_tuples)ValueError: Layer weight shape (1, 1) not compatible with provided weight shape (1,)
查看完整描述

1 回答

?
慕的地6264312

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊

您使用創(chuàng)建的 numpy 數(shù)組np.array([0.2])有一個(gè)形狀(1,),而您的權(quán)重?cái)?shù)組有一個(gè)形狀(1,1)。雖然它們存儲相同數(shù)量的數(shù)據(jù),但 numpy 將它們視為不同的形狀。您可以通過執(zhí)行以下操作來解決此問題:


代替:


listOfNumpyArrays = [np.array([0.2]),np.array([0.2])]

使用:


listOfNumpyArrays = [np.empty(shape = (1,1), dtype = np.float32), np.empty(shape = (1,1), dtype = np.float32)]

listOfNumpyArrays[0][0] = 0.2

listOfNumpyArrays[1][0] = 0.2

無關(guān)的說明:


在這一行中:


listOfNumpyArrays1 = listOfNumpyArrays

看起來您想創(chuàng)建兩個(gè)不同的 numpy 數(shù)組列表,它們被初始化為相同的值。listOfNumpyArrays1但是,實(shí)際上將引用與 相同的列表listOfNumpyArrays。因此,當(dāng)您執(zhí)行set_weightson時(shí)listOfNumpyArrays1,它也會修改listOfNumpyArrays。要在創(chuàng)建兩個(gè)不同的列表時(shí)將它們初始化為相同的值,可以使用以下代碼:


listOfNumpyArrays1 = [np.copy(listOfNumpyArrays[0]), np.copy(listOfNumpyArrays[1])]

np.copy創(chuàng)建一個(gè)新數(shù)組,它是您傳遞的數(shù)組的副本。這可以使用列表理解以更 pythonic 的方式編寫,如下所示:


listOfNumpyArrays1 = [np.copy(x) for x in listOfNumpyArrays]


查看完整回答
反對 回復(fù) 2023-03-22
  • 1 回答
  • 0 關(guān)注
  • 101 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號