当我运行代码时,jupyter笔记本内核不断死亡

问题描述 投票:1回答:1

我按照本教程https://www.youtube.com/watch?v=wQ8BIBpya2k进行了深入学习的第一步,一切进展顺利,直到我需要在jupyter笔记本中训练网络。我几乎尝试了一切,我总是得到这个错误“内核似乎已经死了。它会自动重启。“当我检查终端时,我可以看到这个

[I 18:32:24.897 NotebookApp] Adapting to protocol v5.1 for kernel 0d2f57af-46f5-419c-8c8e-9676c14dd9e3 2019-03-09 18:33:12.906756: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA 2019-03-09 18:33:12.907661: I tensorflow/core/common_runtime/process_util.cc:69] Creating new thread pool with default inter op setting: 4. Tune using inter_op_parallelism_threads for best performance. OMP: Error #15: Initializing libiomp5.dylib, but found libiomp5.dylib already initialized. OMP: Hint: This means that multiple copies of the OpenMP runtime have been linked into the program. That is dangerous, since it can degrade performance or cause incorrect results. The best thing to do is to ensure that only a single OpenMP runtime is linked into the process, e.g. by avoiding static linking of the OpenMP runtime in any library. As an unsafe, unsupported, undocumented workaround you can set the environment variable KMP_DUPLICATE_LIB_OK=TRUE to allow the program to continue to execute, but that may cause crashes or silently produce incorrect results. For more information, please see http://www.intel.com/software/products/support/. [I 18:33:13.864 NotebookApp] KernelRestarter: restarting kernel (1/5), keep random ports WARNING:root:kernel 0d2f57af-46f5-419c-8c8e-9676c14dd9e3 restarted

我正在尝试运行的代码非常简单(即使对于那些刚刚开始深入学习的人来说)

import tensorflow as tf  

mnist = tf.keras.datasets.mnist  
(x_train, y_train),(x_test, y_test) = mnist.load_data()  

x_train = tf.keras.utils.normalize(x_train, axis=1)  
x_test = tf.keras.utils.normalize(x_test, axis=1) 

model = tf.keras.models.Sequential()  
model.add(tf.keras.layers.Flatten())  
model.add(tf.keras.layers.Dense(128, activation=tf.nn.relu))  
model.add(tf.keras.layers.Dense(128, activation=tf.nn.relu))  
model.add(tf.keras.layers.Dense(10, activation=tf.nn.softmax))  

model.compile(optimizer='adam',  
              loss='sparse_categorical_crossentropy',  
              metrics=['accuracy'])  

model.fit(x_train, y_train, epochs=3)  

val_loss, val_acc = model.evaluate(x_test, y_test)  
print(val_loss)  
print(val_acc)  

我尝试了我的每一个想法,并在谷歌上经历了几乎所有相同的问题,现在这是我的最后希望,所以提前感谢

python tensorflow jupyter-notebook mnist
1个回答
1
投票

你下载了哪个版本的tensorflow?

从错误日志看起来有一些OpenMP库问题,我会尝试将Tensorflow重新安装到最新的稳定版本。

我不得不更新我的tensorflow(1.13.1)安装以使代码工作,这是我输出的内容。

WARNING:tensorflow:From /usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/resource_variable_ops.py:435: colocate_with (from tensorflow.python.framework.ops) is deprecated and will be removed in a future version.
Instructions for updating:
Colocations handled automatically by placer.
Epoch 1/3
60000/60000 [==============================] - 6s 94us/sample - loss: 0.2652 - acc: 0.9213
Epoch 2/3
60000/60000 [==============================] - 6s 95us/sample - loss: 0.1103 - acc: 0.9660
Epoch 3/3
60000/60000 [==============================] - 6s 100us/sample - loss: 0.0735 - acc: 0.9765
10000/10000 [==============================] - 0s 35us/sample - loss: 0.0875 - acc: 0.9731
0.08748154099322855
0.9731

根据您使用的库管理器,尝试升级

对于Pip和Python3:

pip3 install tensorflow --upgrade

对于Anaconda:

conda update tensorflow

然后跑

import tensorflow as tf
print(tf.__version__)

验证您是否拥有最新版本


0
投票

我尝试了在各种线程中建议的多个选项 - 升级matplotlib,将matplotlib降级到2.x.x版本,将TensorFlow升级到1.13.1等无效。对于我来说,在Keras中调用fit方法之后,即使是像下面这样的简单虚拟图也会在“OMP:错误#15”中失败,因为很快就会遇到绘图方法。

acc = [i for i in range(20) ]
epochs = range(1, len(acc) + 1)
loss = range(1, len(acc) + 1)
plt.plot(epochs, loss, 'bo', label='Training loss')

以下Post的建议为我做了诀窍。

conda install nomkl
© www.soinside.com 2019 - 2024. All rights reserved.