init_orca_context(cluster_mode=args.cluster_mode, cores=args.cores, memory=args.memory, num_nodes=num_nodes, init_ray_on_spark=True) tsdata_train, tsdata_valid, tsdata_test = get_nyc_taxi_tsdataset( args.datadir) auto_lstm = AutoLSTM(input_feature_num=1, output_target_num=1, past_seq_len=14, optimizer='Adam', loss=torch.nn.MSELoss(), metric="mse", hidden_dim=hp.grid_search([32, 64]), layer_num=hp.randint(1, 3), lr=hp.choice([0.001, 0.003, 0.01]), dropout=hp.uniform(0.1, 0.2), logs_dir="/tmp/auto_lstm", cpus_per_trial=args.cpus_per_trial, name="auto_lstm") auto_lstm.fit( data=get_data_creator(tsdata_train), epochs=args.epoch, batch_size=hp.choice([32, 64]), validation_data=get_data_creator(tsdata_valid), n_sampling=args.n_sampling, ) best_model = auto_lstm.get_best_model() best_config = auto_lstm.get_best_config()
parser.add_argument('--epochs', type=int, default=1, help="Max number of epochs to train in each trial.") args = parser.parse_args() num_nodes = 1 if args.cluster_mode == "local" else args.num_workers init_orca_context(cluster_mode=args.cluster_mode, cores=args.cores, memory=args.memory, num_nodes=num_nodes, init_ray_on_spark=True) tsdata_train, tsdata_valid, tsdata_test = get_tsdata() auto_lstm = AutoLSTM(input_feature_num=1, output_target_num=1, past_seq_len=20, hidden_dim=hp.grid_search([32, 64]), layer_num=hp.randint(1, 3), lr=hp.choice([0.01, 0.03, 0.1]), dropout=hp.uniform(0.1, 0.2), optimizer='Adam', loss=torch.nn.MSELoss(), metric="mse") x_train, y_train = tsdata_train.roll(lookback=20, horizon=1).to_numpy() x_val, y_val = tsdata_test.roll(lookback=20, horizon=1).to_numpy() x_test, y_test = tsdata_test.roll(lookback=20, horizon=1).to_numpy() auto_lstm.fit(data=(x_train, y_train), epochs=args.epochs, validation_data=(x_val, y_val)) yhat = auto_lstm.predict(x_test) unscale_y_test = tsdata_test.unscale_numpy(y_test)