Reference for ultralytics/utils/autobatch.py
Note
This file is available at https://github.com/ultralytics/ultralytics/blob/main/ultralytics/utils/autobatch.py. If you spot a problem please help fix it by contributing a Pull Request 🛠️. Thank you 🙏!
ultralytics.utils.autobatch.check_train_batch_size
check_train_batch_size(
model: Module,
imgsz: int = 640,
amp: bool = True,
batch: Union[int, float] = -1,
max_num_obj: int = 1,
) -> int
Compute optimal YOLO training batch size using the autobatch() function.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
model
|
Module
|
YOLO model to check batch size for. |
required |
imgsz
|
int
|
Image size used for training. |
640
|
amp
|
bool
|
Use automatic mixed precision if True. |
True
|
batch
|
int | float
|
Fraction of GPU memory to use. If -1, use default. |
-1
|
max_num_obj
|
int
|
The maximum number of objects from dataset. |
1
|
Returns:
Type | Description |
---|---|
int
|
Optimal batch size computed using the autobatch() function. |
Notes
If 0.0 < batch < 1.0, it's used as the fraction of GPU memory to use. Otherwise, a default fraction of 0.6 is used.
Source code in ultralytics/utils/autobatch.py
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
|
ultralytics.utils.autobatch.autobatch
autobatch(
model: Module,
imgsz: int = 640,
fraction: float = 0.6,
batch_size: int = DEFAULT_CFG.batch,
max_num_obj: int = 1,
) -> int
Automatically estimate the best YOLO batch size to use a fraction of the available CUDA memory.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
model
|
Module
|
YOLO model to compute batch size for. |
required |
imgsz
|
int
|
The image size used as input for the YOLO model. |
640
|
fraction
|
float
|
The fraction of available CUDA memory to use. |
0.6
|
batch_size
|
int
|
The default batch size to use if an error is detected. |
batch
|
max_num_obj
|
int
|
The maximum number of objects from dataset. |
1
|
Returns:
Type | Description |
---|---|
int
|
The optimal batch size. |
Source code in ultralytics/utils/autobatch.py
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 |
|