2016-01-25 29 views
11

Öğrenmek için bir caffe python veri katmanı örneği bulmak istiyorum. Fast-RCNN'nin bir python veri katmanı olduğunu biliyorum, ancak nesne algılamasını bilmediğimden oldukça karmaşık.
Sorularım, kendi veri hazırlama prosedürümü nasıl tanımlayacağımı öğrenebileceğim bir python veri katmanı örneği var mı?
Örneğin, bir python veri katmanı nasıl tanımlanırsanız, (çeviri, döndürme, vb. Gibi) daha fazla veri büyütmeyi caffe "ImageDataLayer"'dan daha fazla yapın. senin net veri sağlamak amacı piton uygulanan bir katman: caffe veri katmanı örnek adım adım

size bir "Python" katman kullanabilirsiniz

cevap

13

çok teşekkür ederim. (type: "Python" katmanı here eklemek için bir örneğe bakın). param_str hakkında daha fazla bilgi için

import sys, os 
sys.path.insert(0, os.environ['CAFFE_ROOT']+'/python') 
import caffe 
class myInputLayer(caffe.Layer): 
    def setup(self,bottom,top): 
    # read parameters from `self.param_str` 
    ... 
    def reshape(self,bottom,top): 
    # no "bottom"s for input layer 
    if len(bottom)>0: 
     raise Exception('cannot have bottoms for input layer') 
    # make sure you have the right number of "top"s 
    if len(top)!= ... 
     raise ... 
    top[0].reshape(...) # reshape the outputs to the proper sizes 

    def forward(self,bottom,top): 
    # do your magic here... feed **one** batch to `top` 
    top[0].data[...] = one_batch_of_data 


    def backward(self, top, propagate_down, bottom): 
    # no back-prop for input layers 
    pass 

this thread görüyoruz.
Ön yükleme here ile bir veri yükleme katmanı taslağını bulabilirsiniz.

+0

Açıklamalarınız için çok teşekkür ederim, bir tane uygulamaya koymaya ve kodumu buraya göndermeye çalışacağım. o (^ ▽ ^) o –

+1

Aslında caffe web sitesinde bir PR buluyorum. https://github.com/BVLC/caffe/pull/3471/files –

+0

Verileri daha hızlı yüklemek için çoklu iş parçacığını kullanmak mümkün mü? – curio1729

4

@ Shai'in cevabı harika. Aynı zamanda, caffe-master'ın bir PR'sinde python veri katmanı hakkında ayrıntılı bir örnek buluyorum. https://github.com/BVLC/caffe/pull/3471/files Umarım bu ayrıntılı örnek başkaları için yararlıdır.

+0

Çok teşekkür ederim, prototxt dosyasını nasıl yapılandırmamız gerektiğini biliyor musunuz? Aslında tam olarak ne istediğini yapmaya çalışıyorum ama kafam karıştı. Kod baktıktan sonra bile. Sorunum, önce görüntü kaynağını prototip içinde nasıl tanımladığımız ve bundan sonra farklı parametreleri nasıl okuduğumuzdur. Uygulamanızı bizimle paylaşırsanız memnun olurum. bize çok yardımcı oluyor. – Breeze

+0

Bitti :) Linkiniz için çok teşekkür ederim. Birkaç Shais cevabını izledim ve sevgili Tanrı'ya şükürler olsun, her şeyi koşturdum :) – Breeze