Windows11 WSL2 Ubuntu Python

TensorFlow インストール確認Ⅰ

ここまで TensorFlow のインストールが完了しました。
引き続き TensorFlow がうまくインストールされたか確認します。
yamada@yama:~$ conda activate
として conda 環境を有効にします。
以下のコマンドを実行します。
(base) yamada@yama:~$ python -c "from tensorflow.python.client import device_lib; print(device_lib.list_local_devices())"
実行すると沢山コメントが出ますので分割して説明します。

  1. `TF_ENABLE_ONEDNN_OPTS=0`

    tensorflow/core/util/port.cc:110]
    oneDNN custom operations are on.
    You may see slightly different numerical results due to floating-point round-off errors from different computation orders.
    To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.
    [和訳]
    tensorflow/core/util/port.cc:110]
    oneDNN カスタム オペレーションがオンになっています。
    浮動小数点の丸め誤差により、異なる計算次数から、わずかに異なる数値結果が表示される場合があります。
    それらをオフにするには、環境変数 `TF_ENABLE_ONEDNN_OPTS=0` を設定します。
    [対応]
    py ファイルの最初に
    import os
    os.environ['TF_ENABLE_ONEDNN_OPTS']='0'
    を追加します。

  2. SSE4.1 SSE4.2 AVX AVX2 AVX_VNNI FMA

    tensorflow/core/platform/cpu_feature_guard.cc:182]
    This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
    To enable the following instructions:
    SSE4.1 SSE4.2 AVX AVX2 AVX_VNNI FMA,
    in other operations,
    rebuild TensorFlow with the appropriate compiler flags.
    [和訳]
    tensorflow/core/platform/cpu_feature_guard.cc:182]
    この TensorFlow バイナリは、パフォーマンスが重要な操作で利用可能な CPU 命令を使用するように最適化されています。
    次の SSE4.1 SSE4.2 AVX AVX2 AVX_VNNI FMA 等の命令操作を有効にするには、
    適切なコンパイラ フラグを使用して TensorFlow を再構築します。
    [私の場合]
    私の CPU は
    12th Gen Intel(R) Core(TM) i7-12700
    よって、そもそも AVX 拡張命令セットは使えないので TensorFlow の再構築は必要ないと考えました。
    [対応]
    py ファイルの最初に
    import os
    os.environ['TF_CPP_MIN_LOG_LEVEL']='1'
    を追加します。
    0:全てのメッセージが出力される(デフォルト)
    1:INFO メッセージが出ない
    2:INFO と WARNING が出ない
    3:INFO と WARNING と ERROR が出ない
    対応として1を設定するとこのコメントはでなくなります。

  3. without NUMA support

    tensorflow/compiler/xla/stream_executor/cuda/cuda_gpu_executor.cc:982]
    could not open file to read NUMA node:
    /sys/bus/pci/devices/0000:01:00.0/numa_node
    Your kernel may have been built without NUMA support.
    -------
    tensorflow/core/common_runtime/gpu/gpu_device.cc:1722]
    Could not identify NUMA node of platform GPU id 0, defaulting to 0.
    Your kernel may not have been built with NUMA support.
    -------
    tensorflow/compiler/xla/stream_executor/cuda/cuda_gpu_executor.cc:982]
    could not open file to read NUMA node:
    /sys/bus/pci/devices/0000:01:00.0/numa_node
    Your kernel may have been built without NUMA support.
    [和訳]
    カーネルは NUMA サポートなしで構築されている可能性があります。
    NUMA support とは複数のマイクロプロセッサ(MPU/CPU)を搭載した対称型マルチプロセッサ(SMP)構成のコンピュータで、 全体で共有されているメモリへのアクセス速度が CPU とメモリ領域の組合せにより 不均等にならないよう調整してくれる機能。
    詳細はNUMA 【Non-Uniform Memory Access】
    を参照してください。
    [対応]
    過去以下のバージョン組合せではうまく動作したようです。
    一方、私がインストールした最新のバージョンの組合せでは NUMA support が機能しないようです。

    2022/12 月現在  My PC インストール状況
    tensorflow 2.12.0 2.12.0
    Python 3.8-3.11   3.10.10
    cuDNN 8.6     8.9.3
    CUDA 11.8     12.2

    機能すれば処理速度が少し早くなりそうですが、とりあえずよしとしました。
    os.environ['TF_CPP_MIN_LOG_LEVEL']='1'
    を追加することにしました。
    CUDA 12.2 をダウングレードすれば良いかもしれません。

  4. CPU/GPU 状況

    print(device_lib.list_local_devices())
    により出力された結果は、次の通りです
    tensorflow/core/common_runtime/gpu/gpu_device.cc:1635]
    Created device /device:GPU:0 with 2059 MB memory:
    -> device: 0, name:
    NVIDIA GeForce GTX 1650,
    pci bus id: 0000:01:00.0, compute capability: 7.5
    [name: "/device:CPU:0"
    device_type: "CPU"
    memory_limit: 268435456
    locality {
    }
    incarnation: 10422065275443940544
    xla_global_id: -1,
    name: "/device:GPU:0"
    device_type: "GPU"
    memory_limit: 2159542272
    locality {
    bus_id: 1
    links {
    }
    }
    incarnation: 10267494554063353716
    physical_device_desc:
    "device: 0, name:
    NVIDIA GeForce GTX 1650,
    pci bus id: 0000:01:00.0,
    compute capability: 7.5"
    xla_global_id: 416903419
    ]
    [対応]
    name: "/device:GPU:0"
    があれば GPU を認識しています。


TensorFlow インストール確認Ⅰが完了しました。
引き続き、他の方法でも conda 仮想環境に入れた tensorflow の動作確認をしていきます。


  • TensorFlow インストール確認Ⅱ に進む
  • TensorFlow インストール版数確認 に戻る
  • cuDNN インストール確認 に戻る
  • cuDNN 概要 に戻る
  • CUDA Toolkit のインストール に戻る
  • WSL2 Ubuntu Python GPU 環境 に戻る
  • WSL2 Ubuntu Python 概要 に戻る
  • 70VPS に戻る