Python深度学习之Pytorch初步使用


Posted in Python onMay 20, 2021

一、Tensor

Tensor(张量是一个统称,其中包括很多类型):

0阶张量:标量、常数、0-D Tensor;1阶张量:向量、1-D Tensor;2阶张量:矩阵、2-D Tensor;……

二、Pytorch如何创建张量

2.1 创建张量

import torch
	
	t = torch.Tensor([1, 2, 3])
	print(t)

Python深度学习之Pytorch初步使用

2.2 tensor与ndarray的关系

两者之间可以相互转化

import torch
import numpy as np

t1 = np.array(torch.Tensor([[1, 2, 3],
        [1, 2, 3]]))
t2 = torch.Tensor(np.array([[1, 2, 3],
        [1, 2, 3]]))

运行结果:

Python深度学习之Pytorch初步使用

2.3 常用api

torch.empty(x,y)

创建x行y列为空的tensor。

Python深度学习之Pytorch初步使用

torch.ones([x, y])

创建x行y列全为1的tensor。

Python深度学习之Pytorch初步使用

torch.zeros([x,y])

创建x行y列全为0的temsor。

Python深度学习之Pytorch初步使用

zeros与empty的区别

后者的数据类型是不固定的。

torch.rand(x, y)

创建3行4列的随机数,随机数是0-1。

Python深度学习之Pytorch初步使用

torch.randint(low, high, size)

创建一个size的tensor,随机数为low到high之间。

Python深度学习之Pytorch初步使用

torch.randn([x, y])

创建一个x行y列的tensor,随机数的分布式均值为0,方差1。

2.4 常用方法

item()

获取tensor中的元素,注意只有一个元素的时候才可以用。

Python深度学习之Pytorch初步使用

numpy()

转化成ndarray类型。

Python深度学习之Pytorch初步使用

size()

获取tensor的形状

Python深度学习之Pytorch初步使用

view()

浅拷贝,tensor的形状改变

可以传参,表示获取第几个。若参数为-1,表示不确定,与另一个参数的乘积等于原始形状的乘积。 例如:原始形状为8,则view(-1,2)view(4, 2); 参数只有-1,表示一维。

Python深度学习之Pytorch初步使用

dim()

获取维度。

Python深度学习之Pytorch初步使用

max()

获取最大值。

Python深度学习之Pytorch初步使用

t()

转置。

Python深度学习之Pytorch初步使用

transpose(x,y)

x,y是size里面返回的形状相换。

Python深度学习之Pytorch初步使用

permute()

传入size()返回的形状的顺序。

Python深度学习之Pytorch初步使用

transpose与permute的区别

前者传入列即可相互交换;后者传入列会根据传入的顺序来进行转化,且需要传入所有列数的索引。

取值[第一阶, 第二阶,……]

一个逗号隔开代表一个阶乘冒号代表全取

Python深度学习之Pytorch初步使用

赋值[第一阶, 第二阶,……]

直接赋值即可

Python深度学习之Pytorch初步使用

三、数据类型

Python深度学习之Pytorch初步使用

3.1 获取数据类型

tensor.dtype

获取数据类型

Python深度学习之Pytorch初步使用

设置数据类型

注意使用Tensor()不能指定数据类型。

Python深度学习之Pytorch初步使用

type()

修改数据类型。

Python深度学习之Pytorch初步使用

四、tensor的其他操作

4.1 相加

torch.add(x, y)

将x和y相加

Python深度学习之Pytorch初步使用

直接相加

Python深度学习之Pytorch初步使用

tensor.add()

使用add_() 可相加后直接保存在tensor中

Python深度学习之Pytorch初步使用

4.2 tensor与数字的操作

tensor + 数值

Python深度学习之Pytorch初步使用

五、CUDA中的tensor

CUDA (Compute Unified Device Architecture),是NVIDIA推出的运算平台。CUDATM是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。
torch.cuda这个模块增加了对CUDA tensor的支持,能够在cpu和gpu上使用相同的方法操作tensor通过.to方法能够把一个tensor转移到另外一个设备(比如从CPU转到GPU)

可以使用torch.cuda.is_available()判断电脑是否支持GPU

到此这篇关于Python深度学习之Pytorch初步使用的文章就介绍到这了,更多相关Pytorch初步使用内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python实现的下载网页源码功能示例
Jun 13 Python
Python实现的十进制小数与二进制小数相互转换功能
Oct 12 Python
R语言 vs Python对比:数据分析哪家强?
Nov 17 Python
Django自定义manage命令实例代码
Feb 11 Python
PyTorch学习笔记之回归实战
May 28 Python
在python里协程使用同步锁Lock的实例
Feb 19 Python
深入解析Python小白学习【操作列表】
Mar 23 Python
使用Python OpenCV为CNN增加图像样本的实现
Jun 10 Python
Python拼接字符串的7种方式详解
Mar 19 Python
解决python pandas读取excel中多个不同sheet表格存在的问题
Jul 14 Python
python 数据类型强制转换的总结
Jan 25 Python
利用Python判断整数是否是回文数的3种方法总结
Jul 07 Python
我对PyTorch dataloader里的shuffle=True的理解
Python快速优雅的批量修改Word文档样式
Django migrate报错的解决方案
Django使用channels + websocket打造在线聊天室
教你怎么用python爬取爱奇艺热门电影
Pytorch使用shuffle打乱数据的操作
May 20 #Python
教你利用Selenium+python自动化来解决pip使用异常
You might like
简单实用的网站PHP缓存类实例
2014/07/18 PHP
php提高网站效率的技巧
2015/09/29 PHP
ThinkPHP使用getlist方法实现数据搜索功能示例
2017/05/08 PHP
smarty模板的使用方法实例分析
2019/09/18 PHP
解决laravel groupBy 对查询结果进行分组出现的问题
2019/10/09 PHP
在thinkphp5.0路径中实现去除index.php的方式
2019/10/16 PHP
javascript IE中的DOM ready应用技巧
2008/07/23 Javascript
JavaScript 继承详解(一)
2009/07/13 Javascript
JavaScript将相对地址转换为绝对地址示例代码
2013/07/19 Javascript
JS实现匀速运动的代码实例
2013/11/29 Javascript
javascript面向对象特性代码实例
2014/06/12 Javascript
javascript搜索框点击文字消失失焦时文本出现
2014/09/18 Javascript
在JavaScript中操作时间之getUTCDate()方法的使用
2015/06/10 Javascript
javascript密码强度校验代码(两种方法)
2015/08/10 Javascript
第六章之辅组类与响应式工具
2016/04/25 Javascript
原生JS仿QQ阅读点击展开、收起效果
2017/03/08 Javascript
JS获取鼠标位置距浏览器窗口距离的方法示例
2017/04/11 Javascript
基于js 本地存储(详解)
2017/08/16 Javascript
jquery实现倒计时小应用
2017/09/19 jQuery
jQuery插件实现弹性运动完整示例
2018/07/07 jQuery
centos系统升级python 2.7.3
2014/07/03 Python
利用Python破解斗地主残局详解
2017/06/30 Python
python实现图片处理和特征提取详解
2017/11/13 Python
python利用requests库模拟post请求时json的使用教程
2018/12/07 Python
树莓派使用python-librtmp实现rtmp推流h264的方法
2019/07/22 Python
python实现在线翻译功能
2020/03/03 Python
python实现提取COCO,VOC数据集中特定的类
2020/03/10 Python
django model的update时auto_now不被更新的原因及解决方式
2020/04/01 Python
Trip.com香港网站:Ctrip携程旗下,全球最大的网上旅游社之一
2016/08/01 全球购物
N:Philanthropy官网:美国洛杉矶基础款服装
2020/06/09 全球购物
金融管理应届生求职信
2014/02/20 职场文书
党支部公开承诺书
2014/03/28 职场文书
实习生评语
2014/04/26 职场文书
物流专业求职信
2014/06/30 职场文书
旅游局领导班子“四风”问题对照检查材料思想汇报
2014/09/29 职场文书
对Golang中的FORM相关字段理解
2021/05/02 Golang