深度学习 | 【02】Pytorch初步使用

Pytorch初始使用

1、Tensor

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

  • 0阶张量:标量、常数、0-D Tensor;
  • 1阶张量:向量、1-D Tensor;
  • 2阶张量:矩阵、2-D Tensor;
  • ……
2、Pytorch如何创建张量
2.1 创建张量
	import torch
	
	t = torch.Tensor([1, 2, 3])
	print(t)

在这里插入图片描述

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]]))

运行结果:

在这里插入图片描述

2.3 常用api

torch.empty(x,y)

创建x行y列为空的tensor。

在这里插入图片描述
torch.ones([x, y])

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

在这里插入图片描述
torch.zeros([x,y])

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

在这里插入图片描述
zeros与empty的区别

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

torch.rand(x, y)

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

在这里插入图片描述
torch.randint(low, high, size)

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

在这里插入图片描述
torch.randn([x, y])

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

2.4 常用方法

item()

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

在这里插入图片描述
numpy()

转化成ndarray类型。

在这里插入图片描述
size()

获取tensor的形状

在这里插入图片描述
view()

浅拷贝,tensor的形状改变

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

在这里插入图片描述

dim()

获取维度。

在这里插入图片描述
max()

获取最大值。

在这里插入图片描述
t()

转置。

在这里插入图片描述
transpose(x,y)

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

在这里插入图片描述

permute()

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

在这里插入图片描述
transpose与permute的区别

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

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

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

在这里插入图片描述
赋值[第一阶, 第二阶,……]

直接赋值即可

在这里插入图片描述

4、数据类型

在这里插入图片描述

4.1 获取数据类型

tensor.dtype

获取数据类型

在这里插入图片描述
设置数据类型

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

在这里插入图片描述

type()

修改数据类型。

在这里插入图片描述

5、tensor的其他操作
5.1 相加

torch.add(x, y)

将x和y相加

在这里插入图片描述
直接相加
在这里插入图片描述
tensor.add()

使用add_() 可相加后直接保存在tensor中
在这里插入图片描述

5.2 tensor与数字的操作

tensor + 数值

在这里插入图片描述

6、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

  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 18
    评论
### 回答1: PyTorch深度学习简明实战电子版是一本帮助读者入门深度学习框架PyTorch的书籍。本书内容详细,分为四个部分,分别是:PyTorch初步、图像分类、目标检测以及深度强化学习,能够帮助读者系统地学习深度学习的基础知识、理解和掌握PyTorch框架下的常用模型和算法,并能够在实践中应用这些模型和算法解决实际问题。 在PyTorch初步部分,本书介绍了PyTorch框架的基本使用方法和特点,包括如何创建和操作张量、构建计算图、定义和训练模型等方面的内容。图像分类部分介绍了卷积神经网络(CNN)的基础理论和实现方法,并使用PyTorch框架构建了一个CNN模型,用于解决图像分类问题。目标检测部分介绍了目标检测的基础知识和Mask R-CNN算法,并使用PyTorch实现了Mask R-CNN模型,应用于目标检测问题。深度强化学习部分介绍了深度强化学习的基本理论和实现方法,并使用PyTorch框架实现了深度Q网络(DQN)算法,应用于OpenAI Gym游戏环境中。 本书的内容涵盖了深度学习的多个方面,适合广大读者学习和实践。同时,本书使用Python语言和PyTorch框架,使得读者能够快速上手,掌握深度学习的基础知识和PyTorch框架的用法。最后,本书提供了大量实例代码和练习题,帮助读者深入理解和应用所学知识。 ### 回答2: PyTorch深度学习简明实战电子版是一本介绍PyTorch深度学习框架的实战教程。本书分为三个部分,第一部分是基础知识,包括PyTorch的基本操作、张量、自动求导、线性回归模型等内容;第二部分介绍深度学习的常用模型,包括卷积神经网络、循环神经网络、生成对抗网络等;第三部分是应用案例,包括图像分类、目标检测、自然语言处理等。 书中的案例非常实用,深入浅出地介绍了每个模型的实现原理和使用方法。而且,书中使用的数据集是实际的数据集,例如MNIST手写数字识别、CIFAR-10图像分类等,能够充分体现PyTorch在实际应用中的优势。 本书的特色在于其简洁明了的讲解方式,将深度学习框架PyTorch的基本操作及其应用形象生动地展现出来。此外,本书还提供了丰富的代码实现、调试和性能优化技巧,为读者提供了一系列实用的工具来应对实际问题。 总之,PyTorch深度学习简明实战电子版是一本非常实用的教材,不仅能够帮助读者快速掌握PyTorch的各项功能,还能够让读者在实践中深入理解深度学习的实现原理。该书对于人工智能相关行业的从业者、学生以及对深度学习感兴趣的读者都是一本值得阅读的好书。 ### 回答3: PyTorch深度学习简明实战电子版是一本针对深度学习初学者推出的实战教程,主要原因是PyTorch是一个非常适合于初学者的深度学习框架,其将深度学习任务分解成容易理解和实现的步骤。此书包含了丰富的实际应用案例,以及详细的实现代码和运行结果分析。通过阅读本书,读者可以学习到深度学习的核心概念,如神经网络、梯度下降、损失函数等,并且能够了解如何使用PyTorch中的各种工具来构建和训练深度神经网络。本书还着重强调了PyTorch的动态图机制,这一点与其他深度学习框架的静态图机制不同,动态图机制允许我们更加直观地进行模型设计和调试。在本书中,作者还涉及了一些高级技术,如循环神经网络、深度卷积网络等,从而为读者提供更加全面的知识体系。总之,PyTorch深度学习简明实战电子版是一本值得推荐的实战教程,既适合初学者入门,也可以帮助专业人士深入了解PyTorch的实际应用。
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jxiepc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值