Tensorflow高级封装
Posted weiyinfu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tensorflow高级封装相关的知识,希望对你有一定的参考价值。
Tensorflow比较灵活,但是它提供的操作比较低级,于是许多封装库应运而生。
slim
导入方式
import tensorflow as tf
import tensorflow.contrib.slim as slim
这个库直接放在contrib模块中,不像tflearn、tflayer、keras都有自己独立的pip包和官方文档。
keras
优点:
- 时间久远
- 社区活跃,文档齐全
- 多种后端:Theano和Tensorflow
- 封装完美:类似sklearn,封装了各种细节
- 学习成本低,编程简单
缺点:
- 运行效率低
国外测评说是因为 Keras 最开始只是为了 Theano 而开发的,TensorFlow发布后才写支持TensorFlow的代码,所以为了兼容牺牲了效率 - 封装过于严密导致可扩展性差
如果想要快速上手,keras是最简单实用的。如果需要长期研究,就需要较多的灵活性,推荐TensorLayer
tflearn
优点:
- 高效:比Keras高效,但是比不上TensorLayer高效
缺点:
- 维护不好,没有中文文档,作者人数较少,开发力量薄弱
tflayer
优点:
- 灵活,可以很简单地实现动态网络结构(Neural Modular Network)
- 文档齐全,社区活跃。提供了 Google TensorFlow 官网的模块化实现
- 封装完善:提供scikit-learn式的API,和专业级的API,适合新手到老手过渡
缺点:
- 发布时间较晚(16年8月份)
最后
TensorLayer可能是未来的趋势。Tensorflow+TensorLayer学全了,Tensorflow就算熟练使用了。
参考资料
https://www.zhihu.com/question/50030898/answer/235137938
以上是关于Tensorflow高级封装的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段14——Vue的axios网络请求封装
VSCode自定义代码片段14——Vue的axios网络请求封装