我試圖讓張量流與 CUDA 10.1 一起使用,但每次我嘗試安裝任何驅動程序(任何版本)時,它只會繼續安裝 CUDA 11(與張量流不兼容)。我已經嘗試過驅動程序和 CUDA 的 .deb 安裝。我也嘗試安裝最新的驅動程序,然后通過本地.run文件安裝CUDA 10.1并告訴CUDA不要安裝驅動程序。這確實在我的 /usr/local 文件夾中安裝了 cuda 10.1,但是當我嘗試時nvidia-smi它每次都指定 CUDA 11。我做了大量的研究,發現 提到的版本nvidia-smi指定了最新支持的 cuda 運行時,但不一定反映實際安裝的 CUDA 庫?所以我應該安裝了cuda 10.1(在/usr/local下)并嘗試在tensorflow上運行測試命令: tf.config.list_physical_devices('GPU')但這給出了一個錯誤:2020-09-30 17:36:38.765577: W tensorflow/stream_executor/platform/default/dso_loader.cc:59] Could not load dynamic library 'libcudart.so.10.1'; dlerror: libcudart.so.10.1: cannot open shared object file: No such file or directory2020-09-30 17:36:38.765604: I tensorflow/stream_executor/cuda/cudart_stub.cc:29] Ignore above cudart dlerror if you do not have a GPU set up on your machine./home/robbe/Desktop/usiigaci-optimized/venv/lib/python3.7/site-packages/pandas/compat/__init__.py:120: UserWarning: Could not import the lzma module. Your installed Python is incomplete. Attempting to use lzma compression will result in a RuntimeError. warnings.warn(msg)很明顯,它無法找到正確的 cuda 10.1 對象庫,盡管它確實存在于 /usr/local/cuda-10.1 下。/usr/bin 下還有可執行文件(包括顯示 cuda 11 的 nvidia-smi),我認為這些文件會覆蓋 /usr/local 下的 10.1 目錄?我嘗試過的事情:安裝 NVIDIA 驅動并安裝 CUDA 和驅動。執行此操作時,CUDA 實際上安裝了 NVIDIA 驅動程序 418,并給出了一個關于無法卸載的內核模塊的模糊異常。通過 grub rescue 手動安裝驅動程序(因為第一步出現異常),然后安裝 CUDA 10.1(本地 .run & 不包括 nvidia 驅動程序)。所以nvidia驅動和cuda完全分開安裝。通過 GUI 安裝最新的 NVIDIA 驅動程序:軟件 -> 附加驅動程序有效的事情:使用本地 .run 安裝 CUDA 并告訴它不要包含驅動程序。這會在 /usr/local 下成功安裝 cuda 10.1,但無法被 tensorflow或 nvidia-smi命令識別。我束手無策,我得出的結論是,tensorflow 和 CUDA 很難使用,盡管如此,我需要它才能工作,有人可以幫忙嗎?
1 回答

HUWWW
TA貢獻1874條經驗 獲得超12個贊
所以我找到了解決方案。
這確實是一個設置正確的環境變量的問題。Tensorflow 查找 cuda-10.1/include 和 cuda-10.1/lib64 下存在的特定對象文件,因此我只是將這些路徑作為 LD_LIBRARY_PATH 添加到 ~/.bashrc 中的環境中,如下所示:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/include export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
添加回答
舉報
0/150
提交
取消