整理Ubuntu深度学习服务器初始化操作
创始人
2024-03-12 06:00:48
0

前言

这两年总是换服务器,每次配置都挺麻烦的要搜一堆东西,干脆直接整理一下供自己以后参考。

版本说明

Ubuntu 20.04 桌面版

系统配置

配置SSH

安装ssh

sudo apt update
sudo apt install openssh-server

检查ssh状态

sudo systemctl status ssh
  • 如需使用VNC远程桌面可以参考这篇教程进行配置

开机自动挂载磁盘

Ubuntu 开机自动挂载硬盘 - CSDN

创建新用户

创建名为dl的用户并设置密码:

sudo useradd -m -s /bin/bash dl
sudo passwd dl

添加管理员权限:

sudo vim /etc/sudoers

添加该行:为dl添加管理员权限并且使用sudo不需要输入密码

dl      ALL=(ALL) NOPASSWD:ALL
  • 如果sudo还是需要密码,则有可能是被用户组设置覆盖了,为了防止这种问题的出现建议将该行插入到文件末尾。

安装screen

sudo apt install screen

修改screen基本设置

Conda环境配置

安装MiniConda

在MiniConda下载页找到对应版本的安装脚本下载链接,使用wget下载。

wget https://repo.anaconda.com/miniconda/Miniconda3-py38_4.12.0-Linux-x86_64.sh

执行安装

sh Miniconda3-py38_4.12.0-Linux-x86_64.sh
  • 建议安装到公用目录下/opt/miniconda3

初始化Conda

运行以下命令初始化Conda:

/opt/miniconda3/bin/conda init

初始化结果:

dl@server:~$ /opt/miniconda3/bin/conda init
no change     /opt/miniconda3/condabin/conda
no change     /opt/miniconda3/bin/conda
no change     /opt/miniconda3/bin/conda-env
no change     /opt/miniconda3/bin/activate
no change     /opt/miniconda3/bin/deactivate
no change     /opt/miniconda3/etc/profile.d/conda.sh
no change     /opt/miniconda3/etc/fish/conf.d/conda.fish
no change     /opt/miniconda3/shell/condabin/Conda.psm1
no change     /opt/miniconda3/shell/condabin/conda-hook.ps1
no change     /opt/miniconda3/lib/python3.8/site-packages/xontrib/conda.xsh
no change     /opt/miniconda3/etc/profile.d/conda.csh
modified      /home/dl/.bashrc==> For changes to take effect, close and re-open your current shell. <==

可以发现初始化程序修改了~/.bashrc,添加了如下几行:

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/opt/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; theneval "$__conda_setup"
elseif [ -f "/opt/miniconda3/etc/profile.d/conda.sh" ]; then. "/opt/miniconda3/etc/profile.d/conda.sh"elseexport PATH="/opt/miniconda3/bin:$PATH"fi
fi
unset __conda_setup
# <<< conda initialize <<<

重启bash或输入source ~/.bashrc重载配置,按道理这时应该能看到(base)
运行conda -h检查是否安装成功。

创建python虚拟环境

/opt/miniconda3/envs下创建名为dl版本为python3.8虚拟环境。

conda create -p /opt/miniconda3/envs/dl python=3.8

直接运行一般会报错:

Preparing transaction: failedCondaError: Unable to create prefix directory '/opt/miniconda3/envs/dl'.
Check that you have sufficient permissions.

因为/opt下的权限是这样的(通过ls -alh /opt/miniconda3/envs/查看),缺少w权限

drwxr-xr-x root root

添加其他用户组w权限

sudo chmod -R o+w /opt/miniconda3/envs/

再次运行环境安装命令,出现下述结果即安装成功:

(base) dl@server:~$ conda create -p /opt/miniconda3/envs/dl python=3.8
...
...
...
#
# To activate this environment, use
#
#     $ conda activate /opt/miniconda3/envs/dl
#
# To deactivate an active environment, use
#
#     $ conda deactivate

通过conda activate dl启动环境。

  • 为啥要装在/opt下呢?因为这样的话新用户只需要/opt/miniconda3/bin/conda init即可使用其他用户已安装的虚拟环境。

常用设置

为了避免每次使用都需要手动启动环境,将该命令其写入~/.bashrc,顺便也将一些常用的别名写进去。
~/.bashrc末尾添加:

# 自定义
conda activate dl
alias ll='ls -alFh'
alias smi='nvidia-smi'
alias py='python'

安装PyTorch

在pytorch官网选择所需的版本的conda安装命令:
在这里插入图片描述

conda install pytorch torchvision torchaudio pytorch-cuda=11.6 -c pytorch -c nvidia

一个简单的python例子测试是否安装成功:

import torch
x = torch.zeros([2,3]).cuda()
print(x @ x.T)

安装其他必要的库

设置pip国内源

创建pip配置文件

mkdir ~/.pip
vim ~/.pip/pip.conf

写入中科大源(个人感觉速度最快)

[global]
index-url = https://pypi.mirrors.ustc.edu.cn/simple
[install]
trusted-host = https://pypi.mirrors.ustc.edu.cn

常用库

安装这几个,其他所需的库基本都根据依赖自动安装了。

pip install ipython
pip install scikit-learn
pip install matplotlib
pip install pyyaml

配置PyCharm远程调试

需要PyCharm专业版,社区版好像没这个功能。

配置远程Python解释器

进入设置 - Python解释器 - 显示所有 - 添加+,新建SSH解释器:
在这里插入图片描述
配置SSH信息:
在这里插入图片描述
配置文件映射:
在这里插入图片描述

在这里插入图片描述

其中SSH配置如下:
在这里插入图片描述
配置Python解释器位置工程文件映射路径,如图所示:
在这里插入图片描述

配置文件映射

配置完python解释器后在工具栏 - Tools - Deployment - Configuration 检查文件映射是否正常开启:
在这里插入图片描述
将文件映射开启后,在左侧的文件窗口中选中项目根目录,然后点击工具栏 - Tools - Deployment - Upload 将代码上传到服务器。
在这里插入图片描述
最后使用Pycharm随便运行一个文件,测试远程解释器是否能正确使用。

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
群晖外网访问终极解决方法:IP... 写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法&#x...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
Azure构建流程(Power... 这可能是由于配置错误导致的问题。请检查构建流程任务中的“发布构建制品”步骤,确保正确配置了“Arti...