在CentOS 6.3上配置PyTorch与gcc

版权声明:转载注明出处:邢翔瑞的技术博客https://blog.csdn.net/weixin_36474809 https://blog.csdn.net/weixin_36474809/article/details/88715360

背景:我们需要在CentOS 6.3服务器上配置PyTorch与gcc,以便运行相应的程序。

目录

一、版本查看

1.1 CentOS版本查看

1.2 CUDA版本

查看CUDA驱动版本

CUDNN

1.3 python版本

二、下载镜像

2.1 环境下载

2.2 解压环境

2.3 安装第三方包

三、安装成功

3.1 如上流程

3.2 安装成功

四、安装gcc

4.1 安装Jumbo

4.2 用Jumbo装gcc 5.2

查找可安装的版本

安装


方案一: 基于 conda 环境安装 pytorch-1.0,然后打包整个环境,直接在集群中使用。

优点:省去了编译步骤,后续升级支持简单。
缺点:发布版本往往对分布式训练支持不佳,一些特性需要通过源码编译才能集成进去。

方案二: 基于 pytorch-1.0 源码编译。(暂时使用此方案,若后续遇到问题行不通时,再回来尝试方案一)

优点:可以根据需要集成新特性。
缺点:在 CentOS6.3 系统上编译会遇到各种问题,风险高,可能需要大量的 hack 和 workaround。

一、版本查看

此版本为最初版本,安装后版本会发生变化。

1.1 CentOS版本查看

cat /etc/issue

[[email protected] ~]$ cat /etc/issue
CentOS release 6.3 (Final)
Kernel \r on an \m

关于CentOS:

https://baike.baidu.com/item/centos/498948?fr=aladdin

中文意思是社区企业操作系统,是Linux发行版之一。,CentOS是操作系统,redhat的再编译版本,免费的服务器系统

1.2 CUDA版本

查看CUDA驱动版本

驱动版本即为cuda driver version

输入nvidia-smi,看到我们服务器上的为:

NVIDIA-SMI 384.81                 Driver Version: 384.81

输入 cat /proc/driver/nvidia/version

NVRM version: NVIDIA UNIX x86_64 Kernel Module  384.81  Sat Sep  2 02:43:11 PDT 2017
GCC version:  gcc version 4.8.2 (GCC)

CUDNN

[[email protected] ~]$ cat /usr/local/cuda/version.txt
CUDA Version 7.5.18
[[email protected] ~]$ cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
cat: /usr/local/cuda/include/cudnn.h: No such file or directory

看上去,服务器上并没有安装CUDNN

另个服务器上:

[xingxiangrui@yq01-gpu-yq-face-21-5 ~]$ cat /usr/local/cuda/version.txt
CUDA Version 8.0.44

1.3 python版本

[[email protected] ~]$ python
Python 2.6.6 (r266:84292, Jun 18 2012, 14:18:47)
[GCC 4.4.6 20110731 (Red Hat 4.4.6-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.

二、下载镜像

http://wiki.baidu.com/pages/viewpage.action?pageId=666085497

2.1 环境下载

优先下载百度给的镜像

我们下载python3.6配上的 PyTorch 1.0

# Python3.6 + PyTorch1.0
[[email protected] ~]$ wget -e "http_proxy=cp01-sys-hic-gpu-02.cp01:8888" http://cp01-sys-hic-gpu-02.cp01/HGCP_DEMO/py36_pytorch1.0_env0.1.3.tar.gz
--2019-03-21 15:37:44--  http://cp01-sys-hic-gpu-02.cp01/HGCP_DEMO/py36_pytorch1.0_env0.1.3.tar.gz
Resolving cp01-sys-hic-gpu-02.cp01... 10.92.96.33
Connecting to cp01-sys-hic-gpu-02.cp01|10.92.96.33|:8888... connected.
Proxy request sent, awaiting response... 200 OK
Length: 1021679842 (974M) [application/octet-stream]
Saving to: "py36_pytorch1.0_env0.1.3.tar.gz"

100%[====================================>] 1,021,679,842  528K/s   in 33m 38s 

2019-03-21 16:11:23 (494 KB/s) - "py36_pytorch1.0_env0.1.3.tar.gz" saved [1021679842/1021679842]

2.2 解压环境

  • tar xvzf py36_pytorch1.0_env0.1.3.tar.gz

关于解压 xvzf含义

https://zhidao.baidu.com/question/501957191.html

解压后,产生一个env文件夹。

[[email protected] ~]$ ls
env  py36_pytorch1.0_env0.1.3.tar.gz
[[email protected] ~]$ env/bin/python
Python 3.6.8 |Anaconda, Inc.| (default, Dec 30 2018, 01:22:34) 
[GCC 7.3.0] on linux

注意,原始服务器上的python版本为2.6.6,直接键入python命令行即可。

我们的版本为3.6.8,打开方式为输入  env/bin/python ***

2.3 安装第三方包

    # 1. 使用 pip 安装
    env/bin/python -m pip install [包文件] # 注意,直接使用 env/bin/pip 安装会有路径依赖问题
    # 2. 从源码编译安装,一般在源码目录下会提供 setup.py 编译&&安装脚本
    env/bin/python setup.py  # 注意事项:如果第三方库的 setup.py 操作涉及到C/C++源码编译,请务必确认如下事项:
                             # 1. GCC 为 jumbo 安装的 gcc5.2,与pytorch的工具链对齐,详细原因见 http://wiki.baidu.com/pages/viewpage.action?pageId=666651706
                             # 2. `strings /lib/libc.so.6 | grep GLIBC` `strings /lib64/libc.so.6 | grep GLIBC`最高版本为 GLIBC_2.12。否则可能出现本地能运行但集群无法运行的情况。

需要注意的是输入为 env/bin/python -m pip intstall ,  不可以直接用env/bin/pip

(上面那个服务器,因为CUDNN版本问题导致torch引入出现bug,服务器与内网的连接依然有问题,于是)

三、安装成功

3.1 如上流程

下载安装包

  • # Python3.6 + PyTorch1.0
  • wget -e "http_proxy=cp01-sys-hic-gpu-02.cp01:8888" http://cp01-sys-hic-gpu-02.cp01/HGCP_DEMO/py36_pytorch1.0_env0.1.3.tar.gz

解压与安装

  • tar xvzf py36_pytorch1.0_env0.1.3.tar.gz

3.2 安装成功

[xingxiangrui@yq01-gpu-yq-face-21-5 ~]$ ls   
env  py36_pytorch1.0_env0.1.3.tar.gz
[xingxiangrui@yq01-gpu-yq-face-21-5 ~]$ env/bin/python
Python 3.6.8 |Anaconda, Inc.| (default, Dec 30 2018, 01:22:34) 
[GCC 7.3.0] on linux

加入torch,未报错就成功

>>> import torch
>>>      

此时已经可以运行cycle GAN

四、安装gcc

扩展gcc版本一起匹配,这样可以加入扩展的工具包。

4.1 安装Jumbo

http://jumbo.baidu.com/

#下载
bash -c "$( curl http://jumbo.baidu.com/install_jumbo.sh )"; source ~/.bashrc
#运行
jumbo

4.2 用Jumbo装gcc 5.2

查找可安装的版本

jumbo search gcc

[xingxiangrui@yq01-gpu-yq-face-21-5 ~]$ jumbo search gcc
colorgcc 1.3.2-1
    A Perl wrapper to colorize the output of compilers with warning/error
    messages matching the gcc output format
gcc46 4.6.3-5
    The GNU Compiler Collection (4.6.x)
gcc48 4.8.3-1
    The GNU Compiler Collection (4.8.x)
gcc49 4.9.2-1
    The GNU Compiler Collection (4.9.x). The libsanitizer is not included,
    since it does not compile well on linux 2.6.9.
gcc5 5.2.0-1
    The GNU Compiler Collection (5.x).
gcc53 5.3.0-1
    The GNU Compiler Collection (5.3).

安装

[xingxiangrui@yq01-gpu-yq-face-21-5 ~]$ jumbo install gcc5
==> Calculating dependencies....
==> Packages to be installed:
#。。。。。
==> Installation of gcc5 done!
==> Installation done.

猜你喜欢

转载自blog.csdn.net/weixin_36474809/article/details/88715360
今日推荐