PyTorch:The “freeze_support()” line can be omitted if the program is not going to be frozen

2023-11-29 03:58

本文主要是介绍PyTorch:The “freeze_support()” line can be omitted if the program is not going to be frozen,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在windows上运行pytorch时,稍不注意就会遇到freeze_support()的错误。解决这种错误只要把代码放到if name == “main”: 中运行就可以了。就忍不住来深究下这个问题。

这是一个关于windows上多进程实现的恩特。在windows上,子进程会自动import启动它的这个文件,而在import的时候是会自动执行这些语句的。如果不加__main__限制的化,就会无限递归创建子进程,进而报错。于是import的时候使用 name == “main” 保护起来就可以了。

出现错误:

Traceback (most recent call last):File "<string>", line 1, in <module>File "D:\opt\anaconda3\lib\multiprocessing\spawn.py", line 105, in spawn_mainexitcode = _main(fd)File "D:\opt\anaconda3\lib\multiprocessing\spawn.py", line 114, in _mainprepare(preparation_data)File "D:\opt\anaconda3\lib\multiprocessing\spawn.py", line 225, in prepare_fixup_main_from_path(data['init_main_from_path'])File "D:\opt\anaconda3\lib\multiprocessing\spawn.py", line 277, in _fixup_main_from_pathrun_name="__mp_main__")File "D:\opt\anaconda3\lib\runpy.py", line 263, in run_pathpkg_name=pkg_name, script_name=fname)File "D:\opt\anaconda3\lib\runpy.py", line 96, in _run_module_codemod_name, mod_spec, pkg_name, script_name)File "D:\opt\anaconda3\lib\runpy.py", line 85, in _run_codeexec(code, run_globals)File "D:\ML_Study\PyTorch-garbage-classify\garbage-classification-using-pytorch.py", line 59, in <module>image,label = next(iter(train_loader))File "D:\opt\anaconda3\lib\site-packages\torch\utils\data\dataloader.py", line 819, in __iter__return _DataLoaderIter(self)File "D:\opt\anaconda3\lib\site-packages\torch\utils\data\dataloader.py", line 560, in __init__w.start()File "D:\opt\anaconda3\lib\multiprocessing\process.py", line 105, in startself._popen = self._Popen(self)File "D:\opt\anaconda3\lib\multiprocessing\context.py", line 223, in _Popenreturn _default_context.get_context().Process._Popen(process_obj)File "D:\opt\anaconda3\lib\multiprocessing\context.py", line 322, in _Popenreturn Popen(process_obj)File "D:\opt\anaconda3\lib\multiprocessing\popen_spawn_win32.py", line 33, in __init__prep_data = spawn.get_preparation_data(process_obj._name)File "D:\opt\anaconda3\lib\multiprocessing\spawn.py", line 143, in get_preparation_data_check_not_importing_main()File "D:\opt\anaconda3\lib\multiprocessing\spawn.py", line 136, in _check_not_importing_mainis not going to be frozen to produce an executable.''')
RuntimeError: An attempt has been made to start a new process before thecurrent process has finished its bootstrapping phase.This probably means that you are not using fork to start yourchild processes and you have forgotten to use the proper idiomin the main module:if __name__ == '__main__':freeze_support()...The "freeze_support()" line can be omitted if the programis not going to be frozen to produce an executable.

解决方案:

if __name__ == '__main__':# 代码

通过上述方式实验完美解决,这里说下我的实验版本

In [1]: import torch

In [2]: import torchvision

In [3]: torch.version
Out[3]: ‘1.0.1’

In [4]: torchvision.version
Out[4]: ‘0.2.2’

这篇关于PyTorch:The “freeze_support()” line can be omitted if the program is not going to be frozen的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/431360

相关文章

Pytorch介绍与安装过程

《Pytorch介绍与安装过程》PyTorch因其直观的设计、卓越的灵活性以及强大的动态计算图功能,迅速在学术界和工业界获得了广泛认可,成为当前深度学习研究和开发的主流工具之一,本文给大家介绍Pyto... 目录1、Pytorch介绍1.1、核心理念1.2、核心组件与功能1.3、适用场景与优势总结1.4、优

conda安装GPU版pytorch默认却是cpu版本

《conda安装GPU版pytorch默认却是cpu版本》本文主要介绍了遇到Conda安装PyTorchGPU版本却默认安装CPU的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录一、问题描述二、网上解决方案罗列【此节为反面方案罗列!!!】三、发现的根本原因[独家]3.1 p

PyTorch中cdist和sum函数使用示例详解

《PyTorch中cdist和sum函数使用示例详解》torch.cdist是PyTorch中用于计算**两个张量之间的成对距离(pairwisedistance)**的函数,常用于点云处理、图神经网... 目录基本语法输出示例1. 简单的 2D 欧几里得距离2. 批量形式(3D Tensor)3. 使用不

PyTorch高级特性与性能优化方式

《PyTorch高级特性与性能优化方式》:本文主要介绍PyTorch高级特性与性能优化方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、自动化机制1.自动微分机制2.动态计算图二、性能优化1.内存管理2.GPU加速3.多GPU训练三、分布式训练1.分布式数据

判断PyTorch是GPU版还是CPU版的方法小结

《判断PyTorch是GPU版还是CPU版的方法小结》PyTorch作为当前最流行的深度学习框架之一,支持在CPU和GPU(NVIDIACUDA)上运行,所以对于深度学习开发者来说,正确识别PyTor... 目录前言为什么需要区分GPU和CPU版本?性能差异硬件要求如何检查PyTorch版本?方法1:使用命

pytorch自动求梯度autograd的实现

《pytorch自动求梯度autograd的实现》autograd是一个自动微分引擎,它可以自动计算张量的梯度,本文主要介绍了pytorch自动求梯度autograd的实现,具有一定的参考价值,感兴趣... autograd是pytorch构建神经网络的核心。在 PyTorch 中,结合以下代码例子,当你

在PyCharm中安装PyTorch、torchvision和OpenCV详解

《在PyCharm中安装PyTorch、torchvision和OpenCV详解》:本文主要介绍在PyCharm中安装PyTorch、torchvision和OpenCV方式,具有很好的参考价值,... 目录PyCharm安装PyTorch、torchvision和OpenCV安装python安装PyTor

pytorch之torch.flatten()和torch.nn.Flatten()的用法

《pytorch之torch.flatten()和torch.nn.Flatten()的用法》:本文主要介绍pytorch之torch.flatten()和torch.nn.Flatten()的用... 目录torch.flatten()和torch.nn.Flatten()的用法下面举例说明总结torch

css中的 vertical-align与line-height作用详解

《css中的vertical-align与line-height作用详解》:本文主要介绍了CSS中的`vertical-align`和`line-height`属性,包括它们的作用、适用元素、属性值、常见使用场景、常见问题及解决方案,详细内容请阅读本文,希望能对你有所帮助... 目录vertical-ali

使用PyTorch实现手写数字识别功能

《使用PyTorch实现手写数字识别功能》在人工智能的世界里,计算机视觉是最具魅力的领域之一,通过PyTorch这一强大的深度学习框架,我们将在经典的MNIST数据集上,见证一个神经网络从零开始学会识... 目录当计算机学会“看”数字搭建开发环境MNIST数据集解析1. 认识手写数字数据库2. 数据预处理的