Exemple #1
0
def on_message(client, userdata, msg):
    subtime = time.time()
    #print(subtime)
    payload = msg.payload
    #print(payload)
    payload_decoded = pickle.loads(payload)
    newAttribute = payload_decoded[0]
    #print("att:",newAttribute)
    i = payload_decoded[1]
    pubTime = payload_decoded[2]
    #Load the model and get the predicted results

    clf2 = joblib.load("SVM1.model")
    #print("loadmodel")
    svmResult = clf2.predict(newAttribute)
    print(svmResult)
    payload = [svmResult, i]

    thetime = time.time()
    pubTime.append(subtime)
    pubTime.append(thetime)
    payload.append(pubTime)
    payload = pickle.dumps(payload)
    pub(pubTopic, pubIp, payload)
    print("to ensemble success")
Exemple #2
0
def on_message(client, userdata, msg):
    payload = msg.payload
    payload_decoded = pickle.loads(payload)

    auto_file = open(
        './imageArray' + str(txtF) + '/' + str(payload_decoded) + '.pkl', 'rb')
    imageArray = pickle.load(auto_file)

    statis_file = open(
        './txtArray' + str(txtF) + '/' + str(payload_decoded) + '.pkl', 'rb')
    txtArray = pickle.load(statis_file)

    # Transfer data to auto
    autoTime = time.time()
    autopubTime = [autoTime]
    payload = [imageArray, payload_decoded, autopubTime]
    payload = pickle.dumps(payload)
    pub(topic1, IP1, payload)

    # Transfer data to statis
    statisTime = time.time()
    statispubTime = [statisTime]
    payload = [txtArray, payload_decoded, statispubTime]
    payload = pickle.dumps(payload)
    pub(topic2, IP2, payload)
Exemple #3
0
def f():
    global i
    print("frame", i)
    payload = i
    payload = pickle.dumps(payload)
    pub("source", "192.168.0.91", payload)
    i = i + 1
Exemple #4
0
def on_message(client, userdata, msg):
    subtime = time.time()
    payload = msg.payload
    payload_decoded = pickle.loads(payload)
    print("abc:", len(payload_decoded))
    newAttribute = payload_decoded[0]
    newAttribute = newAttribute.as_matrix()
    #print("att:",newAttribute)
    i = payload_decoded[1]
    pubTime = payload_decoded[2]

    # Load the model and get the predicted results

    clf2 = pickle.load(open("xbg.pickle.dat", "rb"))
    #print("loadmodel")
    xgbResult = clf2.predict(newAttribute)
    print(xgbResult)
    payload = [xgbResult, i]

    thetime = time.time()
    pubTime.append(subtime)
    pubTime.append(thetime)
    payload.append(pubTime)
    payload = pickle.dumps(payload)
    pub(pubTopic, pubIp, payload)
    print("to ensemble success")
Exemple #5
0
def on_message(client, userdata, msg):
    payload = msg.payload
    payload_decoded = pickle.loads(payload)
    pubTim = time.time()
    pubTime = [pubTim]
    payload = [train_df, payload_decoded, pubTime]
    payload = pickle.dumps(payload)
    pub(topic, IP, payload)
Exemple #6
0
def f():
    global i
    if(i==500):
        return;
    print("frame", i)
    payload = i
    payload = pickle.dumps(payload)
    pub("source", "192.168.0.91", payload)
    i = i + 1
Exemple #7
0
def on_message(client, userdata, msg):
    #subTim = time.time()
    # --------Receive a message----------------
    global knnList, svmList, xgboostList
    topic = msg.topic
    payload = msg.payload

    payload_decoded = pickle.loads(payload)

    if topic == 'fault-ensemble/knn':
        knnList.append(payload_decoded)

    elif topic == 'fault-ensemble/svm':
        svmList.append(payload_decoded)
    elif topic == 'fault-ensemble/xgboost':
        xgboostList.append(payload_decoded)
    print(len(knnList), len(svmList), len(xgboostList))
    if (len(knnList) != 0 and len(svmList) != 0 and len(xgboostList) != 0):
        print(knnList[0][1])
        print(svmList[0][1])
        print(xgboostList[0][1])

        subTim = time.time()
        knnResult = np.array(knnList[0][0])
        knnResult = np.transpose([knnResult])
        # print(cnnResult)
        svmResult = svmList[0][0]
        svmResult = np.transpose([svmResult])
        # print(svmResult)
        xgboostResult = xgboostList[0][0]
        xgboostResult = np.transpose([xgboostResult])

        attribute = np.concatenate((knnResult, svmResult, xgboostResult),
                                   axis=1)
        # Load the xbgoost method, get the prediction, and send it
        RF = joblib.load('ensembleTree4.m')
        result = RF.predict(attribute)
        result = result.tolist()
        print("result", result)
        pubtime = time.time()
        payload = [
            decisionNum, result, knnList[0][1], svmList[0][1],
            xgboostList[0][1], knnList[0][2], svmList[0][2], xgboostList[0][2],
            [subTim, pubtime]
        ]

        payload = pickle.dumps(payload)
        pub('faultalarm', "39.100.79.76", payload)
        print("success")

        del knnList[0]
        del svmList[0]
        del xgboostList[0]
Exemple #8
0
def on_message(client, userdata, msg):

    # ------Receive a message----------------
    global cnnList, svmList
    topic = msg.topic
    payload = msg.payload

    payload_decoded = pickle.loads(payload)

    if topic == 'wafer-ensemble/cnn':
        cnnList.append(payload_decoded)

    elif topic == 'wafer-ensemble/svm':
        svmList.append(payload_decoded)
    print(len(cnnList), len(svmList))
    if (len(cnnList) != 0 and len(svmList) != 0):
        print(cnnList[0][1])
        print(svmList[0][1])
        subTim = time.time()
        cnnResult = np.array(cnnList[0][0])
        cnnResult = np.transpose([cnnResult])
        # print(cnnResult)
        svmResult = svmList[0][0]
        svmResult = np.transpose([svmResult])
        # print(svmResult)

        attribute = np.concatenate((cnnResult, svmResult), axis=1)
        #
        RF = joblib.load('ensembleTree4.m')
        result = RF.predict(attribute)
        result = result.tolist()
        print("result", result)
        pubtime = time.time()
        payload = [
            decisionNum, result, cnnList[0][1], svmList[0][1], cnnList[0][2],
            svmList[0][2], [subTim, pubtime]
        ]

        payload = pickle.dumps(payload)
        pub('waferalarm', "39.100.79.76", payload)
        # for re in result:
        #     if re != "none":
        #         pubtime = time.time()
        #         payload = [decisionNum, result, cnnList[0][1], cnnList[0][2], svmList[0][2], [subTim, pubtime]]
        #
        #         payload = pickle.dumps(payload)
        #         pub('alarm', "192.168.0.135", payload)
        #         break;

        del cnnList[0]
        del svmList[0]
Exemple #9
0
def on_message(client, userdata, msg):
    #subTim = time.time()
   
    global knnList,svmList,xgboostList
    topic = msg.topic
    payload=msg.payload

    payload_decoded = pickle.loads(payload)

    if topic == 'fault-ensemble/knn':
        knnList.append(payload_decoded)

    elif  topic == 'fault-ensemble/svm':
        svmList.append(payload_decoded)
    elif topic == 'fault-ensemble/xgboost':
        xgboostList.append(payload_decoded)
    print(len(knnList),len(svmList),len(xgboostList))
    if(len(knnList)!=0 and len(svmList)!=0 and len(xgboostList)!=0):
        print(knnList[0][1])
        print(svmList[0][1])
        print(xgboostList[0][1])
        if ((knnList[0][1] == svmList[0][1]) and (svmList[0][1]==xgboostList[0][1])):
            subTim=time.time()
            knnResult = np.array(knnList[0][0])
            knnResult = np.transpose([knnResult])
            # print(cnnResult)
            svmResult = svmList[0][0]
            svmResult = np.transpose([svmResult])
            # print(svmResult)
            xgboostResult = xgboostList[0][0]
            xgboostResult = np.transpose([xgboostResult])

            attribute = np.concatenate((knnResult, svmResult,xgboostResult), axis=1)
            
            RF = joblib.load('ensembleTree4.m')
            result = RF.predict(attribute)
            result = result.tolist()
            print("result", result)
            pubtime = time.time()
            payload = [decisionNum, result, knnList[0][1], svmList[0][1],xgboostList[0][1],knnList[0][2], svmList[0][2], xgboostList[0][2],[subTim, pubtime]]

            payload = pickle.dumps(payload)
            pub('alarm', "192.168.0.135", payload)
            print("success")

            del knnList[0]
            del svmList[0]
            del xgboostList[0]
        else:
            print("bupipei")
Exemple #10
0
def on_message(client, userdata, msg):
    subtime = time.time()
    payload = msg.payload
    payload_decoded = pickle.loads(payload)
    train_df = payload_decoded[0]  #data
    frame = payload_decoded[1]
    pubTime = payload_decoded[2]
    df = Darapreprocessing(train_df)  #data chuli
    payload = [df, frame]
    thetime = time.time()
    pubTime.append(subtime)
    pubTime.append(thetime)
    payload.append(pubTime)
    payload = pickle.dumps(payload)
    pub(pubTopic, pubIp, payload)
Exemple #11
0
def on_message(client, userdata, msg):
    subTim = time.time()
    # -------Receive a message----------------
    global cnnList, svmList
    topic = msg.topic
    payload = msg.payload

    payload_decoded = pickle.loads(payload)

    if topic == 'wafer-ensemble/cnn':
        cnnList.append(payload_decoded)

    elif topic == 'wafer-ensemble/svm':
        svmList.append(payload_decoded)
    print(len(cnnList), len(svmList))
    if (len(cnnList) != 0 and len(svmList) != 0):
        cnnResult = np.array(cnnList[0][0])
        cnnResult = np.transpose([cnnResult])
        #print(cnnResult)
        svmResult = svmList[0][0]
        svmResult = np.transpose([svmResult])
        #print(svmResult)

        attribute = np.concatenate((cnnResult, svmResult), axis=1)
        print(attribute)
        # Load the xbgoost method, get the prediction, and send it
        RF = joblib.load('ensembleTree4.m')
        result = RF.predict(attribute)
        print("result", result)
        i = 0
        for re in result:
            i = i + 1
            if re != "none":
                print("in:", i)
                pubtime = time.time()
                payload = [
                    decisionNum, result, cnnList[0][1], cnnList[0][2],
                    svmList[0][2], [subTim, pubtime]
                ]

                payload = pickle.dumps(payload)
                pub('alarm', "192.168.0.135", payload)
                print("pubSuccess")
                break
        print("out:", i)
        del cnnList[0]
        del svmList[0]
Exemple #12
0
def on_message(client, userdata, msg):
    subtime = time.time()
    payload = msg.payload
    payload_decoded = pickle.loads(payload)
    newAttribute = payload_decoded[0]
    i = payload_decoded[1]
    pubTime = payload_decoded[2]
    #Load the model and get the predicted results
    labels = []
    for newAtt in newAttribute:
        labels.append(classify(newAtt))
    print("iii")
    print(labels)
    payload = [labels, i]
    thetime = time.time()
    pubTime.append(subtime)
    pubTime.append(thetime)
    payload.append(pubTime)
    payload = pickle.dumps(payload)
    pub(pubTopic, pubIp, payload)
Exemple #13
0
def on_message(client, userdata, msg):
    subtime = time.time()
    payload = msg.payload
    payload_decoded = pickle.loads(payload)
    newAttribute = payload_decoded[0]
    #print("att:",newAttribute[:2])
    i = payload_decoded[1]
    pubTime = payload_decoded[2]
    #Load the model and get the predicted results
    clf2 = load_model("binary_model.h5")
    #print("loadmodel")
    LSTMResult = clf2.predict_classes(newAttribute)
    print(LSTMResult)
    payload = [decisionNum, LSTMResult, i]
    thetime = time.time()
    pubTime.append(subtime)
    pubTime.append(thetime)
    payload.append(pubTime)
    payload = pickle.dumps(payload)
    #pub(pubTopic, pubIp, payload)
    pub('alarm', "39.100.79.76", payload)
Exemple #14
0
def on_message(client, userdata, msg):
    # -------Receive a message----------------
    subTim = time.time()

    payload = msg.payload
    payload_decoded = pickle.loads(payload)
    # print(payload_decoded)
    df = payload_decoded[0]
    frame = payload_decoded[1]
    pubTime = payload_decoded[2]

    #-------------------------------------------Feature extraction----------------------------------------
    new_x = extractFeature(df)
    #------------------------------------------pub message--------------------------------------
    payload = [new_x, frame]

    thetime = time.time()
    pubTime.append(subTim)
    pubTime.append(thetime)
    payload.append(pubTime)
    payload = pickle.dumps(payload)
    pub(topic1, ip1, payload)
    print("knn success")

    # Transfer data to SVM

    pub(topic2, ip2, payload)
    print("svm success")
    #xgb

    pub(topic3, ip3, payload)
    print("xgb success")
Exemple #15
0
def on_message(client, userdata, msg):
    # -------Receive a message----------------
    subTim = time.time()

    payload = msg.payload
    payload_decoded = pickle.loads(payload)
    #print(payload_decoded)
    imageArray = payload_decoded[0]
    frame = payload_decoded[1]
    pubTime = payload_decoded[2]

    newAttribute = []
    for image in imageArray:
        newAttribute.append(feature_extract(image))
    payload = [newAttribute, frame]

    j = 0

    thetime = time.time()
    pubTime.append(subTim)
    pubTime.append(thetime)
    payload.append(pubTime)
    payload = pickle.dumps(payload)
    pub(pubTopic, pubIp, payload)