"New Neural", MetaTrader 5 platformu için bir sinir ağı motorunun Açık Kaynak projesidir. - sayfa 49

 
TheXpert :

Kim büyük bir projede bir ekipte çalışma deneyimine sahiptir?

VCS ile deneyim de ima edilir.

Genel olarak, anlayabildiğim kadarıyla, bir tür çıkmaz sokak oldu - burada, temel olarak, tüm bağımsız kuşlar herhangi bir sorunu tek başına çözebilir (dilin bağımsız çalışmasından başlayarak ve karmaşık mantığın bir açıklamasıyla biten) Ticaretin). Ve elbette, tüm güçlü nitelikleriyle bir kuğu, kanser ve turna balığını tek bir sepette toplayabilirsiniz, ancak bu forum başlığında yalnızca 50 sayfalık aktif tartışma için yeterli olacaklar ..

Şimdi mesele şu ki, projenin şu özelliklere sahip bir lideri olmalıdır:

  • ilk olarak, projenin nihai hedefiyle ilgilenecek,
  • ikincisi, projeyi bu daldaki herhangi bir programcının makul bir sürede yazıp yapabileceği aşamalara, görevlere ve alt görevlere ayırabilecektir. Aynı zamanda, görevlerin ve alt görevlerin bağlamdan bağımsız, yani. diğer kodlardan mümkün olduğunca soyutlayın.
  • üçüncüsü, projeyi yakından takip etmesi, hangi parçaların ne kadar hazır olduğunu bilmesi gerekecek; çözülmüş alt görevleri bir bütün olarak problemin çözümüne entegre etmenin mümkün olup olmadığı.
İdeal seçenek, muhtemelen, benzer deneyime sahip MetaQuotes'tan bir kişi olacaktır, + özellikle Renat bunun hakkında konuştuğundan, TeamWox sistemini MQL topluluğuyla ilgili olarak denemek için bir neden olacaktır.

 

MK'ler önümüzdeki birkaç hafta içinde faaliyet göstermezse , proje kısaltılabilir veya ticari bir kanala veya başka bir yere aktarılabilir.

MK'nin kontrolü olmadan, açık kaynak olarak proje anlamını kaybeder.

 
Vladix :

Genel olarak, anlayabildiğim kadarıyla, bir tür çıkmaz sokak oldu - burada, temel olarak, tüm bağımsız kuşlar herhangi bir sorunu tek başına çözebilir (dilin bağımsız çalışmasından başlayarak ve karmaşık mantığın bir açıklamasıyla biten) Ticaretin). Ve elbette, tüm güçlü nitelikleriyle bir kuğu, kanser ve turna balığını tek bir sepette toplayabilirsiniz, ancak bu forum başlığında yalnızca 50 sayfalık aktif tartışma için yeterli olacaklar ..

Şimdi mesele şu ki, projenin şu özelliklere sahip bir lideri olmalıdır:

  • ilk olarak, projenin nihai hedefiyle ilgilenecek,
  • ikincisi, projeyi bu daldaki herhangi bir programcının makul bir sürede yazıp yapabileceği aşamalara, görevlere ve alt görevlere ayırabilecektir. Aynı zamanda, görevlerin ve alt görevlerin bağlamdan bağımsız, yani. diğer kodlardan mümkün olduğunca soyutlayın.
  • üçüncüsü, projeyi yakından takip etmesi, hangi parçaların ne kadar hazır olduğunu bilmesi gerekecek; çözülmüş alt görevleri bir bütün olarak problemin çözümüne entegre etmenin mümkün olup olmadığı.
İdeal seçenek, muhtemelen, benzer deneyime sahip MetaQuotes'tan bir kişi olacaktır, + özellikle Renat bunun hakkında konuştuğundan, TeamWox sistemini MQL topluluğuyla ilgili olarak denemek için bir neden olacaktır.

Genel olarak, her şey doğruydu. Her birimiz bu projeyi kendi başımıza yapma yeteneğine sahibiz.

Ama her zamanki gibi şeytan ayrıntıda gizlidir.

Saldırının 50 sayfasına dayanarak, fikirler olduğunu ve onlardan tamamen aklı başında bir saldırı planı yapabileceğinizi özetleyebiliriz.

Çoğu birey olmasına rağmen, hiç kimse bir takımda çalışmaya açıkça direnmez. Aynı şekilde, ekip çalışması, tüm projeyi hızlandıracak görevleri paralelleştirmenize olanak tanır.

Ve ayrıntılar burada başlıyor: Klasik anlamda ekip çalışması, icracının görevi aldığı ve zamanında tamamladığı anlamına gelir. Daha sonra projenin tanıtımını tek bir merkezden planlamak ve icracılara görevleri dağıtmak mümkün olacaktır. Aslında, sanatçılar kendi işleriyle meşguller ve her zaman açık kaynaklı bir projeye konsantre olamıyorlar. Bu kaçınılmaz olarak projenin gelişiminde bir dengesizliğe yol açacaktır.

Bence çıkış yolu, liderin görevleri belirleyeceği ve sanatçıların ellerinden geleni yapacakları ve ilerleme ve son teslim tarihleri hakkında rapor verecekleri bir bülten tahtası olabilir. TOR açıkça resmileştirilirse, proje başlamadan tamamlanacaktır :)

Ve bir ayrıntı daha, genel olarak kabul edilen değişken ve yöntem adlarının bir listesini istiyorum, zorunlu olduğundan değil, ancak standart hale getirilirse daha kolay olacaktır. Elbette böyle bir listeyi derlemek zor olsa da, isim oluşturmak için bazı genel ilkeler geliştirmek (veya ödünç almak) mümkündür.

 
TheXpert :

MK'ler önümüzdeki birkaç hafta içinde faaliyet göstermezse, proje kısaltılabilir veya ticari bir kanala veya başka bir yere aktarılabilir.

MK'nin kontrolü olmadan, açık kaynak olarak proje anlamını kaybeder.

Doğruyu konuşuyorsun.

En az ikimizi tehdit et, sen ve ben, her şeyi kendi başımıza yapabiliriz.

ZZY ve haklı olarak söylediğiniz gibi bireysel gelişim zaten ticari bir gelişmedir.

Zaman harcandığında ve kaynak kodları sadece bir tane için olduğunda, sonuç basittir.

 

Tamam, Noel Baba arayışı devam ederken,

Topladığım tüm çöpleri beynime yerleştireceğim, belki bundan en azından bir çeşit TK yapmak mümkün olacak.


ızgara motoru
1. şebeke başlatma
2. ızgara çalışma stroku
3. ağ eğitimi

1) ağ topolojisi ikili alanlar tarafından belirlenebilir
daha fazla ayrıntı burada http://cgm.computergraphics.ru/content/view/25 bölüm 7. Doğrudan kodlama

Dilbilgisine bölme veya doğrudan kodlama, başlatma yöntemine zaten bir eklentidir, her neyse, sonunda hepsi doğrudan kodlamaya gelir.
Böylece, topolojilerin kendileri (ve bu, ağın kurulmasındaki zorlukların aslan payıdır), doğrudan bir kodlama tablosu derlemek için yazma yöntemlerine indirgenir.
Makale, geri bildirim ayarlayamayacağınızı söylüyor, ancak her gecikme operatörü sırası için kendi bağlantı matrisinizi oluşturursanız, sorun ortadan kalkar (matriks dolu olacak ve sıfır gecikmede olduğu gibi üçgen olmayacak olsa da).
Doğrudan kodlama yöntemi üzerindeki eklentinin, ağın hangi gecikme derecesini kullandığını bilmesi gerektiği ortaya çıktı.
Eklentide nöron türleri de ayarlanmalıdır (bu nokta benim için henüz çözülmedi, nöron türlerini sabit kodlamanın ve aşırı yüklemenin gerekli olup olmadığından emin değilim veya onları biraz daha liberal olarak ayarlamak gerekli mi bilmiyorum). yöntemler) ???
Şimdilik hard tiplerin aşırı yüklenmesine dur diyebilirsiniz ve eğer soft bir kodlama yöntemi varsa onu aşırı yüklenmiş olanlardan biri olarak ekleyebilirsiniz.

2) Çalışma hareketi, öngörülen bağlantılar (veri toplama kullanılarak) ve nöron türleri tarafından belirlenir, bunu sayfa 5'te açıkladım. Aynı zamanda 4 veri dizisi alınmalıdır: Grid girişleri , Nöron çıkışları , Ağırlıklar , Izgara çıkışları . Dışarıdan erişilebilir Şebekenin giriş ve çıkışları, örnek sağlamak ve şebekenin operasyonel kullanımı içindir. Eğitim için Libra'ya dışarıdan erişim gereklidir.
GPU'daki hesaplamaya aktarım için nöronların çıktılarına harici erişim gereklidir. Prensip olarak, veri dizilerinin başlangıçta harici olması gerektiğini ve zaten bu harici verilerin bir ağda toplanması gerektiğini düşünüyorum.

3) Eğitim. Ağ topolojisine bağlı olmayan bir yöntem olarak GA yardımıyla öğrenmeye meyilliyim, bunu temel almayı ve mümkünse/gerekiyorsa doğru olana aşırı yüklemeyi öneriyorum.

gündemde üç görev var.

Katman, bir yinelemede bağımsız olan ve aynı türe sahip nöronların birleşimidir.


 

 

Ayrılık aslında çok gerçek.

Örneğin, bir IEvolvable arayüzü var. Genetik ile çalışma yönünden ızgara için arayüz. Ve burada, örneğin, siz ve Andrey, yalnızca bu arayüze bağlanarak, sessizce genetiği gizlice kesebilirsiniz.

 

Bu arada, çoklu mirasın çok fazla karışmadığı yer.

________________

İkna edildim, bugün arayüzleri kesmeye çalışacağım.

Bu arada. Proje yöneticisi gpwr olabilir. kısmen yapabilirim.

Prensip olarak, projeye başlayabilirsiniz.

 
Vay canına. Yavaşça gitti.
 

Bu, veri bağlama türleri hakkında kendinize ve başkalarına böyle bir hatırlatmadır.

 //+------------------------------------------------------------------+
//| Пример Ассоциации, Агрегации, Композиции                         |
//+------------------------------------------------------------------+
/*///
   * Ассоциация обозначает связь между объектами. Агрегация и композиция это частные случаи ассоциации.
   * Агрегация предполагает, что объекты связаны взаимоотношением "part-of" (часть-целое). 
     Агрегация может быть множественной, 
     то есть один и тот же объект одновременно может быть агрегирован в несколько классов, либо объектов.
   * Композиция более строгий вариант агрегации. Дополнительно к требованию part-of накладывается условие, 
     что "часть" не может одновременно принадлежать разным "хозяевам", и заканчивает свое существование вместе с владельцем.
/*/ //
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
class Base
  {
public :
                     Base( void ){};
                    ~Base( void ){};
   int                a;
  };
//+------------------------------------------------------------------+

class A_Association
  {
public :
                     A_Association( void ){};
                    ~A_Association( void ){};
   void               Association(Base *a_){};
   // При ассоциации данные связываемого объекта 
   // будут доступны через указатель объекта только в методе, 
   // в который передан указатель.
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
class A_Aggregation
  {
   Base             *a;
public :
                     A_Aggregation( void ){};
                    ~A_Aggregation( void ){};
   void               Aggregation(Base *a_){a=a_;};
   // При агрегации данные связываемого объекта 
   // будут доступны через указатель объекта в любом методе класса.
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
class A_Composition
  {
   Base             *a;
public :
                     A_Composition( void ){ a= new Base();};
                    ~A_Composition( void ){ delete a;};
   // При композиции объект становится частью класса.
  };
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
 void OnStart ()
  {
   Base a; 
   A_Association b;
   b.Association( GetPointer (a));
  }
 

İş akışı görevinde bir nüans vardır, çünkü veri işleme yöntemleri nöron tipine bağlı olduğundan, nöron tipi bir nesnenin parçası olmalıdırlar.

Nüans, katman olarak sayılan şeydir. Böyle bir formül vermişsem GPU'da hesaplamayı organize etmek zor olacaktır.

TheXpert'in ifadesi üzerinde durursak, GPU'nun iş yüküyle ilgili sorunlar olacaktır.

Genel olarak, (birleştirici) formülasyondan ödün verme eğilimindeyim, GPU yükleme sorununu devralmasına rağmen onunla daha az sorun var.

Katman, bir yinelemede bağımsız olan ve aynı türe sahip nöronların birleşimidir.

Düşünceler neler?

PS karşı var mı?