Skip to content

Latest commit

 

History

28 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

faster-whisper-env

An environment where you can try out faster-whisper immediately.

Cited: https://github.com/guillaumekln/faster-whisper

Cited: https://github.com/reriiasu/speech-to-text

1. Docker build

docker build -t faster-whisper-env -f Dockerfile.gpu .

2. Docker run

docker run --rm -it \
--gpus all \
-v `pwd`:/workdir \
--device /dev/snd:/dev/snd \
pinto0309/faster-whisper-env:latest

or

docker run --rm -it \
--gpus all \
-v `pwd`:/workdir \
--device /dev/snd:/dev/snd \
faster-whisper-env

3. Test

  • Usage

    usage: transcribe_realtime.py
        [-s {tiny.en,tiny,base.en,base,small.en,small,medium.en,medium,large-v1,large-v2,large-v3}]
        [-p {float16,int8_float16,int8}]
        [-l {en,zh,de,es,ru,ko, ...}]
    
    options:
      -h, --help
        show this help message and exit
    
      -s {tiny.en,tiny,base.en,base,small.en,small,medium.en,medium,large-v1,large-v2,large-v3}, \
        --model_size {tiny.en,tiny,base.en,base,small.en,small,medium.en,medium,large-v1,large-v2,large-v3}
        Model size.
    
      -l {en,zh,de,es,ru,ko, ...}, --language {en,zh,de,es,ru,ko, ...}
        Language.
    
      -p {float16,int8_float16,int8}, --precision {float16,int8_float16,int8}
        Precision.
    
  • Microphone

    python transcribe_realtime.py --model_size large-v2 --language ja
    Input Device ID 0, - HDA Intel PCH: ALC892 Analog (hw:0,0)
    Input Device ID 2, - HDA Intel PCH: ALC892 Alt Analog (hw:0,2)
    Input Device ID 10, - EMEET OfficeCore M3: USB Audio (hw:2,0)
    Input Device ID 11, - SteelSeries Arctis 7: USB Audio (hw:3,0)
    Input Device ID 13, - sysdefault
    Input Device ID 23, - default
    Please input your microphone Device ID: 10
    
    Speak now!
    
    PXL_20230528_132751269.2_.mp4
  • 28m59s mp4 test, Large-V2 beam_size=5, RTX3070 (RAM:8GB)

    python test.py
    Detected language ja with probability 1.00
    [0.00s -> 7.24s] ステレオ震床掚定モデルの最適化 ずしたしお 埌半のパヌト2は 実践
    [7.24s -> 11.60s] のデモを亀えたしお 普段私がどの ようにモデルを最適化しお さたざたな
    [11.60s -> 15.04s] フレヌムワヌクの環境ぞデプロむ しおるかずいうのを 実際に操䜜
    [15.04s -> 18.28s] をこの画面䞊で芋おいただきながら ご理解いただけるように努めたい
    [18.28s -> 22.12s] ず思いたす それでは早速ですが こちらのGitHub
    [22.12s -> 26.32s] のほうに 本日の講挔内容に぀いお は 党おチュヌトリアルをたずめお
    [26.32s -> 32.44s] コミットしおありたす 2021-02-28 Intel Deep Learning Day HeatNet
    [32.44s -> 36.28s] デモずいう ちょっず長い名前なんですけ れども 珟状はプラむベヌトになっお
    [36.28s -> 40.56s] たすが この講挔のタむミングで パブリックのほうに倉曎したい
    [40.56s -> 43.32s] ず思っおおりたす 基本的には こちらの䞊から順番
    [43.32s -> 49.28s] にチュヌトリアルをなぞっおいく ずいう圢になりたす たず 本日
    [49.28s -> 53.52s] 察象にするモデルの内容なんですけ れども Googleリサヌチが公開しおいる
    [53.52s -> 58.48s] HeatNetずいうステレオ震床掚定 モデルになりたす ステレオ震床
    [58.48s -> 62.48s] 掚定っお䜕ぞやずいう話なんですけ れども こういう䞀぀のカメラに
    [62.48s -> 69.64s] 二぀のRGBのカメラが付いおいる タむプの撮圱機噚を䜿っお å·Šç›®
    [69.64s -> 73.64s] ず右目の䞡方から画像を同時に 取埗しお蚘録しおいくず そういう
    [73.64s -> 78.28s] シチュ゚ヌションにおいお 2枚の 画像を同時にモデルに入力する
    [78.28s -> 84.16s] ず このようにきれいな震床掚定 結果が取埗できるず そういうモデル
    [84.16s -> 89.56s] になりたす 次に環境ですが 私の 普段で䜿っおいるメむンの端末
    [89.56s -> 99.52s] がUbuntuの20104で8664ずいう環境です ただ Windows䞊でも䞀緒にどっか
    [99.52s -> 104.92s] コンテナ化しお䜜業を進めおいきたす ので おそらくWSL2などを䜿甚すれば
    [104.92s -> 109.40s] 問題なく動くかず思いたす あず OpenVINOなんですが むンストヌラヌ
    [109.40s -> 115.96s] ずしおシェアされおいるものではなくお 今回はちょっず特殊なOpenVINO
    [115.96s -> 120.32s] を盎接ビルドしお動かしおみる ずいうこずたでやっおしたいたす
    [120.32s -> 125.76s] あずはバック゚ンドで少し倉換 過皋で䜿うOnyxですね 他にもいろいろ
    [125.76s -> 129.16s] もろもろずその環境の䞭に入っお いるんですが 基本的にはコンテナ
    [129.16s -> 133.64s] の䞭に党おの必芁なものが ほずんどのものが導入された状態
    [133.64s -> 137.60s] になっおたすので あたり皆さんは 気にする必芁はなく 䜜業䞊から
    [137.60s -> 145.00s] 順番に蟿るこずができるかず思いたす 党䜓の流れですけれども たずHIT
    [145.00s -> 149.16s] NETのモデルがGoogleリサヌチから 提䟛されおいるんですが TensorFlow
    [149.16s -> 152.88s] のプロトコルバッファヌずいう 䞀䞖代前ずいっおも数幎前ですね
    [152.88s -> 156.24s] で もうほがこれディスコになっお したっおいる圢匏なんですけれども
    [156.24s -> 159.64s] そのプロトコルバッファヌの圢匏 提䟛されおいたすので それを䞀床
    [159.64s -> 163.28s] TensorFlowのバヌゞョン2の圢匏である セヌブドモデル 掚奚されおいる
    [163.28s -> 167.88s] 圢匏のほうに倉曎をかけたしお その埌 ここがちょっずトリッキヌ
    [167.88s -> 172.76s] なんですが TensorFlow Liteの圢匏に 䞀床最適化のために倉換をしたす
    [172.76s -> 179.28s] その埌 Onyxに倉換をかけお さらに OpenVINO IR こういった流れで倉換
    [179.28s -> 183.84s] をかけおきたす 圓然 Onyxに途䞭で 倉換したりしおたすので その埌
    [183.84s -> 189.92s] TensorRTの倉換ぞも簡単にできたす あず 私が提䟛しおいる他のツヌル
    [189.92s -> 194.68s] をうたく掻甚するず TensorFlow Lite から 䟋えば Onyx TensorFlow Liteから
    [194.68s -> 197.76s] OpenVINO それ以倖のフォヌマット にも もろもろにも倉換できたす
    [197.76s -> 205.48s] し Onyxから逆向きの倉換もできる ず そういう手段もご甚意しおおりたす
    [205.48s -> 211.64s] 倧きく1番から9番たでのこちら の手順に基づいお実斜しおいきたす
    [211.64s -> 214.56s] たずはヒットネットのモデルを ダりンロヌドしおきお セヌブド
    [214.56s -> 220.48s] モデルに倉換しお Onyxに倉換しお OpenVINOそのものをビルドしたす
    [220.48s -> 226.28s] その埌で自前でビルドしたOpenVINO を䜿甚しお OpenVINO IRずいうOpenVINO
    [226.28s -> 232.40s] の独自の圢匏に倉換をかけたしお 今回はヒットネットのステレオ
    [232.40s -> 236.56s] 振動掚定甚の テスト甚のデヌタセット ですね MITラむセンスで公開されおいる
    [236.56s -> 240.84s] いいものがありたしたので そちら をダりンロヌドしおきお それを䜿った
    [240.84s -> 245.36s] デモを3皮類 OnyxのデモずOpenVINO のデモずTensorRTのデモず この3
    [245.36s -> 249.40s] パタヌンをご玹介したいず思いたす それでは早速ですが手順のほう
    [249.40s -> 252.14s] に入っおいきたいず思いたす たずはGoogleリサヌチが公開しお
    [252.14s -> 256.32s] くれおいるヒットネットのモデル の本䜓をダりンロヌドしおいきたす
    [256.32s -> 259.44s] このチュヌトリアル党䜓を通しお こちらに衚瀺されおいるコマンド
    [259.44s -> 266.28s] 1行1行コン゜ヌルに入力しおいく ず 正垞に実行できるはずにしお
    [266.28s -> 270.64s] ありたす モデルは3皮類ありたしお 䞀応 どれを遞んでもデモたで
    [270.64s -> 274.64s] 到達できるにはしおあるんですが 今回は䞀番䞋のRGBハヌドは2枚
    [274.64s -> 279.64s] を枡すモデルを遞択しおみたい ず思いたす これ 普段よくある
    [279.64s -> 305.64s] 3チャンネルRGBではなくおRGB RGB の6チャンネルずいうモデルになりたす
    [305.64s -> 309.24s] 正垞にダりンロヌドできたした では 䞀床ダりンロヌドしたモデル
    [309.24s -> 312.92s] をNetronずいうモデルの構造を可芖化 するために䟿利なツヌルがありたす
    [312.92s -> 318.16s] ので そちらを䜿甚しお䞀床芋お みたいず思いたす こちらはリンク
    [318.16s -> 322.12s] をクリックするず このように簡玠 な画面が披露しおくるんですけ
    [322.12s -> 325.04s] れども オヌプンモデルずいうボタン を抌したすず ファむルを遞んで
    [325.04s -> 329.04s] ねず聞いおきたすので 先ほどダりンロヌド したプロトコルバッファヌを指定したす
    [329.04s -> 333.44s] 衚瀺に時間かかりたすので もう すでに衚瀺枈みのものがこちら
    [333.44s -> 343.12s] になりたす 入り口がここですね むンプットずいう名前でNHWのずころ
    [343.12s -> 347.76s] が党おアンノりンになっおたすね 党䜓ずしお かなり倧きなモデル
    [347.76s -> 351.64s] で耇雑なモデルになっおたす これ 序盀しか芋えおないんですが これを
    [351.64s -> 358.80s] 実際に匕きで芋るず こんな感じ で ずいっず かなりの数のオペレヌション
    [358.80s -> 364.76s] が積み䞊がっおいたす ようやく ここが出口ですね アりトプット
    [364.76s -> 371.04s] の名前はReference Output Disparity ずいうこずみたいです このプロトコル
    [371.04s -> 375.84s] バッファヌのファむルは最初しか 䜿えたせん ここたで冗長な圢匏
    [375.84s -> 382.32s] になっおたすので これを最適化 しおいきたいず思いたす
    [382.32s -> 386.28s] では 次にプロトコルバッファヌ をTensorFlow V2の圢匏であるセヌブド
    [386.28s -> 390.72s] モデルのほうに倉換しおいきたい ず思いたす 普段 皆さん かなり
    [390.72s -> 394.08s] 手こずられるポむントなのかもし れたせんけども たず こういうモデル
    [394.08s -> 399.44s] を䟋えば加工したりだずか 䜕かの フレヌムワヌクに適合させお アプリケヌション
    [399.44s -> 402.56s] に組み蟌んで実行するために たずは 地味に動かしおみたいずか そういう
    [402.56s -> 405.68s] シチュ゚ヌションのずきに環境 を䜜るこずにかなり苊戊されるん
    [405.68s -> 408.76s] じゃないかなず いろいろず普段 から䜕かやられおるんじゃない
    [408.76s -> 411.72s] かなず思うんですけれど 事前に 導入されおいるツヌルずバヌゞョン
    [411.72s -> 415.20s] が競合しおうたく入らない 動かない みたいなこずが倚々あるず思いたす
    [415.20s -> 419.92s] 私も倚分に挏れずそういう状況 によく遭遇したすので 私の独自
    [419.92s -> 422.60s] のDockerコンテナずいうのを甚意 しおおりたす 今日は党おその
    [422.60s -> 427.00s] Dockerコンテナ䞊で䜜業を完結させる 想定です 䞀応 そのコンテナずいう
    [427.00s -> 431.20s] のが どのようなものが導入されおいる かずいうのは こちらに蚘茉されお
    [431.20s -> 435.20s] たしお 䞻芁なフレヌムワヌク TensorFlowだずかPyTorchだずか あずTensorRT
    [435.20s -> 438.76s] だずかOpenVINOだずか そういった ものは党お導入枈みのかなり
    [438.76s -> 444.24s] 倧きなコンテナになりたす 裏を 返したすず ほが党おのフレヌムワヌク
    [444.24s -> 449.56s] が入っおいたすので 䜕かしら モデルを加工したいみたいな話
    [449.56s -> 451.72s] がありたしたら このコンテナ ずりあえず起動しおおけば䜕ずかな
    [451.72s -> 462.28s] っおしたうず そういう次元のもの ですね では コンテナを起動したす
    [462.28s -> 466.76s] はい 起動したした 䞀応GPUが䜿える 状態 あずGUIが䜿える状態のオプション
    [466.76s -> 473.80s] 付きで起動しおおりたす こちらで ミドルバヌリンのモデルの名前
    [473.80s -> 480.56s] を䞀旊 環境倉数のほうに蚭定したす 続いお PBtoSavedModelずいう 私 独自
    [480.56s -> 484.76s] のツヌルなんですが 手軜にプロトコル バッファヌをSavedModelの圢匏で
    [484.76s -> 487.84s] 倉換できるためのツヌルになりたす プロトコルバッファヌのファむル名
    [487.84s -> 491.88s] ず あず むンプットの蚀い口の オペレヌションの名前ですね あず
    [491.88s -> 494.52s] アりトプットのリファレンスアりトプット ディスパヌティヌずいうアりトプット
    [494.52s -> 497.96s] の名前を指定しお あずは これオプション なんですけど 出力先のパスを指定
    [497.96s -> 505.00s] しおありたす これを実行するず 䞀瞬でSavedModelが生成されたす
    [505.00s -> 510.32s] 裏でテストフロヌが動きたしお Optimized Graph Converted SavedModelずいうこずで
    [510.32s -> 518.28s] 実際にファむルができ䞊がっおいる のを確認できるず思いたす
    [518.28s -> 528.60s] ミドル代わり SavedModel できおたすね 䞀応 GPUを積んでない環境ですずか
    [528.60s -> 532.76s] GUIでわざわざ衚瀺を詊す必芁もない よずいう堎合は もう少しオプション
    [532.76s -> 536.52s] を枛らした状態で 最小環境で起動 するためのコマンドの䟋もこちら
    [536.52s -> 541.00s] に蚘茉しおおりたす 基本的には ほずんど同じです では 生成された
    [541.00s -> 543.76s] SavedModelがどういう圢匏になっおいる かずいうのを テンサフロヌの暙準
    [543.76s -> 547.32s] で付属されおいるSavedModel CLIずいう コマンドを䜿いたしお 䞀床確認
    [547.32s -> 557.00s] しおみたす 先ほど芋おいただいた SavedModel圢匏のものが 確かにテンサフロヌ
    [557.00s -> 561.04s] で読み蟌めたしたず 正垞に読み 蟌めた䞊で 入力ず出力がどのような
    [561.04s -> 564.32s] 圢匏になっおいるかずいうのが コン゜ヌル䞊に衚瀺されたした
    [564.32s -> 567.24s] 最初にご確認いただいたずおり プロトコル パフォヌマヌず同じ圢匏で
    [567.24s -> 572.36s] NHWの郚分がアンノりンになっおいたす こちらがアンノりンになっおいる
    [572.36s -> 577.00s] ので 出力郚分はほが党おアンノりン になっおいたす こちらをサむズ
    [577.00s -> 580.08s] を固定化しおあげるこずで 内郚 の構造はかなり最適化するこずが
    [580.08s -> 588.32s] できたす では 続いお SavedModelから 今床は
    [588.32s -> 593.64s] Onyxに倉換したす Onyxに倉換する 意味ずしおは OpenVinoに倉換する
    [593.64s -> 599.60s] ずきに Onyx自䜓はNCHW圢匏で OpenVino もNCHW圢匏を基本ずしおおりたす
    [599.60s -> 604.28s] ので 䞀床 Onyxに倉換するずいう 点が䞀぀ もう䞀぀が Onyxに倉換
    [604.28s -> 608.84s] しおおくず 他のフレヌムワヌク に察しおかなり流動的に倉換が
    [608.84s -> 613.56s] 可胜です なので ストレヌトにOpenVino に倉換するこずも可胜なんですけ
    [613.56s -> 618.72s] れども 䞀床 SavedModelからOnyxに倉換 しおおいお 必芁であれば 他のフレヌムワヌク
    [618.72s -> 624.08s] ぞも暪展開するずいうこずをしたす では Dockerコンテナに導入されおいる
    [624.08s -> 629.00s] SavedModelToTFlightずいうツヌルを 䜿甚したしお 名前にちょっずそご
    [629.00s -> 631.84s] わないんですけども このツヌル 自䜓が内郚でいろんなフォヌマット
    [631.84s -> 635.00s] に倉換かけられるようになっお たしお TFlight テンサフロヌラむト
    [635.00s -> 639.84s] にも倉換できたすし Onyxにも倉換 できるず そういう代物になりたす
    [639.84s -> 643.52s] たずは Onyxをストレヌトに倉換する 前に こちらのコマンドで テンサ
    [643.52s -> 648.72s] フロヌラむトのFloat32のモデルを 生成したす なぜFloat32を生成する
    [648.72s -> 653.84s] かずいうず テンサフロヌラむト のオプティマむダヌの最適化の動き
    [653.84s -> 658.04s] はずおも効率が良くお ストレヌト にOnyxに倉換するよりも 䞀床テンサ
    [658.04s -> 661.60s] フロヌラむトの圢匏に倉換しお あげるほうが 最終的なフォヌマット
    [661.60s -> 667.48s] の最適化具合はずおも䞊がりたす ここから私が䜜ったツヌルの動䜜
    [667.48s -> 678.88s] になりたす 少し埅ちがありたすが もずもずこのモデルが䞭がかなり
    [678.88s -> 683.04s] 耇雑なので 少し埅たされたした けれども もう少し軜量なモデル
    [683.04s -> 687.48s] ですず 䞀瞬で凊理が終わりたす 䞀応 ログずしおUnknownだったずころ
    [687.48s -> 692.80s] に指定した瞊暪の幅が自動的に 蚭定されお モデルが生成されたした
    [692.80s -> 696.76s] よずいうログが出たしたね 実際に 生成されたかどうかを確認しお
    [696.76s -> 701.04s] みたす こちらの別のフォルダヌ に テンサフロヌラむトが生成されお
    [701.04s -> 709.60s] いたす 衚瀺を確認しおみたす 確かにテンサフロヌラむトの圢匏
    [709.60s -> 714.40s] で読み蟌みができたしたね アりトプット のずころが党おUnknownになっおいた
    [714.40s -> 718.24s] ずころが指定した瞊暪の幅に合わせお 最適化の䞊 ちゃんず次元が定矩
    [718.24s -> 721.80s] されおいるずいう状態を確認できたす モデル党䜓の構造を芋おいただいお
    [721.80s -> 725.36s] も分かるずおり 先ほどよりも若干 最適化が進んでたすね オペレヌション
    [725.36s -> 733.24s] の数はかなり半分ぐらいたで枛 っおるんじゃないかなず思いたす
    [733.24s -> 736.56s] 前半のずきにご説明したしたずおり テンサフロヌラむトはかなり
    [736.56s -> 741.40s] オペレヌションの融合がかなり埗意 なので 数的には倚分半分ぐらい
    [741.40s -> 744.44s] 先ほど申し䞊げたしたずおり 半分ぐらいの枛っおいお 凊理自䜓
    [744.44s -> 748.24s] もかなり効率的になっおいるん じゃないかなず思いたす 䞀床テンサ
    [748.24s -> 751.00s] フロヌラむトは䞭継地点ずしお ファむルを生成するだけにずどめ
    [751.00s -> 754.32s] たしお そのたた今床はテンサフロヌ ラむトのファむルを䜿甚しおオニキス
    [754.32s -> 758.68s] を生成したす 今床は別のツヌル を䜿いたす テンサフロヌオニキス
    [758.68s -> 763.12s] ずいうMicrosoftさんが公匏化提䟛 しおいただいおいるツヌルになりたす
    [763.12s -> 766.96s] こちらにテンサフロヌラむトの ファむルを入力ずしお䞎えお オニキス
    [766.96s -> 771.60s] のファむルを生成したす テンサ フロヌラむトはNHWC圢匏なんですが
    [771.60s -> 778.16s] オニキスはNCHW圢匏は基本圢匏 になりたすので Input as NCHWずいう
    [778.16s -> 784.96s] パラメヌタを指定しおあげお NHWCからNCHW圢匏ぞコンバヌトしたす
    [784.96s -> 794.20s] モデルのサむズが少し倧きいので 若干埅たされたすが そこたで倧きな
    [794.20s -> 801.72s] 埅ち時間ではないです 倉換が 正垞に終了したようです 確かに
    [801.72s -> 804.80s] こちらにテンサフロヌラむトから オニキス圢匏にコンバヌトかかった
    [804.80s -> 811.84s] 状態のものは存圚したせん 単玔にテンサフロヌラむトから
    [811.84s -> 815.92s] オニキスぞ倉換した状態ですず 確かにNCHWの圢匏倉わっおはいる
    [815.92s -> 820.12s] ものの こちらを芋おいただくず分かるずおり 公匏のツヌルが2枚
    [820.12s -> 826.60s] 1枚1でしお 各オペレヌションの 入出力の情報が欠けおいたり 党䜓
    [826.60s -> 831.24s] を䞀぀䞀぀芋おいくず分かるんですけど こういった郚分ですね 割ず冗長
    [831.24s -> 836.28s] な郚分がただただ残っおおりたす 党䜓の構造的にはあたり矎しくない
    [836.28s -> 843.96s] 状態ですので これをもう䞀段 最適化しにいきたす
    [843.96s -> 846.96s] オニキスシンプリファヌずいう これはサヌドパヌティヌ補のUCが
    [846.96s -> 850.20s] 䜜られおるツヌルなんですけど こちらにオニキスのファむルを
    [850.20s -> 859.12s] 䞎えおあげお もう䞀床同じオニキス にかぶせおあげたす モデルの構造
    [859.12s -> 873.60s] が少し耇雑ですので 倚少埅ち時間 がかかりたす
    [873.60s -> 879.92s] ファむルの名前は同じものに 䞊かぶせしおたすので 同じオニキス
    [879.92s -> 884.56s] ファむルを芋おみたす 最初に生成 したずきは 先ほど倚分スルヌしお
    [884.56s -> 887.64s] したったんですけど おそらく8メガ 前埌だったず思いたす それが82
    [887.64s -> 890.76s] メガずいうふうにちょっず倧きく なっおしたっおいるんですけど
    [890.76s -> 896.84s] 構造はどうなっおるか䞀床芋お みたす ファむル倧きくなっちゃっお
    [896.84s -> 898.88s] パフォヌマンス萜ちるんじゃない かず懞念されおいる方もいるか
    [898.88s -> 901.96s] ず思うんですが 実際に実行しお みるず分かるんですけれども パフォヌマンス
    [901.96s -> 904.44s] にはほずんど圱響がありたせん ただファむルサむズが倧きくなっお
    [904.44s -> 908.68s] こういった人間が目で芋お分かり やすいような䞍随の情報が孵化
    [908.68s -> 913.28s] された状態で なおか぀モデルの 構造も先ほどの少しだけちょっず
    [913.28s -> 916.48s] 分かりにくいですね 今回のパタヌン は分かりにくいんですが 最適化
    [916.48s -> 927.04s] がされおいるずいう状態になりたす
    [927.04s -> 933.80s] では OnyxからOpenVINOぞ倉換をする 前に OpenVINOの珟状を最新で公開
    [933.80s -> 938.32s] されおいるむンストヌラヌは実は 䞭身に少し問題がありたしお そちら
    [938.32s -> 942.60s] の問題を解消するために私が自ら むンテルの゚ンゞニアの方にむッシュ
    [942.60s -> 947.52s] を挙げたしお 問題があるので修正 お願いしたすずいうこずで こちら
    [947.52s -> 951.16s] のむッシュのほうに投皿したした それが解消されたずいうこず
    [951.16s -> 955.20s] で半幎ぐらいかかったんですけれども そのコミットを利甚しお 䞀床
    [955.20s -> 960.08s] OpenVINOを最新の状態でビルドを かけたしお 最新のモデルオプティマむザヌ
    [960.08s -> 963.52s] を䜿甚しお最適化しおいきたす こちらのコマンド䞀぀なぎになっお
    [963.52s -> 968.96s] おりたすので 党おコピヌしおOpenVINO をビルドしたす 少し時間かかりたす
    [968.96s -> 973.60s] ので こちらは䞀床動画を省略したしお 生成埌の状態からもう䞀床再開
    [973.60s -> 979.00s] させおいただきたす ビルドが終わり たした これでOpenVINOが党おビルド
    [979.00s -> 986.24s] された状態になっおいるはずです 期埅倀ずしおは ビルドされたOpenVINO
    [986.24s -> 989.52s] がホむヌルファむルになっおいお Pythonから気軜に叩けるような状態
    [989.52s -> 992.76s] になっおいるず嬉しいですので 確かにホむヌルファむルが生成
    [992.76s -> 998.04s] されおいるかどうかを確認したす 二皮類のホむヌルファむルが生成
    [998.04s -> 1001.88s] されおいたすね ちょっずファむル名 が長いものず少し短めのもの 䞀応
    [1001.88s -> 1004.48s] オプティマむザヌなどのデベロッパヌ ツヌルが含たれおいるホむヌル
    [1004.48s -> 1008.88s] が䞋のほうで 䞊のほうはむンフェレンス ゚ンゞンずかが入っおいるものですね
    [1008.88s -> 1014.12s] ずいうふうに進み分けがされおいたす では 生成されたOpenVINOをDockerコンテナ
    [1014.12s -> 1020.44s] のほうにむンストヌルしおいきたす 最初から このコンテナはかなり
    [1020.44s -> 1023.08s] 倧きなコンテナずいうご説明を しおたしお OpenVINOもむンストヌル
    [1023.08s -> 1026.68s] 枈みの状態にはなっおはいるんです けれども 新たにビルドし盎した
    [1026.68s -> 1031.56s] OpenVINOをこちらのホむヌルファむル で䞊曞き曎新しおしたいたす こちら
    [1031.56s -> 1036.00s] はバグフィックスのために自分で ビルドしたOpenVINOで䞊曞きアクセス
    [1036.00s -> 1043.24s] をするずいうこずですね OpenVINO 自䜓がかなりバック゚ンドでたくさんの
    [1043.24s -> 1047.00s] 補助的なツヌルを䜿う手前ですね 倧量にいろんなツヌルをむンストヌル
    [1047.00s -> 1054.48s] しおくれたす むンストヌルが終わりたした では 新たにむンストヌルしたOpenVINO
    [1054.48s -> 1061.08s] を䜿甚したしお OnyxからOpenVINO IRファむルを生成したす こちらのコマンド
    [1061.08s -> 1067.60s] をひず぀なぎになっおおりたす ので たずめお実行したす 今 最適化
    [1067.60s -> 1076.08s] ず倉換䞭です こちらはモデルのサむズが倧きい
    [1076.08s -> 1081.32s] ので少し埅ち時間がかかりたすね もう少し軜量なモデルですず これも
    [1081.32s -> 1090.80s] 䞀瞬で終わりたす このオプティマむザヌ ずは別に MyLiad CompilerずいうOpenCV
    [1090.80s -> 1095.00s] AIキットずいう よく皆さんご存じ だず思うんですけど 半幎前ぐらい
    [1095.00s -> 1098.28s] に発売されたステレオカメラですね あちらに適応させるためのコンパむラヌ
    [1098.28s -> 1101.68s] ツヌルが甚意されおいるんですが 実はそちらのほうにもただ䞀郚
    [1101.68s -> 1105.12s] 問題がありたしお 今 私のほうで 意思を挙げお むンテリアの゚ンゞニア
    [1105.12s -> 1108.72s] の方に察応いただいおいる最䞭です 䞀応 取り扱わせされおいるので
    [1108.72s -> 1113.24s] もしかしたら数ヶ月埌 長くお半幎埌 ぐらいには察応されお このステレオ
    [1113.24s -> 1116.52s] 振動付付いおモデルがオヌク䞊 でも実行できるようになるかもし
    [1116.52s -> 1120.44s] れたせんね サクセスずいうこずで モデルの倉換が正垞に終了したした
    [1120.44s -> 1125.44s] これでOpenVINOのIRモデルが生成 されおいるはずです 実際に確認
    [1125.44s -> 1131.16s] いたしたす OpenVINOずいうフォルダヌ を生成するコマンドを打ち蟌んで
    [1131.16s -> 1136.00s] おりたしお その䞭にFloat32で このようにビンファむルずXMLファむル
    [1136.00s -> 1140.80s] この2枚が重芁です マッピングファむル は特に䜿甚いたしたせん 䞀応 これも
    [1140.80s -> 1149.20s] ネット論を䜿甚しお構造確認する こずができたす 芋た目はオフィン
    [1149.20s -> 1152.72s] キスのずきず倧きく倉わっおおり たせんが OpenVINO独自のオペレヌション
    [1152.72s -> 1158.88s] に眮き換えがかなり倧量にされお おりたす 最適化ず蚀いながらも
    [1158.88s -> 1162.72s] 郚分的に最適化されおおりたす ので 党䜓ずしおはそこたで倧きく
    [1162.72s -> 1174.00s] 最適化されおないような状況ですね では 次に ここから先はデモの流れ
    [1174.00s -> 1180.40s] になりたす テストするためのデヌタセット しお 巊目ず右目 2枚セットで走行
    [1180.40s -> 1185.84s] 䞭のドラむビングの動画 動画ずいう か静止画のデヌタセットを公開しお
    [1185.84s -> 1189.20s] くださっおたしお 䞀応 MITラむセンス で公開しおくださっおたす そちら
    [1189.20s -> 1192.84s] の動画をあらかじめ私のリポゞトリ のほうにダりンロヌドしおコミット
    [1192.84s -> 1199.72s] しおおりたすので それをダりンロヌド したす 䞀応 å·Šç›® 右目 震床ずいうこずで
    [1199.72s -> 1204.08s] 3皮類のデヌタセットになっおたす プラむベヌトリポゞトリになっお
    [1204.08s -> 1207.76s] たすので ちょっずGitHubのほうに プラむベヌトリポゞトリからプル
    [1207.76s -> 1211.12s] しおくるための認蚌を今 通しお おりたせんでしたので 偉いなっお
    [1211.12s -> 1214.80s] したいたしたが 事前にダりンロヌド 枈みのデヌタセットを甚意しお
    [1214.80s -> 1217.92s] おりたすので そちらを䜿っおご説明 したいず思いたす ダりンロヌド
    [1217.92s -> 1221.08s] が成功するず ドラむビングステレオ むメヌゞズずいうフォルダが自動的に
    [1221.08s -> 1229.24s] 䜜られたしお ラむト レフト デプス ずいうこずで 静止画像がこのように
    [1229.24s -> 1234.40s] 党お展開された状態で萜ちおくる ようになっおたす あず テスト甚に
    [1234.40s -> 1239.60s] 最埌にデモをするずきにMP4の動画 を䜿いたすので ステレオ.mp4ずいう
    [1239.60s -> 1246.96s] テスト甚の動画も䞀緒に萜ちおきたす では ようやくここでデモを実行
    [1247.00s -> 1250.44s] しおみたいず思いたす コンバヌト の過皋でオニキスを蚭定したした
    [1250.44s -> 1256.76s] ので そちらのオニキスを䜿っお 岩井五郎郎さんが䜜っおくださった
    [1256.76s -> 1261.76s] オニキスのデモ こちらのリポゞトリ を拝借したしお 実行しおみたい
    [1261.76s -> 1267.76s] ず思いたす 䞀応 岩井さんが䜜っお くださったデモから 空打甚に最適化
    [1267.76s -> 1271.76s] するために䞀郚 こちらの文字列 を差し替えるためのSDコマンド
    [1271.76s -> 1274.68s] フォヌクすればいいじゃんずいう 話ありたすけれども 手軜にコピヌ
    [1274.68s -> 1277.92s] しおペヌスずしおすぐ終わるずいう 状況ですね 皆さんに実斜しおいただく
    [1277.92s -> 1284.12s] ために 党おSDコマンドで眮き換 えおおりたす では デモ甚のリポゞトリ
    [1284.12s -> 1292.12s] をクロヌンするずころず ロゞック の曞き換えのずころを実行しおいたす
    [1292.12s -> 1295.56s] オニキスのランタむムは2皮類ありたしお オニキスランタむムずオニキス
    [1295.56s -> 1299.36s] ランタむムGPUず2皮類ありたす 今回のモデルは少し重たいモデル
    [1299.36s -> 1304.40s] ですので オニキスランタむムGPU ずいうものにむンストヌルし盎しお
    [1304.40s -> 1310.96s] おりたす Gitクロヌンずランタむムの差し替え
    [1310.96s -> 1314.60s] ずプログラムの修正 すべお今 終わりたしたので 早速デモを実行
    [1314.60s -> 1324.88s] しおみたいず思いたす 裏では空打が動いおたしお 若干
    [1324.88s -> 1331.32s] 遅いかなずいう感芚は受けたす が 20FPS前埌出おいるんじゃないかな
    [1331.32s -> 1336.84s] ず思いたす 動画が2 3分ありたす ので 䞀旊このデモはここで止めたす
    [1336.84s -> 1341.32s] ね ただ かなりヒットネット性胜 が高いモデルですので 䜓感的に
    [1341.32s -> 1344.28s] 皆さんどう感じられるか分からない ですが かなりきれいに振動掚定
    [1344.28s -> 1347.28s] ができおるんじゃないかなず思いたす ステレオデプスであるがゆえに
    [1347.28s -> 1352.20s] 蚈算量は倚少単画振動掚定よりも 重いんですけれども ここたできれい
    [1352.20s -> 1357.00s] に掚定するこずができたすよずいう 事䟋ですね 今のがオニキスのデモ
    [1357.00s -> 1366.36s] になりたす 続いお 私が䜜成した OpenVINOのモデルのデモになりたす
    [1366.36s -> 1371.56s] これがカスタムビルドしたOpenVINO を裏で動かしお実行するず 暙準
    [1371.56s -> 1378.68s] のむンストヌラヌでは実行できない デモになりたす 先ほどよりもかなり
    [1378.68s -> 1385.36s] 遅いですね 䞀応 私のマシンがCore i9 第10䞖代 20スレッドなんですけ
    [1385.36s -> 1389.28s] れど そこたでハむパワヌなマシン を䜿っおも これぐらい重たいモデル
    [1389.28s -> 1393.92s] です モデルの内郚はコンボリュヌション の3Dっおいうのがかなりたくさん
    [1393.92s -> 1397.92s] ありたしお 恐らくCPU掚論するずきに コンボリュヌション3Dがネック
    [1397.92s -> 1404.24s] になっおるんじゃないかなず思いたす 23FPSですかね ちょっず重いですが
    [1404.24s -> 1414.92s] 粟床的には倧差がないですね 続いお 粟床は萜ずさずにかなり
    [1414.92s -> 1420.04s] 早いデモずいうこずで 倚分 今たで OnyxずOpenVINOよりも圧倒的に
    [1420.04s -> 1425.08s] 早いであろう TensorRTのデモも岩竹 さんずいう方から蚱可いただいお
    [1425.08s -> 1435.68s] 借甚しおおりたす そちらのデモ もご芧いただきたいず思いたす
    [1435.68s -> 1439.64s] では TensorRT甚のリポゞトリですが 岩竹さんのリポゞトリからクロヌン
    [1439.64s -> 1445.44s] しおきたものの環境で 䞀床 Dockerコンテナを起動したす Dockerコンテナ
    [1445.44s -> 1449.28s] を起動する理由は TensorRTが導入 されおいる環境をすぐ䜿いたい
    [1449.28s -> 1466.04s] からですね 同じ堎所に来たした 既に私が手元でビルド枈みのもの
    [1466.04s -> 1471.36s] がメむンずいう本䜓のバむナリヌ になりたす こちらを䜿いたしお
    [1471.36s -> 1480.64s] デモを実行しおみたいず思いたす どうでしょうか さっきよりも党然
    [1480.64s -> 1485.28s] 早くおですね フレヌムレヌトが 30FPS超えおたすね 1フレヌムあたり
    [1485.28s -> 1489.28s] の掚論 2フレヌムの同時掚論で 20ミリセックずいうかなり早い
    [1489.28s -> 1493.28s] 掚論結果になっおたす 若干ちょっず 私のMP4の動画の䜜り方がよくなか
    [1493.28s -> 1497.56s] っお ノむズが入っおおりたすけれども 基本性胜自䜓は同じOnyx䜿っお
    [1497.56s -> 1509.68s] おりたすので 倉わりはないずいう 感じです
    [1509.68s -> 1514.04s] では OnyxずOpenVINOずTensorRT この䞉皮類のデモをさせおいただき
    [1514.04s -> 1520.56s] たした これで䞀通りカスタムビルド のOpenVINOを䜿った最適化ずいう
    [1520.56s -> 1526.92s] 講挔のメむンの郚分のお話は終了 になりたす 次は裏話ずいうずころ
    [1526.92s -> 1530.40s] も聞きたいされおる方がいるかもし れたせんので もう少しですね 今回
    [1530.40s -> 1534.48s] はかなり簡単にモデル倉換できる パタヌンのご玹介だったわけですけ
    [1534.48s -> 1537.88s] れども 普段私がチャレンゞしおいる モデル倉換ずいうのはもっず難易床
    [1537.88s -> 1543.24s] が高くお 実際 今日やったような モデル倉換は倧䜓15分ぐらいで
    [1543.24s -> 1547.24s] やっおるんですけれども 難易床 高いモデルは数時間かかっおいる
    [1547.24s -> 1551.20s] ずいう感じです その状況をどんな 感じなのかずいうのを 黒話みたい
    [1551.20s -> 1555.40s] になるんですけども お䌝えしたい ず思いたす 裏話ずいうこずなんですけど
    [1555.40s -> 1558.24s] ここでコマンドを1から叩いおいる ずめちゃくちゃ時間かかっお党然
    [1558.24s -> 1561.28s] 時間が収たらなくなっおしたいたす ので 普段私が䜜っおいるツヌル
    [1561.28s -> 1564.84s] のほうに䞊がっおきおいるむシュヌ で簡単にご説明したいず思いたす
    [1564.84s -> 1568.76s] OpenVINO2 TensorFlowずいう私の独自ツヌル なんですけど これはOpenVINOのIRモデル
    [1568.76s -> 1573.32s] からTensorFlowに逆倉換するず ちょっず 䞀颚倉わったもので 倚分私しか
    [1573.32s -> 1577.28s] 䜜っおないんじゃないかなず思いたす そこに君のツヌルを䜿っお倉換
    [1577.28s -> 1586.80s] したら゚ラヌが出たよずいうこず です 確かこれが YORO V5 Liteのモデル
    [1586.80s -> 1593.64s] をOpenVINOからTensorFlow Liteに倉換 かけたら ツヌルからこんな゚ラヌ
    [1593.64s -> 1601.44s] が出ちゃうんだよねず 確かに出たす ず ゚ラヌになる理由が チャンネル
    [1601.44s -> 1605.96s] 倉換ずいっお YORO V5の堎合は結構 特殊な凊理があるんですけど 5次元
    [1605.96s -> 1610.64s] に加工した䞊で チャンネル郚分 をスむッチしおっおいうのを さん
    [1610.64s -> 1614.84s] ざんパラコヌモデルの䞭で䜕段 にも分けおやっおるんですが 5次元
    [1614.84s -> 1618.30s] のチャンネルシフトっおいうのは そもそも5次元っおいうのはツヌル
    [1618.30s -> 1621.40s] 䞊でどこからどこぞ展瀺すれば いいかっおいうのを予枬するこず
    [1621.40s -> 1625.56s] がかなり難しくっお゚ラヌになる こずを前提ずしおツヌル論を蚭蚈
    [1625.56s -> 1630.92s] しおおりたすので 実はその゚ラヌ は5次元ではよく発生するので ツヌル
    [1630.92s -> 1634.48s] の動䜜を倉えるためのJSONファむル が甚意しおあるから それを食わ
    [1634.48s -> 1638.24s] せればいいんだよずいうこずで 私のほうで提瀺しおたす このJSON
    [1638.24s -> 1641.40s] ファむルを䜜るのがかなり倧倉 で トラむハンド゚ラヌで゚ラヌ
    [1641.40s -> 1644.64s] になっおはJSONにここの郚分 このレむダヌの動きを倉えろずいう
    [1644.64s -> 1649.16s] 指瀺を出し もう䞀床実行しお゚ラヌ になった このオペレヌションの
    [1649.16s -> 1653.08s] 動䜜を 展瀺動䜜をこのように倉え なさいずいう指瀺をツヌルに出し
    [1653.08s -> 1656.88s] もう䞀回実行したら゚ラヌになった じゃあ次のオペレヌションですね
    [1656.88s -> 1660.28s] ここはリシェヌプかな リシェヌプ の動䜜 この圢状に倉えなさい
    [1660.28s -> 1664.12s] っおいうのを指瀺を出しっおいう のを延々ずやっおいたす ただ
    [1664.12s -> 1668.08s] このYORO VGOラむトはモデル党䜓 の構造がすごく小さくおシンプル
    [1668.08s -> 1672.36s] ですので ただこれぐらいで終わ っおるんですけど 䟋えばステレオ
    [1672.36s -> 1674.96s] 芯の掚定モデルのヒットネット はすごくシンプルでしたが それ
    [1674.96s -> 1678.20s] 以倖の䞖に出回っおいるステレオ 芯の掚定モデルっおものすごく
    [1678.20s -> 1683.40s] モデルの構造がもっず耇雑です そういうものが圓然倉化確率は
    [1683.40s -> 1687.08s] ゚ラヌになるんですけど このJSONファむル はこれしきりではなくお これの
    [1687.08s -> 1690.68s] 50倍ぐらいの長さのJSONファむル になっおしたいたす ツヌルで
    [1690.68s -> 1695.24s] 自動的に倉換できれば嬉しいんですが 今 䟋えばマむクロ゜フトさん
    [1695.24s -> 1700.00s] だずかGoogleさんが提䟛しおくれおいる 公匏のツヌルでは倉換ができない
    [1700.00s -> 1704.12s] もの 倉換できたずしおも 最適化 が䞍十分なたた倉換されるもの
    [1704.12s -> 1707.72s] っおいうのが倧倚数です そこで 私のツヌルであれば ツヌルその
    [1707.72s -> 1712.20s] ものの動䜜をJSONファむルで曞き換える こずができたすので ほずんどの
    [1712.20s -> 1718.12s] パタヌン LSTM以倖の画像系のモデル であれば ほが確実に倉換するこず
    [1718.12s -> 1724.28s] ができたすず 時間をかければずいう 状況です 裏話は以䞊です もっず
    [1724.28s -> 1731.20s] お話聞きたい方は 私のOSSありたす ので 䞀呚なので ご質問いただく
    [1731.20s -> 1737.76s] か ディスカッションのほうでお 埅ちしおおりたす 本日の私の講挔
    [1737.76s -> 1739.68s] は以䞊になりたす ご枅聎ありがずうございたした
    
    :-: main --> 137.2445514202118 sec
    

4. Models

tiny.en
tiny
base.en
base
small.en
small
medium.en
medium
large-v1
large-v2

5. TODO

  • I intend to try a trial implementation of a process that greatly increases the number of inferences, successively overwriting stdout, and overwriting the entire stdout with the final inference result at the break in utterance.
  • CNN VAD: https://github.com/ina-foss/inaSpeechSegmenter

About

An environment where you can try out faster-whisper immediately.

Topics

Resources

Stars

37 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages