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

OSCHINA-MIRROR/bingatchengdu-java-implemented-Convoltional-Neural-Networks

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Реализованные на Java свёрточные нейронные сети

Реализованные на Java свёрточные нейронные сети. Существует множество глубоких нейронных сетей, но они могут быть сложными и не дружественными для разработчиков на Java.

Этот проект проще для разработчиков на Java изучить и использовать, что поможет им лучше понять, как работают свёрточные нейронные сети.

Реализованные элементы:

  1. Свёрточный слой
  2. Слой максимального пулинга
  3. Слой ReLU
  4. Слой полносвязной сети
  5. Слой сигмоиды
  6. Слой Softmax с потерями
  7. Числовое градиентное усечение
  8. Обратное распространение
  9. Обновление SGD
  10. Слой нормализации
  11. Слой Dropout

Обновление Momentum и Adam будет реализовано позже.

Как использовать:

Компиляция из исходного кода

  1. Установите JDK 8 или более позднюю версию
  2. Скомпилируйте исходный код
  3. Установите параметры в файле startup.properties
  4. Запустите сеть: java run networkname
  5. Обучите сеть: java train networkname

Запуск ai.jar

Файл ai.jar находится в папке ForTest.

  1. Установите JDK 8 или более позднюю версию
  2. Скачайте исполняемый jar-файл из папки ForTest
  3. Все необходимые ресурсы находятся в папке ForTest
  4. Измените файл startup.properties, чтобы изменить относительный путь.
  5. Файл startup.properties должен находиться в той же папке, что и ai.jar

Обученная сеть будет сохранена по пути, указанному параметром trainSavePath. Вы можете запустить сеть по имени из папки trainSavePath.## Файл startup.properties: редактируйте этот файл для изменения параметров

Канал

channel = 1

Количество фильтров

filterNumber = 30

Размер фильтров

filterSize = 3

Количество слоёв свёрточной сети

cnnLayers = 4

Размер заполнения канала

pad = 0

Шаг смещения

stride = 1

Размер входных нейронов полносвязной сети, -1 означает динамическое инициализирование при запуске

inputSize = -1

Количество нейронов в скрытом слое

hiddenSize = 100

Количество нейронов в выходном слое

outputSize = 10

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

activation = relu / sigmoid

Количество слоёв полносвязной сети

denseLayers = 2

Использовать Dropout для уменьшения переобучения

userDropout = false

Размер мини-пакета для обучения

batchSize = 100

Размер обучающей выборки

trainSize = 10000

Размер тестовой выборки

testSize = 50

Скорость обучения

learningRate = 0.1d

Количество итераций

iteNum = 1000

Путь к обучающей выборке

trainImgPath = D:/AI/mnist-data-reader-master/data/train-images.idx3-ubyte trainLabelPath = D:/AI/mnist-data-reader-master/data/train-labels.idx1-ubyte testImgPath = D:/AI/mnist-data-reader-master/data/t10k-images.idx3-ubyte testLabelPath = D:/AI/mnist-data-reader-master/data/t10k-labels.idx1-ubyte

Путь для сохранения обученной сети

trainSavePath = d:/AI/

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

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

Введение

Чистая реализация сверточной нейронной сети на Java. Возможно, вы являетесь разработчиком на Java и хотите узнать о глубоком обучении. Этот проект поможет вам понять принципы работы глубокого обучения. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Язык

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/bingatchengdu-java-implemented-Convoltional-Neural-Networks.git
git@api.gitlife.ru:oschina-mirror/bingatchengdu-java-implemented-Convoltional-Neural-Networks.git
oschina-mirror
bingatchengdu-java-implemented-Convoltional-Neural-Networks
bingatchengdu-java-implemented-Convoltional-Neural-Networks
master