için en fazla 20 parametre sınırı var. , Neden clojure işlevinin alabileceği parametrelerin sayısı için bir sınırlama var gibi görünüyor, bir clojure işlevi
#<CompilerException java.lang.RuntimeException: java.lang.RuntimeException: java.lang.Exception: Can't specify more than 20 params (NO_SOURCE_FILE:0) (NO_SOURCE_FILE:0)>
Aşağıdakileri almak DSL deyimi ise
(defAlias nn1 ((element ?e1) (element ?e2)) number
"@doc features of the elements are calculated for entry into
the first neural network, the result is the score computed by the latter"
(nn1-recall (nn1-feature00 ?e1 ?e2) (nn1-feature01 ?e1 ?e2) ... (nn1-feature89 ?e1 ?e2)))
ile bir sinir ağı çağırmak için: ve ben makro genişleme ile bu sınırın dışında oldukça kolay fonksiyonları eşlenebilir aşağıdaki gibi benim DSL açıklayıcı yapılar var 90 giriş düğümleri. Elbette etrafta çalışabilir, ancak sınırın nereden geldiğini merak ediyordum. Teşekkürler.
Stil için bir ilgi notu gibi: Steve McConnell'in "Kod Tamamlandı", kısmen programlama verimliliği çalışmalarına dayanarak, bir yöntemin asla 7'den fazla argümana ve daha yakın zamanda Robert C. Martin'in "Temizlik Kodu" na sahip olmaması gerektiğini savunuyor. limiti 3 kadar düşük bir değere ayarlar. 7 bir arayüzün ne zaman yeniden yapılandırılacağına karar vermek için iyi bir kural kuralı buldum, 3 ise biraz aşırı görünüyor. Evet, makro ve tüm özel durumlarınızdan haberdarım. Sadece "genel" durum için, 20 oldukça cömerttir. –
Nöronlarınızı dizilerle veya başka bir şeyle oluşturun ve onları seqs işleviyle besleyin. Ve seqleri harita-azaltın mı? Böyle bir şey mi? http://www.fatvat.co.uk/2009/06/back-propagation-algorithm-in-clojure.html – claj