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

第三章 PyTorch基础教程

文章目录

  • 一、数据类型
  • 二、创建Tensor
  • 三、索引与切片
  • 四、维度变换

一、数据类型

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 标量
    在这里插入图片描述

在这里插入图片描述

  • 向量(dim表示维度)
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • shape:属性值,显示tensor的维度信息
    numel():返回tensor的元素总数
    dim():返回tensor维度值
    在这里插入图片描述

二、创建Tensor

  • 注:小写的tensor传入实际的数据内容,大写的Tensor与FloatTensor接收的是shape值(但也可以接收实际的数据内容)。建议使用小写的形式
  • numpy转Tensor
    在这里插入图片描述

在这里插入图片描述

  • python的List转tensor
    在这里插入图片描述

  • 未初始化的tensor定义
    在这里插入图片描述

在这里插入图片描述

注意:Torch.empty()传入shape值,生成随机初始化的值(注意覆盖随机值)

  • tensor()的默认数值类型设置方法
    在这里插入图片描述

  • 随机初始化(初始化 W 与 b)**

  • rand():生成[0,1]上均匀分布的随机张量;
    *_like():使用指定的tensor的shape创建对应的tensor

在这里插入图片描述

  • randn():生成N(0,1)的正态分布的初始化权重张量
    在这里插入图片描述

  • full():生成指定大小与值的权重张量
    在这里插入图片描述

  • arange():生成指定起止、间隔的数组张量
    在这里插入图片描述

  • linspace():生成指定起止、包含个数的张量

  • logspace():生成指定底数(默认为:10)的指数值
    在这里插入图片描述

  • 生成常用型矩阵张量的API:ones() — 全1矩阵、zeros() — 全0矩阵、eys() —单位矩阵
    在这里插入图片描述

在这里插入图片描述

  • randperm():随机打散,对于0到指定数字的所有数字进行打散操作
    在这里插入图片描述

三、索引与切片

在这里插入图片描述

  • 连续切片
    在这里插入图片描述

  • 间隔切片数据
    在这里插入图片描述

  • index_select(param1,param2):方法实现切片
    param1:表示对哪个维度上进行操作(eg. 图中维度为4,可取0-3)
    param2:表示切片的范围(传入tensor,取起始到终止位前一个位置)
    在这里插入图片描述

  • … :表示任意维度(可以简化切片写法)
    在这里插入图片描述

  • mask方法作用是提取出满足指定大小区间的元素值(但会将结果变为一维)
    在这里插入图片描述


四、维度变换

在这里插入图片描述

  • view()与reshape()功能一致,只要保证元素总数在变换前后一致
# view(size[])
# 设置为-1表示自动缩减为一维
x = torch.tensor(4,1,28,28)
x.view(-1,28*28) # 将4*1缩减为一维=4

在这里插入图片描述

  • unsqueeze():执行加入新维度操作
    在这里插入图片描述

在这里插入图片描述

  • 举例说明(设计偏置b的维度)
    在这里插入图片描述

  • squeeze():可以压缩维度(仅能压缩维度为1的dim通道)
    在这里插入图片描述

  • 扩展操作
    Expand:是基于广播机制的一种扩展,是默认支持的(eg. [1,32,1,1] -> [4,32,14,14]) 推荐
    repeat:是一种主动将数值复制然后进行操作
    在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 矩阵转置操作
    注意:t()只能用于2维的转置
    在这里插入图片描述

  • transpose():指定维度通道之间的交换

  • contiguous():用于对于转置后的矩阵进行连续化(即:原来是行向量,转置后为列向量,需要将数据结构保持一致)

  • eq():判断两个tensor的对应元素是否相等,每个对应位置都会生成一个Bool值

  • all():对于tensor中所有元素位置均为,True时才为True
    在这里插入图片描述

在这里插入图片描述

  • permute():直接设定新的dim的顺序 推荐
    在这里插入图片描述

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • windows C++-通过 C++/WinRT 创作 COM 组件(一)
  • 【产品那些事】什么是应用程序安全态势管理(ASPM)?
  • cAdvisor+prometheus+grafana搭建监控页面并嵌入自定义页面中
  • 一文掌握直播技术:实时音视频采集、编码、传输与播放
  • 开源AI智能名片商城小程序在私域流量运营中的转化效率与ROI提升研究
  • Ubuntu最小化命令行系统 安装GUI 远程桌面
  • LabVIEW多协议智能流水线控制与监控系统
  • TcpSocket在切后台后如何保活
  • k8s查看容器的日志
  • C#编程中,如何实现一个高效的数据排序算法?
  • redis基本工具类编写
  • GNU/Linux - systemd介绍
  • 实用篇| 如何快速搭建“二手系统”的数据库
  • mac编译opencv 通用架构库的记录
  • Therabody™明星产品TheragunⓇ筋膜枪,以科技健康助力舞台高光时刻
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • angular学习第一篇-----环境搭建
  • Bootstrap JS插件Alert源码分析
  • React-Native - 收藏集 - 掘金
  • Ruby 2.x 源代码分析:扩展 概述
  • vue脚手架vue-cli
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 初识 beanstalkd
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 推荐一个React的管理后台框架
  • 小程序01:wepy框架整合iview webapp UI
  • zabbix3.2监控linux磁盘IO
  • 仓管云——企业云erp功能有哪些?
  • 交换综合实验一
  • # windows 安装 mysql 显示 no packages found 解决方法
  • $(function(){})与(function($){....})(jQuery)的区别
  • (1)Nginx简介和安装教程
  • (ISPRS,2023)深度语义-视觉对齐用于zero-shot遥感图像场景分类
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (二十六)Java 数据结构
  • (已解决)Bootstrap精美弹出框模态框modal,实现js向modal传递数据
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • ***详解账号泄露:全球约1亿用户已泄露
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .net core 6 redis操作类
  • .NET 中小心嵌套等待的 Task,它可能会耗尽你线程池的现有资源,出现类似死锁的情况
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • .net下简单快捷的数值高低位切换
  • /bin、/sbin、/usr/bin、/usr/sbin
  • @Autowired 和 @Resource 区别的补充说明与示例
  • @vueup/vue-quill使用quill-better-table报moduleClass is not a constructor
  • [023-2].第2节:SpringBoot中接收参数相关注解
  • [ActionScript][AS3]小小笔记
  • [AHK] WinHttpRequest.5.1报错 0x80092004 找不到对象或属性
  • [AIGC] 如何建立和优化你的工作流?
  • [ANT] 项目中应用ANT
  • [C++初阶]string类的详解
  • [caffe(二)]Python加载训练caffe模型并进行测试1