Одновременное тестирование нескольких моделей Pytorch на одном графическом процессоре медленнее, чем итеративный подход.Python

Программы на Python
Anonymous
Одновременное тестирование нескольких моделей Pytorch на одном графическом процессоре медленнее, чем итеративный подход.

Сообщение Anonymous »

Я хочу протестировать несколько моделей на разных наборах данных. Я хочу, чтобы они работали одновременно на одном графическом процессоре.

Общий код программы приведен ниже. Вы сможете запустить это с любой фиктивной моделью или набором данных.
Однако я заметил, что это часто на 20% медленнее, чем просто использование итеративного подхода. Что не так с моим текущим решением?
def test_model(paths):
model = Model(path to config)
data = DataLoader(*Dataset(path to data)
trainer = PyTorchLightning Trainer(config)

def main():
with ProcessPoolExecutor(max_workers=args.max_processes) as executor:
futures = {executor.submit(test_model, paths): (paths) for path in paths_to models_to_test}
for future in as_completed(futures):
try:
results_from_run = future.result()
full_results_df = pd.concat([full_results_df, results_from_run], ignore_index=True)
except Exception as e:
print(f"An error occurred while processing {futures[future]}: {e}")


Подробнее здесь: https://stackoverflow.com/questions/786 ... terative-a

Вернуться в «Python»