本文主要是介绍docker镜像安装百度LAC和前置依赖Paddle遇到的一些问题以及解决方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.windows下docker获取centos镜像并生成对应的系统
a.查找对应的centos系统并下载,在powerShell中输入
docker search centos
我这里直接用的stars最多的原装基础的centos镜像
b.拉取镜像文件
docker pull centos
c.docker查看拉取下来的镜像的IMAGE ID
docker images
d.创建容器 ,--name表示的是容器的名称,300e315adb2f表示的是 镜像的IMAGE ID ,
docker run -dit --name=centosContainer 300e315adb2f /bin/bash
e.进入对应的容器 , 47ff8d44840e 是通过docker ps 查看的NAMES为centosContainer 的容器的IMAGE
docker exec -it 47ff8d44840e /bin/bash
2.装载安装PAddle和LAC需要的依赖。https://www.paddlepaddle.org.cn/documentation/docs/zh/install/index_cn.html
我这边是centos 和python 2.7.17 具体安装参考https://www.paddlepaddle.org.cn/documentation/docs/zh/install/index_cn.html
3.按照官方文档安装Paddle和LAC https://github.com/baidu/lac/tree/master/java
# 下载源码
git clone https://github.com/PaddlePaddle/Paddle.git# 选择其中一个稳定的分支
cd Paddle
git checkout v1.6.2# 创建并进入build目录
mkdir build
cd build# 编译结果保存路径,需要需改
PADDLE_ROOT=/path/of/paddle# 编译运行
cmake -DFLUID_INFERENCE_INSTALL_DIR=$PADDLE_ROOT \-DCMAKE_BUILD_TYPE=Release \-DWITH_PYTHON=OFF \-DWITH_MKL=ON \-DWITH_GPU=OFF \-DON_INFER=ON \../
遇到问题如下:
-- Found Paddle host system: centos, version:
-- Found Paddle host system's CPU: 8 cores
CMake Error: CMake was unable to find a build program corresponding to "Unix Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
See also "/usr/lib/lac/Paddle/build/CMakeFiles/CMakeOutput.log".
原因:没有对应的build tool,gcc和g++
解决方式: yum install -y git gcc gcc-c++ ncurses-devel bison
a.通过make命令进行编译的时候速度太慢,而且容易报 https rpc失败或者超时错误
解决方式:
1.开启git代理然后关闭代理
git config --global --set http.proxy
git config --global --set https.proxy
git config --global --unset http.proxy
git config --global --unset https.proxy
2.设置git下载内存为500M,并设置超时等待时间
git config --global http.postBuffer 524288000
git config --global http.lowSpeedLimit 0
git config --global http.lowSpeedTime 999999 单位 秒
b.碰到Connecting to github.com (github.com)|13.229.188.59|:443... failed: Connection refused.,github的链接超时或者链接拒绝额
解决方式:将网速较好的git的ip映射到hosts中
1.进入https://ipaddress.com/中,输入ithub.com
将对应的ip和地址加入到/etc/hosts中
eg : echo 140.82.112.4 github.com >>/etc/hosts
4.运行单线程测试案例
javac LacDemo.java
java LacDemo /root/resource/models_general/lac_model/
遇到问题:java.lang.UnsatisfiedLinkError: no lacjni in java.library.path at java.lang.ClassLoader.loadLibrary
解决方式:
1.将LacDemo.java中的System.loadLibrary("lacjni");替换成System.load("/usr/lib/lac/lac/output/java/liblacjni.so");进行手动引用包
2.或者直接将liblacjni.so文件复制到 java.library.path 一般为 cp liblacjni.so /usr/lib/
这篇关于docker镜像安装百度LAC和前置依赖Paddle遇到的一些问题以及解决方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!