У меня есть папка, содержащая несколько наборов данных, и я хочу запустить модель для этих наборов данных и распределить нагрузку между несколькими ядрами, надеюсь, чтобы увеличить общее время обработки данных.
Мой компьютер имеет 8 ядер. Это была моя первая попытка ниже, это всего лишь набросок, но, используя htop
, я вижу, что для этой работы используется только 1 ядро. Многоядерный новичок здесь.
import pandas as pd
import multiprocessing
import os
from library_example import model_example
def worker(file_):
to_save = pd.Series()
with open(file_,'r') as f_open:
data = f_open.read()
# Run model
model_results = model_example(file_)
# Save results in DataFrame
to_save.to_csv(file_[:-4]+ "_results.csv", model_results )
file_location_ = "/home/datafiles/"
if __name__ == '__main__':
for filename in os.listdir(file_location_):
p = multiprocessing.Process(target=worker, args=(file_location_ + filename,))
p.start()
p.join()