时序预测工具-Prophet镜像安装

今天下午更新代码时发现docker里的prophet容器进程突然挂掉,在排查之后选择重新进行了安装,并在此之上用了gunicorn管理flask服务,网上的博客很多都不是很靠谱,于是乎我对整个安装过程进行了记录,希望能帮助到同样在docker上部署prophet镜像服务遇到此问题的朋友们

主要产生的问题,还是在于**「pystan库与fbprophet库同时安装的冲突」**

安装过程

1.选择拉取一个python镜像,也可以直接拉取一个anaconda镜像,后者的库更多,这里我们选择**「python3.8」**版本,同时在安装的过程中更新一下镜像的仓库,python镜像默认是ubuntu系统,下面是我的dockerfile

FROM python:3.8
RUN sed -i s@/deb.debian.org/@/mirrors.aliyun.com/@g /etc/apt/sources.list \
&& apt-get clean \
&& apt-get update \

2.进入到dockerfile目录下,执行

docker build -t prophet:v1 . 

3.镜像构建好之后,进入到镜像中,镜像中的gcc-g++环境已经是装好的,我们只需安装几个插件,其中一定别忘了**「build-essentail」**,没有这个是编译不了

apt install vim
# 编译软件必须
apt install build-essential 

4.接下来向服务器上传一个txt文件,里面是安装必须的模块,这里要注意⚠️,「pystan和fbprophet这两库不能放在一起构建,一定要分开装」,这个问题很难发现,建一个文件requirement.txt,写入以下内容

gunicorn
gevent
flask
numpy
pandas
convertdate
cmdstanpy
Cython
holidays
LunarCalendar
setuptools-git
tqdm

同样在requirement.txt文件目录下运行

pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple

整个时间比较长,我们可以用阿里云的镜像源加速安装过程,安装完上面一系列家伙后,再安装pystan和fbprophet

pip install pystan
pip install fbprophet

5.可以验证一下fbprophet源码的地址[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Yw9yqVxi-1624952632847)(https://mmbiz.qpic.cn/mmbiz_png/ZicXTSSBakToGszlkyRxpGVcLNFfllZXWFM2cVae22XeQs0wt5AXJ1uIibCeUxgheUjaehKq3hgdE3mtasjtWhFQ/640?wx_fmt=png)]

6.在容器里测试一下,用**「docker cp」**命令将测试代码拷贝到容器里

import pandas as pd
import numpy as np
from fbprophet import Prophet

# 数据文件请从github上的Prophet项目下载,并放在代码的对应目录
df = pd.read_csv('data.csv')
df['y'] = np.log(df['y'])
print (df.tail())
# 定义模型
m = Prophet()
# 训练模型
m.fit(df)
# 构建预测集,预测未来一年的涨势
future = m.make_future_dataframe(periods=365)
print (future.tail())
# 进行预测
forecast = m.predict(future)
print (forecast.tail(10))

没什么问题的话,会输出一下内容,说明安装成功了

图片

今天就写到这,有时间输出一篇专门分析该模型论文的文章

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值