Многопроцессорность с Python и Caffe

У меня есть предварительно обученная модель кафе, и я пытаюсь сделать с ней прогноз. Однако я пытаюсь выполнить этот прогноз в отдельном процессе, используя модуль многопроцессорности Python, чтобы не замедлять работу основной программы. Однако процесс, кажется, зависает при попытке сделать прогноз. Это возможно с кофе? Если нет, существуют ли другие методы эффективной параллельной обработки с помощью caffe в python?

Вот упрощенная версия моего кода

def predict(pretrained_network, data):
    prediction = pretrained_network.predict([data])
    return prediction

#Main Program

#Network loaded here 

while True:
    #Grab data
    p = multiprocessing.Process(target=predict, args=(pretrained_network, data))
    p.daemon = True
    p.start()
    #Do other stuff

person user3543300    schedule 28.01.2016    source источник


Ответы (1)


Вы можете обрабатывать изображения в пакетном режиме, используя pycaffe. Это намного быстрее, чем обработка изображений по одному. Вы можете изучить код класса классификатора pycaffe https://github.com/BVLC/caffe/blob/master/python/caffe/classifier.py#L89 для получения подробной информации.

person kli_nlpr    schedule 28.01.2016
comment
У меня есть изображения, поступающие через видеопоток, поэтому пакетная обработка невозможна. Есть ли способ сделать это с помощью многопроцессорного модуля Python? - person user3543300; 29.01.2016