updates
This commit is contained in:
		
							parent
							
								
									ccf757b3ea
								
							
						
					
					
						commit
						a8cf64af31
					
				
							
								
								
									
										14
									
								
								train.py
								
								
								
								
							
							
						
						
									
										14
									
								
								train.py
								
								
								
								
							|  | @ -77,7 +77,7 @@ def train( | ||||||
| 
 | 
 | ||||||
|     cutoff = -1  # backbone reaches to cutoff layer |     cutoff = -1  # backbone reaches to cutoff layer | ||||||
|     start_epoch = 0 |     start_epoch = 0 | ||||||
|     best_map = 0. |     best_fitness = 0.0 | ||||||
|     nf = int(model.module_defs[model.yolo_layers[0] - 1]['filters'])  # yolo layer size (i.e. 255) |     nf = int(model.module_defs[model.yolo_layers[0] - 1]['filters'])  # yolo layer size (i.e. 255) | ||||||
|     if opt.resume or opt.transfer:  # Load previously saved model |     if opt.resume or opt.transfer:  # Load previously saved model | ||||||
|         if opt.transfer:  # Transfer learning |         if opt.transfer:  # Transfer learning | ||||||
|  | @ -94,7 +94,7 @@ def train( | ||||||
|         start_epoch = chkpt['epoch'] + 1 |         start_epoch = chkpt['epoch'] + 1 | ||||||
|         if chkpt['optimizer'] is not None: |         if chkpt['optimizer'] is not None: | ||||||
|             optimizer.load_state_dict(chkpt['optimizer']) |             optimizer.load_state_dict(chkpt['optimizer']) | ||||||
|             best_loss = chkpt['best_loss'] |             best_fitness = chkpt['best_fitness'] | ||||||
|         del chkpt |         del chkpt | ||||||
| 
 | 
 | ||||||
|     else:  # Initialize model with backbone (optional) |     else:  # Initialize model with backbone (optional) | ||||||
|  | @ -257,16 +257,16 @@ def train( | ||||||
|             file.write(s + '%11.3g' * 5 % results + '\n')  # P, R, mAP, F1, test_loss |             file.write(s + '%11.3g' * 5 % results + '\n')  # P, R, mAP, F1, test_loss | ||||||
| 
 | 
 | ||||||
|         # Update best map |         # Update best map | ||||||
|         test_map = results[2] |         fitness = results[2] | ||||||
|         if test_map > best_map: |         if fitness > best_fitness: | ||||||
|             best_map = test_map |             best_fitness = fitness | ||||||
| 
 | 
 | ||||||
|         # Save training results |         # Save training results | ||||||
|         save = (not opt.nosave) or (epoch == epochs - 1) |         save = (not opt.nosave) or (epoch == epochs - 1) | ||||||
|         if save: |         if save: | ||||||
|             # Create checkpoint |             # Create checkpoint | ||||||
|             chkpt = {'epoch': epoch, |             chkpt = {'epoch': epoch, | ||||||
|                      'best_map': best_map, |                      'best_fitness': best_fitness, | ||||||
|                      'model': model.module.state_dict() if type( |                      'model': model.module.state_dict() if type( | ||||||
|                          model) is nn.parallel.DistributedDataParallel else model.state_dict(), |                          model) is nn.parallel.DistributedDataParallel else model.state_dict(), | ||||||
|                      'optimizer': optimizer.state_dict()} |                      'optimizer': optimizer.state_dict()} | ||||||
|  | @ -275,7 +275,7 @@ def train( | ||||||
|             torch.save(chkpt, latest) |             torch.save(chkpt, latest) | ||||||
| 
 | 
 | ||||||
|             # Save best checkpoint |             # Save best checkpoint | ||||||
|             if best_loss == test_loss: |             if best_fitness == fitness: | ||||||
|                 torch.save(chkpt, best) |                 torch.save(chkpt, best) | ||||||
| 
 | 
 | ||||||
|             # Save backup every 10 epochs (optional) |             # Save backup every 10 epochs (optional) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue