深度学习——基础知识

  深度学习的重点在于优化,其中很重要的步骤在于如何调参,会涉及到一些微积分等数学知识。不同于以往接触到的数值运算,深度(机器)学习都是关于张量Tensor(向量)的计算,Python中最常用的包就是Numpy,其次张量类支持调用包可自动微分。

一、基础操作运算

1.1 导入torch

  先导入torch,虽然是pytorch版本的深度学习,但是代码中使用torch,而不是pytorch.

1.2 arange创建行向量

1.3 通过张量的shape属性来访问张量的形状或维度

1.4 张量的大小

  张量中元素的总数,即shape属性中所有元素的乘积。

一维向量的shape和size是相同的数值

1.5 改变张量的形状reshape

  要想改变一个张量的形状而不改变元素数量和元素值,可以调用reshape函数。

在reshape时,不需要特别指定每个维度的参数,在知道元素总数的前提下,知道宽度(高度)后,高度(宽度)会被自动计算得出,不需要自己手动计算,可以通过-1来调用此自动计算出形状。

1.6 初始化矩阵

1.6.1 将张量中所有元素设置为0

1.6.2 将张量中所有元素设置为1

1.6.3 标准高斯分布:均值为0,标准差为1,随机初始化参数的值

1.6.4 自定义张量

  可以通过包含数值的python列表(嵌套列表)来为所需张量中的每个元素赋予确定值。

二、张量运算符

2.1 按元素计算

2.2 张量连接

dim=0对行进行拼接;dim=1对列进行拼接。

2.3 逻辑运算符

2.3 求和

三、广播机制

  形状相同的张量按元素操作,在某些情况下,即使形状不同,可以通过调用广播机制来执行按元素操作。

  广播机制在大多数情况下,沿着数组中长度为1的轴进行广播。

  a和b分别是31和1 2的矩阵,如果让它们相加,它们的形状不匹配,我们将两个矩阵广播为一个更大的3*2矩阵,矩阵a将复制列,矩阵b将复制行,然后按元素相加。
a + b = 0 0 1 1 2 2 + 0 1 0 1 0 1 = 0 1 1 2 2 3 a+b= \begin{bmatrix} 0 & 0 \\ 1 & 1 \\ 2 &2 \end{bmatrix}+\begin{bmatrix} 0 & 1 \\ 0 & 1 \\ 0 & 1 \end{bmatrix} = \begin{bmatrix} 0 & 1 \\ 1 & 2 \\ 2 & 3 \end{bmatrix} a+b= 012012 + 000111 = 012123

四、转换为其他Python对象

  torch张量和numpy数组可以互相转化.

  要将大小为1的张量转换为python标量,可以用item函数或者python的内置函数。

相关推荐
田里的水稻1 分钟前
EP_ROS框架---相机视频流交互二
人工智能·深度学习·数码相机·机器学习·迁移学习
AI行业应用研究4 分钟前
会务信息载体的演进:纸质、PDF 与结构化数据源的分发成本与版本一致性
大数据·人工智能·安全·小程序·架构·pdf
罗西的思考4 分钟前
[Agent Memory / 强化学习] MemPO源码学习笔记 — (6)— 奖励机制
人工智能·笔记·学习
Ai小禾20 分钟前
【Obsidian对话数据怎么导入到另外一个Obsidian账号里去? 】用“AI导出鸭”把AI对话变成可迁移的知识资产
人工智能
4SAPI23 分钟前
AI API Gateway平台哪个好?从架构视角看企业多模型网关选型与实践
java·大数据·人工智能·gateway·php
EatFan25 分钟前
2026 后端 AI 工程化:Spring AI 2.0、MCP 协议与 Agent 内嵌如何收进 Java 生产系统
java·人工智能·spring·agent·spring ai·spring boot 3·mcp
会议咨询30 分钟前
2026年交互设计、计算机视觉与数字化技术国际会议(ICDT 2026)
人工智能·计算机视觉·交互
JPower_mr.g32 分钟前
SmartCall 音色管理技术解析:基于 SPI 的可扩展音色注册架构
java·开发语言·人工智能·ai·架构·开源
高洁0134 分钟前
智能博弈背景下中国AI国防建设的战略价值
人工智能·python·深度学习·django·tornado
YOLO数据集集合37 分钟前
建筑物坍塌程度检测数据集 | 建筑物坍塌 灾害评估 坍塌程度 目标检测 9180期
人工智能·目标检测·计算机视觉·建筑·建筑损害