本机window上部署flask

记录部署flask的简单部署,部署内容:flask+tornado+nginx

1、前提已安装好python3.6以上,以及flask,以及tornado

先利用PyCharm,新建flask项目,新建一个hello.py,内容如下:

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

tornado安装:

pip install tornado

在该flask的项目下,新建一个 tornado的server.py,和hello.py在同一个文件夹下,内容如下:

from tornado.httpserver import HTTPServer
from tornado.wsgi import WSGIContainer
from flask_app import app
from tornado.ioloop import IOLoop

s = HTTPServer(WSGIContainer(app))
s.listen(8080) # 监听 8080 端口
IOLoop.current().start()

在该文件夹下,启用执行:

python server.py

启动应用

在浏览器中访问http://127.0.0.1:8080   能看到

Windows 环境下部署机器学习或深度学习模型是一个常见需求,尤其是在企业内部系统或本地开发环境中。以下是几种主流的部署方法和相关技术要点: ### 使用 Flask 部署模型 Flask 是一个轻量级的 Python Web 框架,非常适合用于快速构建 RESTful API 以提供模型推理服务[^1]。具体步骤包括: 1. 将训练好的模型保存为文件(如 `.pkl` 或 `.h5` 格式)。 2. 构建 Flask 应用程序,加载模型并定义预测接口。 3. 使用 `POST` 请求接收输入数据,并返回模型预测结果。 示例代码如下: ```python from flask import Flask, request, jsonify import joblib app = Flask(__name__) # 加载模型 model = joblib.load('model.pkl') @app.route('/predict', methods=['POST']) def predict(): data = request.get_json(force=True) prediction = model.predict([data['features']]) return jsonify(prediction=prediction.tolist()) if __name__ == '__main__': app.run(host='0.0.0.0', port=5000) ``` ### 使用 ONNX Runtime 进行跨平台部署 ONNX(Open Neural Network Exchange)是一种开放的模型格式,支持多种框架(如 TensorFlow、PyTorch)导出的模型转换为统一的 `.onnx` 文件。ONNX Runtime 提供了高效的推理能力,并且可以在 Windows 上运行[^1]。主要优势在于其可移植性和优化能力。 #### 示例:使用 ONNX Runtime 推理 ```python import onnxruntime as ort import numpy as np # 加载 ONNX 模型 session = ort.InferenceSession("model.onnx") # 获取输入输出名称 input_name = session.get_inputs()[0].name output_name = session.get_outputs()[0].name # 输入数据 input_data = np.array([[1.0, 2.0, 3.0]], dtype=np.float32) # 推理 result = session.run([output_name], {input_name: input_data}) print(result) ``` ### 使用 Docker 容器化部署 Docker 可以将模型及其依赖打包成容器镜像,确保在不同环境中的一致性。Windows 支持 Docker Desktop,可以通过构建包含模型和服务的镜像进行部署。 #### 示例 Dockerfile ```dockerfile FROM python:3.9-slim WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY . . CMD ["python", "app.py"] ``` ### 使用 Azure ML 或 AWS SageMaker 部署模型 如果希望将模型部署到云端,可以使用 Azure Machine Learning 或 AWS SageMaker。这些云平台提供了完整的模型部署流程,支持从训练到生产环境的无缝过渡。通过 REST API 可以轻松访问模型服务。 ### 嵌入式设备部署策略 虽然嵌入式设备资源有限,但通过模型量化、剪枝和压缩等技术,可以实现高效的模型部署[^2]。例如,TensorFlow Lite 和 PyTorch Mobile 是专门为移动和嵌入式设备设计的推理框架。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值