首页 > 编程语言 >【转载】numpy 为什么在python中显示“NumExpr defaulting to 8 threads.“警告消息?

【转载】numpy 为什么在python中显示“NumExpr defaulting to 8 threads.“警告消息?

时间:2023-03-06 17:15:12浏览次数:45  
标签:python defaulting environ NUM THREADS import threads NUMEXPR os

转自:https://www.saoniuhuo.com/question/detail-2280987.html

 

我尝试使用python中的lux库来获得可视化建议。它显示了类似**NumExpr默认为8个线程。**的警告。

  1. import pandas as pd
  2. import numpy as np
  3. import opendatasets as od
  4. pip install lux-api
  5. import lux
  6. import matplotlib

然后道:

  1. link = "https://www.kaggle.com/noordeen/insurance-premium-prediction"
  2. od.download(link)
  3. df = pd.read_csv("./insurance-premium-prediction/insurance.csv")

但是,一切都工作正常。是否有任何问题或我应该忽略它?警告显示如下:【略】

 

 

kh212irz1#

在大多数情况下,这并不是什么值得担心的事情。警告来自这个函数,这里是最重要的部分:

  1. ...
  2. env_configured = False
  3. n_cores = detect_number_of_cores()
  4. if 'NUMEXPR_MAX_THREADS' in os.environ:
  5. # The user has configured NumExpr in the expected way, so suppress logs.
  6. env_configured = True
  7. n_cores = MAX_THREADS
  8. ...
  9. if 'NUMEXPR_NUM_THREADS' in os.environ:
  10. requested_threads = int(os.environ['NUMEXPR_NUM_THREADS'])
  11. elif 'OMP_NUM_THREADS' in os.environ:
  12. requested_threads = int(os.environ['OMP_NUM_THREADS'])
  13. else:
  14. requested_threads = n_cores
  15. if not env_configured:
  16. log.info('NumExpr defaulting to %d threads.'%n_cores)

因此,如果NUMEXPR_MAX_THREADSNUMEXPR_NUM_THREADSOMP_NUM_THREADS都没有设置,NumExpr使用的线程数与内核数相同(即使文档中说“最多8个”,但这不是我在代码中看到的)。
您可能希望使用其他数量的线程,例如,当计算非常大的矩阵时,您可以从中受益,或者使用更少的线程,因为没有任何改进。在shell中或在导入numexpr之前设置环境变量,例如:

  1. import os
  2. os.environ['NUMEXPR_MAX_THREADS'] = '4'
  3. os.environ['NUMEXPR_NUM_THREADS'] = '2'
  4. import numexpr as ne
     

标签:python,defaulting,environ,NUM,THREADS,import,threads,NUMEXPR,os
From: https://www.cnblogs.com/workingdiary/p/17184528.html

相关文章

  • 写 Python 代码不可不知的函数式编程技术
    把函数作为对象由于其他数据类型(如string、list和int)都是对象,那么函数也是Python中的对象。我们来看示例函数foo,它将自己的名称打印出来:deffoo():print("foo......
  • python 代码调试--pdb
    python代码调试--pdbhttps://www.jianshu.com/p/fb5f791fcb18https://learnku.com/docs/pymotw/pdb-interactive-debugger/3470......
  • 03linux如何彻底删除python
    本教程已删除python3为例 linux卸载python第一步whereispython3|xargsrm-rfv第二步find/-name*python3*|xargsrm-rfv第三步卸载pipwhereispip3|xargs......
  • python处理两个表中,筛选具有相同列值的数据
    1importopenpyxl2importpandasaspd3importos456#导入文件夹的所有文件7defget_files_name():8"""9用于获取文件名......
  • python渗透测试入门——流量嗅探器
    1.代码及代码讲解。代码编写工具:VsCode(1)socket嗅探器首先第一个脚本是最简单的原始socket嗅探器,它只会读一个数据包,然后直接退出:importsocketimportos#hosttol......
  • Python机器视觉之人脸检测 (二)从摄像头读取视频流做人脸检测
    基于上一篇文章Python机器视觉之人脸检测(一)人脸检测的4中办法,做了这个案列,内容比较简单,文字就可以少一点。前提1、打开和关闭摄像头的基本操作需要会。2、使用Pyqt显示......
  • Python数据分析之K_Means
    1#-*-coding:utf-8-*-23importpandasaspd4#参数初始化5inputfile='../data/consumption_data.xls'#销量及其他属性数据6outputfile='../......
  • 自学Python
    myage_zhang=32count=0whilecount<3:myage=int(input("请输入你的年龄:"))ifmyage==myage_zhang:print("恭喜你,回答正确!")break......
  • python yaml变量替换
    使用场景:yaml文件的数据一般来说是写好的常量,每次读取再使用即可。但有些接口的数据每次都会变化则需要每次进行替换才能执行成功,或者当我们有多个相同字段的值都相同时......
  • 如何查看一个python程序调用了哪些库?
    今天才知道有个简单的方法:安装pipreqs就可以了!pipinstallpipreqs进入你的工程所在目录,然后输入下面的命令,等待命令运行结束后,就会生成requirements.txt文件了。(p......