TensorSlow — это минималистичный API машинного обучения, который имитирует API TensorFlow, но реализован на чистом Python (без бэкэнда C). Исходный код был создан с учетом максимальной понятности, а не максимальной эффективности. Поэтому TensorSlow следует использовать исключительно в образовательных целях. Если вы хотите понять, как «под капотом» работают библиотеки глубокого обучения, такие как TensorFlow, возможно, это лучший вариант.
Я написал в своем блоге на deepideas.net статью, в которой шаг за шагом разрабатывает эту библиотеку, объясняя всю математику и алгоритмы на этом пути: «Глубокое обучение с нуля».
Импорт:
import tensorslow as ts
Создайте вычислительный график:
ts.Graph().as_default()
Создайте заполнители ввода:
training_features = ts.placeholder()
training_classes = ts.placeholder()
Постройте модель:
weights = ts.Variable(np.random.randn(2, 2))
biases = ts.Variable(np.random.randn(2))
model = ts.softmax(ts.add(ts.matmul(X, W), b))
Создайте критерий обучения:
loss = ts.negative(ts.reduce_sum(ts.reduce_sum(ts.multiply(training_classes, ts.log(model)), axis=1)))
Создать оптимизатор:
optimizer = ts.train.GradientDescentOptimizer(learning_rate=0.01).minimize(J)
Создайте поля-заполнители:
feed_dict = {
training_features: my_training_features,
training_classes: my_training_classes
}
Создать сеанс:
session = ts.Session()
Тренироваться:
for step in range(100):
loss_value = session.run(loss, feed_dict)
if step % 10 == 0:
print("Step:", step, " Loss:", loss_value)
session.run(optimizer, feed_dict)
Получить параметры модели:
weights_value = session.run(weigths)
biases_value = session.run(biases)
Дополнительную информацию можно найти в каталоге examples
.