├── .gitignore ├── .gitmodules ├── LICENSE ├── MANIFEST.in ├── README.md ├── docs ├── Makefile ├── make.bat └── source │ ├── .#optim.rst │ ├── .#qtorch.rst │ ├── .#quant.rst │ ├── auto_low.rst │ ├── conf.py │ ├── index.rst │ ├── optim.rst │ ├── qtorch.rst │ └── quant.rst ├── examples ├── IBM8 │ ├── README.md │ ├── data.py │ ├── example.sh │ ├── models │ │ ├── __init__.py │ │ ├── preresnet.py │ │ ├── preresnet_low.py │ │ ├── vgg.py │ │ └── vgg_low.py │ ├── train.py │ └── utils.py ├── SWALP │ ├── LICENSE │ ├── README.md │ ├── example.sh │ ├── requirements.txt │ ├── train.py │ ├── utils.py │ └── vgg.py ├── WAGE │ ├── README.md │ ├── models │ │ ├── __init__.py │ │ ├── vgg_low.py │ │ └── wage_initializer.py │ ├── reproduce.sh │ ├── requirements.txt │ ├── train.py │ ├── utils.py │ └── wage_qtorch.py ├── lp_train │ ├── README.md │ ├── data.py │ ├── models │ │ ├── __init__.py │ │ ├── densenet.py │ │ ├── densenet_low.py │ │ ├── preresnet.py │ │ ├── preresnet_low.py │ │ ├── vgg.py │ │ └── vgg_low.py │ ├── sample_scripts │ │ ├── bfloat_baseline.sh │ │ ├── block_baseline.sh │ │ └── fixed_baseline.sh │ ├── train.py │ └── utils.py └── tutorial │ ├── CIFAR10_Low_Precision_Training_Example.ipynb │ ├── Functionality_Overview.ipynb │ └── Low_Precision_Quick_Intro.ipynb ├── qtorch ├── __init__.py ├── auto_low │ ├── __init__.py │ └── auto_low.py ├── number.py ├── optim │ ├── __init__.py │ └── optim_low.py └── quant │ ├── __init__.py │ ├── quant_cpu │ ├── bit_helper.cpp │ ├── quant_cpu.cpp │ ├── quant_cpu.h │ └── sim_helper.cpp │ ├── quant_cuda │ ├── bit_helper.cu │ ├── block_kernel.cu │ ├── fixed_point_kernel.cu │ ├── float_kernel.cu │ ├── quant.cu │ ├── quant_cuda.cpp │ ├── quant_cuda.h │ ├── quant_kernel.h │ └── sim_helper.cu │ ├── quant_function.py │ └── quant_module.py ├── requirements.txt ├── setup.py └── test ├── test_backward.py ├── test_clamp.py ├── test_device.py ├── test_random.py ├── test_relation.py └── test_stochastic.py /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/LICENSE -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/MANIFEST.in -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/README.md -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/docs/Makefile -------------------------------------------------------------------------------- /docs/make.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/docs/make.bat -------------------------------------------------------------------------------- /docs/source/.#optim.rst: -------------------------------------------------------------------------------- 1 | tianyizhang@tianyis-mbp.lan.806 -------------------------------------------------------------------------------- /docs/source/.#qtorch.rst: -------------------------------------------------------------------------------- 1 | tianyizhang@tianyis-mbp.lan.806 -------------------------------------------------------------------------------- /docs/source/.#quant.rst: -------------------------------------------------------------------------------- 1 | tianyizhang@tianyis-mbp.lan.806 -------------------------------------------------------------------------------- /docs/source/auto_low.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/docs/source/auto_low.rst -------------------------------------------------------------------------------- /docs/source/conf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/docs/source/conf.py -------------------------------------------------------------------------------- /docs/source/index.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/docs/source/index.rst -------------------------------------------------------------------------------- /docs/source/optim.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/docs/source/optim.rst -------------------------------------------------------------------------------- /docs/source/qtorch.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/docs/source/qtorch.rst -------------------------------------------------------------------------------- /docs/source/quant.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/docs/source/quant.rst -------------------------------------------------------------------------------- /examples/IBM8/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/IBM8/README.md -------------------------------------------------------------------------------- /examples/IBM8/data.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/IBM8/data.py -------------------------------------------------------------------------------- /examples/IBM8/example.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/IBM8/example.sh -------------------------------------------------------------------------------- /examples/IBM8/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/IBM8/models/__init__.py -------------------------------------------------------------------------------- /examples/IBM8/models/preresnet.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/IBM8/models/preresnet.py -------------------------------------------------------------------------------- /examples/IBM8/models/preresnet_low.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/IBM8/models/preresnet_low.py -------------------------------------------------------------------------------- /examples/IBM8/models/vgg.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/IBM8/models/vgg.py -------------------------------------------------------------------------------- /examples/IBM8/models/vgg_low.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/IBM8/models/vgg_low.py -------------------------------------------------------------------------------- /examples/IBM8/train.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/IBM8/train.py -------------------------------------------------------------------------------- /examples/IBM8/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/IBM8/utils.py -------------------------------------------------------------------------------- /examples/SWALP/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/SWALP/LICENSE -------------------------------------------------------------------------------- /examples/SWALP/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/SWALP/README.md -------------------------------------------------------------------------------- /examples/SWALP/example.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/SWALP/example.sh -------------------------------------------------------------------------------- /examples/SWALP/requirements.txt: -------------------------------------------------------------------------------- 1 | tensorboardX 2 | tabulate 3 | -------------------------------------------------------------------------------- /examples/SWALP/train.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/SWALP/train.py -------------------------------------------------------------------------------- /examples/SWALP/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/SWALP/utils.py -------------------------------------------------------------------------------- /examples/SWALP/vgg.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/SWALP/vgg.py -------------------------------------------------------------------------------- /examples/WAGE/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/WAGE/README.md -------------------------------------------------------------------------------- /examples/WAGE/models/__init__.py: -------------------------------------------------------------------------------- 1 | from .vgg_low import * 2 | -------------------------------------------------------------------------------- /examples/WAGE/models/vgg_low.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/WAGE/models/vgg_low.py -------------------------------------------------------------------------------- /examples/WAGE/models/wage_initializer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/WAGE/models/wage_initializer.py -------------------------------------------------------------------------------- /examples/WAGE/reproduce.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/WAGE/reproduce.sh -------------------------------------------------------------------------------- /examples/WAGE/requirements.txt: -------------------------------------------------------------------------------- 1 | qtorch 2 | tabulate 3 | tensorboardX 4 | -------------------------------------------------------------------------------- /examples/WAGE/train.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/WAGE/train.py -------------------------------------------------------------------------------- /examples/WAGE/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/WAGE/utils.py -------------------------------------------------------------------------------- /examples/WAGE/wage_qtorch.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/WAGE/wage_qtorch.py -------------------------------------------------------------------------------- /examples/lp_train/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/lp_train/README.md -------------------------------------------------------------------------------- /examples/lp_train/data.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/lp_train/data.py -------------------------------------------------------------------------------- /examples/lp_train/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/lp_train/models/__init__.py -------------------------------------------------------------------------------- /examples/lp_train/models/densenet.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/lp_train/models/densenet.py -------------------------------------------------------------------------------- /examples/lp_train/models/densenet_low.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/lp_train/models/densenet_low.py -------------------------------------------------------------------------------- /examples/lp_train/models/preresnet.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/lp_train/models/preresnet.py -------------------------------------------------------------------------------- /examples/lp_train/models/preresnet_low.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/lp_train/models/preresnet_low.py -------------------------------------------------------------------------------- /examples/lp_train/models/vgg.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/lp_train/models/vgg.py -------------------------------------------------------------------------------- /examples/lp_train/models/vgg_low.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/lp_train/models/vgg_low.py -------------------------------------------------------------------------------- /examples/lp_train/sample_scripts/bfloat_baseline.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/lp_train/sample_scripts/bfloat_baseline.sh -------------------------------------------------------------------------------- /examples/lp_train/sample_scripts/block_baseline.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/lp_train/sample_scripts/block_baseline.sh -------------------------------------------------------------------------------- /examples/lp_train/sample_scripts/fixed_baseline.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/lp_train/sample_scripts/fixed_baseline.sh -------------------------------------------------------------------------------- /examples/lp_train/train.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/lp_train/train.py -------------------------------------------------------------------------------- /examples/lp_train/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/lp_train/utils.py -------------------------------------------------------------------------------- /examples/tutorial/CIFAR10_Low_Precision_Training_Example.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/tutorial/CIFAR10_Low_Precision_Training_Example.ipynb -------------------------------------------------------------------------------- /examples/tutorial/Functionality_Overview.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/tutorial/Functionality_Overview.ipynb -------------------------------------------------------------------------------- /examples/tutorial/Low_Precision_Quick_Intro.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/examples/tutorial/Low_Precision_Quick_Intro.ipynb -------------------------------------------------------------------------------- /qtorch/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/qtorch/__init__.py -------------------------------------------------------------------------------- /qtorch/auto_low/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/qtorch/auto_low/__init__.py -------------------------------------------------------------------------------- /qtorch/auto_low/auto_low.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/qtorch/auto_low/auto_low.py -------------------------------------------------------------------------------- /qtorch/number.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/qtorch/number.py -------------------------------------------------------------------------------- /qtorch/optim/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/qtorch/optim/__init__.py -------------------------------------------------------------------------------- /qtorch/optim/optim_low.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/qtorch/optim/optim_low.py -------------------------------------------------------------------------------- /qtorch/quant/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/qtorch/quant/__init__.py -------------------------------------------------------------------------------- /qtorch/quant/quant_cpu/bit_helper.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/qtorch/quant/quant_cpu/bit_helper.cpp -------------------------------------------------------------------------------- /qtorch/quant/quant_cpu/quant_cpu.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/qtorch/quant/quant_cpu/quant_cpu.cpp -------------------------------------------------------------------------------- /qtorch/quant/quant_cpu/quant_cpu.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/qtorch/quant/quant_cpu/quant_cpu.h -------------------------------------------------------------------------------- /qtorch/quant/quant_cpu/sim_helper.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/qtorch/quant/quant_cpu/sim_helper.cpp -------------------------------------------------------------------------------- /qtorch/quant/quant_cuda/bit_helper.cu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/qtorch/quant/quant_cuda/bit_helper.cu -------------------------------------------------------------------------------- /qtorch/quant/quant_cuda/block_kernel.cu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/qtorch/quant/quant_cuda/block_kernel.cu -------------------------------------------------------------------------------- /qtorch/quant/quant_cuda/fixed_point_kernel.cu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/qtorch/quant/quant_cuda/fixed_point_kernel.cu -------------------------------------------------------------------------------- /qtorch/quant/quant_cuda/float_kernel.cu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/qtorch/quant/quant_cuda/float_kernel.cu -------------------------------------------------------------------------------- /qtorch/quant/quant_cuda/quant.cu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/qtorch/quant/quant_cuda/quant.cu -------------------------------------------------------------------------------- /qtorch/quant/quant_cuda/quant_cuda.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/qtorch/quant/quant_cuda/quant_cuda.cpp -------------------------------------------------------------------------------- /qtorch/quant/quant_cuda/quant_cuda.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/qtorch/quant/quant_cuda/quant_cuda.h -------------------------------------------------------------------------------- /qtorch/quant/quant_cuda/quant_kernel.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/qtorch/quant/quant_cuda/quant_kernel.h -------------------------------------------------------------------------------- /qtorch/quant/quant_cuda/sim_helper.cu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/qtorch/quant/quant_cuda/sim_helper.cu -------------------------------------------------------------------------------- /qtorch/quant/quant_function.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/qtorch/quant/quant_function.py -------------------------------------------------------------------------------- /qtorch/quant/quant_module.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/qtorch/quant/quant_module.py -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/requirements.txt -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/setup.py -------------------------------------------------------------------------------- /test/test_backward.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/test/test_backward.py -------------------------------------------------------------------------------- /test/test_clamp.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/test/test_clamp.py -------------------------------------------------------------------------------- /test/test_device.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/test/test_device.py -------------------------------------------------------------------------------- /test/test_random.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/test/test_random.py -------------------------------------------------------------------------------- /test/test_relation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/test/test_relation.py -------------------------------------------------------------------------------- /test/test_stochastic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Tiiiger/QPyTorch/HEAD/test/test_stochastic.py --------------------------------------------------------------------------------