目前 99% 的 AI 模型训练都是使用 Python 开发的。
除了 TensorFlow ,在这个圈子里还有一个绝对的霸主,以及几个重要的配角。我们来看看它们是谁,以及它们和 Python 的关系。
一、 唯一的超级对手:PyTorch (Meta/Facebook 出品)
如果说 AI 圈有"可口可乐",那 TensorFlow 只是其中之一,另一个"百事可乐"就是 PyTorch。
-
地位: 目前学术界(写论文、搞科研)的第一选择,工业界也在疯狂追赶。
-
和 Python 的关系: 它比 TensorFlow 更 Python!
-
TensorFlow 有时候写起来稍微有点拗口(早期的静态图设计)。
-
PyTorch 写起来就像写普通的 Python 代码一样自然,调试非常方便,所以程序员极其喜欢它。
-
-
如果你用 PyTorch 训练模型,K210 怎么用?
-
TensorFlow 的路线是:.pb
.tflite nncase。
-
PyTorch 的路线是:.pt
.onnx nncase。
-
(注:ONNX 是一个通用的中间格式,相当于 AI 界的"英语",谁都能转成它)。
-
二、 重要的配角们
-
Keras (现在是 TensorFlow 的一部分)
-
定位: 傻瓜相机。
-
特点: 它本来是一个独立的库,因为它太好用、太简单了,后来被 Google 收购,变成了 TensorFlow 的"官方高层接口"。
-
代码风格: model.add(Convolution...),非常像搭积木。初学者建议先看 Keras。
-
-
PaddlePaddle (飞桨 - 百度出品)
-
定位: 中国版 TensorFlow。
-
特点: 在国内非常火,全中文文档极其友好。如果你在中国做 OCR(文字识别)或者工业质检,飞桨的模型库非常丰富。
-
K210 支持: 也可以通过转为 ONNX 格式部署到 K210。
-
-
Caffe (老前辈)
-
定位: 退役老兵。
-
特点: 很多年前(2015年左右)它是老大。现在很少有人用它训练新模型了,但是因为它结构简单,很多老旧的嵌入式芯片(比如海思早期的芯片)只支持 Caffe。K210 也支持 Caffe 转换,但现在不推荐学了。
-