创建一个支持宿主机GPU的docker容器
docker run -itd --gpus all --name 容器名 -p 主机端口:容器端口 -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all 镜像名
使用服务器创建虚拟环境实现代码运行
先在服务器中安装anaconda
- 从这里下载对应的Anaconda版本anaconda
- 我这里下载的是版本是Anaconda2-2019.10-Linux-x86_64.sh
- 然后输入
bash Anaconda2-2019.10-Linux-x86_64.sh
进行安装 - 安装好之后可能会显示bash: conda: command not found
- 这时候是因为~/.bashrc文件没有配置好,打开 ~/.bashrc文件
vim ~/.bashrc
- 在最后一行输入
export PATH=$PATH:【你的安装目录】
- 然后保存更改,运行
source ~/.bashrc
创建匹配代码运行的虚拟环境
-
使用conda创建虚拟环境
conda create -n 环境名 python=3.8
激活虚拟环境
conda activate 环境名
-
查找虚拟环境中python的位置
whcih python
-
停止虚拟环境
conda deactivate
-
对虚拟环境中安装额外的包
conda install -n your_env_name [package]
-
删除虚拟环境
conda remove -n your_env_name(虚拟环境名称) --all
-
删除环境中的某个包
conda remove --name your_env_name package_name
pycharm中使用虚拟环境
一、配置docker容器环境,使其能够在pycharm中被访问到
- 设置容器的用户名,并修改容器的密码
echo 'root:123456' | chpasswd (这里设置的用户名是root,密码是123456,可以自行修改)
- 安装openssh-server并启动
#更新源
apt-get update
#或
apt-get -y update
# 安装openssh-server
apt-get install openssh-server
# 启动之前需手动创建/var/run/sshd,不然启动sshd的时候会报错
mkdir -p /var/run/sshd
# sshd以守护进程运行
/usr/sbin/sshd -D &
# 安装netstat,查看sshd是否监听22端口
apt-get install net-tools
netstat -apn | grep ssh
# 显示如下
# root@a78aa2e72670:/# netstat -apn | grep ssh
# tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1266/sshd
# tcp6 0 0 :::22 :::* LISTEN 1266/sshd
- ssh登录设置
# 生成ssh key
ssh-keygen -t rsa
# 然后提示的设置用默认设置,一直回车即可
# 修改sshd-config允许root登陆
vim /etc/ssh/sshd_config
检查下面的命令是否被注释,会后面的参数是否为yes,若没有该命令需要在文件尾部新增该命令以允许root用户使用ssh登录:
PermitRootLogin yes # 约在28行:将PermitRootLogin prohibit-password改为PermitRootLogin yes
设置好了之后保存退出。
二、在pycharm中使用配置好的环境
-
首先打开自己需要运行的项目
-
然后点
File
选择setting
-
然后点击Project:项目名称,如下图所示
-
然后点击Python InterPreter,点击Add
-
选址SSH Interpreter,填入服务器的地址和用户名
-
填完之后就会进入到服务器的环境中,在Interpreter中选择which python所查询到的python路径,Sync folders中是要选择将pycharm中的项目同步到服务器中的文件夹中,这个路径可以自己选择,但是需要先在服务器中创建自己想要保存的文件夹,当然也可以选择用下图所示的默认文同步位置,但是你需要记住这个地址。
-
然后你就可以使用虚拟环境中创建的python环境了,如果运行不起来,你可以选择如下图所示的方法先进行文件同步,然后再运行代码。