分配服务器账号后,配置pytorch环境

476 阅读5分钟

1. 查看系统信息

熟悉系统信息后,碰到问题方便检索。

1.1 查看系统内核版本

cat /proc/version
Linux version 3.10.0-1160.6.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) ) #1 SMP Tue Nov 17 13:59:11 UTC 2020

1.2 查看系统发行版本

cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

1.3 查看显卡信息

nvidia-smi

1.4 查看用户分配的内存和磁盘

  • ulimit 查看内存配额
ulimit -a
  • quota 查看磁盘配额
quota -u *{user_name}*

2. 重置密码

一般实验室发放的账号密码不够安全,需要重置密码。

修改密码使用 passwd 命令。root 用户可以通过 passwd *<user_name>* 修改其它用户密码。

示例如下:

passwd
Changing password for user xxx.
Changing password for xxx.
(current) UNIX password: {原始密码}
New password: {新密码}
New password: {新密码}

3. ssh 免密登录

ssh 是一种加密网络协议,常用于远程登录执行命令,客户端-服务器模型。

Telnet 在网络中是明文传输,一般不用于远程登录,通常只用来测试机器端口是否开放。

3.1 免密原理简介

非对称加密算法的应用

认证:客户端私钥加密 + 服务端存储的客户端公钥解密

3.2 客户端生成公私钥

# 1. 生成密钥
ssh-keygen # 一路回车,默认 rsa 算法,-t 选项可以选择加密算法,默认的公私钥存储位置 ~/.ssh/
# 私钥 ~/.ssh/id_rsa
# 公钥 ~/.ssh/id_rsa.pub

3.3 服务端添加客户端公钥

文件传输方式有许多种,sz/rz、scp、sftp等。

# 2. 上传 客户端公钥 至 服务端 ~/.ssh/authorized_keys
# 内容粘贴复制(追加)也行

3.4 免密登录失败可能的原因

  • ssh目录权限问题
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
  • sshd_config 配置文件

配置文件各个字段的意义见:man7.org/linux/man-p…

vi /etc/ssh/sshd_config
StrictModes no(配置StrictModes字段,修改为no)
  • Selinux

Selinux的核心是用户对文件的访问控制加上访问标签的限制。

有的软件不支持 selinux,可能会出现 开启 selinux 而报错。

# 1. 查看 selinux 的状态
sestatus -v
# 2. 临时关闭
setenforce 0
# 3. 永久关闭
vi /etc/selinux/config  #将SELINUX=enforcing改为SELINUX=disabled,重启
  • 防火墙

关闭防火墙

# 1. 临时关闭
systemctl stop firewalld
# 2. 永久关闭
systemctl disable firewalld

4. 安装 anaconda,配置炼丹环境

  1. anacona 官方下载包

www.anaconda.com/products/in…

Untitled.png

  1. 上传到服务器
scp Anaconda3-2021.11-Linux-x86_64.sh *{username}@{IP}:{directory}/*
  1. 指定目录安装(-p 选项指定目录 -u 选项覆盖安装)
bash Anaconda3-2021.11-Linux-x86_64.sh -p *{install_direcyory}*
  1. 配置环境变量
# 1. 此处询问是否初始化conda的环境,直接输入yes
 
Do you wish the installer to initialize Anaconda3
by running conda init? 
 
[yes|no][no] >>> yes

# 2. 初始化时,anaconda将配置写入了~/.bashrc 文件,直接执行
source ~/.bashrc

# 3. 初始化环境变量很重要的一点是 
# 在 conda 环境下优先使用该环境的 pip,而非系统自带的pi

  1. 查看conda环境
conda info --env

4.1 conda 创建、激活、退出、删除环境

  1. 创建环境
conda create -n *{name}* python=3.6
  1. 激活环境
conda activate *{name}*
  1. 退出环境
conda deactivate
  1. 删除环境
conda remove -n *{name}* --all

4.2 本地环境 pip package 需要注意的问题

强烈推荐使用 conda 管理 python 环境。

# 1. 仅当前用户有效,安装到本地用户目录
pip install *{package}*
# 2. 对所有用户都有效,安装本地系统目录
sudo pip install *{package}*

4.4 安装 pytorch1.4.0

官网pytorch.org/get-started…

Untitled 1.png

# 1. 安装 pytorch 1.4.0
conda install pytorch==1.4.0 torchvision==0.5.0 cudatoolkit=10.1 -c pytorch
# 2. 进入python环境,验证是否安装成功
python -c "import torch; print(torch.__version__)"
1.4.0
python -c "import torch; print(torch.cuda.is_available())"
True
python -c "import torch; print(torch.version.cuda)"
10.1

4.5 安装 cuda 10.1

官方的cuda包含驱动,conda安装的cuda只是包含与pytorch相关的动态链接库。

cuda 官网 developer.nvidia.com/cuda-toolki…

安装包:CUDA Toolkit 10.1 original Archive

conda 安装的 cuda 10.1 和 nvidia的 cuda的区别

4.6 安装 pyg 包

pyg 官网 pytorch-geometric.readthedocs.io/en/latest/n…

# pytorch >= 1.8
conda install pyg -c pyg -c conda-forge
# pytorch 1.4~1.8
pip install torch-scatter -f https://data.pyg.org/whl/torch-${TORCH}+${CUDA}.html
pip install torch-sparse -f https://data.pyg.org/whl/torch-${TORCH}+${CUDA}.html
pip install torch-geometric
pip install torch-cluster -f https://data.pyg.org/whl/torch-${TORCH}+${CUDA}.html
pip install torch-spline-conv -f https://data.pyg.org/whl/torch-${TORCH}+${CUDA}.html

通过pip安装出错的话,直接通过source安装,下载后在 xxx.whell 目录下 pip install 即可。

anconda的使用以及在conda环境中使用pip和conda使用安装依赖的区别和注意事项

anaconda创建新虚拟环境后,pip总是定位到全局Python的pip路径中(无法定位到虚拟环境的pip)blog.csdn.net/weixin_4171…

版本不兼容问题

github.com/pyg-team/py…

5. 环境变量

环境变量:操作系统自身的变量。

# 1. 查看所有环境变量
env
# 2. 设置当前用户环境变量
vi ~/.bash_profile # 在里面加入 export 语句,设置完后重启终端生效或使用 source 命令立即生效
# 3. 设置系统环境变量
vi /etc/profile # 同上

PATH:是特殊的环境变量,执行命令时会根据path去查找命令

# 1. 查看环境变量
echo $PATH
# 2. 查看使用命令所在路径 ,比如 where ls
where *{command}* 
# 3. 设置PATH(位置也有意义,在前面先找到就先用前面的)
export PATH=/xxx/bin:$PATH