Python_pytorch

Posted Han Gang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python_pytorch相关的知识,希望对你有一定的参考价值。

python_pytorch

小土堆pytotch学习视频链接

from的是一个个的包(package)

import 的是一个个的py文件(file.py)

所使用的一般是文件中的类(.class)

第一步实例化所使用的类,然后调用类中的方法(def)

Dataset

数据集处理

import os
from PIL import Image
from torch.utils.data import Dataset

class MyData(Dataset):
  def __init__(self,root_dir,label_dir):
    self.root_dir=root_dir
    self.label_dir=label_dir
    self.path=os.path.join(self.root_dir,self.label_dir)
    self.datalist=os.listdir(self.path)
  def __getitem__(self,idx):
    label=self.label_dir
    img_path=os.path.join(self.root_dir,self.label_dir,self.datalist[idx])
    img=Image.open(img_path)

    return img,label

数据集调用

root_dir='/content/hymenoptera_data/train'
label_dir='ants'

ants=MyData(root_dir,label_dir)
img,label=ants[1]
img.show()
img,label

zip解压

import zipfile
zip_file=zipfile.ZipFile('/content/hymenoptera_data.zip')

zip_extract=zip_file.extractall('/content')
zip_file.close()

TensorBoard

from torch.utils.tensorboard import SummaryWriter
# help(SummaryWriter)

writer=SummaryWriter("/content/log")
for i in range(100):
  writer.add_scalar('y=x',i,i)
writer.close()
#经常用add_iamge()方法

# tensorboard --logdir="log" 在服务器显示记录的数据(终端输入)

Transform

1,Transform 如何使用

from torchvision import transforms
from PIL import Image
img_path="/content/QQ图片20210203204459.jpg"
img=Image.open(img_path)
print(type(img))
tensor_trans=transforms.ToTensor()
tensor_img=tensor_trans(img)
print(tensor_img)
tensor_img.shape

2,我们为什么要使用tensor数据类型

包装了我们神经网络中很多(反向传播,梯度计算等)所必须的数据处理类型。

import cv2
from torch.utils.tensorboard import SummaryWriter
img_cv=cv2.imread(img_path)
print(type(img_cv))
tensor_trans2=transforms.ToTensor()
tensor_image=tensor_trans2(img_cv)
print(type(tensor_image))
writer=SummaryWriter("/content/log")
writer.add_image("tensor_img",tensor_image)
writer.close()

3,常见的Transforms

Totensor

from torchvision import transforms

#totensor 把narray和PIL类型转化为tensor类型
trans_tensor=transforms.ToTensor()
print(type(img))
img_tensor=trans_tensor(img)
print(type(img_tensor))

resize

from torchvision import transforms

#Resize 把输入的图片尺寸更改为任意的尺寸a or (a,b)...
trans_resize=transforms.Resize((512,551))
print(img.size)
img_resize=trans_resize(img)
print(img_resize.size)

compose

from torchvision import transforms

# compose 结合多种transforms的转换方法
trans_compose=transforms.Compose([trans_resize,trans_tensor])
img_compose=trans_compose(img)
print(img_compose.shape,type(img_compose))

待补充…

以上是关于Python_pytorch的主要内容,如果未能解决你的问题,请参考以下文章

深度学习“深度学习”-概念篇

什么是深度学习?深度学习能用来做什么?

深度学习入门 2022 最新版 深度学习简介

深度学习简介

深度学习之一:神经网络与深度学习

深度学习深度学习基础学习笔记