Я пытаюсь автоматически сгенерировать несколько записных книжек с помощью бумажной фабрики, используя следующий код:
template = "preprocessing_template.ipynb"
parameters = {"allowed_values":[0,1], "epsilon":0.01, "to_csv":True}
kernel_name = "my_env"
grid_folders_csv_names_outputs = [("dir_a", "a.csv","output_a.ipynb"),\
("dir_b", "b.csv","output_b.ipynb"),\
("dir_c", "c.csv","output_c.ipynb"),
[
def execute_notebook(template,output_file,parameters,kernel_name,grid_folder,csv_name):
parameters["grid_folder"]=grid_folder
parameters["csv_name"]=csv_name
nb = pm.execute_notebook(template,
output_file,
parameters=parameters,
kernel_name=kernel_name)
#nbs = []
#nbs.append(nb)
return nb
for grid_folder, csv_name, output_file in tqdm(grid_folders_csv_names_outputs):
execute_notebook(template,output_file,parameters,kernel_name,grid_folder,csv_name)
Тем не менее, я получаю сообщение об ошибке
DeadKernelError: Kernel died
, которое, кажется, происходит из-за памяти полностью затоплен, как я проверил, наблюдая за системой во время выполнения кода. Очевидно, фрагмент кода выше генерирует несколько процессов для запуска параметризованных записных книжек, и эти процессы не завершаются после завершения итерации, что накапливается в памяти. Что я мог сделать, чтобы решить эту проблему? Я использую Ubuntu 18.04, и код запускается в среде anaconda 2019.10.