The DSL uses a YAML-like syntax to define networks cleanly. For example, here’s an MNIST classifier:
network MNISTClassifier { input: (28, 28, 1) layers: Conv2D(filters=32, kernel_size=(3,3), activation="relu") MaxPooling2D(pool_size=(2,2)) Flatten() Dense(units=128, activation="relu") Output(units=10, activation="softmax") loss: "sparse_categorical_crossentropy" optimizer: Adam }
You can compile it to PyTorch with neural compile mnist.neural --backend pytorch, run it, and debug it with neural debug mnist.neural --hacky (check gradients and resources at http://localhost:8050). There’s even a --hacky mode for poking at security quirks.It’s early days—bugs lurk, and I’m still adding features like hyperparameter optimization and TensorBoard support. I’d love your thoughts! Have you hit pain points in ML dev that this could solve? What’s missing?
Check it out: https://github.com/Lemniscate-SHA-256/Neural/