Как обучить CNN на нескольких наборах с pytorch - PullRequest
0 голосов
/ 16 мая 2019

У меня есть 20 .csv файлов, которые содержат данные о некоторых органах. Они слишком велики, чтобы их можно было объединить, поскольку у меня не хватает ОЗУ, даже пытаясь объединить их. Мне удалось объединить 10 из них, но у меня не хватает оперативной памяти при загрузке, поэтому их невозможно объединить.

Я хотел бы тренировать свой CNN 2-20, а затем протестировать его с 1. Однако мой подход, кажется, сбрасывает сеть каждый раз, когда я использую новый набор.

Я вставил вывод здесь: https://justpaste.it/28tk0

Но, подводя итог, можно сказать, что даже после 9 часов обучения тестовый набор все еще имеет точность от 10% до 20% (кстати, всего 23 класса). Проблема в том, что это совсем не улучшается. Однако самая важная часть, по какой-то причине, после файла 14, точность теста всегда составляет около 40%. Для файла 3 это буквально всегда как 13%.

Из этих результатов я заключаю, что мне не удалось обучить CNN на нескольких наборах, и вместо этого он всегда сбрасывается при использовании нового набора.

Вот что я попробовал:

n_epochs = 10 for epoch in range(n_epochs): for i in range(2,21): train_dataset = mydata('./data/{}.csv'.format(i), transform= transforms.Compose( [transforms.ToPILImage(), transforms.ToTensor(), transforms.Normalize(mean=(0.5,), std=(0.5,))])) train_loader = torch.utils.data.DataLoader(dataset=train_dataset,batch_size=batch_size, shuffle=True) train(epoch, i)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...