Browse Source

Add gnuplot graphing script

Note to self: This was lifted from our PhD-Code repo
master
Starbeamrainbowlabs 4 months ago
parent
commit
60cd7ef5bb
Signed by: sbrl GPG Key ID: 1BE5172E637709C2
2 changed files with 35 additions and 0 deletions
  1. +26
    -0
      gnuplot/generate-graph.sh
  2. +9
    -0
      gnuplot/tensorflow-metrics.plt

+ 26
- 0
gnuplot/generate-graph.sh 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"

+ 9
- 0
gnuplot/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"

Loading…
Cancel
Save