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

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

將字母序列傳遞給 CNN - Keras

將字母序列傳遞給 CNN - Keras

瀟瀟雨雨 2022-06-22 16:41:14
我有以下格式的數據:150個字母的序列字母只能是 A、B、C、D、E。我總共有 20k 個序列10k 個序列標記為 1,其他 10k 個序列標記為 0我通過執行以下操作將這 150 個字母轉換為 one-hot 向量:from skimage.transform import resizeimport numpy as npdef transform(data): #transform sequence into one hot encoding    def one_hot_encode(seq):        mapping = dict(zip("ABCDE", range(5)))            seq2 = [mapping[i] for i in seq]        return np.eye(5)[seq2]    train = np.zeros((len(data), 150, 5, 1), dtype=np.uint8)    for idx, d in enumerate(data):        seq = one_hot_encode(d)        seq = resize(seq, (150, 5, 1), mode='constant', preserve_range=True)        train[idx] = seq.astype('float32')    return train現在,我只想將這些數據傳遞到由 Keras 構建的簡單 CNN 中。我將模型構建為:model = Sequential()model.add(Conv2D(64,kernel_size=(3,3),activation='relu',input_shape=(150,5,1)))model.add(Conv2D(32, kernel_size=3, activation='relu'))model.add(Flatten())model.add(Dense(1, activation='sigmoid'))model.summary()model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])現在,我正在嘗試通過以下方式進行訓練:history = model.fit(X_train, Y_train, epochs=100, verbose=False, validation_split=0.25, batch_size=10)但這不斷拋出以下錯誤:InternalError:為 CUDA 設備序號 0 初始化 StreamExecutor 失?。簝炔浚簩?cuDevicePrimaryCtxRetain 的調用失?。篊UDA_ERROR_OUT_OF_MEMORY:內存不足;報告的總內存:11721506816我已經訓練了尺寸為 512x512x3 的圖像,其輸入尺寸遠不止于此。那么為什么會導致這個錯誤呢?
查看完整描述

1 回答

?
慕尼黑的夜晚無繁華

TA貢獻1864條經驗 獲得超6個贊

顯然您的視頻卡沒有足夠的內存來處理輸入數據,因此出現錯誤。嘗試將批量大小減少到 4 或 2,然后再次運行相同的模型。



查看完整回答
反對 回復 2022-06-22
  • 1 回答
  • 0 關注
  • 154 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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