Below you will find pages that utilize the taxonomy term “HIP-TensorFlow”
Posts
改良版tensorflow-rocmインストール方法
Introduction AMDGPU Radeon製品でTensorFlowを動かす方法まとめ。
Installation 基本ソフトウェアをインストール sudo apt update sudo apt -y install software-properties-common curl wget # for add-apt-repository Python3.5.2をインストール Python3.6/Python3.7は不安定要素があるので3.5.2がおすすめ。 Ubuntu18にインストールする場合は、Python3.6がベースなので、3.5.2にするときも以下の方法が参考になります。
PYTHON35=false if [[ `python3 --version` == *"3.5"* ]] ; then echo 'python3.5 -- yes' PYTHON35=true else echo 'python3.5 -- no' PYTHON35=false fi if [ $PYTHON35 == 'true' ] ; then sudo apt install -y python3.5 python3.5-dev python3-pip else sudo add-apt-repository -y ppa:deadsnakes/ppa sudo apt-get update sudo apt install -y python3.
Posts
TensorFlow 1.3/AMD Radeon Vega 56/ROCm上でStyleTransfer
Introduction SourceStyle Transfer 今回は画像生成や変換の分野で人気の、StyleTransferをTensorFlow(ROCm) on Radeon Vega 56で動かしてみます。
使用フレームワークは、ROCm-TensorFlow1.3, ROCm1.7.137を使用します。 Logan Engstromという方のリポジトリからFast StyleTransferのソースを流用します。
https://github.com/lengstrom/fast-style-transfer.git
Setup TensorFlow on Radeon GPU 近日、HIP-TensorFlow1.0.1から1.3へアップデートされ、同時に名前がのHIPという部分が取れてリポジトリも別になり、旧HIP-TensorFlowのリポジトリが見えなくなっています。旧HIP−TensorFlowはこちらのリポジトリですがすでにリンク切れになっています。 https://github.com/ROCmSoftwarePlatform/hiptensorflow
新しいTensorFlowはなんと呼べば良いかわからないので、ROCm−TensorFlowという風に呼びたいと思います。 https://github.com/ROCmSoftwarePlatform/tensorflow
以下のコマンドを叩くと、Python3上にROCm-TensorFlow1.3を簡単に構築できます。なおOpenCV3.3.0、ビデオコーデック、CythonやPillowイメージ等々も含まれます。
curl -sL http://install.aieatr.com/setup_rocm_tensorflow_p3 [Ubuntu16.04用]
Fast Style Transfer まずは、fast-style-transferをクローンし、必要なパッケージをインストールします。 内部に動画変換用モジュールをロードしている部分があるので、moviepyをpip3経由でインストールが必要になります。
git clone https://github.com/lengstrom/fast-style-transfer.git sudo pip3 install moviepy gitリポジトリのReadmeに書いてある、学習済みモデルを持ってきます。 Google Drive - udnie.ckpt
stylesディレクトリを作って、
mkdir -p fast-style-transfer/styles fast-style-transfer/styles/udnie.ckpt として設置します。
実行 fast-style-transfer/examples/content以下にテスト用の画像が含まれますので、それを学習済みネットワークのudnie.ckptと一緒に指定して実行します。
python3 evaluate.py --checkpoint styles/udnie.ckpt --in-path examples/content/chicago.jpg --out-path output.jpg --allow-different-dimensions johndoe@sonoba:~/projects/fast-style-transfer$ python3 evaluate.
Posts
ベンチマーク TensorFlow上でCIFAR10とAMD GPUs上でROCm 対 NVIDIA GPUs上でCUDA9とcuDNN7
Introduction 前回に続きCIFAR10のベンチマークを記述していきます。
前回までの記事 2018年3月7日 Benchmarks on MATRIX MULTIPLICATION | A comparison between AMD Vega and NVIDIA GeForce series 2018年3月20日 Benchmarks on MATRIX MULTIPLICATION | TitanV TensorCore (FP16=>FP32)
CIFAR10 Average examples pre second
計算指標 ゙世界コンペティションやベンチマークでよく使用される CIFAR10 を TensorFlow の公式を使用し 、学習スピードを計測するものとしました。今回の記事は、”CIFAR10”のみ掲載します。
ベンチマークに使うプログラムはこちらを使用しました。 https://github.com/tensorflow/models/tree/master/tutorials/image/cifar10
動作環境 For AMD(TF1.0.1): Ubuntu 16.04.3 x64 HIP-TensorFlow 1.0.1 Python 2.7 Driver: ROCm 1.7
For AMD(TF1.3): Ubuntu 16.04.4 x64 TensorFlow 1.3 Python 3.5 Driver: ROCm 1.7.137
For NVIDIA: Ubuntu 16.
Posts
AMD社製GPUとTensorFlow1.3を用いた領域認識(Semantic Segmentation)
Introduction SourceYoloV2(Object Detection)FCN(Semantic Segmentation) Deep Learningにおける領域認識(Semantic Segmentation)ではよく話にでるネットワークとして、U-Net(2015)、FCN(2015)、PSPNet(2017)があります。今回はAMD社製 Radeon GPUを用いてそれらを動かしてみたいと思います。
使用するフレームワークは、AMD TensorFlow1.3, ROCm1.7.137を使用します。※2018年4月16日現在の最新バージョン hellochick ← 台湾人開発者のリポジトリからソースをお借りします。
https://github.com/hellochick/semantic-segmentation-tensorflow
Setup TensorFlow 1.3 on AMD Radeon GPU 最近、HIP-TensorFlow1.0.1から1.3へアップデートされ、同時に名前がのHIPという部分が取れてリポジトリも別になりました。同時に、旧HIP-TensorFlowのリポジトリが見えなくなっています。旧HIP−TensorFlowはこちらのリポジトリですがすでにリンク切れになっています。HIPって何?TensorFlowとは別物なの?という声も多かったので個人的には歓迎です。 https://github.com/ROCmSoftwarePlatform/hiptensorflow
一方で、新しいTensorFlowはなんと呼べば良いかわからないので、今回はAMD TensorFlowという風に呼びたいと思います。 https://github.com/ROCmSoftwarePlatform/tensorflow
以下のコマンドにて、Python3上にAMD TensorFlow1.3を簡単に構築できます。なおOpenCV3.3.0、ビデオコーデック、CythonやPillowイメージ等々も含まれます。
curl -sL http://install.aieatr.com/setup_rocm_tensorflow_p3 [Ubuntu16.04用]
Semantic Segmentation git clone https://github.com/hellochick/semantic-segmentation-tensorflow gitリポジトリのReadmeに書いてある、FCNの学習済みモデルを持ってきます。 Google Drive - FCN(fcn.npy)
semantic-segmentation-tensorflow/model/fcn.npy として設置します。
PSPNetの場合は、 semantic-segmentation-tensorflow/model/pspnet50.npy
ICNetの場合は、 semantic-segmentation-tensorflow/model/cityscapes/icnet.npy として、cityspaces以下に設置します。
実行 semantic-segmentation-tensorflow/input以下にテスト用の画像が含まれますので、それをFCNモデルと一緒に指定して実行します。
python3 inference.py --model fcn --img-path input/indoor_1.jpg 以下に出力されます。 semantic-segmentation-tensorflow/output/fcn_indoor_1.jpg
リアルタイム性の強いICNetにしたければ、
python3 inference.
Posts
PlaidMLd上でKeras VGG-19
ROCm-TensorFlowより速いと噂のPlaidMLを動かしてみました。 Introduction HIP(ROCm)-TensorFlowはTensorFlowをCUDAシミュレーションを行って実現されたライブラリですが、その動作スピードはまだ開発の途中であるか、古いTensorFlowをもとに作られているため、DeepLearingの計算においては最新のNVIDIA+TensorFlowの組み合わせに対して速度差があります。また、RX580と上位GPUであるVega56、Vega64と変わらないスピードであることから、Vegaシリーズの能力が発揮出来ていないという部分からもまだ未成熟のライブラリです。(2018/03/13)
PlaidMLはそれを補うことが出来るライブラリの一つだと言われており、TensorFlowの代わりにKerasのバックエンド化が出来ることが特徴です。
HIP(ROCm)-TensorFlowとPaidMLのライブラリスタック ROCm-TensorFlowPlaidMLKeras or something
TensorFlow
MIOpen(CUDA simulation layer)
ROCm(GPU computing driver)
AMD-GPU driver
OS
Native GPU
Keras or something
PlaidML
PlaidML
ROCm or AMDGPUPRO or CUDASDK
AMD-GPU driver/NVIDIA-GPU driver
OS
Native GPU
ライブラリスタックからもわかるように、PlaidMLはKerasのバックエンドとしての役割を担います。Kerasのバックエンド層には他の候補として、GoogleのTensorFlow、MicrosoftのCNTK、モントリオール大学のTheanoなどが有名です。
Installation PlaidMLを弊社のAMD Ubuntu16.04インスタンスに入れていきます。 まずはAMDGPUのドライバをインストールします。この場合、ROCmをベースとしますので簡単です。
wget -qO - http://repo.radeon.com/rocm/apt/debian/rocm.gpg.key | sudo apt-key add - sudo sh -c 'echo deb [arch=amd64] http://repo.radeon.com/rocm/apt/debian/ xenial main > /etc/apt/sources.list.d/rocm.list' sudo apt update sudo apt install -y libnuma-dev rocm-dkms rocm-opencl-dev sudo usermod -a -G video $LOGNAME OpenCLのコマンド /opt/rocm/opencl/bin/x86_64/clinfo にて確認してください。