docs update

This commit is contained in:
Awni Hannun
2024-03-30 17:32:20 -07:00
committed by CircleCI Docs
parent e1f3a7b14d
commit 8b5550f9f8
487 changed files with 65737 additions and 17370 deletions

View File

@@ -1,15 +1,14 @@
<!DOCTYPE html>
<html lang="en" data-content_root="" >
<html lang="en" data-content_root="../" >
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.18.1: http://docutils.sourceforge.net/" />
<title>Neural Networks &#8212; MLX 0.7.0 documentation</title>
<title>Neural Networks &#8212; MLX 0.9.0 documentation</title>
@@ -29,20 +28,18 @@
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.1.2/webfonts/fa-brands-400.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.1.2/webfonts/fa-regular-400.woff2" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" href="../_static/styles/sphinx-book-theme.css?digest=14f4ca6b54d191a8c7657f6c759bf11a5fb86285" type="text/css" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../_static/styles/sphinx-book-theme.css?v=384b581d" />
<!-- Pre-loaded scripts that we'll load fully later -->
<link rel="preload" as="script" href="../_static/scripts/bootstrap.js?digest=5b4479735964841361fd" />
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=5b4479735964841361fd" />
<script src="../_static/vendor/fontawesome/6.1.2/js/all.min.js?digest=5b4479735964841361fd"></script>
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/_sphinx_javascript_frameworks_compat.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/scripts/sphinx-book-theme.js?digest=5a5c038af52cf7bc1a1ec88eea08e6366ee68824"></script>
<script src="../_static/documentation_options.js?v=2a76c96f"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/scripts/sphinx-book-theme.js?v=efea14e4"></script>
<script>DOCUMENTATION_OPTIONS.pagename = 'python/nn';</script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
@@ -134,12 +131,23 @@
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.7.0 documentation - Home"/>
<script>document.write(`<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.7.0 documentation - Home"/>`);</script>
<img src="../_static/mlx_logo.png" class="logo__image only-light" alt="MLX 0.9.0 documentation - Home"/>
<script>document.write(`<img src="../_static/mlx_logo_dark.png" class="logo__image only-dark" alt="MLX 0.9.0 documentation - Home"/>`);</script>
</a></div>
<div class="sidebar-primary-item"><nav class="bd-links" id="bd-docs-nav" aria-label="Main">
<div class="sidebar-primary-item">
<script>
document.write(`
<button class="btn navbar-btn search-button-field search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button>
`);
</script></div>
<div class="sidebar-primary-item"><nav class="bd-links bd-docs-nav" aria-label="Main">
<div class="bd-toc-item navbar-nav active">
<p aria-level="2" class="caption" role="heading"><span class="caption-text">Install</span></p>
<ul class="nav bd-sidenav">
@@ -168,27 +176,38 @@
<li class="toctree-l1 has-children"><a class="reference internal" href="array.html">Array</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-1"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.html">mlx.core.array</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.astype.html">mlx.core.array.astype</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.at.html">mlx.core.array.at</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.item.html">mlx.core.array.item</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.tolist.html">mlx.core.array.tolist</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.dtype.html">mlx.core.array.dtype</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.itemsize.html">mlx.core.array.itemsize</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.nbytes.html">mlx.core.array.nbytes</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.ndim.html">mlx.core.array.ndim</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.shape.html">mlx.core.array.shape</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.size.html">mlx.core.array.size</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.Dtype.html">mlx.core.Dtype</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.abs.html">mlx.core.array.abs</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.all.html">mlx.core.array.all</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.any.html">mlx.core.array.any</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.argmax.html">mlx.core.array.argmax</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.argmin.html">mlx.core.array.argmin</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.cos.html">mlx.core.array.cos</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.dtype.html">mlx.core.array.dtype</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.cummax.html">mlx.core.array.cummax</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.cummin.html">mlx.core.array.cummin</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.cumprod.html">mlx.core.array.cumprod</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.cumsum.html">mlx.core.array.cumsum</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.diag.html">mlx.core.array.diag</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.diagonal.html">mlx.core.array.diagonal</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.exp.html">mlx.core.array.exp</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.flatten.html">mlx.core.array.flatten</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.log.html">mlx.core.array.log</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.log10.html">mlx.core.array.log10</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.log1p.html">mlx.core.array.log1p</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.log2.html">mlx.core.array.log2</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.logsumexp.html">mlx.core.array.logsumexp</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.max.html">mlx.core.array.max</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.mean.html">mlx.core.array.mean</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.min.html">mlx.core.array.min</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.moveaxis.html">mlx.core.array.moveaxis</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.prod.html">mlx.core.array.prod</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.reciprocal.html">mlx.core.array.reciprocal</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.reshape.html">mlx.core.array.reshape</a></li>
@@ -198,13 +217,21 @@
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.split.html">mlx.core.array.split</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.sqrt.html">mlx.core.array.sqrt</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.square.html">mlx.core.array.square</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.squeeze.html">mlx.core.array.squeeze</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.swapaxes.html">mlx.core.array.swapaxes</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.sum.html">mlx.core.array.sum</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.transpose.html">mlx.core.array.transpose</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.T.html">mlx.core.array.T</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.array.var.html">mlx.core.array.var</a></li>
</ul>
</li>
<li class="toctree-l1 has-children"><a class="reference internal" href="devices_and_streams.html">Devices and Streams</a><input class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-2"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l1 has-children"><a class="reference internal" href="data_types.html">Data Types</a><input class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-2"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.Dtype.html">mlx.core.Dtype</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.DtypeCategory.html">mlx.core.DtypeCategory</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.issubdtype.html">mlx.core.issubdtype</a></li>
</ul>
</li>
<li class="toctree-l1 has-children"><a class="reference internal" href="devices_and_streams.html">Devices and Streams</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-3"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.Device.html">mlx.core.Device</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/stream_class.html">mlx.core.Stream</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.default_device.html">mlx.core.default_device</a></li>
@@ -215,7 +242,7 @@
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.stream.html">mlx.core.stream</a></li>
</ul>
</li>
<li class="toctree-l1 has-children"><a class="reference internal" href="ops.html">Operations</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-3"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l1 has-children"><a class="reference internal" href="ops.html">Operations</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-4"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.abs.html">mlx.core.abs</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.add.html">mlx.core.add</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.all.html">mlx.core.all</a></li>
@@ -246,6 +273,10 @@
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.conv_general.html">mlx.core.conv_general</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.cos.html">mlx.core.cos</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.cosh.html">mlx.core.cosh</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.cummax.html">mlx.core.cummax</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.cummin.html">mlx.core.cummin</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.cumprod.html">mlx.core.cumprod</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.cumsum.html">mlx.core.cumsum</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.dequantize.html">mlx.core.dequantize</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.diag.html">mlx.core.diag</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.diagonal.html">mlx.core.diagonal</a></li>
@@ -266,10 +297,10 @@
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.identity.html">mlx.core.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.inner.html">mlx.core.inner</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.isclose.html">mlx.core.isclose</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.isnan.html">mlx.core.isnan</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.isposinf.html">mlx.core.isposinf</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.isneginf.html">mlx.core.isneginf</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.isinf.html">mlx.core.isinf</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.isnan.html">mlx.core.isnan</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.isneginf.html">mlx.core.isneginf</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.isposinf.html">mlx.core.isposinf</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.less.html">mlx.core.less</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.less_equal.html">mlx.core.less_equal</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.linspace.html">mlx.core.linspace</a></li>
@@ -342,7 +373,7 @@
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.zeros_like.html">mlx.core.zeros_like</a></li>
</ul>
</li>
<li class="toctree-l1 has-children"><a class="reference internal" href="random.html">Random</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-4"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l1 has-children"><a class="reference internal" href="random.html">Random</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-5"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.random.bernoulli.html">mlx.core.random.bernoulli</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.random.categorical.html">mlx.core.random.categorical</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.random.gumbel.html">mlx.core.random.gumbel</a></li>
@@ -355,7 +386,7 @@
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.random.uniform.html">mlx.core.random.uniform</a></li>
</ul>
</li>
<li class="toctree-l1 has-children"><a class="reference internal" href="transforms.html">Transforms</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-5"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l1 has-children"><a class="reference internal" href="transforms.html">Transforms</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-6"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.eval.html">mlx.core.eval</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.compile.html">mlx.core.compile</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.disable_compile.html">mlx.core.disable_compile</a></li>
@@ -367,7 +398,14 @@
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.vmap.html">mlx.core.vmap</a></li>
</ul>
</li>
<li class="toctree-l1 has-children"><a class="reference internal" href="fft.html">FFT</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-6"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l1 has-children"><a class="reference internal" href="fast.html">Fast</a><input class="toctree-checkbox" id="toctree-checkbox-7" name="toctree-checkbox-7" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-7"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.fast.rms_norm.html">mlx.core.fast.rms_norm</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.fast.layer_norm.html">mlx.core.fast.layer_norm</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.fast.rope.html">mlx.core.fast.rope</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.fast.scaled_dot_product_attention.html">mlx.core.fast.scaled_dot_product_attention</a></li>
</ul>
</li>
<li class="toctree-l1 has-children"><a class="reference internal" href="fft.html">FFT</a><input class="toctree-checkbox" id="toctree-checkbox-8" name="toctree-checkbox-8" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-8"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.fft.fft.html">mlx.core.fft.fft</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.fft.ifft.html">mlx.core.fft.ifft</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.fft.fft2.html">mlx.core.fft.fft2</a></li>
@@ -382,12 +420,12 @@
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.fft.irfftn.html">mlx.core.fft.irfftn</a></li>
</ul>
</li>
<li class="toctree-l1 has-children"><a class="reference internal" href="linalg.html">Linear Algebra</a><input class="toctree-checkbox" id="toctree-checkbox-7" name="toctree-checkbox-7" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-7"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l1 has-children"><a class="reference internal" href="linalg.html">Linear Algebra</a><input class="toctree-checkbox" id="toctree-checkbox-9" name="toctree-checkbox-9" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-9"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.linalg.norm.html">mlx.core.linalg.norm</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.linalg.qr.html">mlx.core.linalg.qr</a></li>
</ul>
</li>
<li class="toctree-l1 has-children"><a class="reference internal" href="metal.html">Metal</a><input class="toctree-checkbox" id="toctree-checkbox-8" name="toctree-checkbox-8" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-8"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l1 has-children"><a class="reference internal" href="metal.html">Metal</a><input class="toctree-checkbox" id="toctree-checkbox-10" name="toctree-checkbox-10" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-10"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.metal.is_available.html">mlx.core.metal.is_available</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.metal.get_active_memory.html">mlx.core.metal.get_active_memory</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.metal.get_peak_memory.html">mlx.core.metal.get_peak_memory</a></li>
@@ -396,9 +434,9 @@
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.core.metal.set_cache_limit.html">mlx.core.metal.set_cache_limit</a></li>
</ul>
</li>
<li class="toctree-l1 current active has-children"><a class="current reference internal" href="#">Neural Networks</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-9" name="toctree-checkbox-9" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-9"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l1 current active has-children"><a class="current reference internal" href="#">Neural Networks</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-11" name="toctree-checkbox-11" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-11"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.nn.value_and_grad.html">mlx.nn.value_and_grad</a></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="nn/module.html">Module</a><input class="toctree-checkbox" id="toctree-checkbox-10" name="toctree-checkbox-10" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-10"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2 has-children"><a class="reference internal" href="nn/module.html">Module</a><input class="toctree-checkbox" id="toctree-checkbox-12" name="toctree-checkbox-12" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-12"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.training.html">mlx.nn.Module.training</a></li>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.state.html">mlx.nn.Module.state</a></li>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.apply.html">mlx.nn.Module.apply</a></li>
@@ -413,6 +451,7 @@
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.named_modules.html">mlx.nn.Module.named_modules</a></li>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.parameters.html">mlx.nn.Module.parameters</a></li>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.save_weights.html">mlx.nn.Module.save_weights</a></li>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.set_dtype.html">mlx.nn.Module.set_dtype</a></li>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.train.html">mlx.nn.Module.train</a></li>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.trainable_parameters.html">mlx.nn.Module.trainable_parameters</a></li>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.unfreeze.html">mlx.nn.Module.unfreeze</a></li>
@@ -420,7 +459,7 @@
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.update_modules.html">mlx.nn.Module.update_modules</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="nn/layers.html">Layers</a><input class="toctree-checkbox" id="toctree-checkbox-11" name="toctree-checkbox-11" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-11"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2 has-children"><a class="reference internal" href="nn/layers.html">Layers</a><input class="toctree-checkbox" id="toctree-checkbox-13" name="toctree-checkbox-13" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-13"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.ALiBi.html">mlx.nn.ALiBi</a></li>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.AvgPool1d.html">mlx.nn.AvgPool1d</a></li>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.AvgPool2d.html">mlx.nn.AvgPool2d</a></li>
@@ -458,7 +497,7 @@
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Upsample.html">mlx.nn.Upsample</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="nn/functions.html">Functions</a><input class="toctree-checkbox" id="toctree-checkbox-12" name="toctree-checkbox-12" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-12"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2 has-children"><a class="reference internal" href="nn/functions.html">Functions</a><input class="toctree-checkbox" id="toctree-checkbox-14" name="toctree-checkbox-14" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-14"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.elu.html">mlx.nn.elu</a></li>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.gelu.html">mlx.nn.gelu</a></li>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.gelu_approx.html">mlx.nn.gelu_approx</a></li>
@@ -482,7 +521,7 @@
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.tanh.html">mlx.nn.tanh</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="nn/losses.html">Loss Functions</a><input class="toctree-checkbox" id="toctree-checkbox-13" name="toctree-checkbox-13" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-13"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2 has-children"><a class="reference internal" href="nn/losses.html">Loss Functions</a><input class="toctree-checkbox" id="toctree-checkbox-15" name="toctree-checkbox-15" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-15"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.binary_cross_entropy.html">mlx.nn.losses.binary_cross_entropy</a></li>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.cosine_similarity_loss.html">mlx.nn.losses.cosine_similarity_loss</a></li>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.cross_entropy.html">mlx.nn.losses.cross_entropy</a></li>
@@ -499,7 +538,7 @@
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.triplet_loss.html">mlx.nn.losses.triplet_loss</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="nn/init.html">Initializers</a><input class="toctree-checkbox" id="toctree-checkbox-14" name="toctree-checkbox-14" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-14"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2 has-children"><a class="reference internal" href="nn/init.html">Initializers</a><input class="toctree-checkbox" id="toctree-checkbox-16" name="toctree-checkbox-16" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-16"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.init.constant.html">mlx.nn.init.constant</a></li>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.init.normal.html">mlx.nn.init.normal</a></li>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.init.uniform.html">mlx.nn.init.uniform</a></li>
@@ -512,15 +551,15 @@
</li>
</ul>
</li>
<li class="toctree-l1 has-children"><a class="reference internal" href="optimizers.html">Optimizers</a><input class="toctree-checkbox" id="toctree-checkbox-15" name="toctree-checkbox-15" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-15"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2 has-children"><a class="reference internal" href="optimizers/optimizer.html">Optimizer</a><input class="toctree-checkbox" id="toctree-checkbox-16" name="toctree-checkbox-16" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-16"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l1 has-children"><a class="reference internal" href="optimizers.html">Optimizers</a><input class="toctree-checkbox" id="toctree-checkbox-17" name="toctree-checkbox-17" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-17"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2 has-children"><a class="reference internal" href="optimizers/optimizer.html">Optimizer</a><input class="toctree-checkbox" id="toctree-checkbox-18" name="toctree-checkbox-18" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-18"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="optimizers/_autosummary/mlx.optimizers.Optimizer.state.html">mlx.optimizers.Optimizer.state</a></li>
<li class="toctree-l3"><a class="reference internal" href="optimizers/_autosummary/mlx.optimizers.Optimizer.apply_gradients.html">mlx.optimizers.Optimizer.apply_gradients</a></li>
<li class="toctree-l3"><a class="reference internal" href="optimizers/_autosummary/mlx.optimizers.Optimizer.init.html">mlx.optimizers.Optimizer.init</a></li>
<li class="toctree-l3"><a class="reference internal" href="optimizers/_autosummary/mlx.optimizers.Optimizer.update.html">mlx.optimizers.Optimizer.update</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="optimizers/common_optimizers.html">Common Optimizers</a><input class="toctree-checkbox" id="toctree-checkbox-17" name="toctree-checkbox-17" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-17"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2 has-children"><a class="reference internal" href="optimizers/common_optimizers.html">Common Optimizers</a><input class="toctree-checkbox" id="toctree-checkbox-19" name="toctree-checkbox-19" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-19"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="optimizers/_autosummary/mlx.optimizers.SGD.html">mlx.optimizers.SGD</a></li>
<li class="toctree-l3"><a class="reference internal" href="optimizers/_autosummary/mlx.optimizers.RMSprop.html">mlx.optimizers.RMSprop</a></li>
<li class="toctree-l3"><a class="reference internal" href="optimizers/_autosummary/mlx.optimizers.Adagrad.html">mlx.optimizers.Adagrad</a></li>
@@ -532,7 +571,7 @@
<li class="toctree-l3"><a class="reference internal" href="optimizers/_autosummary/mlx.optimizers.Lion.html">mlx.optimizers.Lion</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="optimizers/schedulers.html">Schedulers</a><input class="toctree-checkbox" id="toctree-checkbox-18" name="toctree-checkbox-18" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-18"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2 has-children"><a class="reference internal" href="optimizers/schedulers.html">Schedulers</a><input class="toctree-checkbox" id="toctree-checkbox-20" name="toctree-checkbox-20" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-20"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="optimizers/_autosummary/mlx.optimizers.cosine_decay.html">mlx.optimizers.cosine_decay</a></li>
<li class="toctree-l3"><a class="reference internal" href="optimizers/_autosummary/mlx.optimizers.exponential_decay.html">mlx.optimizers.exponential_decay</a></li>
<li class="toctree-l3"><a class="reference internal" href="optimizers/_autosummary/mlx.optimizers.join_schedules.html">mlx.optimizers.join_schedules</a></li>
@@ -542,7 +581,7 @@
</li>
</ul>
</li>
<li class="toctree-l1 has-children"><a class="reference internal" href="tree_utils.html">Tree Utils</a><input class="toctree-checkbox" id="toctree-checkbox-19" name="toctree-checkbox-19" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-19"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l1 has-children"><a class="reference internal" href="tree_utils.html">Tree Utils</a><input class="toctree-checkbox" id="toctree-checkbox-21" name="toctree-checkbox-21" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-21"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.utils.tree_flatten.html">mlx.utils.tree_flatten</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.utils.tree_unflatten.html">mlx.utils.tree_unflatten</a></li>
<li class="toctree-l2"><a class="reference internal" href="_autosummary/mlx.utils.tree_map.html">mlx.utils.tree_map</a></li>
@@ -556,6 +595,7 @@
<p aria-level="2" class="caption" role="heading"><span class="caption-text">Further Reading</span></p>
<ul class="nav bd-sidenav">
<li class="toctree-l1"><a class="reference internal" href="../dev/extensions.html">Developer Documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../dev/metal_debugger.html">Metal Debugger</a></li>
</ul>
</div>
@@ -741,7 +781,7 @@ document.write(`
<article class="bd-article" role="main">
<section id="neural-networks">
<span id="nn"></span><h1>Neural Networks<a class="headerlink" href="#neural-networks" title="Permalink to this heading">#</a></h1>
<span id="nn"></span><h1>Neural Networks<a class="headerlink" href="#neural-networks" title="Link to this heading">#</a></h1>
<p>Writing arbitrarily complex neural networks in MLX can be done using only
<a class="reference internal" href="_autosummary/mlx.core.array.html#mlx.core.array" title="mlx.core.array"><code class="xref py py-class docutils literal notranslate"><span class="pre">mlx.core.array</span></code></a> and <a class="reference internal" href="_autosummary/mlx.core.value_and_grad.html#mlx.core.value_and_grad" title="mlx.core.value_and_grad"><code class="xref py py-meth docutils literal notranslate"><span class="pre">mlx.core.value_and_grad()</span></code></a>. However, this requires the
user to write again and again the same simple neural network operations as well
@@ -750,7 +790,7 @@ as handle all the parameter state and initialization manually and explicitly.</p
composing neural network layers, initializing their parameters, freezing them
for finetuning and more.</p>
<section id="quick-start-with-neural-networks">
<h2>Quick Start with Neural Networks<a class="headerlink" href="#quick-start-with-neural-networks" title="Permalink to this heading">#</a></h2>
<h2>Quick Start with Neural Networks<a class="headerlink" href="#quick-start-with-neural-networks" title="Link to this heading">#</a></h2>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">mlx.core</span> <span class="k">as</span> <span class="nn">mx</span>
<span class="kn">import</span> <span class="nn">mlx.nn</span> <span class="k">as</span> <span class="nn">nn</span>
@@ -799,14 +839,14 @@ for finetuning and more.</p>
</div>
</section>
<section id="the-module-class">
<span id="module-class"></span><h2>The Module Class<a class="headerlink" href="#the-module-class" title="Permalink to this heading">#</a></h2>
<span id="module-class"></span><h2>The Module Class<a class="headerlink" href="#the-module-class" title="Link to this heading">#</a></h2>
<p>The workhorse of any neural network library is the <a class="reference internal" href="nn/module.html#mlx.nn.Module" title="mlx.nn.Module"><code class="xref py py-class docutils literal notranslate"><span class="pre">Module</span></code></a> class. In
MLX the <a class="reference internal" href="nn/module.html#mlx.nn.Module" title="mlx.nn.Module"><code class="xref py py-class docutils literal notranslate"><span class="pre">Module</span></code></a> class is a container of <a class="reference internal" href="_autosummary/mlx.core.array.html#mlx.core.array" title="mlx.core.array"><code class="xref py py-class docutils literal notranslate"><span class="pre">mlx.core.array</span></code></a> or
<a class="reference internal" href="nn/module.html#mlx.nn.Module" title="mlx.nn.Module"><code class="xref py py-class docutils literal notranslate"><span class="pre">Module</span></code></a> instances. Its main function is to provide a way to
recursively <strong>access</strong> and <strong>update</strong> its parameters and those of its
submodules.</p>
<section id="parameters">
<h3>Parameters<a class="headerlink" href="#parameters" title="Permalink to this heading">#</a></h3>
<h3>Parameters<a class="headerlink" href="#parameters" title="Link to this heading">#</a></h3>
<p>A parameter of a module is any public member of type <a class="reference internal" href="_autosummary/mlx.core.array.html#mlx.core.array" title="mlx.core.array"><code class="xref py py-class docutils literal notranslate"><span class="pre">mlx.core.array</span></code></a> (its
name should not start with <code class="docutils literal notranslate"><span class="pre">_</span></code>). It can be arbitrarily nested in other
<a class="reference internal" href="nn/module.html#mlx.nn.Module" title="mlx.nn.Module"><code class="xref py py-class docutils literal notranslate"><span class="pre">Module</span></code></a> instances or lists and dictionaries.</p>
@@ -817,13 +857,13 @@ the parameters of a module and its submodules.</p>
the gradients returned will be with respect to these trainable parameters.</p>
</section>
<section id="updating-the-parameters">
<h3>Updating the Parameters<a class="headerlink" href="#updating-the-parameters" title="Permalink to this heading">#</a></h3>
<h3>Updating the Parameters<a class="headerlink" href="#updating-the-parameters" title="Link to this heading">#</a></h3>
<p>MLX modules allow accessing and updating individual parameters. However, most
times we need to update large subsets of a modules parameters. This action is
performed by <a class="reference internal" href="nn/_autosummary/mlx.nn.Module.update.html#mlx.nn.Module.update" title="mlx.nn.Module.update"><code class="xref py py-meth docutils literal notranslate"><span class="pre">Module.update()</span></code></a>.</p>
</section>
<section id="inspecting-modules">
<h3>Inspecting Modules<a class="headerlink" href="#inspecting-modules" title="Permalink to this heading">#</a></h3>
<h3>Inspecting Modules<a class="headerlink" href="#inspecting-modules" title="Link to this heading">#</a></h3>
<p>The simplest way to see the model architecture is to print it. Following along with
the above example, you can print the <code class="docutils literal notranslate"><span class="pre">MLP</span></code> with:</p>
<div class="highlight-python notranslate"><div class="highlight"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="n">mlp</span><span class="p">)</span>
@@ -831,9 +871,9 @@ the above example, you can print the <code class="docutils literal notranslate">
</div>
<p>This will display:</p>
<div class="highlight-shell notranslate"><div class="highlight"><pre><span></span>MLP<span class="o">(</span>
<span class="o">(</span>layers.0<span class="o">)</span>: Linear<span class="o">(</span><span class="nv">input_dims</span><span class="o">=</span><span class="m">2</span>, <span class="nv">output_dims</span><span class="o">=</span><span class="m">128</span>, <span class="nv">bias</span><span class="o">=</span>True<span class="o">)</span>
<span class="o">(</span>layers.1<span class="o">)</span>: Linear<span class="o">(</span><span class="nv">input_dims</span><span class="o">=</span><span class="m">128</span>, <span class="nv">output_dims</span><span class="o">=</span><span class="m">128</span>, <span class="nv">bias</span><span class="o">=</span>True<span class="o">)</span>
<span class="o">(</span>layers.2<span class="o">)</span>: Linear<span class="o">(</span><span class="nv">input_dims</span><span class="o">=</span><span class="m">128</span>, <span class="nv">output_dims</span><span class="o">=</span><span class="m">10</span>, <span class="nv">bias</span><span class="o">=</span>True<span class="o">)</span>
<span class="w"> </span><span class="o">(</span>layers.0<span class="o">)</span>:<span class="w"> </span>Linear<span class="o">(</span><span class="nv">input_dims</span><span class="o">=</span><span class="m">2</span>,<span class="w"> </span><span class="nv">output_dims</span><span class="o">=</span><span class="m">128</span>,<span class="w"> </span><span class="nv">bias</span><span class="o">=</span>True<span class="o">)</span>
<span class="w"> </span><span class="o">(</span>layers.1<span class="o">)</span>:<span class="w"> </span>Linear<span class="o">(</span><span class="nv">input_dims</span><span class="o">=</span><span class="m">128</span>,<span class="w"> </span><span class="nv">output_dims</span><span class="o">=</span><span class="m">128</span>,<span class="w"> </span><span class="nv">bias</span><span class="o">=</span>True<span class="o">)</span>
<span class="w"> </span><span class="o">(</span>layers.2<span class="o">)</span>:<span class="w"> </span>Linear<span class="o">(</span><span class="nv">input_dims</span><span class="o">=</span><span class="m">128</span>,<span class="w"> </span><span class="nv">output_dims</span><span class="o">=</span><span class="m">10</span>,<span class="w"> </span><span class="nv">bias</span><span class="o">=</span>True<span class="o">)</span>
<span class="o">)</span>
</pre></div>
</div>
@@ -853,7 +893,7 @@ with:</p>
</section>
</section>
<section id="value-and-grad">
<h2>Value and Grad<a class="headerlink" href="#value-and-grad" title="Permalink to this heading">#</a></h2>
<h2>Value and Grad<a class="headerlink" href="#value-and-grad" title="Link to this heading">#</a></h2>
<p>Using a <a class="reference internal" href="nn/module.html#mlx.nn.Module" title="mlx.nn.Module"><code class="xref py py-class docutils literal notranslate"><span class="pre">Module</span></code></a> does not preclude using MLXs high order function
transformations (<a class="reference internal" href="_autosummary/mlx.core.value_and_grad.html#mlx.core.value_and_grad" title="mlx.core.value_and_grad"><code class="xref py py-meth docutils literal notranslate"><span class="pre">mlx.core.value_and_grad()</span></code></a>, <a class="reference internal" href="_autosummary/mlx.core.grad.html#mlx.core.grad" title="mlx.core.grad"><code class="xref py py-meth docutils literal notranslate"><span class="pre">mlx.core.grad()</span></code></a>, etc.). However,
these function transformations assume pure functions, namely the parameters
@@ -890,115 +930,411 @@ parameters as the first argument to the function returned by
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="nn/module.html">Module</a><ul>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.training.html">mlx.nn.Module.training</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.state.html">mlx.nn.Module.state</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.apply.html">mlx.nn.Module.apply</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.apply_to_modules.html">mlx.nn.Module.apply_to_modules</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.children.html">mlx.nn.Module.children</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.eval.html">mlx.nn.Module.eval</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.filter_and_map.html">mlx.nn.Module.filter_and_map</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.freeze.html">mlx.nn.Module.freeze</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.leaf_modules.html">mlx.nn.Module.leaf_modules</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.load_weights.html">mlx.nn.Module.load_weights</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.modules.html">mlx.nn.Module.modules</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.named_modules.html">mlx.nn.Module.named_modules</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.parameters.html">mlx.nn.Module.parameters</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.save_weights.html">mlx.nn.Module.save_weights</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.train.html">mlx.nn.Module.train</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.trainable_parameters.html">mlx.nn.Module.trainable_parameters</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.unfreeze.html">mlx.nn.Module.unfreeze</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.update.html">mlx.nn.Module.update</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.update_modules.html">mlx.nn.Module.update_modules</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/module.html#mlx.nn.Module"><code class="docutils literal notranslate"><span class="pre">Module</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.training.html">mlx.nn.Module.training</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.training.html#mlx.nn.Module.training"><code class="docutils literal notranslate"><span class="pre">Module.training</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.state.html">mlx.nn.Module.state</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.state.html#mlx.nn.Module.state"><code class="docutils literal notranslate"><span class="pre">Module.state</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.apply.html">mlx.nn.Module.apply</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.apply.html#mlx.nn.Module.apply"><code class="docutils literal notranslate"><span class="pre">Module.apply()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.apply_to_modules.html">mlx.nn.Module.apply_to_modules</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.apply_to_modules.html#mlx.nn.Module.apply_to_modules"><code class="docutils literal notranslate"><span class="pre">Module.apply_to_modules()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.children.html">mlx.nn.Module.children</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.children.html#mlx.nn.Module.children"><code class="docutils literal notranslate"><span class="pre">Module.children()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.eval.html">mlx.nn.Module.eval</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.eval.html#mlx.nn.Module.eval"><code class="docutils literal notranslate"><span class="pre">Module.eval()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.filter_and_map.html">mlx.nn.Module.filter_and_map</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.filter_and_map.html#mlx.nn.Module.filter_and_map"><code class="docutils literal notranslate"><span class="pre">Module.filter_and_map()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.freeze.html">mlx.nn.Module.freeze</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.freeze.html#mlx.nn.Module.freeze"><code class="docutils literal notranslate"><span class="pre">Module.freeze()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.leaf_modules.html">mlx.nn.Module.leaf_modules</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.leaf_modules.html#mlx.nn.Module.leaf_modules"><code class="docutils literal notranslate"><span class="pre">Module.leaf_modules()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.load_weights.html">mlx.nn.Module.load_weights</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.load_weights.html#mlx.nn.Module.load_weights"><code class="docutils literal notranslate"><span class="pre">Module.load_weights()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.modules.html">mlx.nn.Module.modules</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.modules.html#mlx.nn.Module.modules"><code class="docutils literal notranslate"><span class="pre">Module.modules()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.named_modules.html">mlx.nn.Module.named_modules</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.named_modules.html#mlx.nn.Module.named_modules"><code class="docutils literal notranslate"><span class="pre">Module.named_modules()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.parameters.html">mlx.nn.Module.parameters</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.parameters.html#mlx.nn.Module.parameters"><code class="docutils literal notranslate"><span class="pre">Module.parameters()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.save_weights.html">mlx.nn.Module.save_weights</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.save_weights.html#mlx.nn.Module.save_weights"><code class="docutils literal notranslate"><span class="pre">Module.save_weights()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.set_dtype.html">mlx.nn.Module.set_dtype</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.set_dtype.html#mlx.nn.Module.set_dtype"><code class="docutils literal notranslate"><span class="pre">Module.set_dtype()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.train.html">mlx.nn.Module.train</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.train.html#mlx.nn.Module.train"><code class="docutils literal notranslate"><span class="pre">Module.train()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.trainable_parameters.html">mlx.nn.Module.trainable_parameters</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.trainable_parameters.html#mlx.nn.Module.trainable_parameters"><code class="docutils literal notranslate"><span class="pre">Module.trainable_parameters()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.unfreeze.html">mlx.nn.Module.unfreeze</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.unfreeze.html#mlx.nn.Module.unfreeze"><code class="docutils literal notranslate"><span class="pre">Module.unfreeze()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.update.html">mlx.nn.Module.update</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.update.html#mlx.nn.Module.update"><code class="docutils literal notranslate"><span class="pre">Module.update()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.update_modules.html">mlx.nn.Module.update_modules</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Module.update_modules.html#mlx.nn.Module.update_modules"><code class="docutils literal notranslate"><span class="pre">Module.update_modules()</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="nn/layers.html">Layers</a><ul>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.ALiBi.html">mlx.nn.ALiBi</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.AvgPool1d.html">mlx.nn.AvgPool1d</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.AvgPool2d.html">mlx.nn.AvgPool2d</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.BatchNorm.html">mlx.nn.BatchNorm</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Conv1d.html">mlx.nn.Conv1d</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Conv2d.html">mlx.nn.Conv2d</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Dropout.html">mlx.nn.Dropout</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Dropout2d.html">mlx.nn.Dropout2d</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Dropout3d.html">mlx.nn.Dropout3d</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Embedding.html">mlx.nn.Embedding</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.GELU.html">mlx.nn.GELU</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.GroupNorm.html">mlx.nn.GroupNorm</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.GRU.html">mlx.nn.GRU</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.InstanceNorm.html">mlx.nn.InstanceNorm</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.LayerNorm.html">mlx.nn.LayerNorm</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Linear.html">mlx.nn.Linear</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.LSTM.html">mlx.nn.LSTM</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.MaxPool1d.html">mlx.nn.MaxPool1d</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.MaxPool2d.html">mlx.nn.MaxPool2d</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Mish.html">mlx.nn.Mish</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.MultiHeadAttention.html">mlx.nn.MultiHeadAttention</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.PReLU.html">mlx.nn.PReLU</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.QuantizedLinear.html">mlx.nn.QuantizedLinear</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.RMSNorm.html">mlx.nn.RMSNorm</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.ReLU.html">mlx.nn.ReLU</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.RNN.html">mlx.nn.RNN</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.RoPE.html">mlx.nn.RoPE</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.SELU.html">mlx.nn.SELU</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Sequential.html">mlx.nn.Sequential</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.SiLU.html">mlx.nn.SiLU</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.SinusoidalPositionalEncoding.html">mlx.nn.SinusoidalPositionalEncoding</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Softshrink.html">mlx.nn.Softshrink</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Step.html">mlx.nn.Step</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Transformer.html">mlx.nn.Transformer</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Upsample.html">mlx.nn.Upsample</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.ALiBi.html">mlx.nn.ALiBi</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.ALiBi.html#mlx.nn.ALiBi"><code class="docutils literal notranslate"><span class="pre">ALiBi</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.AvgPool1d.html">mlx.nn.AvgPool1d</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.AvgPool1d.html#mlx.nn.AvgPool1d"><code class="docutils literal notranslate"><span class="pre">AvgPool1d</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.AvgPool2d.html">mlx.nn.AvgPool2d</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.AvgPool2d.html#mlx.nn.AvgPool2d"><code class="docutils literal notranslate"><span class="pre">AvgPool2d</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.BatchNorm.html">mlx.nn.BatchNorm</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.BatchNorm.html#mlx.nn.BatchNorm"><code class="docutils literal notranslate"><span class="pre">BatchNorm</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Conv1d.html">mlx.nn.Conv1d</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Conv1d.html#mlx.nn.Conv1d"><code class="docutils literal notranslate"><span class="pre">Conv1d</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Conv2d.html">mlx.nn.Conv2d</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Conv2d.html#mlx.nn.Conv2d"><code class="docutils literal notranslate"><span class="pre">Conv2d</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Dropout.html">mlx.nn.Dropout</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Dropout.html#mlx.nn.Dropout"><code class="docutils literal notranslate"><span class="pre">Dropout</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Dropout2d.html">mlx.nn.Dropout2d</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Dropout2d.html#mlx.nn.Dropout2d"><code class="docutils literal notranslate"><span class="pre">Dropout2d</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Dropout3d.html">mlx.nn.Dropout3d</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Dropout3d.html#mlx.nn.Dropout3d"><code class="docutils literal notranslate"><span class="pre">Dropout3d</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Embedding.html">mlx.nn.Embedding</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Embedding.html#mlx.nn.Embedding"><code class="docutils literal notranslate"><span class="pre">Embedding</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.GELU.html">mlx.nn.GELU</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.GELU.html#mlx.nn.GELU"><code class="docutils literal notranslate"><span class="pre">GELU</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.GroupNorm.html">mlx.nn.GroupNorm</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.GroupNorm.html#mlx.nn.GroupNorm"><code class="docutils literal notranslate"><span class="pre">GroupNorm</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.GRU.html">mlx.nn.GRU</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.GRU.html#mlx.nn.GRU"><code class="docutils literal notranslate"><span class="pre">GRU</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.InstanceNorm.html">mlx.nn.InstanceNorm</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.InstanceNorm.html#mlx.nn.InstanceNorm"><code class="docutils literal notranslate"><span class="pre">InstanceNorm</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.LayerNorm.html">mlx.nn.LayerNorm</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.LayerNorm.html#mlx.nn.LayerNorm"><code class="docutils literal notranslate"><span class="pre">LayerNorm</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Linear.html">mlx.nn.Linear</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Linear.html#mlx.nn.Linear"><code class="docutils literal notranslate"><span class="pre">Linear</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.LSTM.html">mlx.nn.LSTM</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.LSTM.html#mlx.nn.LSTM"><code class="docutils literal notranslate"><span class="pre">LSTM</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.MaxPool1d.html">mlx.nn.MaxPool1d</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.MaxPool1d.html#mlx.nn.MaxPool1d"><code class="docutils literal notranslate"><span class="pre">MaxPool1d</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.MaxPool2d.html">mlx.nn.MaxPool2d</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.MaxPool2d.html#mlx.nn.MaxPool2d"><code class="docutils literal notranslate"><span class="pre">MaxPool2d</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Mish.html">mlx.nn.Mish</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Mish.html#mlx.nn.Mish"><code class="docutils literal notranslate"><span class="pre">Mish</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.MultiHeadAttention.html">mlx.nn.MultiHeadAttention</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.MultiHeadAttention.html#mlx.nn.MultiHeadAttention"><code class="docutils literal notranslate"><span class="pre">MultiHeadAttention</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.PReLU.html">mlx.nn.PReLU</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.PReLU.html#mlx.nn.PReLU"><code class="docutils literal notranslate"><span class="pre">PReLU</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.QuantizedLinear.html">mlx.nn.QuantizedLinear</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.QuantizedLinear.html#mlx.nn.QuantizedLinear"><code class="docutils literal notranslate"><span class="pre">QuantizedLinear</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.RMSNorm.html">mlx.nn.RMSNorm</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.RMSNorm.html#mlx.nn.RMSNorm"><code class="docutils literal notranslate"><span class="pre">RMSNorm</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.ReLU.html">mlx.nn.ReLU</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.ReLU.html#mlx.nn.ReLU"><code class="docutils literal notranslate"><span class="pre">ReLU</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.RNN.html">mlx.nn.RNN</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.RNN.html#mlx.nn.RNN"><code class="docutils literal notranslate"><span class="pre">RNN</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.RoPE.html">mlx.nn.RoPE</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.RoPE.html#mlx.nn.RoPE"><code class="docutils literal notranslate"><span class="pre">RoPE</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.SELU.html">mlx.nn.SELU</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.SELU.html#mlx.nn.SELU"><code class="docutils literal notranslate"><span class="pre">SELU</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Sequential.html">mlx.nn.Sequential</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Sequential.html#mlx.nn.Sequential"><code class="docutils literal notranslate"><span class="pre">Sequential</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.SiLU.html">mlx.nn.SiLU</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.SiLU.html#mlx.nn.SiLU"><code class="docutils literal notranslate"><span class="pre">SiLU</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.SinusoidalPositionalEncoding.html">mlx.nn.SinusoidalPositionalEncoding</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.SinusoidalPositionalEncoding.html#mlx.nn.SinusoidalPositionalEncoding"><code class="docutils literal notranslate"><span class="pre">SinusoidalPositionalEncoding</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Softshrink.html">mlx.nn.Softshrink</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Softshrink.html#mlx.nn.Softshrink"><code class="docutils literal notranslate"><span class="pre">Softshrink</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Step.html">mlx.nn.Step</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Step.html#mlx.nn.Step"><code class="docutils literal notranslate"><span class="pre">Step</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Transformer.html">mlx.nn.Transformer</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Transformer.html#mlx.nn.Transformer"><code class="docutils literal notranslate"><span class="pre">Transformer</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.Upsample.html">mlx.nn.Upsample</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.Upsample.html#mlx.nn.Upsample"><code class="docutils literal notranslate"><span class="pre">Upsample</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="nn/functions.html">Functions</a><ul>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.elu.html">mlx.nn.elu</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.gelu.html">mlx.nn.gelu</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.gelu_approx.html">mlx.nn.gelu_approx</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.gelu_fast_approx.html">mlx.nn.gelu_fast_approx</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.glu.html">mlx.nn.glu</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.hardswish.html">mlx.nn.hardswish</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.leaky_relu.html">mlx.nn.leaky_relu</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.log_sigmoid.html">mlx.nn.log_sigmoid</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.log_softmax.html">mlx.nn.log_softmax</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.mish.html">mlx.nn.mish</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.prelu.html">mlx.nn.prelu</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.relu.html">mlx.nn.relu</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.relu6.html">mlx.nn.relu6</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.selu.html">mlx.nn.selu</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.sigmoid.html">mlx.nn.sigmoid</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.silu.html">mlx.nn.silu</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.softmax.html">mlx.nn.softmax</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.softplus.html">mlx.nn.softplus</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.softshrink.html">mlx.nn.softshrink</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.step.html">mlx.nn.step</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.tanh.html">mlx.nn.tanh</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.elu.html">mlx.nn.elu</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.elu.html#mlx.nn.elu"><code class="docutils literal notranslate"><span class="pre">elu()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.gelu.html">mlx.nn.gelu</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.gelu.html#mlx.nn.gelu"><code class="docutils literal notranslate"><span class="pre">gelu()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.gelu_approx.html">mlx.nn.gelu_approx</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.gelu_approx.html#mlx.nn.gelu_approx"><code class="docutils literal notranslate"><span class="pre">gelu_approx()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.gelu_fast_approx.html">mlx.nn.gelu_fast_approx</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.gelu_fast_approx.html#mlx.nn.gelu_fast_approx"><code class="docutils literal notranslate"><span class="pre">gelu_fast_approx()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.glu.html">mlx.nn.glu</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.glu.html#mlx.nn.glu"><code class="docutils literal notranslate"><span class="pre">glu()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.hardswish.html">mlx.nn.hardswish</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.hardswish.html#mlx.nn.hardswish"><code class="docutils literal notranslate"><span class="pre">hardswish()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.leaky_relu.html">mlx.nn.leaky_relu</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.leaky_relu.html#mlx.nn.leaky_relu"><code class="docutils literal notranslate"><span class="pre">leaky_relu()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.log_sigmoid.html">mlx.nn.log_sigmoid</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.log_sigmoid.html#mlx.nn.log_sigmoid"><code class="docutils literal notranslate"><span class="pre">log_sigmoid()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.log_softmax.html">mlx.nn.log_softmax</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.log_softmax.html#mlx.nn.log_softmax"><code class="docutils literal notranslate"><span class="pre">log_softmax()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.mish.html">mlx.nn.mish</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.mish.html#mlx.nn.mish"><code class="docutils literal notranslate"><span class="pre">mish()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.prelu.html">mlx.nn.prelu</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.prelu.html#mlx.nn.prelu"><code class="docutils literal notranslate"><span class="pre">prelu()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.relu.html">mlx.nn.relu</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.relu.html#mlx.nn.relu"><code class="docutils literal notranslate"><span class="pre">relu()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.relu6.html">mlx.nn.relu6</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.relu6.html#mlx.nn.relu6"><code class="docutils literal notranslate"><span class="pre">relu6()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.selu.html">mlx.nn.selu</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.selu.html#mlx.nn.selu"><code class="docutils literal notranslate"><span class="pre">selu()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.sigmoid.html">mlx.nn.sigmoid</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.sigmoid.html#mlx.nn.sigmoid"><code class="docutils literal notranslate"><span class="pre">sigmoid()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.silu.html">mlx.nn.silu</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.silu.html#mlx.nn.silu"><code class="docutils literal notranslate"><span class="pre">silu()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.softmax.html">mlx.nn.softmax</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.softmax.html#mlx.nn.softmax"><code class="docutils literal notranslate"><span class="pre">softmax()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.softplus.html">mlx.nn.softplus</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.softplus.html#mlx.nn.softplus"><code class="docutils literal notranslate"><span class="pre">softplus()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.softshrink.html">mlx.nn.softshrink</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.softshrink.html#mlx.nn.softshrink"><code class="docutils literal notranslate"><span class="pre">softshrink()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.step.html">mlx.nn.step</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.step.html#mlx.nn.step"><code class="docutils literal notranslate"><span class="pre">step()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.tanh.html">mlx.nn.tanh</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.tanh.html#mlx.nn.tanh"><code class="docutils literal notranslate"><span class="pre">tanh()</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="nn/losses.html">Loss Functions</a><ul>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.binary_cross_entropy.html">mlx.nn.losses.binary_cross_entropy</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.cosine_similarity_loss.html">mlx.nn.losses.cosine_similarity_loss</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.cross_entropy.html">mlx.nn.losses.cross_entropy</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.gaussian_nll_loss.html">mlx.nn.losses.gaussian_nll_loss</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.hinge_loss.html">mlx.nn.losses.hinge_loss</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.huber_loss.html">mlx.nn.losses.huber_loss</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.kl_div_loss.html">mlx.nn.losses.kl_div_loss</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.l1_loss.html">mlx.nn.losses.l1_loss</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.log_cosh_loss.html">mlx.nn.losses.log_cosh_loss</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.margin_ranking_loss.html">mlx.nn.losses.margin_ranking_loss</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.mse_loss.html">mlx.nn.losses.mse_loss</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.nll_loss.html">mlx.nn.losses.nll_loss</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.smooth_l1_loss.html">mlx.nn.losses.smooth_l1_loss</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.triplet_loss.html">mlx.nn.losses.triplet_loss</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.binary_cross_entropy.html">mlx.nn.losses.binary_cross_entropy</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.binary_cross_entropy.html#mlx.nn.losses.binary_cross_entropy"><code class="docutils literal notranslate"><span class="pre">binary_cross_entropy()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.cosine_similarity_loss.html">mlx.nn.losses.cosine_similarity_loss</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.cosine_similarity_loss.html#mlx.nn.losses.cosine_similarity_loss"><code class="docutils literal notranslate"><span class="pre">cosine_similarity_loss()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.cross_entropy.html">mlx.nn.losses.cross_entropy</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.cross_entropy.html#mlx.nn.losses.cross_entropy"><code class="docutils literal notranslate"><span class="pre">cross_entropy()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.gaussian_nll_loss.html">mlx.nn.losses.gaussian_nll_loss</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.gaussian_nll_loss.html#mlx.nn.losses.gaussian_nll_loss"><code class="docutils literal notranslate"><span class="pre">gaussian_nll_loss()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.hinge_loss.html">mlx.nn.losses.hinge_loss</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.hinge_loss.html#mlx.nn.losses.hinge_loss"><code class="docutils literal notranslate"><span class="pre">hinge_loss()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.huber_loss.html">mlx.nn.losses.huber_loss</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.huber_loss.html#mlx.nn.losses.huber_loss"><code class="docutils literal notranslate"><span class="pre">huber_loss()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.kl_div_loss.html">mlx.nn.losses.kl_div_loss</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.kl_div_loss.html#mlx.nn.losses.kl_div_loss"><code class="docutils literal notranslate"><span class="pre">kl_div_loss()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.l1_loss.html">mlx.nn.losses.l1_loss</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.l1_loss.html#mlx.nn.losses.l1_loss"><code class="docutils literal notranslate"><span class="pre">l1_loss()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.log_cosh_loss.html">mlx.nn.losses.log_cosh_loss</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.log_cosh_loss.html#mlx.nn.losses.log_cosh_loss"><code class="docutils literal notranslate"><span class="pre">log_cosh_loss()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.margin_ranking_loss.html">mlx.nn.losses.margin_ranking_loss</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.margin_ranking_loss.html#mlx.nn.losses.margin_ranking_loss"><code class="docutils literal notranslate"><span class="pre">margin_ranking_loss()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.mse_loss.html">mlx.nn.losses.mse_loss</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.mse_loss.html#mlx.nn.losses.mse_loss"><code class="docutils literal notranslate"><span class="pre">mse_loss()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.nll_loss.html">mlx.nn.losses.nll_loss</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.nll_loss.html#mlx.nn.losses.nll_loss"><code class="docutils literal notranslate"><span class="pre">nll_loss()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.smooth_l1_loss.html">mlx.nn.losses.smooth_l1_loss</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.smooth_l1_loss.html#mlx.nn.losses.smooth_l1_loss"><code class="docutils literal notranslate"><span class="pre">smooth_l1_loss()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.triplet_loss.html">mlx.nn.losses.triplet_loss</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary_functions/mlx.nn.losses.triplet_loss.html#mlx.nn.losses.triplet_loss"><code class="docutils literal notranslate"><span class="pre">triplet_loss()</span></code></a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="nn/init.html">Initializers</a><ul>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.init.constant.html">mlx.nn.init.constant</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.init.normal.html">mlx.nn.init.normal</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.init.uniform.html">mlx.nn.init.uniform</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.init.identity.html">mlx.nn.init.identity</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.init.glorot_normal.html">mlx.nn.init.glorot_normal</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.init.glorot_uniform.html">mlx.nn.init.glorot_uniform</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.init.he_normal.html">mlx.nn.init.he_normal</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.init.he_uniform.html">mlx.nn.init.he_uniform</a></li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.init.constant.html">mlx.nn.init.constant</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.init.constant.html#mlx.nn.init.constant"><code class="docutils literal notranslate"><span class="pre">constant()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.init.normal.html">mlx.nn.init.normal</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.init.normal.html#mlx.nn.init.normal"><code class="docutils literal notranslate"><span class="pre">normal()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.init.uniform.html">mlx.nn.init.uniform</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.init.uniform.html#mlx.nn.init.uniform"><code class="docutils literal notranslate"><span class="pre">uniform()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.init.identity.html">mlx.nn.init.identity</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.init.identity.html#mlx.nn.init.identity"><code class="docutils literal notranslate"><span class="pre">identity()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.init.glorot_normal.html">mlx.nn.init.glorot_normal</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.init.glorot_normal.html#mlx.nn.init.glorot_normal"><code class="docutils literal notranslate"><span class="pre">glorot_normal()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.init.glorot_uniform.html">mlx.nn.init.glorot_uniform</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.init.glorot_uniform.html#mlx.nn.init.glorot_uniform"><code class="docutils literal notranslate"><span class="pre">glorot_uniform()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.init.he_normal.html">mlx.nn.init.he_normal</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.init.he_normal.html#mlx.nn.init.he_normal"><code class="docutils literal notranslate"><span class="pre">he_normal()</span></code></a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="nn/_autosummary/mlx.nn.init.he_uniform.html">mlx.nn.init.he_uniform</a><ul>
<li class="toctree-l3"><a class="reference internal" href="nn/_autosummary/mlx.nn.init.he_uniform.html#mlx.nn.init.he_uniform"><code class="docutils literal notranslate"><span class="pre">he_uniform()</span></code></a></li>
</ul>
</li>
</ul>
</li>
</ul>