Comments (3)
No, we don't export graph and weights separately. For a graph with multiple "datasets", it should be exported as multiple "versions" of the same model. We want model exports to be self-contained. Besides, in most cases, the footprint of graph itself is relatively small/insignificant compared to its weights in serialized format.
Yes, multiple versions of a model can be loaded simultaneously and used by the same Classify()
interface. We don't currently have an example for that. But you can implement it easily through either StaticManager
(if you have a static list of versions to load) or custom FileSystemStoragePathSource
(if you need capability of discovering new versions at runtime).
Could you tell us a bit more about the use case?
from serving.
Ah, thanks @fangweili - the multiple versions of the model makes sense.
Basically, I have discrete datasets for predicting labels (via the same model) that are under a taxonomy, with sublabels.
eg,
model_id_1 predicts label1.sublabel1, label1.sublabel2
model_id_2 predicts label2.sublabel1, label2.sublabel2
The models may (or may not share) the same graph. I'm building this system to be flexible in case I need different graphs per use case, or re-use the same one across all of them.
I've created a new StorageSourcePath
based system that can discover models within a file system, and my own version of the AspiredVersionManager
that can load different models into memory. With this, I can,
- Either have /data/modelid/0001..0004 where modelid can have one graph and versions have different weights (trained for different datasets)
- Or, I can have /data/modelid/001, /data/modelid2/001 where the model IDs encode different graphs.
from serving.
For "manager to load different models into memory", the recommended solution is to extend FileSystemStoragePathSource
so that it "aspire" multiple versions instead of just the latest one. AspiredVersionManager
will then keep the whole "aspired set" in memory - you don't have to change it.
from serving.
Related Issues (20)
- Building tensorflow serving with TCMalloc HOT 1
- Unable to compile prediction_service.proto for Golang HOT 4
- TF Serving batching for Sparse Tensors HOT 6
- TF Serving gets stuck in the polling loop due to a non-existing model provided in config file HOT 3
- Evaluate using Profile-Guided Optimization (PGO) and LLVM BOLT HOT 3
- TensorFlow serving seems to have no version attribute HOT 3
- GPU inference in Docker container fails due to missing libdevice directory HOT 4
- CPU Memory occupied by TF Serving even though serving is on GPU HOT 6
- Version 2.15 release? HOT 7
- Mismatch between TensorRT version used in TF 2.14 GPU docker images for tensorflow/serving and tensorflow/tensorflow causes segfault during inference HOT 1
- Critical Vulnerability HOT 3
- Who to contact for security issues HOT 3
- Difference between Metrics emitted by TF Serving HOT 4
- OP_REQUIRES failed at xla_ops : UNIMPLEMENTED: Could not find compiler for platform CUDA: NOT_FOUND HOT 7
- java.lang.RuntimeException: Unexpected code Response{protocol=http/1.1, code=400, message=Bad Request, url=http://localhost:8501/v1/models/myfruit:predict} HOT 6
- CUDA Graphs support for Tensorflow Serving HOT 2
- OP_REQUIRES failed at xla_compile_on_demand_op.cc:290 : UNIMPLEMENTED: Could not find compiler for platform CUDA: NOT_FOUND HOT 4
- Add health check to Dockerfile HOT 1
- ETA for TensorFlow Runtime Integration?
- Why TF Serving using one CUDA Compute Stream HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from serving.