[深度学习]如何选择深度学习框架

版权声明:未经博主允许不得转载(https://github.com/ai-word) https://blog.csdn.net/BaiHuaXiu123/article/details/89004634

不管是前端技术框架还是后端技术框架以及在深度学习技术框架,我们在决定使用前,都需要考虑以下几个方面,也就是我们在选型上通用的依据,这里以深度学习框架选型举例子:
在这里插入图片描述
1) 性能方面
性能方面一部分主要由实现该框架的语言决定,还有一小部分原因该框架的实现的架构决定。理论上说,运行最快的仍旧是C或C++一类,离着CPU指令近些语言效率要高很多。
之前有篇文章专门介绍过深度学习流行的框架比较,有Torch,TensorFlow,Caffe等多种框架,在相同的条件下Torch运行速度要快很多,而TensorFlow在这几个框架中是比较慢的,但是在真正的工程应用中造成差距大大多来自于样本的数量和网络设计等方面,这个方面的差距往往是10倍或者100倍,而语言的效率与其相比几乎可以忽略不计了。所以语言的性能就不是最主要的参考标准了。
2)社区的活跃度
这些技术框架,各自的社区的活跃度是个非常重要的参考因素。活跃的社区就意味着很多人在使用这个框架,会有更多人贡献代码,提交bug,修复bug,因此用它做起项目的风险就非常小,而我们学起来也比较容易,因此也会少踩很多坑。
3)深度学习语言
深度学习框架几乎都支持Python的“驱动“”,或者俗称之为接口。也不排除少部分框架只支持原生接口,例如Torch只支持Lua脚本,CNTK只支持C++。。。

综上所述:应该说TensorFlow在这些方便做的都是非常不错的:
1)有着非常活跃的社区
2)来自于世界最大软件公司谷歌支持开发和维护,比较有保障
2)语言Python,性能虽然并不快,但是满足目前绝大多数工作已经非常足够了,往往那种数量级效率的提升是无法通过变更一个框架实现的。
所以总的来讲TensorFlow应该是现有深度学习框架中比较适合用来进行工程应用的

资源下载
资源下载
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/BaiHuaXiu123/article/details/89004634