码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Pytorch(一) —— 基本语法


    Pytorch(一) —— 基本语法

    • 1.基本数据类型
      • 1.1 torch.FloatTensor与torch.cuda.FloatTensor
      • 1.2 torch.DoubleTensor与torch.cuda.DoubleTensor
      • 1.3 torch.IntTensor与torch.cuda.IntTensor
      • 1.4 torch.LongTensor与torch.cuda.LongTensor
      • 1.5 torch.BoolTensor与torch.cuda.BoolTensor
    • 2 Tensor创建的常用操作
      • 2.1 判断是否为本机是否有可用的GPU资源
      • 2.2 CPU类型数据转换为GPU类型数据
      • 2.3 获取Tensor的形状
      • 2.4 将numpy格式的数据转换为Tensor格式
      • 2.4 将List格式的数据转换为Tensor格式
      • 2.5 创建未初始化的Tensor
      • 2.6 设置Tensor的默认格式
      • 2.7 创建均匀分布与纯整数Tensor
      • 2.8 创建正态分布的Tensor
      • 2.9 创建元素全相同的Tensor
      • 2.10 torch.arange()
      • 2.10 torch.linespace()
      • 2.10 torch.logspace()
      • 2.11 torch.ones / .zeros / eye
      • 2.12 随机打散
    • 3. 索引与切片
      • 3.1 对指定维度进行索引
      • 3.2 使用...进行索引
      • 3.3 使用masked_select进行索引
    • 4. 维度变换
      • 4.1 torch.view() / reshape()
      • 4.2 添加一个维度torch.unsqueeze()
      • 4.3 减少一个维度torch.squeeze()
      • 4.4 broadcasting:使用expand方法
      • 4.4 内存复制:使用repeat方法
      • 4.5 维度交换与转置:使用transpose和permute方法

    1.基本数据类型

    1.1 torch.FloatTensor与torch.cuda.FloatTensor

    • torch.FloatTensor为CPU上的数据类型
    • torch.cuda.FloatTensor为GPU上的数据类型
      在这里插入图片描述

    1.2 torch.DoubleTensor与torch.cuda.DoubleTensor

    在这里插入图片描述

    1.3 torch.IntTensor与torch.cuda.IntTensor

    在这里插入图片描述

    1.4 torch.LongTensor与torch.cuda.LongTensor

    在这里插入图片描述

    1.5 torch.BoolTensor与torch.cuda.BoolTensor

    在这里插入图片描述

    2 Tensor创建的常用操作

    2.1 判断是否为本机是否有可用的GPU资源

    在这里插入图片描述

    2.2 CPU类型数据转换为GPU类型数据

    • 使用数据的.cuda()方法
      在这里插入图片描述

    2.3 获取Tensor的形状

    • 使用.shape属性
    • 使用.size()方法
      在这里插入图片描述

    2.4 将numpy格式的数据转换为Tensor格式

    在这里插入图片描述

    2.4 将List格式的数据转换为Tensor格式

    在这里插入图片描述

    2.5 创建未初始化的Tensor

    • torch.empty()
    • torch.FloatTensor(d1,d2,d3)
      在这里插入图片描述

    2.6 设置Tensor的默认格式

    • torch.set_default_tensor_type
      在这里插入图片描述

    2.7 创建均匀分布与纯整数Tensor

    • 均匀分布:torch.rand() / torch.rand_like()
    • 纯整数: torch.randint() / torch.randint_like()
      在这里插入图片描述

    2.8 创建正态分布的Tensor

    • torch.randn()
    • torch.normal()
      在这里插入图片描述
      在这里插入图片描述

    2.9 创建元素全相同的Tensor

    • torch.full()
      在这里插入图片描述

    2.10 torch.arange()

    在这里插入图片描述

    2.10 torch.linespace()

    在这里插入图片描述

    2.10 torch.logspace()

    • 创建对数均分的1维Tensor
      在这里插入图片描述

    2.11 torch.ones / .zeros / eye

    在这里插入图片描述

    2.12 随机打散

    • torch.randperm 随机打乱一个数字序列
    • 在这里插入图片描述

    3. 索引与切片

    3.1 对指定维度进行索引

    • Tensor.index_select()
      在这里插入图片描述

    3.2 使用…进行索引

    在这里插入图片描述

    3.3 使用masked_select进行索引

    • torch.masked_select()
    • Tensor.ge() 是否大于某个数值
      在这里插入图片描述

    4. 维度变换

    4.1 torch.view() / reshape()

    • torch.view() 将数据以某种排列方式展示给我们,不改变存储区的真实数据,只改变头信息区,数据存储不连续是不能使用 view() 方法的。
    • torch.reshape(),当 tensor 满足连续性要求时,reshape() = view(),和原来 tensor 共用存储区 当 tensor;不满足连续性要求时,reshape() = **contiguous() + view(),会产生新的存储区的 tensor,与原来tensor 不共用存储区。
      在这里插入图片描述
      在这里插入图片描述

    4.2 添加一个维度torch.unsqueeze()

    在这里插入图片描述

    4.3 减少一个维度torch.squeeze()

    在这里插入图片描述

    4.4 broadcasting:使用expand方法

    • 函数对返回的张量不会分配新内存,即在原始张量上返回只读视图,返回的张量内存是不连续的
      在这里插入图片描述

    4.4 内存复制:使用repeat方法

    • 与torch.expand不同的是torch.repeat返回的张量在内存中是连续的
    • 在这里插入图片描述

    4.5 维度交换与转置:使用transpose和permute方法

    • .t() 为二维矩阵转置
    • .transpose() 交换任意两个维度的顺序
    • .permute() 任意交换维度顺序
      在这里插入图片描述

    by CyrusMay 2022 06 25

  • 相关阅读:
    基于SSM的汽车在线租赁管理系统
    Ubuntu 20.04 固定内核,降低版本, 锁定内核
    用人工智能压缩视频的尝试
    栈和队列总结
    华为机试真题 C++ 实现【水仙花数】
    IDEA整合docker构建打包启动配置教程
    2023年中职“网络安全“—Linux系统渗透提权③
    什么是线段树?
    (96)IIC接口--->(001)基于FPGA实现IIC接口
    UVA10410 树重建 Tree Reconstruction
  • 原文地址:https://blog.csdn.net/Cyrus_May/article/details/125441729
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号