] }) pd.DataFrame({"image_id": df_test.iloc[:, 0].tolist(), "top1": top1, "top2": top2, "top3": top3}).\ to_csv(df_filename, index=None) with open(json_filename, "w") as f: f.write(json.dumps(json_list, sort_keys=True)) if __name__ == "__main__": # copy all the result file into one folder named result/total_result result_dirs = "../result/total_result" total_result = [] predict_gen = get_img_gen()[1].\ flow_from_directory("../input/test/test", shuffle=False, class_mode=None, target_size=(input_size, input_size), batch_size=batch_size) for result_filename in os.listdir(result_dirs): total_result.append(np.load(os.path.join(result_dirs, result_filename))) p_test = total_result[0] for i in range(1, len(total_result)): p_test += total_result[i] p_test /= len(total_result) filenames = [x.split("/")[1].split(".")[0] for x in predict_gen.filenames] df_result_file = "../result/test/fianl_submission.csv" josn_result_file = "../result/test/final_submission.json" df_test = pd.DataFrame({"image_id": filenames}) write_result2df_json(p_test,
from utils.file_util import write_result2df_json input_size = 512 input_channels = 3 batch_size = 15 epochs = 50 kfold = 5 df_train_all = pd.read_csv("../output/train_label.csv") df_valid = pd.read_csv("../output/validation_label.csv") train_path = "../input/train" valid_path = "../input/valid" model_save_file = "weight/resnet50_with_dropout" result_save_dir = "../result/resnet50_with_dropout" train_gen = get_img_gen() def _predict(result, pred_filenames): converted_result = np.zeros_like( result) # real probability after converted mapping = pd.read_csv("../input/mapping.txt", header=None, names=["maps"]).maps.tolist() print(mapping) for j in range(80): print(mapping[j]) converted_result[:, mapping[j]] = result[:, j] print(converted_result.shape) pd.DataFrame({ "filename": pred_filenames }).to_csv("../result/resnet50_with_dropout/test_filename.csv", index=None)
print(mapping) for j in range(80): print(mapping[j]) converted_result[:, mapping[j]] = result[:, j] print(converted_result.shape) pd.DataFrame({"filename": pred_filenames}).to_csv("../result/vgg16/test_filename.csv", index=None) np.save("../result/vgg16/real_test_2_result.npy", result) write_result2df_json(result, df_test=pd.DataFrame({"filename": pred_filenames}), df_filename="../result/vgg16/real_test_2_result.csv", json_filename="../result/vgg16/real_test_2_result.json") model = load_vgg16(input_size) adam_optimizer = Adam(lr=1e-4) sgd_optimizer = SGD(lr=1e-4, momentum=0.9, decay=1e-6) train_gen = get_img_gen() y_full_test = [] for fold in range(kfold): train_dir = os.path.join("../input/train", "train_fold_" + str(fold)) valid_dir = os.path.join("../input/valid", "valid_fold_" + str(fold)) checkpoint_file = os.path.join("weights", "vgg16", "fold_" + str(fold)) + ".hdf5" len_train, len_valid = 0, 0 for dir in os.listdir(train_dir): len_train += len(os.listdir(os.path.join(train_dir, dir))) for dir in os.listdir(valid_dir): len_valid += len(os.listdir(os.path.join(valid_dir, dir))) train_model_imagedatagen( model=multi_gpu_model(model, gpus=gpus), optimizer=sgd_optimizer, checkpoint_file=checkpoint_file,