TensorSlow عبارة عن واجهة برمجة تطبيقات بسيطة للتعلم الآلي تحاكي واجهة برمجة تطبيقات TensorFlow، ولكن يتم تنفيذها بلغة بايثون خالصة (بدون واجهة 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
للمزيد.