溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

在gpu神經(jīng)網(wǎng)絡(luò)中使用tensorflow-cpu時出現(xiàn)報錯如何解決

發(fā)布時間:2021-03-03 15:58:20 來源:億速云 閱讀:404 作者:Leah 欄目:開發(fā)技術(shù)

在gpu神經(jīng)網(wǎng)絡(luò)中使用tensorflow-cpu時出現(xiàn)報錯如何解決?針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

錯誤如下:

在gpu神經(jīng)網(wǎng)絡(luò)中使用tensorflow-cpu時出現(xiàn)報錯如何解決

大概意思是沒找到一些節(jié)點。

后來發(fā)現(xiàn)原因,用gpu和cpu保存的pb模型不太一樣,但是checkpoints文件是通用的。

使用tensorflow-cpu再把checkpoints文件重新轉(zhuǎn)換一下pb文件就可以了。

補充:tensflow-gpu版的無數(shù)坑坑坑!(tf坑大總結(jié))

自己的小本本,之前預(yù)裝有的pycharm+win10+anaconda3+python3的環(huán)境

2019/3/24重新安裝發(fā)現(xiàn):目前CUDA10.1安裝不了tensorflow1.13,把CUDA改為10.0即可(記得對應(yīng)的cudann呀)

如果剛?cè)肟?,建議先用tensorflw學(xué)會先跑幾個demo,等什么時候接受不了cpu這烏龜般的速度之時,就要開始嘗試讓gpu來跑了。

cpu跑tensorflow只需要在anaconda3下載。

安裝cpu跑的tensorflow:

我的小本本目前已經(jīng)是gpu版本,cpu版本下紅圈里那個版本就好了!

在gpu神經(jīng)網(wǎng)絡(luò)中使用tensorflow-cpu時出現(xiàn)報錯如何解決

安裝好了后直接在python命令中輸入

import tensorflow as tf

如果不報錯說明調(diào)用成功。

查看目前tensorflow調(diào)用的是cpu還是gpu運行:

import tensorflow as tf
import numpy as np
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
print(sess.run(c))

然后把這段代碼粘貼到編譯器中運行,

看一下運行的結(jié)果中,調(diào)用運行的是什么

在gpu神經(jīng)網(wǎng)絡(luò)中使用tensorflow-cpu時出現(xiàn)報錯如何解決

看給出的是gpu還是cpu就能判斷目前運行的是哪一個了

安裝gpu版本的tensorflow:

首先第一步要確定你的顯卡是否為N卡,

然后上https://developer.nvidia.com/cuda-gpus去看看你的顯卡是否被NVDIA允許跑機器學(xué)習(xí)

在gpu神經(jīng)網(wǎng)絡(luò)中使用tensorflow-cpu時出現(xiàn)報錯如何解決

對于CUDA與cudann的安裝:

需要到nvdia下載CUDA與cudann,這里最重要的是注意CUDA與cudann與tensorflow三者的搭配,

注意版本的搭配?。。?/strong>

注意版本的搭配?。?!

注意版本的搭配?。?!

tensorflow在1.5版本以后才支持9.0以上的CUDA,所以如果CUDA版本過高,會造成找不到文件的錯誤。

在官網(wǎng)也可以看到CUDA搭配的cudann

在gpu神經(jīng)網(wǎng)絡(luò)中使用tensorflow-cpu時出現(xiàn)報錯如何解決

在安裝完了cudann時,需要把其三個文件復(fù)制到CUDA的目錄下,并且添加3個新的path:

在gpu神經(jīng)網(wǎng)絡(luò)中使用tensorflow-cpu時出現(xiàn)報錯如何解決

3個path,

在gpu神經(jīng)網(wǎng)絡(luò)中使用tensorflow-cpu時出現(xiàn)報錯如何解決

當(dāng)使用gpu版的tf時,就不再需要安裝原來版本的tf,卸載了就好,安裝tf-gpu版,

判斷自己是否有安裝tf包,對于pycharm用戶,可以在setting那看看是否安裝了tf-gpu

在gpu神經(jīng)網(wǎng)絡(luò)中使用tensorflow-cpu時出現(xiàn)報錯如何解決

我使用的環(huán)境為:tf1.2+CUDA8.0+cudann5.1

當(dāng)全部正確安裝時

import tensorflow as tf 仍然出錯

cudnn64_6.dll問題

關(guān)于導(dǎo)入TensorFlow找不到cudnn64_6.dll,其實下載的的是cudnn64_7.dll(版本不符合),把其修改過來就行了。

目錄是在:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin下

對于不斷嘗試扔失敗運行GPU版本,可以把tf先刪除了重新下

import tensorflow as tf
print(tf.__version__)

查詢tensorflow安裝路徑為:

print(tf.__path__)

成功用GPU運行但運行自己的代碼仍然報錯:

如果報錯原因是這個

ResourceExhaustedError (see above for traceback): OOM when allocating tensor with shape[10000,28,28,32]

最后關(guān)于這個報錯是因為GPU的顯存不夠,此時你可以看看你的代碼,是訓(xùn)練集加載過多還是測試集加載過多,將它一次只加載一部分即可。

對于訓(xùn)練集banch_xs,banch_ys = mnist.train.next_batch(1000) 改為

banch_xs,banch_ys = mnist.train.next_batch(100)即可,

而測試集呢print(compute_accuracy(mnist.test.images[:5000], mnist.test.labels[:5000])) 改為

print(compute_accuracy(mnist.test.images, mnist.test.labels))即可

關(guān)于在gpu神經(jīng)網(wǎng)絡(luò)中使用tensorflow-cpu時出現(xiàn)報錯如何解決問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI