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) (講談社コミックス)

ハワイ旅行に行ってきました

おかげさまで弊社も15周年ということで、家族も連れて社員旅行でハワイに行ってきました。

1日目

8月2日(金)の22時の便で、成田空港第二ターミナルからハワイに向かいました。

f:id:TonyTonyKun:20190812010829j:plain

ハワイまでのフライト時間は7時間30分、ハワイのダニエル・K・イノウエ国際空港に到着したのは、現地時間で金曜日の10時30分でした。日本との時差は19時間です。

f:id:TonyTonyKun:20190812010909j:plain

気温は30度ぐらいで暑いですが、湿度が少ないので日本と比べて過ごしやすいです。
宿泊するシェラトン・ワイキキ・ホテルまでは、ツアーの送迎バスで移動しました。オーシャンフロントの部屋なので、ワイキキのビーチが一望できます。遠くにダイヤモンドヘッドが見えて、ハワイらしい眺めでした。

f:id:TonyTonyKun:20190812011009j:plain

夕飯は、参加したメンバー全員でホテルのレストラン「カイ・マーケット」に行きました。1階にあるビュッフェ形式のレストランで、ビーチのすぐ近くなので夕焼けが綺麗でした。

f:id:TonyTonyKun:20190812011111j:plain
f:id:TonyTonyKun:20190812011136j:plain

2日目

朝早起きして、ダイヤモンドヘッドへ登山に向かいました。オアフ島にある火山ですが休火山となっていて、山頂の展望台からの景色を観ることが目的です。

ダイヤモンドヘッドまでの移動手段にはトロリーバスや The Bus があるのですが、少し寝坊してしまったこともあって Uber を使いました。ホテルからスマホアプリで呼んで2分ぐらいで来てくれて、ダイヤモンドヘッドまで15分ぐらい($12)でお得な感じでした。
車で行けるのは、DIAMOND HEAD VISITOR CENTER まで。入場料($1)を払って、登頂にチャレンジです。

f:id:TonyTonyKun:20190812011345j:plain
f:id:TonyTonyKun:20190812011431j:plain

なだらかな舗装された道からスタート。遠くに見える山頂の展望台がゴールです。

f:id:TonyTonyKun:20190812011521j:plain
f:id:TonyTonyKun:20190812011548j:plain

こんな景色を観ながら、山頂を目指します。途中から舗装されていない山道となり、急な階段が続きます。

f:id:TonyTonyKun:20190812011633j:plain
f:id:TonyTonyKun:20190812011701j:plain

途中の展望台から観る景色も、なかなか良かったです。

f:id:TonyTonyKun:20190812012036j:plain

さらに階段を進むとトンネルがあり、そのさきに山頂がありました。ここまで1時間くらいです。展望台から眺めるワイキキビーチの景色は、絶景でした。この写真、結構気に入っています。

f:id:TonyTonyKun:20190812012109j:plain

ダイヤモンドヘッドから下山した後、麓から徒歩7分ぐらいの場所にあるKCCファーマーズマーケットに寄りました。

f:id:TonyTonyKun:20190812012225j:plain

毎週土曜日に大学の駐車場で開催されるファーマーズマーケットです。ちなみに、KCCはカピオラニ・コミュニティ・カレッジの略です。ハワイのローカルな食材やお土産が売っていて、ちょっとしたお祭りみたいな雰囲気でした。

f:id:TonyTonyKun:20190812012328j:plain
f:id:TonyTonyKun:20190812012409j:plain

ハワイ産のアワビを焼いているお店があって、そこそこ美味しかったです。

ここからは、グリーンラインのトロリーバスでワイキキまで戻り、ホテルから一番近い Eggs‘n Things の Saratoga 店でパンケーキを食べました。

f:id:TonyTonyKun:20190812012545j:plain

Banana Whipped Cream & Macadamia Nuts を注文しました。美味しかったですが、二人でシェアしても十分なサイズでした・・・

f:id:TonyTonyKun:20190812012447j:plain

パンケーキを食べた後はホテルに戻り、プールやビーチで遊びました。ワイキキビーチまで近いので、シェラトンは良かったです。

f:id:TonyTonyKun:20190812012619j:plain

夕方には買い物がてら、アラモアナセンターに行きました。ピンクライン のトロリーバスで15分ぐらいです。お土産の雑貨とかTシャツとかを買ったりました。なんとなく Microsoft Store にも行きました。

f:id:TonyTonyKun:20190812012706j:plain

夕飯はフードコートでハンバーガーを食べて、ホテルに戻りました。

3日目

翌日の朝食は、ホテルのすぐ前にあるロイヤル・ハワイアンセンターにある Island Vintage Coffee で、アサイーボウルを食べました。これ、めっちゃ美味しかったです。

f:id:TonyTonyKun:20190812012744j:plain

この日のメインは、ウェット アンド ワイルドです。オアフ島の西にあり、空港やパールハーバーのもう少し先になります。

日本でホテルからの送迎と入場券がついたツアーを申し込んでおきました。車で30分ほどで到着しました。

f:id:TonyTonyKun:20190812012839j:plain

ウェット アンド ワイルドは、ハワイで唯一のウォーターパークで、スライダーや波のプールが充実しているので、一日楽しめました。

f:id:TonyTonyKun:20190812012924j:plain
f:id:TonyTonyKun:20190812013009j:plain

夕飯は、ウルフギャング・ステーキハウスに行きました。ロイヤル・ハワイアンセンターの3階にあります。看板メニューのポーターハウス・ステーキは、テンダーロインとショートロインの2種類が楽しめて、ボリューム満点で美味しかったです。

4日目

翌日は、ハナウマ湾へシュノーケリングに行きました。ホテルから車で20分ほどですが、ライフジャケットやフィンをレンタルするツアーだったので、途中でショップに寄ってから向かいました。

ハナウマ湾は、正確にはハナウマ湾自然保護区と呼ばれる,自然保護区内にあるビーチです。

f:id:TonyTonyKun:20190812013742j:plain

入場料($7.5)を払ってから、ビーチに下りる前に約10分間のビデオ鑑賞が義務付けられています。キレイなビーチが広がり、サンゴ礁に集まるカラフルな魚たちがたくさん観ることができました。

f:id:TonyTonyKun:20190812013822j:plain
f:id:TonyTonyKun:20190812013915j:plain

今回の旅行に向けて、プールやビーチで貴重品を持ち歩くためと水中写真撮影のために、スマホの防水ケースを購入しました。

防水は問題なかったのですが、水中だとケースの上からスマホを操作できないんですね。キレイな魚たちの写真を撮りたかったのですが、少し残念でした。それでも十分に楽しめましたが。

f:id:TonyTonyKun:20190812014004j:plain

最後のディナーは、参加したメンバー全員でスター・オブ・ホノルル号に乗って、サンセットディナークルーズを楽しみました。

f:id:TonyTonyKun:20190812014033j:plain

船の下にも、カラフルな魚たちが沢山いました。

f:id:TonyTonyKun:20190812014105j:plain

コース料理を食べたり、目の前でダンサーがハワイアンショーを踊ったり、社長の誕生日をお祝いしたり、楽しい時間を過ごせました。

f:id:TonyTonyKun:20190812020953j:plain

船上からの景色は、こんな感じでした。

f:id:TonyTonyKun:20190812014204j:plain
f:id:TonyTonyKun:20190812014247j:plain

5日目

最終日は早朝から移動となり、11時の便で日本に帰国しました。ハワイでの4日間は、あっと言う間だったので、また行きたいですね。
とくに、ダイヤモンドヘッド山頂からの眺めとハナウマ湾のシュノーケリングが良かったです。アサイーボウルも美味しかったので、表参道の Island Vintage Coffee に行ってみようかな。
www.islandvintagecoffee.co.jp