Adds automatic running, formula tests
This commit is contained in:
33
multi-run.py
Executable file
33
multi-run.py
Executable file
@ -0,0 +1,33 @@
|
||||
#!/usr/bin/env python3
|
||||
import argparse, logging
|
||||
from copycat import Copycat, Reporter, plot_answers, save_answers
|
||||
|
||||
class SimpleReporter(Reporter):
|
||||
"""Reports results from a single run."""
|
||||
def report_answer(self, answer):
|
||||
"""Self-explanatory code."""
|
||||
print('Answered %s (time %d, final temperature %.1f)' % (
|
||||
answer['answer'], answer['time'], answer['temp'],
|
||||
))
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('--iterations', type=int, default=1, help='Run the given case this many times.')
|
||||
options = parser.parse_args()
|
||||
|
||||
copycat = Copycat(reporter=SimpleReporter())
|
||||
|
||||
with open('input/reduced_problems.csv', 'r') as infile:
|
||||
for line in infile:
|
||||
line = line.replace('\n', '')
|
||||
a, b, c = line.split(',')
|
||||
answerList = copycat.run(a, b, c, options.iterations, True)
|
||||
for answers in answerList:
|
||||
for answer, d in sorted(iter(answers.items()), key=lambda kv: kv[1]['avgtemp']):
|
||||
print('%s: %d (avg time %.1f, avg temp %.1f)' % (answer, d['count'], d['avgtime'], d['avgtemp']))
|
||||
|
||||
#filename = 'output/{}-{}-{}.csv'.format(a, b, c)
|
||||
#save_answers(answers, filename)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
Reference in New Issue
Block a user