实现
import torch
import torch.nn as nn
# NLP Example
batch, sentence_length, embedding_dim = 20, 5, 10
embedding = torch.randn(batch, sentence_length, embedding_dim)
layer_norm = nn.LayerNorm(embedding_dim)
# Activate module
layer_norm(embedding)
# Image Example
N, C, H, W = 20, 5, 10, 10
input = torch.randn(N, C, H, W)
# Normalize over the last three dimensions (i.e. the channel and spatial dimensions)
# as shown in the image below
layer_norm = nn.LayerNorm([C, H, W])
output = layer_norm(input)
self.feature_norm = nn.LayerNorm(self.ddim, elementwise_affine=False)
File "***.py", line 9, in __init__
self.feature_norm = nn.LayerNorm(self.ddim, elementwise_affine=False)
File "***\anaconda3\envs\lshtorch\lib\site-packages\torch\nn\modules\normalization.py", line 171, in __init__
self.normalized_shape = tuple(normalized_shape) # type: ignore[arg-type]
TypeError: 'method' object is not iterable
Batch Norm
WARNING:root:NaN or Inf found in input tensor.
后
边
方
差
加
上
一
个
很
小
的
数
,
防
止
变
成
0
,
在
下
方
的
归
一
化
的
式
子
中
μ
B
和
σ
B
是
根
据
当
前
数
据
求
出
的
,
γ
和
β
是
可
以
学
习
的
参
数
后边方差加上一个很小的数,防止变成0,在下方的归一化的式子中μ_B和σ_B是根据当前数据求出的,\\ γ和β是可以学习的参数
后边方差加上一个很小的数,防止变成0,在下方的归一化的式子中μB和σB是根据当前数据求出的,γ和β是可以学习的参数
应
该
可
以
理
解
为
对
于
某
个
随
机
变
量
的
作
用
,
所
以
全
连
接
层
是
对
某
个
数
的
不
同
取
值
作
用
,
而
卷
积
层
是
对
某
个
像
素
的
通
道
作
用
应该可以理解为对于某个随机变量的作用,所以全连接层是对某个数的不同取值作用,\\而卷积层是对某个像素的通道作用
应该可以理解为对于某个随机变量的作用,所以全连接层是对某个数的不同取值作用,而卷积层是对某个像素的通道作用
后
续
有
人
研
究
发
现
没
有
改
变
内
部
协
变
量
后
边
的
研
究
可
能
也
是
不
对
的
后续有人研究发现没有改变 内部协变量\\后边的研究可能也是不对的
后续有人研究发现没有改变内部协变量后边的研究可能也是不对的
😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂
可
以
调
大
一
些
学
习
率
可以调大一些学习率
可以调大一些学习率