Optionen zur Behebung des Fehlers "Illegale Anweisungen" beim Ausführen des OpenVINO™ Post-Training Optimization Toolkit (POT) auf Intel Atom® Plattform
Der POT kann nicht verwendet werden, um ein Tensorflow(TF)- oder MXNet-Modell für die Inferenz mit dem OpenVINO™ Toolkit auf einer Intel Atom® Plattform zu optimieren.
- Topf ausführen – H.
- Fehlermeldung: Ausnahme bei illegalen Befehlen
Wählen Sie eine von zwei Optionen:
- In den meisten Fällen wird TensorFlow (TF) oder MXNet nicht für POT benötigt. Verwenden Virtualenv für eine saubere Python-Umgebung:
$ python3 -m PIP Virtualenv installieren
$ python3 -m virtualenv -p "welcher Python3"
- Wenn Sie POT oder AccuracyChecker bei der Bewertung eines Modells verwenden, das TF oder MXNet als Backend verwendet, verwenden Sie die Nicht-AVX-Version von TF/MXNet. Verwenden Sie beispielsweise die Conda-Distribution oder kompilieren Sie sie aus der Quelle.
Weitere Informationen finden Sie unter den folgenden Links zum Erstellen von Quellen:
Ähnlich wie MXNet wird TensorFlow (TF) von pypi mit AVX ab Version 1.6 ausgeliefert. Intel Atom® E3950 Prozessor unterstützt SSE-Anweisungen und unterstützt AVX nicht. Daher führt der Import von TF- oder MXNet-Modellen zu einem illegalen Befehlsfehler, wenn POT auf Geräten ohne AVX-Unterstützung ausgeführt wird.
POT selbst hängt nicht direkt von TF oder MXNet ab. POT hängt vom Model Optimizer und dem Accuracy Checker ab, was von TF oder MXNet abhängen kann. Um diese Situation zu minimieren, beschränkt OpenVINO™ Toolkit 2021.1 den Import von TensorFlow auf Fälle, in denen diese Bibliothek wirklich verwendet wird, wie z. B. bei der Bewertung eines Modells, das TF als Backend verwendet. MXNet ist auch für das gleiche Szenario problematisch, daher ist es möglich, das Gleiche zu tun.
SSE-Systeme, wie Intel Atom® Plattformen, werden jedoch nicht zu Kalibrierungszwecken verwendet. Es wird nicht empfohlen, Intel Atom® Plattformen für die POT-Quantisierung zu verwenden.