前回の記事ではYOLO V3のKeras版をWatson Studioで動かして、学習済みモデルを使用した物体検出をやってみました。今回はこのモデルを自前の画像で学習させて任意のモノを検出するカスタム物体検出に挑戦します。大きな流れとしては以下のようになります。 教師データの作成 検出したい物体をアノテーションツールで学習させて教師データを作成します YOLOモデルの学習 Watson StudioのDLaaS(Deep Learning as a Service)機能を使ってYOLOモデルを学習します 物体検出 作成したモデルを使ってカスタム物体検出を実行します 今回も学習のためのコードは以下のものを参考にしています。 https://github.com/experiencor/keras-yolo3 1. 教師データの作成 今回は以下のような「IBM Watson」のアバターを新旧の
はじめに AWS EC2、オンプレ環境でKerasの環境構築を繰り返しています。 マシンが10〜100台となる計画があり、Ansibleで自動構築をしました。 Install TensorFlow on UbuntuのTensorFlow GPU supportを参考にしています。 自動構築の概要 hostsのIPアドレスを修正して、ansible-playbookで自動構築できます!!! 一応、流れを把握して頂いた後、自動実行して頂ければと思います 前提 Ansibleの基本的な解説はしません Ubuntu Server 16.04 LTS Python3 Tesla K80 解説 NVIDIAドライバ 384.x or higherが要求条件です Ubuntu Server 16.04 LTSのnvidia-384を利用します CUDA CUDA 9.0が要求条件です cuda-cub
Epoch数が少ないと学習が足りず、多すぎると過学習になりますが なんか自動で止める方法はないものだろうか・・・と調べると 灯台下暗し本家にありました 何ができるのか Epoch終了後の各数値(acc,loss,val_acc,val_loss)を監視して条件が揃った場合モデルを保存します 例えば下記の使い方の設定方法を設定し学習を行うと「Val_loss」を監視します 1Epoch終了後に「保存されている重みの「Val_loss」>学習後の「Val_loss」」 の場合の時だけモデル全体を保存します これにより適当にEpochを決めて過学習となってしまった場合でも モデルファイルはそれ以前の「Val_loss」が最小の時のモデルファイルが 保存されるのでやり直しがなくて便利です 確認環境 python3.6.6 Tensorflow:1.10.0 Keras:2.2.2 使い方 直接mo
1.初めに 1.1 GoogleColaboratoryはさらっと流してメインはMNISTとGPUのすごさについて解説していきます。 2.GoogleColaboratoryについて 2.1勧める理由 これは神です。(異論認める)なぜそんなに勧めるのかというと、理由は主にしたの三つです。 GoogleDriveと連携しているのでいつでもアクセスできる! 高性能GPUが無料! エラーは調べてくれる! 本当にそのままです。大きいのは二つ目。GPUが使用できればVGG likeもお手の物!すぐに実用化できます。 しかし制約もあるので、詳しくはほかを参考にしてください。 2.2使い方 簡単です。GoogleColaboratoryのサイトにアクセスしてください。 ログインして、ファイル→Python3の新しいノートブックで自動生成されます。自分のGoogleのMyDriveに以下のようなフォルダが
Watson Studio の Notebook で YOLO V3 を使って物体検出をしてみたので紹介します。 YOLOは こちら が本家のサイトになりますが、さまざまなディープラーニングのフレームワークにも移植されています。今回は以下のKeras版を参考に、Watson StudioのNotebookでも動かせることを確認しました。 手順 Watson Studioでプロジェクトを作成して、以下リンク先から Notebook を作成します。 https://github.com/schiyoda/YOLOV3-Keras/blob/master/yolov3_keras.ipynb Notebookでは本家のサイトでも公開されている学習済みモデルをKerasで使用できるように変換した上で、物体検出のテストをしています。今回は有名な犬の写真で物体検出できたことが確認できました。 その他の
AIにりんごを描いてもらった こんな感じ 生成結果(64x64 png) 途中結果 ite0 ite20 ite100 ite200 ite300 ite400 ite500 背景 最近GAN(Generative Adversarial Network)で、いろんな画像を自動生成したり、ポスターも生成するなどの記事はたくさん目に入る。 どこまで出来るかを試してみたかった。 実現の仕方 こちら数字画像生成のgithubソースを参考し、改造した。 [2] わかったこと Convolution Networkの方は、Full Connected Networkより、生成した画像がスムーズ。 Full Connected Networkの場合は、どうしても雑音が入る。 通常のGANはハイパーパラメータに敏感。収束しないことがある。より安定性のあるDRAGANなどは今後試すべき。 Usage gi
VGG16をFine-tuningする際に初めて作られる方も多いと思いますが 出力層の書き方が2種類あったりして分かりづらかったので 対で書きてみました ※functionalで出力層を書いたのはこちらから 参考のスクリプトは VGG16をFine-tuningして5クラス分類するモデルを想定しています 動作概略 1)出力層なしのVGG16のモデルを読込 2)新しい出力層を作成 3)上記2個のモデルを接続 動作確認環境 python3.6.6 Tensorflow:1.10.0 Keras:2.2.2 参考スクリプト # import from keras.models import Model, Sequential from keras.layers import Activation, Dense, Flatten from keras.applications.vgg16 impo
VGG16をFine-tuningする際に初めて作られる方も多いと思いますが 出力層の書き方が2種類あったりして分かりづらかったので 対で書きてみました ※Sequentialで出力層を書いたのはこちらから 参考のスクリプトは VGG16をFine-tuningして5クラス分類するモデルを想定しています 動作概略 1)出力層なしのVGG16のモデルを読込 2)新しい出力層を作成 3)上記2個のモデルを接続 動作確認環境 python3.6.6 Tensorflow:1.10.0 Keras:2.2.2 参考スクリプト # import from keras.models import Model, Sequential from keras.layers import Activation, Dense, Flatten from keras.applications.vgg16 impo
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く