深度学习——pytorch基础入门

devtools/2025/1/14 10:11:14/

一、张量

        在PyTorch中,张量是PyTorch中最基本的数据结构。张量可以看作是一个多维数组,可以在GPU上加速运算。PyTorch的张量和Numpy的数组非常类似,但是与Numpy不同的是,PyTorch的张量可以自动地在GPU上进行加速计算。

        PyTorch中的张量是深度学习模型中最常用的数据结构,它可以存储模型的输入、输出以及模型的参数,并且可以通过自动求导来计算梯度,方便进行反向传播算法的实现。

1、张量的数据类型

  • torch.float32torch.float: 默认的浮点数类型,32位浮点数。
  • torch.float64torch.double: 64位浮点数。
  • torch.float16torch.half: 半精度浮点数。适用于GPU计算,可以节省内存和计算资源。
  • torch.int8: 8位整数。
  • torch.int16torch.short: 16位整数。
  • torch.int32torch.int: 32位整数。
  • torch.int64torch.long: 64位整数。
  • torch.bool: 布尔类型,只能是True或False。

2、张量的创建

在PyTorch中,可以使用多种方式来创建张量。下面是一些常用的方法:

2.1、使用torch.tensor()函数:

        可以使用torch.tensor()函数从Python列表、元组、NumPy数组等数据结构中创建一个新的张量。例如:

         张量的维度可以通过.shape查看,并可使用.size0方法计算张量的形状大小,使用.numel0方法计算张量中包含元素的数量,例如:

        还可以使用参数dtype来指定张量的数据类型,使用参数requires_grad来指定张量是否需要计算梯度(只有浮点数才能计算梯度)。例如:

2.2、使用torch.Tensor()函数:

        在PyToreh中也可使用loreh.Tensor()函数来生成张量,而且可以根据指定的形状生成张量。

2.3、使用numpy数组转化为张量

        将Numpy数组转化为PyTorch张量,可以使用torch.as_tensor()兩数和torehrom_numpy()函数,例如:

2.4、随机数生成张量

        在PyToreh中还可以通过相关随机数来生成张量,并且可以指定生成随机数的分布函数等。在生成随机数之前,可以使用torch.manual_seed()函数,指定生成随机数的种子,用于保证生成的随机数是可重复出现的。

1. torch.randn():从标准正态分布中生成随机数。

2. torch.rand():从0到1之间的均匀分布中生成随机数。

3. torch.randint():在给定的范围内生成随机整数。

4.torch.normal():生成服从正态分布的随机数


2.5、其他

torch.zeros():全0张量
torch.ones():全1张量
torch.eye():单位张量
torch.full(():填充张量
torch.empty():空张量

3、张量操作

3.1、改变张量大小

        改变张量的形状在深度学习的使用过程中经常会遇到,而且针对不同的情况对张量形状尺寸的改变有多种函数和方法可以使用,如tensor.reshape()方法可以设置张量的形状大小。

3.2、获取张量元素

        该操作类似于python中数组的访问和切片 

3.3、拼接和拆分张量

        在PyTorch中,可以使用torch.cat()或torch.stack()函数来拼接张量,使用torch.split()torch.chunk()函数来拆分张量。

二、


http://www.ppmy.cn/devtools/150376.html

相关文章

如何建立写作的护城河

如何建立写作的护城河?这个问题可以有答案,也可以没答案。 没答案是因为不存在绝对意义上的护城河,甚至大部分人都无法实现。有答案是针对个人和不同的期待值还是有的。 答案:写的足够多,时间足够长,你热爱…

【opencv】第7章 图像变换

7.1 基 于OpenCV 的 边 缘 检 测 本节中,我们将一起学习OpenCV 中边缘检测的各种算子和滤波器——Canny 算子、Sobel 算 子 、Laplacian 算子以及Scharr 滤波器。 7.1.1 边缘检测的一般步骤 在具体介绍之前,先来一起看看边缘检测的一般步骤。 1.【第…

linux: 文本编辑器vim

文本编辑器 vi的工作模式 (vim和vi一致) 进入vim的方法 方法一:输入 vim 文件名 此时左下角有 "文件名" 文件行数,字符数量 方法一: 输入 vim 新文件名 此时新建了一个文件并进入vim,左下角有 "文件名"[New File] 灰色的长方形就是光标,输入文字,左下…

MATLAB编程实用技巧深度解析

一、引言 MATLAB作为一款功能强大的科学计算和编程软件,在工程、科学研究等众多领域广泛应用。掌握一些实用的编程技巧,不仅能提高代码的执行效率,还能增强代码的可读性与可维护性。本文将深入探讨一系列MATLAB编程实用技巧,帮助读…

zkServer.sh脚本

Apache ZooKeeper 几种常见的方法: 一、使用 zkServer.sh 脚本: 最常见的启动 ZooKeeper 的方式是使用提供的 zkServer.sh 脚本。此脚本可用于管理 ZooKeeper 进程。以下是一些示例命令: 1. 在前台启动 ZooKeeper: ./zkServer.s…

Linux网络编程4——系统编程

一.电脑知识 1.电脑基础 CPU:相当于大脑,核心处理器内存条:存放临时数据,相当于人体的临时记忆磁盘:存放长时间数据,相当于人体的长时间记忆显卡:将各种影像输出的装置主板:将所有…

[免费]微信小程序(高校就业)招聘系统(Springboot后端+Vue管理端)【论文+源码+SQL脚本】

大家好,我是java1234_小锋老师,看到一个不错的微信小程序(高校就业)招聘系统(Springboot后端Vue管理端),分享下哈。 项目视频演示 【免费】微信小程序(高校就业)招聘系统(Springboot后端Vue管理端) Java毕业设计_哔哩哔哩_bilibili 项目介绍…

macOS 如何修改 PATH 环境变量 ?

对于希望从终端管理命令行工具和脚本的可访问性的用户来说,在 macOS 上编辑 PATH 环境变量是必不可少的。在最近的版本中,macOS 已经从使用 bash shell 作为默认 shell 转变为使用 zsh,因此了解如何在这两个 shell 中编辑 PATH 是很重要的。 …