基于Paddle2.4.0训练报错Debug

基于Paddle2.4.0训练报错Debug

  • 一、环境简介
  • 二、Debug过程
    • 错误一Debug
    • 错误二Debug
    • 错误三Debug
    • 更换PaddlePaddle版本
  • 三、总结
  • 参考文档

一、环境简介

本文背景为使用AutoDL网站的租借显卡进行网络训练,训练环境如下:
操作系统:Ubuntu18.04;
Python:3.8;
PaddlePaddle-GPU:2.4.0;
CUDA:11.2;
PaddleX:2.1.0;
显卡:RTX3090。
基于Paddle2.4.0训练报错Debug_第1张图片

二、Debug过程

在网站选定租借显卡的型号后,可根据自己所需的试验环境,选择网站预先配置好的如Tensorflow等训练架构环境,本文训练基于Paddle,而Paddle有两个版本供选择,分别为2.2.0与2.4.0,Paddle官网最新版本为2.4.1,因此选择2.4.0,如上图创建训练环境。
创建环境后,首先打开命令行输入如下命令,安装paddlex:

pip install paddlex -i https://mirror.baidu.com/pypi/simple

安装完成后,开始运行训练代码,结果报出以下错误:

错误一Debug

libpython3.8.so.1.0: cannot open shared object file: No such file or directory
在这里插入图片描述
通过搜索,解决方法如下:
首先命令行输入如下命令,查找libpython3.8.so.1.0文件路径:

find / -name libpython3.8.so.1.0

搜索得到如下两个文件路径:
在这里插入图片描述

输入如下命令,复制到/usr/lib文件夹下:

cp /root/miniconda3/lib/libpython3.8.so.1.0 /usr/lib

错误得到解决,尝试运行程序报出错误二。

错误二Debug

No module named ‘filelock’
在这里插入图片描述
使用pip安装filelock包,错误得到解决:

pip install filelock

继续尝试运行程序,得到错误三。

错误三Debug

ValueError:(InvalidArgument) argsort():argument ‘X’ (position 0)must be Tensor,but got Tensor…
在这里插入图片描述
经搜索在GitHubPaddleX的issue中得到信息,可能由于PaddlePaddle2.4.0存在bug,因此重新进行环境选择。

更换PaddlePaddle版本

选择PaddlePaddle2.2.0创建环境,如下图所示:
基于Paddle2.4.0训练报错Debug_第2张图片
环境创建完成后安装PaddleX,安装后运行程序代码,结果报出上述错误二,按照解决方法解决后,程序顺利运行。

三、总结

在Ubuntu系统下,基于RTX3090显卡,使用PaddlePaddle2.4.0进行训练存在较多问题,而更换2.2.0版本后只有少量错误且能够解决,对于PaddlePaddle其他版本未进行测试。

参考文档

编译安装error while loading shared libraries: libpython3.8.so.1.0: cannot open shared object fi
How to fix “ModuleNotFoundError: No module named ‘filelock’”
PaddleX推理程序报错:ValueError: (InvalidArgument) generate_proposals_v2(): argument ‘Scores’ (position 0) must be Tensor, but got Tensor (at …\paddle\fluid\pybind\op_function_common.cc:818)

你可能感兴趣的:(机器视觉,python,深度学习,paddle,paddlex,RTX3090)