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

pytorch?plt.savefig()的用法及保存路徑

 更新時間:2022年01月27日 10:40:45   作者:因為簡單,所以快樂  
這篇文章主要給大家介紹了關(guān)于pytorch?plt.savefig()的用法及保存路徑的相關(guān)資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

圖像有時候比數(shù)據(jù)更能滿足人們的視覺需求

Pytorch中保存圖片的方式

pytorch下保存圖像有很多種方法,但是這些基本上都是基于圖像處理的,將圖像的像素指定一定的維度 ,方法如下:

1、tensor直接保存

#!/usr/bin/env python
# _*_ coding:utf-8 _*_
import torch
from torchvision import utils as vutils
 
 
def save_image_tensor(input_tensor: torch.Tensor, filename):
    """
    將tensor保存為圖片
    :param input_tensor: 要保存的tensor
    :param filename: 保存的文件名
    """
    assert (len(input_tensor.shape) == 4 and input_tensor.shape[0] == 1)
    # 復(fù)制一份
    input_tensor = input_tensor.clone().detach()
    # 到cpu
    input_tensor = input_tensor.to(torch.device('cpu'))
    # 反歸一化
    # input_tensor = unnormalize(input_tensor)
    vutils.save_image(input_tensor, filename)

2、tensor轉(zhuǎn)cv2保存

#!/usr/bin/env python
# _*_ coding:utf-8 _*_
import torch
import cv2
 
 
def save_image_tensor2cv2(input_tensor: torch.Tensor, filename):
    """
    將tensor保存為cv2格式
    :param input_tensor: 要保存的tensor
    :param filename: 保存的文件名
    """
    assert (len(input_tensor.shape) == 4 and input_tensor.shape[0] == 1)
    # 復(fù)制一份
    input_tensor = input_tensor.clone().detach()
    # 到cpu
    input_tensor = input_tensor.to(torch.device('cpu'))
    # 反歸一化
    # input_tensor = unnormalize(input_tensor)
    # 去掉批次維度
    input_tensor = input_tensor.squeeze()
    # 從[0,1]轉(zhuǎn)化為[0,255],再從CHW轉(zhuǎn)為HWC,最后轉(zhuǎn)為cv2
    input_tensor = input_tensor.mul_(255).add_(0.5).clamp_(0, 255).permute(1, 2, 0).type(torch.uint8).numpy()
    # RGB轉(zhuǎn)BRG
    input_tensor = cv2.cvtColor(input_tensor, cv2.COLOR_RGB2BGR)
    cv2.imwrite(filename, input_tensor)

3、tensor轉(zhuǎn)pillow保存

def save_image_tensor2pillow(input_tensor: torch.Tensor, filename):
    """
    將tensor保存為pillow
    :param input_tensor: 要保存的tensor
    :param filename: 保存的文件名
    """
    assert (len(input_tensor.shape) == 4 and input_tensor.shape[0] == 1)
    # 復(fù)制一份
    input_tensor = input_tensor.clone().detach()
    # 到cpu
    input_tensor = input_tensor.to(torch.device('cpu'))
    # 反歸一化
    # input_tensor = unnormalize(input_tensor)
    # 去掉批次維度
    input_tensor = input_tensor.squeeze()
    # 從[0,1]轉(zhuǎn)化為[0,255],再從CHW轉(zhuǎn)為HWC,最后轉(zhuǎn)為numpy
    input_tensor = input_tensor.mul_(255).add_(0.5).clamp_(0, 255).permute(1, 2, 0).type(torch.uint8).numpy()
    # 轉(zhuǎn)成pillow
    im = Image.fromarray(input_tensor)
    im.save(filename)

 主要是寫一些函數(shù)來保存圖片;

另外,pytorch中有很多可以直接保存圖片的語句

save_image(fake_images, './img/fake_images-{}.png'.format(epoch + 1))

此語句同樣需要轉(zhuǎn)化像素。

那么如果

我只需要打開一個視窗,觀察訓(xùn)練過程中圖像的變化,我對圖像像素保存沒有什么需求,只是保存一個視窗,那么我需要的保存圖像的函數(shù)僅僅是一個

plt.savefig

plt.savefig的用法以及保存的路徑,及訓(xùn)練過程中不會被覆蓋掉,可以上代碼供大家參考

        if epoch % 10== 0:
            plt.title('ber:{:.3f},a: {:.3f},b:{:.3f},snr: {:.3f}'.format(
            error_rate, a, b,M 
            ))
            plt.plot(r3)  # 繪制波形
 
            # save_image(r3, './img/fake_images-{}.png'.format(epoch + 1))
            # print(type(r3))
            # plt.draw()
            plt.draw()
            plt.savefig('./img/pic-{}.png'.format(epoch + 1))
            plt.pause(1)
 
            plt.close(fig1)

大功告成,可以看看保存后的圖片

 已經(jīng)都整整齊齊的在我的保存路徑下了。

總結(jié)

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

相關(guān)文章

  • Python+OpenCV數(shù)字圖像處理之ROI區(qū)域的提取

    Python+OpenCV數(shù)字圖像處理之ROI區(qū)域的提取

    ROI區(qū)域又叫感興趣區(qū)域。在機器視覺、圖像處理中,從被處理的圖像以方框、圓、橢圓、不規(guī)則多邊形等方式勾勒出需要處理的區(qū)域,稱為感興趣區(qū)域,ROI。本文主要為大家介紹如何通過Python+OpenCV提取ROI區(qū)域,需要的朋友可以了解一下
    2021-12-12
  • 詳解Matplotlib繪圖之屬性設(shè)置

    詳解Matplotlib繪圖之屬性設(shè)置

    這篇文章主要介紹了詳解Matplotlib繪圖之屬性設(shè)置,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-08-08
  • Python使用pandas模塊實現(xiàn)表之間的關(guān)聯(lián)

    Python使用pandas模塊實現(xiàn)表之間的關(guān)聯(lián)

    在數(shù)據(jù)分析和處理中,表之間的關(guān)聯(lián)是非常常見的操作,本文為大家介紹了pandas中實現(xiàn)表之間的關(guān)聯(lián)有四種方式,感興趣的小伙伴可以了解一下
    2023-07-07
  • python數(shù)據(jù)類型_元組、字典常用操作方法(介紹)

    python數(shù)據(jù)類型_元組、字典常用操作方法(介紹)

    下面小編就為大家?guī)硪黄猵ython數(shù)據(jù)類型_元組、字典常用操作方法(介紹)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • 在Mac OS上部署Nginx和FastCGI以及Flask框架的教程

    在Mac OS上部署Nginx和FastCGI以及Flask框架的教程

    這篇文章主要介紹了在Mac OS上部署Nginx和FastCGI以及Flask框架的教程,Flask是Python下一個極簡的web開放框架,需要的朋友可以參考下
    2015-05-05
  • Python?Pygame實戰(zhàn)之歡樂打地鼠游戲

    Python?Pygame實戰(zhàn)之歡樂打地鼠游戲

    打地鼠是一款比較經(jīng)典的敏捷類游戲,我們可以在許多商場門口看到這類游戲機,在電腦和手機上也有許多類似的游戲。本文將用Python中的Pygame庫實現(xiàn)這一游戲,需要的可以參考一下
    2022-02-02
  • 詳解Python中常用的圖片處理函數(shù)的使用

    詳解Python中常用的圖片處理函數(shù)的使用

    這篇文章主要為大家介紹了一些在Python中常用的圖片處理函數(shù)的使用,例如split()、merge()、threshold()、applyColorMap()等,需要的可以參考一下
    2022-01-01
  • Pycharm之快速定位到某行快捷鍵的方法

    Pycharm之快速定位到某行快捷鍵的方法

    今天小編就為大家分享一篇Pycharm之快速定位到某行快捷鍵的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • python教程之用py2exe將PY文件轉(zhuǎn)成EXE文件

    python教程之用py2exe將PY文件轉(zhuǎn)成EXE文件

    py2exe是一個將python腳本轉(zhuǎn)換成windows上的可獨立執(zhí)行的可執(zhí)行程序(*.exe)的工具,這樣,你就可以不用裝python而在windows系統(tǒng)上運行這個可執(zhí)行程序。
    2014-06-06
  • 實例講解Python設(shè)計模式編程之工廠方法模式的使用

    實例講解Python設(shè)計模式編程之工廠方法模式的使用

    這篇文章主要介紹了Python設(shè)計模式編程之工廠方法模式的運用實例,文中也對Factory Method模式中涉及到的角色作出了解析,需要的朋友可以參考下
    2016-03-03

最新評論