【深度学习】张量创建

机器学习 (ML) 与 深度学习 (DL) 的区别

维度 机器学习 (ML) 深度学习 (DL)
数据依赖 在小规模数据集上表现良好。 性能随数据量增加而大幅提升,依赖大数据。
硬件要求 较低,普通 CPU 即可运行大多数算法。 极高,通常需要强大的 GPU 或 TPU 进行大规模计算。
特征工程 核心差异点:需要专家手动提取特征(Feature Engineering)。 自动提取:通过神经网络层自动学习数据的特征。
训练时间 较短(几秒到几小时)。 较长(几天甚至几周,取决于网络深度)。
可解释性 较强(如决策树、逻辑回归的逻辑清晰)。 较弱("黑盒"模型,难以解释中间层在学什么)。

深度学习 (DL) 的主要特点

  • 端到端学习 (End-to-End Learning): 传统的机器学习需要将任务分解为特征提取和分类器两个阶段,而深度学习可以直接输入原始数据(如图像像素、音频信号),直接输出最终结果。

  • 多层非线性变换: 通过深层的神经网络(Hidden Layers),模型能够学习到从低级(如线条、边缘)到高级(如人脸、物体)的复杂特征表达。

  • 高鲁棒性与泛化能力: 在大规模数据支撑下,深度学习模型能够处理高度非结构化、高维度的复杂数据。

  • 高度可扩展性: 通过增加层数或神经元数量(参数量),模型的上限非常高。


深度学习的应用场景

深度学习最擅长处理传统算法难以应对的非结构化数据

A. 计算机视觉 (CV)

  • 人脸识别: 手机解锁、安防监控。

  • 目标检测: 自动驾驶汽车识别行人、车辆和交通标志。

  • 医疗影像: 辅助医生通过 CT 或 MRI 切片检测肿瘤。

B. 自然语言处理 (NLP)

  • 大语言模型 (LLM): 如 ChatGPT,进行对话生成、逻辑推理。

  • 机器翻译: 如 Google 翻译的神经机器翻译系统,翻译更自然。

  • 情感分析: 自动判断社交媒体评论的褒贬态度。

C. 语音识别与处理

  • 语音转文字: 智能助手(Siri、小爱同学)的底层核心。

  • 声纹识别: 通过声音特征确认用户身份。

D. 其他前沿领域

  • 强化学习与博弈: 如 AlphaGo。

  • 药物发现: 预测蛋白质折叠结构或模拟分子相互作用。

  • 金融风控: 识别海量交易中的异常欺诈行为。


张量

元素为同一种类型的多维矩阵。

0维:标量

1维:向量

2维:矩阵

N维:张量

python 复制代码
"""
    PyTorch中的张量创建
    torch.tensor 根据指定数据创建张量(用得多)
    torch.Tensor 根据形状创建张量、也可以创建指定数据的张量
    torch.IntTensor\torch.FloatTensor\torch.DoubleTensor创建指定类型的张量
"""

import torch
import numpy as np

#根据指定数据生成张量
def dm01():
    #标量------张量
    t1 = torch.tensor(10)    
    
    #列表------张量
    data = [[1,2,3],[4,5,6]]
    t2 = torch.tensor(data)

    #numpy nd数组------张量
    data = np.random.randint(0,10,size=(2,3))
    t3 = torch.tensor(data)

def dm02():
    #标量------张量
    t1 = torch.Tensor(10)    
    
    #列表------张量
    data = [[1,2,3],[4,5,6]]
    t2 = torch.Tensor(data)

    #numpy nd数组------张量
    data = np.random.randint(0,10,size=(2,3))
    t3 = torch.Tensor(data)

    #创建指定维度张量
    t4 = torch.Tensor(2,3)#两行三列

def dm03():
    #标量------张量
    t1 = torch.IntTensor(10)    
    
    #列表------张量
    data = [[1,2,3],[4,5,6]]
    t2 = torch.IntTensor(data)

    #numpy nd数组------张量
    data = np.random.randint(0,10,size=(2,3))
    t3 = torch.IntTensor(data)

    #如果类型不匹配,尝试自动转换类型
    data = np.random.randint(0,10,size=(2,3))
    t3 = torch.FloatTensor(data)#自动转成float,若转不了则报错

张量中默认的类型是float32(torch.FloatTensor)


创建0、1、指定值张量

**zeros()、**ones()、 full()

python 复制代码
import torch
#创建两行三列的全1张量
t1 = torch.ones(2,3)

t2 = torch.tensor([[1,2],[3,4],[5,6]])
t3 = torch.ones_like(t2)#t3基于t2的形状,创建全1张量

#创建两行三列的全0张量
t1 = torch.zeros(2,3)

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

#创建指定值full(形状,内容)
t1 = torch.full((2,3),255)
t2 = torch.tensor([[1,2],[3,4],[5,6]])
t3 = torch.full_like(t2)

创建线性和随机张量

  • torch.arange()\torch.linspace()创建线性张量
  • torch.random.initial_seed()\torch.random.manual_seed()设置随机种子(时间戳、固定)
  • torch.rand/randn()创建随机浮点类型张量
  • torch.randint(low,high,size=())创建随机整数类型张量
python 复制代码
import torch
#创建线性张量
def dm01():
    #指定范围的线性张量(开始,结束,步长)
    t1 = torch.arange(0,10,2) #0,2,4,6,8

    #指定范围的线性等差数列(开始,结束,元素个数)
    t2 = torch.linspace(1,10,5)#1,3.25,5.5,7.75,10

#创建随机张量
def dm02():
    #设置随机种子--创建好后,之后所有的随机都会用
    #torch.initial_seed()#采用当前系统的时间戳作为随机种子
    torch.manual_seed(3)#设置随机种子

    #均匀分布的随机张量
    t1 = torch.rand(size = (2,3))
    #符合正态分布的随机张量
    t2 = torch.randn(size = (2,3))
    #创建随机整数张量
    t3 = torch.randint(0,10,size = (2,3))

创建指定类型的张量

data.type(torch.DoubleTensor)

half()/double()/float()/short()/int()/long()

python 复制代码
inport torch
#直接创建指定类型张量
t1 = torch.tensor([1,2,3,4,5],dtype = torch.float)#默认是float32

#类型转换type()
t2 = t1.type(torch.int16)

#指定转换
t2.half()#float16
t2.float()#float32,默认
t2.double()#float63
t2.short()#int16
t2.int()#int32
t2.long()#int64,默认
相关推荐
一次旅行5 小时前
HyperTool:突破传统工具调用限制,让Agent更高效执行复杂任务
人工智能
陈天伟教授5 小时前
图解人工智能(58)人工智能应用-围棋国手
人工智能·语音识别·机器翻译
闻道参看5 小时前
2026年AI优质企业培训系统综合测评:合规管控/数据量化
人工智能
老虾头5 小时前
科技贴近烟火:本地化 AI,赋能各行各业日常经营
人工智能
毒爪的小新6 小时前
Linux 环境极速部署 vLLM:从零搭建生产级大模型推理服务
linux·人工智能·ai·语言模型·vllm
老大白菜6 小时前
25美元,DIY开源可穿戴智能AI眼镜:Arduino+乐鑫ESP32+DeepSeek项目
人工智能
DreamLife☼6 小时前
OpenBCI-脑机接口在康复医疗中的应用
深度学习·cnn·脑电·康复·fes·openbci·外骨骼
岁月宁静6 小时前
RAG 文档摄入全链路,从原理到生产落地
vue.js·人工智能·python
小和尚同志6 小时前
AI 自动化测试探索(一):Playwright MCP
前端·人工智能·aigc