Giter Club home page Giter Club logo

clearml's Introduction

Clear|MLClear|ML

ClearML - Auto-Magical Suite of tools to streamline your ML workflow
Experiment Manager, MLOps and Data-Management

GitHub license PyPI pyversions PyPI version shields.io Conda version shields.io Optuna
PyPI Downloads Artifact Hub Youtube Slack Channel Signup


ClearML

Formerly known as Allegro Trains

ClearML is a ML/DL development and production suite, it contains FOUR main modules:

  • Experiment Manager - Automagical experiment tracking, environments and results
  • MLOps - Orchestration, Automation & Pipelines solution for ML/DL jobs (K8s / Cloud / bare-metal)
  • Data-Management - Fully differentiable data management & version control solution on top of object-storage (S3 / GS / Azure / NAS)
  • NEW ๐Ÿ”ฅ Model-Serving ๐ŸŽ‰ - cloud-ready Scalable model serving solution!
    โœจ Deploy new model endpoints in under 5 minutes โœจ
    ๐Ÿ’ช includes optimized GPU serving support backed by Nvidia-Triton ๐Ÿฆพ
    ๐Ÿ“Š with out-of-the-box Model Monitoring ๐Ÿ˜ฑ

Instrumenting these components is the ClearML-server, see Self-Hosting & Free tier Hosting


Sign up & Start using in under 2 minutes


ClearML Experiment Manager

Adding only 2 lines to your code gets you the following

  • Complete experiment setup log
    • Full source control info including non-committed local changes
    • Execution environment (including specific packages & versions)
    • Hyper-parameters
      • ArgParser/Click for command line parameters with currently used values
      • Explicit parameters dictionary
      • Tensorflow Defines (absl-py)
      • Hydra configuration and overrides
    • Initial model weights file
  • Full experiment output automatic capture
    • stdout and stderr
    • Resource Monitoring (CPU/GPU utilization, temperature, IO, network, etc.)
    • Model snapshots (With optional automatic upload to central storage: Shared folder, S3, GS, Azure, Http)
    • Artifacts log & store (Shared folder, S3, GS, Azure, Http)
    • Tensorboard/TensorboardX scalars, metrics, histograms, images, audio and video samples
    • Matplotlib & Seaborn
    • ClearML Logger interface for complete flexibility.
  • Extensive platform support and integrations
  1. Sign up for free to the ClearML Hosted Service (alternatively, you can set up your own server, see here).

    ClearML Demo Server: ClearML no longer uses the demo server by default. To enable the demo server, set the CLEARML_NO_DEFAULT_SERVER=0 environment variable. Credentials aren't needed, but experiments launched to the demo server are public, so make sure not to launch sensitive experiments if using the demo server.

  2. Install the clearml python package:

    pip install clearml
  3. Connect the ClearML SDK to the server by creating credentials, then execute the command below and follow the instructions:

    clearml-init
  4. Add two lines to your code:

    from clearml import Task
    task = Task.init(project_name='examples', task_name='hello world')

You are done, everything your process outputs is now automagically logged into ClearML.

Next step, automation! Learn more about ClearML's two-click automation here.

ClearML Architecture

The ClearML run-time components:

  • The ClearML Python Package for integrating ClearML into your existing scripts by adding just two lines of code, and optionally extending your experiments and other workflows with ClearML powerful and versatile set of classes and methods.
  • The ClearML Server storing experiment, model, and workflow data, and supporting the Web UI experiment manager, and ML-Ops automation for reproducibility and tuning. It is available as a hosted service and open source for you to deploy your own ClearML Server.
  • The ClearML Agent for ML-Ops orchestration, experiment and workflow reproducibility, and scalability.

clearml-architecture

Additional Modules

  • clearml-session - Launch remote JupyterLab / VSCode-server inside any docker, on Cloud/On-Prem machines
  • clearml-task - Run any codebase on remote machines with full remote logging of Tensorboard, Matplotlib & Console outputs
  • clearml-data - CLI for managing and versioning your datasets, including creating / uploading / downloading of data from S3/GS/Azure/NAS
  • AWS Auto-Scaler - Automatically spin EC2 instances based on your workloads with preconfigured budget! No need for K8s!
  • Hyper-Parameter Optimization - Optimize any code with black-box approach and state of the art Bayesian optimization algorithms
  • Automation Pipeline - Build pipelines based on existing experiments / jobs, supports building pipelines of pipelines!
  • Slack Integration - Report experiments progress / failure directly to Slack (fully customizable!)

Why ClearML?

ClearML is our solution to a problem we share with countless other researchers and developers in the machine learning/deep learning universe: Training production-grade deep learning models is a glorious but messy process. ClearML tracks and controls the process by associating code version control, research projects, performance metrics, and model provenance.

We designed ClearML specifically to require effortless integration so that teams can preserve their existing methods and practices.

  • Use it on a daily basis to boost collaboration and visibility in your team
  • Create a remote job from any experiment with a click of a button
  • Automate processes and create pipelines to collect your experimentation logs, outputs, and data
  • Store all you data on any object-storage solution, with the simplest interface possible
  • Make you data transparent by cataloging it all on the ClearML platform

We believe ClearML is ground-breaking. We wish to establish new standards of true seamless integration between experiment management,ML-Ops and data management.

Who We Are

ClearML is supported by the team behind clear.ml, where we build deep learning pipelines and infrastructure for enterprise companies.

We built ClearML to track and control the glorious but messy process of training production-grade deep learning models. We are committed to vigorously supporting and expanding the capabilities of ClearML.

We promise to always be backwardly compatible, making sure all your logs, data and pipelines will always upgrade with you.

License

Apache License, Version 2.0 (see the LICENSE for more information)

If ClearML is part of your development process / project / publication, please cite us โค๏ธ :

@misc{clearml,
title = {ClearML - Your entire MLOps stack in one open-source tool},
year = {2019},
note = {Software available from http://github.com/allegroai/clearml},
url={https://clear.ml/},
author = {ClearML},
}

Documentation, Community & Support

More information in the official documentation and on YouTube.

For examples and use cases, check the examples folder and corresponding documentation.

If you have any questions: post on our Slack Channel, or tag your questions on stackoverflow with 'clearml' tag (previously trains tag).

For feature requests or bug reports, please use GitHub issues.

Additionally, you can always find us at [email protected]

Contributing

PRs are always welcomed โค๏ธ See more details in the ClearML Guidelines for Contributing.

May the force (and the goddess of learning rates) be with you!

clearml's People

Contributors

adrianokf avatar ainoam avatar allegroai-git avatar andolsizied avatar cksac avatar danmalowany-allegro avatar diegopereyra99 avatar eliorc avatar erezalg avatar eugen-ajechiloae-clearml avatar eyalto avatar h4dr1en avatar hyamsg avatar jalexand3r avatar jkhenning avatar mallman avatar manojlds avatar mctigger avatar mmiller-max avatar omerm25 avatar pollfly avatar radugrosu avatar ramonemiliani93 avatar raviv avatar rizwan-hasan avatar shaked avatar thepycoder avatar tonyd avatar trellixvulnteam avatar zhouzaida avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.