layer.py 文件源码

python
阅读 27 收藏 0 点赞 0 评论 0

项目:QScode 作者: PierreHao 项目源码 文件源码
def _get_next_minibatch_mp(self):
        """For multiprocessing mode, read image in training process"""
        db_inds = self._get_next_minibatch_inds()
        datum = []
        def addIm(img):
            im = cv2.imread(img)
            im = dataset.pad(im)
            im = im - params._mean
            # change (h,w,c) to (c,h,w)
            im = np.rollaxis(im,2)
            return im 

        #dataset = data.Dataset()
        lock = threading.Lock()
        def process(i):
            for idx in xrange(3):
                try:
                    im = addIm(self._db[i][idx])
                except:
                    print "error with read line: ",self._db[i]
                lock.acquire()
                data[str(i)+str(idx)] = im
                lock.release()

        data = {}
        arr = []
        #p = ThreadPool(params._num_thread)
        p.map(process, [i for i in db_inds])
        for i in db_inds:
            arr.append(data[str(i)+str(0)])
            arr.append(data[str(i)+str(1)])
            arr.append(data[str(i)+str(2)])
        arr = np.array(arr)
        datum.append(arr.copy())
        blobs = {name: datum[i] for name,i in self._name_to_top_map.iteritems()}
        return blobs
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号