栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

配置python程序debug/run,避免每次运行都会重复加载数据集或模型,节约大量等待时间

配置python程序debug/run,避免每次运行都会重复加载数据集或模型,节约大量等待时间

文章目录

整体思路逐步构建完整代码参考文章

整体思路
    使用轻量级的后端框架flask运行要加载的模型,作为后端,保持在后端运行调用程序时直接使用url访问即可

需要用到的依赖包:

pip install flask
逐步构建

首先新建一个文件运行flask的文件,文件名随便:

from flask import Flask, request

app = Flask(__name__)


@app.route('/model', methods=['GET'])
def get_model():
    if request.method == 'GET':
        param = request.args.get("input", None)
        """调用模型处理""" 
        # 这里直接把传入的输出,可以在这里加入调用模型的逻辑
        return param


if __name__ == '__main__':
    app.run(host='127.0.0.1', debug=True, port='8999') # debug模式运行,如果不想看日志可以使debug=False

在本地浏览器中运行:http://127.0.0.1:8999/model?input="aaa",可以看到输出:

"aaa"

保持这个程序全程一直运行即可。

再次新建一个文件,用于调用这个接口:

import json
import requests


def use_flask(analyze_input) -> json:  # 传入待分析的文本,与token
    url = "http://127.0.0.1:8999/model" # 这里是访问的url
    request = requests.get(url, params={
        'input': analyze_input # 这里传入
    })
    if request.status_code == 200:
        return request.text


if __name__ == '__main__':
    data = use_flask("my_input_value")
    print(data)

当我们调试主程序时,不论运行多少次这个文件,都不会影响到flask的后端程序,因此可以方便我们多次快速调试。

如果有多个参数,可以在requests.get(url, params)这里添加

完整代码

Flask文件:

from flask import Flask, request

app = Flask(__name__)


@app.route('/model', methods=['GET'])
def get_model():
    if request.method == 'GET':
        param = request.args.get("input", None)
        """调用模型处理"""
        return param


if __name__ == '__main__':
    app.run(host='127.0.0.1', debug=True, port='8999')

使用示例:

import json
import requests


def use_flask(analyze_input) -> json:  # 传入待分析的文本,与token
    url = "http://127.0.0.1:8999/model"
    request = requests.get(url, params={
        'input': analyze_input
    })
    if request.status_code == 200:
        return request.text


if __name__ == '__main__':
    data = use_flask("my_input_value")
    print(data)
参考文章

Flask 快速上手:https://dormousehole.readthedocs.io/en/latest/quickstart.html#id2

GET and POST requests using Python:https://www.geeksforgeeks.org/get-post-requests-using-python/

Add params to given URL in Python:https://stackoverflow.com/questions/2506379/add-params-to-given-url-in-python

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/743143.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号