diff --git a/Project.dev.toml b/Project.dev.toml deleted file mode 100644 index c0d2f5a17..000000000 --- a/Project.dev.toml +++ /dev/null @@ -1,27 +0,0 @@ -name = "ReinforcementLearning" -uuid = "158674fc-8238-5cab-b5ba-03dfc80d1318" -authors = ["Johanni Brea ", "Jun Tian "] -version = "0.11.0-dev" - -[deps] -Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" -Reexport = "189a3867-3050-52da-a836-e630ba90ab69" -ReinforcementLearningBase = "e575027e-6cd6-5018-9292-cdc6200d2b44" -ReinforcementLearningCore = "de1b191a-4ae0-4afa-a27b-92d07f46b2d6" -ReinforcementLearningDatasets = "dd1544ca-2576-438c-a599-ae96278fd687" -ReinforcementLearningEnvironments = "25e41dd2-4622-11e9-1641-f1adca772921" -ReinforcementLearningZoo = "d607f57d-ee1e-4ba7-bcf2-7734c1e31854" - -[compat] -Reexport = "0.2, 1" -ReinforcementLearningBase = "0.12" -ReinforcementLearningCore = "0.11" -ReinforcementLearningEnvironments = "0.8" -ReinforcementLearningZoo = "0.8" -julia = "1.6" - -[extras] -Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" - -[targets] -test = ["Test"] diff --git a/Project.toml b/Project.toml index 8b5ecb5c3..a36d83790 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "ReinforcementLearning" uuid = "158674fc-8238-5cab-b5ba-03dfc80d1318" authors = ["Johanni Brea ", "Jun Tian "] -version = "0.11.0-dev" +version = "0.11.0" [deps] Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" @@ -9,7 +9,6 @@ Reexport = "189a3867-3050-52da-a836-e630ba90ab69" ReinforcementLearningBase = "e575027e-6cd6-5018-9292-cdc6200d2b44" ReinforcementLearningCore = "de1b191a-4ae0-4afa-a27b-92d07f46b2d6" ReinforcementLearningEnvironments = "25e41dd2-4622-11e9-1641-f1adca772921" -ReinforcementLearningZoo = "d607f57d-ee1e-4ba7-bcf2-7734c1e31854" [compat] Reexport = "0.2, 1" diff --git a/src/ReinforcementLearning.jl b/src/ReinforcementLearning.jl index 661e83621..53142f716 100644 --- a/src/ReinforcementLearning.jl +++ b/src/ReinforcementLearning.jl @@ -5,11 +5,8 @@ const RL = ReinforcementLearning using Reexport -include("devmode.jl") - @reexport using ReinforcementLearningBase @reexport using ReinforcementLearningCore @reexport using ReinforcementLearningEnvironments -@reexport using ReinforcementLearningZoo end diff --git a/src/ReinforcementLearningFarm/LICENSE b/src/ReinforcementLearningFarm/LICENSE new file mode 100644 index 000000000..823928082 --- /dev/null +++ b/src/ReinforcementLearningFarm/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2024 Jeremiah Lewis and Henri Dehaybe + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/src/ReinforcementLearningFarm/Project.toml b/src/ReinforcementLearningFarm/Project.toml new file mode 100644 index 000000000..746194d88 --- /dev/null +++ b/src/ReinforcementLearningFarm/Project.toml @@ -0,0 +1,19 @@ +name = "ReinforcementLearningFarm" +uuid = "14eff660-7080-4cec-bba2-cfb12cd77ac3" +version = "0.1.0" + +[deps] +Flux = "587475ba-b771-5e3f-ad9e-33799f191a9c" +ReinforcementLearningBase = "e575027e-6cd6-5018-9292-cdc6200d2b44" +ReinforcementLearningCore = "de1b191a-4ae0-4afa-a27b-92d07f46b2d6" + +[compat] +ReinforcementLearningBase = "0.12" +ReinforcementLearningCore = "0.14" +julia = "1.9" + +[extras] +Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[targets] +test = [] diff --git a/src/ReinforcementLearningFarm/README.md b/src/ReinforcementLearningFarm/README.md new file mode 100644 index 000000000..8c59fc295 --- /dev/null +++ b/src/ReinforcementLearningFarm/README.md @@ -0,0 +1,5 @@ +# ReinforcementLearningFarm.jl + +This project contains updated, tested algorithms compatible with ReinforcementLearning.jl v0.11+. + +Unlike ReinforcementLearningZoo, the algorithms here have been domesticated. diff --git a/src/ReinforcementLearningFarm/src/ReinforcementLearningZoo.jl b/src/ReinforcementLearningFarm/src/ReinforcementLearningZoo.jl new file mode 100644 index 000000000..8e22f7e58 --- /dev/null +++ b/src/ReinforcementLearningFarm/src/ReinforcementLearningZoo.jl @@ -0,0 +1,8 @@ +module ReinforcementLearningFarm + +using ReinforcementLearningBase +using ReinforcementLearningCore +const RLFarm = ReinforcementLearningFarm +export RLFarm + +end # module diff --git a/src/ReinforcementLearningFarm/test/runtests.jl b/src/ReinforcementLearningFarm/test/runtests.jl new file mode 100644 index 000000000..e3819a6b7 --- /dev/null +++ b/src/ReinforcementLearningFarm/test/runtests.jl @@ -0,0 +1,17 @@ +using UUIDs +using Preferences + +if Sys.isapple() + flux_uuid = UUID("587475ba-b771-5e3f-ad9e-33799f191a9c") + set_preferences!(flux_uuid, "gpu_backend" => "Metal") + + using Metal +else + using CUDA, cuDNN + CUDA.allowscalar(false) +end + +using Test +@testset "ReinforcementLearningZoo.jl" begin + +end diff --git a/src/ReinforcementLearningZoo/src/ReinforcementLearningZoo.jl b/src/ReinforcementLearningZoo/src/ReinforcementLearningZoo.jl index f86255640..fc33ae02c 100644 --- a/src/ReinforcementLearningZoo/src/ReinforcementLearningZoo.jl +++ b/src/ReinforcementLearningZoo/src/ReinforcementLearningZoo.jl @@ -7,6 +7,8 @@ const RLZoo = ReinforcementLearningZoo export RLZoo import MLUtils +@warn "ReinforcementLearningZoo is deprecated! Components compatible with ReinforcementLearning v0.11+ are available in ReinforcementLearningFarm." + include("algorithms/algorithms.jl") # include("hooks/hooks.jl") # TotalBatchRewardPerEpisode is broken, need to ensure vector copy works! diff --git a/src/devmode.jl b/src/devmode.jl deleted file mode 100644 index 7fdf5d3f5..000000000 --- a/src/devmode.jl +++ /dev/null @@ -1,38 +0,0 @@ -using Pkg - -""" - activate_devmode!() - -This will automatically dev all the packages of the RL.jl ecosystem (make sure your -working directory is ReinforcementLearning.jl). You should do this when you -create a new branch for a new PR and voilĂ , you're good to go. This function imitates -the process in the `ci.yml` file. This means that tests that you run locally should -work in github's CI. -""" -function activate_devmode!() - @info "Switching to dev mode. You are now using your local versions of the RL.jl packages instead of the registered releases." - #RLBase - #No dependency to dev - #RLCore - Pkg.activate("src/ReinforcementLearningCore") - Pkg.develop(path="src/ReinforcementLearningBase") - #RLZoo - Pkg.activate("src/ReinforcementLearningZoo") - Pkg.develop(path="src/ReinforcementLearningCore") - Pkg.develop(path="src/ReinforcementLearningBase") - #RLEnvironments - Pkg.activate("src/ReinforcementLearningEnvironments") - Pkg.develop(path="src/ReinforcementLearningBase") - #RLExperiments - Pkg.activate("src/ReinforcementLearningExperiments") - Pkg.develop(path="src/ReinforcementLearningZoo") - Pkg.develop(path="src/ReinforcementLearningEnvironments") - Pkg.develop(path="src/ReinforcementLearningCore") - Pkg.develop(path="src/ReinforcementLearningBase") - #RL - Pkg.activate(".") - Pkg.develop(path="src/ReinforcementLearningZoo") - Pkg.develop(path="src/ReinforcementLearningEnvironments") - Pkg.develop(path="src/ReinforcementLearningCore") - Pkg.develop(path="src/ReinforcementLearningBase") -end