split_ratio = np.array(split_ratio)
ix = np.argsort(split_ratio)
ixx = np.argsort(ix)
sm = (np.cumsum(split_ratio[ix])[:-1] * len(files)).astype(int)
split = np.split(files, sm)
for key, data_ix in zip(['train', 'validation', 'test'], ixx):
data[key] = split[data_ix].tolist()