diff --git a/model_zoo/official/gnn/bgcf/src/metrics.py b/model_zoo/official/gnn/bgcf/src/metrics.py index c7692604b5c18cfaa7a15bbaae4e9feeadf141f1..6c0024ab0be6556c91c5fac102f00bc371ebf96a 100644 --- a/model_zoo/official/gnn/bgcf/src/metrics.py +++ b/model_zoo/official/gnn/bgcf/src/metrics.py @@ -50,7 +50,7 @@ def novelty_at_k(topk_items, item_degree_dict, num_user, k): """Calculate the novelty at k""" avg_nov = [] for item in topk_items[:k]: - avg_nov.append(-np.log2(item_degree_dict[item] / num_user)) + avg_nov.append(-np.log2((item_degree_dict[item] + 1e-8) / num_user)) return np.mean(avg_nov) diff --git a/model_zoo/official/gnn/bgcf/train.py b/model_zoo/official/gnn/bgcf/train.py index 148fbe0cc2546b3403a5f7623a60f9ac22919f40..055aebb96844521001d80b4d507a7d3d6b53ff6b 100644 --- a/model_zoo/official/gnn/bgcf/train.py +++ b/model_zoo/official/gnn/bgcf/train.py @@ -16,6 +16,7 @@ BGCF training script. """ import os +import time import datetime from mindspore import Tensor @@ -56,6 +57,7 @@ def train_and_eval(): for _epoch in range(1, parser.num_epoch + 1): + epoch_start = time.time() iter_num = 1 for data in itr: @@ -96,7 +98,7 @@ def train_and_eval(): if iter_num == num_iter: print('Epoch', '%03d' % _epoch, 'iter', '%02d' % iter_num, 'loss', - '{}'.format(train_loss)) + '{}, cost:{:.4f}'.format(train_loss, time.time() - epoch_start)) iter_num += 1 if _epoch % parser.eval_interval == 0: