* Fix panic messages being invisible in tui mode
Currently when a panic happens the message gets printed to the alternate screen which gets erased after the terminal is reset to raw mode in the TuiMetricsRenderer drop code.
That leaves users unable to see the panic message (issue #2062).
This commit changes TuiMetricsRenderer to reset the terminal first during a panic and then running the panic handler.
* Use PanicInfo to support Rust version < 1.82
* Fix ONNX where op dim_inference for scalar inputs
* Rewrite ONNX Where codegen to support scalars
* ONNX Where: Add tests for all_scalar inputs
---------
Co-authored-by: Guillaume Lagrange <lagrange.guillaume.1@gmail.com>
* Nonzero should return an empty vec for zero tensors
* Add nonzero empty test
* Add missing import
---------
Co-authored-by: Nathaniel Simard <nathaniel.simard.42@gmail.com>
This fixes the compile error when burn is compiled with only the `dataset` and `vision` feature enabled
burn = { default-features = false, features = ["dataset", "vision"] }
Ratatui asserts that gauges don't have a progress greater than 1.0
This can happen if a dataset reports a lower len() than it actually provides.
This change prevents a panic when the `Progress::items_processed` is greater than the `Progress::items_total`
* Rename CI workflow back to test.yml
* Static job names in test workflow
This allows to have static status check names
* Remove need for a cache-version matrix variable
- Calculate result of broadcasting in dim_inference
- keep Shape info when converting from Argument to TensorType
- Remove a few sources of Dim = 0 Tensors, create Scalars instead
- Clean up dim_inference a bit
* Fix target convert in batcher
* Align hidden code in training and update loss to use config
* Align imports with example
* Remove unused import and fix guide->crate
* Migrate to xtask-common crate
* Fix example crate name for simple-regression
* Refactor CI workflows
* Flatten linux workflows
* Install grcov and typos from binaries
Although xtask-common support auto-installation of these tools via cargo
it is a lot faster to install them via the distributed binaries
* [CI] Update Rust caches on failure
* [CI] Add shell bash to jobs steps
* [CI] Try cache all crates
* Fix no-std tests not executing
* [CI] Add CARGO_INCREMENTAL 0
* Exclude tch and cuda from tests and merge crates and examples steps
* Fix some typos found with typos cli
* Add Windows and MacOS jobs
* Only test no-std with default rust target
* Fix syntax in composite action setup-windows
* Enable incremental build
* Upate cargo alias for xtask
* Bump to github action checkout v4
* Revert to tch 0.15 and disable WGPU on windows
* Fix color in output
* Add Test command
* Test long output errorring
* Build and test workspace before additional builds and tests
* Disable wgpu tests on windows
* Remove tests- prefix in CI workflow jobs name
* Add Checks command
* Rename ci workflow jobs
* Execute windows and macos CI tests on rust stable only
* Rename integration test files with a test_ prefix
* Fix format
* Don't auto-correct "arange" with typos
* Fix typos in code
* Merge unit and integration tests steps
* Fix macos tests
* Fix coverage step
* Name publish-crate workflow
* Fix bad cache name for macos
* Reorganize commands and get rid of the ci command
* Fix dispatch to customized commands for Burn
* Update to last version of tracel-xtask
* Remove unnecessary shell bash in ci workflow
* Update cargo.lock
* Fix format
* Bump tracel-xtask
* Simplify dispatch of base commands using updated macro
* Update to last version of tracel-xtask
* Adapt legacy run_checks script with new xtask commands
* Run xtask in debug for faster compilation time
* Ditch build step in ci and enable coverage for stable linux only
* Freeze tracel-xtask to specific commit rev
* Update cargo.lock
* Update Step 6 of CONTRIBUTING guidelines about run-checks script
* Remove unneeded CI and CD paragraphgs in CONRIBUTING.md
* Change cache version
* Fix typos
* Use centralized actions and workflows
* Update to last version of tracel-xtask
* Update CONTRIBUTING file to mention integration tests
* Add custom build for thumbv6m-none-eabi
* Ignore onnx files for typos check
* Fix action and workflow paths in github workflows
* Fix custom builds on MacOS
* Bump tracel-xtask crate to last version
* Update Cargo.lock
* Update publish workflow to use reusable workflow in tracel repo
* Add --ci flag for build and test commands
* implemented muli-dim index for GatherNode
The `NodeCodegen` impl for `GatherNode` now performs gather in complete
accordance with the ONNX Gather spec.
- a `gather` function was added to the gather.rs file
- `gather()` is now called within the codegen instead of `tensor.select()`
- a test with two test cases have been added
- test axes 0 and 1
- both use 2D index tensors
* add gather_onnx to numeric api
Added int and float implementations of gather to the burn-tensor numeric
api:
- named the methods `gather_onnx` to not be confused with the current
`gather`
- these implementations follow the `Gather` ONNX spec
Updated the gather*.py variants and their onnx outputs
* modified files didn't end up in last commit
* tests passing for onnx gather
The implementation of gather for the ONNX `Gather` spec is tentatively
complete:
- py test models are updated
- onnx_tests are modified and passing: `gather`, `gather_scalar`, and
`gather_shape`
- node/gather tests are passing
NOTE: The two additional tests in crates/burn-import/src/burn/node/gather.rs that test
the actual functionality of gather are likely to be deleted, since they
are redundant to the tests in
crates/burn-import/onnx-tests/tests/onnx_tests.rs.
* inlined onnx gather within codegen
* rm gather_onnx from public api; rm unnecessary tests
* add comments to gather py models
* some codegen changes; formatting to appease run-checks
- Some necessary changes and improvements to the codegen inlined code
after translating from public api (removed in previous commit).
- Changed some formatting that run-checks complained about.
* simplify gather codegen; include 1d and 2d onnx tests
Modified the `Gather` codegen per requested changes:
- combined match statements on index
- remove use of `alloc::vec::Vec`
- use map -> collect instead of procedural
- include a 1d index gather onnx test
- remove superflous tests
* delete unused gather.onnx