Google araştırmacıları tarafından oluşturulan Go, popüler bir açık kaynaklı programlama dilidir. Dil, çöp toplayıcı (garbage collector), çapraz platform, verimli eş zamanlılık gibi birçok özelliği barındırır. Stack Overflow Geliştirici Anketi 2020’ye göre Go; en çok sevilen beşinci ve en yüksek maaş getiren üçüncü programlama dilidir. Bu yazımızda, Go dilinde 6 makine öğrenimi kütüphanesi listeledik.
(Aşağıdaki kütüphaneler GitHub’daki yıldız sayısına göre listelenmiştir.)
İçindekiler
GoLearn
GoLearn, Go dilindeki en popüler makine öğrenimi kütüphanelerinden birisidir. Özelleştirilebilirlikle birlikte sadeliğe katkıda bulunmayı amaçlamaktadır. GoLearn kütüphanesinin bazı özellikleri:
- Cross-validation (Çapraz Bölme), train-test (eğitim ve test) ayrımı gibi işlemler için yardımcı fonksiyonlar barındırır.
- Python programlama dilindeki Scikit-learn kütüphanesine oldukça benzer.
- Bu kütüphane pratik örneklerle birlikte gelir.
Go dilinde yazılmış bu makine öğrenimi kütüphanesi ile ilgili daha fazla bilgi almak istiyorsanız, GitHub sayfasını kontrol edebilirsiniz.
Gorgonia
Gorgonia, Go dilinde makine öğrenimini oldukça kolaylaştıran bir kütüphanedir. Bu kütüphanenin temel amacı; yüksek performanslı bir makine öğreniminin yanı sıra, birden çok makinede ölçeklenebilen grafik hesaplama tabanlı bir kütüphane olmaktır. Ayrıca, standart olmayan derin öğrenmenin yanı sıra, sinir ağıyla ilgili araştırmaların yapılması için bir platforma katkıda bulunur. Diğer kütüphanelerin yanı sıra, neo-Hebbian öğrenme, cornet-cutting algoritması gibi işlemleri gerçekleştirebilir. Gorgonia kütüphanesinin bazı özellikleri şunlardır:
- Gorgonia, otomatik farklılaştırma, sembolik farklılaştırma, gradyan iniş optimizasyonları ve sayısal stabilizasyon gerçekleştirebilir.
- Kütüphane, sinir ağlarının oluşturulmasına yardımcı olmak için birçok kullanışlı fonksiyon sağlar.
- Cuda ve GPGPU’yı (Grafik İşlemci Biriminde Genel Amaçlı Hesaplama) destekler.
Go dilinde yazılmış bu makine öğrenimi kütüphanesi ile ilgili daha fazla bilgi almak istiyorsanız, GitHub sayfasını kontrol edebilirsiniz.
goml
goml, geliştiricilerin uygulamalarına makine öğrenimini dahil etmelerine olanak tanıyan, tamamen Go dilinde yazılmış bir kütüphanedir. Kütüphane, verileri kanallarda tutulan akışlara aktararak çevrimiçi ve reaktif bir şekilde öğrenmeye yardımcı olan çeşitli modellerden oluşur. Bu kütüphanenin bazı özellikleri şunlardır:
- Kapsamlı testler ve belgeler
- Modüler kaynak kodu
- Temizlik ve etkileyicilik
Bu kütüphane ile ilgili daha fazla bilgi almak istiyorsanız GitHub sayfasını kontrol edebilirsiniz.
eaopt
eaopt, Go dilinde yazılmış bir makine öğrenimi kütüphanesi olmasının yanı sıra, evrimsel bir optimizasyon kütüphanesidir. Bir kişinin evrimsel optimizasyon algoritmalarının çoğunu, bir genetik algoritmanın özel durumları olarak yazmasına izin verir. Bu kütüphanenin özellikleri şunları içerir:
- Bu kütüphanede, bir API ile çeşitli evrimsel algoritmalar mevcuttur.
- Genetik algoritma yapısını kullanarak her şey yapılabilir.
- Diğerlerinin yanı sıra mutasyon, çapraz geçiş, göç dahil olmak üzere yaygın genetik operatörler halihazırda uygulanmıştır.
- Maliyetli fonksiyonların değerlendirilmesinin paralel bir şekilde yapılmasına olanak sağlar.
Bu kütüphane ile ilgili daha fazla bilgi almak istiyorsanız GitHub sayfasını kontrol edebilirsiniz.
Evo
Evo, Go’da evrimsel algoritmaları uygulamak için yazılmış bir frameworktür. Bu framework, iki arayüz – genom ve popülasyon – etrafında yönlendirilmiş temiz ve esnek bir API ortaya çıkarır. Genomlar, hem optimize edilen işlevi hem de çözümleri temsil ederken popülasyonlar, genomların evrimleştiği mimariyi temsil eder. Bu kütüphanenin bazı özellikleri:
- Temiz ve esnek API odaklıdır.
- Hem back-end’e hem de front-end’e yönelik modüler web uygulamaları yazmak için kullanılır.
- Modüler ve genişletilebilir.
- Yüksek performans sağlar.
Bu kütüphane ile ilgili daha fazla bilgi almak istiyorsanız GitHub sayfasını kontrol edebilirsiniz.
gogl
gogl, Go dilinde yazılmış bir grafik kütüphanesidir. Bu kütüphane, küçük grafiklerden devasa grafiklere kadar ölçeklenebilen grafik algoritmaları ve veri yapılarının uygulamaları dahil olmak üzere basit, birleştirici arayüzlere katkıda bulunmayı amaçlamaktadır. Bu kütüphanenin özellikleri şunları içerir:
- Basitlik: grafik teorik kavramlarının tam ve doğru modellemelerine sahiptir.
- Performans: Gogl, hızlı tasarım kısıtlamalarına sahiptir ve en iyi bilinen algoritmalara izin verir.
- Genişletilebilirdir.