Windows11 WSL2 Ubuntu 24.04 LTS Docker miniconda3
Docker tensorflow gpu 版構築まとめ
ここまで Docker に tensorflow gpu 版を構築しようと頑張ってきました。
どこに tensorflow をインストールするかをまとめると次のようになります。
WSL2 Ubuntu Python 概要参照
- root 領域
ubuntu 2404 LTS からは Python は root 領域にはインストール禁止、 2025/11/13日現在は root 領域へのインストールは上手くいきません。
- enev 領域
Illegal instruction (コアダンプ)が発生します。
原因は、最新第12世代インテル CPU が拡張命令セット AVX-512 に対応していないことでした。
私の場合 ubuntu 2204 LTS では上手く行きませんでした。 - enev 領域Ⅱ
ubuntu 2404 LTS 以降可能になりました。
python 3.12 tensorflow 2.20 コンテナ作成-- pip で TensorFlow gpu をインストール
参照。
Docker を使用しない場合はこれが良いと思います。 - conda 領域
ubuntu 2204 LTS 当時はこれが最良の方法でした。
私は ubuntu 2204 ではこれで作業をしていました。 - Docker conda 領域
conda 愛用者としては最初に Docker conda 領域に TensorFlow を入れたのですが conda install では TensorFlow の最新版を入れることができず
python 3.11、tensorflow 2.12
どまりでした。
docker-compose mini 拡張参照 - Docker conda 領域Ⅱ
conda, pip install を駆使してインストールすると TensorFlow の最新版を入れることができます。
現在のところこれが最良の方法かもしれません。
python 3.12、tensorflow 2.20
miniconda + tensorflow 2.20 コンテナ構築参照
Docker イメージサイズが大きくなるのが欠点(13.7GB)です。 - 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 豪ドル/円予測Ⅳファイルまとめ
を参照してください。
変更内容は次の通りです
- 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) - 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") - 予測チャートの保存
予測チャート 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) - 予測結果の保存
予測結果 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 について説明してきました。
引き続き、説明内容をまとめます。