技巧一:有的时候需要远程跑实验代码,这种时候一般我们通过ssh连接到服务器,然后在ssh中运行代码。这种运行方式会在退出本地终端或IDE时顺带把我们执行的代码也终止掉。如果希望退出本地终端时服务器继续执行代码,可以使用screen指令:
screen -S 起个名字然后在唤起的screen中执行代码,就可以实现退出本地端后服务器继续执行代码了。
要离开screen,可以使用ctrl+a+d,此时screen运行在后台。
希望重新进入时,使用:
screen -r 起的名字就能连接了,如果上次没有正常退出,就加个-D就行
screen -D -r 起的名字小tips:在screen中光标没法自由移动,而且滚轮也不能滚动历史记录,此时可以使用ctrl+a+[进入screen复制模式,从而可以使用上下左右移动光标查看历史输出信息。
技巧二:远程代码难以调试,总不能一直使用print吧。。。所以可以试试python的pdb库,在终端中调试代码。
使用方法:
import pdb
pdb.set_trace()然后代码执行到这句话(就是设置个断点)就会停下进入pdb模式。需要注意的是,华为mindspore框架中,GRAPH模式不能使用这个库,因为它不是JIT Callback Functions,调试时切换到PYNATIVE模式即可。
在pdb模式中,一定要记住两个指令,n代表执行下一行,c代表执行到下一次遇到该断点。
(pdb) n
(pdb) c技巧三:后续还会更新!
文章介绍了两个远程操作技巧:一是使用screen命令在SSH连接中保持代码持续运行,即使关闭本地终端;二是利用Python的pdb库进行远程代码调试,特别是在Mindspore的PYNATIVE模式下进行调试。
1477

被折叠的 条评论
为什么被折叠?



