У меня есть 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)