📗
deeplearning
  • 机器学习
    • LR & SVM
    • 树模型
    • 评测指标
    • 数据不平衡
  • CV基础
    • 基础模型
    • 初始化
    • 激活函数
    • 注意力机制
    • 损失函数
    • 优化器
    • 可视化
    • 轻量级网络
    • 多任务学习
  • deepfake
    • 数据集
  • 人脸
    • 数据集
    • 人脸对齐
    • 人脸检测
    • 人脸识别
  • 语义分割
    • 语义分割
  • 无监督
    • 无监督
  • 推荐系统
    • 推荐系统模型
    • 推荐系统中的偏差
    • 王喆:深度学习推荐系统
    • 特征处理
    • 重排序
    • 互联网商业化变现
  • 数学
    • bayes最大似然
    • 蒙特卡洛
  • 网站
    • css
    • html
    • js
    • jquery
    • flask
  • 基础工具
    • anaconda
    • docker
    • git
    • linux install
    • vpn
    • latex
  • python
    • numpy
    • matplotlib
    • pandas
    • multi process
    • pytorch
  • 设计模式
    • 设计模式之美
    • 图说设计模式
  • 其他
    • how to ask
    • python style
Powered by GitBook
On this page
  • torch.Tensor
  • gather
  • nn.functional
  • normalize
  • linear
  • log_softmax
  • nn.init
  • uniform & normal
  • xavier_uniform & xavier_normal
  • kaiming_uniform & kaiming_normal
  • constant
  • nn
  • nn.Conv2d
  • nn.MaxPool2d和nn.AvgPool2d
  • nn.AdaptiveAvgPool2d

Was this helpful?

  1. python

pytorch

torch.Tensor

  • abs(), the same as torch.abs()

  • abs_()

  • acos()

  • acos_()

  • asin()

  • asin_()

gather

torch.gather(input, dim, index, out=None, sparse_grad=False) → Tensor

按给定的轴,根据index在input上收集数据。

index的维度和给定的tensor相同。

# 示例1:对于一个三维张量,有
out[i][j][k] = input[index[i][j][k]][j][k]  # if dim == 0
out[i][j][k] = input[i][index[i][j][k]][k]  # if dim == 1
out[i][j][k] = input[i][j][index[i][j][k]]  # if dim == 2

# 示例2:
t = torch.tensor([[1,2],[3,4]])
torch.gather(t, 1, torch.tensor([[0,0],[1,0]]))
tensor([[ 1,  1],
        [ 4,  3]])

nn.functional

normalize

torch.nn.functional.normalize(input: torch.Tensor, p: float = 2, dim: int = 1, eps: float = 1e-12, out: Optional[torch.Tensor] = None) → torch.Tensor

对维度 dim 进行 $L_p$ 正则化

linear

torch.nn.functional.linear(input: torch.Tensor, weight: torch.Tensor, bias: Optional[torch.Tensor] = None) → torch.Tensor

  • input: (N, *, in_features), * means any number of

  • weights: (out_features,in_features)

  • output: (N,∗,out_features)

log_softmax

torch.nn.functional.log_softmax(input, dim=None, _stacklevel=3, dtype=None) → torch.Tensor

equals log(softmax(x))

nn.init

uniform & normal

$U(a,b)$

torch.nn.init.uniform_(tensor: torch.Tensor, a: float = 0.0, b: float = 1.0) → torch.Tensor

$N(mean,std^2)$

torch.nn.init.normal_(tensor: torch.Tensor, mean: float = 0.0, std: float = 1.0) → torch.Tensor

xavier_uniform & xavier_normal

基本思想:通过网络层时,输入和输出的方差相同,包括前向传播和后向传播。

torch.nn.init.xavier_normal_(tensor: torch.Tensor, gain: float = 1.0) → torch.Tensor

kaiming_uniform & kaiming_normal

torch.nn.init.kaiming_uniform_(tensor, a=0, mode='fan_in', nonlinearity='leaky_relu')

torch.nn.init.kaiming_normal_(tensor, a=0, mode='fan_in', nonlinearity='leaky_relu')

constant

torch.nn.init.constant_(tensor: torch.Tensor, val: float) → torch.Tensor

torch.nn.init.ones_(tensor: torch.Tensor) → torch.Tensor

torch.nn.init.zeros_(tensor: torch.Tensor) → torch.Tensor

nn

nn.Conv2d

nn.MaxPool2d和nn.AvgPool2d

公式和conv2d相同

nn.AdaptiveAvgPool2d

torch.nn.AdaptiveAvgPool2d(output_size: Union[T, Tuple[T, ...]])

给出输出的大小,自适应算法能够自动帮助我们计算核的大小和每次移动的步长。

Previousmulti processNext设计模式之美

Last updated 3 years ago

Was this helpful?

v=vmax⁡(∥v∥p,ϵ)v=\frac{v}{\max \left(\|v\|_{p}, \boldsymbol{\epsilon}\right)}v=max(∥v∥p​,ϵ)v​
y=xAT+by=x A^{T}+by=xAT+b
bound=gain∗6fan_in+fan_outbound=gain * \sqrt{\frac{6}{fan\_in + fan\_out}}bound=gain∗fan_in+fan_out6​​
std=gain∗2fan_in+fan_outstd=gain * \sqrt{\frac{2}{fan\_in + fan\_out}}std=gain∗fan_in+fan_out2​​
bound=gain∗3fan_modebound = gain * \sqrt{\frac{3}{fan\_mode}}bound=gain∗fan_mode3​​
bound=gainfan_modebound = \frac{gain}{\sqrt{fan\_mode}}bound=fan_mode​gain​