Ошибка времени выполнения: Была предпринята попытка запустить новый процесс до того, как текущий процесс завершит фазу начальной загрузки

#python #torch

Вопрос:

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

Полная ошибка, которую я получаю, это:

Ошибка времени выполнения: Была предпринята попытка запустить новый процесс до того, как текущий процесс завершит фазу начальной загрузки.

 This probably means that you are not using fork to start your  child processes and you have forgotten to use the proper idiom  in the main module:   if __name__ == '__main__':  freeze_support()  ...   The "freeze_support()" line can be omitted if the program  is not going to be frozen to produce an executable.  

Ошибка в моем коде, похоже, возникает в моем тренере (и, более конкретно, в последней строке, т. е. в «val_split=0.1)»:

 trainer.fit(  X_tab=X_tab,  target=target,  n_epochs=5,  batch_size=256,  val_split=0.1)  

Я использую Python 3.7 и Windows, если это поможет. Может ли это быть проблемой множественной обработки или чем-то еще?

Ответ №1:

Я получил ответ!

Я понимаю, что это связано с сокращением.внутренний код py.

Если кто-нибудь получит эту ошибку во время выполнения, вы можете добавить:

 if __name__ == '__main__':  import code  code  code   

и это решит проблему!