MNN+win10模型转换工具编译

                           MNN+win10模型转换工具编译

MNN的说明文档叫做语雀,链接https://www.yuque.com/mnn

MNN模型转换工具win10编译教程:https://www.yuque.com/mnn/cn/ko86hi

但是实际操作按照教程可能不太容易通过编译,作者没有给出很多需要注意的细节。在这里给出一个详细的step by step教程,确保windows用户能够顺利编译通过。

一、准备工作:

1、 .ps1文件是PowerShell写好的脚本文件。在Windows系统中,默认情况下是不允许执行.ps1文件的。需要 执行如下命令,降低系统的安全性,允许执行脚本:set-executionpolicy -executionpolicy unrestricted,具体做法:C:\Windows\System32\WindowsPowerShell\v1.0目录下以管理员权限打开powershell.exe,然后执行set-executionpolicy -executionpolicy unrestricted,提示选Y

MNN+win10模型转换工具编译_第1张图片

2、https://github.com/google/flatbuffers/releases 下载flatc.exe 并将其放到your_path/MNN/3rd_party/flatbuffers/tmp 目录下。这样可以防止执行.ps1时报:无法将“../../3rd_party/flatbuffers/tmp/flatc.exe”项识别为cmdlet、函数、脚本文件或可运行程序的名称。

3、下载protobuf,(文档中给出的下载地址https://github.com/protocolbuffers/protobuf),编译之:

1git clone  https://github.com/protocolbuffers/protobuf

2)  cd protobuf 然后执行git submodule update --init –recursive

3)在protobuf目录下mkdir vsprojects

4) cd vsprojects 并执行

cmake -G "Visual Studio 16 2019" -Dprotobuf_BUILD_TESTS=OFF ../cmake

5)打开该目录下生成sln,选择为x64 Release模式并编译之。

MNN+win10模型转换工具编译_第2张图片

MNN+win10模型转换工具编译_第3张图片

运行vs工程下的extract_includes.bat就能生成protobuf的头文件,如下图所示

MNN+win10模型转换工具编译_第4张图片

6)配置环境变量这个很简单,直接将Release目录和include目录配置到环境变量即可。

二、编译

       准备工作做好了,现在可以编译了,教程中这样说:cd /path/to/MNN/tools/converter

并且./build_tool.ps1,如果在控制台下面,是无法执行的。按照教程无法成功。

  1. 管理员身份打开powershell.exeC:\Windows\System32\WindowsPowerShell\v1.0\

  cd /path/to/MNN/tools/converter,执行generate_schema.ps1,很顺利,

MNN+win10模型转换工具编译_第5张图片

   2、继续执行./ build_tool.ps1,报错如下,这个是执行脚本无法找到nmake.

MNN+win10模型转换工具编译_第6张图片

打开build_tool.ps1文件可以看到

MNN+win10模型转换工具编译_第7张图片

这个时候我们手动编译,以管理员身份打开vs2019的命令行

MNN+win10模型转换工具编译_第8张图片

cd /path/to/MNN/tools/converter目录下,mkdir build然后cd build,接着执行

cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release ..

nmake

不出意外编译成功!!!Good Luck !!!

 

 

 

 

 

你可能感兴趣的:(算法的工程部署与移植)