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

    你可能感兴趣的文章
    notepad++正则表达式替换字符串详解
    查看>>
    notepad如何自动对齐_notepad++怎么自动排版
    查看>>
    Notes on Paul Irish's "Things I learned from the jQuery source" casts
    查看>>
    Notification 使用详解(很全
    查看>>
    NotImplementedError: Cannot copy out of meta tensor; no data! Please use torch.nn.Module.to_empty()
    查看>>
    NotImplementedError: Could not run torchvision::nms
    查看>>
    nova基于ubs机制扩展scheduler-filter
    查看>>
    Now trying to drop the old temporary tablespace, the session hangs.
    查看>>
    nowcoder—Beauty of Trees
    查看>>
    np.arange()和np.linspace()绘制logistic回归图像时得到不同的结果?
    查看>>
    np.power的使用
    查看>>
    NPM 2FA双重认证的设置方法
    查看>>
    npm build报错Cannot find module ‘webpack/lib/rules/BasicEffectRulePlugin‘解决方法
    查看>>
    npm build报错Cannot find module ‘webpack‘解决方法
    查看>>
    npm ERR! ERESOLVE could not resolve报错
    查看>>
    npm ERR! fatal: unable to connect to github.com:
    查看>>
    npm ERR! Unexpected end of JSON input while parsing near '...on":"0.10.3","direc to'
    查看>>
    npm ERR! Unexpected end of JSON input while parsing near ‘...“:“^1.2.0“,“vue-html-‘ npm ERR! A comp
    查看>>
    npm error Missing script: “server“npm errornpm error Did you mean this?npm error npm run serve
    查看>>
    npm error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”。要解决此问题,1) 安装
    查看>>