Ana içeriğe atla

Kayıtlar

Mask RCNN Modelinde Karşılaşılan dtype is bool Hatasının Çözümü

Mask-RCNN modelini kullanarak segmentasyon çalışmaları yaparken başlıktaki hatayla karşılaştım. Açıkçası Mask-RCNN modeli 5 senedir güncellenmiyor ve hatalarla karşılaşmak normal. Bu soruna çözüm ararken karşılaştığım bir çözümü, internete not olsun diye düşmek istedim.  Şu   adreste scikit-image sürümünün düşürülmesi tavsiye edilmiş ancak böyle bir durumda diğer kütüphanelerle uyumsuzluk sorunu ortaya çıkabilir. Zaten ben bu çözümü uyguladığım halde hata devam ediyordu. Daha aşağılarda bir yerde, maskrcnn paketinin utils.py dosyası içerisinde yer alan resize fonksiyonunu düzeltme önerisinde bulunulmuş. Mask-RCNN paketini  şuradan yerele indirip gerekli düzenlemeleri yapabilir ve çalışmanıza dahil edebilirsiniz. Ben gerekli düzeltmeleri yaptıktan sonra artık dtype is bool hatasını almıyordum ancak bu kez de np.bool deprecated hatası almaya başladım. Ancak bu noktada basit bir şekilde utils.py dosyasında import satırlarından sonra np.bool = np.bool_ tanımlaması yaparsak sorunumuz çözül
En son yayınlar

CLAHE (Contrast Limited Adaptive Histogram Equalization) Histogram Eşitleme Tekniği

Bu yazıda CLAHE algoritmasını nasıl uygulayacağımızı ve verilen bir resmi histogram eşitlemesi için nasıl işleyeceğimizi öğreneceğiz. Bu yazıda, CLAHE algoritmasının, görüntü iyileştirme için nasıl uygulandığını göreceğiz. CLAHE, görüntü kontrast değerlerinin aşırı yüksekliği ile ilgilenen AHE algoritmasının bir varyantıdır. CLAHE, bütün resim üzerinde işlem yapmak yerine kesitler olarak adlandırılan küçük bölgeler üzerinde işlem yapar. Küçük kesitlerde yapılan işlem sonrasında oluşan yapay sınırları kaldırmak için bilinear interpolasyon işlemi uygulanarak bu küçük kesitler birleştirilerek son görüntü elde edilir.  Bu algoritma görüntü kontrastını iyileştirmek için kullanılabilir. CLAHE algoritmasını renkli görüntülere de uygulayabiliriz. Genelde HSV görüntülerin yalnızca parlaklık kanalına uygulandığı durumlarda, tüm RGB kanallara uygulamaktan çok daha başarılı sonuçlar elde etmemizi sağlar.  CLAHE algoritması uygulanırken 2 parametre önemlidir. Birincisi clipLimit parametresidir. Bu

Django PostgreSQL Full Text Search

Merhaba. Django modellerimiz üzerinde arama yaparken PostgreSQL tarafından sunulan bazı metotları görelim. Tabi bu metotları kullanabilmek için PostgreSQL kurulu olmalı ve Python tarafında "psycopg2-binary" paketini kurmalısınız. Ve daha sonra Django projenizde INSTALLED_APPS içerisine şunu eklemelisiniz; Django tarafından tüm veritabanları için sunulan full-text-search araçları yeterli gelir çoğunlukla. Ancak bazen veritabanına özgü arama özelliklerini kullanmak isteyebiliriz. Örneğin vektörel arama, benzer oranı belirli bir değerden yüksek olanları arama gibi. Bu tarz aramalar, genelde web sitelerinde bulunan arama kutusunda kullanıcının yazdığı kelimelere yakın sözcükleri kullanıcıya önerip, kısa sürede sonuca ulaşmasını sağlamaktır. Tabi bunun bir bedeli vardır, zaman gibi. Bu öneriler bir algoritma yardımıyla yapılır. Bu sebeple daha spesifik verileri elde etmek istediğimizde harcanan süre de artabilir. 

Infix to postfix dönüşümü

Infix to postfix dönüşümü, operatorün ortada olduğu a+b yazım şeklini operatorün sonda olduğu ab+ yazım şekline dönüştürme işlemidir.  Infix gösterimi, bizler için kolay bir gösterim olsa da makineler için öyle değildir. İfadeyi soldan sağa doğru okurken a + b * c işleminde önce b ile c yi çarpıp sonra da a ile toplamayı kolay bir şekilde yapabiliriz çünkü bizim ifadeyi sıra ile soldan sağa adım adım giderek okuma zorunluluğumuz yok. Önce b*c nin öncelikle olduğunu görerek oradan başlar, sonra a ile kolayca toplarız.

WebHook Nedir?

Backend teknolojileri ile ilgilendiyseniz API'nin ne olduğunu duymuşsunuzdur. REST,SOAP gibi API uygulamaları bir içerik sağlayıcısının, bu içerikle ilgilenen diğer uygulamalara bu içeriği nasıl sunacağını belirlerler. Örneğin SOAP XML yapısı içerisinde verileri sunarken, REST JSON olarak verileri sunar. API'ler genelde tetiklenmeye ihtiyaç duyarlar. Yani API kaynakları sizin hangi içeriğe ne zaman ihtiyacınız olduğunu bilmedikleri için sizin API'den bu içerikleri talep etmeniz yani request oluşturmanız gerekir. Eğer sadece bir takım olayları takip etmeniz gereken bir durumla karşı karşıyaysanız, örneğin mail sunucunuza mail gelmiş mi, bunun için belirli aralıklarla API kaynağını rahatsız etmeniz gerekir. Bu da ortada henüz içerik yokken API'lerin gereksiz yere meşgul edilmesi demektir. Bu duruma çözüm olarak işte WebHook geliştirilmiştir. 

Python Selenium İçin Firefox Driver'ı Headless Olarak Kullanmak

Merhaba arkadaşlar. Uzun bir aradan sonra tekrar yazmaya başladım :) . Okul dersleri, sınavlar derken çok şükür daha serbest olduğum bir dönemdeyim. Geçenlerde bir web sitesinden verileri çekmem gerekti ve bunu normal kütüphane ve modüller ile yapamayacağımı anlayınca selenium kullanmaya karar verdim. Çünkü, verileri çekeceğim web sitesinde sayfa dinamik olarak yükleniyordu ve javascript kodlarının yorumlanmasını gerektiriyordu. Selenium ile bu web sitesinin verilerini düzgün bir şekilde alabiliyoruz. Ben bu işlem için Firefox Driver kullandım, yani geckodriver. Ancak her seferinde Firefox penceresinin açılıp verilerin çekilmesi hiç hoş değil. Bunun için headless olarak kullanabileceğimiz bir seçenek sunulmuş. Python'da bunu yapmak kolay.

Java Metod Referansı

Java 8 ile birlikte gelen yeni bir özellik olan metod referansını bu yazıda ele alacağız. Java 8 mi kaldı demeyin, zira Java 8 ile gelen birçok yenilik halen kullanılmaktadır, dolayısıyla Java 8'i iyi anlamak, gelecek sürümler için iyi bir kazanımdır. Herşey tamamsa başlayalım. Java'da 3 tip metod referans çeşidi vardır. Bunlar; - Statik metoda referans vermek - Nesnelerin metotlarına referans vermek - Kurucu metotlara referans vermek Şimdi bunları sırayla inceleyelim.