Tools for Optuna, MLflow and the integration of both.

Overview

HPOflow - Sphinx DOC

DOC MIT License Contributor Covenant Python Version pypi
pytest status Static Code Checks status Build & Deploy Doc GitHub issues

Tools for Optuna, MLflow and the integration of both.

Detailed documentation with examples can be found here: Sphinx DOC

Table of Contents

Maintainers

One Conversation
This project is maintained by the One Conversation team of Deutsche Telekom AG.

The main components are:

Installation

HPOflow is available at the Python Package Index (PyPI). It can be installed with pip:

$ pip install hpoflow

Some additional dependencies might be necessary.

To use hpoflow.optuna_mlflow.OptunaMLflow:

$ pip install mlflow GitPython

To use hpoflow.optuna_transformers.OptunaMLflowCallback:

$ pip install mlflow GitPython transformers

To install all optional dependencies use:

$ pip install hpoflow[optional]

Support and Feedback

The following channels are available for discussions, feedback, and support requests:

Reporting Security Vulnerabilities

This project is built with security and data privacy in mind to ensure your data is safe. We are grateful for security researchers and users reporting a vulnerability to us, first. To ensure that your request is handled in a timely manner and non-disclosure of vulnerabilities can be assured, please follow the below guideline.

Please do not report security vulnerabilities directly on GitHub. GitHub Issues can be publicly seen and therefore would result in a direct disclosure.

Please address questions about data privacy, security concepts, and other media requests to the [email protected] mailbox.

Contribution

Our commitment to open source means that we are enabling - in fact encouraging - all interested parties to contribute and become part of our developer community.

Contribution and feedback is encouraged and always welcome. For more information about how to contribute, as well as additional contribution information, see our Contribution Guidelines.

Code of Conduct

This project has adopted the Contributor Covenant as our code of conduct. Please see the details in our Contributor Covenant Code of Conduct. All contributors must abide by the code of conduct.

Licensing

Copyright (c) 2021 Philip May, Deutsche Telekom AG
Copyright (c) 2021 Philip May
Copyright (c) 2021 Timothy Wolff-Piggott

Licensed under the MIT License (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License by reviewing the file LICENSE in the repository.

Comments
  • review README.md and CONTRIBUTING.md

    review README.md and CONTRIBUTING.md

    Review README.md and CONTRIBUTING.md

    • is there something missing? maybe compare with optuna and transformers
    • spelling
    • idiomatic english
    • consistency
    • correctness
    • links ok?
    • ...

    PS: The real documentation is still missing and a know issue.

    opened by PhilipMay 12
  • add typing in optuna_transformers

    add typing in optuna_transformers

    @twolffpiggott can you please tell me the type of this?

    https://github.com/telekom/HPOflow/blob/e2b0943218af419a79ce95e60b67c9a4c2477349/hpoflow/optuna_transformers.py#L47

    opened by PhilipMay 6
  • add `transformers.py`

    add `transformers.py`

    @twolffpiggott should we add this here or to an other project we open source?

    https://github.com/PhilipMay/mltb/blob/master/mltb/integration/transformers.py

    enhancement 
    opened by PhilipMay 6
  • Create Sphinx documentation page

    Create Sphinx documentation page

    • [x] setup
    • [x] make GH action
    • [x] setup page
    • [x] change styling to telekom style
    • switch to MD
    • [x] add more content
    • [x] link from README to page
    • [x] link from pypi to GH page
    • [x] add impressum
    • [x] remove strange mouse over image effect
    • add version info
    documentation 
    opened by PhilipMay 4
  • Problems with direct `_imports.check()` call

    Problems with direct `_imports.check()` call

    When the __init__.py imports OMLflowCallback the optuna_transformers.py script is executed. That executes the _imports.check() call which then throws an exception if transformers or mlflow is not installed. But that should be avoided.

    See here: https://github.com/telekom/HPOflow/blob/d1cce5cbc2a84634d1484a053286000dda05b681/hpoflow/optuna_transformers.py#L11-L17

    The solution would be to put the _imports.check() call into the constructor. But that is not possible because OMLflowCallback inherits from transformers.

    The only solution I have is to put OMLflowCallback into an factory function that creates an OMLflowCallback and does the _imports.check() in there.

    @twolffpiggott what do you think?

    bug 
    opened by PhilipMay 3
  • Flake8 ignore list for Black compatibility

    Flake8 ignore list for Black compatibility

    Flake8 raises a warning for "E203" when it encounters a Black decision to insert whitespace before : in slicing syntax.

    Black's behaviour is more correct here, so my suggestion is to add "E203" to the flake8 config ignore list.

    i.e. in setup.cfg:

    [flake8]
    ...
    extend-ignore = E203
    opened by twolffpiggott 3
  • Simple Example?

    Simple Example?

    I don't understand how to use this package. Could you provide a basic example? I don't understand the import_structure and how it relates to importing the modules? Thanks

    opened by jmrichardson 2
  • WIP prefix in contrib file

    WIP prefix in contrib file

    Should this

    Create Work In Progress [WIP] pull requests only if you need clarification or an explicit review before you can continue your work item.

    be more like this

    Add a [WIP] prefix on your pull request name if you need clarification or an explicit review before you can continue your work item.

    documentation 
    opened by PhilipMay 2
Releases(0.1.4)
Owner
Telekom Open Source Software
published by Deutsche Telekom AG and partner companies
Telekom Open Source Software
XGBoost + Optuna

AutoXGB XGBoost + Optuna: no brainer auto train xgboost directly from CSV files auto tune xgboost using optuna auto serve best xgboot model using fast

abhishek thakur 517 Dec 31, 2022
LightGBM + Optuna: no brainer

AutoLGBM LightGBM + Optuna: no brainer auto train lightgbm directly from CSV files auto tune lightgbm using optuna auto serve best lightgbm model usin

Rishiraj Acharya 22 Dec 15, 2022
In this Repo a simple Sklearn Model will be trained and pushed to MLFlow

SKlearn_to_MLFLow In this Repo a simple Sklearn Model will be trained and pushed to MLFlow Install This Repo is based on poetry python3 -m venv .venv

null 1 Dec 13, 2021
MLFlow in a Dockercontainer based on Azurite and Postgres

mlflow-azurite-postgres docker This is a MLFLow image which works with a postgres DB and a local Azure Blob Storage Instance (Azurite). This image is

null 2 May 29, 2022
Combines MLflow with a database (PostgreSQL) and a reverse proxy (NGINX) into a multi-container Docker application

Combines MLflow with a database (PostgreSQL) and a reverse proxy (NGINX) into a multi-container Docker application (with docker-compose).

Philip May 2 Dec 3, 2021
MLflow App Using React, Hooks, RabbitMQ, FastAPI Server, Celery, Microservices

Katana ML Skipper This is a simple and flexible ML workflow engine. It helps to orchestrate events across a set of microservices and create executable

Tom Xu 8 Nov 17, 2022
LILLIE: Information Extraction and Database Integration Using Linguistics and Learning-Based Algorithms

LILLIE: Information Extraction and Database Integration Using Linguistics and Learning-Based Algorithms Based on the work by Smith et al. (2021) Query

null 5 Aug 6, 2022
CD) in machine learning projectsImplementing continuous integration & delivery (CI/CD) in machine learning projects

CML with cloud compute This repository contains a sample project using CML with Terraform (via the cml-runner function) to launch an AWS EC2 instance

Iterative 19 Oct 3, 2022
A Tools that help Data Scientists and ML engineers train and deploy ML models.

Domino Research This repo contains projects under active development by the Domino R&D team. We build tools that help Data Scientists and ML engineers

Domino Data Lab 73 Oct 17, 2022
Microsoft contributing libraries, tools, recipes, sample codes and workshop contents for machine learning & deep learning.

Microsoft contributing libraries, tools, recipes, sample codes and workshop contents for machine learning & deep learning.

Microsoft 366 Jan 3, 2023
A collection of Scikit-Learn compatible time series transformers and tools.

tsfeast A collection of Scikit-Learn compatible time series transformers and tools. Installation Create a virtual environment and install: From PyPi p

Chris Santiago 0 Mar 30, 2022
ClearML - Auto-Magical Suite of tools to streamline your ML workflow. Experiment Manager, MLOps and Data-Management

ClearML - Auto-Magical Suite of tools to streamline your ML workflow Experiment Manager, MLOps and Data-Management ClearML Formerly known as Allegro T

ClearML 4k Jan 9, 2023
Model Validation Toolkit is a collection of tools to assist with validating machine learning models prior to deploying them to production and monitoring them after deployment to production.

Model Validation Toolkit is a collection of tools to assist with validating machine learning models prior to deploying them to production and monitoring them after deployment to production.

FINRA 25 Dec 28, 2022
A single Python file with some tools for visualizing machine learning in the terminal.

Machine Learning Visualization Tools A single Python file with some tools for visualizing machine learning in the terminal. This demo is composed of t

Bram Wasti 35 Dec 29, 2022
πŸ”¬ A curated list of awesome machine learning strategies & tools in financial market.

?? A curated list of awesome machine learning strategies & tools in financial market.

GeorgeZou 1.6k Dec 30, 2022
Covid-polygraph - a set of Machine Learning-driven fact-checking tools

Covid-polygraph, a set of Machine Learning-driven fact-checking tools that aim to address the issue of misleading information related to COVID-19.

null 1 Apr 22, 2022
Tools for mathematical optimization region

Tools for mathematical optimization region

ζž—ζ™― 15 Nov 30, 2022
Toolss - Automatic installer of hacking tools (ONLY FOR TERMUKS!)

Tools АвтоматичСский установщик хакСрских ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ (Π’ΠžΠ›Π¬ΠšΠž Π”Π›Π― Π’Π•Π ΠœΠ£ΠšΠ‘!) ΠžΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒ

null 14 Jan 5, 2023
High performance, easy-to-use, and scalable machine learning (ML) package, including linear model (LR), factorization machines (FM), and field-aware factorization machines (FFM) for Python and CLI interface.

What is xLearn? xLearn is a high performance, easy-to-use, and scalable machine learning package that contains linear model (LR), factorization machin

Chao Ma 3k Jan 8, 2023