深度学习——基础知识

深度学习的重点在于优化,其中很重要的步骤在于如何调参,会涉及到一些微积分等数学知识。不同于以往接触到的数值运算,深度(机器)学习都是关于张量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的内置函数。

相关推荐
weixin_4374977711 分钟前
读书笔记:Context Engineering 2.0 (上)
人工智能·nlp
喝拿铁写前端17 分钟前
前端开发者使用 AI 的能力层级——从表面使用到工程化能力的真正分水岭
前端·人工智能·程序员
goodfat18 分钟前
Win11如何关闭自动更新 Win11暂停系统更新的设置方法【教程】
人工智能·禁止windows更新·win11优化工具
北京领雁科技28 分钟前
领雁科技反洗钱案例白皮书暨人工智能在反洗钱系统中的深度应用
人工智能·科技·安全
落叶,听雪31 分钟前
河南建站系统哪个好
大数据·人工智能·python
清月电子1 小时前
杰理AC109N系列AC1082 AC1074 AC1090 芯片停产替代及资料说明
人工智能·单片机·嵌入式硬件·物联网
Dev7z1 小时前
非线性MPC在自动驾驶路径跟踪与避障控制中的应用及Matlab实现
人工智能·matlab·自动驾驶
七月shi人1 小时前
AI浪潮下,前端路在何方
前端·人工智能·ai编程
橙汁味的风1 小时前
1隐马尔科夫模型HMM与条件随机场CRF
人工智能·深度学习·机器学习
itwangyang5202 小时前
AIDD-人工智能药物设计-AI 制药编码之战:预测癌症反应,选对方法是关键
人工智能