【问题标题】:Anaconda Jupyter "The kernel appears to have died. It will restart automatically."” Anaconda Jupyter “内核似乎已经死了。它将自动重新启动。”
【发布时间】:2020-02-22 04:23:09
【问题描述】:

我从 Anaconda 导航器启动 Jupyter,下载 Anaconda 应用程序并按照以下视频为 tensorflow 创建一个名为“tf”的新环境:How to install Tensorflow and Keras using Anaconda Navigator 然后我想从 Tensorflow 办公室网站重复这个教程Basic classification: Classify images of clothing,我一个一个地复制并粘贴每个单元格,当我运行这个单元格时,它有一条警告消息说“内核似乎已经死了。它会自动重启。"

test_loss, test_acc = model.evaluate(test_images,  test_labels, verbose=2)

print('\nTest accuracy:', test_acc)

我不知道如何解决这个问题,我搜索了一些答案说这是因为内存不足,但我想知道代码在 Jupyter 中是否使用我笔记本电脑的内存运行?我使用的是 128G 的旧 Macbook pro,我对它的内存不是很有信心..

【问题讨论】:

    标签: tensorflow jupyter-notebook anaconda


    【解决方案1】:

    您正在尝试加载一个不适合您的 RAM 内存的模型。因此,内核死亡。

    您的旧 MacBook Pro 具有 4Gb 的 RAM。根据您分享的链接,您正在尝试加载此模型:

    model = keras.Sequential([
        keras.layers.Flatten(input_shape=(28, 28)),
        keras.layers.Dense(128, activation='relu'),
        keras.layers.Dense(10, activation='softmax')
    ])
    

    假设您使用 float32 张量,这是您尝试加载的数据量:28 x 28 x 128 x 10 = 1003520 参数乘以 4 个字节,即 4014080 bytes3920Mb。由于您的笔记本电脑需要一些内存才能工作,因此您没有足够的内存来加载此模型。

    尝试减少神经元数量或调整图像大小。

    【讨论】:

    • 谢谢你,我认为你是正确的,我将keras.layers.Dense(128, activation='relu'), 更改为keras.layers.Dense(1, activation='relu'), 并且它似乎工作,但准确性太小。明天我会试着弄清楚,非常感谢您宝贵的时间。
    • 准确率很小,因为它只是一个神经元。你说你在学习,所以以后你会明白原因的。现在,如果你删除这行 `keras.layers.Dense(128, activation='relu')`,你的准确率会高一点。
    猜你喜欢
    • 2020-05-13
    • 2017-08-12
    • 2019-06-04
    • 2019-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多