16 bit veriyi kabul etmek için Caffe'de bazı değişiklikler yapmaya çalışıyorum.
image_convert
veya DIGITS yardımcı programları ile oluşturulabilen olağan 8 bit lmdb olacağı gibi "dize" olarak kaydedilmiş, olağan kafe yerine 8 bit işaretsiz 256x256 görüntüyle doldurulmuş bir lmdb veri kümesi oluşturmayı başardım.
Bu lmdb'yi 16bit "string" verilerinde oluşturmak için io.py
işlevlerini array_to_datum
ve datum_to_array
değiştirdim. Şimdi, eğer bu lmdb'yi caffe'de kullanırsam (sadece 4 sınıf), ağlar çalışır ancak yakınsama olmaz. Verilerimi düzgün bir şekilde okumadığından şüpheleniyorum. Sorun şu ki, array_to_blobproto
ve blobproto_to_array
numaralı io.py
işlevleri iç veri içerikleri arasında herhangi bir ayrım yapmıyor gibi görünüyor ve 16 bit ile çalışırken değiştirmem gereken kodu bulamıyorum.
Herkes bana nerede çalışacaklarına dair ipucu verebilir mi?Caffe'yi lmdb içinde 16 bit veri kabul edecek şekilde değiştirme
Düzenleme: Kodda dolaşırken, bmd üzerinde lmdb'yi kullanmadan doğrudan png üzerinde çalışmak istersek, yeni bir veri katmanı veya yeni bir görüntü veri katmanı oluşturma olasılığının olması gerektiğini düşünüyorum. Ama bu C++ kodunu değiştirmeye çalışmak benim için önemsiz bir görev değil, esp. Kod içindeki veri akışını kolayca takip edemiyorum. Yeni katmanın python dilinde yazılabildiğini görüyorum. Yeni bir girdi veri katmanının güzel çalışabileceğini veya cnn performansını yavaşlatabileceğini düşünüyor musunuz?