Comments (2)
Roughly speaking, the code you copied is just "registering" each model parameter with the parameter server. The model parameters are the ones that don't depend on the entity types or on the bucket that is currently being trained on. So these parameters are always "present", from the beginning to the end (as opposed to the entity embeddings, which are loaded and unloaded as needed).
When a parameter is "registered" with the parameter server, a "pointer" to it is recorded (the "memory address" to its data, if you prefer). Then, there is a client-side thread (which is started by the parameter_sharer
upon creation) which at regular intervals loops over all the registered parameters and sends their new values to the parameter server. (In fact, this loop lives in a separate subprocess, in order to get around Python's GIL's limitations; all the parameters live in shared memory so this isn't a problem).
I hope this clarifies the inner workings of the parameter server.
from pytorch-biggraph.
Closing due to inactivity. Please reopen if you still have questions.
from pytorch-biggraph.
Related Issues (20)
- [Question] Are featurized entities supported on GPUs? HOT 2
- raise EOFError and RuntimeError: CUDA error: device-side assert triggered HOT 2
- Regarding non dynamic relations HOT 2
- Regarding negative batch sampling in dyamic relations HOT 2
- Entity attributes, attribute triplets and custom loss function HOT 1
- Parallelizing convert_input_data HOT 1
- How to calculate similarity score between two embeddings if affine operator was used? HOT 2
- Could Pytorch BigGraph find similarities two edges away? HOT 1
- Could you please generate a new release ? HOT 3
- [Question] Python API
- [Question] Incremental training on existing entity embeddings and relation embeddings
- [Question] Stability of embeddings on consecutive runs? HOT 3
- [Question] Dynamic relations with multiple entity types
- Behavior of same batch negative sampling ? HOT 1
- Require C++ Installation after using PBG_INSTALL_CPP=1 pip install .
- [Question] Is it possible to "freeze" embeddings of a certain entity type?
- ModuleNotFoundError: No module named 'torchbiggraph.converters.importers'
- Choice of edge weight
- update version available through pip?
- Does VERSION.txt change as code changes?
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 pytorch-biggraph.