在CentOS 6.3上配置PyTorch与gcc

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

$ cat /etc/issue
CentOS release 6.3 (Final)
Kernel \r on an \m

关于CentOS:

中文意思是社区企业操作系统,是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

$ cat /usr/local/cuda/version.txt
CUDA Version 7.5.18
$ 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

另个服务器上:

$ cat /usr/local/cuda/version.txt
CUDA Version 8.0.44

1.3 python版本

$ 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.

二、下载镜像

2.1 环境下载

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

# Python3.6 + PyTorch1.0
$ wget -e "http_proxy=8888" http://xxxxxx/py36_pytorch1.0_env0.1.3.tar.gz
--2019-03-21 15:37:44--  http://888888888888888/88888888888888/py36_pytorch1.0_env0.1.3.tar.gz
Resolving cp01-sys-hic-gpu-02.cp01... 8888888888888
Connecting to 888888888888888888|8888888888888888|: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 

2.2 解压环境

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

关于解压 xvzf含义

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

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

$ ls
env  py36_pytorch1.0_env0.1.3.tar.gz
$ 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的工具链对齐,详细原因见
                             # 2. `strings /lib/libc.so.6 | grep GLIBC` `strings /lib64/libc.so.6 | grep GLIBC`最高版本为 GLIBC_2.12。否则可能出现本地能运行但集群无法运行的情况。

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

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

三、安装成功

3.1 如上流程

下载安装包

  • # Python3.6 + PyTorch1.0
  • wget -e "http_proxy=8888888888888" http://888888888888888888/HGCP_DEMO/py36_pytorch1.0_env0.1.3.tar.gz

解压与安装

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

3.2 安装成功

$ ls   
env  py36_pytorch1.0_env0.1.3.tar.gz
$ 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

3.3 更改torch版本

运用清华的开源库。速度较快。

https://mirrors.tuna.tsinghua.edu.cn/help/pypi/

env/bin/python -m  pip install -i https://pypi.tuna.tsinghua.edu.cn/simple torch==0.3.1

环境变量生效

vim ~/.bashrc

路径:

/home/work/cuda-8.0/lib64

/home/work/cuda-8.0/bin

加入

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/work/cuda-8.0/lib64
export PATH=$PATH:/home/work/cuda-8.0/bin

 

四、安装gcc(此方法不可用)

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

4.1 安装Jumbo(不可用,外网无jumbo)

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

4.2 用Jumbo装gcc 5.2

查找可安装的版本

jumbo search gcc

$ 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).

安装

$ jumbo install gcc5
==> Calculating dependencies....
==> Packages to be installed:
#。。。。。
==> Installation of gcc5 done!
==> Installation done.

相关Linux及环境配置

常用Linux指令汇总

Linux中显卡用户管理相关应用及命令行

macOS上运行python及配置相应环境

macOS上用PyCharm本地配置Anaconda环境

客户端配置Hadoop并运用SLURM GPU集群与HDFS文件系统

   SSH相关

windows PC用SSH连接Ubuntu14.04的配置与方法

macOS与CentOS之间互传文件(iTerm2与lrzsz)

macOS系统用SSH链接CentOS服务器

   环境配置相关

在CentOS 6.3上配置PyTorch与gcc

CentOS 6.3安装anaconda并配置pytorch与cuda

Ubuntu14.04安装Anaconda3-2018.12-x86_64

运用Anaconda对python 3.6与tensorflow-gpu与pip环境配置

虚拟环境中用Anaconda安装显卡CUDA驱动与CUDA运行版本匹配

虚拟机上安装openCV

macbook操作与快捷键个人查阅汇总

docker安装及环境容器上传

 


版权声明:本文为weixin_36474809原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。