import os import numpy as np def load_st_dataset(dataset): # output B, N, D if dataset == "PEMSD4": data_path = os.path.join("../data/PEMS04/PEMS04.npz") # data_path = os.path.join('../data/PeMSD4/pems04.npz') data = np.load(data_path)["data"][ :, :, 0 ] # onley the first dimension, traffic flow data elif dataset == "PEMSD8": data_path = os.path.join("../data/PEMS08/PEMS08.npz") data = np.load(data_path)["data"][ :, :, 0 ] # onley the first dimension, traffic flow data elif dataset == "PEMSD3": data_path = os.path.join("../data/PEMS03/PEMS03.npz") data = np.load(data_path)["data"][ :, :, 0 ] # onley the first dimension, traffic flow data elif dataset == "PEMSD7": data_path = os.path.join("../data/PEMS07/PEMS07.npz") data = np.load(data_path)["data"][ :, :, 0 ] # onley the first dimension, traffic flow data elif dataset == "PEMSD7M": data_path = os.path.join("../data/PEMS07M/PEMS07M.npz") data = np.load(data_path)["data"][ :, :, 0 ] # onley the first dimension, traffic flow data elif dataset == "PEMSD7L": data_path = os.path.join("../data/PEMS07L/PEMS07L.npz") data = np.load(data_path)["data"][ :, :, 0 ] # onley the first dimension, traffic flow data elif dataset == "Decentraland": data_path = os.path.join("../token_data/Decentraland_node_features.npz") data = np.load(data_path)["arr_0"][:, :, 0] # 1 dimension, degree elif dataset == "Bytom": data_path = os.path.join("../token_data/Bytom_node_features.npz") data = np.load(data_path)["arr_0"][:, :, 0] # 1 dimension, degree else: raise ValueError if len(data.shape) == 2: data = np.expand_dims(data, axis=-1) print( "Load %s Dataset shaped: " % dataset, data.shape, data.max(), data.min(), data.mean(), np.median(data), ) return data