参考文献

1.https://www.jianshu.com/p/16f69668ce25

一. 各大主流开源框架
  1. 这些框架都支持CUDA,所以表中的编程语言里没有将cuda写上。
  2. 还有一些没有列入表中,是因为他它们已经升级为大家更喜欢或者使用起来更简单的版本。
    比如torch->pytorch,theano->lasagne。
  3. 还有一些小众的,以及一些移动端的框架,暂不讨论。
  4. 作为一个深度学习算法工程师,怎么着也得熟悉3个以上框架吧。不管怎么说tensorflow、pytorch是必须会的,因为这是目前开发者喜欢,开源项目最丰富的的两个框架。
  5. 如果是移动端开发,必须要回caffe.
  6. darknet、mxnet是高效轻量的框架。
  7. 如果你很懒,想写最少的代码实现功能,那么用keras吧。
  8. java程序员,需要掌握deeplearning4j。
    在这里插入图片描述
二. 如何学习开源框架

通常需做到以下几点:

  1. 掌握数据的准备和使用
  2. 熟悉模型的定义
  3. 熟悉训练过程、结果可视化
  4. 掌握训练方法和测试方法
    一个框架,官方都会开源若干的案例,最常见的案例就是以MNIST数据+预训练模型的形式,供大家快速获得结果。
    我们还要学会处理自己的数据,自己的网络搭建、模型训练、测试等。
三. 几个开源框架简述
  1. caffe
    (1) github地址:https://github.com/BVLC/caffe
    (2) 概述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  2. tensorflow
    (1) github地址:https://github.com/tensorflow/tensorflow
    (2)概述
    在这里插入图片描述
    在这里插入图片描述
  3. Pytorch
    (1) github地址:https://github.com/pytorch/pytorch
    (2)概述
    在这里插入图片描述
    在这里插入图片描述
  4. Mxnet
    (1) github地址:https://github.com/apache/incubator-mxnet
    (2)概述
    在这里插入图片描述
  5. Keras
    (1) github地址:https://github.com/keras-team/keras
    (2)概述
    在这里插入图片描述
  6. Paddlepaddle
    (1) github地址:https://github.com/PaddlePaddle/Paddle
    (2)概述
    在这里插入图片描述
  7. Darknet
    (1) github地址:https://github.com/pjreddie/darknet
    (2)概述
    在这里插入图片描述
  8. 其他框架,我本人不常用,暂不赘述了。
四. 几个开源框架模型的转换

有时候项目需要对不同框架的模型进行转换。

  1. github有关于模型转换的汇总,基本不同框架之间的模型都有工具可以直接转换。https://github.com/ysh329/deep-learning-model-convertor

  2. 从现有网上资料来看,目前只有caffe能转成darknet的模型,其他都不能直接转darknet,需要曲线救国。
    (1)
    Tensorflow---->caffe MMdnn nn_tools
    caffe---->darknet pytorch-caffe-darknet-convert
    (2)
    mxnet---->caffe MMdnn Mxnet2Caffe
    caffe---->darknet pytorch-caffe-darknet-convert
    (3)
    caffe2---->pytorch ONNX
    pytorch—>caffe pytorch-caffe-darknet-convert
    caffe---->darknet pytorch-caffe-darknet-convert

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐