Я новичок в глубоком обучении, и последние 2 дня тщетно пытался установить версию tensorflow-gpu на свой компьютер. Я избегал установки драйверов CUDA и cuDNN, поскольку некоторые форумы в Интернете не рекомендуют это из-за многочисленных проблем с совместимостью. Поскольку раньше я уже использовал дистрибутив python conda, я выбрал conda install -c anaconda tensorflow-gpu
, как написано на их официальном веб-сайте здесь: https://anaconda.org/anaconda/tensorflow-gpu.
Однако даже после установки версии gpu в новой виртуальной среде (чтобы избежать потенциальных конфликтов с установленными библиотеками pip в базовой среде env), по какой-то загадочной причине tenorflow, похоже, даже не распознает мой графический процессор.
Некоторые фрагменты кода, которые я запустил (в приглашении anaconda), чтобы понять, что он не распознает мой графический процессор: -
1.
>>>from tensorflow.python.client import device_lib
>>>print(device_lib.list_local_devices())
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 7692219132769779763
]
Как видите, он полностью игнорирует графический процессор.
2.
>>>tf.debugging.set_log_device_placement(True)
>>>a = tf.constant([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0]])
2020-12-13 10:11:30.902956: I tensorflow/core/platform/cpu_feature_guard.cc:142] This
TensorFlow
binary is optimized with oneAPI Deep Neural Network Library (oneDNN)to use the following CPU
instructions in performance-critical operations: AVX AVX2
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
>>>b = tf.constant([[1.0, 2.0], [3.0, 4.0], [5.0, 6.0]])
>>>c = tf.matmul(a, b)
>>>print(c)
tf.Tensor(
[[22. 28.]
[49. 64.]], shape=(2, 2), dtype=float32)
Здесь предполагалось указать, что он работал с графическим процессором, показывая Executing op MatMul in device /job:localhost/replica:0/task:0/device:GPU:0
(как написано здесь: https://www.tensorflow.org/guide/gpu), но ничего подобного нет. Также я не уверен, что означает сообщение после 2-й строки.
Я также искал несколько решений в Интернете, в том числе здесь, но почти все проблемы связаны с первым методом ручной установки, который я еще не пробовал, поскольку все рекомендовали этот подход.
Я больше не использую cmd, так как переменные среды каким-то образом испортились после удаления tensorflow-cpu из базового env и при повторной установке, он отлично работал с приглашением anaconda, но не с cmd. Это отдельная проблема (и тоже широко распространенная), но я упомянул ее на тот случай, если она сыграет здесь свою роль. Я установил версию gpu в новую виртуальную среду, чтобы обеспечить чистую установку, и, насколько я понимаю, переменные пути необходимо настраивать только для ручной установки библиотек CUDA и cuDNN.
Карта, которую я использую :-( которая поддерживает CUDA)
C:\WINDOWS\system32>wmic path win32_VideoController get name
Name
NVIDIA GeForce 940MX
Intel(R) HD Graphics 620
Версия Tensorflow и Python, которую я использую в настоящее время: -
>>> import tensorflow as tf
>>> tf.__version__
'2.3.0'
Python 3.8.5 (default, Sep 3 2020, 21:29:08) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
Информация о системе: Windows 10 Home, 64-битная операционная система, процессор на базе x64.
Любая помощь могла бы быть полезна. Заранее спасибо.
conda list
, я увидел, что cudatoolkit не установлен для меня, хотя был установлен tenorflow-gpu. Я также видел, что cudnn не установлен. Я пытаюсьconda install
это сейчас. Когда я сделалconda install cudnn
, мне потребовалось понизить версию cudatoolkit 11, которую я только что установил, до cudatoolkit 10. Возможно,conda create -n tf-gpu tensorflow-gpu
плохо работает для последних выпусков (например, cudatoolkit 11). - person user3731622   schedule 16.12.2020