为什么使用gpu的keras model.fit导致分割错误?

问题描述

我正在使用tensorflow == 2.0.0和keras == 2.3.1来实现Yolo3和Yolo4。

场景1:当我使用cpu和model.fit()时,它可以工作。

方案2:当我使用gpu和急切模式(tf.GradientTape())时,它可以工作。

场景3:当我使用gpu和model.fit()时,它总是无法工作并抛出错误 Segmentation fault 。但是,它有时只能工作并且只打印一条消息警告:tensorflow:Method(在上。

所以我尝试缩小批处理大小。它仍然有错误。我还使用 gdb 来找到出现以下错误的错误:

Thread 75 "python" received signal SIGSEGV,Segmentation fault.

[Switching to Thread 0x7ffe45fff700 (LWP 6825)]
0x00007fff833b3a62 in tensorflow::NodeExecStats::Clear() ()
from /home/andy/anaconda3/envs/tf2/lib/python3.7/site-packages/tensorflow_core/python/../libtensorflow_framework.so.2

Thread 90 "python" received signal SIGSEGV,Segmentation fault.
[Switching to Thread 0x7ffe017fa700 (LWP 19479)]
0x00007fff88f757d1 in tensorflow::(anonymous namespace)::MaybeCopyInputToExpectedDevice(tensorflow::EagerOperation*,tensorflow::Device*,int,tensorflow::RunMetadata*,tensorflow::TensorHandle**) [clone .constprop.461] ()
from /home/andy/anaconda3/envs/tf2/lib/python3.7/site-packages/tensorflow_core/python/_pywrap_tensorflow_internal.so

我是 gdb 的新手。我不知道为什么每次运行它都会收到不同的消息。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)