Phase 00: Setup & Tooling

كتيبات الملاحظات Jupyter

أجهزة المكتب الملاحظة هي مقعد المختبر لمهندسة الذكاء الاصطناعي. أنت تقوم بتصميم أول نموذج هنا، ثم نقلب ما يعمل إلى الإنتاج.

Type: Build

Languages: Python

Prerequisites: Phase 0, Lesson 01

Time: ~30 minutes

أهداف التعلم

  • تثبيت وإطلاق JupyterLab، Jupyter Notebook، أو VS Code مع تمديد Jupyter
  • استخدم الأوامر السحرية (%timeit،%%time،%matplotlib inline) لتقييم الموازنة وتصور الخطوط الداخلية
  • تمييز بين متى تستخدم المكتبات الملاحظة مقابل النصوص وتطبيق سير العمل "استكشاف في المكتبات الملاحظة، شحن في النصوص"
  • تحديد وتجنب فخ المكتبات المكتوبة الشائعة: التنفيذ خارج النظام، الحالة الخفية، وتسربات الذاكرة

المشكلة

كل ورقة الذكاء الاصطناعي، والدروسات، والمسابقات كاجل تستخدم كابينة ملاحظة جوبيتر. يسمحون لك بتشغيل الكود في قطع، ورؤية الخروقات في خط، ومزيج الكود مع التفسيرات، وتكرار بسرعة. إذا حاولت تعلم الذكاء الاصطناعي دون كابينة ملاحظة، كنت تفعل واجبات رياضية دون رسالة خدش.

لكن المكتبات لديها فخ حقيقية الناس يستخدمونها لكل شيء بما في ذلك الأشياء التي هم فظيعون فيها معرفة متى تستخدم المكتبة ومتى تستخدم السيناريو سوف تنقذك من إصلاح الكوابيس في وقت لاحق

المفهوم

دفتر ملاحظات هو قائمة من الخلايا. كل خلية هي إما رمز أو نص.

graph TD
    A["**Markdown Cell**\n# My Experiment\nTesting learning rate 0.01"] --> B["**Code Cell** ► Run\nmodel.fit(X, y, lr=0.01)\n---\nOutput: loss = 0.342"]
    B --> C["**Code Cell** ► Run\nplt.plot(losses)\n---\nOutput: inline plot"]

النواة هي عملية بيثون تعمل في الخلفية. عندما تقوم بتشغيل خلية، فإنها ترسل الرمز إلى النواة، التي تنفذها وتعيد النتيجة. جميع الخلايا تشارك نفس النواة، لذلك تبقى المتغيرات بين الخلايا.

graph LR
    A[Notebook UI] <--> B[Kernel\nPython process]
    B --> C[Keeps variables in memory]
    B --> D[Runs cells in whatever order you click]
    B --> E[Dies when you restart it]

هذا الجزء "أياً كان الطلب الذي تنقر عليه" هو كل من القوة العظمى والمسدس.

بناءها

الخطوة 1: اختر واجهتك

ثلاثة خيارات، شكل واحد:

InterfaceInstallBest for
JupyterLabpip install jupyterlab then jupyter labFull IDE experience, multiple tabs, file browser, terminal
Jupyter Notebookpip install notebook then jupyter notebookSimple, lightweight, one notebook at a time
VS CodeInstall "Jupyter" extensionAlready in your editor, git integration, debugging

كل ثلاثة يقرأون و يكتبون نفس الشيء.ipynbالملفات. اختر ما تشاء. جوبيتر لاب هو الأكثر شيوعا في العمل الذكاء الاصطناعي.

bashpip install jupyterlab
jupyter lab

الخطوة الثانية: اختصارات لوحة المفاتيح التي تهم

تعملين في وضعين.Escapeلنظام الأوامر (الشرط الأزرق على اليسار) ، Enterلنظام التحرير (المقرب الأخضر).

Command mode (most used):

KeyAction
Shift+EnterRun cell, move to next
AInsert cell above
BInsert cell below
DDDelete cell
MConvert to markdown
YConvert to code
ZUndo cell operation
Ctrl+Shift+HShow all shortcuts

Edit mode:

KeyAction
TabAutocomplete
Shift+TabShow function signature
Ctrl+/Toggle comment

Shift+Enterهو واحد ستستخدمها ألف مرة في اليوم، تعلمها أولاً.

الخطوة الثالثة: أنواع الخلايا

Code cellsتشغيل Python وتظهر الخروج:

pythonimport numpy as np
data = np.random.randn(1000)
data.mean(), data.std()

الناتج: (0.0032, 0.9987)

Markdown cellsإرسال النص المنسق. استخدمهم لتوثيق ما تفعلونه ولماذا. يدعم العناوين، الكثافة، الصفحة المقطعية، رياضيات لاتيكس ($E = mc^2$الجداول والصور

الخطوة الرابعة: أوامر سحرية

هذه ليست بيثون، إنها أوامر خاصة بـ (جوبيتر) تبدأ بـ%(سحر الخط) أو %%(سحر الخلايا).

Time your code:

python%timeit np.random.randn(10000)

الناتج: 45.2 us +/- 1.3 us per loop

python%%time
model.fit(X_train, y_train, epochs=10)

الناتج: Wall time: 2.34 s

%timeitيُشغّل الرمز عدة مرات ومتوسطات. %%timeأستخدمها مرة واحدة%timeitلـ "ميكروبنش مارك"%%timeلرحلات التدريب

Enable inline plots:

python%matplotlib inline

كلّ شخصplt.plot()أوplt.show()الآن يُسجل مباشرةً في دفتر الملاحظات

Install packages without leaving the notebook:

python!pip install scikit-learn
  • نعم!المُضاف يُشغّل أيّ أمر قذيفة.

Check environment variables:

python%env CUDA_VISIBLE_DEVICES

الخطوة 5: عرض الناتج الغني في الخط

أجهزة الملاحظات تظهر تلقائيًا آخر تعبير في الخلية، ولكن يمكنك التحكم بها:

pythonimport pandas as pd

df = pd.DataFrame({
    "model": ["Linear", "Random Forest", "Neural Net"],
    "accuracy": [0.72, 0.89, 0.94],
    "training_time": [0.1, 2.3, 45.6]
})
df

هذا يعطي جدول HTML مقسوم، وليس مخزن نص. نفس الشيء مع السطحات:

pythonimport matplotlib.pyplot as plt

plt.figure(figsize=(8, 4))
plt.plot([1, 2, 3, 4], [1, 4, 2, 3])
plt.title("Inline Plot")
plt.show()

يظهر المسار مباشرة تحت الخلية. هذا هو السبب في أن المكتبات تهيمن على عمل الذكاء الاصطناعي. يمكنك رؤية البيانات، المسار، والرقم معا.

للصور:

pythonfrom IPython.display import Image, display
display(Image(filename="architecture.png"))

الخطوة 6: Google Colab

كولاب هو حاسوب يوبيتر مجاني في السحابة. يمنحك GPU، مكتبات مثبتة مسبقا، وتكامل Google Drive. لا توجد إعدادات مطلوبة.

  1. إذهب إلىcolab.research.google.com
  2. قم بتحميل أي .ipynbالملف من هذه الدورة
  3. وقت تشغيل > تغيير نوع وقت تشغيل > GPU T4 (بجانب)

اختلافات في الـ Colab عن الـ Jupyter المحلي:

  • لا تستمر الملفات بين الجلسات (إلا في القيادة أو التنزيل)
  • المثبتة مسبقاً: نومبي، باندا، ماتبلوتليب، مشعل، تنسروفلو، سلكارن
  • from google.colab import filesلتحميل/تنزيل الملفات
  • from google.colab import drive; drive.mount('/content/drive')للتخزين المستمر
  • وقت الإجراءات بعد 90 دقيقة من عدم النشاط (مستوى مجاني)

استخدمها

المكتبات الملاحظة مقابل النصوص: متى تستخدم أي

Use notebooks forUse scripts for
Exploring a datasetTraining pipelines
Prototyping a modelReusable utilities
Visualizing resultsAnything with if __name__
Explaining your workCode that runs on a schedule
Quick experimentsProduction code
Course exercisesPackages and libraries

القاعدة:explore in notebooks, ship in scripts. . .

سير عمل شائع في الذكاء الاصطناعي:

  1. استكشاف البيانات في دفتر الملاحظات
  2. النموذج الأول في دفتر الملاحظات
  3. بمجرد أن يعمل، نقلها إلى .pyالملفات
  4. استيراد تلك.pyالملفات إلى المذكرة لمزيد من التجارب

الفخاخ الشائعة

Out-of-order execution.تقوم بتشغيل الخلية 5، ثم الخلية 2، ثم الخلية 7. يعمل المذكرة على جهازك ولكن تتعطل عندما يقوم شخص ما بتشغيلها من أعلى إلى أسفل.

Hidden state.تقوم بحذف خلية ولكن المتغير الذي أنشأه لا يزال في الذاكرة. يبدو دفتر الملاحظات نظيفاً لكنه يعتمد على خلية شبح.

Memory leaks.تحميل مجموعة بيانات 4 جيجابايت، تدريب نموذج، تحميل مجموعة بيانات أخرى. لا شيء يتم تحريره.del variable_nameوgc.collect()أو إعادة تشغيل النواة

أرسله

هذا الدرس ينتج عن:

  • outputs/prompt-notebook-helper.mdلإعداد إصدارات إصدارات الملاحظات

التمارين

  1. افتح JupyterLab، و إخلق دفتر ملاحظات، واستخدم %timeitمقارنة فهم القائمة مقابل النمبي لإنشاء صف من 100،000 عدد عشوائي
  2. قم بإنشاء دفتر ملاحظات مع كل من خلايى التسجيل والكود التي تحميل CSV، وعرض إطار بيانات، وتخطيط الرسم البياني. ثم تشغيل الكرنيل > إعادة تشغيل وتشغيل كل للتحقق من أنها تعمل من أعلى إلى أسفل
  3. خذ الرمز منcode/notebook_tips.py، ضعه في دفتر ملاحظات كولاب ، و تشغيله مع جهاز GPU مجاني

الشروط الرئيسية

TermWhat people sayWhat it actually means
Kernel"The thing running my code"A separate Python process that executes cells and keeps variables in memory
Cell"A code block"An independently runnable unit in a notebook, either code or markdown
Magic command"Jupyter tricks"Special commands prefixed with % or %% that control the notebook environment
.ipynb"Notebook file"A JSON file containing cells, outputs, and metadata. Stands for IPython Notebook

المزيد من القراءة

This free lesson is part of the AI Engineering from Scratch curriculum. Read the full explanation, run the lesson code, and verify the result in the interactive reader or from the repository source.

Browse the complete course catalog or open this lesson on GitHub.