Simplified namespace so layers can be imported from manim_ml.neural_network

This commit is contained in:
Alec Helbling
2023-01-27 14:20:11 -05:00
parent 46958ea293
commit b767b9abee
8 changed files with 54 additions and 21 deletions

View File

@ -37,9 +37,7 @@ https://user-images.githubusercontent.com/14181830/214898495-ff40c679-3f79-4954-
```python ```python
from manim import * from manim import *
from manim_ml.neural_network.layers.convolutional_2d import Convolutional2DLayer from manim_ml.neural_network import Convolutional2DLayer, FeedForwardLayer, NeuralNetwork
from manim_ml.neural_network.layers.feed_forward import FeedForwardLayer
from manim_ml.neural_network.neural_network import NeuralNetwork
# Make the specific scene # Make the specific scene
config.pixel_height = 700 config.pixel_height = 700

View File

@ -1,8 +1,6 @@
from manim import * from manim import *
from manim_ml.neural_network.layers.convolutional_2d import Convolutional2DLayer from manim_ml.neural_network import Convolutional2DLayer, FeedForwardLayer, NeuralNetwork
from manim_ml.neural_network.layers.feed_forward import FeedForwardLayer
from manim_ml.neural_network.neural_network import NeuralNetwork
# Make the specific scene # Make the specific scene
config.pixel_height = 700 config.pixel_height = 700

View File

@ -0,0 +1,23 @@
from manim_ml.neural_network.neural_network import NeuralNetwork
from manim_ml.neural_network.layers.feed_forward import FeedForwardLayer
from manim_ml.neural_network.layers.convolutional_2d_to_convolutional_2d import Convolutional2DToConvolutional2D
from manim_ml.neural_network.layers.convolutional_2d_to_feed_forward import Convolutional2DToFeedForward
from manim_ml.neural_network.layers.convolutional_2d_to_max_pooling_2d import Convolutional2DToMaxPooling2D
from manim_ml.neural_network.layers.convolutional_2d import Convolutional2DLayer
from manim_ml.neural_network.layers.embedding_to_feed_forward import EmbeddingToFeedForward
from manim_ml.neural_network.layers.embedding import EmbeddingLayer
from manim_ml.neural_network.layers.feed_forward_to_embedding import FeedForwardToEmbedding
from manim_ml.neural_network.layers.feed_forward_to_feed_forward import FeedForwardToFeedForward
from manim_ml.neural_network.layers.feed_forward_to_image import FeedForwardToImage
from manim_ml.neural_network.layers.feed_forward_to_vector import FeedForwardToVector
from manim_ml.neural_network.layers.feed_forward import FeedForwardLayer
from manim_ml.neural_network.layers.image_to_convolutional_2d import ImageToConvolutional2DLayer
from manim_ml.neural_network.layers.image_to_feed_forward import ImageToFeedForward
from manim_ml.neural_network.layers.image import ImageLayer
from manim_ml.neural_network.layers.max_pooling_2d_to_convolutional_2d import MaxPooling2DToConvolutional2D
from manim_ml.neural_network.layers.max_pooling_2d import MaxPooling2DLayer
from manim_ml.neural_network.layers.paired_query_to_feed_forward import PairedQueryToFeedForward
from manim_ml.neural_network.layers.paired_query import PairedQueryLayer
from manim_ml.neural_network.layers.triplet_to_feed_forward import TripletToFeedForward
from manim_ml.neural_network.layers.triplet import TripletLayer
from manim_ml.neural_network.layers.vector import VectorLayer

View File

@ -0,0 +1,15 @@
from manim_ml.neural_network.layers.feed_forward import FeedForwardLayer
class FeedForwardNeuralNetwork(NeuralNetwork):
"""NeuralNetwork with just feed forward layers"""
def __init__(self, layer_node_count, node_radius=0.08, node_color=BLUE, **kwargs):
# construct layers
layers = []
for num_nodes in layer_node_count:
layer = FeedForwardLayer(
num_nodes, node_color=node_color, node_radius=node_radius
)
layers.append(layer)
# call super class
super().__init__(layers, **kwargs)

View File

@ -339,18 +339,3 @@ class NeuralNetwork(Group):
string_repr = "NeuralNetwork([\n" + inner_string + "])" string_repr = "NeuralNetwork([\n" + inner_string + "])"
return string_repr return string_repr
class FeedForwardNeuralNetwork(NeuralNetwork):
"""NeuralNetwork with just feed forward layers"""
def __init__(self, layer_node_count, node_radius=0.08, node_color=BLUE, **kwargs):
# construct layers
layers = []
for num_nodes in layer_node_count:
layer = FeedForwardLayer(
num_nodes, node_color=node_color, node_radius=node_radius
)
layers.append(layer)
# call super class
super().__init__(layers, **kwargs)

View File

@ -0,0 +1,14 @@
from manim import *
from manim_ml.neural_network import NeuralNetwork, FeedForwardLayer
class FeedForwardScene(Scene):
def construct(self):
nn = NeuralNetwork([
FeedForwardLayer(3),
FeedForwardLayer(5),
FeedForwardLayer(3)
])
self.add(nn)