Важный
Это сложный мем, в который я приложил много усилий. Так что, пожалуйста, никто не предъявляет мне иск.
Shamboflow - это API с открытым исходным кодом для создания моделей машинного обучения. Он доступен только в Python.
Shamboflow - это очень быстрое падение замены для TensorFlow (чтение ничего не добавляет, даже не улучшение производительности). Он строится с нуля (читай, используя Numpy) и поставляется с поддержкой GPU CUDA из коробки. Я расскажу историю в конце этого файла о том, как это произошло.
Серьезно, я всегда хотел внедрить нейронную сеть, используя Just Numpy, и никаких дополнительных библиотек, и это дало мне повод для этого. И я так и сделал. Я сделал это через неделю. Узнал много вещей в процессе, и это был стрессовый и веселый опыт. Эта библиотека зависит от Numpy, как указано, но также использует Cupy для добавления поддержки GPU. Две другие зависимости - это TQDM для бара прогресса и колорамы для красочных текстов. Я, вероятно, буду больше работать над этим, так как я уже приложил довольно некоторые усилия.
Установите, используя пакет PIP.
$ pip install shamboflow Чтобы обновить Shampoflow до последней версии, добавьте флаг --upgrade в вышеуказанную команду
Небольшой пример программы, которая показывает, как создать простую ANN с топологией 3-2-1 и обучить ее данными для выполнения прогнозов.
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 )Его история.
На прошлой неделе у нас был класс по нейронным сетям в университете. В конце класса наш профессор сказал нам реализовать данную сеть в Python. Теперь, ранее он говорил нам не использовать никаких библиотек для выполнения наших задач, так как это просто разрушило бы цель обучения алгоритмам. Итак, я был взволнован тем, что собираюсь внедрить нейронную сеть, используя Just Python. Затем он сказал нам, что мы можем использовать библиотеки для создания сети. И я был немного расстроен. Мой друг в шутку сказал мне: «Нет, ты должен сделать это». И я сказал, если я закончу это в течение недели, вы будете использовать его в задании. Мои друзья согласились на это.
Итак, вот оно. Моя библиотека. Я так собираюсь заставить их использовать это для заданий.