提到 TensorFlow,机器学习圈的人肯定很熟悉,它一直是最流行的开源深度学习框架之一。自 2015 年至今,成千上万的开源贡献者、开发人员、社区组织者、研究人员都投入到了这一开源软件库上。
不过近年来,关于 TensorFlow 的争议不断,谷歌要放弃 TensorFlow 转向 JAX 的新闻也曾闹得沸沸扬扬。
那么,TensorFlow 现在的使用体验怎么样了呢?今日 Reddit 上的一个吐槽帖子可能很好地反映了用户的心声。
帖子作者表示自 2017 年开始,整个深度学习生涯几乎都在使用 TensorFlow,并一直在 Windows 系统上使用。但当从 2.10 升级到 2.13 版本时,他发现 GPU 没有被利用上,深挖之后发现 TensorFlow 在 2.10 版本之后就放弃了对 Windows GPU 的支持。
因此,他表示 TensorFlow 2.10 是 Windows 本地支持 GPU 的最后一个版本。从 2.11 开始,你就需要在 WSL 2 上安装 TensorFlow,或者使用 TensorFlow-DirectML-Plugin。这造成了很大困扰,他认识的大多数机器学习开发者都使用 Windows 并在本地进行开发,现在只能切换到 Linux 上部署了。
他知道 WSL 是一个选项,但弊端在于只能使用 50% 的 RAM,并且不使用本机文件系统。在很多人已(正在)转向 PyTorch 时,他坚持并倡导使用 TensorFlow,但如今他感觉被背叛了。TensorFlow 抛弃了他。如今他也将很快转向使用 PyTorch 了。
这位作者的经历得到了众多网友的附和,有人表示 TensorFlow 已经「死了」,就连谷歌工程师都要用 JAX 替代 TensorFlow。
另一位网友也认为,自 TensorFlow 升级到 2.0 以来,便开始慢慢死去。如果谷歌在接下来几年完全停止支持 TensorFlow 并在内部切换成 JAX,他不会感到惊讶。
TensorFlow 到底怎么了?
无独有偶,今日推特上也有人对 TensorFlow 发出了质疑:谷歌在 TensorFlow 上出了什么问题?这个糟糕的软件在根上就坏了,一年的时间可以发现 TensorFlow 核心中的五个 bug。
从下图也可以看出,自 2021 年 5 月 1 日以来,人们对 TensorFlow 与 PyTorch 的兴趣度变化。
推特:@jxmnop
著名软件开发者、Deep trading 创始人 Yam Peleg 表示,TensorFlow 的主要问题在于 bug。当你想使用一个简单的界面(如编写自定义损失)时,包不一会就损坏和崩溃了。因此不得不将大多数时间花在如何回避这些 bug 而不是工作上。
另一位知名机器学习学者、《Python 机器学习》作者 Sebastian Raschka 也发表了自己的看法。
他不确定 TensorFlow 出了什么问题,作为早期框架之一,已经进行很多工作来解决问题。他认为问题是随着深度学习领域快速发展,谷歌不得不扩展 TensorFlow 并添加各种补丁,这才导致它如此混乱。现在必须吸取所有经验教训从头开始重新设计,也许这就是谷歌推广 JAX+Flax 的原因吧。
各位机器之心的读者们,你们的 TensorFlow 还好用吗?有转向 PyTorch 等其他框架的打算吗?