def create_app(config=None, app_name=None, blueprints=None): """Create a Flask app.""" if app_name is None: app_name = DefaultConfig.PROJECT if blueprints is None: blueprints = DEFAULT_BLUEPRINTS app = Flask(app_name, instance_path=INSTANCE_FOLDER_PATH, instance_relative_config=True) app.wsgi_app = ReverseProxied(app.wsgi_app) configure_app(app, config) configure_hook(app) configure_blueprints(app, blueprints) configure_extensions(app) configure_logging(app) configure_template_filters(app) configure_error_handlers(app) appsocket = create_decoder_socket(app) decoder = Decoder(app, appsocket) manager = Manager(app) app.decoder = decoder return app, appsocket
def create_app(config=None, app_name=None, blueprints=None): """Create a Flask app.""" if app_name is None: app_name = DefaultConfig.PROJECT if blueprints is None: blueprints = DEFAULT_BLUEPRINTS app = Flask(app_name, instance_path=INSTANCE_FOLDER_PATH, instance_relative_config=True) configure_app(app, config) configure_hook(app) configure_blueprints(app, blueprints) configure_extensions(app) configure_logging(app) configure_template_filters(app) configure_error_handlers(app) appsocket = create_decoder_socket(app) decoder = Decoder(app, appsocket) manager = Manager(app) app.decoder = decoder def signal_handler(signal, frame): decoder.stop() os._exit(0) try: signal.signal(signal.SIGINT, signal_handler) decoder.start() decoder.init() except Exception, err: app.logger.error("Error", exc_info=True)
voc = vocab.Voc(corpus_name) voc.__dict__ = checkpoint["voc_dict"] # Initialize word embeddings embedding = nn.Embedding(voc.num_words, hidden_size) embedding.load_state_dict(embedding_sd) # Initialize encoder & decoder models encoder = models.EncoderRNN(hidden_size, embedding, encoder_n_layers, dropout) decoder = models.LuongAttnDecoderRNN(attn_model, embedding, hidden_size, voc.num_words, decoder_n_layers, dropout) # Load trained model params encoder.load_state_dict(encoder_sd) decoder.load_state_dict(decoder_sd) # Use appropriate device encoder = encoder.to(device) decoder = decoder.to(device) # Set dropout layers to eval mode encoder.eval() decoder.eval() searcher = models.GreedySearchDecoder(encoder, decoder) app.encoder = encoder app.decoder = decoder app.searcher = searcher app.voc = voc app.run(host="0.0.0.0", port=80, debug=False)