Зазвичай для зображень набір функцій - це значення щільності пікселів, і в цьому випадку це призведе до досить великого набору функцій; також не рекомендується знімати вибірки зображень, оскільки ви можете втратити (фактично втратите) важливі дані.
[1] Але є деякі методи, які можуть допомогти вам зменшити розмір набору функцій, такі підходи, як PCA (Principle Component Analysis), допомагають вам у виборі важливого набору функцій.
Детальну інформацію можна знайти за посиланням http://spark.apache.org/docs/latest/ml-features.html#pca .
[2] Крім того, щоб зменшити обчислювальні витрати під час тренування вашої нейронної мережі, ви можете використовувати Stochastic Gradient Descent, а не звичайне використання підходу Gradient Descent, що дозволило б зменшити розмір набору даних, необхідний для тренінгу для кожної ітерації. Таким чином, розмір вашого набору даних, який буде використовуватися в одній ітерації, зменшився б, таким чином, зменшився б час, необхідний для навчання мережі.
Точний розмір партії, який буде використовуватися, залежить від вашого розповсюдження для навчальних наборів даних та тестування набору даних, більш загальне використання - 70-30. Де ви також можете використовувати вищезгаданий стохастичний підхід, щоб скоротити необхідний час.
Деталі для стохастичного градієнтного спуску http://scikit-learn.org/stable/modules/sgd.html
[3] Здається, що апаратне забезпечення підходить для оновлення, все ж, якщо потрібно, подивіться на хмарні рішення, такі як AWS, де ви можете отримати безкоштовну підписку на рахунок до ліміту використання.