こんにちは!
プログラミング未経験文系出身、Elixirの国に迷い込んだ?!見習いアルケミストのaliceと申します。
今回は、2023/5/23開催「LiveViewJP#17:画像識別AIや音声識別AI、お絵描きAIをLivebookでハンズオン」で学んだことをまとめます。
目的
Livebookを使って画像識別AIや音声識別AI、お絵描きAIを使ってみます。
実行環境
Windows 11 + WSL2 + Ubuntu 22.04
Elixir v1.14.3
Livebook v0.9.2
環境構築
Livebookのインストール
Dockerコンテナからの環境構築、アプリ版の環境構築もありますが今回はCLI経由で実施しました。
※インストール方法の一覧はこちらから(https://github.com/livebook-dev/livebook#installation)
git clone https://github.com/livebook-dev/livebook.git
cd livebook
mix deps.get --only prod
MIX_ENV=prod mix phx.server
localhostでLivebookが立ち上がります。
スマートセルを使うための準備
1. +New notebookを押下します。
2. +Smartを押下し、プルダウンからNeural Network taskを選択します。
3. 依存パッケージの導入を許可します
4. 準備完了です。
実際に遊んでみた
画像識別AI
1. TASKから Image classificationを選択し、一度evaluate。
2. 画像を撮影またはアップロードします。
3. Runを押下します。
4. できました(^▽^)
音声識別AI(英語)
1. TASKから Speech-to-textを選択し、一度evaluate。
2. 音声を録音またはアップロードします。
3. Runを押下します。
4. できました(^▽^)
音声識別AI(日本語に対応する)
1. TASKから Speech-to-textを選択し、Convert to Code cellを押下します。
2. 表示されたコードブロックを以下のように書き換え、一度evaluate。
{:ok, model_info} = Bumblebee.load_model({:hf, "openai/whisper-tiny"})
{:ok, featurizer} = Bumblebee.load_featurizer({:hf, "openai/whisper-tiny"})
{:ok, tokenizer} = Bumblebee.load_tokenizer({:hf, "openai/whisper-tiny"})
{:ok, generation_config} = Bumblebee.load_generation_config({:hf, "openai/whisper-tiny"})
generation_config = Bumblebee.configure(
generation_config,
max_new_tokens: 100,
+ forced_token_ids: [
+ {1, Bumblebee.Tokenizer.token_to_id(tokenizer, "<|ja|>")},
+ {2, Bumblebee.Tokenizer.token_to_id(tokenizer, "<|transcribe|>")},
+ {3, Bumblebee.Tokenizer.token_to_id(tokenizer, "<|notimestamps|>")}
+ ]
)
serving =
Bumblebee.Audio.speech_to_text(model_info, featurizer, tokenizer, generation_config,
compile: [batch_size: 1],
defn_options: [compiler: EXLA]
)
↓ソースコード教えていただきありがとうございました。引用させていただきました。
↓音声識別AIの仕組みを学ばせていただきました。ありがとうございます。
3. 音声を録音またはアップロードします。
4. Runを押下します。
5. できました(^▽^)
お絵描きAI
1. TASKから Text-to-imageを選択し、一度evaluate。
2. プロンプトを入力します。
3. Runを押下します。
※出力する枚数、step数、プロンプトの内容次第で時間がかかることがあります。
4. できました(^▽^)
~Elixirの国のご案内~
↓Elixirって何ぞや?と思ったらこちらもどぞ。Elixirは先端のアレコレをだいたい全部できちゃいます
↓ゼロからElixirを始めるなら「エリクサーチ」がおすすめ!私もエンジニア未経験から学習中です。
↓We Are The Alchemists, my friends!1
Elixirコミュニティは本当に優しくて温かい人たちばかり!
私が挫折せずにいられるのもこの恵まれた環境のおかげです。
まずは気軽にコミュニティを訪れてみてください。2
-
@torifukukaiouさんのAwesomeな名言をお借りしました。Elixirコミュニティを一言で表すと、これに尽きます。 ↩