近日在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 不同风格的开发了.啦啦啦啦