当前位置: 首页 > news >正文

Pytorch框架学习

一 、Pytorch加载数据

这一部分有空再补

二、Dataset代码实战

from torch.utils.data import Dataset
from PIL import Image
import cv2
import osclass Mydata(Dataset):def __init__(self,root_dir,label_dir):self.root_dir=root_dirself.label_dir=label_dir#合并:相当于root_dir目录下的某一类self.path=os.path.join(self.root_dir,self.label_dir)#root_dir目录下的某一类里的全部 整个数据集self.img_path=os.listdir(self.path)def __getitem__(self,idx):#idx相当于数组中的下标img_name=self.img_path[idx]#图片的位置img_item_path=os.path.join(self.root_dir,self.label_dir,img_name)#读取图片 需要 from PIL import Imageimg=Image.open(img_item_path)label=self.label_dirreturn img,labeldef __len__(self):#数据集的长度,即有多少张图片return len(self.img_path)root_dir="data/test"
blur_label_dir="blur"
cover_label_dir="cover"
blur_dataset=Mydata(root_dir,blur_label_dir)
cover_dataset=Mydata(root_dir,cover_label_dir)
#两个数据集的集合
train_dataset=blur_dataset+cover_dataset

三、TensorBoard的使用

1、add_scalar()的使用(常用来绘制train/val loss)

#从torch的工具箱(utils)中导出tensorboard这个类
from torch.utils.tensorboard import SummaryWriterwriter=SummaryWriter("logs")#writer.add_image()
#y=x
for i in range(100):writer.add_scalar("y=2x",2*i,i)writer.close()#以上运行后会创建一个logs文件夹#在终端运行以下命令会实现绘制y=x图像
tensorboard --logdir=logs

2、add_image()的使用

#从torch的工具箱(utils)中导出tensorboard这个类
from torch.utils.tensorboard import SummaryWriter
import numpy as np
from PIL import Image
writer=SummaryWriter("logs")image_path="data/test/blur/1.jpeg"
img_PIL=Image.open(image_path)
#把jpeg类型的图片转换为numpy类型
img_array=np.array(img_PIL)
#输出图片的类型
print(type(img_array))print(img_array.shape)writer.add_image("test",img_array,1,dataformats='HWC')

四、Transforms的使用

torchvision中的transforms

1、ToTensor()的使用
在这里插入图片描述

from torchvision import transforms
from PIL import Image
img_path="data/test/blur/1.jpeg"
img=Image.open(img_path)
#输出图片的类型
#print(img)tensor_trans=transforms.ToTensor()
#将img的图片类型转换为tensor类型
tensor_img=tensor_trans(img)
print(tensor_img)

2、为什么需要Tensor类型?

from torch.utils.tensorboard import SummaryWriter
from torchvision import transforms
from PIL import Image
img_path="data/test/blur/1.jpeg"
img=Image.open(img_path)
#输出图片的类型
#print(img)writer=SummaryWriter("logs")tensor_trans=transforms.ToTensor()
#将img的图片类型转换为tensor类型
tensor_img=tensor_trans(img)
print(tensor_img)
writer.add_image("tensor_img",tensor_img)writer.close()

在这里插入图片描述
在这里插入图片描述

http://www.dtcms.com/a/341818.html

相关文章:

  • Bigemap APP 详细使用教程,入门学习PPT
  • element table 表格多选框选中高亮
  • KubeBlocks for ClickHouse 容器化之路
  • 【运维进阶】shell三剑客
  • DeepSeek大模型如何重塑AI Agent?从技术突破到行业落地
  • 环境搭建-dockerfile构建镜像时apt软件包出现exit100错误+ pip下载python库时下载过慢的解决方法
  • SpringWeb详解
  • CorrectNav——基于VLM构建带“自我纠正飞轮”的VLN:通过「视觉输入和语言指令」预测导航动作,且从动作和感知层面生成自我修正数据
  • 【LeetCode热题100道笔记+动画】三数之和
  • Linux上安装MySQL 二进制包
  • TENON AI-AI大模型模拟面试官
  • idea进阶技能掌握, 自带HTTP测试工具HTTP client使用方法详解,完全可替代PostMan
  • 【力扣 买卖股票的最佳时机 Java/Python】
  • 数据库架构开发知识库体系
  • VGG改进(3):基于Cross Attention的VGG16增强方案
  • Foundry与Uniswap V2实战开发指南
  • 【自记】Power BI 中 DISTINCT 和 ALLNOBLANKROW 的区别说明
  • 比特分割 + 尖峰保留:FlashCommunication V2 实现任意比特通信与 3.2× 加速
  • 一键授权登录
  • Windows暂停更新10年最简单的设置
  • UNet改进(33):基于CBAM原理与PyTorch实战指南
  • 可信数据空间关键技术和功能架构研究
  • RAG流程全解析:从数据到精准答案
  • 地区电影市场分析:用Python爬虫抓取猫眼_灯塔专业版各地区票房
  • 不止效率工具:AI 在创意领域的 “叛逆生长”—— 从文案生成到艺术创作的突围
  • 【蒸蒸日上】专栏前言
  • 我的创作纪念日-2048天
  • 动态规划----6.单词拆分
  • 关于 Flask 3.0+的 框架的一些复习差异点
  • 在 Linux 和 Docker 中部署 MinIO 对象存储