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的更多相关文章

  1. flask 第二章 endpoint重名 Flask路由 初始化配置 Falsk Config 蓝图+目录结构

    今日内容 1.路由的分发,以下两种方式效果一样,但是都能指向同一个函数 from flask import Flask app=Flask(__name__) #第一种方式 @app.route('/ ...

  2. flask请求上下文

    先看一个例子: #!/usr/bin/env python # -*- coding:utf-8 -*- import threading # local_values = threading.loc ...

  3. Flask系列之源码分析(一)

    目录: 涉及知识点 Flask框架原理 简单示例 路由系统原理源码分析 请求流程简单源码分析 响应流程简单源码分析 session简单源码分析 涉及知识点 1.装饰器 闭包思想 def wapper( ...

  4. flask中请求勾子

    请求勾子 在客户端和服务器交互的过程中,有些准备工作或扫尾工作需要处理,比如: *在请求开始时,建立数据库连接; *在请求开始时,根据需求进行权限校验; *在请求结束时,指定数据的交互格式; 为了让每 ...

  5. 22、Flask实战第22天:Flask信号

    Flask中的信号使用的是一个第三方插件blinker.通过pip list看一下是否安装,如果没有,则使用如下命令安装 pip install blinker 自定义信号 自定义信号分为3步: ①定 ...

  6. Flask纪要

    flask学习过程 1框架基础 2redis高性能key-value数据库 3视图具有装饰器的路由函数 4模板html文件 面向对象操作数据库orm 5蓝图 6单元测试 7GitHub 8项目 学习的 ...

  7. 面试简历书写、Flask框架介绍与快速使用、Flask演示登录页面、用户信息页面案例

    今日内容概要 面试简历编写 Flask框架介绍与安装 内容详细 1.面试简历编写 # 千万不要几个小时把简历凑出来 几天到一周 # 有没有面试机会,取决于简历写得怎么样 简历写好是第一步 # 投简历的 ...

  8. 巨蟒python全栈开发flask2

    内容回顾: 上节回顾: Flask .response 三剑客: render_template 模板 redirect 重定向 - URL地址 "" 字符串 HTTPRespon ...

  9. Python面试题集合带答案

    目录 Python基础篇 1:为什么学习Python 2:通过什么途径学习Python 3:谈谈对Python和其他语言的区别 Python的优势: 4:简述解释型和编译型编程语言 5:Python的 ...

随机推荐

  1. js的关于for的语句

    JavaScript for...in 语句 for...in 语句用于对数组或者对象的属性进行循环操作. for ... in 循环中的代码每执行一次,就会对数组的元素或者对象的属性进行一次操作. ...

  2. 六、Linux的用户和组

    1. 用户的管理 useradd 添加一个用户 useradd test 添加test用户 useradd test -d /home/t1  指定用户home目录 或者直接  adduser tes ...

  3. Dynamic learning rate in training - 培训中的动态学习率

    I'm using keras 2.1.* and want to change the learning rate during training. I know about the schedul ...

  4. Spring _day01_下载、概述、监听器

    Spring:SE/EE开发的一站式框架. ​ .一站式框架:有EE开发的每一层解决方案. ​ . WEB层 :SpringMVC ​ . Service层 :Spring的Bean管理,Spring ...

  5. 【js高程学习笔记】关于变量值和函数参数

    变量包含了两种不同类型的值: 基本类型 (Undefined.null.Boolean.Number.string都属于基本类型) 引用类型 (对象) 两种值在赋值上不同的是: 将一个引用类型的值(对 ...

  6. dva,清除模块数据

    前言: 在项目中,模块过多,dva使用namespace分离模块后,若没有在模块卸载后清除对应的数据,下次进入时,有可能会有上一次数据的残留. 比如详情页,从A商品的详情页离开后,返回选择B商品进入, ...

  7. SQL-50 将employees表中的所有员工的last_name和first_name通过(')连接起来

    题目描述 将employees表中的所有员工的last_name和first_name通过(')连接起来.CREATE TABLE `employees` (`emp_no` int(11) NOT ...

  8. UDP聊天工具的实现

    利用TIdUDPClient;   TIdUDPServer;  实现聊天,其实很不爽,没有解决中文乱码问题,以后补充吧!      代码如下: unit Unit1; interface uses ...

  9. docker学习构建镜像---第三章节

    一.docker镜像使用 运行docker容器时,使用的镜像如果在本地不存在,docker会自动从docker镜像仓库中下载,默认是从docker hub公共镜像源下载 在这里,我们需要了解:管理和使 ...

  10. 2016/12/21 dplの课练

    1.将/etc/passwd第行的最后一段全部改成/bin/bash cat 1 |sed -n '1,$p' |egrep '.*:' -o |sed 's/$/\bin\/bash/' 2.将/e ...