Importante
Este é um meme elaborado em que me esforcei muito. Então, por favor, ninguém me processa.
Shamboflow é uma API de código aberto para criar modelos de aprendizado de máquina. Está disponível apenas em Python.
O Shamboflow é uma queda super rápida no Replacemnet para o Tensorflow (leitura não acrescenta nada, nem mesmo a melhoria do desempenho). Ele é construído do zero (leia, usando o Numpy) e vem com o suporte da GPU da CUDA. Vou contar a história no final deste arquivo sobre como isso aconteceu.
Em uma nota séria, eu sempre quis implementar uma rede neural usando apenas bibliotecas Numpy e sem bibliotecas adicionais e isso me deu uma desculpa para fazê -lo. E assim eu fiz. Eu fiz isso em uma semana. Aprendi muitas coisas no processo e foi uma experiência estressante e divertida. Esta biblioteca depende do Numpy, conforme declarado, mas também usa o Cupy para adicionar suporte à GPU. Outras duas dependências são o TQDM para barra de progresso e colorama para textos coloridos. Provavelmente vou trabalhar mais sobre isso, pois já fiz algum esforço.
Instale usando o pacote PIP.
$ pip install shamboflow Para atualizar o shamboflow para a versão mais recente, adicione --upgrade sinalizador ao comando acima
Um pequeno programa de exemplo que mostra como criar uma RNA simples com topologia 3-2-1 e treiná-la com dados para executar previsões.
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 )Sua história.
Na semana passada, tivemos uma aula de redes neurais na universidade. No final da classe, nosso professor nos disse para implementar a rede fornecida em Python. Agora, anteriormente ele nos disse para não usar nenhuma biblioteca para executar nossas tarefas, pois isso apenas arruinaria o objetivo de aprender algoritmos. Então, fiquei empolgado por implementar uma rede neural usando Just Python. Então ele nos disse que podemos usar bibliotecas para criar a rede. E fiquei um pouco chateado. Meu amigo, brincando, me disse isso: "Não, você tem que fazê -lo". E eu disse, se terminar em uma semana, você o usará na tarefa. Meus amigos concordaram com isso.
Então, aqui está. Minha biblioteca. Eu vou fazê -los usar isso para as tarefas.