近日在TX2上部署深度學習環境Pytorch, 按照github上的教程進行安裝,在終端顯示已經成功安裝,可是在python3環境下導入torch時出現以下的錯誤.
上圖提示找不到 libgflags.so.2 這個鏈接庫, 無法導入. 於是我們進入 /usr/local/lib 目錄下, 發現在該目錄下沒有 libgflags.so.2 .那既然沒有, 我們就自己給編譯生成再使能爲動態鏈接庫.
解決辦法:
(1)下載gflags2.1.2 source package
下載地址:https://launchpad.net/ubuntu/+source/gflags/2.1.2-3
(2)進入下載目錄,在終端執行如下命令進行解壓
tar -xzvf gflags_2.1.2.orig.tar.gz
(3) 接着進入解壓後的文件下創建 build 文件
cd gflags_2.1.2
mkdir build
cd build
(4)在終端輸入以下命令
cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DBUILD_SHARED_LIBS=ON -DGFLAGS_NAMESPACE=google -G"Unix Makefiles" ..
(5)接着繼續執行如下命令 進行cpu編譯
make -j4
(5) 輸入如下命令進行install
sudo make install
編譯後的最終實際圖如下,可以看到出現了我們期望的 libgflags.so.2
(6) 繼續執行如下的命令進行動態庫鏈接的加載
sudo ldconfig
完成了上述工作我們 在終端輸入 python3 進入python3環境後執行命令: import torch 發現並不能成功導入, 又出現了新的報錯, 具體報錯信息和剛纔解決的一樣, ImportError: libglog.so.0: cannot open shared object file: No such file or directory .不慌, 我們繼續按照前面的辦法來解決.
解決辦法:
(1) 下載 glog
下載地址: git clone https://github.com/google/glog
(2) 執行如下的命令進行編譯安裝
cd glog
./autogen.sh
sudo CFLAGS="-fPIC" ./configure
mkdri build
cd build
cmake -D BUILD_gflags_LIBS=ON -D BUILD_SHARED_LIBS=ON -D BUILD_gflags_nothreads_LIBS=ON -D GFLAGS_NAMESPACE=ON ..
make -j4
sudo make install
編譯安裝完成後, 終端顯示如下的信息, 我們可以看到 libglog.so.0 已經有了.
完成上述所有操作後,我們再次在終端輸入 python3 進入python3環境, 並試着導入 torch 和執行相關的 torch 命令操作, 具體的實驗圖如下所示.
可以看到, 上圖中我們成功運用 torch 進行了兩個數的相加, 哈哈哈終於成功的在 TX2 上成功的安裝了 pytorch1.1穩定版, 終於可以嘗試進行與 tensorflow 不同風格的開發了.啦啦啦啦