PaddlePaddle入门整理十三:Flask接口

暂时这样凑合着看,之后有时间再补充文字说明。[微笑]

前言

如果读者使用过百度等的一些图像识别的接口,比如百度的细粒度图像识别接口,应该了解这个过程,省略其他的安全方面的考虑。这个接口大体的流程是,我们把图像上传到百度的网站上,然后服务器把这些图像转换成功矢量数据,最后就是拿这些数据传给深度学习的预测接口,比如是PaddlePaddle的预测接口,获取到预测结果,返回给客户端。这个只是简单的流程,真实的复杂性远远不止这些,但是我们只需要了解这些,然后去搭建属于我们的图像识别接口。

了解Flask

安装flask很简单,只要一条命令就可以了:

pip install flask

同时我们也使用到flask_cors,所以我们也要安装这个库

pip install flask_cors

创建一个paddle_server.py文件,然后编写一个简单的程序,了解一些如何使用这个Flask框架,首先导入所需的依赖库:

import os
import uuid
import numpy as np
import paddle.fluid as fluid
from PIL import Image
from flask import Flask, request
from flask_cors import CORS
from werkzeug.utils import secure_filename

编写一个hello_world()函数,使用@app.route('/')是指定访问的路径,该函数的返回值是一个字符串Welcome to PaddlePaddle

# 根路径,返回一个字符串
@app.route('/')
def hello_world():
    return 'Welcome to PaddlePaddle'

然后启动这个服务,如果是在Ubuntu的话,可能是需要在root下执行这个程序。

if __name__ == '__main__':
    # 启动服务,并指定端口号
    app.run(port=80)

然后浏览器访问http://127.0.0.1,返回之前写好的字符串:

Welcome to PaddlePaddle

要预测图片,上传图片是首要的,所以我们来学习如何使用Flask来上传图片。

  • secure_filename是为了能够正常获取到上传文件的文件名
  • /upload指定该函数的访问地址
  • methods=['POST']指定该路径只能使用POST方法访问
  • f = request.files['img']读取表单名称为img的文件
  • f.save(img_path)在指定路径保存该文件
# 上传文件
@app.route('/upload', methods=['POST'])
def upload_file():
    f = request.files['img']
    # 设置保存路径
    save_father_path = 'images'
    img_path = os.path.join(save_father_path, str(uuid.uuid1()) + secure_filename(f.filename).split('.')[-
  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值