欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何從PyTorch中獲取過程特征圖實例詳解

 更新時間:2023年01月10日 11:43:28   作者:ViperL1  
特征提取是圖像處理過程中常需要用到的一種方法,其效果好壞對模型的泛化能力有至關(guān)重要的影響,下面這篇文章主要給大家介紹了關(guān)于如何從PyTorch中獲取過程特征圖的相關(guān)資料,需要的朋友可以參考下

一、獲取Tensor

神經(jīng)網(wǎng)絡在運算過程中實際上是以Tensor為格式進行計算的,我們只需稍稍改動一下forward函數(shù)即可從運算過程中抓到Tensor

代碼如下:

base_feature = self.extractor.forward(x)    #正常的前向傳遞
feature=base_feature.detach()               #抓取tensor
feature_imshow(feature)                     #展示函數(shù)(關(guān)鍵代碼)

通過將過程張量賦值給一個臨時變量,即可將其從前向傳遞中分離出來且不影響原來的前向傳遞函數(shù),這種方法遠比復雜的hook函數(shù)更實用。

將Tensor數(shù)據(jù)取到后到可視化還需要進行以下幾步:

①類型轉(zhuǎn)換

如果網(wǎng)絡是在cuda中進行運算,則需要將提取到的tensor轉(zhuǎn)換為cpu類型才能進行接下來的運算

inp = inp.cpu()        #類型轉(zhuǎn)換

②張量拆解

網(wǎng)絡中的張量一般是高維度的,需要對其進行降維,一般降至兩維即可進行顯示。這里以Faster R-CNN中的resnet50特征提取網(wǎng)絡為例:輸出其特征圖尺寸為:[1,1024,68,38],可以很明顯的看出,第一維實際上是batch_size,在圖像顯示中不需要,可以直接去除;第二維1024則是網(wǎng)絡提取到的特征圖張數(shù),故可以對第二維進行遍歷;而第3,4維是特征圖的尺寸,直接顯示即可。

inp=inp.squeeze(0)    #除去第一維
 
for i in range(len(inp)):
    plt.imshow(transforms.ToPILImage()(inp[i]))    #遍歷第二維并將其轉(zhuǎn)換為圖像

③圖像展示

選取你需要的特征圖像,進行保存或使用plt進展示

完整的展示函數(shù)如下:

def feature_imshow(inp, title=None):
    inp = inp.cpu()
    inp=inp.squeeze(0)
    print(inp.shape)
    plt.figure(figsize=(12, 7))
    for i in range(len(inp)):
        plt.subplot(4, 5, i+1)    #第一二個參數(shù)為圖像個數(shù),第三參數(shù)為圖像位置
        plt.imshow(transforms.ToPILImage()(inp[i]))
        i+=1
    plt.show()
    plt.pause(0.001)

總結(jié)

到此這篇關(guān)于如何從PyTorch中獲取過程特征圖的文章就介紹到這了,更多相關(guān)PyTorch獲取過程特征圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python os用法總結(jié)

    python os用法總結(jié)

    本篇文章給大家分享了關(guān)于python os用法的相關(guān)總結(jié)性內(nèi)容,對此有學習需要朋友參考下吧。
    2018-06-06
  • python的簡單四則運算語法樹可視化

    python的簡單四則運算語法樹可視化

    這篇文章主要介紹了python的簡單四則運算語法樹可視化,這篇文章的內(nèi)容也很簡單,就是給定一個四則運算的表達式,畫出它的語法樹,需要的朋友可以參考下
    2023-04-04
  • Python深入淺出分析enum枚舉類

    Python深入淺出分析enum枚舉類

    在python中枚舉是一種類(Enum,IntEnum),存放在enum模塊中。枚舉類型可以給一組標簽賦予一組特定的值,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • Python 判斷是否為質(zhì)數(shù)或素數(shù)的實例

    Python 判斷是否為質(zhì)數(shù)或素數(shù)的實例

    下面小編就為大家?guī)硪黄狿ython 判斷是否為質(zhì)數(shù)或素數(shù)的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • python 數(shù)字轉(zhuǎn)換為日期的三種實現(xiàn)方法

    python 數(shù)字轉(zhuǎn)換為日期的三種實現(xiàn)方法

    在Python中,我們經(jīng)常需要處理日期和時間,本文主要介紹了python 數(shù)字轉(zhuǎn)換為日期的三種實現(xiàn)方法,包含datetime模塊,strftime方法及pandas庫,具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • python中base64加密解密方法實例分析

    python中base64加密解密方法實例分析

    這篇文章主要介紹了python中base64加密解密方法,實例分析了base64加密解密的原理、用途與相關(guān)使用技巧,需要的朋友可以參考下
    2015-05-05
  • Python?jpg快速轉(zhuǎn)png并調(diào)整大小方式

    Python?jpg快速轉(zhuǎn)png并調(diào)整大小方式

    這篇文章主要介紹了Python實現(xiàn)jpg快速轉(zhuǎn)png并調(diào)整大小方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • python調(diào)用shell的方法

    python調(diào)用shell的方法

    這篇文章主要介紹了python調(diào)用shell的方法,python調(diào)用shell命令的方法有許多種,大家可以參考使用
    2013-11-11
  • Python?pip命令清除Python包緩存文件問題

    Python?pip命令清除Python包緩存文件問題

    這篇文章主要介紹了Python?pip命令清除Python包緩存文件問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 詳解python文件的操作和異常的處理

    詳解python文件的操作和異常的處理

    這篇文章主要為大家介紹了python文件的操作和異常的處理,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12

最新評論