J'utilise flask, matplotlib pour enregistrer l'image et tensorflow pour créer une session. Je reçois l'erreur ci-dessus lorsque je lance le code suivant. La route du flacon est-elle exécutée sur un fil séparé? Comment faire pour que morceau de code fig.saveFig soit exécuté sur le thread principal. Merci beaucoup
@app.route('/open', methods = ['GET', 'POST'])
def sendOutput():
global loss,a2,xP,yP,scale,sess,fig
test_X,test_Y = own_model.getEvaluateData(scale)
cost,ans = sess.run([loss,a2],feed_dict={xP:test_X,yP:test_Y})
d = np.array(ans) - np.array(test_Y)
val = hist(d,100)
sess.close()
fig.saveFig('abc.png') //Errror on this line
J'étais dans la même situation, Flask avec Matplotlib combo. Ce qui a fonctionné pour moi est de spécifier Agg comme backend de Matplotlib.
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
# Your code here
Vous pouvez vous reporter à la documentation de Matplotlib (Matplotlib dans un serveur d'applications Web) pour plus de détails.
apparemment, c'est un problème avec TKinter. Votre message d'erreur complet n'est pas posté (vous devriez vraiment le faire), mais je travaille sur quelque chose de très similaire, je suis donc à 99,9% que votre problème est le même que le mien. Je construis une application avec tensorflow, flask, blah blah. Je reçois la même erreur, par intermittence (parfois cela fonctionne). Voici quelques liens vers des questions similaires. J'espère que ça aide! Je pense que ma solution s'éloignera de matplotlib.