Flask neues Tensorflow Script aufrufen

Django, Flask, Bottle, WSGI, CGI…
Antworten
Hypec
User
Beiträge: 183
Registriert: Mittwoch 1. August 2018, 16:11

Hallo,
ich habe in Flask eine kleine lokale Website zur Analyse eines Datensatzes (Beispielverteilung, etc.), von dieser Website aus würde ich nun gerne im Hintergrund ein Script aufrufen welches ein Tensorflow Netz mit dem Datensatz trainiert. Jetzt mein Problem wie kann ich ein Script aufrufen ohne auf jegliche Antwort zu warten?

Code: Alles auswählen

@APP.route("/call_train")
def call_train():
    nlp_trainer.main(show_train_time=True, gen_new=False)
    return "Training geht los"
Bisher ist das Problem das die return Zeile erst nach dem kompletten Training aufgerufen wird (bzw. timeout) und die Website bis dahin nicht mehr nutzbar ist. Mit Multithreading habe ich bereits ein paar Versuche gemacht welche allerdings alle gescheitert sind.

Ich hoffe das ist hier der Richtige Themenbereich im Forum.
Viele Grüße,
Hypec
__deets__
User
Beiträge: 14538
Registriert: Mittwoch 14. Oktober 2015, 14:29

Threading ist schon eine Antwort auf das Problem. Besser wäre ggf ein persistent queuing wie zb rabbitmq oder gleich celery zu benutzen, damit Trainingsaufträge auch entgegen genommen werden können, wenn der Service mal nicht läuft.
Antworten