pycharm通过ssh连接Atlas远程代码调试
近期买了块Atlas 200I DK 2A尝试做AI部署工作,记录下pycharm远程调试过程
1. 配置Atlas
通过https://www.hiascend.com/document/detail/zh/Atlas200IDKA2DeveloperKit/23.0.RC2/qs/qs_0018.html,烧制Ubantu系统、连接开发者套件、设置Type-C方式远程登录,使用MobaXterm建立ssh连接可实现对Altas的访问。昇腾文档中有详细的步骤。
2. 配置远程解释器
新建工程后,使用pycharm打开工程。然后为该工程配置远程解析器
在pycharm中点击“文件–>设置–>项目:XXX–>Python解释器”,点击右侧添加按钮。
然后选择"SSH解释器",输入主机名和用户,如果配置过网关后,主机名应该是192.168.137.2,用户名使用root。
接着选择解释器的路径,我们用Atlas自带的即可,路径在/usr/local/miniconda3/bin/python。
如果不确定,可以在ubuntu端输入
which python
然后复制给出来的路径。
然后设置路径映射,记得不要映射到/tmp文件夹,因为/tmp文件夹在Atlas重启后会清空。这样就完成了解释器的连接及路径映射。
此时如果连接成功的话,就是建立了本机文件夹到Atlas文件夹的映射,虽然代码是在PC端,但是实际上是通过Atlas的python程序和Atlas中的代码进行运行或者调试的。
3.配置环境变量
此时我们调试代码,假如就用昇腾文档中的运行样例,通过ais_bench.infer.interface进行推理,会报错:
ImportError: libascendcl.so: cannot open shared object file: No such file or directory
这是因为我们运行代码时没有使用Atlas的环境变量
这是在Atlas端输入以下命令查看LD_LIBRARY_PATH
echo $LD_LIBRARY_PATH
会显示一串路径,用冒号分割。
然后复制这段路径,到pycharm的右上角
点击编辑配置。
然后点击环境变量右侧的小图标
点击加号,然后在左侧输入LD_LIBRARY_PATH,右侧输入刚才获取到的路径,我的是
/usr/local/Ascend/ascend-toolkit/latest/lib64:/usr/local/Ascend/ascend-toolkit/latest/lib64/plugin/opskernel:/usr/local/Ascend/ascend-toolkit/latest/lib64/plugin/nnengine:/usr/local/Ascend/ascend-toolkit/latest/opp/built-in/op_impl/ai_core/tbe/op_tiling:/var/davinci/driver/lib64:/var/davinci/driver/lib64/common:/var/davinci/driver/lib64/driver:/usr/local/Ascend/ascend-toolkit/latest/lib64:/usr/local/Ascend/ascend-toolkit/latest/lib64/plugin/opskernel:/usr/local/Ascend/ascend-toolkit/latest/lib64/plugin/nnengine:/usr/local/Ascend/ascend-toolkit/latest/opp/built-in/op_impl/ai_core/tbe/op_tiling:/var/davinci/driver/lib64:/var/davinci/driver/lib64/common:/var/davinci/driver/lib64/driver:/usr/local/Ascend/ascend-toolkit/latest/lib64:/usr/local/Ascend/ascend-toolkit/latest/lib64/plugin/opskernel:/usr/local/Ascend/ascend-toolkit/latest/lib64/plugin/nnengine:/usr/local/Ascend/ascend-toolkit/latest/opp/built-in/op_impl/ai_core/tbe/op_tiling:/var/davinci/driver/lib64:/var/davinci/driver/lib64/common:/var/davinci/driver/lib64/driver:
在取消选中“包括系统环境变量”
点击确定、应用。这样就完成了pycharm启动该代码的环境变量的设置。就能愉快的进行调试啦。
4. pycharm端import acl失败
网上都说运行
. /usr/local/Ascend/ascend-toolkit/set_env.sh
然后就能打印出来路径。
可是我运行以后根本没有输出啊。
于是查看一下系统的环境变量
env
然后把PYTHONPATH添加到pycharm的环境变量里,就ok啦~