A Julia package for visualizing Flux.jl neural network architectures as GraphViz diagrams.
This package is registered in LabRegistry
# With LabRegistry added in julia registry
] add Dabus
# Otherwise
] add https://github.com/lemieux-lab/DabusOr for local development:
] dev path/to/Dabususing Dabus, Flux
model = Chain(
Dense(50, 10, relu),
Dense(10, 1)
)
# Display the network (returns image bytes)
img = draw_network(model)
# Save directly to a file
draw_network(model, save_to="network.png")
# Export as SVG
draw_network(model, save_to="network.svg", output_type="svg")Note: Dabus requires an internet connection. Diagrams are rendered via the QuickChart.io GraphViz API : no local GraphViz installation needed.
| Category | Layers |
|---|---|
| Standard | Dense, Embedding |
| Convolutional | Conv, ConvTranspose, CrossCor |
| Pooling | MaxPool, MeanPool, AdaptiveMaxPool, AdaptiveMeanPool, GlobalMeanPool |
| Attention | MultiHeadAttention |
| Recurrent | LSTM, GRU |
| Containers | Chain, Parallel, Maxout, PairwiseFusion |
| Skip connections | SkipConnection |
| Activations / misc | Any callable (e.g. relu, softmax, Flux.flatten) |
Generates a diagram of a Flux neural network.
Arguments:
network: A Flux model (e.g. aChainor any supported layer).save_to: Optional file path. If provided, the image bytes are written to this path.output_type: Output format:"png"(default) or"svg".
Returns: Vector{UInt8} : the raw image bytes.
Embedding + Dense
Dense + softmax activation
Convolutional layers (Conv, ConvTranspose, CrossCor)
Pooling layers
Multi-head attention
LSTM recurrent network
Complex parallel architecture







