Skip to content

Commit

Permalink
Merge pull request #357 from ltindall/update
Browse files Browse the repository at this point in the history
Big Update
  • Loading branch information
ltindall authored Nov 23, 2023
2 parents b764101 + e250cd8 commit e3b0fc8
Show file tree
Hide file tree
Showing 52 changed files with 28,729 additions and 1,251 deletions.
8 changes: 4 additions & 4 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
FROM nvidia/cuda:12.2.2-base-ubuntu22.04
FROM ubuntu:22.04
LABEL maintainer="Lucas Tindall <[email protected]>"
ENV PYTHONUNBUFFERED 1

COPY pyproject.toml .
COPY pyproject.toml .
COPY poetry.lock .

RUN apt-get update && apt-get install -y libjpeg-dev python3 python3-pip python3-venv
Expand All @@ -18,5 +18,5 @@ RUN apt-get update && apt-get install -y --no-install-recommends curl gcc git g+
COPY . /BirdsEye
WORKDIR /BirdsEye
EXPOSE 4999
ENTRYPOINT ["python3"]
CMD ["run_birdseye.py"]
ENTRYPOINT ["python3", "geolocate.py"]
CMD ["geolocate.ini"]
48 changes: 20 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,57 +52,49 @@ ___
## 1. Usage
### Installation
```
pip install -r requirements.txt
poetry config virtualenvs.create false
poetry install --no-root
```

### To run on command line
```
$ python run_birdseye.py -h
usage: run_birdseye.py [-h] -c FILE [-b]
optional arguments:
-h, --help show this help message and exit
-c FILE, --config FILE
Specify a configuration file
-b, --batch Perform batch run
$ python geolocate.py -h
usage: geolocate.py [-h] [--log LOG] config_path
positional arguments:
config_path Path to config file, geolocate.ini provided as example.
options:
-h, --help show this help message and exit
--log LOG Log level
```

### To run using a Docker container
First install Docker with GPU support. [Instructions here.](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html)
First install Docker. [Instructions here.](https://docs.docker.com/engine/install/)

A Docker file has also been provided for ease of use. To run with Docker, execute the following commands:
```
> docker build -t birds_eye .
> docker run -it --gpus all birds_eye -c {config.yaml}
```
In order to streamline this process a `Makefile` has been provided as a shorthand.
A [Dockerfile](Dockerfile) has been provided for ease of use. To run with Docker, execute the following commands:
```
> make run_mcts
> make run_dqn
> make run_batch
docker build -t birds_eye .
docker run -it -p 4999:4999 birds_eye
```
Accepted make values are: `run_mcts, run_dqn, run_batch, build`

If you don't have or want to use GPUs you can preface the `make` command with `GPUS=` like so:
A Docker compose file has also been provided. To run with docker compose:
```
> GPUS= make run_mcts
ORCHESTRATOR={INSERT ORCHESTRATOR IP} docker compose -f geolocate.yml up
```


## 2. Configurations
Running experiments requires a set of configurations variables which specify settings for the envrionment and motion planning method.
See [Configurations Documentation](docs/CONFIGS.md) for more information.


## 3. Examples
### Run with Monte Carlo Tree Search policy
```
$ python run_birdseye.py -c configs/mcts.yaml
```
### Run with Deep Q-Network policy
```
$ python run_birdseye.py -c configs/dqn.yaml
$ python geolocate.py geolocate.ini
```


## 4. Results
The results of the experiments will be stored in the `./runs` directory.
Log files are created which store the configurations for each experiment along with metrics and state information per time step.
Expand Down
Loading

0 comments on commit e3b0fc8

Please sign in to comment.