[英]how to import newly installed python module in launched interactive session?
[英]How to import newly compiled python module?
我已按照本指南http://lightgbm.readthedocs.io/zh-CN/latest/GPU-Windows.html的源代码对lightgbm和python的GPU支持进行了编译。
从控制台进行的测试使用成功:
C:\github_repos\LightGBM\examples\binary_classification>"../../lightgbm.exe" config=train.conf data=binary.train valid=binary.test objective=binary device=gpu
[LightGBM] [Warning] objective is set=binary, objective=binary will be ignored. Current value: objective=binary
[LightGBM] [Warning] data is set=binary.train, data=binary.train will be ignored. Current value: data=binary.train
[LightGBM] [Warning] valid is set=binary.test, valid_data=binary.test will be ignored. Current value: valid=binary.test
[LightGBM] [Info] Finished loading parameters
[LightGBM] [Info] Loading weights...
然后我尝试用Python导入而没有运气。 它导入不支持GPU的anaconda版本:
from sklearn.datasets import load_iris
iris = load_iris()
import lightgbm as lgb
lgtrain = lgb.Dataset(iris.data, iris.target)
lgb_clf = lgb.train(
{
'objective' : 'regression',
'metric' : 'rmse',
'num_leaves' : 350,
#'max_depth': 14,
'learning_rate' : 0.017,
'feature_fraction' : 0.5,
'bagging_fraction' : .8,
'verbosity' : -1 ,
'device' : 'gpu'
},
lgtrain,
num_boost_round=3500,
verbose_eval=100
)
LightGBMError:在此构建中未启用b'GPU Tree Learner。 使用CMake选项-DUSE_GPU = 1'重新编译
我相信我必须指定位置,但是如何指定?
我认为这可能不是特定于lightGBM,而是Anaconda的虚拟环境存在的问题。 在Anaconda虚拟环境中工作时,系统路径已修改为指向Anaconda安装目录。
如您所指出的,这导致Anaconda加载其自己的版本,而不是您配置,编译和测试的外部版本。
有几种方法可以迫使Anaconda找到您的包裹,请参阅此相关讨论 。
涉及运行ln -s
的建议仅适用于Linux和Mac,但您可以在Windows中执行类似的操作。
您可以先卸载lightGBM的Anaconda版本,然后在Anaconda路径中创建自定义编译版本的副本。 您可以使用
import sys
sys.path
使用以下命令删除以前安装的Python软件包:
pip uninstall lightgbm
or
conda uninstall lightgbm
完成此操作后,导航至Python软件包目录,并将其与已编译的库文件一起安装:
cd LightGBM/python-package
python setup.py install --precompile
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.