Maintenant, la question est de savoir comment gérer de si grandes tailles d'image où il n'y a pas de privilèges de sous-échantillonnage
Je suppose que par sous-échantillonnage, vous entendez une réduction de l'entrée avant de la passer dans CNN. La couche convolutionnelle permet de sous-échantillonner l'image au sein d'un réseau, en choisissant une grande foulée, ce qui va économiser des ressources pour les couches suivantes. En fait, c'est ce qu'il doit faire, sinon votre modèle ne rentrera pas dans le GPU.
1) Existe-t-il des techniques pour manipuler des images aussi grandes qui doivent être entraînées?
Les recherches les plus courantes mettent à l'échelle les images à une taille raisonnable. Mais si ce n'est pas une option pour vous, vous devrez restreindre votre CNN. En plus de sous-échantillonner dans les premières couches, je vous recommande de vous débarrasser de la couche FC (qui prend normalement la plupart des paramètres) au profit de la couche convolutionnelle . Vous devrez également diffuser vos données à chaque époque, car elles ne rentreront pas dans votre GPU.
Notez que rien de tout cela n'empêchera une lourde charge de calcul dans les premières couches, exactement parce que l'entrée est si grande: la convolution est une opération coûteuse et les premières couches en effectueront beaucoup à chaque passage avant et arrière. Bref, la formation sera lente.
2) Quelle taille de lot est raisonnable à utiliser?
Voici un autre problème. Une seule image prend 2400x2400x3x4
(3 canaux et 4 octets par pixel) qui est ~ 70 Mo, vous pouvez donc difficilement vous permettre même une taille de lot 10. Plus réaliste serait 5. 5. Notez que la plupart de la mémoire sera prise par les paramètres CNN. Je pense que dans ce cas, il est logique de réduire la taille en utilisant des valeurs 16 bits plutôt que 32 bits - de cette façon, vous pourrez doubler les lots.
3) Y a-t-il des précautions à prendre ou une augmentation et une diminution des ressources matérielles que je peux faire?
Votre goulot d'étranglement est la mémoire GPU. Si vous pouvez vous permettre un autre GPU, procurez-vous-le et divisez le réseau entre eux. Tout le reste est insignifiant par rapport à la mémoire GPU.