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))

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值