# get the dict of users in group g_m_d = helper.gen_group_member_dict(config.user_in_group_path) # initial dataSet class dataset = GDataset(config.user_dataset, config.group_dataset, config.num_negatives) # get group number num_group = len(g_m_d) num_users, num_items = dataset.num_users, dataset.num_items # build AGREE model agree = AGREE(num_users, num_items, num_group, config.embedding_size, g_m_d, config.drop_ratio) agree.cuda() # config information print("AGREE at embedding size %d, run Iteration:%d, NDCG and HR at %d" % (config.embedding_size, config.epoch, config.topK)) # train the model for epoch in range(config.epoch): agree.train() # 开始训练时间 t1 = time() training(agree, dataset.get_user_dataloader(config.batch_size), epoch, config, 'user') training(agree, dataset.get_group_dataloader(config.batch_size), epoch, config, 'group') print("user and group training time is: [%.1f s]" % (time() - t1))
# initial helper helper = Helper() # get the dict of users in group g_m_d = helper.gen_group_member_dict(config.user_in_group_path) # initial dataSet class dataset = GDataset(config.user_dataset, config.group_dataset, config.num_negatives) # get group number num_group = len(g_m_d) num_users, num_items = dataset.num_users, dataset.num_items # build AGREE model agree = AGREE(num_users, num_items, num_group, config.embedding_size, g_m_d, config.drop_ratio) agree.cuda("cuda:0") # config information print("AGREE at embedding size %d, run Iteration:%d, NDCG and HR at %d" %(config.embedding_size, config.epoch, config.topK)) # train the model for epoch in range(config.epoch): agree.train() # 开始训练时间 t1 = time() training(agree, dataset.get_user_dataloader(config.batch_size), epoch, config, 'user') training(agree, dataset.get_group_dataloader(config.batch_size), epoch, config, 'group') print("user and group training time is: [%.1f s]" % (time()-t1)) # evaluation t2 = time() u_hr, u_ndcg = evaluation(agree, helper, dataset.user_testRatings, dataset.user_testNegatives, config.topK, 'user')