You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+107-9Lines changed: 107 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,20 +5,118 @@ A ML framework to infer high resolution terrain properties (e.g. slope, rugosity
5
5
sensed low resolution maps. A Bayesian neural network [https://github.com/piEsposito/blitz-bayesian-deep-learning/] is used to model the relationship between a compact representation of the terrain and the target output. Unsupervised terrain feature extraction is done via Location Guided Autoencoder [https://github.com/ocean-perception/location_guided_autoencoder] or by using contrastive learning (GeoCLR).
6
6
7
7
# Requirements
8
-
System requeriments for a typ. small network (5 layers, 256 nodes per layer max)
9
-
* CUDA 10+ capable GPU
8
+
Current implementation uses a small fully connected neural network (5 layers, 256 nodes per layer max). The GPU memory footprint is ~500MB so multiple train/predict instances can be dispatched. The minimum required system is
9
+
10
+
* GPU card with >1 GB
11
+
* CUDA 10+
10
12
* 8 GB of RAM
11
13
* 2C/4T CPU
12
14
13
-
For replicability purposes, conda is used to manage the environment setup with all the dependencies.
14
-
15
15
# Installation
16
-
TODO: Complete detailed description:
17
-
* Point to env.yaml
18
-
* Refer to conda env creation from file
19
-
* Install blitz from conda channel
20
-
* Done
16
+
Start by cloning the repository (it will include the blitz submodule):
For improved stability and compatibility, using virtual environment (venv) or conda is recommended. You can create a new conda environment with:
24
+
25
+
```
26
+
$ conda create --name bnninference python=3.10
27
+
```
28
+
29
+
Once created, activate it using:
30
+
31
+
```
32
+
$ conda activate bnninference
33
+
```
34
+
35
+
## Dependencies
36
+
37
+
Now we can proceed to install the general dependencies listed in the requirements file:
38
+
39
+
```
40
+
$ pip install -r environment/requirements.txt
41
+
```
42
+
43
+
And then install the blitz submodule
44
+
```
45
+
$ cd bnn_inference/submodules/blitz/
46
+
$ python setup.py install
47
+
```
48
+
49
+
## Bayesian predictor
50
+
Finally, we can install the *bayesian-predictor* package via pip as [^1]:
51
+
```
52
+
$ cd ../..
53
+
$ python setupy. build
54
+
$ pip install .
55
+
```
21
56
22
57
# Usage
58
+
The current implementation is separated into two modules, one for training and another one for predictions. Both use the same sintaxis to define inputs, outputs, training/inference parameters, etc. For a complete list of all the available features and flags please run any of the modules with the ` --help ` flag
59
+
60
+
For the training module:
61
+
```
23
62
bnn_train.py --help
63
+
```
64
+
It will return something similar to:
65
+
66
+
```
67
+
INFO > Bayesian NN training module: learning hi-res terrain observations from feature representation of low resolution priors
0 commit comments