回归问题:
计算loss
更新w,b1
迭代
--------------------------------------------------------------------------------------------
minst
d1,d2,d3就是 层H1,H2,H3的维度
预测值的计算公式
激活函数
argmax最大值索引![](https://i-blog.csdnimg.cn/blog_migrate/1d386241b1f9464412993c5b0979c7c8.png)
____________________第四章:pytorch基础--------------------------
数据类型:
1.标量:维度=0(不用[]创建的就是标量)
-----------------------------------1维的张量 =======
张量:
不使用 [] 创建,随机初始化:
使用numpy创建:
_______________________dimension=2 维度为2-------------------------------
__________dimension=3 维度为3---------------
__________dimension=4 维度为4---------------
常用方法 : dim:维度
创建张量-----------------
未给初始值的创建方法 接口开头大T,注意区分
问题:会出现非常大 或非常小的数
随机初始化
正态分布
全部赋值为x
等差数列 不包含最后一个数
linspace:包含最后一个数 steps切成多少份
其他: eye对角矩阵
随机种子
------------------------切片------------------------------------------------------
索引
切片
注意:[:2]表示0,1 不包含2
三个点:代表取所有
masked_select()
注意:会拉成一维 长度取决于筛选出多少
--------------------------------------维度变换------------------
1.view和reshape 在torch中作用一样
2.squeeze压缩维度 unsqueeze展开维度
unsqueeze:增加维度
取值范围【-dim-1,dim+1)
正索引在之前插入 负索引在之后插入
例子:
squeeze:参数:要删减的维度 (省略:在维度上是1的全删掉)
注:只能删掉1的维度,不是1的删不掉
-----------------------------------------------------------------------------------------------------------------------------------
3.扩张:expand或repeat
区别:repeat复制了数据
expand:
expend_as(A)扩成跟A一样的维度
只能扩张原来是1的维度位置
-1表示跟原来一致
repeat:参数意义:每个维度要拷贝的次数
-------------------------------------------------------------------------
4.转置
.t 只能用于2维
transpose 交换两个维度
permute把原来维度按索引的形式重排列
-------------------------------------------------------------------------------------------------------------------------------------------------------
pytroch的自带功能 Broadcasting:自动扩展
原理图:
--------------------------合并----------------------------------------------
cat
非cat的维度上必须一致
stack:插入一个新的维度(相当于插入了一个新的语义)
所有维度必须相同
--------------------------------分割-------------------------------------------------
split
第一种:直接给一个数 表示拆分成n块 ,每一份长度1,其中n=2/1=2
第二种:给一个列表 表示每一份占多少
【1,1】:第一个长1 第二个长1
【3,2】:
chunk:拆分成n块
-----------------------------------------运算-------------------
根据broadcasting自动填充,把【4】填充为【3,4】
加
减
a-b
乘
a*b(相同位置乘)
除
a/b
-----------矩阵相乘
.mm只适合2d的矩阵相乘(推荐还是使用matmul)
@符号 同.matmul
''
4维矩阵相乘:乘的是最后的维度
前面维度不同的情况,使用broadcasting填充
【4,1,64,32】填充为【4,3,64,32】
pow次方运算------------------------
使用full创建全是3的矩阵,再做平方
开方sqrt()------------------
exp和log-------------------------
exp()对矩阵做以e为底的运算
近似值运算------
floor下取整,ceil上取整 ,trunc取整数部分,frac取小数部分
round()四舍五入
clamp限制范围-------------------------------
生成0~15的矩阵,找出最大值和中值
max 、median
大于10 的替换为10
-------------------------------统计属性-----------------------------------
norm范数
最小 最大 平均 累乘
累加
argmin,argmax
最大最小索引:不带参数先拉成一维 再找索引
添加dim属性
max()argmax() 添加dim属性
添加keepdim属性
topk最大的n个,largest=False:反向
kthvalue 第n小
比较符-----------------------------------------------------------------------
torch中没有ture flase使用0,1代替 类型uint8
eq()和equal()
eq返回每个位置是否相等
equal返回整个矩阵是否相等
where-------------------------------------------------------------------------
根据condition的值决定取A矩阵还是B矩阵的相应元素
1的话取A的值
gather======================================