欢迎来到皮皮网网首页

【千蛛 源码】【jquery源码分析 on】【stl源码解析 pdf】mxnet源码

来源:挺进地牢 unity源码 时间:2024-12-29 13:58:51

1.(三十八)通俗易懂理解——MXNet如何生成.lst文件和.rec文件
2.GTX 1080 + macOS10.13.2 + MXNet
3.推理引擎新选择,腾讯优图开源TNN,ncnn的性能升级版
4.GroupSoftmax:利用COCO和CCTSDB训练83类检测器

mxnet源码

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

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

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

       目标检测略有不同,不能直接使用im2rec,如VOC数据集,其xml文件包含了的标注信息。制作lst文件时,需要从xml中提取锚框坐标、id、名称和尺寸等信息,以'\t'分隔。stl源码解析 pdf然后,遵循分类的打包流程,将这些信息与图像一起打包成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,旨在通过底层技术优化,实现轻量部署,显著提升性能并简化使用,满足移动设备高效执行深度学习算法的人气云平台源码需求。TNN不仅在性能上取得突破,还通过重构升级ncnn框架,引入了多种计算低精度支持,进一步提高模型尺寸、内存消耗和计算性能,特别是在移动端展现出显著优势。

       轻量级部署是TNN的一大亮点。针对移动端性能和资源限制,TNN优化了GPU深度调优、ARM SIMD深入汇编指令调优和低精度计算技术,实现在不同平台的高性能运行。实测结果显示,TNN在多款主流平台上的性能表现优于MNN和ncnn,尤其是在低精度计算的应用中,通过采用INT8、FP和BFP等计算低精度,TNN不仅模型尺寸和内存消耗大幅减少,计算性能也显著提升,舒适家居集成 源码尤其是在中低端设备上。

       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导致的计算错误。