主頁(yè) > 知識(shí)庫(kù) > 用gpu訓(xùn)練好的神經(jīng)網(wǎng)絡(luò),用tensorflow-cpu跑出錯(cuò)的原因及解決方案

用gpu訓(xùn)練好的神經(jīng)網(wǎng)絡(luò),用tensorflow-cpu跑出錯(cuò)的原因及解決方案

熱門標(biāo)簽:qt百度地圖標(biāo)注 正安縣地圖標(biāo)注app 遼寧智能外呼系統(tǒng)需要多少錢 螳螂科技外呼系統(tǒng)怎么用 舉辦過(guò)冬奧會(huì)的城市地圖標(biāo)注 400電話申請(qǐng)資格 地圖地圖標(biāo)注有嘆號(hào) 電銷機(jī)器人系統(tǒng)廠家鄭州 阿里電話機(jī)器人對(duì)話

訓(xùn)練的時(shí)候當(dāng)然用gpu,速度快呀。

我想用cpu版的tensorflow跑一下,結(jié)果報(bào)錯(cuò),這個(gè)錯(cuò)誤不太容易看懂。

大概意思是沒(méi)找到一些節(jié)點(diǎn)。

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

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

完美解決!

補(bǔ)充:tensflow-gpu版的無(wú)數(shù)坑坑坑?。╰f坑大總結(jié))

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

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

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

cpu跑tensorflow只需要在anaconda3下載。

安裝cpu跑的tensorflow:

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

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

import tensorflow as tf

如果不報(bào)錯(cuò)說(shuō)明調(diào)用成功。

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

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))

然后把這段代碼粘貼到編譯器中運(yùn)行,

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

看給出的是gpu還是cpu就能判斷目前運(yùn)行的是哪一個(gè)了

安裝gpu版本的tensorflow:

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

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

對(duì)于CUDA與cudann的安裝:

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

注意版本的搭配!??!

注意版本的搭配?。?!

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

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

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

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

3個(gè)path,

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

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

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

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

import tensorflow as tf 仍然出錯(cuò)

cudnn64_6.dll問(wèn)題

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

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

對(duì)于不斷嘗試扔失敗運(yùn)行GPU版本,可以把tf先刪除了重新下

import tensorflow as tf
print(tf.__version__)

查詢tensorflow安裝路徑為:

print(tf.__path__)

成功用GPU運(yùn)行但運(yùn)行自己的代碼仍然報(bào)錯(cuò):

如果報(bào)錯(cuò)原因是這個(gè)

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

最后關(guān)于這個(gè)報(bào)錯(cuò)是因?yàn)镚PU的顯存不夠,此時(shí)你可以看看你的代碼,是訓(xùn)練集加載過(guò)多還是測(cè)試集加載過(guò)多,將它一次只加載一部分即可。

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

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

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

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

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • 基于Tensorflow使用CPU而不用GPU問(wèn)題的解決
  • tensorflow-gpu安裝的常見(jiàn)問(wèn)題及解決方案
  • 運(yùn)行tensorflow python程序,限制對(duì)GPU和CPU的占用操作
  • 解決TensorFlow程序無(wú)限制占用GPU的方法

標(biāo)簽:合肥 隨州 濟(jì)源 昭通 阜新 信陽(yáng) 淘寶好評(píng)回訪 興安盟

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《用gpu訓(xùn)練好的神經(jīng)網(wǎng)絡(luò),用tensorflow-cpu跑出錯(cuò)的原因及解決方案》,本文關(guān)鍵詞  用,gpu,訓(xùn)練,好的,神經(jīng)網(wǎng)絡(luò),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《用gpu訓(xùn)練好的神經(jīng)網(wǎng)絡(luò),用tensorflow-cpu跑出錯(cuò)的原因及解決方案》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于用gpu訓(xùn)練好的神經(jīng)網(wǎng)絡(luò),用tensorflow-cpu跑出錯(cuò)的原因及解決方案的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章