代码之家  ›  专栏  ›  技术社区  ›  onaclov2000

深入学习Nvidia 1070 Ti Ubuntu18.04

  •  2
  • onaclov2000  · 技术社区  · 7 年前

    我现在正在努力,我花了很多时间尝试不同的方法来使用Tensorflow。

    我的 最近的 尝试(与之前有类似的问题)是我尝试安装tensorflow docker

    https://hub.docker.com/r/tensorflow/tensorflow/
    

    我安装了nvidia docker并运行了SMI,它似乎报告说我的GPU存在。

    然后我运行了这个命令

    nvidia-docker run -it -p 8888:8888 tensorflow/tensorflow:latest-gpu
    

    下载并启动之后,我试着运行笔记本(首先是hello tensorflow笔记本)。

    只要我尝试“导入”tensorflow(只使用默认的未修改笔记本),我就会得到一个内核重启。

    KernelRestarter: restarting kernel (1/5), keep random ports
    

    我不确定下一个最好的步骤是什么,我不知道如何对docker容器进行故障排除,然后在jupyter笔记本中进行故障排除。

    我以前在尝试在没有docker容器的情况下在本地运行时也遇到过类似的问题。

    有什么好的下一步建议吗?我花在这张卡片上的钱比我想的还多,我不知道如何让它发挥作用。

    (我相信我可以使用安装的tensorflow gpu在我的机器上本地导入,但是当我到达conv2d部分时,我会发现无法创建cudnn句柄:cudnn_状态_未初始化,如果我回忆的话,但这已经是忙碌的几天了)

    编辑:是的,cuda和cudnn和我安装了nvidia-390,它 似乎 像一个很好的测试是nvidia smi,它可以工作。我刚刚从零开始编译tf,但仍然失败(在本例中,导入tf不会失败,但相同的非初始化错误,可能不是它提到的正确的nvidia版本,我想是nvidia-390.77) 我正在考虑一个新的18.04安装和一个早期的nvidia-3xx版本安装,试图“降级”导致apt损坏,并尝试了几天的修复

    编辑2: 我也意识到我安装了CUDA 9.0,但没有安装cudnn7。1与9.1 CUDA(您可以从nvidia下载该组合,无论其含义如何)。 我正在尝试恢复,但我在退出时遇到了很多麻烦,我非常接近于擦除并重新安装ubuntu,然后从那里开始。我有所有的命令,我认为这可能更容易,但我不确定这是否能解决它。(例如cudnn-9.0-linux-x64-v7.1)

    编辑3: 回来回应这件事。我写了一个要点,我必须做什么让我的GPU在ubuntu 16.04中为我的主机工作,但我没有在docker中测试它,这里是要点。

    https://gist.github.com/onaclov2000/c22fe1456ffa7da6cebd67600003dffb

    复制粘贴到此处:

    # 1070 Ti
    Fresh Install 16.04
    (download updates, and include 3rd party)
    sudo apt-get update
    sudo apt-get upgrade
    sudo apt-get install nvidia-384
    # Contents
    sudo bash -c 'cat >> /etc/modprobe.d/blacklist-nouveau.conf << 'EOF'
    blacklist nouveau
    options nouveau modeset=0
    EOF'
    sudo update-initramfs -u
    sudo reboot
    # Takes about 30-40 minutes 1.5GB approx
    wget https://developer.download.nvidia.com/compute/cuda/9.0/secure/Prod/local_installers/cuda_9.0.176_384.81_linux.run
    sudo sh cuda_9.0.176_384.81_linux.run
        No to install nvidia accelerated Graphics Driver for Linux
        yes to Cuda 9.0 toolkit
        default
        yes to symbolic link
        yes to samples
        default location is fine
    
    
    #Alternately (need to test)
    #sudo sh cuda_9.0.176_384.81_linux.run --silent --toolkit --samples
    
    cat >> ~/.bashrc << 'EOF'
    export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64\
    ${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
    EOF
    cd ~/NVIDIA_CUDA-9.0_Samples/1_Utilities/deviceQuery
    make
    ./deviceQuery # Assuming make was successful
    cd ~/NVIDIA_CUDA-9.0_Samples/1_Utilities/bandwidthTest
    make
    ./bandwidthTest # Assuming make was successful
    # Look for Result = PASS
    
    sudo apt-get install nvidia-cuda-toolkit
    
    # Couldn't find on 16.04 maybe this is a 18.04 upgrade?
    #sudo apt-get install cuda-toolkit-9.0 cuda-command-line-tools-9-0
    
    # At this point the driver and CUDA are installed, now it's time to install the CUDNN driver/piece.
    #This is the link that I have, be sure to use v7 not v7.1 as I haven't had luck in the past with that (though it might work).
    https://developer.nvidia.com/compute/machine-learning/cudnn/secure/v7.0.5/prod/9.0_20171129/cudnn-9.0-linux-x64-v7
    # 333 MB so will take a bit
    cd ~/Downloads
    tar -xvf cudnn-9.0-linux-x64-v7.tgz
    cd cuda
    sudo cp lib64/* /usr/local/cuda/lib64/
    sudo cp include/* /usr/local/cuda/include/
    
    sudo apt-get install git tmux
    cd ~/Downloads
    # At this point I'm going to install Anaconda
    wget https://repo.continuum.io/archive/Anaconda3-4.3.1-Linux-x86_64.sh -O anaconda-install.sh 
    bash anaconda-install.sh # Follow Prompts adding path to bash
    source ~/.bashrc
    conda create --name ml
    source activate ml
    pip install tensorflow-gpu==1.5
    
    # test the install
    cd ~
    mkdir projects
    cd projects
    git clone https://github.com/tensorflow/models
    
    
    
    
    # Addional notes
    Run a sample from the cuda samples folder
    
    /NVIDIA_CUDA-9.0_Samples/1_Utilities/deviceQuery
    make
    ./deviceQuery
    
    Output:
    
    Plenty but ends with the following
    deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 9.0, CUDA Runtime Version = 9.0, NumDevs = 2
    Result = PASS
    
    
    This tells you which cudnn is installed
    
    cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
    
    Outputs:
    #define CUDNN_MAJOR 7
    #define CUDNN_MINOR 1
    #define CUDNN_PATCHLEVEL 4
    --
    #define CUDNN_VERSION    (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
    
    
    # This tells you what
    
    nvcc --version 
    
    Outputs:
    
    nvcc: NVIDIA (R) Cuda compiler driver
    Copyright (c) 2005-2017 NVIDIA Corporation
    Built on Fri_Sep__1_21:08:03_CDT_2017
    Cuda compilation tools, release 9.0, V9.0.176
    
    

    最后,我更新到了18.04版本,但还没有再次详细介绍所有这些内容,所以我将在前进的过程中按照上面的要点更新18.04版本。

    0 回复  |  直到 7 年前