المتغير: اسم لقيمة
اضغط «تشغيل» لرؤية الناتج هنا.
مختبر تدريبي عربي يشغّل Python داخل متصفحك، ويعطيك اختباراً وتلميحاً فورياً. لا حساب، لا إعداد بيئة، ولا بيانات مرضى.
expected = 48
slots = 36
gap = expected - slots
print(f"فرق السعة: {gap}")
عدّل السطر المطلوب، شغّل الكود، ثم اضغط «تحقق». ينتقل إنجازك معك عند العودة من الجهاز نفسه.
اضغط «تشغيل» لرؤية الناتج هنا.
اختبر القرار، شاهد المفهوم، ثم عد إلى السطر البرمجي.
غيّر السعة وجودة البيانات، ثم اختر القرار البشري الصحيح في ثلاثة سيناريوهات.
افتح المحاكاة ← دليل تفاعليثلاث عشرة تجربة بصرية: الاكتمال، الفصل الزمني، التسرب، منحنى التعلم والمخاطر.
افتح الدليل ←لا تشخيص، لا فرز، لا اتصال بنظام حي، ولا رفع لأي ملف من المؤسسة.
بيانات اصطناعية فقط ✓هذا شرح تعليمي فقط. انسخ كل خلية إلى Colab وشغّلها بالترتيب؛ لا يوجد ربط بحساب Google ولا تنفيذ سحابي من داخل الموقع.
احفظ ملف الدورة على جهازك، أو افتح Colab وأنشئ دفتراً جديداً للتجربة.
من File اختر Upload notebook ثم اختر ملف .ipynb.
شغّل الخلايا الأولى على CPU بالضغط على ▶ أو Shift + Enter.
Runtime → Change runtime type → GPU، ثم نفّذ خلية فحص الجهاز.
احفظ الدفتر والنتائج في Drive قبل انتهاء الجلسة المؤقتة.
أنشئ خلية Code جديدة في Colab لكل بطاقة، اضغط «نسخ الخلية»، ألصقها، ثم شغّلها قبل الانتقال إلى التالية.
import sys
print("Python:", sys.version.split()[0])
print("البيئة جاهزة ✓")
المتوقع: يظهر إصدار Python ثم رسالة أن البيئة جاهزة.
expected_visitors = 48
available_slots = 36
capacity_gap = expected_visitors - available_slots
print(f"فرق السعة: {capacity_gap}")
المتوقع: فرق السعة: 12. هكذا تتأكد أن النسخ والتشغيل واضحان قبل GPU.
import torch
device = "cuda" if torch.cuda.is_available() else "cpu"
print("الجهاز المستخدم:", device)
if device == "cuda":
print("GPU:", torch.cuda.get_device_name(0))
else:
print("فعّل GPU من قائمة Runtime ثم أعد التشغيل")
إذا ظهر cuda فقد أصبح التدريب يستخدم GPU. نوع الجهاز المتاح قد يتغير حسب الحصة.
import torch
torch.manual_seed(42)
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
# بيانات اصطناعية: عدد المراجعين وعدد الموظفين
arrivals = torch.randint(10, 61, (300, 1), dtype=torch.float32)
staff = torch.randint(2, 9, (300, 1), dtype=torch.float32)
raw_features = torch.cat([arrivals, staff], dim=1)
# وقت انتظار اصطناعي للتدريب فقط
wait_minutes = 0.55 * arrivals - 1.70 * staff
wait_minutes += torch.randn(300, 1) * 2
feature_mean = raw_features.mean(dim=0, keepdim=True)
feature_std = raw_features.std(dim=0, keepdim=True)
features = ((raw_features - feature_mean) / feature_std).to(device)
targets = wait_minutes.to(device)
model = torch.nn.Linear(2, 1).to(device)
optimizer = torch.optim.Adam(model.parameters(), lr=0.05)
loss_fn = torch.nn.MSELoss()
for epoch in range(400):
prediction = model(features)
loss = loss_fn(prediction, targets)
optimizer.zero_grad()
loss.backward()
optimizer.step()
print("اكتمل التدريب على:", device)
print("الخسارة النهائية:", round(loss.item(), 3))
الفكرة: يتعلم النموذج علاقة تعليمية بين الضغط التشغيلي ووقت الانتظار. هذه ليست بيانات مرضى ولا أداة قرار.
new_case = torch.tensor([[48.0, 4.0]])
scaled_case = ((new_case - feature_mean) / feature_std).to(device)
predicted_wait = model(scaled_case).item()
print("الانتظار المتوقع تعليمياً:", round(predicted_wait, 1), "دقيقة")
print("⚠️ مثال تدريبي اصطناعي — القرار النهائي للإنسان")
غيّر الرقمين 48 و4 ولاحظ الأثر. لا تستخدم النتيجة للتشخيص أو الفرز أو إدارة حالة حقيقية.
استخدم بيانات اصطناعية أو عامة مصرحاً بها فقط. لا ترفع ملفات المرضى أو ملفات المؤسسة إلى حساب شخصي.
جلسة Colab مؤقتة وقد تنتهي. احفظ الدفتر والنتائج المطلوبة، ولا تعتمد على مجلد /content للحفظ الدائم.
ارجع إلى CPU عندما لا تحتاج المسرّع حتى لا تستهلك حصة GPU المتاحة دون فائدة.