1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/fanwenjie-LeNet-5

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
Клонировать/Скачать
README.md 3.2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 12.03.2025 02:28 5a6c22e

Нейронная сеть LeNet-5

Описание

Нейронная сеть LeNet-5 была спроектирована в соответствии с работой Яна Лекуна "Градиентное обучение применительно к распознаванию документов". Программирована на языке C без использования сторонних библиотек. На наборе данных MNIST достигается точность распознавания рукописных символов 97% после одного цикла обучения и 98% после нескольких циклов.

Демо

Файл main.c представляет собой демонстрационный пример распознавания данных MNIST. Для запуска просто скомпилируйте его. Обучающая выборка состоит из 60000 изображений, тестовая — из 10000.

Проектная среда

Проект был создан в Visual Studio 2015 и может быть открыт и скомпилирован непосредственно в Visual Studio 2015 Update 1 и выше. Код написан в ANSI C, поэтому он может быть скомпилирован без изменений на других платформах. В случае ошибки компиляции из-за отсутствия openmp, удалите строки #include <omp.h> и #pragma omp parallel for из файла lenet.c.

API

Батч-обучение

lenet: Указатель на веса сети LeNet5, основной элемент нейронной сети

inputs: Указатель на двумерный массив unsigned char, представляющий несколько изображений для обучения. Размер памяти указывает на batch size.

labels: Массив меток для каждого изображения. Размер равен batch size.

batchSize: Число изображений для обучения в одном батче.

void TrainBatch(LeNet5 *lenet, image *inputs, uint8 *labels, int batchSize);
```#### Одиночное обучение
lenet: Указатель на веса сети LeNet5, основной элемент нейронной сети

input: Изображение, представленное как двумерный массив

label: Метка для данного изображения

```c
void Train(LeNet5 *lenet, image input, uint8 label);

Предсказание

lenet: Указатель на веса сети LeNet5, основной элемент нейронной сети

input: Изображение, представленное как двумерный массив

count: Количество элементов в результате

uint8 Predict(LeNet5 *lenet, image input, uint8 count);

Инициализация

lenet: Указатель на веса сети LeNet5, основной элемент нейронной сети

void Initialize(LeNet5 *lenet);

Комментарий ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://gitlife.ru/oschina-mirror/fanwenjie-LeNet-5.git
git@gitlife.ru:oschina-mirror/fanwenjie-LeNet-5.git
oschina-mirror
fanwenjie-LeNet-5
fanwenjie-LeNet-5
master