evaluate our approach at the end in eval
This commit is contained in:
parent
03aa3c5a7d
commit
10b72785ba
4 changed files with 19 additions and 5 deletions
12
README.md
12
README.md
|
@ -107,8 +107,18 @@ make -j
|
||||||
make eval
|
make eval
|
||||||
```
|
```
|
||||||
|
|
||||||
*Note:* this will download, and filter, the entire OSM files for Spain and the
|
*Notes:*
|
||||||
|
* this will download, and filter, the entire OSM files for Spain, the
|
||||||
Stuttgart region. Make sure you have enough space left on your hard drive.
|
Stuttgart region. Make sure you have enough space left on your hard drive.
|
||||||
|
* in evaluation mode, pfaedle needs significantly more time, because the
|
||||||
|
calculation of the similarity measurements between shapes are expensive
|
||||||
|
* if you are only interested in the end results of a single dataset, run
|
||||||
|
`make <dataset>.lighteval` in `/eval`. For example, `make paris.lighteval`
|
||||||
|
generates a shaped version of the paris dataset, without doing extensive
|
||||||
|
comparisons to the ground truth.
|
||||||
|
* similarily, if you want to run the extensive evaluation for a single dataset,
|
||||||
|
run `make <dataset>.eval` in `/eval`.
|
||||||
|
|
||||||
|
|
||||||
## Evaluation requirements
|
## Evaluation requirements
|
||||||
|
|
||||||
|
|
|
@ -29,10 +29,6 @@ osmconvert:
|
||||||
../build/pfaedle -x $< -i gtfs/$* -c eval.cfg --eval-path evalout/$*/hmm+osm -o gtfs/$*/shaped -D -m all --eval --eval-df-bins $(EVAL_DF_BINS) 2>&1 | tee $@
|
../build/pfaedle -x $< -i gtfs/$* -c eval.cfg --eval-path evalout/$*/hmm+osm -o gtfs/$*/shaped -D -m all --eval --eval-df-bins $(EVAL_DF_BINS) 2>&1 | tee $@
|
||||||
find evalout/$*/hmm+osm/ -name "*.json" -print0 | xargs -0 rm
|
find evalout/$*/hmm+osm/ -name "*.json" -print0 | xargs -0 rm
|
||||||
|
|
||||||
mkdir -p evalout/$*/hmm
|
|
||||||
../build/pfaedle -x $< -i gtfs/$* -c eval-wo-osm.cfg --eval-path evalout/$*/hmm -o gtfs/$*/shaped -D -m all --eval --eval-df-bins $(EVAL_DF_BINS) 2>&1 | tee $@
|
|
||||||
find evalout/$*/hmm/ -name "*.json" -print0 | xargs -0 rm
|
|
||||||
|
|
||||||
mkdir -p evalout/$*/greedy
|
mkdir -p evalout/$*/greedy
|
||||||
../build/pfaedle -x $< -i gtfs/$* -c eval.cfg --method greedy --eval-path evalout/$*/greedy -o gtfs/$*/shaped -D -m all --eval --eval-df-bins $(EVAL_DF_BINS) 2>&1 | tee $@
|
../build/pfaedle -x $< -i gtfs/$* -c eval.cfg --method greedy --eval-path evalout/$*/greedy -o gtfs/$*/shaped -D -m all --eval --eval-df-bins $(EVAL_DF_BINS) 2>&1 | tee $@
|
||||||
find evalout/$*/greedy/ -name "*.json" -print0 | xargs -0 rm
|
find evalout/$*/greedy/ -name "*.json" -print0 | xargs -0 rm
|
||||||
|
@ -41,6 +37,10 @@ osmconvert:
|
||||||
../build/pfaedle -x $< -i gtfs/$* -c eval.cfg --method greedy2 --eval-path evalout/$*/greedy2 -o gtfs/$*/shaped -D -m all --eval --eval-df-bins $(EVAL_DF_BINS) 2>&1 | tee $@
|
../build/pfaedle -x $< -i gtfs/$* -c eval.cfg --method greedy2 --eval-path evalout/$*/greedy2 -o gtfs/$*/shaped -D -m all --eval --eval-df-bins $(EVAL_DF_BINS) 2>&1 | tee $@
|
||||||
find evalout/$*/greedy2/ -name "*.json" -print0 | xargs -0 rm
|
find evalout/$*/greedy2/ -name "*.json" -print0 | xargs -0 rm
|
||||||
|
|
||||||
|
mkdir -p evalout/$*/hmm
|
||||||
|
../build/pfaedle -x $< -i gtfs/$* -c eval-wo-osm.cfg --eval-path evalout/$*/hmm -o gtfs/$*/shaped -D -m all --eval --eval-df-bins $(EVAL_DF_BINS) 2>&1 | tee $@
|
||||||
|
find evalout/$*/hmm/ -name "*.json" -print0 | xargs -0 rm
|
||||||
|
|
||||||
osm/spain-latest.osm.pbf:
|
osm/spain-latest.osm.pbf:
|
||||||
mkdir -p osm
|
mkdir -p osm
|
||||||
wget http://download.geofabrik.de/europe/spain-latest.osm.pbf -O $@
|
wget http://download.geofabrik.de/europe/spain-latest.osm.pbf -O $@
|
||||||
|
|
|
@ -11,6 +11,8 @@
|
||||||
#define UNUSED(expr) do { (void)(expr); } while (0)
|
#define UNUSED(expr) do { (void)(expr); } while (0)
|
||||||
#define TIME() std::chrono::high_resolution_clock::now()
|
#define TIME() std::chrono::high_resolution_clock::now()
|
||||||
#define TOOK(t1, t2) (std::chrono::duration_cast<microseconds>(t2 - t1).count() / 1000.0)
|
#define TOOK(t1, t2) (std::chrono::duration_cast<microseconds>(t2 - t1).count() / 1000.0)
|
||||||
|
#define T_START(n) auto _tstart_##n = std::chrono::high_resolution_clock::now()
|
||||||
|
#define T_STOP(n) (std::chrono::duration_cast<microseconds>(std::chrono::high_resolution_clock::now() - _tstart_##n).count() / 1000.0)
|
||||||
|
|
||||||
namespace util {
|
namespace util {
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,8 @@
|
||||||
// Chair of Algorithms and Data Structures.
|
// Chair of Algorithms and Data Structures.
|
||||||
// Authors: Patrick Brosi <brosi@informatik.uni-freiburg.de>
|
// Authors: Patrick Brosi <brosi@informatik.uni-freiburg.de>
|
||||||
|
|
||||||
|
#include <stdexcept>
|
||||||
|
|
||||||
#ifndef UTIL_NULLABLE_H_
|
#ifndef UTIL_NULLABLE_H_
|
||||||
#define UTIL_NULLABLE_H_
|
#define UTIL_NULLABLE_H_
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue