Пример #1
0
    dataset_train = HeatmapDataset(heatmap_root, annotation_train)
    dataset_test = HeatmapDataset(heatmap_root, annotation_test)
    train_loader = DataLoader(dataset_train,
                              batch_size=config['batch_size'],
                              num_workers=4,
                              pin_memory=True)
    test_loader = DataLoader(dataset_test,
                             batch_size=config['batch_size'],
                             num_workers=4,
                             pin_memory=True)

    # log path
    path = dir_path("sensor_heatmap_3dcnn_fusion_baseline_diff", result_dir)

    # create model
    model = C3DFusionBaseline(sample_duration=config['h_num_frames'],
                              num_classes=config['num_classes'])
    model = model.to(device)

    criterion = nn.CrossEntropyLoss()

    # test
    dir = "C:/Users/Zber/Documents/Dev_program/OpenRadar/FER/results/sensor_heatmap_3dcnn_fusion_baseline_20211216-185624"
    evaluate(model, dir, test_loader)

    # initialize critierion and optimizer
    # could add weighted loss e.g. pos_weight = torch.ones([64])
    # criterion = nn.BCELoss()

    # optimizer = torch.optim.Adam(model.parameters(), lr=config['lr'])
    #
    # lr_scheduler = torch.optim.lr_scheduler.StepLR(optimizer, step_size=config['lr_step_size'],
Пример #2
0
    # split data
    azi_train, azi_test, ele_train, ele_test, label_train, label_test = train_test_split(
        azi, ele, label, test_size=0.2, random_state=25, stratify=label)

    train_loader = senor_heatmap_label_data_loader(azi_train,
                                                   ele_train,
                                                   label_train,
                                                   batch_size=BATCH_SIZE)
    test_loader = senor_heatmap_label_data_loader(
        azi_test, ele_test, label_test, batch_size=np.shape(azi_test)[0])

    # log path
    # path = dir_path("sensor_heatmap_3dcnn", result_dir)

    # create model
    model = C3DFusionBaseline(sample_duration=num_frames,
                              num_classes=num_classes)
    model_path = "FER/results/sensor_heatmap_3dcnn_fusion20211030-123808/model.ckpt"
    model.load_state_dict(torch.load(model_path))
    model = model.to(device)

    # test
    azi_test = azi_test.astype('float32')
    azi_test = torch.from_numpy(azi_test).to(device)

    ele_test = ele_test.astype('float32')
    ele_test = torch.from_numpy(ele_test).to(device)

    output = model(azi_test, ele_test)
    y_pred = output.argmax(dim=1, keepdim=True)
    y_pred = y_pred.numpy().flatten()
    y_test = label_test