1.安装相关Ubuntu系统“Ubuntu21.04|时间2021.10.1”
2.进行一些ssh以及相关文件包配置。
3. 开始!首先建议安装swap文件。经过本人观测编译最高占用Mem3.5g/Swp3g 建议安装至少4g的swap文件(选择至少32g以上的内存卡)。
3.1 安装swap文件。参考:如侵权请联系,作者: littleRpl(CSDN)讲的很仔细,包括各类参数用法等。
4. 安装相关匹配包,配置相关环境
4.1 安装相关包
sudo apt-get install libopenblas-dev cython3 libatlas-base-dev m4 libblas-dev cmake
pip3 install numpy pyyaml
注:没有Numpy也可以编译,只是编译后无法使用Numpy。pyyaml是有相关笔者说到缺少此包会导致一个编译报错。(笔者:油炸花生米34)
4.2 配置环境变量
export NO_CUDA=1
export NO_DISTRIBUTED=1
export NO_MKLDNN=1
export NO_NNPACK=1
export NO_QNNPACK=1
5. git clone相应源码
5.1 创建一个你喜欢的路径
git clone --recursive https://github.com/pytorch/pytorch
注:建议在早上进行下载(漂亮国人少速度快,亲测4mb/s。)
6. 编译PyTorch
python3 setup.py build
6.1 编译过程中会先报如下错误
ModuleNotFoundError: No module named 'typing_extensions'
接下来只需要安装typing_extensions即可解决。
pip3 install typing_extensions
6.2 然后重新使用python3 setup.py build 时会遇到如下俩错误中一个(具体哪个忘了。。印象里是第二个)
disabling ROCM because NOT USE_ROCM is set
CMake Error at cmake/Codegen.cmake:199 (message):
Failed to get generated_cpp list
Call Stack (most recent call first):
caffe2/CMakeLists.txt:2 (include)
make: *** No rule to make target 'install'. Stop.
Traceback (most recent call last):
File "setup.py", line 720, in <module>
build_deps()
File "setup.py", line 279, in build_deps
build_dir='build')
File "/home/afzal/mmdnn_test/pytorch/tools/build_pytorch_libs.py", line 227, in build_caffe2
check_call(['make', '-j', str(max_jobs), 'install'], cwd=build_dir)
File "/usr/lib/python3.5/subprocess.py", line 581, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['make', '-j', '12', 'install']' returned non-zero exit status 2
只需要删除你编译出的build文件夹(如下),然后进行重新编译即可。
rm -rf build
6.3 参考油炸花生米34的文章(侵权请联系),会遇到如下报错(本人提前使用了git submodule命令,故未遇见此报错)
subprocess.CalledProcessError: Command '['cmake', '--build', '.', '--target', 'install', '--config', 'Release', '--', '-j', '4']' returned non-zero exit status 2.
只需使用git submodule unpate命令即可(具体命令如下)
git submodule update --remote third_party/protobuf
本人Mem 3.65g||Swg 5g(用htop查看) 用时大约为9.5小时。
编译完成后会出现一个框,代表编译成功。
7. 安装PyTorch(命令如下)
python3 setup.py install
如在安装或进入Python环境import toch时遇到报错,只需跟随系统提示进行输入即可。
8. 感想
感谢TX帮助,使用5种方法花费四天时间刷了三次系统搭了两次梯子(最后一次没搭)最后一次成功!!!!!熬夜记录下方法,趁还没忘。现时间:北京时间1:41分
参考文献:
【1】树莓派4搭建PyTorch教程_梦远花落白衣衫的博客-CSDN博客_树莓派安装pytorch
【2】Failed to get generated_cpp list · Issue #47568 · pytorch/pytorch · GitHub
【3】https://github.com/facebookresearch/cc_net/issues/3