Suite of Gymnasium environments for optimizing breeding programs
Project description
BreedGym
Installation
Using pip:
pip install breedgym
From source:
git clone https://github.com/younik/breedgym
cd breedgym
pip install -e .
Quickstart
BreedGym environments implement the Gymnasium API, making it easy to use it with your preferred learning library.
import gymnasium as gym
import numpy as np
env = gym.make(
"breedgym:BreedGym",
genetic_map="path/to/genetic_map.txt",
initial_population="path/to/geno.npy",
num_generations=10
)
print("Observation space:", env.observation_space)
print("Action space:", env.action_space)
To test, you can use the sample data we provide here. In the case of the small sample data, we have 370 initial population members with 10k markers.
Observation space: Box(False, True, (370, 10000, 2), bool)
Action space: Sequence(Tuple(Discrete(370), Discrete(370)), stack=False)
After initializing the environment, we can interact with it as a standard Gymnasium environment:
initial_pop, info = env.reset()
tru = False
for gen_number in range(10):
assert not tru
act = env.action_space.sample()
pop, rew, ter, tru, infos = env.step(np.asarray(act))
After 10 generations, we expect the environment to truncate, as we specified 10 generations horizon during environment initialization:
assert tru
print("Reward (GEBV mean):", rew)
The full list of environments can be found here.
Citing
@inproceedings{younis2023breeding,
title={Breeding Programs Optimization with Reinforcement Learning},
author={Younis, Omar G. and Corinzia, Luca and Athanasiadis, Ioannis N and Krause, Andreas and Buhmann, Joachim and Turchetta, Matteo},
booktitle={NeurIPS 2023 Workshop on Tackling Climate Change with Machine Learning},
url={https://www.climatechange.ai/papers/neurips2023/93},
year={2023}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
breedgym-0.0.2a0.tar.gz
(562.2 kB
view hashes)
Built Distribution
breedgym-0.0.2a0-py3-none-any.whl
(652.1 kB
view hashes)
Close
Hashes for breedgym-0.0.2a0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23faabaf12e0a376d3b98d538da11af1499afc79cef835d3951c3147f65f4895 |
|
MD5 | 9b5806283a0276d33dc508ef17587875 |
|
BLAKE2b-256 | 49358bd8c67219f860c1ceacc3d5238e9c382801778a474ffa1fa3c4efb19282 |