示例#1
0
def main(args):

    #Clean up checkpoint dirs
    clear_dirs(args.mode, args.model_path)

    df = pd.read_csv(args.df_path)

    ##Create dataset from csv
    data = DataSet(df, args.num_tasks)
    data.create_tasks()

    num_timesteps = int(np.ceil(len(df) / args.batch_size))

    if args.mode == 'UCB1':
        print('Starting UCB1...')

        UCB1(dataset=data,
             csv=df,
             num_episodes=args.num_episodes,
             num_timesteps=num_timesteps,
             batch_size=args.batch_size,
             hist_path=args.hist_path,
             c=args.c,
             gain_type=args.gain_type)

    elif args.mode == 'EXP3':
        print('Starting EXP3...')
        EXP3(data, df, args.num_episodes, num_timesteps, args.batch_size,
             args.hist_path, args.c, args.gain_type)

    elif args.mode == 'LinUCB':
        LinUCB(data, args.hist_path, args.num_episodes, num_timesteps,
               args.batch_size, args.gain_type)

    elif args.mode == 'SWTSK':
        s = SWTSK(data)
        s.train()