偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

動(dòng)態(tài)計(jì)算圖和GPU支持操作

人工智能 深度學(xué)習(xí)
在深度學(xué)習(xí)中使用 PyTorch 的主要原因之一,是我們可以自動(dòng)獲得定義的函數(shù)的梯度/導(dǎo)數(shù)。當(dāng)我們操作我們的輸入時(shí),會(huì)自動(dòng)創(chuàng)建一個(gè)計(jì)算圖。該圖顯示了如何從輸入到輸出的動(dòng)態(tài)計(jì)算過程。

[[409431]]

動(dòng)態(tài)計(jì)算圖

在深度學(xué)習(xí)中使用 PyTorch 的主要原因之一,是我們可以自動(dòng)獲得定義的函數(shù)的梯度/導(dǎo)數(shù)。

當(dāng)我們操作我們的輸入時(shí),會(huì)自動(dòng)創(chuàng)建一個(gè)計(jì)算圖。該圖顯示了如何從輸入到輸出的動(dòng)態(tài)計(jì)算過程。

為了熟悉計(jì)算圖的概念,下面將為以下函數(shù)創(chuàng)建一個(gè):

 

這里的 是我們的參數(shù),我們想要優(yōu)化(最大化或最小化)輸出 . 為此,我們想要獲得梯度.

在下面的代碼中,我將使用[1,2,3]作輸入。

  1. # 只有浮動(dòng)張量有梯度 
  2. x = torch.arange(1,4, dtype=torch.float32, requires_grad=True)  
  3. print("X", x) 
  4.  
  5. # X tensor([1., 2., 3.], requires_grad=True

現(xiàn)在讓我來一步一步地構(gòu)建計(jì)算圖,了解每個(gè)操作是到底是如何添加到計(jì)算圖中的。

  1. a = x + 2 
  2. b = a ** 2 
  3. c = b + 3 
  4. y = c.mean() 
  5. print("Y", y) 
  6. # Y tensor(19.6667, grad_fn=<MeanBackward0>) 

使用上面的語句,我們創(chuàng)建了一個(gè)類似于下圖的計(jì)算圖(通過tensorboard )查看:

我們計(jì)算 a 基于輸入x 和常數(shù)2, b是 a平方等等操作。計(jì)算圖通常以相反的方向可視化(箭頭從結(jié)果指向輸入)。

我們可以通過backward()在最后一個(gè)輸出上調(diào)用函數(shù)來對(duì)計(jì)算圖執(zhí)行反向傳播,這樣可以,計(jì)算了每個(gè)具有屬性的張量的梯度requires_grad=True:

  1. y.backward() 

最后打印x.grad就可以查看對(duì)應(yīng)梯度。

 

GPU支持操作

在Pytorch中GPU 可以并行執(zhí)行數(shù)以千計(jì)的小運(yùn)算,因此非常適合在神經(jīng)網(wǎng)絡(luò)中執(zhí)行大型矩陣運(yùn)算。

「CPU 與 GPU的區(qū)別」

PyTorch 使用GPU,需要搭建NVIDIA 的CUDA和cuDNN。

下面代碼,檢查是否有可用的 GPU:

  1. gpu_avail = torch.cuda.is_available() 
  2. print("Is the GPU available? %s" % str(gpu_avail)) 

 

現(xiàn)在創(chuàng)建一個(gè)張量并將其推送到GPU設(shè)備:

  1. device = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu"
  2. print("Device", device) 
  3. x = x.to(device) 
  4. print("X", x) 
  5.  
  6. # Device cuda 
  7. # X tensor([1., 1., 1.], device='cuda:0'

cuda 旁邊的零表示這是計(jì)算機(jī)上的第0個(gè) GPU 設(shè)備。因此,PyTorch 還支持多 GPU 系統(tǒng),

下面將CPU 上的大型矩陣乘法的運(yùn)行時(shí)間與 GPU 上的運(yùn)算進(jìn)行比較:

根據(jù)系統(tǒng)中的配置而定,GPU加速提高模型的訓(xùn)練速度。

 

責(zé)任編輯:姜華 來源: Python之王
相關(guān)推薦

2011-07-26 10:09:08

iPhone 多語言 國(guó)際化

2010-01-06 13:41:51

.NET Framew

2017-02-08 17:08:32

谷歌深度學(xué)習(xí)計(jì)算圖

2014-07-28 15:11:53

浪潮GPU加速

2025-01-08 08:49:50

2022-10-24 15:56:55

PythonPyTorchGPU 計(jì)算

2021-08-11 07:22:27

Vue 技巧 開發(fā)工具

2021-05-11 14:45:11

芯片半導(dǎo)體技術(shù)

2021-03-09 11:23:50

PyTorch 1.8Python函數(shù)轉(zhuǎn)換

2009-06-03 08:50:03

微軟Windows 7操作系統(tǒng)

2021-04-13 13:21:58

CPUGPU異構(gòu)

2019-07-22 15:37:56

CPU核心GPU

2021-06-07 14:39:58

鴻蒙HarmonyOS應(yīng)用

2020-12-21 14:23:11

機(jī)器學(xué)習(xí)深度學(xué)習(xí)技術(shù)

2024-01-02 17:28:12

芯片CPUAI計(jì)算

2009-06-10 16:09:56

netbeans ru動(dòng)態(tài)語言

2011-08-23 14:46:59

云計(jì)算

2024-12-16 07:41:35

2019-01-03 14:21:51

CPUGPU系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)