日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

Win10下双系统Ubuntu14.04+GTX1070+CUDAcuDNN+Tensorflow环境搭建

發(fā)布時間:2024/1/8 Ubuntu 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Win10下双系统Ubuntu14.04+GTX1070+CUDAcuDNN+Tensorflow环境搭建 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

先說機器配置

CPU:Intel Xeon E3-1230 v5 skylake平臺(此CPU無核顯)

主板:ASUS E3 Pro Gaming v5

RAM:8G

GPU:ASUS STRIX-GTX1070 O8GB

存儲:1個128G SSD + 1個 1T 機械硬盤 都是GPT分區(qū)


為什么先說機器配置呢?因為在安裝Ubuntu過程中這個相當重要,在網(wǎng)上找到的教程中,大多數(shù)是在筆記本電腦或者比較舊的電腦上安裝。如果你的機器是這一兩年內的新配置(一般都是UEFI+GPT),本教程應該會相對實用。不過,還是要先了解自己的機器是傳統(tǒng)的BIOS+MBR還是新的UEFI+GPT,相關內容可以看這里(關鍵是看看BIOS和UEFI長什么樣子)。而自己機器分區(qū)表是MBR還是GPT,在Win10下也可通過Win+X進入“磁盤管理”查看。我的機器是UEFI+GPT的,環(huán)境搭建也是以此為基礎。


1 Ubuntu安裝

1.1 Win10下的磁盤分區(qū)

考慮到雙系統(tǒng)的共存,需要在磁盤中為Ubuntu系統(tǒng)劃分空間。Win10下,通過Win+X進入磁盤管理查看分區(qū),由于我的機器的128G SSD作為Win10系統(tǒng)C盤,所以我在仍有較大空間的D盤(機械硬盤)中為Ubuntu系統(tǒng)劃分100GB,步驟:在新加卷D:上右鍵->壓縮卷->填寫劃分的空間->壓縮->完成。此時可以看到在D盤下劃分了一個未分配的100GB空間:


需要注意的是 ,無需對這100GB未分配空間改動,讓它保持 未分配就好。

1.2 Win10下的設置

這里主要是要禁用快速啟動,因為快速啟動會阻礙Ubuntu系統(tǒng)的掛載。

Win+X進入電源選項->選擇電源按鈕的功能->更改當前不可用的設置->將“啟用快速啟動”的選項去掉->保存修改。




1.3 UEFI下的設置

這里首先要重啟,華碩主板按Delete或者F2進入UEFI界面。

1.3.1 UEFI禁用Fast Boot

進入UEFI后,按F7進入Advanced Mode,在Boot菜單下,將Fast Boot改為Disable。



1.3.2 UEFI更改CSM(重中之重)

在Fast Boot下面,可以看到CSM(Compatibility Support Module),這是主板可以兼容傳統(tǒng)BIOS和新UEFI引導的模塊,點入去將Boot Device Control 更改為UEFI only

這里Legacy OPROM就是傳統(tǒng)BIOS引導,有人可能會問,為什么不保留初始的UEFI and?Legacy OPROM,就可以兼容兩種模式了?經(jīng)過我的試驗,即多次安裝Ubuntu過程中,發(fā)現(xiàn)使用純UEFI引導的安裝更容易成功,特別在Ubuntu系統(tǒng)內的分區(qū)中(后面會提到)會更妥當。




1.3.3 UEFI禁用Secure Boot(自行選擇)

CSM下方的Secure Boot,點進去會看到Secure Boot的選項是灰色無法更改的。關于Secure Boot的問題,可以參考這里和這里。

但是當我將各種Key備份好,準備Delete?Platform Key (PK)時,我發(fā)現(xiàn)這樣會導致Win10系統(tǒng)重置,所以我并未執(zhí)行此步,在后面步驟也正常,讀者可自行選擇是否執(zhí)行此步。




1.4 制作Ubuntu的U盤啟動盤

網(wǎng)上大多數(shù)教程都會采用UltraISO,這里我用的是 Rufus。

從官網(wǎng)下載好ubuntu-14.04.5-desktop-amd64.iso后,利用Rufus刻錄。注意,一定要在“分區(qū)方案和目標系統(tǒng)類型”中選擇->“用于UEFI計算機的GPT分區(qū)方案”。




1.5 開始安裝

重啟,華碩主板按Delete或者F2進入UEFI界面,選擇帶UEFI字樣的U盤啟動。進入GNU GRUB后,選擇Install Ubuntu。

后面的安裝有圖形界面引導,需要說明的是安裝方式及分區(qū)。由于要安裝雙系統(tǒng),在安裝方式里一定要選擇“其它選項(Something else)”。

進入分區(qū)后,根據(jù)剛才在Win10下劃分的未分配100GB,可以在當前安裝界面中的分區(qū)表找到一個107876MB左右的空閑區(qū)域,選中,點擊左側“+”進行分區(qū),共分三個區(qū)如下:

1. 300MB->邏輯分區(qū)->空間起始位置->EFI引導分區(qū)(EFI boot partition) ;

2. 8192MB->主分區(qū)->空間起始位置->交換空間(swap area);

3. 剩余所有空間->主分區(qū)->空間起始位置->Ext4日志文件系統(tǒng)(Ext4 journaling file system)->掛載點為“/”。

分區(qū)完成后,下面要選擇“安裝啟動引導器的設備”,這里選擇分區(qū)表中EFI引導分區(qū)(300MB)所在的設備,這個設備是分區(qū)表中的第一列,你可以在那里看到剛剛分的各個區(qū)所在的“設備”(實際上都在同一個硬盤上,但由于虛擬磁盤管理,不同的分區(qū)在不同“設備”上)。我的EFI引導分區(qū)在“dev/sdb3”上,那么“安裝啟動引導器的設備”就相應選擇“dev/sdb3”。分區(qū)過程圖可以看這里。

注意

1.?交換空間的大小是根據(jù)機器本身的內存RAM大小決定的,可以根據(jù)實際情況分配。

2.?“安裝啟動引導器的設備”這里的“dev/”后面接的無論是“sda”還是“sdb”,選擇EFI引導分區(qū)對應的設備即可。順帶解釋一下“dev/sda”、“dev/sdb”的問題,這是在有兩塊不同的物理硬盤才會顯示,如果只有一塊硬盤的話,當然只能看見“dev/sda”了。

接下來的地區(qū)選擇、鍵盤布局、用戶名及密碼相對常規(guī),可以自行設置。


1.6 安裝過程中可能出現(xiàn)的情況

這里可能出現(xiàn)的情況可以看我在這里的描述。最初在UEFI的CSM中一直選擇UEFI and Legacy OPROM的兼容模式,經(jīng)常在分區(qū)的安裝步驟前后,不是無法掃描分區(qū)表(進入分區(qū)表時一片空白)導致無法分區(qū),就是分區(qū)完成后安裝程序突然崩潰。最后選擇UEFI only后,安裝才正常進行。

回顧一下。

這里有個印象十分深刻,就是當時也嘗試過Legacy OPROM only的模式進行安裝,在分區(qū)選項中是沒有EFI引導分區(qū)這一選項的,只有“保留的 BIOS 啟動區(qū)域”選項(在UEFI only的模式下EFI引導分區(qū)保留的 BIOS 啟動區(qū)域都有),分區(qū)完成后也正常,但在最后安裝復制文件時報錯,原因應該BIOS安裝往磁盤寫文件時默認磁盤分區(qū)表是MBR,而我的磁盤分區(qū)表是GPT,會導致讀寫出現(xiàn)問題。

另外,在UEFI and Legacy OPROM的兼容模式下安裝,假如分區(qū)步驟給“保留的 BIOS 啟動區(qū)域”分配空間,安裝程序提醒你要給“保留的 BIOS 啟動區(qū)域”分配至少1MB,實際上這是不需要的,采用UEFI引導的安裝,給EFI引導分區(qū)分配空間就足夠了。

所以,再次要提醒,在UEFI的CSM中一定要選擇UEFI only,避免兼容問題。

One more thing. 有時安裝在分區(qū)完成后,安裝程序也可能崩潰,這時你先重啟退出安裝回到Win10下的磁盤管理,可以看到分區(qū)的確是完成了,你可以選擇將這些分區(qū)右鍵->刪除卷,使其變回未分配狀態(tài)。但是,EFI系統(tǒng)分區(qū)是無法以此方式刪除的,可以選擇DiskGenius進行。然后嘗試安裝Ubuntu。


2 顯卡驅動安裝

可以先去 這里確定顯卡驅動的版本,我的是GTX1070。




安裝完成后,重啟進入Ubuntu系統(tǒng),Ctrl+Alt+T打開終端。執(zhí)行順序如下:

sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get update sudo apt-get install nvidia-367 sudo apt-get install mesa-common-dev sudo apt-get install freeglut3-dev sudo reboot

顯卡驅動安裝完成重啟進入Ubuntu系統(tǒng),屏幕分辨率應該顯示正常。

3 CUDA&cuDNN安裝

3.1 CUDA

先到 官網(wǎng)下載Cuda8.0。




下載完成后,打開終端,先進入CUDA安裝程序所在的目錄(cd命令可以跳轉目錄),然后執(zhí)行:

sudo sh cuda_8.0.44_linux.run

首先會出現(xiàn)安裝協(xié)議,按Space向下翻,輸入accpet接受協(xié)議,需要注意的是:

Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 367.**?(y)es/(n)o/(q)uit: n

這里一定要選擇no,否則會導致之前的顯卡驅動被覆蓋。

安裝完成后注意看提示,有問題可以參考這里。(我沒遇到)

在終端配置環(huán)境變量:

nano ~/.bashrc

在最后增加以下兩行:

export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

Ctrl+X 保存并離開,回到終端,讓環(huán)境變量馬上生效:

source ~/.bashrc

3.2?cuDNN

先到官網(wǎng)下載cuDNN v5.1,需要先注冊并做問卷調查,下載中選擇cuDNN v5.1 Library for Linux。




下載完成后,打開終端,先進入cuDNN文件所在的目錄(cd命令可以跳轉目錄),然后執(zhí)行:

tar xvf cudnn-8.0-linux-x64-v5.1.tgz sudo cp cuda/include/cudnn.h /usr/local/cuda/include sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64 sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

終端回到根目錄,輸入命令檢查顯卡配置是否正常:

nvidia-smi


4 Tensorflow源碼安裝

4.1 Bazel安裝配置

由于Tensorflow采取源碼安裝的方式,所以需要Bazel進行編譯,官方教程可以看這里。執(zhí)行順序如下:

sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list curl https://bazel.io/bazel-release.pub.gpg | sudo apt-key add - sudo apt-get update && sudo apt-get install bazel

在“curl https://bazel.io/bazel-release.pub.gpg | sudo apt-key add -”步驟中,可能會由于網(wǎng)絡原因下載較慢,可以直接用瀏覽器打開“https://bazel.io/bazel-release.pub.gpg”進行下載,隨后進入該文件目錄執(zhí)行“sudo apt-key add bazel-release.pub.gpg”。


4.2 Tensorflow源碼配置及編譯

在python2.7下,先要安裝環(huán)境依賴包:

sudo apt-get install python-numpy swig python-dev python-wheel python-pip git

從github上克隆Tensorflow源碼到本地:

git clone https://github.com/tensorflow/tensorflow

切換到最新的r0.11版本(需要先進入保存Tensorflow源碼的目錄):

git checkout r0.11

開始配置(同樣需要先進入保存Tensorflow源碼的目錄):

./configure Please specify the location of python. [Default is /usr/bin/python]: Do you wish to build TensorFlow with Google Cloud Platform support? [y/N] N No Google Cloud Platform support will be enabled for TensorFlow Do you wish to build TensorFlow with Hadoop File System support? [y/N] N No Hadoop File System support will be enabled for TensorFlow Found possible Python library paths:/usr/local/lib/python2.7/dist-packages/usr/lib/python2.7/dist-packages Please input the desired Python library path to use. Default is [/usr/local/lib/python2.7/dist-packages]/usr/local/lib/python2.7/dist-packages Do you wish to build TensorFlow with GPU support? [y/N] y GPU support will be enabled for TensorFlow Please specify which gcc should be used by nvcc as the host compiler. [Default is /usr/bin/gcc]: Please specify the Cuda SDK version you want to use, e.g. 7.0. [Leave empty to use system default]: 8.0 Please specify the location where CUDA 8.0 toolkit is installed. Refer to README.md for more details. [Default is /usr/local/cuda]: Please specify the Cudnn version you want to use. [Leave empty to use system default]: 5 Please specify the location where cuDNN 5 library is installed. Refer to README.md for more details. [Default is /usr/local/cuda]: Please specify a list of comma-separated Cuda compute capabilities you want to build with. You can find the compute capability of your device at: https://developer.nvidia.com/cuda-gpus. Please note that each additional compute capability significantly increases your build time and binary size. [Default is: "3.5,5.2"]: 6.1

注意:最后的“6.1”計算能力是根據(jù)自身顯卡決定的,可以到這里查看。

開始配置后,首先會自動下載一些環(huán)境依賴的包,然后開始配置。

另外,在配置這個步驟,很多教程都說“一定要顯示成功,不能出現(xiàn)error”。我的機器在Tensorflow配置時一些環(huán)境依賴的包無法下載,導致后面Bazel編譯出現(xiàn)問題,所以我決定使用別人編譯好的whl安裝Tensorflow。這里有人可能會有疑惑,解釋一下這個Bazel編譯Tensorflow源碼的意義,編譯源碼成功后,是會生成一個“tensorflow-0.11.0rc0-py2-none-any.whl”的文件,然后通過“sudo pip install tensorflow-0.11.0rc0-py2-none-any.whl”安裝才算完成。

這里有人可能又會問,為什么要這么麻煩編譯源碼生成一個whl去安裝呢?的確,在Tensorflow官方安裝教程里的Pip Installation方式,下載支持GPU的whl然后通過pip安裝就行了,步驟如下:

# Ubuntu/Linux 64-bit sudo apt-get install python-pip python-dev

# Ubuntu/Linux 64-bit, GPU enabled, Python 2.7 # <strong>Requires CUDA toolkit 7.5 and CuDNN v5. For other versions, see "Install from sources" below.</strong> export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.11.0rc0-cp27-none-linux_x86_64.whl

# Python 2 sudo pip install --upgrade $TF_BINARY_URL

可以看到,官方解釋說,這個whl支持的CUDA是7.5版本,而當前CUDA最新版本是8.0才支持10系GPU(也有說法CUDA 7.5也可以支持10系GPU不過需要調整,這個大家自行搜索),因此,通過Bazel編譯Tensorflow源碼生成的whl才可以在安裝后支持10系GPU。

那么回過頭來,別人編譯好的whl安裝Tensorflow,在哪里可以找到呢?可以看這里。在這里要感謝這位博主的分享!

如果你配置成功選擇自行編譯并安裝,可以接下去看4.3;如果想選擇利用別人編譯好的whl安裝Tensorflow,可以跳過4.3從4.4開始。


4.3?編譯Tensorflow源碼并安裝

Tensorflow配置完成后,開始編譯源碼并安裝(注意文件的保存目錄):

bazel build -c opt --config=cuda //tensorflow/tools/pip_package:build_pip_package bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg sudo pip install /tmp/tensorflow_pkg/tensorflow-0.11.0rc0-py2-none-any.whl

至此,整個Tensorflow環(huán)境搭建就已經(jīng)完成,可以跑一下Tensorflow官方的測試代碼。


4.4 使用編譯好的whl安裝Tensorflow

下載whl好后,因為該whl的編譯是在Ubuntu16.04下進行,所以先要將Ubuntu系統(tǒng)升級,這里升級是必須的,如果直接安裝該whl,會報關于“GLib”的錯誤,這是由于編譯環(huán)境造成的。Ubuntu14.04系統(tǒng)升級至Ubuntu16.04命令如下:

sudo update-manager -d

一般來說,該命令需要執(zhí)行兩次,因為第一次執(zhí)行,系統(tǒng)會更新當前14.04版本內的軟件,然后重啟后仍然是14.04版本,這時再次執(zhí)行該命令,就會進行Ubuntu16.04升級。

系統(tǒng)升級完成后,終端執(zhí)行安裝(先進入該whl的保存目錄):

sudo pip install tensorflow-0.11.0rc0-py2-none-any.whl

至此,整個Tensorflow環(huán)境搭建就已經(jīng)完成,可以跑一下Tensorflow官方的測試代碼。


4.5 在Pycharm中使用Tensorflow

由于個人習慣在Pycharm中寫Python代碼,下面說說Tensorflow在Pycharm的配置,終端執(zhí)行:

sudo cp /usr/local/cuda-8.0/lib64/libcudart.so.8.0 /usr/local/lib/libcudart.so.8.0 && sudo ldconfig sudo cp /usr/local/cuda-8.0/lib64/libcublas.so.8.0 /usr/local/lib/libcublas.so.8.0 && sudo ldconfig sudo cp /usr/local/cuda-8.0/lib64/libcurand.so.8.0 /usr/local/lib/libcurand.so.8.0 && sudo ldconfig sudo cp /usr/local/cuda-8.0/lib64/libcufft.so.8.0 /usr/local/lib/libcufft.so.8.0 && sudo ldconfig sudo cp /usr/local/cuda-8.0/lib64/libcudnn.so.5 /usr/local/lib/libcudnn.so.5 && sudo ldconfig

然后以運行/tensorflow/models/image/mnist/convolutional.py為例,顯示下圖說明Tensorflow以GPU的方式運行代碼:




參考教程:

http://jingyan.baidu.com/article/e3c78d6460e6893c4c85f5b1.html

http://www.tensordata.cn/t/ubuntu16-0-4-tensorflow0-11/63













?


總結

以上是生活随笔為你收集整理的Win10下双系统Ubuntu14.04+GTX1070+CUDAcuDNN+Tensorflow环境搭建的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。