R03(2021)/09/11
GPU とCPU の結果の違いを追記。R03(2021)/09/16
GPU 処理に再チャレンジR03(2021)/09/20
Hardware & Software
macOS Big Sur 11.5.2
MacPro(Late 2013) D500
SRCNN #使用。制作者様には謝意を表明します。https://qiita.com/hima_zin331/items/7cdb6e12bcc85b683c26
TensorFlow-macOS https://github.com/apple/tensorflow_macos
とりあえず下記でGPU で処理されるようです。精査していないので、無駄なコマンドが入っている可能性が高いです。
python3 -m venv ~/tensorflow-metal
source ~/tensorflow-metal/bin/activate
python -m pip install -U pip
pip install numpy menpo
pip install matplotlib
python -m pip install tensorflow-macos
python -m pip install tensorflow-metal
git clone https://github.com/himazin331/Super-resolution-CNN #@hima_zin331 氏が作成したCode を使用しています。https://qiita.com/hima_zin331/items/7cdb6e12bcc85b683c26
cd Super-resolution-CNN
pip install opencv-python
python srcnn_tr.py -d ./General-100
https://qiita.com/hima_zin331/items/7cdb6e12bcc85b683c26
上記URL に感謝です。与えられた画像を縮小して、それをどこまで戻せるかに挑んだものと思っております。srcnn_pre.py のcv2 関係でx, y 軸が逆になっているところがあるようです。x, y がy, x になっているようです。なので出力がおかしくなることがあります。ただ、簡単に直せます。
TensorFlow-macOS でGPU を使い学習をしたときと、通常のTendorFlow を使いCPU で計算したときの結果が大違いでした。理由は分かっていません。
左がGPU で右がCPU です。
左のGPU はまったく学習が収束していません。右のCPU は30 近くまでいっています。
Code の一部を修正して再チャレンジしました。
修正してもなおCPU より結果が悪いですが、前よりは良くなったかと思います。原因は分かっていません。
なお修正箇所は今回使用したCode のGithub にライセンスの記載が無かったため全文は載せられません。修正点を行別に記載します。
製作者様と連絡が取れれば良いのですが、アカウントの都合で不可能です。
行で86、90 の[h, w] を[w, h] に変更してください。