学习笔记,仅供参考,有错必究


文章目录

  • PyTorch基础
    • PyTorch介绍
    • PyTorch CPU版安装
    • 导包
    • 构造tensor
    • tensor的基本属性
    • 生成数据

PyTorch基础

PyTorch介绍

  • Torch

Torch是一个开源的机器学习的框架,早在2002年就发布了Torch的初版,Torch的编程语言为C和Lua。如今的Torch7依旧是热门的深度学习框架之一。

  • PyTorch

PyTorch是在2017年1月由Facebook推出的。它是经典机器学习库Torch框架的一个端口,主要编程语言为python.

  • PyTorch的快速发展

PyTorch CPU版安装

首先进入PyTorch官网;

按照自己的情况,选择想要安装的PyTorch版本,如下图所示:

将上图中,被红色长方形 框住的代码复制到cmd中,并进行如下修改:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple torch torchvision torchaudio

修改完成后,回车进行安装:

导包

# 导入常用的包
import torch
import numpy as np

构造tensor

a = torch.tensor([1, 2, 3], dtype = int)
print(a)
tensor([1, 2, 3])
b = torch.tensor([4, 5, 6], dtype = float)
print(b)
tensor([4., 5., 6.], dtype=torch.float64)
t1 = torch.tensor([[1, 2, 3],[4, 5, 6]])
print(t1)
tensor([[1, 2, 3],[4, 5, 6]])

tensor的基本属性

# 查看数据类型
a.dtype
b.dtype
torch.int64torch.float64
# 查看数据维度
a.ndim
t1.ndim
12
# 查看数据的形状
a.shape
t1.shape
t1.size()
torch.Size([3])torch.Size([2, 3])torch.Size([2, 3])

生成数据

# 生成全1张量
torch.ones(2, 3)
tensor([[1., 1., 1.],[1., 1., 1.]])
# 生成全0张量
torch.zeros(3, 3)
tensor([[0., 0., 0.],[0., 0., 0.],[0., 0., 0.]])
# 生成包含[0, 1)随机数的张量
torch.rand(3, 4)
tensor([[0.3797, 0.5408, 0.5703, 0.9994],[0.3843, 0.6358, 0.0099, 0.0339],[0.8164, 0.5019, 0.7004, 0.4033]])
# 生产包含随机整数的张量
torch.randint(0, 5, (2, 3))
tensor([[3, 3, 3],[3, 1, 4]])
# 生成包含 服从正态分布的随机数的张量
torch.randn(3, 4)
tensor([[ 0.5376, -1.8396,  0.1551, -1.1469],[ 0.3814,  0.0709,  1.2827,  0.3375],[-0.6563,  0.9816, -0.7495, -1.4707]])
# 生成和某个张量形状一样的随机数张量
a = torch.tensor([[1, 2],[4, 5],[6, 7]])
b = torch.rand_like(a, dtype = float)
b
print(b.shape)
tensor([[0.8122, 0.4363],[0.3702, 0.4267],[0.8426, 0.4262]], dtype=torch.float64)torch.Size([3, 2])
# 使用view改变张量的形状,类似于numpy中的reshape
c = b.view(6)
c
tensor([0.8122, 0.4363, 0.3702, 0.4267, 0.8426, 0.4262], dtype=torch.float64)
d = b.view(2, 3)
d
tensor([[0.8122, 0.4363, 0.3702],[0.4267, 0.8426, 0.4262]], dtype=torch.float64)
e = d.reshape(6)
e
tensor([0.8122, 0.4363, 0.3702, 0.4267, 0.8426, 0.4262], dtype=torch.float64)
# 获取张量中的某个值,并转换为python中的标准数值
e[0]
e[0].item()
tensor(0.8122, dtype=torch.float64)0.8122101766213651
# 将tensor变成numpy.array
f = np.array(d)
f
array([[ 0.81221018,  0.43634955,  0.37021041],[ 0.4267468 ,  0.84262264,  0.4261592 ]])
# 将numpy.array变成tensor
arr = np.array([[1, 2, 3]])
tens = torch.tensor(arr)
tens
tensor([[1, 2, 3]], dtype=torch.int32)

PyTorch基础(part1)相关推荐

  1. 深入浅出Pytorch:02 PyTorch基础知识

    深入浅出Pytorch 02 PyTorch基础知识 内容属性:深度学习(实践)专题 航路开辟者:李嘉骐.牛志康.刘洋.陈安东 领航员:叶志雄 航海士:李嘉骐.牛志康.刘洋.陈安东 开源内容:http ...

  2. 第02章 PyTorch基础知识

    文章目录 第02章 Pytorch基础知识 2.1 张量 2.2 自动求导 2.3 并行计算简介 2.3.1 为什么要做并行计算 2.3.2 CUDA是个啥 2.3.3 做并行的方法 补充:通过股票数 ...

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

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

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

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

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

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

  6. PyTorch基础(part4)

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

  7. PyTorch基础(part3)

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

  8. PyTorch基础(part2)

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

  9. 深度学习导论(3)PyTorch基础

    深度学习导论(3)PyTorch基础 一. Tensor-Pytorch基础数据结构 二. Tensor索引及操作 1. Tensor索引类型 2. Tensor基础操作 3. 数值类型 4. 数值类 ...

最新文章

  1. Eclipse无法识别(手机)设备的解决方案
  2. 图像编程魔法门(By C#) 目录
  3. BASE64Encoder cannot be resolved to a type类似问题的解决办法
  4. 【题解】HNOI2008GT考试
  5. Python基础(偏函数)
  6. Java 9,Jigsaw,JPMS和模块:个人探索
  7. linux下面 r和 n的区别,【冷知识】关于/r与/n以及 /r/n 的区别总结
  8. (STL,map)反片语
  9. WebStorm 代码文字发虚模糊 - 解决篇
  10. 多语言网站解决方案 v2.00
  11. sed: sed command a expects followed by text
  12. Java中的switch分支语句
  13. qq怎样发起临时会话(不加好友)
  14. 基于Gromacs的蜘蛛毒素肽显性溶剂动力学分析
  15. html使table整体居中,如何让整个table表格居中?
  16. Go面向对象---音乐库案例
  17. 2022年贵州省职业院校技能大赛中职组网络安全赛项规程
  18. 双频段AP wps同时开启并通过智能手机、windows端连接问题
  19. 简书收入结算与提现常见问题
  20. 王道操作系统网课笔记合集

热门文章

  1. pandas的dataframe节省内存
  2. python行数最短的PCA实现方式
  3. ubuntu下面的robo3t 使用笔记
  4. Terminal终端的快捷键
  5. [NOI2018]冒泡排序
  6. 3行Python代码完成人脸识别
  7. Exchange端口列表
  8. Django实战(17):ajax !
  9. Eclipse安装Gradle插件及配置
  10. 使用smokeping监测网络