TensorSlow é uma API minimalista de aprendizado de máquina que imita a API TensorFlow, mas é implementada em python puro (sem back-end C). O código-fonte foi construído tendo em mente a máxima compreensão, em vez da máxima eficiência. Portanto, o TensorSlow deve ser usado apenas para fins educacionais. Se você quiser entender como bibliotecas de aprendizado profundo como o TensorFlow funcionam nos bastidores, esta pode ser sua melhor chance.
Escrevi um artigo em meu blog em deepideas.net que desenvolve esta biblioteca passo a passo, explicando toda a matemática e algoritmos no caminho: Deep Learning From Scratch.
Importar:
import tensorslow as ts
Crie um gráfico computacional:
ts.Graph().as_default()
Crie espaços reservados de entrada:
training_features = ts.placeholder()
training_classes = ts.placeholder()
Construa um modelo:
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))
Criar critério de treinamento:
loss = ts.negative(ts.reduce_sum(ts.reduce_sum(ts.multiply(training_classes, ts.log(model)), axis=1)))
Criar otimizador:
optimizer = ts.train.GradientDescentOptimizer(learning_rate=0.01).minimize(J)
Crie entradas de espaço reservado:
feed_dict = {
training_features: my_training_features,
training_classes: my_training_classes
}
Criar sessão:
session = ts.Session()
Trem:
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)
Recuperar parâmetros do modelo:
weights_value = session.run(weigths)
biases_value = session.run(biases)
Confira o diretório examples
para mais informações.