Troubleshooting
The list below contains the most common issues that you might encounter while using the platform. If you can't find a solution to your problem, please contact our support team.
KeyError: 'COMPOSABL_LICENSE'
This error occurs when the COMPOSABL_LICENSE
environment variable is not set. To resolve this issue, you need to set the COMPOSABL_LICENSE
environment variable to your license key.
export COMPOSABL_LICENSE=your_license_key
ImportError: No module named 'composabl'
This error occurs when the composabl
package is not installed. To resolve this issue, you need to install the composabl
package.
pip install composabl
Rollout fragment length is too slow, please set it manually through trainer.rollout_fragment_length and retry
Rollout Fragments are the amount of samples a worker has to get before processing them for training. If it is too slow, you can either:
- Reduce the amount of samples through
rollout_fragment_length
parameter. - Increase the timeout for the workers to fetch the samples through the
sample_timeout_s
parameter.
config = {
"trainer": {
"rollout_fragment_length": 1000,
"sample_timeout_s": 30
}
}
How can I determine the num_envs_per_env_runner
?
Composabl is based on Ray, which uses env runners for data collection from the simulators. In the case of Composabl however, the actual simulators are not in the actual env runners as simulators are complex, have their own dependencies and need to be serialized correctly. That's why simulators are running in their own Containers scaled across Pods in Kubernetes.
For scalability on Ray, we thus have very tiny and lightweight env_runners
as they only take care of communication between the simulators. Therefore, we recommend the num_envs_per_env_runner
to be set to the amount of CPUs available on the machine.
E.g., if you have a 8-core machine, we recommend num_envs_per_env_runner
to be set to 8
The only bottleneck to take into account here is the actual Disk and Network I/O as it's gathering the samples from the simulators.