Beispiel #1
0
                               generator=torch.Generator().manual_seed(42))

valid_loader = DataLoader(valid_dataset, batch_size=batch_size)

model = BeatTrackingNet()
parameters = model.parameters()

if GPU:
    model = model.cuda()

if optimizer == 'Adam':
    optimizer = Adam(parameters, lr=learning_rate)
scheduler = lr_scheduler.ReduceLROnPlateau(optimizer, 'min', factor=0.2)
criterion = BCELoss()

params = list(model.parameters()) + list(criterion.parameters())
total_params = sum(x.size()[0] *
                   x.size()[1] if len(x.size()) > 1 else x.size()[0]
                   for x in params if x.size())
print(f'Total parameters: {total_params}')
# train and valid
for i in range(1, num_epoch + 1):
    # training
    print(f"Epoch {i}: Training Start.")
    model.train()
    running_loss = 0.0
    batch_loss = list()
    batch_step = 0
    train_loader = DataLoader(train_dataset, batch_size=batch_size)
    for input, label in train_loader:
        optimizer.zero_grad()