الوحدة 3 — الواجهة الوظيفية: مدخلات متعدّدة وتفرّعات
توقّفت الوحدة السابقة عند أربعة حدود للواجهة التتابعية. تُزيل الواجهة الوظيفية هذه الحدود جميعها، مقابل فكرة واحدة جديدة: الطبقة كائن قابل للاستدعاء على تنسور.
تحوّل زاوية النظر
في النمط التتابعي نُصرّح بلائحة من الطبقات. أمّا في النمط الوظيفي فنُوصِّل التنسورات بعضها ببعض، ثمّ نُشير في النهاية إلى طرفَي الرسم.
from tensorflow import keras
from tensorflow.keras import layers
inputs = keras.Input(shape=(784,))
h = layers.Dense(128, activation="relu")(inputs)
h = layers.Dropout(0.2)(h)
outputs = layers.Dense(10, activation="softmax")(h)
model = keras.Model(inputs=inputs, outputs=outputs)
layers.Dense(128) يُنشئ الطبقة؛ و(inputs) الذي يليه يُطبّقها. هاتان الخطوتان، اللتان تنصهران في النمط التتابعي، تنفصلان هنا، وهذا الفصل بالذات هو ما يجعل كلّ ما يأتي بعده ممكنًا.
التنسور المُتعامَل معه رمزيّ: لا يحمل أيّ بيان، بل شكلًا ونوعًا فقط. يستعمله Keras لفحص التوافق بين الطبقات لحظة البناء، قبل أيّ تدريب.