Caffe NN中的前向传球并行

时间:2016-05-19 10:45:23

标签: python multithreading multiprocessing caffe pycaffe

我有一个Caffe神经网络,我想在网络中进行前向传递(使用GPU)而不阻塞主线程。我正在使用python,我尝试使用线程和多处理。他们正在使用CPU,即使我要求它使用GPU。这是我的代码:

$request_object->post('https://oauth.io/auth/access_token', array(
    'code' => 'xxx', // here I tried access_token, refresh_token
    'key' => 'xxx',
    'secret' => 'xxx',
));

1 个答案:

答案 0 :(得分:2)

我有一个非常相似的问题。

使用

caffe.set_mode_gpu()
子线程中的

解决了它。

所以试试:

class MultProcessingWorker(mp.Process):
    def run(self):

        caffe.set_mode_gpu() # <---  should fix the problem

        param = config()
        self.model = param.model
        self.net = caffe.Net(self.model.deployFile, self.model.caffemodel, caffe.TEST)
        input_data = np.random.rand(1,4,self.model.width,self.model.height)
        start = time()
        self.net.forward(data=input_data)
        print 'Success, took %f seconds' % (time()-start)