TensorFlow
TensorFlow and Keras
بناء النماذج وتدريبها بواجهة Keras عالية المستوى: compile وfit وevaluate والاستدعاءات.
التثبيت
pip install tensorflowراجع صفحة التثبيت الرسمية لمتطلبات GPU وإصدارات Python المدعومة.
نموذج Sequential
import tensorflow as tf
from tensorflow import keras
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data() # تُنزّل عند أول استخدام
x_train, x_test = x_train / 255.0, x_test / 255.0
model = keras.Sequential([
keras.Input(shape=(28, 28)),
keras.layers.Flatten(),
keras.layers.Dense(128, activation="relu"),
keras.layers.Dropout(0.2),
keras.layers.Dense(10), # logits
])
model.compile(optimizer="adam",
loss=keras.losses.SparseCategoricalCrossentropy(from_logits=True),
metrics=["accuracy"])
model.summary()التدريب مع الاستدعاءات
callbacks = [
keras.callbacks.EarlyStopping(monitor="val_loss", patience=3, restore_best_weights=True),
keras.callbacks.ModelCheckpoint("best.keras", monitor="val_loss", save_best_only=True),
]
history = model.fit(x_train, y_train, epochs=20, batch_size=64,
validation_split=0.1, callbacks=callbacks)
print(model.evaluate(x_test, y_test, verbose=0))history.history يحتوي قيم الخسارة والدقة لكل حقبة لرسم منحنيات التعلم.
الواجهة الوظيفية
inputs = keras.Input(shape=(28, 28, 1))
x = keras.layers.Conv2D(32, 3, activation="relu")(inputs)
x = keras.layers.MaxPooling2D()(x)
x = keras.layers.Flatten()(x)
outputs = keras.layers.Dense(10)(x)
cnn = keras.Model(inputs, outputs)تسمح ببناء نماذج بمدخلات أو مخرجات متعددة أو تفرعات.
PyTorch أم TensorFlow؟
| PyTorch | TensorFlow/Keras | |
|---|---|---|
| أسلوب التدريب | حلقة صريحة يكتبها المستخدم | fit جاهزة (مع إمكانية التخصيص) |
| الانتشار البحثي | واسع جداً | واسع |
| النشر | TorchScript، ONNX | TF Serving، TF Lite، TF.js |
تعلم المفاهيم أهم من الإطار؛ الانتقال بينهما سهل بعد فهم الانتشار الأمامي والخلفي والمحسّنات.
مصطلحات الدرس
- Keras Keras API
- واجهة عالية المستوى لبناء الشبكات العصبية وتدريبها، وهي الواجهة الرسمية عالية المستوى في TensorFlow.
- الاستدعاء Callback
- كائن يُستدعى في مراحل محددة من التدريب لتنفيذ إجراءات مثل الحفظ أو التوقف المبكر أو تعديل معدل التعلم.
- التوقف المبكر Early Stopping
- إيقاف التدريب عندما يتوقف تحسن مقياس التحقق لعدد من الحقب لتجنب فرط التخصيص.
الملخص
TensorFlow إطار تعلم عميق مفتوح المصدر من Google، وواجهته عالية المستوى Keras تتيح بناء النماذج بأسلوب Sequential أو الواجهة الوظيفية (Functional API) أو بالتوريث من keras.Model. يُجهَّز النموذج بـ compile (المحسّن والخسارة والمقاييس) ويُدرَّب بـ fit، مع استدعاءات (callbacks) مثل التوقف المبكر وحفظ أفضل نموذج. يتيح tf.data بناء خطوط إدخال فعالة، ويدعم النشر على الخوادم والأجهزة المحمولة والمتصفح.
أسئلة مراجعة
-
ما وظيفة model.compile؟
تحديد المحسّن ودالة الخسارة والمقاييس قبل التدريب.
-
ما فائدة restore_best_weights في EarlyStopping؟
إعادة أوزان الحقبة التي حققت أفضل قيمة تحقق بدلاً من أوزان آخر حقبة.
المصادر والمراجع
إكمال الدرس
أكملت كل دروس المسار! يمكنك الآن طلب شهادة إكمال المسار.
اطلب الشهادة