0
0

EC2(Debian)インスタンスにReazonSpeech v2をインストールする手順 

Posted at

はじめに

こちらの記事は「EC2(AmazonLinux2023)インスタンスにReazonSpeech v2をインストールする手順」の「Debian」版です!
詳しくはそちらの記事をご参照ください。
では早速、はじめていきましょう!

使用技術

文字起こし:reazonspeech-nemo-v2

実行環境サーバー:AWS EC2(Debian)

前提条件

・HuggingFaceのアカウントが取得済みであること

目次

1.事前準備

2.環境構築

3.ソースのデプロイ

4.コード実行

5.まとめ

それでは、実際の環境構築に進んでいきましょう!

1.事前準備

利用モデルの利用規約を許諾する

2.環境構築

EC2インスタンスの起動

  • AWSコンソールから「EC2」サービスへアクセス
  • 下図を参考にインスタンス起動

image.png

  • AMI:「Debian 12(HVM), SSD Volume Type」を選択
  • インスタンスタイプ:t2.large(メモリ8GBほしいので)
  • ボリューム:70GiB(諸々のインストールで結構容量食う)

作成したインスタンスを選択し「インスタンスを開始」

SSHクライアントからインスタンスへ接続し下記のコマンドを実行

# aptのアップグレード
sudo apt update
sudo apt upgrade

# python関連およびgitのインストール
sudo apt install python3
sudo apt install python3-pip
sudo apt install python3.11-venv
sudo apt install git
# Pythonのvenv環境作成
python3 -m venv venv
source venv/bin/activate

# Cythonをインストール
pip install Cython

# 依存関係のあるパッケージのインストール
pip install numpy==1.23.5
pip install huggingface_hub==0.23.2
pip install nemo_toolkit
# ReazonSpeechをインストール
cd /tmp
git clone https://github.com/reazon-research/ReazonSpeech
pip install ReazonSpeech/pkg/nemo-asr

ソースのデプロイ

「app.py」ファイルを任意のディレクトリにデプロイする

app.py
from reazonspeech.nemo.asr import load_model, transcribe, audio_from_path

# 実行時にHugging Faceからモデルを取得します (2.3GB)
model = load_model(device='cpu')

# ローカルの音声ファイルを読み込む
audio = audio_from_path('test.wav')

# 音声認識を適用する
ret = transcribe(model, audio)

print(ret.text)

※「音声ファイル(test.wav)」は別途用意し、app.pyと同一のディレクトリにおいてください。

4.コード実行

デプロイしたディレクトリに移動して、app.pyの実行

command
python app.py

音声ファイルの文字起こし結果が、標準出力されたら成功です。

5.まとめ

今回はEC2インスタンスに音声認識モデル「ReazonSpeech v2(nemo)」をインストールして、実際に文字起こしを行うという手順でした。
パッケージの依存関係で数日ハマりましたが、何とか動作するパターンを見つけました。

改めて下記にまとめます。

numpy==1.23.5
huggingface_hub==0.23.2
nemo_toolkit

それではまた別の記事でお目にかかります。
ありがとうございました。

6.参考記事

[参考サイト]
https://research.reazon.jp/projects/ReazonSpeech/howto.html#python
https://github.com/NVIDIA/NeMo/issues/9793

0
0
0

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
0
0