waifu2xとりあえずUbuntu19.04で動かす。

技術

一時期は(ごく一部の)世間で話題になったwaifu2x、名前以上に便利ですがUbuntu14.04とかの古い情報しかない上に、久々に記事が上がってたため試してみました。

スポンサーリンク

とりあえず、参考にした記事

第586回 waifu2xで画像をきれいに拡大する | gihyo.jp
今回は画像の拡大とノイズ除去を行うWebサービスであるwaifu2xから変換のみの機能を切り出したwaifu2x-converter-cppを紹介します。

必要なパッケージ入れてそのまま… cmake 通らない。

1個づつ試してたが、途中からめんどくさくなり環境を一VirtualBoxで作り一旦Ubuntu19.04での確認完了。

とりあえず、まずはここまでを記録にと書き出す←イマココ

面倒なのでまずは結論から

足りなかったのは?

OpenCV」。コンパイルを通してインストールしました。

あと、「ocl-icd-opencl-dev」。

動くまで

環境

うちの持ち運び用開発環境のDeskMini A300。使っててもうけど DeskMiniのintel版のほうが今の使い方は色々あってると思う。たまにSteam入れてゲームしてます。

関係ありそうなのだけ羅列

本体Deskmini A300
CPURyzen5 2400G
OSubuntu-mate-19.04-desktop-amd64
OpenCV3.4.7
waifu2xwaifu2x-converter-cpp のgitで落ちてくる最新

OSインストールから

とりあえず普通のUbuntuだとうまくいくのか? と試したけどおんなじ結果なのでだめプログラマのわたしはWindows側の母艦から操作したいので軽めのmate入れてます。他意はありません。

GUIからの通常インストール。他は特に設定無しでインストール後下記3つと更新を行うなど。

sudo apt-get update
sudo apt-get install ssh xrdp samba
sudo apt-get upgrade

samba入れてるのはサーバ名でWindowsでアクセスさせたいから。リブートさせたらこっからはほぼ母艦からのSSH操作。xrdpは入れてるけど基本使ってないです。

sudo apt-get install gcc git cmake build-essential

必要そうなのをインストール。

OpenCVをビルド&インストール

最初適当に入れてるの探してて、OpenCV3.3.0でやろうとしたらffmpeg系でエラー。いろいろ試してたときはうまく言ったからアレ? って状態で、遠回りしたけど最新版入れるなら下記でOK!

sudo apt-get install libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev unzip
wget https://github.com/opencv/opencv/archive/3.4.7.zip
unzip 3.4.7.zip
mkdir opencv-3.4.7/build
cd opencv-3.4.7/build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ..
make -j8
sudo make install

結構時間かかります。 VirtualBoxでやったのでmake -j4のほうが良かったかも?

waifu2xのビルド&インストール

ここまでくれば、あとはほぼ記事通り。「ocl-icd-opencl-dev」ついかすれば問題なくいきました。

sudo apt-get install opencl-headers libopencv-dev
sudo apt-get install ocl-icd-opencl-dev

git clone "https://github.com/DeadSix27/waifu2x-converter-cpp"
cd waifu2x-converter-cpp
mkdir out && cd out
cmake ..
make -j8
sudo make install
sudo ldconfig

「ocl-icd-opencl-dev」指定以外のGPUごとの設定は記事にもありましたが、大本にもあります。

https://github.com/DeadSix27/waifu2x-converter-cpp/blob/master/BUILDING.md

で、次は?

古いUbuntuとDebianで同様にやる確認と気力があればDockerで動かせるようにするかも?

ちなみにコレ書いてて気づいたのですが、RyzenGで OpenCLって駄目だったから「mesa-opencl-icd」と「opencl-headers」入れても駄目で、「ocl-icd-opencl-dev」が必要になった可能性?

あと、ファンをIS-40Xにしたけど、ビルド中は結構な音がしてました。
※やはりNoctuaのに買えるべきなのか…

ついでにUbuntu19.04 MATEの「Brisk Menu」がちょくちょく再起動するのは何だろ。