使用PyCharm通过SSH连接远程GPU服务器

准备阶段

  1. Professional 版的 PyCharm
    因为只有 Professional 版的才有 ssh interpreter 功能。 下载地址:
    http://www.jetbrains.com/pycharm/download/#section=windows
    我下载下来是 pycharm-professional-2018.1.4.exe
  2. 激活 PyCharm
    按照这个教程走的,因为内网机无法上网,用的第3种激活方法。
    简单说就是:

    1. 下载 https://pan.baidu.com/s/1qjI9uHaw0x374rwu6H8djA 并将 JetbrainsCrack-2.8-release-enc.jar 放置到 D盘根目录。
    2. 在 Pycharm安装目录的\bin目录下找到 pycharm.exe.vmoptionspycharm64.exe.vmoptions ,以文本格式打开并同时在两个文件最后追加一行 -javaagent:D:/JetbrainsCrack-2.8-release-enc.jar,然后保存。
    3. 启动PyCharm, 选择激活码激活,输入内容激活码激活。
  3. 确认在服务器上 用GPU的tensorflow 跑TF 程序没问题。

  4. 准备好 SSH的username and password

配置阶段

  1. 配置并选择python远程解释器。
    1. 打开PyCharm,瞎创建一个test项目 -> File -> Settings -> Project Interpreter -> 点击齿轮 -> Add..
      -> SSH Interpreter -> 输入 host+port, ssh的username -> ssh的password
    2. 填上Interpreter,也就是服务器端配好的python解释器。可能是长这样 /usr/...../python3.6 ; 修改Sync folders, 也就是项目文件夹同步到服务器端的指定文件夹。建议新建一个,默认值会同步到一个奇怪的路径。。
    3. 回到PyCharm的Project Interpreter, 选定刚才配置的解释器。
  2. 跑一个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
给出了配置过程中对应的截图演示,易于对照理解。


喜闻乐见的踩坑阶段

  1. 运行最后测试程序时报错
    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的时候出的问题..

猜你喜欢

转载自blog.csdn.net/YiRanZhiLiPoSui/article/details/81042287