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
设置自动同步
修改完远程文件后也可以在编辑面板右上角找到上传按钮,修改完远程文件后也可以在编辑面板右上角找到上传按钮,很好用,详见参考资料
参考资料