![](/img/trans.png)
[英]How can I do a sequence-to-sequence model (RNN / LSTM) with Keras with fixed length data?
[英]Can I input a Byte Tensor to my RNN/LSTM model?
我正在開發一個RNN / LSTM模型,我想在ByteTensor中對序列進行編碼以節省內存,因為我限於非常緊湊的內存。 但是,當我這樣做時,模型將返回以下錯誤:
標量類型為Byte的預期對象,但參數#2'mat2'的標量類型為Float
因此,似乎還有其他需要字節張量的東西,但是我不知道它是什么,因為控制台僅在該行顯示錯誤:
output = model(predictor)
這意味着在model
內部有用於對字節張量進行運算的浮點張量(矩陣乘法,加法等中最有可能的操作數)。 我相信您可以通過執行model.type(torch.uint8)
技術上將其轉換為字節,但是您的方法遲早會失敗-由於整數是離散的,因此無法在反向傳播所需的梯度計算中使用它們。 uint8
值可用於深度學習中,以改善已經經過訓練的網絡中推理的性能和內存占用,但這是一項高級技術。 對於此任務,最好的選擇是常規float32
。 如果您的GPU支持它,那么您也可以使用float16
aka half
,盡管它引入了額外的復雜性,我不建議初學者使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.