2016-04-12 27 views
0

LeNet kullanarak rakamları (0-9) sınıflandırmaya çalışıyorum.caffe.io.Transformer LeNet sınıflandırması için kullanılacak

28x28 boyutundaki görüntüleri okuyorum, bunları dönüştürüyorum ve bir renk kanalını fileye yolluyorum.

bild = mpimg.imread('pathToImg') 
bild = np.transpose(bild,(2,0,1)) 

Ve herhangi bir anlam ifade etmeyen tahminler alın. PyCaffe'in bu işi yapan bir Transformatöre sahip olduğunu görüyorum ama LeNet için nasıl kullanacağımı bilmiyorum. Ben caffe/örneklerden/mnist gelen net kullanıyorum


(umarım verilerin cevapları ne tür net beklediği o). farklı

tek şey girişi şimdi olmasıdır:

doğrudan dağıtma prototxt kullandığımız için
input_shape { 
    dim: 1 
    dim: 1 
    dim: 28 
    dim: 28 
} 
+0

? float32' [0..255], aralık [0..1]? netiniz resmin ortalamasını mı çıkarır? neden griye dönüşmüyorsun? nasıl girdiler net eğitim boyunca işlenen? – Shai

+0

Soruyu güncelledik –

cevap

1

, sen lenet_train_test.prototxt içinde "veri" katmanı bakmak gerekir (veya bir Verilerin önceden nasıl işlendiğine dair bir gösterge veren benzer bir ada sahip dosya.

Sahip olduğum dosyalara bakarak, LeNet örneğinin tüm giriş verilerinin ölçeklendirmesini gerçekleştirdiği görülüyor. Bu

transform_param { 
    scale: 0.00390625 
} 

Yani bu eksik olabilir tek şey "veri" tabakasında aşağıdaki satırları ile belirtilir. (Özellikle Transformer) ön işlenmesi ile ilgili öneriler için imagenet tutorial göz at. 1 (küme boyutu) x - İkinci olarak,

Bu gerçekleştirdiğiniz kanal takası dayanan bir hata gibi görünüyor
bild = np.transpose(bild,(2,0,1)) 

olarak görüntüdeki okuyorsun, böylece ağa gönderilen veriler boyutlara sahip olduğundan emin olun 1 (kanallar) x 28 (yükseklik) x 28 (genişlik).

net beklediğini giriş
İlgili konular