InternalError:Google Colab 中的 GPU 同步失败

Posted

技术标签:

【中文标题】InternalError:Google Colab 中的 GPU 同步失败【英文标题】:InternalError: GPU sync failed in Google Colab 【发布时间】:2018-08-27 08:14:09 【问题描述】:

在尝试使用 GridSearchCV 调整 ANN 模型时,我在 Google Colab 中遇到了以下错误。任何人都可以帮助我解决这个问题或遇到过类似的问题吗?

def build_classifier(optimizer):
    classifier = Sequential()
    classifier.add(Dense(units = 6, kernel_initializer = 'uniform', activation = 'relu', input_dim = 11))
    classifier.add(Dense(units = 6, kernel_initializer = 'uniform', activation = 'relu'))
    classifier.add(Dense(units = 1, kernel_initializer = 'uniform', activation = 'sigmoid'))
    classifier.compile(optimizer = optimizer, loss = 'binary_crossentropy', metrics = ['accuracy'])
    return classifier
classifier = KerasClassifier(build_fn = build_classifier)
parameters = 'batch_size': [25, 32],
              'epochs': [100, 500],
              'optimizer': ['adam', 'rmsprop']
grid_search = GridSearchCV(estimator = classifier,
                           param_grid = parameters,
                           scoring = 'accuracy',
                           cv = 10)
grid_search = grid_search.fit(X_train, y_train)
best_parameters = grid_search.best_params_
best_accuracy = grid_search.best_score_

错误:

Epoch 1/100

InternalError                             Traceback (most recent call last)
/usr/local/lib/python3.6/dist-packages/tensorflow/python/client/session.py in _do_call(self, fn, *args)
   1360     try:
-> 1361       return fn(*args)
   1362     except errors.OpError as e:

/usr/local/lib/python3.6/dist-packages/tensorflow/python/client/session.py in _run_fn(session, feed_dict, fetch_list, target_list, options, run_metadata)
   1339           return tf_session.TF_Run(session, options, feed_dict, fetch_list,
-> 1340                                    target_list, status, run_metadata)
   1341 

/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/errors_impl.py in __exit__(self, type_arg, value_arg, traceback_arg)
    515             compat.as_text(c_api.TF_Message(self.status.status)),
--> 516             c_api.TF_GetCode(self.status.status))
    517     # Delete the underlying status object from memory otherwise it stays alive

InternalError: GPU sync failed

【问题讨论】:

这个错误可以重现吗? 【参考方案1】:

尝试限制使用的内存量。它会减慢训练速度,但这对我来说解决了这个问题..

config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.3
set_session(tf.Session(config=config))

【讨论】:

如果您仍然收到此错误,请尝试减少批量大小。【参考方案2】:

尝试将运行时类型从“GPU”更改为“无”。这可能会给你一个更有用的不同错误!

【讨论】:

不同的错误不一定是朝着正确方向迈出的一步。对于深度神经网络,您总是更喜欢使用 GPU。如果不使用 GPU,与本地计算机相比,在 colab 上运行代码的优势非常有限。

以上是关于InternalError:Google Colab 中的 GPU 同步失败的主要内容,如果未能解决你的问题,请参考以下文章

Google工作表复选框结果为新行

Google API php 快速入门 listFiles() 500 内部错误

Google表格 - 费用表的公式

PostGIS 错误 - PG::InternalError: 错误: 无法加载库

AWS ASG 错误状态转换原因 Server.InternalError

pymysql.err.InternalError: 1075