ROMANCE DAWN for the new world

Microsoft Azure を中心とした技術情報を書いています。

JAZUG札幌支部(きたあず)第23回勉強会に参加してきました

jazug.connpass.com

先週の土曜日、JAZUG札幌支部(きたあず)第23回勉強会に参加して、Azure アーキテクチャ センターを読んで LINE BOT を作ってみた話をしてきました。

speakerdeck.com

セッション内容

f:id:TonyTonyKun:20191031180333j:plain

LINE BOT の開発を題材に、Azure が提供するサービスを組み合わせた構造(アーキテクチャ)を決める Tips を紹介しました。Azure アーキテクチャ センターには、実践向けの役立つ情報が多いので、関連するトピックを絡めた話をしました。
docs.microsoft.com

初めての試みとして、Microsoft Whiteboard を使い、Surface Go にペンでお絵描きしながら説明しました。アーキテクチャは難しい話になりやすいので、ホワイトボードに書いている感覚で話すことで、より分かりやすく伝えたい思いがありました。(下の写真は Backend for frontend を説明しているところ)

f:id:TonyTonyKun:20191031180027j:plain

「すごくよかった」「デモがあって、全体の説得力があった」「手書きの Live な図がよかった」などのツイートがありましたし、セッション後に参加者の方々から直接お礼を言って頂けたり、この内容で話してよかったなと思いました。

まとめ

勉強会全体の感想としては、セッション時間が 50分 あったので、登壇者方々の思いをしっかりと伝えることができて、濃い内容でした。おやつタイムあり、飛び入り参加で2名の LT あり、業界しゃべり場的なセッションありで、学びも多くとても楽しめた勉強会でした。
運営メンバーも合わせて15名ほどの規模なので、東京の JAZUG とは違った雰囲気でよかったです。恒例のまとめ枠セッションもいいと思います。
きたあずは、今回で2回目の参加となりましたが、また機会があれば参加したいです。

北海道を観光したり美味しいものを食べたりした話は、こちらに書きました。
gooner.hateblo.jp

Azure Custom Vision を Docker コンテナで使ってみた

先週の土曜日、Japan Azure User Group 9周年イベントで LT してきました。

jazug.connpass.com

タイトルからお察しの通り、懇親会でのネタ的な内容だったので、このスライドに大した話は書いてありません。

speakerdeck.com

せっかくなので、デモを構築した手順をまとめておきたいと思います。

Azure Custom Vision とは

Azure Custom Vision は、画像に任意のラベルを適用した判別モデルを構築できる Azure の AI サービスです。
似たようなサービスに Computer Vision もありますが、プリセットのラベルのみなので、自由にカスタマイズできるところが大きな違いです。

画像判別モデルを構築する

画像判別モデルは、Custom Vision Web サイトを利用して、画像のアップロード→トレーニング→評価の3ステップで構築できます。
このあたりの情報は多いので、公式ドキュメントなどを参照してください。
docs.microsoft.com

今回は、Dockerfile にエクスポートしたかったので、コンパクト ドメインを選択しました。プロジェクトを作成する際に、General (Compact) を選択します。
f:id:TonyTonyKun:20190910002839p:plain

プロジェクト作成後、五等分の花嫁の原作から集めてきた画像に、五つ子の名前をタグづけしてアップロードしました。

Dockerfileにエクスポートする

トレーニングした画像判別モデルをアプリケーションに組み込むには、いくつかの方法があります。
最もお手軽なのは、Custom Vision Web サイトで提供されるマネージドな API を呼び出すことですが、アプリケーションの形式に合わせて、画像判別モデルをエクスポートできます。

f:id:TonyTonyKun:20190910002919p:plain

今回は、Dockerfile を選択しました。コンテナ環境ならどこでもデプロイできます。Azure であれば、Web Apps とか Container Instances とか Kubernetes Services など、用途に合わせてサービスを選択することができます。
注意点として、コンテナ環境で動作するのですが、内部的に Azure 側への通信を行なっているため、完全なオフライン環境では動きません。
完全なオフライン環境で動かしたいときは、CoreML のような iOS 向けの形式を選択しましょう。

画像判別モデルを Docker コンテナでテストする

ダウンロードした ZIP を展開すると、Python で書かれたアプリケーションと Dockerfile が入った構成になっています。

f:id:TonyTonyKun:20190910002945p:plain

Dockerfile をビルドして、ローカルで実行します。

$ docker build -t thara0402/gotobun:2.0.0 .
$ docker run -it --rm -p 8080:80 thara0402/gotobun:2.0.0

あとは API を呼び出せば良いのですが、最近気に入っている Visual Studio Code の拡張にある REST Client を使いました。

f:id:TonyTonyKun:20190910003001p:plain

上記では、Azure Blob Storage にアップロードした画像 URL を渡していますが、/image で API を叩くと、画像データをそのまま POST することもできます。
原作から集めてきた未来の花嫁の画像を渡してテストしました。

まとめ

Azure Custom Vision は、画像に好きなラベルをつけて、自分だけの画像判別モデルを作ることができるサービスです。画像判別モデルは、アプリに合わせたフォーマットでエクスポートして組み込むこともできます。
少ない学習データ(最低5枚)でも大丈夫ですし、画像アップロード、トレーニング、評価の3ステップなので、何か自分の楽しめるネタで試してみるといいと思います。

気になる?未来の花嫁の予想結果ですが、長女か三女の可能性が高いようでした。ちなみに、五つ子の過去が明らかになる 11 巻は 9/17 に発売です。

五等分の花嫁(11) (講談社コミックス)

五等分の花嫁(11) (講談社コミックス)

Microsoft MVP for Microsoft Azure を再受賞しました

2019年7月1日付けで、Microsoft Most Valuable Professional (MVP) アワードを再受賞しました。受賞カテゴリは、Microsoft Azure です。

f:id:TonyTonyKun:20190725013523j:plain

昨年の主な活動内容

昨年は、Azure Kubernetes Service(AKS)の正式リリースに伴い、コミュニティでの登壇を主軸に技術情報を多く発信しました。今でこそ、日本語の情報も増えてきましたが、当時はまだ少なかったと記憶しています。
AKS を使いこなすには、コンテナーオーケストレーションの Kubernetes を理解する必要があるため、そもそもなぜコンテナーを使うのか、Kubernetes とは何かというところからの入門者向けの情報を提供しました。
このような基礎を踏まえた上で、

  • Azure がマネージドなサービスとして Kubernetes を提供するメリット
  • Azure で提供されている他のサービスにはない特徴として、サービスメッシュの Istio などの OSS と組み合わせて使えるメリット

といった AKS の魅力を伝え、多くの人に使ってもらえるサービスとなるように啓蒙活動を行ってきました。ACS の時代から記事を書いていますが、今でも活用できる内容が多いと思います。
gooner.hateblo.jp

あと、個人的に印象に残っているのは、Microsoft Tech Summit 2018 で「.NET 開発者のためのマイクロサービス入門」のセッションに登壇したことです。.NETユーザーの現状の課題、Cloud Nativeなプラットフォームのトレンドを踏まえた上で、AKSとASP.NET Coreで実装するマイクロサービスの構築から配置までのアーキテクチャ、および移行に向けて取り組むべきことをデモを交えて解説しました。
gooner.hateblo.jp

今年の活動目標

Azure Monitor for Container がすごく良くなってきているので、そのあたりも含めて AKS の実践的な情報を発信したいです。あとは、実践で活用するケースが増えてきた Durable Functions を含めた Azure Functions V2 ですかね。
もう1つは、Azure アーキテクチャセンターのドキュメント啓蒙やフィードバックにチャレンジしたいと考えています。とても良い内容のトピックが充実しているので、多くの人に知ってもらいたいです。
docs.microsoft.com

それと来年も MVP Global Summit(グロサミ)に参加できるのは、とても楽しみです。
gooner.hateblo.jp

そんな感じで今年も無事に MVP を更新できたので、引き続きよろしくお願いします。