set_random_seed(12345) model.unfreeze() optimizer = optim.SGD(model.get_trainable_parameters(), lr=model.lr, momentum=model.momentum, weight_decay=model.weight_decay, nesterov=True) scheduler = step_decay_scheduler(optimizer, steps=model.steps, scales=model.scales) losses = model.fit(train_data=train_data, val_data=val_data, optimizer=optimizer, scheduler=scheduler, epochs=120, checkpoint_frequency=120, num_workers=8) pickle.dump(losses, open('{}_losses.pkl'.format(model.name), 'wb')) if predict: set_random_seed(12345) model.predict(dataset=test_data, confidence_threshold=.001, overlap_threshold=.45, show=False, export=True)
model.mini_freeze() optimizer = optim.SGD(model.get_trainable_parameters(), lr=model.lr, momentum=model.momentum, weight_decay=model.weight_decay, nesterov=True) scheduler = step_decay_scheduler(optimizer, steps=model.steps, scales=model.scales) losses = model.fit(train_data=train_data, val_data=val_data, optimizer=optimizer, scheduler=scheduler, epochs=120, checkpoint_frequency=120, num_workers=8) pickle.dump(losses, open('{}_losses.pkl'.format(model.name), 'wb')) if predict: set_random_seed(12345) model.load_weights('models/yolov2-tiny-voc.weights') predictions = model.predict(dataset=test_data, confidence_threshold=.5, overlap_threshold=.45, show=False, export=False)