python - 内核在执行 papermill 时死亡
问题描述
我正在尝试使用以下代码使用 papermill 自动生成几个笔记本:
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 环境中运行。
解决方案
推荐阅读
- javascript - Onerror 和 onload 事件不会在反应的脚本元素中触发
- amazon-web-services - AWS EMR 与 Glue 目录,明确指定 catalogId
- google-bigquery - 我想在插入 Bigquery 表时生成唯一 ID。
- mysql - 获取 MySQL 中受影响的行数
- lda - 如何用槌预测一批文档的主题
- sql-server - 在数据库表中创建多个地址
- amazon-web-services - AWS Server Migration Service Hyper-V 连接器运行状况不佳
- r - 当 summary=F 且字符串包含“&”时,Stargazer 将字符字段拆分为列
- jquery - 如何在不可见的div中使用未选中的复选框制作可搜索列表
- php - Symfony 4,Postgres - 运行学说命令时参数“client_encoding”的值无效:“utf8mb4”