جميع حزم المصدر المفتوح
الذكاء الاصطناعيSwift

SwiftAI

تعلّم آلي بلغة Swift الخالصة: تدريب النماذج وتقييمها وحفظها على الجهاز مباشرة.

9النجومآخر إصدار: v2.0.0آخر تحديث: 15 أكتوبر 2026
الأنظمة الأساسية:iOS 15macOS 12tvOS 15watchOS 8visionOS 1

الترخيص: MIT

SwiftAI حزمة Swift للتعلّم الآلي الكلاسيكي على منصات Apple: التصنيف (classification) والانحدار (regression) والتجميع (clustering) وتقليل الأبعاد (dimensionality reduction) على جداول من الأرقام. تحمّل البيانات من CSV أو من مصفوفات (arrays)، وتقسّمها، وتدرّب نموذجًا باستدعاء دالة واحدة، وتقيّمه وتحفظه كـ JSON لتحميله في تطبيقك، دون سلسلة أدوات Python أو خادم. لا تحتوي الحزمة على أي اعتماديات.

الميزات

  • أحد عشر نموذجًا تعلّمًا بإشراف (supervised): الانحدار الخطي وridge، والانحدار اللوجستي، وk-nearest neighbours، وGaussian naive Bayes، وأشجار القرار (decision trees)، وrandom forests، والشبكات العصبية (neural networks)، بالإضافة إلى تجميع k-means وتحليل المكوّنات الأساسية (PCA)
  • مُحقَّق مقابل scikit-learn 1.9.1: تقارن الاختبارات المعاملات (coefficients) والاحتمالات (probabilities) والتجميعات (clusters) (مثلًا احتمالات الانحدار اللوجستي بدقة 1e-5، وPCA بدقة 1e-10)
  • أخطاء بدلًا من الانهيار (crash): البيانات أو الإعدادات غير الصالحة تطلق SwiftAIError يذكر ما يجب تغييره
  • أمان في التحميل: النماذج وscalers وpipelines من نوع Codable، وعملية decoding تفحص الأشكال (shapes) والقيم وقوائم الأصناف (classes) وبنية الأشجار
  • قابل للتكرار (reproducible): كل خطوة عشوائية تأخذ seed، ويعطي نفس الـ seed نفس النموذج، وكذلك بالنسبة للغابات (forests) المدرَّبة بالتوازي
  • تُطبَّق pipeline المعالجة المسبقة (preprocessing) على بيانات التدريب فقط وتُطبِّقها بالطريقة نفسها على كل عيّنة لاحقة
  • وضع لغة Swift 6 بفحص concurrency صارم؛ وكتالوج DocC بأربع مقالات وتطبيق ModelLab التوضيحي لـ iOS وmacOS

البدء السريع

swift
1import SwiftUI
2import SwiftAI
3 
4struct ContentView: View {
5 var body: some View {
6 Text(irisSummary())
7 .padding()
8 }
9 
10 func irisSummary() -> String {
11 do {
12 // 1. Split the built-in iris flowers into training and test samples.
13 let (training, test) = try Dataset.iris.stratifiedSplit(testFraction: 0.2, seed: 42)
14 // 2. Train a random forest on the training samples.
15 let model = try RandomForestClassifier.fit(training, seed: 42)
16 // 3. Measure it on the test samples and classify a new flower.
17 let accuracy = try model.accuracy(on: test)
18 let species = try model.predict([6.3, 2.8, 5.1, 1.5])
19 return "Test accuracy: \(accuracy.formatted(.percent))\nNew flower: \(species)"
20 } catch {
21 return error.localizedDescription
22 }
23 }
24}

التثبيت

Xcode (File › Add Package Dependencies…)

text
1https://github.com/muhittincamdali/SwiftAI.git

Swift Package Manager

swift
1dependencies: [
2 .package(url: "https://github.com/muhittincamdali/SwiftAI.git", from: "2.0.0")
3],
4targets: [
5 .target(name: "YourApp", dependencies: [
6 .product(name: "SwiftAI", package: "SwiftAI")
7 ])
8]

لقطات الشاشة

أربعة مصنِّفات (classifiers) مدرَّبة على قياسات بتلات الزنبق (iris)، مع الأنواع التي يتنبأ بها كل منها على المستوى ودقّتها بالتحقق المتصالب (cross-validated accuracy) (k-nearest neighbours 96.0%، والانحدار اللوجستي 95.3%، وشجرة القرار 94.0%، والشبكة العصبية 96.0%)
النسخة الداكنة من صورة حدود القرار (decision-boundary): أربعة مصنِّفات مدرَّبة على قياسات بتلات الزنبق ودقّتها بالتحقق المتصالب

الجدول الزمني

  1. افتُتح المستودع كـ framework واسع للذكاء الاصطناعي بطبقات بنية تطبيق (app-architecture) وكود Vision وNLP

  2. صدر الإصدار 1.0.0؛ وبعد ثلاثة أيام أُزيلت وحدات بنية التطبيق وكُتب نواة (core) أصغر للتعلّم الآلي

  3. تبسيط: انكمشت الاختبارات إلى ملف placeholder واحد، وأُضيفت طبقات stub صغيرة

  4. أُعيد البناء من الصفر كحزمة تعلّم آلي كلاسيكي بلا اعتماديات، وصدر كـ 2.0.0؛ لم تبقَ أي واجهة برمجية من 1.0.0

الروابط

مقالة ذات صلة

قراءة المقالة