28 Star 233 Fork 58

百度开源 / lac

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
compile4windows.md 3.56 KB
一键复制 编辑 原始数据 按行查看 历史
huangdingbang 提交于 2020-07-10 00:54 . update compile4windows.md

在Windows系统编译LAC

本文档详细介绍如何在Windows上使用Visual Studio和Visual Studio Code 完成LAC的C++ demo 及 Java链接库编译的过程。

1. 环境准备

1. 安装 Visual Studio和Visual Studio Code
2. 下载Paddle相关的依赖库
  • 可于Paddle官网下载已经编译好的Windows预测库fluid_inference.tgz),选择cpu_avx_mklcpu_avx_openblas版本进行下载并解压

2. 编译运行

编译过程使用Visual Studio Code进行,该工具能够帮助我们完成cmake编译等过程,并且在众多系统中表现出较好的兼容性,该流程同样适用于Mac和Linux系统。

1. 在VS Code中安装Cmake相关插件
cmake_install
2. 打开GitHub中clone下来的文件夹
open_lac
3. 设置编译选项
  • 设置PADDLE_ROOTWindows预测库下载解压后的文件夹路径
  • 若需编译JAVA的链接库,需将WITH_JNILIB选项设为ON,同时设置JAVA_HOME路径,如下图所示
  • CMake选择Release模式
  • 编译器选项选择Visual Studio amd64【若无该选项则选择扫描工具包或检查Visual Studio安装情况】
open_lac
4. 执行编译
  • 完成上述步骤后,如果lac目录下已生产build目录,先删除该build目录,否则option中的选项不会更新

  • 打开CMakeLists.txt,执行保存,会触发CMake构建命令,生产build目录。

  • CMake构建完成后运行生成,既可触发编译

    run_cmake
5. 运行示例
  • 编译完成后,会在build/Release 生成相应的文件产出:

    • lac_demo.exelac_multi.exe:lac的单线程和多线程执行程序,从命令行中读取UTF8编码的输入,执行预测
    • lacjni.dll:JAVA调用lac使用的动态库
    • *.dll:运行lac所依赖的算法库,MKLNN库(mklnn.dll、mklml.dll、libiomp5md.dll)或OPENBLAS库(openblas.dll)
  • 下载模型文件:

    release界面下载模型文件models_general.zip,解压文件夹中包含两个模型

    • seg_model:仅实现分词的模型
    • lac_model:实现分词、词性标注、实体识别于一体的词法分析模型
  • lac_demo.exelac_multi.exe运行测试

  • 修改CMD编码为utf8

  • 在命令行中运行以下指令

# 运行测试
./lac_demo.exe <model_dir> 
./lac_multi.exe <model_dir> <thread_num>
# model_dir: 模型文件路径,即上述下载解压后的路径,如 "./models_general/lac_model"
# thread_num: 线程数
  • JAVA调用运行测试

    • lacjni.dll和依赖的算法库拷贝到lac/java目录下

    • 在命令行工具中运行测试如下所示

      run_lacjava
Python
1
https://gitee.com/baidu/lac.git
git@gitee.com:baidu/lac.git
baidu
lac
lac
master

搜索帮助