在由于算力不足租用AutoDL时我发现,基础功能只满足我对代码运行的需求,无法满足调试代码的需求。
我日常编写代码的工具是PyCharm,但我发现,当数据集和代码存放在云服务器时,本地电脑的PyCharm即使链接上云服务器,也无法添加断点调试(似乎只是一个用来运行代码的可视化工具),这是我想使用PyCharm连接云服务器时遇到的主要问题。
但我的同学在只使用云端算力,数据和代码均在本地的情况下时,似乎是可以用PyCharm添加断点调试的?我没有对此进行验证,因为我的数据迁移和代码迁移较为麻烦,所以我索性更换为使用VScode远程连接AutoDL。顺利使用pycharm调试的朋友也可以在评论交流。
具体实现过程参考:利用VScode连接远程服务器进行代码调试及可视化界面_vscode连接服务器运行代码-CSDN博客
目录
一、获取SSH指令及密码
二、使用VScode进行连接
1、安装套件
我安装了以下套件:
2、添加服务器
在弹出的输入框中输入SSH指令:ssh -p .....
3、配置config
(1)选中左侧最下方图标,上方下拉列表里选Remotes(Tunnels/SSH)
(2)然后点击设置,上方弹出config文件,打开进行配置。SSH指令中包含服务器ip地址、端口号、用户名(详细请参考引用文章)
4、更改设置
File->Preferences->Settings->Extension->Remote-SSH
勾选Show Login Terminal
三、连接服务器
(1)Linux->SSH host->密码->Extension->Remote-SSH
(2)打开代码文件......
四、debug调试代码
(1)安装python扩展
(2)如果是通过bash xxx.sh来运行xxx.py文件:
修改launch.json内容,这个教程有很多,可以自行检索(.sh需要传参的话也要添加进json中)
遇到的问题基本就是这样.....祝大家科研顺利....
Ps:显示tensor维度,加到需要调试文件的开头
import torch
def custom_repr(self):
return f'{{Tensor:{tuple(self.shape)}}} {original_repr(self)}'
original_repr = torch.Tensor.__repr__
torch.Tensor.__repr__ = custom_repr