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

Pytorch to(device)用法

 更新時(shí)間:2020年01月08日 10:17:26   作者:shaopeng568  
今天小編就為大家分享一篇Pytorch to(device)用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

如下所示:

device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
model.to(device)

這兩行代碼放在讀取數(shù)據(jù)之前。

mytensor = my_tensor.to(device)

這行代碼的意思是將所有最開(kāi)始讀取數(shù)據(jù)時(shí)的tensor變量copy一份到device所指定的GPU上去,之后的運(yùn)算都在GPU上進(jìn)行。

這句話(huà)需要寫(xiě)的次數(shù)等于需要保存GPU上的tensor變量的個(gè)數(shù);一般情況下這些tensor變量都是最開(kāi)始讀數(shù)據(jù)時(shí)的tensor變量,后面衍生的變量自然也都在GPU上

如果是多個(gè)GPU

在代碼中的使用方法為:

device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")

model = Model()

if torch.cuda.device_count() > 1:

 model = nn.DataParallel(model,device_ids=[0,1,2])

 

model.to(device)

Tensor總結(jié)

(1)Tensor 和 Numpy都是矩陣,區(qū)別是前者可以在GPU上運(yùn)行,后者只能在CPU上;

(2)Tensor和Numpy互相轉(zhuǎn)化很方便,類(lèi)型也比較兼容

(3)Tensor可以直接通過(guò)print顯示數(shù)據(jù)類(lèi)型,而Numpy不可以

把Tensor放到GPU上運(yùn)行

if torch.cuda.is_available():
 h = g.cuda()
 print(h)
torch.nn.functional
Convolution函數(shù)
torch.nn.functional.vonv1d(input,weight,bias=None,stride=1,padding=0,dilation=1,groups=1)
 
 
 
torch.nn.functional.conv2d(input,weight,bias=None,stride=1,padding=0,dilation=1,group=1)
 
parameter:
 input --輸入張量(minibatch * in_channels * iH * iW)-weights-– 過(guò)濾器張量 (out_channels, in_channels/groups, kH, kW) - bias – 可選偏置張量 (out_channels) - stride – 卷積核的步長(zhǎng),可以是單個(gè)數(shù)字或一個(gè)元組 (sh x sw)。默認(rèn)為1 - padding – 輸入上隱含零填充。可以是單個(gè)數(shù)字或元組。 默認(rèn)值:0 - groups – 將輸入分成組,in_channels應(yīng)該被組數(shù)除盡
 
 
>>> # With square kernels and equal stride
>>> filters = autograd.Variable(torch.randn(8,4,3,3))
>>> inputs = autograd.Variable(torch.randn(1,4,5,5))
>>> F.conv2d(inputs, filters, padding=1)

Pytorch中使用指定的GPU

(1)直接終端中設(shè)定

CUDA_VISIBLE_DEVICES=1

(2)python代碼中設(shè)定:

import os

os.environ['CUDA_VISIBLE_DEVICE']='1'

(3)使用函數(shù)set_device

import torch

torch.cuda.set_device(id)

Pytoch中的in-place

in-place operation 在 pytorch中是指改變一個(gè)tensor的值的時(shí)候,不經(jīng)過(guò)復(fù)制操作,而是在運(yùn)來(lái)的內(nèi)存上改變它的值??梢园阉Q(chēng)為原地操作符。

在pytorch中經(jīng)常加后綴 “_” 來(lái)代表原地in-place operation, 比如 .add_() 或者.scatter()

python 中里面的 += *= 也是in-place operation。

下面是正常的加操作,執(zhí)行結(jié)束加操作之后x的值沒(méi)有發(fā)生變化:

import torch
x=torch.rand(2) #tensor([0.8284, 0.5539])
print(x)
y=torch.rand(2)
print(x+y)  #tensor([1.0250, 0.7891])
print(x)  #tensor([0.8284, 0.5539])

下面是原地操作,執(zhí)行之后改變了原來(lái)變量的值:

import torch
x=torch.rand(2) #tensor([0.8284, 0.5539])
print(x)
y=torch.rand(2)
x.add_(y)
print(x)  #tensor([1.1610, 1.3789])

以上這篇Pytorch to(device)用法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決import tensorflow導(dǎo)致jupyter內(nèi)核死亡的問(wèn)題

    解決import tensorflow導(dǎo)致jupyter內(nèi)核死亡的問(wèn)題

    這篇文章主要介紹了解決import tensorflow導(dǎo)致jupyter內(nèi)核死亡的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-02-02
  • 實(shí)現(xiàn)python版本的按任意鍵繼續(xù)/退出

    實(shí)現(xiàn)python版本的按任意鍵繼續(xù)/退出

    本文給大家簡(jiǎn)單介紹了在windows以及l(fā)inux下實(shí)現(xiàn)python版本的按任意鍵繼續(xù)/退出功能,非常的簡(jiǎn)單實(shí)用,linux下稍微復(fù)雜些,有需要的小伙伴可以參考下
    2016-09-09
  • python打開(kāi)url并按指定塊讀取網(wǎng)頁(yè)內(nèi)容的方法

    python打開(kāi)url并按指定塊讀取網(wǎng)頁(yè)內(nèi)容的方法

    這篇文章主要介紹了python打開(kāi)url并按指定塊讀取網(wǎng)頁(yè)內(nèi)容的方法,涉及Python操作URL及網(wǎng)頁(yè)內(nèi)容的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-04-04
  • 使用python繪制二維圖形示例

    使用python繪制二維圖形示例

    今天小編就為大家分享一篇使用python繪制二維圖形示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • Python如何向IP地址發(fā)送字符串

    Python如何向IP地址發(fā)送字符串

    在Python中,向IP地址發(fā)送字符串通常意味著你需要通過(guò)某種協(xié)議來(lái)實(shí)現(xiàn)通信,最常見(jiàn)的協(xié)議包括TCP和UDP,這篇文章主要介紹了Python向IP地址發(fā)送字符串的示例代碼,需要的朋友可以參考下
    2024-08-08
  • Python字典底層實(shí)現(xiàn)原理詳解

    Python字典底層實(shí)現(xiàn)原理詳解

    今天小編就為大家分享一篇Python字典底層實(shí)現(xiàn)原理詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • 深入解讀Python解析XML的幾種方式

    深入解讀Python解析XML的幾種方式

    這篇文章主要為大家詳細(xì)介紹了深入解讀Python解析XML的幾種方式,以ElementTree模塊為例,演示具體使用方法和場(chǎng)景,感興趣的小伙伴們可以參考一下
    2016-02-02
  • Python3 基礎(chǔ)語(yǔ)法詳解

    Python3 基礎(chǔ)語(yǔ)法詳解

    在本篇文章里小編給大家分享的是一篇關(guān)于Python3基礎(chǔ)語(yǔ)法知識(shí)點(diǎn)總結(jié)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下,希望能夠給你帶來(lái)幫助
    2021-10-10
  • Python?實(shí)現(xiàn)循環(huán)最快方式(for、while?等速度對(duì)比)

    Python?實(shí)現(xiàn)循環(huán)最快方式(for、while?等速度對(duì)比)

    這篇文章主要介紹了Python?利用for、while?實(shí)現(xiàn)循環(huán)最快方式,文章主要對(duì)for、while?等速度對(duì)比詳細(xì)介紹,具有一定的參考價(jià)值?,需要的小伙伴可以參考一下
    2022-01-01
  • python用opencv完成圖像分割并進(jìn)行目標(biāo)物的提取

    python用opencv完成圖像分割并進(jìn)行目標(biāo)物的提取

    這篇文章主要介紹了python用opencv完成圖像分割并進(jìn)行目標(biāo)物的提取,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05

最新評(píng)論