在Mac OSX EI Capitan下安装xgboost的吐血经历

摘要:
Mac在官网上的安装并不复杂,但实际操作足以吐血。我尝试了很多方法,直到凌晨一点……为了使xgboost能够多线程……似乎互联网上的每个人都在使用gcc6版本,所以后来删除了命令brewinstallgcc6--不带多媒体,然后指定了版本,但它仍然显示没有选项--没有多媒体。如果直接执行cdxgboost;cpmake/config.mk./config。mk;做-j4什么

官网上mac的安装并不复杂,但是实际操作下来有够吐血的,试了n多方法折腾到凌晨一点。。。。。。

在此详细记录一下以帮助其他踩坑的同学。

前情回顾:

为啥要安装gcc?为了xgboost能够多线程。。。好吧其实我本意并不在此,主要是最简单的单线程我都安装失败了!!就两步简单的操作为什么会失败呢我也不想的啊。。。。。。但是没有关于失败处理的博客,博客都是关于多线程的。那只好一试了。

1.安装gcc

很多博客都会写这样一个命令

brew install gcc --without-multilib 

  好死不死看了下brew这样安装gcc的版本是最新的7,而且显示没有 --without-multilib的选项。而看网上大家貌似都是gcc6的版本,所以后来删掉重下

brew install gcc6 --without-multilib 

  这个命令就指定了版本,但是还是显示没有 --without-multilib的选项。好了先不管这个。。

2.替换系统默认的gcc

你以为gcc这样就安装好了吗。NO!!!!!!这就是大坑所在!!!!

如果你输入 gcc -v 发现不是你刚刚安装的版本就请参照博客 http://blog.csdn.net/u010167269/article/details/51951582 进行操作。

3.下载xgboost源码

好了这个就很轻松了

git clone --recursive https://github.com/dmlc/xgboost

4.编译xgboost

第二个大坑。失败了无数次。。。满屏的std,绝望使我质壁分离。如果直接执行

cd xgboost; cp make/config.mk ./config.mk; make -j4

  在Mac OSX EI Capitan下安装xgboost的吐血经历第1张

what the fu**??在下看不懂啊啊啊啊啊

翻阅无数博客,最终的解决方法是这样的

首先,修改Makefile文件的几个地方

在Mac OSX EI Capitan下安装xgboost的吐血经历第2张

接着,修改./config.mk

在Mac OSX EI Capitan下安装xgboost的吐血经历第3张

这里要注意第三行也一定要修改!!!!!我看到的博客都是说只修改前两行就好,然并卵。在凌晨一点我毫无希望地修改了第三行,然后通过了。。。。

好了改到这样,终于可以成功地 make -j4了

5.在python里使用

在xgboost目录下执行

cd python-package; sudo python setup.py install

  

免责声明:文章转载自《在Mac OSX EI Capitan下安装xgboost的吐血经历》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇在Android library中不能使用switch-case语句访问资源ID的原因分析及解决方案Windows7下 部署 ASP.NET 服务器 (IIS 7)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

机器学习自动写诗-学习笔记

要先将字编码成向量 要对之前的信息有记忆 相同的输入,写诗,可能有不同的输出。 可以发现,输入不止与当前输入有关,还和之前的输入有关。要有记忆! 将隐藏层的激活值利用 循环神经网络 a0=0,初始值=0 上次输入的不同,记忆值不同,使得现在相同的输入可以得到不同的输出。 缺点:梯度爆炸和梯度消失 记忆值不断相乘累加。w^n 梯度...

用Python构造ARP请求、扫描、欺骗

目录 0. ARP介绍 1. Scapy简述 2. Scapy简单演示 2.1 安装 2.2 构造包演示 2.2.1 进入kamene交互界面 2.2.2 查看以太网头部 2.2.3 查看 ICMP 头部 2.2.4 查看 IP 头部 2.2.5 查看 TCP/UDP 头部 2.2.6 简单构造 ICMP 包 2.2.7 简单 构造 ARP 包...

杂记:VMware中为mac虚拟机扩容

  之前在VMware中安装Mac虚拟机时,硬盘选的是默认的40G,后来用的过程中随着软件的安装,特别是安装完Xcode和QT5.9之后,可用空间只剩不到3G,每次开机之后都会提醒空间不足,需要清理空间,特别烦人,就琢磨着给虚拟机扩个容。   VMware版本为12.6。   扩容过程很简单,分两步:   1、虚拟机--->设置--->硬盘,如...

mac安装java环境

1、java安装包获取: 链接:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html  2、验证安装是否成功: 按住command键加空格,搜索“终端”,打开终端输入java -version; 3、配置java环境: 按住command键加空格,搜索ja...

可执行二进制文件的形成过程与简单调试

1) 预处理:主要对源码预编译语句(如宏定义define)和文件包含进行处理。即对宏指令替换和包含文件放置到需要编译的文件中,完成后会生成完整的C程序源文件。 2) 编译:对预处理以后文件进行编译,生成.s后缀的汇编语言文件,即该文件里是汇编语言的代码,汇编是一种更底层的语言,直接对硬盘进行操作。 3) 汇编:对汇编语言文件进行汇编,主要调用汇编处理程序来...

Linux下同一网段内的IP中两台主机通信不经过路由器(ARP)(转)

答案一:同一网段A与B通信,不需要路由器介入。 A直接广播ARP request 到广播域,B处于同一广播域,可以接收到ARP request,B用单播方式直接告诉A自己的MAC B 地址。A收到B的ARP reply,将 MAC B ----10.1.1.3 缓存在ARP Table,既然知道B的二层、三层地址,可以完成 Ethernet Frame 的...