ubuntu18.04源碼安裝pytorch

本文安裝的步驟不包含cuda

參考資料:

【1】https://pytorch.org/get-started/locally/    (官網)

【2】https://github.com/pytorch/pytorch#from-source  (pytorch github項目)

【3】https://blog.csdn.net/qq_15192373/article/details/81091098 (anaconda安裝,使用的清華的鏡像)

 

一.安裝anaconda(實際是安裝miniconda)(下面的命令選擇的是清華的鏡像,參考的【3】)

1.1 curl -O https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh 【命令】

(或者使用官方鏡像,沒有試curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh)

1.2 sh Miniconda3-latest-Linux-x86_64.sh  【命令】

     安裝的時候按照提示按回車鍵或輸入yes

注意:安裝的過程中會修改~/.bashrc,要重新打開終端或source ~/.bashrc纔會把conda的路徑加入到PATH環境變量中

 

二.安裝依賴(參考【2】中的源碼安裝)

conda install numpy ninja pyyaml mkl mkl-include setuptools cmake cffi typing  (mlk的時間有點長128.9M)

git clone --recursive https://github.com/pytorch/pytorch (時間較長,我用虛擬機花了10個小時左右)

cd pytorch

(# if you are updating an existing checkout

git submodule sync

git submodule update --init --recursive)

export CMAKE_PREFIX_PATH=${CONDA_PREFIX:-"$(dirname $(which conda))/../"}

python setup.py install

 

三.遇到的問題

3.1 問題描述如下:

FAILED: caffe2/CMakeFiles/torch_cpu.dir/ideep/operators/operator_fallback_ideep.cc.o

......

c++: internal compiler error: Killed (program cc1plus)

解決辦法:

在tools/build_pytorch_libs.py中將

max_jobs = os.getenv('MAX_JOBS', str(multiprocessing.cpu_count()))

改爲
max_jobs = '1'

 

四.測試

from __future__ import print_function

import torch

x = torch.rand(5, 3)

print(x)

輸出:

tensor([[0.3380, 0.3845, 0.3217],

           [0.8337, 0.9050, 0.2650],

           [0.2979, 0.7141, 0.9069],  

           [0.1449, 0.1132, 0.1375],

           [0.4675, 0.3947, 0.1426]])

在測試的時候遇到下面的錯誤:

No module named 'torch._C'

原因是在pytorch的源碼目錄運行的python然後輸入的程序,不能再pytorch的源碼目錄執行,因爲安裝完後會在site-packages下安裝torch,應該用那個。而在源碼目錄下運行時會用源碼裏的torch,裏面沒有_C(我的安裝目錄生成的是_C.cpython-37m-x86_64-linux-gnu.so)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章