关于GPU服务器的那些事

1:查看CUDA  Version

(查看/usr/local/cuda/version.txt)、

  CUDA Version 8.0.61

2:Linux 多个python版本的问题:

    2.1安装:

        下载:wget https://www.python.org/ftp/python/3.5.3/Python-3.5.3.tgz

解压:tar -zxvf Python-3.5.3.tgz

配置 进入python-3.5.3 1 : (后面是指定安装路径) 

./configure --prefix=/usr/local/bin/python353(可以指定也可以默认)

make

make install

默认python3.53位置:/usr/local/lib/python3.5 

(PS:这里记录的是普通的方法,但是在import pytorch可能会报错,直接看模块3

2.2 关于软链接的问题

 Linux下使用python命令实际上都是使用软连接连接到指定的编辑器上

(python只是一个连接的名字,python3也可以,python4也可以)

 使用:which python 查看一下Python可执行文件的位置

 查看软链接:切换到该目录下执行  ll python * 命令查看

 增加一个软链接:ln -s /usr/local/lib/python3.5   /usr/bin/python3 

 删除一个软链接直接rm rm python3

          此时使用python3可以连接python3.5的编译器。

     2.3关于不同python版本下包版本冲突的问题

第一种情况:例如python2和python3下的numpy并不兼容:

python2下使用 pip install numpy

python3下使用 pip3 install numpy 

这样可以看到安装的是不同版本的numpy,存放在不同的site-package下

这个很重要哦,虽然在python3下使用pip一样会打python3的package,但是在多个版本下pip 和 pip3的差别就体现出来了

第二种情况:建立虚拟环境 virtualenv

1 创建一个虚拟环境

virtualenv -p python 编辑器位置 自定义的虚拟环境位置(文件夹就是这个环境的名字)
virtualenv -p python编辑器位置 --no-site-packages 环境名字

此时便是在当前目录创建这个虚拟环境

这里有一个 --no-site-packages 是指这个环境不使用全局环境的包,比如python3.5的包不适用于python3.6,那么创建python3.6环境时就要打上这个no-site-packages

2 激活这个环境

source 自定义的虚拟环境位置/bin/activate

3 退出这个环境

deactivate

其实对于python2 和python3 这种大不同的版本,使用第一种软链接完全可以实现共存

对于python 3.5 python3.6这种小版本不同,使用virtualenv创建虚拟环境

3安装pytorch

使用pip安装pytorch可以参考官网

在此处记录一个import错误:

ImportError:libpython3.5m.so.1.0: cannot open shared object file: No such file or directory

而你翻遍了系统都找不到这个libpython3.5.so.1.0,说明错误出现在安装python3.5的某个步骤上

原因:在于安装python3.5是没有共享库(--enabled-shared

解决办法:重新编译python3.5安装,并指定路径

进入python3.5的解压包:

./configure --prefix=/usr/local --enable-shared --with-threads 
 LD_RUN_PATH=/usr/local/lib make 
 sudo make install 
在此import torch 不再报错

4运行py文件

CUDA_VISIBLE_DEVICES=0,1,2 python3  /mnist/rnn.py

!!注意是python3的编辑器去运行  (指定CUDA模块 python编辑器  python文件)

利用nvidia-smi来查询GPU信息,获取GPU模块,可以看到一共有四块NVIDIA GPU模块,编号分别为0,1,2,3 选取其中部分全部作为上个命令行代码CUDA_VISIBLE_DEVICES的值

关于GPU服务器的那些事_第1张图片

nvidia-smi是一个命令行工具,可以帮助你管理操作GPU device,并且允许你查询和更改device状态









你可能感兴趣的:(自然语言处理)