Skip to main content

Tracking and predicting the carbon footprint of training deep learning models.

Project description

carbontracker

pypi Python 3.6 build License: MIT

About

carbontracker is a tool for tracking and predicting the carbon footprint of training deep learning models.

Installation

PyPi

pip install carbontracker

Basic usage

Required arguments

  • epochs: Total epochs of your training loop.

Optional arguments

  • epochs_before_pred (default=1): Epochs to monitor before outputting predicted consumption. Set to -1 for all epochs. Set to 0 for no prediction.
  • monitor_epochs (default=1): Total number of epochs to monitor. Outputs actual consumption when reached. Set to -1 for all epochs. Cannot be less than epochs_before_pred or equal to 0.
  • update_interval (default=10): Interval in seconds between power usage measurements are taken.
  • interpretable (default=True): If set to True then the CO2eq are also converted to interpretable numbers such as the equivalent distance travelled in a car, etc. Otherwise, no conversions are done.
  • stop_and_confirm (default=False): If set to True then the main thread (with your training loop) is paused after epochs_before_pred epochs to output the prediction and the user will need to confirm to continue training. Otherwise, prediction is output and training is continued instantly.
  • ignore_errors (default=False): If set to True then all errors will cause energy monitoring to be stopped and training will continue. Otherwise, training will be interrupted as with regular errors.
  • components (default="all"): Comma-separated string of which components to monitor. Options are: "all", "gpu", "cpu", or "gpu,cpu".
  • log_dir (default=None): Path to the desired directory to write log files. If None, then no logging will be done.
  • verbose (default=0): Sets the level of verbosity.

Example usage

from carbontracker.tracker import CarbonTracker

tracker = CarbonTracker(epochs=max_epochs)

# Training loop.
for epoch in range(max_epochs):
    tracker.epoch_start()

    # Your model training.

    tracker.epoch_end()

Example output

Default settings
CarbonTracker: 
Actual consumption for 1 epoch(s):
        Time:   0:00:10.342436
        Energy: 0.000038 kWh
        CO2eq:  0.003130 g
        This is equivalent to:
        0.000026 km travelled by car
CarbonTracker: 
Predicted consumption for 1000 epoch(s):
        Time:   2:52:22.436314
        Energy: 0.038168 kWh
        CO2eq:  4.096665 g
        This is equivalent to:
        0.034025 km travelled by car
CarbonTracker: Finished monitoring.
verbose=2
CarbonTracker: The following components were found: CPU with device(s) cpu:0.
CarbonTracker: Current carbon intensity is 82.00 gCO2/kWh at detected location: Copenhagen, Capital Region, DK.
CarbonTracker: 
Actual consumption for 1 epoch(s):
        Time:   0:00:10.746723
        Energy: 0.000041 kWh
        CO2eq:  0.003357 g
        This is equivalent to:
        0.000028 km travelled by car
CarbonTracker: Carbon intensity for the next 2:59:06.722937 is predicted to be 107.49 gCO2/kWh at detected location: Copenhagen, Capital Region, DK.
CarbonTracker: 
Predicted consumption for 1000 epoch(s):
        Time:   2:59:06.722937
        Energy: 0.040940 kWh
        CO2eq:  4.400445 g
        This is equivalent to:
        0.036549 km travelled by car
CarbonTracker: Finished monitoring.

Compatability

CarbonTracker is compatible with:

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

carbontracker-1.0.6.tar.gz (13.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

carbontracker-1.0.6-py3-none-any.whl (19.5 kB view details)

Uploaded Python 3

File details

Details for the file carbontracker-1.0.6.tar.gz.

File metadata

  • Download URL: carbontracker-1.0.6.tar.gz
  • Upload date:
  • Size: 13.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.23.0 setuptools/39.1.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.5

File hashes

Hashes for carbontracker-1.0.6.tar.gz
Algorithm Hash digest
SHA256 5538d69bef97f7dc718bbf59eddefaefaeb4e40dda026009956c6eb15c7c9fa0
MD5 0fe97ad0109f4cfbb578b6ed722f8380
BLAKE2b-256 6fb834cfb0ef9d3053da216129890f68a9c0231c8e97bc5fe099b06d18e80aac

See more details on using hashes here.

File details

Details for the file carbontracker-1.0.6-py3-none-any.whl.

File metadata

  • Download URL: carbontracker-1.0.6-py3-none-any.whl
  • Upload date:
  • Size: 19.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.23.0 setuptools/39.1.0 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.5

File hashes

Hashes for carbontracker-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 bcb8117dc36aead3c0e1e7ffb0ac1cf501a431fa511144fa84f4088710417cb6
MD5 bfa0f1b0eeafc7e3727fcd450429f0a8
BLAKE2b-256 12c177554e166239afbe48e278e77970a4b112dc648a2c6a30260f4e421c1505

See more details on using hashes here.

Supported by

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