复习土堆学习

1.p6.dataset类实战

数据集:

代码

from torch.utils.data import Dataset  # Ctrl+点击函数即可跳转
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, idx):
        img_name = self.img_path[idx]
        img_item_name = os.path.join(self.root_dir, self.label_dir, img_name)
        img = Image.open(img_item_name)
        label = self.label_dir
        return img, label

    def __len__(self):
        return len(self.img_path)


root_dir = "D:\\pycharmprojects\\openmmlab\\tudui\hymenoptera_data\\train"
ants_label = "ants"
bees_label = "bees"

ants_dataset = MyData(root_dir, ants_label)
bees_dataset = MyData(root_dir, bees_label)
train_dataset = ants_dataset + bees_dataset

python控制台调试

2.p7.tensorboard的使用

(1)writer.add_scalar()的使用

没有就下载tensorboard,pip install tensorboard

from torch.utils.tensorboard import SummaryWriter

# 创建一个SummaryWriter实例,日志将被写入"logs7"目录
writer = SummaryWriter("logs7")

# writer.add_image()
# y=x
for i in range(100):
    # "y=2x", i, i=标题,y轴,x轴
    writer.add_scalar("y=x", i, i)  # 添加标量数据

writer.close()  # 当你完成数据记录后,应该关闭SummaryWriter

运行后出现logs7文件夹,在终端运行tensorboard --logdir=事件文件所在文件夹名称


但端口可能会冲突,可以对端口进行设置如指定端口tensorboard --logdir=logs7 --port=6007(要在相应文件夹下)

有时候意外标错标题的话,日志记录是重复的,可以删除日志文件夹下的日志重新生成

(2)writer.add_img()的使用

(3)利用opencv读取图片,获得为numpy型图片数据

先下载pip install opencv-python
(4)利用numpy.array(),对PIL图片进行转换

python控制台查看

查看类型

代码里面完整写入查看

from torch.utils.tensorboard import SummaryWriter
from PIL import Image
import numpy as np

# 创建一个SummaryWriter实例,日志将被写入"logs7"目录
writer = SummaryWriter("logs7")
image_path = 'D:/pycharmprojects/openmmlab/Tudui2/hymenoptera_data/train/ants/0013035.jpg'
img_PIL = Image.open(image_path)
print(type(img_PIL))
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')
# y=2x
for i in range(100):
    # "y=2x", 2*i, i=标题,y轴,x轴
    writer.add_scalar("y=2x", 2*i, i)  # 添加标量数据

writer.close()  # 当你完成数据记录后,应该关闭SummaryWriter

再打开tensorboard,可以看见

注意:ctrl+鼠标点击可以直接调转函数

3.(1)P10 transforms的使用

from torchvision import transforms
from PIL import Image
import cv2
from torch.utils.tensorboard import SummaryWriter

# 对图片的处理--transforms
# 通过transforms ->tensor 数据类型
image_path = 'D:/pycharmprojects/openmmlab/Tudui2/hymenoptera_data/train/ants/0013035.jpg'
img = Image.open(image_path)
print("类型:", type(img))
print(img)
writer = SummaryWriter("logs10")
# 1.transforms该如何使用,transforms中选择一个class进行创建
# 例如transforms.ToTensor()函数
tensor_trans = transforms.ToTensor()
tensor_img = tensor_trans(img)
print(tensor_img)
writer.add_image("Tensor_img", tensor_img)
writer.close()
# 2.为什么需要Tensor数据类型
cv_img = cv2.imread(image_path)

终端运行tensorboard --logdir=logs10 --port 6008

(1)P9 (2)p11常见的transforms(没学)

复习之后的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值