當前位置: 首頁>>代碼示例>>Python>>正文


Python caffe.Classifier方法代碼示例

本文整理匯總了Python中caffe.Classifier方法的典型用法代碼示例。如果您正苦於以下問題:Python caffe.Classifier方法的具體用法?Python caffe.Classifier怎麽用?Python caffe.Classifier使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在caffe的用法示例。


在下文中一共展示了caffe.Classifier方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: classify

# 需要導入模塊: import caffe [as 別名]
# 或者: from caffe import Classifier [as 別名]
def classify(images, config, weights):
    """ Classifies our region proposals. """
    print("Classifying: %d region images" % len(images))

    assert(os.path.isfile(config) and os.path.isfile(weights))

    # Caffe swaps RGB channels
    channel_swap = [2, 1, 0]

    # TODO: resizing on incoming config to make batching more efficient, predict
    # loops over each image, slow
    # Make classifier.
    classifier = caffe.Classifier(config,
                                  weights,
                                  raw_scale=255,
                                  channel_swap=channel_swap,
                                 )

    # Classify.
    return classifier.predict(images, oversample=False) 
開發者ID:BradNeuberg,項目名稱:cloudless,代碼行數:22,代碼來源:localization.py

示例2: predict

# 需要導入模塊: import caffe [as 別名]
# 或者: from caffe import Classifier [as 別名]
def predict(sound_file, prototxt, model, output_path):

  image_files = wav_to_images(sound_file, output_path)

  caffe.set_mode_cpu()
  net = caffe.Classifier(prototxt, model,
                         #image_dims=(224, 224)
                         #channel_swap=(2,1,0),
                         raw_scale=255 # convert 0..255 values into range 0..1
                         #caffe.TEST
                        )

  input_images = np.array([caffe.io.load_image(image_file, color=False) for image_file in image_files["melfilter"]])
  #input_images = np.swapaxes(input_images, 1, 3)

  #prediction = net.forward_all(data=input_images)["prob"]

  prediction = net.predict(input_images, False)  # predict takes any number of images, and formats them for the Caffe net automatically

  print prediction
  print 'prediction shape:', prediction[0].shape
  print 'predicted class:', prediction[0].argmax()
  print image_files

  return prediction 
開發者ID:twerkmeister,項目名稱:iLID,代碼行數:27,代碼來源:predict.py

示例3: __init__

# 需要導入模塊: import caffe [as 別名]
# 或者: from caffe import Classifier [as 別名]
def __init__(self, base_path, deploy_path=None, model_path=None,
		patch_model="./tmp.prototxt", mean=(104.0, 116.0, 122.0),
		channels=(2, 1, 0)):
		# if the deploy path is None, set the default
		if deploy_path is None:
			deploy_path = base_path + "/deploy.prototxt"

		# if the model path is None, set it to the default GoogleLeNet model
		if model_path is None:
			model_path = base_path + "/bvlc_googlenet.caffemodel"

		# check to see if the model should be patched to compute gradients
		if patch_model:
			model = caffe.io.caffe_pb2.NetParameter()
			text_format.Merge(open(deploy_path).read(), model)
			model.force_backward = True
			f = open(patch_model, "w")
			f.write(str(model))
			f.close()

		# load the network and store the patched model path
		self.net = caffe.Classifier(patch_model, model_path, mean=np.float32(mean),
			channel_swap=channels)
		self.patch_model = patch_model 
開發者ID:jrosebr1,項目名稱:bat-country,代碼行數:26,代碼來源:batcountry.py

示例4: create_classifier

# 需要導入模塊: import caffe [as 別名]
# 或者: from caffe import Classifier [as 別名]
def create_classifier(pretrained_model):
    """Creates a model from saved caffemodel file and returns a classifier."""
    # Creates model from saved .caffemodel.

    # The following file are shipped inside caffe-doc Debian package
    model_def = os.path.join("/", "usr", "share", "doc", "caffe-doc",
                             "models","bvlc_reference_caffenet",
                             "deploy.prototxt")
    image_dims = [ 256, 256 ]
    # The following file are shipped inside python3-caffe-cpu Debian package
    mean = np.load(os.path.join('/', 'usr', 'lib', 'python3',
                                'dist-packages', 'caffe', 'imagenet',
                                'ilsvrc_2012_mean.npy'))
    channel_swap = [2, 1, 0]
    raw_scale = 255.0

    caffe.set_mode_cpu()
    classifier = caffe.Classifier(model_def, pretrained_model,
                                  image_dims=image_dims, mean=mean,
                                  raw_scale=raw_scale,
                                  channel_swap=channel_swap)
    return classifier 
開發者ID:DT42,項目名稱:BerryNet,代碼行數:24,代碼來源:classify_caffe_server.py

示例5: __load_net

# 需要導入模塊: import caffe [as 別名]
# 或者: from caffe import Classifier [as 別名]
def __load_net(self):
        # Load averaged image of ImageNet
        img_mean_file = './examples/data/ilsvrc_2012_mean.npy'
        img_mean = np.load(img_mean_file)
        img_mean = np.float32([img_mean[0].mean(), img_mean[1].mean(), img_mean[2].mean()])

        # Load CNN model
        model_file = './examples/net/VGG_ILSVRC_19_layers/VGG_ILSVRC_19_layers.caffemodel'
        prototxt_file = './examples/net/VGG_ILSVRC_19_layers/VGG_ILSVRC_19_layers.prototxt'
        channel_swap = (2, 1, 0)
        net = caffe.Classifier(prototxt_file, model_file,
                               mean=img_mean, channel_swap=channel_swap)
        h, w = net.blobs['data'].data.shape[-2:]
        net.blobs['data'].reshape(1, 3, h, w)

        return net 
開發者ID:KamitaniLab,項目名稱:icnn,代碼行數:18,代碼來源:test.py

示例6: _extract

# 需要導入模塊: import caffe [as 別名]
# 或者: from caffe import Classifier [as 別名]
def _extract(self, inputs, layername):
        # NOTE: we import the following codes from caffe.Classifier
        shape = (
            len(inputs), self.net.image_dims[0],
            self.net.image_dims[1], inputs[0].shape[2])
        input_ = np.zeros(shape, dtype=np.float32)
        for ix, in_ in enumerate(inputs):
            input_[ix] = resize_image(in_, self.net.image_dims)
        # Take center crop.
        center = np.array(self.net.image_dims) / 2.0
        crop = np.tile(center, (1, 2))[0] + np.concatenate([
            -self.net.crop_dims / 2.0,
            self.net.crop_dims / 2.0
        ])
        input_ = input_[:, crop[0]:crop[2], crop[1]:crop[3], :]
        # Classify
        caffe_in = np.zeros(
            np.array(input_.shape)[[0, 3, 1, 2]], dtype=np.float32)
        for ix, in_ in enumerate(input_):
            caffe_in[ix] = \
                self.net.transformer.preprocess(self.net.inputs[0], in_)
        out = self.net.forward_all(
            blobs=[layername], **{self.net.inputs[0]: caffe_in})[layername]
        return out 
開發者ID:rezoo,項目名稱:illustration2vec,代碼行數:26,代碼來源:caffe_i2v.py

示例7: make_i2v_with_caffe

# 需要導入模塊: import caffe [as 別名]
# 或者: from caffe import Classifier [as 別名]
def make_i2v_with_caffe(net_path, param_path, tag_path=None, threshold_path=None):
    mean = np.array([ 164.76139251,  167.47864617,  181.13838569])
    net = Classifier(
        net_path, param_path, mean=mean, channel_swap=(2, 1, 0))

    kwargs = {}
    if tag_path is not None:
        tags = json.loads(open(tag_path, 'r').read())
        assert(len(tags) == 1539)
        kwargs['tags'] = tags

    if threshold_path is not None:
        fscore_threshold = np.load(threshold_path)['threshold']
        kwargs['threshold'] = fscore_threshold

    return CaffeI2V(net, **kwargs) 
開發者ID:rezoo,項目名稱:illustration2vec,代碼行數:18,代碼來源:caffe_i2v.py

示例8: __init__

# 需要導入模塊: import caffe [as 別名]
# 或者: from caffe import Classifier [as 別名]
def __init__(self, storage, model_file=settings.BERKELEY_MODEL_FILE, pretrained_file=settings.BERKELEY_CROP_PRET, image_mean=settings.ILSVRC_MEAN, make_net=True, xDim=4096):
        super(CNN_Features_CAFFE_REFERENCE, self).__init__(storage)
        self.STORAGE_SUB_NAME = 'cnn_feature_berkeley'
        self.feature_layer = 'fc7'
        self.feature_crop_index = 0
        self.xDim = xDim

        self.sub_folder = self.storage.get_sub_folder(
            self.STORAGE_SUPER_NAME, self.STORAGE_SUB_NAME)
        self.storage.ensure_dir(self.sub_folder)

        self.model_file = model_file
        self.pretrained_file = pretrained_file
        self.image_mean = image_mean
        self.full = False

        if make_net:
            self.net = caffe.Classifier(self.model_file,
                                        self.pretrained_file,
                                        mean=np.load(self.image_mean),
                                        channel_swap=(2, 1, 0),
                                        raw_scale=255, gpu=True) 
開發者ID:yassersouri,項目名稱:omgh,代碼行數:24,代碼來源:deep_extractor.py

示例9: __init__

# 需要導入模塊: import caffe [as 別名]
# 或者: from caffe import Classifier [as 別名]
def __init__(self, model_def_file, pretrained_model_file, mean_file,
                 raw_scale, class_labels_file, bet_file, image_dim, gpu_mode):
        logging.info('Loading net and associated files...')
        if gpu_mode:
            caffe.set_mode_gpu()
        else:
            caffe.set_mode_cpu()
        self.net = caffe.Classifier(
            model_def_file, pretrained_model_file,
            image_dims=(image_dim, image_dim), raw_scale=raw_scale,
            mean=np.load(mean_file).mean(1).mean(1), channel_swap=(2, 1, 0)
        )

        with open(class_labels_file) as f:
            labels_df = pd.DataFrame([
                {
                    'synset_id': l.strip().split(' ')[0],
                    'name': ' '.join(l.strip().split(' ')[1:]).split(',')[0]
                }
                for l in f.readlines()
            ])
        self.labels = labels_df.sort('synset_id')['name'].values

        self.bet = cPickle.load(open(bet_file))
        # A bias to prefer children nodes in single-chain paths
        # I am setting the value to 0.1 as a quick, simple model.
        # We could use better psychological models here...
        self.bet['infogain'] -= np.array(self.bet['preferences']) * 0.1 
開發者ID:msracver,項目名稱:Deep-Exemplar-based-Colorization,代碼行數:30,代碼來源:app.py

示例10: __init__

# 需要導入模塊: import caffe [as 別名]
# 或者: from caffe import Classifier [as 別名]
def __init__(self, model, gpu_mode=False):
        self.model = model
        
        kwargs = {}

        if self.model.get("image_dims"):
            kwargs['image_dims'] = tuple(self.model.get("image_dims"))

        if self.model.get("channel_swap"):
            kwargs['channel_swap'] = tuple(self.model.get("channel_swap"))

        if self.model.get("raw_scale"):
            kwargs['raw_scale'] = float(self.model.get("raw_scale"))

        if self.model.get("mean"):
            kwargs['mean'] = numpy.array(self.model.get("mean"))
        
        self.net = caffe.Classifier(
            model.deploy_path(),
            model.model_path(),
            **kwargs
        )
        
        self.confidence_threshold = 0.1
        
        if gpu_mode:
            caffe.set_mode_gpu()
        else:
            caffe.set_mode_cpu()

        self.labels = numpy.array(model.labels())

        if self.model.bet_path():
            self.bet = cPickle.load(open(self.model.bet_path()))
            self.bet['words'] = map(lambda w: w.replace(' ', '_'), self.bet['words'])
        else:
            self.bet = None
        
        self.net.forward() 
開發者ID:agermanidis,項目名稱:thingscoop,代碼行數:41,代碼來源:classifier.py

示例11: list_layers

# 需要導入模塊: import caffe [as 別名]
# 或者: from caffe import Classifier [as 別名]
def list_layers(network="bvlc_googlenet"):
    # Load DNN model
    NET_FN, PARAM_FN, CHANNEL_SWAP, CAFFE_MEAN = _select_network(network)
    net = Classifier(
        NET_FN, PARAM_FN, mean=CAFFE_MEAN, channel_swap=CHANNEL_SWAP)
    net.blobs.keys() 
開發者ID:kesara,項目名稱:deepdreamer,代碼行數:8,代碼來源:deepdreamer.py

示例12: deepdream_video

# 需要導入模塊: import caffe [as 別名]
# 或者: from caffe import Classifier [as 別名]
def deepdream_video(
        video, iter_n=10, octave_n=4, octave_scale=1.4,
        end="inception_4c/output", clip=True, network="bvlc_googlenet",
        frame_rate=24):

    # Select, load DNN model
    NET_FN, PARAM_FN, CHANNEL_SWAP, CAFFE_MEAN = _select_network(network)
    net = Classifier(
        NET_FN, PARAM_FN, mean=CAFFE_MEAN, channel_swap=CHANNEL_SWAP)

    print("Extracting video...")
    _extract_video(video)

    output_dir = _output_video_dir(video)
    images = listdir(output_dir)

    print("Dreaming...")
    for image in images:
        image = "{}/{}".format(output_dir, image)
        img = np.float32(img_open(image))
        img = _deepdream(
            net, img, iter_n=iter_n, octave_n=octave_n,
            octave_scale=octave_scale, end=end, clip=clip)
        img_fromarray(np.uint8(img)).save(image)

    print("Creating dream video...")
    _create_video(video, frame_rate)
    print("Dream video created.") 
開發者ID:kesara,項目名稱:deepdreamer,代碼行數:30,代碼來源:deepdreamer.py

示例13: __init__

# 需要導入模塊: import caffe [as 別名]
# 或者: from caffe import Classifier [as 別名]
def __init__(self, model_def, pretrained_model, mean_file, label, image_dims = [256,256], channel_swap=[2,1,0], raw_scale=255.0, top_k=5):
        super(CaffeEngine, self).__init__()

        # Load model
        caffe.set_mode_cpu()
        self.classifier = caffe.Classifier(model_def, pretrained_model, image_dims=image_dims, mean=mean_file, raw_scale=raw_scale, channel_swap=channel_swap)
        
        # Load labels
        self.labels = [line.rstrip() for line in open(label)]

        self.top_k = top_k 
開發者ID:DT42,項目名稱:BerryNet,代碼行數:13,代碼來源:caffe_engine.py

示例14: load_trained_net

# 需要導入模塊: import caffe [as 別名]
# 或者: from caffe import Classifier [as 別名]
def load_trained_net(model_prototxt = None, model_weights = None):
    assert (model_prototxt is None) == (model_weights is None), 'Specify both model_prototxt and model_weights or neither'
    if model_prototxt is None:
        load_dir = '/home/jyosinsk/results/140311_234854_afadfd3_priv_netbase_upgraded/'
        model_prototxt = load_dir + 'deploy_1.prototxt'
        model_weights = load_dir + 'caffe_imagenet_train_iter_450000'

    print 'LOADER: loading net:'
    print '  ', model_prototxt
    print '  ', model_weights
    net = caffe.Classifier(model_prototxt, model_weights)
    #net.set_phase_test()

    return net 
開發者ID:yosinski,項目名稱:deep-visualization-toolbox,代碼行數:16,代碼來源:loaders.py

示例15: get_bvlc_net

# 需要導入模塊: import caffe [as 別名]
# 或者: from caffe import Classifier [as 別名]
def get_bvlc_net(test_phase=True, gpu_mode=True):
        net = caffe.Classifier(settings.DEFAULT_MODEL_FILE, settings.DEFAULT_PRETRAINED_FILE, mean=np.load(settings.ILSVRC_MEAN), channel_swap=(2, 1, 0), raw_scale=255)
        if test_phase:
            net.set_phase_test()
        if gpu_mode:
            net.set_mode_gpu()

        return net 
開發者ID:yassersouri,項目名稱:omgh,代碼行數:10,代碼來源:cub_utils.py


注:本文中的caffe.Classifier方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。