train-evaluate-save
This commit is contained in:
parent
17f5b62e9b
commit
8764fadd6a
47
bin/train-evaluate-save
Executable file
47
bin/train-evaluate-save
Executable file
|
@ -0,0 +1,47 @@
|
||||||
|
#!/usr/bin/env ruby
|
||||||
|
def save(model_name)
|
||||||
|
require 'date'
|
||||||
|
|
||||||
|
models_dir = 'models'
|
||||||
|
model_path = File.join(models_dir, model_name)
|
||||||
|
if not File.exists? model_path then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
episode_count = (File.read File.join(model_path, 'episodes_trained')).to_i
|
||||||
|
|
||||||
|
puts "Found model #{model_name} with episodes #{episode_count} trained!"
|
||||||
|
|
||||||
|
file_name = "model-#{model_name}-#{episode_count}-#{Time.now.strftime('%Y%m%d-%H%M%S')}.tar.gz"
|
||||||
|
save_path = File.join(models_dir, 'saves', file_name)
|
||||||
|
puts "Saving to #{save_path}"
|
||||||
|
|
||||||
|
system("tar", "-cvzf", save_path, "-C", models_dir, model_name)
|
||||||
|
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
def train(model, episodes)
|
||||||
|
system("python3", "main.py", "--train", "--model", model, "--episodes", episodes.to_s)
|
||||||
|
end
|
||||||
|
|
||||||
|
def evaluate(model, episodes, method)
|
||||||
|
system("python3", "main.py", "--eval" , "--model", model, "--episodes", episodes.to_s, "--eval-methods", method)
|
||||||
|
end
|
||||||
|
|
||||||
|
model = ARGV[0]
|
||||||
|
|
||||||
|
if model.nil? then raise "no model specified" end
|
||||||
|
|
||||||
|
while true do
|
||||||
|
save model
|
||||||
|
train model, 1000
|
||||||
|
save model
|
||||||
|
train model, 1000
|
||||||
|
3.times do
|
||||||
|
evaluate model, 250, "pubeval"
|
||||||
|
end
|
||||||
|
3.times do
|
||||||
|
evaluate model, 250, "dumbeval"
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue
Block a user