0Pricing
R Academy · Урок

Настройка Keras и TensorFlow в R

Установите пакет keras для R, настройте серверную часть Python и проверьте конфигурацию

«Настройка Keras и TensorFlow в R» — бесплатный урок R Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения R Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс R Academy содержит 4 уроков всего.

Глубокое обучение в R с Keras

Пакет R keras предоставляет высокоуровневый интерфейс к TensorFlow. Он поддерживается Posit (ранее RStudio) и тесно повторяет API Keras для Python. R keras использует 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. После загрузки проверьте с помощью is_keras_available(), доступен ли фактически внутренний сервер Keras/TF для Python. Функция возвращает 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

Пакет R tensorflow предоставляет прямой доступ к API 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 и выведите список обнаруженных устройств с помощью API устройств 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

Внутри R keras использует пакет 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__)

Различия API keras3 и keras2

Пакет R keras был существенно переработан в версии 3 (keras3), выпущенной в 2024 году. В новом API используется keras_model_sequential() вместо keras_model_sequential() |>, а слои добавляются с помощью конвейерного стиля. В старом коде используется %>%, а в современном — встроенный конвейер 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 включает следующие этапы:

  1. Установка: install_keras() один раз на компьютер
  2. Загрузка: library(keras)
  3. Подготовка данных: нормализация признаков, преобразование в матрицы
  4. Создание модели: keras_model_sequential() + слои
  5. Компиляция: указание функции потерь, оптимизатора и метрик
  6. Обучение: fit(model, x, y, epochs, callbacks)
  7. Оценка и предсказание: 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() определяет внутренний механизм (в современном keras это всегда TensorFlow).
  • Доступность 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 включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Настройка Keras и TensorFlow в R
  2. Создание последовательных моделей
  3. Основы свёрточных нейронных сетей
  4. Обучение, проверка и предотвращение переобучения
← Назад к R Academy