2022/07/31 JAWS-UG 関西女子会 に参加してきました
2022/07/31 日曜日に大阪は本町で開催された JAWS-UG 関西女子会 [誰でも参加OK] AI で人を笑わせてみよう!ハンズオンに参加してきました。
「家族を置いて女子会???」
「またサメのやつ?」
と妻に白い目で見られ誹 (そし) られながら、お昼前に出発しました。僕は普段リモートワークでほとんど外出しないため、太陽が真上にある時間に徒歩 5 分のバス停まで歩くのが不安でしたが、案の定バスに乗車する頃には背中が汗だくでした。
寄り道
少し脱線しますが、JR 大阪駅の桜橋口を出てドーチカ(ドージマ地下センター)にある ダル食堂 で昼食をいただきました。
7 年前に中之島で働いていたときによくお世話になっていたお店で、積み上げられたカツカレーが名物のお店なのですが (ステーキ料理なんかもあります)、僕は、この黒カレーばっかり注文していました。
パリッとしたチキンカツにルーを絡めて米といただくと、衣を砕く度に口の中に旨味が広がって至福の咀嚼が進みます。サイズは並で十分な量があり満足感があります。大は頼んだことがありません。
転職前にいただいたのが最後なので、多分 3 年ぶりぐらいでしたがコロナの影響で潰れてなくてよかったです。
会場
昼食後、大阪メトロ四つ橋線に乗って会場に向かいました。
会場は、本町心斎橋レンタルスペース会議室ということで iPhone の純正アプリだと大通りのビルがポイントされたのですが誤りで、Google Map に切り替えて辿り着くことが出来ました。
四つ橋線の本町駅で南東の出口を出て、四つ橋筋を南に進み、東に折れて環状線の高架を超えてしばらく進むとファミリーマートがあります。その角を南に曲がったら会場のビルがありました。
室内は業務用のクーラーが効いていて快適にハンズオンを楽しむことが出来ました。
座学からのハンズオン
亀田さんがボケて電笑戦の舞台裏の話なども織り混ぜながら、データラベリングは Amazon SageMaker Ground Truth とか、HPO (ハイパーバイザーオプティマイゼーション) のチューニング、バッチ変換ジョブ (バッチ推論) などの座学を説明いただきました。
ハンズオンは、森さんが作成してくださった資料を元に手順を進めていきました。上限緩和申請を忘れていた人や、申請したけど AWS サポートから当日まで返信がなく間に合わなかった人などは雰囲気を楽しむ形で、参加者の半分ぐらいの方がトライされている印象でした。
https://github.com/daiki-mori/bokete-denshosen-jawsugkgirls20220731
注意点
ハンズオンにトライする際の注意点を記載しておきます。
個人的には今度、夏休みの自由研究として息子たちとやってみよう思うので、その際の備忘として残します。
以下リンクの Jupiter Notebook をクローンして再生ボタンを押しながら進めていく形になります。image_url という変数に画像を指定することで AI がボケてくれます。
bokete-denshosen/notebook/keras_baseline/bokete_keras_on_sagemaker.ipynb
JPG を指定する
png データや webp は使えないそうです。また、イラストは 3D 認識できないところからほとんど認識しないそうです。パブリックにアクセスできる URL を指定すれば読み込んでくれます。
ml インスタンスがリソース不足で起動しない場合がある
コードをそのまま拝借しますが、上限緩和申請が完了していても AWS インフラ基盤にてキャパシティ不足が発生してエラーになる可能性があります。(当日、僕が直面しました。)
その場合は、インスタンスタイプを変更する必要があります。
"ml.g4dn.xlarge" から "ml.p3.2xlarge" に変更したところ、うまく動作しました。
from sagemaker.tensorflow import TensorFlowProcessor
tags = [{'Key': 'Project', 'Value': 'bokete'}]
tf_processor = TensorFlowProcessor(
framework_version="2.3",
role=role,
instance_type="ml.p3.2xlarge", ⇦ ここを書き換え
instance_count=1,
volume_size_in_gb=100,
base_job_name='bokete-tf-keras-preprocessing',
py_version='py37',
tags=tags
)
削除時の注意点
ユーザー削除処理が 10 分以上経過しても終わらない (Deleted 状態にならない) 事象が発生しました。こちらは、Jupiter Notebook を開いていると削除されないことを教えていただきました。Jupiter Notebook を終了するとするに Deleted ステータスに変更されました。
モデル、エンドポイントも削除する
ユーザー削除、ドメイン削除後も念の為、モデル、エンドポイントが削除されたか確認しておくべきとのことでした。
最後に AI のボケを一つご紹介します。
うーん、これは AI なりのブラックジョークですかねw。
「学習量が少ないため」だそうですが、クリティカルヒットのボケはなかなか出ませんが、学習が終わっておれば image_url のところから何度もトライできるので大当たりが出る可能性があります。
以上、2022/07/31 JAWS-UG 関西女子会 に参加したレポートでした。
日曜日に家族サービスを断って暑い中遠方まで足を伸ばして参加しましたが、そんな労力を吹き飛ばす想定以上に楽しい時間と勉強ネタをいただくことが出来ました。
特にハンズオンは、オンラインだったらインスタンスのキャパシティ不足のエラーが表示されたで諦めていたと思います。
周りでわちゃわちゃ試行錯誤されているのを拝見して、自分もあと少しだけ足掻いてみようと思いましたし、亀田さん始め、皆さんからヒントをいただくことで完走ができました。
オフラインいいですね!ありがとうございました。