|
|
|
|
|
|
|
|
# end epoch ---------------------------------------------------------------------------------------------------- |
|
|
# end epoch ---------------------------------------------------------------------------------------------------- |
|
|
# end training |
|
|
# end training |
|
|
|
|
|
|
|
|
n = opt.name |
|
|
|
|
|
if len(n): |
|
|
|
|
|
n = '_' + n if not n.isnumeric() else n |
|
|
|
|
|
fresults, flast, fbest = 'results%s.txt' % n, wdir + 'last%s.pt' % n, wdir + 'best%s.pt' % n |
|
|
|
|
|
for f1, f2 in zip([wdir + 'last.pt', wdir + 'best.pt', 'results.txt'], [flast, fbest, fresults]): |
|
|
|
|
|
if os.path.exists(f1): |
|
|
|
|
|
os.rename(f1, f2) # rename |
|
|
|
|
|
ispt = f2.endswith('.pt') # is *.pt |
|
|
|
|
|
strip_optimizer(f2) if ispt else None # strip optimizer |
|
|
|
|
|
os.system('gsutil cp %s gs://%s/weights' % (f2, opt.bucket)) if opt.bucket and ispt else None # upload |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Strip optimizers |
|
|
|
|
|
n = ('_' if len(opt.name) and not opt.name.isnumeric() else '') + opt.name |
|
|
|
|
|
fresults, flast, fbest = 'results%s.txt' % n, wdir + 'last%s.pt' % n, wdir + 'best%s.pt' % n |
|
|
|
|
|
for f1, f2 in zip([wdir + 'last.pt', wdir + 'best.pt', 'results.txt'], [flast, fbest, fresults]): |
|
|
|
|
|
if os.path.exists(f1): |
|
|
|
|
|
os.rename(f1, f2) # rename |
|
|
|
|
|
ispt = f2.endswith('.pt') # is *.pt |
|
|
|
|
|
strip_optimizer(f2) if ispt else None # strip optimizer |
|
|
|
|
|
os.system('gsutil cp %s gs://%s/weights' % (f2, opt.bucket)) if opt.bucket and ispt else None # upload |
|
|
|
|
|
|
|
|
|
|
|
# Finish |
|
|
if not opt.evolve: |
|
|
if not opt.evolve: |
|
|
plot_results() # save as results.png |
|
|
plot_results() # save as results.png |
|
|
print('%g epochs completed in %.3f hours.\n' % (epoch - start_epoch + 1, (time.time() - t0) / 3600)) |
|
|
print('%g epochs completed in %.3f hours.\n' % (epoch - start_epoch + 1, (time.time() - t0) / 3600)) |