Tensorflow: المعجزات 3.0؟

تم إنشاؤها على ٩ نوفمبر ٢٠١٥  ·  101تعليقات  ·  مصدر: tensorflow/tensorflow

هل هناك خطط لدعم Cuda compute capacity 3.0؟

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

بالنسبة إلى إنشاء جهاز Cuda 3.0 ، إذا قمت بمزامنة أحدث كود TensorFlow ، فيمكنك القيام بما يلي. سيتم تحديث الوثائق الرسمية قريبا. لكن هذا ما يبدو عليه:

TF_UNOFFICIAL_SETTING دولار = 1. / تكوين

... نفس الإعدادات الرسمية أعلاه

تحذير: أنت تقوم بتكوين إعدادات غير رسمية في TensorFlow. لأن البعض
المكتبات الخارجية ليست متوافقة مع الإصدارات السابقة ، وهذه الإعدادات إلى حد كبير
غير مختبرة وغير مدعومة.

يرجى تحديد قائمة بإمكانيات حساب Cuda المفصولة بفواصل التي تريدها
بناء مع. يمكنك العثور على إمكانية الحوسبة لجهازك على:
https://developer.nvidia.com/cuda-gpus.
يرجى ملاحظة أن كل قدرة حسابية إضافية تزيد بشكل ملحوظ
وقت البناء والحجم الثنائي. [الإعداد الافتراضي هو: "3.5،5.2"]: 3.0

إعداد Cuda يشمل
إعداد Cuda lib64
إنشاء كودا بن
إعداد Cuda nvvm
انتهى التكوين

ال 101 كومينتر

رسميًا ، يتم دعم قدرة حساب Cuda 3.5 و 5.2. يمكنك محاولة تمكين إمكانية الحوسبة الأخرى عن طريق تعديل البرنامج النصي للبناء:

https://github.com/tensorflow/tensorflow/blob/master/third_party/gpus/crosstool/clang/bin/crosstool_wrapper_driver_is_not_gcc#L236

شكرا! سوف نحاول تقديم تقرير هنا.

هذا غير معتمد رسميًا حتى الآن. ولكن إذا كنت ترغب في تمكين Cuda 3.0 محليًا ، فإليك الأماكن الإضافية التي يمكنك تغييرها:

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/common_runtime/gpu/gpu_device.cc#L610
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/common_runtime/gpu/gpu_device.cc#L629
حيث يتم تجاهل جهاز GPU الأصغر.

سيأتي الدعم الرسمي في النهاية في شكل مختلف ، حيث نتأكد من أن الإصلاح يعمل في جميع البيئات الحسابية المختلفة.

لقد أجريت التغييرات على الأسطر أعلاه ، وتمكنت من تجميع وتشغيل المثال الأساسي في صفحة "البدء": http://tensorflow.org/get_started/os_setup.md#try_your_first_tensorflow_program - لم يشكو من gpu ، لكنه لم يبلغ عن استخدام GPU أيضًا.

كيف يمكنني المساعدة في الخطوات التالية؟

infojunkie @ ، هل يمكنك نشر خطوتك وتحميل السجل؟

إذا كنت تتبع هذا المثال:

bazel build -c opt --config = cuda // tensorflow / cc: tutorials_example_trainer
bazel-bin / tensorflow / cc / tutorials_example_trainer --use_gpu

إذا رأيت السطر التالي ، فسيتم إنشاء جهاز منطق GPU:

إنشاء جهاز TensorFlow (/ gpu: 0) -> (device: ...، name: ...، pci bus id: ...)

إذا كنت تريد التأكد تمامًا من استخدام GPU ، فاضبط CUDA_PROFILE = 1 وقم بتمكين Cuda profiler. إذا تم إنشاء سجلات ملف تعريف Cuda ، فهذه علامة مؤكدة على استخدام GPU.

http://docs.nvidia.com/cuda/profiler-users-guide/#command -line-profiler-control

حصلت على السجل التالي:

I tensorflow/core/common_runtime/local_device.cc:25] Local device intra op parallelism threads: 8
I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:888] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
I tensorflow/core/common_runtime/gpu/gpu_init.cc:88] Found device 0 with properties: 
name: GeForce GT 750M
major: 3 minor: 0 memoryClockRate (GHz) 0.967
pciBusID 0000:02:00.0
Total memory: 2.00GiB
Free memory: 896.49MiB
I tensorflow/core/common_runtime/gpu/gpu_init.cc:112] DMA: 0 
I tensorflow/core/common_runtime/gpu/gpu_init.cc:122] 0:   Y 
I tensorflow/core/common_runtime/gpu/gpu_device.cc:643] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:02:00.0)
I tensorflow/core/common_runtime/gpu/gpu_device.cc:643] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:02:00.0)
I tensorflow/core/common_runtime/gpu/gpu_device.cc:643] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:02:00.0)
I tensorflow/core/common_runtime/gpu/gpu_device.cc:643] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:02:00.0)
I tensorflow/core/common_runtime/gpu/gpu_device.cc:643] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:02:00.0)
I tensorflow/core/common_runtime/gpu/gpu_device.cc:643] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:02:00.0)
I tensorflow/core/common_runtime/gpu/gpu_region_allocator.cc:47] Setting region size to 730324992
I tensorflow/core/common_runtime/gpu/gpu_device.cc:643] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:02:00.0)
I tensorflow/core/common_runtime/gpu/gpu_device.cc:643] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:02:00.0)
I tensorflow/core/common_runtime/gpu/gpu_device.cc:643] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:02:00.0)
I tensorflow/core/common_runtime/gpu/gpu_device.cc:643] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:02:00.0)
I tensorflow/core/common_runtime/local_session.cc:45] Local session inter op parallelism threads: 8

أعتقد أن هذا يعني أنه تم العثور على وحدة معالجة الرسومات واستخدامها. يمكنني تجربة ملف تعريف CUDA إذا كنت تعتقد أنه مفيد.

يرجى إعطاء الأولوية لهذه القضية. إنه يحظر استخدام gpu على كل من OSX و AWS's K520 وبالنسبة للعديد من الأشخاص ، فهذه هي البيئات الوحيدة المتاحة.
شكرا!

ليس الحل الأفضل ، ولكن فقط قم بالتعليق على التحقق من إصدار حساب cuda على _gpu_device.c_ السطر 610 إلى 616 ، وإعادة التحويل ، ويبدو أن تسريع وحدة معالجة الرسومات g2 g2 من أمازون يعمل بشكل جيد:

example

كمرجع ، إليك التصحيح البدائي للغاية للعمل مع Cuda 3.0: https://gist.github.com/infojunkie/cb6d1a4e8bf674c6e38e

infojunkie قمت بتطبيق الإصلاح الخاص بك ، لكنني حصلت على الكثير من nan في ناتج الحساب:

$ bazel-bin/tensorflow/cc/tutorials_example_trainer --use_gpu
000006/000003 lambda =     -nan x = [0.000000 0.000000] y = [0.000000 0.000000]
000004/000003 lambda = 2.000027 x = [79795.101562 -39896.468750] y = [159592.375000 -79795.101562]
000005/000006 lambda = 2.000054 x = [39896.468750 -19947.152344] y = [79795.101562 -39896.468750]
000001/000007 lambda =     -nan x = [0.000000 0.000000] y = [0.000000 0.000000]
000002/000003 lambda =     -nan x = [0.000000 0.000000] y = [0.000000 0.000000]
000009/000008 lambda =     -nan x = [0.000000 0.000000] y = [0.000000 0.000000]
000004/000004 lambda =     -nan x = [0.000000 0.000000] y = [0.000000 0.000000]
000001/000005 lambda =     -nan x = [0.000000 0.000000] y = [0.000000 0.000000]
000006/000007 lambda =     -nan x = [0.000000 0.000000] y = [0.000000 0.000000]
000003/000006 lambda =     -nan x = [0.000000 0.000000] y = [0.000000 0.000000]
000006/000006 lambda =     -nan x = [0.000000 0.000000] y = [0.000000 0.000000]

markusdr ، هذا غريب جدا. هل يمكنك نشر الخطوات الكاملة لبناء الثنائي؟

هل يمكن ما هو GPU و OS الذي تعمل به؟ هل تستخدم Cuda 7.0 و Cudnn 6.5 V2؟

فقط +1 لإصلاح هذه المشكلة على AWS في أسرع وقت ممكن. ليس لدينا أي بطاقات GPU أخرى لأبحاثنا.

مرحبًا ، لست متأكدًا مما إذا كانت هذه مشكلة منفصلة ولكني أحاول البناء باستخدام CUDA 3.0 GPU (Geforce 660 Ti) وأتلقى العديد من الأخطاء مع --config = cuda. انظر الملف المرفق أدناه. يبدو أنه لا علاقة له بالتغييرات الموصى بها أعلاه. لقد لاحظت أنه يحاول تجميع ملف compute_52.cpp1.ii مؤقت والذي سيكون الإصدار الخاطئ لوحدة معالجة الرسومات الخاصة بي.

أنا على Ubuntu 15.10. لقد قمت بتعديل host_config.h في Cuda بما يشمل إزالة التحقق من الإصدار على دول مجلس التعاون الخليجي. أنا أستخدم Cuda 7.0 و cuDNN 6.5 v2 على النحو الموصى به ، على الرغم من أن لدي إصدارات أحدث مثبتة أيضًا.

cuda_build_fail.txt

نعم ، كنت أستخدم Cuda 7.0 و Cudnn 6.5 على مثيل EC2 g2.2xlarge مع هذا الهدف:
cuda_7 - ami-12fd8178
ubuntu 14.04 و GCC 4.8 و Cuda 7.0 و Atlas و opencv.
للبناء ، اتبعت التعليمات الموجودة على tensorflow.org.

يبدو أننا نشهد عدم توافق API بين Compute Capability v3 و Compute Capability v3.5 ؛ بعد إصلاح تصحيح infojunkie ، تعثرت في هذه المشكلة

I tensorflow / core / common_runtime / gpu / gpu_device.cc: 643] إنشاء جهاز TensorFlow (/ gpu: 0) -> (الجهاز: 0 ، الاسم: Quadro K2100M ، معرف ناقل pci: 0000: 01: 00.0)
I tensorflow / core / common_runtime / local_session.cc: 45] جلسة محلية بين العمليات المتوازية سلاسل العمليات: 8
F tensorflow / stream_executor / cuda / cuda_blas.cc: 229] فشل التحقق: f! = nullptr _ تعذر العثور على cublasCreate_v2 في cuBLAS DSO_؛ dlerror: bazel-bin / tensorflow / cc / tutorials_example_trainer: رمز غير محدد: cublasCreate_v2

أعمل على Ubuntu 15.04، GCC 4.9.2، CUDA Toolkit 7.5، cuDNN 6.5؛

+1 للحصول على دعم v3 للقدرة الحاسوبية

يتم تثبيت cublas؟ وأين يرتبط به
ls -lah /usr/local/cuda/lib64/libcublas.so؟

allanzelener ، ما إصدارات نظام التشغيل و GCC التي لديك؟ يبدو أن أخطائك تأتي من برامج التحويل البرمجي C ++ غير المتوافقة.

يوصى باستخدام Ubuntu 14.04 و GCC 4.8 مع TensorFlow.

vsrikarunyan ، من الأفضل استخدام CUDA Toolkit 7.0 ، على النحو الموصى به. يمكنك تثبيت مجموعة أدوات CUDA قديمة جنبًا إلى جنب مع مجموعة أدواتك الأحدث. ما عليك سوى توجيه TensorFlow "تكوين" وربما LD_LIBRARY_PATH إلى CUDA 7.0 عند تشغيل TensorFlow.

avostryakov ، يجب أن يعمل التصحيح المبكر لـ infojunkie على AWS.

https://gist.github.com/infojunkie/cb6d1a4e8bf674c6e38e

التصحيح الرسمي يشق طريقه عبر خط الأنابيب. سيعرض خيار التكوين للسماح لك باختيار هدف الحوسبة. لكن في الأسفل ، يحدث تغييرات مماثلة. لقد جربته على AWS g2 ، واكتشفت بمجرد أن تعمل الأشياء ، بعد أن ألغيت تثبيت برنامج تشغيل NVIDIA تمامًا ، وأعد تثبيت أحدث برنامج تشغيل GPU من NVIDIA.

مرة أخرى ، يكون الإعداد الموصى به على AWS في هذه المرحلة كما يلي.
Ubuntu 14.04 و GCC 4.8 و CUDA Toolkit 7.0 و CUDNN 6.5. بالنسبة إلى الإصدارين الأخيرين ، لا بأس في تثبيتهما دون التأثير على التثبيت الحالي للإصدارات الأخرى. كما أن الإصدارات الرسمية الموصى بها للإصدارين الأخيرين قد تتغير قريبًا أيضًا.

قمت بتطبيق نفس التصحيح على مثيل g2.2xlarge وحصلت على نفس النتيجة مثلmarkusdr ... مجموعة من nan.

@ zheng-xq نعم ، أنا على Ubuntu 15.10 وكنت أستخدم GCC 5.2.1. كانت القضية المترجم. لم أتمكن من معرفة كيفية تغيير المترجم باستخدام bazel ولكن يبدو أن تثبيت gcc-4.8 واستخدام بدائل التحديث لتغيير الروابط الرمزية في usr / bin قد نجح. (مزيد من المعلومات: http://askubuntu.com/questions/26498/choose-gcc-and-g-version). شكرًا للمساعدة ، سأبلغك إذا واجهت أي مشاكل أخرى.

لقد حصلت على هذا للعمل على مثيل g2.2xlarge وحصلت على مثال التدريب للتشغيل ، وتحققت من أن وحدة معالجة الرسومات (gpu) كانت نشطة باستخدام أداة nvidia-smi ، ولكن عند تشغيل mnist's convolutional.py نفدت الذاكرة. أظن أن هذا يتعلق فقط بحجم الدُفعة وحقيقة أن aws gpus لا يحتوي على الكثير من الذاكرة ، لكنني أردت فقط التخلص من ذلك للتأكد من أنه يبدو صحيحًا. للتوضيح ، قمت بتشغيل ما يلي ، واستمر لمدة 15 دقيقة ، ثم نفدت الذاكرة.

بيثون tensorflow / نماذج / صورة / mnist / تلافيفي

nbenhaim ، فقط ما الذي يجب عليك فعله لتشغيله؟

markusdr ، jbencook ، شبكة NAN مزعجة للغاية. قمت بتشغيل نفس الشيء بنفسي ، ولم أواجه أي مشكلة.

إذا كنت تستخدم إعداد البرنامج الموصى به: Ubuntu 14.04 و GCC 4.8 و Cuda 7.0 و Cudnn 6.5 ، فإن تخميني التالي هو برنامج تشغيل Cuda. هل يمكنك إلغاء تثبيت أحدث برنامج تشغيل Cuda وإعادة تثبيته.

هذا هو التسلسل الذي جربته على AWS ، وقد يختلف عدد الأميال الخاصة بك:

sudo apt-get remove --purge "nvidia *"
wget http://us.download.nvidia.com/XFree86/Linux-x86_64/352.55/NVIDIA-Linux-x86_64-352.55.run
sudo ./NVIDIA-Linux-x86_64-352.55.run - قبول الترخيص - no-x-check - no-recursion

شكرًا للمتابعة @ zheng-xq - سأعطي هذه اللقطة اليوم.

+1 آخر لدعم وحدات معالجة الرسومات السابقة لـ 3.5 ، كشخص آخر خياره الواقعي الوحيد للتدريب على البيانات الحقيقية هو مثيلات AWS GPU.

حتى بالنسبة للاختبار المحلي ، اتضح أن وحدة معالجة الرسومات الخاصة بجهاز الكمبيوتر المحمول (حديثًا ، للمطورين) لا تدعم 3.5 :-(

anjishnu لقد اتبعت للتو تصحيح infojunkie https://gist.github.com/infojunkie/cb6d1a4e8bf674c6e38e بعد إجراء تثبيت وبناء نظيف باتباع الإرشادات.

بعض التعليقات - كان AMI الذي كنت أستخدمه يحتوي على مجموعة أدوات NVIDIA cuda 6.5 مثبتة ، لذلك عندما اتبعت الرابط في دليل بدء تشغيل tensorflow ، قمت بتنزيل ملف 7.0 .run لـ ubuntu 14.04 ، وقمت بترقية برنامج التشغيل ، وقمت بتثبيت cuda 7.0 في /usr/local/cuda-7.0 بدون إنشاء ارتباط رمزي لـ / usr / local / cuda نظرًا لأن لدي بالفعل 6.5 مثبتًا ولم أرغب في قتله

ثم ، عند البناء ، قمت للتو بتحديد الموقع الصحيح لـ cuda 7.0. أحد الأشياء المربكة هو أنه عند إنشاء مكتبة python ، لا يذكرك البرنامج التعليمي بتحديد --config = cuda ، ولكن عليك القيام بذلك إذا كنت تريد python lib أن يستخدم gpu

markusdr ، jbencook ، حصلت على NaN وجميع أنواع القيم الفاسدة أيضًا عندما قمت بتطبيق التصحيح في البداية ، ولكن ما تم إصلاحه هو إجراء "bazel clean" وإعادة البناء من الصفر بعد إجراء التغييرات المقترحة الموضحة في infojunkie التصحيح. هل جربت هذا؟

الإهتمام ... لا لم تسنح لي الفرصة بعد. هل حاولت تشغيل CNN من دليل Getting Started؟

python tensorflow/models/image/mnist/convolutional.py

فضولي لمعرفة ما إذا كان هذا يعمل بشكل صحيح.

jbencook كما أشرت ، يبدو أن convol يكون. أظن أن هذا بسبب حجم الدفعة ... أعلم أن gpus على ec2 لا يحتوي على هذا القدر من الذاكرة ، لكنني غير متأكد في هذه اللحظة من سبب نفاد الذاكرة

لقد نفد المثال التلافيفي py من ذاكرة وحدة معالجة الرسومات بالنسبة لي أيضًا ، على GeForce GTX 780 Ti.

تمكنت من تثبيته على AWS بعد الكثير من الألم. راجع https://gist.github.com/erikbern/78ba519b97b440e10640 - لقد قمت أيضًا ببناء AMI: ami-cf5028a5 (في منطقة فيرجينيا)

يعمل على g2.2xlarge و g2.8xlarge ويكشف عن الأجهزة بشكل صحيح (1 و 4 على التوالي). ومع ذلك ، لا أرى أي تسريع من 4 بطاقات GPU على g2.8xlarge. يعالج كلا الجهازين حوالي 330 مثالاً / ثانية بتشغيل مثال CIFAR 10 مع وحدات معالجة رسومات متعددة. أيضًا أداء مشابه جدًا في مثال MNIST التلافيفي. كما أنه يتعطل بعد حوالي 15 دقيقة مع "نفاد ذاكرة وحدة معالجة الرسومات ، راجع تفريغ حالة الذاكرة أعلاه" كما ذكر بعض الأشخاص الآخرين أعلاه

لقد قمت بتشغيل مثال CIFAR لمدة ساعة تقريبًا ويبدو أنه يتأرجح جيدًا حتى الآن

بالنسبة إلى إنشاء جهاز Cuda 3.0 ، إذا قمت بمزامنة أحدث كود TensorFlow ، فيمكنك القيام بما يلي. سيتم تحديث الوثائق الرسمية قريبا. لكن هذا ما يبدو عليه:

TF_UNOFFICIAL_SETTING دولار = 1. / تكوين

... نفس الإعدادات الرسمية أعلاه

تحذير: أنت تقوم بتكوين إعدادات غير رسمية في TensorFlow. لأن البعض
المكتبات الخارجية ليست متوافقة مع الإصدارات السابقة ، وهذه الإعدادات إلى حد كبير
غير مختبرة وغير مدعومة.

يرجى تحديد قائمة بإمكانيات حساب Cuda المفصولة بفواصل التي تريدها
بناء مع. يمكنك العثور على إمكانية الحوسبة لجهازك على:
https://developer.nvidia.com/cuda-gpus.
يرجى ملاحظة أن كل قدرة حسابية إضافية تزيد بشكل ملحوظ
وقت البناء والحجم الثنائي. [الإعداد الافتراضي هو: "3.5،5.2"]: 3.0

إعداد Cuda يشمل
إعداد Cuda lib64
إنشاء كودا بن
إعداد Cuda nvvm
انتهى التكوين

تضمين التغريدة

قد تكون مشكلة نفاد الذاكرة ناتجة عن حقيقة أن convolutional.py يقوم بإجراء تقييم على مجموعة بيانات الاختبار بأكملها (10000) أمثلة. يحدث ذلك بعد انتهاء التدريب ، كخطوة أخيرة:

https://github.com/tensorflow/tensorflow/blob/master/tensorflow/models/image/mnist/convolutional.py#L266

هل يمكنك محاولة تقطيع train_data و test_labels لجعله أصغر؟

يمكنني أن أؤكد أنه باستخدام برنامج التثبيت النصي erikbern وأحدث فرع رئيسي لـ TensorFlow ، يعمل cifar10_multi_gpu_train.py كما هو متوقع على وحدة معالجة الرسومات:

step 100, loss = 4.49 (330.8 examples/sec; 0.387 sec/batch)

على الرغم من أن هذا السطر ينكسر الآن بسبب تغييرات الكود.

أيضًا إذا أخذت 1000 عينة اختبار ، فإن المثال convolutional.py يعمل أيضًا.

تحرير: المثال bazel-bin/tensorflow/cc/tutorials_example_trainer --use_gpu يعمل أيضًا بدون إعطائي مجموعة من nan.

أؤكد أن أحدث إصدار يدعم تحديد إمكانية الحوسبة عبر
$ TF_UNOFFICIAL_SETTING=1 ./configure
دون الحاجة إلى رقعة. شكرا!

أعتقد أنه يمكن إغلاق هذه المشكلة ، ما لم يواجه شخص ما وظيفة فعلية تفشل في Cuda <3.5.

في الواقع ، دعني أسترجع ذلك :-) يقوم البرنامج النصي ./configure بتعديل كود المصدر عن طريق تغيير الأسطر ذات الصلة بإصدارات Cuda المحددة يدويًا. ثم يُبلغ git عن التغييرات غير الملزمة ويصبح من الصعب جدًا العمل مع قاعدة الشفرة هذه دون الرجوع عن التغيير ، git pull ing ، والتكوين مرة أخرى ، ناهيك عن تقديم المساهمات.

تتمثل الطريقة الأفضل في قراءة إعدادات الإصدار هذه من ملف التكوين.

يعمل ErikBern أعلاه و AMI الخاص به من أجل Cifar بالنسبة لي - ami-cf5028a5

الحصول على 320 عينة تقريبًا في الثانية مقابل مربع i7 windows الخاص بي على عامل الإرساء والذي يحصل على 105 عينة تقريبًا في الثانية لـ cifar10_train.py

infojunkie : نعم ، هذا ليس مثاليًا (@ zheng-xq وناقشت هذا قليلاً أثناء المراجعة!).

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

سنواصل العمل على تسهيل ذلك ، ولكن نأمل أن يتيح لك هذا بعض التقدم إلى الأمام.

vrv : نعم ، يمكنني بالتأكيد مواصلة عملي مع هذه الإصلاحات. شكرا على الدعم!

مجرد فضول ، نظرًا لأن c4.4xlarge مع 16 vCpus يبلغ حوالي 0.88 في الساعة مقابل مثيل gpu الذي يبلغ 0.65 في الساعة ، ألن يكون ذلك أفضل لاستخدام وحدة المعالجة المركزية المتعددة من وحدة المعالجة المركزية؟

timshephard أشك في ذلك ، لكن لا تتردد في تشغيل بعض المعايير - يمكنك تثبيت AMI الخاص بي (ami-cf5028a5) على c4.4xlarge وتشغيل cifar10_train.py

في الواقع ، يحتوي g2.2xlarge على 8 cpus جنبًا إلى جنب مع GPU. سأحاول ذلك.

يتم دعم وحدة المعالجة المركزية متعددة الخيوط ، ولكن إذا كنت تريد القيام بأي تدريب حقيقي ،
GPU 4 Life ، حتى يتم إصدار التطبيق الموزع

يوم الخميس ، 12 تشرين الثاني (نوفمبر) 2015 الساعة 4:53 مساءً ، إريك بيرنهاردسون < [email protected]

كتب:

timshephard https://github.com/timshephard أشك في ذلك ، لكن لا تتردد
لتشغيل بعض المعايير - يمكنك تثبيت AMI الخاص بي (ami-cf5028a5) على ملف
c4.4xlarge وتشغيل cifar10_train.py

-
قم بالرد على هذا البريد الإلكتروني مباشرة أو قم بعرضه على GitHub
https://github.com/tensorflow/tensorflow/issues/25#issuecomment -156274039
.

كنت أحصل على سرعة 3x فقط لوحدة معالجة الرسومات من أمازون عبر وحدة المعالجة المركزية لنظام التشغيل windows الخاص بي على عامل الإرساء. جميل ، لكن هذا كان فقط واحدًا من النوى. من المحتمل أن تتفوق جميع النوى الأربعة الموجودة على صندوق النوافذ الخاص بي على وحدة معالجة الرسومات من أمازون.

هذا مثير للاهتمام ، لأنه مع الكافيين ، لم أقم بأي معايير فعلية ،
لكن التدريب في وضع وحدة المعالجة المركزية أمر مروع ، مثل ترتيب الحجم أو أكثر
فرق. ربما تم تحسين TF بشكل أفضل في وضع وحدة المعالجة المركزية - لن يكون مفاجئًا
أنا.

يوم الخميس ، 12 تشرين الثاني (نوفمبر) 2015 الساعة 5:01 مساءً ، timshephard [email protected]
كتب:

كنت أحصل على تسريع 3x فقط لوحدة معالجة الرسومات من أمازون عبر وحدة المعالجة المركزية لنظام التشغيل windows الخاص بي
عامل ميناء. جميل ، لكن هذا كان فقط واحدًا من النوى. كل ذلك لـ 4 نوى على
من المحتمل أن يتفوق صندوق windows على وحدة معالجة الرسومات من أمازون.

-
قم بالرد على هذا البريد الإلكتروني مباشرة أو قم بعرضه على GitHub
https://github.com/tensorflow/tensorflow/issues/25#issuecomment -156275410
.

يرجى أن تضع في اعتبارك أن البرنامج التعليمي cifar10 لأنه لا يُقصد به أن يكون معيارًا. من المفترض أن تعرض بعض الميزات المختلفة ، مثل التوفير والملخص. في شكله الحالي ، سيكون محدودًا بوحدة المعالجة المركزية ، حتى مع وحدة معالجة الرسومات. لقياس الأداء ، يجب على المرء أن يكون أكثر حرصًا وأن يستخدم الميزات الأساسية فقط.

يمكن أن تكون وحدات معالجة الرسومات من أمازون بطيئة لسبب ما https://www.reddit.com/r/MachineLearning/comments/305me5/slow_gpu_performance_on_amazon_g22xlarge/
تقرير مثير للاهتمام: "G2.2xlarge هو GK104 (797 MHz) الذي تم خفض تردده ، مما يجعله 1/4 سرعة TitanX الذي تم إصداره مؤخرًا و 2.7x أبطأ من GTX 980."

fwiw ، الحصول على 2015-11-13 00: 38: 05.472034: الخطوة 20 ، الخسارة = 4.64 (362.5 مثال / ثانية ؛ 0.353 ثانية / دفعة)
الآن مع 7 cpus و cifar10_multi_gpu_train.py. لقد غيرت جميع مراجع الجهاز من وحدة المعالجة المركزية إلى وحدة المعالجة المركزية ، إذا كان ذلك منطقيًا.

حسنًا ، غريب. 2015-11-13 00: 43: 56.914273: الخطوة 10 ، الخسارة = 4.65 (347.4 مثال / ثانية ؛ 0.368 ثانية / دفعة) واستخدام 2 cpus ، لذلك من الواضح أن شيئًا ما فشل هنا. يجب أن لا يزال يستخدم GPU. من المثير للاهتمام أنه يعالج أسرع قليلاً من إصدار وحدة معالجة الرسومات (gpu) من البرنامج النصي.

حتى مع تعليمات erikbern ما زلت أتلقى

AssertionError: نموذج تباعد مع خسارة = NaN عندما أحاول cifar_train.py وهذا عند تشغيل mnist / convolutional.py

الحقبة 1.63.1
خسارة مينيباتش: نان ، معدل التعلم: نان
خطأ Minibatch: 90.6٪
خطأ في التحقق من الصحة: ​​90.4٪
Epoch 1.75.1 تحديث
خسارة Minibatch: نان ، معدل التعلم: 0.000000
خطأ Minibatch: 92.2٪
خطأ في التحقق من الصحة: ​​90.4٪
الحقبة 1.86.2 تحديث
خسارة Minibatch: نان ، معدل التعلم: 0.000000

لقد قمت بتشغيلها على GPU على AWS ، لكن مثل الآخرين أحصل على سرعات غير مبهرة.

تمكنت من تشغيل مثال convolutional.py دون نفاد الذاكرة بعد استخدام الإصلاح الصحيح الذي اقترحه @ zheng-xq لتعيين الخيار عند تشغيل التكوين

لم يعد نص التثبيت المقدم من erikbern يعمل اعتبارًا من الالتزام 9c3043ff3bf31a6a81810b4ce9e87ef936f1f529

أحدث التزام قدم هذا الخطأ ، keveman قام بالفعل بتدوين ملاحظة حول الالتزام هنا:
https://github.com/tensorflow/tensorflow/commit/9c3043ff3bf31a6a81810b4ce9e87ef936f1f529#diff -1a60d717df0f558f55ec004e6af5c7deL25

أهلا! لدي مشكلة في تجميع Tensorflow مع GTX 670. أنا أجري

TF_UNOFFICIAL_SETTING=1 ./configure
bazel build -c opt --config=cuda //tensorflow/cc:tutorials_example_trainer

لدي خطأ:

INFO: Found 1 target...
INFO: From Compiling tensorflow/core/kernels/bias_op_gpu.cu.cc:
tensorflow/core/kernels/bias_op_gpu.cu.cc(40): error: identifier "__ldg" is undefined
          detected during:
            instantiation of "void tensorflow::functor::BiasOpCustomKernel(int, const T *, const T *, int, int, T *) [with T=float]" 
(57): here
            instantiation of "void tensorflow::functor::Bias<tensorflow::GPUDevice, T, Dims>::operator()(const tensorflow::functor::Bias<tensorflow::GPUDevice, T, Dims>::Device &, tensorflow::TTypes<T, Dims, Eigen::DenseIndex>::ConstTensor, tensorflow::TTypes<T, 1, Eigen::DenseIndex>::ConstVec, tensorflow::TTypes<T, Dims, Eigen::DenseIndex>::Tensor) [with T=float, Dims=2]" 
(69): here

tensorflow/core/kernels/bias_op_gpu.cu.cc(40): error: identifier "__ldg" is undefined
          detected during:
            instantiation of "void tensorflow::functor::BiasOpCustomKernel(int, const T *, const T *, int, int, T *) [with T=double]" 
(57): here
            instantiation of "void tensorflow::functor::Bias<tensorflow::GPUDevice, T, Dims>::operator()(const tensorflow::functor::Bias<tensorflow::GPUDevice, T, Dims>::Device &, tensorflow::TTypes<T, Dims, Eigen::DenseIndex>::ConstTensor, tensorflow::TTypes<T, 1, Eigen::DenseIndex>::ConstVec, tensorflow::TTypes<T, Dims, Eigen::DenseIndex>::Tensor) [with T=double, Dims=2]" 
(69): here

2 errors detected in the compilation of "/tmp/tmpxft_000067dd_00000000-7_bias_op_gpu.cu.cpp1.ii".
ERROR: /home/piotr/tensorflow/tensorflow/tensorflow/core/BUILD:248:1: output 'tensorflow/core/_objs/gpu_kernels/tensorflow/core/kernels/bias_op_gpu.cu.o' was not created.
ERROR: /home/piotr/tensorflow/tensorflow/tensorflow/core/BUILD:248:1: not all outputs were created.
Target //tensorflow/cc:tutorials_example_trainer failed to build

معلومات حول بطاقتي من عينات جهاز NVIDIA

Device 0: "GeForce GTX 670"
  CUDA Driver Version / Runtime Version          7.5 / 7.0
  CUDA Capability Major/Minor version number:    3.0
  Total amount of global memory:                 2046 MBytes (2145235968 bytes)
  ( 7) Multiprocessors, (192) CUDA Cores/MP:     1344 CUDA Cores
  GPU Max Clock rate:                            980 MHz (0.98 GHz)
  Memory Clock rate:                             3004 Mhz
  Memory Bus Width:                              256-bit
  L2 Cache Size:                                 524288 bytes
  Maximum Texture Dimension Size (x,y,z)         1D=(65536), 2D=(65536, 65536), 3D=(4096, 4096, 4096)
  Maximum Layered 1D Texture Size, (num) layers  1D=(16384), 2048 layers
  Maximum Layered 2D Texture Size, (num) layers  2D=(16384, 16384), 2048 layers
  Total amount of constant memory:               65536 bytes
  Total amount of shared memory per block:       49152 bytes
  Total number of registers available per block: 65536
  Warp size:                                     32
  Maximum number of threads per multiprocessor:  2048
  Maximum number of threads per block:           1024
  Max dimension size of a thread block (x,y,z): (1024, 1024, 64)
  Max dimension size of a grid size    (x,y,z): (2147483647, 65535, 65535)
  Maximum memory pitch:                          2147483647 bytes
  Texture alignment:                             512 bytes
  Concurrent copy and kernel execution:          Yes with 1 copy engine(s)
  Run time limit on kernels:                     Yes
  Integrated GPU sharing Host Memory:            No
  Support host page-locked memory mapping:       Yes
  Alignment requirement for Surfaces:            Yes
  Device has ECC support:                        Disabled
  Device supports Unified Addressing (UVA):      Yes
  Device PCI Domain ID / Bus ID / location ID:   0 / 1 / 0
  Compute Mode:
     < Default (multiple host threads can use ::cudaSetDevice() with device simultaneously) >

deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 7.5, CUDA Runtime Version = 7.0, NumDevs = 1, Device0 = GeForce GTX 670

أي أفكار لماذا لا يعمل؟
شكرا!

إن __ldg البدائي موجود فقط لـ 3.5+ على ما أعتقد. لدينا إصلاح داخلي لدعم كلاهما سنحاول دفعه قريبًا.

راجع https://github.com/tensorflow/tensorflow/issues/320 لمزيد من التفاصيل

شكرا! ساعدتني إضافة الإصلاح من رقم 320 ، يمكنني تجميع (مع الكثير من التحذيرات) وتنفيذها

bazel-bin/tensorflow/cc/tutorials_example_trainer --use_gpu

عندما أقوم بتشغيل الأمثلة:

tensorflow/models/image/mnist$ python convolutional.py 

أتلقى تحذيرًا أن:

Ignoring gpu device (device: 0, name: GeForce GTX 670, pci bus id: 0000:01:00.0) with Cuda compute capability 3.0. The minimum required Cuda capability is 3.5.

كيفية تمكين GPU في أمثلة من Tensorflow / النماذج / الصور؟

تضمين التغريدة
هل اكتشفت مشكلة GPU متعددة على Amazon؟ أقوم أيضًا بتشغيل مثيل GPU متعدد CIFAR ولكن لا أرى أي تسريع.

ها هي حالة استخدام GPU ، يبدو أن جميع وحدات معالجة الرسومات قيد الاستخدام لكنها لا تفعل أي شيء.

+ ------------------------------------------------- ----- +
| NVIDIA-SMI 346.46 إصدار برنامج التشغيل: 346.46 |
| ------------------------------- + ----------------- ----- + ---------------------- +
| استمرار اسم وحدة معالجة الرسومات- M | Bus-Id Disp.A | متقلب Uncorr. ECC |
| أداء درجة حرارة المروحة : الاستخدام / الغطاء | استخدام الذاكرة | GPU-Util Compute M. |
| ================================ + ================= ===== + ======================= |
| 0 GRID K520 Off | 0000: 00: 03.0 إيقاف | غير متاح |
| غير متاح 54C P0 55W / 125W | 3832 ميغا بايت / 4095 ميغا بايت | 37٪ افتراضي |
+ ------------------------------- + ----------------- ----- + ---------------------- +
| 1 GRID K520 Off | 0000: 00: 04.0 إيقاف | غير متاح |
| غير متاح 42C P0 42W / 125W | 3796 ميغا بايت / 4095 ميغا بايت | 0٪ افتراضي |
+ ------------------------------- + ----------------- ----- + ---------------------- +
| 2 GRID K520 Off | 0000: 00: 05.0 إيقاف | غير متاح |
| غير متاح 46C P0 43W / 125W | 3796 ميغا بايت / 4095 ميغا بايت | 0٪ افتراضي |
+ ------------------------------- + ----------------- ----- + ---------------------- +
| 3 GRID K520 Off | 0000: 00: 06.0 إيقاف | غير متاح |
| غير متاح 43C P0 41W / 125W | 3796 ميغا بايت / 4095 ميغا بايت | 0٪ افتراضي |
+ ------------------------------- + ----------------- ----- + ---------------------- +

+ ------------------------------------------------- ---------------------------- +
| العمليات: ذاكرة وحدة معالجة الرسومات |
| GPU PID اكتب اسم العملية الاستخدام |
| =================================================== ============================== |
| 0 60160 C بيثون 3819 ميجا بايت |
| 1 60160 C بيثون 3783 ميجا بايت |
| 2 60160 ج بيثون 3783 ميجا بايت |
| 3 60160 C بيثون 3783 ميجا بايت |
+ ------------------------------------------------- ---------------------------- +

mhejrati وفقًا لتعليق على https://news.ycombinator.com/item؟id=10555692 يبدو أنه لا يمكنك فعل ذلك في AWS:

تعمل محاكاة Xen الظاهرية على تعطيل نسخ P2P ، حيث تمتلك وحدات معالجة الرسومات (GPU) ما نسميه "فشل في الاتصال وبعض وحدات معالجة الرسومات التي لا يمكنك الوصول إليها (بدون المرور عبر وحدة المعالجة المركزية)."

لست متأكدًا من مدى جدارة تعليقات HN بالثقة ، لكن هذا كل ما أعرفه حتى الآن

erikbernmhejrati لست متأكدًا من أن الخاصية المحددة لـ Xen تمثل مشكلة. لا يبدو أن نسخ P2P ضرورية حيث لا يزال بإمكان وحدة المعالجة المركزية تعيين العمل لكل وحدة معالجة رسومات بدون حاجة وحدات معالجة الرسومات إلى التواصل مع بعضها البعض. لا يزال من الغريب أن جميع وحدات معالجة الرسومات الموجودة في المثيل تبدو في حالة شبه مستخدمة ولكن العمل يستمر دون أخطاء.

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

هل هذا يعني أن الإصدار الأخير من Tensorflow يعمل على مثيلات Amazon g2 دون أي اختراق؟ وهل يعني أنها تعمل بأكثر من وحدة معالجة رسومات هناك؟

لست متأكدًا مما إذا كان يجب أن نطلق على TF_UNOFFICIAL_ * "ليس اختراقًا" ، ولكن نعم ، يجب أن يعمل. إذا لم يحدث ذلك ، فمن المحتمل ألا يكون مرتبطًا بـ Cuda 3.0 في حد ذاته ، ويجب أن يكون لدينا خطأ أكثر تحديدًا.

وهل من الممكن تنفيذ التعليمات البرمجية على اثنين أو أكثر من وحدات معالجة الرسومات على مثيل أمازون؟ على سبيل المثال ، توازي البيانات لتدريب نموذج كما في مثال CIFAR. كتب العديد من الرجال فقط 5 تعليقات فوق هذا التعليق أنه لم يكن ممكنًا.

لا أدري، لا أعرف. ولكن إذا كان لا يزال يمثل مشكلة في 0.6.0 ، فيجب أن يكون خطأ ، مجرد خطأ أكثر تحديدًا حول وحدات معالجة الرسومات المتعددة.

أنا أستخدم 0.6.0 على ubuntu ، ولا يمكنني استخدام أكثر من وحدة معالجة رسومات. استخدام GPU في GPU واحد دائمًا هو 0.

للإشارة فقط ، فإن استئجار K40 أو K80 ليس مكلفًا في الواقع. أمازون لا تمتلكها ، ولكن العديد من الخيارات على http://www.nvidia.com/object/gpu-cloud-computing-services.html تفعل ذلك. (بعضها بسعر منخفض يصل إلى 3 دولارات في الساعة)

Theano و Torch ليس لديهما مشكلة مع الحوسبة 3.0 على الإطلاق. هل نتوقع أن يدعم TensorFlow الحوسبة 3.0 في أي وقت قريبًا؟

أو أضف على الأقل القدرة على تجاوز التقييد دون الحاجة إلى إعادة التحويل البرمجي.

Dringite ، يمكنك تمكين Cuda 3.0 باستخدام ما يلي:

TF_UNOFFICIAL_SETTING = 1. / تكوين

يجب أن تكون وظيفية. وإذا لم يحدث ذلك ، فلا تتردد في تقديم مشكلة أخرى لتعقبها.

يتضمن دليل تثبيت tensorflow الآن إصلاحًا لـ cuda 3.0 أيضًا

يوم الأربعاء 10 فبراير 2016 الساعة 2:37 مساءً ، كتب zheng-xq [email protected] :

Dringite https://github.com/Dringite ، يمكنك تمكين Cuda 3.0 باستخدام
ما يلي:

TF_UNOFFICIAL_SETTING = 1. / تكوين

يجب أن تكون وظيفية. وإذا لم يحدث ذلك ، فلا تتردد في تقديم ملف آخر
إصدار لتتبعه.

-
قم بالرد على هذا البريد الإلكتروني مباشرة أو قم بعرضه على GitHub
https://github.com/tensorflow/tensorflow/issues/25#issuecomment -182610763
.

أعتقد أن الدليل الحالي لا يعمل مع وحدة معالجة الرسومات (gpu's) - الاختبار يعيد نان كما ورد من قبل.
على وجه الخصوص ، ما زلت بحاجة إلى القيام بذلك:
TF_UNOFFICIAL_SETTING = 1. / تكوين

لا يمكنني العثور على دليل التثبيت بما في ذلك إصلاح cuda 3.0 ، هل يمكن لشخص ما أن يشير إلي؟ شكرا!

printf "\ ny \ n7.5 \ n \ n \ n \ n3.0 \ n" | ./تهيئة

7.5 هو الإصدار cuda ، 3.0 هو الحساب.

لا يوجد حتى الآن أي تحسن في الأداء لوحدات معالجة الرسومات المتعددة في Amazon (CUDA = 7.5 ، cudnn = 4.0 ، الحوسبة = 3.0) مقارنة بوحدة معالجة رسومات واحدة.

أي شخص ينجح في حساب كودا 2.0 القدرة؟

تم التحقق من أن 'TF_UNOFFICIAL_SETTING = 1 ./configure' يعمل على macbook pro مع GeForce GT 750M. شكرا!

هل هناك وقت مقدر للإصلاح الرسمي؟ من الصعب حقًا الاحتفاظ (على سبيل المثال ، إنشاء صور بملف عامل الشحن الخاص بنا) في الإنتاج.

يعطيني الكمبيوتر المحمول هذا السجل عندما أحاول تشغيل عينة بسيطة:
"تجاهل جهاز gpu (الجهاز: 0 ، الاسم: GeForce GT 635M ، معرف ناقل pci) مع إمكانية حساب Cuda 2.1. الحد الأدنى المطلوب من قدرة Cuda هو 3.0."
فهل هذا يعني أنه لا يمكنني استخدام إصدار GPU لأن الحد الأدنى من Cuda لـ tensorflow هو 3.0؟
شكرا

إذا كنت تستخدم الثنائيات سابقة الإنشاء ، نعم. إذا كنت تبني من المصدر يمكنك ذلك
بناء مع دعم Cuda 2.1 لكنني لا أعرف ما إذا كان ذلك يعمل بالفعل. إنه
من المحتمل أن يكون الحد الأدنى الفعال هو cuda 3.0.
يوم السبت ، 10 سبتمبر 2016 الساعة 11:51 مجتبى طبطبائي ، إخطارات github.com
كتب:

يعطيني الكمبيوتر المحمول هذا السجل عندما أحاول تشغيل عينة بسيطة:
"تجاهل جهاز gpu (الجهاز: 0 ، الاسم: GeForce GT 635M ، معرف ناقل PCI) باستخدام Cuda
القدرة الحسابية 2.1. الحد الأدنى المطلوب من قدرة Cuda هو 3.0. "
فهل هذا يعني أنه لا يمكنني استخدام إصدار GPU لأن الحد الأدنى من Cuda
ل Tensorflow هو 3.0؟
شكرا

-
أنت تتلقى هذا لأنك قمت بتعديل حالة الفتح / الإغلاق.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/tensorflow/tensorflow/issues/25#issuecomment -246128896 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/AAjO_RvNrRMQEmsueXWoaU5FX4tWHZq3ks5qovwegaJpZM4Ge0kc
.

smtabatabaie هل حاولت إنشاء cuDNN من المصدر كما اقترحه martinwicke ، فأنا أواجه نفس المشكلات تمامًا مثل مشكلتك وستساعدني كثيرًا إذا شاركت تجربتك؟

بعض المساعدة من فضلك. تظهر لي رسالة الخطأ نفسها مع "تجاهل جهاز gpu المرئي (الجهاز: 0 ، الاسم: GeForce GT 750M ، معرف ناقل pci: 0000: 01: 00.0) مع إمكانية حساب Cuda 3.0. الحد الأدنى المطلوب لإمكانية Cuda هو 3.5."

لقد قرأت المنشورات من الآخرين ، والمشكلة الوحيدة هي أن هذا تثبيت مباشر لنظام التشغيل Windows وليس على AWS كما أفترض أن معظم الأشخاص هنا لديهم. في موقع tensorflow ، تم ذكر أن الحد الأدنى مطلوب 3.0 ، لماذا لا يمكنني استخدام هذا؟ وكيف يمكنني الالتفاف حوله؟

اقتراحات حول كيفية القيام بهذا الترحيب من فضلك.

gunanmrry هل حزم Windows غير مبنية على cuda 3.0؟ الهذا فعلت ذلك
هم صغار جدا؟

martinwicke و nightlies و rc1 يجب أن يكون أيضا.

نعم ليلي.
rc0 أعتقد أنه كان 3.5.
هل اخترنا التغيير لاستخدام 3.0 إلى r0.12؟

لقد اخترنا التغيير.
cydal يمكنك استخدام البنايات الليلية هنا:
http://ci.tensorflow.org/view/Nightly/job/nightly-win/14/DEVICE=gpu ، OS = windows / artifact / cmake_build / tf_python / dist / tensorflow_gpu-0.12.0rc0-cp35-cp35m-win_amd64. whl

أو يمكنك الانتظار حتى 0.12.0rc1 ، والتي من المفترض أن تهبط في غضون أيام قليلة.

شكرًا يا رفاق على الرد السريع ، لم أكن أتوقع أحدًا منذ فترة على الأقل. آسف إذا كان هذا يبدو وكأنه ثنائية لسؤال غبي ، كيف يمكنني تثبيت هذا؟ هل أقوم ببساطة بتثبيته؟ (إذا كان الأمر كذلك ، فهل أزلت وحدة معالجة الرسومات (gpu) السابقة tensorflow؟ أم أنها تفعل ذلك تلقائيًا؟) أم أنها تتطلب تنزيلها وتثبيتها يدويًا بطريقة ما؟ تعتبرني مبتدئًا قليلاً.

يشير الارتباط إلى "حزمة PIP".
إذا استخدمت الأمر pip install ، فيجب أن تكون قادرًا على استخدام الأمر نفسه مع العلم --upgrade .
أو يمكنك تشغيل pip uninstall tensorflow ثم تثبيت الحزمة المذكورة أعلاه.
بمجرد إعطاء الأمر PIP عنوان URL ، سيتم تنزيله وتثبيته تلقائيًا.

هذا كل ما يمكنني تقديمه بمعرفة محدودة عن نظامك ، وتوزيع Python الخاص بك ، وما إلى ذلك.
ضع في اعتبارك إجراء بحث على google للحصول على مزيد من التفاصيل حول كيفية عمل تثبيت حزمة pip مع توزيع Python الخاص بك.

مرحبًا ، لقد قمت ببساطة بإلغاء تثبيت الإصدار السابق وإعادة تثبيته وهو يعمل! شكرًا جزيلاً لك ، لقد أنقذتني من شراء كمبيوتر محمول جديد.

مرحبًا gunan مع أحدث تغيير للتوافق 3.5 ، أحصل على السجل التالي:

>>>> sess = tf.Session()
I c:\tf_jenkins\home\workspace\nightly-win\device\gpu\os\windows\tensorflow\core
\common_runtime\gpu\gpu_device.cc:885] Found device 0 with properties:
name: Quadro K4100M
major: 3 minor: 0 memoryClockRate (GHz) 0.7055
pciBusID 0000:01:00.0
Total memory: 4.00GiB
Free memory: 3.69GiB
I c:\tf_jenkins\home\workspace\nightly-win\device\gpu\os\windows\tensorflow\core
\common_runtime\gpu\gpu_device.cc:906] DMA: 0
I c:\tf_jenkins\home\workspace\nightly-win\device\gpu\os\windows\tensorflow\core
\common_runtime\gpu\gpu_device.cc:916] 0:   Y
I c:\tf_jenkins\home\workspace\nightly-win\device\gpu\os\windows\tensorflow\core
\common_runtime\gpu\gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (d
evice: 0, name: Quadro K4100M, pci bus id: 0000:01:00.0)
E c:\tf_jenkins\home\workspace\nightly-win\device\gpu\os\windows\tensorflow\core
\common_runtime\gpu\gpu_device.cc:586] Could not identify NUMA node of /job:loca
lhost/replica:0/task:0/gpu:0, defaulting to 0.  Your kernel may not have been bu
ilt with NUMA support.

كيف يمكنني الالتفاف حوله؟ اقتراحات حول كيفية القيام بذلك موضع ترحيب كبير.

@ kay10 يبدو أنها عملت. رسالة الخطأ هذه في السطر الأخير غير ضارة ، وستتم إزالتها في الإصدار.

كما أرى في هذا الموضوع ، كل شخص لديه مستوى توافق 3. بالنسبة لأولئك الذين لديهم قابلية للتوافق 2 ، هل هناك أي حل بدون تجميع شفرة المصدر؟
حاولت ليلا إنشاء مشترك بواسطة gunan ووجدت الخطأ:
tensorflow_gpu-0.12.0rc0-cp35-cp35m-win_amd64.whl is not a supported wheel on this platform.
إنها ليست عجلة لينكس وأدركت ذلك قريبًا.

الوضع الحالي على 16.04 Ubuntu.
I tensorflow/core/common_runtime/gpu/gpu_device.cc:948] Ignoring visible gpu device (device: 0, name: GeForce GTX 590, pci bus id: 0000:03:00.0) with Cuda compute capability 2.0. The minimum required Cuda capability is 3.0. I tensorflow/core/common_runtime/gpu/gpu_device.cc:948] Ignoring visible gpu device (device: 1, name: GeForce GTX 590, pci bus id: 0000:04:00.0) with Cuda compute capability 2.0. The minimum required Cuda capability is 3.0.

batuhandayioglugil يعتمد عدد كبير جدًا من نوى GPU الخاصة بنا على الوظائف المتوفرة فقط في الإصدار 3.0 وما فوق ، لذلك للأسف ستحتاج إلى وحدة معالجة رسومات أحدث. قد تفكر أيضًا في تجربة إحدى الخدمات السحابية.

vrv لقد جئت إلى هذه النقطة بعد أن أمضيت وقتًا طويلاً في هذه المشكلات وشراء PSU جديد ، لذا فقد كلفني الكثير. لتجنب المزيد من إهدار الوقت ، أريد أن أطرح سؤالاً: هناك ما لا يقل عن 15 مكتبة تعلم عميق سمعتها. كان Cuda و cuDNN ضروريين لتدفق التوتر. هل هذا الموقف (القدرة الحسابية) خاص بمكتبة cuda؟ هل يمكنني الحصول على أي فرص أخرى؟ إذا لم يكن الأمر كذلك ، فسوف أتخلى عن المعرفة الصحيحة وأواصل العمل مع وحدة المعالجة المركزية (اغفر جهلي)

أعتقد أنها ستكون مشكلة أكثر مما تستحق محاولة تشغيل بطاقتك 2.0 - فمن الممكن أن تكون وحدة المعالجة المركزية الحالية لديك أسرع أو أسرع من وحدة معالجة الرسومات الخاصة بك ، ومشكلة أقل بكثير للبدء. لا أعرف ما تطلبه المكتبات الأخرى للأسف.

هل يدعم بالفعل حساب GPU 3.0؟

نعم.

martinwicke شكرا لك على الاستجابة السريعة. هل لا يزال يتعين علي بنائه من المصدر ، أو مجرد تركيبه مباشرة؟ أنا على Arch Linux وأكافح من أجل بنائه من المصدر بإعطاء خطأ في مترجم c.

أعتقد أنه يجب أن يعمل من ثنائي.

لدي نفس المشكلة - "تجاهل جهاز gpu (الجهاز: 0 ، الاسم: GeForce GT 635M ، معرف ناقل pci) مع إمكانية حساب Cuda 2.1. الحد الأدنى المطلوب لإمكانية Cuda هو 3.0." . تضمين التغريدة مساعدة !!!!

قدرة الحوسبة 2.1 منخفضة جدًا لتشغيل TensorFlow. ستحتاج إلى بطاقة رسومات أحدث (أو أكثر قوة) لتشغيل TensorFlow على وحدة معالجة الرسومات.

عنوان url الخاص بالإجابة على السؤال غير صالح. هل يمكنك تحديثه؟

بالنسبة لحزم النقطة الليلية ، فإن الطريقة الموصى بها للتثبيت هي استخدام الأمر pip install tf-nightly .
تم إهمال ci.tensorflow.org.

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