import pickle
import flask
import pandas as pd
import json
from flask import Flask
from flask import request, render_template
from sklearn.externals import joblib
app = Flask(__name__)
app.url_map.strict_slashes = False
model= joblib.load('E:/ModelOnGoing/Project-Etcher/ModelLive/model_RF_test.pkl','r')
@app.route("/predict",methods=["POST"])
def predict():
features_array = request.get_json()
data = pd.read_json(json.dumps(features_array),orient='records')
prediction=model.predict(data).tolist()
response={}
response['predictions']=prediction
return flask.jsonify(response)
if __name__ == '__main__':
try:
port = int(sys.argv[1]) # This is for a command-line input
except:
port = 12345 # If you don't provide any port the port will be set to 12345
app.run(port=port,debug=True)
import json
import csv
import pandas as pd
import numpy as np
import requests
from os import listdir
from os.path import isfile, join
import time
url="http://127.0.0.1:12345/predict"
mypath = r"E:/Data/Project-Etcher/PredictData"
for j in range(200000000):
onlyfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))]
for file in onlyfiles:
df=pd.read_csv(mypath + "\\" + file)
#df1=df.drop("Target",axis=1)
df=df.iloc[:,1:]
#df2=df1.head(1000)
df3=df.to_json(orient='records')
headers={'content-type':'application/json','Accept-Charset':'UTF-8'}
r=requests.post(url,data=df3, headers=headers)
print(r.text)
predictions=r.text
predictions=pd.read_json(predictions)
df['predictions_value']=predictions
output=("E:\Data\Project-Etcher\PredictRes\PredictRes_RF")
df.to_csv(output + "\\" + "Results" + file)
time.sleep(60)
print("No Files in the folder, will check again")
j+1
#df2.to_csv('D:/Users/sgg91139/Desktop/api/result.csv')
#df1.to_csv('D:/Users/sgg91139/Desktop/try/results.csv')
#print (df)
# coding: utf-8
# In[19]:
import pandas as pd
import numpy as np
import scipy as sp
import time
import shutil
from os import listdir
from os.path import isfile, join,splitext
# In[ ]:
Res_path = r"E:\Data\Project-Etcher\PredictRes\PredictRes_RF"
Index_path = r"E:\Data\Project-Etcher\PredictIndex"
FinalRes_path=r"E:\Data\Project-Etcher\JoiningRes\JoiningRes_RF"
for j in range(200000):
Index_files = [f for f in listdir(Index_path) if isfile(join(Index_path, f))]
for file in Index_files:
data1=pd.read_csv(Index_path + "\\" + file)
data1=data1.iloc[:,1:]
file_cut= file[-15:-4]
print("get data, wait 30s for the model to do prediction.")
time.sleep(30)
data2= pd.read_csv(Res_path + "\\" + "ResultsAEM2_pivotdata_" + file_cut + ".csv")
data2= data2.iloc[:,1:]
data=pd.concat([data1,data2],axis=1)
data=data.drop(columns=["wafer1","chamber1","eqpid1","ETCM_PHA4","ETCM_PHB4","ETCM_PHC4","HELK_MEAN","LOWERCHM_PRESS","PBK4","RR13_MAX.","RR13_MEAN","RR23_MAX.","RR23_MEAN","THR3_MAX.","THR3_MAX._DIFF","THR3_MEAN","THR3_MEAN_DIFF","THR3_MEAN_SLOPE","SUM_ETCM"])
data.to_csv(FinalRes_path + "\\" + "FinalResultsAEM2_" + file_cut + ".csv")
shutil.move(Res_path + "\\" + "ResultsAEM2_pivotdata_" + file_cut + ".csv",r'E:\Data\Project-Etcher\PredictRes_Processed')
shutil.move(Index_path + "\\" + file,r'E:\Data\Project-Etcher\PredictIndex_Processed')
if any(data.predictions_value) == 1:
print("predict to have bad wafer,please check triggering result folder.")
shutil.move(FinalRes_path + "\\" + "FinalResultsAEM2_" + file_cut + ".csv",r'E:\Data\Project-Etcher\FinalRes')
else:
print("predict that all are good wafers.")
print("no result file need to join, will check again after 1 mins." )
time.sleep(60)
j+1
我的代码-flask的更多相关文章
-
flask 第二章 endpoint重名 Flask路由 初始化配置 Falsk Config 蓝图+目录结构
今日内容 1.路由的分发,以下两种方式效果一样,但是都能指向同一个函数 from flask import Flask app=Flask(__name__) #第一种方式 @app.route('/ ...
-
flask请求上下文
先看一个例子: #!/usr/bin/env python # -*- coding:utf-8 -*- import threading # local_values = threading.loc ...
-
Flask系列之源码分析(一)
目录: 涉及知识点 Flask框架原理 简单示例 路由系统原理源码分析 请求流程简单源码分析 响应流程简单源码分析 session简单源码分析 涉及知识点 1.装饰器 闭包思想 def wapper( ...
-
flask中请求勾子
请求勾子 在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如: *在请求开始时,建立数据库连接; *在请求开始时,根据需求进行权限校验; *在请求结束时,指定数据的交互格式; 为了让每 ...
-
22、Flask实战第22天:Flask信号
Flask中的信号使用的是一个第三方插件blinker.通过pip list看一下是否安装,如果没有,则使用如下命令安装 pip install blinker 自定义信号 自定义信号分为3步: ①定 ...
-
Flask纪要
flask学习过程 1框架基础 2redis高性能key-value数据库 3视图具有装饰器的路由函数 4模板html文件 面向对象操作数据库orm 5蓝图 6单元测试 7GitHub 8项目 学习的 ...
-
巨蟒python全栈开发flask2
内容回顾: 上节回顾: Flask .response 三剑客: render_template 模板 redirect 重定向 - URL地址 "" 字符串 HTTPRespon ...
-
Python面试题集合带答案
目录 Python基础篇 1:为什么学习Python 2:通过什么途径学习Python 3:谈谈对Python和其他语言的区别 Python的优势: 4:简述解释型和编译型编程语言 5:Python的 ...
-
爬虫之 cookie , 验证码,模拟登陆,线程
需求文档的定制 糗事百科的段子内容和作者(xpath的管道符)名称进行爬取,然后存储到mysql中or文本 http://sc.chinaz.com/jianli/free.html爬取简历模板 HT ...
随机推荐
-
android 关闭多个或指定activity
打开了.activityA,B,C,D,...然后到E一起关闭前面所有activity(转自:http://blog.csdn.net/lengguoxing/article/details/4214 ...
-
sql reiserror 输出错误
其语法如下: RAISERROR ( { msg_id | msg_str | @local_variable } { ,severity ,state } ...
-
WPF 自定义窗口标题栏
1.建一个WPF资源词典,在其中定义窗口样式,并在App.xaml中指定其为程序资源 2.写一个继续自windows的类,并指定这个类的Style为第一步资源里的样式 3.新建窗口时,分别把xaml文 ...
-
.NET自动字符编码识别程序库 NChardet
什么是NChardet NChardet是mozilla自动字符编码识别程序库chardet的.NET实现,它移植自jchardet,chardet的java版实现,可实现对给定字符流的编码探测. N ...
-
ZooKeeper实践:(1)配置管理
一. 前言 配置是每个程序不可或缺的一部分,配置有多重方式:xml.ini.property.database等等,从最初的单机环境到现在的分布式环境. 1. 以文件的格式存储配置,修改任何都 ...
-
JDBC常见面试题
以下我是归纳的JDBC知识点图: 图上的知识点都可以在我其他的文章内找到相应内容. JDBC常见面试题 JDBC操作数据库的步骤 ? JDBC操作数据库的步骤 ? 注册数据库驱动. 建立数据库连接. ...
-
OPPO F9 Pro在哪里打开usb调试模式的完美方法
经常我们使用pc通过数据线连接到安卓手机的时候,如果手机没有开启USB调试模式,pc则没能够成功读到我们的手机,此情况我们需要找处理方法将手机的USB调试模式开启,今天我们介绍OPPO F9 Pro如 ...
-
python2.7生成exe可执行文件
1.安装对应python版本的py2exe py2exe下载地址 2.假设你要生成test.py脚本的exe文件 新建一个setup.py,在里面输入如下代码 #!/usr/bin/python fr ...
-
xpath分析 html文件抽正文的过程
使用Py3的HTMLParser解析模块解析HTML的时候,出现:no moudle named 'markupbase' 错误. 用xpath打算分析html里面的新闻.根据运行程序后的报错的信息, ...
-
Bootstrap 标签页(Tab)插件
摘自: http://www.runoob.com/bootstrap/bootstrap-tab-plugin.html Bootstrap 标签页(Tab)插件 标签页(Tab)在 Bootstr ...