笔者这周在部署项目的时候面临PaddlePaddle批量部署的问题,这就不仅要求是离线安装,还要求安装包不能过大。当时在网上没有找到想要的教程,就去GitHub上提问PaddlePaddle的工程师了。GitHub问题链接,但是使用docker的话镜像文件解压后有12个G(pip在线安装安装包大小是200+M),这对于项目的批量部署来说是不能接受的。而且docker安装的镜像环境中集成了太多的工具,基本都是笔者不需要的,于是笔者不得不放弃该方案。
后来,paddlepaddle、paddlehub依赖包下载并离线安装这篇博客给了我很大启发。核心解决思想就是把在线安装需要下载的安装包预先下载好,离线安装的时候使用find-links命令让程序使用已经下载好的安装包安装。但是这个的前提是不同的环境需要下载的安装包是不一样的,比如Python2和Python3不一样,Linux和CentOS不一样,所以建议读者自己下载一遍当前环境所需安装包。
首先根据根据PaddlePaddle官网教程,使用如下命令安装。
python -m pip install paddlepaddle -i https://pypi.tuna.tsinghua.edu.cn/simple
或
python3 -m pip install paddlepaddle -i https://pypi.tuna.tsinghua.edu.cn/simple
当显示开始下载PaddlePaddle安装包的时候Ctrl+C中断下载,入下图所示:
此时以及得到下载的第一安装包的下载路径,我们复制到浏览器后下载该文件,并将文件拷贝到linux环境下一个自己创的文件夹中(比如/usr/packages/download/),拷贝进去后,我们再次使用安装命令,但是这次使用的命令是如下:
python3 -m pip install --no-index --find-links=/usr/packages/download/ paddlepaddle
运行后应该还会报错,因为还有很多第三方依赖工具没有下载,至此就一步一步根据其显示然后直接用下面这个命令下载安装包:
python3 -m pip download 依赖包名称
此处需要注意的是,有的依赖包是有版本需求的,直接用上面这条命令下载的是罪行的依赖包,对于有版本需求的依赖包,我们在后面加入版本号即可,比如:
python3 -m pip download nltk==3.4
需要下载的离线安装包总共有27个左右,最后一次都现在我完成后会直接安装成功。
那么接下来就是验证Paddle的安装是否成功,命令如下:
python3
import paddle.fluid as fluid
fluid.install_check.run_check()
如下图所示,显示Your Paddle Fluid is installed successfully! Let's start deep Learning with Paddle Fluid now,则说明PaddlePaddle环境已经安装成功。
windows环境也可以用上述的方法,不过官方有给windows的离线安装手册
最后再次感谢https://blog.csdn.net/weixin_44698389/article/details/103511200这篇博客给的启发,另外也感谢百度的PaddlePaddle工程师们回答我的问题并帮我测试寻找bug,大家有如下问题可以去GitHub上查看:
(1)linux环境下的离线安装有像windows这样的教程吗(此处给的是docker离线安装)
(2)编译错误:模型在windows环境下可成功预测,但是在linux上报错