版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第pytorch如何用cuda處理數(shù)據(jù)如果網絡的輸入數(shù)據(jù)維度或類型上變化不大,設置torch.backends.cudnn.benchmark=true
可以增加運行效率;
如果網絡的輸入數(shù)據(jù)在每次iteration都變化的話,會導致cnDNN每次都會去尋找一遍最優(yōu)配置,
這樣反而會降低運行效率。
這下就清晰明了很多了。
Benchmark模式會提升計算速度,但是由于計算中有隨機性,每次網絡前饋結果略有差異。
torch.backends.cudnn.benchmark=True
如果想要避免這種結果波動,設置:
torch.backends.cudnn.deterministic=True
'''
這句話也很常見,設置默認的device,優(yōu)先gpu。
device='cuda'iftorch.cuda.is_available()else'cpu'
cpu挪到gpu
#也可以是device=torch.device('cuda:0')
device=torch.device('cuda')
a=torch.tensor([1,2,3])
b=a.to(device)
print(a)
print(b)
out:
tensor([1,2,3])
tensor([1,2,3],device='cuda:0')
判斷變量是否基于GPU。
a.is_cuda
查看有幾個可用GPU。
torch.cuda.device_count()
查看GPU算力
#返回gpu最大和最小計算能力,是一個tuple
torch.cuda.get_device_capability()
設置默認哪一個GPU運算。
#里面輸入int類型的數(shù)字
torch.cuda.set_device()
抓取指定gpu的全名。
iftorch.cuda.is_available():
device=torch.device('cuda')
print('UsingGPU:',torch.cuda.get_device_name(0))
out:
'GeForceGTX1050'
2直接在gpu創(chuàng)建
方法一:
a=torch.ones(3,4,device="cuda")
print(a)
out:
tensor([[1.,1.,1.,1.],
[1.,1.,1.,1.],
[1.,1.,1.,1.]],device='cuda:0')
方法二:
a=torch.cuda.FloatTensor(3,4)
print(a)
out:
tensor([[-1.,-1.,-1.,-1.],
[-1.,-1.,-1.,-1.],
[-1.,-1.,-1.,-1.]],device='cuda:0')
3從cpu轉移到gpu
方法一:tensor.to()
a=torch.ones(3,4)
b=a.to("cuda")
print(a)
print(b)
out:
tensor([[1.,1.,1.,1.],
[1.,1.,1.,1.],
[1.,1.,1.,1.]])
tensor([[1.,1.,1.,1.],
[1.,1.,1.,1.],
[1.,1.,1.,1.]],device='cuda:0')
注意:.to()不僅可以轉移device,還可以修改數(shù)據(jù)類型,比如:a.to(torch.double)
方法二:tensor.cuda()
a=torch.tensor([1.,2.]).cuda()
方法三:tensor.type()
dtype=torch.cuda.FloatTensor
x=torch.rand(2,2).type(dtype)
方法四:torch.from_numpy(np_labels).cuda()
wm_labels=torch.from_numpy(np_labels).cuda()
4在cuda中訓練模型
在默認情況下,模型參數(shù)的優(yōu)化(即訓練)是在cpu上進行的,如果想要挪到GPU,得做如下修改:
importtorch.nnasnn
#假設前面已經定義好了模型
#創(chuàng)建模型
Hidnet=UnetGenerator_mnist()
#把模型放入GPU
Hidnet=nn.DataParallel(Hidnet.cuda())
#查看模型參數(shù)
list(Hidnet.parameters())[0]
out:
Parametercontaining:
tensor([[[[0.1315,0.0562,0.1186],
[-0.1158,0.1394,-0.0399],
[0.1728,0.1051,-0.1034]],
[[0.1702,-0.1208,-0.1134],
[-0.1449,0.1912,0.1727],
[0.1562,0.1601,0.1055]],
[[0.1031,-0.0062,-0.0068],
[-0.0453,0.1150,0.0366],
[0.0680,-0.1234,-0.0988]]]],device='cuda:0',requires_grad=True)
可以看到device=‘cuda:0'啦
pytorch查看cuda版本
由于
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新疆克孜勒蘇柯爾克孜自治州2025-2026學年八年級上學期1月期末考試物理試卷(無答案)
- 遼寧省朝陽市2025-2026學年八年級上學期1月期末考試地理試卷(含答案)
- 湖南省衡陽市衡陽縣2025-2026學年高二上學期期末質量檢測(創(chuàng)新實驗班)生物試卷(含答案)
- 化工作業(yè)安全培訓
- 沿海公共航路指南2026
- 化工企業(yè)安全生產培訓課件
- 飛行事故預防培訓課件
- 鋼結構節(jié)能減排技術措施
- 2026山東事業(yè)單位統(tǒng)考臨沂市郯城縣招聘綜合類崗位29人備考考試試題及答案解析
- 2026浙江寧波市升力同創(chuàng)科技咨詢服務有限公司招聘1人參考考試題庫及答案解析
- 第21章 反比例函數(shù)(單元測試·綜合卷)(含答案)-滬科版(2024)九上
- 鋼結構橋梁施工監(jiān)測方案
- 2025年秋青島版(五四學制)小學數(shù)學五年級上冊(全冊)知識點梳理歸納
- 箱包工廠合作合同范本
- 2026年張家界航空工業(yè)職業(yè)技術學院單招職業(yè)傾向性考試必刷測試卷必考題
- 【語文】陜西省西安市高新一小小學一年級上冊期末試卷
- 江蘇省南京市聯(lián)合體2026屆數(shù)學七年級第一學期期末學業(yè)水平測試試題含解析
- 企業(yè)財務知識培訓目的
- 建筑總承包戰(zhàn)略合作協(xié)議書標準范本
- 2025江蘇蘇州高新區(qū)獅山商務創(chuàng)新區(qū)下屬國有企業(yè)招聘9人筆試題庫及答案詳解
- xx市燃氣改造項目可行性研究報告
評論
0/150
提交評論