如何在Nginx Worker进程上运行TensorFlow

时间:2019-02-11 18:57:00

标签: tensorflow nginx

我正在尝试向naxsi添加一些功能,包括在其上添加张量流支持。

我在ngx_http_dummy_init()上加载了tensorflow模型,并尝试运行它。
一切正常。但是,当我尝试在ngx_http_dummy_data_parse()中运行会话时,程序将卡在run_session()中。

成功:

void InitTFModel(void) {
    tf_model = load_model("/root/model.pb");
    fill_tensor(tf_model, "data", 4);
    run_model(tf_model);
}

失败:

void ngx_http_dummy_uri_tf_parse(ngx_http_request_ctx_t *ctx, ngx_http_request_t *r)
{
    int res;

    if (!tf_model ||
        !fill_tensor(tf_model, (const char *)r->unparsed_uri.data + 1, (int)r->unparsed_uri.len - 1)) {
        return;
    }
    res = run_model(tf_model);
    if (res) {
        ctx->block = 1;
        ctx->drop = 1;
    }
}

似乎ngx_http_dummy_init()在init进程中起作用,而ngx_http_dummy_data_parse()在nginx worker进程中起作用。
我认为这就是造成这种现象的原因。

那么如何在Nginx Worker进程上运行tensorflow。

0 个答案:

没有答案