GithubHelp home page GithubHelp logo

pcam_train's Introduction

PCAM DATASET AND TRAIN MODEL


ЛАБОРАТОРНЫЕ РАБОТЫ ПО КУРСУ

«МЕТОДЫ ГЛУБОКОГО ОБУЧЕНИЯ ДЛЯ РЕШЕНИЯ ЗАДАЧ КОМПЬЮТЕРНОГО ЗРЕНИЯ».

Цель данной лабораторной работы - с помощью нейронных сетей реализовать решение задачи бинарной классификации.

1. Постановка задачи.

Имеются входные данные. Вычисляем выход сети U. Также существует ожидаемый выход сети Y. Необходимо минимизировать функцию ошибки E(Y, U).

Функции активации:

На скрытых слоях

На выходном слое

Функция ошибки

Бинарная кросс-энтропия

Обучение на тренировочной выборке

Сеть обучаем определенное количество эпох, то есть полностью проходим по тестовой выборке и делим данные на пакеты.

  1. Инициализация весов
  2. В каждой эпохе происходит:
  • Перемешивание выборки

  • Пакетное использование данных

  • Корректировка весов по алгоритму обратного распространения ошибки

2. Тренировочные и тестовые наборы данных.

В работе используются данные из https://github.com/basveeling/pcam, полученные из гистологических сканирований срезов лимфатических узлов. Каждое изображение помечено бинарной меткой, которая показывает наличие метастатической ткани. Зеленые прямоугольники в центральной области указывают на опухолевую ткань , что является положительной меткой.

Пример изображений.

Общее количество - 327680 цветных изображений размером w * h * c = 96 * 96 * 3.

Данные Количество примеров
train 262.144
test 32.768
valid 32.768

3. Метрика качества решения задачи.

Y - оригинал U - наш классификатор

Y = TRUE Y = FALSE
U = TRUE True Pos False Pos
U = FALSE False Neg True Neg

- точность классификатора, где

- качество классификатора

- полнота классификатора

4. Исходный формат хранения данных.

Модель хранения данных: HDF5 Matrix

Список используемых файлов в данном формате:

train_x_name = 'camelyonpatch_level_2_split_train_x.h5'

train_y_name = 'camelyonpatch_level_2_split_train_y.h5'

test_x_name = 'camelyonpatch_level_2_split_test_x.h5'

test_y_name = 'camelyonpatch_level_2_split_test_y.h5'

valid_x_name = 'camelyonpatch_level_2_split_valid_x.h5'

valid_y_name = 'camelyonpatch_level_2_split_valid_y.h5'

meta_train_name = 'camelyonpatch_level_2_split_train_meta.csv'

meta_valid_name = 'camelyonpatch_level_2_split_valid_meta.csv'

meta_test_name = 'camelyonpatch_level_2_split_test_meta.csv'

5. Формат, в котором данные предоставляются на вход сети.

Данные необходимо предобработать. Изменим размер до 32 * 32 * 3 и представим в виде вектора размерностью (1,1,3072), также нормализуем значения в нем, поделив на 255. Формат хранения: NumPy N-dimentional array.

Реализация

Внешние зависимости:

Библиотека Основное назначение
google.colab соединяет с Google Drive
tensorflow backend Keras
keras основной фреймворк для работы с нейронными сетями
gzip архивация данных
shutil обработка файлов и данных
pandas анализ данных
matplotlib визуализация данных
cv2 (OpenCV) библиотека компьютерного зрения
numpy работа с тензорами
keras_metrics работа с метриками

pcam_train's People

Contributors

lenferd avatar novozhilovaa avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.