LoginSignup
7
6

More than 5 years have passed since last update.

春休み到来! RX 470 8GB マイニングエディションと ROCm TensorFlow + StyleGAN で始める顔生成

Last updated at Posted at 2019-02-07

春休み到来!

RX 470 8GB マイニングエディションと ROCm TensorFlow で StyleGAN で顔生成を始めよう!

できました.

環境

  • Ubuntu 18.04
  • ROCm 2.1 + TensorFlow 1.12
  • RX 470 8GB マイニングエディション
  • Python 3.6+(miniconda)

セットアップ

ROCm TensorFlow を頑張ってインストールしよう!

2019 年 2 月 7 日時点の最新である ROCm 2.1 + MIOpen 1.7.1 で動作確認しました.

StyleGAN のオフィシャル実装は, 型付け機能や typeguard モジュールを使っているため, python 3.6+ が必須です. conda で python 3.6 環境を作っておきましょう.

$ conda create -n stylegan python=3.6
$ source activate stylegan

StyleGAN を動かす.

README にあるように git clone します.

実行する

ROCm TensorFlow 用の修正はありません. そのままで動きます.

$ python pretrained_example.py

でいけます. PIL など module が見つからないエラーが出たら, 適宜 pip install ください.
(PIL については pip install image で一応動きますが, 推奨される方法かしらん?)

/gpu:0 が見つからないエラーが出る場合

ROCm TensorFlow ではなく, 通常の TensorFlow をソースコードからビルドなりして XLA を有効にしている場合は,

/gpu:0 がみつからないエラーが出ますので,

の部分を /job:localhost/replica:0/task:0/device:XLA_GPU:0 あたりに書き換えると動きます.

マイニングしながら動かす.

学習では 12 GB 以上のメモリが必要とありますが, GAN の実行だけであればあまりメモリを使わないようで, マイニング(ethminer)しつつ動かすことができました.

学習を動かす.

ROCm 2.2 + TensorFlow 1.13 で, NVIDIA に比べると 3~5 倍は遅いですが(ROCm は対応していない op/layer があり一部 CPU fallback している?)ですが, 学習が走るのを確認しました(それより以前では無限ループかなにかで学習が進まなかった)

TODO

  • ROCm で遅い原因をプロファイラーを使って原因を突き止める.
  • StyleGAN で生成された顔を, ブロックチェーン(e.g. ERC721)で管理し, 肖像権管理を行う.
7
6
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
7
6