tensorstudio 1.12.0__tar.gz → 1.13.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.
Files changed (215) hide show
  1. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/.github/workflows/ci.yml +21 -0
  2. tensorstudio-1.13.0/.github/workflows/docs.yml +45 -0
  3. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/.github/workflows/publish-testpypi.yml +8 -1
  4. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/.github/workflows/publish.yml +31 -2
  5. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/.github/workflows/wheels.yml +30 -1
  6. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/CHANGELOG.md +17 -0
  7. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/CMakeLists.txt +1 -1
  8. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/PKG-INFO +16 -16
  9. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/README.md +15 -15
  10. tensorstudio-1.13.0/benchmarks/results.md +347 -0
  11. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/benchmarks/results_matmul.md +13 -13
  12. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/autograd/coverage.md +1 -1
  13. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/hardware/cpu-backend.md +1 -1
  14. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/index.md +1 -1
  15. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/interchange/model-formats.md +1 -1
  16. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/interchange/onnx-import.md +1 -1
  17. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/interchange/onnx.md +1 -1
  18. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/interchange/safetensors.md +1 -1
  19. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/interchange/serialization.md +1 -1
  20. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/nn/training.md +1 -1
  21. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/release/checklist.md +8 -1
  22. tensorstudio-1.13.0/docs/release/platform-compatibility.md +71 -0
  23. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/release/publishing.md +28 -6
  24. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/release/versioning.md +2 -2
  25. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/roadmap/milestones.md +11 -1
  26. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/roadmap/roadmap.md +10 -10
  27. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/vision/segmentation.md +1 -1
  28. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/vision/transforms.md +1 -1
  29. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/include/tensorstudio/version.hpp +1 -1
  30. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/mkdocs.yml +1 -0
  31. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/pyproject.toml +1 -1
  32. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/_version.py +1 -1
  33. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/test_all.py +27 -3
  34. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/tests/test_import.py +1 -1
  35. tensorstudio-1.13.0/tools/verify_artifacts.py +138 -0
  36. tensorstudio-1.12.0/benchmarks/results.md +0 -347
  37. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/.gitattributes +0 -0
  38. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/.gitignore +0 -0
  39. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/.pre-commit-config.yaml +0 -0
  40. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/CONTRIBUTING.md +0 -0
  41. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/LICENSE +0 -0
  42. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/SECURITY.md +0 -0
  43. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/benchmark_all.py +0 -0
  44. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/benchmarks/__init__.py +0 -0
  45. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/benchmarks/bench_activations.py +0 -0
  46. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/benchmarks/bench_autograd.py +0 -0
  47. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/benchmarks/bench_conv2d.py +0 -0
  48. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/benchmarks/bench_elementwise.py +0 -0
  49. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/benchmarks/bench_matmul.py +0 -0
  50. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/benchmarks/bench_pooling.py +0 -0
  51. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/benchmarks/bench_reductions.py +0 -0
  52. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/benchmarks/bench_tensor_ops.py +0 -0
  53. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/benchmarks/bench_training_loop.py +0 -0
  54. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/benchmarks/benchmark_report.py +0 -0
  55. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/benchmarks/results_conv2d.md +0 -0
  56. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/benchmarks/results_pooling.md +0 -0
  57. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/benchmarks/results_reductions.md +0 -0
  58. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/benchmarks/results_tensor_ops.md +0 -0
  59. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/benchmarks/thresholds.json +0 -0
  60. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/autograd/gradient-notes.md +0 -0
  61. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/autograd/overview.md +0 -0
  62. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/core/api-reference.md +0 -0
  63. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/core/broadcasting.md +0 -0
  64. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/core/math-and-statistics.md +0 -0
  65. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/core/native-cpp-core.md +0 -0
  66. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/core/tensors.md +0 -0
  67. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/data/dataloader-patterns.md +0 -0
  68. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/data/dataset-creation.md +0 -0
  69. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/data/datasets-and-dataloaders.md +0 -0
  70. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/data/tensor-datasets.md +0 -0
  71. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/development/contributing.md +0 -0
  72. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/development/cpp-first.md +0 -0
  73. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/getting-started/installation.md +0 -0
  74. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/getting-started/quickstart.md +0 -0
  75. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/getting-started/source-build.md +0 -0
  76. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/hardware/linux.md +0 -0
  77. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/hardware/macos.md +0 -0
  78. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/hardware/windows.md +0 -0
  79. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/interchange/metadata.md +0 -0
  80. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/interchange/numpy-interop.md +0 -0
  81. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/interchange/trusted-serialization.md +0 -0
  82. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/nn/initializers.md +0 -0
  83. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/nn/losses-and-summary.md +0 -0
  84. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/nn/modules.md +0 -0
  85. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/nn/optimizers.md +0 -0
  86. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/nn/overview.md +0 -0
  87. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/performance/benchmarks.md +0 -0
  88. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/performance/optimization.md +0 -0
  89. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/performance/profiling.md +0 -0
  90. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/project/checkpoints.md +0 -0
  91. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/project/configs-and-templates.md +0 -0
  92. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/project/metrics.md +0 -0
  93. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/project/project-layout.md +0 -0
  94. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/project/trainer-and-callbacks.md +0 -0
  95. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/project/workflows.md +0 -0
  96. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/roadmap/priorities.md +0 -0
  97. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/vision/dataset-creation.md +0 -0
  98. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/vision/detection.md +0 -0
  99. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/vision/models-and-visualization.md +0 -0
  100. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/docs/vision/overview.md +0 -0
  101. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/examples/basic_tensor_ops.py +0 -0
  102. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/examples/export_onnx.py +0 -0
  103. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/examples/image_folder_classification.py +0 -0
  104. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/examples/linear_regression.py +0 -0
  105. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/examples/project_training.py +0 -0
  106. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/examples/save_load_model.py +0 -0
  107. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/examples/tiny_mlp.py +0 -0
  108. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/examples/vision_classifier.py +0 -0
  109. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/include/tensorstudio/autograd.hpp +0 -0
  110. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/include/tensorstudio/device.hpp +0 -0
  111. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/include/tensorstudio/dtype.hpp +0 -0
  112. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/include/tensorstudio/errors.hpp +0 -0
  113. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/include/tensorstudio/module.hpp +0 -0
  114. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/include/tensorstudio/ops.hpp +0 -0
  115. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/include/tensorstudio/optim.hpp +0 -0
  116. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/include/tensorstudio/perf.hpp +0 -0
  117. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/include/tensorstudio/random.hpp +0 -0
  118. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/include/tensorstudio/serialization.hpp +0 -0
  119. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/include/tensorstudio/shape.hpp +0 -0
  120. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/include/tensorstudio/storage.hpp +0 -0
  121. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/include/tensorstudio/tensor.hpp +0 -0
  122. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/_C.pyi +0 -0
  123. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/__init__.py +0 -0
  124. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/autograd.py +0 -0
  125. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/data/__init__.py +0 -0
  126. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/data/dataloader.py +0 -0
  127. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/data/dataset.py +0 -0
  128. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/data/factories.py +0 -0
  129. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/data/splitting.py +0 -0
  130. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/dtypes.py +0 -0
  131. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/errors.py +0 -0
  132. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/grad_mode.py +0 -0
  133. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/interchange/__init__.py +0 -0
  134. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/interchange/onnx.py +0 -0
  135. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/math.py +0 -0
  136. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/metrics/__init__.py +0 -0
  137. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/metrics/classification.py +0 -0
  138. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/metrics/multilabel.py +0 -0
  139. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/metrics/regression.py +0 -0
  140. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/nn/__init__.py +0 -0
  141. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/nn/functional.py +0 -0
  142. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/nn/init.py +0 -0
  143. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/nn/losses.py +0 -0
  144. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/nn/modules.py +0 -0
  145. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/nn/summary.py +0 -0
  146. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/ops.py +0 -0
  147. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/optim/__init__.py +0 -0
  148. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/optim/adam.py +0 -0
  149. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/optim/adamw.py +0 -0
  150. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/optim/lr_scheduler.py +0 -0
  151. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/optim/sgd.py +0 -0
  152. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/optim/utils.py +0 -0
  153. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/performance.py +0 -0
  154. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/project/__init__.py +0 -0
  155. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/project/callbacks.py +0 -0
  156. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/project/checkpoint.py +0 -0
  157. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/project/config.py +0 -0
  158. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/project/seed.py +0 -0
  159. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/project/templates.py +0 -0
  160. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/project/trainer.py +0 -0
  161. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/py.typed +0 -0
  162. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/serialization.py +0 -0
  163. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/tensor.py +0 -0
  164. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/typing.py +0 -0
  165. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/vision/__init__.py +0 -0
  166. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/vision/datasets.py +0 -0
  167. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/vision/detection.py +0 -0
  168. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/vision/io.py +0 -0
  169. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/vision/metrics.py +0 -0
  170. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/vision/models.py +0 -0
  171. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/vision/segmentation.py +0 -0
  172. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/vision/transforms.py +0 -0
  173. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/python/tensorstudio/vision/visualization.py +0 -0
  174. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/src/bindings/bind_autograd.cpp +0 -0
  175. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/src/bindings/bind_nn.cpp +0 -0
  176. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/src/bindings/bind_ops.cpp +0 -0
  177. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/src/bindings/bind_optim.cpp +0 -0
  178. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/src/bindings/bind_tensor.cpp +0 -0
  179. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/src/bindings/bindings.cpp +0 -0
  180. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/src/bindings/bindings.hpp +0 -0
  181. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/src/core/autograd.cpp +0 -0
  182. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/src/core/device.cpp +0 -0
  183. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/src/core/dtype.cpp +0 -0
  184. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/src/core/errors.cpp +0 -0
  185. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/src/core/module.cpp +0 -0
  186. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/src/core/ops.cpp +0 -0
  187. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/src/core/optim.cpp +0 -0
  188. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/src/core/perf.cpp +0 -0
  189. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/src/core/random.cpp +0 -0
  190. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/src/core/serialization.cpp +0 -0
  191. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/src/core/shape.cpp +0 -0
  192. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/src/core/storage.cpp +0 -0
  193. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/src/core/tensor.cpp +0 -0
  194. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/tests/test_autograd.py +0 -0
  195. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/tests/test_autograd_hardening.py +0 -0
  196. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/tests/test_benchmark_report.py +0 -0
  197. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/tests/test_broadcasting.py +0 -0
  198. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/tests/test_core_math_expansion.py +0 -0
  199. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/tests/test_data.py +0 -0
  200. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/tests/test_errors.py +0 -0
  201. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/tests/test_indexing.py +0 -0
  202. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/tests/test_interchange.py +0 -0
  203. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/tests/test_nn.py +0 -0
  204. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/tests/test_nn_building_blocks.py +0 -0
  205. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/tests/test_numpy_interop.py +0 -0
  206. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/tests/test_ops.py +0 -0
  207. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/tests/test_optim.py +0 -0
  208. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/tests/test_performance.py +0 -0
  209. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/tests/test_project.py +0 -0
  210. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/tests/test_serialization.py +0 -0
  211. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/tests/test_tensor.py +0 -0
  212. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/tests/test_training_workflows.py +0 -0
  213. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/tests/test_views.py +0 -0
  214. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/tests/test_vision.py +0 -0
  215. {tensorstudio-1.12.0 → tensorstudio-1.13.0}/tests/test_vision_depth.py +0 -0
@@ -102,3 +102,24 @@ jobs:
102
102
  python benchmark_all.py --help
103
103
  - name: Example
104
104
  run: python examples/basic_tensor_ops.py
105
+
106
+ artifact_smoke:
107
+ name: Artifact smoke (${{ matrix.os }})
108
+ runs-on: ${{ matrix.os }}
109
+ strategy:
110
+ fail-fast: false
111
+ matrix:
112
+ os: [windows-latest, ubuntu-latest, macos-latest]
113
+
114
+ steps:
115
+ - uses: actions/checkout@v4
116
+ - uses: actions/setup-python@v5
117
+ with:
118
+ python-version: "3.12"
119
+ - name: Build wheel and sdist
120
+ run: |
121
+ python -m pip install -U pip build twine
122
+ python -m build
123
+ python -m twine check dist/*
124
+ - name: Clean wheel and sdist install smoke
125
+ run: python tools/verify_artifacts.py --wheel-dir dist --sdist-dir dist
@@ -0,0 +1,45 @@
1
+ name: Docs
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ workflow_dispatch:
7
+
8
+ permissions:
9
+ contents: read
10
+ pages: write
11
+ id-token: write
12
+
13
+ concurrency:
14
+ group: pages
15
+ cancel-in-progress: false
16
+
17
+ jobs:
18
+ build:
19
+ name: Build docs
20
+ runs-on: ubuntu-latest
21
+ steps:
22
+ - uses: actions/checkout@v4
23
+ - uses: actions/setup-python@v5
24
+ with:
25
+ python-version: "3.12"
26
+ - name: Install docs dependencies
27
+ run: |
28
+ python -m pip install -U pip
29
+ python -m pip install -e ".[docs]"
30
+ - name: Build strict docs
31
+ run: python -m mkdocs build --strict
32
+ - uses: actions/upload-pages-artifact@v3
33
+ with:
34
+ path: site
35
+
36
+ deploy:
37
+ name: Deploy GitHub Pages
38
+ needs: build
39
+ runs-on: ubuntu-latest
40
+ environment:
41
+ name: github-pages
42
+ url: ${{ steps.deployment.outputs.page_url }}
43
+ steps:
44
+ - id: deployment
45
+ uses: actions/deploy-pages@v4
@@ -27,6 +27,8 @@ jobs:
27
27
  uses: pypa/cibuildwheel@v2.23.3
28
28
  env:
29
29
  CIBW_ARCHS_WINDOWS: "AMD64"
30
+ - name: Clean wheel install smoke
31
+ run: python tools/verify_artifacts.py --wheel-dir wheelhouse --skip-sdist
30
32
  - uses: actions/upload-artifact@v4
31
33
  with:
32
34
  name: dist-windows
@@ -45,6 +47,8 @@ jobs:
45
47
  uses: pypa/cibuildwheel@v2.23.3
46
48
  env:
47
49
  CIBW_ARCHS_LINUX: "x86_64"
50
+ - name: Clean wheel install smoke
51
+ run: python tools/verify_artifacts.py --wheel-dir wheelhouse --skip-sdist
48
52
  - uses: actions/upload-artifact@v4
49
53
  with:
50
54
  name: dist-linux
@@ -62,7 +66,9 @@ jobs:
62
66
  - name: Build macOS wheels
63
67
  uses: pypa/cibuildwheel@v2.23.3
64
68
  env:
65
- CIBW_ARCHS_MACOS: "auto"
69
+ CIBW_ARCHS_MACOS: "auto universal2"
70
+ - name: Clean wheel install smoke
71
+ run: python tools/verify_artifacts.py --wheel-dir wheelhouse --skip-sdist
66
72
  - uses: actions/upload-artifact@v4
67
73
  with:
68
74
  name: dist-macos
@@ -82,6 +88,7 @@ jobs:
82
88
  python -m pip install -U build twine
83
89
  python -m build --sdist
84
90
  python -m twine check dist/*
91
+ python tools/verify_artifacts.py --skip-wheel --sdist-dir dist
85
92
  - uses: actions/upload-artifact@v4
86
93
  with:
87
94
  name: dist-sdist
@@ -29,6 +29,8 @@ jobs:
29
29
  uses: pypa/cibuildwheel@v2.23.3
30
30
  env:
31
31
  CIBW_ARCHS_WINDOWS: "AMD64"
32
+ - name: Clean wheel install smoke
33
+ run: python tools/verify_artifacts.py --wheel-dir wheelhouse --skip-sdist
32
34
  - uses: actions/upload-artifact@v4
33
35
  with:
34
36
  name: dist-windows
@@ -47,6 +49,8 @@ jobs:
47
49
  uses: pypa/cibuildwheel@v2.23.3
48
50
  env:
49
51
  CIBW_ARCHS_LINUX: "x86_64"
52
+ - name: Clean wheel install smoke
53
+ run: python tools/verify_artifacts.py --wheel-dir wheelhouse --skip-sdist
50
54
  - uses: actions/upload-artifact@v4
51
55
  with:
52
56
  name: dist-linux
@@ -64,7 +68,9 @@ jobs:
64
68
  - name: Build macOS wheels
65
69
  uses: pypa/cibuildwheel@v2.23.3
66
70
  env:
67
- CIBW_ARCHS_MACOS: "auto"
71
+ CIBW_ARCHS_MACOS: "auto universal2"
72
+ - name: Clean wheel install smoke
73
+ run: python tools/verify_artifacts.py --wheel-dir wheelhouse --skip-sdist
68
74
  - uses: actions/upload-artifact@v4
69
75
  with:
70
76
  name: dist-macos
@@ -84,14 +90,37 @@ jobs:
84
90
  python -m pip install -U build twine
85
91
  python -m build --sdist
86
92
  python -m twine check dist/*
93
+ python tools/verify_artifacts.py --skip-wheel --sdist-dir dist
87
94
  - uses: actions/upload-artifact@v4
88
95
  with:
89
96
  name: dist-sdist
90
97
  path: dist/*.tar.gz
91
98
 
99
+ benchmark_artifacts:
100
+ name: Benchmark artifacts
101
+ runs-on: ubuntu-latest
102
+ needs: build_sdist
103
+ steps:
104
+ - uses: actions/checkout@v4
105
+ - uses: actions/setup-python@v5
106
+ with:
107
+ python-version: "3.12"
108
+ - name: Run benchmark reports
109
+ run: |
110
+ python -m pip install -U pip
111
+ python -m pip install -e ".[dev]"
112
+ python benchmark_all.py --check-thresholds
113
+ python benchmarks/bench_matmul.py
114
+ - uses: actions/upload-artifact@v4
115
+ with:
116
+ name: dist-benchmark-reports
117
+ path: |
118
+ benchmarks/results.md
119
+ benchmarks/results_matmul.md
120
+
92
121
  publish:
93
122
  name: Publish to PyPI
94
- needs: [windows_wheels, linux_wheels, macos_wheels, build_sdist]
123
+ needs: [windows_wheels, linux_wheels, macos_wheels, build_sdist, benchmark_artifacts]
95
124
  runs-on: ubuntu-latest
96
125
  environment: pypi
97
126
  steps:
@@ -29,6 +29,8 @@ jobs:
29
29
  uses: pypa/cibuildwheel@v2.23.3
30
30
  env:
31
31
  CIBW_ARCHS_WINDOWS: "AMD64"
32
+ - name: Clean wheel install smoke
33
+ run: python tools/verify_artifacts.py --wheel-dir wheelhouse --skip-sdist
32
34
  - uses: actions/upload-artifact@v4
33
35
  with:
34
36
  name: wheels-windows
@@ -47,6 +49,8 @@ jobs:
47
49
  uses: pypa/cibuildwheel@v2.23.3
48
50
  env:
49
51
  CIBW_ARCHS_LINUX: "x86_64"
52
+ - name: Clean wheel install smoke
53
+ run: python tools/verify_artifacts.py --wheel-dir wheelhouse --skip-sdist
50
54
  - uses: actions/upload-artifact@v4
51
55
  with:
52
56
  name: wheels-linux
@@ -64,7 +68,9 @@ jobs:
64
68
  - name: Build macOS wheels
65
69
  uses: pypa/cibuildwheel@v2.23.3
66
70
  env:
67
- CIBW_ARCHS_MACOS: "auto"
71
+ CIBW_ARCHS_MACOS: "auto universal2"
72
+ - name: Clean wheel install smoke
73
+ run: python tools/verify_artifacts.py --wheel-dir wheelhouse --skip-sdist
68
74
  - uses: actions/upload-artifact@v4
69
75
  with:
70
76
  name: wheels-macos
@@ -84,7 +90,30 @@ jobs:
84
90
  python -m pip install -U build twine
85
91
  python -m build --sdist
86
92
  python -m twine check dist/*
93
+ python tools/verify_artifacts.py --skip-wheel --sdist-dir dist
87
94
  - uses: actions/upload-artifact@v4
88
95
  with:
89
96
  name: sdist
90
97
  path: dist/*.tar.gz
98
+
99
+ benchmark_artifacts:
100
+ name: Benchmark artifacts
101
+ runs-on: ubuntu-latest
102
+ needs: build_sdist
103
+ steps:
104
+ - uses: actions/checkout@v4
105
+ - uses: actions/setup-python@v5
106
+ with:
107
+ python-version: "3.12"
108
+ - name: Run benchmark reports
109
+ run: |
110
+ python -m pip install -U pip
111
+ python -m pip install -e ".[dev]"
112
+ python benchmark_all.py --check-thresholds
113
+ python benchmarks/bench_matmul.py
114
+ - uses: actions/upload-artifact@v4
115
+ with:
116
+ name: benchmark-reports
117
+ path: |
118
+ benchmarks/results.md
119
+ benchmarks/results_matmul.md
@@ -2,6 +2,23 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 1.13.0 - 2026-07-07
6
+
7
+ - Completed the ordered Packaging, CI, And Release Quality roadmap section as
8
+ one release batch.
9
+ - Added `tools/verify_artifacts.py` for clean wheel and sdist install smoke
10
+ tests in isolated virtual environments.
11
+ - Expanded CI with cross-platform wheel/sdist artifact smoke jobs on Windows,
12
+ Linux, and macOS.
13
+ - Hardened wheel, TestPyPI, and PyPI workflows with clean artifact verification
14
+ before upload.
15
+ - Added benchmark report artifacts to release workflows.
16
+ - Added GitHub Pages docs publishing automation with strict MkDocs builds.
17
+ - Expanded macOS wheel coverage to include universal2 builds where supported by
18
+ cibuildwheel.
19
+ - Added native ABI, wheel-tag, source-build, BLAS, and platform compatibility
20
+ documentation.
21
+
5
22
  ## 1.12.0 - 2026-07-07
6
23
 
7
24
  - Completed the ordered Serialization And Interchange roadmap section as one
@@ -1,6 +1,6 @@
1
1
  cmake_minimum_required(VERSION 3.18)
2
2
 
3
- project(tensorstudio VERSION 1.12.0 LANGUAGES CXX)
3
+ project(tensorstudio VERSION 1.13.0 LANGUAGES CXX)
4
4
 
5
5
  find_package(Python COMPONENTS Interpreter Development.Module REQUIRED)
6
6
  set(PYBIND11_FINDPYTHON ON)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: tensorstudio
3
- Version: 1.12.0
3
+ Version: 1.13.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
@@ -76,7 +76,7 @@ Description-Content-Type: text/markdown
76
76
  TensorStudio is a compact C++ tensor and autograd engine with a Python API for
77
77
  learning, experimentation, and lightweight ML workloads.
78
78
 
79
- TensorStudio `1.12.0` is a CPU-only stable API foundation with native C++
79
+ TensorStudio `1.13.0` is a CPU-only stable API foundation with native C++
80
80
  threading, storage reuse, SIMD-friendly typed kernels, and optional
81
81
  CBLAS/Accelerate matrix multiplication when available. It adds native stable
82
82
  softmax/logsumexp, batched matrix multiplication, statistical reductions,
@@ -324,7 +324,7 @@ classification workflows: Pillow-backed image IO, transform pipelines,
324
324
  deterministic augmentations, `ImageFolder` datasets, metrics, image grids,
325
325
  bounding-box drawing, and compact CNN classifiers running through native
326
326
  Conv2d/pooling kernels.
327
- The `1.12.0` vision surface includes batch-aware transforms, color jitter, random
327
+ The `1.13.0` vision surface includes batch-aware transforms, color jitter, random
328
328
  resized crop, rotation, affine transforms, cutout, mixup, CutMix, detection
329
329
  helpers, segmentation mask helpers, detection/segmentation folder datasets,
330
330
  ResNet-style blocks, MobileNet-style depthwise blocks, a compact UNet, and
@@ -451,11 +451,11 @@ Run the loose local regression thresholds with:
451
451
  python benchmark_all.py --check-thresholds
452
452
  ```
453
453
 
454
- On one Windows CPython 3.10 development run reporting `1.12.0`, with
454
+ On one Windows CPython 3.10 development run reporting `1.13.0`, with
455
455
  TensorStudio threads enabled, storage pooling enabled, SSE2 autovectorization
456
- reported, and no BLAS provider found, TensorStudio beat NumPy on 6 local
457
- benchmark cases and lost on 97 NumPy-comparable cases. JAX CPU dispatch was
458
- available on that machine; TensorStudio won 39 local cases and lost 59. The
456
+ reported, and no BLAS provider found, TensorStudio beat NumPy on 8 local
457
+ benchmark cases and lost on 95 NumPy-comparable cases. JAX CPU dispatch was
458
+ available on that machine; TensorStudio won 51 local cases and lost 47. The
459
459
  strongest local wins were the simple NumPy convolution/pooling reference loops
460
460
  and some small JAX-dispatch-heavy eager cases. NumPy and JAX were faster for
461
461
  many elementwise, reduction, matrix multiplication, larger activation, and
@@ -467,15 +467,15 @@ Snapshot from that local run:
467
467
 
468
468
  | operation | shape | TensorStudio | NumPy | JAX CPU dispatch | TS vs NumPy | TS vs JAX |
469
469
  |---|---:|---:|---:|---:|---:|---:|
470
- | `sigmoid` | `(32,)` | 0.0149 ms | 0.0044 ms | 0.0753 ms | 0.2933x | 5.0713x |
471
- | `mean` | `(32,)` | 0.0154 ms | 0.0080 ms | 0.0122 ms | 0.5173x | 0.7927x |
472
- | `sum_axis1` | `(16, 16)` | 0.0160 ms | 0.0030 ms | 0.0131 ms | 0.1891x | 0.8180x |
473
- | `chain_relu` | `(128,)` | 0.0849 ms | 0.0055 ms | 0.0877 ms | 0.0651x | 1.0335x |
474
- | `matmul` | `(256, 256)` | 2.3427 ms | 0.4332 ms | 0.2482 ms | 0.1849x | 0.1060x |
475
- | `conv2d_3x3_padding1` | `(1, 1, 8, 8)` | 0.1983 ms | 1.2565 ms | 0.0997 ms | 6.3378x | 0.5029x |
476
- | `max_pool2d_2x2` | `(1, 1, 16, 16)` | 0.0275 ms | 0.1678 ms | n/a | 6.0918x | n/a |
477
- | `avg_pool2d_2x2` | `(1, 1, 16, 16)` | 0.0275 ms | 0.5499 ms | n/a | 20.0031x | n/a |
478
- | `elementwise_backward` | `(1024,)` | 2.7782 ms | n/a | n/a | n/a | n/a |
470
+ | `sigmoid` | `(32,)` | 0.0156 ms | 0.0048 ms | 0.0803 ms | 0.3067x | 5.1476x |
471
+ | `mean` | `(32,)` | 0.0158 ms | 0.0091 ms | 0.0124 ms | 0.5738x | 0.7857x |
472
+ | `sum_axis1` | `(16, 16)` | 0.0162 ms | 0.0028 ms | 0.0125 ms | 0.1725x | 0.7724x |
473
+ | `chain_relu` | `(128,)` | 0.0873 ms | 0.0058 ms | 0.0976 ms | 0.0663x | 1.1173x |
474
+ | `matmul` | `(256, 256)` | 2.5256 ms | 0.4482 ms | 0.2533 ms | 0.1775x | 0.1003x |
475
+ | `conv2d_3x3_padding1` | `(1, 1, 8, 8)` | 0.1924 ms | 1.5425 ms | 0.1282 ms | 8.0171x | 0.6665x |
476
+ | `max_pool2d_2x2` | `(1, 1, 16, 16)` | 0.0284 ms | 0.1697 ms | n/a | 5.9745x | n/a |
477
+ | `avg_pool2d_2x2` | `(1, 1, 16, 16)` | 0.0270 ms | 0.5957 ms | n/a | 22.0918x | n/a |
478
+ | `elementwise_backward` | `(1024,)` | 2.8153 ms | n/a | n/a | n/a | n/a |
479
479
 
480
480
  Speedup is `competitor median / TensorStudio median`, so values above `1.0x`
481
481
  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 `1.12.0` is a CPU-only stable API foundation with native C++
10
+ TensorStudio `1.13.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,
@@ -255,7 +255,7 @@ classification workflows: Pillow-backed image IO, transform pipelines,
255
255
  deterministic augmentations, `ImageFolder` datasets, metrics, image grids,
256
256
  bounding-box drawing, and compact CNN classifiers running through native
257
257
  Conv2d/pooling kernels.
258
- The `1.12.0` vision surface includes batch-aware transforms, color jitter, random
258
+ The `1.13.0` vision surface includes batch-aware transforms, color jitter, random
259
259
  resized crop, rotation, affine transforms, cutout, mixup, CutMix, detection
260
260
  helpers, segmentation mask helpers, detection/segmentation folder datasets,
261
261
  ResNet-style blocks, MobileNet-style depthwise blocks, a compact UNet, and
@@ -382,11 +382,11 @@ Run the loose local regression thresholds with:
382
382
  python benchmark_all.py --check-thresholds
383
383
  ```
384
384
 
385
- On one Windows CPython 3.10 development run reporting `1.12.0`, with
385
+ On one Windows CPython 3.10 development run reporting `1.13.0`, with
386
386
  TensorStudio threads enabled, storage pooling enabled, SSE2 autovectorization
387
- reported, and no BLAS provider found, TensorStudio beat NumPy on 6 local
388
- benchmark cases and lost on 97 NumPy-comparable cases. JAX CPU dispatch was
389
- available on that machine; TensorStudio won 39 local cases and lost 59. The
387
+ reported, and no BLAS provider found, TensorStudio beat NumPy on 8 local
388
+ benchmark cases and lost on 95 NumPy-comparable cases. JAX CPU dispatch was
389
+ available on that machine; TensorStudio won 51 local cases and lost 47. The
390
390
  strongest local wins were the simple NumPy convolution/pooling reference loops
391
391
  and some small JAX-dispatch-heavy eager cases. NumPy and JAX were faster for
392
392
  many elementwise, reduction, matrix multiplication, larger activation, and
@@ -398,15 +398,15 @@ Snapshot from that local run:
398
398
 
399
399
  | operation | shape | TensorStudio | NumPy | JAX CPU dispatch | TS vs NumPy | TS vs JAX |
400
400
  |---|---:|---:|---:|---:|---:|---:|
401
- | `sigmoid` | `(32,)` | 0.0149 ms | 0.0044 ms | 0.0753 ms | 0.2933x | 5.0713x |
402
- | `mean` | `(32,)` | 0.0154 ms | 0.0080 ms | 0.0122 ms | 0.5173x | 0.7927x |
403
- | `sum_axis1` | `(16, 16)` | 0.0160 ms | 0.0030 ms | 0.0131 ms | 0.1891x | 0.8180x |
404
- | `chain_relu` | `(128,)` | 0.0849 ms | 0.0055 ms | 0.0877 ms | 0.0651x | 1.0335x |
405
- | `matmul` | `(256, 256)` | 2.3427 ms | 0.4332 ms | 0.2482 ms | 0.1849x | 0.1060x |
406
- | `conv2d_3x3_padding1` | `(1, 1, 8, 8)` | 0.1983 ms | 1.2565 ms | 0.0997 ms | 6.3378x | 0.5029x |
407
- | `max_pool2d_2x2` | `(1, 1, 16, 16)` | 0.0275 ms | 0.1678 ms | n/a | 6.0918x | n/a |
408
- | `avg_pool2d_2x2` | `(1, 1, 16, 16)` | 0.0275 ms | 0.5499 ms | n/a | 20.0031x | n/a |
409
- | `elementwise_backward` | `(1024,)` | 2.7782 ms | n/a | n/a | n/a | n/a |
401
+ | `sigmoid` | `(32,)` | 0.0156 ms | 0.0048 ms | 0.0803 ms | 0.3067x | 5.1476x |
402
+ | `mean` | `(32,)` | 0.0158 ms | 0.0091 ms | 0.0124 ms | 0.5738x | 0.7857x |
403
+ | `sum_axis1` | `(16, 16)` | 0.0162 ms | 0.0028 ms | 0.0125 ms | 0.1725x | 0.7724x |
404
+ | `chain_relu` | `(128,)` | 0.0873 ms | 0.0058 ms | 0.0976 ms | 0.0663x | 1.1173x |
405
+ | `matmul` | `(256, 256)` | 2.5256 ms | 0.4482 ms | 0.2533 ms | 0.1775x | 0.1003x |
406
+ | `conv2d_3x3_padding1` | `(1, 1, 8, 8)` | 0.1924 ms | 1.5425 ms | 0.1282 ms | 8.0171x | 0.6665x |
407
+ | `max_pool2d_2x2` | `(1, 1, 16, 16)` | 0.0284 ms | 0.1697 ms | n/a | 5.9745x | n/a |
408
+ | `avg_pool2d_2x2` | `(1, 1, 16, 16)` | 0.0270 ms | 0.5957 ms | n/a | 22.0918x | n/a |
409
+ | `elementwise_backward` | `(1024,)` | 2.8153 ms | n/a | n/a | n/a | n/a |
410
410
 
411
411
  Speedup is `competitor median / TensorStudio median`, so values above `1.0x`
412
412
  favor TensorStudio.