PyTorch klaida: eilutė "freeze_support()" gali būti praleista, jei programa nebus užšaldyta, kad būtų sukurtas vykdomasis failas.
Klaidos kodas yra toks:
RuntimeError: Buvo bandoma pradėti naują procesą prieš Dabartinis procesas baigė savo bootstrapping etapą.
Tai tikriausiai reiškia, kad nenaudojate šakutės vaiko procesus ir pamiršote naudoti tinkamą idiomą Pagrindiniame modulyje:
jei __name__ == '__main__': freeze_support() ...
Eilutės "freeze_support()" galima praleisti, jei programa nesiruošia būti užšaldytas, kad būtų sukurtas vykdomasis failas. Vykdymo laiko klaida: Buvo bandoma pradėti naują procesą prieš Dabartinis procesas baigė savo bootstrapping etapą.
Tai tikriausiai reiškia, kad nenaudojate šakutės vaiko procesus ir pamiršote naudoti tinkamą idiomą Pagrindiniame modulyje:
jei __name__ == '__main__': freeze_support() ...
Eilutės "freeze_support()" galima praleisti, jei programa nesiruošia būti užšaldytas, kad būtų sukurtas vykdomasis failas.
sprendimas
Tiesiog įdėkite kodo bloką, kurį norite paleisti, į pagrindinę funkciją ir paleiskite jį, pavyzdžiui:
Atskirti
Modulių kodas (įskaitant funkcijų iškvietimus) be if __name__ == '__main__':: taip pat vykdomas importuojant. Pridėti, jei __name__ == '__main__':: Modulio kodas (įskaitant funkcijų iškvietimus) vykdomas tik tada, kai modulis paleidžiamas kaip pagrindinė programa, o ne importuotas.
Šis modelis padeda pagerinti kodo pakartotinį naudojimą ir moduliškumą, išvengiant atsitiktinio tam tikro kodo vykdymo importuojant modulius.
|