PyTorch深度学习基础之Tensor对象及其应用的讲解及实战(附源码 简单易懂 包括分段 映射 矩阵乘法 随机数等等)

简介: PyTorch深度学习基础之Tensor对象及其应用的讲解及实战(附源码 简单易懂 包括分段 映射 矩阵乘法 随机数等等)

觉得有帮助请点赞关注收藏 有问题可评论区留言~~~

Tensor对象是一个维度任意的矩阵,但是一个Tensor中所有元素的数据类型必须一致。torch包含的数据类型和普遍编程语言的数据类型类似,包含浮点型,有符号整型和无符号整形,这些类型既可以定义在CPU上,也可以定义在GPU上。在使用Tensor数据类型时,可以通过dtype属性指定它的数据类型,device指定它的设备(CPU或者GPU)

1:基本定义

代码如下 可查看tensor的基本类型以及运行设备

import torch
import  numpy as np
print('torch.tensor 默认为:{}'.format(torch.Tensor(1).dtype))
a=torch.tensor([[1,2],[3,4]],dtype=torch.float64)
print(a)
#cpu -gpu之间转换
c=torch.ones((2,2))
c=c.to('cpu',torch.double)
print(c.device)

输出如下

2:矩阵乘法

对Tensor执行算术符的运算时 是两个矩阵对应元素的运算,torch.mm执行矩阵乘法的计算

代码如下

 

import torch
import  numpy as np
#矩阵对应元素运算
a=torch.tensor([[1,2],[3,4]])
b=torch.tensor([[1,2],[4,6]])
c=a*b
print("每个元素相乘",c)
c=torch.mm(a,b)
print("矩阵乘法",c)

3:分段、化整、映射函数

clamp起的是分段函数的作用,可以用于去除矩阵中过小或者过大的元素,round函数将小数部分化整,tanh计算双曲正切函数,该函数将值映射到0,1

代码如下

import torch
import  numpy as np
#特定功能函数
#clamp分段
a=torch.tensor([[1,2],[3,4]])
print(torch.clamp(a,min=2,max=3))
#round化整
a=torch.tensor([[1.1,0.5],[0.6,-1.2]])
print(torch.round(a))
#tanh双曲正切 映射到0 1
print(torch.tanh(a))

四、arange等方法创建数据

除了直接从ndarray或list类型的数据中创建Tensor外,PyTorch还提供了一些函数可以直接创建数据,这类函数往往需要提供矩阵的维度,它和python内置的range的使用方法基本想吐,其第三个参数是步长,linsapce函数第三个参数指定返回的个数。ones返回全1,zeors返回全0

import torch
import  numpy as np
#直接 创建数据
print(torch.arange(5))
print(torch.arange(1,5,2))
print(torch.linspace(0,5,10))
#全0 全1
print(torch.ones(3,3))
print(torch.zeros(3,3))

五、rand返回随机数

rand返回从0 1均匀分布采样的元素所组成的矩阵,randn返回从正态分布采样的元素所组成的矩阵,randint返回指定区间的均匀分布采样的随机整数所组成的矩阵

代码如下

import torch
import  numpy as np
print('torch.tensor 默认为:{}'.format(torch.Tensor(1).dtype))
a=torch.tensor([[1,2],[3,4]],dtype=torch.float64)
print(a)
#cpu -gpu之间转换
c=torch.ones((2,2))
c=c.to('cpu',torch.double)
print(c.device)
#矩阵对应元素运算
a=torch.tensor([[1,2],[3,4]])
b=torch.tensor([[1,2],[4,6]])
c=a*b
print("每个元素相乘",c)
c=torch.mm(a,b)
print("矩阵乘法",c)
#特定功能函数
#clamp分段
a=torch.tensor([[1,2],[3,4]])
print(torch.clamp(a,min=2,max=3))
#round化整
a=torch.tensor([[1.1,0.5],[0.6,-1.2]])
print(torch.round(a))
#tanh双曲正切 映射到0 1
print(torch.tanh(a))
#直接 创建数据
print(torch.arange(5))
print(torch.arange(1,5,2))
print(torch.linspace(0,5,10))
#全0 全1
print(torch.ones(3,3))
print(torch.zeros(3,3))
#随机
print(torch.rand(3,3))
print(torch.randn(3,3))
print(torch.randint(0,9,(3,3)))

创作不易 觉得有帮助请点赞关注收藏~~~

相关实践学习
在云上部署ChatGLM2-6B大模型(GPU版)
ChatGLM2-6B是由智谱AI及清华KEG实验室于2023年6月发布的中英双语对话开源大模型。通过本实验,可以学习如何配置AIGC开发环境,如何部署ChatGLM2-6B大模型。
相关文章
|
11月前
|
机器学习/深度学习 监控 算法
基于mediapipe深度学习的手势数字识别系统python源码
本内容涵盖手势识别算法的相关资料,包括:1. 算法运行效果预览(无水印完整程序);2. 软件版本与配置环境说明,提供Python运行环境安装步骤;3. 部分核心代码,完整版含中文注释及操作视频;4. 算法理论概述,详解Mediapipe框架在手势识别中的应用。Mediapipe采用模块化设计,包含Calculator Graph、Packet和Subgraph等核心组件,支持实时处理任务,广泛应用于虚拟现实、智能监控等领域。
|
7月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
10月前
|
机器学习/深度学习 存储 监控
基于深度学习YOLO框架的城市道路损伤检测与评估项目系统【附完整源码+数据集】
本项目基于深度学习的YOLO框架,成功实现了城市道路损伤的自动检测与评估。通过YOLOv8模型,我们能够高效地识别和分类路面裂缝、井盖移位、坑洼路面等常见的道路损伤类型。系统的核心优势在于其高效性和实时性,能够实时监控城市道路,自动标注损伤类型,并生成损伤评估报告。
582 0
基于深度学习YOLO框架的城市道路损伤检测与评估项目系统【附完整源码+数据集】
|
10月前
|
机器学习/深度学习 自动驾驶 算法
基于深度学习的YOLO框架的7种交通场景识别项目系统【附完整源码+数据集】
在智慧交通和智能驾驶日益普及的今天,准确识别复杂交通场景中的关键元素已成为自动驾驶系统的核心能力之一。传统的图像处理技术难以适应高动态、复杂天气、多目标密集的交通环境,而基于深度学习的目标检测算法,尤其是YOLO(You Only Look Once)系列,因其检测速度快、精度高、可部署性强等特点,在交通场景识别中占据了重要地位。
1152 0
基于深度学习的YOLO框架的7种交通场景识别项目系统【附完整源码+数据集】
|
机器学习/深度学习 PyTorch 算法框架/工具
揭秘深度学习中的微调难题:如何运用弹性权重巩固(EWC)策略巧妙应对灾难性遗忘,附带实战代码详解助你轻松掌握技巧
【10月更文挑战第1天】深度学习中,模型微调虽能提升性能,但常导致“灾难性遗忘”,即模型在新任务上训练后遗忘旧知识。本文介绍弹性权重巩固(EWC)方法,通过在损失函数中加入正则项来惩罚对重要参数的更改,从而缓解此问题。提供了一个基于PyTorch的实现示例,展示如何在训练过程中引入EWC损失,适用于终身学习和在线学习等场景。
1457 4
揭秘深度学习中的微调难题:如何运用弹性权重巩固(EWC)策略巧妙应对灾难性遗忘,附带实战代码详解助你轻松掌握技巧
|
机器学习/深度学习 人工智能 TensorFlow
基于TensorFlow的深度学习模型训练与优化实战
基于TensorFlow的深度学习模型训练与优化实战
756 3
|
机器学习/深度学习 人工智能 算法
揭开深度学习与传统机器学习的神秘面纱:从理论差异到实战代码详解两者间的选择与应用策略全面解析
【10月更文挑战第10天】本文探讨了深度学习与传统机器学习的区别,通过图像识别和语音处理等领域的应用案例,展示了深度学习在自动特征学习和处理大规模数据方面的优势。文中还提供了一个Python代码示例,使用TensorFlow构建多层感知器(MLP)并与Scikit-learn中的逻辑回归模型进行对比,进一步说明了两者的不同特点。
841 2
|
机器学习/深度学习 运维 安全
深度学习在安全事件检测中的应用:守护数字世界的利器
深度学习在安全事件检测中的应用:守护数字世界的利器
562 22
|
机器学习/深度学习 编解码 人工智能
计算机视觉五大技术——深度学习在图像处理中的应用
深度学习利用多层神经网络实现人工智能,计算机视觉是其重要应用之一。图像分类通过卷积神经网络(CNN)判断图片类别,如“猫”或“狗”。目标检测不仅识别物体,还确定其位置,R-CNN系列模型逐步优化检测速度与精度。语义分割对图像每个像素分类,FCN开创像素级分类范式,DeepLab等进一步提升细节表现。实例分割结合目标检测与语义分割,Mask R-CNN实现精准实例区分。关键点检测用于人体姿态估计、人脸特征识别等,OpenPose和HRNet等技术推动该领域发展。这些方法在效率与准确性上不断进步,广泛应用于实际场景。
1487 64
计算机视觉五大技术——深度学习在图像处理中的应用

推荐镜像

更多