def _load_expert_models(scenario_name, base_model, run_id, len_stream):
    """Load ExML experts.

    If necessary, the model are automatically downloaded.
    """
    # base_dir = f'/raid/carta/EXML_CLVISION_PRETRAINED_EXPERTS/{scenario_name}'
    base_dir = default_dataset_location(
        f"EXML_CLVISION22_PRETRAINED_EXPERTS/{scenario_name}/run{run_id}"
    )

    weburl = (
        f"http://131.114.50.174/data/EXML_CLVISION22_PRETRAINED_EXPERTS"
        f"/{scenario_name}/run{run_id}"
    )

    experts_stream = []
    for i in range(len_stream):
        fname_i = f"{base_dir}/model_e{i}.pth"
        weburl_i = f"{weburl}/model_e{i}.pth"

        if not os.path.exists(fname_i):
            os.makedirs(base_dir, exist_ok=True)
            print(f"Downloading expert model {i}")
            urllib.request.urlretrieve(weburl_i, fname_i)

        model = copy.deepcopy(base_model)
        state_d = torch.load(fname_i)
        model.load_state_dict(state_d)
        model.to("cpu").eval()
        experts_stream.append(model)
    return experts_stream
Load ExML experts.

    If necessary, the model are automatically downloaded.
    
avalanche/benchmarks/classic/ex_model.py