python实现接口,调用深度模型预测,将预测结果返回前端

1. 使用Apifox软件,创建一个接口

在这里插入图片描述
如果你想向后端传图像,可以使用下面的方法,如果只有参数,可以在Params中写入参数即可
在这里插入图片描述
如下图,一个创建好的接口,等后面python配置好,就可以发送请求了:
在这里插入图片描述

2. python接口

from io import BytesIO
import numpy as np
from PIL import Image
from flask import Flask, request
from flask import Flask
import matplotlib.pyplot as plt
from flask import render_template
import json
import base64
import cv2
import os
app = Flask(__name__)
from PIL import Image
from deeplab import DeeplabV3


@app.route("/test", methods=['POST'])
def check():
    # 默认返回内容
    return_dict = {'code': '200', 'message': '处理成功', 'result': None, 'label': None, 'ratio': None}
    # 接收图像
    data_file = request.files.get('MyName')
    # 接收id
    id = request.form.get("Id")

    image = Image.open(data_file)

    deeplab = DeeplabV3()
    result, ratio = deeplab.detect_image(image)
    result_ratio = [ratio]

    # 返回图像
    buffer = BytesIO()
    result.save(buffer, "PNG")  # 将Image对象转为二进制存入buffer。因BytesIO()是在内存中操作,所以实际是存入内存
    buf_bytes = buffer.getvalue()  # 从内存中取出bytes类型的图片
    base64_data2 = 'data:image/png;base64,' + str(base64.b64encode(buf_bytes), 'utf-8')

    return_dict['label'] = base64_data2
    return_dict['ratio'] = result_ratio
    return json.dumps(return_dict, ensure_ascii=False)


if __name__ == "__main__":

    app.run(debug=True)

3. 测试

配置好后点击发送就可以获得预测后的结果啦,可以直接复制到浏览器中查看
在这里插入图片描述

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【资源说明】 基于深度学习的光伏发电功率预测系统源码(含前端+后端)+项目说明.zip 本项目主体围绕着“基于深度学习算法的短期光伏发电功率预测模型”而构建。旨在设计出一款面向电力公司和光伏发电业主的系统,其具有辅助决策、风险预测的能力,强大的数据提取、统计与分析能力和清晰的数据相关性、影响性的可视化展示功能。 项目背景 随着光伏发电网规模的扩大和应用的普及,对于光伏发电的并网需求持续增大,但是光伏发电所具有的波动性和间歇性的特性势必会对并网系统的稳定性产生一定的影响。诸如太阳辐射强度、空气湿度、气压、环境温度等因素是导致光伏发电的波动性和间歇性产生的首要因素,若对于光伏发电缺少相应的技术手段预测功率和调整模式,势必在并网时会不利于电力系统的调整,并且为电网调度人员产生困扰。 在此背景之下,设计出合理且有效的光伏发电功率预测模型一方面可以提升并网后电力系统运行的安全性和稳定性;另一方面也有利于光伏电站业主或调度人员的协调调度,进一步提升电能资源利用率。 项目目的 通过设计出合理的“基于深度学习算法的短期光伏发电功率预测模型”以及对该模型的进一步优化,在大规模分布式光伏发电的电力管理层面,为管理人员提供短期内环境因素的具体数据以及光伏发电功率的预测结果,帮助管理人员进行协调调度,从而提升电能利用率;在个人中小规模分布式光伏电站业主层面,提供短期内光伏发电功率的预测结果并给出调整策略建议,保障中小型分布式光伏电站并网后电网运行的稳定性和供电可靠性,同时对于一种更加互利且合理的个人光伏发电并网后差额电量的补偿和外送机制进行展望。 ## 技术选型(Technics) 项目架构 该项目采用B/S架构,后端调用算法模型,展示在前端。 算法技术 主要语言Python - Keras - Sci-kit Learn 后端技术 主要语言:Java - Spring Boot - MySQL 前端技术 - Vue ## 研究成果(Results) - 光伏发电功率预测模型(包括数据集异常值、缺失值等预处理过程) - 模型基于 `keras` 库中的梯度提升模型(Gradient Boosting Regressor, GBR)实现预测功能,基于 `sklearn` 库的 `joblib` 方法将模型固化。模型可用于提供未来每24小时内的96个光伏发电功率数据预测值。模型的技术指标可实现:光伏发电功率预测模型预测结果与实际功率对比,预测准确率不低于80% - 模型评分反应模型在误差内的准确率,该模型的评分达到94.7% - 一个用于分布式光伏发电功率预测及数据分析的web系统搭建完成 - 数据展示:实时数据动态折线图展示,将重要天气数据及发电功率在大屏中清晰展现。另有实时预测接口,可对自定义天气数据进行单点预测。 - 数据分析功能:对电力公司的数据进行处理并进行全方面的分析,对于电力输送状况的各方面详细信息进行记录、统计与关联性分析。 - 数据预测:在处理温度、日照、风速、湿度等数据后,基于深度学习算法及天气数据,对于未来光伏发电进行实时预测,电力公司方可查看详细的误差分析报告。提供未来每24小时内的96个数据预测值与预测误差,且提供短时(15分钟以内)的实时总功率预测。 - 辅助决策:根据历史数据以及预测的数据进行风险预测、电力调度的最优方案辅助决策、市场交易的辅助决策等,保障安全与效率最大化。如对于光伏发电在正午的峰值和在夜间的谷值进行相应的电力调度处理,根据预测值和真实值产生的不匹配现象进行异常分析(如发电板破损、污浊),并反馈给用户。 【备注】 1.项目代码均经过功能验证ok,确保稳定可靠运行。欢迎下载使用体验! 2.主要针对各个计算机相关专业,包括计算机科学、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师、企业员工。 3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、初期项目立项演示等用途。 4.当然也鼓励大家基于此进行二次开发。在使用过程中,如有问题或建议,请及时沟通。 5.期待你能在项目中找到乐趣和灵感,也欢迎你的分享和反馈!
### 回答1: 。 下面是一个简单的腾讯云OCR API接口调用python代码的示例: ``` import requests import json def ocr_tencent(image_path): # API的请求地址 url = "https://ocr.tencentcloudapi.com/" # API的请求参数 params = { "Action": "OCR", "Version": "2018-11-19", "Region": "ap-guangzhou", "SecretId": "YOUR_SECRET_ID", "Timestamp": int(time.time()), "Nonce": int(time.time()), "SignatureMethod": "HmacSHA1", "ImageUrl": image_path } # 计算请求签名 sign = calculate_signature(params, "YOUR_SECRET_KEY") params["Signature"] = sign # 发送请求 response = requests.get(url, params=params) # 解析响应 result = json.loads(response.text) return result ``` 请注意,在上面的代码中,您需要替换`YOUR_SECRET_ID`和`YOUR_SECRET_KEY`为您的腾讯云帐户的密钥。 ### 回答2: 当然可以帮您腾讯云OCR模型API接口调用Python代码!下面是一个简单的示例: ```python import requests import base64 # 设置请求地址和API密钥 url = "https://api.ai.qq.com/fcgi-bin/ocr/ocr_generalocr" app_key = "你的APP_KEY" app_id = "你的APP_ID" # 读取要识别的图片文件 with open("要识别的图片.jpg", "rb") as file: image_data = file.read() base64_image = base64.b64encode(image_data).decode("utf-8") # 构造请求参数 data = { "app_id": app_id, "app_key": app_key, "image": base64_image, } # 发送POST请求 response = requests.post(url, data=data) # 处理响应结果 if response.status_code == 200: res_json = response.json() if res_json["ret"] == 0: for item in res_json["data"]["item_list"]: print(item["itemstring"]) else: print("OCR识别失败,错误码:%s,错误信息:%s" % (res_json["ret"], res_json["msg"])) else: print("请求失败,响应码:%s" % response.status_code) ``` 上述代码示例中,首先需要设置请求地址和API密钥,即`url`、`app_key`和`app_id`。接着,读取要识别的图片文件并通过`base64`编码转化为base64格式。然后,构造请求参数,其中`app_id`、`app_key`和`image`是必须的字段,`image`字段为转化后的base64编码。最后,发送POST请求并处理响应结果。如果识别成功,可以通过`res_json["data"]["item_list"]`获取到识别结果列表,并输出每个识别结果;如果识别失败,可以通过`res_json["ret"]`和`res_json["msg"]`获取错误码和错误信息。 请注意替换示例中的`你的APP_KEY`、`你的APP_ID`和`要识别的图片.jpg`为您自己的实际值和文件路径。 希望这段代码能帮到您!如果还有其他问题,请随时追问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值