【Windows pytorch-gpu环境】RuntimeError: Attempt to start a new process before the current process has

简介: 【Windows pytorch-gpu环境】RuntimeError: Attempt to start a new process before the current process has

遇到的错误:

1. RuntimeError: 
2.             Attempt to start a new process before the current process
3.             has finished its bootstrapping phase.
4.             This probably means that you are on Windows and you have
5.             forgotten to use the proper idiom in the main module:
6.                 if __name__ == '__main__':
7.                     freeze_support()
8.                     ...
9.             The "freeze_support()" line can be omitted if the program
10.             is not going to be frozen to produce a Windows executable.

查阅:https://stackoverflow.com/questions/18204782/runtimeerror-on-windows-trying-python-multiprocessing

对应的解答:

On Windows the subprocesses will import (i.e. execute) the main module at start. You need to insert an if __name__ == '__main__': guard in the main module to avoid creating subprocesses recursively.

Modified testMain.py:

1. import parallelTestModule
2. 
3. if __name__ == '__main__':    
4.     extractor = parallelTestModule.ParallelExtractor()
5.     extractor.runInParallel(numProcesses=2, numThreads=4)

找到自己问题:

通过分析应该是系统的多线程问题

找到代码中使用到的多线程代码进行修改:

trainloader = DataLoader(db_train, batch_size=p['trainBatch'], shuffle=True, num_workers=2)

设置num_workers为0,也就是用主进程读取数据后,模型训练程序运行正常。

解答:

PyTorch——num_workers参数的设置

https://blog.csdn.net/songyuc/article/details/103365591

Soumith Chintala也在《Deep Learning with PyTorch: A 60 Minute Blitz》中说到过这个问题:

1. Soumith Chintala也在《Deep Learning with PyTorch: A 60 Minute Blitz》中说到过这个问题:
2. 
3. If running on Windows and you get a BrokenPipeError, try setting
4. the num_worker of torch.utils.data.DataLoader() to 0.

 

AIEarth是一个由众多领域内专家博主共同打造的学术平台,旨在建设一个拥抱智慧未来的学术殿堂!【平台地址:https://devpress.csdn.net/aiearth】 很高兴认识你!加入我们共同进步!

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
目录
相关文章
|
1月前
|
PyTorch Linux 算法框架/工具
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
这篇文章是关于如何使用Anaconda进行Python环境管理,包括下载、安装、配置环境变量、创建多版本Python环境、安装PyTorch以及使用Jupyter Notebook的详细指南。
268 1
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
|
1月前
|
机器学习/深度学习 缓存 PyTorch
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
这篇文章是关于如何下载、安装和配置Miniconda,以及如何使用Miniconda创建和管理Python环境的详细指南。
402 0
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
|
1月前
|
Oracle 关系型数据库 MySQL
Mysql(1)—简介及Windows环境下载安装
MySQL 是一个流行的关系型数据库管理系统(RDBMS),基于 SQL 进行操作。它由瑞典 MySQL AB 公司开发,后被 Sun Microsystems 收购,现为 Oracle 产品。MySQL 是最广泛使用的开源数据库之一,适用于 Web 应用程序、数据仓库和企业应用。
55 2
|
1月前
|
应用服务中间件 Shell PHP
windows系统配置nginx环境运行pbootcms访问首页直接404的问题
windows系统配置nginx环境运行pbootcms访问首页直接404的问题
|
1月前
|
PyTorch TensorFlow 算法框架/工具
手把手教你-MAC笔记本安装Pytorch环境
手把手教你-MAC笔记本安装Pytorch环境
50 0
|
2月前
|
SQL JavaScript 数据库
sqlite在Windows环境下安装、使用、node.js连接
sqlite在Windows环境下安装、使用、node.js连接
|
1月前
|
Windows
Windows系统环境编写DOS批处理文件
Windows系统环境编写DOS批处理文件
|
1月前
|
并行计算 开发工具 异构计算
在Windows平台使用源码编译和安装PyTorch3D指定版本
【10月更文挑战第6天】在 Windows 平台上,编译和安装指定版本的 PyTorch3D 需要先安装 Python、Visual Studio Build Tools 和 CUDA(如有需要),然后通过 Git 获取源码。建议创建虚拟环境以隔离依赖,并使用 `pip` 安装所需库。最后,在源码目录下运行 `python setup.py install` 进行编译和安装。完成后即可在 Python 中导入 PyTorch3D 使用。
201 0
|
3月前
|
Java 应用服务中间件 Windows
【App Service for Windows】为 App Service 配置自定义 Tomcat 环境
【App Service for Windows】为 App Service 配置自定义 Tomcat 环境
|
3月前
|
并行计算 TensorFlow 算法框架/工具
Windows11+CUDA12.0+RTX4090如何配置安装Tensorflow2-GPU环境?
本文介绍了如何在Windows 11操作系统上,配合CUDA 12.0和RTX4090显卡,通过创建conda环境、安装特定版本的CUDA、cuDNN和TensorFlow 2.10来配置TensorFlow GPU环境,并提供了解决可能遇到的cudnn库文件找不到错误的具体步骤。
423 3
下一篇
无影云桌面