摘要:
1.MSE(均方差)梯度 (1)均方差MSE (2)MSE求梯度 【注】例如网络形式为线性感知机:ƒ(x)=w*x+b这里只是举例,具体用什么样的函数需要根据实际的网络结构。 对w求导则是:Δƒw(w)/Δw 对b求导则是:Δƒb(b)/Δb (3)均方差在pytorch中如何求梯度 (3.1.1) 阅读全文
摘要:
1:常见函数的梯度 【注】 导数:一维函数的导数(梯度)没有方向是一个标量 梯度:有方向的向量 2:激活函数的梯度 (2.1)激活函数:Sigmoid/Logistic [注]sigmoid函数输出范围为【0,1】,多用于概率,图像的rgb通道等。 [注]sigmoid函数在torch中的使用有两种 阅读全文
摘要:
1:导数/偏微分/梯度 区别: (1) 导数是一个没有方向之分的标量。 偏微分是一个有多个方向的标量。 梯度是一个向量。 (2) 导数反应的是变化量 2:如何搜索极小值:可能影响优化器的几种因素 (1)局部极小值 实际中的局部最小值实例: (2)鞍点 (3)初始状态/学习率/动量 (3.1.1)初始 阅读全文
摘要:
1:where(condition,x,y) [注]返回一个和a,b shape相同的tensor,返回的tensor内容根据选择条件condition从a,b中进行选择。 如上图:选择条件为cond>0.5会返回一个元素类型为torch.unit8类型的0 or 1的tensor。0代表false 阅读全文
摘要:
1:求范数norm(int)/norm(int,dim)当只有一个参数时表示求几范数,当有两个参数时第二个表示在哪一个索引维度求范数。 [注]在那个维度进行求范数时,哪个维度消失。例如图中shape为[2,2,2]的c在第0维度求范数则其shape变为[2,2] [注]较难理解因此进行详细刨析对于如 阅读全文
摘要:
1:基本运算符(重载的+-*/或者函数add(a,b),sub(a,b),mul(a,b),div(a,b))实现基本的加减乘除。 【注】可以用eq()函数查看两种不同运算之后的维度信息是否相同,all()函数可以查看对用维度的数据元素是否相同。 2:matmul/mm/@都是矩阵相乘 【注】mm仅 阅读全文
摘要:
1:Broadcasting维度的自动扩张 特点:能够进行维度的自动扩张,而又不复制数据。 使用例如下图: 例如上图:A 形状为[4,32,14,14]的tensor与B 形状为[32]的tensor相加,首先需要右对齐,由于右对齐32与A最右边的 的14不匹配,故需要先手动添加两个维度生成B [3 阅读全文
摘要:
1:view reshape合并维度 【注】:合并维度。若:x=torch.randn(4,4)。x.view(-1,8)其中的-1为自动计算剩余维度的大小即为2。x.view(-1)其中的-1表示拉直张量。 2:unsqueeze()插入维度/squeeze()删除维度 【注】当参数为正数是在前面 阅读全文
摘要:
1: [注]:0:28:2其含义为(start:end:step)当step省略时默认为步长为1. 0:28(start:end)start和end都可以省略,省略表示无限制。 2: index_select(index1,index2)参数index1为一个标量:表示维度的索引,参数index2时 阅读全文
摘要:
1:基本数据类型 【注】pytorch中没有string类型。表示string类型需要用到编码表示:例如:one-hot编码,Eembedding编码 2:创建张量 【注】可以用isinstance(data,dataType)检验数据类型。 【注】在pytorch0.3及0.3之前没有标量的概念。 阅读全文