Your one stop CLI for ONNX model analysis.
Featuring graph visualization, FLOP counts, memory metrics and more!
First, download and install DOT.
Installation can be done via cargo:
cargo install steelixMacOS users can also install via HomeBrew:
brew tap FL33TW00D/steelix
brew install steelixSteelix has 2 core functions - model summarization & model visualization.
CLI command to summarize the core aspects of your model.
steelix summary --model-path ./my-model.onnx| Option | Description | Type | Default | Required? |
|---|---|---|---|---|
--model-path |
Path at which your model is located. | bool |
false |
No |
CLI command to plot your model as an SVG file - complete with inferred shapes.
steelix plot --model-path ./my-model.onnx --open | Option | Description | Type | Default | Required? |
|---|---|---|---|---|
--model-path |
Path at which your model is located. | string |
None | Yes |
--output-path |
Path at which your SVG will be saved. | string |
./model.svg |
No |
--open |
Open SVG in browser once generated. | boolean |
false |
No |
--disable-shapes |
Disable shape inference. | boolean |
false |
No |
Supported Operators (ref ONNX IR)
| Operator | Implemented |
|---|---|
| Abs | ✅ |
| Acos | |
| Acosh | |
| Add | ✅ |
| And | |
| ArgMax | |
| ArgMin | |
| Asin | |
| Asinh | |
| Atan | |
| Atanh | |
| AveragePool | |
| BatchNormalization | ✅ |
| BitShift | |
| Cast | |
| Ceil | |
| Clip | |
| Compress | |
| Concat | ✅ |
| ConcatFromSequence | |
| Constant | |
| ConstantOfShape | |
| Conv | ✅ |
| ConvInteger | |
| ConvTranspose | |
| Cos | |
| Cosh | |
| CumSum | |
| DepthToSpace | |
| DequantizeLinear | |
| Det | |
| Div | |
| Dropout | |
| Einsum | |
| Elu | |
| Equal | |
| Erf | ✅ |
| Exp | |
| Expand | |
| EyeLike | |
| Flatten | |
| Floor | |
| GRU | |
| Gather | ✅ |
| GatherElements | |
| GatherND | |
| Gemm | ✅ |
| GlobalAveragePool | |
| GlobalLpPool | |
| GlobalMaxPool | |
| Greater | |
| GridSample | |
| HardSigmoid | |
| Hardmax | |
| Identity | |
| If | |
| InstanceNormalization | |
| IsInf | |
| IsNaN | |
| LRN | |
| LSTM | |
| LeakyRelu | ✅ |
| Less | |
| Log | |
| Loop | |
| LpNormalization | |
| LpPool | |
| MatMul | ✅ |
| MatMulInteger | |
| Max | |
| MaxPool | ✅ |
| MaxRoiPool | |
| MaxUnpool | |
| Mean | |
| Min | |
| Mod | |
| Mul | ✅ |
| Multinomial | |
| Neg | |
| NonMaxSuppression | |
| NonZero | |
| Not | ✅ |
| OneHot | |
| Optional | |
| OptionalGetElement | |
| OptionalHasElement | |
| Or | |
| PRelu | |
| Pad | ✅ (mode=constant, pads>=0) |
| Pow | |
| QLinearConv | |
| QLinearMatMul | |
| QuantizeLinear | |
| RNN | |
| RandomNormal | |
| RandomNormalLike | |
| RandomUniform | |
| RandomUniformLike | |
| Reciprocal | |
| ReduceL1 | |
| ReduceL2 | |
| ReduceLogSum | |
| ReduceLogSumExp | |
| ReduceMax | |
| ReduceMean | |
| ReduceMin | |
| ReduceProd | |
| ReduceSum | |
| ReduceSumSquare | |
| Relu | ✅ |
| Reshape | ✅ |
| Resize | |
| ReverseSequence | |
| RoiAlign | |
| Round | |
| Scan | |
| Scatter (deprecated) | |
| ScatterElements | |
| ScatterND | |
| Selu | |
| SequenceAt | |
| SequenceConstruct | |
| SequenceEmpty | |
| SequenceErase | |
| SequenceInsert | |
| SequenceLength | |
| Shape | |
| Shrink | |
| Sigmoid | ✅ |
| Sign | |
| Sin | |
| Sinh | |
| Size | |
| Slice | |
| Softplus | |
| Softsign | |
| SpaceToDepth | |
| Split | |
| SplitToSequence | |
| Sqrt | |
| Squeeze | ✅ |
| StringNormalizer | |
| Sub | |
| Sum | |
| Tan | |
| Tanh | |
| TfIdfVectorizer | |
| ThresholdedRelu | |
| Tile | |
| TopK | |
| Transpose | |
| Trilu | |
| Unique | |
| Unsqueeze | ✅ |
| Upsample (deprecated) | |
| Where | |
| Xor | |
| Function | |
| Bernoulli | |
| CastLike | |
| Celu | |
| DynamicQuantizeLinear | |
| GreaterOrEqual | |
| HardSwish | |
| LessOrEqual | |
| LogSoftmax | |
| MeanVarianceNormalization | |
| NegativeLogLikelihoodLoss | |
| Range | |
| Softmax | ✅ |
| SoftmaxCrossEntropyLoss |
Most of the good ideas/code in this project are heavily inspired by tract, wonnx or netron.


