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实现扫描端口示例
Mar 29 Python
python批量生成本地ip地址的方法
Mar 23 Python
Python中内置的日志模块logging用法详解
Jul 12 Python
OpenCV2.3.1+Python2.7.3+Numpy等的配置解析
Jan 05 Python
python调用系统ffmpeg实现视频截图、http发送
Mar 06 Python
Python快速查找list中相同部分的方法
Jun 27 Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
May 27 Python
python中的单引号双引号区别知识点总结
Jun 23 Python
Django文件存储 自己定制存储系统解析
Aug 02 Python
python编写微信公众号首图思路详解
Dec 13 Python
Python实现对adb命令封装
Mar 06 Python
Python定义一个Actor任务
Jul 29 Python
我对PyTorch dataloader里的shuffle=True的理解
Python快速优雅的批量修改Word文档样式
Django migrate报错的解决方案
Django使用channels + websocket打造在线聊天室
教你怎么用python爬取爱奇艺热门电影
Pytorch使用shuffle打乱数据的操作
May 20 #Python
教你利用Selenium+python自动化来解决pip使用异常
You might like
4月1日重磅发布!《星际争霸II》6.0.0版本更新
2020/04/09 星际争霸
PHP判断FORM表单或URL参数来的数据是否为整数的方法
2016/03/25 PHP
JavaScript检测实例属性, 原型属性
2015/02/04 Javascript
浅谈angularJS 作用域
2015/07/05 Javascript
jQuery实现类似老虎机滚动抽奖效果
2015/08/06 Javascript
JQUERY的AJAX请求缓存里的数据问题处理
2016/02/23 Javascript
浅析jQuery Ajax通用js封装
2016/06/22 Javascript
全面了解addEventListener和on的区别
2016/07/14 Javascript
jQuery layui常用方法介绍
2016/07/25 Javascript
Bootstrap CDN和本地化环境搭建
2016/10/26 Javascript
深入理解选择框脚本[推荐]
2016/12/13 Javascript
js使用generator函数同步执行ajax任务
2017/09/05 Javascript
nodejs判断文件、文件夹是否存在及删除的方法
2017/11/10 NodeJs
3种vue路由传参的基本模式
2018/02/22 Javascript
Bootstrap Table列宽拖动的方法
2018/08/15 Javascript
采用python实现简单QQ单用户机器人的方法
2014/07/03 Python
Flask入门教程实例:搭建一个静态博客
2015/03/27 Python
python字典排序实例详解
2015/05/20 Python
python数字图像处理之骨架提取与分水岭算法
2018/04/27 Python
python进行两个表格对比的方法
2018/06/27 Python
python ftp 按目录结构上传下载的实现代码
2018/09/12 Python
Python实现蒙特卡洛算法小实验过程详解
2019/07/12 Python
python+selenium 鼠标事件操作方法
2019/08/24 Python
python读取Excel表格文件的方法
2019/09/02 Python
python实现高斯判别分析算法的例子
2019/12/09 Python
Django restful framework生成API文档过程详解
2020/11/12 Python
植村秀美国官网:Shu Uemura美国
2019/03/19 全球购物
Kiehl’s科颜氏西班牙官方网站:源自美国的植物护肤品牌
2020/02/22 全球购物
元旦文艺汇演主持词
2014/03/26 职场文书
创先争优活动承诺书
2014/08/30 职场文书
晚会开幕词
2015/01/28 职场文书
2015年乡镇环保工作总结
2015/04/22 职场文书
2015秋季开学典礼主持词
2015/07/16 职场文书
工作汇报材料难写?方法都在这里了!
2019/07/01 职场文书
浅谈JS和Nodejs中的事件驱动
2021/05/05 NodeJs
MySQL索引失效场景及解决方案
2022/07/23 MySQL