Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
if step_batch_size and n_transition > step_batch_size and train:
total_loss, value = models[train_id].train(500)
n_transition = 0
sample_time = time.time() - start_time
print("steps: %d, total time: %.2f, step average %.2f" % (step_ct, sample_time, sample_time / step_ct))
# train
if train:
print("===== train =====")
start_time = time.time()
total_loss, value = models[train_id].train(500)
train_time = time.time() - start_time
print("train_time %.2f" % train_time)
return magent.round(total_loss), nums, magent.round(total_reward), magent.round(value)
# train
total_loss, value = [0 for _ in range(n)], [0 for _ in range(n)]
if train:
print("===== train =====")
start_time = time.time()
# train models in parallel
for i in range(n):
models[i].train(print_every=2000, block=False)
for i in range(n):
total_loss[i], value[i] = models[i].fetch_train()
train_time = time.time() - start_time
print("train_time %.2f" % train_time)
return magent.round(total_loss), magent.round(total_reward), magent.round(value)