donlee90 / icarl Goto Github PK
View Code? Open in Web Editor NEWPyTorch Implementation of iCaRL
PyTorch Implementation of iCaRL
It seems that the code can't be run on python of which the version is over 3.
(like 'xrange' is no longer used in python3, we change it in to'range' but failed to run the code.)
Would you plz give us some guidance of this problem?
Line 145 in b2eaefe
I consider that delete the selected feature is necessary. Otherwise it will select the same feature every time. Paper seems not metioned this details. I noted that you have metioned this in Line 145 of 'model.py', but you had commented these code somehow, do you have any experiments or theory analysis about this?
Thanks for sharing the code.
What accuracy can you achieve on cifar100?
I tried to run the code, however, I cannot get anything close to the result reported in the paper.
it seems that there is no attribute called train_data defined in the data_loader.py
Could you tell me where is wrong?
PS D:\local\icarl> python main.py
loop
Loading training examples for classes range(0, 10)
Files already downloaded and verified
Files already downloaded and verified
9 new classes
Loading training examples for classes range(0, 10)
Files already downloaded and verified
Files already downloaded and verified
9 new classes
Traceback (most recent call last):
File "", line 1, in
File "C:\Users\LocalAdmin\anaconda3\lib\multiprocessing\spawn.py", line 116, in spawn_main
exitcode = _main(fd, parent_sentinel)
File "C:\Users\LocalAdmin\anaconda3\lib\multiprocessing\spawn.py", line 125, in _main
prepare(preparation_data)
File "C:\Users\LocalAdmin\anaconda3\lib\multiprocessing\spawn.py", line 236, in prepare
_fixup_main_from_path(data['init_main_from_path'])
File "C:\Users\LocalAdmin\anaconda3\lib\multiprocessing\spawn.py", line 287, in _fixup_main_from_path
main_content = runpy.run_path(main_path,
File "C:\Users\LocalAdmin\anaconda3\lib\runpy.py", line 265, in run_path
return _run_module_code(code, init_globals, run_name,
File "C:\Users\LocalAdmin\anaconda3\lib\runpy.py", line 97, in _run_module_code
_run_code(code, mod_globals, init_globals,
File "C:\Users\LocalAdmin\anaconda3\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "D:\local\icarl\main.py", line 86, in
icarl.update_representation(train_set)
File "D:\local\icarl\model.py", line 182, in update_representation
for indices, images, labels in loader:
File "C:\Users\LocalAdmin\anaconda3\lib\site-packages\torch\utils\data\dataloader.py", line 355, in iter
return self._get_iterator()
File "C:\Users\LocalAdmin\anaconda3\lib\site-packages\torch\utils\data\dataloader.py", line 301, in _get_iterator
return _MultiProcessingDataLoaderIter(self)
File "C:\Users\LocalAdmin\anaconda3\lib\site-packages\torch\utils\data\dataloader.py", line 914, in init
w.start()
File "C:\Users\LocalAdmin\anaconda3\lib\multiprocessing\process.py", line 121, in start
self._popen = self._Popen(self)
File "C:\Users\LocalAdmin\anaconda3\lib\multiprocessing\context.py", line 224, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
File "C:\Users\LocalAdmin\anaconda3\lib\multiprocessing\context.py", line 327, in _Popen
return Popen(process_obj)
File "C:\Users\LocalAdmin\anaconda3\lib\multiprocessing\popen_spawn_win32.py", line 45, in init
prep_data = spawn.get_preparation_data(process_obj._name)
File "C:\Users\LocalAdmin\anaconda3\lib\multiprocessing\spawn.py", line 154, in get_preparation_data
_check_not_importing_main()
File "C:\Users\LocalAdmin\anaconda3\lib\multiprocessing\spawn.py", line 134, in _check_not_importing_main
raise RuntimeError('''
RuntimeError:
An attempt has been made to start a new process before the
current process has finished its bootstrapping phase.
This probably means that you are not using fork to start your
child processes and you have forgotten to use the proper idiom
in the main module:
if __name__ == '__main__':
freeze_support()
...
The "freeze_support()" line can be omitted if the program
is not going to be frozen to produce an executable.
Like the version of python and torch, etc. Thanks
hi, I read your code and I have two questions
the first one: in this paper, the author didn't mentioned to add the dim of output when training on new tasks, but your code added nodes for fully conneted layer when training on new tasks.
the second one: in this paper, classification loss has two parts, one is about traditional CE Loss, and another is the CE Loss with none target labels and "1 - prediction".
Thanks for your attention!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.