pytorch 學習第一日

2021-09-24 06:19:00 字數 1710 閱讀 8286

import torch

from torch.autograd import variable

#聽說新版本variable與tensor兩個型別合併了。

#variable與tensor的區別在於:

#tensor物件支援在原物件支援區域上修改資料,通+=」或者torch.add()方法

#而variable不支援在原物件記憶體區域上修改資料

#variable物件可求梯度,並且對variable物件的操作,操作會被記錄

#可以通過grad_fn屬性檢視上一次的操作,可通過data屬性訪問原始張量

#tensor = torch.floattensor([[

1,2]

,[3,

4]])

variable = variable(tensor, requires_grad=

true);

t_out = torch.mean( tensor*tensor )

v_out = torch.mean( variable * variable )

print

(t_out)

print

(v_out)

#v_out = 1/4*sum(var*var).梯度如何就是那呢?

#d( v_out ) /d(var) = 1/4*2*variable = variable /2;

v_out.backward()#

print

(variable.grad)

#print

(variable.data)

#這是tensor型別

print

(variable.data.numpy())

#把variable裡面的tensor轉換成numpy

print

(variable)

#variable

這斷**,包括一些用torch的tesnor,variable進行計算的方法,

我個人比較感興趣的是

v_out.backward(

)

反向傳播,應該就類似於神經網路的反向傳播,擬合引數的概念類似。看看後面四個列印的資訊

tensor(

7.5000

)tensor(

7.5000

, grad_fn=

)tensor([[

0.5000

,1.0000],

[1.5000

,2.0000]]

)tensor([[

1.,2

.],[

3.,4

.]])

[[1.

2.][

3.4.

]]tensor([[

1.,2

.],[

3.,4

.]], requires_grad=

true

)

可以看到v_out.backward()了以後,改變了variable.grad的值,或者說修改了variable類的一些成員。

加入把varible的四個值看成是x,vout對應乙個y。那麼

y =f(x),其中

f(x)=1

/4*sum

( x^

2)

有點不大懂了。。。

C 學習第一日

乙個c 初學者的學習記錄 引數 argument 代入函式的值,通過引數實現函式間基本的資訊傳遞。賦值 assignment 使乙個變數獲得乙個值,獲得這個值會抹去這個變數原有的值 只考慮值,不考慮位址 程式塊 block 用花括號包圍的n條語句,其中n 0 花括號 curly brace 就目前學...

第一日 序記

擁有csdn的賬號已經很久,卻遲遲沒有開通自己部落格,原因無非就是嫌麻煩,覺得自己的腦子夠好,能夠將自己遇見的難點和寫的漂亮的 記住。可事實真的是這樣嗎?先不說自己能不能記住,就算記住能夠下次再需要的時候用出來這本身就極為困難。所以躊躇許久,還是決定開通自己的部落格,寫點東西出來。哪怕不是那麼高深,...

北京出差第一日

杭州飛北京,10 50 的班機 趕到武林門的航空售票處坐大巴,沒想被乎悠了一把 現在大巴改走錢江四橋,這個時間已經來不及了 只好坐計程車 進了機場,換了登機牌,航班延誤,還好,延誤15分鐘,心裡稍稍平衡一點 如果和昨天那樣延誤兩個小時,我怎麼也要鬱悶一下 還有幾分鐘登機,資料庫的報警資訊不斷到手機上...