1.GTX 1080 + macOS10.13.2 + MXNet
2.(三十八)通俗易懂理解——MXNet如何生成.lst文件和.rec文件
3.制作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工具,asp源码 词条通过参数如`--list`生成lst文件,`--recursive`遍历子目录,`--train_ratio`设置训练与测试的比例,以及指定文件前缀和文件夹路径。打包完成后,就生成了lst和相应的rec、idx文件。
目标检测略有不同,不能直接使用im2rec,寻秦 源码如VOC数据集,其xml文件包含了的标注信息。制作lst文件时,需要从xml中提取锚框坐标、id、名称和尺寸等信息,以'\t'分隔。然后,遵循分类的python merge 源码打包流程,将这些信息与图像一起打包成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文件进行模型训练。