私的AI研究会 > ProjectEnv3

AI開発プロジェクト環境構築(Windows編)

 AI開発プロジェクト実行に必要な環境を新しく作成する手順(最新版)
 『PyTorch ではじめる AI開発』以降のページを実行するために新しく環境を作成する
 同時に「NVIDIA cuda GPU」を使用できる環境構築をする

▼ 目 次
※ 最終更新:2024/02/16 

Anaconda のインストールと設定

設定動作環境

 HP ENVY Desktop TE02-1097jp

anaconda のダウンロードとインストール

  1. オフィシャルサイト https://www.anaconda.com/products/distribution にアクセス

     ● 画面の「Download」ボタン(赤丸)を押してダウンロード

     ● ダウンロード・ファイル名(2023/12/12 現在)
      Anaconda3-2023.09-0-Windows-x86_64.exe

  2. インストーラ「Anaconda3-2023.09-0-Windows-x86_64.exe」を実行し手順に従ってインストールする

Anaconda の起動と Python 環境の構築

  1. Windows のスタートメニューから「Anaconda Powershell Prompt」を選択する
    ・「すべてのアプリ」→「Anaconda3 (64-bit)」を展開 →「Anaconda Powershell Promp」(※ Windows11の場合)
    ・以降の作業は「Anaconda Powershell Prompt (anaconda3)」内で行う
    ・表示ウインドウのサイズや文字の大きさなどは、ウインドウ上部のタイトルバーを右クリック「プロパティ」で設定する。

  2. Anaconda を最新版に更新
    ※ コマンドプロンプトの最初が (base) になっているのを確認すること
    (base) PS > conda update -n base -c defaults conda
    Collecting package metadata (current_repodata.json): done
    Solving environment: done
        :
    Proceed ([y]/n)? y             ← 'y' を入力する
        :
    Executing transaction: done
    Retrieving notices: ...working... done

環境変数の設定

  1. 検索ウィンドウに「システムの詳細設定」と入力し「システムの詳細設定」ダイアログを表示する。
  2. 「環境変数」ボタンを押して環境変数ダイアログを表示する。
  3. 新規に「PYTHONPATH」「C:\anaconda_win\workspace_py37\mylib;C:\anaconda_win\workspace\lib」(オリジナル Python 共有ライブラリの場所)を追加する
  4. そのほかの環境変数は、後でプロジェクトの環境設定で追加する

  5. 「Anaconda Powershell Prompt (anaconda3)」を再起動して設定を確認する。
    (base) PS > echo $env:PYTHONPATH
    C:\anaconda_win\workspace_py37\mylib;C:\anaconda_win\workspace\lib

Windowsのターミナルで ANSI エスケープシーケンスを有効にする設定

  1. 「Anaconda Powershell Prompt (anaconda3)」「Anaconda (py38)」でANSI エスケープシーケンスを有効にする
  2. 「レジストリエディタ」で「_HKEY_CURRENT_USER\Console\」を開く
  3. DWORDキー「VirtualTerminalLevel」を作成し(必要な場合)、その値を '1' に設定する
    デフォルトでANSI処理をグローバルに 1:有効化 0:無効化`

ターミナル起動時の環境設定

  1. 「スタートボタン」を押し「Anaconda Powershell Prompt」の上で 右クリック → その他 → ファイルの場所を開く を選択する
  2. 表示されるエクスプローラ上の「Anaconda Powershell Prompt」で 右クリック → プロパティ を選ぶ
  3. リンク先の項目を変更する。
    ・元の記述
    %windir%\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy ByPass -NoExit -Command "& 'C:\ProgramData\Anaconda3\shell\condabin\conda-hook.ps1' ; conda activate 'C:\Users\<User>\anaconda3' "
    ・次のように変更 <User> = ユーザー名 C: = anaconda_winを配置したドライブ
    %windir%\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy ByPass -NoExit -Command "& 'C:\ProgramData\Anaconda3\shell\condabin\conda-hook.ps1' ; conda activate 'C:\Users\<User>\anaconda3' ; Set-Location 'c:\anaconda_win' "
  4. 「Anaconda Powershell Prompt」を再起動して設定を確認する。
    ※ コマンドプロンプトの最初が (base) になっているのを確認すること

Anaconda 仮想環境一覧

Anaconda 環境設定の確認方法

  1. 仮想環境の確認
    (***) PS > conda info -e
  2. python のバージョンの確認
    (***) PS > python -V

仮想環境の選択(例:py38)

  1. 仮想環境を有効にする
    (base) PS > conda activate py38
    (py38)
  2. プロジェクトフォルダを選択する
    (py38) PS > cd /anaconda_win/work/
  3. 仮想環境から抜ける
    (py38) PS > conda deactivate
    (base)

プロジェクト環境設定1:PyTorch ではじめる AI開発 【仮想環境(py37)】

anaconda の環境設定(py37)

  1. Anaconda の設定 Python 3.7 の仮想環境を作成する
    (base) PS > conda create -n py37 python=3.7
    ▼「conda create -n py37 python=3.7」ログ

  2. 仮想環境を起動する
    (base) PS > conda activate py37
    (py37) PS >
  3. 仮想環境を確認する
    (py37) PS > conda info -e
    # conda environments:
    #
    base                     C:\Users\USER\anaconda3
    py37                  *  C:\Users\USER\anaconda3\envs\py37
    ※ USER: ユーザー名, *: 現在アクティブな仮想環境

Pytorch と必要なパッケージのインストール

  1. 仮想環境に PyTorch をインストールする

    ● オフィシャルサイト PyTorch FROM RESEARCH TO PRODUCTION からインストールのためのコマンドを取得する
    (py37) PS > pip install torch torchvision torchaudio
    ▼「pip install torch torchvision torchaudio」ログ

  2. 「conda install」コマンドでパッケージをインストール
    (py37) PS > conda install opencv
    ▼「conda install opencv」ログ
    (py37) PS > conda install pandas
    ▼「conda install pandas」ログ
    (py37) PS > conda install tqdm
    ▼「conda install tqdm」ログ
    (py37) PS > conda install matplotlib
    ▼「conda install matplotlib」ログ
    (py37) PS > conda install PyYAML
    ▼「conda install PyYAML」ログ

  3. 「pip install」コマンドでパッケージをインストール
    (py37) PS > pip install scikit-learn
    ▼「pip install scikit-learn」ログ
    (py37) PS > pip install pycocotools
    ▼「pip install pycocotools」ログ
    (py37) PS > pip install facenet-pytorch
    ▼「pip install facenet-pytorch」ログ

環境の確認

  1. 「Pytorch」のインストール確認
    (py37) PS > python -c "import torch"
  2. 「PyTorch」で GPU 使用できるかの確認
    (py37) PS > python -c 'import torch;print(torch.zeros(1).cuda())'
    
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\izuts\anaconda3\envs\py37\lib\site-packages\torch\cuda\__init__.py", line 221, in _lazy_init
        raise AssertionError("Torch not compiled with CUDA enabled")
    AssertionError: Torch not compiled with CUDA enabled
    ※ 今回ドライバをインストールしていないのでエラーとなる
  3. 「tkinter」パッケージのインストール確認
    (py37) PS > python -c 'import tkinter'
  4. 「ffmpeg」コマンドの確認
    (py37) PS > ffmpeg -h
    ▼「ffmpeg -h」ログ

書籍サンプルファイルのダウンロードとテスト

  1. 書籍オフィシャルサイト にアクセスしてサンプルデータをダウンロードする。(pytc/sk353)
  2. プロジェクトのディレクトリ「/anaconda_win/workspace_py37」を作成し、解凍して配置する。
    ▼サンプルデータの配置

  3. サンプルファイル「chapt01_1.py」を実行してみる。(カメラデバイスの確認)
    (py37) PS > cd /anaconda_win/workspace_py37/sample/chapt01
    (py37) PS > python3 chapt01_1.py
    ▼「python3 chapt01_1.py」ログ

python3.7 環境構築の確認

  1. python のバージョンの確認
    (py37) PS > python --version
    Python 3.7.16
  2. conda の動作確認
    ※ エラーメッセージが出なければ OK.
    (py37) PS > conda info
    ▼「conda info」ログ

  3. Anaconda の Python の numpy を確認
    ※ バージョン番号が表示されれば OK.
    (py37) PS > python -c "import numpy; print( numpy.__version__ )"
    1.21.5

PyTorch ではじめる AI開発 【仮想環境(py37)】実行プロジェクト 環境は既に構築済み

  1. Chapter2: 定点カメラの映像を認識する
     OpenVINO™ を利用する(ONNXモデルコンバート検証)
  2. Chapter3: 教師データにない状況を異常検出
  3. Chapter4: 物体検出と学習済みモデル
  4. Chapter5: 動画の背景を入れ替える
  5. Chapter6: アジア人向けに強化された顔認証 (保留)
  6. Chapter7: 線画をイラストに変換する
  7. Chapter8: OCR における文字認識
  8. Chapter9: OCR を完成させる

プロジェクト環境設定2:文字認識「OCR」【仮想環境(py37x)】

プロジェクトパッケージの配置

  1. 「プロジェクト・パッケージ for windows」をダウンロード
    anaconda_win_20220107.zip (1.55GB) <TryOCR 環境・以前のプロジェクト一式>
    anaconda_win_20220416.zip (712MB) <FormOCR 環境・プロジェクト一式>

  2. 「anaconda_win_20220107.zip」を解凍してできた「anaconda_win」フォルダ内の「anaconda」フォルダ以外を「anaconda_win」フォルダ内に上書きコピーする

  3. 「anaconda_win_20220416.zip」を解凍してできた「anaconda_win」フォルダ内の「workspace_py37」フォルダを「anaconda_win」フォルダ内に上書きコピーする

仮想環境(py37x) の作成

  1. 環境設定ファイルから conda 仮想環境を構築する
    (base) PS > cd /anaconda_win/workspace_py37         ← 「environment_py37x.yaml」ファイルのある場所へ
    (base) PS > conda env create -f environment_py37x.yaml
    ▼「conda env create -f environment_py37x.yml」ログ

  2. 仮想環境を起動する。
    (base) PS > conda activate py37x
    (py37x) PS >
  3. 仮想環境の確認
    (py37x) PS > conda info -e
    # conda environments:
    #
    base                     C:\Users\USER\anaconda3
    py311                    C:\Users\USER\anaconda3\envs\py311
    py37                     C:\Users\USER\anaconda3\envs\py37
    py37x                 *  C:\Users\USER\anaconda3\envs\py37x
    py38                     C:\Users\USER\anaconda3\envs\py38
  4. パッケージの確認(エラーが出なければ OK)
    (py37x) PS > python -c "import torch"
    (py37x) PS > python -c "import tkinter"
    (py37x) PS > python -c "from openvino.inference_engine import IECore"

OCRパッケージ「tesseract」の導入

  1. 「tesseract」のインストールは、windowsの場合 anaconda からはうまくいかないようなので、サイト からインストールパッケージをダウンロードする。

  2. ダウンロードした「tesseract-ocr-w64-setup-5.3.3.20231005.exe」を実行する。
  3. 「Choose Components」画面が表示されたら「Additional script data(download)」を展開して「Japanese script」と「Japanese vertical script」にチェックを入れる。
  4. 同様に「Additional language data(download)」を展開して「Japanese」と「Japanese(Vertical)」にチェックを入れる。
  5. 4箇所を追加で選択したら、以降デフォールトのままインストールを進めて完了する。

環境変数の設定「tesseract」

  1. 検索ウィンドウに「システムの詳細設定」と入力し「システムの詳細設定」ダイアログを表示する。
  2. 「環境変数」ボタンを押して環境変数ダイアログを表示する
  3. 「Path」に「C:\Program Files\Tesseract-OCR」を追加する
  4. 新規に「TESSDATA_PREFIX」「C:\Program Files\Tesseract-OCR\tessdata」を追加する
  5. 新規に「PYTHONPATH」「C:\anaconda_win\workspace\lib」(追加した Python パッケージの場所)を追加する

  6. 「Anaconda Powershell Prompt (anaconda3)」を再起動して設定を確認する。
    (base) PS > echo $env:Path
    C:\Users\USER\anaconda3;.................................;C:\Program Files\Tesseract-OCR;.
    (base) PS > echo $env:TESSDATA_PREFIX
    C:\Program Files\Tesseract-OCR\tessdata
    (base) PS > echo $env:PYTHONPATH
    C:\anaconda_win\workspace_py37\mylib

『OCR アプリケーション基礎編:文字認識エンジン「Tesseract」』で作成したプログラムの実行

参照ページ → 「実用的な AI開発へ - 文字認識エンジン「Tesseract」
ソースコードの場所 (すべて Linux/Windows 環境に対応)

(py37x) PS > cd /anaconda_win/workspace_py37/pyocr
  1. 環境構築と対応言語の確認
    (py37x) PS > python initialization.py
    Will use tool 'Tesseract (sh)'
    Available languages: eng, jpn, jpn_vert, osd, script/Japanese, script/Japanese_vert
    Will use lang 'eng'
  2. OCR としての簡単なテスト
    (py37x) PS > python ocrtest.py
  3. Webカメラ入力の簡単なテスト「ocrtest_cam.py」
    (py37x) PS > python ocrtest_cam.py
  4. Step 1 イメージ画像からテキストを認識する「ocrtest1.py」
    (py37x) PS > python ocrtest1.py
  5. Step 2 イメージ画像から文字と文字の位置を認識する「ocrtest2.py」
    (py37x) PS > python ocrtest2.py
  6. Step 3 イメージ画像から文章と文章の位置と信頼性スコアを取得する「ocrtest3.py」
    (py37x) PS > python ocrtest3.py
  7. Step 4 文章と文章の位置と信頼性スコアを表示する「ocrtest4.py」
    (py37x) PS > python ocrtest4.py
  8. OCR アプリケーション 試作版「tryocr.py」
    (py37x) PS > python tryocr.py

『OCR アプリケーション基礎編:OCR アプリケーションを作る』で作成したプログラムの実行

参照ページ → 実用的な AI開発へ - OCR アプリケーションを作る
ソースコードの場所 (すべて Linux/Windows 環境に対応)

(py37x) PS > cd /anaconda_win/workspace_py37/tryocr
  1. Step 1 帳票画像の一部領域を指定して文字認識させる「tryocr_step1.py」
    (py37x) PS > python tryocr_step1.py
  2. Step 2 指定した領域の切り出しをオリジナルの元画像で行うようにする「tryocr_step2.py」
    (py37x) PS > python tryocr_step2.py
  3. Step 3 切り出した画像に前処理を加えて文字認識を行う「tryocr_step3.py」
    (py37x) PS > python tryocr_step3.py
  4. 設定ファイルを作成・編集する「mylib_yaml.py」
    (py37x) PS > python mylib_yaml.py
  5. Step 4 位置情報を入力・編集・ファイルするプログラムを考える 「tryocr_step4.py」
    (py37x) PS > python tryocr_step4.py
  6. Step 5 配置情報ファイルを利用して伝票内を一括処理する 「tryocr_step5.py」
    (py37x) PS > python tryocr_step5.py
  7. Step 6 Step 6 OCR から得られた各項目の妥当性の検査と CSV 出力 「tryocr_step6.py」
    (py37x) PS > python tryocr_step6.py

『OCR アプリケーション実践編:帳票OCRプログラム「FormOCR」』で作成したプログラムの実行

参照ページ → 帳票OCRプログラム「FormOCR」:サンプルデータを使って練習
ソースコードの場所 (すべて Linux/Windows 環境に対応)

(py37x) PS > cd /anaconda_win/workspace_py37/formocr
  1. サンプルデータの水平傾き補正をする
    (py37x) PS > python prepros.py -r 0
  2. サンプル帳票を自動識別処理する
    (py37x) PS > python formocr.py
  3. サンプル帳票のフォーム編集プログラム
    (py37x) PS > python formocr_edit.py

『AI・エッジコンピューティング』で作成したプログラムの実行

  1. 感情分析 / 年齢/性別分析 / 物体検出 / 人物追跡 / 顔追跡
    (py37x) PS > python emotion2.py
    (py37x) PS > python age_gender2.py
    (py37x) PS > python object_detect_yolo3_2.py
    (py37x) PS > python person-tracking2.py
    (py37x) PS > python face-tracking2.py
  2. リアルタイム感情分析 / リアルタイム画像分類 / メガネ・帽子 バーチャル試着 / マスク着用の有無を調べる
    (py37x) PS > python sentiment_analysis2.py
    (py37x) PS > python image_classification.py
    (py37x) PS > python virtual_fitting.py
    (py37x) PS > python face_mask.py

プロジェクト環境設定3:顔認証「Face recognition」【仮想環境(py37y)】

顔認証/顔認識 (Face recognition)

  1. プロジェクトの準備
    update_20220617.zip をダウンロード

  2. 環境設定ファイルから conda 仮想環境を構築する
    (base) PS > cd /anaconda_win/workspace_py37         ← 「win_environment_py37y.yaml」ファイルのある場所へ
    (base) PS > conda env create -f win_environment_py37y.yaml
  3. 仮想環境(py37y)を有効にする
    (base) PS > conda activate py37y
    (py37y) PS >
  4. InsightFace の検証
    build Tools のダウンロードとインストール
    ・ InsightFace のインストール
    (py37y) PS > pip install protobuf==3.20
    (py37y) PS > pip install onnxruntime
    (py37y) PS > cd /anaconda_win/workspace_py37/inface
    (py37y) PS > pip install insightface
    ・「opencv-python-headless」がインストールされるので削除
    (py37y) PS > pip uninstall opencv-python-headless
    ・ InsightFace のテスト
    (py37y) PS > cd /anaconda_win/workspace_py37/inface
    (py37y) PS > python face_test.py
    ・ InsightFace でカメラ入力をテスト
    (py37y) PS > python face_test1.py

  5. Face Recognition の検証
    ・パッケージ(dlib/face_recognition) のインストール
    (py37y) PS > conda install -c conda-forge dlib
    (py37y) PS > conda install -c conda-forge face_recognition
    ・「face recognition」パッケージのテスト
    (py37y) PS > cd /anaconda_win/workspace_py37/inface
    (py37y) PS > python face_rec_test.py
    (py37y) PS > python face_rec_test1.py
    ・カメラによるリアルタイム顔判定
    (py37y) PS > cd /anaconda_win/workspace_py37/inface
    (py37y) PS > python face_rec_test2.py

顔認証プログラムの開発 Step 1

  1. プロジェクトの準備
    update_20220719.zip をダウンロード

  2. カメラによるリアルタイム顔判定「face_rec1.py」
    (py37y) PS > cd /aconda_win/workspace_py37/face_rec
    (py37y) PS > python face_rec1.py
    Starting..
     - Program title  : Face recognition (step1)  Ver 0.02
        :
    FPS average:      14.20
    Finished.

顔認証プログラムの開発 Step 2

  1. カメラで認識した顔画像を登録「face_rec2.py」
    (py37y) PS > python face_rec2.py
    Starting..
     - Program title  : Face recognition (step2)  Ver 0.02
        :
    FPS average:      20.20
    Finished.

顔認証/顔認識パッケージ「Face recognition」のテスト

  1. [顔検出] 画像から顔を見つける「find_faces_in_picture.py」
    (py37y) PS > cd /anaconda_win/workspace_py37/face_rec_try/
    (py37y) PS > python find_faces_in_picture.py
  2. [顔検出] 画像から顔を見つける(ディープラーニングを使用する)「find_faces_in_picture_cnn.py」
    (py37y) PS > python find_faces_in_picture_cnn.py
  3. [顔認識] k近傍法で顔認識する「face_recognition_knn.py」
    (py37y) PS > python face_recognition_knn.py
  4. [顔認識] 人物ごとに複数の画像をトレーニングし、SVM(サポートベクターマシン)を用いて顔認識する「face_recognition_svm.py」
    (py37y) PS > python face_recognition_svm.py

顔認証プログラムの開発 Step 3

  1. 顔登録の方法と認識手法を改良する「face_rec3.py」
    (py37y) PS > cd /anaconda_win/workspace_py37/face_rec/
    (py37y) PS > python face_rec3.py
  2. 静止画像を対象にした顔認識アプリケーション「face_rec_still.py」
    (py37y) PS > python python face_rec_still.py --tol 0.5.py

顔認証プログラムの開発 Step 4「顔認証の結果で『自動ドア』を制御する」

  1. 開発手順 / 事前準備
    update_20220820.zip をダウンロード
    ・必要なパッケージの導入
    (py37y) PS > conda install -c conda-forge readchar
    (py37y) PS > conda install -c conda-forge pyserial
  2. ドア制御付き顔認証プログラム「face_rec3d.py」の実行
    (py37y) PS > python door_ctrl.py /dev/ttyUSB0
    'COM3' port ready.
    b'd'
    b'o'
    b'c'
    b'q'
    Program Finished.
    (py37y) PS > python face_rec3d.py -p /dev/ttyUSB0
    Starting..
     - Program title  : Face recognition (step3)  Ver 0.02
        :
     - UART port name : COM3
    '/dev/ttyUSB0' port ready.
    FPS average:      26.70
    Finished.

Open JTalk で日本語発声

  1. OpenJtalk のインストール Windows 環境の場合
    update_20220916.zip をダウンロード
    ・ページ記載の手順でインストール

  2. Python による再生プログラム Windows 環境の場合
    (py37y) PS > cd /anaconda_win/workspace_py37/jtalk/
    (py37y) PS > python jtalkw.py

Pythonでメール送信

  1. パッケージ化する テスト実行 (Windowsの例)
    (py37y) PS > cd /anaconda_win/workspace_py37/jtalk/
    (py37y) PS > python mail.py

顔認証プログラムの開発 Step 5「認証結果を音声とメールで知らせる」

  1. プロジェクトの準備(前項で済み)
    ・(参考)「Reception」プロジェクトの動作環境構築
    ・Pyserialのインストール

  2. 設定ファイルアクセス・プログラム「face_rec_yaml.py」
    (py37y) PS > cd /anaconda_win/workspace_py37/face_rec
    (py37y) PS > python face_rec_yaml.py
  3. 顔認証結果の処理・プログラム「rec_result.py」
    (py37y) PS > python rec_result.py
  4. 顔認証プログラム (Step 6)「face_rec4.py」
    (py37y) PS > python face_rec4.py
    Starting..
     - Program title  : Face recognition (step4)  Ver 0.04
        :
    subject : '2024/01/12 10:37:40 : 受付'
    message : '井筒 政弘 様 来社です
    hostname : ubuntu-HP-ENVY
    from : aipromotion999@gmail.com
    to : izutsum-sp@docomo.ne.jp'
    FPS average:      25.70
    Finished.

受付システム・プログラム「Reception.py」

  1. 「Reception」プロジェクトのインストールと環境設定
    update_20221015.zip をダウンロード

  2. 更新ファイルのインストール
    update_20221109.zip をダウンロード
    ・解凍して「update/」フォルダ内を「anaconda_win/」フォルダ内に上書き配置する
  3. 受付システム・プログラムの起動
    (py37y) PS > cd /anaconda_win/workspace_py37/reception
    (py37y) PS > python reception.py 
    Starting..
     - Program title  : Reception System Ver 0.01
        :
    'COM3' port ready.
    QWindowsWindow::setGeometry: Unable to set geometry 98x69+21+31 (frame: 114x108+13+0) on QWidgetWindow/"Reception System Ver 0.01  (hit 'q' or 'esc' key to exit)Window" on "\\.\DISPLAY1". Resulting geometry: 120x69+21+31 (frame: 136x108+13+0) margins: 8, 31, 8, 8 minimum size: 98x69 maximum size: 98x69 MINMAXINFO maxSize=0,0 maxpos=0,0 mintrack=114,108 maxtrack=114,108)
    subject : '2023/12/20 15:01:50 : 受付'
    message : '井筒 政弘 様 来社です
    hostname : HP-ENVY_TE02
    from : aipromotion999@gmail.com
    to : izutsum-sp@docomo.ne.jp'
    [ WARN:0] global D:\bld\libopencv_1632857438825\work\modules\videoio\src\cap_msmf.cpp (438) `anonymous-namespace'::SourceReaderCB::~SourceReaderCB terminating async callback
    FPS average:      25.60
    Finished.

OpenVINO™ 推論プログラムの再検証

  1. 感情分析 / 年齢/性別分析 / 物体検出 (YOLO V3) / 物体検出 (YOLO V5) / 人物追跡 / 顔追跡
    (py37y) PS > python emotion3.py
    (py37y) PS > python age_gender3.py
    (py37y) PS > python object_detect_yolo3_3.py
    (py37y) PS > python object_detect_yolo5.py
    (py37y) PS > python person-tracking3.py
    (py37y) PS > python face-tracking3.py
  2. 感情分析 / 画像分類 / メガネ・帽子 バーチャル試着 / マスク着用の検査
    (py37y) PS > python sentiment_analysis3.py
    (py37y) PS > python image_classification3.py
    (py37y) PS > python virtual_fitting3.py
    (py37y) PS > python face_mask3.py

プロジェクト環境設定4:画像生成「Stable-diffusion」【仮想環境(py38)】

仮想環境(py38) の作成

  1. 新しく仮想環境を作成する
    (base) PS > conda create -n py38 python=3.8
  2. できた仮想環境の確認
    (base) PS > conda info -e
    # conda environments:
    #
    base                  *  C:\Users\USER\anaconda3
    py311                    C:\Users\USER\anaconda3\envs\py311
    py37                     C:\Users\USER\anaconda3\envs\py37
    py38                     C:\Users\USER\anaconda3\envs\py38
    
    (base) PS > conda activate py38
    (py38) PS >                ← (py38) に切り替わっていることを確認する

画像生成「Stable-diffusion」パッケージの配置

  1. プロジェクト・ファイルのダウンロード
    AI_project_20230203.zip (55.9MB) <Stable-deffusion プロジェクト一式> をダウンロード
  2. ドライブ直下に「anaconda_win」フォルダを作成する
  3. 「AI_project」フォルダ内をすべて「anaconda_win」直下に配置する
    ドライブ直下のプロジェクト・ディレクトリ
    c:/anaconda_win
    ├─workspace_py37
    │  ├─mylib             ← python 共有ライブラリ (パスが通っていること)
    │  └─openvino
    └─workspace_py38        ← anaconda 環境下のアプリケーション・プロジェクト
        ├─googletrans
        └─stable_diffusion
  4. 「Stable-diffusion」パッケージのインストール
    (py38) PS > cd /anaconda_win/workspace_py38\stable_diffusion
    (py38) PS > python -m pip install --upgrade pip
    (py38) PS > pip install openvino==2022.1.0
    (py38) PS > pip install -r requirements.txt

「Stable-diffusion」動作確認

自動翻訳パッケージ「googletrans」インストール

「googletrans」の動作確認

GUI 画像生成プログラム

画像生成 【仮想環境(py38)】実行プロジェクト 環境は既に構築済み

  1. 「Stable-Diffusion」を試してみる
  2. 「Stable-Diffusion」GUIを作る
  3. 「Stable-Diffusion」画像生成を試す
  4. 「Stable-Diffusion」パラメータを検証する
  5. 「Stable-Diffusion」画像生成速度を検証する
  6. 「Stable-Diffusion」自動翻訳を組み合わせる
    update_20230104.zip (1.27GB)   (result_data/フォルダのみ配置)
  7. 「Stable-Diffusion」色々な画像生成を試す
  8. 「Stable-Diffusion」実用性を探る
  9. 「Stable-Diffusion」人物画像を生成する
  10. 「Stable-Diffusion」画像を元にして生成する
  11. Stable diffusion の Webサービス「Dream Studio」
  12. 「Stable-Diffusion infinity」を試してみる

プロジェクト環境設定5:物体認識「YOLO V7」【仮想環境(py38a)】

プロジェクトパッケージの配置

  1. 「プロジェクト・パッケージ for Windows/Linux」をダウンロード
    AI_project_20230413.zip (216MB) <YOLO v7 プロジェクト一式>

  2. 「AI_project_20230413.zip」を解凍してできた「update」フォルダ内をすべてプロジェクトのホームディレクトリに配置する(上書き保存)
    プロジェクトのディレクトリ配置
    プロジェクト・ホーム(c:/anaconda_win または ~/)
    ├─Images                ← 画像データ
    ├─model                 ← 学習済みモデル
    ├─Videos                ← 動画データ
    │       :
    ├─work                  ← 今回使用するプロジェクト・ディレクトリ
    │  ├─openvino
    │  └─yolov7
    ├─workspace_py37
    │  └─mylib             ← python 共有ライブラリ (パスが通っていること)
    └─workspace_py38        ← anaconda 環境下のアプリケーション・プロジェクト
        ├─ :
        └─stable_diffusion

仮想環境(py38a) の作成

  1. 新しく仮想環境を作成する
    (base) PS > conda create -n py38a python=3.8
  2. できた仮想環境の確認
    (base) PS > $ conda activate py38a
    (py38a) PS >                ← (py38a) に切り替わっていることを確認する
    (py38a) PS > conda info -e
    # conda environments:
    #
    base                     C:\Users\USER\anaconda3
    py311                    C:\Users\USER\anaconda3\envs\py311
        :
    py38                     C:\Users\USER\anaconda3\envs\py38
    py38a                 *  C:\Users\USER\anaconda3\envs\py38a

新規の仮想環境「py38a」に必要なパッケージをインストール

  1. パッケージのインストール
    「/anaconda_win/work/requirements.txt」設定ファイル
    # Stable Diffusion & YOLOv7_OpenVINO
    openvino==2022.1.0
    numpy==1.19.5
    opencv-python==4.5.5.64
    transformers==4.16.2
    diffusers==0.2.4
    tqdm==4.64.0
    huggingface_hub==0.9.0
    scipy==1.9.0
    streamlit==1.12.0
    watchdog==2.1.9
    ftfy==6.1.1
    PyMuPDF
    torchvision
    matplotlib
    seaborn
    onnx
    googletrans==4.0.0-rc1
    (py38a) PS > cd /anaconda_win/work
    (py38a) PS > pip install -r requirements.txt
    ▼「pip install -r requirements.txt」ログ

  2. 「YOLOv7_OpenVINO」「YOLO V7」を実装する
    YOLOv7_OpenVINO のテスト のページ以下を実行する

物体認識 【仮想環境(py38a)】実行プロジェクト

  1. 物体認識の深層学習タスク:YOLO V7 実行プログラムの作成
    (py38a) PS > cd /anaconda_win/work/yolov7
    (py38a) PS > python object_detect_yolo7.py
    (py38a) PS > cd /anaconda_win/work/openvino/
    (py38a) PS > python object_detect_yolo5.py
    (py38a) PS > python object_detect_yolo3.py
  2. カスタムデータによる学習1「マスク着用の判定」  update_20230519.zip (235MB)
    (py38a) PS > cd /anaconda_win/work/yolov7
    (py38a) PS > python object_detect_yolo7.py -m mask_best.onnx -l mask.names_jp -i ../../Images/mask.jpg -o out_mask.jpg
  3. カスタムデータによる学習2「じゃんけんの判定1」 update_20230616.zip (1.22GB)
    (py38a) PS > pip install labelImg
    (py38a) PS > cd /anaconda_win/work/labelImg/janken/
    (py38a) PS > labelImg par predefined_classes.txt par
    (py38a) PS > cd /anaconda_win/work/yolov7-main
    (py38a) PS > python detect2.py --weights runs/train/yolov7x_custom2_60/weights/best.pt --conf 0.25 --img-size 640 --source ../../Images/janken2.jpg --view-img
    (py38a) PS > cd /anaconda_win/work/yolov7
    (py38a) PS > python object_detect_yolo7.py -m ../yolov7-main/runs/train/yolov7x_custom2_60/weights/best.onnx -l janken.names_jp -i cam
    (py38a) PS > python object_detect_yolo7.py -m ../yolov7-main/runs/train/yolov7x_custom2_60/weights/best.onnx -l janken.names_jp -i ../../Images/janken2.jpg
  4. 学習パラメータ考察
  5. カスタムデータによる学習3「じゃんけんの判定2」 update_20230718.zip (784MB)
    (py38a) PS > cd /anaconda_win/work/yolov7
    (py38a) PS > python object_detect_yolo7.py -m ../yolov7-main/runs/train/yolov7x_custom4_60/weights/best.onnx -l janken.names_jp -i ../../Images/janken3.jpg -o janken3_custom4_60.jpg
  6. カスタムデータによる学習4「じゃんけんの判定3」 update_20230813.zip (1.32GB)
  7. 元になる学習モデルの違いによる考察
  8. 「じゃんけん」カスタムデータによる学習モデルまとめ

プロジェクト環境設定6:ローカルマシンで学習【仮想環境(py38b)】

仮想環境(py38b) の作成

  1. 新しく仮想環境を作成する
    (base) PS > conda create -n py38b python=3.8
  2. できた仮想環境の確認
    (base) PS > $ conda activate py38b
    (py38b) PS >                ← (py38b) に切り替わっていることを確認する
    (py38b) PS > conda info -e
    # conda environments:
    #
    base                     C:\Users\USER\anaconda3
    py311                    C:\Users\USER\anaconda3\envs\py311
        :
    py38b                 *  C:\Users\USER\anaconda3\envs\py38b

新規の仮想環境「py38b」に必要なパッケージをインストール

  1. パッケージのインストール
    「/anaconda_win/work/requirements.txt」設定ファイル
    # Stable Diffusion & YOLOv7_OpenVINO
    openvino==2022.1.0
    numpy==1.19.5
    opencv-python==4.5.5.64
    transformers==4.16.2
    diffusers==0.2.4
    tqdm==4.64.0
    huggingface_hub==0.9.0
    scipy==1.9.0
    streamlit==1.12.0
    watchdog==2.1.9
    ftfy==6.1.1
    PyMuPDF
    torchvision
    matplotlib
    seaborn
    onnx
    googletrans==4.0.0-rc1
    (py38b) PS > cd /anaconda_win/work
    (py38b) PS > pip install -r requirements.txt

インストール結果の確認

インストールされている NVIDIA ドライバーの確認

「Pytorch」インストール

  1. Pytorch オフィシャルサイト のインストールコマンドを実行
    (py38b) PS > pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
    ▼ - log - NVIDIA GeForce RTX 4070 Ti

  2. インストール結果の確認
    (py38b) PS > conda list
    # packages in environment at C:\Users\USER\anaconda3\envs\py38b:
    #
    # Name                    Version                   Build  Channel
        :
    torch                     2.1.2+cu121              pypi_0    pypi
    torchaudio                2.1.2+cu121              pypi_0    pypi
    torchvision               0.16.2+cu121             pypi_0    pypi
        :
    (py38b) PS > python
    Python 3.8.18 (default, Sep 11 2023, 13:39:12) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import torch
    >>> print(torch.__version__)
    2.1.2+cu121
    >>> import torchvision
    >>> print(torchvision.__version__)
    0.16.2+cu121
    >>> quit()

  3. GPU を認識しているかのテスト「workspace_py37/cuda_test.py」
    (py38b) PS > cd /anaconda_win/workspace_py37
    (py38b) PS > python cuda_test.py
    2.1.2+cu121
    cuda, True
    compute_89
    find gpu devices, 1
    cuda:0, NVIDIA GeForce RTX 4070 Ti
    end

パッケージの追加

Git のインストール

  1. Windows用インストーラを オフィシャルサイトgit for windows からダウンロード
  2. インストールと設定をする → Gitのインストール方法(Windows版)
    (py38b) PS > git config --global user.name izuts
    (py38b) PS > git config --global user.email izutsum@venus.dti.ne.jp
    (py38b) PS > ssh-keygen
    Generating public/private rsa key pair.
        :
    デフォルトで問題ないので何も入力せずにEnterを押す
  3. インストール確認
    (py38b) PS > git --version
    git version 2.43.0.windows.1

学習 Training を実行

  1. データ・セット「janken_dataset」をフォルダごと「yolov7-main/data」にアップする

  2. 学習するのに必要な情報を記述したyamlファイル「janken_dataset.yaml」を「yolov7-main」の直下にアップする

  3. 「Official YOLOv7」 から、学習済みモデル「yolov7x.pt」をダウンロードし「/work/yolo7-main」の下にコピーする

  4. 下記のコマンドで学習を実行する
    GeForce RTX 4070 メモリーサイズ(12GB) から バッチサイズ:8 で実行できる
    (py38b) PS > cd /anaconda_win/work/yolov7-main
    (py38b) PS > python train.py --workers 8 --batch-size 16 --data janken_dataset.yaml --cfg cfg/training/yolov7x.yaml --weights 'yolov7x.pt' --name yolov7x_custom2 --hyp data/hyp.scratch.p5.yaml --epochs 300 --device 0
    ▼ - log - NVIDIA GeForce RTX 4070 Ti

  5. 正常に終了すると、学習結果は「yolov7-main/runs/train/yolov7x_custom2*/」に保存される
    ・学習結果モデルは「yolov7x_custom26/weights」評価指標は「yolov7x_custom26」
    この学習にかかった時間 → 1時間 19分
    F1 curveP curvePR curveR curve

  6. 「GoogleColab」と同じバッチサイズ:16 で実行した場合はメモリースワップにより時間がかかる
    (py38b) PS > cd /anaconda_win/work/yolov7-main
    (py38b) PS > python train.py --workers 16 --batch-size 16 --data janken_dataset.yaml --cfg cfg/training/yolov7x.yaml --weights 'yolov7x.pt' --name yolov7x_custom2 --hyp data/hyp.scratch.p5.yaml --epochs 300 --device 0
    ▼ - log - NVIDIA GeForce RTX 4070 Ti

    この学習にかかった時間 → 13時間 19分

  7. 搭載メモリー以内で使用した場合、Colab 基本実装 GPU T4 の およそ 4.5倍の速度(51.5/11.5 = 4.5)
    NVIDIA GeForce RTX 4070 Ti 12GB(11.5s / 1 Epoch)
            :
         Epoch   gpu_mem       box       obj       cls     total    labels  img_size
         1/299     9.13G   0.05278   0.01643   0.02072   0.08993        24       640: 100%|█| 60/60 [00:12<00:00,  4.97it/s]
                   Class      Images      Labels           P           R      mAP@.5  mAP@.5:.95: 100%|█| 8/8 [00:00<00:00, 
                     all         120         120       0.251       0.283       0.197      0.0455
    
         Epoch   gpu_mem       box       obj       cls     total    labels  img_size
         2/299     10.7G   0.04662    0.0146    0.0188   0.08003        28       640: 100%|█| 60/60 [00:11<00:00,  5.01it/s]
                   Class      Images      Labels           P           R      mAP@.5  mAP@.5:.95: 100%|█| 8/8 [00:00<00:00, 
                     all         120         120       0.229       0.533       0.289      0.0803
            :
    Tesla T4 16GB(51.5s / 1 Epoch)
            :
         Epoch   gpu_mem       box       obj       cls     total    labels  img_size
         1/299     9.48G   0.05013   0.01651   0.01977   0.08641        27       640: 100% 60/60 [00:53<00:00,  1.13it/s]
                   Class      Images      Labels           P           R      mAP@.5  mAP@.5:.95: 100% 8/8 [00:03<00:00,  2.29it/s]
                     all         120         120       0.168       0.292       0.149      0.0273
    
         Epoch   gpu_mem       box       obj       cls     total    labels  img_size
         2/299       11G     0.047   0.01419   0.01878   0.07998        20       640: 100% 60/60 [00:50<00:00,  1.19it/s]
                   Class      Images      Labels           P           R      mAP@.5  mAP@.5:.95: 100% 8/8 [00:03<00:00,  2.27it/s]
                     all         120         120       0.182         0.4       0.217      0.0691
            :

プロジェクト環境設定7:GAN(敵対的生成ネットワーク)【仮想環境(py38_gan)】

仮想環境(py38_gan) の作成

  1. 新しく仮想環境を作成する
    (base) PS > conda create -n py38_gan python=3.8
  2. できた仮想環境の確認
    (base) PS > $ conda activate py38_gan
    (py38_gan) PS >                ← (py38a) に切り替わっていることを確認する
    (py38_gan) PS > conda info -e
    # conda environments:
    #
    base                     C:\Users\USER\anaconda3
    py311                    C:\Users\USER\anaconda3\envs\py311
        :
    py38_gan              *  C:\Users\USER\anaconda3\envs\py38_gan

必要なパッケージと「StarGAN-V2」導入

  1. 「StarGAN-V2」の導入 オフィシャルサイト から stargan-v2一式をダウンロード
    (py38_gan) PS > cd /anaconda_win/work/
    $ git clone https://github.com/clovaai/stargan-v2.git
    ▼「git clone https://github.com/clovaai/stargan-v2.git」ログ

  2. 学習済みモデルとプロジェクトファイルの配置
    下記のダウンロードしたファイルを解凍し「/work」フォルダ以降を「/anaconda_win/work」に上書き配置する
    update_20231015.zip (687MB) <アップデート・データ>

  3. パッケージのインストール
    (py38_gan) PS > pip install -r requirements.txt
    ▼「/anaconda_win/work/requirements.txt」設定ファイル
    ▼「pip install -r requirements.txt」ログ

  4. 不足しているパッケージをインストール
    (py38_gan) PS > pip install munch scikit-image ffmpeg
    ▼「pip install munch scikit-image ffmpeg」ログ

  5. 「StarGAN-V2」ソースコードを修正する
    下記「/anaconda_win/work/stargan-v2/core」フォルダ内の 3ファイルを名前を変えて上書きコピーする
    checkpoint_patch.py  →  checkpoint.py
    solver_patch.py      →  solver.py
    wing_patch.py        →  wing.py

画像生成 2 GAN(敵対的生成ネットワーク) 環境構築と実行

  1. 顔の合成:StarGAN-v2 StarGAN-V2 の実行 環境は既に構築済み
    ・付属サンプル画像を使って実行する
    (py38_gan) PS > cd /anaconda_win/work/stargan-v2/
    (py38_gan) PS > python main.py --mode sample --num_domains 2 --resume_iter 100000 --w_hpf 1 --checkpoint_dir expr/checkpoints/celeba_hq --result_dir expr/results/celeba_hq --src_dir assets/representative/celeba_hq/src_0 --ref_dir assets/representative/celeba_hq/ref_0
    (py38_gan) PS > python main2.py --mode sample --num_domains 2 --resume_iter 100000 --w_hpf 1 --checkpoint_dir expr/checkpoints/celeba_hq --result_dir expr/results/celeba_hq --src_dir assets/representative/celeba_hq/src_0 --ref_dir assets/representative/celeba_hq/ref_0
    ・カスタム画像を変換する
    (py38_gan) PS > python main.py --mode align --inp_dir assets/representative/custom_1/male --out_dir assets/representative/celeleba_hq --src_dir assets/representative/celeba_hq/src_0 --ref_dir assets/representative/celeba_hq/ref_0
    ・カスタム画像を使って実行する
    (py38_gan) PS > python main2.py --mode sample --num_domains 2 --resume_iter 100000 --w_hpf 1 --checkpoint_dir expr/checkpoints/celeba_hq --result_dir expr/results/celeba_hq --src_dir assets/representative/celeba_hq/src --ref_dir assets/representative/celeba_hq/ref_1
    (py38_gan) PS > python main2.py --mode sample --num_domains 2 --resume_iter 100000 --w_hpf 1 --checkpoint_dir expr/checkpoints/celeba_hq --result_dir expr/results/celeba_hq --src_dir assets/representative/celeba_hq/src_3 --ref_dir assets/representative/celeba_hq/ref_1
    (py38_gan) PS > python main2.py --mode sample --num_domains 2 --resume_iter 100000 --w_hpf 1 --checkpoint_dir expr/checkpoints/celeba_hq --result_dir expr/results/celeba_hq --src_dir assets/representative/celeba_hq/src --ref_dir assets/representative/celeba_hq/ref_0
    (py38_gan) PS > python main2.py --mode sample --num_domains 3 --resume_iter 100000 --w_hpf 0 --checkpoint_dir expr/checkpoints/afhq --result_dir expr/results/afhq --src_dir assets/representative/afhq/src_0 --ref_dir assets/representative/afhq/ref_0
  2. 画像スタイル変換:CycleGAN               update_20231103.zip (165MB)
    ・動作環境の準備と設定
    (py38_gan) PS > cd /anaconda_win/work/
    (py38_gan) PS > git clone https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix.git
    (py38_gan) PS > pip install dominate visdom
    ▼インストール ログ

    ・CycleGan の実行
    (py38_gan) PS > cd /anaconda_win/work/pytorch-CycleGAN-and-pix2pix/
    (py38_gan) PS > python test.py --dataroot datasets/images --name style_ukiyoe_pretrained --model test --no_dropout --preprocess scale_width --load_size 1024 --gpu_ids -1
    (py38_gan) PS > python test.py --dataroot datasets/images --name style_monet_pretrained --model test --no_dropout --preprocess scale_width --load_size 1024 --gpu_ids -1
    (py38_gan) PS > python test.py --dataroot datasets/images --name style_cezanne_pretrained --model test --no_dropout --preprocess scale_width --load_size 1024 --gpu_ids -1
    (py38_gan) PS > python test.py --dataroot datasets/images --name style_vangogh_pretrained --model test --no_dropout --preprocess scale_width --load_size 1024 --gpu_ids -1
  3. 人間の年齢による顔の変化:DLFS              update_20231117.zip (18.3MB)
  4. StyleGANを使った画像編集:StyleGAN e4e
  5. StyleGAN3による画像とビデオの編集:StyleGAN3
  6. 静止画から作るフェイク動画:First Order Motion Model
  7. GANによる似顔絵生成:QMUPD
  8. 画像に別の画像のスタイルを転送:PAMA          update_20231209.zip (115MB)
  9. 音声で顔画像を動かす:One Shot Talking Face
  10. 顔画像に様々なスタイルをブレンドする:BlendGAN
  11. 個別の学習プロセス無しでFaceSwapを実現する:SberSwap

動画編集 Tips

NVIDIA cuda GPU の設定

NVIDIAのGPUアーキテクチャ

アーキテクチャ
(読み方)
プロセスルール販売開始採用シリーズ
Kepler
(ケプラー)
28nm2012年GeForce GTX/GT 600シリーズ
2012年GeForce GTX/GT 700シリーズ
2013年GeForce GTX TITANシリーズ
Maxwell
(マクスウェル)
28nm2014年GeForce GTX 700シリーズ
2015年GeForce GTX 900シリーズ
Pascal
(パスカル)
16nm/14nm2016年GeForce GTX 10シリーズ
Turing
(チューリング)
12nm2018年GeForce RTX 20シリーズ
2019年GeForce GTX 16シリーズ
Ampere
(アンペア)
8nm2020年GeForce RTX 30シリーズ
Ada Lovelace
(エイダ・ラブレス)
5nm2022年GeForce RTX 40シリーズ

NVIDIA Graphic board の確認

NVIDIA ドライバーのインストール(バージョンアップ)

仮想環境(py311)を作成

  1. python 3.11 が適合するようなので、この版の仮想環境を作る
    (base) PS > conda create -n py311 python=3.11
    ▼「conda create -n py311 python=3.11」ログ

  2. できた仮想環境の確認
    (base) PS > python -V
    Python 3.11.5
    (base) > conda info -e
    # conda environments:
    #
    base                  *  C:\Users\USER\anaconda3
    py311                    C:\Users\USER\anaconda3\envs\py311
    py37                     C:\Users\USER\anaconda3\envs\py37

  3. 仮想環境(py311)に切り替える
    (base) > conda activate py311
    (py311) PS > conda info -e
    # conda environments:
    #
    base                     C:\Users\USER\anaconda3
    py311                 *  C:\Users\USER\anaconda3\envs\py311
    py37                     C:\Users\USER\anaconda3\envs\py37
  4. 「pip」がないのでインストールする
    (py311) PS > conda install pip
    ▼「conda install pip」ログ

Pytorch のインストール

  1. 仮想環境に PyTorch をインストールする

    ● オフィシャルサイト PyTorch FROM RESEARCH TO PRODUCTION からインストールのためのコマンドを取得する

    ● Cuda 12.3 がないので、12.1 を選択する
    (py37) PS > pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
    ▼「pip install torch torchvision torchaudio...」ログ

  2. パケージのインストール確認
    (py311) PS > python -c "import torch"
    (py311) PS > python -c "import tkinter"
    ※ エラーが出なければ OK

  3. 「PyTorch」から GPU を使用できているかの確認
    (py311) PS > python -c "import torch;print(torch.zeros(1).cuda())"
    tensor([0.], device='cuda:0')
    (py311) PS > python -c "import torch;print(torch.cuda.is_available())"
    True
    (py311) PS > python -c "import torch;print(torch.cuda.get_device_name(torch.device('cuda:0')))"
    NVIDIA GeForce RTX 4070 Ti
  4. GPU テストプログラム「/anaconda_win/workspace_py311/cuda_test.py」
     cuda_test.py
    import torch
    
    print(torch.__version__)
    print(f"cuda, {torch.cuda.is_available()}")
    print(f"compute_{''.join(map(str,(torch.cuda.get_device_capability())))}")
    device_num:int = torch.cuda.device_count()
    print(f"find gpu devices, {device_num}")
    for idx in range(device_num):
        print(f"cuda:{idx}, {torch.cuda.get_device_name(idx)}")
    
    print("end")
    (py311) PS > /anaconda_win/workspace_py311
    (py311) PS > python cuda_test.py
    2.1.2+cu121
    cuda, True
    compute_89
    find gpu devices, 1
    cuda:0, NVIDIA GeForce RTX 4070 Ti
    end

更新履歴

参考資料

 

Last-modified: 2024-02-16 (金) 05:21:56