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

OSCHINA-MIRROR/lwgaoxin-Siamese-pytorch

Клонировать/Скачать
README.md 4.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 07.06.2025 03:21 d77d745

Siamese: Реализация двойных нейронных сетей в Pytorch


Содержание

  1. Достижения
  2. Требуемая среда
  3. Внимание
  4. Загрузка файлов
  5. Шаги для предсказания
  6. Шаги для обучения
  7. Ссылки на источники

Достижения

Этот репозиторий реализует двойную нейронную сеть (Siamese network), которая часто используется для определения схожести двух изображений, введенных в систему. Основной сетью для извлечения признаков является VGG16.

Требуемая среда

torch==1.2.0

Внимание

Обучение на наборе данных Omniglot и обучение на собственных данных могут использовать два разных формата. Необходимо учесть правильное расположение форматов!

Загрузка файлов

Требуемый файл vgg16-397923af.pth для обучения можно скачать с Бaidu Pan. Ссылка: https://pan.baidu.com/s/1rXp7jTEz_J1vkWOihTHdFg Код: xype

Я предоставлю два веса: vgg16-397923af.pth и Omniglot_vgg.pth. В частности: Omniglot_vgg.pth — это веса, обученные на Omniglot, которые можно использовать для предсказания в следующих шагах. vgg16-397923af.pth — это веса VGG, которые можно использовать для обучения на других наборах данных.## Шаги для предсказания

a. Использование предобученных весов

  1. Распакуйте скачанный архив, скачайте Omniglot_vgg.pth с Baidu Pan и поместите его в папку model_data. Запустите predict.py и последовательно введите:
img/Angelic_01.png
img/Angelic_02.png

b. Использование собственных обученных весов

  1. Выполните шаги для обучения.
  2. В файле siamese.py измените model_path на соответствующий файл обучения; model_path соответствует файлу весов в папке logs.
_defaults = {
    "model_path": 'model_data/Omniglot_vgg.pth',
    "input_shape": (105, 105, 3),
}
  1. Запустите predict.py и введите:
img/Angelic_01.png
img/Angelic_02.png

Шаги тренировки

Для более подробной информации можно обратиться к моему блогу на CSDN: https://blog.csdn.net/weixin_44791964/article/details/107343394

a. Тренировка примера Omniglot

Структура хранения данных в наборе данных Omniglot имеет три уровня:

- image_background
	- Alphabet_of_the_Magi
		- character01
			- 0709_01.png
			- 0709_02.png
			- ……
		- character02
		- character03
		- ……
	- Anglo-Saxon_Futhorc
	- ……

Шаги тренировки:

  1. Скачайте набор данных и поместите его в папку dataset в корневом каталоге.
  2. Запустите train.py для начала тренировки.

b. Тренировка собственной модели для сравнения схожести

Если вы хотите обучить свою модель на собственных данных, вы можете расположить данные в следующей структуре:

- image_background
	- character01
		- 0709_01.png
		- 0709_02.png
		- ……
	- character02
	- character03
	- ……

По сравнению с Omniglot, структура содержит на один уровень меньше.Каждая папка chapter содержит изображения одного типа.

Шаги тренировки:

  1. Расположите данные в указанной выше структуре и поместите их в папку dataset в корневом каталоге.
  2. Установите параметр train_own_data в train.py на значение True.
  3. Запустите train.py для начала тренировки.

Ссылка

https://github.com/tensorfreitas/Siamese-Networks-for-One-Shot-Learning

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/lwgaoxin-Siamese-pytorch.git
git@api.gitlife.ru:oschina-mirror/lwgaoxin-Siamese-pytorch.git
oschina-mirror
lwgaoxin-Siamese-pytorch
lwgaoxin-Siamese-pytorch
master