【機械学習】初心者でもできる画像生成〜実践編〜
前回の続き!
今回はやっと実践編です.
WinPythonを入れる
Pythonをインストールせんことには先人たちのコードを実行することもできません.
ということで,Pythonをインストールしましょう.
すでに入っている人は飛ばしてください.
WindowsでPythonを初めて入れようとする人にはWinPythonをお勧めします.
入れるのはとても簡単です.
Macの人はWinPython使えないのでしんどいですが,"python pyenv anaconda"で検索してください.
まずは,WinPython にアクセスします.
英語ですけど心配は無用です.
次に,下の画像に従って進んでください.
2019年4月時点での画像です.
日々進化していきますので数字は変わります.
基本的に3.6を選ぶとまるいです.
この数字はpythonのバージョンを意味しています.
お使いのPCが32bit版か64bit版かでどちらかに決まります.
基本的には64bit版だと思いますので64でうまくいかなかったら32をインストールしましょう.
調べることもできますがここでは省きます.
クリックすれば勝手にインストーラーがダウンロードされます.
ダウンロード完了したら”ダウンロード”というフォルダ内に入ってると思うのでダブルクリックで起動してください.
その後は指示通りに進めてくれればインストールが完了します.意外と時間かかります.
途中でインストール先の指定が入ると思うのでお望みの場所にいれてください.デフォルトは”ダウンロード”内です.
Winpython(数字たくさん)というフォルダが出来ていると思います.
***追記***
2019年 6月現在,フォルダ名は”WPy64-3680”みたいになります.
以上で,WinPythonのインストールは終了です.
***追記***
pythonの入れ方について,この記事を参照して書くようになったので追記します.
この記事は初心者向けに書いているのでpathを通さないでWinpythonCommandPronptを使う形で書きましたが,pathの通し方も書いておきます.
pythonのpathを通すことでコマンドプロンプトでpythonを呼び出せるようになります.
しかし,Winpythonの場合はWinpythonCommandPronptを使えばWinpythonに含まれるpythonのpathが通った状態のコマンドプロンプトを使うことができます.
そのため,すでに入っているpythonをメインで使いたい人は環境変数はいじらずに,WinpythonCommandPronptでWinpythonを使いましょう.
逆に,初めて入れる場合やこれからはWinpython使うぞって人は以前のpathを削除してWinpythonのpythonのpathを通してください.
”何言ってんだこいつ...”と言う人はいじらないことをおすすめします.
Windowsの左下の方に"ここに入力して検索"ってあると思うので,環境変数と検索しましょう.
以下の画面が出てくるので流れに従ってやってください.
新規で追加するpathは以下の2つです.
xxxxxxx¥WinPython-xxxxxxxx¥python-xxxxxxxx
xxxxxxx¥WinPython-xxxxxxxx¥python-xxxxxxxx¥scripts
xは自分の環境に合わせて書いてください.
私の場合は
C:\Users\(ユーザ名)\Desktop\WinPython-64bit-3.6.8.0Qt5\python-3.6.8.amd64
C:\Users\(ユーザ名)\Desktop\WinPython-64bit-3.6.8.0Qt5\python-3.6.8.amd64\Scripts
これでコマンドプロンプトでもpythonが使えるようになります.
OpenCVを入れる
今回使用するDCGANではOpenCVという画像処理系のライブラリが必要となります.
https://www.lfd.uci.edu/~gohlke/pythonlibs/ でダウンロードしましょう.
サイトに飛んだらショートカットキーである"ctrl"+"F"を押しましょう.
これで,サイト内の文字列検索ができますので検索欄にopencvと入力しましょう.
二つ目の検索結果が以下の感じになっていると思います.
手動でここまでスクロールしても大丈夫です.
2019年4月時点での画像です.
日々進化していきますので,数字は変わります.
opencv_python_(数字1)_cp(数字2)_cp(数字2)m_win_amd64.whl
または
opencv_python_(数字1)_cp(数字2)_cp(数字2)m_win32.whl
を選びます.
前者は64bit,後者は32bitです.
(数字1)はopencvのバージョンを意味しています.今回はバージョン3を使用します.
(数字2)はpythonのバージョンに合わせます.3.6を選んでいれば36です.
クリックするとダウンロードが始まります.
意外と時間かかります.のんびり待ちましょう.
ダウンロードが完了したら"opencv_ptrhon_.....whl"をWinpythonフォルダ内にあるscriptsフォルダに移動させてください.
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
移動したら,上の画像の二つ目のこれって書いてある"WinPython Command Prompt.exe"を起動します.
コンソール画面が出るので以下を打ち込んでください.
> pip install opencv_python_(数字1)_cp(数字2)_cp(数字2)m_win_amd64.whl
opまで打ったら"tab"押せば補間してくれます.
これでOpenCVのインストールが終了です.
DCGANをやる
DCGANをダウンロードしましょう.
これをクリックすると出てくるDownload ZIPを押してダウンロード終わったら解凍してください.
解凍が終わったらそのフォルダ"DCGAN-tensorflow-master"をWinpythonフォルダ内にあるscriptsフォルダに移動させてください.
次は,学習データを移動させましょう.
フォルダ"DCGAN-tensorflow-master"の中に新しいフォルダとして"data"を作ってください.
そして,その中にもう一つフォルダを作って画像をその中にいれてください.
名前はなんでもいいです.gazouとかでいいです.
これで準備完了です.
"WinPython Command Prompt.exe"を起動します.
コンソール画面が出るので以下を打ち込んでください.
> cd DCGAN-tensorflow-master
> python main.py --dataset (フォルダ名) --input_height=128 --output_height=128 --epoch (epoch) --train --crop
(フォルダ名)は自分で決めたやつです.gazouです.
エポック数(epoch)は学習回数で1000みたいな数字を入れてください.増やせば精度が上がる反面時間がかかります.
二つ目を打ち込むと学習開始です.
結果は33エポックごとに"sample"フォルダにでます.
画像生成の結果
はたしてAnmi先生のようなイラストはできたのか....
学習過程です.
うん.
なんか,微妙ですね.
確かに学習進むにつれて,っぽくはなってますが最後よくわかんないし.
学習データ少ないのもあって元の画像にかなりよっていますね
ただ,可能性は感じますね!!
あと,Anmi先生は偉大なイラストレーターさんだと再認識です.
学習時間ですが,学習データ約200枚,エポック数1000でおよそ6時間です.
PCはMacBook Proで後はこちらです.
・メモリ16GB
気長に待ちましょう.
総括
三編に渡って画像生成をやりましたがやっぱり面白い技術ですね.
もし,次にやるならもっとやりやすいデータで挑戦します.
今後も,いろんなことやっていきますので是非みてください.