From c93cf3c21d60afd6c76f90fb0a50c23d0f578bbd Mon Sep 17 00:00:00 2001 From: Mo8it Date: Wed, 6 Apr 2022 21:47:12 +0200 Subject: [PATCH] Add watcher for plotting during RL --- scripts/plot_watch.jl | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 scripts/plot_watch.jl diff --git a/scripts/plot_watch.jl b/scripts/plot_watch.jl new file mode 100644 index 0000000..9b56705 --- /dev/null +++ b/scripts/plot_watch.jl @@ -0,0 +1,37 @@ +using Pkg: Pkg +using Revise: Revise + +Pkg.activate("visualization") +Revise.includet("../visualization/Animation.jl") +using .Animation: Animation + +function get_last_done_dir(main_dir::String) + paths = readdir(main_dir; join=true) + skipped_last_dir = false + + for path_ind in length(paths):-1:1 + path = paths[path_ind] + if isdir(path) + if !skipped_last_dir + skipped_last_dir = true + continue + end + + return path + end + end +end + +function plot_watch(main_dir::String) + last_plotted_dir = "" + + Revise.entr([main_dir]; pause=1.0) do + dir = get_last_done_dir(main_dir) + if !(dir == last_plotted_dir) + last_plotted_dir = dir + Animation.animate(dir) + end + end + + return nothing +end