Итак — есть ещё способ установки напрямую пайтоновским пакетом, который как оказалось прекрасно работает. Причём одинаково хорошо в обоих версиях пайтона. Собственно процесс прекрасно описан тут
Для python 3.6
1
$ sudo pip3 install tensorflow-gpu
Для python 2.7
1
sudo pip2 install tensorflow-gpu
Тестовая программа работает хотя и ругается на отсутствие GPU.
~ python Python 2.7.13 (default, Dec 212016, 07:16:46) [GCC 6.2.120160830] on linux2 Type "help", "copyright", "credits"or"license"for more information. >>> import tensorflow as tf I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcublas.so.8.0 locally I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcudnn.so.5 locally I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcufft.so.8.0 locally I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcuda.so.1 locally I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcurand.so.8.0 locally >>> hello = tf.constant('Hello, TensorFlow!') >>> sess = tf.Session() W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE3 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.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. NVIDIA: no NVIDIA devices found E tensorflow/stream_executor/cuda/cuda_driver.cc:509] failed call to cuInit: CUDA_ERROR_UNKNOWN I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:145] kernel driver does not appear to be running on this host (roman-notebook): /proc/driver/nvidia/version does not exist >>> print(sess.run(hello)) Hello, TensorFlow! >>>
Ну чего — давайте дадим ей вожделенный NVIDIA device.
1
$ sudo tee /proc/acpi/bbswitch <<< ON
И попробуем ещё раз. Бинго! Теперь мы видим после запуска сессии
1 2 3 4 5 6 7 8 9 10 11 12 13
... >>> sess = tf.Session() name: GeForce GT 640M major: 3 minor: 0 memoryClockRate (GHz) 0.7085 pciBusID 0000:01:00.0 Total memory: 1.95GiB Free memory: 1.93GiB I tensorflow/core/common_runtime/gpu/gpu_device.cc:906] DMA: 0 I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 0: Y I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 640M, pci bus id: 0000:01:00.0) >>> print(sess.run(hello)) Hello, TensorFlow! >>>
Из чего делаем вывод, что оно прекрасно запустилось на GPU, что и требовалось получить.
Комментарии