feat: added carboncode for full pipeline with logging#173
feat: added carboncode for full pipeline with logging#173Darinochka wants to merge 3 commits intodevfrom
Conversation
| if tracker is not None: | ||
| emissions_data = tracker.stop_task() | ||
| emissions_data_dict = json.loads(emissions_data.toJSON()) | ||
| context.callback_handler.log_emissions(emissions_data_dict) |
There was a problem hiding this comment.
как-то нелогинчо получается, в end_run придется делать wandb.init и завершать таску + передавать условие-аргумент track_emissions и emissions_data
There was a problem hiding this comment.
Можно просто залогировать там дополнительно, без создания отдельного рана
There was a problem hiding this comment.
возможно действительно стоит как-то обойтись имеющимися методами у колбеков, а то интерфейсы нагружаются
| self.wandb.init( | ||
| project=self.project_name, | ||
| group=self.group, | ||
| name="emissions", | ||
| config=emissions_data, | ||
| settings=self.wandb.Settings(x_stats_sampling_interval=self.log_interval_time), | ||
| ) | ||
|
|
||
| self.wandb.log(emissions_data) | ||
| self.wandb.finish() |
There was a problem hiding this comment.
я посмотрел wandb логи которые ты прикрепила, мне кажется надо бы как-то отделить эти логи в отдельную подгруппу, чтобы они не смешивались с основными логами
| tracker = None | ||
| if context.logging_config.track_emissions: | ||
| tracker = OfflineEmissionsTracker( | ||
| country_iso_code=context.logging_config.country_iso_code or "USA", |
There was a problem hiding this comment.
Мб просто на EmissionTracker с интернетом?
|
предложение: передавать emissions в log_final_metrics и распределять их по разным группам чартов |
|
Мб еще каждый ран логировать тоже, чтобы смотреть что самое ресурсоемкое? Думаю будет интересно посомотреть |
я пробовала так сделать, но оказалось что у нас ран создается только в objective при подчсете метрик (может я чего не поняла). как будто время обучения (если оно есть, иначе просто функция .fit) не логируется. это не так? |
|
т.е логируется только эта часть context.callback_handler.start_module(module_name=module_name, num=self._counter, module_kwargs=config)
self._logger.debug("Scoring %s module...", module_name)
all_metrics = module.score(context, metrics=self.metrics)
target_metric = all_metrics[self.target_metric]
context.callback_handler.log_metrics(all_metrics)
context.callback_handler.end_module()поэтому я подумала как будто логировать весь пайплайн лучше, больше функций будут захвачены |
https://wandb.ai/darinka/autointent/groups/test_code_carbon_2/workspace?nw=nwuserdarinka - пример запуска