Torch用法(0)image<->テンソル

1845 ワード

これから実习の仕事をする时、勉强の场所を整理したいです.

Torchの使い方に詳しい


チュートリアル・サイト:https://tutorials.pytorch.kr/beginner/basics/buildmodel_tutorial.html
ニューラルネットワークを作る前に、Pythorchを正式に使う方法を学びたいです.
これは私がパイを使うのは初めてです.すべてが新鮮ですが.
まず書類を見て、必要な部分だけ真似しました.

モジュールのインポート

import os
import torch
from torch import nn
from torch.utils.data import DataLoader
from torchvision import datasets, transforms

クーダ使用チェック

device = 'cuda' if torch.cuda.is_available() else 'cpu'
print('Using {} device'.format(device))
gpuを可用性に応じて印刷させます.
初めてfi斬り環境を設定した時にやった部分なので、簡単に見てスキップします.

変換画像<->Tenser


tensor -> Image


従来のラーメン画像をTenserにインポートし、[channel,height,width]形式に変換する.
逆に,任意に生成した[channel,height,widht]を画像に変換できるかどうか知りたい.
これにより、任意の3チャネル128 X 128の数字が生成される.
input_image = torch.rand(3,128,128)
print(input_image.size())
torchvision.transform.ToPILImage()関数を使用してTenserを画像に変換できます.
tf = transforms.ToPILImage()
img = tf(input_image)
img.show()

3つのチャネルをランダムにデジタル変換して出力すると、このように見えます.

Image -> tensor

img = PIL.Image.open('./test_DB/test_gallery_dog_noes_images_folds_5/~~~')
tf = transforms.ToTensor()
img_t = tf(img)
print(img_t.size())
このようにイメージパスを設定してロードします.
torchvision.transform.ToTensor関数を使用して画像をTensorに変換できます.

3チャンネル540 X 602 Tenserへの変換が確認できます.