Exemplo n.º 1
0
 def start(self):
     if self.activities is not None:
         for body in self.activities['body']['activities']:
             for act in body:
                 value = body[act]
                 if act == 'hr_average':
                     val = value
                     self.setDriver('ST', val)
                 if act == 'hr_min':
                     val = value
                     self.setDriver('GV0', val)
                 if act == 'hr_max':
                     val = value
                     self.setDriver('GV1', val)
                 if act == 'hr_zone_0':
                     val = utils.seconds_to_minutes(value)
                     self.setDriver('GV2', val)
                 if act == 'hr_zone_1':
                     val = utils.seconds_to_minutes(value)
                     self.setDriver('GV3', val)
                 if act == 'hr_zone_2':
                     val = utils.seconds_to_minutes(value)
                     self.setDriver('GV4', val)
                 if act == 'hr_zone_3':
                     val = utils.seconds_to_minutes(value)
                     self.setDriver('GV5', val)
Exemplo n.º 2
0
    def start(self):
        if self.devices is not None:
            for dev in self.devices['body']['devices']:
                if dev['type'] == "Activity Tracker":
                    value = dev['battery']
                    if value == "low":
                        battery = 1
                    elif value == "medium":
                        battery = 2
                    elif value == "high":
                        battery = 3
                    else:
                        battery = 0
                    self.setDriver('BATLVL', battery)

        if self.activities is not None:
            for body in self.activities['body']['activities']:
                for act in body:
                    value = body[act]
                    if act == 'steps':
                        val = value
                        self.setDriver('ST', val)
                    if act == 'distance':
                        val = utils.meters_to_mile(value)
                        self.setDriver('GV0', val)
                    if act == 'elevation':
                        if value == 0:
                            self.setDriver('GV1', value, force=True)
                        else:
                            val = value
                            self.setDriver('GV1', val)
                    if act == 'soft':
                        val = utils.seconds_to_minutes(value)
                        self.setDriver('GV2', val)
                    if act == 'moderate':
                        val = utils.seconds_to_minutes(value)
                        self.setDriver('GV3', val)
                    if act == 'intense':
                        val = utils.seconds_to_minutes(value)
                        self.setDriver('GV4', val)
                    if act == 'active':
                        val = utils.seconds_to_minutes(value)
                        self.setDriver('GV5', val)
                    if act == 'calories':
                        val = round(value, 2)
                        self.setDriver('GV6', val)
                    if act == 'totalcalories':
                        val = round(value, 2)
                        self.setDriver('GV7', val)
Exemplo n.º 3
0
 def start(self):
     if self.sleep is not None:
         for series in self.sleep['body']['series']:
             model = series['model']
             if model == 16:
                 for entry in series['data']:
                     value = series['data'][entry]
                     if entry == "sleep_score":
                         val = value
                         self.setDriver('ST', val)
                     if entry == "lightsleepduration":
                         val = utils.seconds_to_minutes(value)
                         self.setDriver('GV0', val)
                     if entry == "deepsleepduration":
                         val = utils.seconds_to_minutes(value)
                         self.setDriver('GV1', val)
                     if entry == "wakeupcount":
                         val = value
                         self.setDriver('GV2', val)
                     if entry == "wakeupduration":
                         val = utils.seconds_to_minutes(value)
                         self.setDriver('GV3', val)
                     if entry == "durationtosleep":
                         val = utils.seconds_to_minutes(value)
                         self.setDriver('GV4', val)
                     if entry == "durationtowakeup":
                         val = utils.seconds_to_minutes(value)
                         self.setDriver('GV5', val)
                     if entry == "hr_average":
                         val = value
                         self.setDriver('GV6', val)
                     if entry == "hr_min":
                         val = value
                         self.setDriver('GV7', val)
                     if entry == "hr_max":
                         val = value
                         self.setDriver('GV8', val)
 def start(self):
     if self.sleep is not None:
         for series in self.sleep['body']['series']:
             model = series['model']
             if model == 32:
                 for entry in series['data']:
                     value = series['data'][entry]
                     if entry == "sleep_score":
                         val = value
                         self.setDriver('ST', val)
                     if entry == "lightsleepduration":
                         val = utils.seconds_to_minutes(value)
                         self.setDriver('GV0', val)
                     if entry == "deepsleepduration":
                         val = utils.seconds_to_minutes(value)
                         self.setDriver('GV1', val)
                     if entry == "remsleepduration":
                         val = utils.seconds_to_minutes(value)
                         self.setDriver('GV2', val)
                     if entry == "wakeupcount":
                         val = value
                         self.setDriver('GV3', val)
                     if entry == "wakeupduration":
                         val = utils.seconds_to_minutes(value)
                         self.setDriver('GV4', val)
                     if entry == "durationtosleep":
                         val = utils.seconds_to_minutes(value)
                         self.setDriver('GV5', val)
                     if entry == "durationtowakeup":
                         val = utils.seconds_to_minutes(value)
                         self.setDriver('GV6', val)
                     if entry == "hr_average":
                         val = value
                         self.setDriver('GV7', val)
                     if entry == "hr_min":
                         val = value
                         self.setDriver('GV8', val)
                     if entry == "hr_max":
                         val = value
                         self.setDriver('GV9', val)
                     if entry == "rr_average":
                         val = value
                         self.setDriver('GV10', val)
                     if entry == "rr_min":
                         val = value
                         self.setDriver('GV11', val)
                     if entry == "rr_max":
                         val = value
                         self.setDriver('GV12', val)
                     if entry == "breathing_disturbances_intensity":
                         if value <= 30:
                             val = 1
                         elif value > 30 <= 60:
                             val = 2
                         elif value > 60:
                             val = 3
                         else:
                             val = 0
                         self.setDriver('GV13', val)
                     if entry == "snoring":
                         val = utils.seconds_to_minutes(value)
                         self.setDriver('GV14', val)
                     if entry == "snoringepisodecount":
                         val = value
                         self.setDriver('GV15', val)
Exemplo n.º 5
0
    f1_weighted = f1_score(np.argmax(y_test, axis=1),
                           np.argmax(pred, axis=1),
                           labels=None,
                           average='weighted',
                           sample_weight=None)
    logger.append_log("F1 score (weighted) " + str(f1_weighted))
    logger.append_log("F1 score (macro) " + str(
        f1_score(np.argmax(y_test, axis=1),
                 np.argmax(pred, axis=1),
                 labels=None,
                 average='macro',
                 sample_weight=None)))
    logger.append_log("F1 score (micro) " + str(
        f1_score(np.argmax(y_test, axis=1),
                 np.argmax(pred, axis=1),
                 labels=None,
                 average='micro',
                 sample_weight=None))
                      )  # weighted and micro preferred in case of imbalance

    for i, row in enumerate(conf_mat):
        logger.append_log("precision of class {} = {}".format(
            i, np.round(row[i] / np.sum(row), 2)))

    if is_last_batch:
        break

logger.append_log("Complete training finished in {}".format(
    seconds_to_minutes(time.time() - start_time)))
logger.flush()
Exemplo n.º 6
0
    plot_history(history, count)
    min_arg = np.argmin(np.array(history.history['val_loss']))
    logger.append_log("Best val_loss is {} and corresponding train_loss is {}".format(
        history.history['val_loss'][min_arg], history.history['loss'][min_arg]))
    test_res = model.evaluate(x_test, y_test, verbose=0)
    logger.append_log("keras evaluate result =" + str(test_res)+", metrics:"+str(model.metrics_names))
    pred = model.predict(x_test)
    check_baseline(np.argmax(pred, axis=1), np.argmax(y_test, axis=1))
    conf_mat = confusion_matrix(np.argmax(y_test, axis=1), np.argmax(pred, axis=1))
    logger.append_log('\n'+str(conf_mat))
    labels = [0, 1, 2]
    f1_weighted = f1_score(np.argmax(y_test, axis=1), np.argmax(pred, axis=1), labels=None,
                           average='weighted', sample_weight=None)
    logger.append_log("F1 score (weighted) " + str(f1_weighted))
    logger.append_log(
        "F1 score (macro) " + str(f1_score(np.argmax(y_test, axis=1), np.argmax(pred, axis=1), labels=None,
                                           average='macro', sample_weight=None)))
    logger.append_log(
        "F1 score (micro) " + str(f1_score(np.argmax(y_test, axis=1), np.argmax(pred, axis=1), labels=None,
                                           average='micro',
                                           sample_weight=None)))  # weighted and micro preferred in case of imbalance

    for i, row in enumerate(conf_mat):
        logger.append_log("precision of class {} = {}".format(i, np.round(row[i] / np.sum(row), 2)))

    if is_last_batch:
        break

logger.append_log("Complete training finished in {}".format(seconds_to_minutes(time.time() - start_time)))
logger.flush()