Skip to content

bump spec #460

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

Open
wants to merge 7 commits into
base: main
Choose a base branch
from
Open
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
2 changes: 2 additions & 0 deletions bioimageio/core/__init__.py
Original file line number Diff line number Diff line change
@@ -3,6 +3,7 @@
"""

from bioimageio.spec import (
ValidationSummary,
build_description,
dump_description,
load_dataset_description,
@@ -112,4 +113,5 @@
"test_model",
"test_resource",
"validate_format",
"ValidationSummary",
]
5 changes: 3 additions & 2 deletions bioimageio/core/backends/keras_backend.py
Original file line number Diff line number Diff line change
@@ -4,17 +4,18 @@
from loguru import logger
from numpy.typing import NDArray

from bioimageio.spec._internal.io import download
from bioimageio.spec._internal.type_guards import is_list, is_tuple
from bioimageio.spec.model import v0_4, v0_5
from bioimageio.spec.model.v0_5 import Version
from bioimageio.spec.utils import download

from .._settings import settings
from ..digest_spec import get_axes_infos
from ..utils._type_guards import is_list, is_tuple
from ._model_adapter import ModelAdapter

os.environ["KERAS_BACKEND"] = settings.keras_backend


# by default, we use the keras integrated with tensorflow
# TODO: check if we should prefer keras
try:
2 changes: 1 addition & 1 deletion bioimageio/core/backends/onnx_backend.py
Original file line number Diff line number Diff line change
@@ -5,11 +5,11 @@
import onnxruntime as rt # pyright: ignore[reportMissingTypeStubs]
from numpy.typing import NDArray

from bioimageio.spec._internal.type_guards import is_list, is_tuple
from bioimageio.spec.model import v0_4, v0_5
from bioimageio.spec.utils import download

from ..model_adapters import ModelAdapter
from ..utils._type_guards import is_list, is_tuple


class ONNXModelAdapter(ModelAdapter):
8 changes: 6 additions & 2 deletions bioimageio/core/backends/pytorch_backend.py
Original file line number Diff line number Diff line change
@@ -11,12 +11,13 @@
from torch import nn
from typing_extensions import assert_never

from bioimageio.spec._internal.type_guards import is_list, is_ndarray, is_tuple
from bioimageio.spec._internal.version_type import Version
from bioimageio.spec.common import ZipPath
from bioimageio.spec.model import AnyModelDescr, v0_4, v0_5
from bioimageio.spec.utils import download

from ..digest_spec import import_callable
from ..utils._type_guards import is_list, is_ndarray, is_tuple
from ._model_adapter import ModelAdapter


@@ -143,7 +144,10 @@ def load_torch_state_dict(
model = model.to(devices[0])
with path.open("rb") as f:
assert not isinstance(f, TextIOWrapper)
state = torch.load(f, map_location=devices[0], weights_only=True)
if Version(str(torch.__version__)) < Version("1.13"):
state = torch.load(f, map_location=devices[0])
else:
state = torch.load(f, map_location=devices[0], weights_only=True)

incompatible = model.load_state_dict(state)
if (
2 changes: 1 addition & 1 deletion bioimageio/core/backends/torchscript_backend.py
Original file line number Diff line number Diff line change
@@ -6,11 +6,11 @@
import torch
from numpy.typing import NDArray

from bioimageio.spec._internal.type_guards import is_list, is_tuple
from bioimageio.spec.model import v0_4, v0_5
from bioimageio.spec.utils import download

from ..model_adapters import ModelAdapter
from ..utils._type_guards import is_list, is_tuple


class TorchscriptModelAdapter(ModelAdapter):
8 changes: 8 additions & 0 deletions bioimageio/core/utils/_type_guards.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
"""use these type guards with caution!
They widen the type to T[Any], which is not always correct."""

from bioimageio.spec._internal import type_guards

is_list = type_guards.is_list # pyright: ignore[reportPrivateImportUsage]
is_ndarray = type_guards.is_ndarray # pyright: ignore[reportPrivateImportUsage]
is_tuple = type_guards.is_tuple # pyright: ignore[reportPrivateImportUsage]
2 changes: 1 addition & 1 deletion dev/env-dev.yaml
Original file line number Diff line number Diff line change
@@ -5,7 +5,7 @@ channels:
- nodefaults
- pytorch
dependencies:
- bioimageio.spec==0.5.4.1
- bioimageio.spec==0.5.4.2
- black
# - crick # currently requires python<=3.9
- h5py
2 changes: 1 addition & 1 deletion dev/env-full.yaml
Original file line number Diff line number Diff line change
@@ -4,7 +4,7 @@ channels:
- nodefaults
- pytorch
dependencies:
- bioimageio.spec==0.5.4.1
- bioimageio.spec==0.5.4.2
- black
# - careamics # TODO: add careamics for model testing (currently pins pydantic to <2.9)
- cellpose # for model testing
2 changes: 1 addition & 1 deletion dev/env-gpu.yaml
Original file line number Diff line number Diff line change
@@ -4,7 +4,7 @@ channels:
- conda-forge
- nodefaults
dependencies:
- bioimageio.spec==0.5.4.1
- bioimageio.spec==0.5.4.2
- black
- cellpose # for model testing
# - crick # currently requires python<=3.9
2 changes: 1 addition & 1 deletion dev/env-py38.yaml
Original file line number Diff line number Diff line change
@@ -5,7 +5,7 @@ channels:
- nodefaults
- pytorch
dependencies:
- bioimageio.spec==0.5.4.1
- bioimageio.spec==0.5.4.2
- black
- crick # uncommented
- h5py
4 changes: 2 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
@@ -30,7 +30,7 @@
],
packages=find_namespace_packages(exclude=["tests"]),
install_requires=[
"bioimageio.spec ==0.5.4.1",
"bioimageio.spec ==0.5.4.2",
"h5py",
"imagecodecs",
"imageio>=2.10",
@@ -67,7 +67,7 @@
"packaging>=17.0",
"pdoc",
"pre-commit",
"pyright==1.1.396",
"pyright==1.1.398",
"segment-anything", # for model testing
"timm", # for model testing
# "crick", # currently requires python<=3.9
1 change: 0 additions & 1 deletion tests/test_bioimageio_collection.py
Original file line number Diff line number Diff line change
@@ -40,7 +40,6 @@ def yield_bioimageio_yaml_urls() -> Iterable[ParameterSet]:


KNOWN_INVALID: Collection[str] = {
"affable-shark/1.1", # onnx weights expect fixed input shape
"affectionate-cow/0.1.0", # custom dependencies
"ambitious-sloth/1.2", # requires inferno
"committed-turkey/1.2", # error deserializing VarianceScaling