Comments (3)
in the line 470 in CGLB/GCGL/pipeline.py, error occurred due to the wrong form of inputs
for epoch in range(epochs): # Train if args['method'] == 'lwf': train_func(train_loader, loss_criterion, tid, args, prev_model) elif args['method'] == 'jointtrain': train_func(train_loader, loss_criterion, tid, args, train_loader_joint) else: train_func(train_loader, loss_criterion, tid, args)
The codes should be updated as below?
[1] the function observe_tskIL_multicls in GCGL/Baselines/jointtrain_model.py from def observe_tskIL_multicls(self, data_loader, loss_criterion, task_i, args, train_loader_joint): -> to def observe_tskIL_multicls(self, train_loader_joint, loss_criterion, task_i, args):
And
[2] in pipeline.py from train_func(train_loader, loss_criterion, tid, args, train_loader_joint) -> to train_func(train_loader_joint, loss_criterion, tid, args)
Hi, Thanks for your interest in our project!
Could please elaborate on what error did you meet? We tested the code again, but the code for joint-training runs well, and we don't quite understand why the code should be modified as you suggested. Do you mean that the argument data_loader in observe_tskIL_multicls of jointtrain is not used, so it should be removed to make the code more concise?
from cglb.
The error was about the number of inputs in the argument. The argument data_loader in observe_clsIL does (# of input is 4) not match with the train_func(train_loader, loss_criterion, tid, args, train_loader_joint). The original code should work in observe_tskIL_multicls of jointtrain as you mensioned but not the other two functions such as observe and observe_tskIL_multicls.
from cglb.
The error was about the number of inputs in the argument. The argument data_loader in observe_clsIL does (# of input is 4) not match with the train_func(train_loader, loss_criterion, tid, args, train_loader_joint). The original code should work in observe_tskIL_multicls of jointtrain as you mensioned but not the other two functions such as observe and observe_tskIL_multicls.
Thanks for your further clarification! The code have been updated and the bug has been corrected.
Please note that the train_loader_joint is only used for task-IL scenario in the multi-class situation, while for the class-IL scenario, the train_loader for each task already contains all learnt task, which is realized in the class of GraphLevelDataset() in CGLB/GCGL/utils.py.
The reason of separately generating train_loader_joint is because when generating the train_set for class-IL in CGLB/GCGL/utils.py, the test_set also contain all learnt tasks for each task, which is undesired for task-IL scenario.
from cglb.
Related Issues (20)
- Redundant training in testing phase? HOT 2
- Performance matrix visualization for GCGL is not working correctly HOT 2
- add more units to the output layer in LWF HOT 2
- Problem in utils.py HOT 2
- Reddit Dataset Batch Size Issue HOT 2
- GEM baseline in class-IL for GCGL has wrong indentation for optimizer step? HOT 2
- GCGL set_random seed is never called HOT 2
- Problem in function pipeline_task_IL_inter_edge_minibatch HOT 1
- Difference in joint train performance for aromaticity CL of CGLB and BeGin HOT 2
- GEM Memory_data HOT 1
- GCGL, TWP error when using higher GCN hidden units HOT 1
- Question about hyper-parameter search in GCGL HOT 2
- SIDER-tIL Jointtrain Cannot be reproduced HOT 1
- Class Incremental for Node Classification EWC and MAS cannot be reproduced HOT 2
- error report when implementing GEM on Tox21 datasets HOT 1
- ValueError from GEM on Tox21 HOT 1
- Is ```observe_class_IL_batch``` function considering inter-edge connections in ```pipeline_class_IL_no_inter_edge_minibatch```?
- Environment configuration
- non-continuous categories
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 cglb.