Accelerate documentation
Rastreadores de experimentos
Rastreadores de experimentos
GeneralTracker
A classe base Tracker a ser usada em todas as implementações de integração de registro de logs.
Cada função deve receber **kwargs que serão automaticamente passados a partir de um dicionário base fornecido para Accelerator.
Deve implementar as propriedades name, requires_logging_directory e tracker de modo que:
name (str): Representação em string do nome da classe do tracker, como “TensorBoard” requires_logging_directory (bool): Se o logger requer um diretório para armazenar seus logs. tracker (object): Deve retornar o mecanismo de rastreamento interno usado por uma classe de tracker (como o run para wandb)
As implementações também podem incluir um atributo main_process_only (bool) para alternar se o registro relevante, a inicialização e outras funções devem ocorrer no processo principal ou em todos os processos (por padrão, usa True)
Deve executar quaisquer funções de finalização dentro da API de rastreamento. Se a API não deve ter uma, basta não sobrescrever esse método.
log
< source >( values: dictstep: int | None = None**kwargs )
Registra os values na execução atual. As implementações base de log de uma API de rastreamento devem estar aqui, juntamente com o comportamento especial para o parâmetro `step`.
Inicialização preguiçosa do tracker dentro de Accelerator para evitar a inicialização de PartialState antes de InitProcessGroupKwargs.
store_init_configuration
< source >( values: dict )
Registra os values como hiperparâmetros para a execução. As implementações devem usar a funcionalidade de configuração de experimentos de uma API de rastreamento.
register_tracker_class
accelerate.tracking.register_tracker_class
< source >( tracker_class: type )
Parâmetros
- tracker_class (subclasse de
GeneralTracker) — A classe de tracker a ser registrada. Ela deve ser uma subclasse deGeneralTrackere definir um atributo de classenamenão vazio e um atributo de classerequires_logging_directory. A classe é instanciada com oproject_namepassado paraAccelerator.init_trackers()como o primeiro argumento posicional. Quandorequires_logging_directoryéTrue, o diretório de log é passado como o segundo argumento posicional (correspondendo à convenção do tracker embutido). Os argumentos de palavra-chave específicos do tracker deinit_kwargssão encaminhados como**kwargs.
Registra um subclasse personalizado de GeneralTracker para que ele possa ser referenciado pelo seu name no argumento log_with de Accelerator, da mesma forma que os rastreadores integrados.
O tracker deve ser registrado antes de instanciar o Accelerator que o utiliza.
Exemplo:
from accelerate import Accelerator
from accelerate.tracking import GeneralTracker, register_tracker_class
class MyTracker(GeneralTracker):
name = "my_tracker"
requires_logging_directory = False
# ... implement the rest of the `GeneralTracker` interface
register_tracker_class(MyTracker)
accelerator = Accelerator(log_with="my_tracker")TensorBoardTracker
classe accelerate.tracking.TensorBoardTracker
< source >( run_name: strlogging_dir: str | os.PathLike**kwargs )
Parâmetros
Uma classe Tracker que suporta tensorboard. Deve ser inicializada no início do seu script.
WandBTracker
classe accelerate.tracking.WandBTracker
< source >( run_name: str**kwargs )
Uma classe Tracker que suporta wandb. Deve ser inicializada no início do seu script.
Trackio
classe accelerate.tracking.TrackioTracker
< source >( run_name: str**kwargs )
Parâmetros
- run_name (
str) — O nome da execução do experimento. Será usado como o nome doprojectao instanciar o trackio. - **kwargs (argumentos de palavra-chave adicionais, opcional) —
Argumentos de palavra-chave adicionais passados ao método
trackio.init. Consulte este init para ver todos os argumentos de palavra-chave suportados.
Uma classe Tracker que suporta trackio. Deve ser inicializada no início do seu script.
CometMLTracker
classe accelerate.tracking.CometMLTracker
< source >( run_name: str**kwargs )
Parâmetros
- run_name (
str) — O nome da execução do experimento. - **kwargs (argumentos de palavra-chave adicionais, opcional) —
Argumentos de palavra-chave adicionais passados ao método
comet_ml.start: https://www.comet.com/docs/v2/api-and-sdk/python-sdk/reference/start/
Uma classe Tracker que suporta comet_ml. Deve ser inicializada no início do seu script.
As chaves de API devem ser armazenadas em um arquivo de configuração do Comet.
Nota:
Para versões < 3.41.0 do comet_ml, argumentos de palavra-chave adicionais são passados para comet_ml.Experiment em vez disso: https://www.comet.com/docs/v2/api-and-sdk/python-sdk/reference/Experiment/#comet_ml.Experiment.__init__
AimTracker
classe accelerate.tracking.AimTracker
< source >( run_name: strlogging_dir: str | os.PathLike | None = '.'**kwargs )
Uma classe Tracker que suporta aim. Deve ser inicializada no início do seu script.
MLflowTracker
classe accelerate.tracking.MLflowTracker
< source >( experiment_name: str | None = Nonelogging_dir: str | os.PathLike | None = Nonerun_id: str | None = Nonetags: dict[str, typing.Any] | str | None = Nonenested_run: bool | None = Falserun_name: str | None = Nonedescription: str | None = None )
Parâmetros
- experiment_name (
str, opcional) — Nome do experimento. A variável de ambiente MLFLOW_EXPERIMENT_NAME tem prioridade sobre este argumento. - logging_dir (
strouos.PathLike, padrão".") — Local onde os logs do mlflow serão armazenados. - run_id (
str, opcional) — Se especificado, obtém a execução com o UUID especificado e registra parâmetros e métricas sob essa execução. O horário de término da execução fica não definido e seu status é definido como em execução, mas os outros atributos da execução (source_version, source_type, etc.) não são alterados. A variável de ambiente MLFLOW_RUN_ID tem prioridade sobre este argumento. - tags (
Dict[str, str], opcional) — Umdictopcional de chaves e valoresstr, ou um despejostrde umdict, para definir como tags na execução. Se uma execução estiver sendo retomada, essas tags são definidas na execução retomada. Se uma nova execução estiver sendo criada, essas tags são definidas na nova execução. A variável de ambiente MLFLOW_TAGS tem prioridade sobre este argumento. - nested_run (
bool, opcional, padrãoFalse) — Controla se a execução é aninhada na execução pai. True cria uma execução aninhada. A variável de ambiente MLFLOW_NESTED_RUN tem prioridade sobre este argumento. - run_name (
str, opcional) — Nome da nova execução (armazenado como uma tag mlflow.runName). Usado apenas quandorun_idnão é especificado. - description (
str, opcional) — Uma string opcional que preenche a caixa de descrição da execução. Se uma execução estiver sendo retomada, a descrição é definida na execução retomada. Se uma nova execução estiver sendo criada, a descrição é definida na nova execução.
Uma classe Tracker que oferece suporte a mlflow. Deve ser inicializada no início do seu script.
__init__
< source >( experiment_name: str | None = Nonelogging_dir: str | os.PathLike | None = Nonerun_id: str | None = Nonetags: dict[str, typing.Any] | str | None = Nonenested_run: bool | None = Falserun_name: str | None = Nonedescription: str | None = None )
ClearMLTracker
classe accelerate.tracking.ClearMLTracker
< source >( run_name: str | None = None**kwargs )
Uma classe Tracker que suporta clearml. Deve ser inicializada no início do seu script.
SwanLabTracker
classe accelerate.tracking.SwanLabTracker
< source >( run_name: str**kwargs )
Uma classe Tracker que suporta swanlab. Deve ser inicializada no início do seu script.