[Feature] SAC compatibility with composite distributions.
Description
This PR adapts the SAC objective to be compatible with composite distributions.
DiscreteSAC seems a little bit more tricky, as it requires computing the log probabilities of all possible actions. In the case of composite distributions this might mean the probabilities of all combinations of actions.
Motivation and Context
Why is this change required? What problem does it solve?
If it fixes an open issue, please link to the issue here.
You can use the syntax close #15213 if this solves the issue #15213
- [ ] I have raised an issue to propose this change (required for new features and bug fixes)
Types of changes
What types of changes does your code introduce? Remove all that do not apply:
- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds core functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
- [ ] Documentation (update in the documentation)
- [ ] Example (update in the folder of examples)
Checklist
Go over all the following points, and put an x in all the boxes that apply.
If you are unsure about any of these, don't hesitate to ask. We are here to help!
- [ ] I have read the CONTRIBUTION guide (required)
- [ ] My change requires a change to the documentation.
- [ ] I have updated the tests accordingly (required for a bug fix or a new feature).
- [ ] I have updated the documentation accordingly.
:link: Helpful Links
:test_tube: See artifacts and rendered test results at hud.pytorch.org/pr/pytorch/rl/2447
- :page_facing_up: Preview Python docs built from this PR
Note: Links to docs will display an error until the docs builds have been completed.
:x: 12 New Failures, 7 Unrelated Failures
As of commit 53ba3715279dc684cf58276ee7568c9ba42c70c7 with merge base f411f932e1ceec4c3ab524e84836a9f660e7865b ():
NEW FAILURES - The following jobs have failed:
- Continuous Benchmark (PR) / CPU Pytest benchmark (gh)
/home/runner/work/_temp/c86bd8ef-c8cd-4daf-a072-483ebbf48a64.sh: line 5: 2083 Bus error (core dumped) $RUN_BENCHMARK /tmp/tmp.OoQCxxnhhD - Continuous Benchmark (PR) / GPU Pytest benchmark (gh)
Process completed with exit code 135. - Continuous Benchmark / CPU Pytest benchmark (gh)
##[error]Process completed with exit code 135. - Habitat Tests on Linux / tests (3.9, 12.1) / linux-job (gh)
RuntimeError: Command docker exec -t 02d4594e1efe06710b3b83683844631d7e110cae6af0e0ae607209f29f61b862 /exec failed with exit code 134 - Unit-tests on Linux / tests-cpu (3.10) / linux-job (gh)
RuntimeError: Command docker exec -t 6521d5a192ddfe0a2c6c9aed3e2fd0c19914f988a8bdb063ea9fb5cf1a2b0017 /exec failed with exit code 1 - Unit-tests on Linux / tests-cpu (3.11) / linux-job (gh)
RuntimeError: Command docker exec -t 2c91baf0aa1bc8342cc9dcfa660689dc0ade546141375dcf91243a35371bdd13 /exec failed with exit code 1 - Unit-tests on Linux / tests-cpu (3.12) / linux-job (gh)
RuntimeError: Command docker exec -t 73c878c590147c7b42e356ac87a9b5ad21074741242bd80c277856f6b92b7f1d /exec failed with exit code 1 - Unit-tests on Linux / tests-cpu (3.9) / linux-job (gh)
RuntimeError: Command docker exec -t 3662c0816bbf1203cd39c205aae1ebf03134266e35da40571171fc4e0c2436bf /exec failed with exit code 1 - Unit-tests on Linux / tests-cpu-oldget (3.12) / linux-job (gh)
RuntimeError: Command docker exec -t 8b83084a536f43f53aae0b29562bdb03dbee86f0b3813da0f0da93221230dc4c /exec failed with exit code 1 - Unit-tests on Linux / tests-gpu (3.11, 12.1) / linux-job (gh)
RuntimeError: Command docker exec -t 5240947f34dc66839e0485c8ce2ec3a818d9bb7b3704bc03d942b71d27a02bc2 /exec failed with exit code 1 - Unit-tests on Linux / tests-optdeps (3.10, 12.1) / linux-job (gh)
RuntimeError: Command docker exec -t b831325816747b76e5b9632a812c88028ba80762ffee448f01e532cec61fe84b /exec failed with exit code 1 - Unit-tests on Linux / tests-stable-gpu (3.10, 11.8) / linux-job (gh)
RuntimeError: Command docker exec -t 59691caffc5d201a93acfa70c539ad26e631131965cbb76bdca77619ee9055de /exec failed with exit code 1
BROKEN TRUNK - The following jobs failed but were present on the merge base:
👉 Rebase onto the `viable/strict` branch to avoid these failures
- Build Windows Wheels / pytorch/rl / upload / wheel-py3_9-cpu (gh) (trunk failure)
##[error]Unable to find any artifacts for the associated workflow - Build Windows Wheels / pytorch/rl / upload / wheel-py3_9-cuda11_8 (gh) (trunk failure)
##[error]Unable to find any artifacts for the associated workflow - Build Windows Wheels / pytorch/rl / upload / wheel-py3_9-cuda12_1 (gh) (trunk failure)
##[error]Unable to find any artifacts for the associated workflow - Build Windows Wheels / pytorch/rl / upload / wheel-py3_9-cuda12_4 (gh) (trunk failure)
##[error]Unable to find any artifacts for the associated workflow - Continuous Benchmark / GPU Pytest benchmark (gh) (trunk failure)
Fatal Python error: Fatal Python error: Fatal Python error: Fatal Python error: Bus errorBus errorBus error - Unit-tests on Linux / tests-olddeps (3.8, 11.6) / linux-job (gh) (trunk failure)
test/test_tensordictmodules.py::TestGRUModule::test_gru_vmap_complex_model - Unit-tests on Windows / unittests-cpu / windows-job (gh) (trunk failure)
RuntimeError: Compiler: cl is not found.
This comment was automatically generated by Dr. CI and updates every 15 minutes.