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

Pytorch如何把Tensor轉(zhuǎn)化成圖像可視化

 更新時間:2022年12月13日 09:56:15   作者:亂覺先森  
這篇文章主要介紹了Pytorch如何把Tensor轉(zhuǎn)化成圖像可視化問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Pytorch把Tensor轉(zhuǎn)化成圖像可視化

在調(diào)試程序的時候經(jīng)常想把tensor可視化成來看看,可以這樣操作:

from torchvision import transforms
unloader = transforms.ToPILImage()
image = original_tensor.cpu().clone() ?# clone the tensor
image = image.squeeze(0) ?# remove the fake batch dimension
image = unloader(image)
image.save('example.jpg')

pytorch標準化的Tensor轉(zhuǎn)圖像問題

常常在工作之中遇到將dataloader中出來的tensor成image,numpy格式的數(shù)據(jù),然后可以可視化出來

但是這種tensor往往經(jīng)過了channel變換(RGB2BGR),以及歸一化(減均值除方差),

然后維度的順序也發(fā)生變化(HWC變成CHW)。為了可視化這種變化比較多的數(shù)據(jù),

在tensor轉(zhuǎn)numpy之前需要對tensor做一些處理

如下是一個簡單的函數(shù),可以可視化tensor,下次直接拿來用就行

def tensor2im(input_image, imtype=np.uint8):
    """"
    Parameters:
        input_image (tensor) --  輸入的tensor,維度為CHW,注意這里沒有batch size的維度
        imtype (type)        --  轉(zhuǎn)換后的numpy的數(shù)據(jù)類型
    """
    mean = [0.485, 0.456, 0.406] # dataLoader中設置的mean參數(shù),需要從dataloader中拷貝過來
    std = [0.229, 0.224, 0.225]  # dataLoader中設置的std參數(shù),需要從dataloader中拷貝過來
    if not isinstance(input_image, np.ndarray):
        if isinstance(input_image, torch.Tensor): # 如果傳入的圖片類型為torch.Tensor,則讀取其數(shù)據(jù)進行下面的處理
            image_tensor = input_image.data
        else:
            return input_image
        image_numpy = image_tensor.cpu().float().numpy()  # convert it into a numpy array
        if image_numpy.shape[0] == 1:  # grayscale to RGB
            image_numpy = np.tile(image_numpy, (3, 1, 1))
        for i in range(len(mean)): # 反標準化,乘以方差,加上均值
            image_numpy[i] = image_numpy[i] * std[i] + mean[i]
        image_numpy = image_numpy * 255 #反ToTensor(),從[0,1]轉(zhuǎn)為[0,255]
        image_numpy = np.transpose(image_numpy, (1, 2, 0))  # 從(channels, height, width)變?yōu)?height, width, channels)
    else:  # 如果傳入的是numpy數(shù)組,則不做處理
        image_numpy = input_image
    return image_numpy.astype(imtype)

總結

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 詳解用python生成隨機數(shù)的幾種方法

    詳解用python生成隨機數(shù)的幾種方法

    這篇文章主要介紹了詳解用python生成隨機數(shù)的幾種方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • SpringBoot中的@MessageMapping注解詳解

    SpringBoot中的@MessageMapping注解詳解

    這篇文章主要介紹了SpringBoot中的@MessageMapping注解詳解,Spring Boot 提供了對 WebSocket 的支持,其中 @MessageMapping 注解是一個常用的注解,它可以將一個 Java 方法標記為 WebSocket 的消息處理器,需要的朋友可以參考下
    2023-08-08
  • python+pyqt實現(xiàn)12306圖片驗證效果

    python+pyqt實現(xiàn)12306圖片驗證效果

    這篇文章主要為大家詳細介紹了python+pyqt實現(xiàn)12306圖片驗證效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • Django模型層實現(xiàn)多表關系創(chuàng)建和多表操作

    Django模型層實現(xiàn)多表關系創(chuàng)建和多表操作

    使用django ORM可以創(chuàng)建多表關系,并且也支持多張表之間的操作,以創(chuàng)建表關系和查詢兩部分說明django ORM的多表操作,本文就詳細的介紹一下,感興趣的可以了解一下
    2021-07-07
  • 使用Python爬了4400條淘寶商品數(shù)據(jù),竟發(fā)現(xiàn)了這些“潛規(guī)則”

    使用Python爬了4400條淘寶商品數(shù)據(jù),竟發(fā)現(xiàn)了這些“潛規(guī)則”

    這篇文章主要介紹了使用Python爬了4400條淘寶商品數(shù)據(jù),竟發(fā)現(xiàn)了這些“潛規(guī)則”,筆者用 Python 爬取淘寶某商品的全過程,并對商品數(shù)據(jù)進行了挖掘與分析,最終得出結論。需要的朋友可以參考下
    2018-03-03
  • Django框架中間件定義與使用方法案例分析

    Django框架中間件定義與使用方法案例分析

    這篇文章主要介紹了Django框架中間件定義與使用方法,結合具體案例形式分析了Django框架中間件相關定義、原理、使用方法及操作注意事項,需要的朋友可以參考下
    2019-11-11
  • socket連接關閉問題分析

    socket連接關閉問題分析

    socket建立連接的時候是三次握手,這個大家都很清楚,但是socket關閉連接的時候,需要進行四次揮手,但很多人對于這四次揮手的具體流程不清楚,吃了很多虧,本文來為大家進行分析
    2022-01-01
  • python語言中with as的用法使用詳解

    python語言中with as的用法使用詳解

    本篇文章主要介紹了python語言中with as的用法使用詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • python實現(xiàn)去除空格及tab換行符的方法

    python實現(xiàn)去除空格及tab換行符的方法

    這篇文章主要為大家介紹了python實現(xiàn)去除空格及tab換行符的方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • 如何使用pandas讀取txt文件中指定的列(有無標題)

    如何使用pandas讀取txt文件中指定的列(有無標題)

    這篇文章主要介紹了如何使用pandas讀取txt文件中指定的列(有無標題),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03

最新評論