-
- Downloads
Add NCF example (#350)
* NCF scripts with Distiller integration This NCF implementation is based on the implementation found in the MLPerf Training GitHub repository, specifically on the last revision of the code before the switch to the extended dataset. See: https://github.com/mlperf/training/tree/fe17e837ed12974d15c86d5173fe8f2c188434d5/recommendation/pytorch We've made several modifications to the code: * Removed all MLPerf specific code including logging * In ncf.py: * Added calls to Distiller compression APIs * Added progress indication in training and evaluation flows * In neumf.py: * Added option to split final FC layer * Replaced all functional calls with modules so they can be detected by Distiller * In dataset.py: * Speed up data loading - On first data will is loaded from CSVs and then pickled. On subsequent runs the pickle is loaded. This is much faster than the original implementation, but still very slow. * Added progress indication during data load process * Removed some irrelevant content from README.md * ncf.py - fix wrong nb_users/items * NCF changes to make it compatible with latest changes in master * Pass the 'sigmoid' flag in NeuMF.forward as a bool tensor instead of a simple boolean. Required to make the model traceable (it?d be better to not have it an argument of forward at all, but keeping changes to a minimum) * Call prepare_model with dummy_input * Cleanup code, update reqs, add stats files, add details to README * Update NCF README.md * Remove debug comments * Remove unnecessary script + NCF QAT scheduler (for now)
No related branches found
No related tags found
Showing
- .gitignore 2 additions, 0 deletions.gitignore
- distiller/quantization/__init__.py 1 addition, 1 deletiondistiller/quantization/__init__.py
- distiller/quantization/range_linear.py 18 additions, 0 deletionsdistiller/quantization/range_linear.py
- examples/ncf/MLPERF_LICENSE.md 201 additions, 0 deletionsexamples/ncf/MLPERF_LICENSE.md
- examples/ncf/README.md 172 additions, 0 deletionsexamples/ncf/README.md
- examples/ncf/convert.py 101 additions, 0 deletionsexamples/ncf/convert.py
- examples/ncf/dataset.py 132 additions, 0 deletionsexamples/ncf/dataset.py
- examples/ncf/download_dataset.sh 16 additions, 0 deletionsexamples/ncf/download_dataset.sh
- examples/ncf/load.py 68 additions, 0 deletionsexamples/ncf/load.py
- examples/ncf/logging.conf 38 additions, 0 deletionsexamples/ncf/logging.conf
- examples/ncf/ncf.py 471 additions, 0 deletionsexamples/ncf/ncf.py
- examples/ncf/neumf.py 120 additions, 0 deletionsexamples/ncf/neumf.py
- examples/ncf/quantization_stats_no_split.yaml 294 additions, 0 deletionsexamples/ncf/quantization_stats_no_split.yaml
- examples/ncf/quantization_stats_split.yaml 312 additions, 0 deletionsexamples/ncf/quantization_stats_split.yaml
- examples/ncf/utils.py 41 additions, 0 deletionsexamples/ncf/utils.py
- examples/ncf/verify_dataset.sh 44 additions, 0 deletionsexamples/ncf/verify_dataset.sh
- requirements.txt 1 addition, 0 deletionsrequirements.txt
Loading
Please register or sign in to comment