Pytorch快速入门学习-数据操作和数据预处理

Pytorch快速入门学习-数据操作和数据预处理

加载数据

  • DataSet:提供一种方式获取数据以及它的标签
  • DataLoader:为后面的网络提供不同的数据形式

复习一下anaconda操作:

  • 查看现有的虚拟环境 conda info -e
  • 激活指定的虚拟环境 conda activate 名称
  • 安装jupyter conda install jupyter notebook

DataSet类代码实战

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

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.img_path = os.listdir(self.path)

    def __getitem__(self, index) :
        ## 获取图片名称
        img_name = self.img_path[index]
        ## 获取图片路径  使用图片文件名进行拼接 获取相对路径
        img_item_path = os.path.join(self.root_dir,self.label_dir,img_name)
        ## 读取图片
        img = Image.open(img_item_path)
        label = self.label_dir
        ## 返回图片和标签
        return img,label

    def __len__(self):

        ## 返回图片列表的长度
        return len(self.img_path)


root_dir = "../../AllData/dataset1/train"
ants_label_dir = "ants"

## 实例化对象
ants_dataset = MyData(root_dir,ants_label_dir)

## 124张图片
print(ants_dataset.__len__())

## 根据索引 获取图片和标签
img,label = ants_dataset[0]
img.show()
print(label)

## 获取蜜蜂数据集  
bees_label_dir = "bees"

bees_dataset = MyData(root_dir,bees_label_dir)

## 获取总数据集
train_dataset = ants_dataset + bees_dataset

## 展示蜜蜂数据
img,label = train_dataset[124]
img.show()

Tensorboard的使用

主要是用来绘图的

  • 安装tensorboard conda install tensorboard

运行下面的代码,得出Log文件夹 tensorboard的事件文件

from torch.utils.tensorboard import SummaryWriter

writer = SummaryWriter("logs")

for i in range(100):
    writer.add_scalar("y=x",i,i)

writer.close()

在这里插入图片描述

获取图片

# from torch.utils.tensorboardX import SummaryWriter
from tensorboardX import SummaryWriter
import numpy as np
from PIL import Image

## 创建一个实例
writer = SummaryWriter("logs")

# 填写相对路径
image_path = "../AllData/dataset1/train/ants_image/0013035.jpg"

#  获取图片
img_PIL = Image.open(image_path)

# 转换为numpy张量
img_array = np.array(img_PIL)

#  打印类型 以及形状
print(type(img_array))
print(img_array.shape)

#  指定图片形状 H W C
writer.add_image("test",img_array,1,dataformats='HWC')


for i in range(100):

    #  绘制图像
    #  y轴  x轴
    writer.add_scalar("y=2x",2 * i,i)

writer.close()

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

少写代码少看论文多多睡觉

求打赏,求关注,求点赞

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值