WordPressでブログを公開する① 「S3ユーザ作成」
WordPressのブログを作って公開したい!
今回はAWS、S3で配信します。ググるといっぱいヒットするので
やり方を調べながら手を動かしてみる。
まず最初に、S3操作に限定したのAWSユーザの作成から行います。
AWSのコンソールへログインして、IAMで検索します。
すると「IAM Manegement Console」が開きます。
メニューから「ユーザ」を選択します。
次に、ユーザ名を入力します。S3Userと名ずけました。
次に、グループを作成します。S3Groupと名ずけました。
グループを作成するときには、アタッチするポリシーを選択する必要があります。S3FullAccessポリシーを検索して選択します。
次に、タグを追加します。ここは特に何も入力しませんでした。
最後に、ユーザの追加対象のグループの確認画面です。
作成し終わると、アクセスキーが発行されます。これは後でWordPress StaticPress S3で入力します。
エンドウ君リリース作業
スナップエンドウ検出アプリエンドウ君のリリース作業をまとめておこう。
darknetjsのインストール
コンパイラを最新にしないとビルドが通らないので以下のツールのdevtoolset-7をインストール。
www.hpc-technologies.co.jp
インストール後は以下で有効化
scl enable devtoolset-7 bash
そして、darknetjsをインストール
www.npmjs.com
git 2系のインストール
opencvのインストール
ld.so.confの編集
スナックエンドウ検出アプリ作成中
連休は、ずっとスナックエンドウアプリしてました。
機械学習
自身のノートPC(MacBookAir2016 8Gメモリ)では100エポックで10時間かかることが判明。
Google Colab(GPU)でも、何時間もかかりしかもkillされてしまうので、無料タイプでは厳しい感じがしました。
できなくはないけれど重みファイルを保存して途中から繰り返せば、2週間くらいでは終わるとは思います。
データ作成部分のバグでした
元となるデータの作成部分がバグつていたため、学習に時間がかかっていたようです。
直したら、GoogleColabでは3時間程度で終わるようになりました。
サンプル数
サンプル数がとても少ないので集めるところをしっかりしないと。
収穫時に使うアプリなので、取った後に並べるとちょっとバリエーションが足りない感じとは思います。
Darknetでスナックエンドウをリアルタイムに検出する
スナックエンドウの学習については、ほぼ目処がついたので
フロント部分の開発にも着手。
darknetコマンドをnode.jsで発行して返してあげる必要があるけれど
マルチプロセスで対応する必要があります。
detectコマンドはデフォルトではpredictions.jpgを出力するので
outオプションで出力するjpgの名前を指定する感じにする予定です。現在コーディング中。
./darknet detect cfg/endo_kun.cfg cfg/endo_kun.weights out.jpg -out xxxxxxx
Google ColabでDarknet学習。
yoloのcfgの編集方法
filterの数の編集をしないとエラーになります。
https://nmxi.hateblo.jp/entry/2019/02/28/104546
yolov3-tiny-train.cfgの編集
学習用の定義はgithubで準備しておく。
%%bash cd darknet rm -rf endo_kun git clone https://github.com/dokechin/endo_kun mkdir endo_kun/backup ./darknet detector train endo_kun/data.txt endo_kun/yolov3-voc-train.cfg yolov3.weights
瞬時に学習が終了してしまう。なんで?
Loading weights from yolov3.weights...Done! Saving weights to endo_kun/backup/yolov3-voc-train_final.weights
答えらしきものがありました。あらかじめ学習された重みファイルを使うときには、学習を飛ばす?
「-clear 1」をつけたらなんかうまくいく?らしい。とりあえずつけて動かしたらすぐに終わることはなくなりました。
<<追記>>そもそも、初期の重みファイルを指定しなければ、大丈夫でした。
出力される重みファイルのバックアップ先はgoogledriveにしておく
Colab側でマウントするとともにdarknetのbackupの値も、マウント先に変更しておく。
12時間ルールで消えてしまうため。