PyTorch基础知识(超基础)

简介: PyTorch基础知识(超基础)

 一、PyTorch框架介绍

image.gif编辑

PyTorch是在2017年1月由Facebook推出的。它是经典机器学习库Torch框架的一个端口,主要编程语言为python。PyTorch“曾经”的优点是动态图,现在的优点是开源代码和开源社区。

PyTorch是一个年轻的框架。2017年1月28日,PyTorch 0.1版本正式发布,这是Facebook公司在机器学习和科学计算工具Torch的基础上,针对Python语言发布的全新的深度学习工具包。PyTorch类似NumPy,并且支持GPU,有着更高级而又易用的功能,可以用来快捷地构建和训练深度神经网络。一经发布,PyTorch便受到深度学习和开发者们广泛关注和讨论。经过一年多的发展,目前PyTorch已经成为机器学习和深度学习者重要的研究和开发工具之一。

二、tensor(张量)的属性

张量是PyTorch里的基本运算单位,与numpy的ndarray相同都表示一个多维的矩阵。与ndarray最大的区别在于Tensor能使用GPU加速,而ndarray只能用在CPU上。

1、导入torch库

import torch
a = torch.tensor([1,2,3],dtype=int)
b = torch.tensor([4,5,6],dtype=float)
print(a)
print(a.dtype) 
print(b)
//结果
//tensor([1, 2, 3])
//torch.int64   64位的int类型
//tensor([4., 5., 6.], dtype=torch.float64)

image.gif

2、数据的维度

tensor = torch.tensor([[1,2,3],[4,5,6]])

print(tensor.ndim)

//结果

//2

3、数据的形状

tensor = torch.tensor([[1,2,3],[4,5,6]])

print(tensor.shape)

print(tensor.size())

//结果

//torch.Size([2, 3])

//torch.Size([2, 3])

4、基础运算

sample = torch.rand(3, 2)
print(sample)
# 求总和
print(torch.sum(sample))
# 求最小值
print(torch.min(sample))
# 求最小值所在的位置(索引)
print(torch.argmin(sample))
# 求最大值所在的位置(索引)
print(torch.argmax(sample))
# 求平均值
print(torch.mean(sample))
# 求中位数
print(torch.median(sample))
# 求开方
print(torch.sqrt(sample))
# 求平方
print(sample ** 2)
//结果
tensor([[0.9740, 0.4381],
        [0.9116, 0.7061],
        [0.9465, 0.0322]])
tensor(4.0085)
tensor(0.0322)
tensor(5)
tensor(0)
tensor(0.6681)
tensor(0.7061)
tensor([[0.9869, 0.6619],
        [0.9548, 0.8403],
        [0.9729, 0.1793]])
tensor([[0.9487, 0.1919],
        [0.8310, 0.4986],
        [0.8960, 0.0010]])

image.gif

三、数据生成

1、生成数据集

import torch
a = torch.tensor([1,2,3],dtype=int)
b = torch.tensor([4,5,6],dtype=float)
print(a)
print(a.dtype) 
print(b)
//结果
//tensor([1, 2, 3])
//torch.int64   64位的int类型
//tensor([4., 5., 6.], dtype=torch.float64)

image.gif

2、读取数据集

def load_array(data_arrays, batch_size, is_train=True):  #@save
    # 构造一个PyTorch数据迭代器
    # torch.utils.data.TensorDataset(Dataset):包装数据和目标张量的数据集,直接传入张量参数即可(*tensor)
    # 该类通过每一个 tensor 的第一个维度进行索引。因此,该类中的 tensor 第一维度必须相等。
    dataset = data.TensorDataset(*data_arrays)
    # 通过DataLoader类从dataset中选取数据,每次读取大小为batch_size
    return data.DataLoader(dataset, batch_size, shuffle=is_train)
batch_size = 10
# 传入张量数组,返回一个可迭代的张量组
data_iter = load_array((features, labels), batch_size)

image.gif


相关文章
|
机器学习/深度学习 算法 PyTorch
PyTorch 人工智能基础知识:6~8
PyTorch 人工智能基础知识:6~8
378 0
|
机器学习/深度学习 自然语言处理 PyTorch
PyTorch 人工智能基础知识:1~5
PyTorch 人工智能基础知识:1~5
334 0
|
机器学习/深度学习 搜索推荐 数据挖掘
【Pytorch神经网络理论篇】 25 基于谱域图神经网络GNN:基础知识+GNN功能+矩阵基础+图卷积神经网络+拉普拉斯矩阵
图神经网络(Graph Neural Network,GNN)是一类能够从图结构数据中学习特征规律的神经网络,是解决图结构数据(非欧氏空间数据)机器学习问题的最重要的技术之一。
1955 0
|
机器学习/深度学习 人工智能 PyTorch
Pytorch的安装与基础知识和前置知识
Pytorch的安装与基础知识和前置知识
377 0
|
机器学习/深度学习 人工智能 PyTorch
PyTorch学习笔记(二):PyTorch简介与基础知识
概念:由Facebook人工智能研究小组开发的一种基于Lua编写的Torch库的Python实现的深度学习库 优势:简洁、上手快、具有良好的文档和社区支持、项目开源、支持代码调试、丰富的扩展库
335 0
|
机器学习/深度学习 JavaScript PyTorch
9个主流GAN损失函数的数学原理和Pytorch代码实现:从经典模型到现代变体
生成对抗网络(GAN)的训练效果高度依赖于损失函数的选择。本文介绍了经典GAN损失函数理论,并用PyTorch实现多种变体,包括原始GAN、LS-GAN、WGAN及WGAN-GP等。通过分析其原理与优劣,如LS-GAN提升训练稳定性、WGAN-GP改善图像质量,展示了不同场景下损失函数的设计思路。代码实现覆盖生成器与判别器的核心逻辑,为实际应用提供了重要参考。未来可探索组合优化与自适应设计以提升性能。
1191 7
9个主流GAN损失函数的数学原理和Pytorch代码实现:从经典模型到现代变体
|
9月前
|
机器学习/深度学习 存储 PyTorch
Neural ODE原理与PyTorch实现:深度学习模型的自适应深度调节
Neural ODE将神经网络与微分方程结合,用连续思维建模数据演化,突破传统离散层的限制,实现自适应深度与高效连续学习。
819 3
Neural ODE原理与PyTorch实现:深度学习模型的自适应深度调节
|
8月前
|
边缘计算 人工智能 PyTorch
130_知识蒸馏技术:温度参数与损失函数设计 - 教师-学生模型的优化策略与PyTorch实现
随着大型语言模型(LLM)的规模不断增长,部署这些模型面临着巨大的计算和资源挑战。以DeepSeek-R1为例,其671B参数的规模即使经过INT4量化后,仍需要至少6张高端GPU才能运行,这对于大多数中小型企业和研究机构来说成本过高。知识蒸馏作为一种有效的模型压缩技术,通过将大型教师模型的知识迁移到小型学生模型中,在显著降低模型复杂度的同时保留核心性能,成为解决这一问题的关键技术之一。
676 6
|
10月前
|
PyTorch 算法框架/工具 异构计算
PyTorch 2.0性能优化实战:4种常见代码错误严重拖慢模型
我们将深入探讨图中断(graph breaks)和多图问题对性能的负面影响,并分析PyTorch模型开发中应当避免的常见错误模式。
539 9

热门文章

最新文章

推荐镜像

更多