Derin Deli Mavi: Eylül 2008
ALLAH(cc)!Sensin ALLAH(cc) sanadır kulluğumSendedir çarem seninledir varlığımSeni arar ruhum seni anar kalbimBaşkasına değil sana muhtacımBaşkasını değil seni çağırırımBaşkası yaratılmıştır sen yaradansınBaşkası devamsızdır sen daimsin ve daim eyleyensinBaşkaları muhtaçtır sen ihtiyaçsızsın ihtiyaçları görensinBaşka ilah yok sen ALLAH(cc)'sınSen ki eşi benzeri olmayansınSen ki bütün eksiksiz sıfatların sahibisinCemaline çevir yüzümü başkasına rağbet ettirme kalbimi...Ya Melik!Kimsenin kimseye fayda vermediği gün hüküm seninGökler yarılırken sahibim sensinYıldızlar dağılırken sahibim sensinVarlığım bana ait değil varım yoğum seninElimde olanlar benim değil sahiplendiklerim de seninYokluğa düşürme beni an seninDarlık verme kalbime mekan senin...Ya Mümin!Sen hidayetini göndermezsen kalpler nasıl mutmain olurSen kalplere itminan vermezsen kim inandığından emin olurSen inandırmazsan kim mümin kalırHevamın tuzağına düşürme beni nefsimin diline bırakma beniÖyle mümin eyle ki beni pişmanlıklarım beni sana döndürsün...Ya Cebbar!Sen ki mağrurları gururlarına esir eylersinSen ki kibirlenenlerin boynuna kibirlerini tasma eylersinSen ki zor kullanıp zulmedenleri vicdanlarının pençesine hapsedersinBir sineği vasıta eyle de Nemrutlardan kurtar beniBir asayı vesile eyle de firavunlara galip getir beniEbabilleri gönderde Ebrehelerin fillerinden koru kalbimiNefsimin beni isyana zorlamasına izin vermeAklımın beni saptırmasına geçit vermeHep itaat üzre sabit kıl beni...Ya Musavvir!Yokluğa varlık suretini giydiren sensinHiçliğe varlık boyasını çalan senGüzeli güzel kılan ancak senin tasvirindirSen ki yüzümü benim için biricik sevdiklerim için tanıdık eylersinKatında makbul olan güzellikle tasvir eyle suretimi... Ya Alim!Senin için bilmenin başı yokturBen ancak sonradan bilirimSenin bilmediğin bir an yokturBen ancak bazen bilirimSen açık edip söylediğimi de bilirsinSen susup kendime sakladığımı da bilirsinUnutup kendimden sakladığımı da bilirsinKendi kuyularıma aklımın iplerini salarımKendime aklım ermez sen beni benden çok bilensinKalbimin kuytularında el yordamıyla dolaşırımKendime kendim yetmez sen bana benden çok sırdaşsınBildiğimi bilenlerden eyle beni bilmediğimi bilenlerden eyle beniSana malum olan ayıp ve kusurlarımla utandırma beni...Ya Hafiz!Hıfzının hazinesinde alem bir noktadan ibarettirHıfzının ayinesinde ay ve güneş sönük bir parıltıdan ibarettirBahar kışa döner bir gün gün akşama çıkarSabahlar sendendir koru beni sabaha eriştirYıldızlar söner bir gün dağlar yerinden oynarGökler senindir koru beni kapına yetiştirGöklerde ölür bir gün yer yerinden oynarHer yer senindir koru beni menzile eriştirKuşlar dağılır bir gün denizler kaynar ufuklar senindirKoru beni ötelere eriştirİsmim unutulur bir gün sesim boşlukta çınlarYakınlıklar sendendirKoru beni yakınlığına eriştirDefterim açılır bir gün günahlarım çok tutarTakdir senindir koru beni affını yetiştirSözüm biter bir gün sessizlik uzar kelam senindirKoru beni müjdeni yetiştir...Amin99 Esma / Senai DemirciKadir gecenizi tebrik eder dua eder dualarınızı bekleriz...
Bu aralar uzun laf edecek durumda değilim Daha önce bahsettiğim görüntü Önişlemcisini ( cvPreProcessor ) biraz toparladım yayınlayıp bir fikir soralım hatalar bildirilsin onları düzeltelim dedim. Bilmem anlatabildim mi meramımı sayın okuyucuİndirmek için buyrunuz : cvPreProcessor 0.7
Turing Testini geçemezsin demedim Adam Olamazsın dedimAdamın birinin çok haylaz bir oğlu varmış adamcağız sürekli senden adam olmaz der dururmuş. Haylaz çocuk evden kaçmış ve yıllar sonra bir şekilde o yöreye vali olmuş. Makamına oturunca babasının adını verip alın getirin diye emir vermiş. adamı yaka paça tutup getirmişler. vali "baba bana adam olmaz diyordun bak ben vali oldum" demiş ihtiyar adam acı acı gülümsemiş şöyle demiş "be oğul ben sana vali olamazsın demedim adam olamazsın dedim"Bu Kıssa herhalde fikrimiz anlatmamıza yeterli gelir. İnasanoğlunun zekasına ulaşacak bir sistemin inşası hesap üzere kurulamaz. Bu konuda çok itiraz var. Bizim de bahsettiğimiz Çin odası deneyi mesela. bilgisayarların Algoritmik olarak çalışması oysa algorithmik çözümü olmayan problemlerin varlığı insanın bunları çözebliyor olması. Sonra meşhur durma problemi. Gödelin Eksiklik teoremi gibi. Bunca itiraza rağman YZ ciler bunların teknik problemler olduğu bir şekilde ! aşılacağı konusunda sonderece iyimserler. Hatta iddiaya girenler bile var. Amma bütün bunların ötesinde bizce insanı insan yapan tek başına zeka da değildir.Evet medarı iftiharımız Bütün dünyanın takdir ettiği bir Zekadan Oktay Sinanoğlundan bir alıntıyla devam edelimBatı zannetmiştir ki, akıl her şeyden üstündür. Oysa bu düşünce eksiktir. Neden çünkü Akıl bir uzuvdur. Nasıl insanın bacağı yürümeye yararsa, akıl , beyin de biyolojik bilgisayar gibi bir şeyleri hesap etmeye yarar. Mesela Kastamonu'ya gitmeye karar verseniz, oraya giderken en kestirme kaç kilometre, nekadar engebelidir, haritalara bakarak öğrenilebili, bunu bilgisayarda yapar gibi saptayabilirsiniz. Bu işin bilgisayarıdır. Ama bilgisayar Kastamonu'ya gitmek için karar verdirmez. Nereye gitmek istediğini sana söyleyen içindeki sestir. Yani, gönüldür. İşin manevi tarafı birtakım önemli kararları aldırır. Ondan sonra işin ayrıntısını, nasılını akıl bulur....Aklın gönlün emrinde olması lazım. Yoksa akıl muzırlıkla uğraşır. Nitekim her yerde görüyoruz. Gönül terbiyesinden, hatta gönül kavramından bile mahrum olan batı'da ki bilim adamlarından bazıları ne yapmışlardır ? Bilimle atom bombası yapmışlardır, çeşitli bombalar yapmışlardır. Zehirli gazlar, biyolojik silahlar yapmışlardır. Bunlarla milyonlarca insanın perişan edilmesine yol açmışlardır.Gönül terbiyesi olan insanlar bbunu yapmaz. Bilimi insanlığın hayrına kullanır. Onun için gönül olmadan bilim ve akıldan zarar gelebilir.Bilim bir çeşit alet gibidir, iyiyede kötüyede kullanılabilir. Bir bıçakla ekmek dilimleyip meyve soyabileceğiniz gibi insan da öldürebilirsiniz. Allah insanoğlunu halifeyi ruy-i zemin olarak yaratmıştır. İstidatlarına da hemen hemen had konulmadığı düşünülürse. İnsanoğlu Yapay Zeka konusunda bazı aşamalar kaydedebilmesi pekala mümkün. İşte bu aşamalara katkıda bulunurken dikkat edelim Bindiğimiz dalı kesiyor olmayalım. Bütün insanlığa zarar verecek bir çalışma içinde bulunmayalım. İlmimiz insanlığa faydalı olsun, Zarar vermesin hatta faydasızda olmasın.Allahım! Faydasız ilimden,ürpermeyen gönülden,doymak bilmeyen nefisten vekabul olunmayan duadan sana sığınırım.Not : Fazlasıyla acele bir bitiş oldu ama kusura bakmayın, söylenecek söz çok da bizde istidat yok
Öncelikle uygulamamızdan bahsetmek istiyorum. Basit bir kenar bulma işlemi yapacağız. Hem OpenMP'li Hemde normal yapacağız ki performans farkını görelimİlk etapta resmi siyah beyaza çeviriyoruz. Bu işlemi programda görüntüyü yüklerken "CV_LOAD_IMAGE_GRAYSCALE" diyerek hallediyoruz. (bakınız işin kolayına kaçma metodları s-??? )Kenar bulma için kullanacağımız metod ise gayet basit. Bir pikselin solundaki veya üstündeki piksel ile olan renk farkı belli bir eşik değerini aşıyorsa kenardır, beyaz (255) olarak işaretlenir. Aşmıyorsa kenar değildir, Siyah (0 ) değeri atanır.yani X kenarı bulunacak görüntü dosyası olsun K ise Kenarları gösterdiğimiz görüntü dosyası olsunEğer |X(i,j)-X(i-1,j)| > eşik veya |X(i,j)-X(i,j-1)| > eşikise K(i,j)=255;değil ise K(i,j)=0;işlemin mantığından da anlayabileceğiniz gibi her piksel için yapılacak işlem bağımsız. ve paralel olarak çalıştırmak için gayet uygun bir metod.Kenar bulma fonksiyonumuzda bir döngü ( for ) içinde pikselin kenar olup olmadığını bulan kodu yazıyoruz.Şimdi geldik işin en zor kısmı olan paralel versiyonunu yazmaya. Kenar bulma fonksiyonumuzu kopyele yapıştır deyip 2. bir nüshasını alıyoruz ! Adını OpenMP li olarak değiştiriyoruz. for döngümüzden önceki satıra şu çoook zor satırı yazıyoruz. #pragma omp parallel foryani diyoruz ki bundan sonraki for döngüsünü paralel çalıştırılsın.Sonarasında çalıştırıp sonuçları gözlüyoruz.Benim evdeki AMD64 çift çekirdekli işlemcideki performansı Resimde de görebilirsiniz. % 44 lük bir hızlanma hem de tek satırlık eklemeyle hiç fena değil öyle değilmi ? Farkın nereden geldiğini CPU Usage grafiğinde rahatlıkla görebilirsiniz. OpenMP siz kenar bulma fonksiyonu çalışırken işlemcinin sadece biri çalışıyor. OpenMP li versiyonunda işlemci kullanımı % 100 lere ulaşıyor.Sonuç : OpenMP ile işlemcinizin atıl duran çekirdeklerinide çalıştırıp programlarınızı hızlandırabilirsiniz. Hatta hiç başka bir detay öğrenmeseniz bile bizim burada bahsettiğimiz paralel çalıştırılabilecek döngüler çok işinize yarıyacaktır eminim. Helede İşlemcilerin çekirdek sayılarının arttığını düşürsek - 4 çekirdekli çıktı bile-Örneği İndirmek için : OpenCV & OpenMP4 çekirdekli işlemcisi olup da deneyen olursa performans artışını bize bildirsin. seviniriz. Gönderen
ReklamlarStart(); DerinDeliMavi'den bir ilk daha , Sizler için hiçbir fedakarlıktan kaçmayan sitemiz size yine yeni imkanlar sunuyor. Hafta sonu yemeyip içmeyip - oruç oruç - sizlere neler hazırladık neler...ReklamlarEnd();Benim gibi çiftçekirdekli bir işlemciniz varsa yazdığınız programların CPU kullanımına baktığınızda Yukardaki grafikteki I numaralı bölümdeki gibi bir manzarayla karşılaşırsanız. Yani uzunlafın kısası Bilgisayarınız çift çekirdekli ama Yazıl sadece birini kullanıyor. Paralel programlama işi de burada ortaya çıkıyor. Bütün her iş için olmasada paralel olarak çalıştırarak programın hızlanması imkanına sahibiz. Grafiğin II kısmında görebileceğiniz gibi. Yapılacak iş teorik olarak şöyle ; Aynı görevi, küçük bir birinden bağımsız çalışmasında mahzuru olmayacak şekilde bölüp çoklu işlemcilerde eş zamanlı olarak çalıştırılmasıdır.İşte OpenMP bu işi kolaylaştırmak için yapılmış API dır. Pek çok donanım ve işletim siteminde çalışan ve basit derleyici ön işlem direktifleriyle kullanacağınız bir sistem. OpenMP nin çalışma sistemi program paralel işletilmesi gereken kısımlarda dallanır paralel çalışıp işlem bitince tekrar birleşmesi şeklinde olur. ( Fork - Join Model )Bu kadar teorik bilgi yeter daha fazlasını merak eden google'dan soruştursun. Yukarda bahsettiğimiz üzere OpenMP derleyici önişlem direktifleri kullanıyor yani öncelikle OpenMP desteği sunan bir derliyiciye ihtiyacınız olacak.OpenMP desteği sunan derleyicilerhttp://openmp.org/wp/openmp-compilers/Linkde gördüğünüz gibi Eğer Linux kullanıcısıysanız ve derleyiciniz gcc 4.2 ve üstünde probleminiz yok. Microsoft Visual kullanıyorsanız OpenMP 2.0 destekleniyor ve ücretsiz versiyonlarında olup olmadığından da emin değilim. Benim gibi CodeBlocks ile Mingw32 kullanıyorsanız "TDM's Experimental GCC/MinGW32 Builds" kurmanız lazım.Yapılacak işlemlerhttp://www.tdragon.net/recentgcc/ adresinden Bundled Installer ı indirinDaha önceden Mingw yi kurğunuz yerin üzerine kurun.Hemen güzel bir OpenMP makalesi okuyun.CodeBlocks ' çalıştırıp yeni bir console projesi oluşturunProject->Build Options kısmından Linker settings tabında Link libraries kısmına gomp ve pthread girinProject->Build Options->Compiler Settings tabının other options kısmına -fopenmp girinİşlem tamam. Artık bütün bunlarun üstüne şöyle basitçe hemde OpeCv li bir program yazmaya başlayabiliriz. Malum Performans en çok Görüntü işlemede lazım oluyor...Devam edecek...
Eskiden herhangi bir konuda örnek program bile bulabilmek zor işti. Bilgisayar dergileri ya programlamayla ilgili ekler verirlerdi yada içlerinde 3 - 5 yazı olurdu. Ve o zor imkanlarla elimize geçen kaynakları tabiri caiz ise son damlasına kadar kullanırdık. Günümüzde özelliklede internet sayesinde bilgiye ulaşmanın çok kolaylaşmasına rağmen insanlar bu imkanlardan yeterince faydalanmıyorlar. Bu konuda eski bir arkadaşa sızlandığımda. Arkadaşım "Bir şeyler kolayca elde edilince kıymeti bilinmiyor" dedi ve galiba haklıydıda...Ben şimdi size yine İngilizcesi ve de İyi bir internet bağlantısı olan için gayet kolayca ulaşabileceğiniz bir kaynakdan bahsedeceğim. videolectures.net "exchange ideas / share knowledge" sloganıyla çalışan bir site. Envai çeşit konuda video şeklinde dersleri slayt gösteriside yanında olmak üzere seyredebiliyorsunuz. Mesela Computer Vision konusunda 41 tane ders görünüyor. Öğrenmek isteyen için büyük fırsat.Hemen her filim için türkçe alt yazı hazırlayan internette kolaylıkla bulabilmeniz için siteler hazırlayan fedakar insanlarımızın bu video derslerinden haberleri yok herhalde. Yoksa filimlerden katbe kat memleketimiz için daha faydalı olan dersler içinde alt yazı hazırlamazlar mı ...Üniversitedeki Fedakar hocalarımızın böyle bir imkandan haberleri yok olmalı. Yoksa hocalarımız ilimlerinin zekatını seve seve vermezlermiydi. Benzeri bir siteyi Türkiyede türkçe olarak oluşturmazlarmıydı...İşte Haberdar oldunuz ey Fedakar arkadaşlar ! çalışmalarınızı ve ve Ey Fedakar Hocalarımız İlminizin zekatını bekliyoruz. Malum Zekat fakirin hakkıdır, zenginin lutfu değil !