婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 用gpu訓練好的神經網絡,用tensorflow-cpu跑出錯的原因及解決方案

用gpu訓練好的神經網絡,用tensorflow-cpu跑出錯的原因及解決方案

熱門標簽:qt百度地圖標注 正安縣地圖標注app 遼寧智能外呼系統需要多少錢 螳螂科技外呼系統怎么用 舉辦過冬奧會的城市地圖標注 400電話申請資格 地圖地圖標注有嘆號 電銷機器人系統廠家鄭州 阿里電話機器人對話

訓練的時候當然用gpu,速度快呀。

我想用cpu版的tensorflow跑一下,結果報錯,這個錯誤不太容易看懂。

大概意思是沒找到一些節點。

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

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

完美解決!

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

自己的小本本,之前預裝有的pycharm+win10+anaconda3+python3的環境

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

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

cpu跑tensorflow只需要在anaconda3下載。

安裝cpu跑的tensorflow:

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

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

import tensorflow as tf

如果不報錯說明調用成功。

查看目前tensorflow調用的是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))

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

看一下運行的結果中,調用運行的是什么

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

安裝gpu版本的tensorflow:

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

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

對于CUDA與cudann的安裝:

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

注意版本的搭配!!!

注意版本的搭配!!!

注意版本的搭配!!!

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

在官網也可以看到CUDA搭配的cudann

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

3個path,

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

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

我使用的環境為:tf1.2+CUDA8.0+cudann5.1

當全部正確安裝時

import tensorflow as tf 仍然出錯

cudnn64_6.dll問題

關于導入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]

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

對于訓練集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))即可

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

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

標簽:合肥 隨州 濟源 昭通 阜新 信陽 淘寶好評回訪 興安盟

巨人網絡通訊聲明:本文標題《用gpu訓練好的神經網絡,用tensorflow-cpu跑出錯的原因及解決方案》,本文關鍵詞  用,gpu,訓練,好的,神經網絡,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《用gpu訓練好的神經網絡,用tensorflow-cpu跑出錯的原因及解決方案》相關的同類信息!
  • 本頁收集關于用gpu訓練好的神經網絡,用tensorflow-cpu跑出錯的原因及解決方案的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 大田县| 西藏| 繁峙县| 华安县| 黑山县| 应城市| 曲松县| 天峨县| 油尖旺区| 六盘水市| 贵州省| 东安县| 霍州市| 北碚区| 麦盖提县| 高雄市| 紫云| 元氏县| 封丘县| 巩义市| 防城港市| 江津市| 尉氏县| 五台县| 榕江县| 富阳市| 红河县| 广平县| 大新县| 澄城县| 颍上县| 龙陵县| 汾西县| 武川县| 常州市| 桐城市| 龙南县| 普陀区| 镶黄旗| 永吉县| 精河县|