import sys, time, random, argparse
from copy import deepcopy
import torchvision.models as models
from pathlib import Path

lib_dir = (Path(__file__).parent / ".." / ".." / "lib").resolve()
if str(lib_dir) not in sys.path:
    sys.path.insert(0, str(lib_dir))

from utils import get_model_infos

# from models.ImageNet_MobileNetV2 import MobileNetV2
from torchvision.models.mobilenet import MobileNetV2


def main(width_mult):
    # model = MobileNetV2(1001, width_mult, 32, 1280, 'InvertedResidual', 0.2)
    model = MobileNetV2(width_mult=width_mult)
    print(model)
    flops, params = get_model_infos(model, (2, 3, 224, 224))
    print("FLOPs : {:}".format(flops))
    print("Params : {:}".format(params))
    print("-" * 50)


if __name__ == "__main__":
    main(1.0)
    main(1.4)