Skip to main content

No project description provided

Project description

zkcook

This package is designed to provide functionality that facilitates the transition from ML algorithms to ZKML. Its two main functionalities are:

  • Serialization: saving a trained ML model in a specific format to be interpretable by other programs.

  • model-complexity-reducer (mcr): Given a model and a training dataset, transform the model and the data to obtain a lighter representation that maximizes the tradeoff between performance and complexity.

It's important to note that although the main goal is the transition from ML to ZKML, mcr can be useful in other contexts, such as:

  • The model's weight needs to be minimal, for example for mobile applications.
  • Minimal inference times are required for low latency applications.
  • We want to check if we have created an overly complex model and a simpler one would give us the same performance (or even better).
  • The number of steps required to perform the inference must be less than X (as is currently constrained by the ZKML paradigm).

Installation

Install from PyPi

For the latest release:

pip install giza-zkcook

Installing from source

Clone the repository and install it with pip:

    git clone git@github.com:gizatechxyz/zkcook.git
    cd zkcook
    pip install .

Serialization

To see in more detail how this tool works, check out this tutorial.

To run it:

from giza.zkcook import serialize_model

serialize_model(YOUR_TRAINED_MODEL, "OUTPUT_PATH/MODEL_NAME.json")

mcr

To see in more detail how this tool works, check out this tutorial.

To run it:

model, transformer = mcr(model = MY_MODEL,
                         X_train = X_train,
                         y_train = y_train,
                         X_eval = X_test,
                         y_eval = y_test,
                         eval_metric = 'rmse',
                         transform_features = True)

Supported Models

Model status
XGBRegressor
XGBClassifier
LGBMRegressor
LGBMClassifier
Logistic Regression
GARCH

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

giza_zkcook-0.2.2.tar.gz (12.7 kB view details)

Uploaded Source

Built Distribution

giza_zkcook-0.2.2-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

Details for the file giza_zkcook-0.2.2.tar.gz.

File metadata

  • Download URL: giza_zkcook-0.2.2.tar.gz
  • Upload date:
  • Size: 12.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for giza_zkcook-0.2.2.tar.gz
Algorithm Hash digest
SHA256 6c55838d0dbdbdac7b156eaf2ee016b319ea5a1de9c474ebb3a710d7541d5f6f
MD5 b499fdbccb0d004ec5c50dd5673fdb48
BLAKE2b-256 79821d80a319432ac446620baea2df7cd3f04d28c40e60fdcda9ba6ef5e9f0ab

See more details on using hashes here.

File details

Details for the file giza_zkcook-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: giza_zkcook-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 17.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for giza_zkcook-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fe079ad8795bc232db89be29664b157668d06b022cff457a2e9ed04e1fe4f3fd
MD5 1794995273678297f3c6e0ea9476a14f
BLAKE2b-256 35366e2f1243693ad2cd2bef9c1593623cc2b725e4eda3fedda4513a69c14aa3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page