Skip to content

LandauRaz/Simple-Cairo-Network-example

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Simple Cairo Network Example

This is a simple Machine Learning graph writing in Cairo for verifiable inference.

Prerequisites

Ensure you have the following installed:

ML model graph

Here is a visual representation of the ML model graph: Model graph

Repo structure

The repository is organized as follows:

Generating Traces and Memory Files (in proof mode)

To generate the traces and memory files, follow these steps:

Compile Cairo Programs

Navigate to each program directory and compile:

cd model/cairo_programs/node0
scarb build
cd model/cairo_programs/node1
scarb build

Run the Cairo VM

From the root of the repository, execute:

cargo run

Find The Trace Files

The trace and memory files are generated in the vm_result directory.

Recursive Proving Plan (Entirely Offchain)

We have chosen to represent each node of the network (Gemm and Relu operations) by separate Cairo programs. As the idea is to reduce the computational complexity of a Cairo program into small programs, and to prove all the nodes of the graph in parallel. Then we want to use recursive proving to merge the proofs and assert that the output of a node is equal to the input of the correlated node.

Below is a diagram illustrating this concept: Recursive Schema

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Cairo 63.9%
  • Rust 36.1%