Introduction

そこまで面倒なことはないけど、自分メモ。

Answer

ソースは上から入手。
手順はBuild C++ libraries on Windowsに書いてあるとおり。
C++のライブラリだけど、それを作るのにPythonが必要です。
動かすのにPythonがいるわけではないです。
(ただし、学習はPythonが必要で推論はC++だけOK)

  1. clone
  2. nnabla\build-tools\msvc\setup_cpp_utils_deps.bat を実行
  3. nnabla\build-tools\msvc\cmake_cpp_utils.bat を実行

です。
途中、Pythonでモジュールが足りない、って言われるときがあります。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$ cmake -G "Visual Studio 14 2015 Win64" -DBUILD_CPP_UTILS=ON -DBUILD_PYTHON_PACKAGE=OFF -DLibArchive_LIBRARY=D:\Works\OpenSource\NeuralNetworkLibrariesDotNet\nnabla\build-tools\msvc\..\..\third_party\libarchive-v3.3.2\build-folder\libarchive\Release\archive.lib -DLibArchive_INCLUDE_DIR=D:\Works\OpenSource\NeuralNetworkLibrariesDotNet\nnabla\build-tools\msvc\..\..\third_party\libarchive-v3.3.2\libarchive -DProtobuf_INCLUDE_DIR=D:\Works\OpenSource\NeuralNetworkLibrariesDotNet\nnabla\build-tools\msvc\..\..\third_party\protobuf-v3.4.1\src -DProtobuf_LIBRARY=D:\Works\OpenSource\NeuralNetworkLibrariesDotNet\nnabla\build-tools\msvc\..\..\third_party\protobuf-v3.4.1\build-folder\Release\libprotobuf.lib -DProtobuf_LITE_LIBRARY=D:\Works\OpenSource\NeuralNetworkLibrariesDotNet\nnabla\build-tools\msvc\..\..\third_party\protobuf-v3.4.1\build-folder\Release\libprotobuf-lite.lib -DProtobuf_PROTOC_EXECUTABLE=D:\Works\OpenSource\NeuralNetworkLibrariesDotNet\nnabla\build-tools\msvc\..\..\third_party\protobuf-v3.4.1\build-folder\Release\protoc.exe -DPROTOC_COMMAND=D:\Works\OpenSource\NeuralNetworkLibrariesDotNet\nnabla\build-tools\msvc\..\..\third_party\protobuf-v3.4.1\build-folder\Release\protoc.exe D:\Works\OpenSource\NeuralNetworkLibrariesDotNet\nnabla\build-tools\msvc\..\.. -DZLIB_LIBRARY_RELEASE=D:\Works\OpenSource\NeuralNetworkLibrariesDotNet\nnabla\build-tools\msvc\..\..\third_party\zlib123dllx64\dll_x64\zlibwapi.lib -DZLIB_INCLUDE_DIR=D:\Works\OpenSource\NeuralNetworkLibrariesDotNet\nnabla\build-tools\msvc\..\..\third_party\zlib123dllx64    || GOTO :error
Traceback (most recent call last):
File "D:/Works/OpenSource/NeuralNetworkLibrariesDotNet/nnabla/build-tools/code_generator/generate.py", line 90, in <module>
generate()
File "D:/Works/OpenSource/NeuralNetworkLibrariesDotNet/nnabla/build-tools/code_generator/generate.py", line 67, in generate
solver_info, solver_types)
File "D:\Works\OpenSource\NeuralNetworkLibrariesDotNet\nnabla\build-tools\code_generator\code_generator_utils.py", line 204, in generate_init
generate_from_template(template, **kwargs)
File "D:\Works\OpenSource\NeuralNetworkLibrariesDotNet\nnabla\build-tools\code_generator\code_generator_utils.py", line 95, in generate_from_template
filename=path_template, template_kwargs=kwargs)
File "D:\Works\OpenSource\NeuralNetworkLibrariesDotNet\nnabla\build-tools\code_generator\code_generator_utils.py", line 54, in render_with_template
from mako.template import Template
ImportError: No module named mako.template
CMake Error at CMakeLists.txt:67 (message):
generate.py failed.

-- Configuring incomplete, errors occurred!
See also "D:/Works/OpenSource/NeuralNetworkLibrariesDotNet/nnabla/build/CMakeFiles/CMakeOutput.log".

上の場合は、mako.template が無いって文句言ってますので

1
$ python -m pip install mako

みたいにインストールします。

エラーが無ければ、nnabla\build\bin\Release にlibも含めたライブラリが生成されます。