windows上通过cmake-gui生成pytorch工程
? ? ? 在Windows下通過(guò)cmake-gui.exe生成不帶cuda的Torch.sln工程操作步驟:PyTorch版本使用1.8.1。首先可以先通過(guò)打開(kāi)cmake-gui.exe,指定pytorch源代碼目錄和生成vs2017工程的位置;然后點(diǎn)擊Configure,選中”Visual Studio 15 2017 Win64”,點(diǎn)擊Finish,會(huì)報(bào)一堆CMake Error,然后逐個(gè)解決處理,如下圖所示:然后反復(fù)的點(diǎn)擊Configure,直到Configuing done;反復(fù)的點(diǎn)擊Generate,直到Gererating done
? ? ? ?1. 從github上下載第三方庫(kù),解壓縮后拷貝到pytorch/third_party對(duì)應(yīng)目錄下:
? ? ? ?(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對(duì)應(yīng)的python版本為3.8.8,在本機(jī)安裝此版本的python;
? ? ? ?(2). pip install typing-extensions
? ? ? ?(3). pip install pyyaml
? ? ? ?到此為止,應(yīng)該可以Configuing done了。
? ? ? ?3. 調(diào)整XNNPACK后應(yīng)該可以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的結(jié)果如下圖所示:
? ? ? ?4.??打開(kāi)PyTorch_VS2017下的Torch.sln工程:結(jié)果如下圖所示
? ? ?通過(guò)vs code打開(kāi)pytorch源碼看c++ code時(shí)有時(shí)不是很方便,這里直接通過(guò)Torch.sln查看有時(shí)會(huì)方便很多。雖然可以生成Torch.sln工程,但是并不能全部編譯通過(guò),編譯時(shí)還會(huì)報(bào)一些error,如fbgemm,待后面用到時(shí)再處理。
? ? ? GitHub:https://github.com/fengbingchun/PyTorch_Test
總結(jié)
以上是生活随笔為你收集整理的windows上通过cmake-gui生成pytorch工程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: PyTorch中nn.Module类中_
- 下一篇: 损失函数之Cross-Entropy介绍