Add gnuplot graphing script

Note to self: This was lifted from our PhD-Code repo
This commit is contained in:
Starbeamrainbowlabs 2020-09-18 17:23:51 +01:00
parent c9989e776c
commit 60cd7ef5bb
Signed by: sbrl
GPG key ID: 1BE5172E637709C2
2 changed files with 35 additions and 0 deletions

26
gnuplot/generate-graph.sh Executable file
View file

@ -0,0 +1,26 @@
#!/usr/bin/env bash
script_root="$(dirname "$(readlink -f "$0")")";
temp_dir="$(mktemp --tmpdir -d "gnuplot-XXXXXXX")";
on_exit() {
rm -rf "${temp_dir}";
}
trap on_exit EXIT;
graph_data_rmse() {
jq --raw-output "[ input_line_number - 1, (.mse | sqrt), (.val_mse | sqrt) ] | @tsv"
}
metrics_filename="${1}";
if [[ -z "${metrics_filename}" ]]; then
echo "Error: No metrics json file specified.";
exit 1;
fi
tmpfile_metrics="${temp_dir}/data";
graph_data_rmse <"${metrics_filename}" >"${tmpfile_metrics}";
gnuplot -e "metric_name='Root Mean Squared Error'; graph_title='Film Genres Predictor - Root Mean Squared Error'; data_filename='${tmpfile_metrics}'" "${script_root}/tensorflow-metrics.plt"

View file

@ -0,0 +1,9 @@
set title graph_title
set xlabel "Epochs"
set ylabel metric_name
set key title "Legend"
set grid
set datafile separator "\t"
set terminal png linewidth 3 size 1366,768
plot data_filename using 1:2 with lines title "Training", data_filename using 1:3 with lines title "Validation"