初始化器#

初始化器#

mlx.nn.init 包包含了神经网络参数常用的初始化器。初始化器返回一个函数,该函数可以应用于任何 mlx.core.array 输入以生成初始化的输出。

例如

import mlx.core as mx
import mlx.nn as nn

init_fn = nn.init.uniform()

# Produces a [2, 2] uniform matrix
param = init_fn(mx.zeros((2, 2)))

要使用例如均匀分布重新初始化一个 mlx.nn.Module 中的所有参数,您可以这样做:

import mlx.nn as nn
model = nn.Sequential(nn.Linear(5, 10), nn.ReLU(), nn.Linear(10, 5))
init_fn = nn.init.uniform(low=-0.1, high=0.1)
model.apply(init_fn)

constant(value[, dtype])

返回填充有 value 的数组的初始化器。

normal([mean, std, dtype])

返回正态分布样本的初始化器。

uniform([low, high, dtype])

返回均匀分布样本的初始化器。

identity([dtype])

返回单位矩阵的初始化器。

glorot_normal([dtype])

Glorot 正态分布初始化器。

glorot_uniform([dtype])

Glorot 均匀分布初始化器。

he_normal([dtype])

构建一个 He 正态分布初始化器。

he_uniform([dtype])

He 均匀分布(Kaiming 均匀分布)初始化器。