Должен ли я запустить отдельный поток, чтобы сохранить модель в Pytorch - PullRequest
0 голосов
/ 01 декабря 2018

Рассмотрим следующий фрагмент из Пример PyTorch Imagenet (обратите внимание на " # ОБЛАСТЬ ИНТЕРЕСА "):

try:
for epoch in range(1, args.epochs+1):
    epoch_start_time = time.time()
    train()
    val_loss = evaluate(val_data)
    # Save the model if the validation loss is the best we've seen so far.
    if not best_val_loss or val_loss < best_val_loss:
        # AREA OF INTEREST ##########
        with open(args.save, 'wb') as f:
            torch.save(model, f)
        #############################
        best_val_loss = val_loss
    else:
        # Anneal the learning rate if no improvement has been seen in the validation dataset.
        lr /= 4.0

Вопрос: должен ли язапустить отдельный поток, который сохраняет модель , чтобы сэкономить время , или я перебиваю процесс?т.е. не стоит запускать отдельный поток?Я проверил документ torch.save , но не нашел того, что хочу.

1 Ответ

0 голосов
/ 01 декабря 2018

Это зависит от размера вашей модели.Если у вас медленный ввод-вывод и большая модель, это может занять время.Но обычный кэш FS достаточно велик для хранения всей модели.

...