docker镜像安装百度LAC和前置依赖Paddle遇到的一些问题以及解决方式

本文主要是介绍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遇到的一些问题以及解决方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/259790

相关文章

MySQL9.0默认路径安装下重置root密码

《MySQL9.0默认路径安装下重置root密码》本文主要介绍了MySQL9.0默认路径安装下重置root密码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们... 目录问题描述环境描述解决方法正常模式下修改密码报错原因问题描述mysqlChina编程采用默认安装路径,

将java程序打包成可执行文件的实现方式

《将java程序打包成可执行文件的实现方式》本文介绍了将Java程序打包成可执行文件的三种方法:手动打包(将编译后的代码及JRE运行环境一起打包),使用第三方打包工具(如Launch4j)和JDK自带... 目录1.问题提出2.如何将Java程序打包成可执行文件2.1将编译后的代码及jre运行环境一起打包2

C++一个数组赋值给另一个数组方式

《C++一个数组赋值给另一个数组方式》文章介绍了三种在C++中将一个数组赋值给另一个数组的方法:使用循环逐个元素赋值、使用标准库函数std::copy或std::memcpy以及使用标准库容器,每种方... 目录C++一个数组赋值给另一个数组循环遍历赋值使用标准库中的函数 std::copy 或 std::

Nginx启动失败:端口80被占用问题的解决方案

《Nginx启动失败:端口80被占用问题的解决方案》在Linux服务器上部署Nginx时,可能会遇到Nginx启动失败的情况,尤其是错误提示bind()to0.0.0.0:80failed,这种问题通... 目录引言问题描述问题分析解决方案1. 检查占用端口 80 的进程使用 netstat 命令使用 ss

spring-boot-starter-thymeleaf加载外部html文件方式

《spring-boot-starter-thymeleaf加载外部html文件方式》本文介绍了在SpringMVC中使用Thymeleaf模板引擎加载外部HTML文件的方法,以及在SpringBoo... 目录1.Thymeleaf介绍2.springboot使用thymeleaf2.1.引入spring

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

Debezium 与 Apache Kafka 的集成方式步骤详解

《Debezium与ApacheKafka的集成方式步骤详解》本文详细介绍了如何将Debezium与ApacheKafka集成,包括集成概述、步骤、注意事项等,通过KafkaConnect,D... 目录一、集成概述二、集成步骤1. 准备 Kafka 环境2. 配置 Kafka Connect3. 安装 D

ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法

《ElasticSearch+Kibana通过Docker部署到Linux服务器中操作方法》本文介绍了Elasticsearch的基本概念,包括文档和字段、索引和映射,还详细描述了如何通过Docker... 目录1、ElasticSearch概念2、ElasticSearch、Kibana和IK分词器部署

mybatis和mybatis-plus设置值为null不起作用问题及解决

《mybatis和mybatis-plus设置值为null不起作用问题及解决》Mybatis-Plus的FieldStrategy主要用于控制新增、更新和查询时对空值的处理策略,通过配置不同的策略类型... 目录MyBATis-plusFieldStrategy作用FieldStrategy类型每种策略的作