Matlab Sinir Ağı Araç Kutusu için Python OSS alternatifleri. Karşılaştırmalarınız var mı?


16

Bilimsel çalışmalarım için ticari yazılımlardan bağımsız olmak istiyorum. Matlab ve araç kutuları gibi ticari bir paketleri tatmin edici bulmuyorum, çünkü gelecekte Matlab'a erişip erişemeyeceğimi bilmiyorum ve dili sevmiyorum. Bu nedenle, alternatifler arıyorum.

Neyse ki, Python'da oldukça akıcıyım (ve dili seviyorum) ve NumPy, SciPy, Matplotlib, Basemap ve NetCDF okuma ve yazma rutinleri ile ihtiyacımın çoğunu karşılıyor. Çoğu - Hala ileriye dönük çok katmanlı algılayıcılar kullanarak uydu alımlarını eğitmem gerektiğinde Matlab'a geri dönüyorum, örneğin Yapay Sinir Ağlarını kullanıyorum.

Açık kaynaklı yazılımlarda olağandışı olmadığından, sinir ağları yapan birden fazla paket var. Önemli ölçüde birden fazla:

  • Bir süre önce "sinir ağları için İsviçre çakısı" olan PyBrain'i denedim , ancak kısa sürede (hem geliştirme hem de çalışma zamanı) tatmin edici sonuçlar elde etmeyi başaramadım. Belki yeterince denemedim ya da belki de tam ihtiyacım doğrultusunda değil.

  • Az önce umut verici görünen neurolab adında bir paket olduğunu keşfettim : Python için basit ve güçlü bir Sinir Ağı Kütüphanesi , MATLAB'dan Sinir Ağı Araç Kutusu (NNT) gibi bir API ile .

  • Orada FFNet , hızlı ve piton için kolay kullanımlı ileri beslemeli sinir ağı eğitim çözümü

  • Orada simplenn

  • Yoktur Şeftali , bir hesaplama zeka ve makine öğrenme için kütüphane

  • Python bağlamaları vardır Fann , Hızlı Yapay Sinir Ağı olarak tanımlanan kütüphane, bu StackOverflow yayınında kullanılan standartta .

  • Muhtemelen başkaları da vardır.

Kolay kullanım, hız vb. Kriterlere göre farklı seçenekleri karşılaştırma çabası olan var mı? Kendi kullanım durumum uydu alımlarıdır, örneğin birçok değişkenin güçlü bir şekilde doğrusal olmayan bir fonksiyonunun yerleştirilmesi. Ben çok sinir ağlarının kullanıcısıyım ; Onların iç işlerini araştırmakla ilgilenmiyorum.

Stats.SE ile ilgili bu soru birbiriyle ilişkilidir, ancak farklı bir odağa sahiptir.


Sorunuz çok ilginç, ama bence çok fazla şey istiyorsun. Python'daki farklı sinir ağı yazılımlarının kapsamlı bir değerlendirmesi bu forumda cevaplanamayacak kadar geniştir. Sorunuzun odağını, sizi ilgilendiren belirli bir ölçüt ve yazılıma daraltmak faydalı olabilir.
Paul

Ayrıca, sorunuzu artık çok eski olduğu için taşıyamıyoruz . Başka bir SE sitesinin sorunuz için daha uygun olduğunu düşünüyorsanız, bu siteyi silmeniz ve diğer sitede yeniden yayınlamanız gerekir. Soruyu yeniden yayınlasanız bile, yine de iyi bir cevap alma olasılığını artırmak için sorunuzun kapsamını daraltmanın en iyi yararınıza olduğunu hissediyorum.
Paul

Python değil, şu anda sinir ağı için caffe kullanıyorum. Çoğunlukla evrişimli sinir ağı için, ancak geleneksel bir NN kurmak daha da kolaydır.
Siyuan Ren

Yanıtlar:


1

Eğer kontrol ettin scikit-öğrenme ? Tamamen benim alanım değil ama çok olumlu kullanıcı deneyimleri duydum ...


Kategorisinde düşeceği Başkaları muhtemelen sorunumu çözmez listeye henüz başka kütüphane ekleyerek ziyade ... Ben görmeyi umut ediyorum intercomparison bir kapsamını genişleten -
gerrit

Duyduğum ve okuduğum kadarıyla scikit-öğrenmenin avantajı, çok sayıda yöntem içeren bir çerçeve olmasıdır. Belki de probleminize uygulanan yöntemlerin bir karşılaştırmasını yaptığınızda işinizi kolaylaştıracaktır.
GertVdE

3
scikit-learn sinir ağı yöntemleri içermez, yapay sinir ağı modeli 0.12'de kaldırılmıştır ve bu işlevselliğe ihtiyaç duyan kullanıcıların PyBrain'e geçmeleri sırasında tavsiye ettiler.
Aron Ahmadia

1

Theano'ya baktın mı ? oldukça güçlü görünüyor .


1
Gerçekten, Theano çok güçlü. Ancak daha sonra GPU'da derlenip yürütülen python kodunu yazmaya izin veren derleyici (veya çerçeve). Theano , NN'leri uygulamak için kullanılabilir, ancak bu bir ML kütüphanesi değildir.
Artem Sobolev

1

Ben de Matlab'da sinir nötrlerini kullanmaktan Python'a geldim. Python'daki en güçlü kütüphanelerden biri "Pylearn2" dir http://deeplearning.net/software/pylearn2/ . Şu anda, bu en aktif kitaplıktır ve denemek için birçok farklı özelliğe sahiptir. Theano'ya dayanır ve bu nedenle hızlıdır ve GPU'larda çalıştırılabilir. Ne yazık ki, bu onun dezavantajı: API sürekli değişiyor ve yüksek bir öğrenme eğrisine sahip. Nöral netowrkslerinizi YAML dosyalarını kullanarak yapılandırmanız gerekir. Temel sinir ağları oluşturmak için PyBrain kullanarak daha başarılı oldum. Bir güç istasyonundaki yükü hava faktörlerine dayanarak tahmin etmem gereken bir regresyon sorununa bir çözüm buldum. Buradaki rehber: http://fastml.com/pybrain-a-simple-neural-networks-library-in-python/ Bana ihtiyacım olan çözümün% 90'ını verdi.

PyBrain ile bulduğum bir konu hızdı. Python'da yerel olarak yazılmıştır. Bir sinir ağının eğitiminin Matlab'dan ~ 50 kat daha yavaş olduğunu gördüm. Bazıları araç kütüphanesi ile PyBrain eğitim sürecini hızlandırmada başarı elde etti.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.