Я пытаюсь одновременно использовать KNN и линейную SVM (из библиотеки scikit-learn) для проекта машинного обучения классификации изображений в Python. Проблема в том, что я продолжаю получать это, когда пытаюсь загрузить обе модели через joblib.load
для предсказания:
MemoryError: невозможно выделить 182. MiB для массива с формой (23814000,) и данными type float64
Пока я исследовал такие возможности, как:
- Использование меньшего количества данных моего изображения во время обучения
- Преобразование обучающего набора на np.uint8, так как мои изображения черно-белые (0 ~ 1) (без которого даже обучение моделей было бы невозможно),
- Обновление с Python -32 до Python -64
Мне просто интересно, могу ли я вместо этого просто выделить больше памяти для процесса (ов). Я использую Windows, поэтому библиотека resources
выходит за рамки.
Я пробовал использовать многопроцессорную обработку, то есть загружать каждую модель в разные процессы и прогнозировать через нее. а затем объединение результатов, думая, что каждый процесс будет использовать отдельную память, что позволяет мне обойти проблему с памятью, но попытка загрузить модели в разные процессы создает еще большую проблему с памятью. Он не предоставляет мне достаточно памяти для загрузки даже одной модели.
Пожалуйста, дайте мне свои предложения
Репозиторий проекта GitHub: https://github.com/Dhi13man/CV-HandGestureControl