Wichtig
Dies ist ein aufwändiges Meme, in das ich viel Mühe unternommen habe. Also bitte, niemand verklagt mich.
Shamboflow ist eine Open -Source -API zum Erstellen von Modellen für maschinelles Lernen. Es ist nur in Python erhältlich.
Shamboflow ist ein super schneller Rückgang des Tensorflows (Read fügt nichts hinzu, nicht einmal die Leistungsverbesserung). Es wird von Grund auf neu gebaut (gelesen, mit Numpy) und wird mit der Cuda -GPU -Unterstützung aus der Box geliefert. Ich werde die Geschichte am Ende dieser Datei darüber erzählen, wie dies entstanden ist.
Im Ernst, ich wollte immer ein neuronales Netzwerk mit nur Numpy und ohne zusätzliche Bibliotheken implementieren, und dies gab mir eine Entschuldigung dafür. Und so tat ich es. Ich habe das in einer Woche gemacht. Lernte dabei eine Menge Dinge und es war eine stressige und unterhaltsame Erfahrung. Diese Bibliothek ist wie angegeben von Numpy abhängig, verwendet aber auch Cupy, um die GPU -Unterstützung hinzuzufügen. Die anderen beiden Abhängigkeiten sind TQDM für Fortschrittsbalken und Colorama für farbenfrohe Texte. Ich werde wahrscheinlich mehr daran arbeiten, da ich bereits einige Anstrengungen unternommen habe.
Installieren Sie mit dem PIP -Paket.
$ pip install shamboflow Um Shamboflow auf die neueste Version zu aktualisieren, fügen Sie das Flag --upgrade -Flag zum obigen Befehl hinzu
Ein kleines Beispielprogramm, das zeigt, wie eine einfache Ann mit 3-2-1 Topologie erstellt und sie mit Daten trainiert, um Vorhersagen durchzuführen.
import numpy as np
# Dataset
x_data = np . array ([[ 1 , 0 , 1 ]])
y_data = np . array ([[ 1 ]])
# Parameters
learning_rate = 0.9
train_epochs = 20
# Import the library
import shamboflow as sf
# Create a model
model = sf . models . Sequential ()
# Add layers
model . add ( sf . layers . Dense ( 3 ))
model . add ( sf . layers . Dense ( 2 , activation = 'sigmoid' ))
model . add ( sf . layers . Dense ( 1 , activation = 'sigmoid' ))
# Compile the model
model . compile ( learning_rate = learning_rate , loss = 'mean_squared_error' , verbose = True )
# Callbacks
checkpoint = sf . callbacks . ModelCheckpoint ( monitor = 'loss' , save_best_only = True , verbose = True )
# Train the model with the dataset
model . fit (
x_data ,
y_data ,
epochs = train_epochs ,
callbacks = [ checkpoint ]
)
# Save the trained model to disk
model . save ( 'model.meow' ) import numpy as np
import shamboflow as sf
model = sf . models . load_model ( "./model.meow" )
a = np . array ([[ 1 , 0 , 1 ]])
res = model . predict ( a )
print ( res )Seine Geschichte.
Letzte Woche hatten wir eine Klasse über neuronale Netzwerke an der Universität. Am Ende der Klasse forderte uns unser Professor auf, das angegebene Netzwerk in Python umzusetzen. Jetzt hatte er uns zuvor gesagt, wir sollten keine Bibliotheken verwenden, um unsere Aufgaben auszuführen, da dies nur den Zweck des Lernens von Algorithmen ruinieren würde. Also war ich aufgeregt, dass ich ein neuronales Netzwerk mit nur Python implementieren werde. Dann sagte er uns, dass wir Bibliotheken verwenden können, um das Netzwerk zu erstellen. Und ich war ein wenig verblüfft. Mein Freund sagte mir scherzhaft: "Nein, du musst es schaffen". Und ich sagte, wenn ich es innerhalb einer Woche beende, werden Sie es in der Aufgabe verwenden. Meine Freunde stimmten dem zu.
Also, hier ist es. Meine Bibliothek. Ich werde sie so dazu bringen, dies für die Aufgaben zu verwenden.