إعداد Keras وTensorFlow في R
ثبّت حزمة keras الخاصة بـ R، واضبط واجهة Python الخلفية، وتحقق من الإعداد
إعداد Keras وTensorFlow في R درس مجاني في R Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في R Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة R Academy 4 دروس في المجموع.
التعلم العميق في R باستخدام Keras
توفر حزمة keras في R واجهة عالية المستوى لـ TensorFlow. وتتولى Posit (المعروفة سابقًا باسم RStudio) صيانتها، كما أنها تحاكي واجهة برمجة Keras في Python إلى حد كبير. وتستخدم keras في R حزمة reticulate لاستدعاء TensorFlow في Python ضمنيًا، مما يتيح لكم الاستفادة من كامل قوة TensorFlow باستخدام صياغة R.
# Install the R package from CRAN
# install.packages('keras')
# Then install TensorFlow Python environment
library(keras)
install_keras() # creates a Python venv with TF installed
# For GPU-enabled TensorFlow:
# install_keras(tensorflow = 'gpu')install_keras() والواجهات الخلفية
تنشئ install_keras() بيئة Python مخصصة (Miniconda أو virtualenv)، وتثبت TensorFlow وتبعياته. ويمكنكم تحديد إصدار TensorFlow وإصدار Python وما إذا كنتم تريدون تثبيت دعم CPU أو GPU. وتثبت افتراضيًا أحدث إصدار مستقر لوحدة CPU.
library(keras)
# Install specific TF version in a custom env
install_keras(
method = 'conda',
envname = 'r-keras-tf2',
tensorflow = '2.15',
version = 'default'
)
# Check which Python environment is active
reticulate::py_config()library(keras) وis_keras_available()
تحمّل library(keras) روابط R. وبعد التحميل، تحققوا من إمكانية الوصول الفعلية إلى الواجهة الخلفية لـ Keras/TF في Python باستخدام is_keras_available(). وتعيد هذه الدالة TRUE إذا كان TensorFlow مثبتًا وقابلًا للاستيراد، أو FALSE مع رسالة مفيدة إذا كانت بيئة Python مفقودة.
library(keras)
# Check backend availability
if (is_keras_available()) {
cat('Keras is ready!\n')
} else {
cat('Keras not available. Run install_keras() first.\n')
}
# Check TensorFlow Python availability
library(tensorflow)
tf$constant('Hello TensorFlow')حزمة tensorflow
توفر حزمة tensorflow في R وصولًا مباشرًا إلى واجهة TensorFlow البرمجية في Python من خلال reticulate. وتحاكي install_tensorflow() الدالة install_keras()، لكنها تثبت TensorFlow فقط من دون إضافات Keras. استخدموها عندما تحتاجون إلى عمليات TF منخفضة المستوى.
library(tensorflow)
# Install TF separately if needed
# tensorflow::install_tensorflow()
# Check TF version
tf_version()
# Low-level tensor operation
a <- tf$constant(c(1.0, 2.0, 3.0))
b <- tf$constant(c(4.0, 5.0, 6.0))
c_val <- tf$add(a, b)
print(c_val)k_backend() — تحديد الواجهة الخلفية
تعيد k_backend() سلسلة نصية تحدد الواجهة الخلفية التي تستخدمها Keras. تستخدم Keras R الحديثة (keras3) TensorFlow دائمًا. أما keras الأقدم (v2)، فكان بإمكانها أيضًا استخدام Theano أو CNTK. وتفيد معرفة الواجهة الخلفية عند تصحيح مشكلات البيئة.
library(keras)
# Check which backend is active
k_backend() # should return 'tensorflow'
# Check TF version via keras
tf_version()
# Number of tensor dimensions backend uses internally
k_image_data_format() # 'channels_last' or 'channels_first'التحقق من توفر GPU
قد يكون التدريب على GPU أسرع بمقدار يتراوح بين 10 و50 ضعفًا من CPU بالنسبة إلى الشبكات الكبيرة. تحققوا من توفر GPU واعرضوا الأجهزة المكتشفة باستخدام واجهة الأجهزة في TensorFlow. وإذا كان لديكم GPU من NVIDIA مثبت عليه CUDA، فسيستخدمه TensorFlow تلقائيًا.
library(tensorflow)
# List all available devices
devices <- tf$config$list_physical_devices()
print(devices)
# Check specifically for GPUs
gpus <- tf$config$list_physical_devices('GPU')
if (length(gpus) > 0) {
cat('GPU available:', gpus[[1]]$name, '\n')
} else {
cat('No GPU found — using CPU\n')
}إدارة بيئة Python
تستخدم keras في R حزمة reticulate لاستدعاء Python ضمنيًا. استخدموا reticulate::use_condaenv() أو reticulate::use_virtualenv() لاختيار بيئة Python المثبت فيها TensorFlow. ويجب استدعاء ذلك قبل تحميل keras.
# Select the conda environment before loading keras
library(reticulate)
use_condaenv('r-keras-tf2', required = TRUE)
library(keras)
# Confirm Python path
py_config()$python
# Confirm TF is importable
pytf <- import('tensorflow', convert = FALSE)
cat('TF Version:', pytf$__version__)الفروق بين واجهتي keras3 وkeras2
خضعت حزمة keras في R لإعادة كتابة كبيرة مع الإصدار 3 (keras3)، الذي صدر في عام 2024. تستخدم الواجهة الجديدة keras_model_sequential() بدلًا من keras_model_sequential() |>، كما تستخدم أسلوب إضافة الطبقات المعتمد على العامل pipe. وتستخدم الشيفرة الأقدم %>%، بينما تستخدم الشيفرة الحديثة عامل R الأصلي |>.
library(keras3) # or library(keras) for keras2
# Modern keras3 API with native pipe
model <- keras_model_sequential(input_shape = c(784)) |>
layer_dense(units = 128, activation = 'relu') |>
layer_dense(units = 10, activation = 'softmax')
summary(model)التحقق من الإعداد الكامل
قبل إنشاء أي نموذج، أجروا تحققًا سريعًا من البداية إلى النهاية: أنشئوا نموذجًا صغيرًا، ثم جمّعوه ودربوه على بيانات اصطناعية. إذا نُفذت هذه الخطوات دون أخطاء، فهذا يعني أن إعداد Keras + TF يعمل بصورة صحيحة.
library(keras)
# Quick smoke test
model <- keras_model_sequential(input_shape = c(10)) |>
layer_dense(units = 32, activation = 'relu') |>
layer_dense(units = 1, activation = 'linear')
model |> compile(
optimizer = 'adam',
loss = 'mse'
)
# Train on random data
x_rand <- matrix(rnorm(1000 * 10), ncol = 10)
y_rand <- rnorm(1000)
model |> fit(x_rand, y_rand, epochs = 3, batch_size = 32, verbose = 0)
cat('Setup OK!')إدارة الجلسات والذاكرة
يستخدم TensorFlow GPU وRAM بكثافة. في جلسات R التفاعلية، استدعوا keras::backend()$clear_session() لتحرير الذاكرة عند التبديل بين التجارب. ولضمان قابلية إعادة الإنتاج، عيّنوا البذور العشوائية لـ TF وR قبل إنشاء النماذج.
library(keras)
# Set seeds for reproducibility
set.seed(42)
tensorflow::set_random_seed(42)
# Clear any previous session state
keras::backend()$clear_session()
# Limit GPU memory growth (prevents OOM errors)
gpus <- tensorflow::tf$config$list_physical_devices('GPU')
if (length(gpus) > 0) {
tensorflow::tf$config$experimental$set_memory_growth(
gpus[[1]], TRUE
)
}نظرة عامة على سير العمل
يتبع سير العمل المعتاد للتعلم العميق في R الخطوات التالية:
- التثبيت:
install_keras()مرة واحدة لكل جهاز - التحميل:
library(keras) - إعداد البيانات: توحيد الميزات وتحويلها إلى مصفوفات
- إنشاء النموذج:
keras_model_sequential()+ الطبقات - التجميع: تحديد دالة الخسارة والمُحسِّن والمقاييس
- الملاءمة:
fit(model, x, y, epochs, callbacks) - التقييم/التنبؤ:
evaluate()+predict()
# Step-by-step outline (each step covered in next lessons)
library(keras)
# 1. Data ready as matrices (normalised)
# x_train, y_train, x_test, y_test
# 2. Model
model <- keras_model_sequential(input_shape = ncol(x_train)) |>
layer_dense(128, activation = 'relu') |>
layer_dense(1, activation = 'sigmoid')
# 3. Compile
model |> compile('adam', 'binary_crossentropy', metrics = 'accuracy')
# 4. Fit
model |> fit(x_train, y_train, epochs = 20)
# 5. Evaluate
model |> evaluate(x_test, y_test)تحقق سريع
ماذا تفعل استدعاءات install_keras() في R؟
مراجعة إعداد Keras
أهم النقاط من درس إعداد Keras وTensorFlow في R:
- تنشئ
install_keras()بيئة Python وتثبت TensorFlow — شغّلوها مرة واحدة لكل جهاز. - تتحقق
is_keras_available()من إمكانية الوصول إلى الواجهة الخلفية قبل التدريب. - تحدد
k_backend()الواجهة الخلفية (وهي TensorFlow دائمًا في keras الحديثة). - يُتحقق من توفر GPU عبر
tf$config$list_physical_devices('GPU'). - استخدموا
reticulate::use_condaenv()لاختيار بيئة Python الصحيحة. - عيّنوا البذور باستخدام
set.seed()وtensorflow::set_random_seed()لضمان قابلية إعادة الإنتاج. - استدعوا
backend()$clear_session()بين التجارب لتحرير الذاكرة.
# Minimal verified setup check
library(keras)
if (!is_keras_available()) {
install_keras()
}
cat('Backend:', k_backend(), '\n')
cat('TF Version:', tf_version(), '\n')
cat('Image format:', k_image_data_format(), '\n')الأسئلة الشائعة
هل درس «إعداد Keras وTensorFlow في R» مجاني؟
نعم — نص درس «إعداد Keras وTensorFlow في R» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة R Academy، انتقل إلى CoddyKit PRO. تتضمن دورة R Academy 4 دروس في المجموع.
ماذا ستتعلم في «إعداد Keras وTensorFlow في R»؟
ثبّت حزمة keras الخاصة بـ R، واضبط واجهة Python الخلفية، وتحقق من الإعداد تتمرن على R Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ R Academy؟
لا تُشترط خبرة سابقة. R Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «إعداد Keras وTensorFlow في R»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس R Academy هذا؟
نعم. كل درس في R Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- إعداد Keras وTensorFlow في R
- بناء النماذج التسلسلية
- أساسيات الشبكات العصبية الالتفافية
- التدريب والتحقق ومنع فرط التكيّف