本文主要包括Pytorch中张量的基本操作

#!/usr/bin/env torch
# -*- coding:utf-8 -*-
# @Time  : 2021/1/30, 12:07
# @Author: Lee
# @File  : base_process.pyfrom __future__ import print_function
import torchx1 = torch.empty(5, 3)  # 生成一个5行3列的矩阵,不初始化
print('torch.empty(5, 3):\n', x1)
"""
torch.empty(5, 3):tensor([[9.2755e-39, 1.0561e-38, 6.9796e-39],[9.2755e-39, 8.9082e-39, 8.9082e-39],[1.0194e-38, 9.1837e-39, 4.6837e-39],[9.2755e-39, 1.0837e-38, 8.4490e-39],[1.1112e-38, 1.0194e-38, 9.0919e-39]])"""x2 = torch.rand(5, 3)  # 生成一个5行3列的0-1随机数字的tensor
print('torch.rand(5, 3):\n', x2)
"""
torch.rand(5, 3):tensor([[0.5743, 0.3368, 0.9248],[0.2669, 0.2339, 0.6719],[0.2343, 0.0802, 0.1925],[0.6387, 0.1446, 0.1647],[0.5917, 0.2945, 0.1726]])
"""x3 = torch.zeros(5, 3, dtype=torch.long)  # 生成一个5行3列的0矩阵,且数据类型为long
print('torch.zeros(5, 3, dtype=torch.long):\n', x3)
"""
torch.zeros(5, 3, dtype=torch.long):tensor([[0, 0, 0],[0, 0, 0],[0, 0, 0],[0, 0, 0],[0, 0, 0]])
"""x4 = torch.tensor([5.5, 3])  # 构造一个已知数据的张量
print('torch.tensor([5.5, 3]):\n', x4)
"""
torch.tensor([5.5, 3]):tensor([5.5000, 3.0000])
"""x5_a = torch.ones(5, 3, dtype=torch.double)
x5_b = torch.randn_like(x5_a, dtype=torch.float)  # 生成一个与x5_a同大小的float矩阵
print("x5_a:\n", x5_a)
print("x5_b:\n", x5_b)
print("x5_a.size()=", x5_a.size())
"""
x5_a:tensor([[1., 1., 1.],[1., 1., 1.],[1., 1., 1.],[1., 1., 1.],[1., 1., 1.]], dtype=torch.float64)
x5_b:tensor([[ 0.6318,  0.7818,  0.2896],[-1.5375, -1.0902, -2.2054],[ 0.9432,  0.0981, -0.6261],[-1.8649, -0.2275,  0.5104],[ 0.4113, -0.6067, -0.2163]])
x5_a.size()= torch.Size([5, 3])
"""add_x1 = torch.tensor([[1, 2, 3], [4, 5, 6]])
add_x2 = torch.tensor([[4, 5, 6], [1, 2, 3]])
print("add_x1 + add_x2 = ", add_x1 + add_x2)  # 矩阵加法
print("torch.add(add_x1, add_x2) = ", torch.add(add_x1, add_x2))
result = torch.empty(2, 3)
torch.add(add_x1, add_x2, out=result)
print("result = ", result)
print("add_x2.add_(add_x1) = ", add_x2.add_(add_x1))  # in-place add add_x1 to add_x2
"""
add_x1 + add_x2 =  tensor([[5, 7, 9], [5, 7, 9]])
torch.add(add_x1, add_x2) =  tensor([[5, 7, 9], [5, 7, 9]])
result =  tensor([[5., 7., 9.], [5., 7., 9.]])
add_x2.add_(add_x1) =  tensor([[5, 7, 9], [5, 7, 9]])
"""# 类似Numpy的索引操作
ix1 = torch.tensor([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print("ix1[:, 1] =", ix1[:, 1])  # 取第一列[索引从0开始]
print("ix1[1, :] =", ix1[1, :])  # 取第一行[索引从0开始]
"""
ix1[:, 1] = tensor([2, 5, 8])
ix1[1, :] = tensor([4, 5, 6])
"""# 如果想改变一个tensor的大小或者形状,可使用torch.view
vx1 = torch.tensor([[1, 2, 3, 4], [4, 5, 6, 7], [7, 8, 9, 10]])
vx2 = vx1.view(12)
vx3 = vx1.view(-1, 6)  # the size -1 is inferred form other dimensions
print("vx1 =", vx1, "vx1.size() =", vx1.size())
print("vx2 =", vx2, "vx2.size() =", vx2.size())
print("vx3 =", vx3, "vx3.size() =", vx3.size())
"""
vx1 = tensor([[ 1,  2,  3,  4],[ 4,  5,  6,  7],[ 7,  8,  9, 10]]) vx1.size() = torch.Size([3, 4])
vx2 = tensor([ 1,  2,  3,  4,  4,  5,  6,  7,  7,  8,  9, 10]) vx2.size() = torch.Size([12])
vx3 = tensor([[ 1,  2,  3,  4,  4,  5],[ 6,  7,  7,  8,  9, 10]]) vx3.size() = torch.Size([2, 6])
"""rx1 = torch.randn(1)
print("rx1 = ", rx1)  # rx1对象
print("x.item() = ", rx1.item())  # 获取rx1的值
"""
rx1 =  tensor([0.7057])
x.item() =  0.7057303786277771
"""

Pytorch基础(一) 初始tensor相关推荐

  1. 第1周学习笔记:深度学习和pytorch基础

    目录 一 视频学习 1.绪论 2.深度学习概述 二 代码学习 1.Pytorch基础练习 2.螺旋数据分类 一 视频学习 1.绪论 人工智能(Artificial Intelligence):使一部机 ...

  2. 第1周学习:深度学习和pytorch基础

    第1周学习:深度学习和pytorch基础 一.概念学习 1.1关于一些基本问题的思考 1.2深度学习基础 二.代码练习 pytorch 基础练习 螺旋数据分类问题 一.概念学习 1.1关于一些基本问题 ...

  3. Pytorch ——基础指北_叁 [Pytorch API 构建基础模型]

    Pytorch --基础指北_叁 系列文章目录 Pytorch --基础指北_零 Pytorch --基础指北_壹 Pytorch --基础指北_贰 Pytorch --基础指北_叁 文章目录 Pyt ...

  4. 《深度学习之pytorch实战计算机视觉》第6章 PyTorch基础(代码可跑通)

    上一篇文章<深度学习之pytorch实战计算机视觉>第5章 Python基础讲了Python基础.接下来看看第6章 PyTorch基础. 目录 6.1 PyTorch中的Tensor 6. ...

  5. 深度学习之Pytorch基础教程!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:李祖贤,Datawhale高校群成员,深圳大学 随着深度学习的发展 ...

  6. 【深度学习】深度学习之Pytorch基础教程!

    作者:李祖贤,Datawhale高校群成员,深圳大学 随着深度学习的发展,深度学习框架开始大量的出现.尤其是近两年,Google.Facebook.Microsoft等巨头都围绕深度学习重点投资了一系 ...

  7. PyTorch基础(part5)--交叉熵

    学习笔记,仅供参考,有错必纠 文章目录 原理 代码 初始设置 导包 载入数据 模型 原理 交叉熵(Cross-Entropy) Loss=−(t∗ln⁡y+(1−t)ln⁡(1−y))Loss =-( ...

  8. PyTorch基础(part4)

    学习笔记,仅供参考,有错必纠 文章目录 PyTorch 基础 MNIST数据识别 常用代码 导包 载入数据 定义网络结构 PyTorch 基础 MNIST数据识别 常用代码 # 支持多行输出 from ...

  9. PyTorch基础(part3)

    学习笔记,仅供参考,有错必纠 文章目录 PyTorch 基础 线性回归 常用代码 导包 生成数据 构建神经网络模型 非线性回归 生成数据 构建神经网络模型 PyTorch 基础 线性回归 常用代码 # ...

  10. PyTorch基础(part2)

    学习笔记,仅供参考,有错必究 文章目录 PyTorch基础 基本操作 加法 减法/乘法/除法 求和.最大.最小 数据的索引 求导 PyTorch基础 基本操作 # 导入常用的包 import torc ...

最新文章

  1. java 密钥工厂 desede_20145212 实验五《Java网络编程》
  2. 图论:Dinic算法
  3. 基于Python的Web自动化(Selenium)之读取文件
  4. 2.3.6 操作系统之进程同步与互斥经典问题(生产者-消费者问题、多生产者-多消费者问题、吸烟者问题、读者-写者问题、哲学家进餐问题)
  5. python对时间日期做格式化
  6. python及pycharm
  7. 产品经理的职业天花板在哪?
  8. linux如何将文件夹添加到书签,桌面应用|[新手技巧] 如何在Ubuntu中添加和删除书签...
  9. UI设计素材|视频类APP图标
  10. vue-quill-editor富文本 回显数据样式失效
  11. Linux Shell脚本之利用mysqldump备份MySQL数据库(详细注解)
  12. 常见的免费SMTP服务器有哪些,如何设置
  13. error: binding reference of type int to const int discards qualifiers
  14. 安装SQL 2000 企业版
  15. 站内信系统数据库设计
  16. 编译原理个人作业--第五章——基于 编译原理 国防工业出版社 第三版
  17. BGP知识手册-华为-华三-思科
  18. 《古剑奇谭WEB》值得期待的三大理由
  19. 优盘安装OpenThos操作系统OTO
  20. 做网络必须掌握的83句话

热门文章

  1. 一次vue-cli 2.x项目打包优化经历(优化xlsx插件)
  2. 全面分析RHCE7(红帽认证工程师)考试题目之 ----NFS文件共享 篇
  3. Oracle 11g Dataguard 物理备库配置(三)之Dataguard broker配置
  4. Android蓝牙操作笔记
  5. java+mysql中文乱码解决
  6. 用Asp.Net创建基于Ajax的聊天室程序
  7. 集合竞价如何买入_世界上最稳健的抓涨停方法“10分钟集合竞价”选股诀窍,买入直接稳赚10个点,赚到笑...
  8. Android8.0 开机启动脚本,Android开机启动shell脚本(Android 8.0测试OK)
  9. 开了立体声混音仍然不能内录_蓝牙音箱有个功能很鸡肋,用好了秒变HIFI立体声...
  10. 有关单元测试的 5 个建议