コード例 #1
0
ファイル: sbir_retrieval.py プロジェクト: CityU-HAN/DeepSBIR
def extract_features(net_, config):
    db = MemoryBlockManager(config.DB_PATH, False)
    if config.verbose:
        print 'extracting features of %s' % config.dataset
    t = time()
    num_samples = 10 * db.num_samples
    feats = np.zeros((num_samples, get_feature_dims(net_, config.feat_layer)), np.single)
    idx = 0
    while not db.eof():
        batch_data, _ = db.pop_batch(config.batchsize) # batchsize 128
        transformed = do_multiview_crop(batch_data, config.crop_dim)
        transformed = transformed - config.mean_val
        num, chns, rows, cols = transformed.shape
        net_.blobs['data'].reshape(*(num, chns, rows, cols))
        output = net_.forward(data=transformed.astype(np.float32, copy=False))
        target = output[config.feat_layer]
        feats[idx:idx+num, ::] = reshape_feature(target)
        idx += num
    if config.verbose:
        print 'feature computation completed (%0.2f sec.)' % (time()-t)
    return feats
コード例 #2
0
def extract_features(net_, config):
    db = MemoryBlockManager(config.DB_PATH, False)
    if config.verbose:
        print 'extracting features of %s' % config.dataset
    t = time()
    num_samples = 10 * db.num_samples
    feats = np.zeros((num_samples, get_feature_dims(net_, config.feat_layer)),
                     np.single)
    idx = 0
    while not db.eof():
        batch_data, _ = db.pop_batch(config.batchsize)  # batchsize 128
        transformed = do_multiview_crop(batch_data, config.crop_dim)
        transformed = transformed - config.mean_val
        num, chns, rows, cols = transformed.shape
        net_.blobs['data'].reshape(*(num, chns, rows, cols))
        output = net_.forward(data=transformed.astype(np.float32, copy=False))
        target = output[config.feat_layer]
        feats[idx:idx + num, ::] = reshape_feature(target)
        idx += num
    if config.verbose:
        print 'feature computation completed (%0.2f sec.)' % (time() - t)
    return feats