博客
关于我
工程实践_LFFD模型训练过程疑难杂症debug
阅读量:537 次
发布时间:2019-03-08

本文共 2046 字,大约阅读时间需要 6 分钟。

安装MxNet-LFFD可能会遇到一系列问题,这些问题通常与CUDA、CuDNN、MxNet版本以及OpenCV等依赖项不兼容或安装错误有关。本文将详细介绍如何解决这些常见问题,并确保MxNet-LFFD能够顺利安装和运行。

1. 检查CUDA和CuDNN安装

MxNet-LFFD需要最新的CUDA和CuDNN版本来支持GPU加速。如果不安装正确版本的CUDA和CuDNN,MxNet无法正常加载库文件,会出现以下错误:

OSError: libcudart.so.10.1: cannot open shared object file: No such file or directory

解决方法:

  • 安装CUDA

    • 访问CUDA官方下载页面
    • 根据你的操作系统选择合适的CUDA安装包。
    • 选择run文件并按照提示安装。如果 Catherine 惯用的是 Debian/Ubuntu 系统,可以使用sudo dpkg -i <下载文件>命令安装。
  • 安装CuDNN

    • 当安装完成CUDA后,安装CuDNN。
    • 访问[NVIDIA的CuDNN官网](https://developer.nvidia.com/cudnn downloads)。
    • 根据你的操作系统和CUDA版本选择对应的CuDNN版本。
    • 选择run文件并运行安装脚本。这会将CuDNN库文件安装到默认路径,例如/usr/local/lib/cudnn/...
  • 验证安装

    • 打开终端,运行以下命令验证CUDA和CuDNN是否安装成功:
    nvidia-smi  # 应该显示CPU和GPU的负载情况cat /usr/local/lib/cudnn/version.h  # 查看CuDNN版本

    如果没有错误信息,说明安装成功。

  • 2. 确保MxNet版本兼容

    MxNet-LFFD对MxNet版本有严格要求,仅适用于特定版本。如果MxNet版本不兼容,可以导致模块加载失败。

    解决方法:

  • 查看当前MxNet版本

    • 打开终端,运行:
    pip list  # 查看当前安装的Python包
    • 检查mxnet版本是否为支持版本。例如,LFFD适配mxnet >= 2.12
  • 升级MxNet

    • 如果当前版本过旧,可考虑升级:
    pip install --upgrade mxnet-cuda
    • 老旧版本的MxNet可能会影响模型训练效率,升级后可能需要重新检查依赖项。
  • 检查MxNet配置文件

    • 打开训练脚本中的配置文件(如configuration_10_320_20L_5scales_v2.py),查找以下内容:
    # 是否需要添加MxNet Python路径# if needmxnet_python_path:#   import os#   mxnet_python_path = "/home/HEYONGHAO/libs/incubator-mxnet/python"#   sys.path.append(mxnet_python_path)
    • 如果系统默认的Python路径已经包含在sys.path中,无需手动添加。如果添加了旧版本的路径,建议将其注释掉或直接使用默认路径。
  • 3. 检查OpenCV安装

    某些情况下,OpenCV版本不兼容会导致MxNet-LFFD出现错误。例如,UnicodeEncodeError提示视频解码问题。

    解决方法:

  • 卸载现有的OpenCV

    • 执行以下命令,确保系统中的现有OpenCV版本被完全卸载:
    pip uninstall opencv-python opencv-contrib-python
    • 找到~/.local目录,删除可能残留的OpenCV文件和版本文件。
  • 安装正确版本

    • 使用以下命令安装OpenCV:
    pip install opencv-python==3.4.5.20
    • 这个版本是经过测试的稳定版本,确保与MxNet-LFFD兼容。
  • 验证安装

    • 运行以下代码测试:
    import cv2print(cv2.__version__)
    • 如果版本确实是3.4.5.20,说明安装成功。
  • 4. 调整批处理大小(Batch Size)

    错误提示中提到cudaMalloc retry failed: out of memory,这通常是因为批处理大小过大导致显存不足。

    解决方法:

  • 修改批处理配置

    • 打开训练脚本,调整批处理大小参数:
    # 原始参数可能为 train_config = {'batch_size': 16}# 或者配置文件中的参数设置
    • 通常建议设置为16或32,具体取决于显存容量。
  • 运行测试

    • 用较小的批处理大小重新运行训练脚本,确保没有内存溢出的问题。
  • 总结

    通过以上步骤,逐一排查MxNet-LFFD安装可能遇到的问题,从依赖库到环境配置,再到版本兼容,确保每一步都完美安装和配置。如果在过程中依然遇到问题,可以参考【MxNet-LFFD官方文档】获取更多支持信息或联系社区求助。

    转载地址:http://gsbiz.baihongyu.com/

    你可能感兴趣的文章
    OpenMMLab | 不是吧?这么好用的开源标注工具,竟然还有人不知道…
    查看>>
    OpenMMLab | 如何解决大模型长距离依赖问题?HiPPO 技术深度解析
    查看>>
    OpenMMLab | 面向多样应用需求,书生·浦语2.5开源超轻量、高性能多种参数版本
    查看>>
    OpenMP 线程互斥锁
    查看>>
    OpenMV入门教程(非常详细)从零基础入门到精通,看完这一篇就够了
    查看>>
    OpenObserve云原生可观测平台本地Docker部署与远程访问实战教程
    查看>>
    openoffice使用总结001---版本匹配问题unknown document format for file: E:\apache-tomcat-8.5.23\webapps\ZcnsDms\
    查看>>
    views
    查看>>
    OpenPPL PPQ量化(2):离线静态量化 源码剖析
    查看>>
    OpenPPL PPQ量化(3):量化计算图的加载和预处理 源码剖析
    查看>>
    OpenPPL PPQ量化(4):计算图的切分和调度 源码剖析
    查看>>
    OpenPPL PPQ量化(5):执行引擎 源码剖析
    查看>>
    openpyxl 模块的使用
    查看>>
    OpenResty & Nginx:详细对比与部署指南
    查看>>
    openresty 前端开发入门六之调试篇
    查看>>
    OpenResty(nginx扩展)实现防cc攻击
    查看>>
    openresty完美替代nginx
    查看>>
    Openresty框架入门详解
    查看>>
    OpenResty(1):openresty介绍
    查看>>
    OpenResty(2):OpenResty开发环境搭建
    查看>>