智能实验室故障排除


本文用于识别并解决使用智能实验室过程中的一些问题。

打开 Jupyter Notebook 文件时报错:Close without saving


在 Notebook 实例中打开 Jupyter Notebook 文件时报错:close without saving

故障原因

  • 原因 1:git merge 冲突向文件中添加了非 json 代码。

  • 原因 2:其它编辑器编辑了该文件。

解决方案

通过以下步骤解决原因 1 和原因 2:

  1. Right click the notebook document in 在 文件浏览器 中右击 Notebook 文件, 并选择 打开方式 > 文本编辑器

  2. 删除文件中的非 Json 代码并保存。

打开 Jupyter Notebook 文件时报错:File Load Error for {filename}.ipynb Unhandled error


在 Notebook 实例中打开 Jupyter Notebook 文件时报错:File Load Error for {filename}.ipynb Unhandled error。其中,{Filename} 指代目标文件的文件名。

故障原因

历史数据库问题导致报错。

解决方案

你可以通过以下任一解决方案解决该问题:

  • 方案 1:通过以下步骤移除 nbsignatures 文件:

    1. 在 Notebook 实例中打开终端。

    2. 输入以下命令并运行,然后重启 Notebook 实例。

      rm ~/.local/share/jupyter/nbsignatures.db
      
  • 方案 2:通过以下步骤移除 history.sqlite 文件:

    1. ~/.ipython/profile_default/history.sqlite 目录下找到 history.sqlite 文件。

    2. 删除或重命名该文件,然后重启 Notebook 实例。

保存文件时报错:’_xsrf’ argument missing from post


在 Notebook 实例中保存文件时报错:'_xsrf' argument missing from post

故障原因

Notebook 实例运行时间过长导致报错。

解决方案

  • 方案 1:刷新 Notebook 实例。

  • 方案 2:打开一个与该实例内核相同但处于停止状态的 Notebook 实例,然后返回文件窗口并保存文件。

在智能任务流找不到模型代码文件


在 Notebook 中运行 eap notebook push 命令将模型代码文件上传到内部存储后,在智能任务流中配置 NotebookEx、PythonEX 或 ShellEx 算子时,无法找到相应的文件。

故障原因

  • 原因 1:NotebookEx、PythonEX 或 ShellEx 算子的 workspace 参数选择错误。

  • 原因 2:模型代码文件上传失败。

解决方案

  • 对于原因 1:检查 NotebookEx、PythonEX 或 ShellEx 算子的workspace参数,确保其参数值为上传模型代码文件的目录。

  • 对于原因 2:重新上传模型代码文件。如果提示 Object 'filename' already exists. Overwrite? [Y/n],输入 Y 以覆盖重名文件。如需批量覆盖重名模型代码文件,在上传模型代码文件时输入并运行以下命令:

    eap-notebook push -p -y
    


如需了解更多关于模型代码的信息,可参考 管理模型代码.

Notebook 内核自动重启


在 JupyterLab Notebook 中编辑文件时,Notebook 内核自动重启,并弹出以下信息:

The kernel for {filename}.ipynb appears to have died. It will restart automatically.

故障原因

  • 原因 1:CPU 或 memory 不足。

  • 原因 2:Python 依赖包版本过低。你可以选择 debug 图表查看当前的 Python 版本。

解决方案

  • 对于原因 1:当弹窗信息出现时,检查 Notebook 底部的内存使用情况。 如果内存占用已满,在 实例详情 页面增加 Notebook 实例的内存。如需了解更多关于 Notebook 实例管理的信息,可参考 管理 Notebook 实例

  • 对于原因 2:通过 conda install 命令或 pip install 命令更新 Python 包版本。如需了解更多关于包管理的信息,可参考 管理依赖包

使用 log_model 时报错:TypeError: can’t pickle _thread.lock objects

通过 Mlflow Model Wrapper 创建的 mlflow 模型在使用 log_model 命令时报错:TypeError: can’t pickle _thread.lock objects

故障原因

在 Mlflow Model Wrapper 的子函数中使用 logger 函数,而 Mlflow 1.31.1 或Cloudpickle 1.6.0/2.0.0 不支持该函数。

解决方案

删除 Mlflow Model Wrapper 中的 logger 函数。

选择 Notebook 实例内核时报错:XSRF cookie does not match POST argument

在 Notebook 实例中选择内核时出现报错:XSRF cookie does not match POST argument

故障原因

浏览器 cookies 造成报错。

解决方案

尝试使用以下任意方式解决:

  • 清除浏览器 cookies 并重启 Notebook 实例。

  • 使用浏览器的隐私模式(或无痕模式)打开 Notebook 实例。