manim_ml.neural_network.layers package#

Submodules#

manim_ml.neural_network.layers.convolutional module#

class manim_ml.neural_network.layers.convolutional.ConvolutionalLayer(num_filters, filter_width, filter_height, filter_spacing=0.1, color='#FF862F', pulse_color='#FC6255', **kwargs)#

Bases: manim_ml.neural_network.layers.parent_layers.VGroupNeuralNetworkLayer

Handles rendering a convolutional layer for a nn

animation_overrides = {<class 'manim.animation.creation.Create'>: <function ConvolutionalLayer._create_override>}#
make_filter_corner_lines()#

Make filter corner lines

make_forward_pass_animation(layer_args={}, **kwargs)#

Convolution forward pass animation

manim_ml.neural_network.layers.convolutional_to_convolutional module#

class manim_ml.neural_network.layers.convolutional_to_convolutional.ConvolutionalToConvolutional(input_layer, output_layer, color='#FFFFFF', pulse_color='#FC6255', **kwargs)#

Bases: manim_ml.neural_network.layers.parent_layers.ConnectiveLayer

Feed Forward to Embedding Layer

animation_overrides = {<class 'manim.animation.creation.Create'>: <function ConvolutionalToConvolutional._create_override>}#
input_class#

alias of manim_ml.neural_network.layers.convolutional.ConvolutionalLayer

make_forward_pass_animation(layer_args={}, run_time=1.5, **kwargs)#

Forward pass animation from conv to conv

make_lines()#

Make lines connecting the input and output layers

output_class#

alias of manim_ml.neural_network.layers.convolutional.ConvolutionalLayer

manim_ml.neural_network.layers.embedding module#

class manim_ml.neural_network.layers.embedding.EmbeddingLayer(point_radius=0.02, mean=array([0, 0]), covariance=array([[1., 0.], [0., 1.]]), dist_theme='gaussian', paired_query_mode=False, **kwargs)#

Bases: manim_ml.neural_network.layers.parent_layers.VGroupNeuralNetworkLayer

NeuralNetwork embedding object that can show probability distributions

add_gaussian_distribution(gaussian_distribution)#

Adds given GaussianDistribution to the list

animation_overrides = {<class 'manim.animation.creation.Create'>: <function EmbeddingLayer._create_override>}#
construct_gaussian_point_cloud(mean, covariance, point_color='#FFFFFF', num_points=400)#

Plots points sampled from a Gaussian with the given mean and covariance

get_distribution_location()#

Returns mean of latent distribution in axes frame

make_forward_pass_animation(layer_args={}, **kwargs)#

Forward pass animation

remove_gaussian_distribution(gaussian_distribution)#

Removes the given gaussian distribution from the embedding

sample_point_location_from_distribution()#

Samples from the current latent distribution

class manim_ml.neural_network.layers.embedding.NeuralNetworkEmbeddingTestScene(renderer=None, camera_class=<class 'manim.camera.camera.Camera'>, always_update_mobjects=False, random_seed=None, skip_animations=False)#

Bases: manim.scene.scene.Scene

construct()#

Add content to the Scene.

From within Scene.construct(), display mobjects on screen by calling Scene.add() and remove them from screen by calling Scene.remove(). All mobjects currently on screen are kept in Scene.mobjects. Play animations by calling Scene.play().

Notes

Initialization code should go in Scene.setup(). Termination code should go in Scene.tear_down().

Examples

A typical manim script includes a class derived from Scene with an overridden Scene.contruct() method:

class MyScene(Scene):
    def construct(self):
        self.play(Write(Text("Hello World!")))

See also

Scene.setup(), Scene.render(), Scene.tear_down()

manim_ml.neural_network.layers.embedding_to_feed_forward module#

class manim_ml.neural_network.layers.embedding_to_feed_forward.EmbeddingToFeedForward(input_layer, output_layer, animation_dot_color='#FC6255', dot_radius=0.03, **kwargs)#

Bases: manim_ml.neural_network.layers.parent_layers.ConnectiveLayer

Feed Forward to Embedding Layer

animation_overrides = {<class 'manim.animation.creation.Create'>: <function EmbeddingToFeedForward._create_override>}#
input_class#

alias of manim_ml.neural_network.layers.embedding.EmbeddingLayer

make_forward_pass_animation(layer_args={}, run_time=1.5, **kwargs)#

Makes dots diverge from the given location and move the decoder

output_class#

alias of manim_ml.neural_network.layers.feed_forward.FeedForwardLayer

manim_ml.neural_network.layers.feed_forward module#

class manim_ml.neural_network.layers.feed_forward.FeedForwardLayer(num_nodes, layer_buffer=0.05, node_radius=0.08, node_color='#58C4DD', node_outline_color='#FFFFFF', rectangle_color='#FFFFFF', node_spacing=0.3, rectangle_fill_color='#000000', node_stroke_width=2.0, rectangle_stroke_width=2.0, animation_dot_color='#FC6255', **kwargs)#

Bases: manim_ml.neural_network.layers.parent_layers.VGroupNeuralNetworkLayer

Handles rendering a layer for a neural network

animation_overrides = {<class 'manim.animation.creation.Create'>: <function FeedForwardLayer._create_override>}#
make_forward_pass_animation(layer_args={}, **kwargs)#

manim_ml.neural_network.layers.feed_forward_to_embedding module#

class manim_ml.neural_network.layers.feed_forward_to_embedding.FeedForwardToEmbedding(input_layer, output_layer, animation_dot_color='#FC6255', dot_radius=0.03, **kwargs)#

Bases: manim_ml.neural_network.layers.parent_layers.ConnectiveLayer

Feed Forward to Embedding Layer

animation_overrides = {<class 'manim.animation.creation.Create'>: <function FeedForwardToEmbedding._create_override>}#
input_class#

alias of manim_ml.neural_network.layers.feed_forward.FeedForwardLayer

make_forward_pass_animation(layer_args={}, run_time=1.5, **kwargs)#

Makes dots converge on a specific location

output_class#

alias of manim_ml.neural_network.layers.embedding.EmbeddingLayer

manim_ml.neural_network.layers.feed_forward_to_feed_forward module#

class manim_ml.neural_network.layers.feed_forward_to_feed_forward.FeedForwardToFeedForward(input_layer, output_layer, passing_flash=True, dot_radius=0.05, animation_dot_color='#FC6255', edge_color='#FFFFFF', edge_width=1.5, **kwargs)#

Bases: manim_ml.neural_network.layers.parent_layers.ConnectiveLayer

Layer for connecting FeedForward layer to FeedForwardLayer

animation_overrides = {<class 'manim.animation.creation.Create'>: <function FeedForwardToFeedForward._create_override>, <class 'manim.animation.fading.FadeOut'>: <function FeedForwardToFeedForward._fadeout_animation>}#
construct_edges()#
input_class#

alias of manim_ml.neural_network.layers.feed_forward.FeedForwardLayer

make_forward_pass_animation(layer_args={}, run_time=1, **kwargs)#

Animation for passing information from one FeedForwardLayer to the next

output_class#

alias of manim_ml.neural_network.layers.feed_forward.FeedForwardLayer

manim_ml.neural_network.layers.feed_forward_to_image module#

class manim_ml.neural_network.layers.feed_forward_to_image.FeedForwardToImage(input_layer, output_layer, animation_dot_color='#FC6255', dot_radius=0.05, **kwargs)#

Bases: manim_ml.neural_network.layers.parent_layers.ConnectiveLayer

Image Layer to FeedForward layer

animation_overrides = {<class 'manim.animation.creation.Create'>: <function FeedForwardToImage._create_override>}#
input_class#

alias of manim_ml.neural_network.layers.feed_forward.FeedForwardLayer

make_forward_pass_animation(layer_args={}, **kwargs)#

Makes dots diverge from the given location and move to the feed forward nodes decoder

output_class#

alias of manim_ml.neural_network.layers.image.ImageLayer

manim_ml.neural_network.layers.feed_forward_to_vector module#

class manim_ml.neural_network.layers.feed_forward_to_vector.FeedForwardToVector(input_layer, output_layer, animation_dot_color='#FC6255', dot_radius=0.05, **kwargs)#

Bases: manim_ml.neural_network.layers.parent_layers.ConnectiveLayer

Image Layer to FeedForward layer

animation_overrides = {<class 'manim.animation.creation.Create'>: <function FeedForwardToVector._create_override>}#
input_class#

alias of manim_ml.neural_network.layers.feed_forward.FeedForwardLayer

make_forward_pass_animation(layer_args={}, **kwargs)#

Makes dots diverge from the given location and move to the feed forward nodes decoder

output_class#

alias of manim_ml.neural_network.layers.vector.VectorLayer

manim_ml.neural_network.layers.image module#

class manim_ml.neural_network.layers.image.ImageLayer(numpy_image, height=1.5, show_image_on_create=True, **kwargs)#

Bases: manim_ml.neural_network.layers.parent_layers.NeuralNetworkLayer

Single Image Layer for Neural Network

animation_overrides = {<class 'manim.animation.creation.Create'>: <function ImageLayer._create_override>}#
classmethod from_path(image_path, grayscale=True, **kwargs)#

Creates a query using the paths

get_right()#

Override get right

property height#

The height of the mobject.

Return type

float

Examples

See also

length_over_dim()

make_forward_pass_animation(layer_args={}, **kwargs)#
property width#

The width of the mobject.

Return type

float

Examples

See also

length_over_dim()

manim_ml.neural_network.layers.image_to_feed_forward module#

class manim_ml.neural_network.layers.image_to_feed_forward.ImageToFeedForward(input_layer, output_layer, animation_dot_color='#FC6255', dot_radius=0.05, **kwargs)#

Bases: manim_ml.neural_network.layers.parent_layers.ConnectiveLayer

Image Layer to FeedForward layer

animation_overrides = {<class 'manim.animation.creation.Create'>: <function ImageToFeedForward._create_override>}#
input_class#

alias of manim_ml.neural_network.layers.image.ImageLayer

make_forward_pass_animation(layer_args={}, **kwargs)#

Makes dots diverge from the given location and move to the feed forward nodes decoder

output_class#

alias of manim_ml.neural_network.layers.feed_forward.FeedForwardLayer

manim_ml.neural_network.layers.paired_query module#

class manim_ml.neural_network.layers.paired_query.PairedQueryLayer(positive, negative, stroke_width=5, font_size=18, spacing=0.5, **kwargs)#

Bases: manim_ml.neural_network.layers.parent_layers.NeuralNetworkLayer

Paired Query Layer

animation_overrides = {<class 'manim.animation.creation.Create'>: <function PairedQueryLayer._create_override>}#
classmethod from_paths(positive_path, negative_path, grayscale=True, **kwargs)#

Creates a query using the paths

make_assets()#

Constructs the assets needed for a query layer

make_forward_pass_animation(layer_args={}, **kwargs)#

Forward pass for query

manim_ml.neural_network.layers.paired_query_to_feed_forward module#

class manim_ml.neural_network.layers.paired_query_to_feed_forward.PairedQueryToFeedForward(input_layer, output_layer, animation_dot_color='#FC6255', dot_radius=0.02, **kwargs)#

Bases: manim_ml.neural_network.layers.parent_layers.ConnectiveLayer

PairedQuery layer to FeedForward layer

animation_overrides = {<class 'manim.animation.creation.Create'>: <function PairedQueryToFeedForward._create_override>}#
input_class#

alias of manim_ml.neural_network.layers.paired_query.PairedQueryLayer

make_forward_pass_animation(layer_args={}, **kwargs)#

Makes dots diverge from the given location and move to the feed forward nodes decoder

output_class#

alias of manim_ml.neural_network.layers.feed_forward.FeedForwardLayer

manim_ml.neural_network.layers.parent_layers module#

class manim_ml.neural_network.layers.parent_layers.BlankConnective(input_layer, output_layer, input_class=None, output_class=None, **kwargs)#

Bases: manim_ml.neural_network.layers.parent_layers.ConnectiveLayer

Connective layer to be used when the given pair of layers is undefined

animation_overrides = {<class 'manim.animation.creation.Create'>: <function BlankConnective._create_override>}#
make_forward_pass_animation(layer_args={}, **kwargs)#
class manim_ml.neural_network.layers.parent_layers.ConnectiveLayer(input_layer, output_layer, input_class=None, output_class=None, **kwargs)#

Bases: manim_ml.neural_network.layers.parent_layers.VGroupNeuralNetworkLayer

Forward pass animation for a given pair of layers

animation_overrides = {<class 'manim.animation.creation.Create'>: <function ConnectiveLayer._create_override>}#
abstract make_forward_pass_animation(layer_args={}, **kwargs)#
class manim_ml.neural_network.layers.parent_layers.NeuralNetworkLayer(text=None, **kwargs)#

Bases: abc.ABC, manim.mobject.mobject.Group

Abstract Neural Network Layer class

animation_overrides = {<class 'manim.animation.creation.Create'>: <function NeuralNetworkLayer._create_override>}#
abstract make_forward_pass_animation(layer_args={}, **kwargs)#
class manim_ml.neural_network.layers.parent_layers.VGroupNeuralNetworkLayer(**kwargs)#

Bases: manim_ml.neural_network.layers.parent_layers.NeuralNetworkLayer

animation_overrides = {<class 'manim.animation.creation.Create'>: <function VGroupNeuralNetworkLayer._create_override>}#
abstract make_forward_pass_animation(**kwargs)#

manim_ml.neural_network.layers.triplet module#

class manim_ml.neural_network.layers.triplet.TripletLayer(anchor, positive, negative, stroke_width=5, font_size=22, buff=0.2, **kwargs)#

Bases: manim_ml.neural_network.layers.parent_layers.NeuralNetworkLayer

Shows triplet images

animation_overrides = {<class 'manim.animation.creation.Create'>: <function TripletLayer._create_override>}#
classmethod from_paths(anchor_path, positive_path, negative_path, grayscale=True, font_size=22, buff=0.2)#

Creates a triplet using the anchor paths

make_assets()#

Constructs the assets needed for a triplet layer

make_forward_pass_animation(layer_args={}, **kwargs)#

Forward pass for triplet

manim_ml.neural_network.layers.triplet_to_feed_forward module#

class manim_ml.neural_network.layers.triplet_to_feed_forward.TripletToFeedForward(input_layer, output_layer, animation_dot_color='#FC6255', dot_radius=0.02, **kwargs)#

Bases: manim_ml.neural_network.layers.parent_layers.ConnectiveLayer

TripletLayer to FeedForward layer

animation_overrides = {<class 'manim.animation.creation.Create'>: <function TripletToFeedForward._create_override>}#
input_class#

alias of manim_ml.neural_network.layers.triplet.TripletLayer

make_forward_pass_animation(layer_args={}, **kwargs)#

Makes dots diverge from the given location and move to the feed forward nodes decoder

output_class#

alias of manim_ml.neural_network.layers.feed_forward.FeedForwardLayer

manim_ml.neural_network.layers.util module#

manim_ml.neural_network.layers.util.get_connective_layer(input_layer, output_layer)#

Deduces the relevant connective layer

manim_ml.neural_network.layers.vector module#

class manim_ml.neural_network.layers.vector.VectorLayer(num_values, value_func=<function VectorLayer.<lambda>>, **kwargs)#

Bases: manim_ml.neural_network.layers.parent_layers.VGroupNeuralNetworkLayer

Shows a vector

animation_overrides = {<class 'manim.animation.creation.Create'>: <function VectorLayer._create_override>}#
make_forward_pass_animation(layer_args={}, **kwargs)#
make_vector()#

Makes the vector

Module contents#