b站小土堆pytorch学习记录——P9-P10 transforms的使用

文章目录

  • 一、前置知识
    • 1.torchvision简要介绍
    • 2.transforms简要介绍
  • 二、代码

一、前置知识

1.torchvision简要介绍

torchvision 是 PyTorch 提供的一个专门针对计算机视觉任务的软件包,它为用户提供了一系列用于处理图像和视频数据的工具和实用函数。
torchvision 包含了许多常用的数据集、模型架构、图像转换类以及实用函数,方便用户进行图像处理和计算机视觉任务的开发和研究。

torchvision 主要功能:

数据集:提供了常用的图像数据集,如MNIST、CIFAR-10、ImageNet 等,方便用户下载和加载这些数据集进行训练和测试。
模型:包含了预训练的深度学习模型,如 ResNet、VGG、AlexNet 等,用户可以直接使用这些模型进行迁移学习或微调。
图像转换:提供了一系列用于数据增强和预处理的函数和类,如对图像进行裁剪、缩放、旋转、归一化等操作。
工具函数:提供了一些实用的函数,如计算图像均值和标准差、可视化图像、计算特征图大小等。

2.transforms简要介绍

在PyTorch中,transforms是一个用于 数据预处理和数据增强 的重要模块,主要包含了各种对图像、文本、音频等数据进行处理的函数和类。transforms模块可以帮助用户方便地对数据进行各种转换操作,以满足神经网络训练的需求。

transforms模块中常用的函数和类:
ToTensor: 将PIL图像或numpy数组转换为PyTorch张量。
Normalize: 标准化图像数据。
Resize: 调整图像大小。
RandomCrop: 随机裁剪图像。
RandomHorizontalFlip: 随机水平翻转图像。
Compose: 将多个转换组合在一起。

二、代码

from PIL import Image
from torchvision import transforms
from torch.utils.tensorboard import SummaryWriterimg_path = "data/train/ants_image/0013035.jpg"
# 使用PIL的Image模块中的open函数打开指定路径的图像文件,将其加载为一个PIL图像对象
img = Image.open(img_path)writer = SummaryWriter("logs")# 创建一个transforms对象
tensor_trans = transforms.ToTensor()
# 调用ToTensor()函数,将PIL图像对象img转换为PyTorch的tensor格式,并将结果保存在tensor_img变量中
tensor_img = tensor_trans(img)writer.add_image("Tensor_img", tensor_img)print(tensor_img)

运行结果:

		tensor([[[0.3137, 0.3137, 0.3137,  ..., 0.3176, 0.3098, 0.2980],[0.3176, 0.3176, 0.3176,  ..., 0.3176, 0.3098, 0.2980],[0.3216, 0.3216, 0.3216,  ..., 0.3137, 0.3098, 0.3020],...,[0.3412, 0.3412, 0.3373,  ..., 0.1725, 0.3725, 0.3529],[0.3412, 0.3412, 0.3373,  ..., 0.3294, 0.3529, 0.3294],[0.3412, 0.3412, 0.3373,  ..., 0.3098, 0.3059, 0.3294]],[[0.5922, 0.5922, 0.5922,  ..., 0.5961, 0.5882, 0.5765],[0.5961, 0.5961, 0.5961,  ..., 0.5961, 0.5882, 0.5765],[0.6000, 0.6000, 0.6000,  ..., 0.5922, 0.5882, 0.5804],...,[0.6275, 0.6275, 0.6235,  ..., 0.3608, 0.6196, 0.6157],[0.6275, 0.6275, 0.6235,  ..., 0.5765, 0.6275, 0.5961],[0.6275, 0.6275, 0.6235,  ..., 0.6275, 0.6235, 0.6314]],[[0.9137, 0.9137, 0.9137,  ..., 0.9176, 0.9098, 0.8980],[0.9176, 0.9176, 0.9176,  ..., 0.9176, 0.9098, 0.8980],[0.9216, 0.9216, 0.9216,  ..., 0.9137, 0.9098, 0.9020],...,[0.9294, 0.9294, 0.9255,  ..., 0.5529, 0.9216, 0.8941],[0.9294, 0.9294, 0.9255,  ..., 0.8863, 1.0000, 0.9137],[0.9294, 0.9294, 0.9255,  ..., 0.9490, 0.9804, 0.9137]]])

在终端运行 tensorboard --logdir=logs后,打开tensorboard,显示的结果如下:

在这里插入图片描述

tensor到底是什么?
借用小土堆的一个很形象的图:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/505190.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C语言结构体】用户自定义类型--结构体,结构体传参,位段,联合体和枚举【图文详解】

欢迎来CILMY23的博客喔,本篇为【C语言结构体】用户自定义类型--结构体,结构体传参,位段,联合体和枚举【图文详解】,感谢观看,支持的可以给个一键三连,点赞关注收藏。 前言 上一篇(ht…

Java 数组(详细)

目录 一、数组的概述 1. 数组的理解: 2. 数组相关的概念: 3. 数组的特点: 4. 数组的分类: 5.数据结构: 二、一维数组 1. 一维数组的声明与初始化 2. 一维数组元素的引用: 3. 数组的属性&#xff1…

二百二十五、海豚调度器——用DolphinScheduler调度执行Flume数据采集任务

一、目的 数仓的数据源是Kafka,因此离线数仓需要用Flume采集Kafka中的数据到HDFS中 在实际项目中,不可能一直在Xshell中启动Flume任务,一是项目的Flume任务很多,二是一旦Xshell页面关闭Flume任务就会停止,这样非常不…

第17章-文件传输协议

1. 概述 2. FTP协议 2.1 定义 2.2 端口 2.3 数据传输方式 2.4 文件传输模式 3. TFTP协议 3.1 定义: 4. 常用命令 1. 概述 场景:远端主机和本地服务器 2. FTP协议 2.1 定义 FTP(File Transfer Protocol):文件传输协议;…

jupyter调用envs环境——jupyter内核配置虚拟环境

1.jupyter无法使用envs环境 pycharm的终端打开jupyter notebook: 在kernel下找不到上面的Pytorch_GPU环境: 2.解决方法 在对应的envs环境中安装ipykernel: 将该环境写入jupyter: python -m ipykernel install --user --name Py…

svn介绍 4.0

一、svn介绍(版本控制工具) 1、svn的定义: svn是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式个管…

SpringBoot原理-配置优先级(黑马学习笔记)

配置优先级 在我们前面的课程当中,我们已经讲解了SpringBoot项目当中支持的三类配置文件: ● application.properties ● application.yml ● application.yaml 在SpringBoot项目当中,我们要想配置一个属性,可以通过这三种方…

2024年最新腾讯云学生专属的服务器优惠活动申请流程

2024年腾讯云学生服务器优惠活动「云校园」,学生服务器优惠价格:轻量应用服务器2核2G学生价30元3个月、58元6个月、112元一年,轻量应用服务器4核8G配置191.1元3个月、352.8元6个月、646.8元一年,CVM云服务器2核4G配置842.4元一年&…

AI之T2I:Stable Diffusion 3的简介、安装和使用方法、案例应用之详细攻略

AI之T2I:Stable Diffusion 3的简介、安装和使用方法、案例应用之详细攻略 目录 Stable Diffusion 3的简介 1、效果测试 官方demo 网友提供 Stable Diffusion 3的安装和使用方法 1、安装 2、使用方法 Stable Diffusion 3的案例应用 1、基础案例 Stable Diff…

【YOLO v5 v7 v8 小目标改进】中心化特征金字塔(CFP) = 特征金字塔 + 显式视觉中心(EVC)+ 全局集中调节(GCR)

中心化特征金字塔(CFP) 特征金字塔 显式视觉中心(EVC) 全局集中调节(GCR) 提出背景中心化特征金字塔(CFP)CFP 架构图问题:不同尺度的对象检测问题:有限感受…

相纸尺寸和相纸分类解释

相纸分类 高光 高光相纸俗称光面相纸,适用一般的证件用照和生活照片,表面平滑光亮。 绒面 绒面相纸(也称哑光相纸或哑光相纸),因为绒面革相纸的表面粗糙,所以绒面相纸的质地很好,表面有哑光感,没有反光…

Mybatis批量更新对象数据的两种方法

说明:遇到一次需要批量修改对象的场景。传递一个对象集合,需要根据对象ID批量修改数据库数据,使用的是MyBatis框架。查了一些资料,总结出两种实现方式。 创建Demo 首先,创建一个简单的Demo; &#xff08…