windows上通过cmake-gui生成pytorch工程

x33g5p2x  于2022-02-07 转载在 其他  
字(1.8k)|赞(0)|评价(0)|浏览(397)

    在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,待后面用到时再处理。

    GitHubhttps://github.com/fengbingchun/PyTorch_Test

相关文章