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)