/dagshub-client

DAGsHub client libraries

Primary LanguagePythonMIT LicenseMIT



Discord Tests pypi Updates License

DagsHub Python client libraries

Use DagsHub to create reproducible versions of your data science research project, allow others to understand your project, and to contribute back to it.

DagsHub is built firmly around open, standard formats for your project. In particular:

  • git
  • DVC
  • Standard data formats like YAML, JSON, CSV

Therefore, you can work with DagsHub regardless of your chosen programming language or frameworks.

This client library is meant to help you get started quickly in Python, but it's purely optional - the data formats are very simple and you can choose to work with them directly.

Installation

pip install dagshub

Guide

You can learn more by completing our short tutorial or reading the docs

Basic Usage

from dagshub import dagshub_logger, DAGsHubLogger

# As a context manager:
with dagshub_logger() as logger:
    # Metrics:
    logger.log_metrics(loss=3.14, step_num=1)
    # OR:
    logger.log_metrics({'val_loss': 6.28}, step_num=2)
    
    # Hyperparameters:
    logger.log_hyperparams(lr=1e-4)
    # OR:
    logger.log_hyperparams({'optimizer': 'sgd'})
    

# As a normal Python object:
logger = DAGsHubLogger()
logger.log_hyperparams(num_layers=32)
logger.log_metrics(batches_per_second=100, step_num=42)
# ...
logger.save()
logger.close()

Integrations with ML frameworks

The basic DagsHub logger is just plain Python, and requires no specific framework.

However, for convenience, we include some integrations with common ML frameworks, which can just work right out of the box, without having to write any logging code on your own:


Made with 🐶 by DagsHub.