在使用TensorFlow训练模型时,突然报错出现OMP线程过多的问题,网上查找了一下资料可以减少线程数,下面是报错的具体内容:
INFO:tensorflow:global step 80: loss = 2.3479 (3.266 sec/step)
INFO:tensorflow:global step 84: loss = 2.2638 (1.569 sec/step)
OMP: Error #34: System unable to allocate necessary resources for OMP thread:
OMP: System error #11: Resource temporarily unavailable
OMP: Hint: Try decreasing the value of OMP_NUM_THREADS.
Aborted (core dumped)
网上有人说通过设置环境变量参数改变线程数:
【OMP: Error #34: System unable to allocate necessary resources for OMP thread:】os.environ["OMP_NUM_THREADS"] = "12"
os.environ["KMP_BLOCKTIME"] = "1"
os.environ["KMP_AFFINITY"] = "granularity=fine,compact,1,0"
os.environ["KMP_SETTINGS"] = "0"
但是这种办法并不能解决这个问题
解决办法:
config = tf.ConfigProto()
config.intra_op_parallelism_threads = 12
config.inter_op_parallelism_threads = 2
tf.session(config=config)
推荐阅读
- 推荐系统论文进阶|CTR预估 论文精读(十一)--Deep Interest Evolution Network(DIEN)
- Python专栏|数据分析的常规流程
- Python|Win10下 Python开发环境搭建(PyCharm + Anaconda) && 环境变量配置 && 常用工具安装配置
- Python绘制小红花
- Pytorch学习|sklearn-SVM 模型保存、交叉验证与网格搜索
- OpenCV|OpenCV-Python实战(18)——深度学习简介与入门示例
- python|8. 文件系统——文件的删除、移动、复制过程以及链接文件
- 爬虫|若想拿下爬虫大单,怎能不会逆向爬虫,价值过万的逆向爬虫教程限时分享
- 分布式|《Python3网络爬虫开发实战(第二版)》内容介绍
- java|微软认真聆听了开源 .NET 开发社区的炮轰( 通过CLI 支持 Hot Reload 功能)