皮皮网
皮皮网

【仿陌信源码】【nasm源码笔记】【源码铺优选】mxnet 源码解读

时间:2024-12-23 22:47:36 来源:掌盟 源码

1.GTX 1080 + macOS10.13.2 + MXNet
2.(三十八)通俗易懂理解——MXNet如何生成.lst文件和.rec文件
3.制作MXNET数据集

mxnet 源码解读

GTX 1080 + macOS10.13.2 + MXNet

       æœ€åˆæ‰“ç®—ä¹° Ti,发现 Ti+拓展坞的组合比Gigabyte AORUS GTX Gaming Box贵很多,犹豫再三,还是购买了,妥妥地够用。

        Gigabyte AORUS GTX 官方驱动不支持macOS。我的系统是macOS..4,查过很多资料后,发现解决方案比较麻烦,需要使用macOS ..3的kext,如下图:

        最终还是将系统从..4降到了..2。严格按照 步骤 安装:

       å®‰è£…成功后在Graphics/Displays和NVIDIA Driver Manager可查到外置显卡的信息:

        目前无法通过pip安装GPU版本的MXNet,只能通过 源码 )安装:

       å®‰è£…好CUDA9.1后,测试GPU:

        安装好cuDNN7.0.5,构建MXNet,最后采用基于MXNet的测试用例验证一下包:

        安装过程中需要注意的是:

        用install_name_tool将lib指向修改为正确的即可:

(三十八)通俗易懂理解——MXNet如何生成.lst文件和.rec文件

       在MXNet中进行图像项目的码解处理时,图像读取方法有两路:一是码解通过.rec格式,虽然文件稳定可移植,码解但文件较大占用空间;二是码解利用.lst文件与图像结合,lst文件记录路径和标签,码解便于数据管理,码解仿陌信源码但对图像格式要求高,码解且对文件路径的码解完整性敏感。对于分类和目标检测,码解流程略有差异。码解

       首先,码解从文件结构开始,码解需在根目录下建立文件夹,码解如im2rec源码、码解空的码解mxrec存放打包文件,以及hot_dog、not_hot_dog等子文件夹。针对分类任务,执行im2rec.py工具,nasm源码笔记通过参数如`--list`生成lst文件,`--recursive`遍历子目录,`--train_ratio`设置训练与测试的比例,以及指定文件前缀和文件夹路径。打包完成后,就生成了lst和相应的rec、idx文件。

       目标检测略有不同,不能直接使用im2rec,源码铺优选如VOC数据集,其xml文件包含了的标注信息。制作lst文件时,需要从xml中提取锚框坐标、id、名称和尺寸等信息,以'\t'分隔。然后,遵循分类的橙色渐变源码打包流程,将这些信息与图像一起打包成rec文件。

       总结来说,MXNet通过lst和rec文件的配合,提供了灵活和稳定的数据管理方式,但需要注意文件格式的兼容性和路径完整性,具体操作根据任务类型(分类或目标检测)进行适当的调整。

制作MXNET数据集

       在MXNet框架中,读取图像主要采用两种方法:一种是处理.rec格式文件,类似于Caffe框架中的彩虹城堡源码LMDB,优点在于文件稳定,移植性强,但在空间占用和数据增删灵活性上存在不足。另一种方式是结合.lst文件与图像,首先在生成.rec文件过程中会同步创建.lst文件,即图像路径与标签对应列表,以此灵活控制训练集与测试集变化,但对图像格式要求严格,且在图像路径变更或删除时可能无法找到对应图像。MXNet提供im2rec.py文件来生成.lst和.rec文件,源码可从官方GitHub下载,具体参数解释详尽,使用时只需指定.lst文件位置、图像文件夹及数据前缀。

       使用im2rec.py文件生成.lst和.rec文件的步骤如下:

       1. 首先,使用命令行运行im2rec.py,参数包括输出.lst文件位置、文件夹路径和数据前缀,例如:python im2rec.py --list /home/mark7/Downloads/data /home/mark7/Downloads/test_images。这将生成对应.lst文件,格式为:路径与标签的对应列表。

       2. 其次,使用已生成的.lst文件和文件夹路径,运行另一条命令生成.rec文件,如:python im2rec.py /home/mark7/Downloads/data /home/mark7/Downloads/test_images,这将完成.rec文件的生成。

       在自定义数据集时,需自行制作.lst文件。一种常用工具是labelme,其生成的标签文件可通过Python的json处理模块读取,获取标注数据。MXNet要求lst文件格式固定,需参照官方文档理解具体意义。在处理标注数据后,可自动生成lst文件,如使用python处理后的json文件内容制作lst文件,再使用im2rec.py生成.rec文件。最终,通过调用MXNet函数,即可利用自定义的rec、lst和inx文件进行模型训练。

更多内容请点击【百科】专栏