最近使用 paddlepaddle 比较多,发现了 paddleocr 对模型做了一个区分。有时候会给用户带来一些困惑。这里详细说说。
实验中用于推理的模型,也就是可训练的模型。一般paddle的模型文件是这样的:
-rw-r--r-- 1 root root 420M Feb 12 15:59 model.pdopt
-rw-r--r-- 1 root root 275M Feb 12 15:59 model.pdparams
一个是 pdopt 一个是 pdparams。
这个就是用来在实验过程中进行推理的模型。一般用tools/infer_rec.py
。
如果要实际部署到开发环境,需要将现在的实验中的模型做一个转换。
需要执行tools/export_model.py
来把模型转换成
inference/en_PP-OCRv3_rec/
├── inference.pdiparams # 识别inference模型的参数文件
└── inference.json # 识别inference模型的program文件
如此一来,就可以使用 paddlex 或者其他的推理服务来推理了。
总结
- 实际上国内的深度学习框架技术上并不差,只不过做的太大,也没有很好的入门教程,所以开发者本身不用。
- 百度对于自己的名声维护的太差。从之前的公关老大翻车就能看出来。
- 做个 python web 的类比。如果 torch 是 flask,那么 paddlepaddle 更像是 django。