初始化器

初始化器#

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均匀)初始化器。