Est-ce que quelqu'un a déjà rencontré des problèmes avec fmin_slsqp (ou quoi que ce soit d'autre dans scipy.optimize) seulement en utilisant des nombres très grands ou très petits?Problème avec scipy.optimize.fmin_slsqp lors de l'utilisation de très grands ou très petits nombres
Je travaille sur un code python pour prendre une image en niveaux de gris et un masque, générer un histogramme, puis ajuster plusieurs gaussiennes à l'histogramme. Pour développer le code, j'ai utilisé une petite image, et après un certain travail, le code fonctionnait avec brio. Cependant, lorsque je normalise l'histogramme en premier, en générant des valeurs bin < < 1, ou quand j'analyser des images énormes, générant des valeurs de poubelle dans des centaines de milliers, fmin_slsqp() commence à échouer sporadiquement. Il quitte après seulement ~ 5 itérations, retournant juste une version légèrement modifiée de la conjecture initiale que je lui ai donnée, et renvoie le mode de sortie 8, qui signifie "Dérivé directionnel positif pour linesearch". Si je vérifie la taille du bin au début et l'échelle dans le voisinage de ~ 100-1000, fmin_slsqp() fonctionne comme d'habitude. Je ne fais que mettre à l'échelle les choses avant de retourner les résultats. Je suppose que je pourrais le laisser comme ça, mais c'est comme un hack. J'ai regardé autour de moi et j'ai trouvé des gens qui parlaient de la valeur d'epsilon, qui est essentiellement le dx utilisé pour l'approximation des dérivées, mais l'ajustement n'a pas aidé. A part ça, je n'ai rien trouvé d'utile pour le moment. Toutes les idées seraient grandement appréciées. Merci d'avance.
James