Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Re-implementation of TensorFlow in pure python, with an emphasis on code understandability
| Date | Stars |
|---|---|
| 2026-07-24 | 680 |
| 2026-07-25 | 680 |
| 2026-07-28 | 680 |
| 2026-07-30 | 680 |
| 2026-08-06 | 680 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.00%/day
# TensorSlow
## A re-implementation of <a href="http://www.tensorflow.org">TensorFlow</a> functionality in pure python
TensorSlow is a minimalist machine learning API that mimicks the TensorFlow API, but is implemented in pure python (without a C backend). The source code has been built with maximal understandability in mind, rather than maximal efficiency. Therefore, TensorSlow should be used solely for educational purposes. If you want to understand how deep learning libraries like TensorFlow work under the hood, this may be your best shot.
I have written an article in my blog at <a href="http://www.deepideas.net/deep-learning-from-scratch-theory-and-implementation/">deepideas.net</a> that develops this library step by step, explaining all the math and algorithms on the way: <a href="http://www.deepideas.net/deep-learning-from-scratch-theory-and-implementation/">Deep Learning From Scratch</a>.
## How to use
Import:
import tensorslow as ts
Create a computational graph:
ts.Graph().as_default()
Create input placeholders:
training_features = ts.placeholder()
training_classes = ts.placeholder()
Build a model:
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))
Create training criterion:
loss = ts.negative(ts.reduce_sum(ts.reduce_sum(ts.multiply(training_classes, ts.log(model)), axis=1)))
Create optimizer:
optimizer = ts.train.GradientDescentOptimizer(learning_rate=0.01).minimize(J)
Create placeholder inputs:
feed_dict = {
training_features: my_training_features,
training_classes: my_training_classes
}
Create session:
session = ts.Session()
Train:
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)
Retrieve model parameters:
weights_value = session.run(weigths)
biases_value = session.run(biases)
Check out the `examples` directory for more.
Excerpt of 2,027 characters
Read on GitHub4
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:7c99d553cd8ba703, topic:deep-learning, topic:tensorflow