0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何在AMD的GPU上運行TensorFlow?

電子工程師 ? 來源:未知 ? 作者:李倩 ? 2018-10-04 08:59 ? 次閱讀

工資不漲,英偉達 GPU 的售價年年漲。因此,多一個競爭對手,總是好事。

近日,Google 宣布推出適用于 ROCm GPU 的 TensorFlow v1.8,其中包括 Radeon Instinct MI25。對于 AMD 正在進行的深度學習加速工作而言,這是一座重大的里程碑。

ROCm即 Radeon 開放生態(tài)系統(tǒng) (Radeon Open Ecosystem),是我們在 Linux 上進行 GPU 計算的開源軟件基礎。而 TensorFlow 實現(xiàn)則使用了MIOpen,這是一個適用于深度學習的高度優(yōu)化 GPU 例程庫。

AMD 提供了一個預構建的whl軟件包,安裝過程很簡單,類似于安裝 Linux 通用 TensorFlow。目前 Google 已發(fā)布安裝說明及預構建的 Docker 映像。下面,我們就來手把手地教大家。

▌如何在 AMD 的 GPU 上運行 TensorFlow?

首先,你需要安裝開源 ROCm 堆棧,詳細的安裝說明可以參考:

https://rocm.github.io/ROCmInstall.html

然后,你需要安裝其他相關的 ROCm 軟件包:

sudoaptupdatesudoaptinstallrocm-libsmiopen-hipcxlactivitylogger

最后,安裝 TensorFlow (通過 Google 預先構建的 whl 軟件包):

sudoaptinstallwgetpython3-pipwgethttp://repo.radeon.com/rocm/misc/tensorflow/tensorflow-1.8.0-cp35-cp35m-manylinux1_x86_64.whlpip3install./tensorflow-1.8.0-cp35-cp35m-manylinux1_x86_64.whl

▌ROCm-docker 安裝指南

Rocm-docker 的安裝指南:

https://github.com/RadeonOpenCompute/ROCm-docker/blob/master/quick-start.md

啟動 TensorFlow v1.8 docker 映像:

aliasdrun='sudodockerrun-it--network=host--device=/dev/kfd--device=/dev/dri--group-addvideo--cap-add=SYS_PTRACE--security-optseccomp=unconfined-v$HOME/dockerx:/dockerx-v/data/imagenet/tf:/imagenet'drunrocm/tensorflow:rocm1.8.2-tf1.8-python2

當你使用 ROCm 容器時,以下是一些常用且非常實用的 docker 命令:

一個新的 docker 容器通常不包含元數(shù)據(jù)存儲庫命令 apt。因此,在嘗試使用 apt 安裝新軟件之前,請首先確保命令 sudo apt update 的正常運行。

出現(xiàn)如下報錯消息,通常意味著當前用戶無執(zhí)行 docker 的權限;你需要使用 sudo 命令或將你的用戶添加到 docker 組。

在正在運行的容器中打開另一個終端的命令:

從主機中復制文件到正在運行的 docker 上的命令:

從正在運行的 docker 容器中復制文件到主機上的命令:

在拉取圖像時,收到設備上沒有剩余空間的消息,請檢查 docker 引擎正在使用的存儲驅動程序。如果是“設備映射器 (device mapper)”,這意味著“設備映射器”存儲驅動程序限制了圖像大小限制,此時你可以參考快速入門指南中關于更改存儲驅動程序的解決方案,鏈接如下:

https://github.com/RadeonOpenCompute/ROCm-docker/blob/master/quick-start.md

▌實踐指南

1、圖像識別

我們將使用 TensorFlow 的一個教程作為 Inception-v3 圖像識別任務:

https://www.tensorflow.org/tutorials/image_recognition

以下是如何運行代碼:

cd~&&gitclonehttps://github.com/tensorflow/models.gitcd~/models/tutorials/image/imagenetpython3classify_image.py

之后,你會看到一個帶有相關分數(shù)的標簽列表,上面的腳本是用于對熊貓的圖像進行分類,所以你會看到下面的結果:

giantpanda,panda,pandabear,coonbear,Ailuropodamelanoleuca(score=0.89103)indri,indris,Indriindri,Indribrevicaudatus(score=0.00810)lesserpanda,redpanda,panda,bearcat,catbear,Ailurusfulgens(score=0.00258)custardapple(score=0.00149)earthstar(score=0.00141)

2、語音識別

接下來,讓我們試試 TensorFlow 的語音識別教程:

https://www.tensorflow.org/tutorials/audio_recognition

以下是運行代碼:

cd~&&gitclonehttps://github.com/tensorflow/tensorflow.gitcd~/tensorflowpython3tensorflow/examples/speech_commands/train.py

在默認設置下運行幾個小時后,你將看到準確度越來越高的趨勢:

[...]INFO:tensorflow:Step18000:Validationaccuracy=88.7%(N=3093)INFO:tensorflow:Savingto"/tmp/speech_commands_train/conv.ckpt-18000"INFO:tensorflow:set_size=3081INFO:tensorflow:ConfusionMatrix:[[25420001000000][3195551184570410][04239011910010][050220172401111][11002580400242][2501512112020213][121506024020010][113003022370120][05102113231200][030021133522510][00118130022321][0140346552010184]]INFO:tensorflow:Finaltestaccuracy=88.5%(N=3081)

如果你想測試訓練好的模型,可以嘗試以下方法:

python3tensorflow/examples/speech_commands/freeze.py--start_checkpoint=/tmp/speech_commands_train/conv.ckpt-18000--output_file=/tmp/my_frozen_graph.pbpython3tensorflow/examples/speech_commands/label_wav.py--graph=/tmp/my_frozen_graph.pb--labels=/tmp/speech_commands_train/conv_labels.txt--wav=/tmp/speech_dataset/left/a5d485dc_nohash_0.wav

你會看到“l(fā)eft”標簽的得分最高:

left(score=0.74686)right(score=0.12304)unknown(score=0.10759)

3、多 GPU 訓練

最后,讓我們用多個 GPU 來訓練 ResNet-50。我們將使用 TensorBoard 來監(jiān)控進度,因此我們的工作流程分為兩個終端和一個瀏覽器。首先,我們假設你將 ImageNet 數(shù)據(jù)集放在“/ data / imagenet”(可更改)下。

1) 第一個終端

cd~&&gitclonehttps://github.com/tensorflow/benchmarks.gitcd~/benchmarksgitcheckout-bmay22ddb23306fdc60fefe620e6ce633bcd645561cb0dMODEL=resnet50NGPUS=4BATCH_SIZE=64ITERATIONS=5000000TRAIN_DIR=trainbenchmarks${MODEL}rm-rf"${TRAIN_DIR}"python3./scripts/tf_cnn_benchmarks/tf_cnn_benchmarks.py--model=${MODEL}--data_name=imagenet--data_dir=/data/imagenet--train_dir="${TRAIN_DIR}"--print_training_accuracy=True--summary_verbosity2--save_summaries_steps10--save_model_secs=3600--variable_update=parameter_server--local_parameter_device=cpu--num_batches=${ITERATIONS}--batch_size=${BATCH_SIZE}--num_gpus=${NGPUS}2>&1|tee/dockerx/tf-imagenet.txt

2) 第二個終端

hostname-I#findyourIPaddresstensorboard--logdirtrain_benchmarks_resnet--host

3) 在瀏覽器里打開 Tensorboard

鏈接: http://:6006/

使用 TensorBoard,你可以看到 loss 越來越小、準確性越來越高的趨勢。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • gpu
    gpu
    +關注

    關注

    28

    文章

    4760

    瀏覽量

    129130
  • tensorflow
    +關注

    關注

    13

    文章

    329

    瀏覽量

    60560

原文標題:喜大普奔!TensorFlow終于支持A卡了

文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    何在Raspberry Pi安裝TensorFlow

     在本教程中,我們將學習如何在 Raspberry Pi 安裝 TensorFlow,并將展示一些在預訓練神經網(wǎng)絡上進行簡單圖像分類的示例。
    發(fā)表于 09-01 16:35 ?2248次閱讀
    如<b class='flag-5'>何在</b>Raspberry Pi<b class='flag-5'>上</b>安裝<b class='flag-5'>TensorFlow</b>

    使用 TensorFlow, 你必須明白 TensorFlow

    TensorFlow 圖描述了計算的過程. 為了進行計算, 圖必須在 會話 里被啟動. 會話 將圖的 op 分發(fā)到諸如 CPU 或 GPU 之類的 設備 , 同時提供執(zhí)行 op 的方法. 這些方法
    發(fā)表于 03-30 20:03

    可以在vGPU配置文件運行TensorFlow嗎?

    大家好,我有一些問題,你們可能知道答案。我閱讀了文檔,但我還不確定。開發(fā)團隊中有一些人正在為TensorFlow(AI項目)尋找GPU。我們對在工作站和Dockers運行的Quadr
    發(fā)表于 09-18 16:35

    干貨!教你怎么搭建TensorFlow深度學習開發(fā)環(huán)境!

    的Installation一欄,Windows的Tensorflow有CPU和GPU兩個版本,安裝了CUDA8.0的朋友們可以選擇下載GPU版本。下載好以后,在“開始”菜單的“運行”里
    發(fā)表于 09-27 13:56

    深度學習框架TensorFlow&TensorFlow-GPU詳解

    TensorFlow&TensorFlow-GPU:深度學習框架TensorFlow&TensorFlow-GPU的簡介、安裝、使用方法詳細攻略
    發(fā)表于 12-25 17:21

    tensorflow-gpu安裝報錯的修改

    tensorflow-gpu安裝遇到的一些問題解決
    發(fā)表于 05-20 10:25

    TensorFlow XLA加速線性代數(shù)編譯器

    編譯:在會話級別中打開JIT編譯: 這是手動打開 JIT 編譯: 還可以通過將操作指定在特定的 XLA 設備(XLA_CPU 或 XLA_GPU,通過 XLA 來運行計算: AoT編譯:獨立使用 tfcompile 將
    發(fā)表于 07-28 14:31

    TensorFlow指定CPU和GPU設備操作詳解

    算放在一個特定的設備。默認情況下,如果 CPU 和 GPU 都存在,TensorFlow 會優(yōu)先考慮 GPUTensorFlow 將設備
    發(fā)表于 07-28 14:33

    Mali GPU支持tensorflow或者caffe等深度學習模型嗎

    好的Tensorflow或者Caffe模型部署到ARM平臺Mali-G71/72 GPU運行,而不重新OpenCL編寫代碼,但沒有看見相關可行的資料。網(wǎng)上信息顯示
    發(fā)表于 09-16 14:13

    在Ubuntu 18.04 for Arm運行TensorFlow和PyTorch的Docker映像

    用于試用鏡像,包括 A1、T4g、M6g、C6g 或 R6g。TensorFlow 和 PyTorch 圖像在 Graviton2 構建和運行的速度明顯更快。要記住的另一件事是,在 Graviton2
    發(fā)表于 10-14 14:25

    GPU利用TensorFlow Serving 部署ResNet

    的 SavedModel,并在主機中開放 REST API 端口 8501。resnet_client.py 會發(fā)送一些圖像給服務器,并返回服務器所作的預測?,F(xiàn)在讓我們終止 TensorFlow Serving 容器的運行,以釋放所占用的
    的頭像 發(fā)表于 03-05 17:51 ?7668次閱讀
    在<b class='flag-5'>GPU</b><b class='flag-5'>上</b>利用<b class='flag-5'>TensorFlow</b> Serving 部署ResNet

    何在Raspberry安裝TensorFlow

    在Raspberry Pi安裝TensorFlow曾經是一項令人沮喪的任務。但是,隨著Raspberry Pi正式支持更新版本的Google TensorFlow,您只需要幾個命令即可安裝它。
    的頭像 發(fā)表于 07-30 14:30 ?5168次閱讀
    如<b class='flag-5'>何在</b>Raspberry<b class='flag-5'>上</b>安裝<b class='flag-5'>TensorFlow</b>

    何在ESP32使用代碼運行TensorFlow模型?

    該項目使用在ESP32運行TensorFlow Lite創(chuàng)建一個語音控制的機器人。它可以響應簡單的單字命令:“左”,“右”,“前進”和“后退”。
    的頭像 發(fā)表于 04-27 14:54 ?4814次閱讀

    在MaaXBoard RT運行幾乎任何TensorFlow模型

    電子發(fā)燒友網(wǎng)站提供《在MaaXBoard RT運行幾乎任何TensorFlow模型.zip》資料免費下載
    發(fā)表于 10-31 10:28 ?2次下載
    在MaaXBoard RT<b class='flag-5'>上</b><b class='flag-5'>運行</b>幾乎任何<b class='flag-5'>TensorFlow</b>模型

    英國公司實現(xiàn)英偉達CUDA軟件在AMD GPU的無縫運行

    7月18日最新資訊,英國創(chuàng)新科技企業(yè)Spectral Compute震撼發(fā)布了其革命性GPGPU編程工具包——“SCALE”,該工具包實現(xiàn)了英偉達CUDA軟件在AMD GPU的無縫遷移與運行
    的頭像 發(fā)表于 07-18 14:40 ?683次閱讀