博客
关于我
工程实践_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/

    你可能感兴趣的文章
    nodejs支持ssi实现include shtml页面
    查看>>
    Nodejs教程09:实现一个带接口请求的简单服务器
    查看>>
    nodejs服务端实现post请求
    查看>>
    nodejs框架,原理,组件,核心,跟npm和vue的关系
    查看>>
    Nodejs概览: 思维导图、核心技术、应用场景
    查看>>
    nodejs模块——fs模块
    查看>>
    Nodejs模块、自定义模块、CommonJs的概念和使用
    查看>>
    nodejs生成多层目录和生成文件的通用方法
    查看>>
    nodejs端口被占用原因及解决方案
    查看>>
    Nodejs简介以及Windows上安装Nodejs
    查看>>
    nodejs系列之express
    查看>>
    nodejs系列之Koa2
    查看>>
    Nodejs连接mysql
    查看>>
    nodejs连接mysql
    查看>>
    NodeJs连接Oracle数据库
    查看>>
    nodejs配置express服务器,运行自动打开浏览器
    查看>>
    NodeMCU教程 http请求获取Json中文乱码解决方案
    查看>>
    Nodemon 深入解析与使用
    查看>>
    NodeSession:高效且灵活的Node.js会话管理工具
    查看>>
    node~ http缓存
    查看>>