Ядро умирает при выполнении бумажной фабрики - PullRequest
0 голосов
/ 04 марта 2020

Я пытаюсь автоматически сгенерировать несколько записных книжек с помощью бумажной фабрики, используя следующий код:

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.

...