Ana içeriğe atla

Kayıtlar

Windows'ta Django projesini kullanıcı girişi yapmadan Docker ile ayağa kaldırma

Öncelikle bu yazıyı tamamen kendi çalışma ortamımı baz alarak yazdığımı söylemek isterim. Yazıdaki talimatları uygulayarak bir sonuca varamayabilirsiniz ama ben daha sonraki aşamalarda ne yapmam gerektiğini ve hangi sırayla yapmam gerektiğini unutmamak için buraya yazıyorum. Belki daha sonra daha da detaylandırabilirim. Yararlandığım kaynakları da aşağıya ekleyeceğim. Direkt onlara da bakabilirsiniz. Yaptığım şeylerin çalıştığını hızlıca görebilmek adına basit bir Django projesi oluşturdum. Hiç bir model vs oluşturmadım. Her şeyiyle çalışan bir web uygulaması. Bu web uygulamamı, Windows'ta oturum açmadan ayağa kaldırmak istiyorum. Çünkü yerelde bir sunucum var ve elektrikler gittikten sonra bile, eğer eletkrikler tekrar gelirse kendini yeniden başlatacak şekilde ayarladım. Ama tekrar arayüze girip kullanıcı şifresini yazmak (şifresiz yapmak da bir çözüm ama güvenlik malum) yorucu. O halde ben giriş yapmadan arkaplanda Django uygulamam ayağa kalksın istedim.   Bunun için çeşitli yön
En son yayınlar

SNMP Protokolü ve OID Kodları

 Wireshark programını kullanarak yakaladığımız SNMP (Simple Network Management Protocol) paketlerinde data kısmında bazı sayılar var. Bunların ne olduğunu araştırdığımız zaman karşımıza OID kodları geliyor. Bu kodların hiyerarşisi şöyle:   (Kaynak:  https://tr.wikipedia.org/wiki/Dosya:SNMP_OID_MIB_Tree.png ) OID kodlarının tam olarak ne iş yaptıklarını öğrenmek için  https://oidref.com/ web sitesini kullanabiliriz. Wireshark programından kopyaladığımız OID kodunun tam olarak ne iş yaptığını görmek için verdiğim https://oidref.com/ sitesinin sonuna direkt olarak yapıştırıyoruz. Mesela şu şekilde: https://oidref.com/1.3.6.1.4.1.236.11.5.11 . Burada ilgili OID kodunun ata düğümü, alt düğümleri veya kendisiyle aynı düğüme bağlı diğer düğümleri görebiliriz.  MIB kodları bir noktadan sonra kuruluşa özel oluyor ve yukarıda verdiğimiz yerde bulamıyoruz. O yüzden kuruluşa özel araştırma yapmamız gerekiyor. Mesela Samsung Yazıcı MIB kodları şuralarda toplanmış:   https://github.com/librenms/lib

Ubuntu'da Yapay Zeka Eğitim Ortamı Hazırlama

Bazı sebeplerden dolayı bir GNU/Linux dağıtımı kurmam gerekti. Hangi sebepler? KerasCV kullanmak için 2.10 üstü bir tensorflow sürümü gerekmesi ve 2.10 üstü bir sürüm kurulumu için Windows WSL teknolojisine mecbur kalıp 2.10 üstüne çıkmak zorunda olmak. Ancak Windows makinemi kirletmek istemediğim için temiz bir kurulum yapmaya karar verdim ve herhangi bir sorunla karşılaştığım zaman çözüm aramaya kalktığımda geniş bir kitleye hitap eden Ubuntu dağıtımını kurdum. Kurulumdan sonra yapay zeka eğitimi için ekran kartını tanıtmak gerekiyor. Gerekli driver'ları repolardan çekebileceğiniz gibi, NVIDIA resmi sayfasından indirip kurabilirsiniz ancak repolar yardımıyla kurulum yapmak daha sağlamdır. Çünkü Ubuntu dağıtımı, kernel sürümüne uygun kararlı driverları repolardan indirip çekecektir.  CUDA Toolkit kurulumu için https://developer.nvidia.com/cuda-downloads adresine gidip uygun seçenekleri seçtiğinizde size indirmeniz için bağlantı veya talimatlar içeren bir komut dizisi verecektir.

GPG Key Kullanarak Doğrulanmış Git Commit Oluşturma

Github reponuzda yaptığınız değişikliklerin gerçekten siz tarafından yapıldığını göstermek için GPG gibi bir anahtar doğrulamasına ihtiyacınız var. Eğer Github hesabınızda, Ayarlar kısmında yer alan SSH and GPG Keys sayfasında Vigilant Mode seçeneğini seçerseniz, reponuzdaki commitlerin yanında bir tag kutusu belirecektir. Eğer SSH veya GPG gibi bir anahtar doğrulama mekanizması kullanmıyorsanız şu şekilde bir görselle karşılaşacaksınız Bu unverified etiketi, gönderilen commitlerin doğrulanmadığını gösteriyor. O yüzden yerel bilgisayarımızda bir GPG ve SSH key oluşturmalı, bunu github'a bildirmeli ve commitlerimizin artık bu key ile imzalanacağını git programında ayarlamalıyız. Ben GPG key kullanacağım. O yüzden bu şekilde anlatıyorum. GPG keylerde son kullanma tarihi var. Öyleyse başlayalım. Öncelikle yerel bilgisayarınıza git kurmalısınız.  Şuradan kendi işletim sistemimize uygun olanı indiriyoruz. Kurulumdan sonra git bash ve git gui kullanılabilir hale gelecektir. Git reponuzu

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. Bu noktada basit bir şekilde utils.py dosyasında import satırlarından sonra np.bool = np.bool_ tanımlaması yaparsak sorunumuz çözülmüş ol

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.