如何在pp中的函数中调用模块,其中函数中有其他函数?

时间:2017-04-07 15:34:29

标签: python parallel-processing multiprocessing parallel-python

我目前正在使用并行python,并且在job_server.submit的参数中,我在模块中添加了库,但问题是即使该库中还有其他库。所以我该怎么办? 以下是我试图运行的代码:

    from tools.demo import detect_cn
    import pp

    job_server = pp.Server()
    f1 = job_server.submit(detect_cn, (filename,),modules=('tools.demo',))
    f2 = job_server.submit(detect_cn, (filename1,),modules=('tools.demo',))


    cnis, preproc_time, roi_file_images=f1()
    cnis1, preproc_time1, roi_file_images1=f2()

这是demo.py

代码的一部分
import _init_paths
from fast_rcnn.config import cfg
from fast_rcnn.test import im_detect
from fast_rcnn.nms_wrapper import nms
from utils.timer import Timer
from ocr.clstm import clstm_ocr
from ocr.clstm import clstm_ocr_calib
import matplotlib.pyplot as plt
import numpy as np
import scipy.io as sio
import caffe, os, sys, cv2
import argparse
import werkzeug
import datetime
import math
import pytesseract
from PIL import Image


def detect_cn(filename):
cfg.TEST.HAS_RPN = True  # Use RPN for proposals

args = parse_args()

prototxt = os.path.join(cfg.MODELS_DIR, NETS[args.demo_net][0],
                        'faster_rcnn_alt_opt', 'faster_rcnn_test.pt')
caffemodel = os.path.join(cfg.DATA_DIR, 'faster_rcnn_models',
                          NETS[args.demo_net][1])

if not os.path.isfile(caffemodel):
    raise IOError(('{:s} not found.\nDid you run ./data/script/'
                   'fetch_faster_rcnn_models.sh?').format(caffemodel))

if args.cpu_mode:
    caffe.set_mode_cpu()
else:
    caffe.set_mode_gpu()
    caffe.set_device(args.gpu_id)
    cfg.GPU_ID = args.gpu_id
net = caffe.Net(prototxt, caffemodel, caffe.TEST)

print '\n\nLoaded network {:s}'.format(caffemodel)

print '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
print 'Demo for CN image...'
return demo2(net, filename)

你认为我应该在job server.submit的模块中加载所有这些库吗? 我想使用pp bacause detect_cn需要2分钟才能给出结果 任何想法?

1 个答案:

答案 0 :(得分:0)

是的,当你将你的功能提交到执行队列时,你应该导入所有这些模块。

f1 = job_server.submit(detect_cn, (filename,),modules=("math","numpy", ...))