我们组正在考虑是否将TF升级为2.x,2.x 的优点我已经了解的差不多了,但对其缺点还不是很清楚,请问大家都踩过哪些tf 2.x的坑?
经过大半年与TF2.x的磨合,我认为2.x的缺点有:
- 启动时间慢
- 与Python的交互体验较差
- Python端的内存泄露(此issue至今未修复)
- tf.data API高效的同时,也不够灵活,无法方便地将Python对象作为batch的一部分
- Keras的风格偏向于教条派
- 用户按Keras的compile/fit才能获得最佳体验
- 一旦开始自定义,学习曲线陡增
TensorFlow从来不是一个Python项目。如果你们组是纯research的话,可能2.x没有想象的那么灵活。如果有生产需要,TensorFlow不可或缺。生产用的模型大多静态,1.x已经足够胜任。
1 Like
谢谢hancks的回复。我们组是面向生产的,目前还在用1.13.1,但是1.x开发模型太繁琐了,所以考虑用2.x,现在看来还是要再谨慎一些。
一回生二回熟 用keras做自定义的layer也没有想象中的那么复杂
1.x的版本太繁杂了 狠狠心就2.x了
有道理,我们已经转向tf2了。
顺便问问,目前大家用tf2的eager模式吗