Files
ManimML/docs/build/html/manim_ml.neural_network.html
2022-04-29 10:58:06 -04:00

449 lines
39 KiB
HTML

<!doctype html>
<html class="no-js">
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<link rel="index" title="Index" href="genindex.html" /><link rel="search" title="Search" href="search.html" />
<meta name="generator" content="sphinx-4.5.0, furo 2022.04.07"/>
<title>manim_ml.neural_network package - ManimML documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?digest=68f4518137b9aefe99b631505a2064c3c42c9852" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?digest=30d1aed668e5c3a91c3e3bf6a60b675221979f0e" />
<style>
body {
--color-code-background: #f8f8f8;
--color-code-foreground: black;
}
@media not print {
body[data-theme="dark"] {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
@media (prefers-color-scheme: dark) {
body:not([data-theme="light"]) {
--color-code-background: #202020;
--color-code-foreground: #d0d0d0;
}
}
}
</style></head>
<body>
<script>
document.body.dataset.theme = localStorage.getItem("theme") || "auto";
</script>
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
<symbol id="svg-toc" viewBox="0 0 24 24">
<title>Contents</title>
<svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
<path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
</svg>
</symbol>
<symbol id="svg-menu" viewBox="0 0 24 24">
<title>Menu</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
<line x1="3" y1="12" x2="21" y2="12"></line>
<line x1="3" y1="6" x2="21" y2="6"></line>
<line x1="3" y1="18" x2="21" y2="18"></line>
</svg>
</symbol>
<symbol id="svg-arrow-right" viewBox="0 0 24 24">
<title>Expand</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
<polyline points="9 18 15 12 9 6"></polyline>
</svg>
</symbol>
<symbol id="svg-sun" viewBox="0 0 24 24">
<title>Light mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
<circle cx="12" cy="12" r="5"></circle>
<line x1="12" y1="1" x2="12" y2="3"></line>
<line x1="12" y1="21" x2="12" y2="23"></line>
<line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
<line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
<line x1="1" y1="12" x2="3" y2="12"></line>
<line x1="21" y1="12" x2="23" y2="12"></line>
<line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
<line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
</svg>
</symbol>
<symbol id="svg-moon" viewBox="0 0 24 24">
<title>Dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
<path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
</svg>
</symbol>
<symbol id="svg-sun-half" viewBox="0 0 24 24">
<title>Auto light/dark mode</title>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
<path stroke="none" d="M0 0h24v24H0z" fill="none"/>
<circle cx="12" cy="12" r="9" />
<path d="M13 12h5" />
<path d="M13 15h4" />
<path d="M13 18h1" />
<path d="M13 9h4" />
<path d="M13 6h1" />
</svg>
</symbol>
</svg>
<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
<label class="overlay sidebar-overlay" for="__navigation">
<div class="visually-hidden">Hide navigation sidebar</div>
</label>
<label class="overlay toc-overlay" for="__toc">
<div class="visually-hidden">Hide table of contents sidebar</div>
</label>
<div class="page">
<header class="mobile-header">
<div class="header-left">
<label class="nav-overlay-icon" for="__navigation">
<div class="visually-hidden">Toggle site navigation sidebar</div>
<i class="icon"><svg><use href="#svg-menu"></use></svg></i>
</label>
</div>
<div class="header-center">
<a href="index.html"><div class="brand">ManimML documentation</div></a>
</div>
<div class="header-right">
<div class="theme-toggle-container theme-toggle-header">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-header-icon" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
</header>
<aside class="sidebar-drawer">
<div class="sidebar-container">
<div class="sidebar-sticky"><a class="sidebar-brand" href="index.html">
<span class="sidebar-brand-text">ManimML documentation</span>
</a><form class="sidebar-search-container" method="get" action="search.html" role="search">
<input class="sidebar-search" placeholder=Search name="q" aria-label="Search">
<input type="hidden" name="check_keywords" value="yes">
<input type="hidden" name="area" value="default">
</form>
<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
</div>
</div>
</div>
</div>
</aside>
<div class="main">
<div class="content">
<div class="article-container">
<a href="#" class="back-to-top muted-link">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
</svg>
<span>Back to top</span>
</a>
<div class="content-icon-container"><div class="theme-toggle-container theme-toggle-content">
<button class="theme-toggle">
<div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
<svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
<svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
<svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
</button>
</div>
<label class="toc-overlay-icon toc-content-icon" for="__toc">
<div class="visually-hidden">Toggle table of contents sidebar</div>
<i class="icon"><svg><use href="#svg-toc"></use></svg></i>
</label>
</div>
<article role="main">
<section id="manim-ml-neural-network-package">
<h1>manim_ml.neural_network package<a class="headerlink" href="#manim-ml-neural-network-package" title="Permalink to this headline">#</a></h1>
<section id="subpackages">
<h2>Subpackages<a class="headerlink" href="#subpackages" title="Permalink to this headline">#</a></h2>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="manim_ml.neural_network.layers.html">manim_ml.neural_network.layers package</a><ul>
<li class="toctree-l2"><a class="reference internal" href="manim_ml.neural_network.layers.html#submodules">Submodules</a></li>
<li class="toctree-l2"><a class="reference internal" href="manim_ml.neural_network.layers.html#module-manim_ml.neural_network.layers.convolutional">manim_ml.neural_network.layers.convolutional module</a></li>
<li class="toctree-l2"><a class="reference internal" href="manim_ml.neural_network.layers.html#module-manim_ml.neural_network.layers.convolutional_to_convolutional">manim_ml.neural_network.layers.convolutional_to_convolutional module</a></li>
<li class="toctree-l2"><a class="reference internal" href="manim_ml.neural_network.layers.html#module-manim_ml.neural_network.layers.embedding">manim_ml.neural_network.layers.embedding module</a></li>
<li class="toctree-l2"><a class="reference internal" href="manim_ml.neural_network.layers.html#module-manim_ml.neural_network.layers.embedding_to_feed_forward">manim_ml.neural_network.layers.embedding_to_feed_forward module</a></li>
<li class="toctree-l2"><a class="reference internal" href="manim_ml.neural_network.layers.html#module-manim_ml.neural_network.layers.feed_forward">manim_ml.neural_network.layers.feed_forward module</a></li>
<li class="toctree-l2"><a class="reference internal" href="manim_ml.neural_network.layers.html#module-manim_ml.neural_network.layers.feed_forward_to_embedding">manim_ml.neural_network.layers.feed_forward_to_embedding module</a></li>
<li class="toctree-l2"><a class="reference internal" href="manim_ml.neural_network.layers.html#module-manim_ml.neural_network.layers.feed_forward_to_feed_forward">manim_ml.neural_network.layers.feed_forward_to_feed_forward module</a></li>
<li class="toctree-l2"><a class="reference internal" href="manim_ml.neural_network.layers.html#module-manim_ml.neural_network.layers.feed_forward_to_image">manim_ml.neural_network.layers.feed_forward_to_image module</a></li>
<li class="toctree-l2"><a class="reference internal" href="manim_ml.neural_network.layers.html#module-manim_ml.neural_network.layers.feed_forward_to_vector">manim_ml.neural_network.layers.feed_forward_to_vector module</a></li>
<li class="toctree-l2"><a class="reference internal" href="manim_ml.neural_network.layers.html#module-manim_ml.neural_network.layers.image">manim_ml.neural_network.layers.image module</a></li>
<li class="toctree-l2"><a class="reference internal" href="manim_ml.neural_network.layers.html#module-manim_ml.neural_network.layers.image_to_feed_forward">manim_ml.neural_network.layers.image_to_feed_forward module</a></li>
<li class="toctree-l2"><a class="reference internal" href="manim_ml.neural_network.layers.html#module-manim_ml.neural_network.layers.paired_query">manim_ml.neural_network.layers.paired_query module</a></li>
<li class="toctree-l2"><a class="reference internal" href="manim_ml.neural_network.layers.html#module-manim_ml.neural_network.layers.paired_query_to_feed_forward">manim_ml.neural_network.layers.paired_query_to_feed_forward module</a></li>
<li class="toctree-l2"><a class="reference internal" href="manim_ml.neural_network.layers.html#module-manim_ml.neural_network.layers.parent_layers">manim_ml.neural_network.layers.parent_layers module</a></li>
<li class="toctree-l2"><a class="reference internal" href="manim_ml.neural_network.layers.html#module-manim_ml.neural_network.layers.triplet">manim_ml.neural_network.layers.triplet module</a></li>
<li class="toctree-l2"><a class="reference internal" href="manim_ml.neural_network.layers.html#module-manim_ml.neural_network.layers.triplet_to_feed_forward">manim_ml.neural_network.layers.triplet_to_feed_forward module</a></li>
<li class="toctree-l2"><a class="reference internal" href="manim_ml.neural_network.layers.html#module-manim_ml.neural_network.layers.util">manim_ml.neural_network.layers.util module</a></li>
<li class="toctree-l2"><a class="reference internal" href="manim_ml.neural_network.layers.html#module-manim_ml.neural_network.layers.vector">manim_ml.neural_network.layers.vector module</a></li>
<li class="toctree-l2"><a class="reference internal" href="manim_ml.neural_network.layers.html#module-manim_ml.neural_network.layers">Module contents</a></li>
</ul>
</li>
</ul>
</div>
</section>
<section id="submodules">
<h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this headline">#</a></h2>
</section>
<section id="module-manim_ml.neural_network.neural_network">
<span id="manim-ml-neural-network-neural-network-module"></span><h2>manim_ml.neural_network.neural_network module<a class="headerlink" href="#module-manim_ml.neural_network.neural_network" title="Permalink to this headline">#</a></h2>
<p>Neural Network Manim Visualization</p>
<p>This module is responsible for generating a neural network visualization with
manim, specifically a fully connected neural network diagram.</p>
<p class="rubric">Example</p>
<p># Specify how many nodes are in each node layer
layer_node_count = [5, 3, 5]
# Create the object with default style settings
NeuralNetwork(layer_node_count)</p>
<dl class="py class">
<dt class="sig sig-object py" id="manim_ml.neural_network.neural_network.FeedForwardNeuralNetwork">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">manim_ml.neural_network.neural_network.</span></span><span class="sig-name descname"><span class="pre">FeedForwardNeuralNetwork</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">layer_node_count</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">node_radius</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.08</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">node_color</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'#58C4DD'</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#manim_ml.neural_network.neural_network.FeedForwardNeuralNetwork" title="Permalink to this definition">#</a></dt>
<dd><p>Bases: <a class="reference internal" href="#manim_ml.neural_network.neural_network.NeuralNetwork" title="manim_ml.neural_network.neural_network.NeuralNetwork"><code class="xref py py-class docutils literal notranslate"><span class="pre">manim_ml.neural_network.neural_network.NeuralNetwork</span></code></a></p>
<p>NeuralNetwork with just feed forward layers</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="manim_ml.neural_network.neural_network.FeedForwardNeuralNetwork.animation_overrides">
<span class="sig-name descname"><span class="pre">animation_overrides</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{&lt;class</span> <span class="pre">'manim.animation.creation.Create'&gt;:</span> <span class="pre">&lt;function</span> <span class="pre">NeuralNetwork._create_override&gt;}</span></em><a class="headerlink" href="#manim_ml.neural_network.neural_network.FeedForwardNeuralNetwork.animation_overrides" title="Permalink to this definition">#</a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="manim_ml.neural_network.neural_network.NeuralNetwork">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">manim_ml.neural_network.neural_network.</span></span><span class="sig-name descname"><span class="pre">NeuralNetwork</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">input_layers</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">edge_color</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'#FFFFFF'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">layer_spacing</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.2</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">animation_dot_color</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'#FC6255'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">edge_width</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">2.5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dot_radius</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.03</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">title</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'</span> <span class="pre">'</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#manim_ml.neural_network.neural_network.NeuralNetwork" title="Permalink to this definition">#</a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">manim.mobject.mobject.Group</span></code></p>
<dl class="py attribute">
<dt class="sig sig-object py" id="manim_ml.neural_network.neural_network.NeuralNetwork.animation_overrides">
<span class="sig-name descname"><span class="pre">animation_overrides</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{&lt;class</span> <span class="pre">'manim.animation.creation.Create'&gt;:</span> <span class="pre">&lt;function</span> <span class="pre">NeuralNetwork._create_override&gt;}</span></em><a class="headerlink" href="#manim_ml.neural_network.neural_network.NeuralNetwork.animation_overrides" title="Permalink to this definition">#</a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="manim_ml.neural_network.neural_network.NeuralNetwork.insert_layer">
<span class="sig-name descname"><span class="pre">insert_layer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">layer</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">insert_index</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#manim_ml.neural_network.neural_network.NeuralNetwork.insert_layer" title="Permalink to this definition">#</a></dt>
<dd><p>Inserts a layer at the given index</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="manim_ml.neural_network.neural_network.NeuralNetwork.make_forward_pass_animation">
<span class="sig-name descname"><span class="pre">make_forward_pass_animation</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">run_time</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">10</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">passing_flash</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">layer_args</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">{}</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#manim_ml.neural_network.neural_network.NeuralNetwork.make_forward_pass_animation" title="Permalink to this definition">#</a></dt>
<dd><p>Generates an animation for feed forward propagation</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="manim_ml.neural_network.neural_network.NeuralNetwork.remove_layer">
<span class="sig-name descname"><span class="pre">remove_layer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">layer</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#manim_ml.neural_network.neural_network.NeuralNetwork.remove_layer" title="Permalink to this definition">#</a></dt>
<dd><p>Removes layer object if it exists</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="manim_ml.neural_network.neural_network.NeuralNetwork.replace_layer">
<span class="sig-name descname"><span class="pre">replace_layer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">old_layer</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">new_layer</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#manim_ml.neural_network.neural_network.NeuralNetwork.replace_layer" title="Permalink to this definition">#</a></dt>
<dd><p>Replaces given layer object</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="manim_ml.neural_network.neural_network.NeuralNetwork.set_z_index">
<span class="sig-name descname"><span class="pre">set_z_index</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">z_index_value</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">float</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">family</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#manim_ml.neural_network.neural_network.NeuralNetwork.set_z_index" title="Permalink to this definition">#</a></dt>
<dd><p>Overriden set_z_index</p>
</dd></dl>
</dd></dl>
</section>
<section id="module-manim_ml.neural_network.neural_network_transformations">
<span id="manim-ml-neural-network-neural-network-transformations-module"></span><h2>manim_ml.neural_network.neural_network_transformations module<a class="headerlink" href="#module-manim_ml.neural_network.neural_network_transformations" title="Permalink to this headline">#</a></h2>
<p>Transformations for manipulating a neural network object.</p>
<dl class="py class">
<dt class="sig sig-object py" id="manim_ml.neural_network.neural_network_transformations.InsertLayer">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">manim_ml.neural_network.neural_network_transformations.</span></span><span class="sig-name descname"><span class="pre">InsertLayer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mobject</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">use_override</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#manim_ml.neural_network.neural_network_transformations.InsertLayer" title="Permalink to this definition">#</a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">manim.animation.composition.AnimationGroup</span></code></p>
<p>Animation for inserting layer at given index</p>
<dl class="py method">
<dt class="sig sig-object py" id="manim_ml.neural_network.neural_network_transformations.InsertLayer.get_connective_layer_widths">
<span class="sig-name descname"><span class="pre">get_connective_layer_widths</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#manim_ml.neural_network.neural_network_transformations.InsertLayer.get_connective_layer_widths" title="Permalink to this definition">#</a></dt>
<dd><p>Gets the widths of the connective layers</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="manim_ml.neural_network.neural_network_transformations.InsertLayer.make_create_connective_layers_animation">
<span class="sig-name descname"><span class="pre">make_create_connective_layers_animation</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">before_connective</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">after_connective</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#manim_ml.neural_network.neural_network_transformations.InsertLayer.make_create_connective_layers_animation" title="Permalink to this definition">#</a></dt>
<dd><p>Create connective layers</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="manim_ml.neural_network.neural_network_transformations.InsertLayer.make_create_layer_animation">
<span class="sig-name descname"><span class="pre">make_create_layer_animation</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#manim_ml.neural_network.neural_network_transformations.InsertLayer.make_create_layer_animation" title="Permalink to this definition">#</a></dt>
<dd><p>Animates the creation of the layer</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="manim_ml.neural_network.neural_network_transformations.InsertLayer.make_move_layers_animation">
<span class="sig-name descname"><span class="pre">make_move_layers_animation</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#manim_ml.neural_network.neural_network_transformations.InsertLayer.make_move_layers_animation" title="Permalink to this definition">#</a></dt>
<dd><p>Shifts layers before and after</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="manim_ml.neural_network.neural_network_transformations.InsertLayer.remove_connective_layer_animation">
<span class="sig-name descname"><span class="pre">remove_connective_layer_animation</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#manim_ml.neural_network.neural_network_transformations.InsertLayer.remove_connective_layer_animation" title="Permalink to this definition">#</a></dt>
<dd><p>Removes the connective layer before the insertion index</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="manim_ml.neural_network.neural_network_transformations.RemoveLayer">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">manim_ml.neural_network.neural_network_transformations.</span></span><span class="sig-name descname"><span class="pre">RemoveLayer</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mobject</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">use_override</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#manim_ml.neural_network.neural_network_transformations.RemoveLayer" title="Permalink to this definition">#</a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">manim.animation.composition.AnimationGroup</span></code></p>
<p>Animation for removing a layer from a neural network.</p>
<p>Note: I needed to do something strange for creating the new connective layer.
The issue with creating it intially is that the positions of the sides of the
connective layer depend upon the location of the moved layers <strong>after</strong> the
move animations are performed. However, all of these animations are performed
after the animations have been created. This means that the animation depends upon
the state of the neural network layers after previous animations have been run.
To fix this issue I needed to use an UpdateFromFunc.</p>
<dl class="py method">
<dt class="sig sig-object py" id="manim_ml.neural_network.neural_network_transformations.RemoveLayer.get_connective_layers">
<span class="sig-name descname"><span class="pre">get_connective_layers</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#manim_ml.neural_network.neural_network_transformations.RemoveLayer.get_connective_layers" title="Permalink to this definition">#</a></dt>
<dd><p>Gets the connective layers before and after self.layer</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="manim_ml.neural_network.neural_network_transformations.RemoveLayer.make_move_animation">
<span class="sig-name descname"><span class="pre">make_move_animation</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#manim_ml.neural_network.neural_network_transformations.RemoveLayer.make_move_animation" title="Permalink to this definition">#</a></dt>
<dd><p>Collapses layers</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="manim_ml.neural_network.neural_network_transformations.RemoveLayer.make_new_connective_animation">
<span class="sig-name descname"><span class="pre">make_new_connective_animation</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#manim_ml.neural_network.neural_network_transformations.RemoveLayer.make_new_connective_animation" title="Permalink to this definition">#</a></dt>
<dd><p>Makes new connective layer</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="manim_ml.neural_network.neural_network_transformations.RemoveLayer.make_remove_animation">
<span class="sig-name descname"><span class="pre">make_remove_animation</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#manim_ml.neural_network.neural_network_transformations.RemoveLayer.make_remove_animation" title="Permalink to this definition">#</a></dt>
<dd><p>Removes layer and the surrounding connective layers</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="manim_ml.neural_network.neural_network_transformations.RemoveLayer.make_remove_connective_layers_animation">
<span class="sig-name descname"><span class="pre">make_remove_connective_layers_animation</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#manim_ml.neural_network.neural_network_transformations.RemoveLayer.make_remove_connective_layers_animation" title="Permalink to this definition">#</a></dt>
<dd><p>Removes the connective layers before and after layer if they exist</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="manim_ml.neural_network.neural_network_transformations.RemoveLayer.make_remove_layer_animation">
<span class="sig-name descname"><span class="pre">make_remove_layer_animation</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#manim_ml.neural_network.neural_network_transformations.RemoveLayer.make_remove_layer_animation" title="Permalink to this definition">#</a></dt>
<dd><p>Removes the layer</p>
</dd></dl>
</dd></dl>
</section>
<section id="module-manim_ml.neural_network.variational_autoencoder">
<span id="manim-ml-neural-network-variational-autoencoder-module"></span><h2>manim_ml.neural_network.variational_autoencoder module<a class="headerlink" href="#module-manim_ml.neural_network.variational_autoencoder" title="Permalink to this headline">#</a></h2>
<p>Variational Autoencoder Manim Visualizations</p>
<p>In this module I define Manim visualizations for Variational Autoencoders
and Traditional Autoencoders.</p>
<dl class="py class">
<dt class="sig sig-object py" id="manim_ml.neural_network.variational_autoencoder.VariationalAutoencoder">
<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">manim_ml.neural_network.variational_autoencoder.</span></span><span class="sig-name descname"><span class="pre">VariationalAutoencoder</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">encoder_nodes_per_layer</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">[5,</span> <span class="pre">3]</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">decoder_nodes_per_layer</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">[3,</span> <span class="pre">5]</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">point_color</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'#58C4DD'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">dot_radius</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.05</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ellipse_stroke_width</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">layer_spacing</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0.5</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#manim_ml.neural_network.variational_autoencoder.VariationalAutoencoder" title="Permalink to this definition">#</a></dt>
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">manim.mobject.types.vectorized_mobject.VGroup</span></code></p>
<p>Variational Autoencoder Manim Visualization</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="manim_ml.neural_network.variational_autoencoder.VariationalAutoencoder.animation_overrides">
<span class="sig-name descname"><span class="pre">animation_overrides</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">{&lt;class</span> <span class="pre">'manim.animation.creation.Create'&gt;:</span> <span class="pre">&lt;function</span> <span class="pre">VariationalAutoencoder._create_vae&gt;}</span></em><a class="headerlink" href="#manim_ml.neural_network.variational_autoencoder.VariationalAutoencoder.animation_overrides" title="Permalink to this definition">#</a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="manim_ml.neural_network.variational_autoencoder.VariationalAutoencoder.make_image_forward_pass">
<span class="sig-name descname"><span class="pre">make_image_forward_pass</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">input_image</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">output_image</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">run_time</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">1.5</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#manim_ml.neural_network.variational_autoencoder.VariationalAutoencoder.make_image_forward_pass" title="Permalink to this definition">#</a></dt>
<dd><p>Override forward pass animation specific to a VAE</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="manim_ml.neural_network.variational_autoencoder.VariationalAutoencoder.make_triplet_forward_pass">
<span class="sig-name descname"><span class="pre">make_triplet_forward_pass</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">triplet</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#manim_ml.neural_network.variational_autoencoder.VariationalAutoencoder.make_triplet_forward_pass" title="Permalink to this definition">#</a></dt>
<dd></dd></dl>
</dd></dl>
</section>
<section id="module-manim_ml.neural_network">
<span id="module-contents"></span><h2>Module contents<a class="headerlink" href="#module-manim_ml.neural_network" title="Permalink to this headline">#</a></h2>
</section>
</section>
</article>
</div>
<footer>
<div class="related-pages">
</div>
<div class="bottom-of-page">
<div class="left-details">
<div class="copyright">
Copyright &#169; 2022, Alec Helbling
</div>
Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
<a href="https://github.com/pradyunsg/furo">Furo</a>
</div>
<div class="right-details">
<div class="icons">
</div>
</div>
</div>
</footer>
</div>
<aside class="toc-drawer">
<div class="toc-sticky toc-scroll">
<div class="toc-title-container">
<span class="toc-title">
Contents
</span>
</div>
<div class="toc-tree-container">
<div class="toc-tree">
<ul>
<li><a class="reference internal" href="#">manim_ml.neural_network package</a><ul>
<li><a class="reference internal" href="#subpackages">Subpackages</a></li>
<li><a class="reference internal" href="#submodules">Submodules</a></li>
<li><a class="reference internal" href="#module-manim_ml.neural_network.neural_network">manim_ml.neural_network.neural_network module</a></li>
<li><a class="reference internal" href="#module-manim_ml.neural_network.neural_network_transformations">manim_ml.neural_network.neural_network_transformations module</a></li>
<li><a class="reference internal" href="#module-manim_ml.neural_network.variational_autoencoder">manim_ml.neural_network.variational_autoencoder module</a></li>
<li><a class="reference internal" href="#module-manim_ml.neural_network">Module contents</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
</aside>
</div>
</div><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/doctools.js"></script>
<script src="_static/scripts/furo.js"></script>
</body>
</html>