windows上通过cmake-gui生成pytorch工程
Posted fengbingchun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows上通过cmake-gui生成pytorch工程相关的知识,希望对你有一定的参考价值。
在Windows下通过cmake-gui.exe生成不带cuda的Torch.sln工程操作步骤:PyTorch版本使用1.8.1。首先可以先通过打开cmake-gui.exe,指定pytorch源代码目录和生成vs2017工程的位置;然后点击Configure,选中”Visual Studio 15 2017 Win64”,点击Finish,会报一堆CMake Error,然后逐个解决处理,如下图所示:然后反复的点击Configure,直到Configuing done;反复的点击Generate,直到Gererating done
1. 从github上下载第三方库,解压缩后拷贝到pytorch/third_party对应目录下:
(1). protobuf:从github/protocolbuffers上下载protobuf-all-3.15.0.zip;
(2). pthreadpool:从github/Maratyszcza上下载pthreadpool-master.zip;
(3). FXdiv:从github/Maratyszcza上下载FXdiv-master.zip;
(4). cpuinfo:从github/pytorch上下载cpuinfo-master.zip;
(5). XNNPACK:从github/google上下载XNNPACK-master.zip;
(6). FP16:从github/Maratyszcza上下载FP16-master.zip;
(7). psimd:从github/Maratyszcza上下载psimd-master.zip;
(8). fbgemm:从github/pytorch上下载FBGEMM-main.zip;
(9). asmjit:从github/asmjit上下载asmjit-master.zip,将其拷贝到fbgemm/third_party/asmjit目录下;
(10). onnx:从github/onnx上下载onnx-1.8.0.zip;
(11). foxi:从github/houseroad上下载foxi-master.zip;
(12). fmt:从github/fmtlib上下载fmt-7.1.3.zip;
2. 处理CMake Error “cmake/Codegen.cmake:205 (message): Failed to get generated_cpp list”:
(1). pytorch 1.8.1对应的python版本为3.8.8,在本机安装此版本的python;
(2). pip install typing-extensions
(3). pip install pyyaml
到此为止,应该可以Configuing done了。
3. 调整XNNPACK后应该可以Generating done:
(1). “Cannot find source file: src/x8-transpose/gen/16x16-sse2.c”,将CMakeLists.txt中的第3953行注释掉;
(2). “Cannot find source file: src/x16-transpose/gen/8x8-sse2.c”,将CMakeLists.txt中的第3959行注释掉;
(3). “Cannot find source file: src/x32-transpose/gen/4x4-sse2.c”,将CMakeLists.txt中的第3960行注释掉;
(4). “Cannot find source file: src/x64-transpose/gen/2x2-sse2.c”,将CMakeLists.txt中的第3966行注释掉;
Configuing done和Gererating done的结果如下图所示:
4. 打开PyTorch_VS2017下的Torch.sln工程:结果如下图所示
通过vs code打开pytorch源码看c++ code时有时不是很方便,这里直接通过Torch.sln查看有时会方便很多。虽然可以生成Torch.sln工程,但是并不能全部编译通过,编译时还会报一些error,如fbgemm,待后面用到时再处理。
以上是关于windows上通过cmake-gui生成pytorch工程的主要内容,如果未能解决你的问题,请参考以下文章
嵌入式linux开发,opencv移植,opencv-2.4.9移植,cmake-gui