目录
0. 前序工作
1. 连接远程虚拟环境 (配置解释器)
2. 理解.sh (shell脚本 - 以Occ为例)
补充shell脚本讲解
3. 配置运行参数 (PyCharm)
值得注意的路径问题:
小结
在远程运行虚拟环境之前,得确保已经完成以下几个前置步骤:
1. 在jupyter lab进入终端,远程配好环境,先让项目远程跑起来,先不考虑本地PyCharm
2. 将pycharm本地项目同步到(Linux)服务器上——科研实践(完成文件上的map对应同步)
- (1)文件 → 设置
- (2)项目 → python解释器 → 添加解释器 → SSH
- (3)现有 → SSH服务器右侧下拉菜单 → 选择咱的端口37368 → 下一步
- (4)内省完成 → 下一步 (2/3. 正在内省 SSH服务器) 窗口
下一步后会自动弹出“新目标: SSH”的 (3/3. 项目目录和 Python 运行时配置) 窗口
- (5)Virtualenv 环境(不要选Conda,亲测不太行)→ 现有 → 取消勾选“自动上传到服务器” → 选择“远程路径”文件夹
(6)中的选择解释器步骤,可以放在(5)选择“远程路径”文件夹之前操作,没问题的
- (6)解释器:显示: <无解释器>,还得咱自己勾选一下,选中咱虚拟环境中的python,确定→创建→确定
然后需要等待20s左右,就能成功连上虚拟环境啦
可以看到之前已经初始化好了的环境,本人在PyCharm远程连接服务器前,已经成功跑起来了,这是前序工作(当然配好环境的工作量不小)
首先打开,看看当时执行train的逻辑(每个项目都会有细微差别,但知识点相同)
说明在执行“CAM-R50_img1600_128x128x10.py”文件前,需要执行Linux的bash文件,python解释器不理解Linux语法,怎么办呢?不慌,咱细看这个shell脚本文件~
- dirname $0:
- 获取当前脚本文件所在的目录路径。
- 获取当前脚本所在目录的绝对路径。
- 命令切换到这个绝对路径下,使得后续操作在该目录中进行。
- : 激活名为 “OpenOccupancy” 的 Conda 环境,以便在特定的环境中执行后续命令。
- : 设置 Python 的模块搜索路径为当前目录(表示当前目录),这样在运行 Python 程序时可以方便地找到当前目录下的模块。
- : 打印第一个命令行参数的值,这里是查看传入的参数。
- : 检查第一个命令行参数是否为一个文件。是一个条件判断,用于判断参数所代表的路径是否指向一个常规文件。
- :
- 如果第一个参数是一个文件,将其赋值给变量,后续用于指定配置文件。
- :
- 调用目录下的脚本进行分布式训练。
- 将前面确定的配置文件()、第二个命令行参数()以及第三个及以后的所有参数()传递给这个脚本。
执行命令: “bash run.shhttps://blog.csdn.net/weixin_/article/details/projects/configs/baselines/CAM-R50_img1600_128x128x10.py 1” 时, 对应关系如下:
- 对应代码中的。在代码中,首先检查这个参数所代表的路径是否是一个文件,如果是,则将其赋值给变量,后续用于指定配置文件进行分布式训练。
- “1” 对应代码中的。这个参数指的是用几个gpu训练,会在最后被传递给脚本进行分布式训练。
这里又嵌套了一层,咱来看看这个脚本写了什么:(在tools目录下)
要想在PyCharm里运行这个训练脚本(bash run.shhttps://blog.csdn.net/weixin_/article/details/projects/configs/baselines/CAM-R50_img1600_128x128x10.py 1),需要配置运行参数!
(1)在 PyCharm 顶部菜单栏中,选择 “Run”(运行)>“Edit Configurations”(编辑配置)
(2)设为“module”(不要选script)→ 输入"PyTorch 的分布式启动模块启动"的命令 → 展开后把环境变量粘贴过来
$(dirname "$0")/train.py → https://blog.csdn.net/weixin_/article/details/tools/train.py
- 是因为train.py在OpenOccupancy/tools里,而我们要执行的“OpenOccupancy/projects/configs/baselines/CAM-R50_img1600_128x128x10.py”并不在OpenOccupancy/tools路径下
- 而同时需要用到的train.py却在“OpenOccupancy/tools”路径下,两个文件的路径不一样
- 因此把工作目录: “E:/code/OpenOccupancy/tools”→“E:/code/OpenOccupancy”
- 的同时,需要改粘贴过来的配置文件路径: train.py → https://blog.csdn.net/weixin_/article/details/tools/train.py
- 这下点击确定后重新执行,就不会再报错啦(以上的每一步,都是建立在运行后报错,找原因,改进后的实践经验总结)
- 运行剩下的不同的训练脚本,修改的方法都大同小异
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/bcyy/67878.html