tensorflow gpu windows配置步驟教學

本文主要針對在windows10環境下的tensorflow配置問題,在linux和mac等其他環境中的配置就不過多贅述(windows總是那個問題最多的環境,建議使用linux 😃)。

本文中配置的環境為 python 3.8.5 tensorflow-gpu 2.4.1

1. 更新nvidia顯卡驅動至最新

測試用顯卡為 RTX 2070,如果不確定自己的顯卡是否適配,可以登錄nvidia官網進行查詢。

2. 下載cuda 11.0

[cuda 11.0 下載地址]
注意適配tensorflow 2.4 版本的cuda 一定是11.0,而不是11.1,11.2或者其他版本,下載其他版本的cuda會導致庫缺失的問題。
cuda的默認安裝路徑為 C:\Program Files\NVIDIA GPU Computing Toolkit

3. 下載cudnn 8.0.4用于適配TF 2.4 以及cuda 11.0

[cudnn 8.0.4 下載地址]
下載完畢cudnn后解壓,分別將子文件夾 bin,include,lib/x64中的文件拷貝至cuda/v11.0 對應的同名文件夾中。

4. 使用anaconda為tensorflow-gpu 配置一個python環境

# 創建一個名稱為 tf 版本為3.8.5的anaconda python環境
conda create -c conda-forge python=3.8.5 -n tf
conda activate tf

安裝版本為2.4.1的tensorflow-gpu

pip install tensorflow-gpu==2.4.1

5. 常見問題

1.

 Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.dll not found

這個問題一般是由于cuda版本與tensorflow gpu不兼容導致的,如果沒有使用tensorflow2.4而是使用了舊版的tensorflow。可以參考下表重新下載對應的cuda配件。多個cuda版本是不會互相影響的,因此不用擔心cuda文件夾中存在多個不同的版本。
遇見這個報錯一定不要僅僅只復制了這個dll配置文件到指定文件夾,這會導致隱形bug,tensorflow會在進入feed數據階段時停止。
在這里插入圖片描述

2. 測試環境

用于識別目前available的gpu的個數。

print("Num GPUs Available: ", len(tf.config.list_physical_devices('GPU')))

確認所有的庫都可以成功打開且可用gpu個數不為0即可宣告配置完成。

2021-03-15 15:12:17.673193: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudart64_110.dll
2021-03-15 15:12:17.691692: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublas64_11.dll
2021-03-15 15:12:17.698596: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cublasLt64_11.dll
2021-03-15 15:12:17.711218: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cufft64_10.dll
2021-03-15 15:12:17.720665: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library curand64_10.dll
2021-03-15 15:12:17.735681: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusolver64_10.dll
2021-03-15 15:12:17.746699: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cusparse64_11.dll
2021-03-15 15:12:17.754405: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library cudnn64_8.dll
2021-03-15 15:12:17.759877: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1862] Adding visible gpu devices: 0
Num GPUs Available:  1

其他的anaconda中配置環境的代碼可以參考下文 :
[Anaconda安裝tensorflow報錯問題解決方法]

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/386816.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/386816.shtml
英文地址,請注明出處:http://en.pswp.cn/news/386816.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

numpy一維數組永遠為列向量

import numpy as np a np.array([1,3,4,5]) print(a.shape) a np.transpose(a) print(a.shape) print(a)a np.ravel(a) print(a.shape) print(a)a a.reshape((1,4)) print(a.shape)輸出如下 (4,) (4,) [1 3 4 5] (4,) [1 3 4 5] (1, 4)我們會發現,對于一維的數…

【BJOI 2019】奧術神杖

題意 你有一個長度為 $n$ 的模板串(由 $0-9$ 這 $10$ 個數字和通配符 $.$ 組成),還有 $m$ 個匹配串(只由 $0-9$ 這 $10$ 個數字組成),每個匹配串有一個魔力值 $v_i$。你要把模板串的每個 $.$ 都換成一個數字…

keras模型中的默認初始化權重

權重的初始化,決定了模型訓練的起點。一個良好的初始化可以加快訓練過程,同時避免模型收斂至局部最小值。為了在訓練過程中避免使得權重的變化總沿著同一個方向,我們盡量避免將所有權重都初始化為同一個值,如全0矩陣或全1矩陣。 …

java oracle的枚舉錯誤

public enum OracleErrorTypeEnum implements BaseEnum {ORA00001("ORA-00001","不允許有重復的數據"),ORA00017("ORA-00017","請求會話以設置跟蹤事件"),ORA00018("ORA-00018","超出最大會話數"),ORA00019(&quo…

C# 篇基礎知識10——多線程

1.線程的概念 單核CPU的計算機中,一個時刻只能執行一條指令,操作系統以“時間片輪轉”的方式實現多個程序“同時”運行。操作系統以進程(Process)的方式運行應用程序,進程不但包括應用程序的指令流,也包括運…

keras中mean square error均方誤差理解

機器學習中,針對不同的問題選用不同的損失函數非常重要,而均方誤差就是最基本,也是在解決回歸問題時最常用的損失函數。本文就keras模塊均方誤差的計算梳理了一些細節。 首先看一下均方誤差的數學定義 : 均方誤差是預測向量與真實向量差值的…

Java并發Semaphore信號量的學習

public class MyThreadTest {private final static Semaphore semaphore new Semaphore(2);// 設置2個車位public static void main(String[] args) {System.out.println("start");p(semaphore, true, 1);p(semaphore, false, 2);p(semaphore, false, 3);p(semaphor…

快速理解binary cross entropy 二元交叉熵

Binary cross entropy 二元交叉熵是二分類問題中常用的一個Loss損失函數,在常見的機器學習模塊中都有實現。本文就二元交叉熵這個損失函數的原理,簡單地進行解釋。 首先是二元交叉熵的公式 : Loss?1N∑i1Nyi?log?(p(yi))(1?yi)?log(1?p(yi))Loss …

Docker搭建自己的GitLab

Docker搭建自己的GitLab docker 介紹 **GitLab: ** GitLab 是一個用于倉庫管理系統的開源項目,使用Git作為代碼管理工具,并在此基礎上搭建起來的web服務 **Docker: ** Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴…

kolla-ansible-----常用命令

常用命令 kolla-ansible prechecks -i multinode #部署前環境檢測 kolla-genpwd #生成/etc/kolla/password.yml密碼配置文件 kolla-ansible post-deploy -i multinode #生成認證文件 kolla-ansible mariadb_recovery -i /opt/mutinode #恢復數據庫 kolla-ansible -i multi…

python numpy 分離與合并復數矩陣實部虛部的方法

在進行數字信號處理的過程中,我們往往有對短時傅里葉變換頻譜(spectrogram)進行分析的需求。常見的分析手段對應歐拉公式分為兩種,要么使用模與相位的形式,要么使用實部虛部。本文分享一個簡單的將復數光譜圖分解為實部與虛部以及將兩個部分重…

flowable 任務節點多實例使用

我們在使用Flowable 工作流引擎的時候,最常用的肯定是任務節點,因為在OA系統、審批系統、辦公自動化系統中核心的處理就是流程的運轉,在流程運轉的時候,可能我們有這樣的一個需求,在一個任務節點的時候,我們…

LeetCode Range Sum Query Immutable

2131231轉載于:https://www.cnblogs.com/ZHONGZHENHUA/p/10873807.html

如何使用python導入mat格式的數據并整理

mat格式是一般而言的matlab數據的存儲格式,對于經常要混用matlab和python的數據處理相關的問題,我們往往需要將matlab中的數據導入至python,本文給出了相關的方法。 from scipy.io import loadmat import numpy as npdict_mat loadmat(&quo…

Java靜態類使用 使用 service

Springboot中如果希望在Utils工具類中,使用到我們已經定義過的Dao層或者Service層Bean,可以如下編寫Utils類: 1. 使用Component注解標記工具類StatisticsUtils: 2. 使用Autowired(Autowired和Resource的區別不再介紹)注入我們需…

Codeforces 1144D Deduction Queries 并查集

Deduction Queries 用并查集維護前綴的關系&#xff0c; 在同一個聯通塊內兩兩之間的異或值都是已知的。 每個點再維護一個和它當前父親的異或值&#xff0c; 壓縮路徑的時候更新一下就好了。 #include<bits/stdc.h> #define LL long long #define LD long double #defin…

python一步將npy數據保存成mat

import scipy.io as io io.savemat("dataname.mat", {data: npy_data})使用scipy庫中的io模塊&#xff0c;只需一步就可以將npy矩陣保存為mat格式文件&#xff0c;第一個參數是保存路徑&#xff0c;第二個參數需要輸入一個字典&#xff0c;data鍵對應需要保存的數據。…

docker oracle 11g

話不多說 開始記錄docker拉取阿里的oracle11g 鏡像并進行配置&#xff0c; 用pl/sql 可以登錄為最終結果 navicat連接是在最后一步 這是我們所需要進行拉取oracle鏡像的樓主所給出的說明 參考&#xff1a;https://blog.csdn.net/zwx521515/article/details/77982884 但是根…

Linux的目錄結構

Linux文件系統是呈樹形結構&#xff0c;了解Linux文件系統的目錄結構&#xff0c;對于我們駕馭Linux還是有必要的。 目錄 說明 / Linux文件系統的入口&#xff0c;也是處于最高一級的目錄 /bin 基本系統所需要的命令。功能和/usr/bin類似&#xff0c;這個目錄中的文件都是…

npy一維數組如何對給出的索引進行反選

本文主要解釋了如何根據給定的索引對一維數組進行反選的操作。 以下文數據為例 import numpy as np data np.array([ 0.93825827, 0.26701143, 0.99121108, 0.35582816, 0.90154837, 0.86254049, 0.83149103, 0.42222948, 0.27309625, 0.38925281] )如果我們給定一個閾值…