私的AI研究会 > PyReview3

【復習】PyTorch ではじめる AI開発 3

 坂本俊之著「PyTorch ではじめる AI開発」をもとに AI学習を復習。
 CHAPTER 03 「教師データにない状況を異常検出」異常検出を行う AI を作成する。

▼ 目 次
※ 最終更新:2024/03/15 

CHAPTER 03 教師データにない状況を異常検出

  1. CHAPTER 01 環境構築 を実行済みのこと

  2. 下記のプロジェクト・パッケージをダウンロード
    update_20240307.zip (360MB) <アップデートファイル>
    解凍してできたプロジェクトのディレクトリ「workspace_pylearn/」をホームディレクトリ直下に配置する

SECTION-007 距離学習と異常検出

  1. サンプルの異常データの準備
    ・「chapt03-validate.mp4」から異常時のデータセットを作成する
    ・以前の作成ディレクトリの記述に間違いがあったのを修正
    (py_learn) mkdir unnormal-validations
    (py_learn) ffmpeg -i ../sample/chapt03/chapt03-validate.mp4 -f image2 unnormal-validations/%03d.jpg
    ▼ 「ffmpeg」実行ログ

SECTION-008 PyTorch による距離学習

  1. 学習プログラム「chapt03_1x.py」(修正版)の実行
    「chapt03_1.py」→「chapt03_1a.py」→「chapt03_1x.py」: 開始・終了時刻・所要時間の表示

     Windows の場合 
    (py_learn) PS > python chapt03_1x.py
    learning start >>  2024-03-10 11:22:31.219226
    epoch #0: train_loss:0.7922095060348511
    epoch #1: train_loss:0.023104708641767502
    epoch #2: train_loss:0.018580107018351555
    learning end >>    2024-03-10 11:28:41.251456
    learning time >>   0:06:10.032654

     Linux の場合 
    (py_learn) $ python chapt03_1x.py
    learning start >>  2024-03-10 13:29:56.149561
    epoch #0: train_loss:0.8014032244682312
    epoch #1: train_loss:0.023702777922153473
    epoch #2: train_loss:0.01885644905269146
    learning end >>    2024-03-10 13:39:35.513480
    learning time >>   0:09:39.363922

    ・学習にかかった時間
    OS機種開始日時終了日時処理時間 (h:m)
    Windows11HP ENVY TE02-1097
    NVIDIA GeForce RTX 4070 Ti
    2024/03/10 11:222024/03/10 11:2800:06
    UIbuntu22.04LTSHP ENVY TE02-1097
    NVIDIA GeForce RTX 4070 Ti
    2024/03/10 13:292024/03/10 13:3900:09
    Windows10HP EliteDesk 800
    NVIDIA GeForce GTX 1050 Ti
    2024/03/10 13:452024/03/10 16:1002:24
    Windows11DELL XPS Plus 9320
    Intel® Core™ i7-1260P CPU
    2024/03/03 11:102024/03/03 14:4803:38
    Ubuntu20.04LTSDELL Latitude 7520
    Intel® Core™ i7-1185G7 CPU
    2024/03/05 10:242024/03/05 14:4104:17
    Windows10HP EliteDesk 800
    Intel® Core™ i7-6700 CPU
    2024/03/07 16:102024/03/07 22:5606:45
     ※ 参考 → 以前の実行例

    ・評価用データ・検証用データの散布図
     〇 ピンク色:正常なデータ(評価用のデータ)からの出力
     〇 青色:異常なデータ(検証用のデータ)からの出力
     検証用のデータ(「chapt03-validate.mp4」の各フレーム)は正常なデータ(「forest-path-movie-dataset」の 3割)から識別可能なだけ分離されている

    ・出来上がった学習済みモデル
    -a----        2024/03/03     14:44       94413070 chapt03-model1.pth
    -a----        2024/03/03     14:48            345 chapt03-normal.json
    -a----        2024/03/03     14:48          58163 scatter.png

SECTION-009 検出用プログラムの作成

  1. 異常検出プログラム(tkinter版)「chapt03_2x.py」(修正版)の実行
    「chapt03_2.py」→「chapt03_2a.py」→「chapt03_2x.py」
    (py_learn) python chapt03_2x.py

  2. 異常検出プログラム(OpenCV版)「chapt03_2y.py」(修正版)の実行
    「chapt03_2b.py」→「chapt03_2y.py」
    (py_learn) python chapt03_2y.py
    
    --- Surveillance camera Abnormality monitoring ---
    4.9.0
    
    Surveillance camera Abnormality monitoring: Starting application...
       - Image File   :  ../sample/chapt03/chapt03-sample-a.mp4
       - Language     :  jp
       - Program Title:  y
       - Speed flag   :  y
       - Processed out:  non
    
    FPS average:      12.30
    
     Finished.

対処したエラー詳細

「python chapt03_1.py」DeprecationWarning:...【Windows の場合】

 

更新履歴

参考資料

 

Last-modified: 2024-03-15 (金) 14:20:52