Composable Nueral Network Skelatan structure

This commit is contained in:
Alec Helbling
2022-04-02 19:20:30 -04:00
parent 61b47798f3
commit f282c3e7a6
11 changed files with 244 additions and 123 deletions

BIN
tests/images/image.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 572 B

View File

@ -1,7 +1,8 @@
from manim import *
from manim_ml.neural_network.layers import FeedForwardLayer
from manim_ml.neural_network.neural_network import NeuralNetwork
from manim_ml.neural_network.feed_forward import FeedForwardNeuralNetwork
from manim_ml.neural_network.layers import FeedForwardLayer, ImageLayer
from manim_ml.neural_network.neural_network import NeuralNetwork, FeedForwardNeuralNetwork
from PIL import Image
import numpy as np
config.pixel_height = 720
config.pixel_width = 1280
@ -20,7 +21,11 @@ class NeuralNetworkScene(Scene):
def construct(self):
# Make the Layer object
layers = [FeedForwardLayer(3), FeedForwardLayer(5), FeedForwardLayer(3)]
layers = [
FeedForwardLayer(3),
FeedForwardLayer(5),
FeedForwardLayer(3)
]
nn = NeuralNetwork(layers)
nn.move_to(ORIGIN)
# Make Animation
@ -29,6 +34,26 @@ class NeuralNetworkScene(Scene):
self.play(forward_propagation_animation)
class ImageNeuralNetworkScene(Scene):
def construct(self):
image = Image.open('images/image.jpeg')
numpy_image = np.asarray(image)
# Make nn
layers = [
ImageLayer(numpy_image, height=1.0),
FeedForwardLayer(3),
FeedForwardLayer(5),
FeedForwardLayer(3),
FeedForwardLayer(3)
]
nn = NeuralNetwork(layers)
# Center the nn
nn.move_to(ORIGIN)
self.add(nn)
# Play animation
self.play(nn.make_forward_pass_animation())
if __name__ == "__main__":
"""Render all scenes"""
# Feed Forward Neural Network