pycharm 远程连接服务器并且debug, 支持torch.distributed.launch debug

这篇具有很好参考价值的文章主要介绍了pycharm 远程连接服务器并且debug, 支持torch.distributed.launch debug。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

未经允许,本文不得转载,vx:837007389

step1:下载专业版本的pycharm

pycharm 远程连接服务器并且debug, 支持torch.distributed.launch debug,pycharm,服务器,ide
https://www.jetbrains.com/pycharm/download/other.html
首先,你需要有个专业版本的pycharm。什么ji huo 码可以私我,或者样例可以看这里链接。
https://www.cnblogs.com/yanghailin/p/17577621.html

step2 配置自动同步文件夹,即远程的工程文件和本地同步

我现在代码在远程服务器上。所以需要把远程服务器代码和我本地一个新建文件夹同步。
新建文件夹remote_0724_new并用pycharm打开,最新版本的pycharm2023.1.4打开空文件夹会自动新建一个main.py文件了。

2.1 Tools -> Deployment -> configuration

点左上角“+”,选择SFTP,随便命名一个server,“port_30975”
pycharm 远程连接服务器并且debug, 支持torch.distributed.launch debug,pycharm,服务器,ide

输入远程服务器ip,用户名密码端口号,并测试是否链接成功
pycharm 远程连接服务器并且debug, 支持torch.distributed.launch debug,pycharm,服务器,ide

2.2 设置同步文件夹

pycharm 远程连接服务器并且debug, 支持torch.distributed.launch debug,pycharm,服务器,ide
最右边的Excluded Paths是不需要同步的文件夹,比如数据文件夹等不需要同步。

2.3 同步服务器上代码到本地

这里打开多级设置,还不好截图了,只能手机拍照了。这里在文件夹上面右击如下:
pycharm 远程连接服务器并且debug, 支持torch.distributed.launch debug,pycharm,服务器,ide
最下面的File Transfer会显示传输日志信息
pycharm 远程连接服务器并且debug, 支持torch.distributed.launch debug,pycharm,服务器,ide

代码就同步过来了。

2.3 设置代码同步,Tools->Deploment->Automatic Upload Always

就是你pycharm本地修改的代码自动也在服务器上修改

pycharm 远程连接服务器并且debug, 支持torch.distributed.launch debug,pycharm,服务器,ide
这里图上下面Browse Remote Host点开,可以在侧边栏显示远程服务器的文件目录,也可以直接在侧边栏打开
pycharm 远程连接服务器并且debug, 支持torch.distributed.launch debug,pycharm,服务器,ide
代码同步功能需要自己测试一下,比如就在pycharm修改代码,看远程服务器上面代码有没有自己同步过来。

在最下面栏,Terminal然后^可以打开远程的终端,可以vim查看代码是否同步过来了。
pycharm 远程连接服务器并且debug, 支持torch.distributed.launch debug,pycharm,服务器,ide

step3 配置解释器

3.1 一般可以直接debug

File -> Settings->Project->Python interpreter->Add interpreter->On SSH
pycharm 远程连接服务器并且debug, 支持torch.distributed.launch debug,pycharm,服务器,ide
输入密码端口号用户等信息,然后next,然后第4步project director and python
这里我设置的是第二个system interpreter,我远程环境就是直接用的系统目录下的python的,没有用conda虚拟环境。
设置python的路径,可以在远程环境下which python看看用的哪里的python
sync folders还是设置的之前的本地和远程的同步文件夹
pycharm 远程连接服务器并且debug, 支持torch.distributed.launch debug,pycharm,服务器,ide
这里理论上可以运行debug远程服务器上代码了,但是我这个比较特殊,是运行的pyorch的分布式训练的代码。运行的指令是

python -m torch.distributed.launch --nproc_per_node=1 main.py

直接点运行会报错

/usr/bin/python /code_src_debug/main.py 
./logs/test

  File "/_src_debug/src/data.py", line 807, in compile_data
    train_sampler = DistributedSampler(traindata)
  File "/usr/local/lib/python3.6/dist-packages/torch/utils/data/distributed.py", line 65, in __init__
    num_replicas = dist.get_world_size()
  File "/usr/local/lib/python3.6/dist-packages/torch/distributed/distributed_c10d.py", line 625, in get_world_size
    return _get_group_size(group)
  File "/usr/local/lib/python3.6/dist-packages/torch/distributed/distributed_c10d.py", line 220, in _get_group_size
    _check_default_pg()
  File "/usr/local/lib/python3.6/dist-packages/torch/distributed/distributed_c10d.py", line 211, in _check_default_pg
    "Default process group is not initialized"
AssertionError: Default process group is not initialized

Process finished with exit code 1

这里需要格外的关注pycharm第一行给我们实际运行的指令

/usr/bin/python /code_src_debug/main.py 

3.2 pytorch的分布式训练, 可以直接跑但是不能debug

可以看到pycharm实际运行的指令少了分布式的那些指令,python -m torch.distributed.launch --nproc_per_node=1 main.py,所以加上:
Run ->Edit Configurations…,在Interpreter optiins:这栏填写-m torch.distributed.launch --nproc_per_node=1
pycharm 远程连接服务器并且debug, 支持torch.distributed.launch debug,pycharm,服务器,ide
点运行按钮,可以直接运行跑了!! 这回pycharm给出的运行指令是:

/usr/bin/python -m torch.distributed.launch --nproc_per_node=1 /code_src_debug/main.py 
./logs/test

3.3 pytorch的分布式训练, 可以debug

按照上面3.2,debug运行,报错

/usr/bin/python -m torch.distributed.launch --nproc_per_node=1 /root/.pycharm_helpers/pydev/pydevd.py --multiprocess --qt-support=auto --client localhost --port 60888 --file /code_src_debug/main.py  
Traceback (most recent call last):
  File "/root/.pycharm_helpers/pydev/pydevd.py", line 2016, in main
    setup = process_command_line(sys.argv)
  File "/root/.pycharm_helpers/pydev/_pydevd_bundle/pydevd_command_line_handling.py", line 146, in process_command_line
    raise ValueError("Unexpected option: " + argv[i])
ValueError: Unexpected option: --local_rank=0
Usage:
	pydevd.py --port N [(--client hostname) | --server] --file executable [file_options]
Traceback (most recent call last):
  File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/usr/local/lib/python3.6/dist-packages/torch/distributed/launch.py", line 260, in <module>
    main()
  File "/usr/local/lib/python3.6/dist-packages/torch/distributed/launch.py", line 256, in main
    cmd=cmd)
subprocess.CalledProcessError: Command '['/usr/bin/python', '-u', '/root/.pycharm_helpers/pydev/pydevd.py', '--local_rank=0', '--multiprocess', '--qt-support=auto', '--client', 'localhost', '--port', '60888', '--file', '/code_src_debug/main.py  ']' returned non-zero exit status 1.

Process finished with exit code 1

分析: 可以看到现在debug模式pycharm给出的运行指令不一样了,

/usr/bin/python -m torch.distributed.launch --nproc_per_node=1 /root/.pycharm_helpers/pydev/pydevd.py --multiprocess --qt-support=auto --client localhost --port 60888 --file /code_src_debug/main.py  

经过一系列折腾,终于可以了,此处省略万字,
pycharm 远程连接服务器并且debug, 支持torch.distributed.launch debug,pycharm,服务器,ide
然后可以看到pycharm给出的debug的运行指令:文章来源地址https://www.toymoban.com/news/detail-619548.html

/usr/bin/python /root/.pycharm_helpers/pydev/pydevd.py --multiprocess --qt-support=auto --client localhost --port 50009 --file /usr/local/lib/python3.6/dist-packages/torch/distributed/launch.py --nproc_per_node=1 main.py 
Connected to pydev debugger (build 231.9225.15)

到了这里,关于pycharm 远程连接服务器并且debug, 支持torch.distributed.launch debug的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Pycharm-远程连接云服务器-Autodl

    目录 一、在Autodl中租用实例:步骤详情请见此官网的帮助文档。 二、上传数据到云服务器。 三、验证Audotl自带的基础环境配置 四、上述完成之后,就可以训练自己上传的项目了: 本案例是在Autodl中训练yolov5: 五、Pycharm远程连接云服务器Autodl: https://www.autodl.com/docs/quick_

    2024年02月06日
    浏览(71)
  • Pycharm通过ssh远程连接服务器

    笔记本没有英伟达独显,需要跑深度学习的代码,可以使用pycharm远程连接服务器,将本机代码同步到实验室服务器中运行, 注意: (1)只有专业版的pycharm才可以远程连接服务器;(2)专业版pycharm可以通过学校电子邮箱申请免费版,或者搜一下相关版本的破解码,自己使用

    2024年01月23日
    浏览(60)
  • 麒麟V10服务器 安装samba 软件,并且实现远程连接(压缩包形式)

    百度网盘 以下是在Linux系统中使用压缩包方式安装Samba服务的步骤: 首先,您需要下载Samba软件包。您可以从Samba官方网站(https://www.samba.org/)下载最新版本的Samba软件包。 1 上传 压缩包到服务器 以上就已经安装完成samba 软件,并且已经启动,那么如何使用 比如现在有两个服

    2024年02月09日
    浏览(43)
  • 使用Xshell服务器跑程序,用pycharm连接服务器远程开发

    目标: 1.使用Xshell在服务器上创建自己项目需要的虚拟环境 2.用pycharm实现远程服务器的连接(这样就可以在本地debug或者写代码,然后再用xshell在服务器上跑) 一、使用Xshell在服务器上创建自己项目需要的虚拟环境 1.打开Xshell,连接上服务器 2.输入命令 然后就开始pip install所

    2024年02月01日
    浏览(60)
  • 本地pycharm连接远程服务器(以AutoDL为例)

    专业版PyCharm(社区版不支持远程开发功能) 远程服务器(这里使用AutoDL) 有需要的可以注册AutoDL 注册链接 复制自己的实例 SSH 指令 如果是图中的空白是因为你没有开机,开机就可以进行复制了 在 ssh -p 43677 root@region-41.seetacloud.com 命令中, 各个参数的含义为: 用户名:ro

    2023年04月08日
    浏览(53)
  • 详细完整pycharm远程连接服务器,远程环境配置,虚拟环境配置

    我发现很多教程其实都比较偏向于有基础的人,对于完全没有基础的人来说,一些微小步骤的省略都是难以跨域的鸿沟。因此,想写一篇适合小白的配置过程。 想要在pycharm上远程连接服务器,那我们得先创建一个虚拟环境,我们可以用xshell来操作。(可以自己去下载,这里

    2024年02月07日
    浏览(58)
  • pycharm:远程连接服务器调试代码(保姆级详细步骤)

    用笔记本的CPU去跑深度学习的模型,特别是计算机视觉方向,是一件不切实际的事情,所以我们大多数人的做法是----在本地写好代码,然后上传到服务器上去运行。 然而,每一次修改代码后,都要重新将代码上传服务器,这十分繁琐,如果能 直接将代码同步到服务器上 ,岂

    2024年01月18日
    浏览(73)
  • pycharm通过ssh远程连接服务器,并运行代码

    首先连接远程服务器,tool-deplayment-configuration 连接ssh,点击+,选择SFTP,然后取名 点击ssh后面的...,依次输入远程服务器的IP,用户名,密码 点击test connection,测试是否连接成功 点击确定回到上个界面,root path 是服务器的路径,可以不选,但之后remote host后会过于冗长,可以根据

    2024年02月05日
    浏览(106)
  • 本地Pycharm连接远程服务器详细配置过程(直接在本地使用服务器显卡,很棒)

    相信很多人都遇见过这种情况:实验室成员使用同一台服务器,每个人拥有自己的独立账号,我们可以使用服务器更好的配置完成实验,毕竟自己哪有money拥有自己的3090呢。通常服务器系统采用Linux,而我们平常使用频繁的是Windows系统,二者在操作方面存在很大的区别,比如

    2024年02月03日
    浏览(76)
  • Pycharm远程连接实验室服务器Conda环境配置

    这类博客较多,参考内容 https://blog.csdn.net/fengbao24/article/details/125515542 1. Settings - Add Interpreter - On SSH 注意,这里的SSH需要在你把远程的项目映射到本地之后,才会出现这个SSH选项 2. 选择对应的conda环境 naconda 的 base 环境的 python 解释器的路径为 anaconda/bin/python,其他环境的路径

    2024年04月26日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包