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是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. 数据预处理的

Pytorch微调BERT实现命名实体识别

《Pytorch微调BERT实现命名实体识别》命名实体识别(NER)是自然语言处理(NLP)中的一项关键任务,它涉及识别和分类文本中的关键实体,BERT是一种强大的语言表示模型,在各种NLP任务中显著... 目录环境准备加载预训练BERT模型准备数据集标记与对齐微调 BERT最后总结环境准备在继续之前,确

pytorch+torchvision+python版本对应及环境安装

《pytorch+torchvision+python版本对应及环境安装》本文主要介绍了pytorch+torchvision+python版本对应及环境安装,安装过程中需要注意Numpy版本的降级,... 目录一、版本对应二、安装命令(pip)1. 版本2. 安装全过程3. 命令相关解释参考文章一、版本对

从零教你安装pytorch并在pycharm中使用

《从零教你安装pytorch并在pycharm中使用》本文详细介绍了如何使用Anaconda包管理工具创建虚拟环境,并安装CUDA加速平台和PyTorch库,同时在PyCharm中配置和使用PyTor... 目录背景介绍安装Anaconda安装CUDA安装pytorch报错解决——fbgemm.dll连接p

pycharm远程连接服务器运行pytorch的过程详解

《pycharm远程连接服务器运行pytorch的过程详解》:本文主要介绍在Linux环境下使用Anaconda管理不同版本的Python环境,并通过PyCharm远程连接服务器来运行PyTorc... 目录linux部署pytorch背景介绍Anaconda安装Linux安装pytorch虚拟环境安装cu