• Tensorflow高级封装


    Tensorflow比较灵活,但是它提供的操作比较低级,于是许多封装库应运而生。

    slim

    导入方式

    import tensorflow as tf
    import tensorflow.contrib.slim as slim
    

    这个库直接放在contrib模块中,不像tflearn、tflayer、keras都有自己独立的pip包和官方文档。

    keras

    优点:

    • 时间久远
    • 社区活跃,文档齐全
    • 多种后端:Theano、Tensorflow、MXNet
    • 跨平台:不管是CPU还是GPU,不管是Tensorflow还是别的后端,它都对它们进行了封装
    • 封装完美:类似sklearn,封装了各种细节
    • 学习成本低,编程简单

    缺点:

    • 运行效率低,这个问题随着时间是会慢慢改善的
      国外测评说是因为 Keras 最开始只是为了 Theano 而开发的,TensorFlow发布后才写支持TensorFlow的代码,所以为了兼容牺牲了效率
    • 封装过于严密导致可扩展性差

    如果想要快速上手,keras是最简单实用的。

    tflearn

    优点:

    • 高效:比Keras高效,但是比不上TensorLayer高效

    缺点:

    • 维护不好,没有中文文档,作者人数较少,开发力量薄弱

    tensorlayer

    优点:

    • 灵活,可以很简单地实现动态网络结构(Neural Modular Network)
    • 文档齐全,社区活跃。提供了 Google TensorFlow 官网的模块化实现
    • 封装完善:提供scikit-learn式的API,和专业级的API,适合新手到老手过渡

    缺点:

    • 发布时间较晚(16年8月份)

    最后

    把Tensorflow、Pytorch、MXNet、Caffe比作操作系统,那么Keras就像Java,虽然慢些但是跨平台封装好。TensorLayer就像C#,运行快,但是只适用于一个平台。

    如果只是想在网络架构、应用方面创新,keras无疑是最佳选择。

    参考资料

    https://www.zhihu.com/question/50030898/answer/235137938

  • 相关阅读:
    C#延时
    Java Applet 绘图
    C#调用ActiveX控件异常处理
    J2SE连连看
    基于对象的棋类程序结构设计
    MATLAB应用专题part2电力电子仿真技术
    MATLAB应用专题part1电力电子仿真技术
    硬件知识整理part2电阻在反馈网络中的应用
    C语言再学习part1宏观认识C语言
    C语言再学习part3—算法
  • 原文地址:https://www.cnblogs.com/weiyinfu/p/9609421.html
Copyright © 2020-2023  润新知