Spaces:
Running
Running
import numpy as np | |
def even_split(origin_list, batch_size): | |
''' | |
uniformly split a list into little batches | |
:param origin_list: | |
:param batch_size: | |
:return: | |
''' | |
total_size = len(origin_list) | |
n_batch = np.ceil(total_size / batch_size).astype(np.int32) | |
avg_size = total_size // n_batch | |
target_size = [int(avg_size + 1 if i < total_size % n_batch else avg_size) for i in range(n_batch)] | |
splatted = [] | |
cnt = 0 | |
for t_size in target_size: | |
splatted.append(origin_list[cnt: cnt + t_size]) | |
cnt += t_size | |
return splatted | |