Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updates to use latest bioimageio.core version #639

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions scripts/dynamic_validation.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
import traceback
from functools import partialmethod
from pathlib import Path
from typing import List, Optional
from typing import List, Optional, Sequence

import typer
from marshmallow import missing
from tqdm import tqdm

from bioimageio.spec import load_raw_resource_description
from bioimageio.spec.shared import yaml
from marshmallow import missing
from tqdm import tqdm

tqdm.__init__ = partialmethod(tqdm.__init__, disable=True) # silence tqdm

Expand All @@ -24,7 +23,7 @@ def main(
resource_id: str,
version_id: str,
weight_format: Optional[str] = typer.Argument(..., help="weight format to test model with."),
rdf_dirs: List[Path] = (Path(__file__).parent / "../artifacts/static_validation_artifact",),
rdf_dirs: Sequence[Path] = (Path(__file__).parent / "../artifacts/static_validation_artifact",),
create_env_outcome: str = "success",
# rdf_source might assume a resource has been deployed, if not (e.g. in a PR), rdf_source is expected to be invalid.
ignore_rdf_source_field_in_validation: bool = False,
Expand Down
19 changes: 8 additions & 11 deletions scripts/static_validation.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,18 @@
import warnings
from functools import partialmethod
from pathlib import Path
from typing import Dict, List, Literal, Optional, Union
from typing import Dict, List, Optional, Union

import requests
import typer
from marshmallow import missing
from marshmallow.utils import _Missing
from packaging.version import Version
from tqdm import tqdm

from bare_utils import set_gh_actions_outputs
from bioimageio.spec import load_raw_resource_description, validate
from bioimageio.spec.model.raw_nodes import Model, WeightsFormat
from bioimageio.spec.rdf.raw_nodes import RDF_Base
from bioimageio.spec.shared import yaml
from bioimageio.spec.shared.raw_nodes import Dependencies, URI
from bioimageio.spec.shared.raw_nodes import URI, Dependencies
from packaging.version import Version
from tqdm import tqdm
from utils import ADJECTIVES, ANIMALS, iterate_over_gh_matrix, split_animal_nickname

tqdm.__init__ = partialmethod(tqdm.__init__, disable=True) # silence tqdm
Expand Down Expand Up @@ -109,7 +106,7 @@ def get_default_env(

def write_conda_env_file(*, rd: Model, weight_format: WeightsFormat, path: Path, env_name: str):
assert isinstance(rd, Model)
given_versions: Dict[str, Union[_Missing, Version]] = {}
given_versions: Dict[str, Union[None, Version]] = {}
default_versions = dict(pytorch_version=Version("1.10"), tensorflow_version=Version("1.15"), opset_version=15)
if weight_format in ["pytorch_state_dict", "torchscript"]:
given_versions["pytorch_version"] = rd.weights[weight_format].pytorch_version
Expand All @@ -121,7 +118,7 @@ def write_conda_env_file(*, rd: Model, weight_format: WeightsFormat, path: Path,
raise NotImplementedError(weight_format)

deps = rd.weights[weight_format].dependencies
if deps is missing:
if not deps:
conda_env = get_default_env(**{vn: v or default_versions[vn] for vn, v in given_versions.items()})
else:
if any(given_versions.values()):
Expand Down Expand Up @@ -194,8 +191,8 @@ def main(

# validate nickname and nickname_icon
rdf = yaml.load(rdf_path)
nickname = rdf.get("config", {}).get("bioimageio", {}).get("nickname", missing)
if nickname is not missing:
nickname = rdf.get("config", {}).get("bioimageio", {}).get("nickname")
if nickname:
adjective, animal = split_animal_nickname(nickname)
assert adjective in ADJECTIVES, f"'{adjective}' not in adjectives.txt"
assert animal in ANIMALS
Expand Down
Loading