Skip to content

Commit 97b88f0

Browse files
committed
test memory calculation
1 parent 48b9c05 commit 97b88f0

File tree

10 files changed

+23
-5
lines changed

10 files changed

+23
-5
lines changed
0 Bytes
Binary file not shown.
0 Bytes
Binary file not shown.

sotabencheval/image_classification/imagenet.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import time
1010

1111
from sotabencheval.utils import AverageMeter, calculate_batch_hash, download_url, change_root_if_server, is_server
12+
from sotabencheval.utils import get_max_memory_allocated
1213
from sotabencheval.image_classification.utils import top_k_accuracy_score
1314

1415
ARCHIVE_DICT = {
@@ -330,6 +331,7 @@ def get_results(self):
330331

331332
self.results = {'Top 1 Accuracy': self.top1.avg, 'Top 5 Accuracy': self.top5.avg}
332333
self.speed_mem_metrics['Tasks Per Second (Total)'] = len(self.outputs) / self.inference_time.sum
334+
self.speed_mem_metrics['Max Memory Allocated (Total)'] = get_max_memory_allocated()
333335

334336
return self.results
335337

sotabencheval/machine_translation/wmt.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from sotabencheval.utils import calculate_batch_hash, change_root_if_server, is_server
33
from sotabencheval.machine_translation.languages import Language
44
from sotabencheval.machine_translation.metrics import TranslationMetrics
5+
from sotabencheval.utils import get_max_memory_allocated
56
from typing import Dict
67
from pathlib import Path
78
from enum import Enum
@@ -113,6 +114,7 @@ def get_results(self):
113114
return self.results
114115
self.results = self.metrics.get_results()
115116
self.speed_mem_metrics['Tasks Per Second (Total)'] = len(self.metrics.answers) / self.inference_time.sum
117+
self.speed_mem_metrics['Max Memory Allocated (Total)'] = get_max_memory_allocated()
116118

117119
return self.results
118120

sotabencheval/object_detection/coco.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import time
1010

1111
from sotabencheval.utils import calculate_batch_hash, extract_archive, change_root_if_server, is_server
12-
from sotabencheval.utils import AverageMeter
12+
from sotabencheval.utils import AverageMeter, get_max_memory_allocated
1313
from sotabencheval.object_detection.coco_eval import CocoEvaluator
1414
from sotabencheval.object_detection.utils import get_coco_metrics
1515

@@ -294,6 +294,7 @@ def get_results(self):
294294
self.results = get_coco_metrics(self.coco_evaluator)
295295
unique_image_ids = set([d['image_id'] for d in self.detections])
296296
self.speed_mem_metrics['Tasks Per Second (Total)'] = len(unique_image_ids) / self.inference_time.sum
297+
self.speed_mem_metrics['Max Memory Allocated (Total)'] = get_max_memory_allocated()
297298

298299
return self.results
299300

sotabencheval/question_answering/squad.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from sotabencheval.core import BaseEvaluator
2-
from sotabencheval.utils import calculate_batch_hash, change_root_if_server, is_server
2+
from sotabencheval.utils import calculate_batch_hash, change_root_if_server, is_server, get_max_memory_allocated
33
from sotabencheval.question_answering.utils import *
44
from typing import Dict
55
from enum import Enum
@@ -71,6 +71,8 @@ def get_results(self):
7171
return self.results
7272
self.results = self.metrics.get_results()
7373
self.speed_mem_metrics['Tasks Per Second (Total)'] = len(self.metrics.answers) / self.inference_time.sum
74+
self.speed_mem_metrics['Max Memory Allocated (Total)'] = get_max_memory_allocated()
75+
7476
return self.results
7577

7678
def save(self):

sotabencheval/semantic_segmentation/ade20k.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from sotabenchapi.core import BenchmarkResult, check_inputs
44
import time
55

6-
from sotabencheval.utils import calculate_batch_hash, is_server, AverageMeter
6+
from sotabencheval.utils import calculate_batch_hash, is_server, AverageMeter, get_max_memory_allocated
77
from sotabencheval.semantic_segmentation.utils import ConfusionMatrix
88

99

@@ -269,6 +269,7 @@ def get_results(self):
269269
}
270270

271271
self.speed_mem_metrics['Tasks Per Second (Total)'] = len(self.inference_time.count) / self.inference_time.sum
272+
self.speed_mem_metrics['Max Memory Allocated (Total)'] = get_max_memory_allocated()
272273

273274
return self.results
274275

sotabencheval/semantic_segmentation/pascalvoc.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from sotabenchapi.core import BenchmarkResult, check_inputs
44
import time
55

6-
from sotabencheval.utils import calculate_batch_hash, is_server, AverageMeter
6+
from sotabencheval.utils import calculate_batch_hash, is_server, AverageMeter, get_max_memory_allocated
77
from sotabencheval.semantic_segmentation.utils import ConfusionMatrix
88

99

@@ -244,6 +244,7 @@ def get_results(self):
244244
}
245245

246246
self.speed_mem_metrics['Tasks Per Second (Total)'] = len(self.inference_time.count) / self.inference_time.sum
247+
self.speed_mem_metrics['Max Memory Allocated (Total)'] = get_max_memory_allocated()
247248

248249
return self.results
249250

sotabencheval/utils.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,15 @@ def set_env_on_server(env_name, value):
8686
return False
8787

8888

89+
def get_max_memory_allocated(device='cuda'):
90+
try:
91+
import torch
92+
max_mem = torch.cuda.max_memory_allocated(device='cuda')
93+
torch.cuda.reset_max_memory_allocated(device='cuda')
94+
return max_mem
95+
except ImportError:
96+
return None
97+
8998
# below utilities are taken from the torchvision repository
9099

91100

sotabencheval/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@ def __repr__(self):
1515
f"build={self.build})"
1616
)
1717

18-
version = Version(0, 0, 29)
18+
version = Version(0, 0, 30)
1919

2020
__version__ = str(version)

0 commit comments

Comments
 (0)