Ejemplo n.º 1
0
def _generate_all_framework_version_fixtures(metafunc):
    for fw in FRAMEWORKS_FOR_GENERATED_VERSION_FIXTURES:
        config = image_uris.config_for_framework(fw.replace("_", "-"))
        if "scope" in config:
            _parametrize_framework_version_fixtures(metafunc, fw, config)
        else:
            for image_scope in config.keys():
                fixture_prefix = f"{fw}_{image_scope}" if image_scope not in fw else fw
                _parametrize_framework_version_fixtures(
                    metafunc, fixture_prefix, config[image_scope])
Ejemplo n.º 2
0
def _generate_all_framework_version_fixtures(metafunc):
    for fw in FRAMEWORKS_FOR_GENERATED_VERSION_FIXTURES:
        config = image_uris.config_for_framework(fw.replace("_", "-"))
        if "scope" in config:
            _parametrize_framework_version_fixtures(metafunc, fw, config)
        else:
            for image_scope in config.keys():
                _parametrize_framework_version_fixtures(
                    metafunc, "{}_{}".format(fw, image_scope),
                    config[image_scope])
Ejemplo n.º 3
0
def _huggingface_base_fm_version(huggingface_vesion, base_fw):
    config = image_uris.config_for_framework("huggingface")
    training_config = config.get("training")
    original_version = huggingface_vesion
    if "version_aliases" in training_config:
        huggingface_vesion = training_config.get("version_aliases").get(
            huggingface_vesion, huggingface_vesion)
    version_config = training_config.get("versions").get(huggingface_vesion)
    for key in list(version_config.keys()):
        if key.startswith(base_fw):
            base_fw_version = key[len(base_fw):]
            if len(original_version.split(".")) == 2:
                base_fw_version = ".".join(base_fw_version.split(".")[:-1])
            return base_fw_version
Ejemplo n.º 4
0
def main():
    """Parse command line arguments, call corresponding methods."""
    parser = argparse.ArgumentParser(description="Framework upgrade tool.")
    parser.add_argument(
        "--framework",
        required=True,
        help="Name of the framework (e.g. tensorflow, mxnet, etc.)")
    parser.add_argument("--short-version",
                        help="Abbreviated framework version (e.g. 2.0)")
    parser.add_argument("--full-version",
                        help="Full framework version (e.g. 2.0.1)")
    parser.add_argument("--processors",
                        help="Suppoted processors (e.g. cpu, gpu)")
    parser.add_argument("--py-versions",
                        help="Supported Python versions (e.g. py3,py37)")
    parser.add_argument(
        "--scope",
        help="Scope for the Algorithm image (e.g. inference, training)")
    parser.add_argument(
        "--tag-prefix",
        help="Tag prefix of the Algorithm image (e.g. ray-0.8.5-torch)")
    parser.add_argument("--region",
                        help="New region to be added (e.g. us-west-2)")
    parser.add_argument("--account", help="Registry account of new region")

    args = parser.parse_args()

    content = config_for_framework(args.framework)

    if args.region or args.account:
        if args.region and not args.account or args.account and not args.region:
            raise ValueError(
                "--region and --account must be used together to expand region."
            )
        add_region(content, args.region, args.account)
    else:
        add_version(
            content,
            args.short_version,
            args.full_version,
            args.scope,
            args.processors,
            args.py_versions,
            args.tag_prefix,
        )

    file = os.path.join(IMAGE_URI_CONFIG_DIR, "{}.json".format(args.framework))
    _write_dict_to_json(file, content)
Ejemplo n.º 5
0
def _huggingface_base_fm_version(huggingface_version, base_fw, fixture_prefix):
    config = image_uris.config_for_framework("huggingface")
    if fixture_prefix == "huggingface_training":
        hf_config = config.get("training")
    else:
        hf_config = config.get("inference")
    original_version = huggingface_version
    if "version_aliases" in hf_config:
        huggingface_version = hf_config.get("version_aliases").get(
            huggingface_version, huggingface_version)
    version_config = hf_config.get("versions").get(huggingface_version)
    versions = list()

    for key in list(version_config.keys()):
        if key.startswith(base_fw):
            base_fw_version = key[len(base_fw):]
            if len(original_version.split(".")) == 2:
                base_fw_version = ".".join(base_fw_version.split(".")[:-1])
            versions.append(base_fw_version)
    return versions
Ejemplo n.º 6
0
def _huggingface_base_fm_version(huggingface_version, base_fw, fixture_prefix):
    config_name = ("huggingface-training-compiler"
                   if "training_compiler" in fixture_prefix else "huggingface")
    config = image_uris.config_for_framework(config_name)
    if "training" in fixture_prefix:
        hf_config = config.get("training")
    else:
        hf_config = config.get("inference")
    original_version = huggingface_version
    if "version_aliases" in hf_config:
        huggingface_version = hf_config.get("version_aliases").get(
            huggingface_version, huggingface_version)
    version_config = hf_config.get("versions").get(huggingface_version)
    versions = list()

    for key in list(version_config.keys()):
        if key.startswith(base_fw):
            base_fw_version = key[len(base_fw):]
            if len(original_version.split(".")) == 2:
                base_fw_version = ".".join(base_fw_version.split(".")[:-1])
            versions.append(base_fw_version)
    return sorted(versions, reverse=True)