gonnx

We have developed a framework for converting ONNX to MLGO, enhancing the user experience in developing OPML and optimizing the readability of Golang neural network structures.

  • 1,125 Raised
  • 601 Views
  • 1 Judges

Tags

  • Tooling

Categories

  • Ora
  • ETHTaipei Community Finalist

Gallery

Description

Introduction to Gonnx

Gonnx is a new framework that transforms ONNX into MLGO. This innovation is about making OPML development smoother and Go lang neural networks easier to read.

Github Link

Problem Statement

Bounty 3 - AI Oracle Infra

ML developers aiming to deploy their models on OPML are required to rewrite their AI models in Golang. This is done to make it easier to cross-compile these models for MIPS VMs. For experts in cryptography as well as developers crafting machine learning models, particularly those using PyTorch, transitioning to coding in Go is notably awkward. As a result, our objective is to enhance the development experience for developers working with models in Golang.

How have we achieved this propose?

First, we start by converting the PyTorch model into the ONNX format, because the ONNX format is compatible with almost all models. 

Next, we parse the model's architecture using ONNX. Within this architecture, we can clearly identify each node's opcode along with its inputs, outputs, and attributes.  

Leveraging this detailed information, we then craft the corresponding code in Go lang. This means that users can simply run a script to convert their ONNIX file into a Go-lang ML model.


Team Description

YenChiu - A master's student from the Institute of Computer Science and Engineering at NYCU. 

Attachments