准备阶段
- Professional 版的 PyCharm
因为只有 Professional 版的才有 ssh interpreter 功能。 下载地址:
http://www.jetbrains.com/pycharm/download/#section=windows
我下载下来是 pycharm-professional-2018.1.4.exe 激活 PyCharm
按照这个教程走的,因为内网机无法上网,用的第3种激活方法。
简单说就是:- 下载
https://pan.baidu.com/s/1qjI9uHaw0x374rwu6H8djA
并将 JetbrainsCrack-2.8-release-enc.jar 放置到 D盘根目录。 - 在 Pycharm安装目录的\bin目录下找到
pycharm.exe.vmoptions
和pycharm64.exe.vmoptions
,以文本格式打开并同时在两个文件最后追加一行-javaagent:D:/JetbrainsCrack-2.8-release-enc.jar
,然后保存。 - 启动PyCharm, 选择激活码激活,输入内容激活码激活。
- 下载
确认在服务器上 用GPU的tensorflow 跑TF 程序没问题。
- 准备好 SSH的username and password
配置阶段
- 配置并选择python远程解释器。
- 打开PyCharm,瞎创建一个test项目 -> File -> Settings -> Project Interpreter -> 点击齿轮 -> Add..
-> SSH Interpreter -> 输入 host+port, ssh的username -> ssh的password - 填上Interpreter,也就是服务器端配好的python解释器。可能是长这样
/usr/...../python3.6
; 修改Sync folders, 也就是项目文件夹同步到服务器端的指定文件夹。建议新建一个,默认值会同步到一个奇怪的路径。。 - 回到PyCharm的Project Interpreter, 选定刚才配置的解释器。
- 打开PyCharm,瞎创建一个test项目 -> File -> Settings -> Project Interpreter -> 点击齿轮 -> Add..
- 跑一个tensorflow的GPU测试程序,输出两个True就是OK啦~
import tensorflow as tf
a = tf.test.is_built_with_cuda() # 判断CUDA是否可以用
b = tf.test.is_gpu_available(
cuda_only=False,
min_cuda_compute_capability=None
) # 判断GPU是否可以用
print(a)
print(b)
参考文章:
https://blog.csdn.net/qq_28509513/article/details/80638823
给出了配置过程中对应的截图演示,易于对照理解。
喜闻乐见的踩坑阶段
- 运行最后测试程序时报错:
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory
在服务器上gpu版tf跑得好好的,但是上述环境中跑普通python程序都没问题,带上tf就报错了。
原因:
PyCharm无法找到服务器端的CUDA的libcupti.so文件。
我们需要手动配置PyCharm的环境变量。
解决方法:
PyCharm的Run -> Edit Configurations.. -> 修改Environment variables -> 增加一项:NAME=LD_LIBRARY_PATH
, Value=:/usr/local/lib64:/usr/local/cuda/extras/CUPTI/lib64
然而即使是将这个环境变量设置到Edit Configurations页面的Defaults->python的环境变量里,重启PyCharm之后,这个环境变量还是会消失,我也还在找可以一次设置一直使用的设置方法。。
参考文章:
https://blog.csdn.net/dl_chenbo/article/details/53262230
给出了图示,给出了这个解决方法。但是没提到彻底解决的方法。
https://www.v2ex.com/t/355101
这里说可能是最初配置tensorflow的时候出的问题..