一文掌握Windows平臺GPU深度學習開發環境部署
本文已參與「新人創作禮」活動,一起開啟掘金創作之路
這是機器未來的第2篇文章,由機器未來原創
寫在前面:
• 部落格簡介:專注AIoT領域,追逐未來時代的脈搏,記錄路途中的技術成長!
• 專欄簡介:記錄博主從0到1掌握物體檢測工作流的過程,具備自定義物體檢測器的能力
• 面向人群:具備深度學習理論基礎的學生或初級開發者
• 專欄計劃:接下來會逐步釋出跨入人工智慧的系列博文,敬請期待
• Python零基礎快速入門系列
• 快速入門Python資料科學系列
• 人工智慧開發環境搭建系列
• 機器學習系列
• 物體檢測快速入門系列
• 自動駕駛物體檢測系列
• ......
@[toc]
1. 概述
windows GPU深度學習開發環境的安裝包含顯示卡驅動、cuda、cuDNN深度學習加速包、anaconda、tensorflow的安裝以及安裝源的配置,理解了本文,還可以安裝pytorch等其他開發框架。
fengmian
2. GPU工具鏈安裝
2.1 GPU工具鏈的組成
Nvidia顯示卡、顯示卡驅動、cuda工具套件、cuDNN工具包四部分構成。
目前支援深度學習的顯示卡基本上就是N卡,不論是硬體效能,還是最新的論文支援基本上都是N卡,所以不用在這裡糾結了,採購時一定要上N卡。
-
• 什麼是cuda CUDA(ComputeUnified Device Architecture),是顯示卡廠商NVIDIA推出的運算平臺。 CUDA是一種由NVIDIA推出的通用平行計算架構,該架構使GPU能夠解決複雜的計算問題。注意:cuda的支援依賴顯示卡驅動的版本。
-
• 什麼是cuDNN NVIDIA cuDNN是用於深度神經網路的GPU加速庫。它強調效能、易用性和低記憶體開銷。NVIDIA cuDNN可以整合到更高級別的機器學習框架中,如谷歌的Tensorflow、加州大學伯克利分校的流行caffe軟體。簡單的插入式設計可以讓開發人員專注於設計和實現神經網路模型,而不是簡單調整效能,同時還可以在GPU上實現高效能現代平行計算。
-
• CUDA與CUDNN的關係 CUDA看作是一個平行計算架構平臺,cuDNN是基於CUDA的深度學習GPU加速庫,有了它才能在GPU上完成深度學習的計算。想要在CUDA上執行深度神經網路,就要安裝cuDNN,這樣才能使GPU進行深度神經網路的工作,工作速度相較CPU快很多。
2.2 安裝nvidia顯示卡驅動
下載地址:https://www.nvidia.com/download/index.aspx?lang=en-us
2
根據提供的下載連結選擇電腦對應的最新顯示卡驅動安裝即可,這裡需要記錄一下顯示卡驅動的版本,安裝cuda要用,我這臺老電腦顯示卡驅動的檔名為425.31-notebook-win10-64bit-international-whql.exe,版本是425.31。
2.3 安裝cuda-通用平行計算架構平臺
-
• 查詢顯示卡可支援的cuda版本
-
• https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
根據上一個步驟下載的顯示卡驅動的版本,選擇可支援的最新cuda toolkit版本,從上圖中可以看到支援425.31驅動版本的cuda toolkit版本是CUDA 10.1 (10.1.105 general release, and updates) ,因此選擇下載cuda10.1的版本。
-
• 顯示卡驅動cuda版本對照表
-
• 安裝cuda
-
• https://developer.nvidia.com/cuda-toolkit-archive
-
• cuda下載地址:
-
• 下載最新版本的cuda10.1
4
-
• 選擇配置
3
-
• 下載完成後,檔名為cuda_10.1.243_426.00_win10.exe,雙擊一直下一步安裝即可, 預設安裝路徑為C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1。
2.4 安裝cuDNN-深度學習GPU加速庫
-
• cuDNN下載地址(需要註冊)
-
• https://developer.nvidia.com/rdp/cudnn-archive
-
• cuDNN版本的選擇 以tensorflow常見cuda和cuDNN搭配為主。
11
12
下載的cuda版本為10.1版本,從列表中查詢支援cuda10.1的最新的cuDNN版本是cuDNN7.6.5,下載後的cuDNN檔案為cudnn-10.1-windows10-x64-v7.6.5.32.zip
-
• 安裝cuDNN
-
• 將下載的cudnn-10.1-windows10-x64-v7.6.5.32.zip解壓,然後將解壓後cuda資料夾下的檔案或資料夾,完全拷貝到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1目錄下即可。
6
2.5 測試GPU環境
- • 命令提示行輸入
nvidia-smi
查詢GPU使用情況和更改GPU狀態的功能
``` PS C:\Users\zhoushimin> nvidia-smi Mon Apr 04 22:00:37 2022 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 426.00 Driver Version: 426.00 CUDA Version: 10.1 | |-------------------------------+----------------------+----------------------+ | GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce GT 650M WDDM | 00000000:01:00.0 N/A | N/A | | N/A 36C P0 N/A / N/A | 40MiB / 2048MiB | N/A Default | +-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | 0 Not Supported | +-----------------------------------------------------------------------------+ ```
如果提示'nvidia-smi' 不是內部或外部命令,也不是可執行的程式,則可能環境變數沒有配置好,需要將 C:\Program Files\NVIDIA Corporation\NVSMI 目錄新增到系統環境變數中關閉命令提示符,重新開啟輸入 nvidia-smi
就可以看到上面的輸出結果了。
7
- • 檢視cuda版本 輸入
nvcc -V
檢視cuda版本
PS C:\Users\zhoushimin> nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2019 NVIDIA Corporation
Built on Sun_Jul_28_19:12:52_Pacific_Daylight_Time_2019
Cuda compilation tools, release 10.1, V10.1.243
可以看到cuda版本為10.1
- • 檢視cuDNN版本 輸入如下命令檢視
type "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\include\cudnn.h" | less
按回車鍵,直到輸出結果如下:
```
ifndef CUDNN_VERSION_H_
define CUDNN_VERSION_H_
define CUDNN_MAJOR 7
define CUDNN_MINOR 6
define CUDNN_PATCHLEVEL 5
define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
endif / CUDNN_VERSION_H /
```
可知cuDNN的版本為7.6.5
如果找不到相關資訊,可以使用如下命令測試
type "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\include\cudnn_version.h" | less
3. 安裝Anaconda
3.1 概述
Anaconda,中文大蟒蛇,是一個開源的Python發行版本,其包含了conda、Python等180多個科學包及其依賴項。其簡化了python軟體包的安裝,並且自動關聯依賴,自動下載依賴的軟體包,避免不必要的衝突,另外,anaconda最重要的功能就是建立虛擬環境,實現各種專案開發框架及版本的隔離。
3.2 下載anaconda
Anaconda的官方下載速度較慢,推薦使用清華大學的源下載,儘量選擇日期較新的版本,根據作業系統版本選擇對應的版本。
-
• 官方下載地址:https://www.anaconda.com/
-
• 國內下載地址:
-
• 清華大學 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
8
3.3 安裝Anaconda
注意事項:不要有中文路徑,安裝過程無腦下一步即可。 安裝完畢之後,python、pip等軟體均已安裝完畢。
3.4 測試Anaconda
在命令提示符輸入conda -V
檢視conda版本,以確認conda環境是否生效。
PS C:\Users\zhoushimin> conda -V
conda 4.10.3
3.5 配置Anaconda
由於Anaconda官方伺服器在國外,安裝python軟體包時下載速度巨慢,因此需要配置國內安裝源,在這裡使用清華大學的第三方源。
-
• 首先找到配置檔案【.condarc】,其在C盤使用者目錄下,如圖:
9
如果不存在,則直接建立即可。
-
• 開啟檔案後,將以下內容拷貝到檔案中
channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
- • 清除索引快取 在命令列執行命令
conda clean -i
- • 建立虛擬環境測試下載速度
conda create -n myenv numpy
測試時會發現下載包的速度槓槓的,測試完畢後,刪除myenv虛擬環境
conda remove -n myenv --all
- • 恢復官方安裝源 如果使用第三方源出現問題,可以恢復官方安裝源重試,恢復指令如下:
conda config --remove-key channels
4. 配置pip國內安裝源
使用pip安裝軟體包時,有些安裝包下載速度特別慢,可以選擇國內的安裝源。
4.1 安裝源列表
以下安裝源可以選擇:
```
清華大學
https://pypi.tuna.tsinghua.edu.cn/simple/
阿里雲
http://mirrors.aliyun.com/pypi/simple/
中國科技大學
https://pypi.mirrors.ustc.edu.cn/simple ```
4.2 安裝源的使用方式
4.2.1 臨時使用
以安裝tensorflow使用阿里雲安裝源為例,在-i後面指定安裝源即可
pip install tensorflow_gpu==2.3 -i http://mirrors.aliyun.com/pypi/simple/
4.2.2 永久使用
做如下配置後,無需再使用-i選項
pip install pip -U #升級 pip 到最新的版本後進行配置:
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
4.2.3 恢復官方安裝源
如果安裝源出現異常,恢復官方安裝源的方式如下:
pip config unset global.index-url`
5. 安裝tensorflow
5.1 建立tensorflow虛擬環境
為了隔離不同專案可能對應的不同tensorflow版本或pytorch或python版本,強烈建議使用conda建立不同的虛擬環境以實現各種不同的開發環境的隔離。
我們需要根據開發框架、cuda版本等資訊綜合選擇合適的開發環境,強烈不建議自行搭建開發環境適配開源框架,你會懷疑人生,時間週期可能是星期級別!
5.1.1 檢視開源框架支援的python和tensorflow版本
博主的需求是安裝物體檢測API[OBJECT DETECTION API],根據專案的最低配置可以瞭解到支援的是tensorflow-2.2 python3.6
10
5.1.2 檢視cuda可支援的tensorflow版本
- 檢視cuda、tensorflow對照關係表
- [經過測試的構建配置](https://tensorflow.google.cn/install/source?hl=zh-cn#gpu)

5.1.3 根據開源框架支援的tensorflow版本、cuda版本,選擇tensorflow-2.2,python-3.6,根據這些資訊建立虛擬環境
conda create -n [env_name] python=[python version]
詳細命令如下:
conda create -n tensorflow-2.2-py36 python=3.6
輸出如下:
``` PS C:\Users\zhoushimin> conda create -n tensorflow-2.2-py36 python=3.6 Collecting package metadata (repodata.json): done Solving environment: done
==> WARNING: A newer version of conda exists. <== current version: 4.10.3 latest version: 4.12.0
Please update conda by running
$ conda update -n base -c defaults conda
Package Plan
environment location: D:\Tools\Anaconda3\envs\tensorflow-2.2-py36
added / updated specs: - python=3.6
The following packages will be downloaded:
package | build ---------------------------|----------------- certifi-2021.5.30 | py36haa95532_0 142 KB defaults pip-21.2.2 | py36haa95532_0 2.1 MB defaults python-3.6.13 | h3758d61_0 17.7 MB defaults setuptools-58.0.4 | py36haa95532_0 976 KB defaults wincertstore-0.2 | py36h7fe50ca_0 13 KB defaults
Total: 20.9 MB
The following NEW packages will be INSTALLED:
certifi anaconda/pkgs/main/win-64::certifi-2021.5.30-py36haa95532_0 pip anaconda/pkgs/main/win-64::pip-21.2.2-py36haa95532_0 python anaconda/pkgs/main/win-64::python-3.6.13-h3758d61_0 setuptools anaconda/pkgs/main/win-64::setuptools-58.0.4-py36haa95532_0 sqlite anaconda/pkgs/main/win-64::sqlite-3.38.2-h2bbff1b_0 vc anaconda/pkgs/main/win-64::vc-14.2-h21ff451_1 vs2015_runtime anaconda/pkgs/main/win-64::vs2015_runtime-14.27.29016-h5e58377_2 wheel anaconda/pkgs/main/noarch::wheel-0.37.1-pyhd3eb1b0_0 wincertstore anaconda/pkgs/main/win-64::wincertstore-0.2-py36h7fe50ca_0
Proceed ([y]/n)? y ```
等待執行完畢。
5.2 切換至虛擬環境,安裝tensorflow
- • 切換至虛擬環境
conda activate tensorflow-2.2-py36
- • 安裝tensorflow
pip install tensorflow==2.2.0
- • 安裝完畢後的輸出如下
Successfully built termcolor
Installing collected packages: urllib3, pyasn1, idna, charset-normalizer, zipp, typing-extensions, six, rsa, requests, pyasn1-modules, oauthlib, cachetools, requests-oauthlib, importlib-metadata, google-auth, dataclasses, werkzeug, tensorboard-plugin-wit, protobuf, numpy, markdown, grpcio, google-auth-oauthlib, absl-py, wrapt, termcolor, tensorflow-estimator, tensorboard, scipy, opt-einsum, keras-preprocessing, h5py, google-pasta, gast, astunparse, tensorflow
Successfully installed absl-py-1.0.0 astunparse-1.6.3 cachetools-4.2.4 charset-normalizer-2.0.12 dataclasses-0.8 gast-0.3.3 google-auth-1.35.0 google-auth-oauthlib-0.4.6 google-pasta-0.2.0 grpcio-1.44.0 h5py-2.10.0 idna-3.3 importlib-metadata-4.8.3 keras-preprocessing-1.1.2 markdown-3.3.6 numpy-1.19.5 oauthlib-3.2.0 opt-einsum-3.3.0 protobuf-3.19.4 pyasn1-0.4.8 pyasn1-modules-0.2.8 requests-2.27.1 requests-oauthlib-1.3.1 rsa-4.8 scipy-1.4.1 six-1.16.0 tensorboard-2.2.2 tensorboard-plugin-wit-1.8.1 tensorflow-2.2.0 tensorflow-estimator-2.2.0 termcolor-1.1.0 typing-extensions-4.1.1 urllib3-1.26.9 werkzeug-2.0.3 wrapt-1.14.0 zipp-3.6.0
5.3 測試tensorflow gpu環境
建立gpu_tf_test.py,拷貝如下程式碼:
``` import numpy as np import tensorflow as tf from tensorflow import keras from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense from tensorflow.keras.optimizers import SGD
import time
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
session = tf.Session(config=config)
啟用GPU
from tensorflow.compat.v1 import ConfigProto# tf 2.x的寫法 config =ConfigProto() config.gpu_options.per_process_gpu_memory_fraction=0.9 tf.compat.v1.Session(config=config)
構建資料集
X_data = np.linspace(-1,1,1000)[:, np.newaxis] noise = np.random.normal(0,0.05,X_data.shape) y_data = np.square(X_data) + noise + 0.5
print("shape") print(X_data.shape)
構建神經網路
model = Sequential() model.add(Dense(10, input_shape=(1,), kernel_initializer='normal', activation='relu'))
model.add(Dense(5, activation='relu'))
vs 分類為softmax啟用
model.add(Dense(10000, kernel_initializer='normal')) model.add(Dense(10000, kernel_initializer='normal')) model.add(Dense(100, kernel_initializer='normal')) model.add(Dense(1, kernel_initializer='normal'))
sgd = SGD(lr=0.001)
model.compile(loss='mean_squared_error', optimizer="sgd") #adam
訓練 epoch = 10, 30, 50, view the results
start = time.time() model.fit(X_data, y_data, epochs=50, batch_size=16, verbose=1) end = time.time()
在原資料上預測
y_predict=model.predict(X_data)
print(y_predict)
model.summary()
print("training time {}".format(end - start))
```
執行測試
```
切換至虛擬環境
conda activate tensorflow-2.2-py36
執行測試
python gpu_tf_test.py ```
輸出如下:
(tensorflow-2.2-py36) C:\Users\zhoushimin\Desktop>python gpu_test.py
2022-04-05 00:24:35.790114: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_101.dll
2022-04-05 00:24:39.180693: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x211ab3407a0 initialized for platform Host (this does not guarantee
that XLA will be used). Devices:
2022-04-05 00:24:39.181152: I tensorflow/compiler/xla/service/service.cc:176] StreamExecutor device (0): Host, Default Version
2022-04-05 00:24:39.185023: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library nvcuda.dll
2022-04-05 00:24:39.957288: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1561] Found device 0 with properties:
pciBusID: 0000:01:00.0 name: GeForce GT 650M computeCapability: 3.0
coreClock: 0.835GHz coreCount: 2 deviceMemorySize: 2.00GiB deviceMemoryBandwidth: 59.60GiB/s
2022-04-05 00:24:39.958038: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_101.dll
2022-04-05 00:24:39.965471: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cublas64_10.dll
2022-04-05 00:24:39.972214: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cufft64_10.dll
2022-04-05 00:24:39.975560: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library curand64_10.dll
2022-04-05 00:24:39.985029: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cusolver64_10.dll
2022-04-05 00:24:39.989813: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cusparse64_10.dll
2022-04-05 00:24:40.014427: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudnn64_7.dll
2022-04-05 00:24:40.016214: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1657] Ignoring visible gpu device (device: 0, name: GeForce GT 650M, pci bus id: 0000:01:00.0, compute capability: 3.0) with Cuda compute capability 3.0. The minimum required Cuda capability is 3.5.
2022-04-05 00:24:40.063972: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1102] Device interconnect StreamExecutor with strength 1 edge matrix:
2022-04-05 00:24:40.064381: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1108] 0
2022-04-05 00:24:40.064707: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1121] 0: N
2022-04-05 00:24:40.068691: I tensorflow/compiler/xla/service/platform_util.cc:139] StreamExecutor cuda device (0) is of insufficient compute capability: 3.5 required, device is 3.0
2022-04-05 00:24:40.069704: I tensorflow/compiler/jit/xla_gpu_device.cc:161] Ignoring visible XLA_GPU_JIT device. Device number is 0, reason: Internal: no supported devices found for platform CUDA
shape
(1000, 1)
2022-04-05 00:24:40.099506: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1561] Found device 0 with properties:
pciBusID: 0000:01:00.0 name: GeForce GT 650M computeCapability: 3.0
coreClock: 0.835GHz coreCount: 2 deviceMemorySize: 2.00GiB deviceMemoryBandwidth: 59.60GiB/s
2022-04-05 00:24:40.100197: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudart64_101.dll
2022-04-05 00:24:40.100541: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cublas64_10.dll
2022-04-05 00:24:40.100821: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cufft64_10.dll
2022-04-05 00:24:40.101140: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library curand64_10.dll
2022-04-05 00:24:40.101432: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cusolver64_10.dll
2022-04-05 00:24:40.101674: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cusparse64_10.dll
2022-04-05 00:24:40.101915: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Successfully opened dynamic library cudnn64_7.dll
2022-04-05 00:24:40.103257: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1657] Ignoring visible gpu device (device: 0, name: GeForce GT 650M, pci bus id: 0000:01:00.0, compute capability: 3.0) with Cuda compute capability 3.0. The minimum required Cuda capability is 3.5.
2022-04-05 00:24:40.104045: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1102] Device interconnect StreamExecutor with strength 1 edge matrix:
2022-04-05 00:24:40.104239: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1108]
2022-04-05 00:24:40.139180: W tensorflow/core/framework/cpu_allocator_impl.cc:81] Allocation of 400000000 exceeds 10% of free system memory.
2022-04-05 00:24:41.717374: W tensorflow/core/framework/cpu_allocator_impl.cc:81] Allocation of 400000000 exceeds 10% of free system memory.
2022-04-05 00:24:41.799759: W tensorflow/core/framework/cpu_allocator_impl.cc:81] Allocation of 400000000 exceeds 10% of free system memory.
Epoch 1/50
2022-04-05 00:24:42.666531: W tensorflow/core/framework/cpu_allocator_impl.cc:81] Allocation of 400000000 exceeds 10% of free system memory.
2022-04-05 00:24:42.841301: W tensorflow/core/framework/cpu_allocator_impl.cc:81] Allocation of 400000000 exceeds 10% of free system memory.
63/63 [==============================] - 36s 567ms/step - loss: 0.2708
Epoch 2/50
63/63 [==============================] - 35s 559ms/step - loss: 0.0703
Epoch 3/50
63/63 [==============================] - 39s 614ms/step - loss: 0.0350
Epoch 4/50
63/63 [==============================] - 41s 643ms/step - loss: 0.0140
Epoch 5/50
63/63 [==============================] - 41s 650ms/step - loss: 0.0144
Epoch 6/50
30/63 [=============>................] - ETA: 21s - loss: 0.0091
從日誌中可以看到顯示卡GeForce GT 650M已經載入成功了,cuda也載入成功了,因為GPU效能較弱,僅3.0,不滿足最小要求3.5,直接使用的cpu在執行。
6. 總結
總體來說,深度學習安裝環境的安裝還是比較麻煩的,涉及到
-
• 顯示卡支援的cuda版本確定
-
• 依賴新卡驅動版本號
-
• cuDNN版本的確認
-
• 依賴cuda版本和開發框架匹配的cuDNN版本
-
• python版本的確認等
-
• 依賴開源專案支援的版本
一般來說,一個專案一個環境,避免環境衝突。一個專案一個環境可以通過anaconda來實現,也可以使用docker來實現隔離。有一些框架在windows平臺支援不好,例如目標檢測框架MMDetection,儘可能還是使用linux環境來做開發。
以上是我的學習總結,有問題歡迎交流。
參考連結:
- • CUDA與cuDNN:https://www.jianshu.com/p/622f47f94784
推薦閱讀:
- 物體檢測快速入門系列(1)-Windows部署GPU深度學習開發環境
- 物體檢測快速入門系列(2)-Windows部署Docker GPU深度學習開發環境
- 物體檢測快速入門系列(3)-TensorFlow 2.x Object Detection API快速安裝手冊
- 物體檢測快速入門系列(4)-基於Tensorflow2.x Object Detection API構建自定義物體檢測器
- 可以在硬幣邊緣行走,陸地上最小的螃蟹機器人問世,未來可用於微創手術
- 華創資本陳歡:未來20年,智慧製造行業將加速“機器替人”
- 浪漫的資料容器:成雙雙對之字典
- 協作機器人對未來製造業的深遠影響
- 一文掌握物體檢測庫TensorFlow 2.x Object Detection安裝
- 一文掌握Windows平臺GPU深度學習開發環境部署
- 基於Tensorflow2.x Object Detection API構建自定義物體檢測器
- AMD機器人入門套件開啟未來智慧工廠
- 現在的你可能無法想象,未來合成生物學與人工智慧會對世界產生哪些影響
- 非自迴歸生成研究最新綜述,近200篇文獻揭示挑戰和未來方向
- 機器學習的未來,真的能技術民主化嗎?
- 周志華:“資料、演算法、算力” 人工智慧三要素,在未來要加上“知識”!
- 向未來飛馳:智慧決策為工業智慧化按下加速鍵
- 飛算soflu軟體機器人-低程式碼的未來
- RPA賽道大熱,正在量產你未來的機器人同事
- 未來機器人:突破無人叉車的深水區場景壁壘
- 百分點感知智慧實驗室:聲紋識別技術發展及未來趨勢研究
- 馬雲預言將要實現?未來20年,50%工作逐漸消失,你是否在其中呢
- 清華大學孫茂松:自然語言處理一瞥,知往鑑今瞻未來
- 亞馬遜雲科技持續賦能創業,助力創造「她未來」