Читать книгу Искусственный интеллект в прикладных науках. Медицина онлайн

target_size=(150, 150),

batch_size=20,

class_mode='binary'

)

# Обучение модели

history = model.fit(

train_generator,

steps_per_epoch=100,

epochs=30,

validation_data=validation_generator,

validation_steps=50

)

# Оценка качества модели

test_loss, test_acc = model.evaluate(validation_generator, verbose=2)

print('\nТочность на валидационных данных:', test_acc)

```

Прежде чем запускать этот код, убедитесь, что у вас установлены необходимые библиотеки, такие как TensorFlow и keras. Кроме того, замените `'/path/to/training_data'` и `'/path/to/validation_data'` путями к вашим данным обучения и валидации соответственно.

Для установки библиотеки TensorFlow и keras воспользуйтесь следующими командами в терминале или командной строке, если вы используете pip:

```

pip install tensorflow

pip install keras

```

После установки библиотек вы можете использовать предыдущий код для обнаружения опухолей на рентгеновских снимках грудной клетки.


Рассмотрим этапы кода:

1. Импорт библиотек: Сначала мы импортируем необходимые библиотеки TensorFlow и Keras, а также классы ImageDataGenerator, который позволяет автоматически подготавливать изображения для обучения.

2. Создание модели сверточной нейронной сети (CNN): Мы создаем модель Sequential, которая представляет собой последовательную нейронную сеть. Затем мы добавляем различные слои сверточной нейронной сети с помощью метода `add()`. Эти слои включают в себя сверточные слои, слои пулинга и полносвязные слои.

3. Компиляция модели: Мы компилируем модель с помощью метода `compile()`, указывая оптимизатор (adam), функцию потерь (binary_crossentropy) и метрику (accuracy).

4. Подготовка данных с использованием генератора изображений: Мы создаем объекты ImageDataGenerator для обучающих и валидационных данных. Затем мы используем метод `flow_from_directory()`, чтобы загрузить изображения из указанного каталога, масштабировать их и разделить на пакеты.

5. Обучение модели: Мы обучаем модель с использованием метода `fit()`, передавая обучающий генератор, количество шагов обучения в каждой эпохе (steps_per_epoch), количество эпох (epochs), валидационный генератор и количество шагов валидации (validation_steps).