2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AMD GPUでTensorFlow 1.xを動かす

Last updated at Posted at 2020-07-19

はじめに

AMD GPUでTensorFlow 1.xを使いたかったので、ROCm入れて動かしてみました。
いろいろ試行錯誤したのでメモを残します。

環境

  • OS: Ubuntu 18.04 LTS
  • GPU: Radeon RX 560

入れたもの

  • ROCm: v3.5.0
  • tensorflow-rocm: v1.15.4

作業記録

目的は「AMD GPUしかないけどTensorFlow 1系を動かしたい」です。
使いたいライブラリがTensorFlow 2系に対応していなかったため、1系縛りです。
AMDなのでCUDAは使えず、代わりにROCmを使うことにします。
(PlaidMLなるものも見かけましたが、そちらはkerasのコードじゃないと動かせなさそうだったので今回は却下)

ROCmを使うにはUbuntu環境が必要とのこと。
DockerやVirtual Boxでできないかなと思ったけど、仮想環境からだとGPUを認識できなかったのでちゃんとUbuntu環境を用意します。
日本語RemixだとROCmが正常に動かないみたいな情報をちらっと見たので以下から通常版の18.04 LTSを準備。
ubuntu-18.04.4-desktop-amd64.isoを使う。

ROCmをインストール

基本的に、公式のインストールガイドに従えばOK。
v3.5.0が入った。

tensorflow-rocmをインストール

以下などを参考に作業。

python-devを入れる。

sudo apt install python3-dev

その他必要な諸々を入れる。

sudo apt update && \
      sudo apt install -y --allow-unauthenticated \
      rocm-dkms rocm-dev rocm-libs \
      rocm-device-libs \
      hsa-ext-rocr-dev hsakmt-roct-dev hsa-rocr-dev \
      rocm-opencl rocm-opencl-dev \
      rocm-utils \
      miopen-hip miopengemm rccl

(参考URLにあるrocm-profilerとcxlactivityloggerの2つはパッケージが見つからないと言われて入れられなかったが、特に問題なさそう。rcclは追加。)

venvで仮想環境を作成しておいた。
tensorflow-rocm1.5はPython3.7までにしか対応していなさそうなので、今回はPython3.6環境をそのまま使っている。
作業ディレクトリで以下コマンドを実行して仮想環境を作成。

python3 -m venv venv
# . venv/bin/activate (有効化)

はじめ、tensorflow-rocm1.15.0を入れてみたところ、パッケージのimport時にImportError: libmcwamp.so: cannot open shared object file: No such file or directoryなるエラーに遭遇。
調べたところ、ROCmとtensorflow-rocmとの間のバージョン互換性の問題らしい( https://github.com/RadeonOpenCompute/ROCm/issues/1126 )。
互換性の一覧表を参考に、今回はROCm3.5に対応しているtensorflow-rocm1.15.4を入れ直した。

pip install --upgrade pip
pip install tensorflow-rocm==1.15.4

結果

以上で、今のところはちゃんと動いているように見えています。

2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?