Windows11 WSL2 Ubuntu 24.04 LTS Docker miniconda3

Docker tensorflow gpu 版構築まとめ

ここまで Docker に tensorflow gpu 版を構築しようと頑張ってきました。
どこに tensorflow をインストールするかをまとめると次のようになります。
WSL2 Ubuntu Python 概要参照

  1. root 領域

    ubuntu 2404 LTS からは Python は root 領域にはインストール禁止、 2025/11/13日現在は root 領域へのインストールは上手くいきません。

  2. enev 領域

    Illegal instruction (コアダンプ)が発生します。
    原因は、最新第12世代インテル CPU が拡張命令セット AVX-512 に対応していないことでした。
    私の場合 ubuntu 2204 LTS では上手く行きませんでした。

  3. enev 領域Ⅱ

    ubuntu 2404 LTS 以降可能になりました。
    python 3.12 tensorflow 2.20 コンテナ作成-- pip で TensorFlow gpu をインストール
    参照。
    Docker を使用しない場合はこれが良いと思います。

  4. conda 領域

    ubuntu 2204 LTS 当時はこれが最良の方法でした。
    私は ubuntu 2204 ではこれで作業をしていました。

  5. Docker conda 領域

    conda 愛用者としては最初に Docker conda 領域に TensorFlow を入れたのですが conda install では TensorFlow の最新版を入れることができず
    python 3.11、tensorflow 2.12
    どまりでした。
    docker-compose mini 拡張参照

  6. Docker conda 領域Ⅱ

    conda, pip install を駆使してインストールすると TensorFlow の最新版を入れることができます。
    現在のところこれが最良の方法かもしれません。
    python 3.12、tensorflow 2.20
    miniconda + tensorflow 2.20 コンテナ構築参照
    Docker イメージサイズが大きくなるのが欠点(13.7GB)です。

  7. Docker 領域 → p312t

    conda と enev 環境を利用しないので環境構築が簡単です。
    Docker イメージサイズも 10.2GB に抑えられます。
    python 3.12 tensorflow 2.20 コンテナ作成 参照。
    私はこれがお気に入りです。


以上のようにいろいろな領域に tensorflow gpu 版を構築してきました。
いろいろな方法で tensorflow がインストールできるようになったことが喜びです。


Docker コンテナ p312t 本格的動作確認

Docker コンテナ p312t を使って詳細な動作確認をしていきます。
本コンテナには 2025/11/13日現在の tensorflow gpu 版の最新版
python 3.12、tensorflow 2.20
がインストールされています。
このコンテナの動作確認用の python ファイル gai_rnn_d1.py を作成します。
tensorflow で動作する本格的なファイル gai_rnn_d.py を一部変更します。
作成方法については
さくら VPS RNN 豪ドル/円予測 Ⅳ
 ~
さくら VPS RNN 豪ドル/円予測Ⅳファイルまとめ
に詳しく記載しています。

Docker コンテナ p312t 動作確認用ファイル作成

Docker コンテナ p312t 動作確認用
python RNN 豪ドル/円予測Ⅳファイル gai_rnn_d1.py を gai_rnn_d.py から作成していきます。
gai_rnn_d.py のファイル内容は
さくら VPS RNN 豪ドル/円予測Ⅳファイルまとめ
を参照してください。
変更内容は次の通りです

  1. csv ファイル元データ

    外為どっとコムの豪ドル/円の為替日足データは
    /home/yamada /d-p312t/files/manep-w/gai_audjp_d.csv
    に置きます。
    この豪ドル/円 の CSV デ-タは少し古いですが ここ をクリックするとダウンロードすることができますのでご利用ください。
    まずは、csv ファイルの読込フォルダを変更します。 # ②
    xl_df = pd.read_csv(
     "/home/yamada/public_html/manep/gai_audjp_d.csv", index_col=0)
    ⇩ 変更
    xl_df = pd.read_csv(
      "manep-w/gai_audjp_d.csv", index_col=0)

  2. keras.callbacks.ModelCheckpoint 保存場所変更

    keras.callbacks.ModelCheckpoint ファイル jena_dense_l.keras の保存場所を
    /home/yamada/d-p312t/files/ ①
    すなわち、ただ単に jena_dense_l.keras とします。
    すると①に保存されます。
    195行目あたりを修正します。

      keras.callbacks.ModelCheckpoint(
        "/home/yamada/public_html/colab/jena_dense_l.keras",
        save_best_only=True,
        )
       ⇩ 変更
      keras.callbacks.ModelCheckpoint(
      # "/home/yamada/public_html/colab/jena_dense_l.keras",
        "jena_dense_l.keras",
        save_best_only=True,
        )
    

    219行目あたりにモデルの呼び出しがあります。
    keras.models.load_model
    も修正します。

    model = keras.models.load_model( 
      "/home/yasuhiro/public_html/colab/jena_dense_l.keras")
    ⇩ 変更
    model = keras.models.load_model( 
      "jena_dense_l.keras")
    
  3. 予測チャートの保存

    予測チャート gai_rnn_d1.png を
    /home/yamada/d-p312t/files/manep-img/
    に保存します。
    gai_rnn_d.py の最後に近い部分
    plt.savefig(
      '/home/yamada/public_html/manep-img/gai_rnn_d1.png')
    ⇩ 変更
    plt.savefig(
      "manep-img/gai_aud_d1.png)

  4. 予測結果の保存

    予測結果 gai_rnn_d1.csv を
    /home/yamada/d-p312t/files/manep-img/
    に保存します。
    gai_rnn_d.py の最後の部分
    # ⑤
    df_concat.to_csv(
      '/home/yamada/public_html/manep-img/gai_rnn_d.csv',
    header=False, index=False)
    ⇩ 変更
    df_concat.to_csv(
      "manep-img/gai_rnn_d1.csv",
    header=False, index=False)
    )


ここまで Docker コンテナ p312t 動作確認用ファイル gai_rnn_d1.py について説明してきました。
引き続き、説明内容をまとめます。


  • Docker コンテナ p312t 動作確認用ファイル gai_rnn_d1.py まとめ に進む
  • miniconda3 python 3.12 Docker minit20 動作確認 に戻る
  • miniconda + tensorflow 2.20 コンテナ構築 に戻る
  • Docker ya-p312t コンテナ動作確認用ファイル作成 に戻る
  • python 3.12 tensorflow 2.20 docker-compose 作成 に戻る
  • python 3.12 tensorflow 2.20 コンテナ作成 に戻る
  • miniconda3 python 3.11 docker-compose 作成 に戻る
  • Docker yamat-mini コンテナ動作確認用ファイル作成 に戻る
  • docker-compose mini 拡張 に戻る
  • docker-compose mini ファイル実行 に戻る
  • docker-compose を使ってマウントの指定 に戻る
  • Docker volume バインドマウント に戻る
  • Docker volume に戻る
  • Docker イメージ d-minic コンテナを起動 に戻る
  • dockerfile で continuumio/miniconda3 コンテナを起動 に戻る
  • docker-miniconda3 コンテナの構築 に戻る
  • NVIDIA Container Toolkit インストール準備まとめ に戻る
  • Docker コンテナ miniconda3 に戻る
  • 70VPS に戻る