Tensorflow, Google Brain takımı tarafından geliştirilmiş bir açık kaynak kodlu yazılım kütüphanesi ve makine öğrenmesi ile derin öğrenme konusunda ciddi desteği vardır. CPUs,GPUs,TPUs ile masaüstü bilgisayarlardan sunucu kümelerine,mobil cihazlara kadar değişik platformlara yüklenebilmektedir. Java,C ve Go gibi dilleri desteklemektedir.Bu yazıda Tensorflow ile nesne algılama nasıl yapılır anlatılacaktır. Örneğimiz Java’da olacaktır. Tensorflow projeye Maven bağımlılığı olarak şu şekilde eklenebilir:

 <dependency>
   <groupId>org.tensorflow</groupId>
   <artifactId>tensorflow</artifactId>
   <version>1.8.0</version>
 </dependency>

Veya buradan jar dosyasını indirerek de kullanabilirsiniz.

Nesne algılama için öncelikle bir modele ihtiyacınız var. Modeller eğitilerek oluşturulabilmektedir. Örneğin, bir modeli elma ağacının bir sürü değişik fotoğrafı ile eğitebilirsiniz. Böylece o modele başka bir elma ağacı gösterdiğinizde onu tanıyabilecektir. Burada kullanabileceğiniz hazır modeller vardır.

Modeller protocol buffer formatındadır. Protocol buffer hızlı,küçük ve basit bir formattır. Öncelikle yapınızı belirliyorsunuz ve daha sonra protocol buffer derleyicisi tarafından oluşturulan dosyayı kullanarak yapınızı okuyup yazabilirsiniz. Bu dosyalar .proto uzantılıdır.

Tensorflow önceden hazırlanmış modeller için şu proto dosyasını kullanabilirsiniz. Protocol buffer derleyicisini yükledikten sonra şu komutu çalıştırın:

protoc –java_out=./ string_int_label_map.proto

Bu komut ile bir java dosyası oluşturacak ve siz bu dosyayı nesne algılama kodunuzda kullanabilirsiniz. Bu dosyayı önceden hazırlanmış ve pbtxt uzantısındaki modelleri yüklerken kullanılacaktır.

Burada bulunan hazır nesne tanımlarını kullanabilirsiniz. Kullandığınız modele göre uygun bir tanım dosyası kullanmanız gerekmektedir.

Son olarak, burada nesne algılama için örnek java proje dosyası bulunmaktadır.

Kategoriler: Makale