最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pytorch中.to(device) 和.cuda()的區(qū)別說明

 更新時(shí)間:2021年05月24日 17:27:50   作者:Golden-sun  
這篇文章主要介紹了pytorch中.to(device) 和.cuda()的區(qū)別說明,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

原理

.to(device) 可以指定CPU 或者GPU

device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu") # 單GPU或者CPU
model.to(device)
#如果是多GPU
if torch.cuda.device_count() > 1:
  model = nn.DataParallel(model,device_ids=[0,1,2])
model.to(device)

.cuda() 只能指定GPU

#指定某個(gè)GPU
os.environ['CUDA_VISIBLE_DEVICE']='1'
model.cuda()
#如果是多GPU
os.environment['CUDA_VISIBLE_DEVICES'] = '0,1,2,3'
device_ids = [0,1,2,3]
net  = torch.nn.Dataparallel(net, device_ids =device_ids)
net  = torch.nn.Dataparallel(net) # 默認(rèn)使用所有的device_ids 
net = net.cuda()
class DataParallel(Module):
    def __init__(self, module, device_ids=None, output_device=None, dim=0):
        super(DataParallel, self).__init__()

        if not torch.cuda.is_available():
            self.module = module
            self.device_ids = []
            return

        if device_ids is None:
            device_ids = list(range(torch.cuda.device_count()))
        if output_device is None:
            output_device = device_ids[0]

補(bǔ)充:Pytorch使用To方法編寫代碼在不同設(shè)備(CUDA/CPU)上兼容(device-agnostic)

以前版本的PyTorch編寫device-agnostic代碼非常困難(即,在不修改代碼的情況下在CUDA可以使用或者只能使用CPU的設(shè)備上運(yùn)行)。

device-agnostic的概念

即設(shè)備無關(guān),可以理解為無論什么設(shè)備都可以運(yùn)行您編寫的代碼。(PS:個(gè)人理解,我沒有在網(wǎng)上找到專業(yè)解釋)

PyTorch 0.4.0使代碼兼容

PyTorch 0.4.0通過兩種方法使代碼兼容變得非常容易:

張量的device屬性為所有張量提供了torch.device設(shè)備。(注意:get_device僅適用于CUDA張量)

to方法Tensors和Modules可用于容易地將對象移動(dòng)到不同的設(shè)備(代替以前的cpu()或cuda()方法)

我們推薦以下模式:

# 開始腳本,創(chuàng)建一個(gè)張量
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
...
# 但是無論你獲得一個(gè)新的Tensor或者M(jìn)odule
# 如果他們已經(jīng)在目標(biāo)設(shè)備上則不會(huì)執(zhí)行復(fù)制操作
input = data.to(device)
model = MyModule(...).to(device)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 在pycharm中輸入import torch報(bào)錯(cuò)如何解決

    在pycharm中輸入import torch報(bào)錯(cuò)如何解決

    這篇文章主要介紹了在pycharm中輸入import torch報(bào)錯(cuò)如何解決問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Python多進(jìn)程分塊讀取超大文件的方法

    Python多進(jìn)程分塊讀取超大文件的方法

    這篇文章主要介紹了Python多進(jìn)程分塊讀取超大文件的方法,涉及Python多進(jìn)程操作與文件分塊讀取的相關(guān)技巧,需要的朋友可以參考下
    2016-04-04
  • python實(shí)現(xiàn)flappy bird小游戲

    python實(shí)現(xiàn)flappy bird小游戲

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)flappy bird小游戲,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • 提高Python代碼可讀性的5個(gè)技巧分享

    提高Python代碼可讀性的5個(gè)技巧分享

    Python?中有許多方法可以幫助我們理解代碼的內(nèi)部工作原理,良好的編程習(xí)慣,可以使我們的工作事半功倍!本文為大家總結(jié)了五個(gè)技巧,希望有所幫助
    2022-08-08
  • 學(xué)生信息管理系統(tǒng)python版

    學(xué)生信息管理系統(tǒng)python版

    這篇文章主要為大家詳細(xì)介紹了學(xué)生信息管理系統(tǒng)python版,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • 詳解Python list和numpy array的存儲(chǔ)和讀取方法

    詳解Python list和numpy array的存儲(chǔ)和讀取方法

    這篇文章主要介紹了詳解Python list和numpy array的存儲(chǔ)和讀取方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Python循環(huán)結(jié)構(gòu)詳解

    Python循環(huán)結(jié)構(gòu)詳解

    這篇文章主要介紹了Python循環(huán)結(jié)構(gòu)詳解,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)python的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-05-05
  • numpy中np.append()函數(shù)用法小結(jié)

    numpy中np.append()函數(shù)用法小結(jié)

    在numpy的函數(shù)庫中,np.append()函數(shù)是一個(gè)常用的數(shù)組操作函數(shù),它在進(jìn)行數(shù)組操作時(shí)能夠?qū)蓚€(gè)數(shù)組進(jìn)行拼接,并返回一個(gè)拼接后的新數(shù)組,下面就來介紹一下具體用法,感興趣的可以了解一下
    2023-11-11
  • 在CMD命令行中運(yùn)行python腳本的方法

    在CMD命令行中運(yùn)行python腳本的方法

    今天小編就為大家分享一篇在CMD命令行中運(yùn)行python腳本的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • 關(guān)于Python面向?qū)ο缶幊痰闹R(shí)點(diǎn)總結(jié)

    關(guān)于Python面向?qū)ο缶幊痰闹R(shí)點(diǎn)總結(jié)

    Python從設(shè)計(jì)之初就已經(jīng)是一門面向?qū)ο蟮恼Z言,正因?yàn)槿绱耍赑ython中創(chuàng)建一個(gè)類和對象是很容易的。下面這篇文章將詳細(xì)給大家介紹關(guān)于Python面向?qū)ο缶幊痰闹R(shí)點(diǎn),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-02-02

最新評(píng)論

昌都县| 延川县| 会宁县| 芜湖县| 化德县| 彭泽县| 岗巴县| 涟源市| 阿勒泰市| 泰和县| 凤台县| 兴城市| 噶尔县| 苍梧县| 昌邑市| 平遥县| 沙坪坝区| 大厂| 舟曲县| 仙桃市| 德江县| 虎林市| 明星| 新民市| 朝阳区| 边坝县| 武义县| 红安县| 锡林浩特市| 东辽县| 盐津县| 沙洋县| 临漳县| 香格里拉县| 柘城县| 沁水县| 平阳县| 湘乡市| 金溪县| 松滋市| 承德市|