我正在尝试使用python中的lux库来获得可视化建议。它显示了类似NumExpr的警告,默认为8个线程.。
import pandas as pd
import numpy as np
import opendatasets as od
pip install lux-api
import lux
import matplotlib
然后:
link = "https://www.kaggle.com/noordeen/insurance-premium-prediction"
od.download(link)
df = pd.read_csv("./insurance-premium-prediction/insurance.csv")
但是,一切都很好。有什么问题吗?还是我应该忽略它?警告显示如下:
发布于 2022-12-02 13:01:06
在大多数情况下,这并不是真正值得担心的事情。警告来自这一功能,这里最重要的部分是:
...
env_configured = False
n_cores = detect_number_of_cores()
if 'NUMEXPR_MAX_THREADS' in os.environ:
# The user has configured NumExpr in the expected way, so suppress logs.
env_configured = True
n_cores = MAX_THREADS
...
if 'NUMEXPR_NUM_THREADS' in os.environ:
requested_threads = int(os.environ['NUMEXPR_NUM_THREADS'])
elif 'OMP_NUM_THREADS' in os.environ:
requested_threads = int(os.environ['OMP_NUM_THREADS'])
else:
requested_threads = n_cores
if not env_configured:
log.info('NumExpr defaulting to %d threads.'%n_cores)
因此,如果没有设置NUMEXPR_MAX_THREADS
、NUMEXPR_NUM_THREADS
或OMP_NUM_THREADS
,那么NumExpr使用的线程就像内核一样多(即使文件上说“最多8",但我看到的不是在代码中)。
您可能需要使用其他数量的线程,例如,当计算出非常大的矩阵时,您可以从中获益,或者使用更少的线程,因为没有任何改进。在shell中或导入numexpr之前设置环境变量。
import os
os.environ['NUMEXPR_MAX_THREADS'] = '4'
os.environ['NUMEXPR_NUM_THREADS'] = '2'
import numexpr as ne
https://stackoverflow.com/questions/71248521
复制相似问题