Colab中Keras构建CNN时DNN库初始化失败问题求助
Colab中Keras构建CNN训练时出现DNN library initialization failed错误
我正在学习用Keras构建CNN,基于TensorFlow的CNN教程修改代码后,在Colab运行训练时遇到了DNN library initialization failed错误,不清楚原因,以下是详细信息:
数据形状输出
执行代码:
print(train_images.shape) print(train_labels.shape) print(train_images[0].shape) print(train_labels[0])
输出结果:
(6484, 224, 224, 3) (6484, 1) (224, 224, 3) [0]
模型代码
model = models.Sequential() model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(224, 224, 3))) model.add(layers.MaxPooling2D((2, 2))) model.add(layers.Conv2D(64, (3, 3), activation='relu')) model.add(layers.MaxPooling2D((2, 2))) model.add(layers.Conv2D(128, (3, 3), activation='relu')) model.add(layers.MaxPooling2D((2, 2))) model.add(layers.Conv2D(256, (3, 3), activation='relu')) model.add(layers.MaxPooling2D((2, 2))) model.add(layers.Conv2D(512, (3, 3), activation='relu')) model.add(layers.MaxPooling2D((2, 2))) model.add(layers.Flatten()) # Output: (6*6*512) = 18432 model.add(layers.Dense(1024, activation='relu')) # Hidden layer model.add(layers.Dense(len_classes))
模型结构
Model: "sequential" ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓ ┃ Layer (type) ┃ Output Shape ┃ Param # ┃ ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩ │ conv2d (Conv2D) │ (None, 222, 222, 32) │ 896 │ ├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤ │ max_pooling2d (MaxPooling2D) │ (None, 111, 111, 32) │ 0 │ ├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤ │ conv2d_1 (Conv2D) │ (None, 109, 109, 64) │ 18,496 │ ├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤ │ max_pooling2d_1 (MaxPooling2D) │ (None, 54, 54, 64) │ 0 │ ├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤ │ conv2d_2 (Conv2D) │ (None, 52, 52, 128) │ 73,856 │ ├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤ │ max_pooling2d_2 (MaxPooling2D) │ (None, 26, 26, 128) │ 0 │ ├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤ │ conv2d_3 (Conv2D) │ (None, 24, 24, 256) │ 295,168 │ ├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤ │ max_pooling2d_3 (MaxPooling2D) │ (None, 12, 12, 256) │ 0 │ ├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤ │ conv2d_4 (Conv2D) │ (None, 10, 10, 512) │ 1,180,160 │ ├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤ │ max_pooling2d_4 (MaxPooling2D) │ (None, 5, 5, 512) │ 0 │ ├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤ │ flatten (Flatten) │ (None, 12800) │ 0 │ ├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤ │ dense (Dense) │ (None, 1024) │ 13,108,224 │ ├──────────────────────────────────────┼─────────────────────────────┼─────────────────┤ │ dense_1 (Dense) │ (None, 35) │ 35,875 │ └──────────────────────────────────────┴─────────────────────────────┴─────────────────┘ Total params: 14,712,675 (56.12 MB) Trainable params: 14,712,675 (56.12 MB) Non-trainable params: 0 (0.00 B)
训练时报错信息
Epoch 1/10 --------------------------------------------------------------------------- FailedPreconditionError Traceback (most recent call last) <ipython-input-21-fd9ae10ce238> in <cell line: 0>() 3 metrics=['accuracy']) 4 ----> 5 history = model.fit(train_images, train_labels, epochs=10, 6 validation_data=(test_images, test_labels)) 1 frames /usr/local/lib/python3.11/dist-packages/tensorflow/python/eager/execute.py in quick_execute(op_name, num_outputs, inputs, attrs, ctx, name) 57 e.message += " name: " + name 58 raise core._status_to_exception(e) from None ---> 59 except TypeError as e: 60 keras_symbolic_tensors = [x for x in inputs if _is_keras_symbolic_tensor(x)] 61 if keras_symbolic_tensors: FailedPreconditionError: Graph execution error: Detected at node StatefulPartitionedCall defined at (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "/usr/local/lib/python3.11/dist-packages/colab_kernel_launcher.py", line 37, in <module> File "/usr/local/lib/python3.11/dist-packages/traitlets/config/application.py", line 992, in launch_instance File "/usr/local/lib/python3.11/dist-packages/ipykernel/kernelapp.py", line 712, in start File "/usr/local/lib/python3.11/dist-packages/tornado/platform/asyncio.py", line 205, in start File "/usr/lib/python3.11/asyncio/base_events.py", line 608, in run_forever File "/usr/lib/python3.11/asyncio/base_events.py", line 1936, in _run_once File "/usr/lib/python3.11/asyncio/events.py", line 84, in _run File "/usr/local/lib/python3.11/dist-packages/ipykernel/kernelbase.py", line 510, in dispatch_queue File "/usr/local/lib/python3.11/dist-packages/ipykernel/kernelbase.py", line 499, in process_one File "/usr/local/lib/python3.11/dist-packages/ipykernel/kernelbase.py", line 406, in dispatch_shell File "/usr/local/lib/python3.11/dist-packages/ipykernel/kernelbase.py", line 730, in execute_request File "/usr/local/lib/python3.11/dist-packages/ipykernel/ipkernel.py", line 383, in do_execute File "/usr/local/lib/python3.11/dist-packages/ipykernel/zmqshell.py", line 528, in run_cell File "/usr/local/lib/python3.11/dist-packages/IPython/core/interactiveshell.py", line 2975, in run_cell File "/usr/local/lib/python3.11/dist-packages/IPython/core/interactiveshell.py", line 3030, in _run_cell File "/usr/local/lib/python3.11/dist-packages/IPython/core/async_helpers.py", line 78, in _pseudo_sync_runner File "/usr/local/lib/python3.11/dist-packages/IPython/core/interactiveshell.py", line 3257, in run_cell_async File "/usr/local/lib/python3.11/dist-packages/IPython/core/interactiveshell.py", line 3473, in run_ast_nodes File "/usr/local/lib/python3.11/dist-packages/IPython/core/interactiveshell.py", line 3553, in run_code File "<ipython-input-21-fd9ae10ce238>", line 5, in <cell line: 0> File "/usr/local/lib/python3.11/dist-packages/keras/src/utils/traceback_utils.py", line 117, in error_handler File "/usr/local/lib/python3.11/dist-packages/keras/src/backend/tensorflow/trainer.py", line 371, in fit File "/usr/local/lib/python3.11/dist-packages/keras/src/backend/tensorflow/trainer.py", line 219, in function File "/usr/local/lib/python3.11/dist-packages/keras/src/backend/tensorflow/trainer.py", line 132, in multi_step_on_iterator DNN library initialization failed. Look at the errors above for more details. [[{{node StatefulPartitionedCall}}]] [Op:__inference_multi_step_on_iterator_7615]
请问问题出在哪里?感谢帮助!
内容的提问来源于stack exchange,提问作者Nili
相关产品推荐
相关产品推荐

