pytorch学习笔记

pycharm实用快捷键:1、ALT + Enter快速引用库 2、ctrl + p看函数需要的参数 3 、按住crtl可以点击库查看源代码

python的学习方法:     

关注输入和输出类型                                                        不知道返回值时

多看官方文档                                                                    print

关注方法需要什么参数                                                      print(type())

                                                                                          debug

代码来自b站up:我是土堆

python自带的打开图片函数:

form PIL import Image

img_path = "data"
img = Image.open(img_path)

、pytorch加载数据的模式

二、tensorboard的使用方法

先导入库

from torch.utils.tensorboard import SummaryWriter

writer = SummaryWriter("log")#存储的文件
writer.add_image("tag",img_tensor,global_step,dataformats='CHW')
#img_tensor只接受tensor和numpy数据类型 global是步骤
#最后是格式,默认是(通道,高度,宽度)如果不匹配用.shape方法看numpy的格式然后修改

wirter.add_scalar("tag",scalar_values,global_step)#scalar是y轴,global是x轴画图用

writer.close()

用opencv读取图片的方法:

import cv2
cv_img = cv2.imread(img_path)#cv_img会变成numpy类型

查看tensorboard方法:

先运行然后再终端打开pytorch如果没有输入conda acitvate pytorch

然后在终端输入logdir=事件所在的文件夹名

很多人使用该端口的话可以用tensorboard -- logdir=logs --port=6007改变端口

三、transforms的用法

totensor类型

 实现上面的代码

from torchvision impoert transform
from PIL import Image

img_path = "data"
img = Image.open(img_path)

tensor_trans = transform.ToTensor()#生成tool
tensor_img = tensor_trans(img)

归一化

form torchvision import transforms

trans_norm = transforms.Normalize([0.5,0.5,0.5],[0.5,0.5,0.5])
img_norm = trans_norm(img_tensor)

归一化公式:

input[channel]=(input[channel]-mean[channel])/std[channel]

带入0.5得(input-0.5)/0.5 = 2*input-1

input[0,1]

result[-1,1]

Resize:调整图片大小

trans_resize = transform.Resize((512,512))
img_resize = trans_resize(img)#PIL类型

img_resize = trans_totensor(img_resize)#转换tensor类型

Compose:组合

trans_resize_2 = transform.Resize(512)
trans_compose = transforms.Compose([trans_resize_2,trans_totensor])#前后参数输入输出要匹配
image_resize_2 = trans_compose(img)

RandomCrop:随机裁剪

trans_random = transforms.RandomCrop(512)
trans_compose_2 = transforms.Compose([trans_random,trans_totensor])

四、torchvision中的数据集

import torchvision

dataset_transform = torchvision.Compose([
     torchvision.transforms.ToTensor()
])

train_set = torchvivion.datasets.CIFAR10(root="data",train=True,transform=dataset_transform,download=True)

五、Dataloader的用法

import torchvision
from utils.data import DataLoader

test_loader = DataLoader(dataset=test_data, bath_size=4,
 shuffle=True, num_workers=0, drop_last=False)
#第二个参数为抓取图片的数量,shuffle为true则打乱顺序,
#drop_last为true则去掉剩余的数据

DataLoader会打包好每一个数据需要用for循环读取

test_loader = DataLoader(dataset=test_data, bath_size=4,
 shuffle=True, num_workers=0, drop_last=False)

step = 0
for data in test_loader:
    imgs, targets = data 
    step += 1

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值