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

Python Pytorch深度學(xué)習(xí)之自動微分

 更新時間:2021年10月28日 10:25:58   作者:柚子味的羊  
今天小編就為大家分享一篇關(guān)于Pytorch自動微分的文章,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

一、簡介

antograd包是Pytorch中所有神經(jīng)網(wǎng)絡(luò)的核心。autograd為Tensor上的所有操作提供自動微分,它是一個由運行定義的框架,這意味著以代碼運行方式定義后向傳播,并且每一次迭代都可能不同

二、TENSOR

torch.Tensor是包的核心。

1.如果將屬性.requires_grad設(shè)置為True,則會開始跟蹤針對tensor的所有操作。

2.完成計算之后,可以調(diào)用backward()來自帶計算多有梯度。該張量的梯度將積累到.grad屬性中。

3.要停止tensor歷史記錄的跟蹤,可以調(diào)用.detach(),他將與計算歷史記錄分離,并防止將來的計算被跟蹤

4.要停止跟蹤歷史記錄(和使用內(nèi)存),可以將代碼塊使用with torch.no_grad():包裝起來。在評估模型時候,很有用,因為模型在訓(xùn)練階段具有requires_grad=True的可訓(xùn)練參數(shù)有利于調(diào)參,但是在評估階段不需要梯度

5.還有一個對于autograd實現(xiàn)非常重要的就是Function。tensor和Function互相連接并構(gòu)建一個肺循環(huán)圖,他保存整個完整的計算過程的歷史信息。每個張量都有一個.grad_fn屬性保存著創(chuàng)建了張量的Function的引用(如果用戶自己創(chuàng)建的張量,那么grad_fn是None)

6.如果想計算導(dǎo)數(shù),可以調(diào)用Tensor.backward().如果Tensor是標(biāo)量(包含一個元素數(shù)據(jù))則不需要指定任何參數(shù)backward(),但是如果他有更多元素,則需要指定gradient參數(shù)來指定張量的形狀

import torch
# 創(chuàng)建一個張量,設(shè)置requires_grad=True
x=torch.ones(2,2,requires_grad=True)
print(x)
# 針對張量操作
y=x+2
print(y)
print(y.grad_fn)#y作為操作的結(jié)果被創(chuàng)建,所以他有g(shù)rad_fn
# 對y操作
z=y*y*3
out=z.mean()
print(z,out)

運行結(jié)果

在這里插入圖片描述

# 如果在變量輸入過程中沒有提供相應(yīng)參數(shù),輸入的標(biāo)記默認(rèn)為False,requires_grad_()會改變張量的requires_grad標(biāo)記
a=torch.randn(2, 2)
a=((a*3)/(a-1))
# 前面沒有設(shè)置requires_grad,固會輸出False
print(a.requires_grad)
a.requires_grad_(True)
# 經(jīng)過上面語句的更改之后,此處應(yīng)該輸出True
print(a.requires_grad)
b=(a*a).sum()
# 輸出梯度信息
print(b.grad_fn)

運行結(jié)果

在這里插入圖片描述

三、梯度

現(xiàn)在向后傳播,因為輸出包含了一個標(biāo)量,out,backward()等同于out.backward(torch.tensor(1,))

out.backward()#向后傳播
print(x.grad)#打印梯度

運行結(jié)果

在這里插入圖片描述

原理

在這里插入圖片描述

在這里插入圖片描述

四、Example——雅克比向量積

# 雅克比向量積
x=torch.randn(3,requires_grad=True)
y=x*2
print(y)
while y.data.norm()<1000:
    y=y*2
print(y)#此時y不是標(biāo)量,torch.autograd 不能夠直接計算整個雅可比,但是如果我們只想要雅可比向量積,只需要簡單的傳遞向量給 backward 作為參數(shù)
v=torch.tensor([0.1,1.0,0.0001],dtype=torch.float)
y.backward(v)
print(x.grad)
print(x.requires_grad)
print((x**2).requires_grad)
# 使用一下語句停止從跟蹤歷史中.require_gra=True的張量自動求導(dǎo)
with torch.no_grad():
    print((x**2).requires_grad)

運行結(jié)果

在這里插入圖片描述

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • python網(wǎng)絡(luò)爬蟲 CrawlSpider使用詳解

    python網(wǎng)絡(luò)爬蟲 CrawlSpider使用詳解

    這篇文章主要介紹了python網(wǎng)絡(luò)爬蟲 CrawlSpider使用詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • python pygame 憤怒的小鳥游戲示例代碼

    python pygame 憤怒的小鳥游戲示例代碼

    這篇文章主要介紹了python pygame 憤怒的小鳥游戲,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • python-opencv-cv2.threshold()二值化函數(shù)的使用

    python-opencv-cv2.threshold()二值化函數(shù)的使用

    這篇文章主要介紹了python-opencv-cv2.threshold()二值化函數(shù)的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • PyQt5內(nèi)嵌瀏覽器注入JavaScript腳本實現(xiàn)自動化操作的代碼實例

    PyQt5內(nèi)嵌瀏覽器注入JavaScript腳本實現(xiàn)自動化操作的代碼實例

    今天小編就為大家分享一篇關(guān)于PyQt5內(nèi)嵌瀏覽器注入JavaScript腳本實現(xiàn)自動化操作的代碼實例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • 詳解Python中的array數(shù)組模塊相關(guān)使用

    詳解Python中的array數(shù)組模塊相關(guān)使用

    數(shù)組并不是Python中內(nèi)置的標(biāo)配數(shù)據(jù)結(jié)構(gòu),不過擁有array模塊我們也可以在Python中使用數(shù)組結(jié)構(gòu),下面我們就來詳解詳解Python中的array數(shù)組模塊相關(guān)使用
    2016-07-07
  • python判斷字符串編碼的簡單實現(xiàn)方法(使用chardet)

    python判斷字符串編碼的簡單實現(xiàn)方法(使用chardet)

    這篇文章主要介紹了python判斷字符串編碼的簡單實現(xiàn)方法,涉及chardet模塊的安裝與簡單使用方法,需要的朋友可以參考下
    2016-07-07
  • 利用Python找出刪除自己微信的好友并將他們自動化刪除

    利用Python找出刪除自己微信的好友并將他們自動化刪除

    你是否有微信被刪了好友不自知,還傻傻的給對方發(fā)消息,結(jié)果出現(xiàn)了下圖中那尷尬的一幕的經(jīng)歷呢?其實我們可以用Python提前把他們找出來并自動化刪除避免尷尬的
    2023-01-01
  • jupyter閃退的解決方法及卸載與安裝教程

    jupyter閃退的解決方法及卸載與安裝教程

    如果Anaconda的Jupyter Notebook無法打開并且頻繁閃退,可能是由于一些配置問題或者軟件沖突引起的,本文就來介紹一下jupyter閃退的解決方法及卸載與安裝教程,感興趣的可以了解一下
    2023-11-11
  • python基于socket實現(xiàn)的UDP及TCP通訊功能示例

    python基于socket實現(xiàn)的UDP及TCP通訊功能示例

    這篇文章主要介紹了python基于socket實現(xiàn)的UDP及TCP通訊功能,結(jié)合實例形式分析了基于Python socket模塊的UDP及TCP通信相關(guān)客戶端、服務(wù)器端實現(xiàn)技巧,需要的朋友可以參考下
    2019-11-11
  • Python生成隨機(jī)密碼

    Python生成隨機(jī)密碼

    這篇文章主要介紹了Python生成隨機(jī)密碼的代碼分享,由于是新手,僅僅是簡單的實現(xiàn),未作任何其他處理,小伙伴們自己參考下吧。
    2015-03-03

最新評論

通渭县| 会东县| 洛阳市| 永仁县| 镶黄旗| 宁远县| 巴林右旗| 丰都县| 上蔡县| 德钦县| 江华| 西乌珠穆沁旗| 荔波县| 唐河县| 溧水县| 海阳市| 绥化市| 海宁市| 拜泉县| 尚义县| 博客| 怀安县| 望都县| 芦山县| 远安县| 昔阳县| 白河县| 昌都县| 邵阳县| 磐安县| 大英县| 进贤县| 宝兴县| 阳泉市| 织金县| 河西区| 孟州市| 永胜县| 克拉玛依市| 乌拉特后旗| 昭苏县|