.. _api: CodeCarbon API ============== CodeCarbon API ~~~~~~~~~~~~~~~~~~~~~~~~ .. warning:: This mode use the CodeCarbon API to upload the timeseries of your emissions on a central server. All data will be public! Before using it, you need an experiment_id, to get one, run: .. code-block:: console codecarbon init It will create an experiment_id for the default project and save it to ``codecarbon.config`` Then you can tell CodeCarbon to monitor your machine: .. code-block:: console codecarbon monitor Or use the API in your code: .. code-block:: python from codecarbon import track_emissions @track_emissions(save_to_api=True) def train_model(): # GPU intensive training code goes here if __name__ =="__main__": train_model() More options could be specified in ``@track_emissions`` or in ``.codecarbon.config`` The `CodeCarbon dashboard `_ use `CodeCarbon API `_ to get the data The API do not have a nice web interface to create your own organization and project, you have to use `OpenAPI interface `_ for that. And so on for your team, project and experiment. You then have to set you experiment id in CodeCarbon, with two options: In the code: .. code-block:: python from codecarbon import track_emissions @track_emissions( measure_power_secs=30, api_call_interval=4, experiment_id="your experiment id", save_to_api=True, ) def train_model(): ... Or in the config file `.codecarbon.config`: .. code-block:: ini [codecarbon] experiment_id = your experiment id save_to_api = true