对 ?Flux 指令的结果进行一个朴素的分类结果如下。
神经元种类
- LSTM: 长短期记忆网络单元,适用于处理和预测序列数据。
- GRU: 门控循环单元,是LSTM的变体,结构更简单。
- GRUv3: 第三版的门控循环单元,可能有一些特定的改进。
- Dense: 密集连接层,即全连接层,每个输入都与每个输出有连接。
优化器
- Descent: 梯度下降优化器。
- Momentum: 动量优化器,考虑历史梯度来加速训练。
- Nesterov: Nesterov动量,是对动量优化器的改进。
- AdaGrad: 自适应梯度算法,为每个参数调整学习率。
- AdaDelta: AdaGrad的改进版,限制累积梯度的大小。
- AdaMax: Adam的变体,使用无穷范数代替二阶矩估计。
- RMSProp: 自适应学习率方法,考虑梯度平方的移动平均。
- Adam: 结合了动量和RMSProp的优化器。
- AdamW: Adam的变体,对权重衰减进行了改进。
- AMSGrad: Adam的改进版,解决了某些情况下的收敛问题。
- AdaBelief: Adam的变体,使用.belief.估计来代替传统的momentum。
- NAdam: 结合了Nesterov动量和Adam的优化器。
- OAdam: Adam的变体,用于大规模优化。
- RAdam: 随机Adam,对Adam的学习率进行了改进。
损失函数
- binarycrossentropy: 二进制交叉熵损失,用于二分类问题。
- crossentropy: 交叉熵损失,用于多分类问题。
- ctc_loss: 连接时序分类损失,用于序列标注问题。
- dice_coeff_loss: Dice系数损失,用于图像分割。
- focal_loss: 焦点损失,用于解决类别不平衡问题。
- hinge_loss: 铰链损失,用于支持向量机。
- huber_loss: Huber损失,对异常值不敏感的损失函数。
- kldivergence: Kullback-Leibler散度,用于度量两个概率分布的差异。
- logitbinarycrossentropy: 对数几率二进制交叉熵损失。
- logitcrossentropy: 对数几率交叉熵损失。
- mae: 平均绝对误差,用于回归问题。
- mse: 均方误差,用于回归问题。
- msle: 对数均方误差,用于回归问题。
- poisson_loss: 泊松损失,用于计数数据。
- squared_hinge_loss: 平方铰链损失。
- tversky_loss: Tversky损失,用于图像分割。
- binary_focal_loss: 二进制焦点损失。
激活函数
- elu: 指数线性单元。
- gelu: 高斯误差线性单元。
- hardsigmoid: 硬Sigmoid函数。
- hardswish: 硬Swish函数。
- hardtanh: 硬Tanh函数。
- hardσ: 硬Sigmoid函数的另一种表示。
- leakyrelu: 泄露修正线性单元。
- lisht: 线性整流激活函数的变体。
- mish: Mish函数,光滑的非单调激活函数。
- relu: 修正线性单元。
- relu6: 限制在6以内的ReLU函数。
- rrelu: 随机泄露修正线性单元。
- selu: Scaled Exponential Linear Units。
- sigmoid: Sigmoid函数。
- sigmoid_fast: 快速Sigmoid函数。
- softmax: Softmax函数,用于多分类。
- softmax!: 强制in-place计算的Softmax函数。
- softplus: Softplus函数。
- softshrink: Softshrink函数。
- softsign: Softsign函数。
- swish: Swish函数。
- tanh_fast: 快速Tanh函数。
- tanhshrink: Tanhshrink函数。
- thresholdrelu: 阈值ReLU函数。
- trelu: 三角ReLU函数。
- σ: Sigmoid函数的另一种表示。
层
- BatchNorm: 批归一化层,用于加速训练。
- Conv: 卷积层,用于特征提取。
- ConvTranspose: 转置卷积层,用于上采样。
- Dense: 密集层,即全连接层。
- Dropout: Dropout层,用于防止过拟合。
- Embedding: 嵌入层,用于处理类别数据。
- EmbeddingBag: 嵌入袋层,是嵌入层的变种。
- GlobalMaxPool: 全局最大池化层。
- GlobalMeanPool: 全局平均池化层。
- GroupNorm: 组归一化层。
- InstanceNorm: 实例归一化层。
- LayerNorm: 层归一化层。
- MaxPool: 最大池化层,用于下采样。
- MeanPool: 平均池化层,用于下采样。
- MultiHeadAttention: 多头注意力层,用于Transformer模型。
- SkipConnection: 跳跃连接,常用于残差网络。
池化
- AdaptiveMaxPool: 自适应最大池化,根据输出尺寸调整池化窗口大小。
- AdaptiveMeanPool: 自适应平均池化,根据输出尺寸调整池化窗口大小。
- MaxPool: 最大池化,选择每个窗口内的最大值。
- MeanPool: 平均池化,计算每个窗口内的平均值。
- GlobalMaxPool: 全局最大池化,在整个特征图上取最大值。
- GlobalMeanPool: 全局平均池化,在整个特征图上取平均值。
- lpnormpool: Lp范数池化。
- lpnormpool!: 强制in-place计算的Lp范数池化。
卷积
- Conv: 卷积操作,用于特征提取。
- ConvTranspose: 转置卷积操作,用于上采样。
- DepthwiseConv: 深度可分卷积,每个输入通道单独卷积。
- DepthwiseConvDims: 深度可分卷积的维度。
- DenseConvDims: 密集卷积的维度。
- ConvDims: 卷积的维度。
设备
- CPUDevice: CPU设备,用于在CPU上执行计算。
- CUDADevice: CUDA设备,用于在NVIDIA GPU上执行计算。
- MetalDevice: Metal设备,用于在Apple GPU上执行计算。
- XLADevice: XLA设备,用于在TPU上执行计算。
- oneAPIDevice: oneAPI设备,用于在Intel GPU上执行计算。
初始化方法
- glorot_normal: Glorot正态分布初始化,也称为Xavier初始化。
- glorot_uniform: Glorot均匀分布初始化。
- kaiming_normal: Kaiming正态分布初始化,适用于ReLU激活函数。
- kaiming_uniform: Kaiming均匀分布初始化。
- orthogonal: 正交初始化,保持权重的正交性。
- sparse_init: 稀疏初始化,初始化为稀疏矩阵。
- truncated_normal: 截断正态分布初始化。
- identity_init: 单位矩阵初始化。
- default_rng_value: 默认随机数生成器的值。
梯度算子
- ∇conv_data: 计算卷积操作关于输入数据的梯度。
- ∇conv_data!: 同上,但可能会就地修改输入数据。
- ∇conv_filter: 计算卷积操作关于卷积核(过滤器)的梯度。
- ∇conv_filter!: 同上,但可能会就地修改卷积核。
- ∇depthwiseconv_data: 计算深度可分卷积操作关于输入数据的梯度。
- ∇depthwiseconv_data!: 同上,但可能会就地修改输入数据。
- ∇depthwiseconv_filter: 计算深度可分卷积操作关于卷积核的梯度。
- ∇depthwiseconv_filter!: 同上,但可能会就地修改卷积核。
- ∇grid_sample: 计算网格采样操作关于输入网格的梯度。
- ∇imrotate: 计算图像旋转操作关于输入图像的梯度。
- ∇logsoftmax: 计算LogSoftmax操作关于输入数据的梯度。
- ∇logsoftmax!: 同上,但可能会就地修改输入数据。
- ∇lpnormpool: 计算Lp范数池化操作关于输入数据的梯度。
- ∇lpnormpool!: 同上,但可能会就地修改输入数据。
- ∇maxpool: 计算最大池化操作关于输入数据的梯度。
- ∇maxpool!: 同上,但可能会就地修改输入数据。
- ∇meanpool: 计算平均池化操作关于输入数据的梯度。
- ∇meanpool!: 同上,但可能会就地修改输入数据。
- ∇softmax: 计算Softmax操作关于输入数据的梯度。
- ∇softmax!: 同上,但可能会就地修改输入数据。
- ∇upsample_bilinear: 计算双线性上采样操作关于输入数据的梯度。
- ∇upsample_linear: 计算线性上采样操作关于输入数据的梯度。
- ∇upsample_nearest: 计算最近邻上采样操作关于输入数据的梯度。
- ∇upsample_trilinear: 计算三线性上采样操作关于输入数据的梯度。
其他项目
adjust!: 调整参数。
batched_adjoint: 批量共轭转置。
batched_mul: 批量矩阵乘法。
batched_mul!: 强制in-place计算的批量矩阵乘法。
batched_transpose: 批量转置。
batched_vec: 批量向量操作。
bias_act!: 偏置和激活函数的复合操作。
binary_focal_loss: 二进制焦点损失函数。
cpu: CPU操作。
cpu_device: CPU设备。
create_bias: 创建偏置参数。
default_device_rng: 默认设备随机数生成器。
default_rng_value: 默认随机数生成器的值。
destructure: 解构对象。
dot_product_attention: 点积注意力机制。
dot_product_attention_scores: 点积注意力分数。
dropout: Dropout操作。
dropout!: 强制in-place计算的Dropout操作。
f16: 16位浮点数。
f32: 32位浮点数。
f64: 64位浮点数。
fmap: 特征图操作。
freeze!: 冻结参数。
functor: 函数对象。
get_device: 获取当前设备。
get_device_type: 获取设备类型。
getkeypath: 获取键路径。
gpu: GPU操作。
gpu_backend!: GPU后端操作。
gpu_device: GPU设备。
gradient: 计算梯度。
grid_sample: 网格采样操作。
hamming_window: 汉明窗函数。
hann_window: 汉宁窗函数。
imrotate: 图像旋转。
istft: 离散短时傅里叶逆变换。
label_smoothing: 标签平滑。
make_causal_mask: 创建因果掩码。
melscale_filterbanks: 梅尔尺度滤波器组。
outputsize: 输出尺寸。
pad_circular: 循环填充。
pad_constant: 常数填充。
pad_reflect: 反射填充。
pad_repeat: 重复填充。
pad_symmetric: 对称填充。
pad_zeros: 零填充。
params: 参数。
pixel_shuffle: 像素洗牌操作。
rand32: