MLP PyTorch Reference Export #
PyTorch code generator for the MLP round-trip reference model.
The generated Python mirrors the common nn.Linear → ReLU → nn.Linear pattern. We also support
embedding explicit weights into a state_dict-shaped dictionary for round-trip and regression
checks.
How to name state_dict keys when exporting weights.
- linear : WeightKeyStyle
Keys like
fc1.weight/fc2.bias(matches PyTorchnn.Linearmodules). - sequential : WeightKeyStyle
Keys like
layers.0.weight/layers.2.bias(common when exportingnn.Sequential).
Instances For
Instances For
Key name for the first layer's weight tensor in a PyTorch state_dict.
Instances For
Key name for the first layer's bias tensor in a PyTorch state_dict.
Instances For
Key name for the second layer's weight tensor in a PyTorch state_dict.
Instances For
Key name for the second layer's bias tensor in a PyTorch state_dict.
Instances For
Metadata for an exported MLP.
This is a small “record of facts” about the generated Python: shapes, dimensions, and optionally embedded weights for round-trip tests.
- modelName : String
Python class name used in the generated module.
- inputDim : ℕ
Input feature dimension.
- outputDim : ℕ
Output feature dimension.
- hasWeights : Bool
Whether the generated Python should embed concrete weights.
- weights : Option (Spec.Tensor Float (Spec.Shape.dim hidDim (Spec.Shape.dim inDim Spec.Shape.scalar)) × Spec.Tensor Float (Spec.Shape.dim hidDim Spec.Shape.scalar) × Spec.Tensor Float (Spec.Shape.dim outDim (Spec.Shape.dim hidDim Spec.Shape.scalar)) × Spec.Tensor Float (Spec.Shape.dim outDim Spec.Shape.scalar))
Optional two-layer MLP parameter payload: weights and biases for both linear layers.
Instances For
Generate Python code for an MLP plus helper functions that embed concrete weights.
The output contains a get_mlp_state_dict function that returns a PyTorch-shaped dictionary
(state_dict) and a load_mlp_weights helper that calls model.load_state_dict(...).
Instances For
Generate a Python MLP class that ends with a Softmax (classification convenience).
This mirrors common compact PyTorch model code; full training pipelines usually use logits + a combined
loss (e.g. CrossEntropyLoss) instead of an explicit softmax.
Instances For
Line-based version of generateMLPWithSoftmax for script composition.
Instances For
Export metadata for an MLP described as a SpecChain.
The chain is accepted to keep the API aligned with SpecChain, while this exporter produces
metadata from the explicit dimensions supplied by the type parameters.
Instances For
Like exportMLPFromSpecChain, but include explicit weights in the metadata record.
Instances For
Generate a complete Python script for MLP examples.
This includes:
- a base MLP class,
- a Softmax variant,
- shared helper modules from
NN/Runtime/PyTorch/Export/Core.lean, - and convenience helpers for construction and parameter counting.