pytorch

Форк
0
/
check_memory_compression_ratio.py 
57 строк · 1.6 Кб
1
import argparse
2
import sys
3
import textwrap
4

5
import pandas as pd
6

7

8
def main(args):
9
    actual = pd.read_csv(args.actual)
10
    expected = pd.read_csv(args.expected)
11
    failed = []
12

13
    for name in actual["name"]:
14
        actual_memory_compression = float(
15
            actual.loc[actual["name"] == name]["compression_ratio"]
16
        )
17
        try:
18
            expected_memory_compression = float(
19
                expected.loc[expected["name"] == name]["compression_ratio"]
20
            )
21
        except TypeError:
22
            print(f"{name:34} is missing from {args.expected}")
23
            continue
24
        if actual_memory_compression >= expected_memory_compression * 0.95:
25
            status = "PASS"
26
        else:
27
            status = "FAIL"
28
            failed.append(name)
29
        print(
30
            f"""
31
            {name:34}:
32
                actual_memory_compression={actual_memory_compression:.2f},
33
                expected_memory_compression={expected_memory_compression:.2f},
34
                {status}
35
            """
36
        )
37

38
    if failed:
39
        print(
40
            textwrap.dedent(
41
                f"""
42
                Error: {len(failed)} models below expected memory compression ratio:
43
                    {' '.join(failed)}
44
                If this drop is expected, you can update `{args.expected}`.
45
                """
46
            )
47
        )
48
        sys.exit(1)
49

50

51
parser = argparse.ArgumentParser()
52
parser.add_argument("--actual", type=str, required=True)
53
parser.add_argument("--expected", type=str, required=True)
54
args = parser.parse_args()
55

56
if __name__ == "__main__":
57
    main(args)
58

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.