Core ML Tools本 v1.0脱稿までに加筆したい内容 #技術書典 8
Core ML Tools / coremltoolsの本をコツコツ書いていて、昨年12月にv0.1.0で初公開して以来、知見がたまるごとに加筆して今はv0.5.0。ページ数にして120ページにもなった。
で、これを今月末の「技術書典8」で印刷して販売する予定で、その時点でバージョンをv1.0としようと思っているのだけど、当然coremltoolsの全APIを網羅することはできないわけで、かといってこのままベストエフォートでやっているとどうしても盛り込みたい内容が入っていないままv1.0を冠する事態になりかねない。
というわけで、盛り込みたい内容をリストアップしつつ、あと1週間そこらで書けそうかどうかの見込みについて検討しつつ、確実に加筆する項目を決める。
Flexible shape
Python, Swiftともにサンプル(超解像モデル)はできていて、結果のスクショも撮った。あとは書くだけ。
パイプライン
これは自分の仕事の上で非常に使う機会の多そうな機能で、本に書きつつ試しておきたい機能なんだけど、どういうモデルをパイプライン化するのがいいか決め兼ねたりしていてまだまったく試してもいない状況。
mlmodelファイルフォーマット
.protoの読み方。これを把握しておけばCore MLという技術全体の見通しがよくなって今後のアップデートも追いかけやすくなるし、執筆側の事情でいうと下書きのままになってるメタ情報付与の説明もスッキリ書ける。
転移学習・ファインチューニング
ディープラーニングの実践型の書籍には大抵載っている、重要な手法。しかしこれってKerasとかのレイヤーでやることであって、軸がcoremltoolsに移った今となっては必須事項でもない。
オンデバイスでモデルをupdateする文脈でこれを追記するか?
クオンタイズ
モデルサイズを小さくする。書くのは難しくないし、サンプル選びも難しくないし、メリットも結果も明白。精度とのトレードオフは「どれぐらい」というのを明言しづらいというのはあるが。
Create MLで作成したモデルのカスタマイズ
今後Create MLでできることが増えていくと、実務では実はこのケースは増えてきそう。Create MLでつくったモデルをUpdatableにするとか。そもそもCreate MLでつくったモデルはCore ML Toolsでそのままでは読み込めないので、そこから検討が必要。
いろいろ試した上で知見がたまれば、「Create ML × Core ML Tools」という章を加筆してもいいかもしれない。
GANとか音声処理とか自然言語処理とか
このへんのモデルはまだ取り扱ってないが、coremltoolsの「まだ解説していないAPI」を使う題材を優先しているのでなかなか登場の機会がない。
本の目次の魅力がアップするし、僕としても試してみたいので「演習編」みたいな章を追加して加筆するか。
v1.0までに加筆する項目(優先度順)
最後まで読んでいただきありがとうございます!もし参考になる部分があれば、スキを押していただけると励みになります。 Twitterもフォローしていただけたら嬉しいです。 https://twitter.com/shu223/