我对cuda和caffe很新。在我的代码中,我使用一个caffe模型进行一个文本行检测,另一个使用caffe模型进行chracAter识别。在检测到文本行之后,我正在并行处理所有文本行以进行分割然后进行识别。但是,在进行识别时,我得到的错误如下:
I0503 14:40:41.661458 3996 net.cpp:436] Input 0 -> data
I0503 14:40:41.661509 3996 layer_factory.hpp:76] Creating layer scale
I0503 14:40:41.661527 3996 net.cpp:111] Creating Layer scale
I0503 14:40:41.661536 3996 net.cpp:478] scale <- data
I0503 14:40:41.661545 3996 net.cpp:434] scale -> scaled
I0503 14:40:41.661563 3996 net.cpp:156] Setting up scale
I0503 14:40:41.661576 3996 net.cpp:164] Top shape: 1 1 20 20 (400)
I0503 14:40:41.661583 3996 layer_factory.hpp:76] Creating layer conv1
I0503 14:40:41.661597 3996 net.cpp:111] Creating Layer conv1
I0503 14:40:41.661605 3996 net.cpp:478] conv1 <- scaled
I0503 14:40:41.661615 3996 net.cpp:434] conv1 -> conv1
F0503 14:40:41.661710 3996 syncedmem.hpp:19] Check failed: error == cudaSuccess (3 vs. 0) initialization error
*** Check failure stack trace: ***
我该如何解决这个问题?
答案 0 :(得分:0)
我也遇到了这个问题。现在有一些建议可能对你有帮助。
为每个帖子初始化整个caffe网。
控制它的Caffe::mode_
变量是线程本地的,因此请确保在运行任何Caffe函数之前在每个线程中调用caffe.set_mode_gpu()
。
使用线程模块代替多处理模块。