コード例 #1
0
 def snapshot_pre(self, submit, imagePath, type_image):
     scores_predict = []
     for name in tqdm(submit['Id']):
         path = os.path.join(imagePath, name)
         image = data_generator.load_image(path,
                                           self.input_shape + [self.div],
                                           type_image)
         score_predict = self.model.predict(image[np.newaxis])[0]
         scores_predict += [score_predict]
     return scores_predict
コード例 #2
0
    def snapshot_val(self, dataset_info, type_image):
        scores_predict = []

        for idx in range(len(dataset_info)):
            image = data_generator.load_image(dataset_info[idx]['path'],
                                              self.input_shape + [self.div],
                                              type_image)
            score_predict = self.model.predict(image[np.newaxis])[0]
            scores_predict += [score_predict]
        return scores_predict
コード例 #3
0
    def predict(self, submit, imagePath):
        predicted = []
        for name in tqdm(submit['Id']):
            path = os.path.join(imagePath, name)
            image = data_generator.load_image(path, self.input_shape)
            score_predict = self.model.predict(image[np.newaxis])[0]
            label_predict = np.arange(28)[score_predict >= 0.2]
            str_predict_label = ' '.join(str(l) for l in label_predict)
            predicted.append(str_predict_label)

        submit['Predicted'] = predicted
        submit.to_csv('submission.csv', index=False)
コード例 #4
0
    def eval(self, dataset_info, type_image):
        labels_true = []
        scores_predict = []
        for idx in range(len(dataset_info)):
            image = data_generator.load_image(dataset_info[idx]['path'],
                                              self.input_shape + [self.div],
                                              type_image)
            labels = np.zeros(28)
            labels[dataset_info[idx]['labels']] = 1
            labels_true += [labels]
            score_predict = self.model.predict(image[np.newaxis])[0]
            #label_predict = np.arange(28)[score_predict>=label_threshold]
            scores_predict += [score_predict]

        return labels_true, scores_predict
コード例 #5
0
from tensorflow.keras.callbacks import LambdaCallback
from tensorflow.keras.callbacks import Callback
from tensorflow.keras import metrics
from tensorflow.keras.optimizers import Adam
from tensorflow.keras import backend as K
from tensorflow import keras
import tensorflow as tf

from kaggle_data import data_generator
from uitls import f1_loss, f1

model = load_model('working/model_train2.h5',
                   custom_objects={
                       'f1_loss': f1_loss,
                       'f1': f1
                   })

submit = pd.read_csv('data/sample_submission.csv')

predicted = []
for name in tqdm(submit['Id']):
    path = os.path.join('data/test/', name)
    image = data_generator.load_image(path, INPUT_SHAPE)
    score_predict = model.predict(image[np.newaxis])[0]
    label_predict = np.arange(28)[score_predict >= 0.2]
    str_predict_label = ' '.join(str(l) for l in label_predict)
    predicted.append(str_predict_label)

submit['Predicted'] = predicted
submit.to_csv('submission.csv', index=False)