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

pytorch中with?torch.no_grad():的用法實例

 更新時間:2022年03月11日 10:18:36   作者:這是一只小菜雞  
最近在看別人寫的代碼,遇到經(jīng)常使用with torch.no_grad(),所以下面這篇文章主要給大家介紹了關(guān)于pytorch中with?torch.no_grad():用法的相關(guān)資料,需要的朋友可以參考下

1.關(guān)于with

with是python中上下文管理器,簡單理解,當(dāng)要進(jìn)行固定的進(jìn)入,返回操作時,可以將對應(yīng)需要的操作,放在with所需要的語句中。比如文件的寫入(需要打開關(guān)閉文件)等。

以下為一個文件寫入使用with的例子。

        with open (filename,'w') as sh:    
            sh.write("#!/bin/bash\n")
            sh.write("#$ -N "+'IC'+altas+str(patientNumber)+altas+'\n')
            sh.write("#$ -o "+pathSh+altas+'log.log\n') 
            sh.write("#$ -e "+pathSh+altas+'err.log\n') 
            sh.write('source ~/.bashrc\n')          
            sh.write('. "/home/kjsun/anaconda3/etc/profile.d/conda.sh"\n')
            sh.write('conda activate python27\n')
            sh.write('echo "to python"\n')
            sh.write('echo "finish"\n')
            sh.close()

with后部分,可以將with后的語句運行,將其返回結(jié)果給到as后的變量(sh),之后的代碼塊對close進(jìn)行操作。

2.關(guān)于with torch.no_grad():

在使用pytorch時,并不是所有的操作都需要進(jìn)行計算圖的生成(計算過程的構(gòu)建,以便梯度反向傳播等操作)。而對于tensor的計算操作,默認(rèn)是要進(jìn)行計算圖的構(gòu)建的,在這種情況下,可以使用 with torch.no_grad():,強制之后的內(nèi)容不進(jìn)行計算圖構(gòu)建。

以下分別為使用和不使用的情況:

(1)使用with torch.no_grad():

with torch.no_grad():
    for data in testloader:
        images, labels = data
        outputs = net(images)
        _, predicted = torch.max(outputs.data, 1)
        total += labels.size(0)
        correct += (predicted == labels).sum().item()
print('Accuracy of the network on the 10000 test images: %d %%' % (
    100 * correct / total))        
print(outputs)

運行結(jié)果:

Accuracy of the network on the 10000 test images: 55 %
tensor([[-2.9141, -3.8210,  2.1426,  3.0883,  2.6363,  2.6878,  2.8766,  0.3396,
         -4.7505, -3.8502],
        [-1.4012, -4.5747,  1.8557,  3.8178,  1.1430,  3.9522, -0.4563,  1.2740,
         -3.7763, -3.3633],
        [ 1.3090,  0.1812,  0.4852,  0.1315,  0.5297, -0.3215, -2.0045,  1.0426,
         -3.2699, -0.5084],
        [-0.5357, -1.9851, -0.2835, -0.3110,  2.6453,  0.7452, -1.4148,  5.6919,
         -6.3235, -1.6220]])

此時的outputs沒有 屬性。

(2)不使用with torch.no_grad():

而對應(yīng)的不使用的情況

for data in testloader:
    images, labels = data
    outputs = net(images)
    _, predicted = torch.max(outputs.data, 1)
    total += labels.size(0)
    correct += (predicted == labels).sum().item()
print('Accuracy of the network on the 10000 test images: %d %%' % (
    100 * correct / total))
print(outputs)

結(jié)果如下:

Accuracy of the network on the 10000 test images: 55 %
tensor([[-2.9141, -3.8210,  2.1426,  3.0883,  2.6363,  2.6878,  2.8766,  0.3396,
         -4.7505, -3.8502],
        [-1.4012, -4.5747,  1.8557,  3.8178,  1.1430,  3.9522, -0.4563,  1.2740,
         -3.7763, -3.3633],
        [ 1.3090,  0.1812,  0.4852,  0.1315,  0.5297, -0.3215, -2.0045,  1.0426,
         -3.2699, -0.5084],
        [-0.5357, -1.9851, -0.2835, -0.3110,  2.6453,  0.7452, -1.4148,  5.6919,
         -6.3235, -1.6220]], grad_fn=<AddmmBackward>)

可以看到,此時有g(shù)rad_fn=<AddmmBackward>屬性,表示,計算的結(jié)果在一計算圖當(dāng)中,可以進(jìn)行梯度反傳等操作。但是,兩者計算的結(jié)果實際上是沒有區(qū)別的。

附:pytorch使用模型測試使用with torch.no_grad():

使用pytorch時,并不是所有的操作都需要進(jìn)行計算圖的生成(計算過程的構(gòu)建,以便梯度反向傳播等操作)。而對于tensor的計算操作,默認(rèn)是要進(jìn)行計算圖的構(gòu)建的,在這種情況下,可以使用 with torch.no_grad():,強制之后的內(nèi)容不進(jìn)行計算圖構(gòu)建。

with torch.no_grad():
    for data in testloader:
        images, labels = data
        outputs = net(images)
        _, predicted = torch.max(outputs.data, 1)
        total += labels.size(0)
        correct += (predicted == labels).sum().item()
print('Accuracy of the network on the 10000 test images: %d %%' % (
    100 * correct / total))        
print(outputs)

運行結(jié)果:

Accuracy of the network on the 10000 test images: 55 %
tensor([[-2.9141, -3.8210,  2.1426,  3.0883,  2.6363,  2.6878,  2.8766,  0.3396,
         -4.7505, -3.8502],
        [-1.4012, -4.5747,  1.8557,  3.8178,  1.1430,  3.9522, -0.4563,  1.2740,
         -3.7763, -3.3633],
        [ 1.3090,  0.1812,  0.4852,  0.1315,  0.5297, -0.3215, -2.0045,  1.0426,
         -3.2699, -0.5084],
        [-0.5357, -1.9851, -0.2835, -0.3110,  2.6453,  0.7452, -1.4148,  5.6919,
         -6.3235, -1.6220]])

總結(jié)

到此這篇關(guān)于pytorch中with torch.no_grad():用法的文章就介紹到這了,更多相關(guān)pytorch中with torch.no_grad():內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python實現(xiàn)局域網(wǎng)遠(yuǎn)程控制電腦

    Python實現(xiàn)局域網(wǎng)遠(yuǎn)程控制電腦

    這篇文章主要為大家詳細(xì)介紹了如何利用Python編寫一個工具,可以實現(xiàn)遠(yuǎn)程控制局域網(wǎng)電腦關(guān)機,重啟,注銷等功能,感興趣的小伙伴可以參考一下
    2024-12-12
  • Python函數(shù)參數(shù)操作詳解

    Python函數(shù)參數(shù)操作詳解

    這篇文章主要介紹了Python函數(shù)參數(shù)操作,結(jié)合實例形式詳細(xì)分析了Python形參、實參、默認(rèn)參數(shù)、關(guān)鍵字參數(shù)、可變參數(shù)、對參數(shù)解包以及獲取參數(shù)個數(shù)等相關(guān)操作技巧,需要的朋友可以參考下
    2018-08-08
  • python經(jīng)典練習(xí)百題之猴子吃桃三種解法

    python經(jīng)典練習(xí)百題之猴子吃桃三種解法

    這篇文章主要給大家介紹了關(guān)于python經(jīng)典練習(xí)百題之猴子吃桃三種解法的相關(guān)資料, Python猴子吃桃子編程是一個趣味性十足的編程練習(xí),在這個練習(xí)中,我們將要使用Python語言來模擬一只猴子吃桃子的過程,需要的朋友可以參考下
    2023-10-10
  • python 實現(xiàn)IP子網(wǎng)計算

    python 實現(xiàn)IP子網(wǎng)計算

    這篇文章主要介紹了python 實現(xiàn)IP子網(wǎng)計算的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-02-02
  • Python獲取時間戳代碼實例

    Python獲取時間戳代碼實例

    這篇文章主要介紹了Python獲取時間戳代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • Python實現(xiàn)批量把SVG格式轉(zhuǎn)成png、pdf格式的代碼分享

    Python實現(xiàn)批量把SVG格式轉(zhuǎn)成png、pdf格式的代碼分享

    這篇文章主要介紹了Python實現(xiàn)批量把SVG格式轉(zhuǎn)成png、pdf格式的代碼分享,本文代碼需要引用一個第三方模塊cairosvg,需要的朋友可以參考下
    2014-08-08
  • python 將list轉(zhuǎn)成字符串,中間用符號分隔的方法

    python 將list轉(zhuǎn)成字符串,中間用符號分隔的方法

    今天小編就為大家分享一篇python 將list轉(zhuǎn)成字符串,中間用符號分隔的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Python使用WebSocket和SSE實現(xiàn)HTTP服務(wù)器消息推送方式

    Python使用WebSocket和SSE實現(xiàn)HTTP服務(wù)器消息推送方式

    本文介紹了兩種實時數(shù)據(jù)獲取的技術(shù):WebSocket和SSE,WebSocket是全雙工通信協(xié)議,支持雙向通信,但需要專門定義數(shù)據(jù)協(xié)議,SSE是一種單工通信技術(shù),基于HTTP的流式數(shù)據(jù)傳輸,客戶端開發(fā)簡單,但只能單工通信
    2024-11-11
  • Python實現(xiàn)Word文檔轉(zhuǎn)換為圖片(JPG、PNG、SVG等常見格式)

    Python實現(xiàn)Word文檔轉(zhuǎn)換為圖片(JPG、PNG、SVG等常見格式)

    將Word文檔以圖片形式導(dǎo)出,既能方便信息的分享,也能保護(hù)數(shù)據(jù)安全,避免被二次編輯,文本將介紹如何使用 Spire.Doc for Python 庫在Python程序中實現(xiàn)Word到圖片的批量轉(zhuǎn)換,需要的朋友可以參考下
    2024-06-06
  • Python如何遍歷JSON所有數(shù)據(jù)

    Python如何遍歷JSON所有數(shù)據(jù)

    這篇文章主要介紹了Python如何遍歷JSON所有數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08

最新評論

平安县| 龙胜| 澜沧| 金溪县| 双牌县| 吴忠市| 江西省| 辽源市| 资阳市| 资阳市| 定州市| 宝坻区| 衡阳县| 大理市| 平和县| 贡嘎县| 东城区| 内乡县| 南投市| 绥阳县| 无锡市| 衡南县| 万山特区| 景泰县| 广饶县| 林州市| 天柱县| 凤庆县| 平凉市| 萨嘎县| 浏阳市| 邯郸县| 泗洪县| 乌恰县| 二手房| 阿克苏市| 泸溪县| 朝阳县| 西藏| 合水县| 吴江市|