tensorstudio 1.16.0__tar.gz → 2.0.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.
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/CHANGELOG.md +15 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/CMakeLists.txt +1 -1
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/PKG-INFO +34 -16
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/README.md +33 -15
- tensorstudio-2.0.0/benchmarks/results.md +351 -0
- tensorstudio-2.0.0/benchmarks/results_matmul.md +49 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/core/api-reference.md +31 -7
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/ecosystem/datasets.md +21 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/ecosystem/model-zoo-and-language.md +14 -1
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/ecosystem/quantization-and-kernels.md +5 -1
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/ecosystem/sparse.md +9 -1
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/index.md +11 -7
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/interchange/model-formats.md +1 -1
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/interchange/numpy-interop.md +13 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/interchange/onnx.md +3 -1
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/release/publishing.md +4 -4
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/release/versioning.md +2 -2
- tensorstudio-2.0.0/docs/roadmap/roadmap.md +138 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/include/tensorstudio/version.hpp +1 -1
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/pyproject.toml +1 -1
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/__init__.py +22 -1
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/_version.py +1 -1
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/data/__init__.py +20 -0
- tensorstudio-2.0.0/python/tensorstudio/data/manifest.py +225 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/distributed.py +1 -1
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/interchange/__init__.py +4 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/interchange/onnx.py +64 -7
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/nn/__init__.py +8 -0
- tensorstudio-2.0.0/python/tensorstudio/nn/attention.py +156 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/quantization.py +88 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/sparse.py +181 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/tensor.py +14 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/tests/test_import.py +1 -1
- tensorstudio-2.0.0/tests/test_v2_foundation.py +97 -0
- tensorstudio-1.16.0/benchmarks/results.md +0 -351
- tensorstudio-1.16.0/benchmarks/results_matmul.md +0 -49
- tensorstudio-1.16.0/docs/roadmap/roadmap.md +0 -253
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/.gitattributes +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/.github/workflows/ci.yml +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/.github/workflows/docs.yml +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/.github/workflows/publish-testpypi.yml +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/.github/workflows/publish.yml +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/.github/workflows/wheels.yml +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/.gitignore +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/.pre-commit-config.yaml +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/CONTRIBUTING.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/LICENSE +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/SECURITY.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/benchmark_all.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/benchmarks/__init__.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/benchmarks/bench_activations.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/benchmarks/bench_autograd.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/benchmarks/bench_conv2d.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/benchmarks/bench_elementwise.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/benchmarks/bench_matmul.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/benchmarks/bench_pooling.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/benchmarks/bench_reductions.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/benchmarks/bench_tensor_ops.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/benchmarks/bench_training_loop.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/benchmarks/benchmark_report.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/benchmarks/results_conv2d.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/benchmarks/results_pooling.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/benchmarks/results_reductions.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/benchmarks/results_tensor_ops.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/benchmarks/thresholds.json +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/autograd/coverage.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/autograd/gradient-notes.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/autograd/overview.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/core/broadcasting.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/core/math-and-statistics.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/core/native-cpp-core.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/core/tensors.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/data/dataloader-patterns.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/data/dataset-creation.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/data/datasets-and-dataloaders.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/data/tensor-datasets.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/development/contributing.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/development/cpp-first.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/ecosystem/distributed-and-onnx-runtime.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/getting-started/installation.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/getting-started/quickstart.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/getting-started/source-build.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/graph/profiling-and-memory.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/graph/serialization-and-optimization.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/graph/tracing.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/hardware/backend-benchmarks.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/hardware/cpu-backend.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/hardware/cuda.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/hardware/device-api.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/hardware/linux.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/hardware/macos.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/hardware/metal.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/hardware/windows.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/interchange/metadata.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/interchange/onnx-import.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/interchange/safetensors.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/interchange/serialization.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/interchange/trusted-serialization.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/nn/initializers.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/nn/losses-and-summary.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/nn/modules.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/nn/optimizers.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/nn/overview.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/nn/training.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/performance/benchmarks.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/performance/optimization.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/performance/profiling.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/project/checkpoints.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/project/configs-and-templates.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/project/metrics.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/project/project-layout.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/project/trainer-and-callbacks.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/project/workflows.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/release/checklist.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/release/platform-compatibility.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/roadmap/milestones.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/roadmap/priorities.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/vision/dataset-creation.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/vision/detection.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/vision/models-and-visualization.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/vision/overview.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/vision/segmentation.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/docs/vision/transforms.md +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/examples/basic_tensor_ops.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/examples/ecosystem_features.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/examples/export_onnx.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/examples/graph_runtime.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/examples/image_folder_classification.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/examples/linear_regression.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/examples/project_training.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/examples/save_load_model.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/examples/tiny_mlp.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/examples/vision_classifier.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/include/tensorstudio/autograd.hpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/include/tensorstudio/device.hpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/include/tensorstudio/dtype.hpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/include/tensorstudio/errors.hpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/include/tensorstudio/module.hpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/include/tensorstudio/ops.hpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/include/tensorstudio/optim.hpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/include/tensorstudio/perf.hpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/include/tensorstudio/random.hpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/include/tensorstudio/serialization.hpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/include/tensorstudio/shape.hpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/include/tensorstudio/storage.hpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/include/tensorstudio/tensor.hpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/mkdocs.yml +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/_C.pyi +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/autograd.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/data/dataloader.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/data/dataset.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/data/factories.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/data/public_formats.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/data/splitting.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/dtypes.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/errors.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/grad_mode.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/graph/__init__.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/graph/core.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/hardware.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/kernels.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/math.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/metrics/__init__.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/metrics/classification.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/metrics/multilabel.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/metrics/regression.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/model_zoo.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/nn/functional.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/nn/init.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/nn/language.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/nn/losses.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/nn/modules.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/nn/summary.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/ops.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/optim/__init__.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/optim/adam.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/optim/adamw.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/optim/lr_scheduler.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/optim/sgd.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/optim/utils.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/performance.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/project/__init__.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/project/callbacks.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/project/checkpoint.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/project/config.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/project/seed.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/project/templates.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/project/trainer.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/py.typed +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/serialization.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/typing.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/vision/__init__.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/vision/datasets.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/vision/detection.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/vision/io.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/vision/metrics.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/vision/models.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/vision/segmentation.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/vision/transforms.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/python/tensorstudio/vision/visualization.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/src/bindings/bind_autograd.cpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/src/bindings/bind_nn.cpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/src/bindings/bind_ops.cpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/src/bindings/bind_optim.cpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/src/bindings/bind_tensor.cpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/src/bindings/bindings.cpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/src/bindings/bindings.hpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/src/core/autograd.cpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/src/core/device.cpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/src/core/dtype.cpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/src/core/errors.cpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/src/core/module.cpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/src/core/ops.cpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/src/core/optim.cpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/src/core/perf.cpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/src/core/random.cpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/src/core/serialization.cpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/src/core/shape.cpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/src/core/storage.cpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/src/core/tensor.cpp +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/test_all.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/tests/test_autograd.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/tests/test_autograd_hardening.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/tests/test_benchmark_report.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/tests/test_broadcasting.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/tests/test_core_math_expansion.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/tests/test_data.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/tests/test_ecosystem.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/tests/test_errors.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/tests/test_graph.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/tests/test_hardware.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/tests/test_indexing.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/tests/test_interchange.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/tests/test_nn.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/tests/test_nn_building_blocks.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/tests/test_numpy_interop.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/tests/test_ops.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/tests/test_optim.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/tests/test_performance.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/tests/test_project.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/tests/test_serialization.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/tests/test_tensor.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/tests/test_training_workflows.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/tests/test_views.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/tests/test_vision.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/tests/test_vision_depth.py +0 -0
- {tensorstudio-1.16.0 → tensorstudio-2.0.0}/tools/verify_artifacts.py +0 -0
|
@@ -2,6 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## 2.0.0 - 2026-07-08
|
|
6
|
+
|
|
7
|
+
- Added a tested v2 foundation slice from the remaining roadmap while keeping
|
|
8
|
+
accelerator and production-distributed limitations explicit.
|
|
9
|
+
- Added dataset manifests, SHA-256 file checksums, manifest validation, and a
|
|
10
|
+
small map-style dataset cache wrapper.
|
|
11
|
+
- Added compact attention APIs: `scaled_dot_product_attention`,
|
|
12
|
+
`MultiHeadSelfAttention`, and `TransformerEncoderBlock`.
|
|
13
|
+
- Added experimental CSR sparse tensors, dense/COO conversion helpers, and
|
|
14
|
+
CSR sparse-dense matmul.
|
|
15
|
+
- Added quantization calibration helpers and quantization error reporting.
|
|
16
|
+
- Added CPU `from_dlpack()` import for DLPack-compatible providers via NumPy.
|
|
17
|
+
- Added ONNX Runtime provider discovery and compatibility diagnostics.
|
|
18
|
+
- Reworked the roadmap to show remaining work only.
|
|
19
|
+
|
|
5
20
|
## 1.16.0 - 2026-07-07
|
|
6
21
|
|
|
7
22
|
- Completed the Ecosystem And Advanced Features roadmap batch as supported
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.2
|
|
2
2
|
Name: tensorstudio
|
|
3
|
-
Version:
|
|
3
|
+
Version: 2.0.0
|
|
4
4
|
Summary: TensorStudio is a compact C++ tensor and autograd engine with a Python API for learning, experimentation, and lightweight ML workloads.
|
|
5
5
|
Keywords: tensor,autograd,machine-learning,cpp,pybind11
|
|
6
6
|
Author: TensorStudio contributors
|
|
@@ -84,7 +84,7 @@ Description-Content-Type: text/markdown
|
|
|
84
84
|
TensorStudio is a compact C++ tensor and autograd engine with a Python API for
|
|
85
85
|
learning, experimentation, and lightweight ML workloads.
|
|
86
86
|
|
|
87
|
-
TensorStudio `
|
|
87
|
+
TensorStudio `2.0.0` is a CPU-only stable API foundation with native C++
|
|
88
88
|
threading, storage reuse, SIMD-friendly typed kernels, and optional
|
|
89
89
|
CBLAS/Accelerate matrix multiplication when available. It adds native stable
|
|
90
90
|
softmax/logsumexp, batched matrix multiplication, statistical reductions,
|
|
@@ -105,7 +105,10 @@ optimization, eager-backed graph execution, profiling hooks, and memory-plan
|
|
|
105
105
|
metadata. The ecosystem layer adds experimental COO sparse tensors, public
|
|
106
106
|
dataset format readers, tiny model-zoo factories, language-model helpers,
|
|
107
107
|
quantization research utilities, a custom-kernel registry, single-process
|
|
108
|
-
distributed planning helpers, and an optional ONNX Runtime adapter.
|
|
108
|
+
distributed planning helpers, and an optional ONNX Runtime adapter. The v2
|
|
109
|
+
foundation adds dataset manifests/checksums, a small dataset cache wrapper, CSR
|
|
110
|
+
sparse matrices, compact attention/Transformer encoder blocks, quantization
|
|
111
|
+
calibration, CPU DLPack import, and ONNX Runtime provider diagnostics.
|
|
109
112
|
It is eager-first, intentionally compact, and not a replacement for mature ML
|
|
110
113
|
frameworks.
|
|
111
114
|
|
|
@@ -492,7 +495,7 @@ print(loaded.run(x).item())
|
|
|
492
495
|
|
|
493
496
|
## Ecosystem Utilities
|
|
494
497
|
|
|
495
|
-
TensorStudio `
|
|
498
|
+
TensorStudio `2.0.0` expands the late-roadmap ecosystem layer without
|
|
496
499
|
pretending to be a production-scale distributed or accelerator runtime.
|
|
497
500
|
|
|
498
501
|
```python
|
|
@@ -521,6 +524,20 @@ ts.unregister_kernel("double")
|
|
|
521
524
|
print(ts.distributed.data_parallel_plan(dataset_size=10, batch_size=4))
|
|
522
525
|
```
|
|
523
526
|
|
|
527
|
+
```python
|
|
528
|
+
manifest = ts.data.build_dataset_manifest("data")
|
|
529
|
+
print(manifest.validate())
|
|
530
|
+
|
|
531
|
+
csr = ts.csr_from_dense(ts.tensor([[0.0, 2.0], [3.0, 0.0]]))
|
|
532
|
+
print((csr @ ts.ones((2, 1))).tolist())
|
|
533
|
+
|
|
534
|
+
attention = nn.MultiHeadSelfAttention(embed_dim=4, num_heads=2)
|
|
535
|
+
print(attention(ts.randn((1, 3, 4), seed=7), causal=True).shape)
|
|
536
|
+
|
|
537
|
+
stats = ts.quantization.calibrate_tensor(ts.tensor([-1.0, 0.0, 2.0]))
|
|
538
|
+
print(stats.to_dict())
|
|
539
|
+
```
|
|
540
|
+
|
|
524
541
|
For ONNX files, TensorStudio has two paths:
|
|
525
542
|
|
|
526
543
|
- `ts.import_onnx()` imports and executes a constrained static subset through
|
|
@@ -528,6 +545,8 @@ For ONNX files, TensorStudio has two paths:
|
|
|
528
545
|
- `ts.run_onnx()` can delegate to the optional `onnxruntime` package when
|
|
529
546
|
installed with `tensorstudio[onnxruntime]`; otherwise it can fall back to the
|
|
530
547
|
supported TensorStudio importer for compatible graphs.
|
|
548
|
+
- `ts.check_onnxruntime_compatibility()` and
|
|
549
|
+
`ts.onnxruntime_available_providers()` report runtime/provider availability.
|
|
531
550
|
|
|
532
551
|
## Performance
|
|
533
552
|
|
|
@@ -559,12 +578,11 @@ Run the loose local regression thresholds with:
|
|
|
559
578
|
python benchmark_all.py --check-thresholds
|
|
560
579
|
```
|
|
561
580
|
|
|
562
|
-
On one Windows CPython 3.10 development run reporting `
|
|
581
|
+
On one Windows CPython 3.10 development run reporting `2.0.0`, with
|
|
563
582
|
TensorStudio threads enabled, storage pooling enabled, SSE2 autovectorization
|
|
564
|
-
reported, and no BLAS provider found, TensorStudio beat NumPy on 6 local
|
|
565
583
|
reported, and no BLAS provider found, TensorStudio beat NumPy on 7 local
|
|
566
584
|
benchmark cases and lost on 96 NumPy-comparable cases. JAX CPU dispatch was
|
|
567
|
-
available on that machine; TensorStudio won
|
|
585
|
+
available on that machine; TensorStudio won 45 local cases and lost 53. The
|
|
568
586
|
strongest local wins were the simple NumPy convolution/pooling reference loops
|
|
569
587
|
and some small JAX-dispatch-heavy eager cases. NumPy and JAX were faster for
|
|
570
588
|
many elementwise, reduction, matrix multiplication, larger activation, and
|
|
@@ -576,15 +594,15 @@ Snapshot from that local run:
|
|
|
576
594
|
|
|
577
595
|
| operation | shape | TensorStudio | NumPy | JAX CPU dispatch | TS vs NumPy | TS vs JAX |
|
|
578
596
|
|---|---:|---:|---:|---:|---:|---:|
|
|
579
|
-
| `sigmoid` | `(32,)` | 0.
|
|
580
|
-
| `mean` | `(32,)` | 0.
|
|
581
|
-
| `sum_axis1` | `(16, 16)` | 0.
|
|
582
|
-
| `chain_relu` | `(128,)` | 0.
|
|
583
|
-
| `matmul` | `(256, 256)` |
|
|
584
|
-
| `conv2d_3x3_padding1` | `(1, 1, 8, 8)` | 0.
|
|
585
|
-
| `max_pool2d_2x2` | `(1, 1, 16, 16)` | 0.
|
|
586
|
-
| `avg_pool2d_2x2` | `(1, 1, 16, 16)` | 0.
|
|
587
|
-
| `elementwise_backward` | `(1024,)` |
|
|
597
|
+
| `sigmoid` | `(32,)` | 0.0221 ms | 0.0068 ms | 0.1092 ms | 0.3106x | 4.9529x |
|
|
598
|
+
| `mean` | `(32,)` | 0.0256 ms | 0.0129 ms | 0.0210 ms | 0.5052x | 0.8221x |
|
|
599
|
+
| `sum_axis1` | `(16, 16)` | 0.0290 ms | 0.0034 ms | 0.0187 ms | 0.1170x | 0.6453x |
|
|
600
|
+
| `chain_relu` | `(128,)` | 0.1596 ms | 0.0099 ms | 0.1898 ms | 0.0621x | 1.1892x |
|
|
601
|
+
| `matmul` | `(256, 256)` | 3.6061 ms | 0.5097 ms | 0.3583 ms | 0.1413x | 0.0994x |
|
|
602
|
+
| `conv2d_3x3_padding1` | `(1, 1, 8, 8)` | 0.2448 ms | 1.9636 ms | 0.1606 ms | 8.0224x | 0.6561x |
|
|
603
|
+
| `max_pool2d_2x2` | `(1, 1, 16, 16)` | 0.0392 ms | 0.3468 ms | n/a | 8.8440x | n/a |
|
|
604
|
+
| `avg_pool2d_2x2` | `(1, 1, 16, 16)` | 0.0460 ms | 1.0295 ms | n/a | 22.4030x | n/a |
|
|
605
|
+
| `elementwise_backward` | `(1024,)` | 4.1790 ms | n/a | n/a | n/a | n/a |
|
|
588
606
|
|
|
589
607
|
Speedup is `competitor median / TensorStudio median`, so values above `1.0x`
|
|
590
608
|
favor TensorStudio.
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
TensorStudio is a compact C++ tensor and autograd engine with a Python API for
|
|
8
8
|
learning, experimentation, and lightweight ML workloads.
|
|
9
9
|
|
|
10
|
-
TensorStudio `
|
|
10
|
+
TensorStudio `2.0.0` is a CPU-only stable API foundation with native C++
|
|
11
11
|
threading, storage reuse, SIMD-friendly typed kernels, and optional
|
|
12
12
|
CBLAS/Accelerate matrix multiplication when available. It adds native stable
|
|
13
13
|
softmax/logsumexp, batched matrix multiplication, statistical reductions,
|
|
@@ -28,7 +28,10 @@ optimization, eager-backed graph execution, profiling hooks, and memory-plan
|
|
|
28
28
|
metadata. The ecosystem layer adds experimental COO sparse tensors, public
|
|
29
29
|
dataset format readers, tiny model-zoo factories, language-model helpers,
|
|
30
30
|
quantization research utilities, a custom-kernel registry, single-process
|
|
31
|
-
distributed planning helpers, and an optional ONNX Runtime adapter.
|
|
31
|
+
distributed planning helpers, and an optional ONNX Runtime adapter. The v2
|
|
32
|
+
foundation adds dataset manifests/checksums, a small dataset cache wrapper, CSR
|
|
33
|
+
sparse matrices, compact attention/Transformer encoder blocks, quantization
|
|
34
|
+
calibration, CPU DLPack import, and ONNX Runtime provider diagnostics.
|
|
32
35
|
It is eager-first, intentionally compact, and not a replacement for mature ML
|
|
33
36
|
frameworks.
|
|
34
37
|
|
|
@@ -415,7 +418,7 @@ print(loaded.run(x).item())
|
|
|
415
418
|
|
|
416
419
|
## Ecosystem Utilities
|
|
417
420
|
|
|
418
|
-
TensorStudio `
|
|
421
|
+
TensorStudio `2.0.0` expands the late-roadmap ecosystem layer without
|
|
419
422
|
pretending to be a production-scale distributed or accelerator runtime.
|
|
420
423
|
|
|
421
424
|
```python
|
|
@@ -444,6 +447,20 @@ ts.unregister_kernel("double")
|
|
|
444
447
|
print(ts.distributed.data_parallel_plan(dataset_size=10, batch_size=4))
|
|
445
448
|
```
|
|
446
449
|
|
|
450
|
+
```python
|
|
451
|
+
manifest = ts.data.build_dataset_manifest("data")
|
|
452
|
+
print(manifest.validate())
|
|
453
|
+
|
|
454
|
+
csr = ts.csr_from_dense(ts.tensor([[0.0, 2.0], [3.0, 0.0]]))
|
|
455
|
+
print((csr @ ts.ones((2, 1))).tolist())
|
|
456
|
+
|
|
457
|
+
attention = nn.MultiHeadSelfAttention(embed_dim=4, num_heads=2)
|
|
458
|
+
print(attention(ts.randn((1, 3, 4), seed=7), causal=True).shape)
|
|
459
|
+
|
|
460
|
+
stats = ts.quantization.calibrate_tensor(ts.tensor([-1.0, 0.0, 2.0]))
|
|
461
|
+
print(stats.to_dict())
|
|
462
|
+
```
|
|
463
|
+
|
|
447
464
|
For ONNX files, TensorStudio has two paths:
|
|
448
465
|
|
|
449
466
|
- `ts.import_onnx()` imports and executes a constrained static subset through
|
|
@@ -451,6 +468,8 @@ For ONNX files, TensorStudio has two paths:
|
|
|
451
468
|
- `ts.run_onnx()` can delegate to the optional `onnxruntime` package when
|
|
452
469
|
installed with `tensorstudio[onnxruntime]`; otherwise it can fall back to the
|
|
453
470
|
supported TensorStudio importer for compatible graphs.
|
|
471
|
+
- `ts.check_onnxruntime_compatibility()` and
|
|
472
|
+
`ts.onnxruntime_available_providers()` report runtime/provider availability.
|
|
454
473
|
|
|
455
474
|
## Performance
|
|
456
475
|
|
|
@@ -482,12 +501,11 @@ Run the loose local regression thresholds with:
|
|
|
482
501
|
python benchmark_all.py --check-thresholds
|
|
483
502
|
```
|
|
484
503
|
|
|
485
|
-
On one Windows CPython 3.10 development run reporting `
|
|
504
|
+
On one Windows CPython 3.10 development run reporting `2.0.0`, with
|
|
486
505
|
TensorStudio threads enabled, storage pooling enabled, SSE2 autovectorization
|
|
487
|
-
reported, and no BLAS provider found, TensorStudio beat NumPy on 6 local
|
|
488
506
|
reported, and no BLAS provider found, TensorStudio beat NumPy on 7 local
|
|
489
507
|
benchmark cases and lost on 96 NumPy-comparable cases. JAX CPU dispatch was
|
|
490
|
-
available on that machine; TensorStudio won
|
|
508
|
+
available on that machine; TensorStudio won 45 local cases and lost 53. The
|
|
491
509
|
strongest local wins were the simple NumPy convolution/pooling reference loops
|
|
492
510
|
and some small JAX-dispatch-heavy eager cases. NumPy and JAX were faster for
|
|
493
511
|
many elementwise, reduction, matrix multiplication, larger activation, and
|
|
@@ -499,15 +517,15 @@ Snapshot from that local run:
|
|
|
499
517
|
|
|
500
518
|
| operation | shape | TensorStudio | NumPy | JAX CPU dispatch | TS vs NumPy | TS vs JAX |
|
|
501
519
|
|---|---:|---:|---:|---:|---:|---:|
|
|
502
|
-
| `sigmoid` | `(32,)` | 0.
|
|
503
|
-
| `mean` | `(32,)` | 0.
|
|
504
|
-
| `sum_axis1` | `(16, 16)` | 0.
|
|
505
|
-
| `chain_relu` | `(128,)` | 0.
|
|
506
|
-
| `matmul` | `(256, 256)` |
|
|
507
|
-
| `conv2d_3x3_padding1` | `(1, 1, 8, 8)` | 0.
|
|
508
|
-
| `max_pool2d_2x2` | `(1, 1, 16, 16)` | 0.
|
|
509
|
-
| `avg_pool2d_2x2` | `(1, 1, 16, 16)` | 0.
|
|
510
|
-
| `elementwise_backward` | `(1024,)` |
|
|
520
|
+
| `sigmoid` | `(32,)` | 0.0221 ms | 0.0068 ms | 0.1092 ms | 0.3106x | 4.9529x |
|
|
521
|
+
| `mean` | `(32,)` | 0.0256 ms | 0.0129 ms | 0.0210 ms | 0.5052x | 0.8221x |
|
|
522
|
+
| `sum_axis1` | `(16, 16)` | 0.0290 ms | 0.0034 ms | 0.0187 ms | 0.1170x | 0.6453x |
|
|
523
|
+
| `chain_relu` | `(128,)` | 0.1596 ms | 0.0099 ms | 0.1898 ms | 0.0621x | 1.1892x |
|
|
524
|
+
| `matmul` | `(256, 256)` | 3.6061 ms | 0.5097 ms | 0.3583 ms | 0.1413x | 0.0994x |
|
|
525
|
+
| `conv2d_3x3_padding1` | `(1, 1, 8, 8)` | 0.2448 ms | 1.9636 ms | 0.1606 ms | 8.0224x | 0.6561x |
|
|
526
|
+
| `max_pool2d_2x2` | `(1, 1, 16, 16)` | 0.0392 ms | 0.3468 ms | n/a | 8.8440x | n/a |
|
|
527
|
+
| `avg_pool2d_2x2` | `(1, 1, 16, 16)` | 0.0460 ms | 1.0295 ms | n/a | 22.4030x | n/a |
|
|
528
|
+
| `elementwise_backward` | `(1024,)` | 4.1790 ms | n/a | n/a | n/a | n/a |
|
|
511
529
|
|
|
512
530
|
Speedup is `competitor median / TensorStudio median`, so values above `1.0x`
|
|
513
531
|
favor TensorStudio.
|