Unverified Commit 580ce0a3 authored by liuzhe-lz's avatar liuzhe-lz Committed by GitHub
Browse files

Integration test (#3088)

parent e12f6113
...@@ -3,12 +3,15 @@ ...@@ -3,12 +3,15 @@
FROM nvidia/cuda:9.2-cudnn7-runtime-ubuntu18.04 FROM nvidia/cuda:9.2-cudnn7-runtime-ubuntu18.04
ARG NNI_RELEASE
LABEL maintainer='Microsoft NNI Team<nni@microsoft.com>' LABEL maintainer='Microsoft NNI Team<nni@microsoft.com>'
ENV DEBIAN_FRONTEND=noninteractive ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get -y update && \ RUN apt-get -y update
apt-get -y install sudo \ RUN apt-get -y install \
sudo \
apt-utils \ apt-utils \
git \ git \
curl \ curl \
...@@ -26,28 +29,27 @@ RUN apt-get -y update && \ ...@@ -26,28 +29,27 @@ RUN apt-get -y update && \
python3-dev \ python3-dev \
python3-pip \ python3-pip \
python3-tk \ python3-tk \
libcupti-dev && \ libcupti-dev
apt-get clean && \ RUN apt-get clean
rm -rf /var/lib/apt/lists/* RUN rm -rf /var/lib/apt/lists/*
# #
# generate python script # generate python script
# #
RUN cp /usr/bin/python3 /usr/bin/python RUN ln -s python3 /usr/bin/python
# #
# update pip # update pip
# #
RUN python3 -m pip install --upgrade pip==20.0.2 setuptools==41.0.0 RUN python3 -m pip install --upgrade pip==20.2.4 setuptools==50.3.2
# numpy 1.14.3 scipy 1.1.0 # numpy 1.14.3 scipy 1.1.0
RUN python3 -m pip --no-cache-dir install \ RUN python3 -m pip --no-cache-dir install numpy==1.14.3 scipy==1.1.0
numpy==1.14.3 scipy==1.1.0
# #
# Tensorflow 1.15 # TensorFlow
# #
RUN python3 -m pip --no-cache-dir install tensorflow-gpu==1.15.0 RUN python3 -m pip --no-cache-dir install tensorflow==2.3.1
# #
# Keras 2.1.6 # Keras 2.1.6
...@@ -73,7 +75,8 @@ RUN python3 -m pip --no-cache-dir install pandas==0.23.4 lightgbm==2.2.2 ...@@ -73,7 +75,8 @@ RUN python3 -m pip --no-cache-dir install pandas==0.23.4 lightgbm==2.2.2
# #
# Install NNI # Install NNI
# #
RUN python3 -m pip --no-cache-dir install nni COPY dist/nni-${NNI_RELEASE}-py3-none-manylinux1_x86_64.whl .
RUN python3 -m pip install nni-${NNI_RELEASE}-py3-none-manylinux1_x86_64.whl
# #
# install aml package # install aml package
...@@ -81,7 +84,6 @@ RUN python3 -m pip --no-cache-dir install nni ...@@ -81,7 +84,6 @@ RUN python3 -m pip --no-cache-dir install nni
RUN python3 -m pip --no-cache-dir install azureml RUN python3 -m pip --no-cache-dir install azureml
RUN python3 -m pip --no-cache-dir install azureml-sdk RUN python3 -m pip --no-cache-dir install azureml-sdk
ENV PATH=/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/root/.local/bin:/usr/bin:/bin:/sbin ENV PATH=/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/root/.local/bin:/usr/bin:/bin:/sbin
WORKDIR /root WORKDIR /root
...@@ -5,7 +5,7 @@ import torch ...@@ -5,7 +5,7 @@ import torch
import torch.nn as nn import torch.nn as nn
import torch.nn.functional as F import torch.nn.functional as F
from torchvision import datasets, transforms from torchvision import datasets, transforms
from nni.compression.torch import BNNQuantizer from nni.algorithms.compression.pytorch.quantization import BNNQuantizer
class VGG_Cifar10(nn.Module): class VGG_Cifar10(nn.Module):
......
import torch import torch
import torch.nn.functional as F import torch.nn.functional as F
from torchvision import datasets, transforms from torchvision import datasets, transforms
from nni.compression.torch import DoReFaQuantizer from nni.algorithms.compression.pytorch.quantization import DoReFaQuantizer
class Mnist(torch.nn.Module): class Mnist(torch.nn.Module):
...@@ -86,4 +86,4 @@ def main(): ...@@ -86,4 +86,4 @@ def main():
if __name__ == '__main__': if __name__ == '__main__':
main() main()
\ No newline at end of file
...@@ -3,7 +3,7 @@ import torch ...@@ -3,7 +3,7 @@ import torch
import torch.nn as nn import torch.nn as nn
import torch.nn.functional as F import torch.nn.functional as F
from torchvision import datasets, transforms from torchvision import datasets, transforms
from nni.compression.torch import L1FilterPruner from nni.algorithms.compression.pytorch.pruning import L1FilterPruner
from models.cifar10.vgg import VGG from models.cifar10.vgg import VGG
......
import torch import torch
import torch.nn.functional as F import torch.nn.functional as F
from torchvision import datasets, transforms from torchvision import datasets, transforms
from nni.compression.torch import QAT_Quantizer from nni.algorithms.compression.pytorch.quantization import QAT_Quantizer
class Mnist(torch.nn.Module): class Mnist(torch.nn.Module):
......
...@@ -8,7 +8,7 @@ import time ...@@ -8,7 +8,7 @@ import time
import torch import torch
import torch.nn as nn import torch.nn as nn
from torchvision.models import resnet from torchvision.models import resnet
from nni.compression.torch import AMCPruner from nni.algorithms.compression.pytorch.pruning import AMCPruner
from data import get_split_dataset from data import get_split_dataset
from utils import AverageMeter, accuracy from utils import AverageMeter, accuracy
......
...@@ -15,9 +15,9 @@ import torch.optim as optim ...@@ -15,9 +15,9 @@ import torch.optim as optim
from tensorboardX import SummaryWriter from tensorboardX import SummaryWriter
from torchvision.models import resnet from torchvision.models import resnet
from nni.compression.torch.pruning.amc.lib.net_measure import measure_model from nni.algorithms.compression.pytorch.pruning.amc.lib.net_measure import measure_model
from nni.compression.torch.pruning.amc.lib.utils import get_output_folder from nni.algorithms.compression.pytorch.pruning.amc.lib.utils import get_output_folder
from nni.compression.torch import ModelSpeedup from nni.compression.pytorch import ModelSpeedup
from data import get_dataset from data import get_dataset
from utils import AverageMeter, accuracy, progress_bar from utils import AverageMeter, accuracy, progress_bar
......
...@@ -14,10 +14,10 @@ from torchvision import datasets, transforms ...@@ -14,10 +14,10 @@ from torchvision import datasets, transforms
from models.mnist.lenet import LeNet from models.mnist.lenet import LeNet
from models.cifar10.vgg import VGG from models.cifar10.vgg import VGG
from models.cifar10.resnet import ResNet18, ResNet50 from models.cifar10.resnet import ResNet18, ResNet50
from nni.compression.torch import L1FilterPruner, L2FilterPruner, FPGMPruner from nni.algorithms.compression.pytorch.pruning import L1FilterPruner, L2FilterPruner, FPGMPruner
from nni.compression.torch import SimulatedAnnealingPruner, ADMMPruner, NetAdaptPruner, AutoCompressPruner from nni.algorithms.compression.pytorch.pruning import SimulatedAnnealingPruner, ADMMPruner, NetAdaptPruner, AutoCompressPruner
from nni.compression.torch import ModelSpeedup from nni.compression.pytorch import ModelSpeedup
from nni.compression.torch.utils.counter import count_flops_params from nni.compression.pytorch.utils.counter import count_flops_params
def get_data(dataset, data_dir, batch_size, test_batch_size): def get_data(dataset, data_dir, batch_size, test_batch_size):
......
...@@ -6,7 +6,7 @@ import torch.nn.functional as F ...@@ -6,7 +6,7 @@ import torch.nn.functional as F
import torch.utils.data import torch.utils.data
import torchvision.datasets as datasets import torchvision.datasets as datasets
import torchvision.transforms as transforms import torchvision.transforms as transforms
from nni.compression.torch import LotteryTicketPruner from nni.algorithms.compression.pytorch.pruning import LotteryTicketPruner
class fc1(nn.Module): class fc1(nn.Module):
......
...@@ -9,8 +9,16 @@ from torchvision import datasets, transforms ...@@ -9,8 +9,16 @@ from torchvision import datasets, transforms
from models.cifar10.vgg import VGG from models.cifar10.vgg import VGG
import nni import nni
from nni.compression.torch import LevelPruner, SlimPruner, FPGMPruner, L1FilterPruner, \ from nni.algorithms.compression.pytorch.pruning import (
L2FilterPruner, AGPPruner, ActivationMeanRankFilterPruner, ActivationAPoZRankFilterPruner LevelPruner,
SlimPruner,
FPGMPruner,
L1FilterPruner,
L2FilterPruner,
AGPPruner,
ActivationMeanRankFilterPruner,
ActivationAPoZRankFilterPruner
)
prune_config = { prune_config = {
'level': { 'level': {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment