小白编译AnyQ-docker&linux[CentOs]——AnyQ系列之一

本文档详细介绍了在CentOS7环境下编译AnyQ-docker的全过程,包括解决网络问题、使用官方docker的挑战、在CentOS7中编译的步骤、编译后的运行方法,以及可能遇到的问题和解决方案。适合对自然语言处理和深度学习感兴趣的开发者参考。
摘要由CSDN通过智能技术生成

一、首先要解决的问题

那当然是网速了!我家移动宽带,平常下个电影10M/s,可是从github下载代码最多才20k/s的网速,还时不时断掉要重新下!至于百度到的hosts解决方案,实测不行了(2020年1月24日至27号这几天我试了很多遍)。具体怎么解决,这里不能说,自行研究解决。解决不了网速,后面编译的时候还要下载十几处github及其他依赖代码,代码下不动又各种编译报错,折腾三天依然没有进展人是会崩溃的。

另外我硬件配置是笔记本联想Y471A:四核2.2GHz、10G运存;
系统配置:win10_64位系统,Docker for Windows。

二、 使用官方docker编译(不建议)

需要特别说明的是,因为版本更迭不同步,官方给的paddlepaddle镜像与AnyQ需要的环境并不是很匹配。除cmake版本回退以外,还有其他问题容易产生。而且官方的paddlepaddle镜像臃肿,占用存储。
1. 拉取docker镜像

# paddle官方镜像
docker pull paddlepaddle/paddle:latest-dev

# paddle国内镜像
docker pull hub.baidubce.com/paddlepaddle/paddle:latest-dev

2.运行镜像将镜像映射到端口上并启动容器

##运行镜像,将生成的容器命名为AnyQ,并且AnyQ的端口8999映射为电脑主机9999
docker run  --name anyq -itd --privileged=true  -p 9999:8999 paddlepaddle/paddle:latest-dev /bin/bash
##启动容器AnyQ
docker exec -it anyq /bin/bash

3. docker中容器上网问题
这也是个坑,你以为主机能上网就OK了,nonono!如果你是linux系统用docker,采用host模式启动容器应该好解决。windows系统是在Hyper-V虚拟linux系统在其中运行docker镜像,host模式只是与虚拟的linux进行连接。
我摸索的方法如下:在上网客户端里打开“允许来自局域网的连接”选项。
然后在容器AnyQ中设置http_proxy运行如下两行命令:

export  http_proxy="http://192.168.1.105:10809"
export  https_proxy="http://192.168.1.105:10809"

192.168.1.105是家里路由分配给我笔记本的IP,端口是上网客户端里开放的http代理端口。
此时输入curl cip.cc命令如下:

λ 4f*****5cf /home  curl cip.cc
IP      : 40.**.9*.31
地址    : 中国  *港  mi****ft.com

数据二  : *国 | Mi***t公司

数据三  : 中国香* | *软

URL     : http://www.cip.cc/4*.**.**.31

表明上网成功。
4. 检查cmake版本

 cmake/gcc/g++ --version
 bison -V

我运行的时候cmake版本应该是3.16.0,编译时会产生以下报错:

paddle/fluid/framework/CMakeFiles/framework_py_proto.dir/build.make:60: *** target pattern contains no '%'.  Stop.
CMakeFiles/Makefile2:2828: recipe for target 'paddle/fluid/framework/CMakeFiles/framework_py_proto.dir/all' failed
make[4]: *** [paddle/fluid/framework/CMakeFiles/framework_py_proto.dir/all] Error 2


paddle/fluid/platform/CMakeFiles/profiler_py_proto.dir/build.make:60: *** target pattern contains no '%'.  Stop.
CMakeFiles/Makefile2:2163: recipe for target 'paddle/fluid/platform/CMakeFiles/profiler_py_proto.dir/all' failed
make[4]: *** [paddle/fluid/platform/CMakeFiles/profiler_py_proto.dir/all] Error 2

手动安装低版本cmake,v3.2.2及v3.4.0我都测试过了,是可以的。参考博客:cmake替换版本
我docker中的版本如下:

λ 4f88a5cf /home g++ --version
g++ (Ubuntu 4.8.5-4ubuntu2) 4.8.5
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

λ 4f885cf /home bison -V
bison (GNU Bison) 3.0.4
Written by Robert Corbett and Richard Stallman.

Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the 
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值