GluonCV

https://zhuanlan.zhihu.com/p/36126793

MXNet是一个基于深度学习的开源框架,由亚马逊公司于2015年发布。MXNet支持多种编程语言,包括Python、C++、Julia、Matlab和JavaScript等,同时也支持多种硬件平台,包括CPU、GPU和FPGA等。

MXNet最初是为了解决深度学习领域的大规模数据和复杂模型的训练而设计的。它的设计理念是高效、灵活和可扩展性强,可以在分布式环境下进行高效的训练。MXNet采用了混合精度训练和自动混合调度等技术,可以在保持高精度的同时提高训练速度。

MXNet拥有丰富的深度学习模型库和预训练模型,支持多种计算机视觉、自然语言处理和推荐系统等任务。此外,MXNet也支持用户自定义模型和算法的开发和部署,可以方便地与其他工具和框架集成使用。

总之,MXNet是一个高效、灵活和可扩展性强的深度学习框架,适用于各种大规模和复杂的深度学习任务。它的开源和跨平台特性使得它成为了深度学习研究和应用领域的重要工具之一。

这里是引用作者:知乎用户
链接:https://www.zhihu.com/question/52498007/answer/132740342
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

mxnet用户来谈谈感受。优点:速度快省显存。在复现一个caffe
model的时候我们用了resnet,原版caffe的显存占用至少是mxnet的两倍。
缺点:1.API文档差。这个问题很多人也提过了,很多时候要看源码才能确定一个函数具体是做什么的,看API描述有时候并不靠谱,因为文档有点过时。不过毕竟开源力量有限,这都是可以理解的,希望有AWS撑腰后会有所改善。
2. 缺乏完善的自定义教程。比如写data iter的时候,train和validation的data
shape必须一致,这是我当时找了半天的一个bug。3.
代码小bug有点多。mxnet的大神们开发速度确实是快,但是有的layer真的是有bug,暑假我们就修了不少。举个例子,原来batch
norm的实现就是有问题的,不知道现在主branch有没有修复。写代码有bug其实很正常,这些小bug有时候不会导致你完全跑不了,而是精度到一定程度就上不去了,但是因为真正用mxnet来刷benchmark死磕精度的人并不多,这就很难发现的了了。很多人死活跑不出想要的精度然后又不像我们一样死磕,就弃坑了。总结:性能确实是非常好,但是如果没人带的话,上手难度太大。大家时间都很宝贵,搞研究的人只想快速出原型调参数,不是所有人都有时间来踩坑然后一点点看源码来学的。虽然我会继续用mxnet(在我已经基本学会的情况下速度快省显存确实是很吸引人的特性),但是我不太会推荐身边的人在没有mxnet老司机带路的情况下入坑。

Gluon CV是一个基于MXNet深度学习框架的计算机视觉工具包,旨在为计算机视觉研究人员和开发人员提供高效的开发工具和丰富的预训练模型。

GluonCV提供了大量的计算机视觉任务的预训练模型和工具,包括图像分类、目标检测、分割、姿态估计、图像生成等。同时,GluonCV还提供了一些用于数据增强、模型评估、可视化和部署的实用工具。

GluonCV的目标是简化计算机视觉的开发流程,让研究人员和开发人员可以更轻松地使用深度学习技术来解决实际的计算机视觉问题。GluonCV的设计哲学是简单易用、高效可靠、灵活性强,同时提供最新的研究成果和最先进的技术。

GluonCV

官网:http://gluon-cv.mxnet.io/
github:https://github.com/dmlc/gluon-cv

Gluon-NLP

github:https://github.com/dmlc/gluon-nlp

GluonCV
1 简介

GluonCV提供了计算机视觉领域最先进的(SOTA)深度学习算法的实现。它旨在帮助工程师,研究人员和学生快速制作产品原型,验证新想法并学习计算机视觉。

GluonCV支持多种计算机视觉模型,包括图像分类、目标检测、全景分割、实例分割、关键点检测等任务。以下是GluonCV支持的一些常见模型:

  1. 图像分类模型:ResNet、MobileNet、DenseNet、VGG、Inception等。

  2. 目标检测模型:SSD、Faster R-CNN、YOLO、RetinaNet、CenterNet等。

  3. 全景分割模型:DeepLab、PSPNet、HRNet等。

  4. 实例分割模型:Mask R-CNN、YOLACT、BlendMask等。

  5. 关键点检测模型:Hourglass、OpenPose等。

此外,GluonCV还提供了一些用于图像生成、超分辨率、人脸识别和行人重识别等任务的模型。这些模型都经过了精心设计和调整,并在各种数据集上进行了训练和测试,具有较高的准确性和鲁棒性。

需要注意的是,不同的模型适用于不同的任务和应用场景,选择合适的模型可以提高模型的准确性和效率。同时,还需要根据实际情况进行适当的参数调整和模型优化,以获得更好的性能和效果。

2 GluonCV特点
复制最新论文中报道的SOTA结果的训练脚本
大量预训练模型
精心设计的API和易于理解的实现
社区支持

教程https://zhuanlan.zhihu.com/p/36218908

要训练GluonCV在Cityscapes全景分割数据集上的模型并使用OpenVINO进行部署,可以按照以下步骤进行:

  1. 准备数据集:下载Cityscapes数据集并将其转换为GluonCV可用的格式。可以使用GluonCV提供的工具来进行数据预处理和增强。

  2. 选择模型:选择GluonCV中适合Cityscapes数据集的全景分割模型,例如DeepLabV3或PSPNet等。

  3. 训练模型:使用GluonCV提供的训练脚本,在Cityscapes数据集上训练所选的全景分割模型。可以使用GPU进行训练以加快训练速度。

  4. 导出模型:使用GluonCV提供的导出工具将训练好的模型导出为OpenVINO支持的格式。例如,可以将模型导出为Intermediate Representation (IR)格式。

  5. 使用OpenVINO进行部署:使用OpenVINO的Model Optimizer将导出的模型转换为OpenVINO支持的格式,并将其部署到目标设备上。可以使用OpenVINO的Inference Engine进行推理,以对输入图像进行全景分割。

需要注意的是,在训练和部署过程中,需要根据实际情况进行适当的参数调整和硬件配置。此外,还需要考虑模型的精度和速度等方面的权衡,以满足应用的需求。

要使用OpenVINO的Model Optimizer将模型转换为OpenVINO支持的格式,可以按照以下步骤进行:

  1. 安装OpenVINO:首先需要安装OpenVINO并设置环境变量。可以根据OpenVINO版本和操作系统的不同选择不同的安装方式。

  2. 准备模型:准备需要转换的深度学习模型。模型可以是TensorFlow、Caffe、MXNet、ONNX等格式,但需要根据不同的模型格式选择相应的转换方式和参数。

  3. 下载Model Optimizer:Model Optimizer是OpenVINO中用于转换深度学习模型的工具。可以从OpenVINO安装目录的deployment_tools/model_optimizer目录中找到或下载最新版本。

  4. 转换模型:使用Model Optimizer将准备好的深度学习模型转换为OpenVINO支持的格式。根据不同的模型格式和参数,可以使用不同的命令和选项来进行转换。例如,可以使用以下命令将TensorFlow模型转换为OpenVINO IR格式:

    python mo_tf.py --input_model <path_to_input_model> --output_dir <path_to_output_dir> --input_shape <input_shape>
    ```
    
    其中,<path_to_input_model>是输入模型的路径,<path_to_output_dir>是输出目录的路径,<input_shape>是输入形状的维度和大小。
    
    
  5. 部署模型:转换完成后,可以使用OpenVINO的Inference Engine部署模型并进行推理。可以使用C++、Python或其他支持OpenVINO的编程语言进行部署和推理。

需要注意的是,在转换模型时需要根据不同的模型格式和参数进行适当的调整和优化,以获得更好的性能和效果。同时,还需要根据实际应用场景和硬件配置等因素进行适当的参数调整和配置。

你可能感兴趣的:(caffe,人工智能,深度学习)