evaluate our approach at the end in eval

This commit is contained in:
Patrick Brosi 2018-08-09 18:41:52 +02:00
parent 03aa3c5a7d
commit 10b72785ba
4 changed files with 19 additions and 5 deletions

View file

@ -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

View file

@ -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 $@

View file

@ -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 {

View file

@ -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_