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

    你可能感兴趣的文章
    NHibernate异常:No persister for的解决办法
    查看>>
    NIFI1.21.0_Mysql到Mysql增量CDC同步中_日期类型_以及null数据同步处理补充---大数据之Nifi工作笔记0057
    查看>>
    NIFI1.21.0_NIFI和hadoop蹦了_200G集群磁盘又满了_Jps看不到进程了_Unable to write in /tmp. Aborting----大数据之Nifi工作笔记0052
    查看>>
    NIFI1.21.0通过Postgresql11的CDC逻辑复制槽实现_指定表多表增量同步_增删改数据分发及删除数据实时同步_通过分页解决变更记录过大问题_02----大数据之Nifi工作笔记0054
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_根据binlog实现数据实时delete同步_实际操作04---大数据之Nifi工作笔记0043
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置binlog_使用处理器抓取binlog数据_实际操作01---大数据之Nifi工作笔记0040
    查看>>
    NIFI从MySql中增量同步数据_通过Mysql的binlog功能_实时同步mysql数据_配置数据路由_实现数据插入数据到目标数据库_实际操作03---大数据之Nifi工作笔记0042
    查看>>
    NIFI从MySql中离线读取数据再导入到MySql中_03_来吧用NIFI实现_数据分页获取功能---大数据之Nifi工作笔记0038
    查看>>
    NIFI从PostGresql中离线读取数据再导入到MySql中_带有数据分页获取功能_不带分页不能用_NIFI资料太少了---大数据之Nifi工作笔记0039
    查看>>
    NIFI同步MySql数据_到SqlServer_错误_驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server_Navicat连接SqlServer---大数据之Nifi工作笔记0047
    查看>>
    Nifi同步过程中报错create_time字段找不到_实际目标表和源表中没有这个字段---大数据之Nifi工作笔记0066
    查看>>
    NIFI大数据进阶_FlowFile拓扑_对FlowFile内容和属性的修改删除添加_介绍和描述_以及实际操作---大数据之Nifi工作笔记0023
    查看>>
    NIFI大数据进阶_NIFI的模板和组的使用-介绍和实际操作_创建组_嵌套组_模板创建下载_导入---大数据之Nifi工作笔记0022
    查看>>
    NIFI大数据进阶_NIFI监控的强大功能介绍_处理器面板_进程组面板_summary监控_data_provenance事件源---大数据之Nifi工作笔记0025
    查看>>
    NIFI大数据进阶_内嵌ZK模式集群1_搭建过程说明---大数据之Nifi工作笔记0015
    查看>>
    NIFI大数据进阶_外部ZK模式集群1_实际操作搭建NIFI外部ZK模式集群---大数据之Nifi工作笔记0017
    查看>>
    NIFI大数据进阶_离线同步MySql数据到HDFS_01_实际操作---大数据之Nifi工作笔记0029
    查看>>
    NIFI大数据进阶_离线同步MySql数据到HDFS_02_实际操作_splitjson处理器_puthdfs处理器_querydatabasetable处理器---大数据之Nifi工作笔记0030
    查看>>
    NIFI大数据进阶_连接与关系_设置数据流负载均衡_设置背压_设置展现弯曲_介绍以及实际操作---大数据之Nifi工作笔记0027
    查看>>
    NIFI数据库同步_多表_特定表同时同步_实际操作_MySqlToMysql_可推广到其他数据库_Postgresql_Hbase_SqlServer等----大数据之Nifi工作笔记0053
    查看>>