hyperdrone 0.1.0__py3-none-any.whl
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.
- hyperdrone/__init__.py +28 -0
- hyperdrone/_native/cmake/hyperdrone_jit.cmake +43 -0
- hyperdrone/_native/common/bindings.h +39 -0
- hyperdrone/_native/common/cuda_staging.h +68 -0
- hyperdrone/_native/common/jit_host.h +69 -0
- hyperdrone/_native/dynamics/CMakeLists.txt +66 -0
- hyperdrone/_native/dynamics/host.cpp +191 -0
- hyperdrone/_native/dynamics/iface.h +81 -0
- hyperdrone/_native/dynamics/impl.cpp +659 -0
- hyperdrone/_native/render/CMakeLists.txt +96 -0
- hyperdrone/_native/render/host.cpp +276 -0
- hyperdrone/_native/render/iface.h +132 -0
- hyperdrone/_native/render/impl.cpp +620 -0
- hyperdrone/_native/render/scene_bindings.cpp +279 -0
- hyperdrone/_vendor/rl-tools/CMakeLists.txt +159 -0
- hyperdrone/_vendor/rl-tools/LICENSE +21 -0
- hyperdrone/_vendor/rl-tools/cmake/autodetect/all.cmake +14 -0
- hyperdrone/_vendor/rl-tools/cmake/autodetect/git-diff.cmake +103 -0
- hyperdrone/_vendor/rl-tools/cmake/autodetect/git-hash.cmake +13 -0
- hyperdrone/_vendor/rl-tools/cmake/autodetect/tier1-blas.cmake +43 -0
- hyperdrone/_vendor/rl-tools/cmake/autodetect/tier2-json-hdf5-zlib.cmake +84 -0
- hyperdrone/_vendor/rl-tools/cmake/autodetect/tier3-tensorboard.cmake +29 -0
- hyperdrone/_vendor/rl-tools/cmake/autodetect/tier4-cuda.cmake +33 -0
- hyperdrone/_vendor/rl-tools/cmake/autodetect/tier5-cli11.cmake +26 -0
- hyperdrone/_vendor/rl-tools/cmake/optional/assimp_fixup.cmake +16 -0
- hyperdrone/_vendor/rl-tools/cmake/optional/googletest.cmake +17 -0
- hyperdrone/_vendor/rl-tools/cmake/optional/metal.cmake +27 -0
- hyperdrone/_vendor/rl-tools/cmake/optional/mujoco.cmake +32 -0
- hyperdrone/_vendor/rl-tools/cmake/optional/optix.cmake +17 -0
- hyperdrone/_vendor/rl-tools/cmake/optional/raytracing_generic.cmake +4 -0
- hyperdrone/_vendor/rl-tools/cmake/optional/vulkan.cmake +6 -0
- hyperdrone/_vendor/rl-tools/cmake/scripts/embed_text.cmake +7 -0
- hyperdrone/_vendor/rl-tools/cmake/scripts/generate-git-snapshot.cmake +138 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/matrix.h +143 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_arm.h +33 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_cpu.h +314 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_cpu_accelerate.h +37 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_cpu_blas.h +67 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_cpu_mkl.h +38 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_cpu_openblas.h +34 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_cuda.h +289 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_dummy.h +20 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_esp32.h +29 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_generic.h +946 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_wasm32.h +13 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/persist_code.h +136 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_arm.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_cpu.h +94 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_cpu_accelerate.h +25 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_cpu_blas.h +115 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_cpu_mkl.h +25 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_cpu_openblas.h +25 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_cuda.h +703 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_generic.h +1334 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/persist_code.h +130 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/tensor.h +490 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/arm.h +91 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cpu.h +205 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cpu_accelerate.h +23 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cpu_blas.h +21 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cpu_mkl.h +45 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cpu_openblas.h +56 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cpu_tensorboard.h +34 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cuda.h +411 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/devices.h +92 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/dummy.h +55 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/esp32.h +85 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/generic.h +0 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/wasm32.h +59 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/dyn/model.h +218 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/dyn/operations_generic.h +771 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/dyn/persist.h +278 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/dyn/policy_adapter.h +100 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/dyn/policy_adapter_persist.h +52 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/dyn/tensor_operations_generic.h +55 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/applications/l2f/c_backend.h +112 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/applications/l2f/c_interface.h +36 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/applications/l2f/l2f.h +98 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/applications/l2f/operations_dyn.h +18 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/applications/l2f/operations_generic.h +268 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/debugging_pool/c_backend.h +31 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/debugging_pool/c_interface.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/executor/c_backend.h +98 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/executor/c_interface.h +50 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/executor/executor.h +133 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/executor/helper.h +109 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/executor/operations_generic.h +219 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/logging/operations_arduino.h +117 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/logging/operations_arm.h +56 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/logging/operations_cpu.h +93 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/logging/operations_cpu_tensorboard.h +151 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/logging/operations_cuda.h +65 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/logging/operations_dummy.h +45 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/logging/operations_wasm32.h +56 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/math/operations_arm.h +98 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/math/operations_cpu.h +139 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/math/operations_cuda.h +382 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/math/operations_dummy.h +93 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/math/operations_esp32.h +92 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/math/operations_generic.h +297 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/math/operations_wasm32.h +225 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/mode/mode.h +75 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/activation_functions.h +115 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/capability/capability.h +63 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/capability/persist_code.h +27 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/avg_pool2d/layer.h +122 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/avg_pool2d/operations_cuda.h +64 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/avg_pool2d/operations_generic.h +184 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/avg_pool2d/persist.h +33 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/conv2d/layer.h +300 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/conv2d/operations_cpu_mkl.h +590 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/conv2d/operations_cuda.h +739 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/conv2d/operations_generic.h +1185 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/conv2d/persist.h +99 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/conv2d/persist_code.h +170 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/layer.h +145 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_arm/dsp.h +63 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_arm/opt.h +173 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_cpu.h +13 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_cpu_accelerate.h +66 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_cpu_blas.h +282 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_cpu_mkl.h +66 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_cpu_openblas.h +65 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_cuda.h +519 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_dummy.h +8 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_esp32/dsp.h +58 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_esp32/opt.h +167 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_generic.h +421 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/persist.h +62 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/persist_code.h +178 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/persist_common.h +55 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dynamic_conv2d/layer.h +188 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dynamic_conv2d/operations_cuda.h +356 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dynamic_conv2d/operations_generic.h +534 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dynamic_conv2d/persist.h +32 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/embedding/layer.h +119 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/embedding/operations_generic.h +217 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/embedding/persist.h +46 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/flatten/layer.h +121 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/flatten/operations_generic.h +152 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/flatten/persist.h +44 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/flatten/persist_code.h +106 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/gru/helper_operations_cuda.h +375 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/gru/helper_operations_generic.h +158 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/gru/layer.h +218 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/gru/operations_generic.h +947 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/gru/persist.h +75 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/gru/persist_code.h +199 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/layers.h +3 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/max_pool2d/layer.h +143 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/max_pool2d/operations_cuda.h +80 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/max_pool2d/operations_generic.h +214 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/max_pool2d/persist.h +39 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_cpu.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_cpu_accelerate.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_cpu_blas.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_cpu_mkl.h +3 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_cpu_openblas.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_cuda.h +9 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_dummy.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_generic.h +3 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/resnet_block/layer.h +223 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/resnet_block/operations_cuda.h +138 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/resnet_block/operations_generic.h +428 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/resnet_block/persist.h +70 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/sample_and_squash/layer.h +154 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/sample_and_squash/operations_cuda.h +119 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/sample_and_squash/operations_generic.h +494 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/sample_and_squash/persist.h +50 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/sample_and_squash/persist_code.h +173 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/standardize/layer.h +116 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/standardize/operations_cuda.h +156 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/standardize/operations_generic.h +291 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/standardize/persist.h +83 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/standardize/persist_code.h +163 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/td3_sampling/layer.h +123 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/td3_sampling/operations_generic.h +268 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/td3_sampling/persist.h +17 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/td3_sampling/persist_code.h +164 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/unflatten/layer.h +122 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/unflatten/operations_cuda.h +55 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/unflatten/operations_generic.h +158 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/unflatten/persist.h +47 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/unflatten/persist_code.h +106 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/upsample2d/layer.h +132 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/upsample2d/operations_cuda.h +141 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/upsample2d/operations_generic.h +228 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/loss_functions/categorical_cross_entropy/operations_generic.h +102 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/loss_functions/mse/operations_cuda.h +97 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/loss_functions/mse/operations_generic.h +101 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/loss_functions/operations_generic.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/nn.h +16 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_cpu.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_cpu_accelerate.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_cpu_blas.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_cpu_mkl.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_cpu_mux.h +16 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_cpu_openblas.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_cuda.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_dummy.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_generic.h +17 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/adam.h +120 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/instance/operations_cuda.h +90 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/instance/operations_generic.h +144 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/instance/persist.h +39 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/instance/persist_code.h +79 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/operations_cuda.h +72 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/operations_generic.h +102 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/persist.h +25 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/lamb/instance/operations_generic.h +101 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/lamb/lamb.h +40 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/lamb/operations_generic.h +61 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/optimizers.h +3 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/sgd/instance/operations_cuda.h +77 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/sgd/instance/operations_generic.h +134 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/sgd/instance/persist.h +37 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/sgd/instance/persist_code.h +71 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/sgd/operations_cuda.h +40 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/sgd/operations_generic.h +43 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/sgd/sgd.h +91 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/parameters/operations_cuda.h +0 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/parameters/operations_generic.h +90 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/parameters/parameters.h +78 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/parameters/persist.h +34 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/parameters/persist_code.h +133 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/persist.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/persist_code.h +27 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp/network.h +174 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp/operations_cuda.h +10 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp/operations_dummy.h +8 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp/operations_generic.h +381 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp/persist.h +56 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp/persist_code.h +137 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp_unconditional_stddev/network.h +45 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp_unconditional_stddev/operations_generic.h +76 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp_unconditional_stddev/persist.h +43 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp_unconditional_stddev/persist_code.h +135 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/models.h +3 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/multi_agent_wrapper/model.h +148 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/multi_agent_wrapper/operations_generic.h +280 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/multi_agent_wrapper/persist.h +25 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/multi_agent_wrapper/persist_code.h +71 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/operations_cpu.h +0 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/operations_cuda.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/operations_dummy.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/operations_generic.h +6 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/parallel/model.h +276 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/parallel/operations_cuda.h +165 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/parallel/operations_generic.h +571 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/parallel/persist.h +80 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/parallel/persist_code.h +196 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/persist.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/persist_code.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/random_uniform/model.h +43 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/random_uniform/operations_generic.h +73 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/resnet/resnet.h +97 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/sequential/model.h +256 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/sequential/operations_generic.h +564 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/sequential/persist.h +99 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/sequential/persist_code.h +107 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/numeric_types/bf16.h +28 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/numeric_types/categories.h +22 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/numeric_types/persist_code.h +54 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/numeric_types/policy.h +48 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/arm/group_1.h +18 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/arm/group_2.h +14 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/arm/group_3.h +14 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/arm.h +19 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu/group_1.h +16 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu/group_2.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu/group_3.h +15 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu.h +19 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_accelerate/group_1.h +16 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_accelerate/group_2.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_accelerate/group_3.h +15 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_accelerate.h +19 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_mkl/group_1.h +17 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_mkl/group_2.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_mkl/group_3.h +15 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_mkl.h +18 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_mux.h +148 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_openblas/group_1.h +16 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_openblas/group_2.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_openblas/group_3.h +15 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_openblas.h +18 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_tensorboard/group_1.h +16 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_tensorboard/group_2.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_tensorboard/group_3.h +15 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_tensorboard.h +19 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cuda/group_1.h +18 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cuda/group_2.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cuda/group_3.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cuda.h +19 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/dummy/group_1.h +15 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/dummy/group_2.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/dummy/group_3.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/dummy.h +19 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/esp32/group_1.h +16 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/esp32/group_2.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/esp32/group_3.h +13 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/esp32.h +19 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/wasm32/group_1.h +15 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/wasm32/group_2.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/wasm32/group_3.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/wasm32.h +19 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/persist/backends/hdf5/hdf5.h +54 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/persist/backends/hdf5/operations_cpu.h +419 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/persist/backends/tar/io.h +55 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/persist/backends/tar/operations_cpu.h +58 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/persist/backends/tar/operations_generic.h +620 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/persist/backends/tar/operations_posix.h +63 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/persist/backends/tar/tar.h +74 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/persist/code.h +38 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_arm.h +39 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_cpu.h +61 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_cuda.h +164 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_dummy.h +72 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_esp32.h +45 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_generic.h +133 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_generic_array.h +64 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_wasm32.h +57 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/random/persist.h +77 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/README.md +149 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/generic/operations_cpu.h +768 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/generic/operations_generic.h +1173 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/metal/context.h +177 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/metal/device_source.h +17 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/metal/operations_cpu.h +1122 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/optix/device.h +212 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/optix/device_impl.h +934 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/optix/operations_cuda.h +1678 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/optix/overlay_accel.h +57 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/vulkan/context.h +220 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/vulkan/device_source.h +40 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/vulkan/operations_cpu.h +1967 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/operations_cpu_common.h +1986 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/operations_cpu_mux.h +19 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/renderer.h +376 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/scene/procthor/operations_cpu.h +226 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/scene/procthor/scene.h +25 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/scene/scene.h +31 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/scene.h +107 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/transforms_generic.h +159 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/types.h +39 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/algorithms.h +6 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/operations_cpu.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/operations_cpu_mkl.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/operations_generic.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/loop/core/config.h +240 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/loop/core/operations_cuda.h +62 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/loop/core/operations_generic.h +245 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/loop/core/persist.h +102 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/loop/core/state.h +52 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/operations_cuda.h +193 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/operations_generic.h +334 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/operations_generic_extensions.h +244 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/persist.h +28 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/ppo.h +105 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/loop/core/approximators_gru.h +84 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/loop/core/approximators_mlp.h +61 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/loop/core/config.h +106 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/loop/core/operations_generic.h +193 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/loop/core/state.h +52 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/operations_cpu.h +9 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/operations_cpu_accelerate.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/operations_cpu_mkl.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/operations_cpu_mux.h +9 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/operations_cuda.h +131 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/operations_generic.h +580 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/sac.h +151 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/loop/core/approximators_gru.h +72 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/loop/core/approximators_mlp.h +54 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/loop/core/config.h +107 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/loop/core/operations_generic.h +172 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/loop/core/state.h +46 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/operations_cpu.h +9 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/operations_cpu_accelerate.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/operations_cpu_mkl.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/operations_cpu_mux.h +9 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/operations_cuda.h +111 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/operations_generic.h +359 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/td3.h +141 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/components.h +4 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/off_policy_runner/off_policy_runner.h +225 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/off_policy_runner/operations_cpu.h +95 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/off_policy_runner/operations_cpu_accelerate.h +21 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/off_policy_runner/operations_cpu_mkl.h +21 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/off_policy_runner/operations_cuda.h +237 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/off_policy_runner/operations_generic.h +498 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/off_policy_runner/operations_generic_per_env.h +112 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/on_policy_runner.h +106 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/operations_cpu.h +16 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/operations_cpu_accelerate.h +28 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/operations_cpu_mkl.h +15 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/operations_cuda.h +195 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/operations_generic.h +197 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/operations_generic_extensions.h +98 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/operations_generic_per_env.h +91 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/persist.h +61 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/operations_cpu.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/operations_cpu_accelerate.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/operations_cpu_mkl.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/operations_generic.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/replay_buffer/operations_cpu.h +9 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/replay_buffer/operations_generic.h +123 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/replay_buffer/persist.h +57 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/replay_buffer/replay_buffer.h +93 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/running_normalizer/operations_generic.h +76 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/running_normalizer/persist.h +31 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/running_normalizer/running_normalizer.h +33 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environment_wrappers/operations_generic.h +58 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environment_wrappers/scale_observations/operations_generic.h +28 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environment_wrappers/scale_observations/wrapper.h +26 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environment_wrappers/wrappers.h +29 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/acrobot/acrobot.h +88 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/acrobot/operations_cpu.h +152 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/acrobot/operations_generic.h +202 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/car/car.h +119 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/car/operations_cpu.h +110 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/car/operations_generic.h +206 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/car/operations_json.h +59 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/car/track.h +23 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/car/ui.h +189 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/environments.h +28 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/flag/environment.h +87 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/flag/operations_cpu.h +212 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/flag/operations_generic.h +215 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/metrics.h +266 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/multirotor.h +1083 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_cpu.h +2119 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_cuda.h +38 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/05_state_is_nan.h +126 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/10_sample_initial_parameters.h +228 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/20_initial_state.h +189 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/30_sample_initial_state.h +276 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/35_get_desired_state.h +63 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/40_observe.h +625 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/50_state_algebra.h +57 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/60_dynamics.h +134 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/70_post_integration.h +329 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/80_abs_diff.h +290 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic.h +369 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_helper_generic.h +45 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_multitask_generic.h +72 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_multitask_generic_forward.h +26 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/default.h +202 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/arpl.h +112 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/crazyflie.h +127 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/crazyflie_openmv.h +119 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/flightmare.h +111 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/fs.h +113 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/mrs.h +110 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/soft.h +117 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/soft_rigid.h +118 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/x500_real.h +88 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/x500_sim.h +114 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/init/default.h +56 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/registry.h +90 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/reward_functions/default.h +64 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/reward_functions/reward_functions.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/reward_functions/squared/operations_generic.h +202 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/reward_functions/squared/squared.h +52 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/termination/default.h +33 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/trajectories/lissajous.h +72 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/trajectories/trajectory.h +78 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/persist_code.h +53 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/quaternion_helper.h +94 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/ui.h +180 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f_visual/multirotor_visual.h +135 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f_visual/operations_cpu.h +244 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f_visual/operations_cuda.h +180 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f_visual/operations_generic.h +149 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/memory/environment.h +69 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/memory/operations_cpu.h +46 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/memory/operations_generic.h +78 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/mujoco/ant/README.MD +5 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/mujoco/ant/ant.h +77 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/mujoco/ant/model.h +415 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/mujoco/ant/operations_cpu.h +160 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/mujoco/ant/ui.h +141 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/mujoco/mujoco.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/multi_agent/bottleneck/bottleneck.h +113 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/multi_agent/bottleneck/operations_cpu.h +289 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/multi_agent/bottleneck/operations_generic.h +495 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/multi_agent/environments.h +16 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/observation.h +37 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/operations_cpu.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/operations_generic.h +33 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/pendulum/operations_cpu.h +146 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/pendulum/operations_generic.h +262 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/pendulum/pendulum.h +197 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/pendulum/ui.h +97 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/pendulum/ui_xeus.h +124 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/reacher/operations_cpu.h +426 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/reacher/operations_generic.h +424 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/reacher/reacher.h +137 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/loop.h +15 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/checkpoint/config.h +28 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/checkpoint/operations_cpu.h +233 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/checkpoint/persist.h +30 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/checkpoint/state.h +21 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/curriculum/config.h +25 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/curriculum/operations_generic.h +47 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/curriculum/persist.h +20 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/curriculum/state.h +17 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/evaluation/config.h +47 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/evaluation/operations_generic.h +106 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/evaluation/persist.h +40 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/evaluation/state.h +36 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/extrack/config.h +22 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/extrack/operations_cpu.h +44 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/extrack/persist.h +20 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/extrack/state.h +26 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/nn_analytics/config.h +37 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/nn_analytics/operations_cpu.h +113 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/nn_analytics/persist.h +20 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/nn_analytics/state.h +24 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/save_trajectories/config.h +43 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/save_trajectories/operations_cpu.h +190 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/save_trajectories/persist.h +30 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/save_trajectories/state.h +37 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/steps.h +4 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/timing/config.h +27 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/timing/operations_cpu.h +52 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/timing/persist.h +20 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/timing/state.h +25 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/operations_generic.h +3 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/rl.h +5 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/utils/evaluation/evaluation.h +106 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/utils/evaluation/operations_cpu.h +48 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/utils/evaluation/operations_generic.h +275 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/utils/validation.h +269 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/utils/validation_analysis.h +85 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl_tools.h +37 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/ui_server/client/client.h +50 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/ui_server/client/operations_boost.h +92 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/ui_server/client/operations_cpu.h +174 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/ui_server/client/operations_websocket.h +208 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/ui_server/server.h +448 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/universe.h +4 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/declarations_cpu.h +13 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/operations_arm.h +25 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/operations_cpu.h +21 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/operations_cuda.h +25 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/operations_dummy.h +18 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/operations_esp32.h +20 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/operations_generic.h +19 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/operations_wasm32.h +18 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/env/operations_cpu.h +16 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/env/operations_generic.h +14 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/extrack/extrack.h +129 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/extrack/operations_cpu.h +588 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/generic/integrators.h +105 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/generic/memcpy.h +16 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/generic/tuple/operations_generic.h +48 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/generic/tuple/tuple.h +149 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/generic/typing.h +118 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/generic/vector_operations.h +174 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/polyak/operations_cuda.h +53 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/polyak/operations_generic.h +93 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/string/operations_generic.h +201 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/zlib/operations_cpu.h +45 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/version.h +28 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/CMakeLists.txt +15 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/CMakeLists.txt +9 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/generic/CMakeLists.txt +17 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/generic/freestanding_check.cpp +113 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/metal/CMakeLists.txt +31 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/metal/device.metal +815 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/metal/metal_cpp_impl.cpp +6 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/optix/CMakeLists.txt +51 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/optix/device.cu +1 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/optix/overlay_accel.cu +275 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/vulkan/CMakeLists.txt +37 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/vulkan/device.comp +865 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/vulkan/device_spirv.cpp +34 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/CMakeLists.txt +205 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/README.md +281 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/benchmark.cpp +175 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/benchmark_dynamic.cpp +494 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/simulator_matrix.cpp +1629 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/simulator_matrix_physics.cu +523 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/simulator_matrix_physics.h +37 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/CMakeLists.txt +164 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/antialiasing.cpp +213 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/drone.cpp +367 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/drone_device.cu +385 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/environment/environment.h +85 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/environment/operations_cpu.h +270 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/example.cpp +276 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/fixed_pose.cpp +218 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/interactive.cpp +866 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/make_drone_glb.py +172 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/motion_blur.cpp +232 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/render_pose_trace.cpp +1833 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/render_pose_trace_motion_blur.cpp +646 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/CMakeLists.txt +147 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/README.md +15 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/job.sbatch +28 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/model.h +260 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/model_config.h +24 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/model_forward_cuda.h +397 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/model_operations.h +418 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/model_persist.h +45 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/model_student.h +70 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/scene.cpp +221 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/scene.h +68 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/.build-check/inference_ios.o +0 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/.build-check/libinference_ios.a +0 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/.gitignore +4 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/CMakeLists.txt +4 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/Info.plist +24 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/Info_ios.plist +36 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/Sources/CameraManager.swift +120 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/Sources/ContentView.swift +703 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/Sources/DatasetRecorder.swift +285 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/Sources/YawPredictorApp.swift +25 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/YawPredictor.entitlements +8 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/build.sh +66 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/build_ios.sh +133 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/generate.sh +6 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/h5_to_tar.cpp +82 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/inference.cpp +166 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/inference.h +26 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/project.yml +30 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/test_tar_vs_hdf5.cpp +173 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/yaw_prediction_cuda.cu +699 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/yaw_prediction_dataset_overlay.cpp +475 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/yaw_prediction_distill_cuda.cu +995 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/yaw_prediction_eval.cu +456 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/yaw_prediction_real_world_eval.cpp +660 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/yaw_prediction_viewer.cu +445 -0
- hyperdrone/cuda/__init__.py +78 -0
- hyperdrone/dynamics/__init__.py +22 -0
- hyperdrone/dynamics/_component.py +40 -0
- hyperdrone/dynamics/_config.py +47 -0
- hyperdrone/dynamics/_sim.py +201 -0
- hyperdrone/env/__init__.py +15 -0
- hyperdrone/env/_sampling.py +67 -0
- hyperdrone/env/_world.py +60 -0
- hyperdrone/examples/__init__.py +11 -0
- hyperdrone/examples/benchmark.py +236 -0
- hyperdrone/examples/benchmark_minimal.py +66 -0
- hyperdrone/examples/data.py +42 -0
- hyperdrone/examples/drone_flythrough.py +142 -0
- hyperdrone/examples/render_procthor.py +41 -0
- hyperdrone/jit/__init__.py +111 -0
- hyperdrone/jit/_build.py +94 -0
- hyperdrone/jit/_lock.py +23 -0
- hyperdrone/jit/_patches.py +95 -0
- hyperdrone/jit/_toolchain.py +13 -0
- hyperdrone/jit/_workspace.py +70 -0
- hyperdrone/render/__init__.py +48 -0
- hyperdrone/render/_component.py +35 -0
- hyperdrone/render/_config.py +90 -0
- hyperdrone/render/_renderer.py +306 -0
- hyperdrone/render/_scene.py +34 -0
- hyperdrone-0.1.0.dist-info/METADATA +15 -0
- hyperdrone-0.1.0.dist-info/RECORD +660 -0
- hyperdrone-0.1.0.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,424 @@
|
|
|
1
|
+
#include "../../../version.h"
|
|
2
|
+
#if (defined(RL_TOOLS_DISABLE_INCLUDE_GUARDS) || !defined(RL_TOOLS_RL_ENVIRONMENTS_REACHER_OPERATIONS_GENERIC_H)) && (RL_TOOLS_USE_THIS_VERSION == 1)
|
|
3
|
+
#pragma once
|
|
4
|
+
#define RL_TOOLS_RL_ENVIRONMENTS_REACHER_OPERATIONS_GENERIC_H
|
|
5
|
+
#include "reacher.h"
|
|
6
|
+
#include "../operations_generic.h"
|
|
7
|
+
RL_TOOLS_NAMESPACE_WRAPPER_START
|
|
8
|
+
namespace rl_tools::rl::environments::reacher{
|
|
9
|
+
template <typename T>
|
|
10
|
+
RL_TOOLS_FUNCTION_PLACEMENT T clip(T x, T min, T max){
|
|
11
|
+
return x < min ? min : (x > max ? max : x);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
RL_TOOLS_NAMESPACE_WRAPPER_END
|
|
15
|
+
RL_TOOLS_NAMESPACE_WRAPPER_START
|
|
16
|
+
namespace rl_tools{
|
|
17
|
+
template<typename DEVICE, typename SPEC>
|
|
18
|
+
RL_TOOLS_FUNCTION_PLACEMENT static void malloc(DEVICE& device, const rl::environments::Reacher<SPEC>& env){}
|
|
19
|
+
template<typename DEVICE, typename SPEC>
|
|
20
|
+
RL_TOOLS_FUNCTION_PLACEMENT static void free(DEVICE& device, const rl::environments::Reacher<SPEC>& env){}
|
|
21
|
+
template<typename DEVICE, typename SPEC>
|
|
22
|
+
RL_TOOLS_FUNCTION_PLACEMENT static void init(DEVICE& device, const rl::environments::Reacher<SPEC>& env){}
|
|
23
|
+
template<typename DEVICE, typename SPEC, typename RNG>
|
|
24
|
+
RL_TOOLS_FUNCTION_PLACEMENT static void sample_initial_parameters(DEVICE& device, const rl::environments::Reacher<SPEC>& env, typename rl::environments::Reacher<SPEC>::Parameters& parameters, RNG& rng){}
|
|
25
|
+
template<typename DEVICE, typename SPEC>
|
|
26
|
+
RL_TOOLS_FUNCTION_PLACEMENT static void initial_parameters(DEVICE& device, const rl::environments::Reacher<SPEC>& env, typename rl::environments::Reacher<SPEC>::Parameters& parameters){}
|
|
27
|
+
template<typename DEVICE, typename SPEC, typename STATE_SPEC>
|
|
28
|
+
static void initial_state(DEVICE& device, const rl::environments::Reacher<SPEC>& env, typename rl::environments::Reacher<SPEC>::Parameters& parameters, typename rl::environments::reacher::State<STATE_SPEC>& state){
|
|
29
|
+
state.x = 0;
|
|
30
|
+
state.y = 0;
|
|
31
|
+
state.target_x = 0.5;
|
|
32
|
+
state.target_y = 0.5;
|
|
33
|
+
}
|
|
34
|
+
template<typename DEVICE, typename SPEC, typename STATE_SPEC, typename RNG>
|
|
35
|
+
RL_TOOLS_FUNCTION_PLACEMENT static void sample_initial_state(DEVICE& device, const rl::environments::Reacher<SPEC>& env, typename rl::environments::Reacher<SPEC>::Parameters& parameters, typename rl::environments::reacher::State<STATE_SPEC>& state, RNG& rng){
|
|
36
|
+
using T = typename SPEC::T;
|
|
37
|
+
using PARAMS = typename SPEC::PARAMETERS;
|
|
38
|
+
state.x = random::uniform_real_distribution(device.random, -PARAMS::ARENA_SIZE, PARAMS::ARENA_SIZE, rng);
|
|
39
|
+
state.y = random::uniform_real_distribution(device.random, -PARAMS::ARENA_SIZE, PARAMS::ARENA_SIZE, rng);
|
|
40
|
+
state.target_x = random::uniform_real_distribution(device.random, -PARAMS::ARENA_SIZE, PARAMS::ARENA_SIZE, rng);
|
|
41
|
+
state.target_y = random::uniform_real_distribution(device.random, -PARAMS::ARENA_SIZE, PARAMS::ARENA_SIZE, rng);
|
|
42
|
+
}
|
|
43
|
+
template<typename DEVICE, typename SPEC, typename STATE_SPEC, typename ACTION_SPEC, typename RNG>
|
|
44
|
+
RL_TOOLS_FUNCTION_PLACEMENT typename SPEC::T step(DEVICE& device, const rl::environments::Reacher<SPEC>& env, typename rl::environments::Reacher<SPEC>::Parameters& parameters, const typename rl::environments::reacher::State<STATE_SPEC>& state, const Matrix<ACTION_SPEC>& action, typename rl::environments::reacher::State<STATE_SPEC>& next_state, RNG& rng){
|
|
45
|
+
static_assert(ACTION_SPEC::ROWS == 1);
|
|
46
|
+
static_assert(ACTION_SPEC::COLS == 2);
|
|
47
|
+
using T = typename SPEC::T;
|
|
48
|
+
using PARAMS = typename SPEC::PARAMETERS;
|
|
49
|
+
T vx = rl::environments::reacher::clip(get(action, 0, 0), (T)-PARAMS::ACTION_LIMIT, (T)PARAMS::ACTION_LIMIT) * PARAMS::MAX_VELOCITY;
|
|
50
|
+
T vy = rl::environments::reacher::clip(get(action, 0, 1), (T)-PARAMS::ACTION_LIMIT, (T)PARAMS::ACTION_LIMIT) * PARAMS::MAX_VELOCITY;
|
|
51
|
+
next_state.x = rl::environments::reacher::clip(state.x + vx * PARAMS::DT, -PARAMS::ARENA_SIZE, PARAMS::ARENA_SIZE);
|
|
52
|
+
next_state.y = rl::environments::reacher::clip(state.y + vy * PARAMS::DT, -PARAMS::ARENA_SIZE, PARAMS::ARENA_SIZE);
|
|
53
|
+
next_state.target_x = state.target_x;
|
|
54
|
+
next_state.target_y = state.target_y;
|
|
55
|
+
return PARAMS::DT;
|
|
56
|
+
}
|
|
57
|
+
template<typename DEVICE, typename SPEC, typename ACTION_SPEC, typename STATE_SPEC, typename RNG>
|
|
58
|
+
RL_TOOLS_FUNCTION_PLACEMENT static typename SPEC::T reward(DEVICE& device, const rl::environments::Reacher<SPEC>& env, typename rl::environments::Reacher<SPEC>::Parameters& parameters, const typename rl::environments::reacher::State<STATE_SPEC>& state, const Matrix<ACTION_SPEC>& action, const typename rl::environments::reacher::State<STATE_SPEC>& next_state, RNG& rng){
|
|
59
|
+
using T = typename SPEC::T;
|
|
60
|
+
T dx = next_state.x - next_state.target_x;
|
|
61
|
+
T dy = next_state.y - next_state.target_y;
|
|
62
|
+
T distance = math::sqrt(device.math, dx * dx + dy * dy);
|
|
63
|
+
return -distance;
|
|
64
|
+
}
|
|
65
|
+
template<typename DEVICE, typename SPEC, typename STATE_SPEC, typename OBS_TYPE_SPEC, typename OBS_SPEC, typename RNG>
|
|
66
|
+
RL_TOOLS_FUNCTION_PLACEMENT static void observe(DEVICE& device, const rl::environments::Reacher<SPEC>& env, const typename rl::environments::Reacher<SPEC>::Parameters& parameters, const typename rl::environments::reacher::State<STATE_SPEC>& state, const typename rl::environments::reacher::ObservationDense<OBS_TYPE_SPEC>&, Matrix<OBS_SPEC>& observation, RNG& rng){
|
|
67
|
+
static_assert(OBS_SPEC::ROWS == 1);
|
|
68
|
+
static_assert(OBS_SPEC::COLS == 4);
|
|
69
|
+
set(observation, 0, 0, state.x);
|
|
70
|
+
set(observation, 0, 1, state.y);
|
|
71
|
+
set(observation, 0, 2, state.target_x);
|
|
72
|
+
set(observation, 0, 3, state.target_y);
|
|
73
|
+
}
|
|
74
|
+
template<typename DEVICE, typename SPEC, typename STATE_SPEC, typename OBS_TYPE_TI, OBS_TYPE_TI OBS_HEIGHT, OBS_TYPE_TI OBS_WIDTH, typename OBS_SPEC, typename RNG>
|
|
75
|
+
RL_TOOLS_FUNCTION_PLACEMENT static void observe(DEVICE& device, const rl::environments::Reacher<SPEC>& env, const typename rl::environments::Reacher<SPEC>::Parameters& parameters, const typename rl::environments::reacher::State<STATE_SPEC>& state, const typename rl::environments::reacher::ObservationImage<OBS_TYPE_TI, OBS_HEIGHT, OBS_WIDTH>&, Matrix<OBS_SPEC>& observation, RNG& rng){
|
|
76
|
+
using T = typename SPEC::T;
|
|
77
|
+
using TI = typename SPEC::TI;
|
|
78
|
+
using PARAMS = typename SPEC::PARAMETERS;
|
|
79
|
+
static_assert(OBS_SPEC::ROWS == 1);
|
|
80
|
+
static constexpr TI H = OBS_HEIGHT;
|
|
81
|
+
static constexpr TI W = OBS_WIDTH;
|
|
82
|
+
static constexpr TI C = 3;
|
|
83
|
+
static_assert(OBS_SPEC::COLS == H * W * C);
|
|
84
|
+
T sigma_sq = (T)(H * H) / (T)64;
|
|
85
|
+
T agent_px = (state.x + PARAMS::ARENA_SIZE) / ((T)2 * PARAMS::ARENA_SIZE) * H;
|
|
86
|
+
T agent_py = (state.y + PARAMS::ARENA_SIZE) / ((T)2 * PARAMS::ARENA_SIZE) * W;
|
|
87
|
+
T target_px = (state.target_x + PARAMS::ARENA_SIZE) / ((T)2 * PARAMS::ARENA_SIZE) * H;
|
|
88
|
+
T target_py = (state.target_y + PARAMS::ARENA_SIZE) / ((T)2 * PARAMS::ARENA_SIZE) * W;
|
|
89
|
+
for(TI h = 0; h < H; h++){
|
|
90
|
+
for(TI w = 0; w < W; w++){
|
|
91
|
+
T dh_agent = (T)h + (T)0.5 - agent_px;
|
|
92
|
+
T dw_agent = (T)w + (T)0.5 - agent_py;
|
|
93
|
+
T agent_intensity = math::exp(device.math, -(dh_agent * dh_agent + dw_agent * dw_agent) / sigma_sq);
|
|
94
|
+
T dh_target = (T)h + (T)0.5 - target_px;
|
|
95
|
+
T dw_target = (T)w + (T)0.5 - target_py;
|
|
96
|
+
T target_intensity = math::exp(device.math, -(dh_target * dh_target + dw_target * dw_target) / sigma_sq);
|
|
97
|
+
TI base = h * W * C + w * C;
|
|
98
|
+
set(observation, 0, base + 0, target_intensity);
|
|
99
|
+
set(observation, 0, base + 1, (T)0);
|
|
100
|
+
set(observation, 0, base + 2, agent_intensity);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
template<typename DEVICE, typename SPEC, typename STATE_SPEC, typename RNG>
|
|
105
|
+
RL_TOOLS_FUNCTION_PLACEMENT static bool terminated(DEVICE& device, const rl::environments::Reacher<SPEC>& env, typename rl::environments::Reacher<SPEC>::Parameters& parameters, const typename rl::environments::reacher::State<STATE_SPEC> state, RNG& rng){
|
|
106
|
+
using T = typename SPEC::T;
|
|
107
|
+
using PARAMS = typename SPEC::PARAMETERS;
|
|
108
|
+
T dx = state.x - state.target_x;
|
|
109
|
+
T dy = state.y - state.target_y;
|
|
110
|
+
T distance = math::sqrt(device.math, dx * dx + dy * dy);
|
|
111
|
+
return distance < PARAMS::TARGET_RADIUS;
|
|
112
|
+
}
|
|
113
|
+
template<typename DEVICE, typename STATE_SPEC>
|
|
114
|
+
RL_TOOLS_FUNCTION_PLACEMENT typename STATE_SPEC::T abs_diff(DEVICE& device, const rl::environments::reacher::State<STATE_SPEC>& s1, const rl::environments::reacher::State<STATE_SPEC>& s2){
|
|
115
|
+
using T = typename STATE_SPEC::T;
|
|
116
|
+
T acc = 0;
|
|
117
|
+
acc += math::abs(device.math, s1.x - s2.x);
|
|
118
|
+
acc += math::abs(device.math, s1.y - s2.y);
|
|
119
|
+
acc += math::abs(device.math, s1.target_x - s2.target_x);
|
|
120
|
+
acc += math::abs(device.math, s1.target_y - s2.target_y);
|
|
121
|
+
return acc;
|
|
122
|
+
}
|
|
123
|
+
template<typename DEVICE, typename T>
|
|
124
|
+
RL_TOOLS_FUNCTION_PLACEMENT T abs_diff(DEVICE& device, const rl::environments::reacher::DefaultParameters<T>& p1, const rl::environments::reacher::DefaultParameters<T>& p2){
|
|
125
|
+
return 0;
|
|
126
|
+
}
|
|
127
|
+
// ======================== ReacherVisual operations (delegate to Reacher) ========================
|
|
128
|
+
template<typename DEVICE, typename SPEC>
|
|
129
|
+
RL_TOOLS_FUNCTION_PLACEMENT static void malloc(DEVICE& device, const rl::environments::ReacherVisual<SPEC>& env){}
|
|
130
|
+
template<typename DEVICE, typename SPEC>
|
|
131
|
+
RL_TOOLS_FUNCTION_PLACEMENT static void free(DEVICE& device, const rl::environments::ReacherVisual<SPEC>& env){}
|
|
132
|
+
template<typename DEVICE, typename SPEC>
|
|
133
|
+
RL_TOOLS_FUNCTION_PLACEMENT static void init(DEVICE& device, const rl::environments::ReacherVisual<SPEC>& env){}
|
|
134
|
+
template<typename DEVICE, typename SPEC, typename RNG>
|
|
135
|
+
RL_TOOLS_FUNCTION_PLACEMENT static void sample_initial_parameters(DEVICE& device, const rl::environments::ReacherVisual<SPEC>& env, typename rl::environments::ReacherVisual<SPEC>::Parameters& parameters, RNG& rng){}
|
|
136
|
+
template<typename DEVICE, typename SPEC>
|
|
137
|
+
RL_TOOLS_FUNCTION_PLACEMENT static void initial_parameters(DEVICE& device, const rl::environments::ReacherVisual<SPEC>& env, typename rl::environments::ReacherVisual<SPEC>::Parameters& parameters){}
|
|
138
|
+
template<typename DEVICE, typename SPEC, typename STATE_SPEC>
|
|
139
|
+
static void initial_state(DEVICE& device, const rl::environments::ReacherVisual<SPEC>& env, typename rl::environments::ReacherVisual<SPEC>::Parameters& parameters, typename rl::environments::reacher::State<STATE_SPEC>& state){
|
|
140
|
+
state.x = 0;
|
|
141
|
+
state.y = 0;
|
|
142
|
+
state.target_x = 0.5;
|
|
143
|
+
state.target_y = 0.5;
|
|
144
|
+
}
|
|
145
|
+
template<typename DEVICE, typename SPEC, typename STATE_SPEC, typename RNG>
|
|
146
|
+
RL_TOOLS_FUNCTION_PLACEMENT static void sample_initial_state(DEVICE& device, const rl::environments::ReacherVisual<SPEC>& env, typename rl::environments::ReacherVisual<SPEC>::Parameters& parameters, typename rl::environments::reacher::State<STATE_SPEC>& state, RNG& rng){
|
|
147
|
+
using T = typename SPEC::T;
|
|
148
|
+
using PARAMS = typename SPEC::PARAMETERS;
|
|
149
|
+
state.x = random::uniform_real_distribution(device.random, -PARAMS::ARENA_SIZE, PARAMS::ARENA_SIZE, rng);
|
|
150
|
+
state.y = random::uniform_real_distribution(device.random, -PARAMS::ARENA_SIZE, PARAMS::ARENA_SIZE, rng);
|
|
151
|
+
state.target_x = random::uniform_real_distribution(device.random, -PARAMS::ARENA_SIZE, PARAMS::ARENA_SIZE, rng);
|
|
152
|
+
state.target_y = random::uniform_real_distribution(device.random, -PARAMS::ARENA_SIZE, PARAMS::ARENA_SIZE, rng);
|
|
153
|
+
}
|
|
154
|
+
template<typename DEVICE, typename SPEC, typename STATE_SPEC, typename ACTION_SPEC, typename RNG>
|
|
155
|
+
RL_TOOLS_FUNCTION_PLACEMENT typename SPEC::T step(DEVICE& device, const rl::environments::ReacherVisual<SPEC>& env, typename rl::environments::ReacherVisual<SPEC>::Parameters& parameters, const typename rl::environments::reacher::State<STATE_SPEC>& state, const Matrix<ACTION_SPEC>& action, typename rl::environments::reacher::State<STATE_SPEC>& next_state, RNG& rng){
|
|
156
|
+
static_assert(ACTION_SPEC::ROWS == 1);
|
|
157
|
+
static_assert(ACTION_SPEC::COLS == 2);
|
|
158
|
+
using T = typename SPEC::T;
|
|
159
|
+
using PARAMS = typename SPEC::PARAMETERS;
|
|
160
|
+
T vx = rl::environments::reacher::clip(get(action, 0, 0), (T)-PARAMS::ACTION_LIMIT, (T)PARAMS::ACTION_LIMIT) * PARAMS::MAX_VELOCITY;
|
|
161
|
+
T vy = rl::environments::reacher::clip(get(action, 0, 1), (T)-PARAMS::ACTION_LIMIT, (T)PARAMS::ACTION_LIMIT) * PARAMS::MAX_VELOCITY;
|
|
162
|
+
next_state.x = rl::environments::reacher::clip(state.x + vx * PARAMS::DT, -PARAMS::ARENA_SIZE, PARAMS::ARENA_SIZE);
|
|
163
|
+
next_state.y = rl::environments::reacher::clip(state.y + vy * PARAMS::DT, -PARAMS::ARENA_SIZE, PARAMS::ARENA_SIZE);
|
|
164
|
+
next_state.target_x = state.target_x;
|
|
165
|
+
next_state.target_y = state.target_y;
|
|
166
|
+
return PARAMS::DT;
|
|
167
|
+
}
|
|
168
|
+
template<typename DEVICE, typename SPEC, typename ACTION_SPEC, typename STATE_SPEC, typename RNG>
|
|
169
|
+
RL_TOOLS_FUNCTION_PLACEMENT static typename SPEC::T reward(DEVICE& device, const rl::environments::ReacherVisual<SPEC>& env, typename rl::environments::ReacherVisual<SPEC>::Parameters& parameters, const typename rl::environments::reacher::State<STATE_SPEC>& state, const Matrix<ACTION_SPEC>& action, const typename rl::environments::reacher::State<STATE_SPEC>& next_state, RNG& rng){
|
|
170
|
+
using T = typename SPEC::T;
|
|
171
|
+
T dx = next_state.x - next_state.target_x;
|
|
172
|
+
T dy = next_state.y - next_state.target_y;
|
|
173
|
+
T distance = math::sqrt(device.math, dx * dx + dy * dy);
|
|
174
|
+
return -distance;
|
|
175
|
+
}
|
|
176
|
+
template<typename DEVICE, typename SPEC, typename STATE_SPEC, typename OBS_TYPE_SPEC, typename OBS_SPEC, typename RNG>
|
|
177
|
+
RL_TOOLS_FUNCTION_PLACEMENT static void observe(DEVICE& device, const rl::environments::ReacherVisual<SPEC>& env, const typename rl::environments::ReacherVisual<SPEC>::Parameters& parameters, const typename rl::environments::reacher::State<STATE_SPEC>& state, const typename rl::environments::reacher::ObservationDense<OBS_TYPE_SPEC>&, Matrix<OBS_SPEC>& observation, RNG& rng){
|
|
178
|
+
static_assert(OBS_SPEC::ROWS == 1);
|
|
179
|
+
static_assert(OBS_SPEC::COLS == 4);
|
|
180
|
+
set(observation, 0, 0, state.x);
|
|
181
|
+
set(observation, 0, 1, state.y);
|
|
182
|
+
set(observation, 0, 2, state.target_x);
|
|
183
|
+
set(observation, 0, 3, state.target_y);
|
|
184
|
+
}
|
|
185
|
+
template<typename DEVICE, typename SPEC, typename STATE_SPEC, typename OBS_TYPE_TI, OBS_TYPE_TI OBS_HEIGHT, OBS_TYPE_TI OBS_WIDTH, typename OBS_SPEC, typename RNG>
|
|
186
|
+
RL_TOOLS_FUNCTION_PLACEMENT static void observe(DEVICE& device, const rl::environments::ReacherVisual<SPEC>& env, const typename rl::environments::ReacherVisual<SPEC>::Parameters& parameters, const typename rl::environments::reacher::State<STATE_SPEC>& state, const typename rl::environments::reacher::ObservationImage<OBS_TYPE_TI, OBS_HEIGHT, OBS_WIDTH>&, Matrix<OBS_SPEC>& observation, RNG& rng){
|
|
187
|
+
using T = typename SPEC::T;
|
|
188
|
+
using TI = typename SPEC::TI;
|
|
189
|
+
using PARAMS = typename SPEC::PARAMETERS;
|
|
190
|
+
static_assert(OBS_SPEC::ROWS == 1);
|
|
191
|
+
static constexpr TI H = OBS_HEIGHT;
|
|
192
|
+
static constexpr TI W = OBS_WIDTH;
|
|
193
|
+
static constexpr TI C = 3;
|
|
194
|
+
static_assert(OBS_SPEC::COLS == H * W * C);
|
|
195
|
+
T sigma_sq = (T)(H * H) / (T)64;
|
|
196
|
+
T agent_px = (state.x + PARAMS::ARENA_SIZE) / ((T)2 * PARAMS::ARENA_SIZE) * H;
|
|
197
|
+
T agent_py = (state.y + PARAMS::ARENA_SIZE) / ((T)2 * PARAMS::ARENA_SIZE) * W;
|
|
198
|
+
T target_px = (state.target_x + PARAMS::ARENA_SIZE) / ((T)2 * PARAMS::ARENA_SIZE) * H;
|
|
199
|
+
T target_py = (state.target_y + PARAMS::ARENA_SIZE) / ((T)2 * PARAMS::ARENA_SIZE) * W;
|
|
200
|
+
for(TI h = 0; h < H; h++){
|
|
201
|
+
for(TI w = 0; w < W; w++){
|
|
202
|
+
T dh_agent = (T)h + (T)0.5 - agent_px;
|
|
203
|
+
T dw_agent = (T)w + (T)0.5 - agent_py;
|
|
204
|
+
T agent_intensity = math::exp(device.math, -(dh_agent * dh_agent + dw_agent * dw_agent) / sigma_sq);
|
|
205
|
+
T dh_target = (T)h + (T)0.5 - target_px;
|
|
206
|
+
T dw_target = (T)w + (T)0.5 - target_py;
|
|
207
|
+
T target_intensity = math::exp(device.math, -(dh_target * dh_target + dw_target * dw_target) / sigma_sq);
|
|
208
|
+
TI base = h * W * C + w * C;
|
|
209
|
+
set(observation, 0, base + 0, target_intensity);
|
|
210
|
+
set(observation, 0, base + 1, (T)0);
|
|
211
|
+
set(observation, 0, base + 2, agent_intensity);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
template<typename DEVICE, typename SPEC, typename STATE_SPEC, typename OBS_TYPE_TI, OBS_TYPE_TI OBS_HEIGHT, OBS_TYPE_TI OBS_WIDTH, typename OBS_SPEC, typename RNG>
|
|
216
|
+
RL_TOOLS_FUNCTION_PLACEMENT static void observe(DEVICE& device, const rl::environments::ReacherVisual<SPEC>& env, const typename rl::environments::ReacherVisual<SPEC>::Parameters& parameters, const typename rl::environments::reacher::State<STATE_SPEC>& state, const typename rl::environments::reacher::ObservationImageFlat<OBS_TYPE_TI, OBS_HEIGHT, OBS_WIDTH>&, Matrix<OBS_SPEC>& observation, RNG& rng){
|
|
217
|
+
using T = typename SPEC::T;
|
|
218
|
+
using TI = typename SPEC::TI;
|
|
219
|
+
using PARAMS = typename SPEC::PARAMETERS;
|
|
220
|
+
static_assert(OBS_SPEC::ROWS == 1);
|
|
221
|
+
static constexpr TI H = OBS_HEIGHT;
|
|
222
|
+
static constexpr TI W = OBS_WIDTH;
|
|
223
|
+
static constexpr TI C = 3;
|
|
224
|
+
static_assert(OBS_SPEC::COLS == H * W * C);
|
|
225
|
+
T sigma_sq = (T)(H * H) / (T)64;
|
|
226
|
+
T agent_px = (state.x + PARAMS::ARENA_SIZE) / ((T)2 * PARAMS::ARENA_SIZE) * H;
|
|
227
|
+
T agent_py = (state.y + PARAMS::ARENA_SIZE) / ((T)2 * PARAMS::ARENA_SIZE) * W;
|
|
228
|
+
T target_px = (state.target_x + PARAMS::ARENA_SIZE) / ((T)2 * PARAMS::ARENA_SIZE) * H;
|
|
229
|
+
T target_py = (state.target_y + PARAMS::ARENA_SIZE) / ((T)2 * PARAMS::ARENA_SIZE) * W;
|
|
230
|
+
for(TI h = 0; h < H; h++){
|
|
231
|
+
for(TI w = 0; w < W; w++){
|
|
232
|
+
T dh_agent = (T)h + (T)0.5 - agent_px;
|
|
233
|
+
T dw_agent = (T)w + (T)0.5 - agent_py;
|
|
234
|
+
T agent_intensity = math::exp(device.math, -(dh_agent * dh_agent + dw_agent * dw_agent) / sigma_sq);
|
|
235
|
+
T dh_target = (T)h + (T)0.5 - target_px;
|
|
236
|
+
T dw_target = (T)w + (T)0.5 - target_py;
|
|
237
|
+
T target_intensity = math::exp(device.math, -(dh_target * dh_target + dw_target * dw_target) / sigma_sq);
|
|
238
|
+
TI base = h * W * C + w * C;
|
|
239
|
+
set(observation, 0, base + 0, target_intensity);
|
|
240
|
+
set(observation, 0, base + 1, (T)0);
|
|
241
|
+
set(observation, 0, base + 2, agent_intensity);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
template<typename DEVICE, typename SPEC, typename STATE_SPEC, typename RNG>
|
|
246
|
+
RL_TOOLS_FUNCTION_PLACEMENT static bool terminated(DEVICE& device, const rl::environments::ReacherVisual<SPEC>& env, typename rl::environments::ReacherVisual<SPEC>::Parameters& parameters, const typename rl::environments::reacher::State<STATE_SPEC> state, RNG& rng){
|
|
247
|
+
using T = typename SPEC::T;
|
|
248
|
+
using PARAMS = typename SPEC::PARAMETERS;
|
|
249
|
+
T dx = state.x - state.target_x;
|
|
250
|
+
T dy = state.y - state.target_y;
|
|
251
|
+
T distance = math::sqrt(device.math, dx * dx + dy * dy);
|
|
252
|
+
return distance < PARAMS::TARGET_RADIUS;
|
|
253
|
+
}
|
|
254
|
+
// ======================== ReacherVisualMemory operations ========================
|
|
255
|
+
template<typename DEVICE, typename SPEC>
|
|
256
|
+
RL_TOOLS_FUNCTION_PLACEMENT static void malloc(DEVICE& device, const rl::environments::ReacherVisualMemory<SPEC>& env){}
|
|
257
|
+
template<typename DEVICE, typename SPEC>
|
|
258
|
+
RL_TOOLS_FUNCTION_PLACEMENT static void free(DEVICE& device, const rl::environments::ReacherVisualMemory<SPEC>& env){}
|
|
259
|
+
template<typename DEVICE, typename SPEC>
|
|
260
|
+
RL_TOOLS_FUNCTION_PLACEMENT static void init(DEVICE& device, const rl::environments::ReacherVisualMemory<SPEC>& env){}
|
|
261
|
+
template<typename DEVICE, typename SPEC, typename RNG>
|
|
262
|
+
RL_TOOLS_FUNCTION_PLACEMENT static void sample_initial_parameters(DEVICE& device, const rl::environments::ReacherVisualMemory<SPEC>& env, typename rl::environments::ReacherVisualMemory<SPEC>::Parameters& parameters, RNG& rng){}
|
|
263
|
+
template<typename DEVICE, typename SPEC>
|
|
264
|
+
RL_TOOLS_FUNCTION_PLACEMENT static void initial_parameters(DEVICE& device, const rl::environments::ReacherVisualMemory<SPEC>& env, typename rl::environments::ReacherVisualMemory<SPEC>::Parameters& parameters){}
|
|
265
|
+
template<typename DEVICE, typename SPEC, typename STATE_SPEC>
|
|
266
|
+
static void initial_state(DEVICE& device, const rl::environments::ReacherVisualMemory<SPEC>& env, typename rl::environments::ReacherVisualMemory<SPEC>::Parameters& parameters, typename rl::environments::reacher::StateSequentialTargets<STATE_SPEC>& state){
|
|
267
|
+
using PARAMS = typename SPEC::PARAMETERS;
|
|
268
|
+
state.x = 0;
|
|
269
|
+
state.y = 0;
|
|
270
|
+
state.target1_x = 0.5;
|
|
271
|
+
state.target1_y = 0.5;
|
|
272
|
+
state.target2_x = PARAMS::NUM_TARGETS > 1 ? -0.5 : 0.5;
|
|
273
|
+
state.target2_y = PARAMS::NUM_TARGETS > 1 ? -0.5 : 0.5;
|
|
274
|
+
state.step = 0;
|
|
275
|
+
state.current_target = 0;
|
|
276
|
+
}
|
|
277
|
+
template<typename DEVICE, typename SPEC, typename STATE_SPEC, typename RNG>
|
|
278
|
+
RL_TOOLS_FUNCTION_PLACEMENT static void sample_initial_state(DEVICE& device, const rl::environments::ReacherVisualMemory<SPEC>& env, typename rl::environments::ReacherVisualMemory<SPEC>::Parameters& parameters, typename rl::environments::reacher::StateSequentialTargets<STATE_SPEC>& state, RNG& rng){
|
|
279
|
+
using T = typename SPEC::T;
|
|
280
|
+
using PARAMS = typename SPEC::PARAMETERS;
|
|
281
|
+
state.x = random::uniform_real_distribution(device.random, -PARAMS::ARENA_SIZE, PARAMS::ARENA_SIZE, rng);
|
|
282
|
+
state.y = random::uniform_real_distribution(device.random, -PARAMS::ARENA_SIZE, PARAMS::ARENA_SIZE, rng);
|
|
283
|
+
state.target1_x = random::uniform_real_distribution(device.random, -PARAMS::ARENA_SIZE, PARAMS::ARENA_SIZE, rng);
|
|
284
|
+
state.target1_y = random::uniform_real_distribution(device.random, -PARAMS::ARENA_SIZE, PARAMS::ARENA_SIZE, rng);
|
|
285
|
+
if(PARAMS::NUM_TARGETS > 1){
|
|
286
|
+
state.target2_x = random::uniform_real_distribution(device.random, -PARAMS::ARENA_SIZE, PARAMS::ARENA_SIZE, rng);
|
|
287
|
+
state.target2_y = random::uniform_real_distribution(device.random, -PARAMS::ARENA_SIZE, PARAMS::ARENA_SIZE, rng);
|
|
288
|
+
}
|
|
289
|
+
else{
|
|
290
|
+
state.target2_x = state.target1_x;
|
|
291
|
+
state.target2_y = state.target1_y;
|
|
292
|
+
}
|
|
293
|
+
state.step = 0;
|
|
294
|
+
state.current_target = 0;
|
|
295
|
+
}
|
|
296
|
+
template<typename DEVICE, typename SPEC, typename STATE_SPEC, typename ACTION_SPEC, typename RNG>
|
|
297
|
+
RL_TOOLS_FUNCTION_PLACEMENT typename SPEC::T step(DEVICE& device, const rl::environments::ReacherVisualMemory<SPEC>& env, typename rl::environments::ReacherVisualMemory<SPEC>::Parameters& parameters, const typename rl::environments::reacher::StateSequentialTargets<STATE_SPEC>& state, const Matrix<ACTION_SPEC>& action, typename rl::environments::reacher::StateSequentialTargets<STATE_SPEC>& next_state, RNG& rng){
|
|
298
|
+
static_assert(ACTION_SPEC::ROWS == 1);
|
|
299
|
+
static_assert(ACTION_SPEC::COLS == 2);
|
|
300
|
+
using T = typename SPEC::T;
|
|
301
|
+
using TI = typename SPEC::TI;
|
|
302
|
+
using PARAMS = typename SPEC::PARAMETERS;
|
|
303
|
+
T vx = rl::environments::reacher::clip(get(action, 0, 0), (T)-PARAMS::ACTION_LIMIT, (T)PARAMS::ACTION_LIMIT) * PARAMS::MAX_VELOCITY;
|
|
304
|
+
T vy = rl::environments::reacher::clip(get(action, 0, 1), (T)-PARAMS::ACTION_LIMIT, (T)PARAMS::ACTION_LIMIT) * PARAMS::MAX_VELOCITY;
|
|
305
|
+
next_state.x = rl::environments::reacher::clip(state.x + vx * PARAMS::DT, -PARAMS::ARENA_SIZE, PARAMS::ARENA_SIZE);
|
|
306
|
+
next_state.y = rl::environments::reacher::clip(state.y + vy * PARAMS::DT, -PARAMS::ARENA_SIZE, PARAMS::ARENA_SIZE);
|
|
307
|
+
next_state.target1_x = state.target1_x;
|
|
308
|
+
next_state.target1_y = state.target1_y;
|
|
309
|
+
next_state.target2_x = state.target2_x;
|
|
310
|
+
next_state.target2_y = state.target2_y;
|
|
311
|
+
next_state.step = state.step + 1;
|
|
312
|
+
if(state.current_target == 0){
|
|
313
|
+
T dx = next_state.x - next_state.target1_x;
|
|
314
|
+
T dy = next_state.y - next_state.target1_y;
|
|
315
|
+
T distance = math::sqrt(device.math, dx * dx + dy * dy);
|
|
316
|
+
next_state.current_target = distance < PARAMS::TARGET_RADIUS ? 1 : 0;
|
|
317
|
+
}
|
|
318
|
+
else{
|
|
319
|
+
next_state.current_target = state.current_target;
|
|
320
|
+
}
|
|
321
|
+
return PARAMS::DT;
|
|
322
|
+
}
|
|
323
|
+
template<typename DEVICE, typename SPEC, typename ACTION_SPEC, typename STATE_SPEC, typename RNG>
|
|
324
|
+
RL_TOOLS_FUNCTION_PLACEMENT static typename SPEC::T reward(DEVICE& device, const rl::environments::ReacherVisualMemory<SPEC>& env, typename rl::environments::ReacherVisualMemory<SPEC>::Parameters& parameters, const typename rl::environments::reacher::StateSequentialTargets<STATE_SPEC>& state, const Matrix<ACTION_SPEC>& action, const typename rl::environments::reacher::StateSequentialTargets<STATE_SPEC>& next_state, RNG& rng){
|
|
325
|
+
using T = typename SPEC::T;
|
|
326
|
+
using PARAMS = typename SPEC::PARAMETERS;
|
|
327
|
+
T dx_agent_t2 = next_state.x - next_state.target2_x;
|
|
328
|
+
T dy_agent_t2 = next_state.y - next_state.target2_y;
|
|
329
|
+
T distance_to_target2 = math::sqrt(device.math, dx_agent_t2 * dx_agent_t2 + dy_agent_t2 * dy_agent_t2);
|
|
330
|
+
if(PARAMS::NUM_TARGETS <= 1 || next_state.current_target > 0){
|
|
331
|
+
return -distance_to_target2;
|
|
332
|
+
}
|
|
333
|
+
T dx_agent_t1 = next_state.x - next_state.target1_x;
|
|
334
|
+
T dy_agent_t1 = next_state.y - next_state.target1_y;
|
|
335
|
+
T distance_to_target1 = math::sqrt(device.math, dx_agent_t1 * dx_agent_t1 + dy_agent_t1 * dy_agent_t1);
|
|
336
|
+
T dx_t1_t2 = next_state.target1_x - next_state.target2_x;
|
|
337
|
+
T dy_t1_t2 = next_state.target1_y - next_state.target2_y;
|
|
338
|
+
T distance_target1_to_target2 = math::sqrt(device.math, dx_t1_t2 * dx_t1_t2 + dy_t1_t2 * dy_t1_t2);
|
|
339
|
+
return -(distance_to_target1 + distance_target1_to_target2);
|
|
340
|
+
}
|
|
341
|
+
template<typename DEVICE, typename SPEC, typename STATE_SPEC, typename OBS_TYPE_SPEC, typename OBS_SPEC, typename RNG>
|
|
342
|
+
RL_TOOLS_FUNCTION_PLACEMENT static void observe(DEVICE& device, const rl::environments::ReacherVisualMemory<SPEC>& env, const typename rl::environments::ReacherVisualMemory<SPEC>::Parameters& parameters, const typename rl::environments::reacher::StateSequentialTargets<STATE_SPEC>& state, const typename rl::environments::reacher::ObservationDenseSequentialTargets<OBS_TYPE_SPEC>&, Matrix<OBS_SPEC>& observation, RNG& rng){
|
|
343
|
+
static_assert(OBS_SPEC::ROWS == 1);
|
|
344
|
+
static_assert(OBS_SPEC::COLS == 7);
|
|
345
|
+
using T = typename SPEC::T;
|
|
346
|
+
set(observation, 0, 0, state.x);
|
|
347
|
+
set(observation, 0, 1, state.y);
|
|
348
|
+
set(observation, 0, 2, state.target1_x);
|
|
349
|
+
set(observation, 0, 3, state.target1_y);
|
|
350
|
+
set(observation, 0, 4, state.target2_x);
|
|
351
|
+
set(observation, 0, 5, state.target2_y);
|
|
352
|
+
set(observation, 0, 6, (T)state.current_target);
|
|
353
|
+
}
|
|
354
|
+
template<typename DEVICE, typename SPEC, typename STATE_SPEC, typename OBS_TYPE_TI, OBS_TYPE_TI OBS_HEIGHT, OBS_TYPE_TI OBS_WIDTH, typename OBS_SPEC, typename RNG>
|
|
355
|
+
RL_TOOLS_FUNCTION_PLACEMENT static void observe(DEVICE& device, const rl::environments::ReacherVisualMemory<SPEC>& env, const typename rl::environments::ReacherVisualMemory<SPEC>::Parameters& parameters, const typename rl::environments::reacher::StateSequentialTargets<STATE_SPEC>& state, const typename rl::environments::reacher::ObservationImage<OBS_TYPE_TI, OBS_HEIGHT, OBS_WIDTH>&, Matrix<OBS_SPEC>& observation, RNG& rng){
|
|
356
|
+
using T = typename SPEC::T;
|
|
357
|
+
using TI = typename SPEC::TI;
|
|
358
|
+
using PARAMS = typename SPEC::PARAMETERS;
|
|
359
|
+
static_assert(OBS_SPEC::ROWS == 1);
|
|
360
|
+
static constexpr TI H = OBS_HEIGHT;
|
|
361
|
+
static constexpr TI W = OBS_WIDTH;
|
|
362
|
+
static constexpr TI C = 3;
|
|
363
|
+
static_assert(OBS_SPEC::COLS == H * W * C);
|
|
364
|
+
T sigma_sq = (T)(H * H) / (T)64;
|
|
365
|
+
T agent_px = (state.x + PARAMS::ARENA_SIZE) / ((T)2 * PARAMS::ARENA_SIZE) * H;
|
|
366
|
+
T agent_py = (state.y + PARAMS::ARENA_SIZE) / ((T)2 * PARAMS::ARENA_SIZE) * W;
|
|
367
|
+
T target1_px = (state.target1_x + PARAMS::ARENA_SIZE) / ((T)2 * PARAMS::ARENA_SIZE) * H;
|
|
368
|
+
T target1_py = (state.target1_y + PARAMS::ARENA_SIZE) / ((T)2 * PARAMS::ARENA_SIZE) * W;
|
|
369
|
+
T target2_px = PARAMS::NUM_TARGETS > 1 ? (state.target2_x + PARAMS::ARENA_SIZE) / ((T)2 * PARAMS::ARENA_SIZE) * H : (T)0;
|
|
370
|
+
T target2_py = PARAMS::NUM_TARGETS > 1 ? (state.target2_y + PARAMS::ARENA_SIZE) / ((T)2 * PARAMS::ARENA_SIZE) * W : (T)0;
|
|
371
|
+
bool show_targets = (state.step == 0);
|
|
372
|
+
for(TI h = 0; h < H; h++){
|
|
373
|
+
for(TI w = 0; w < W; w++){
|
|
374
|
+
T dh_agent = (T)h + (T)0.5 - agent_px;
|
|
375
|
+
T dw_agent = (T)w + (T)0.5 - agent_py;
|
|
376
|
+
T agent_intensity = math::exp(device.math, -(dh_agent * dh_agent + dw_agent * dw_agent) / sigma_sq);
|
|
377
|
+
T target1_intensity = (T)0;
|
|
378
|
+
T target2_intensity = (T)0;
|
|
379
|
+
if(show_targets){
|
|
380
|
+
T dh_target1 = (T)h + (T)0.5 - target1_px;
|
|
381
|
+
T dw_target1 = (T)w + (T)0.5 - target1_py;
|
|
382
|
+
target1_intensity = math::exp(device.math, -(dh_target1 * dh_target1 + dw_target1 * dw_target1) / sigma_sq);
|
|
383
|
+
if(PARAMS::NUM_TARGETS > 1){
|
|
384
|
+
T dh_target2 = (T)h + (T)0.5 - target2_px;
|
|
385
|
+
T dw_target2 = (T)w + (T)0.5 - target2_py;
|
|
386
|
+
target2_intensity = math::exp(device.math, -(dh_target2 * dh_target2 + dw_target2 * dw_target2) / sigma_sq);
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
TI base = h * W * C + w * C;
|
|
390
|
+
set(observation, 0, base + 0, target1_intensity);
|
|
391
|
+
set(observation, 0, base + 1, target2_intensity);
|
|
392
|
+
set(observation, 0, base + 2, agent_intensity);
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
template<typename DEVICE, typename SPEC, typename STATE_SPEC, typename RNG>
|
|
397
|
+
RL_TOOLS_FUNCTION_PLACEMENT static bool terminated(DEVICE& device, const rl::environments::ReacherVisualMemory<SPEC>& env, typename rl::environments::ReacherVisualMemory<SPEC>::Parameters& parameters, const typename rl::environments::reacher::StateSequentialTargets<STATE_SPEC> state, RNG& rng){
|
|
398
|
+
using T = typename SPEC::T;
|
|
399
|
+
using PARAMS = typename SPEC::PARAMETERS;
|
|
400
|
+
if(state.current_target == 0){
|
|
401
|
+
return false;
|
|
402
|
+
}
|
|
403
|
+
T dx = state.x - state.target2_x;
|
|
404
|
+
T dy = state.y - state.target2_y;
|
|
405
|
+
T distance = math::sqrt(device.math, dx * dx + dy * dy);
|
|
406
|
+
return distance < PARAMS::TARGET_RADIUS;
|
|
407
|
+
}
|
|
408
|
+
template<typename DEVICE, typename STATE_SPEC>
|
|
409
|
+
RL_TOOLS_FUNCTION_PLACEMENT typename STATE_SPEC::T abs_diff(DEVICE& device, const rl::environments::reacher::StateSequentialTargets<STATE_SPEC>& s1, const rl::environments::reacher::StateSequentialTargets<STATE_SPEC>& s2){
|
|
410
|
+
using T = typename STATE_SPEC::T;
|
|
411
|
+
T acc = 0;
|
|
412
|
+
acc += math::abs(device.math, s1.x - s2.x);
|
|
413
|
+
acc += math::abs(device.math, s1.y - s2.y);
|
|
414
|
+
acc += math::abs(device.math, s1.target1_x - s2.target1_x);
|
|
415
|
+
acc += math::abs(device.math, s1.target1_y - s2.target1_y);
|
|
416
|
+
acc += math::abs(device.math, s1.target2_x - s2.target2_x);
|
|
417
|
+
acc += math::abs(device.math, s1.target2_y - s2.target2_y);
|
|
418
|
+
acc += (T)(s1.step > s2.step ? s1.step - s2.step : s2.step - s1.step);
|
|
419
|
+
acc += (T)(s1.current_target > s2.current_target ? s1.current_target - s2.current_target : s2.current_target - s1.current_target);
|
|
420
|
+
return acc;
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
RL_TOOLS_NAMESPACE_WRAPPER_END
|
|
424
|
+
#endif
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
#include "../../../version.h"
|
|
2
|
+
#if (defined(RL_TOOLS_DISABLE_INCLUDE_GUARDS) || !defined(RL_TOOLS_RL_ENVIRONMENTS_REACHER_REACHER_H)) && (RL_TOOLS_USE_THIS_VERSION == 1)
|
|
3
|
+
#pragma once
|
|
4
|
+
#define RL_TOOLS_RL_ENVIRONMENTS_REACHER_REACHER_H
|
|
5
|
+
|
|
6
|
+
#include "../../../math/operations_generic.h"
|
|
7
|
+
#include "../environments.h"
|
|
8
|
+
#include "../observation.h"
|
|
9
|
+
|
|
10
|
+
RL_TOOLS_NAMESPACE_WRAPPER_START
|
|
11
|
+
namespace rl_tools::rl::environments::reacher{
|
|
12
|
+
template <typename T>
|
|
13
|
+
struct DefaultParameters{
|
|
14
|
+
static constexpr T DT = 0.1;
|
|
15
|
+
static constexpr T ARENA_SIZE = 1.0;
|
|
16
|
+
static constexpr T MAX_VELOCITY = 1.5;
|
|
17
|
+
static constexpr T TARGET_RADIUS = 0.1;
|
|
18
|
+
static constexpr T ACTION_LIMIT = 1.0;
|
|
19
|
+
static constexpr auto IMAGE_HEIGHT = 32;
|
|
20
|
+
static constexpr auto IMAGE_WIDTH = 32;
|
|
21
|
+
static constexpr auto NUM_TARGETS = 1;
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
template <typename T_T, typename T_TI, typename T_PARAMETERS = DefaultParameters<T_T>>
|
|
25
|
+
struct Specification{
|
|
26
|
+
using T = T_T;
|
|
27
|
+
using TI = T_TI;
|
|
28
|
+
using PARAMETERS = T_PARAMETERS;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
template <typename T_T, typename T_TI>
|
|
32
|
+
struct StateSpecification{
|
|
33
|
+
using T = T_T;
|
|
34
|
+
using TI = T_TI;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
template <typename T_SPEC>
|
|
38
|
+
struct State{
|
|
39
|
+
using SPEC = T_SPEC;
|
|
40
|
+
using T = typename SPEC::T;
|
|
41
|
+
using TI = typename SPEC::TI;
|
|
42
|
+
static constexpr TI DIM = 4;
|
|
43
|
+
T x;
|
|
44
|
+
T y;
|
|
45
|
+
T target_x;
|
|
46
|
+
T target_y;
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
template <typename TI>
|
|
50
|
+
struct ObservationDense{
|
|
51
|
+
static constexpr TI DIM = 4;
|
|
52
|
+
using SHAPE = tensor::Shape<TI, DIM>;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
template <typename T_TI, T_TI T_HEIGHT, T_TI T_WIDTH>
|
|
56
|
+
struct ObservationImage : observation::Image<T_TI, T_HEIGHT, T_WIDTH, 3>{};
|
|
57
|
+
|
|
58
|
+
template <typename T_TI, T_TI T_HEIGHT, T_TI T_WIDTH>
|
|
59
|
+
struct ObservationImageFlat{
|
|
60
|
+
using TI = T_TI;
|
|
61
|
+
static constexpr TI HEIGHT = T_HEIGHT;
|
|
62
|
+
static constexpr TI WIDTH = T_WIDTH;
|
|
63
|
+
static constexpr TI CHANNELS = 3;
|
|
64
|
+
static constexpr TI DIM = HEIGHT * WIDTH * CHANNELS;
|
|
65
|
+
using SHAPE = tensor::Shape<TI, DIM>;
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
template <typename T_SPEC>
|
|
69
|
+
struct StateSequentialTargets{
|
|
70
|
+
using SPEC = T_SPEC;
|
|
71
|
+
using T = typename SPEC::T;
|
|
72
|
+
using TI = typename SPEC::TI;
|
|
73
|
+
static constexpr TI DIM = 8;
|
|
74
|
+
T x;
|
|
75
|
+
T y;
|
|
76
|
+
T target1_x;
|
|
77
|
+
T target1_y;
|
|
78
|
+
T target2_x;
|
|
79
|
+
T target2_y;
|
|
80
|
+
TI step;
|
|
81
|
+
TI current_target;
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
template <typename TI>
|
|
85
|
+
struct ObservationDenseSequentialTargets{
|
|
86
|
+
static constexpr TI DIM = 7;
|
|
87
|
+
using SHAPE = tensor::Shape<TI, DIM>;
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
RL_TOOLS_NAMESPACE_WRAPPER_END
|
|
91
|
+
|
|
92
|
+
RL_TOOLS_NAMESPACE_WRAPPER_START
|
|
93
|
+
namespace rl_tools::rl::environments{
|
|
94
|
+
template <typename T_SPEC>
|
|
95
|
+
struct Reacher: Environment<typename T_SPEC::T, typename T_SPEC::TI>{
|
|
96
|
+
using SPEC = T_SPEC;
|
|
97
|
+
using T = typename SPEC::T;
|
|
98
|
+
using TI = typename SPEC::TI;
|
|
99
|
+
using State = reacher::State<reacher::StateSpecification<T, TI>>;
|
|
100
|
+
using Parameters = typename SPEC::PARAMETERS;
|
|
101
|
+
using Observation = reacher::ObservationDense<TI>;
|
|
102
|
+
using ObservationPrivileged = Observation;
|
|
103
|
+
static constexpr TI N_AGENTS = 1;
|
|
104
|
+
static constexpr TI ACTION_DIM = 2;
|
|
105
|
+
static constexpr TI EPISODE_STEP_LIMIT = 40;
|
|
106
|
+
};
|
|
107
|
+
template <typename T_SPEC>
|
|
108
|
+
struct ReacherVisual: Environment<typename T_SPEC::T, typename T_SPEC::TI>{
|
|
109
|
+
using SPEC = T_SPEC;
|
|
110
|
+
using T = typename SPEC::T;
|
|
111
|
+
using TI = typename SPEC::TI;
|
|
112
|
+
using State = reacher::State<reacher::StateSpecification<T, TI>>;
|
|
113
|
+
using Parameters = typename SPEC::PARAMETERS;
|
|
114
|
+
using Observation = reacher::ObservationImage<TI, SPEC::PARAMETERS::IMAGE_HEIGHT, SPEC::PARAMETERS::IMAGE_WIDTH>;
|
|
115
|
+
using ObservationPrivileged = reacher::ObservationDense<TI>;
|
|
116
|
+
static constexpr TI N_AGENTS = 1;
|
|
117
|
+
static constexpr TI ACTION_DIM = 2;
|
|
118
|
+
static constexpr TI EPISODE_STEP_LIMIT = 40;
|
|
119
|
+
};
|
|
120
|
+
template <typename T_SPEC>
|
|
121
|
+
struct ReacherVisualMemory: Environment<typename T_SPEC::T, typename T_SPEC::TI>{
|
|
122
|
+
using SPEC = T_SPEC;
|
|
123
|
+
using T = typename SPEC::T;
|
|
124
|
+
using TI = typename SPEC::TI;
|
|
125
|
+
using State = reacher::StateSequentialTargets<reacher::StateSpecification<T, TI>>;
|
|
126
|
+
using Parameters = typename SPEC::PARAMETERS;
|
|
127
|
+
using Observation = reacher::ObservationImage<TI, SPEC::PARAMETERS::IMAGE_HEIGHT, SPEC::PARAMETERS::IMAGE_WIDTH>;
|
|
128
|
+
using ObservationPrivileged = reacher::ObservationDenseSequentialTargets<TI>;
|
|
129
|
+
static constexpr TI N_AGENTS = 1;
|
|
130
|
+
static constexpr TI ACTION_DIM = 2;
|
|
131
|
+
static constexpr TI NUM_TARGETS = SPEC::PARAMETERS::NUM_TARGETS;
|
|
132
|
+
static constexpr TI EPISODE_STEP_LIMIT = 40 * NUM_TARGETS;
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
RL_TOOLS_NAMESPACE_WRAPPER_END
|
|
136
|
+
|
|
137
|
+
#endif
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#include "../../version.h"
|
|
2
|
+
#if (defined(RL_TOOLS_DISABLE_INCLUDE_GUARDS) || !defined(RL_TOOLS_RL_LOOP_LOOP_H)) && (RL_TOOLS_USE_THIS_VERSION == 1)
|
|
3
|
+
#pragma once
|
|
4
|
+
#define RL_TOOLS_RL_LOOP_LOOP_H
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
RL_TOOLS_NAMESPACE_WRAPPER_START
|
|
9
|
+
namespace rl_tools::rl::loop{
|
|
10
|
+
struct Config{};
|
|
11
|
+
}
|
|
12
|
+
RL_TOOLS_NAMESPACE_WRAPPER_END
|
|
13
|
+
#include "steps/steps.h"
|
|
14
|
+
|
|
15
|
+
#endif
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
#include "../../../../version.h"
|
|
2
|
+
#if (defined(RL_TOOLS_DISABLE_INCLUDE_GUARDS) || !defined(RL_TOOLS_RL_LOOP_STEPS_CHECKPOINT_CONFIG_H)) && (RL_TOOLS_USE_THIS_VERSION == 1)
|
|
3
|
+
#pragma once
|
|
4
|
+
#define RL_TOOLS_RL_LOOP_STEPS_CHECKPOINT_CONFIG_H
|
|
5
|
+
|
|
6
|
+
#include "state.h"
|
|
7
|
+
|
|
8
|
+
RL_TOOLS_NAMESPACE_WRAPPER_START
|
|
9
|
+
namespace rl_tools::rl::loop::steps::checkpoint{
|
|
10
|
+
template <typename TYPE_POLICY, typename TI>
|
|
11
|
+
struct Parameters{
|
|
12
|
+
static constexpr TI CHECKPOINT_INTERVAL = 1000;
|
|
13
|
+
static constexpr TI TEST_INPUT_BATCH_SIZE = 13;
|
|
14
|
+
};
|
|
15
|
+
template<typename T_NEXT, typename T_PARAMETERS = Parameters<typename T_NEXT::TYPE_POLICY, typename T_NEXT::TI>>
|
|
16
|
+
struct Config: T_NEXT {
|
|
17
|
+
using NEXT = T_NEXT;
|
|
18
|
+
using CHECKPOINT_PARAMETERS = T_PARAMETERS;
|
|
19
|
+
template <typename CONFIG>
|
|
20
|
+
using State = State<CONFIG>;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
RL_TOOLS_NAMESPACE_WRAPPER_END
|
|
24
|
+
#endif
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|