6、发布预测服务(Flask)

Flask是目前十分流行的web框架,采用Python编程语言来实现相关功能。它被称为微框架(microframework),“微”并不是意味着把整个Web应用放入到一个Python文件,微框架中的“微”是指Flask旨在保持代码简洁且易于扩展,Flask框架的主要特征是核心构成比较简单,但具有很强的扩展性和兼容性,程序员可以使用Python语言快速实现一个网站或Web服务。

下面代码非常简单,可优化的地方很多,只是作为示例说明,具体参考Flask教程:[https://www.w3cschool.cn/flask/flask_overview.html]

"""
Routes and views for the flask application.
"""

from datetime import datetime
from flask import render_template
from FlaskRestFull import app
from flask import request
import os
from PIL import Image
import json
import tensorflow as tf
import numpy as np
import os,glob,cv2
import sys,argparse
from FlaskRestFull import dogscats 

sess_dogcat = tf.Session()
fil =os.getcwd()
saver = tf.train.import_meta_graph('FlaskRestFull/models/dogs-cats-model/dog-cat.ckpt-7975.meta')
saver.restore(sess_dogcat, 'FlaskRestFull/models/dogs-cats-model/dog-cat.ckpt-7975')


@app.route('/upload', methods=['GET','POST'])
def upload_file():
    data =[]
    for file in request.files:
        ofile =  request.files.get(file)
        imgPath = os.path.join('D:\\',ofile.filename)
        ofile.save(imgPath)
        images = dogscats.getImages(imgPath,64)
        result = dogscats.getResult(sess_dogcat,images,64,3)
        res_label = ['dog','cat']
        str = r'%s  %s  %s'%(file,result,res_label[result.argmax()])
        data.append(str)
    return json.dumps(data)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容