在Web服务器上部署Python脚本
我在Python 3.6.3中做了一个项目,它有两个主要模块,分别是-在Web服务器上部署Python脚本,python,api,flask,server,celery,Python,Api,Flask,Server,Celery,我在Python 3.6.3中做了一个项目,它有两个主要模块,分别是- (opencv python==3.4.0.12) (tf夜间==1.8.0.dev20180329) 它现在在我的本地机器上运行。我想通过Flask将其部署到web服务器上,作为网站。我知道我可以在我的Flask.py中调用我的主脚本,即main.py(创建该脚本只是为了给出一个想法) Flask.py from flask import Flask import main # Main Python Script
- (opencv python==3.4.0.12)
- (tf夜间==1.8.0.dev20180329)
Flask.py
中调用我的主脚本,即main.py
(创建该脚本只是为了给出一个想法)
Flask.py
from flask import Flask
import main # Main Python Script
app = Flask(__name__)
@app.route('/')
def my_script():
main.some_func()
........
.......
.......
.......
if __name__ == '__main__':
app.secret_key = 'super_secret_key'
app.debug = True
app.run(host='0.0.0.0', port=8000)
我浏览了一些链接,了解了和链接(适用于Keras,我正在使用Tensorflow),这里给出了将模型部署为API
因此,我很难弄清楚应该如何将我的项目部署为网站或API
- 如果作为一个网站,我应该采取什么措施?我应该简单地调用函数还是使用芹菜
- 如果作为一个API,那么我的API不需要一个web服务器,而我的网站不需要另一个web服务器吗
对于Keras、Tensorflow或任何AI实现,我强烈建议使用单独的服务器,因为这是资源密集型的(培训时需要大量的GPU电源),而web服务器更需要CPU(或多或少的稳定负载)
但在投入生产之前,通用方法仍然可行。谁将使用您的机器学习工具?一次调用你的函数需要多长时间?我大学的教员。我的脚本平均在25-30秒@syntony内给出输出实际上,我使用的是Tensorflow的CPU版本,我的主脚本只对我的机器学习模块进行了一次调用,我的脚本最多在30秒或40秒内给出输出。那么,如果我像我在问题的代码存根中提到的那样实现我的flask应用程序,它还会减慢速度吗@MIKA72哪种方法是通用的@Mika72一般/通用(在部署任何web服务时)在我的答案中是水平线。对于使用web服务的AI,从“For Keras,…”开始。