mirror of
https://github.com/helblazer811/ManimML.git
synced 2025-06-02 07:45:52 +08:00
32 lines
1.0 KiB
Python
32 lines
1.0 KiB
Python
from manim import *
|
|
from PIL import Image
|
|
from manim_ml.neural_network.layers import EmbeddingLayer, FeedForwardLayer, ImageLayer
|
|
from manim_ml.neural_network.neural_network import NeuralNetwork
|
|
|
|
config.pixel_height = 720
|
|
config.pixel_width = 1280
|
|
config.frame_height = 8.0
|
|
config.frame_width = 8.0
|
|
|
|
class VariationalAutoencoderScene(Scene):
|
|
|
|
def construct(self):
|
|
embedding_layer = EmbeddingLayer(dist_theme="ellipse").scale(2)
|
|
|
|
image = Image.open('images/image.jpeg')
|
|
numpy_image = np.asarray(image)
|
|
# Make nn
|
|
neural_network = NeuralNetwork([
|
|
ImageLayer(numpy_image, height=1.4),
|
|
FeedForwardLayer(5),
|
|
FeedForwardLayer(3),
|
|
embedding_layer,
|
|
FeedForwardLayer(3),
|
|
FeedForwardLayer(5),
|
|
ImageLayer(numpy_image, height=1.4),
|
|
], layer_spacing=0.1)
|
|
|
|
neural_network.scale(1.3)
|
|
|
|
self.play(Create(neural_network))
|
|
self.play(neural_network.make_forward_pass_animation(run_time=15)) |