华为云AI开发平台ModelArts训练过程中无法找到so文件_云淘科技

问题现象

ModelArts训练作业运行时,日志中遇到如下报错,导致训练失败:

libcudart.so.9.0 cannot open shared object file no such file or directory   

原因分析

编译生成so文件的cuda版本与训练作业的cuda版本不一致。

处理方法

编译环境的cuda版本与训练环境不一致,训练作业运行就会报错。例如:使用cuda版本为10的开发环境tf-1.13中编译生成的so包,在cuda版本为9.0训练环境中tf-1.12训练会报该错。

编译环境和训练环境的cuda版本不一致时,可参考如下处理方法:

在业务执行前加如下命令,检查是否能找到so文件。如果已经找到so文件,执行2;如果没有找到,执行3。

import os;
os.system(find /usr -name *libcudart.so*);

设置环境变量LD_LIBRARY_PATH,设置完成后,重新下发作业即可。

例如so文件的存放路径为:/use/local/cuda/lib64,LD_LIBRARY_PATH设置如下:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64)

执行如下命令,查看训练环境的cuda版本,确认当前cuda版本是否支持so文件。

os.system("cat /usr/local/cuda/version.txt")

支持。当前cuda版本无so文件,需外部导入so文件(自行在浏览器下载),再设置LD_LIBRARY_PATH,具体见2。
不支持。尝试更换引擎,重新下发作业。或者使用自定义镜像创建作业,可参考使用自定义镜像创建作业。

父主题: 云上迁移适配故障

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家