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

    你可能感兴趣的文章
    Nginx 反向代理解决跨域问题
    查看>>
    Nginx 反向代理配置去除前缀
    查看>>
    nginx 后端获取真实ip
    查看>>
    Nginx 多端口配置和访问异常问题的排查与优化
    查看>>
    Nginx 如何代理转发传递真实 ip 地址?
    查看>>
    Nginx 学习总结(16)—— 动静分离、压缩、缓存、黑白名单、性能等内容温习
    查看>>
    Nginx 学习总结(17)—— 8 个免费开源 Nginx 管理系统,轻松管理 Nginx 站点配置
    查看>>
    Nginx 学习(一):Nginx 下载和启动
    查看>>
    nginx 常用指令配置总结
    查看>>
    Nginx 常用配置清单
    查看>>
    nginx 常用配置记录
    查看>>
    nginx 开启ssl模块 [emerg] the “ssl“ parameter requires ngx_http_ssl_module in /usr/local/nginx
    查看>>
    Nginx 我们必须知道的那些事
    查看>>
    Nginx 的 proxy_pass 使用简介
    查看>>
    Nginx 的配置文件中的 keepalive 介绍
    查看>>
    Nginx 结合 consul 实现动态负载均衡
    查看>>
    Nginx 负载均衡与权重配置解析
    查看>>
    Nginx 负载均衡详解
    查看>>
    nginx 配置 单页面应用的解决方案
    查看>>
    nginx 配置https(一)—— 自签名证书
    查看>>