目前 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
.onnxnncase。(注:ONNX 是一个通用的中间格式,相当于 AI 界的“英语”,谁都能转成它)。
二、 重要的配角们
Keras (现在是 TensorFlow 的一部分)
定位:傻瓜相机。
特点:它本来是一个独立的库,因为它太好用、太简单了,后来被 Google 收购,变成了 TensorFlow 的“官方高层接口”。
代码风格:model.add(Convolution...),非常像搭积木。初学者建议先看 Keras。
PaddlePaddle (飞桨 - 百度出品)
定位:中国版 TensorFlow。
特点:在国内非常火,全中文文档极其友好。如果你在中国做 OCR(文字识别)或者工业质检,飞桨的模型库非常丰富。
K210 支持:也可以通过转为 ONNX 格式部署到 K210。
Caffe (老前辈)
定位:退役老兵。
特点:很多年前(2015年左右)它是老大。现在很少有人用它训练新模型了,但是因为它结构简单,很多老旧的嵌入式芯片(比如海思早期的芯片)只支持 Caffe。K210 也支持 Caffe 转换,但现在不推荐学了。