LoginSignup
6

Livebookを使って画像識別AIや音声識別AI、お絵描きAIを使ってみた

Posted at

こんにちは!
プログラミング未経験文系出身、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)

shell
git clone https://github.com/livebook-dev/livebook.git
cd livebook
mix deps.get --only prod
MIX_ENV=prod mix phx.server

localhostでLivebookが立ち上がります。

image.png

スマートセルを使うための準備

1. +New notebookを押下します。

スクリーンショット 2023-05-24 11460101.png

2. +Smartを押下し、プルダウンからNeural Network taskを選択します。

image.png

3. 依存パッケージの導入を許可します

image.png

4. 準備完了です。

image.png

実際に遊んでみた

画像識別AI

1. TASKから Image classificationを選択し、一度evaluate。

image.png

2. 画像を撮影またはアップロードします。

image.png

3. Runを押下します。

image.png

4. できました(^▽^)

image.png

音声識別AI(英語)

1. TASKから Speech-to-textを選択し、一度evaluate。

image.png

2. 音声を録音またはアップロードします。

image.png

3. Runを押下します。

image.png

4. できました(^▽^)

image.png

音声識別AI(日本語に対応する)

1. TASKから Speech-to-textを選択し、Convert to Code cellを押下します。

image.png

2. 表示されたコードブロックを以下のように書き換え、一度evaluate。

elixir
{: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. 音声を録音またはアップロードします。

image.png

4. Runを押下します。

image.png

5. できました(^▽^)

image.png

お絵描きAI

1. TASKから Text-to-imageを選択し、一度evaluate。

image.png

2. プロンプトを入力します。

image.png

3. Runを押下します。

※出力する枚数、step数、プロンプトの内容次第で時間がかかることがあります。
image.png

4. できました(^▽^)

image.png

~Elixirの国のご案内~

↓Elixirって何ぞや?と思ったらこちらもどぞ。Elixirは先端のアレコレをだいたい全部できちゃいます:laughing::sparkles::sparkles:

↓ゼロからElixirを始めるなら「エリクサーチ」がおすすめ!私もエンジニア未経験から学習中です。

We Are The Alchemists, my friends!:bouquet:1
Elixirコミュニティは本当に優しくて温かい人たちばかり!
私が挫折せずにいられるのもこの恵まれた環境のおかげです。
まずは気軽にコミュニティを訪れてみてください。2

  1. @torifukukaiouさんのAwesomeな名言をお借りしました。Elixirコミュニティを一言で表すと、これに尽きます。

  2. @kn339264さんの素敵なスライドをお借りしました。Elixirコミュニティはいろんな形で活動中!

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6