1.permute(多维数组,[维数的组合])
例:a=rand(2,3,4);这是一个三维数组,各维长度分别为2,3,4
%现在交换第一维和第二维:
permute(A,[2,1,3]) %变成3* 2*4的矩阵。
2.仿射层(Affine Layer)
神经网络中的一个全连接层。仿射(Affine)的意思是前面一层中的每一个神经元都连接到当前层中的每一个神经元。在许多方面,这是神经网络的「标准」层。仿射层通常被加在卷积神经网络或循环神经网络做出最终预测前的输出的顶层。仿射层的一般形式为 y = f(Wx + b),其中 x 是层输入,w 是参数,b 是一个偏差矢量,f 是一个非线性激活函数。
3.Mish的作用
Mish=x * tanh(ln(1+e^x)),
其他的激活函数,ReLU是x = max(0,x),Swish是x * sigmoid(x)。
PyTorch的Mish实现:
Tensorflow中的Mish函数:
Tensorflow:x = x *tf.math.tanh(F.softplus(x))
为什么Mish表现这么好?
以上无边界(即正值可以达到任何高度)避免了由于封顶而导致的饱和。理论上对负值的轻微允许允许更好的梯度流,而不是像ReLU中那样的硬零边界。
最后,可能也是最重要的,目前的想法是,平滑的激活函数允许更好的信息深入神经网络,从而得到更好的准确性和泛化。
4.b = a[i:j] 表示复制a[i]到a[j-1],以生成新的list对象
a = [0,1,2,3,4,5,6,7,8,9]
b = a[1:3] # [1,2]
当i缺省时,默认为0,即 a[:3]相当于 a[0:3]
当j缺省时,默认为len(alist), 即a[1:]相当于a[1:10]
当i,j都缺省时,a[:]就相当于完整复制一份a
b = a[i:j:s]表示:i,j与上面的一样,但s表示步进,缺省为1.
所以a[i:j:1]相当于a[i:j]
当s<0时,i缺省时,默认为-1. j缺省时,默认为-len(a)-1
所以a[::-1]相当于 a[-1:-len(a)-1:-1],也就是从最后一个元素到第一个元素复制一遍,即倒序。
参考文章:https://blog.csdn.net/qq_30468133/article/details/85074003
https://www.cnblogs.com/hmy-blog/p/6555939.html
https://blog.csdn.net/u011984148/article/details/101444274
https://blog.csdn.net/mingyuli/article/details/81604795?utm_medium=distribute.pc_feed_404.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_feed_404.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecas