HiLAP
HiLAP copied to clipboard
UnboundLocalError: local variable 'ct' referenced before assignment in main.py
Also found another unbound local error.
Traceback (most recent call last):
File "main.py", line 786, in <module>
train_sl()
File "main.py", line 542, in train_sl
loss_avg = loss_total / (ct + 1)
UnboundLocalError: local variable 'ct' referenced before assignment
for ct, (tokens, doc_ids) in tqdm(enumerate(g)):
probs = model(tokens, True)
pred_l, target_l, cur_class_batch = decode(pred_l, target_l, doc_ids, probs)
loss = calc_sl_loss(probs, doc_ids, update=True)
if ct % args.output_every == 0 and ct != 0:
logger.info('sl_loss: {}'.format(loss))
if args.multi_label:
acc = tree.acc_multi(np.array(pred_l), np.array(target_l))
else:
acc = tree.acc(np.array(pred_l), np.array(target_l))
logger.info('acc for epoch {} batch {}: {}'.format(i, ct, acc))
writer.add_scalar('data/sl_loss', loss, tree.n_update)
writer.add_scalar('data/acc', acc, tree.n_update)
if not args.multi_label and (cur_class_batch == cur_class_batch[0]).all():
logger.error('predictions in a batch are all the same! [{}]'.format(cur_class_batch[0]))
writer.add_text('error', 'predictions in a batch are all the same! [{}]'.format(cur_class_batch[0]), tree.n_update)
# exit(1)
loss_total += loss
loss_avg = loss_total / (ct + 1)