Beispiel #1
0
    elif args.method.lower() in ['sorecgatuser']:
        dataset = SocialUser_Dataset(args)
    else:
        dataset = Dataset(args)

    params = Parameters(args, dataset)
    print(
        """Load data done [%.1f s]. #user:%d, #item:%d, #dom:%d, #train:%d, #test:%d, #valid:%d"""
        % (time() - t1, params.num_users, params.num_items, params.num_doms,
           params.num_train_instances, params.num_test_instances,
           params.num_valid_instances))
    print('Method: %s' % (params.method))
    if params.method in ['sorecgatitem', 'sorecgatuser']:
        model = Models(params)
    model.define_model()
    model.define_loss('all')
    print("Model definition completed: in %.2fs" % (time() - t1))

    train_step = get_optimizer(params.learn_rate,
                               params.optimizer).minimize(model.loss)
    init = tf.global_variables_initializer()
    config = tf.ConfigProto()
    config.gpu_options.allow_growth = True
    print('train instances: {}'.format(params.train_matrix.nnz))

    error_plot = Error_plot(save_flag=True,
                            res_path=params.result_path,
                            args_str=args_str,
                            args=args)
    ns = NegativeSamples(params)
    with tf.Session(config=config) as sess: