From a57bebbcb75b356d3d717e50346d7abb35b87068 Mon Sep 17 00:00:00 2001 From: Mo8it Date: Sun, 30 Jan 2022 01:47:48 +0100 Subject: [PATCH] Added latex_table --- src/RL/latex_table.jl | 44 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/RL/latex_table.jl diff --git a/src/RL/latex_table.jl b/src/RL/latex_table.jl new file mode 100644 index 0000000..e62e5d7 --- /dev/null +++ b/src/RL/latex_table.jl @@ -0,0 +1,44 @@ +using DataFrames +using PrettyTables: pretty_table + +function latex_table(dataframe, filename::String; path="exports/$filename") + open(path, "w") do f + pretty_table(f, dataframe; backend=:latex, nosubheader=true, alignment=:c) + end + + return nothing +end + +function latex_rl_table(env_helper, filename) + table = env_helper.shared.agent.policy.learner.approximator.table + + for col in 1:size(table)[2] + table[:, col] ./= sum(table[:, col]) + end + + table .= round.(table, digits=2) + + state_spaces_labels = env_helper.shared.env.shared.state_spaces_labels + states = AbstractString[] + for i in state_spaces_labels[1] + for j in state_spaces_labels[2] + push!(states, i * " ; " * j) + end + end + + action_spaces_labels = env_helper.shared.env.shared.action_spaces_labels + actions = AbstractString[] + + for i in action_spaces_labels[1] + for j in action_spaces_labels[2] + push!(actions, i * "; " * j) + end + end + + df = DataFrame(table, states) + insertcols!(df, 1, :Actions => actions) + + latex_table(df, filename) + + return nothing +end \ No newline at end of file