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定时检查启动某个exe程序适合检测exe是否挂了
Jan 21 Python
Python实现远程调用MetaSploit的方法
Aug 22 Python
python OpenCV学习笔记之绘制直方图的方法
Feb 08 Python
python快速建立超简单的web服务器的实现方法
Feb 17 Python
python 中if else 语句的作用及示例代码
Mar 05 Python
Python使用gRPC传输协议教程
Oct 16 Python
Flask框架中request、请求钩子、上下文用法分析
Jul 23 Python
Django实现发送邮件找回密码功能
Aug 12 Python
以SQLite和PySqlite为例来学习Python DB API
Feb 05 Python
Python Tornado之跨域请求与Options请求方式
Mar 28 Python
如何理解python中数字列表
May 29 Python
10个示例带你掌握python中的元组
Nov 23 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/01/26 PHP
Yii框架中sphinx索引配置方法解析
2016/10/18 PHP
PHP实现的堆排序算法详解
2017/08/17 PHP
laravel 解决paginate查询多个字段报错的问题
2019/10/22 PHP
textarea的value是html文件源代码,存成html文件的代码
2007/04/20 Javascript
(转载)JavaScript中匿名函数,函数直接量和闭包
2007/05/08 Javascript
基于mootools 1.3框架下的图片滑动效果代码
2011/04/22 Javascript
JS焦点图切换,上下翻转
2011/05/12 Javascript
基于IE下ul li 互相嵌套时的bug,排查,解决过程以及心得介绍
2013/05/07 Javascript
js获取url中"?"后面的字串方法
2014/05/15 Javascript
jQuery中has()方法用法实例
2015/01/06 Javascript
jQuery使用after()方法在元素后面添加多项内容的方法
2015/03/26 Javascript
Js和JQuery获取鼠标指针坐标的实现代码分享
2015/05/25 Javascript
Bootstrap每天必学之表单
2015/11/23 Javascript
Bootstrap CDN和本地化环境搭建
2016/10/26 Javascript
jquery实现图片列表鼠标移入微动
2016/12/01 Javascript
jquery实现异步加载图片(懒加载图片一种方式)
2017/04/24 jQuery
浅谈js基础数据类型和引用类型,深浅拷贝问题,以及内存分配问题
2017/09/02 Javascript
JavaScript私有变量实例详解
2019/01/24 Javascript
微信小程序如何利用getCurrentPages进行页面传值
2019/07/01 Javascript
微信小程序中使用 async/await的方法实例分析
2020/05/06 Javascript
基于openlayers实现角度测量功能
2020/09/28 Javascript
python提取字典key列表的方法
2015/07/11 Python
python中map的基本用法示例
2018/09/10 Python
python中将zip压缩包转为gz.tar的方法
2018/10/18 Python
python 格式化输出百分号的方法
2019/01/20 Python
python模块常用用法实例详解
2019/10/17 Python
Python MySQLdb 执行sql语句时的参数传递方式
2020/03/04 Python
Python实现Canny及Hough算法代码实例解析
2020/08/06 Python
Tuckernuck官网:经典的美国品质服装、鞋子和配饰
2021/01/11 全球购物
《小石潭记》教学反思
2014/02/13 职场文书
道路建设实施方案
2014/03/18 职场文书
2014镇副书记群众路线专题民主生活会思想汇报
2014/09/23 职场文书
房屋租赁协议书(标准版)
2014/10/02 职场文书
详解CSS不定宽溢出文本适配滚动
2021/05/24 HTML / CSS
TypeScript中条件类型精读与实践记录
2021/10/05 Javascript