速通各种代码, 需要写出能直接跑的代码, 不能用 copilot.
参考:
torch.mul
对于一维张量是点积, 高维张量中是矩阵相乘@
torch.bmm
矩阵相乘,.transpose(dim_1, dim_2)
: 交换两个维度,
参数为两个维度的索引.view()
: 将张量变成指定的形状,
需要确保数量对应一致nn.Parameter
:torch.empty()
: 创建使用未初始化值填满的张量.很久没好好看过 torch 了, 需要总结下基础用法.
1 | import torch |
1 | import torch |
【深度学习理论】纯公式手推+代码撸——神经网络的反向传播+梯度下降 - 知乎 (zhihu.com)
Transformer中的归一化(五):Layer Norm的原理和实现 & 为什么Transformer要用LayerNorm - 知乎 (zhihu.com)
1 | import torch |
详解Pytorch中的BatchNorm模块 | 天天教程 (foobarweb.net)
怎么网上的代码都是乱七八糟的.
按照 nn.Batchnorm1d
, 对于三维张量, 应该是这样算的,
对于张量
1 | x = torch.tensor([ |
1 | tmp = x[:,0,:] # 形状为 [2,4] |
输出:
1 | tensor(8.5000) torch.Size([]) |
大部分题只写思路. 主要做 middle.
遍历两次链表获取长度, 然后挪到同一起点, 再继续遍历一次, 指针相等时即为相交处.
应该不用倍增.
获取每个节点的高度, 然后往上移动到同一高度, 再同时往上移, 相遇处即为最近公共祖先.
暴力
单调队列还没学会.
状态设计:
状态转移: