Невозможно выделить память, и все пулы заданий не добавляются, некоторые не работают
Что я сделал: получил встраивание BERT (измерения 3072) и теперь запускает иерархическую кластеризацию в многопроцессорном пуле, но он потребляет много памяти и задания не выполняются. Серверу выделяется 48 ГБ и больше не более
Data in pickle files which contains list of lists
Ex : [[emb],[tokens],[doc embs]]
emb_0.pkl
function running
62204
emb_1.pkl
функция работает
66505
slice_emb = []
slice_tokens = []
for each in pickled_filepaths:
print(each)
with open('folder'+each, 'rb') as f:
chunk = pickle.load(f)
emb, token = get_df_emb(chunk)#Get Dataframe function will get the things
slice_emb.extend(np.array_split(emb, 8)) #slicing into 8
slice_tokens.extend(np.array_split(token, 8)) #slicing into 8
print(len(emb))
import pickle
from datetime import datetime
start=datetime.now()
pool = multiprocessing.Pool(16)
jobs_pool =[]
for x,y in zip(slice_emb, slice_tokens):
print(x.shape)
print(y.shape)
pool_chunk = pool.apply_async(cluster_function,[x,y]) #Getting clusters
jobs_pool.append(pool_chunk)
df_list_pool = []
i =0
for j in jobs_pool:
df_list_pool.append(j.get())
print(df_list_pool[i].shape)
i +=1
end= datetime.now()
print(end-start)
df_list_pools[] should get all the data in the below format
a_type B_type cluster token
0 2411 g 1.0 a
26 9956 g 1.0 b
27 24323 g 1.0 awq
28 3460 g 1.0 bw
226 9732 g 1.0 cp