服务器使用的问题


当我们拿到了ip和密码 我们要干的活如下:

  1. 连接服务器
  2. 配置conda运行环境
  3. 上传数据集
  4. 配置conda jupyterab kernel(内核) jupyterlab使用
  5. 配置pycharm远程连接

还有一个 是我在编码过程中 总结的一些小窍门

  1. 缩小数据集 - 目的是本地的debug 以及 快速的验证
  2. 远程连接时的注意点 - 啊哈 咱忘了 以后再补!
  3. 进程守护 - 使用jupyterlab teimial 来跑文件
  4. 多卡的优势 - cuda0 cuda1 一个机器 同时跑两个 怪快的
  5. 如果碰到了 要关闭远程连接工具 一直连接的指令 这个要和3 一起食用
1
2
3
4
5
6
7
8
9
10
# 开启nohup  且 日志重定向
nohup python -u main.py > log.out 2>&1 &
# 关闭nohup
ps -ef | grep train
kill -9 ****#pid为每一行的第二个id编码,表示的是该进程的父进程)
# 突然想到一个方法可以获得pid进程号 cuda程序
nvidia-smi
kill -9 **** # **** 为 pid 进程号
# 实时查看日志
tail -f train.log

要干的活: 上传数据集

前两个活 就不具体说了 情况都不一样

上传数据集 使用 xshell 连接

https://www.autodl.com/docs/xshell/ 看看这个网址

配置conda jupyterab kernel(内核) jupyterlab使用

我之前写过一个怎么配置来着

https://limhao.github.io/2022/03/20/kaggle%E5%85%A5%E9%97%A8/

感觉有点不合时宜

1
2
3
4
# 将新的Conda虚拟环境加入jupyterlab中
conda activate tf # 切换到创建的虚拟环境:tf
conda install ipykernel
ipython kernel install --user --name=tf # 设置kernel,--user表示当前用户,tf为虚拟环境名称
  • jupyterlab 端口映射

因为 服务器 一般来说 我们都摸不着

所以说 对于jupylab 我们需要做端口映射

我发现我的文章写的怪好的 就直接粘过来

  • 第一步 在远程服务器开启jupyter lab服务
1
jupyter lab --port=9000 --no-browser
  • 第二步 在自己本地的ssh命令窗口上输入以下命令,将本地端口与远程服务器的9000端口实现映射,在此将本地的6666与服务器的9000端口进行映射
1
2
# 在git bash中输入
ssh -N -f -L 6666:localhost:9000 Tom@11.22.38.214

Tom@11.22.38.214 对应远程服务器的用户名和IP地址

配置 pycharm 远程连接(大坑)

真的坑特别多 也是我卡的时间最久的项目

看了看其他的文档 写的怪简单的 我这里写个详细点的

十分建议 从 你需要的文件夹 作为pycharm项目文件打开

一共分为三步

  1. ssh确认解释器
  2. ssh确认同步本地以及远程文件位置
  3. 确认本地以及远程 不同步的文件夹
  • ssh python 解释器

一直走到这一步

file -》 setting -》project xxx -》 左边的设置 -》 add -》 ssh

这里的interpreter 需要 设置成 conda 配置环境的python文件

一般在 miniconda/envs/xxxx你设置的环境名/bin/python

这里注意一个坑

  1. running code 那底下的一行 一定要设置对应清楚(有的教程教你 这个位置乱填 简直了)

finsh -》 apply

  1. 设置 远程本地文件夹

坑的地方是 你需要点击 项目总文件夹才能设置好

  1. 设置 剔除文件

这个没啥坑

  1. 一定要打的小勾勾

本人 将这个坑 称为特别的坑

在这里打勾的时候 一定要查清楚 只有一个只有一个只有一个

然后 查完了之后 你就可以打勾了

打勾的项目会存在加深的效果 记住了哈 真的是血泪教训