2014-09-17 39 views
8

Şu anda makine öğrenimi algoritmalarının performansını geliştirmek için GPU ile programlama yapmayı öğreniyorum. Başlangıçta ben saf c cuda programlama öğrenmeye çalışın, sonra bana cuda kütüphanesinin bir sarmalayıcı pycuda hangi bulundu, sonra Theano ve pylearn2 bulundu ve şaşkın biraz var: Ben bu şekilde onları anlamakpycuda vs theano vs pylearn2

:

  1. pycuda: cuda kütüphane için piton sarıcı
  2. Theano: GPU ve CPU numpy benzeyen fakat şeffaf
  3. pylearn2: Theano üzerine inşa ve çeşitli makine öğrenimi/derin öğrenme modelini uygulamaya derin öğrenme paketi

GPU programlamasında yeni olduğum için, C/C++ uygulamasından öğrenmeye başlamalı mıyım, yoksa putadan başlamalı mıyım? Örneğin. GPU programlamayı öğrendikten sonra randomForest modeli uygulamak istiyorum. Teşekkürler.

cevap

8

Anlayışınız neredeyse doğru. Theano ile ilgili bazı sözler ekleyeceğim. GPU'da çalışabilen bir Numpy'den çok daha fazlası. Theano gerçekten, hem CPU hem de GPU için hedeflenen, yüksek düzeyde optimize edilmiş C/CUDA kodunda sembolik matematik ifadelerini çeviren matematik ifade derleyicisidir. Oluşturduğu kod çoğu programcının yazacağı programdan çok daha verimlidir. Theano ayrıca sembolik farklılaşmayı da (gradyan tabanlı optimizasyon için çok yararlı) yapabilir ve ayrıca daha iyi sayısal stabilite elde etmek için bir özelliğe de sahiptir (ki bu muhtemelen ne kadar faydalı olursa olsun, aslında ne ölçüde bilmiyorum). İhtiyacın olanı uygulamak için Theano'nun yeterli olması muhtemeldir. CUDA veya PyCUDA'yı öğrenmeye hala karar verirseniz, kullanacağınız dili C++ veya Python kullanmadan seçin.

+0

Çok açık, teşekkürler! Bir soru daha ama muhtemelen burada sormaya uygun değil: R dilinde theano ile benzer bir paket var mı? – user1754197

+0

Oldukça değil. Temel doğrusal cebir işlemlerini ve bazı üst düzey işlevleri (lm olarak) uygulayan birkaç paket vardır, ancak kaputun altında Theano'dan çok farklı çalışırlar, yani bunlar sadece normal paketlerdir, bunlar ifade derleyicileri değildir. –

+0

pylearn2 hakkında bir fikriniz var mı? –

İlgili konular