Kann in TensorFlow die Neuroevolution von neuronalen Netzen mit erweiterter Topologie (NEAT) aufgebaut werden? [geschlossen]

7

Ich mache ein maschinelles Lernprogramm für die Zeitreihendatenanalyse und die Verwendung von NEAT könnte die Arbeit unterstützen. Ich habe vor kurzem angefangen, TensorFlow zu lernen, aber es scheint, dass die Berechnungsgraphen in TensorFlow normalerweise fest sind. Gibt es in TensorFlow Tools zum Aufbau eines sich dynamisch entwickelnden neuronalen Netzwerks? Oder so etwas wie PyTorch wäre eine bessere Alternative? Vielen Dank.

Lyhendo
quelle

Antworten:

0

Die Python-Sprache ist wie die meisten anderen Sprachen dynamisch erweiterbar, daher gibt es keinen Grund, warum die NEAT-Funktionalität in Python nicht flexibel implementiert werden konnte. Da der Trend dahin geht, rechenintensive Prozesse auf USB-3- oder uPCIe-Beschleunigungs- oder GPU-Kerne zu verlagern, ist es wahrscheinlicher, dass die Rechengraphen zusammen mit Trainingsdaten auf die Hardware hochgeladen werden, um den Durchsatz zu maximieren. Selbst ohne Hardwarebeschleunigung delegieren Skriptsprachen im Allgemeinen einen hohen Rechenaufwand an optimierte und optimierte dynamische C / C ++ - Bibliotheken.

Python-Frameworks wie TensorFlow oder PyTorch und Java-Frameworks wie DL4J rufen dann den C ++ - oder ncpp-Code auf, der das Öffnen, Hochladen und Herunterladen von Ergebnissen durch das Gerät übernimmt. Alle diese Frameworks auf hoher Ebene und die Sprachen, in denen sie geschrieben sind, können neue Rechenkomponenten auf niedrigerer Ebene verarbeiten, auf die über neue APIs und flexible Schnittstellenklassen zugegriffen werden kann, die variable Breiten und Strukturen in Datenströmen unterstützen.

han_nah_han_
quelle