Comments (2)
Hi thanks for asking. The key thing to realize is that variables do not get created when you construct a TF rnn cell, they get created when you invoke the cell's call operator. When you use an RNN cell or other TF layer with Fold, you need to delegate this call to the Fold library (in order to wire up the corresponding subgraph for dynamic batching).
Rather than managing this yourself, we recommend using the scoped layer helper class. The simple rule to follow here is to put every rnn cell you want to use with Fold inside of a separate scoped layer, like we do with tree_lstm
in the example notebook. When you do this, every rnn cell will have its own separate scope and hence variables regardless of how many times you use it in a Fold model, with no need for explicit variable scoping.
So for your particular use-case, I'd recommend making tree_lstm an argument to logits_and_state()
rather than a global variable. Then at the top level you can create two separate lstm cells in separate scoped layers, and explicitly specify which one you want to use when logits_and_state
gets called. You might also want to have separate output layers as well, in which case you'll want to add the output layer as an argument to logits_and_state
as well. Do note that because td.FC
is a built-in fold layer rather than a TF builtin, you don't need to bother wrapping it in a scope layer, we take care of that for all Fold layers.
from fold.
P.S. One more thing, I noticed that your root block (what you use to create the compiler) is (model1, model2)
. This is implicitly creating a record block, which is used for destructuring inputs. E.g. in this case the overall model will expect a pair of inputs and will invoke model1
with input[0]
and model2
with input[1]
; probably not what you want!
If instead you say td.AllOf(model1, model2)
, both models will get input
, and the output will be a pair consisting of the two models respective outputs.
from fold.
Related Issues (20)
- NEAT Algorithm implementation HOT 1
- How do I get the root embedding tensors after training the model? HOT 1
- Is it still live?
- Compatability with Tensorflow 2.4+ HOT 3
- Not able to find GPU version of Fold
- can current fold work with tensorflow 1.3? Is it tested? HOT 8
- How to use fold in serving? HOT 2
- Fold & Eager HOT 3
- "undefined symbol" caused by building fold from source HOT 3
- Not compiled to use: SSE4.1 SSE4.2
- Is Fold not compatible with tensorflow-1.4.0? HOT 1
- Typos in sample
- using tf.constant() in td.Composition HOT 1
- "import tensorflow_fold" problem HOT 7
- How to build child-sum tree using tensorflow fold? HOT 2
- How to print intermediate outputs in recursion in TF Fold? HOT 4
- Printing predictions HOT 7
- Making Windows compatible HOT 2
- tensorflow_fold-0.0.1-cp27-cp27mu-manylinux1_x86_64.whl is not a supported wheel on this platform. HOT 1
- fold incompatible with TF-gpu 1.10.1 HOT 1
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 fold.