首页 > 解决方案 > GPU:0 上的 CUDA 运行时隐式初始化失败。状态:未知错误

问题描述

对于使用 keras 库的 ImageDataGenerator,我使用以下代码。训练集数量为 8000,测试集数量为 2000。

classifier.fit_generator(
        generator = training_set,
        steps_per_epoch=8000,
        validation_data = test_set,
        validation_steps = 2000,
        epochs=25)

但是当我运行代码时,出现以下错误。我的 tensorflow 版本或 keras 版本有什么问题吗?目前我正在使用 keras 版本 = 2.2.4,python = 3.6,tensorflow 版本 = 1.11。

InternalError                             Traceback (most recent call last)
<ipython-input-88-16fbb44d18e3> in <module>()
      4         validation_data = test_set,
      5         validation_steps = 2000,
----> 6         epochs=25)

~\Anaconda3\lib\site-packages\keras\legacy\interfaces.py in wrapper(*args, **kwargs)
     89                 warnings.warn('Update your `' + object_name + '` call to the ' +
     90                               'Keras 2 API: ' + signature, stacklevel=2)
---> 91             return func(*args, **kwargs)
     92         wrapper._original_function = func
     93         return wrapper

~\Anaconda3\lib\site-packages\keras\engine\training.py in fit_generator(self, generator, steps_per_epoch, epochs, verbose, callbacks, validation_data, validation_steps, class_weight, max_queue_size, workers, use_multiprocessing, shuffle, initial_epoch)
   1416             use_multiprocessing=use_multiprocessing,
   1417             shuffle=shuffle,
-> 1418             initial_epoch=initial_epoch)
   1419 
   1420     @interfaces.legacy_generator_methods_support

~\Anaconda3\lib\site-packages\keras\engine\training_generator.py in fit_generator(model, generator, steps_per_epoch, epochs, verbose, callbacks, validation_data, validation_steps, class_weight, max_queue_size, workers, use_multiprocessing, shuffle, initial_epoch)
    215                 outs = model.train_on_batch(x, y,
    216                                             sample_weight=sample_weight,
--> 217                                             class_weight=class_weight)
    218 
    219                 outs = to_list(outs)

~\Anaconda3\lib\site-packages\keras\engine\training.py in train_on_batch(self, x, y, sample_weight, class_weight)
   1215             ins = x + y + sample_weights
   1216         self._make_train_function()
-> 1217         outputs = self.train_function(ins)
   1218         return unpack_singleton(outputs)
   1219 

~\Anaconda3\lib\site-packages\keras\backend\tensorflow_backend.py in __call__(self, inputs)
   2695 
   2696     def __call__(self, inputs):
-> 2697         if hasattr(get_session(), '_make_callable_from_options'):
   2698             if py_any(is_sparse(x) for x in self.inputs):
   2699                 if py_any(is_tensor(x) for x in inputs):

~\Anaconda3\lib\site-packages\keras\backend\tensorflow_backend.py in get_session()
    184                 config = tf.ConfigProto(intra_op_parallelism_threads=num_thread,
    185                                         allow_soft_placement=True)
--> 186             _SESSION = tf.Session(config=config)
    187         session = _SESSION
    188     if not _MANUAL_VAR_INIT:

~\Anaconda3\lib\site-packages\tensorflow\python\client\session.py in __init__(self, target, graph, config)
   1509 
   1510     """
-> 1511     super(Session, self).__init__(target, graph, config=config)
   1512     # NOTE(mrry): Create these on first `__enter__` to avoid a reference cycle.
   1513     self._default_graph_context_manager = None

~\Anaconda3\lib\site-packages\tensorflow\python\client\session.py in __init__(self, target, graph, config)
    632     try:
    633       # pylint: disable=protected-access
--> 634       self._session = tf_session.TF_NewSessionRef(self._graph._c_graph, opts)
    635       # pylint: enable=protected-access
    636     finally:

InternalError: CUDA runtime implicit initialization on GPU:0 failed. Status: unknown error

标签: python-3.xtensorflowkeras

解决方案


推荐阅读