[PYTHON] Deep Learning Model Lightening Library Distiller

Einführung

Was ist Distiller?

Distiller ist eine PyTorch-basierte Bibliothek, die von Intel mit Algorithmen erstellt wurde, um das Gewicht von Deep Learning-Modellen zu reduzieren. Die Hauptbeispiele für die Gewichtsreduzierung des Modells sind Quantisierung, Beschneiden, Destillation usw., und Distiller ist einfach zu verwenden. Darüber hinaus enthielt das Tutorial sogar eine Funktion, mit der Sie den Lernstatus in Solidarität mit TensorBoard überprüfen können (danke).

Klicken Sie hier, um eine detaillierte Website zur Modellgewichtsreduzierung zu erhalten https://laboro.ai/column/%E3%83%87%E3%82%A3%E3%83%BC%E3%83%97%E3%83%A9%E3%83%BC%E3%83%8B%E3%83%B3%E3%82%B0%E3%82%92%E8%BB%BD%E9%87%8F%E5%8C%96%E3%81%99%E3%82%8B%E3%83%A2%E3%83%87%E3%83%AB%E5%9C%A7%E7%B8%AE/

Umweltentwicklung

$ git clone https://github.com/NervanaSystems/distiller.git
$ cd distiller
$ pip install -r requirements.txt
$ pip install -e .
$ python
>>> import distiller
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/mnt/PytorchIntro/distiller/distiller/__init__.py", line 20, in <module>
    from .config import file_config, dict_config, config_component_from_file_by_class

...

  File "/root/local/python-3.7.1/lib/python3.7/site-packages/git/exc.py", line 9, in <module>
    from git.compat import UnicodeMixin, safe_decode, string_types
  File "/root/local/python-3.7.1/lib/python3.7/site-packages/git/compat.py", line 16, in <module>
    from gitdb.utils.compat import (
ModuleNotFoundError: No module named 'gitdb.utils.compat'

In meinem Fall, als ich versuchte, den zur Bibliothek hinzugefügten Distiller zu importieren, wurde ein Fehler in Bezug auf die Git-Bibliothek angezeigt. Daher habe ich die fehlerhafte gitdb2 heruntergestuft und sie wurde behoben. (Meine installierte Version ist 4.0.2)

$ pip uninstall gitdb2
$ pip install gitdb2==2.0.6

Bestätigung

$ cd distiller/examples/classifier_compression/
$ python3 compress_classifier.py --arch simplenet_cifar ../../../data.cifar10 -p 30 -j=1 --lr=0.01

--------------------------------------------------------
Logging to TensorBoard - remember to execute the server:
> tensorboard --logdir='./logs'

=> created a simplenet_cifar model with the cifar10 dataset
Downloading https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz to ../../../data.cifar10/cifar-10-python.tar.gz
 99%|█████████████████████████████████████████████████████████████████████████████▌| 169582592/170498071 [00:18<00:00, 11451969.71it/s]Extracting ../../../data.cifar10/cifar-10-python.tar.gz to ../../../data.cifar10
Files already downloaded and verified
Dataset sizes:
        training=45000
        validation=5000
        test=10000


Training epoch: 45000 samples (256 per mini-batch)
170500096it [00:30, 11451969.71it/s]                                                                                                   Epoch: [0][   30/  176]    Overall Loss 2.303411    Objective Loss 2.303411    Top1 10.299479    Top5 50.104167    LR 0.010000    Time 0.038285
Epoch: [0][   60/  176]    Overall Loss 2.301507    Objective Loss 2.301507    Top1 10.774740    Top5 51.328125    LR 0.010000    Time 0.037495
Epoch: [0][   90/  176]    Overall Loss 2.299031    Objective Loss 2.299031    Top1 12.335069    Top5 54.973958    LR 0.010000    Time 0.037465
Epoch: [0][  120/  176]    Overall Loss 2.293749    Objective Loss 2.293749    Top1 13.424479    Top5 57.542318    LR 0.010000    Time 0.037429
Epoch: [0][  150/  176]    Overall Loss 2.278429    Objective Loss 2.278429    Top1 14.692708    Top5 59.864583    LR 0.010000    Time 0.037407

Parameters:
+----+---------------------+---------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------+
|    | Name                | Shape         |   NNZ (dense) |   NNZ (sparse) |   Cols (%) |   Rows (%) |   Ch (%) |   2D (%) |   3D (%) |   Fine (%) |     Std |     Mean |   Abs-Mean |
|----+---------------------+---------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------|
|  0 | module.conv1.weight | (6, 3, 5, 5)  |           450 |            450 |    0.00000 |    0.00000 |  0.00000 |  0.00000 |  0.00000 |    0.00000 | 0.07800 | -0.01404 |    0.06724 |
|  1 | module.conv2.weight | (16, 6, 5, 5) |          2400 |           2400 |    0.00000 |    0.00000 |  0.00000 |  0.00000 |  0.00000 |    0.00000 | 0.04952 |  0.00678 |    0.04246 |
|  2 | module.fc1.weight   | (120, 400)    |         48000 |          48000 |    0.00000 |    0.00000 |  0.00000 |  0.00000 |  0.00000 |    0.00000 | 0.02906 |  0.00082 |    0.02511 |
|  3 | module.fc2.weight   | (84, 120)     |         10080 |          10080 |    0.00000 |    0.00000 |  0.00000 |  0.00000 |  0.00000 |    0.00000 | 0.05328 |  0.00084 |    0.04607 |
|  4 | module.fc3.weight   | (10, 84)      |           840 |            840 |    0.00000 |    0.00000 |  0.00000 |  0.00000 |  0.00000 |    0.00000 | 0.06967 | -0.00275 |    0.06040 |
|  5 | Total sparsity:     | -             |         61770 |          61770 |    0.00000 |    0.00000 |  0.00000 |  0.00000 |  0.00000 |    0.00000 | 0.00000 |  0.00000 |    0.00000 |
+----+---------------------+---------------+---------------+----------------+------------+------------+----------+----------+----------+------------+---------+----------+------------+
Total sparsity: 0.00

--- validate (epoch=0)-----------
5000 samples (256 per mini-batch)
==> Top1: 25.240    Top5: 75.520    Loss: 2.060

==> Best [Top1: 25.240   Top5: 75.520   Sparsity:0.00   NNZ-Params: 61770 on epoch: 0]
Saving checkpoint to: logs/2020.05.02-235616/checkpoint.pth.tar

...

Vorerst bin ich erleichtert, weil es ε- (´∀ ` *) heiß war Ich werde es hinzufügen, sobald ich etwas finde.

Referenzseite

https://github.com/NervanaSystems/distiller

Recommended Posts

Deep Learning Model Lightening Library Distiller
Microsoft Deep Learning Library "CNTK" Tutorial
Deep Learning Bilderkennung 2 Modellimplementierung
Tiefes Lernen
(Python) Deep Learning Library Chainer-Grundlagen Grundlagen
Bilderkennungsmodell mit Deep Learning im Jahr 2016
Deep Learning Bilderkennung 3 nach der Modellerstellung
Deep Learning Memorandum
Starten Sie Deep Learning
Python Deep Learning
Deep Learning × Python
Implementierung eines Deep Learning-Modells zur Bilderkennung
Warum was? Deep Learning Scientific Calculation Library Numpy Edition
Erstes tiefes Lernen ~ Kampf ~
Ich habe den Deep Learning Library Chainer installiert und verwendet
Python: Deep Learning-Praxis
Deep Learning / Aktivierungsfunktionen
Deep Learning von Grund auf neu
Zählen Sie die Anzahl der Parameter im Deep-Learning-Modell
Deep Learning 1 Übung des Deep Learning
Deep Learning / Cross Entropy
Erstes tiefes Lernen ~ Vorbereitung ~
Erstes tiefes Lernen ~ Lösung ~
[AI] Deep Metric Learning
Ich habe versucht, tief zu lernen
Bibliothek für maschinelles Lernen dlib
DNN (Deep Learning) Library: Vergleich von Chainer und TensorFlow (1)
Python: Deep Learning Tuning
Deep Learning Großtechnologie
Bibliothek für maschinelles Lernen Shogun
DEEP PROBABILISTIC PROGRAMMING --- Bibliothek "Deep Learning + Bayes" --- Einführung von Edward
Deep Learning / Softmax-Funktion
Sinuswellenvorhersage mit RNN in der Deep-Learning-Bibliothek Keras
Ich habe versucht, ein Deep-Learning-Modell von TensorFlow mit TensorFlow Serving zu hosten
Ich habe versucht, in einem tief erlernten Sprachmodell zu schreiben
Modell des maschinellen Lernens unter Berücksichtigung der Wartbarkeit
Deep Learning von Grund auf 1-3 Kapitel
Versuchen Sie es mit TensorFlow
Deep Learning Gaiden ~ GPU-Programmierung ~
<Kurs> Tiefes Lernen: Day2 CNN
Deep Learning Bilderkennung 1 Theorie
Deep Running 2 Tuning von Deep Learning
Deep Learning / LSTM Scratch Code
<Kurs> Tiefes Lernen: Tag 1 NN
Deep Kernel Learning mit Pyro
Versuchen Sie Deep Learning mit FPGA
Deep Learning für die Bildung von Verbindungen?
Einführung in Udacity Deep Learning Nanodegree
Themen> Deep Learning: Tag 3 RNN
Einführung in Deep Learning ~ Lernregeln ~
Modellbildung, Lernen und Denken lernen
Tiefe Stärkung des Lernens 1 Einführung in die Stärkung des Lernens
Tiefes Lernen der Verstärkung 2 Implementierung des Lernens der Verstärkung
Generiere Pokemon mit Deep Learning
Einführung in Deep Learning ~ Backpropagation ~
[Windows Edition] Keras-Kurs, eine Bibliothek, in der Sie Deep Learning sofort ausprobieren können - Teil 1