主动学习python框架libact配置教程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了主动学习python框架libact配置教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含8227字,纯文字阅读大概需要12分钟。
内容图文
![主动学习python框架libact配置教程](/upload/InfoBanner/zyjiaocheng/642/3374c6540b6c4404a71e42e148524de3.jpg)
主动学习python框架libact配置教程
配置教程
libact是一个Python包,旨在让用户更容易地进行主动学习。该包不仅实现了几种流行的主动学习策略,而且还提供了一种“active learning by learning”算法,该算法可以帮助用户动态地自动选择最佳主动学习策略。此外,该包还提供了一个统一的接口,用于实现更多的主动学习策略。
接下来进入正题:如何安装libact
-
git clone https://github.com/ntucllab/libact.git
,将源代码克隆到本地 -
cd libact
,进入libact文件夹 -
pip3 install -r requirements.txt
,安装必要的依赖(libact要求Python 2.7, 3.3, 3.4, 3.5,实际测试中发现python2.7不行,我的是python3.5) -
如果是Debian (>= 7) / Ubuntu (>= 14.04)
sudo apt-get install build-essential gfortran libatlas-base-dev liblapacke-dev python3-dev
如果是macOS
brew install openblas
-
解决了依赖关系之后,就可以安装libact了
python3 setup.py build sudo python3 setup.py install
大功告成!
错误处理
我在进行到第五步的python3 setup.py build
的时候,出现了如下错误:
ppnman@ubuntu:~/Desktop/libact$ python3 setup.py build
Platform Detection: Linux. Link to liblapacke...
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.5
creating build/lib.linux-x86_64-3.5/libact
copying libact/__init__.py -> build/lib.linux-x86_64-3.5/libact
creating build/lib.linux-x86_64-3.5/libact/base
copying libact/base/interfaces.py -> build/lib.linux-x86_64-3.5/libact/base
copying libact/base/__init__.py -> build/lib.linux-x86_64-3.5/libact/base
copying libact/base/dataset.py -> build/lib.linux-x86_64-3.5/libact/base
creating build/lib.linux-x86_64-3.5/libact/models
copying libact/models/__init__.py -> build/lib.linux-x86_64-3.5/libact/models
copying libact/models/logistic_regression.py -> build/lib.linux-x86_64-3.5/libact/models
copying libact/models/sklearn_adapter.py -> build/lib.linux-x86_64-3.5/libact/models
copying libact/models/perceptron.py -> build/lib.linux-x86_64-3.5/libact/models
copying libact/models/svm.py -> build/lib.linux-x86_64-3.5/libact/models
creating build/lib.linux-x86_64-3.5/libact/models/multilabel
copying libact/models/multilabel/__init__.py -> build/lib.linux-x86_64-3.5/libact/models/multilabel
copying libact/models/multilabel/binary_relevance.py -> build/lib.linux-x86_64-3.5/libact/models/multilabel
copying libact/models/multilabel/dummy_clf.py -> build/lib.linux-x86_64-3.5/libact/models/multilabel
creating build/lib.linux-x86_64-3.5/libact/labelers
copying libact/labelers/interactive_labeler.py -> build/lib.linux-x86_64-3.5/libact/labelers
copying libact/labelers/__init__.py -> build/lib.linux-x86_64-3.5/libact/labelers
copying libact/labelers/ideal_labeler.py -> build/lib.linux-x86_64-3.5/libact/labelers
creating build/lib.linux-x86_64-3.5/libact/query_strategies
copying libact/query_strategies/active_learning_by_learning.py -> build/lib.linux-x86_64-3.5/libact/query_strategies
copying libact/query_strategies/variance_reduction.py -> build/lib.linux-x86_64-3.5/libact/query_strategies
copying libact/query_strategies/__init__.py -> build/lib.linux-x86_64-3.5/libact/query_strategies
copying libact/query_strategies/uncertainty_sampling.py -> build/lib.linux-x86_64-3.5/libact/query_strategies
copying libact/query_strategies/random_sampling.py -> build/lib.linux-x86_64-3.5/libact/query_strategies
copying libact/query_strategies/hintsvm.py -> build/lib.linux-x86_64-3.5/libact/query_strategies
copying libact/query_strategies/quire.py -> build/lib.linux-x86_64-3.5/libact/query_strategies
copying libact/query_strategies/query_by_committee.py -> build/lib.linux-x86_64-3.5/libact/query_strategies
copying libact/query_strategies/density_weighted_uncertainty_sampling.py -> build/lib.linux-x86_64-3.5/libact/query_strategies
creating build/lib.linux-x86_64-3.5/libact/query_strategies/multilabel
copying libact/query_strategies/multilabel/binary_minimization.py -> build/lib.linux-x86_64-3.5/libact/query_strategies/multilabel
copying libact/query_strategies/multilabel/multilabel_with_auxiliary_learner.py -> build/lib.linux-x86_64-3.5/libact/query_strategies/multilabel
copying libact/query_strategies/multilabel/__init__.py -> build/lib.linux-x86_64-3.5/libact/query_strategies/multilabel
copying libact/query_strategies/multilabel/maximum_margin_reduction.py -> build/lib.linux-x86_64-3.5/libact/query_strategies/multilabel
copying libact/query_strategies/multilabel/adaptive_active_learning.py -> build/lib.linux-x86_64-3.5/libact/query_strategies/multilabel
creating build/lib.linux-x86_64-3.5/libact/query_strategies/multiclass
copying libact/query_strategies/multiclass/hierarchical_sampling.py -> build/lib.linux-x86_64-3.5/libact/query_strategies/multiclass
copying libact/query_strategies/multiclass/__init__.py -> build/lib.linux-x86_64-3.5/libact/query_strategies/multiclass
copying libact/query_strategies/multiclass/expected_error_reduction.py -> build/lib.linux-x86_64-3.5/libact/query_strategies/multiclass
copying libact/query_strategies/multiclass/mdsp.py -> build/lib.linux-x86_64-3.5/libact/query_strategies/multiclass
copying libact/query_strategies/multiclass/active_learning_with_cost_embedding.py -> build/lib.linux-x86_64-3.5/libact/query_strategies/multiclass
creating build/lib.linux-x86_64-3.5/libact/utils
copying libact/utils/__init__.py -> build/lib.linux-x86_64-3.5/libact/utils
running build_ext
building 'libact.query_strategies._variance_reduction' extension
Warning: Can't read registry to find the necessary compiler setting
Make sure that Python modules winreg, win32api or win32con are installed.
C compiler: x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC
creating build/temp.linux-x86_64-3.5
creating build/temp.linux-x86_64-3.5/libact
creating build/temp.linux-x86_64-3.5/libact/query_strategies
creating build/temp.linux-x86_64-3.5/libact/query_strategies/src
creating build/temp.linux-x86_64-3.5/libact/query_strategies/src/variance_reduction
compile options: '-I/home/ppnman/.local/lib/python3.5/site-packages/numpy/core/include -I/usr/include/lapacke -I/usr/include/python3.5m -c'
extra options: '-std=c11'
x86_64-linux-gnu-gcc: libact/query_strategies/src/variance_reduction/variance_reduction.c
x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.5/libact/query_strategies/src/variance_reduction/variance_reduction.o -o build/lib.linux-x86_64-3.5/libact/query_strategies/_variance_reduction.cpython-35m-x86_64-linux-gnu.so -llapacke -llapack -lblas
/usr/bin/ld: cannot find -llapacke -llapack -lblas
collect2: error: ld returned 1 exit status
error: Command "x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.5/libact/query_strategies/src/variance_reduction/variance_reduction.o -o build/lib.linux-x86_64-3.5/libact/query_strategies/_variance_reduction.cpython-35m-x86_64-linux-gnu.so -llapacke -llapack -lblas" failed with exit status 1
根据报错信息可以知道,由于这个错误/usr/bin/ld: cannot find -llapacke -llapack -lblas
,导致
x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.5/libact/query_strategies/src/variance_reduction/variance_reduction.o -o build/lib.linux-x86_64-3.5/libact/query_strategies/_variance_reduction.cpython-35m-x86_64-linux-gnu.so -llapacke -llapack -lblas
这个命令运行失败。去网上搜索了很久,说是缺少对应的动态链接库。把他们的方法挨个试了一遍,还是不行。最后灵机一动,把
x86_64-linux-gnu-gcc ...... -llapacke -llapack -lblas
这个命令在terminal里面手动运行了一下,再次运行python3 setup.py build
,就没有问题了。
很奇怪的解决办法,估计是setup.py
里面有什么问题吧。不过也懒得深究了,能跑起来就行了。
内容总结
以上是互联网集市为您收集整理的主动学习python框架libact配置教程全部内容,希望文章能够帮你解决主动学习python框架libact配置教程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。