torch.device用法总结
生活随笔
收集整理的這篇文章主要介紹了
torch.device用法总结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
torch.device用法總結
- 1 通過字符串構造設備
- 2 通過字符串+序號構造設備
- 3注意事項
- 3.1可直接使用字符串構建
- 3.2 有cuda的也可直接輸入序號
- 3.3 以下示例均等效
torch.device代表將torch.Tensor分配到的設備的對象。
torch.device包含一個設備類型('cpu'或'cuda'設備類型)和可選的設備的序號。如果設備序號不存在,則為當前設備;
例如,torch.Tensor用設備構建'cuda'的結果等同于'cuda:X',其中X是torch.cuda.current_device()的結果。
torch.Tensor的設備可以通過Tensor.device訪問屬性。
構造torch.device可以通過字符串/字符串和設備編號。如下:
1 通過字符串構造設備
>>> torch.device('cpu') device(type='cpu')>>> torch.device('cuda') # current cuda device device(type='cuda')2 通過字符串+序號構造設備
>>> torch.device('cuda', 0) device(type='cuda', index=0)>>> torch.device('cpu', 0) device(type='cpu', index=0)3注意事項
3.1可直接使用字符串構建
torch.device函數中的參數通常可以用一個字符串替代。這允許使用代碼快速構建原型。
>> # Example of a function that takes in a torch.device >> cuda1 = torch.device('cuda:1') >> torch.randn((2,3), device=cuda1) >> # You can substitute the torch.device with a string >> torch.randn((2,3), 'cuda:1')兩種方法等同
3.2 有cuda的也可直接輸入序號
出于傳統原因,可以通過單個設備序號構建設備,將其視為cuda設備。這匹配Tensor.get_device(),它為cuda張量返回一個序數,并且不支持cpu張量。
>> torch.device(1) device(type='cuda', index=1)3.3 以下示例均等效
指定設備的方法可以使用(properly formatted)字符串或(legacy)整數型設備序數,即以下示例均等效:
>> torch.randn((2,3), device=torch.device('cuda:1')) >> torch.randn((2,3), device='cuda:1') >> torch.randn((2,3), device=1) # legacy轉自https://ptorch.com/news/187.html
總結
以上是生活随笔為你收集整理的torch.device用法总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lattice学习笔记(一)
- 下一篇: 【翻译】torch.device的使用举