pytorch保存模型的文件 Keras还是TensorFlow,程序员该如何选择深度学习框架?

[更新]
·
·
分类:互联网
1325 阅读

pytorch保存模型的文件

Keras还是TensorFlow,程序员该如何选择深度学习框架?

Keras还是TensorFlow,程序员该如何选择深度学习框架?

keras是一个高度封装的,对于科研工作者快速实现或者复现算法很好。
其实tensorflow目前也有高度封装的接口,比如
但是高度封装的API看不到更多参数,所以很多时候可能会造成你复现的模型无法收敛,或者精度和论文不一样。 何况现在tensorflow已经可以直接调用可以完全使用。并且tf2.0.中,keras也享有更多tf的资源,keras搭建的模型,可以调用savemodel来保存。
如果你是程序员,那你肯定需要模型部署,目前工业界云侧大多数还是部署tensorflow保存的模型,或者pytorch模型。
caffe模型。
端侧或者边缘侧,还是部署轻量级模型,更多也是.tflite文件,经过量化部署。用tensorflow是最通用的。具体情况还得看你们公司硬件支持情况。
比如我们公司的芯片目前只支持caffe模型,我也是很无奈,从头了解caffe.
不过好在现在有个开源项目支持各种模型之间的转换。

TensorFlow、Pytorch、OneFlow,MXNet、MindSpore这些框架谁最好用?

TensorFlow、Pytorch、MXNet这些框架谁最好用?OneFlow, MindSpore不应该包含进来.

公司常用的框架有tensorflow 和 pytorch 。下面描述一下企业对框架的使用现状。
tensorflow 。tensorflow 版本之间变化有点大,1.15的很多api,在2.0后弃用了,对运行环境版本升级有一定的影响。只能是旧的项目沿用旧版本,新项目用新版本对于tensorflow 的使用呢,有些人直接用原生的tensorflow api,有些人喜欢用封装后的keras,底层的计算执行庫还是由tensorflow 提供。
pytorch 。有些人对于tensorflow 版本混乱的不满,慢慢转投了pytorch 的怀抱。pytorch的api较为稳定,而且提供的多机多卡分布式训练的api也较为简单易用。
个人觉得这两个框架都挺不错,对于怎么选择的话看个人对框架的用途,熟悉程度,与个人偏好吧。如果仅仅是使用框架,两者区别不是很大。如果是想研究框架本身与机器学习深度学习底层计算算法以及对算法进行优化,pytorch 作为后来者近年来对gpu运行加速上不断的努力前行,更受国内外研究人员的青睐。
最后,算法岗其实不仅仅是研究算法,还要涉及算法落地完整流程,包括数据预处理,算法设计与实现,训练模型,保存模型,部署serving服务等流程,有完整一套产业链,来保证算法相关服务正常运行。从这个角度来讲,个人更偏向api稳定的pytorch。版本之间如果变化太大,不利于系统环境升级以及后续的代码维护。
以上仅为个人拙见,仅供参考,有误之处多多见谅。