Tensorflow: كيفية تجميع Tensorflow باستخدام SSE4.1 و SSE4.2 و AVX.

تم إنشاؤها على ٣ مارس ٢٠١٧  ·  44تعليقات  ·  مصدر: tensorflow/tensorflow

لقد حصلت للتو على Tensorflow قيد التشغيل. الوقوع في هذا الخطأ الآن.

حاليًا باستخدام Mac Yosemite ، يتم تنزيل Tensorflow باستخدام pip3 عبر الأناكوندا ، باستخدام 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.

بما أن الأناكوندا لديها مجموعة خاصة من الأوامر ، كيف يمكنك تشغيل Tensorflow على SSE4.1 و SSE4.2 و AVX عبر نظام أوامر أناكوندا؟ أنا حقا في حيرة من أمري كيف أفعل هذا.

التعليق الأكثر فائدة

هذا ليس خطأ ، فقط تحذيرات تقول أنه إذا قمت بإنشاء TensorFlow من المصدر ، فيمكن أن يكون أسرع على جهازك.

سؤال حول هذا: http://stackoverflow.com/questions/41293077/how-to-compile-tensorflow-with-sse4-2-and-avx-instructions
دليل TensorFlow للبناء من المصدر: https://www.tensorflow.org/install/install_sources

ال 44 كومينتر

هذا ليس خطأ ، فقط تحذيرات تقول أنه إذا قمت بإنشاء TensorFlow من المصدر ، فيمكن أن يكون أسرع على جهازك.

سؤال حول هذا: http://stackoverflow.com/questions/41293077/how-to-compile-tensorflow-with-sse4-2-and-avx-instructions
دليل TensorFlow للبناء من المصدر: https://www.tensorflow.org/install/install_sources

تمامًا كما ذكر Carmezim ، فهذه مجرد رسائل تحذير.
لكل برنامج من برامجك ، سوف تراها مرة واحدة فقط.
ومثلما تقول التحذيرات ، يجب عليك فقط تجميع TF مع هذه الأعلام إذا كنت بحاجة إلى جعل TF أسرع.

يمكنك اتباع دليلنا لتثبيت TensorFlow من المصادر لتجميع TF مع دعم مجموعات تعليمات SIMD.

حسنا، شكرا. فهمتها.

هل هناك طريقة يمكننا بها إسكات هذا؟

الطريقة الوحيدة لإسكات رسائل التحذير هذه هي الإنشاء من المصادر باستخدام الخيار --config opt .

نوع من "الحل البديل" (وإن كان غير كامل) الذي يعيد توجيه الرسائل على Unix / Linux / OSX:
python myscript.py 2> / dev / null

CGTheLegendocampesato يمكنك استخدام متغير البيئة TF TF_CPP_MIN_LOG_LEVEL ويعمل على النحو التالي:

  • القيمة الافتراضية هي 0 ، مع عرض جميع السجلات
  • لتصفية سجلات INFO اضبطها على 1
  • WARNINGS بالإضافة إلى ذلك ، 2
  • ولتصفية سجلات ERROR اضبطها على 3

لذلك يمكنك القيام بما يلي لإسكات التحذيرات:

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

gunanmrry لقد رأيت الكثير من الناس المهتمين في إسكات التحذيرات، لن يكون هناك فائدة في إضافة هذا النوع من المعلومات إلى والمستندات؟

أقوم بالتثبيت من دليل تثبيت tensorflow ، كما تلقيت هذا التحذير.

pip3 install --upgrade tensorflow

jadeydi بدلاً من

لقد جمعت للتو Tensorflow مع دعم SSE4.1 SSE4.2 AVX AVX2 و FMA. البناء متاح هنا: https://github.com/lakshayg/tensorflow-build . آمل أن يكون هذا أمر مفيد.

مرحبًا lakshayg ، شكرًا على المشاركة. قد ترغب في التحقق من https://github.com/yaroslavvb/tensorflow-community-wheels

ما يقرب من أسرع بكثير هو البناء مقارنة بالمعيار pip install tensorflow-gpu على Ubuntu؟ هل هي أسرع فقط لحسابات وحدة المعالجة المركزية ، أم أن هناك أي فائدة لحسابات وحدة معالجة الرسومات؟

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

ظهر هذا على google ولديه بعض التفاصيل الفنية اللائقة.

الاختبار عبارة عن ترميز DivX باستخدام برنامج VirtualDub 1.7.6 و DivX 6.7. يأتي SSE4 إذا اخترت تمكين خوارزمية بحث كاملة جديدة لتقدير الحركة ، والتي يتم تسريعها من خلال تعليمي SSE4: MPSADBW و PHMINPOSUW . الفكرة هي أن تقدير الحركة (معرفة ما سيحدث في إطارات الفيديو اللاحقة) يتطلب الكثير من حساب مجموع الاختلافات المطلقة ، وكذلك إيجاد القيم الدنيا لنتائج تلك الحسابات. يمكن لتعليمات SSE2 PSADBW حساب مجموعتي اختلافات من زوج من الأعداد الصحيحة غير الموقعة 16B ؛ يمكن أن تؤدي تعليمات SSE4 MPSADBW ثمانية.

...

في QX9650 ، يعمل البحث الكامل مع تمكين SSE4 بنحو 45٪ أسرع من SSE2 فقط

تأكد الآن من الوظائف التي يستخدمها Tensorflow ، ولكنها قد تستحق الجهد المبذول.

آسف ولكن هذا شيء سخيف أن يكون لديك إخراج في جميع البرامج النصية TF افتراضيًا. ربما لا يقوم معظم الناس بتجميع TF من المصدر ولا يريدون ذلك.

@ TomAshley303 ، هذه معلومات رائعة جدًا للحصول عليها! لا أخطط لإعادة التحويل البرمجي من المصدر. لا اريد. لكن المعلومات تخبرني ماذا أفعل إذا أصبح نموذجي كبيرًا وبطيئًا وسيحتاج إلى تعزيز الأداء. عادةً ما يكون إعادة التحويل البرمجي باستخدام الامتدادات أرخص من شراء أجهزة جديدة ، نظرًا لأن وجود إرشادات جيدة (لدينا بالفعل) يقلل من تكلفة العمالة لإعادة الترجمة (لا يهم وقت وحدة المعالجة المركزية ، يمكن تشغيلها بين عشية وضحاها).

مررت بهذه العملية ... كانت مباشرة إلى الأمام ولم تأخذ وقتًا على الإطلاق. ليس لديك كابوس cmake المعتاد C ++ كيندا.

لدي برنامج نصي صغير لتجميع TF تحت MacOS / Linux. يحسب ديناميكيًا ميزات وحدة المعالجة المركزية ويضعها كمعلمات بناء. كنت أفكر في إنشاء علاقات عامة ولكن لم أجد مجلدًا يحتوي على نصوص (مساعدين) للبنيات المحلية ، فقط ci_build. إذا كان من المنطقي سأفعل ذلك

جوهر
https://gist.github.com/venik/9ba962c8b301b0e21f99884cbd35082f

ملاحظة إلىgunan

لقد واجهت هذه المشكلة عندما كنت أقوم بتثبيت TensorFlow لأول مرة. الآن عليّ معرفة كيفية حلها مرة أخرى لأنني أقوم بتثبيت TensorFlow على جهاز جديد. إنه ألم في الرقبة ، والوثائق التي قدمتها ليست واضحة على الإطلاق.

حقيقة أنني يجب أن أفعل ذلك من ناحيتي سخيفة ومثيرة للغضب. ليس من الجيد إتاحة شيء ما من خلال النقطة / النقطة 3 إذا كان ذلك مجرد إرسال تحذيرات إليك طوال اليوم.

على الأقل ، يجب عليك تحرير https://www.tensorflow.org/install/install_sources وشرح بوضوح كيفية تجميعها باستخدام SSE / AVX

الحل الذي نجح معي: الإدخال "-mavx -msse4.1 -msse4.2" عند المطالبة أثناء عملية التكوين (عند تشغيل ./configure).

هل من الصعب إضافة هذا إلى تعليمات التثبيت الخاصة بك؟

شكرًا لك ، وفقًا لإجابة Carmezim ، أحصل على نسخة تسريع وحدة المعالجة المركزية بناءً على avx و sse. لقد اختبرت أسرع-rcnn (resnet-101) على Intel. تسرع تكلفة الوقت بحوالي 30٪ ، إنها مفيدة حقًا.

يمكنك إسكات التحذيرات.
فقط أضف هذه الرموز في الأعلى.
استيراد نظام التشغيل
os.environ ['TF_CPP_MIN_LOG_LEVEL'] = '2'
استيراد tensorflow مثل tf
كما هو مذكور هنا: https://stackoverflow.com/a/44984610

يمكنك بسهولة إضافة متغير مستخدم في متغير بيئة النظام:
TF_CPP_MIN_LOG_LEVEL ، القيمة = 2. ثم أعد تشغيل IDE

لا يمكن توقع تحسينات mikalyoung لحسابات GPU ، نظرًا لأن هذه التعليمات
لذا ، إذا قارنت بين رمزين يعملان (بشكل مثالي) بنسبة 100٪ على وحدات معالجة الرسومات ، أحدهما على مثيل Tensorflow تم تجميعه مع دعم SIMD والآخر بدونه ، فيجب أن تحصل على نفس النتائج من حيث السرعة (ونأمل أن تكون عدديًا أيضًا).

IC: \ tf_jenkinshome \ workspace \ rel-win \ M \ windows \ PY \ 36 \ tensorflow \ core \ platform \ cpu_feature_guard.cc: 137] تدعم وحدة المعالجة المركزية الخاصة بك التعليمات التي لم يتم تجميع ملف TensorFlow الثنائي لاستخدامه: AVX AVX2

كما ترى ، يكون التحذير مع نظامي أيضًا ولكن في ذلك ، لا يمكنني فهم كلمة "أنا" في بداية التحذير حتى يتمكن شخص ما من مساعدتي في هذه الحالة

"أنا" هناك فقط اختصار لـ "INFO". الأحرف الأخرى التي يمكنك رؤيتها هناك E للخطأ ، أو F للخطأ.

لذلك قمت بالتثبيت باستخدام conda. إذا كنت أرغب الآن في التجميع من المصدر بدلاً من ذلك للاستفادة من أي زيادة في السرعة ، فهل أحتاج إلى فعل أي شيء لإزالة تثبيت conda الخاص بي من tensorflow؟ أم أنها في حاوية صغيرة خاصة بها ويمكنني تجميعها بشكل منفصل من المصدر؟

لقد قمت بتثبيت DeepSpeech وكذلك خادم DeepSpeech. تم بدء تشغيل الخادم وتلقيت رسالة خطأ - "2018-01-17 08: 21: 49.120154: F tensorflow / core / platform / cpu_feature_guard.cc: 35] تم تجميع مكتبة TensorFlow لاستخدام إرشادات AVX2 ، ولكن هذه ليست" ر متاح على جهازك.
تم إحباط (تم تفريغ النواة) "

يبدو أنني بحاجة إلى تجميع TensorFlow على نفس الكمبيوتر. هل توجد قائمة في مكان ما لمطابقة Kubuntu 17.10.1 و HP Probook 4330S من فضلك؟

لماذا لا توجد نوافذ مجمعة؟ أواجه نفس المشكلات ، ولكن بدلاً من كتم صوت التحذيرات ، أود استخدام وحدة معالجة الرسومات الخاصة بي ، لدي أيضًا بطاقة رسومات وبطاقة رسومات وليس Nvidia ، فماذا أفعل؟

* ليس لدي بطاقة رسوميات Nvidia ، لدي بطاقة رسومية وواحدة ماذا أفعل؟

* بطاقة رسومات AMD .. التصحيح التلقائي

هذه ليست مجرد تحذيرات لأنها تقتل العملية في صناديق الاختبار الخاصة بي. نظرًا لأنني أستخدم أيضًا وحدات معالجة الرسومات AMD ، فقد قمت بتدوير مربع Digital Ocean tensorflow لإعطاء هذا الأمر ، ولكن يبدو أنه لا يوجد دعم GPU هناك أيضًا ، وهو فشل فشلاً ذريعًا.

# معرف الوظيفة 0

تحميل hparams من / home / science / tf-demo / Models / nmt-chatbot / model / hparams

حفظ hparams في / home / science / tf-demo / Models / nmt-chatbot / model / hparams
حفظ hparams في / home / science / tf-demo / Models / nmt-chatbot / model / best_bleu / hparams
انتباه = scaled_luong
انتباه_العمارة = قياسي
حجم_الدفعة = 128
عرض الشعاع = 10
best_bleu = 0
best_bleu_dir = / home / science / tf-demo / Models / nmt-chatbot / model / best_bleu
check_special_token = صحيح
colocate_gradients_with_ops = صحيح
decay_factor = 1.0
decay_steps = 10000
dev_prefix = / home / science / tf-demo / Models / nmt-chatbot / data / tst2012
التسرب = 0.2
encoder_type = ثنائي
إيوس =
epoch_step = 0
forget_bias = 1.0
infer_batch_size = 32
init_op = موحدة
init_weight = 0.1
معدل التعلم = 0.001
Learning_rate_decay_scheme =
length_penalty_weight = 1.0
log_device_placement = خطأ
max_gradient_norm = 5.0
max_train = 0
المقاييس = ['bleu']
عدد_باكات = 5
num_embeddings_partitions = 0
num_gpus = 1
عدد_الطبقات = 2
num_residual_layers = 0
num_train_steps = 500000
num_translations_per_input = 10
عدد_الوحدات = 512
محسن = آدم
out_dir = / home / science / tf-demo / Models / nmt-chatbot / model
output_attention = صحيح
override_loaded_hparams = صحيح
pass_hidden_state = صحيح
random_seed = لا شيء
المتبقي = خطأ
share_vocab = خطأ
استغاثة =
source_reverse = خطأ
src = من
src_max_len = 50
src_max_len_infer = لا شيء
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 = لا شيء
steps_per_stats = 100
subword_option =
test_prefix = / home / science / tf-demo / Models / nmt-chatbot / data / tst2013
tgt = إلى
tgt_max_len = 50
tgt_max_len_infer = بلا
tgt_vocab_file = / home / science / tf-demo / Models / nmt-chatbot / data / vocab.to
tgt_vocab_size = 15003
time_major = صحيح
train_prefix = / home / science / tf-demo / Models / nmt-chatbot / data / train
نوع الوحدة = lstm
vocab_prefix = / home / science / tf-demo / Models / nmt-chatbot / data / vocab
Warmup_scheme = t2t
Warmup_steps = 0

إنشاء الرسم البياني للقطار ...

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
الخلية 1 LSTM ، forget_bias = 1 DropoutWrapper ، التسرب = 0.2 DeviceWrapper ، device = / gpu: 0
Learning_rate = 0.001، Warmup_steps = 0، Warmup_scheme = t2t
decay_scheme =، start_decay_step = 0، decay_steps 10000، decay_factor 1

المتغيرات القابلة للتدريب

embeddings / encoder / embedding_ encoder: 0 ، (15003، 512)،
embeddings / decoder / embedding_ decoder: 0 ، (15003، 512)،
dynamic_seq2seq / encoder / ثنائي الاتجاه_rnn / fw / basic_lstm_cell / kernel: 0 ، (1024 ، 2048) ، / الجهاز: GPU : 0
dynamic_seq2seq / encoder / ثنائي الاتجاه_rnn / fw / basic_lstm_cell / bias: 0 ، (2048،) / device: GPU : 0
dynamic_seq2seq / encoder / dualirectional_rnn / bw / basic_lstm_cell / kernel: 0 ، (1024، 2048)، / device: GPU : 0
dynamic_seq2seq / encoder / ثنائي الاتجاه_rnn / bw / basic_lstm_cell / bias: 0 ، (2048،) / device: GPU : 0
dynamic_seq2seq / decoder / memory_layer / kernel: 0 ، (1024، 512)،
dynamic_seq2seq / decoder / calling / multi_rnn_cell / cell_0 / basic_lstm_cell / kernel: 0 ، (1536، 2048)، / device: GPU : 0
dynamic_seq2seq / decoder / calling / multi_rnn_cell / cell_0 / basic_lstm_cell / bias: 0 ، (2048،)، / device: GPU : 0
dynamic_seq2seq / decoder / calling / multi_rnn_cell / cell_1 / basic_lstm_cell / kernel: 0 ، (1024، 2048)، / device: GPU : 0
dynamic_seq2seq / decoder / calling / multi_rnn_cell / cell_1 / basic_lstm_cell / bias: 0 ، (2048،)، / device: GPU : 0
dynamic_seq2seq / decoder / trouble / luong_attention / calling_g: 0، ()، / device: GPU : 0
dynamic_seq2seq / decoder / calling / calling_layer / kernel: 0 ، (1536، 512)، / device: GPU : 0
dynamic_seq2seq / decoder / output_project / kernel: 0 ، (512 ، 15003) ، / الجهاز: GPU : 0

إنشاء رسم بياني تقييمي ...

num_bi_layers = 1 ، num_bi_residual_layers = 0
الخلية 0 LSTM ، forget_bias = 1 DeviceWrapper ، الجهاز = / gpu: 0
الخلية 0 LSTM ، forget_bias = 1 DeviceWrapper ، الجهاز = / gpu: 0
الخلية 0 LSTM ، forget_bias = 1 DeviceWrapper ، الجهاز = / gpu: 0
الخلية 1 LSTM ، forget_bias = 1 DeviceWrapper ، الجهاز = / gpu: 0

المتغيرات القابلة للتدريب

embeddings / encoder / embedding_ encoder: 0 ، (15003، 512)،
embeddings / decoder / embedding_ decoder: 0 ، (15003، 512)،
dynamic_seq2seq / encoder / ثنائي الاتجاه_rnn / fw / basic_lstm_cell / kernel: 0 ، (1024 ، 2048) ، / الجهاز: GPU : 0
dynamic_seq2seq / encoder / ثنائي الاتجاه_rnn / fw / basic_lstm_cell / bias: 0 ، (2048،) / device: GPU : 0
dynamic_seq2seq / encoder / dualirectional_rnn / bw / basic_lstm_cell / kernel: 0 ، (1024، 2048)، / device: GPU : 0
dynamic_seq2seq / encoder / ثنائي الاتجاه_rnn / bw / basic_lstm_cell / bias: 0 ، (2048،) / device: GPU : 0
dynamic_seq2seq / decoder / memory_layer / kernel: 0 ، (1024، 512)،
dynamic_seq2seq / decoder / calling / multi_rnn_cell / cell_0 / basic_lstm_cell / kernel: 0 ، (1536، 2048)، / device: GPU : 0
dynamic_seq2seq / decoder / calling / multi_rnn_cell / cell_0 / basic_lstm_cell / bias: 0 ، (2048،)، / device: GPU : 0
dynamic_seq2seq / decoder / calling / multi_rnn_cell / cell_1 / basic_lstm_cell / kernel: 0 ، (1024، 2048)، / device: GPU : 0
dynamic_seq2seq / decoder / calling / multi_rnn_cell / cell_1 / basic_lstm_cell / bias: 0 ، (2048،)، / device: GPU : 0
dynamic_seq2seq / decoder / trouble / luong_attention / calling_g: 0، ()، / device: GPU : 0
dynamic_seq2seq / decoder / calling / calling_layer / kernel: 0 ، (1536، 512)، / device: GPU : 0
dynamic_seq2seq / decoder / output_project / kernel: 0 ، (512 ، 15003) ، / الجهاز: GPU : 0

إنشاء رسم بياني استنتاجي ...

num_bi_layers = 1 ، num_bi_residual_layers = 0
الخلية 0 LSTM ، forget_bias = 1 DeviceWrapper ، الجهاز = / gpu: 0
الخلية 0 LSTM ، forget_bias = 1 DeviceWrapper ، الجهاز = / gpu: 0
الخلية 0 LSTM ، forget_bias = 1 DeviceWrapper ، الجهاز = / gpu: 0
الخلية 1 LSTM ، forget_bias = 1 DeviceWrapper ، الجهاز = / gpu: 0

المتغيرات القابلة للتدريب

embeddings / encoder / embedding_ encoder: 0 ، (15003، 512)،
embeddings / decoder / embedding_ decoder: 0 ، (15003، 512)،
dynamic_seq2seq / encoder / ثنائي الاتجاه_rnn / fw / basic_lstm_cell / kernel: 0 ، (1024 ، 2048) ، / الجهاز: GPU : 0
dynamic_seq2seq / encoder / ثنائي الاتجاه_rnn / fw / basic_lstm_cell / bias: 0 ، (2048،) / device: GPU : 0
dynamic_seq2seq / encoder / dualirectional_rnn / bw / basic_lstm_cell / kernel: 0 ، (1024، 2048)، / device: GPU : 0
dynamic_seq2seq / encoder / ثنائي الاتجاه_rnn / bw / basic_lstm_cell / bias: 0 ، (2048،) / device: GPU : 0
dynamic_seq2seq / decoder / memory_layer / kernel: 0 ، (1024، 512)،
dynamic_seq2seq / decoder / calling / multi_rnn_cell / cell_0 / basic_lstm_cell / kernel: 0 ، (1536، 2048)، / device: GPU : 0
dynamic_seq2seq / decoder / calling / multi_rnn_cell / cell_0 / basic_lstm_cell / bias: 0 ، (2048،)، / device: GPU : 0
dynamic_seq2seq / decoder / calling / multi_rnn_cell / cell_1 / basic_lstm_cell / kernel: 0 ، (1024، 2048)، / device: GPU : 0
dynamic_seq2seq / decoder / calling / multi_rnn_cell / cell_1 / basic_lstm_cell / bias: 0 ، (2048،)، / device: GPU : 0
dynamic_seq2seq / decoder / trouble / luong_attention / calling_g: 0، ()، / device: GPU : 0
dynamic_seq2seq / decoder / calling / calling_layer / kernel: 0 ، (1536، 512)، / device: GPU : 0
dynamic_seq2seq / decoder / output_project / 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] تدعم وحدة المعالجة المركزية الخاصة بك التعليمات التي تفيد بأنه لم يتم تجميع ملف TensorFlow الثنائي هذا لاستخدامه: SSE4.1 SSE4.2 AVX AVX2 FMA
قتل

ما هو الأمر الذي يجب تشغيله وأين يتم تشغيل هذه الأوامر وكيف من فضلك أخبر. أنا في حاجة ماسة للمساعدة.

لكن هل يعني ذلك أن النظام لا يستخدم وحدة معالجة الرسومات للعملية؟

حسنًا ، أنت بحاجة إلى حل هذا إذا كنت تقوم ببناء تدفق موتر في بيئة تسريع مثل استخدام k-fold في KerasClassifier.
لحل هذه المشكلة ، سوف تحتاج إلى بناء Tensorflow من المصدر تمامًا كما يوصي الجميع.
لبناء Tensorflow من المصدر ، ستحتاج إلى الأداة التالية

  1. قم بتثبيت git على جهازك إذا لم تكن قد قمت بذلك بالفعل - على جهاز Uubuntu فقط اكتب sudo apt-get install git
  2. سوف تحتاج إلى تثبيت bazel. يوصى بشدة باستخدام مستودع APT المخصص. اتبع التعليمات الموجودة على هذا الرابط لتثبيت bazel https://docs.bazel.build/versions/master/install-ubuntu.html.
  3. تحتاج إلى تبعيات البايثون التالية ... باستخدام الأمر أدناه
    numpy و dev و wheel
    sudo apt-get install python-numpy python-dev python-pip python-wheel
    4- بمجرد تثبيت جميع التبعيات ، قم باستنساخ tensorflow github إلى محرك الأقراص المحلي
    استنساخ بوابة https://github.com/tensorflow/tensorflow
  4. انتقل إلى الموقع لاستنساخ tensorflow و cd إلى ملف tensorflow وقم بتشغيل ملف التكوين
    موتر القرص المضغوط
    ./تهيئة

ما عليك سوى اتباع التعليمات التي تظهر على الشاشة لإكمال تثبيت Tensorflow.
سأوصي بشدة بتحديث جهازك بمجرد تثبيت Tensorflow
sudo apt-get update

حظا سعيدا واستمتع ...

فقط ادخل في هذا الموضوع بأنه لا يجب عليك فقط إسكات هذه التحذيرات - فأنا أحصل على وقت تدريب أسرع بنسبة 43٪ من خلال البناء من المصدر ، وأعتقد أن الأمر يستحق الجهد المبذول.

  • تعليمات Tensorflow
  • ... لكنهم لا يشرحون في الواقع كيفية تشغيل SSE / AVX / FMA وما إلى ذلك - لذا استخدم هذا الموضوع للحصول على فكرة عن كيفية تعيين إشارات Bazel build الخاصة بك

كيفية تثبيت tensorflow باستخدام هذا الملف "tensorflow-1.6.0-cp36-cp36m-win_amd64.whl"

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

gunan --config = opt ليس كافيًا ، يجب أيضًا إضافة ، على سبيل المثال ، --copt = "- msse4.2" ، عند إنشاء TensorFlow من المصدر.

وفقًا لشركة Intel ، https://software.intel.com/en-us/articles/intel-optimization-for-tensorflow-installation-guide ، إذا كنت تستخدم Intel Built Tensorflow ، فيمكنك تجاهل هذه التحذيرات نظرًا لأن جميع مجموعة التعليمات المتاحة يمكن استخدامها من قبل الخلفية MKL. يمكن لأي شخص من Tensorflow تأكيد ذلك؟

هذا ليس خطأ ، فقط تحذيرات تقول أنه إذا قمت بإنشاء TensorFlow من المصدر ، فيمكن أن يكون أسرع على جهازك.

سؤال حول هذا: http://stackoverflow.com/questions/41293077/how-to-compile-tensorflow-with-sse4-2-and-avx-instructions
دليل TensorFlow للبناء من المصدر: https://www.tensorflow.org/install/install_sources

ومع ذلك ، فهو ليس أسرع مما لا أستخدمه -FMA -AVX -SSE https://stackoverflow.com/questions/57197854/fma-avx-sse-flags-did-not-bring-me-good-performance

أهلا. آسف إذا ضربت حصانًا ميتًا. أتساءل فقط لماذا لا يتم تجميع الثنائيات مع تعليمات مسبقة عجلة النقطة الافتراضية؟

أهلا. آسف إذا ضربت حصانًا ميتًا. أتساءل فقط لماذا لا يتم تجميع الثنائيات مع تعليمات مسبقة عجلة النقطة الافتراضية؟

هذا لأن بنيات وحدة المعالجة المركزية القديمة لا تدعم مجموعة التعليمات المتقدمة. راجع موقع wiki للحصول على قائمة تفصيلية من cpus التي تدعم AVX أو AVX2 أو AVX512. إذا تم تجميع ثنائي النقطة الافتراضي باستخدام مجموعات التعليمات هذه ، فلن يعمل Tensorflow على وحدات المعالجة المركزية القديمة.

لكن هل يعني ذلك أن النظام لا يستخدم وحدة معالجة الرسومات للعملية؟

لا ، إنه يظهر حتى إذا كنت تستخدم GPU ، إذا لم تقم بإسكات الرسائل ، فيجب أن ترى أيضًا Tensorflor وهو يقوم بتحميل جهاز GPU الخاص بك في موجه الأوامر.

إذا قمت بالتحقق من هذا الريبو:
يرجى التحقق من الرمز أدناه:

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

قام بتجميع جميع إصدارات TF تقريبًا مع SSE و AVX
لقد قام بتجميع جميع إصدارات TF تقريبًا!

كانت هذه المقالة تعليميًا جيدًا حول كيفية البناء من المصدر بما في ذلك الأعلام
https://medium.com/@pierreontech/setup -a-high-performance-conda-tensorflow-environment-976995158cb1

حاول فرض إدراج الامتدادات المناسبة باستخدام خيارات bazel إضافية مثل --copt=-mavx --copt=-msse4.1 --copt=-msse4.2

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات