1.(三十八)通俗易懂理解——MXNet如何生成.lst文件和.rec文件
2.GTX 1080 + macOS10.13.2 + MXNet
3.推理引擎新选择,腾讯优图开源TNN,ncnn的性能升级版
4.GroupSoftmax:利用COCO和CCTSDB训练83类检测器
(三十八)通俗易懂理解——MXNet如何生成.lst文件和.rec文件
在MXNet中进行图像项目的处理时,图像读取方法有两路:一是通过.rec格式,虽然文件稳定可移植,但文件较大占用空间;二是c .net源码利用.lst文件与图像结合,lst文件记录路径和标签,便于数据管理,但对图像格式要求高,且对文件路径的完整性敏感。对于分类和目标检测,流程略有差异。
首先,从文件结构开始,需在根目录下建立文件夹,如im2rec源码、空的mxrec存放打包文件,以及hot_dog、not_hot_dog等子文件夹。素材和源码针对分类任务,执行im2rec.py工具,通过参数如`--list`生成lst文件,`--recursive`遍历子目录,`--train_ratio`设置训练与测试的比例,以及指定文件前缀和文件夹路径。打包完成后,就生成了lst和相应的rec、idx文件。
目标检测略有不同,不能直接使用im2rec,如VOC数据集,其xml文件包含了的标注信息。制作lst文件时,需要从xml中提取锚框坐标、id、名称和尺寸等信息,以'\t'分隔。威士忌溯源码然后,遵循分类的打包流程,将这些信息与图像一起打包成rec文件。
总结来说,MXNet通过lst和rec文件的配合,提供了灵活和稳定的数据管理方式,但需要注意文件格式的兼容性和路径完整性,具体操作根据任务类型(分类或目标检测)进行适当的调整。
GTX + macOS..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æåä¿®æ¹ä¸ºæ£ç¡®çå³å¯ï¼
推理引擎新选择,腾讯优图开源TNN,ncnn的性能升级版
在AI领域,“开源”被视为构建开放共进生态环境、加速应用落地和持续技术创新的关键力量。腾讯优图实验室于6月日正式宣布开源了新一代移动端深度学习推理框架TNN,旨在通过底层技术优化,实现轻量部署,显著提升性能并简化使用,满足移动设备高效执行深度学习算法的cms站源码需求。TNN不仅在性能上取得突破,还通过重构升级ncnn框架,引入了多种计算低精度支持,进一步提高模型尺寸、内存消耗和计算性能,特别是在移动端展现出显著优势。
轻量级部署是TNN的一大亮点。针对移动端性能和资源限制,TNN优化了GPU深度调优、ARM SIMD深入汇编指令调优和低精度计算技术,实现在不同平台的高性能运行。实测结果显示,TNN在多款主流平台上的性能表现优于MNN和ncnn,尤其是在低精度计算的应用中,通过采用INT8、FP和BFP等计算低精度,TNN不仅模型尺寸和内存消耗大幅减少,计算性能也显著提升,源码macd指标尤其是在中低端设备上。
TNN的通用性和轻便性使其在AI项目落地中展现出极高的灵活性和效率。它支持与平台无关的模型表示,提供统一的模型描述文件和调用接口,兼容主流安卓、iOS系统和CPU、GPU、NPU等硬件平台,企业无需为不同平台部署AI应用而烦恼。TNN还兼容TensorFlow、PyTorch、MXNet、Caffe等主流训练框架,覆盖了广泛的应用场景,且所有算子均为源码实现,接口易用,切换平台仅需调整调用参数。
开源文化在AI领域蓬勃发展,腾讯优图作为顶级AI实验室之一,积极参与这一趋势。TNN的开源不仅为腾讯内部产品如QQ、QQ空间、腾讯微视、腾讯云和天天P图提供了强有力的技术支持,还鼓励业界人士共同建设更优的移动端推理框架。腾讯优图将继续推进AI基础设施的研发,包括模型训练、压缩和基础算法组件的开发,并考虑开源更多成果,以实现从框架到平台、算法的全栈优化,降低AI门槛,加速产业发展。
在开源文化的推动下,腾讯在GitHub上开源了超过个项目,覆盖云原生、大数据、AI、云计算、安全、硬件等热门技术领域。通过与开源社区的协作,腾讯将优质内部项目对外贡献,不仅促进了公司内部的技术复用,也提升了社区的整体技术水平。TNN的开源地址已公布,欢迎开发者参与,共同构建更优秀的移动端推理框架。
GroupSoftmax:利用COCO和CCTSDB训练类检测器
在CV领域,工程师常利用YOLO、Faster RCNN、CenterNet等检测算法处理业务数据,旨在优化模型性能。然而,当模型在实际业务中发挥作用时,CEO的质疑往往紧随而来。为解决这一问题,我们设计了GroupSoftmax交叉熵损失函数,以解决模型训练的三大挑战。该函数允许类别合并,形成新的组合类别,从而在训练时计算出各类别对应梯度,完成网络权重更新。理论上,GroupSoftmax交叉熵损失函数兼容多种数据集联合训练。
我们利用了COCO和CCTSDB数据集,基于Faster RCNN算法(SyncBN),联合训练了一个包含类的检测器。在COCO_minival测试集上,使用GroupSoftmax交叉熵损失函数训练的模型在mAP指标上提升了0.7个点,达到.3,相比原始Softmax交叉熵损失函数,性能显著提升。此外,我们还训练了一个trident*模型,6个epoch在COCO_minival测试集上的mAP为.0,充分验证了GroupSoftmax交叉熵损失函数的有效性。
基于SimpleDet检测框架,我们实现了mxnet版本的GroupSoftmax交叉熵损失函数,并在GitHub上开源了源码。GroupSoftmax交叉熵损失函数的原理在于允许类别合并形成群组,计算群组类别概率的交叉熵损失,进而对激活值进行梯度计算。具体而言,当目标类别属于某个群组类别时,其梯度为群组类别梯度与子类别预测概率的比值。这样,GroupSoftmax交叉熵损失函数在处理类别合并情况时,能够有效更新网络权重。
实现GroupSoftmax交叉熵损失函数时,需要注意以下几点:
1. 对于未标注类别的数据集,可理解为与背景组成新的群组类别。
2. 在两阶段检测算法中,RPN网络应根据数据集特性调整为多分类,以适应模型训练需求。
3. 联合训练COCO和CCTSDB数据集时,最终分类任务为1+类,未标注类别的数据集可与背景组成组合类别。
4. 编写CUDA代码时,计算群组类别概率时,需加微小量避免分母为0导致的计算错误。