Le redimensionnement d'une image d'entrée dans une Keras Lambda couche
Je voudrais que mon keras
modèle pour redimensionner l'image d'entrée à l'aide de cv2 ou similaire.
J'ai vu l'utilisation de ImageGenerator
, mais je préfère écrire mon propre générateur et simplement redimensionner l'image dans la première couche avec keras.layers.core.Lambda
.
Comment puis-je faire?
OriginalL'auteur Sam Hammamy | 2017-02-15
Vous devez vous connecter pour publier un commentaire.
Si vous utilisez tensorflow backend ensuite, vous pouvez utiliser
tf.image.resize_images()
fonction pour redimensionner les images dansLambda
couche.Voici un petit exemple pour démontrer le même:
ktf
n'est pas trouvé. J'ai appliqué la même instruction d'importation dans ma prédiction script de cours. J'ai aussi changé de chemin complet commekeras.backend.tf
et encoreNameError
: nomkeras
n'est pas définiIl semble que l'environnement dans lequel vous exécutez le prédire script n'avez pas keras. Essayer de l'importer uniquement keras et voir. Si cela fonctionne voir quel moteur de son utilisation. Aussi, au lieu de se
tf
de keras backend, vous pouvez utiliserimport tensorflow as tf
et utiliser le même.Bien sûr, il a
keras
. J'ai couru à la prédiction de redimensionnement dans legenerator
pendant des semaines. Il est cependant un Raspberry Pi conseil et j'ai installé TensorFlow sur elle à partir d'un personnalisé programme pep de roue, j'ai trouvé en ligne. Comme je l'ai dit, il fonctionne très bien si je redimensionner dans le générateur. J'ai aussi trouvé cette solution dont j'ai besoin pour étudier aujourd'hui gist.github.com/bzamecnik/a33052ec46ee7efeb217856d98a4fb5fJ'ai pu obtenir que cela fonctionne, soit
model.add(Lambda(lambda image: K.resize_images(image, 240./64, 340./64, 'tf')))
- je obtenir une ressource épuisée d'erreur au cours de la formation, même avec seulement 32 images dans le lotIl ya quelques choses que vous pouvez faire.. de trains sur le système. lorsque vous avez une bonne série de poids de l'utiliser pour exécuter sur le système embarqué.. cela permettra de réduire les besoins en mémoire sur le système embarqué par la taille du lot. 2ème utilisation théano backend.. tensorflow est plus gourmands en mémoire.
OriginalL'auteur indraforyou