PyTorch基础(part1)
学习笔记,仅供参考,有错必究
文章目录
- 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)相关推荐
- 深入浅出Pytorch:02 PyTorch基础知识
深入浅出Pytorch 02 PyTorch基础知识 内容属性:深度学习(实践)专题 航路开辟者:李嘉骐.牛志康.刘洋.陈安东 领航员:叶志雄 航海士:李嘉骐.牛志康.刘洋.陈安东 开源内容:http ...
- 第02章 PyTorch基础知识
文章目录 第02章 Pytorch基础知识 2.1 张量 2.2 自动求导 2.3 并行计算简介 2.3.1 为什么要做并行计算 2.3.2 CUDA是个啥 2.3.3 做并行的方法 补充:通过股票数 ...
- 深度学习之Pytorch基础教程!
↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:李祖贤,Datawhale高校群成员,深圳大学 随着深度学习的发展 ...
- 【深度学习】深度学习之Pytorch基础教程!
作者:李祖贤,Datawhale高校群成员,深圳大学 随着深度学习的发展,深度学习框架开始大量的出现.尤其是近两年,Google.Facebook.Microsoft等巨头都围绕深度学习重点投资了一系 ...
- PyTorch基础(part5)--交叉熵
学习笔记,仅供参考,有错必纠 文章目录 原理 代码 初始设置 导包 载入数据 模型 原理 交叉熵(Cross-Entropy) Loss=−(t∗lny+(1−t)ln(1−y))Loss =-( ...
- PyTorch基础(part4)
学习笔记,仅供参考,有错必纠 文章目录 PyTorch 基础 MNIST数据识别 常用代码 导包 载入数据 定义网络结构 PyTorch 基础 MNIST数据识别 常用代码 # 支持多行输出 from ...
- PyTorch基础(part3)
学习笔记,仅供参考,有错必纠 文章目录 PyTorch 基础 线性回归 常用代码 导包 生成数据 构建神经网络模型 非线性回归 生成数据 构建神经网络模型 PyTorch 基础 线性回归 常用代码 # ...
- PyTorch基础(part2)
学习笔记,仅供参考,有错必究 文章目录 PyTorch基础 基本操作 加法 减法/乘法/除法 求和.最大.最小 数据的索引 求导 PyTorch基础 基本操作 # 导入常用的包 import torc ...
- 深度学习导论(3)PyTorch基础
深度学习导论(3)PyTorch基础 一. Tensor-Pytorch基础数据结构 二. Tensor索引及操作 1. Tensor索引类型 2. Tensor基础操作 3. 数值类型 4. 数值类 ...
最新文章
- Eclipse无法识别(手机)设备的解决方案
- 图像编程魔法门(By C#) 目录
- BASE64Encoder cannot be resolved to a type类似问题的解决办法
- 【题解】HNOI2008GT考试
- Python基础(偏函数)
- Java 9,Jigsaw,JPMS和模块:个人探索
- linux下面 r和 n的区别,【冷知识】关于/r与/n以及 /r/n 的区别总结
- (STL,map)反片语
- WebStorm 代码文字发虚模糊 - 解决篇
- 多语言网站解决方案 v2.00
- sed: sed command a expects followed by text
- Java中的switch分支语句
- qq怎样发起临时会话(不加好友)
- 基于Gromacs的蜘蛛毒素肽显性溶剂动力学分析
- html使table整体居中,如何让整个table表格居中?
- Go面向对象---音乐库案例
- 2022年贵州省职业院校技能大赛中职组网络安全赛项规程
- 双频段AP wps同时开启并通过智能手机、windows端连接问题
- 简书收入结算与提现常见问题
- 王道操作系统网课笔记合集