Pycharm 配置remote 进行tensorflow远程开发调试
每次在本地修改完代码之后上传到服务器,使用print来监视某些中间变量来debug实在是太不方便了,为了方便远程debug, 今天配置使用了一下pycharm的remote功能
记下来以后再配的时候不用找了
工具
pycharm professional
配置了ssh服务的服务器
文件同步配置
-
打开面板
Tools -> Deployment -> Configuration -
点击
+号新建一个配置,输入配置名Name,随便起,Type选择SFTP,然后点击确认。 -
配置服务器的 IP和端口,验证方式可以选择用户名和密码或者是使用私钥文件,putty的.ppk也支持
-
配置根目录,
Root Path是项目文件在远程服务器中的根目录,根据需求配置,例如/home/zhangsan/workplace -
路径映射
Mappings,Local Path设置为 Windows 下的工程目录,Deployment path on server设置为远程服务器的目录,根据自己的需要设置 -
Excluded Paths设置不需要同步的目录,如配置文件,数据集,checkpoint等。 -
Tools -> Deployment -> Options,将Create Empty directories打上勾,要是指定的文件夹不存在,会自动创建。
设置远程的python解释器
-
菜单栏
File -> Settings,进入设置面板后选择Project -> Project Interpreter,然后在右边,点击那个小齿轮进行设置。 -
点击
Add Remote,选择SSH Credentials,Python interpreter path选择自己需要的远程服务器的解释器。 -
在运行程序的时候,配置
Run的时候选择刚刚配置的解释器就能远程调试了,跟使用本地解释器类似,但是还需要设置环境变量。 -
Run -> Edit Configurations

为了使用tensorflow的gpu版本,需要设置环境变量Environment variables,这里cuda9.0可设置为/usr/local/cuda-9.0/lib64, 需要其他环境依赖的话方法类似
如果执行.py的时候需要传入命令行参数,可在Parameters中填写(只需要写 --arg=value部分), args中字符串的值不需要加引号,加了好像会被认为是字符串的一部分,这点和直接在bash中不一样,在bash中引号没有影响。
文件同步等
tools -> Development -> Automatic Upload 设置自动同步
修改完远程文件后也可以在编辑面板右上角找到上传按钮,修改完远程文件后也可以在编辑面板右上角找到上传按钮,很好用,详见参考资料

参考资料