亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Pytorch運行過程中解決出現(xiàn)內(nèi)存不足的問題

 更新時間:2024年02月26日 09:38:36   作者:Threetiff  
內(nèi)存不足是很多人感到頭疼的問題,本文主要介紹了Pytorch運行過程中解決出現(xiàn)內(nèi)存不足的問題,具有一定的參考價值,感興趣的可以了解一下

1. 前提

利用Transformer模型進行O3濃度的反演

2. 問題

2.1 速度慢

一開始模型是在CPU上面跑的,為了加快速度,我改成了在GPU上跑

方法如下:

1、驗證pytorch是否存在GPU版本
在Pycharm命令行輸入

import torch

print(torch.cuda.is_available)
# 若輸出為True,則存在GPU版本
# 若輸出為False,則不存在GPU版本

我的輸出為True,說明pytorch是存在GPU版本的

2、將模型從CPU版本轉(zhuǎn)換到GPU版本

  • 聲明使用GPU(指定具體的卡)
    PS:torch.device()是裝torch.Tensor的一個空間。
device=torch.device('cuda' if torch.cuda.is_available() else 'cpu')
# 'cuda' 這里如果沒有指定具體的卡號,系統(tǒng)默認cuda:0
device = torch.device('cuda:2') 		# 使用2號卡
  • 將模型(model)加載到GPU上
model = Transformer()	#例子中,采用Transformer模型
model.to(device)
  • 將數(shù)據(jù)和標簽放到GPU上【注意!什么數(shù)據(jù)可以被放入GPU-Tensor類型的數(shù)據(jù)】
# 只有Tensor類型的數(shù)據(jù)可以放入GPU中
# 可以一個個【batch_size】進行轉(zhuǎn)換
inputs = inputs.to(device)
labels = labels.to(device)

如果結(jié)果還是顯示你是在CPU上進行訓練,要不就是模型沒有加進去,要不就是數(shù)據(jù)沒有加進去

2.2 內(nèi)存不足

  • 在使用CPU時,出現(xiàn)了內(nèi)存不足的情況

RuntimeError: [enforce fail at C:\cb\pytorch_1000000000000\work\c10\core\impl\alloc_cpu.cpp:72] data. DefaultCPUAllocator: not enough memory: you tried to allocate 280410627200 bytes.

  • 在使用GPU時,出現(xiàn)了內(nèi)存不足的情況

torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 261.15 GiB (GPU 0; 8.00 GiB total capacity; 487.30 MiB already allocated; 5.71 GiB free; 506.00 MiB reserved in total by PyTorch) If reserved memory is >> allocated memory try sett

我的模型在訓練的時候沒有問題,在進行預測的時候,總是出現(xiàn)內(nèi)存不足(1)一開始我以為是batch_size大小的問題,在從128更改到4后,發(fā)現(xiàn)依舊存在問題,這說明不是batch_size大小的問題。

(2)然后,我猜測是反演過程的問題
我在進行模型反演的過程中,直接將全部數(shù)據(jù)輸入到模型model中(大概有10萬行),為了驗證這個問題,我添加了一個for循環(huán),一個一個數(shù)據(jù)的反演

在這里插入圖片描述

問題解決!

學習鏈接:

到此這篇關(guān)于Pytorch運行過程中解決出現(xiàn)內(nèi)存不足的問題的文章就介紹到這了,更多相關(guān)Pytorch 內(nèi)存不足內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

最新評論