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

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 Datasetclass MyData(Dataset):def __init__(self,root_dir,label_dir):self.root_dir=root_dirself.label_dir=label_dirself.path=os.path.join(self.root_dir,self.label_dir)self.datalist=os.listdir(self.path)def __getitem__(self,idx):label=self.label_dirimg_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))

在这里插入图片描述

待补充…

http://www.lryc.cn/news/3016.html

相关文章:

  • 【Java|golang】2335. 装满杯子需要的最短总时长
  • shell编程之sed
  • 安全寒假作业nginx反向代理+负载均衡上传webshell重难点+apache漏洞
  • day35|01背包问题、416. 分割等和子集
  • Linux内核启动(3,0.11版本)内核启动完成与进入内核main函数
  • 【2023】Prometheus-Alertmanager高可用集群
  • 2023-2-11 刷题情况
  • 2019_41 考研408
  • Linux账号与用户组
  • 有趣的Hack-A-Sat黑掉卫星挑战赛——定位卫星Jackson
  • JAVA集合专题3 —— vector + LinkedList + Set
  • Scout:一款功能强大的轻量级URL模糊测试与爬取工具
  • leaflet 解决marker呈现灰色边框的问题
  • MySQL JSON类型字段的查找与更新
  • element Ui树状图控件 spring boot Vue 实现角色授权功能
  • 已解决sc delete MongoDB卸载MongoDB拒绝访问。
  • python的opencv操作记录11——阈值分割
  • Python-项目实战--飞机大战-英雄登场(7)
  • 寒假安全作业nginx-host绕过实例复现
  • RocketMQ-消息消费模式 顺序消费
  • 一、Java并发编程之线程、synchronized
  • 12.hadoop系列之MapReduce分区实践
  • 有了独自开,一个人就是一个团队
  • web期末复习 2023.02.11
  • 第44章 用户密码实体及其约束规则的定义实现
  • 聊聊并发与锁
  • 开源项目 —— 原生JS实现斗地主游戏 ——代码极少、功能都有、直接粘贴即用
  • Linux第四讲
  • Redis 持久化
  • Python语言零基础入门教程(十三)