All Projects → noronha-dataops → noronha

noronha-dataops / noronha

Licence: Apache-2.0 License
DataOps framework for Machine Learning projects.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to noronha

datatile
A library for managing, validating, summarizing, and visualizing data.
Stars: ✭ 419 (+791.49%)
Mutual labels:  dataops, mlops
beneath
Beneath is a serverless real-time data platform ⚡️
Stars: ✭ 65 (+38.3%)
Mutual labels:  dataops, mlops
cli
Polyaxon Core Client & CLI to streamline MLOps
Stars: ✭ 18 (-61.7%)
Mutual labels:  dataops, mlops
ml-from-scratch
All content related to machine learning from my blog
Stars: ✭ 110 (+134.04%)
Mutual labels:  mlops
deepchecks
Test Suites for Validating ML Models & Data. Deepchecks is a Python package for comprehensively validating your machine learning models and data with minimal effort.
Stars: ✭ 1,595 (+3293.62%)
Mutual labels:  mlops
MLOps
MLOps template with examples for Data pipelines, ML workflow management, API development and Monitoring.
Stars: ✭ 28 (-40.43%)
Mutual labels:  mlops
polystores
A library for performing hyperparameter optimization
Stars: ✭ 48 (+2.13%)
Mutual labels:  mlops
MLOps-Specialization-Notes
Notes for Machine Learning Engineering for Production (MLOps) Specialization course by DeepLearning.AI & Andrew Ng
Stars: ✭ 143 (+204.26%)
Mutual labels:  mlops
docker-containers
Docker images for fastai
Stars: ✭ 143 (+204.26%)
Mutual labels:  mlops
data-science-best-practices
The goal of this repository is to enable data scientists and ML engineers to develop data science use cases and making it ready for production use. This means focusing on the versioning, scalability, monitoring and engineering of the solution.
Stars: ✭ 53 (+12.77%)
Mutual labels:  mlops
serving-tensorflow-models
Serving TensorFlow models with TensorFlow Serving 📙
Stars: ✭ 41 (-12.77%)
Mutual labels:  mlops
lenses-go
Lenses.io CLI (command-line interface)
Stars: ✭ 34 (-27.66%)
Mutual labels:  dataops
rivery cli
Rivery CLI
Stars: ✭ 16 (-65.96%)
Mutual labels:  dataops
flytekit
Extensible Python SDK for developing Flyte tasks and workflows. Simple to get started and learn and highly extensible.
Stars: ✭ 82 (+74.47%)
Mutual labels:  mlops
vulkn
Love your Data. Love the Environment. Love VULKИ.
Stars: ✭ 43 (-8.51%)
Mutual labels:  dataops
combinator
Combinator.ml's central repo, documentation and website
Stars: ✭ 24 (-48.94%)
Mutual labels:  mlops
e2eml-cookiecutter
A generic template for building end-to-end machine learning projects
Stars: ✭ 26 (-44.68%)
Mutual labels:  mlops
whylogs-examples
A collection of WhyLogs examples in various languages
Stars: ✭ 42 (-10.64%)
Mutual labels:  mlops
aml-workspace
GitHub Action that allows you to create or connect to your Azure Machine Learning Workspace.
Stars: ✭ 22 (-53.19%)
Mutual labels:  mlops
amazon-sagemaker-model-serving-using-aws-cdk
This repository provides AI/ML service(MachineLearning model serving) modernization solution using Amazon SageMaker, AWS CDK, and AWS Serverless services.
Stars: ✭ 23 (-51.06%)
Mutual labels:  mlops

Noronha DataOps

noronha logo

Noronha is a Python framework designed to help you orchestrate and manage ML projects life-cycle.

It hosts Machine Learning models inside a portable, ready-to-use DataOps architecture, thus helping you benefit from DataOps and MLOps practices without having to change much of your usual work behavior.

The architecture consists of three components:

  • File storage: Artifactory, Nexus, Apache Cassandra
    • A raw storage of your choice is used to version ML assets, such as notebooks, datasets and model binaries. Noronha currently supports Artifactory (default) and Nexus for this task, while Apache Cassandra can be used only as model binary storage.
  • Metadata storage: MongoDB
    • Mongo document design is used to guide the framework while managing your ML project, therefore it cannot be swapped with other technologies.
  • Model router: NodeJS (optional)
    • A router can be set up to act as a single entrypoint for all your models. This is especially useful when deploying in Kubernetes, where service exposure comes into play.

These components are internally called isles, they can be used in native mode (managed by Noronha) or foreign mode (managed by user).

Prerequisites

To use the framework in its most basic configuration all you need is:

Getting started

pip install noronha-dataops
nha --debug --pretty get-me-started

After installing the framework, the command-line option noronha or nha becomes available. Every command has the --help option, use it constantly.

The get-me-started option will set up Artifactory and MongoDB instances in native mode.

--debug and --pretty help debugging and reading error messages. Use their short version instead: nha -d -p

3) Basic usage

Once you have successfully installed Noronha, start with the simplest project structure:

project_home:
+-- Dockerfile
+-- requirements.txt
+-- notebooks/
    +-- training.ipynb
    +-- predict.ipynb

This is what the Dockerfile may look like:

# default public base image for working inside Noronha
FROM noronhadataops/noronha:latest

# project dependencies installation
ADD requirements.txt .
RUN bash -c "source ${CONDA_HOME}/bin/activate ${CONDA_VENV}  && \
    conda install --file requirements.txt"

# deploying the project's code
ADD notebooks ./notebooks

From your project home folder, record it in Noronha and build a new image:

nha -d -p proj new --name my-first-proj --desc "Testing project" --home-dir .
nha -d -p proj build --tag develop

Then, run Jupyter Notebook interface for editing and testing code:

nha -d -p note --edit --tag develop --port 9090

--edit will mount your current directory into the container. This is useful if you want to edit code, test it and save it in the local machine (remember to be in the right directory when using this option).

--port host port that will be routed to the notebook's UI

Go to your browser and enter: http://localhost:9090/

Next steps

For fully-working project template and end-to-end tutorial, see the iris example.

For more information about Noronha and advanced usage of the framework, check readthedocs.

If you want to know how to run in Kubernetes, check this guide.

Report issues and request features

If you run into any problem or feel like there is some funcionality that should be added, please consider submiting an issue.

We also monitor Stack Overflow questions that use the tag: #noronha-dataops.

If you like mailing lists, here is our Google Groups: [email protected].

Contributing

Please read our contributing guide.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].