コード例 #1
0
ファイル: eval.py プロジェクト: daikiclimate/Point_golfdb
            batch += 1
        _, _, _, _, c = correct_preds(probs, labels.squeeze())
        if disp:
            print(i, c)
        correct.append(c)
    PCE = np.mean(correct)
    return PCE


if __name__ == "__main__":

    split = 1
    seq_length = 64
    n_cpu = 6

    model = EventDetector(
        pretrain=True,
        width_mult=1.0,
        lstm_layers=1,
        lstm_hidden=256,
        bidirectional=True,
        dropout=False,
    )

    save_dict = torch.load("models/swingnet_1800.pth.tar")
    model.load_state_dict(save_dict["model_state_dict"])
    model.cuda()
    model.eval()
    PCE = eval(model, split, seq_length, n_cpu, True)
    print("Average PCE: {}".format(PCE))
コード例 #2
0
    n_cpu = 6
    seq_length = args.seq_length
    bs = args.batch_size  # batch size
    k = 10  # frozen layers

    use_no_element = args.use_no_element

    device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')

    print('Load Model')

    model = EventDetector(pretrain=True,
                          width_mult=1.,
                          lstm_layers=1,
                          lstm_hidden=256,
                          device=device,
                          bidirectional=True,
                          dropout=False,
                          use_no_element=use_no_element
                          )
    #print('model.py, class EventDetector()')

    freeze_layers(k, model)
    #print('utils.py, func freeze_laters()')
    model.train()
    model.to(device)
    print('Loading Data')


    # TODO: vid_dirのpathをかえる。stsqの動画を切り出したimage全部が含まれているdirにする
    if use_no_element == False:
コード例 #3
0
version_name = 'original_' + str(split) + '_' + str(noise_level)
print(version_name)
if __name__ == '__main__':

    # training configuration
    iterations = 10000
    it_save = 10000  # save model every 100 iterations
    n_cpu = 8
    seq_length = 64
    bs = 22  # batch size
    k = 10  # frozen layers

    model = EventDetector(pretrain=True,
                          width_mult=1.,
                          lstm_layers=1,
                          lstm_hidden=256,
                          bidirectional=True,
                          dropout=False)
    freeze_layers(k, model)
    model.train()
    model.cuda()

    dataset = GolfDB(data_file='data/train_split_{}.pkl'.format(split),
                     vid_dir='data/videos_160/',
                     seq_length=seq_length,
                     transform=transforms.Compose([
                         ToTensor(),
                         Normalize([0.485, 0.456, 0.406],
                                   [0.229, 0.224, 0.225])
                     ]),
                     train=True,
コード例 #4
0
        _, _, _, _, c = correct_preds(probs, labels.squeeze())
        if disp:
            print(i, c)
        correct.append(c)
    PCE = np.mean(correct)
    return PCE


if __name__ == '__main__':

    seq_length = 64
    n_cpu = 6

    model = EventDetector(pretrain=True,
                          width_mult=1.,
                          lstm_layers=1,
                          lstm_hidden=256,
                          bidirectional=True,
                          dropout=False)

    save_dict = torch.load('models/' + version_name + '_10000.pth.tar',
                           map_location=lambda storage, loc: storage)
    model.load_state_dict(save_dict['model_state_dict'])
    model.to(device)
    model.eval()
    PCE = eval(model, split, seq_length, n_cpu, True)
    print('Average PCE: {}'.format(PCE))

    if not os.path.exists('results'):
        os.mkdir('results')

    if bool_classical_loss:
コード例 #5
0
ファイル: fusion.py プロジェクト: buptzqr/golfdbPipeline
            rgb_count += 1
        else:
            preds[i] = optical_preds
    deltas = np.abs(events - preds)
    correct = (deltas <= tol).astype(np.uint8)
    return preds, deltas, correct


if __name__ == '__main__':
    split = 1
    seq_length = 64
    n_cpu = 6

    model = EventDetector(pretrain=True,
                          width_mult=1,
                          lstm_layers=1,
                          lstm_hidden=256,
                          bidirectional=True,
                          dropout=False)

    rgb_save_dict = torch.load('swingnet_1600.pth.tar')
    model.load_state_dict(rgb_save_dict['model_state_dict'])
    model.cuda()
    model.eval()

    _, _, rgb_probs, rgb_tols, rgb_events = myeval(model, split, seq_length,
                                                   n_cpu, False, 1)

    optical_save_dict = torch.load('swingnet_1200.pth.tar')
    model.load_state_dict(optical_save_dict['model_state_dict'])
    model.cuda()
    model.eval()
コード例 #6
0
ファイル: train.py プロジェクト: buptzqr/golfdbPipeline

if __name__ == '__main__':

    # training configuration
    split = cfg.SPLIT
    iterations = cfg.ITERATIONS
    it_save = cfg.IT_SAVE  # save model every 100 iterations
    n_cpu = cfg.CPU_NUM
    seq_length = cfg.SEQUENCE_LENGTH
    bs = cfg.BATCH_SIZE  # batch size
    k = 10  # frozen layers

    model = EventDetector(pretrain=True,
                          width_mult=1.,
                          lstm_layers=1,
                          lstm_hidden=256,
                          bidirectional=True,
                          dropout=False)
    freeze_layers(k, model)
    model.train()
    model.cuda()
    # model = nn.DataParallel(model)
    
    # 用来训练非光流部分
    # dataset = GolfDB(data_file='./data/train_split_{}.pkl'.format(split),
    #                  vid_dir='/home/zqr/data/videos_160/',
    #                  seq_length=seq_length,
    #                  transform=transforms.Compose([transforms.ToPILImage(),
    #                     transforms.RandomHorizontalFlip(0.5),
    #                     transforms.RandomAffine(5,shear=5),
    #                     transforms.ToTensor()]),
コード例 #7
0
    # training configuration
    split = 1
    iterations = 2000
    it_save = 100  # save model every 100 iterations
    n_cpu = 6
    seq_length = 64
    bs = 4  # batch size
    k = 10  # frozen layers

    device = 'cuda:0'
    model = EventDetector(
        # pretrain=False,
        pretrain=True,
        width_mult=1.0,
        lstm_layers=1,
        lstm_hidden=256,
        bidirectional=True,
        dropout=False,
        device=device,
    )

    base_list = [-1]
    event_th = 30
    dataset = PointImgGolfDB(
        data_file="data/train_split_{}.pkl".format(split),
        vid_dir="data/videos_160/",
        seq_length=seq_length,
        # transform=transforms.Compose(
        #     [ToTensor(), Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])]
        # ),
        train=True,
コード例 #8
0
list_loss = {'loss':[], 'soft':[], 'count':[]}


if __name__ == '__main__':

    # training configuration (From McNally et al.)
    iterations = config['iterations']
    it_save = 10000  # save model every 10000 iterations
    n_cpu = 6
    seq_length = 64
    bs = 22  # batch size
    k = 10  # frozen layers

    model = EventDetector(pretrain=True,
                          width_mult=1.,
                          lstm_layers=1,
                          lstm_hidden=256,
                          bidirectional=True,
                          dropout=False)
    freeze_layers(k, model)
    model.train()
    model.to(device)

    dataset = GolfDB(data_file='data/train_split_{}.pkl'.format(split),
                     vid_dir='data/videos_160/',
                     seq_length=seq_length,
                     transform=transforms.Compose([ToTensor(),
                                                   Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225])]),
                     train=True,
                     noise_level=noise_level)

    data_loader = DataLoader(dataset,
コード例 #9
0
ファイル: train.py プロジェクト: akiho-ally/StSqDB
    it_save = args.it_save  # save model every 100 iterations
    n_cpu = 6
    seq_length = args.seq_length
    bs = args.batch_size  # batch size
    k = 10  # frozen layers

    use_no_element = args.use_no_element

    device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')

    print('Load Model')

    model = EventDetector(pretrain=True,
                          width_mult=1.,
                          lstm_layers=1,
                          lstm_hidden=256,
                          device=device,
                          bidirectional=True,
                          dropout=False,
                          use_no_element=use_no_element)
    #print('model.py, class EventDetector()')

    freeze_layers(k, model)
    #print('utils.py, func freeze_laters()')
    model.train()
    model.to(device)
    print('Loading Data')

    # TODO: vid_dirのpathをかえる。stsqの動画を切り出したimage全部が含まれているdirにする
    if use_no_element == False:
        dataset = StsqDB(
            data_file='data/no_ele/seq_length_{}/train_split_{}.pkl'.format(