Important
C'est un mème élaboré dans lequel je mets beaucoup d'efforts. Alors s'il vous plaît, personne ne me poursuit.
Shamboflow est une API open source pour créer des modèles d'apprentissage automatique. Il n'est disponible qu'en Python.
Shamboflow est une baisse super rapide de remplacer pour Tensorflow (la lecture n'ajoute rien, pas même une amélioration des performances). Il est construit à partir de zéro (lire, en utilisant Numpy) et est livré avec le support GPU CUDA hors de la boîte. Je raconterai l'histoire à la fin de ce fichier sur la façon dont cela a devenu.
Sur une note sérieuse, j'ai toujours voulu mettre en œuvre un réseau de neurones en utilisant Just Numpy et aucune bibliothèque supplémentaire, ce qui m'a donné une excuse pour le faire. Et donc je l'ai fait. J'ai fait ça en une semaine. A appris beaucoup de choses dans le processus et ce fut une expérience stressante et amusante. Cette bibliothèque dépend de Numpy comme indiqué mais utilise également Cupy pour ajouter le support GPU. Les deux autres dépendances sont TQDM pour Progress Bar et Colorama pour les textes colorés. Je vais probablement travailler davantage à ce sujet car j'ai déjà fait beaucoup d'efforts.
Installez à l'aide du package PIP.
$ pip install shamboflow Pour mettre à jour Shamboflow à la dernière version, ajoutez --upgrade inducteur à la commande ci-dessus
Un petit exemple de programme qui montre comment créer une ANN simple avec une topologie 3-2-1 et la former avec des données pour effectuer des prédictions.
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 )Son temps.
La semaine dernière, nous avions un cours sur les réseaux de neurones à l'université. À la fin de la classe, notre professeur nous a dit de mettre en œuvre le réseau donné dans Python. Maintenant, auparavant, il nous avait dit de ne pas utiliser de bibliothèques pour effectuer nos tâches car cela ruinerait simplement le but d'apprendre les algorithmes. Donc, je suis enthousiasmé que je vais implémenter un réseau de neurones en utilisant Just Python. Il nous a ensuite dit que nous pouvons utiliser des bibliothèques pour fabriquer le réseau. Et j'étais un peu déçu. Mon ami m'a dit en plaisantant cela: "Non, vous devez le faire". Et j'ai dit, si je le termine dans une semaine, allez-vous l'utiliser dans la mission. Mes amis l'ont accepté.
Donc, le voici. Ma bibliothèque. Je vais tellement leur faire l'utiliser pour les affectations.