PyTorch 最基礎(chǔ)知識(shí)

姓名:張慶慶

學(xué)號(hào):19021211151

嵌牛導(dǎo)讀:PyTorch作為深度學(xué)習(xí)的一種重要架構(gòu)很值得相關(guān)從業(yè)及技術(shù)人員學(xué)習(xí)

?嵌牛鼻子:PyTorch

嵌牛提問(wèn):什么是PyTorch,PyTorch的學(xué)習(xí)要點(diǎn)

轉(zhuǎn)載源:PyTorch 最基礎(chǔ)知識(shí) - 簡(jiǎn)書(shū)

嵌牛正文:

Pytorch背景知識(shí)其實(shí)挺龐大的,可以從它主業(yè)doc介紹就能看出來(lái),每一個(gè)函數(shù)參數(shù)非常的多。以后如果精力允許,可以滿滿研究明白一個(gè)寫(xiě)一個(gè)。下邊是針對(duì)最基礎(chǔ)的一些內(nèi)容的特別精要的一些整理。

官網(wǎng):

使用方:facebook? twitter nvidia

優(yōu)點(diǎn):GPU運(yùn)算、tensor可代替numpy、構(gòu)建自動(dòng)求導(dǎo)神經(jīng)網(wǎng)絡(luò)、python優(yōu)先、命令式體驗(yàn)、快速輕巧

tensor:基本單元,一種張量

常用的形式(點(diǎn)擊查看官網(wǎng)內(nèi)的詳細(xì)劃分)

torch.floattensor

torch.longtensor

學(xué)習(xí)內(nèi)容點(diǎn):

pytorch的tensor 于numpy 的tensor相互轉(zhuǎn)換

需要注意 GPU 上的 Tensor 不能直接轉(zhuǎn)換為 NumPy ndarray,需要使用.cpu()先將 GPU 上的 Tensor 轉(zhuǎn)到 CPU 上

注意左邊變量名與右邊操作名的區(qū)別

可以放在不同的GPU的方法

從GPU換回CPU的方法,尤其用numpy時(shí)要轉(zhuǎn)到CPU

為啥要從torch轉(zhuǎn)到numpy呢?因?yàn)閠orch數(shù)學(xué)運(yùn)算方式少于np;numpy計(jì)算能力更牛逼一些;

tensor 操作分為兩種,一種是數(shù)學(xué)運(yùn)算,一種是高級(jí)操作;

x = torch.ones(2, 2)

x = torch.ones(4, 4).float()

x[1:3, 1:3] = 2 #換元素

z = torch.add(x, y) 或z=x+y

x = torch.randn(4, 3)

sum_x = torch.sum(x, dim=1) # 沿著行對(duì) x 求和

x = x.squeeze(0) # 減少第一維

x = torch.randn(3, 4, 5)

x = x.permute(1, 0, 2)

x.size()

x.shape

x = x.view(-1, 5) # 變化緯度

max_value, max_idx = torch.max(x, dim=1) #沿著行

sum_x = torch.sum(x, dim=1) # 沿著行

print(x,x.type())

Variable

from torch.autograd import Variable #變量引入

x = Variable(x_tensor, requires_grad=True) # 如何包起來(lái)

求 x 和 y 的梯度

x = Variable(x_tensor, requires_grad=True)

z=(x+2)**2

z.backward()

print(x.grad)

靜態(tài)圖動(dòng)態(tài)圖(可見(jiàn)網(wǎng)盤(pán)朱庇特筆記)

靜態(tài)圖先定義計(jì)算圖(模型)不斷使用這個(gè)模型,每次使用不需要重新定義

debug難

運(yùn)行快

動(dòng)態(tài)圖每次構(gòu)建生成模型

debug方便

運(yùn)行慢

在深度學(xué)習(xí)方面,有著很多的計(jì)算推導(dǎo)過(guò)程,如果你是大學(xué)生或者剛剛考研結(jié)束的朋友,這些數(shù)學(xué)問(wèn)題不是問(wèn)題。但是如果長(zhǎng)期不用已經(jīng)遺忘,但又想明白其背后的數(shù)學(xué)理論依據(jù),可以先查看一下下邊這三個(gè)鏈接。

求導(dǎo)公式復(fù)習(xí)

矩陣乘法復(fù)習(xí)

希臘字母表

嵌??偨Y(jié):PyTorch作為深度學(xué)習(xí)的一個(gè)重要架構(gòu),包含很多數(shù)學(xué)知識(shí),這里介紹的是他最基礎(chǔ)的一些知識(shí),有興趣的可以去官網(wǎng)了解其更深入的知識(shí)。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 概述 在新版本中,PyTorch引入了許多令人興奮的新特性,主要的更新在于 Variable和Tensor的合并 ...
    古de莫寧閱讀 6,274評(píng)論 0 1
  • 介紹 相比TensorFlow的靜態(tài)圖開(kāi)發(fā),Pytorch的動(dòng)態(tài)圖特性使得開(kāi)發(fā)起來(lái)更加人性化,選擇Pytorch的...
    dawsonenjoy閱讀 25,222評(píng)論 2 18
  • 通過(guò)靜態(tài)工廠方法創(chuàng)建 Bean 調(diào)用靜態(tài)工廠方法創(chuàng)建 Bean 是將對(duì)象創(chuàng)建的過(guò)程封裝到靜態(tài)方法中;當(dāng)客戶端需要對(duì)...
    極客_Ls閱讀 147評(píng)論 0 0
  • 一條鎖鏈從深淵某處伸出地面 像利爪似的狠狠地鎖住每個(gè)人的心 你毫不畏懼地向前奔跑,企圖擺脫它的束縛 一切都還來(lái)得及...
    昆悠閱讀 189評(píng)論 1 7
  • 死亡雖是團(tuán)大迷霧,但有兩件事情是明確的:其一,我們總有一天會(huì)死;其二,我們不知何時(shí)或如何死,而我們就把它當(dāng)做借口,...
    春耕部落閱讀 1,878評(píng)論 20 47

友情鏈接更多精彩內(nèi)容