Git Product home page Git Product logo

Comments (11)

gidim avatar gidim commented on April 28, 2024

It might be easier to add support for using feed_dict as an alternative for InputPipeline?
Many TF models use that paradigm rather than reading the input data directly from the graph.
I tried doing this myself but the current architecture is dependent on tf.slim.Dataset which cannot be used for online inference.

Usually you would declare two places holders, one for features and one for targets and then
feed them as the model inputs. Currently the model in basic_seq2seq expects labels and features as a dictionary. I could not find the structure for that dictionary but i suspect it's coming from Dataset

from seq2seq.

skyw avatar skyw commented on April 28, 2024

I think the standard way is freeze the model, then use feed_dict to feed input and get the output tensor.

from seq2seq.

gidim avatar gidim commented on April 28, 2024

@skyw that's correct but since the models in this repo use Readers you first have to declare a new input tensor to the model (Placeholder).

from seq2seq.

xueyouluo avatar xueyouluo commented on April 28, 2024

Any updates of this feature? I agree with @gidim , currently the model depend of tf.Slim.Dataset which is hard to be used for online inference.

from seq2seq.

amirj avatar amirj commented on April 28, 2024

I think there is two options:

  1. Load the model, add an input placeholder to the graph, remove the input pipeline from the graph and freeze it. As mentioned by @skyw

  2. [better option] leverage TFserving component to plug a model contains input pipeline with queues to a web server.

I think, the serving feature is very important feature for this project referred in other issues (#114).

from seq2seq.

gidim avatar gidim commented on April 28, 2024

@amirj does tfserving supports option two? If so could link to the documentation/code ? I couldn't find anything about it.

from seq2seq.

amirj avatar amirj commented on April 28, 2024

Input pipelines are the standard way to feeding TF models. So, I think, its indeed possible. But the current documentation in TF serving module is not clear.

from seq2seq.

gidim avatar gidim commented on April 28, 2024

@amirj - the standard way when performing training. for inference most models use feed_dict.
Usually it's easy to rebuild the graph with two placeholders but the code here is a a little complex and has quite a few dependencies which makes it harder.

from seq2seq.

amirj avatar amirj commented on April 28, 2024

It's strange if TF serving is not compatible with input queues.
It's not a good design to leverage different feeding in the training and inferencing. For example, one application of ExportStrategy is online inference during the training phase #114 . Rebuilding the graph in this situation is not good.

from seq2seq.

sathyarr avatar sathyarr commented on April 28, 2024

@amirj @gidim

do you think the approach followed here to serve the graph is recommended?

from seq2seq.

sathyarr avatar sathyarr commented on April 28, 2024

Should figure out how to export models for serving, I think Tensorflow does provide something like an ExportStrategy that can be passed to the estimator and it will occasionally export the model.

@dennybritz
I have managed to export through export_strategies in Experiment.
But, facing problem with preprocessing and embedding.
Kindly have a look here and here

Are things performed in _preprocess exported to Graph?

from seq2seq.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.