pytensor 2.33.0__tar.gz → 2.34.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pytensor-2.33.0/pytensor.egg-info → pytensor-2.34.0}/PKG-INFO +1 -1
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/environment.yml +1 -1
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/extending/creating_an_op.rst +6 -6
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/extending/extending_pytensor_solution_1.py +5 -5
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/index.rst +7 -1
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/__init__.py +1 -1
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/_version.py +3 -3
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/compile/__init__.py +1 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/compile/ops.py +17 -5
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/jax/dispatch/basic.py +6 -0
- pytensor-2.34.0/pytensor/link/jax/ops.py +537 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/rewriting/elemwise.py +57 -25
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/subtensor.py +7 -6
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/xtensor/math.py +5 -0
- {pytensor-2.33.0 → pytensor-2.34.0/pytensor.egg-info}/PKG-INFO +1 -1
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor.egg-info/SOURCES.txt +1 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/LICENSE.txt +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/MANIFEST.in +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/README.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/.templates/PLACEHOLDER +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/.templates/layout.html +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/.templates/nb-badges.html +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/.templates/rendered_citation.html +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/LICENSE.txt +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/README.md +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/_thumbnails/autodiff/vector_jacobian_product.png +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/acknowledgement.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/bcast.png +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/bcast.svg +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/blog.md +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/conf.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/core_development_guide.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/css.inc +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/dev_start_guide.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/extending/apply.png +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/extending/apply.svg +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/extending/apply2.svg +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/extending/creating_a_c_op.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/extending/creating_a_numba_jax_op.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/extending/ctype.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/extending/extending_faq.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/extending/graph_rewriting.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/extending/graphstructures.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/extending/index.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/extending/inplace.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/extending/op.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/extending/other_ops.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/extending/pics/symbolic_graph_opt.png +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/extending/pics/symbolic_graph_unopt.png +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/extending/pipeline.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/extending/scan.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/extending/tips.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/extending/type.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/extending/unittest.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/extending/using_params.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/faq.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/gallery/applications/normalizing_flows_in_pytensor.ipynb +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/gallery/autodiff/vector_jacobian_product.ipynb +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/gallery/introduction/pytensor_intro.ipynb +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/gallery/optimize/root.ipynb +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/gallery/page_footer.md +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/gallery/rewrites/graph_rewrites.ipynb +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/gallery/scan/scan_tutorial.ipynb +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/generate_dtype_tensor_table.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/glossary.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/images/Elman_srnn.png +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/images/PyTensor.png +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/images/PyTensor_RGB.svg +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/images/PyTensor_logo.png +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/images/binder.svg +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/images/blocksparse.png +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/images/colab.svg +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/images/github.svg +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/images/lstm.png +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/images/lstm_memorycell.png +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/images/talk2010.gif +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/images/talk2010.png +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/index.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/install.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/internal/how_to_release.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/internal/index.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/internal/metadocumentation.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/introduction.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/compile/debugmode.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/compile/function.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/compile/index.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/compile/io.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/compile/mode.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/compile/nanguardmode.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/compile/opfromgraph.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/compile/ops.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/compile/profilemode.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/compile/shared.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/config.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/d3viz/examples/d3viz/css/d3-context-menu.css +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/d3viz/examples/d3viz/css/d3viz.css +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/d3viz/examples/d3viz/js/d3-context-menu.js +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/d3viz/examples/d3viz/js/d3.v3.min.js +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/d3viz/examples/d3viz/js/d3viz.js +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/d3viz/examples/d3viz/js/dagre-d3.min.js +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/d3viz/examples/d3viz/js/graphlib-dot.min.js +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/d3viz/examples/mlp.html +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/d3viz/examples/mlp.png +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/d3viz/examples/mlp2.html +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/d3viz/examples/mlp2.pdf +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/d3viz/examples/mlp2.png +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/d3viz/examples/ofg.html +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/d3viz/examples/ofg2.html +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/d3viz/index.ipynb +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/d3viz/index.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/d3viz/index_files/index_10_0.png +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/d3viz/index_files/index_11_0.png +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/d3viz/index_files/index_24_0.png +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/d3viz/index_files/index_25_0.png +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/graph/features.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/graph/fgraph.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/graph/graph.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/graph/index.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/graph/op.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/graph/replace.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/graph/type.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/graph/utils.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/misc/pkl_utils.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/printing.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/scalar/index.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/scan.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/sparse/index.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/sparse/sandbox.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/tensor/basic.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/tensor/basic_opt.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/tensor/bcast.png +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/tensor/bcast.svg +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/tensor/conv.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/tensor/elemwise.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/tensor/extra_ops.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/tensor/fft.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/tensor/functional.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/tensor/index.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/tensor/io.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/tensor/math_opt.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/tensor/nlinalg.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/tensor/optimize.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/tensor/plot_fft.png +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/tensor/random/distributions.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/tensor/random/index.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/tensor/slinalg.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/tensor/utils.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/typed_list.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/xtensor/index.md +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/xtensor/linalg.md +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/xtensor/math.md +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/xtensor/module_functions.md +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/xtensor/random.md +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/library/xtensor/type.md +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/links.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/optimizations.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/pylintrc +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/robots.txt +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/troubleshooting.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/adding.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/adding_solution_1.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/aliasing.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/apply.png +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/apply.svg +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/bcast.png +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/broadcasting.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/conditions.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/debug_faq.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/dlogistic.png +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/examples.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/faq_tutorial.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/gradients.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/index.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/loading_and_saving.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/logistic.gp +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/logistic.png +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/loop.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/loop_solution_1.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/modes.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/modes_solution_1.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/multi_cores.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/nan_tutorial.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/pics/d3viz.png +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/pics/logreg_pydotprint_predict.png +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/pics/logreg_pydotprint_prediction.png +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/pics/logreg_pydotprint_train.png +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/printing_drawing.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/prng.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/profiling.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/profiling_example.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/profiling_example_out.prof +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/shape_info.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/sparse.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/tutorial/symbolic_graphs.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/doc/user_guide.rst +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pyproject.toml +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/bin/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/bin/pytensor_cache.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/breakpoint.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/compile/builders.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/compile/compiledir.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/compile/compilelock.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/compile/debugmode.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/compile/function/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/compile/function/pfunc.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/compile/function/types.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/compile/io.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/compile/mode.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/compile/monitormode.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/compile/nanguardmode.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/compile/profiling.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/compile/sharedvalue.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/configdefaults.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/configparser.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/d3viz/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/d3viz/css/d3-context-menu.css +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/d3viz/css/d3viz.css +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/d3viz/d3viz.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/d3viz/formatting.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/d3viz/html/template.html +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/d3viz/js/d3-context-menu.js +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/d3viz/js/d3.v3.min.js +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/d3viz/js/d3viz.js +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/d3viz/js/dagre-d3.min.js +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/d3viz/js/graphlib-dot.min.js +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/gradient.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/graph/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/graph/basic.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/graph/destroyhandler.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/graph/features.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/graph/fg.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/graph/null_type.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/graph/op.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/graph/replace.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/graph/rewriting/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/graph/rewriting/basic.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/graph/rewriting/db.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/graph/rewriting/kanren.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/graph/rewriting/unify.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/graph/rewriting/utils.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/graph/traversal.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/graph/type.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/graph/utils.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/ifelse.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/ipython.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/basic.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/c/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/c/basic.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/c/c_code/lazylinker_c.c +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/c/c_code/pytensor_mod_helper.h +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/c/cmodule.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/c/cutils.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/c/cvm.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/c/exceptions.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/c/interface.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/c/lazylinker_c.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/c/op.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/c/params_type.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/c/type.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/jax/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/jax/dispatch/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/jax/dispatch/blas.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/jax/dispatch/blockwise.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/jax/dispatch/einsum.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/jax/dispatch/elemwise.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/jax/dispatch/extra_ops.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/jax/dispatch/math.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/jax/dispatch/nlinalg.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/jax/dispatch/pad.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/jax/dispatch/random.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/jax/dispatch/scalar.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/jax/dispatch/scan.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/jax/dispatch/shape.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/jax/dispatch/signal/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/jax/dispatch/signal/conv.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/jax/dispatch/slinalg.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/jax/dispatch/sort.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/jax/dispatch/sparse.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/jax/dispatch/subtensor.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/jax/dispatch/tensor_basic.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/jax/linker.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/basic.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/blockwise.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/cython_support.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/elemwise.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/extra_ops.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/linalg/_LAPACK.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/linalg/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/linalg/decomposition/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/linalg/decomposition/cholesky.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/linalg/decomposition/lu.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/linalg/decomposition/lu_factor.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/linalg/decomposition/qr.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/linalg/solve/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/linalg/solve/cholesky.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/linalg/solve/general.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/linalg/solve/lu_solve.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/linalg/solve/norm.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/linalg/solve/posdef.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/linalg/solve/symmetric.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/linalg/solve/triangular.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/linalg/solve/tridiagonal.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/linalg/solve/utils.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/linalg/utils.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/nlinalg.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/random.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/scalar.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/scan.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/signal/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/signal/conv.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/slinalg.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/sparse.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/subtensor.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/tensor_basic.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/dispatch/vectorize_codegen.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/numba/linker.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/pytorch/dispatch/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/pytorch/dispatch/basic.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/pytorch/dispatch/blas.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/pytorch/dispatch/blockwise.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/pytorch/dispatch/elemwise.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/pytorch/dispatch/extra_ops.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/pytorch/dispatch/math.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/pytorch/dispatch/nlinalg.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/pytorch/dispatch/scalar.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/pytorch/dispatch/shape.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/pytorch/dispatch/slinalg.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/pytorch/dispatch/sort.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/pytorch/dispatch/subtensor.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/pytorch/linker.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/utils.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/link/vm.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/misc/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/misc/check_blas.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/misc/check_blas_many.sh +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/misc/check_duplicate_key.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/misc/elemwise_openmp_speedup.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/misc/elemwise_time_test.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/misc/frozendict.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/misc/may_share_memory.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/misc/ordered_set.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/misc/pkl_utils.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/npy_2_compat.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/printing.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/py.typed +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/raise_op.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/scalar/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/scalar/basic.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/scalar/c_code/Faddeeva.cc +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/scalar/c_code/Faddeeva.hh +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/scalar/c_code/gamma.c +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/scalar/c_code/incbet.c +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/scalar/loop.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/scalar/math.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/scalar/sharedvar.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/scan/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/scan/basic.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/scan/checkpoints.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/scan/op.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/scan/rewriting.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/scan/scan_perform.pyx +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/scan/scan_perform_ext.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/scan/utils.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/scan/views.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/sparse/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/sparse/basic.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/sparse/rewriting.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/sparse/sandbox/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/sparse/sandbox/sp.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/sparse/sandbox/sp2.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/sparse/sharedvar.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/sparse/type.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/sparse/utils.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/_linalg/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/_linalg/solve/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/_linalg/solve/rewriting.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/_linalg/solve/tridiagonal.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/basic.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/blas.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/blas_c.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/blas_headers.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/blockwise.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/c_code/alt_blas_common.h +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/c_code/alt_blas_template.c +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/c_code/dimshuffle.c +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/conv/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/conv/abstract_conv.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/einsum.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/elemwise.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/elemwise_cgen.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/exceptions.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/extra_ops.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/fft.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/fourier.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/functional.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/inplace.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/interpolate.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/io.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/linalg.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/math.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/nlinalg.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/optimize.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/pad.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/random/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/random/basic.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/random/op.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/random/rewriting/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/random/rewriting/basic.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/random/rewriting/jax.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/random/rewriting/numba.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/random/type.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/random/utils.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/random/var.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/rewriting/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/rewriting/basic.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/rewriting/blas.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/rewriting/blas_c.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/rewriting/blockwise.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/rewriting/einsum.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/rewriting/extra_ops.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/rewriting/jax.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/rewriting/linalg.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/rewriting/math.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/rewriting/numba.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/rewriting/ofg.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/rewriting/shape.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/rewriting/special.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/rewriting/subtensor.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/rewriting/subtensor_lift.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/rewriting/uncanonicalize.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/shape.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/sharedvar.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/signal/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/signal/conv.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/slinalg.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/sort.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/special.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/type.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/type_other.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/utils.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/var.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/variable.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/tensor/xlogx.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/typed_list/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/typed_list/basic.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/typed_list/rewriting.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/typed_list/type.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/updates.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/utils.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/xtensor/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/xtensor/basic.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/xtensor/indexing.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/xtensor/linalg.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/xtensor/random.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/xtensor/reduction.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/xtensor/rewriting/__init__.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/xtensor/rewriting/basic.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/xtensor/rewriting/indexing.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/xtensor/rewriting/math.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/xtensor/rewriting/reduction.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/xtensor/rewriting/shape.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/xtensor/rewriting/utils.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/xtensor/rewriting/vectorization.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/xtensor/shape.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/xtensor/type.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor/xtensor/vectorization.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor.egg-info/dependency_links.txt +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor.egg-info/entry_points.txt +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor.egg-info/requires.txt +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/pytensor.egg-info/top_level.txt +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/scripts/mypy-failing.txt +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/scripts/slowest_tests/update-slowest-times-issue.sh +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/setup.cfg +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/setup.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/tests/link/c/c_code/test_cenum.h +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/tests/link/c/c_code/test_quadratic_function.c +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/tests/tensor/conv/c_code/corr3d_gemm.c +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/tests/tensor/conv/c_code/corr_gemm.c +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/tests/test_breakpoint.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/tests/test_config.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/tests/test_gradient.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/tests/test_ifelse.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/tests/test_printing.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/tests/test_raise_op.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/tests/test_rop.py +0 -0
- {pytensor-2.33.0 → pytensor-2.34.0}/tests/test_updates.py +0 -0
|
@@ -803,10 +803,10 @@ You can omit the :meth:`Rop` functions. Try to implement the testing apparatus d
|
|
|
803
803
|
:download:`Solution<extending_pytensor_solution_1.py>`
|
|
804
804
|
|
|
805
805
|
|
|
806
|
-
:func:`
|
|
806
|
+
:func:`wrap_py`
|
|
807
807
|
-------------
|
|
808
808
|
|
|
809
|
-
:func:`
|
|
809
|
+
:func:`wrap_py` is a Python decorator that converts a Python function into a
|
|
810
810
|
basic PyTensor :class:`Op` that will call the supplied function during execution.
|
|
811
811
|
|
|
812
812
|
This isn't the recommended way to build an :class:`Op`, but allows for a quick implementation.
|
|
@@ -839,11 +839,11 @@ It takes an optional :meth:`infer_shape` parameter that must have this signature
|
|
|
839
839
|
inputs PyTensor variables that were declared.
|
|
840
840
|
|
|
841
841
|
.. note::
|
|
842
|
-
The python function wrapped by the :func:`
|
|
842
|
+
The python function wrapped by the :func:`wrap_py` decorator needs to return a new
|
|
843
843
|
data allocation, no views or in place modification of the input.
|
|
844
844
|
|
|
845
845
|
|
|
846
|
-
:func:`
|
|
846
|
+
:func:`wrap_py` Example
|
|
847
847
|
^^^^^^^^^^^^^^^^^^^^^
|
|
848
848
|
|
|
849
849
|
.. testcode:: asop
|
|
@@ -852,14 +852,14 @@ It takes an optional :meth:`infer_shape` parameter that must have this signature
|
|
|
852
852
|
import pytensor.tensor as pt
|
|
853
853
|
import numpy as np
|
|
854
854
|
from pytensor import function
|
|
855
|
-
from pytensor.compile.ops import
|
|
855
|
+
from pytensor.compile.ops import wrap_py
|
|
856
856
|
|
|
857
857
|
def infer_shape_numpy_dot(fgraph, node, input_shapes):
|
|
858
858
|
ashp, bshp = input_shapes
|
|
859
859
|
return [ashp[:-1] + bshp[-1:]]
|
|
860
860
|
|
|
861
861
|
|
|
862
|
-
@
|
|
862
|
+
@wrap_py(
|
|
863
863
|
itypes=[pt.dmatrix, pt.dmatrix],
|
|
864
864
|
otypes=[pt.dmatrix],
|
|
865
865
|
infer_shape=infer_shape_numpy_dot,
|
|
@@ -167,9 +167,9 @@ class TestSumDiffOp(utt.InferShapeTester):
|
|
|
167
167
|
|
|
168
168
|
import numpy as np
|
|
169
169
|
|
|
170
|
-
#
|
|
170
|
+
# wrap_py exercice
|
|
171
171
|
import pytensor
|
|
172
|
-
from pytensor.compile.ops import
|
|
172
|
+
from pytensor.compile.ops import wrap_py
|
|
173
173
|
|
|
174
174
|
|
|
175
175
|
def infer_shape_numpy_dot(fgraph, node, input_shapes):
|
|
@@ -177,7 +177,7 @@ def infer_shape_numpy_dot(fgraph, node, input_shapes):
|
|
|
177
177
|
return [ashp[:-1] + bshp[-1:]]
|
|
178
178
|
|
|
179
179
|
|
|
180
|
-
@
|
|
180
|
+
@wrap_py(
|
|
181
181
|
itypes=[pt.fmatrix, pt.fmatrix],
|
|
182
182
|
otypes=[pt.fmatrix],
|
|
183
183
|
infer_shape=infer_shape_numpy_dot,
|
|
@@ -192,7 +192,7 @@ def infer_shape_numpy_add_sub(fgraph, node, input_shapes):
|
|
|
192
192
|
return [ashp[0]]
|
|
193
193
|
|
|
194
194
|
|
|
195
|
-
@
|
|
195
|
+
@wrap_py(
|
|
196
196
|
itypes=[pt.fmatrix, pt.fmatrix],
|
|
197
197
|
otypes=[pt.fmatrix],
|
|
198
198
|
infer_shape=infer_shape_numpy_add_sub,
|
|
@@ -201,7 +201,7 @@ def numpy_add(a, b):
|
|
|
201
201
|
return np.add(a, b)
|
|
202
202
|
|
|
203
203
|
|
|
204
|
-
@
|
|
204
|
+
@wrap_py(
|
|
205
205
|
itypes=[pt.fmatrix, pt.fmatrix],
|
|
206
206
|
otypes=[pt.fmatrix],
|
|
207
207
|
infer_shape=infer_shape_numpy_add_sub,
|
|
@@ -61,10 +61,16 @@ Convert to Variable
|
|
|
61
61
|
|
|
62
62
|
.. autofunction:: pytensor.as_symbolic(...)
|
|
63
63
|
|
|
64
|
+
Wrap JAX functions
|
|
65
|
+
==================
|
|
66
|
+
|
|
67
|
+
.. autofunction:: wrap_jax(...)
|
|
68
|
+
|
|
69
|
+
Alias for :func:`pytensor.link.jax.ops.wrap_jax`
|
|
70
|
+
|
|
64
71
|
Debug
|
|
65
72
|
=====
|
|
66
73
|
|
|
67
74
|
.. autofunction:: pytensor.dprint(...)
|
|
68
75
|
|
|
69
76
|
Alias for :func:`pytensor.printing.debugprint`
|
|
70
|
-
|
|
@@ -166,7 +166,7 @@ from pytensor.scan import checkpoints
|
|
|
166
166
|
from pytensor.scan.basic import scan
|
|
167
167
|
from pytensor.scan.views import foldl, foldr, map, reduce
|
|
168
168
|
from pytensor.compile.builders import OpFromGraph
|
|
169
|
-
|
|
169
|
+
from pytensor.link.jax.ops import wrap_jax
|
|
170
170
|
# isort: on
|
|
171
171
|
|
|
172
172
|
|
|
@@ -8,11 +8,11 @@ import json
|
|
|
8
8
|
|
|
9
9
|
version_json = '''
|
|
10
10
|
{
|
|
11
|
-
"date": "2025-10-
|
|
11
|
+
"date": "2025-10-07T21:55:32+0200",
|
|
12
12
|
"dirty": false,
|
|
13
13
|
"error": null,
|
|
14
|
-
"full-revisionid": "
|
|
15
|
-
"version": "2.
|
|
14
|
+
"full-revisionid": "b6a9b68e9d9bc14e0b5d095bcbd2756895fe221d",
|
|
15
|
+
"version": "2.34.0"
|
|
16
16
|
}
|
|
17
17
|
''' # END VERSION_JSON
|
|
18
18
|
|
|
@@ -56,6 +56,7 @@ from pytensor.compile.ops import (
|
|
|
56
56
|
register_deep_copy_op_c_code,
|
|
57
57
|
register_view_op_c_code,
|
|
58
58
|
view_op,
|
|
59
|
+
wrap_py,
|
|
59
60
|
)
|
|
60
61
|
from pytensor.compile.profiling import ProfileStats
|
|
61
62
|
from pytensor.compile.sharedvalue import SharedVariable, shared, shared_constructor
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"""
|
|
2
2
|
This file contains auxiliary Ops, used during the compilation phase and Ops
|
|
3
|
-
building class (:class:`FromFunctionOp`) and decorator (:func:`
|
|
3
|
+
building class (:class:`FromFunctionOp`) and decorator (:func:`wrap_py`) that
|
|
4
4
|
help make new Ops more rapidly.
|
|
5
5
|
|
|
6
6
|
"""
|
|
@@ -268,12 +268,12 @@ class FromFunctionOp(Op):
|
|
|
268
268
|
obj = load_back(mod, name)
|
|
269
269
|
except (ImportError, KeyError, AttributeError):
|
|
270
270
|
raise pickle.PicklingError(
|
|
271
|
-
f"Can't pickle
|
|
271
|
+
f"Can't pickle wrap_py(), not found as {mod}.{name}"
|
|
272
272
|
)
|
|
273
273
|
else:
|
|
274
274
|
if obj is not self:
|
|
275
275
|
raise pickle.PicklingError(
|
|
276
|
-
f"Can't pickle
|
|
276
|
+
f"Can't pickle wrap_py(), not the object at {mod}.{name}"
|
|
277
277
|
)
|
|
278
278
|
return load_back, (mod, name)
|
|
279
279
|
|
|
@@ -282,6 +282,18 @@ class FromFunctionOp(Op):
|
|
|
282
282
|
|
|
283
283
|
|
|
284
284
|
def as_op(itypes, otypes, infer_shape=None):
|
|
285
|
+
import warnings
|
|
286
|
+
|
|
287
|
+
warnings.warn(
|
|
288
|
+
"pytensor.as_op is deprecated and will be removed in a future release. "
|
|
289
|
+
"Please use pytensor.wrap_py instead.",
|
|
290
|
+
FutureWarning,
|
|
291
|
+
stacklevel=2,
|
|
292
|
+
)
|
|
293
|
+
return wrap_py(itypes, otypes, infer_shape)
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
def wrap_py(itypes, otypes, infer_shape=None):
|
|
285
297
|
"""
|
|
286
298
|
Decorator that converts a function into a basic PyTensor op that will call
|
|
287
299
|
the supplied function as its implementation.
|
|
@@ -301,8 +313,8 @@ def as_op(itypes, otypes, infer_shape=None):
|
|
|
301
313
|
|
|
302
314
|
Examples
|
|
303
315
|
--------
|
|
304
|
-
@
|
|
305
|
-
|
|
316
|
+
@wrap_py(itypes=[pytensor.tensor.fmatrix, pytensor.tensor.fmatrix],
|
|
317
|
+
otypes=[pytensor.tensor.fmatrix])
|
|
306
318
|
def numpy_dot(a, b):
|
|
307
319
|
return numpy.dot(a, b)
|
|
308
320
|
|
|
@@ -13,6 +13,7 @@ from pytensor.configdefaults import config
|
|
|
13
13
|
from pytensor.graph import Constant
|
|
14
14
|
from pytensor.graph.fg import FunctionGraph
|
|
15
15
|
from pytensor.ifelse import IfElse
|
|
16
|
+
from pytensor.link.jax.ops import JAXOp
|
|
16
17
|
from pytensor.link.utils import fgraph_to_python
|
|
17
18
|
from pytensor.raise_op import CheckAndRaise
|
|
18
19
|
|
|
@@ -142,3 +143,8 @@ def jax_funcify_OpFromGraph(ofg: OpFromGraph, node=None, **kwargs) -> Callable:
|
|
|
142
143
|
return fgraph_fn(*inputs)
|
|
143
144
|
|
|
144
145
|
return opfromgraph
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
@jax_funcify.register(JAXOp)
|
|
149
|
+
def jax_op_funcify(op, **kwargs):
|
|
150
|
+
return op.perform_jax
|