2022-12-15 20:34:43 -08:00
|
|
|
# Copyright 2022 The JAX Authors.
|
2018-11-17 18:03:33 -08:00
|
|
|
#
|
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
# you may not use this file except in compliance with the License.
|
|
|
|
# You may obtain a copy of the License at
|
|
|
|
#
|
|
|
|
# https://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
#
|
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
# See the License for the specific language governing permissions and
|
|
|
|
# limitations under the License.
|
2020-03-09 09:14:23 +00:00
|
|
|
|
2022-12-15 20:34:43 -08:00
|
|
|
# Note: import <name> as <name> is required for names to be exported.
|
2024-09-20 07:51:48 -07:00
|
|
|
# See PEP 484 & https://github.com/jax-ml/jax/issues/7570
|
2022-01-08 22:45:24 -08:00
|
|
|
|
2022-12-15 20:34:43 -08:00
|
|
|
from jax._src.core import (
|
|
|
|
AbstractToken as AbstractToken,
|
|
|
|
AbstractValue as AbstractValue,
|
|
|
|
Atom as Atom,
|
|
|
|
AxisSize as AxisSize,
|
|
|
|
CallPrimitive as CallPrimitive,
|
|
|
|
ClosedJaxpr as ClosedJaxpr,
|
|
|
|
ConcreteArray as ConcreteArray,
|
|
|
|
ConcretizationTypeError as ConcretizationTypeError,
|
|
|
|
DShapedArray as DShapedArray,
|
|
|
|
DropVar as DropVar,
|
|
|
|
Effect as Effect,
|
|
|
|
Effects as Effects,
|
|
|
|
EvalTrace as EvalTrace,
|
2024-09-24 09:48:06 -07:00
|
|
|
get_opaque_trace_state as get_opaque_trace_state,
|
2022-12-15 20:34:43 -08:00
|
|
|
InDBIdx as InDBIdx,
|
|
|
|
InconclusiveDimensionOperation as InconclusiveDimensionOperation,
|
|
|
|
InputType as InputType,
|
|
|
|
Jaxpr as Jaxpr,
|
2023-04-20 08:08:46 -07:00
|
|
|
JaxprDebugInfo as JaxprDebugInfo,
|
2022-12-15 20:34:43 -08:00
|
|
|
JaxprEqn as JaxprEqn,
|
|
|
|
JaxprPpContext as JaxprPpContext,
|
|
|
|
JaxprPpSettings as JaxprPpSettings,
|
|
|
|
JaxprTypeError as JaxprTypeError,
|
|
|
|
Literal as Literal,
|
|
|
|
MainTrace as MainTrace,
|
|
|
|
MapPrimitive as MapPrimitive,
|
2024-09-24 09:48:06 -07:00
|
|
|
nonempty_axis_env as nonempty_axis_env_DO_NOT_USE,
|
|
|
|
OpaqueTraceState as OpaqueTraceState,
|
2022-12-15 20:34:43 -08:00
|
|
|
NameGatheringSubst as NameGatheringSubst,
|
|
|
|
OutDBIdx as OutDBIdx,
|
|
|
|
OutputType as OutputType,
|
|
|
|
ParamDict as ParamDict,
|
|
|
|
Primitive as Primitive,
|
|
|
|
ShapedArray as ShapedArray,
|
|
|
|
Sublevel as Sublevel,
|
|
|
|
TRACER_LEAK_DEBUGGER_WARNING as TRACER_LEAK_DEBUGGER_WARNING,
|
|
|
|
ThreadLocalState as ThreadLocalState,
|
|
|
|
Token as Token,
|
|
|
|
Trace as Trace,
|
|
|
|
TraceStack as TraceStack,
|
|
|
|
TraceState as TraceState,
|
|
|
|
Tracer as Tracer,
|
2024-09-24 09:48:06 -07:00
|
|
|
unsafe_am_i_under_a_jit as unsafe_am_i_under_a_jit_DO_NOT_USE,
|
|
|
|
unsafe_am_i_under_a_vmap as unsafe_am_i_under_a_vmap_DO_NOT_USE,
|
|
|
|
unsafe_get_axis_names as unsafe_get_axis_names_DO_NOT_USE,
|
2022-12-15 20:34:43 -08:00
|
|
|
UnshapedArray as UnshapedArray,
|
|
|
|
Value as Value,
|
|
|
|
Var as Var,
|
|
|
|
abstract_token as abstract_token,
|
|
|
|
apply_todos as apply_todos,
|
|
|
|
aval_mapping_handlers as aval_mapping_handlers,
|
|
|
|
axis_frame as axis_frame,
|
|
|
|
call as call,
|
|
|
|
call_bind_with_continuation as call_bind_with_continuation,
|
|
|
|
call_impl as call_impl,
|
|
|
|
call_p as call_p,
|
|
|
|
check_jaxpr as check_jaxpr,
|
|
|
|
closed_call_p as closed_call_p,
|
|
|
|
concrete_aval as concrete_aval,
|
|
|
|
concrete_or_error as concrete_or_error,
|
|
|
|
concretization_function_error as concretization_function_error,
|
|
|
|
cur_sublevel as cur_sublevel,
|
|
|
|
custom_typechecks as custom_typechecks,
|
|
|
|
dedup_referents as dedup_referents,
|
|
|
|
do_subst_axis_names_jaxpr as do_subst_axis_names_jaxpr,
|
|
|
|
ensure_compile_time_eval as ensure_compile_time_eval,
|
|
|
|
escaped_tracer_error as escaped_tracer_error,
|
|
|
|
eval_context as eval_context,
|
|
|
|
eval_jaxpr as eval_jaxpr,
|
|
|
|
extend_axis_env as extend_axis_env,
|
|
|
|
extend_axis_env_nd as extend_axis_env_nd,
|
|
|
|
find_top_trace as find_top_trace,
|
|
|
|
full_lower as full_lower,
|
|
|
|
gensym as gensym,
|
|
|
|
get_aval as get_aval,
|
2024-09-18 13:43:14 -07:00
|
|
|
get_type as get_type,
|
2022-12-15 20:34:43 -08:00
|
|
|
get_referent as get_referent,
|
|
|
|
is_constant_dim as is_constant_dim,
|
|
|
|
is_constant_shape as is_constant_shape,
|
|
|
|
jaxpr_as_fun as jaxpr_as_fun,
|
|
|
|
jaxpr_uses_outfeed as jaxpr_uses_outfeed,
|
|
|
|
jaxprs_in_params as jaxprs_in_params,
|
|
|
|
join_effects as join_effects,
|
|
|
|
lattice_join as lattice_join,
|
|
|
|
leaked_tracer_error as leaked_tracer_error,
|
|
|
|
literalable_types as literalable_types,
|
|
|
|
map_bind as map_bind,
|
|
|
|
map_bind_with_continuation as map_bind_with_continuation,
|
|
|
|
mapped_aval as mapped_aval,
|
|
|
|
maybe_find_leaked_tracers as maybe_find_leaked_tracers,
|
2023-12-07 09:37:13 +01:00
|
|
|
max_dim as max_dim,
|
|
|
|
min_dim as min_dim,
|
2022-12-15 20:34:43 -08:00
|
|
|
new_base_main as new_base_main,
|
|
|
|
new_jaxpr_eqn as new_jaxpr_eqn,
|
|
|
|
new_main as new_main,
|
|
|
|
new_sublevel as new_sublevel,
|
|
|
|
no_axis_name as no_axis_name,
|
|
|
|
no_effects as no_effects,
|
|
|
|
outfeed_primitives as outfeed_primitives,
|
|
|
|
primal_dtype_to_tangent_dtype as primal_dtype_to_tangent_dtype,
|
|
|
|
primitive_uses_outfeed as primitive_uses_outfeed,
|
|
|
|
process_env_traces_call as process_env_traces_call,
|
|
|
|
process_env_traces_map as process_env_traces_map,
|
|
|
|
pytype_aval_mappings as pytype_aval_mappings,
|
|
|
|
raise_as_much_as_possible as raise_as_much_as_possible,
|
|
|
|
raise_to_shaped as raise_to_shaped,
|
|
|
|
raise_to_shaped_mappings as raise_to_shaped_mappings,
|
|
|
|
reset_trace_state as reset_trace_state,
|
|
|
|
stash_axis_env as stash_axis_env,
|
|
|
|
str_eqn_compact as str_eqn_compact,
|
|
|
|
subjaxprs as subjaxprs,
|
|
|
|
subst_axis_names as subst_axis_names,
|
|
|
|
subst_axis_names_eqn as subst_axis_names_eqn,
|
|
|
|
subst_axis_names_jaxpr as subst_axis_names_jaxpr,
|
|
|
|
subst_axis_names_var as subst_axis_names_var,
|
|
|
|
substitute_vars_in_output_ty as substitute_vars_in_output_ty,
|
|
|
|
thread_local_state as thread_local_state,
|
|
|
|
trace_state_clean as trace_state_clean,
|
|
|
|
traverse_jaxpr_params as traverse_jaxpr_params,
|
|
|
|
typecheck as typecheck,
|
|
|
|
typecompat as typecompat,
|
|
|
|
typematch as typematch,
|
|
|
|
unmapped_aval as unmapped_aval,
|
|
|
|
used_axis_names as used_axis_names,
|
|
|
|
used_axis_names_jaxpr as used_axis_names_jaxpr,
|
|
|
|
valid_jaxtype as valid_jaxtype,
|
|
|
|
)
|
2023-05-17 07:58:19 -07:00
|
|
|
|
2023-10-11 13:50:03 -07:00
|
|
|
|
|
|
|
from jax._src import core as _src_core
|
|
|
|
_deprecations = {
|
2024-08-14 10:06:13 -07:00
|
|
|
# Added 2024-08-14
|
|
|
|
"check_eqn": ("jax.core.check_eqn is deprecated.", _src_core.check_eqn),
|
|
|
|
"check_type": ("jax.core.check_type is deprecated.", _src_core.check_type),
|
|
|
|
"check_valid_jaxtype": (
|
|
|
|
("jax.core.check_valid_jaxtype is deprecated. Instead, you can manually"
|
|
|
|
" raise an error if core.valid_jaxtype() returns False."),
|
|
|
|
_src_core.check_valid_jaxtype),
|
2024-09-25 11:19:20 -07:00
|
|
|
# Finalized 2024-09-25; remove after 2024-12-25
|
|
|
|
"pp_aval": ("jax.core.pp_aval was removed in JAX v0.4.34.", None),
|
|
|
|
"pp_eqn": ("jax.core.pp_eqn was removed in JAX v0.4.34.", None),
|
|
|
|
"pp_eqn_rules": ("jax.core.pp_eqn_rules was removed in JAX v0.4.34.", None),
|
|
|
|
"pp_eqns": ("jax.core.pp_eqns was removed in JAX v0.4.34.", None),
|
|
|
|
"pp_jaxpr": ("jax.core.pp_jaxpr was removed in JAX v0.4.34.", None),
|
|
|
|
"pp_jaxpr_eqn_range": ("jax.core.pp_jaxpr_eqn_range was removed in JAX v0.4.34.", None),
|
|
|
|
"pp_jaxpr_skeleton": ("jax.core.pp_jaxpr_skeleton was removed in JAX v0.4.34.", None),
|
|
|
|
"pp_jaxprs": ("jax.core.pp_jaxprs was removed in JAX v0.4.34.", None),
|
|
|
|
"pp_kv_pair": ("jax.core.pp_kv_pair was removed in JAX v0.4.34.", None),
|
|
|
|
"pp_kv_pairs": ("jax.core.pp_kv_pairs was removed in JAX v0.4.34.", None),
|
|
|
|
"pp_var": ("jax.core.pp_var was removed in JAX v0.4.34.", None),
|
|
|
|
"pp_vars": ("jax.core.pp_vars was removed in JAX v0.4.34.", None),
|
2024-05-14 10:39:43 -07:00
|
|
|
# Finalized 2024-05-13; remove after 2024-08-13
|
2023-10-11 13:50:03 -07:00
|
|
|
"DimSize": (
|
|
|
|
"jax.core.DimSize is deprecated. Use DimSize = int | Any.",
|
2024-05-14 10:39:43 -07:00
|
|
|
None,
|
2023-10-11 13:50:03 -07:00
|
|
|
),
|
|
|
|
"Shape": (
|
|
|
|
"jax.core.Shape is deprecated. Use Shape = Sequence[int | Any].",
|
2024-05-14 10:39:43 -07:00
|
|
|
None,
|
2023-10-11 13:50:03 -07:00
|
|
|
),
|
2024-06-28 07:27:23 -07:00
|
|
|
# Finalized 2024-06-24; remove after 2024-09-24
|
2023-12-15 13:37:09 -08:00
|
|
|
"canonicalize_shape": (
|
2024-06-28 07:27:23 -07:00
|
|
|
"jax.core.canonicalize_shape is deprecated.", None,
|
2023-12-15 13:37:09 -08:00
|
|
|
),
|
|
|
|
"dimension_as_value": (
|
2024-06-28 07:27:23 -07:00
|
|
|
"jax.core.dimension_as_value is deprecated. Use jnp.array.", None,
|
2023-12-15 13:37:09 -08:00
|
|
|
),
|
|
|
|
"definitely_equal": (
|
2024-06-28 07:27:23 -07:00
|
|
|
"jax.core.definitely_equal is deprecated. Use ==.", None,
|
2023-12-15 13:37:09 -08:00
|
|
|
),
|
|
|
|
"symbolic_equal_dim": (
|
2024-06-28 07:27:23 -07:00
|
|
|
"jax.core.symbolic_equal_dim is deprecated. Use ==.", None,
|
2023-12-15 13:37:09 -08:00
|
|
|
),
|
2023-12-13 10:14:27 +01:00
|
|
|
# Added Jan 8, 2024
|
|
|
|
"non_negative_dim": (
|
2024-08-14 10:06:13 -07:00
|
|
|
"jax.core.non_negative_dim is deprecated. Use max_dim(..., 0).", _src_core.non_negative_dim,
|
2023-12-13 10:14:27 +01:00
|
|
|
),
|
2023-10-11 13:50:03 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
import typing
|
|
|
|
if typing.TYPE_CHECKING:
|
2024-08-14 10:06:13 -07:00
|
|
|
check_eqn = _src_core.check_eqn
|
|
|
|
check_type = _src_core.check_type
|
|
|
|
check_valid_jaxtype = _src_core.check_valid_jaxtype
|
|
|
|
non_negative_dim = _src_core.non_negative_dim
|
2023-10-11 13:50:03 -07:00
|
|
|
else:
|
|
|
|
from jax._src.deprecations import deprecation_getattr as _deprecation_getattr
|
|
|
|
__getattr__ = _deprecation_getattr(__name__, _deprecations)
|
|
|
|
del _deprecation_getattr
|
|
|
|
del typing
|
|
|
|
del _src_core
|