Skip to content

Integrate ONNX Export and Import Support #99

@gitctrlx

Description

@gitctrlx

This issue proposes to integrate ONNX (Open Neural Network Exchange) support to the candy framework, enabling models built and trained with candy to be exported to ONNX format and loaded from ONNX weights into candy models.

Objectives:

  • Develop a mechanism for exporting candy models to ONNX format for interoperability with other ML frameworks.
  • Implement functionality to import/load weights from ONNX models into candy models.
  • Ensure full support for common layer types and serialization patterns used in both candy and ONNX.
  • Provide user documentation and examples covering both export and import workflows.

Key Considerations:

  • Address compatibility between candy’s Go-based model definitions and ONNX’s schema (opset coverage, tensor types, etc.).
  • Test interoperation with widely-used ONNX runtimes (e.g., onnxruntime, PyTorch, TensorFlow).
  • Prioritize export/import for most used operator types and extend support iteratively.

Next Steps:

  • Survey ONNX APIs, ecosystem bindings for Go (cgo or pure Go wrappers), and relevant serialization libraries.
  • Prototype candy-to-onnx and onnx-to-candy translation for simple models.
  • Document limitations and open questions related to specific operators or advanced features.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions