Tensorflow: So kompilieren Sie Tensorflow mit SSE4.1, SSE4.2 und AVX.

Erstellt am 3. MĂ€rz 2017  Â·  44Kommentare  Â·  Quelle: tensorflow/tensorflow

Habe gerade Tensorflow laufen lassen. Jetzt lÀuft auf diesen Fehler.

Derzeit mit Mac Yosemite, heruntergeladen Tensorflow mit pip3 ĂŒber Anaconda mit Python 3.5.

W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.

W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.

W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.

Da Anaconda ĂŒber einen speziellen Satz von Befehlen verfĂŒgt, wie können Sie Tensorflow ĂŒber das Anaconda-Befehlssystem auf SSE4.1, SSE4.2 und AVX ausfĂŒhren? Ich bin wirklich verwirrt, wie ich das anstellen soll.

Hilfreichster Kommentar

Dies ist kein Fehler, sondern nur Warnungen, die darauf hinweisen, dass es auf Ihrem Computer schneller sein kann, wenn Sie TensorFlow aus der Quelle erstellen.

SO Frage dazu: http://stackoverflow.com/questions/41293077/how-to-compile-tensorflow-with-sse4-2-and-avx-instructions
TensorFlow-Anleitung zum Erstellen aus der Quelle: https://www.tensorflow.org/install/install_sources

Alle 44 Kommentare

Dies ist kein Fehler, sondern nur Warnungen, die darauf hinweisen, dass es auf Ihrem Computer schneller sein kann, wenn Sie TensorFlow aus der Quelle erstellen.

SO Frage dazu: http://stackoverflow.com/questions/41293077/how-to-compile-tensorflow-with-sse4-2-and-avx-instructions
TensorFlow-Anleitung zum Erstellen aus der Quelle: https://www.tensorflow.org/install/install_sources

Wie @Carmezim sagte, handelt es sich lediglich um Warnmeldungen.
FĂŒr jedes Ihrer Programme werden sie nur einmal angezeigt.
Und genau wie die Warnungen sagen, sollten Sie TF nur mit diesen Flags kompilieren, wenn Sie TF schneller machen mĂŒssen.

Sie können unserer Anleitung zur Installation von TensorFlow aus Quellen folgen, um TF mit UnterstĂŒtzung fĂŒr SIMD-BefehlssĂ€tze zu kompilieren.

OK danke. Ich verstehe es.

Gibt es eine Möglichkeit, das zum Schweigen zu bringen?

Die einzige Möglichkeit, diese Warnmeldungen zum Schweigen zu bringen, besteht darin, aus Quellen zu erstellen, indem Sie die Option --config opt .

Eine Art "Workaround" (wenn auch unvollkommen), der die Nachrichten auf Unix/Linux/OSX umleitet:
python myscript.py 2>/dev/null

@CGTheLegend @ocampesato Sie können die TF-Umgebungsvariable TF_CPP_MIN_LOG_LEVEL und es funktioniert wie folgt:

  • Der Standardwert ist 0 und zeigt alle Protokolle an
  • Um INFO Logs herauszufiltern, setzen Sie ihn auf 1
  • WARNINGS zusĂ€tzlich, 2
  • und um zusĂ€tzlich ERROR Logs herauszufiltern, setze es auf 3

Sie können also Folgendes tun, um die Warnungen stumm zu schalten:

import os
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
import tensorflow as tf

@gunan @mrry Ich habe viele Leute gesehen, die daran interessiert sind, die Warnungen zum Schweigen zu bringen. Besteht Interesse daran, diese Art von Informationen zu den Dokumenten hinzuzufĂŒgen?

Ich installiere von der Tensorflow-Installationsanleitung, habe auch diese Warnung erhalten.

pip3 install --upgrade tensorflow

@jadeydi Anstatt aus dem Quellcode zu kompilieren, installiert "pip" einfach auch die BinÀrdatei, damit Sie diese Warnungen weiterhin erhalten.

Ich habe gerade Tensorflow mit UnterstĂŒtzung fĂŒr SSE4.1 SSE4.2 AVX AVX2 und FMA kompiliert. Der Build ist hier verfĂŒgbar: https://github.com/lakshayg/tensorflow-build . Ich hoffe, das ist nĂŒtzlich.

Hallo @lakshayg , danke fĂŒrs Teilen. Vielleicht möchten Sie https://github.com/yaroslavvb/tensorflow-community-wheels ĂŒberprĂŒfen

Etwa viel schneller ist der Build im Vergleich zum Standard pip install tensorflow-gpu auf Ubuntu? Ist es nur bei CPU-Berechnungen schneller oder haben GPU-Berechnungen einen Vorteil?

http://www.anandtech.com/show/2362/5

Dies ist bei Google aufgetaucht und hat einige anstÀndige technische Details.

test ist eine DivX-Kodierung mit VirtualDub 1.7.6 und DivX 6.7. SSE4 kommt ins Spiel, wenn Sie einen neuen vollstĂ€ndigen Suchalgorithmus fĂŒr die BewegungsschĂ€tzung aktivieren, der durch zwei SSE4-Anweisungen beschleunigt wird: MPSADBW und PHMINPOSUW . Die Idee ist, dass die BewegungsschĂ€tzung (um herauszufinden, was in nachfolgenden Videoframes passieren wird) eine Menge Berechnung von Summen absoluter Differenzen sowie das Finden der Mindestwerte der Ergebnisse dieser Berechnungen erfordert. Der SSE2-Befehl PSADBW kann zwei Summen von Differenzen aus einem Paar von 16B vorzeichenlosen ganzen Zahlen berechnen; die SSE4-Anweisung MPSADBW kann acht tun.

...

Auf unserem QX9650 lÀuft die vollstÀndige Suche mit aktiviertem SSE4 etwa 45 % schneller als mit nur SSE2

Jetzt wissen Sie, welche Funktionen tensorflow verwendet, aber der Aufwand könnte sich lohnen.

Es tut mir leid, aber es ist eine lĂ€cherliche Sache, standardmĂ€ĂŸig in allen TF-Skripten ausgegeben zu werden. Die meisten Leute kompilieren wahrscheinlich nicht TF aus dem Quellcode und wollen es auch nicht.

@TomAshley303 , das ist eine ziemlich tolle Info! Ich habe nicht vor, aus dem Quellcode neu zu kompilieren. Ich will nicht. Aber die Info sagt mir, was zu tun ist, wenn mein Modell groß und langsam wird und eine Leistungssteigerung benötigt. Es ist normalerweise billiger, mit Erweiterungen neu zu kompilieren, als neue Hardware zu kaufen, da gute Walkthroughs (die wir haben) die Arbeitskosten fĂŒr die Neukompilierung minimiert (CPU-Zeit spielt keine Rolle, kann ĂŒber Nacht laufen).

Ich habe den Prozess durchlaufen ... War unkompliziert und nahm sich ĂŒberhaupt keine Zeit. Nicht Ihr ĂŒblicher C++-Albtraum.

Ich habe ein kleines Bash-Skript, um TF unter MacOS/Linux zu kompilieren. Es berechnet dynamisch CPU-Features und legt sie als Build-Parameter fest. Ich dachte daran, eine PR zu erstellen, fand aber keinen Ordner mit Skripten (Helfern) fĂŒr lokale Builds, nur ci_build. Wenn es Sinn macht werde ich es machen

Kern
https://gist.github.com/venik/9ba962c8b301b0e21f99884cbd35082f

Eine Anmerkung an @gunan

Ich bin auf dieses Problem gestoßen, als ich TensorFlow zum ersten Mal installiert habe. Jetzt muss ich herausfinden, wie ich das Problem wieder lösen kann, da ich TensorFlow auf einem neuen Computer installiere. Es ist ein Schmerz im Nacken, und die Dokumentation, die Sie bereitgestellt haben, ist ĂŒberhaupt nicht klar.

Die Tatsache, dass ich es auf meiner Seite tun muss, ist lĂ€cherlich und Ă€rgerlich. Es bringt nichts, etwas von pip/pip3 zur VerfĂŒgung zu stellen, wenn es dann den ganzen Tag nur Warnungen auf Sie wirft.

Zumindest sollten Sie https://www.tensorflow.org/install/install_sources bearbeiten und explizit erklÀren, wie Sie es mit SSE / AVX kompilieren

Die Lösung, die fĂŒr mich funktioniert hat: Geben Sie "-mavx -msse4.1 -msse4.2" ein, wenn Sie wĂ€hrend des Konfigurationsprozesses dazu aufgefordert werden (wenn Sie ./configure ausfĂŒhren).

Ist es so schwer, dies in Ihre Installationsanleitung aufzunehmen?

Vielen Dank, laut der Antwort von @Carmezim bekomme ich die CPU-Beschleunigungsversion basierend auf avx und sse. Ich habe schnelleres-rcnn(resnet-101) auf Intel getestet. Die Kostenzeit beschleunigt sich um etwa 30%, es ist wirklich nĂŒtzlich.

Sie können die Warnungen stummschalten.
FĂŒgen Sie diese Codes einfach oben hinzu.
Importieren von OS
os.environ['TF_CPP_MIN_LOG_LEVEL']='2'
Tensorflow als tf importieren
Wie hier erwÀhnt: https://stackoverflow.com/a/44984610

Sie können ganz einfach eine Benutzervariable in der Systemumgebungsvariable hinzufĂŒgen:
TF_CPP_MIN_LOG_LEVEL, Wert = 2. Starten Sie dann Ihre IDE neu

@mikalyoung Verbesserungen fĂŒr GPU-Berechnungen sind nicht zu erwarten, da diese BefehlssĂ€tze nur CPU sind und vektorisierte Operationen ermöglichen.
Wenn Sie also zwei Codes vergleichen, die (idealerweise) zu 100% auf GPUs laufen, einen auf einer mit SIMD-UnterstĂŒtzung kompilierten Tensorflow-Instanz und einen ohne, sollten Sie die gleichen Ergebnisse in Bezug auf Geschwindigkeit (und hoffentlich auch numerisch) erhalten.

IC:\tf_jenkinshome\workspace\rel-win\M\windows\PY\36\tensorflow\core\platform\cpu_feature_guard.cc:137] Ihre CPU unterstĂŒtzt Anweisungen, fĂŒr die diese TensorFlow-BinĂ€rdatei nicht kompiliert wurde: AVX AVX2

Wie Sie sehen können, ist die Warnung auch bei meinem System, aber darin kann ich 'Ich' am Anfang der Warnung nicht verstehen, sodass mir in diesem Fall jemand helfen kann

"I" ist nur eine AbkĂŒrzung fĂŒr "INFO". Die anderen Buchstaben, die Sie dort sehen können, sind E fĂŒr Fehler oder F fĂŒr fatal.

Also habe ich mit Conda installiert. Wenn ich jetzt aus dem Quellcode kompilieren möchte, um einen Geschwindigkeitsschub zu nutzen, muss ich dann etwas tun, um meine Conda-Installation von tensorflow zu entfernen? Oder ist es in einem eigenen kleinen Container und ich kann separat aus dem Quellcode kompilieren?

Ich hatte DeepSpeech und auch einen DeepSpeech-Server installiert. Ging den Server zu starten und erhielt eine Fehlermeldung - "2018-01-17 08:21:49.120154: F tensorflow/core/platform/cpu_feature_guard.cc:35] Die TensorFlow-Bibliothek wurde kompiliert, um AVX2-Anweisungen zu verwenden, aber diese sind ' t auf Ihrem GerĂ€t verfĂŒgbar.
Abgebrochen (Core Dumped)"

Anscheinend muss ich TensorFlow auf demselben Computer kompilieren. Gibt es irgendwo eine Liste, die zu Kubuntu 17.10.1 und einem HP Probook 4330S passt?

Warum gibt es keine Windows-Kompilierungen? Ich habe die gleichen Probleme, aber anstatt die Warnungen stumm zu schalten, möchte ich meine GPU verwenden, ich habe auch eine und eine Grafikkarte und nicht Nvidia. Was soll ich tun?

*Ich habe keine Nvidia-Grafikkarte, ich habe eine und eine, was soll ich tun?

*AMD-Grafikkarte.. Autokorrektur

Dies sind nicht nur Warnungen, da der Prozess auf meinen Testboxen beendet wird. Da ich auch AMD-GPUs verwende, habe ich eine Digital Ocean Tensorflow-Box gedreht, um dies auszuprobieren, aber es scheint auch dort keine GPU-UnterstĂŒtzung zu geben, und es scheitert klĂ€glich.

`# Job-ID 0

Laden von hparams von /home/science/tf-demo/models/nmt-chatbot/model/hparams

hparams in /home/science/tf-demo/models/nmt-chatbot/model/hparams speichern
hparams in /home/science/tf-demo/models/nmt-chatbot/model/best_bleu/hparams speichern
Aufmerksamkeit=scaled_luong
Aufmerksamkeit_Architektur=Standard
batch_size=128
beam_width=10
best_bleu=0
best_bleu_dir=/home/science/tf-demo/models/nmt-chatbot/model/best_bleu
check_special_token=Wahr
colocate_gradients_with_ops=True
Zerfallsfaktor=1.0
Decay_steps=10000
dev_prefix=/home/science/tf-demo/models/nmt-chatbot/data/tst2012
Ausfall=0,2
Encoder_Typ=bi
eos=
epoch_step=0
vergessen_bias=1.0
infer_batch_size=32
init_op=uniform
init_weight=0,1
Lernrate=0,001
learning_rate_decay_scheme=
length_penalty_weight=1.0
log_device_placement=Falsch
max_gradient_norm=5.0
max_train=0
Metriken=['bleu']
num_buckets=5
num_embeddings_partitions=0
num_gpus=1
num_layers=2
num_residual_layers=0
num_train_steps=500000
num_translations_per_input=10
Anzahl_Einheiten=512
Optimierer=adam
out_dir=/home/science/tf-demo/models/nmt-chatbot/model
output_attention=Wahr
override_loaded_hparams=Wahr
pass_hidden_state=Wahr
random_seed=Keine
Rest=Falsch
share_vocab=Falsch
sos=
source_reverse=Falsch
src=von
src_max_len=50
src_max_len_infer=Keine
src_vocab_file=/home/science/tf-demo/models/nmt-chatbot/data/vocab.from
src_vocab_size=15003
start_decay_step=0
steps_per_external_eval=Keine
steps_per_stats=100
subword_option=
test_prefix=/home/science/tf-demo/models/nmt-chatbot/data/tst2013
tgt=to
tgt_max_len=50
tgt_max_len_infer=Keine
tgt_vocab_file=/home/science/tf-demo/models/nmt-chatbot/data/vocab.to
tgt_vocab_size=15003
time_major=Wahr
train_prefix=/home/science/tf-demo/models/nmt-chatbot/data/train
unit_type=lstm
vocab_prefix=/home/science/tf-demo/models/nmt-chatbot/data/vocab
warmup_scheme=t2t
warmup_steps=0

Zugdiagramm erstellen ...

num_bi_layers = 1, num_bi_residual_layers=0
cell 0 LSTM, forget_bias=1 DropoutWrapper, dropout=0.2 DeviceWrapper, device=/ gpu:0
cell 0 LSTM, forget_bias=1 DropoutWrapper, dropout=0.2 DeviceWrapper, device=/ gpu:0
cell 0 LSTM, forget_bias=1 DropoutWrapper, dropout=0.2 DeviceWrapper, device=/ gpu:0
Zelle 1 LSTM, forget_bias=1 DropoutWrapper, dropout=0.2 DeviceWrapper, device=/ gpu:0
Lernrate=0.001, AufwÀrmschritte=0, AufwÀrmschema=t2t
Decay_scheme=, start_decay_step=0, Decay_steps 10000, Decay_Faktor 1

Trainierbare Variablen

Einbettungen/Encoder/Einbettung_Encoder :0 , (15003, 512),
Einbettungen/Decoder/Einbettung_Decoder :0 , (15003, 512),
dynamic_seq2seq/encoder/bidirektional_rnn/fw/basic_lstm_cell/ kernel:0 , (1024, 2048), / device:GPU :0
dynamic_seq2seq/encoder/bidirektional_rnn/fw/basic_lstm_cell/ bias:0 , (2048,), / device:GPU :0
dynamic_seq2seq/encoder/bidirektional_rnn/bw/basic_lstm_cell/ kernel:0 , (1024, 2048), / device:GPU :0
dynamic_seq2seq/encoder/bidirektional_rnn/bw/basic_lstm_cell/ bias:0 , (2048,), / device:GPU :0
dynamic_seq2seq/decoder/memory_layer/ kernel:0 , (1024, 512),
dynamic_seq2seq/decoder/attention/multi_rnn_cell/cell_0/basic_lstm_cell/ kernel:0 , (1536, 2048), / device:GPU :0
dynamic_seq2seq/decoder/attention/multi_rnn_cell/cell_0/basic_lstm_cell/ bias:0 , (2048,), / device:GPU :0
dynamic_seq2seq/decoder/attention/multi_rnn_cell/cell_1/basic_lstm_cell/ kernel:0 , (1024, 2048), / device:GPU :0
dynamic_seq2seq/decoder/attention/multi_rnn_cell/cell_1/basic_lstm_cell/ bias:0 , (2048,), / device:GPU :0
dynamic_seq2seq/decoder/attention/luong_attention/attention_g:0, (), / device:GPU :0
dynamic_seq2seq/decoder/attention/attention_layer/ kernel:0 , (1536, 512), / device:GPU :0
dynamic_seq2seq/decoder/output_projection/ kernel:0 , (512, 15003), / device:GPU :0

Auswertungsgraph erstellen ...

num_bi_layers = 1, num_bi_residual_layers=0
Zelle 0 LSTM, forget_bias=1 DeviceWrapper, device=/ gpu:0
Zelle 0 LSTM, forget_bias=1 DeviceWrapper, device=/ gpu:0
Zelle 0 LSTM, forget_bias=1 DeviceWrapper, device=/ gpu:0
Zelle 1 LSTM, forget_bias=1 DeviceWrapper, device=/ gpu:0

Trainierbare Variablen

Einbettungen/Encoder/Einbettung_Encoder :0 , (15003, 512),
Einbettungen/Decoder/Einbettung_Decoder :0 , (15003, 512),
dynamic_seq2seq/encoder/bidirektional_rnn/fw/basic_lstm_cell/ kernel:0 , (1024, 2048), / device:GPU :0
dynamic_seq2seq/encoder/bidirektional_rnn/fw/basic_lstm_cell/ bias:0 , (2048,), / device:GPU :0
dynamic_seq2seq/encoder/bidirektional_rnn/bw/basic_lstm_cell/ kernel:0 , (1024, 2048), / device:GPU :0
dynamic_seq2seq/encoder/bidirektional_rnn/bw/basic_lstm_cell/ bias:0 , (2048,), / device:GPU :0
dynamic_seq2seq/decoder/memory_layer/ kernel:0 , (1024, 512),
dynamic_seq2seq/decoder/attention/multi_rnn_cell/cell_0/basic_lstm_cell/ kernel:0 , (1536, 2048), / device:GPU :0
dynamic_seq2seq/decoder/attention/multi_rnn_cell/cell_0/basic_lstm_cell/ bias:0 , (2048,), / device:GPU :0
dynamic_seq2seq/decoder/attention/multi_rnn_cell/cell_1/basic_lstm_cell/ kernel:0 , (1024, 2048), / device:GPU :0
dynamic_seq2seq/decoder/attention/multi_rnn_cell/cell_1/basic_lstm_cell/ bias:0 , (2048,), / device:GPU :0
dynamic_seq2seq/decoder/attention/luong_attention/attention_g:0, (), / device:GPU :0
dynamic_seq2seq/decoder/attention/attention_layer/ kernel:0 , (1536, 512), / device:GPU :0
dynamic_seq2seq/decoder/output_projection/ kernel:0 , (512, 15003), / device:GPU :0

Inferdiagramm erstellen ...

num_bi_layers = 1, num_bi_residual_layers=0
Zelle 0 LSTM, forget_bias=1 DeviceWrapper, device=/ gpu:0
Zelle 0 LSTM, forget_bias=1 DeviceWrapper, device=/ gpu:0
Zelle 0 LSTM, forget_bias=1 DeviceWrapper, device=/ gpu:0
Zelle 1 LSTM, forget_bias=1 DeviceWrapper, device=/ gpu:0

Trainierbare Variablen

Einbettungen/Encoder/Einbettung_Encoder :0 , (15003, 512),
Einbettungen/Decoder/Einbettung_Decoder :0 , (15003, 512),
dynamic_seq2seq/encoder/bidirektional_rnn/fw/basic_lstm_cell/ kernel:0 , (1024, 2048), / device:GPU :0
dynamic_seq2seq/encoder/bidirektional_rnn/fw/basic_lstm_cell/ bias:0 , (2048,), / device:GPU :0
dynamic_seq2seq/encoder/bidirektional_rnn/bw/basic_lstm_cell/ kernel:0 , (1024, 2048), / device:GPU :0
dynamic_seq2seq/encoder/bidirektional_rnn/bw/basic_lstm_cell/ bias:0 , (2048,), / device:GPU :0
dynamic_seq2seq/decoder/memory_layer/ kernel:0 , (1024, 512),
dynamic_seq2seq/decoder/attention/multi_rnn_cell/cell_0/basic_lstm_cell/ kernel:0 , (1536, 2048), / device:GPU :0
dynamic_seq2seq/decoder/attention/multi_rnn_cell/cell_0/basic_lstm_cell/ bias:0 , (2048,), / device:GPU :0
dynamic_seq2seq/decoder/attention/multi_rnn_cell/cell_1/basic_lstm_cell/ kernel:0 , (1024, 2048), / device:GPU :0
dynamic_seq2seq/decoder/attention/multi_rnn_cell/cell_1/basic_lstm_cell/ bias:0 , (2048,), / device:GPU :0
dynamic_seq2seq/decoder/attention/luong_attention/attention_g:0, (), / device:GPU :0
dynamic_seq2seq/decoder/attention/attention_layer/ kernel:0 , (1536, 512), / device:GPU :0
dynamic_seq2seq/decoder/output_projection/ kernel:0 , (512, 15003),

log_file=/home/science/tf-demo/models/nmt-chatbot/model/log_1519669184

2018-02-26 18:19:44.862736: I tensorflow/core/platform/cpu_feature_guard.cc:137] Ihre CPU unterstĂŒtzt Anweisungen, dass diese TensorFlow-BinĂ€rdatei nicht fĂŒr die Verwendung kompiliert wurde: SSE4.1 SSE4.2 AVX AVX2 FMA
Getötet`

welcher Befehl ausgefĂŒhrt werden muss und wo diese Befehle ausgefĂŒhrt werden sollen und wie bitte sagen Sie es. Ich brauche dringend Hilfe.

Aber bedeutet das, dass das System keine GPU fĂŒr den Prozess verwendet?

Nun, Sie mĂŒssen dies beheben, wenn Sie Tensorflow in einer Beschleunigungsumgebung erstellen, wie z. B. die Verwendung von k-fold im KerasClassifier.
Um dies zu beheben, mĂŒssen Sie Tensorflow aus dem Quellcode erstellen, wie es jeder empfiehlt.
Um Tensorflow aus dem Quellcode zu erstellen, benötigen Sie das folgende Tool

  1. Installieren Sie git auf Ihrem Computer, wenn Sie es noch nicht getan haben - auf einem Ubuntu-Computer geben Sie einfach "sudo apt-get install git" ein
  2. Sie mĂŒssen Bazel installieren. Es wird dringend empfohlen, das benutzerdefinierte APT-Repository zu verwenden. Folgen Sie den Anweisungen unter diesem Link, um Bazel https://docs.bazel.build/versions/master/install-ubuntu.html zu installieren
  3. Sie mĂŒssen die folgenden Python-AbhĂ€ngigkeiten verwenden ... mit dem folgenden Befehl
    numpy, dev und rad
    sudo apt-get install python-numpy python-dev python-pip python-wheel
    4. Sobald Sie alle AbhÀngigkeiten installiert haben, klonen Sie den Tensorflow-Github auf Ihr lokales Laufwerk
    Git-Klon https://github.com/tensorflow/tensorflow
  4. Gehen Sie zu dem Speicherort, um tensorflow zu klonen, und cd zur tensorflow-Datei und fĂŒhren Sie die Konfigurationsdatei aus
    CD-Tensor
    ./konfigurieren

Folgen Sie einfach den Anweisungen auf dem Bildschirm, um die Installation von tensorflow abzuschließen.
Ich werde dringend empfehlen, Ihren Computer zu aktualisieren, sobald Tensorflow installiert ist
sudo apt-get update

Viel GlĂŒck und viel Spaß...

Ich stimme diesem Thread nur zu, dass Sie diese Warnungen nicht einfach zum Schweigen bringen sollten - ich bekomme ungefÀhr 43% schnellere Trainingszeit, indem ich aus der Quelle baue, ich denke, es lohnt sich.

  • Die Anweisungen von Tensorflow zum Erstellen
  • ...aber sie erklĂ€ren nicht wirklich, wie man SSE/AVX/FMA usw. einschaltet - also nutze diesen Thread , um eine Vorstellung

So installieren Sie Tensorflow mit dieser Datei" tensorflow-1.6.0-cp36-cp36m-win_amd64.whl"

@anozele pip3 install --upgrade *path to wheel file*

@gunan --config=opt ist nicht genug, Sie sollten auch zB --copt="-msse4.2" hinzufĂŒgen, wenn Sie TensorFlow aus dem Quellcode erstellen.

Laut Intel, https://software.intel.com/en-us/articles/intel-optimization-for-tensorflow-installation-guide , Wenn Sie Tensorflow von Intel verwenden, können Sie diese Warnung ignorieren, da alle verfĂŒgbaren BefehlssĂ€tze vom Backend MKL verwendet werden. Kann das jemand von Tensorflow bestĂ€tigen?

Dies ist kein Fehler, sondern nur Warnungen, die darauf hinweisen, dass es auf Ihrem Computer schneller sein kann, wenn Sie TensorFlow aus der Quelle erstellen.

SO Frage dazu: http://stackoverflow.com/questions/41293077/how-to-compile-tensorflow-with-sse4-2-and-avx-instructions
TensorFlow-Anleitung zum Erstellen aus der Quelle: https://www.tensorflow.org/install/install_sources

Es ist jedoch nicht schneller als ich nicht verwende -FMA -AVX -SSE https://stackoverflow.com/questions/57197854/fma-avx-sse-flags-did-not-bring-me-good-performance

Hi. Tut mir leid, wenn ich ein totes Pferd schlage. Ich frage mich nur, warum das Standard-Pip-Rad nicht die BinÀrdateien sind, die mit Vorausanweisungen kompiliert wurden?

Hi. Tut mir leid, wenn ich ein totes Pferd schlage. Ich frage mich nur, warum das Standard-Pip-Rad nicht die BinÀrdateien sind, die mit Vorausanweisungen kompiliert wurden?

Dies liegt daran, dass alte CPU-Architekturen keinen erweiterten Befehlssatz unterstĂŒtzen. Siehe Wiki fĂŒr eine detaillierte Liste der CPUs, die AVX, AVX2 oder AVX512 unterstĂŒtzen. Wenn die Standard-Pip-BinĂ€rdatei mit diesen BefehlssĂ€tzen kompiliert wird, kann Tensorflow auf alten CPUs nicht funktionieren.

Aber bedeutet das, dass das System keine GPU fĂŒr den Prozess verwendet?

Nein, es wird angezeigt, auch wenn Sie GPU verwenden. Wenn Sie die Meldungen nicht stummgeschaltet haben, sollten Sie auch sehen, dass Tensorflor Ihr GPU-GerÀt in der Eingabeaufforderung lÀdt.

Wenn Sie mit diesem Repository ĂŒberprĂŒfen:
Bitte ĂŒberprĂŒfen Sie den folgenden Code:

https://github.com/fo40225/tensorflow-windows-wheel

Er hat fast alle Versionen von TF mit SSE und AVX kompiliert
Er hat fast alle TF-Versionen kompiliert!

Dieser Artikel war ein gutes Tutorial zum Erstellen aus dem Quellcode einschließlich der Flags
https://medium.com/@pierreontech/setup -a-high-performance-conda-tensorflow-environment-976995158cb1

Versuchen Sie, die Aufnahme der entsprechenden Erweiterungen zu erzwingen, indem Sie zusÀtzliche Bazel-Optionen wie --copt=-mavx --copt=-msse4.1 --copt=-msse4.2

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen