Spec changes
- Type and shape annotations for the model (required for inputs/outputs, optional for internal values)
Breaking changes
onnx.proto
underwent breaking changes that makes earlier serialized protobufs invalid. We commit to have all changes to the protobuf structure backward-compatible after this (v0.2) release.
Specific changes:
- Introduction of
ModelProto
to represent top-level model in addition toGraphProto
- Related API changes renaming
graph
tomodel
- Addition of type and optional shape annotations for inputs and outputs of the graph
Operator spec changes
- Added Gemm
- Added Pad
- Added Constant (graduated from experimental to non-experimental)
- In Conv and ConvTranspose renamed attribute “filter” to “weights”
- In Elu added “alpha” attribute
- Concat fixed output number from 2 to 1
- Dropout changed output number from 2 to (1 or 2)
- Added OptimizedRNN operator representing entire RNN stack similarly to CuDNN
- ATen support as an experimental operator that allows to directly represent any PyTorch's tensor functions (which leverage ATen).
New Tutorials
- Usage of ATen operator for quick exporting from PyTorch to Caffe2:
https://github.com/caffe2/caffe2/blob/master/caffe2/contrib/aten/docs/pytorch_to_caffe2.md - End-to-end demo of training in PyTorch and deployment to Caffe2: https://github.com/bwasti/AICamera/blob/master/Exporting%20Squeezenet%20to%20mobile.ipynb