#pytorch #google-colaboratory #generative-adversarial-network
Вопрос:
Я работаю с версией клипа VQGAN , которая должна позволить мне создавать очередь поколений изображений pytorch в Google Colab. Между каждым запуском я получал RuntimeError
сообщение об ошибке из-за нехватки памяти CUDA. Я мог бы перезапустить время выполнения ноутбука, и он запустился бы и работал нормально.
Чтобы создать очередь запусков, я добавил эту строку, чтобы очистить кэш CUDA для повторного запуска: torch.cuda.empty_cache()
С этой строкой, добавленной в итерацию по поколениям изображений, я решил, что она очистит кэш всякий раз, когда столкнется с этим RuntimeError
. Однако, похоже, это не работает, и перезапуск среды выполнения, по-видимому, является единственным способом начать запуск.
Вот цикл, который запускает обучение pytorch:
def train_and_update(i, last_image=False, retryTime=0):
try:
new_filepath = self.train(i, fileargs["Base_Dir"], last_image)
pbar.update()
return new_filepath
except RuntimeError as e:
print("RuntimeError: " str(e))
if retryTime>0:
print(f"Retrtying in {retryTime}.nYou may need to lower your size settings or change models.")
torch.cuda.empty_cache()
time.sleep(retryTime)
newRetryTime = retryTime 2
train_and_update(i, last_image=last_image, retryTime=newRetryTime)
Репозиторий кода записной книжки находится здесь: https://github.com/Hoversquid/VQGAN_CLIP_Z_Quantize
Настоящая записная книжка здесь: https://colab.research.google.com/drive/1djy-WUawvcetuAqWfoEOsPRz_FrpKsCd
Должна ли очистка кэша CUDA устранить эту проблему, или я ошибаюсь в том, что torch.cuda.empty_cache()
следует делать?