Comments (2)
Hi @lukas-schwab ,
thanks for reporting the issue. I can reproduce it locally, although I have not yet have the time to dive deeper into why this happens.
Interestingly, it only seems to happen with two separate .train
calls; if I record weights over multiple epochs of a single training run, they change (as expected):
from collections import defaultdict
from typing import Any
import torch
from pykeen.pipeline import pipeline
from pykeen.training.callbacks import TrainingCallback
class WeightRecorderCallback(TrainingCallback):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.weights = defaultdict(list)
def post_epoch(self, epoch: int, epoch_loss: float, **kwargs: Any) -> None:
for name, tensor in self.model.named_parameters():
self.weights[name].append(tensor.detach().clone().cpu())
callback = WeightRecorderCallback()
result = pipeline(dataset="nations", model="Transe", training_kwargs=dict(callbacks=[callback]))
print(
{
key: [torch.allclose(weights[0], weights[i]) for i in range(len(weights))]
for key, weights in callback.weights.items()
}
)
# {
# 'entity_representations.0._embeddings.weight': [True, False, False, False, False],
# 'relation_representations.0._embeddings.weight': [True, False, False, False, False]
# }
from pykeen.
Interestingly, it only seems to happen with two separate .train calls
Yes, it's quite strange. Took me a while to get convinced that the library was at fault here and not me.
Fortunately the code you provided is the proper solution to what I was actually trying to achieve. So thank you for posting that and keep up the good work!
from pykeen.
Related Issues (20)
- Possible issue with model evaluation when using datasets with inverse triples HOT 1
- RGCN RuntimeError: trying to backward through graph a second time. (has parameters but no reset_parameters) HOT 2
- QuatE: GPU memory is not released per epoch HOT 3
- from pykeen.pipeline import pipeline, pipeline issue HOT 3
- Evaluating metrics on many subsets with multiple models HOT 2
- Shape Mismatch upon initializing pretrained ComplEx embeddings HOT 2
- TransE - CUDA out of memory HOT 3
- Importing model_resolver HOT 2
- Getting Embeddings of the Entity and Relations HOT 13
- RGCN Hyper parameter optimization error HOT 1
- MatKG HOT 1
- HPO_Pipeline fails on AutoSF models HOT 1
- Unable to reproduce TransE experiment
- EarlyStopper: show progress bar
- Cosine Annealing with Warm Restart LR Scheduler recieving an unexpected kwarg `T_i` HOT 1
- OOM Crash on MPS/Apple silicon HOT 2
- Reason for omitting validation inference triples from filtering when doing test evaluation in inductive lp example HOT 2
- tqdm progressbar is still shown although setting `use_tqdm=False`
- create_inverse_triples=True fails for the ILPC datasets
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 pykeen.