实验室服务器指南

连接事项

找管理员获取 账号密码 ,以及 服务器的 IP 地址及端口号

注:学校的可能需要校园 VPN 或者在校园网内才能连接。

链接工具

链接工具:XShell、MobaXterm。
文件交互工具:Xftp、WinSCP。

系统版本

# 查看 Linux 内核版本
cat /proc/version
uname -a
# 查看 Linux 系统版本
lsb_release -a
cat /etc/issue

查询显卡 GPU

lspci | grep -i vga

可有如下显示
在这里插入图片描述
标红位置代表显卡型号(16进制)。
在 信号翻译器 中查询显卡型号(16进制)代表的显卡名称。
在这里插入图片描述

服务器使用情况

查看服务器显卡使用情况

nvidia-smi		# linux命令
watch -n1 -d nvidia-smi		# 动态显示显卡使用情况

进程

# 查看某一进程详细情况
ps aux | grep PID
# 杀死一个进程
kill -9 PID

代码中指定使用显卡

import os 
# 只用 2 号卡
os.environ['CUDA_VISIBLE_DEVICES']='2' 
# 可用 1 号和 2 号卡
os.environ['CUDA_VISIBLE_DEVICES']='1,2' 

查询进程归属者

top		# linux命令

VSCode 远程连接服务器

利用 SSH 里的远程连接功能直接修改服务器上的代码。
1、下载 VSCode 并安装。
2、在 VSCode 中安装 Remote-SHH 插件。(可通过搜 Chinese 安装中文简体插件,搜 python 安装代码语法高亮和函数结构查看插件)。
3、进行 SSH 信息配置。
实验室服务器指南_第1张图片

# Read more about SSH config files: https://linux.die.net/man/5/ssh_config
Host 连接名称(自定义)
    HostName IP地址
    Port 端口号
    User username

# 如
Host myFirstSSH
    HostName 11.111.111.111
    Port 6666
    User xiaoming

4、SSH TARGETS 列表中启动远程服务器
实验室服务器指南_第2张图片
5、启动连接成功后就可在资源管理中打开服务器中的文件。

Linux服务器环境下非 root 用户安装 Python 及相关库

1、rmdir命令,用于删除空的文件夹,语法格式“rmdir [-p] 文件夹名称”;
	-p 删除指定目录之后,若该目录的上层目录已变成空目录,则将其一并删除。
2、rm命令,用于删除一个文件或者文件夹,语法格式“rm -rf 文件夹名称”。
	-r 就是向下递归,不管有多少级目录,一并删除

	-f 就是直接强行删除,不作任何提示的意思

下载 python 安装包
可通过 官网链接 下载安装包并上传到服务器用户目录下,也可通过以下命令下载:

cd /home/username	# 定位到自己用户的目录下
wget https://www.python.org/ftp/python/3.9.13/Python-3.9.13.tgz		# 通过链接地址下载 python

解压安装

tar -zxvf Python-3.9.13.tgz

cd Python-3.9.13

# 使用隐藏目录,避免误删,--prefix 指定安装路径
mkdir -p /home/username/.python3.9.13/

./configure --prefix="/home/username/.python3.9.13/"

make

make install

安装成功结果
实验室服务器指南_第3张图片
在这里插入图片描述

配置普通用户的环境变量
ls -a 查看目录下所有文件(包括隐藏文件)
vim命令:插入:i
保存退出 ESC+:+wq

cd ~
vim ~/.bashrc	# 用 vim 打开文件

# 在打开的 .bashrc 文件最后添加下面内容
# 指定 python 安装目录下的bin 路径
export PATH=/home/username/.python3.9.13/bin:$PATH

# 上面完成后保存退出,在命令行输入下面命令激活设置
# 使用环境变量立即生效
source ~/.bashrc

安装 pip

wget https://bootstrap.pypa.io/get-pip.py

# 如果配置了环境变量,可以不用指定python3.exe的路径,直接用pyton3来执行
/home/username/.python3.9.13/bin/python3 get-pip.py	# 未配置环境变量时
python3 get-pip.py	# 配置环境变量时

备注:如果是在命令行中执行python文件,直接使用python file.py即可,但是如果要在linux crontab中执行,需要使用完整的python路径,不然使用的就是系统默认的python。
示例:0 08 * * * /home/username/.python2.7.5/bin/python -u daily_report.py

pip 离线安装 whl 包

whl 包可在 PIPY 中下载。

pip install whl文件地址

# 例如
pip install virtualenv-20.14.1-py2.py3-none-any.whl

pip安装库时报“Read timed out”

网络不好时报此错。

# 报错文本
raise ReadTimeoutError(self._pool, None, 'Read timed out.')
ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.

解决方法 1 :延长 timeout 时间

pip --default-timeout=100 install Package

解决方法 2 :将 pip 源换到国内镜像

# 使用豆瓣的源
pip install --index-url http://pypi.douban.com/simple Package
# 使用清华大学的源
pip install -i http://pypi.tuna.tsinghua.edu.cn/simple Package

国内镜像

比较常用的国内镜像包括:

(1)阿里云 http://mirrors.aliyun.com/pypi/simple/
(2)豆瓣http://pypi.douban.com/simple/
(3)清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
(4)中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
(5)华中科技大学http://pypi.hustunique.com/
(6)网易 http://mirrors.163.com/pypi/simple/

临时使用镜像

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple Package

永久使用镜像

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

pip换源 https://blog.csdn.net/qq_38316655/article/details/81463917

Linux服务器环境下非 root 用户配置 Anaconda 环境

下载 anaconda 并上传到服务器

官网地址:
https://repo.anaconda.com/archive/
官网最新版:
https://www.anaconda.com/products/distribution#Downloads
或者清华镜像:
https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

anaconda 和 python 版本对应:
https://docs.anaconda.com/anaconda/packages/oldpkglists/

注:下载 anaconda 时需要查看服务器系统版本,并下载和系统匹配的版本。

uname -a
# 或
uname -m
# 或
arch

# 如,系统为 aarch64 ,若下载最新版应为 Anaconda3-2022.05-Linux-aarch64.sh 

在 anaconda 安装包目录下,输入以下命令安装

bash anaconda安装包名称
# 如
bash Anaconda3-2022.05-Linux-x86_64.sh

配置环境变量

vim ~/.bashrc
# 在.bashrc文件最后添加下面内容
# add anaconda env 
export PATH=/your_path/anaconda3/bin:$PATH 
source ~/.bashrc	# 激活立即生效

conda 换源

conda 源配置文件在 ~/.condarc

# 生成 .condarc 文件
conda config --set show_channel_urls yes

# 查看源
conda config --show-sources

# 添加清华源到 conda 设置里
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

# 中科大的源
conda config –add channels https://mirrors.ustc.edu.cn/anaconda/pkgs/free/ 
# 阿里云的源
conda config --add channels http://mirrors.aliyun.com/pypi/simple/
  
  阿里云 http://mirrors.aliyun.com/pypi/simple/ 
  中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/ 
  豆瓣(douban) http://pypi.douban.com/simple/ 
  清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/ 
  中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/


# 移除源
conda config --remove channels 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/'
conda info		# 查看 conda 源相关信息
conda clean -i 		# 清除 conda 的缓存

conda 创建虚拟环境并激活

conda create -n envName python=3.9	# 创建虚拟环境
source activate pytorch 	# 首次激活
source deactivate	# 首次退出

# 以后使用如下命令激活与退出环境
conda activate envName # 激活自创建的虚拟环境
conda activate	# 默认激活 base 环境
conda deactivate 	# 退出虚拟环境

conda remove -n your_env_name --all		# 删除虚拟环境
conda env list 	# 查看所有虚拟环境
conda info -e 		# 查看 conda 环境
conda list		# 查看环境中的包
conda install -n your_env_name [package]		# 在指定环境安装包
conda install [package]		# 在当前环境安装包
conda remove --name your_env_name  [package_name]				# 删除指定环境包
conda remove [package]		# 删除当前环境的包

which -a pip			# 查看 pip 当前所在的环境

注:当我们安装的包在conda中没有时,需要用pip安装
复制虚拟环境

conda create -n your_env_name --clone env_name		# 通过复制env_name 虚拟环境来创建一个新的 your_env_name 环境

注:conda复制时只会将原来环境中用conda install等命令安装的包进行复制,不能够复制pip等命令安装的包和软件。

导出虚拟环境
导出虚拟环境,并可在其他设备上直接复现。

conda env export > environment.yaml	# 导出当前虚拟环境配置

复制 environment.yaml 文件到其他设备,并在终端执行命令

conda create -f environment.yaml

注:不同操作系统间不能相互复现

安装 jupyter 并配置可在本地主机浏览器使用服务器的 jupyter

前提:安装好了 Anaconda。
安装 jupyter

conda install jupyter

生成配置文件

jupyter notebook --generate-config

生成密码

# 进入 python
# 然后输入如下命令
from notebook.auth import passwd
passwd()
# 之后根据提示输入两次密码,可得到 sha1,复制后面使用

修改 config 配置文件(退出 python 进入终端)

vim ~/.jupyter/jupyter_notebook_config.py

将如下内容添加到 配置文件中

c.NotebookApp.ip='*' #表示侦听所有的ip
c.NotebookApp.password = u'sha:xxxxxx'#刚才复制的
c.NotebookApp.open_browser = False
c.NotebookApp.port =8888 #随便指定一个

修改 XShell
会话管理器 - 选择服务器 - 右击属性 - 隧道 - 添加规则
实验室服务器指南_第4张图片
目标端口为前面配置文件中设置的端口号,侦听端口为浏览器使用的端口号,可自定义。

重启服务器并启动 jupyter

jupyter notebook  # 重启后输入此命令

本地主机浏览器访问远程服务器 jupyter

浏览器输入网址:127.0.0.1::8888,打开后输入密码即可访问
此端口号为上面 XShell 隧道设置的侦听端口号

jupyter 使用 conda 虚拟环境为内核

查询所有虚拟环境

conda env list

进入对应虚拟环境,添加内核到 jupyter

activate 环境名称
 
conda install nb_conda

conda install ipython 		# 在虚拟环境下安装ipython
 
conda install ipykernel
 
conda install -n 环境名称 ipykernel
 
python -m ipykernel install --user --name 环境名称 --display-name "Python(环境名称)"

运行 jupyter 就可看到对应的环境

jupyter notebook

注:要使用特定环境时,应先进入对应的虚拟环境再打开Jupyter Notebook,这样可以避免出现内核崩溃/无法连接的情况!

jupyter 删除内核

jupyter kernelspec list		# 显示所有虚拟内核名称
jupyter kernelspec uninstall 内核名称		# 卸载指定内核
jupyter kernelspec remove 内核名称		# 删除指定内核

注:删除虚拟内核命令仅仅是删除配置文件,并未卸载相应虚拟环境的 ipykernel 。若想再次安装仍可用命令python -m ipykernel install --name kernelname安装。

安装 tensorflow

pip install tensorflow==1.0.0 -i https://pypi.tuna.tsinghua.edu.cn/simple/	# 指定 tensorflow 版本和安装源

检查 tensoflow 是否安装完成

# 在 python 编辑器中输入一下内容
 import tensorflow as tf
 hello = tf.constant("hello,tensorflow!")
 sess = tf.Session()
 print(sess.run(hello)
 print(tf.test.is_gpu_available())

Colab 使用 Tensorflow 1.x 版本

%tensorflow_version 1.x			# 切换 Tensorflow 到 1.x 版本
import tensorflow			# 导入tensorflow
print(tensorflow.__version__)		# 查询当前 tensorflow 版本

安装 pytorch

前提:确定系统版本和 CUDA 版本,安装相对应的 pytorch版本。
官网主页 https://pytorch.org/ 根据系统类型、CUDA、Python版本选择 conda 安装方式。
实验室服务器指南_第5张图片

验证是否安装成功

在自己创建的虚拟环境中,依次执行以下代码进行验证:

python 
import torch
print(torch.__version__)
print(torch.cuda.is_available())		# True

结果为 True 说明框架配置成功,且GPU可用。

安装 cudatoolkit

安装 torchaudio

安装 pytorch

pip 和 conda

conda 是一个开源的、跨平台的、与语言无关的包和环境管理工具,发行于2012年。包管理工具是一个用来自动化安装、升级、删除packages的工具。另有 atp、yum、pip。

Pip是Python包的通用管理器。pip的全称是Pip Install Packages,它是一个Python官方认证的包管理工具。它只能管理python包,通常用于安装发布在Python Package Index(PyPI)上面的包。Pip和PyPI均由Python Packaging Authority(PyPA)管理和支持。

Conda只能在conda环境中安装包,但是可以安装各种语言、各种类型的包。
Pip可以在任何环境中安装包,但是只能安装Python包。
实验室服务器指南_第6张图片

Anaconda 是一个软件发行版。软件发行版是一个预先建立和配置好的packages的集合,可以被安装在操作系统上,并被使用。包含PyData生态中的核心软件的完全发行版,包含了Python本身和数百个第三方开源项目的二进制文件。

Miniconda也是一个软件发行版。Miniconda本质上是一个用来安装空的conda环境的安装器,它仅包含Conda和Conda的依赖,而不包含各种包。

pip 的第三方库比 conda 多。有时 conda 无法安装的包就需要 pip 来安装。

conda install [package]		# 安装包,包会放到 Anaconda 的 pkgs 目录,并从此目录中将该库复制到当前环境。
pip install [package]		# 在当前环境下安装包

conda uninstall [package]		# 删除当前环境下的指定包
pip uninstall [package]		# 删除当前环境下的指定包
conda clean -h	# 清空 pkgs下的已下载包

安装特定版本包

conda install numpy=1.93
pip install numpy==1.93

参考资料

【linux】查看Linux系统版本信息的几种方法

实验室服务器使用指南:pytorch、tensorflow安装问题、visdom安装问题本地远程调用服务器jupyter问题、本地pycharm远程连接服务器

手把手教你如何连上实验室的服务器

Linux环境下非root用户安装Python及相关库
Windows 下 python 下载

linux服务器下非root权限安装anaconda

Linux Anaconda换国内源

conda常用命令

解决Linux系统下每次打开终端自动进入base环境

【Conda管理】Conda创建并管理虚拟环境

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

共享 Anaconda 包、笔记本、项目和环境

Anaconda与conda、pip与conda的区别

【python】conda和pip安装库之间的区别

Understanding Conda and Pip

服务器配置虚拟环境、jupyter、常用命令
用Xshell远程连接服务器上的jupyter notebook
本地访问远程服务器上的jupyter notebook+jupyter上使用虚拟环境
在Jupyter Notebook中使用Tensorflow-1.13.1(cpu版本)

Pytorch 安装官网教程
Conda创建虚拟环境并安装Pytorch
anaconda创建虚拟环境,安装tensorflow
【Keras】用Anaconda安装Keras,并在IDE(VScode)+jupyter中运行

Linux安装CUDA的正确姿势
CUDA 官网下载

【使用winScp实现跳板机登陆内网服务器 】

Pycharm的安装、使用和连接远程服务器

PyCharm通过跳板机连接远程服务器

使用xshell+jupyter notebook远程连接服务器

pycharm里面使用远程服务器

查看服务器显卡GPU型号

pytorch与gpu版本的适配问题

你可能感兴趣的:(工具,服务器,linux,ubuntu)