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实现的一个火车票转让信息采集器
Jul 09 Python
python函数的5种参数详解
Feb 24 Python
浅谈scrapy 的基本命令介绍
Jun 13 Python
深入理解Python爬虫代理池服务
Feb 28 Python
对pandas中apply函数的用法详解
Apr 10 Python
利用Python如何生成便签图片详解
Jul 09 Python
python实现Dijkstra静态寻路算法
Jan 17 Python
python的pytest框架之命令行参数详解(上)
Jun 27 Python
简单了解Python3 bytes和str类型的区别和联系
Dec 19 Python
Django 解决阿里云部署同步数据库报错的问题
May 14 Python
解决python运行效率不高的问题
Jul 20 Python
python七种方法判断字符串是否包含子串
Aug 18 Python
我对PyTorch dataloader里的shuffle=True的理解
Python快速优雅的批量修改Word文档样式
Django migrate报错的解决方案
Django使用channels + websocket打造在线聊天室
教你怎么用python爬取爱奇艺热门电影
Pytorch使用shuffle打乱数据的操作
May 20 #Python
教你利用Selenium+python自动化来解决pip使用异常
You might like
WIN98下Apache1.3.14+PHP4.0.4的安装
2006/10/09 PHP
php MYSQL 数据备份类
2009/06/19 PHP
php数组的概述及分类与声明代码演示
2013/02/26 PHP
PHP与MYSQL中UTF8 中文排序示例代码
2014/10/23 PHP
PHP导出Excel实例讲解
2016/01/24 PHP
PHP页面输出搜索后跳转下一页的处理方法
2016/09/30 PHP
PHP使用phpunit进行单元测试示例
2019/09/23 PHP
document.getElementById的简写方式(获取id对象的简略写法)
2010/09/10 Javascript
jQuery Mobile页面跳转后未加载外部JS原因分析及解决
2013/03/18 Javascript
网页中返回顶部代码(多种方法)另附注释说明
2013/04/24 Javascript
一款jquery特效编写的大度宽屏焦点图切换特效的实例代码
2013/08/05 Javascript
Javascript判断文件是否存在(客户端/服务器端)
2014/09/16 Javascript
JavaScript中string转换成number介绍
2014/12/31 Javascript
js实现仿爱微网两级导航菜单效果代码
2015/08/31 Javascript
js计算时间差代码【包括计算,天,时,分,秒】
2016/04/26 Javascript
KnockoutJS 3.X API 第四章之click绑定
2016/10/10 Javascript
JavaScript实现倒计时跳转页面功能【实用】
2016/12/13 Javascript
JS中精巧的自动柯里化实现方法
2017/12/12 Javascript
jQuery实现图片切换效果
2020/10/19 jQuery
Python日志模块logging简介
2015/04/13 Python
python中的代码编码格式转换问题
2015/06/10 Python
Python中type的构造函数参数含义说明
2015/06/21 Python
python 巧用正则寻找字符串中的特定字符的位置方法
2018/05/02 Python
python学生信息管理系统(初级版)
2018/10/17 Python
Django组件cookie与session的具体使用
2019/06/05 Python
TensorFlow设置日志级别的几种方式小结
2020/02/04 Python
煤矿安全协议书
2014/08/20 职场文书
鼋头渚导游词
2015/02/05 职场文书
2015年董事长秘书工作总结
2015/07/23 职场文书
开业庆典嘉宾致辞
2015/08/01 职场文书
python3.7.2 tkinter entry框限定输入数字的操作
2021/05/22 Python
HTML中的表单Form实现居中效果
2021/05/25 HTML / CSS
Spring Boot 启动、停止、重启、状态脚本
2021/06/26 Java/Android
详解MindSpore自定义模型损失函数
2021/06/30 Python
html5实现点击弹出图片功能
2021/07/16 HTML / CSS
golang操作redis的客户端包有多个比如redigo、go-redis
2022/04/14 Golang