【问题标题】:cell becomes non-responsive when kernel is busy(connected)当内核忙(已连接)时,单元格变得无响应
【发布时间】:2021-03-14 16:04:08
【问题描述】:

我一直在尝试为 5MB 文本数据运行 BERTopic。运行代码后,以下代码的单元格没有响应,没有错误。并且下面的代码也无法运行,因为笔记本的行为就像那里存在问题并且其余代码没有运行。

代码在 Colab 上运行没有问题,但是,由于 collab 上的 ram 问题,我需要在我的本地机器 MacProM1 上的 JupyterLab 上运行代码。

from bertopic import BERTopic 
topic_model = BERTopic(embedding_model='bert-base-nli-mean-tokens')
topics,_= topic_model.fit_transform(sentences)

一旦我运行下面的代码,单元就会变得无响应而没有任何错误,而内核仍处于连接状态。 作为解决方案,

  1. 我尝试将所有代码移动到 JupyterLab 的新笔记本中,但也没有解决。
  2. 我卸载并重新安装了该项目所需的所有包,但仍然没有解决方案。
  3. 我也试过!pip install --upgrade ipykernel,但效果不佳。 how the cell looks

【问题讨论】:

    标签: python nlp jupyter-lab bert-language-model


    【解决方案1】:

    首先,Jupyter 笔记本中的单元格可能对many reasons 无响应。所以我会先从这里寻找适当的调试。

    因此,在我的实验环境中加载基于 Bert 的模型同时在笔记本电脑上运行许多其他东西时,我也会遇到同样的情况。大多数预训练模型都相当庞大,加载时会占用内存空间。如果没有足够的空间容纳模型,笔记本就会进入空白状态,您必须从顶部重新运行所有内容。

    以下是导入 SBERT 和加载模型时使用多少内存的示例:

    %%memit
    from sentence_transformers import SentenceTransformer
    

    输出:peak memory: 264.45 MiB, increment: 216.70 MiB

    %%memit
    model = SentenceTransformer('bert-base-nli-mean-tokens')
    

    输出:peak memory: 1103.46 MiB, increment: 838.79 MiB

    这告诉我这两行使用了多达 1GB 的可用内存。我将首先查看您的内存使用情况。

    【讨论】:

    • 嗨马哈茂德;感谢您的帮助和留言。语句转换器:峰值内存:1315.89 MiB,增量:335.47 MiB bert base nli:峰值内存:1308.78 MiB,增量:-14.73 MiB 这意味着,我这里有内存问题吗?我的 macbook 是 16 GB ......我真的很惊讶
    • 无论如何,您的代码在运行代码时都会失败,所以在这个阶段我不会依赖 memit 输出。这只是给你一个想法。在您的情况下,模型实际上并未加载(因此在调用加载时不会增加内存)。请检查您的环境中还有什么正在运行,然后根据我的链接中提到的其他问题进行调试。
    猜你喜欢
    • 2017-03-30
    • 1970-01-01
    • 1970-01-01
    • 2014-12-27
    • 2023-03-22
    • 2016-05-17
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    相关资源
    最近更新 更多