提交 b083fb91 authored 作者: Virgile Andreani's avatar Virgile Andreani 提交者: Virgile Andreani

Type function arguments

上级 084fbf16
import logging import logging
import re import re
import traceback as tb import traceback as tb
from collections.abc import Iterable
from pathlib import Path from pathlib import Path
import pytensor.misc.pkl_utils
from pytensor.compile.function.pfunc import pfunc from pytensor.compile.function.pfunc import pfunc
from pytensor.compile.function.types import orig_function from pytensor.compile.function.types import orig_function
from pytensor.compile.mode import Mode
from pytensor.compile.profiling import ProfileStats
from pytensor.graph import Variable
__all__ = ["types", "pfunc"] __all__ = ["types", "pfunc"]
...@@ -15,18 +20,22 @@ _logger = logging.getLogger("pytensor.compile.function") ...@@ -15,18 +20,22 @@ _logger = logging.getLogger("pytensor.compile.function")
def function_dump( def function_dump(
filename: str | Path, filename: str | Path,
inputs, inputs: Iterable[Variable],
outputs=None, outputs: Variable | Iterable[Variable] | dict[str, Variable] | None = None,
mode=None, mode: str | Mode | None = None,
updates=None, updates: Iterable[tuple[Variable, Variable]]
givens=None, | dict[Variable, Variable]
no_default_updates=False, | None = None,
accept_inplace=False, givens: Iterable[tuple[Variable, Variable]]
name=None, | dict[Variable, Variable]
rebuild_strict=True, | None = None,
allow_input_downcast=None, no_default_updates: bool = False,
profile=None, accept_inplace: bool = False,
on_unused_input=None, name: str | None = None,
rebuild_strict: bool = True,
allow_input_downcast: bool | None = None,
profile: bool | ProfileStats | None = None,
on_unused_input: str | None = None,
extra_tag_to_remove: str | None = None, extra_tag_to_remove: str | None = None,
): ):
""" """
...@@ -60,24 +69,21 @@ def function_dump( ...@@ -60,24 +69,21 @@ def function_dump(
`['annotations', 'replacement_of', 'aggregation_scheme', 'roles']` `['annotations', 'replacement_of', 'aggregation_scheme', 'roles']`
""" """
filename = Path(filename) d = {
d = dict( "inputs": inputs,
inputs=inputs, "outputs": outputs,
outputs=outputs, "mode": mode,
mode=mode, "updates": updates,
updates=updates, "givens": givens,
givens=givens, "no_default_updates": no_default_updates,
no_default_updates=no_default_updates, "accept_inplace": accept_inplace,
accept_inplace=accept_inplace, "name": name,
name=name, "rebuild_strict": rebuild_strict,
rebuild_strict=rebuild_strict, "allow_input_downcast": allow_input_downcast,
allow_input_downcast=allow_input_downcast, "profile": profile,
profile=profile, "on_unused_input": on_unused_input,
on_unused_input=on_unused_input, }
) with Path(filename).open("wb") as f:
with filename.open("wb") as f:
import pytensor.misc.pkl_utils
pickler = pytensor.misc.pkl_utils.StripPickler( pickler = pytensor.misc.pkl_utils.StripPickler(
f, protocol=-1, extra_tag_to_remove=extra_tag_to_remove f, protocol=-1, extra_tag_to_remove=extra_tag_to_remove
) )
...@@ -85,18 +91,22 @@ def function_dump( ...@@ -85,18 +91,22 @@ def function_dump(
def function( def function(
inputs, inputs: Iterable[Variable],
outputs=None, outputs: Variable | Iterable[Variable] | dict[str, Variable] | None = None,
mode=None, mode: str | Mode | None = None,
updates=None, updates: Iterable[tuple[Variable, Variable]]
givens=None, | dict[Variable, Variable]
no_default_updates=False, | None = None,
accept_inplace=False, givens: Iterable[tuple[Variable, Variable]]
name=None, | dict[Variable, Variable]
rebuild_strict=True, | None = None,
allow_input_downcast=None, no_default_updates: bool = False,
profile=None, accept_inplace: bool = False,
on_unused_input=None, name: str | None = None,
rebuild_strict: bool = True,
allow_input_downcast: bool | None = None,
profile: bool | ProfileStats | None = None,
on_unused_input: str | None = None,
): ):
""" """
Return a :class:`callable object <pytensor.compile.function.types.Function>` Return a :class:`callable object <pytensor.compile.function.types.Function>`
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论