質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1666閲覧

GPUのエラー??を解決したい

退会済みユーザー

退会済みユーザー

総合スコア0

Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2022/10/23 13:20

編集2022/10/26 05:01

前提

Failed copying input tensor from /job:localhost/replica:0/task:0/device:CPU:0 to /job:localhost/replica:0/task:0/device:GPU:0 in order to run _EagerConst: Dst tensor is not initialized.
というエラーを解決したい。

エラーが出ているのはバッチサイズの部分です。
(train_ds = tf.data.Dataset.from_tensor_slices((train_ds0,train_gt0)).batch(60))

画像18900枚を使って、Unetのモデルを作っています。
エポック数やバッチサイズの変更で解決できるのでしょうか。
GPUなどの知識が乏しいため、どのように対処すれば良いのか全く分かりません。

専用GPUには余裕がありそうなのにエラーのままです
イメージ説明

実現したいこと

Unetのコンパイルを通したい。

発生している問題・エラーメッセージ

Failed copying input tensor from /job:localhost/replica:0/task:0/device:CPU:0 to /job:localhost/replica:0/task:0/device:GPU:0 in order to run _EagerConst: Dst tensor is not initialized.

試したこと

エポック数、バッチサイズを何度か変更しました。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jbpb0

2022/10/24 09:54

pythonで下記を実行したら、何て表示されますでしょうか? import tensorflow as tf from tensorflow.python.client import device_lib print(tf.test.is_built_with_cuda()) print(tf.config.list_physical_devices('GPU')) print(device_lib.list_local_devices())
退会済みユーザー

退会済みユーザー

2022/10/24 10:40

True [PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')] 2022-10-24 19:38:47.919244: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX AVX2 To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags. 2022-10-24 19:38:48.370992: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1616] Created device /device:GPU:0 with 1655 MB memory: -> device: 0, name: NVIDIA GeForce RTX 3050 Ti Laptop GPU, pci bus id: 0000:01:00.0, compute capability: 8.6 [name: "/device:CPU:0" device_type: "CPU" memory_limit: 268435456 locality { } incarnation: 7125665981247228397 xla_global_id: -1 , name: "/device:GPU:0" device_type: "GPU" memory_limit: 1735917568 locality { bus_id: 1 links { } } incarnation: 18358893780916109415 physical_device_desc: "device: 0, name: NVIDIA GeForce RTX 3050 Ti Laptop GPU, pci bus id: 0000:01:00.0, compute capability: 8.6" xla_global_id: 416903419 ] と出力されます。しかし、私のPCには、 GPU0 : intel(R) uhd graphics GPU1 : nvidia geforce rtx 3050 ti laptop が入っているので2つ目のGPUを認識されていないかもしれないです。
jbpb0

2022/10/24 11:27

> 私のPCには、 GPU0 : intel(R) uhd graphics GPU1 : nvidia geforce rtx 3050 ti laptop が入っているので2つ目のGPUを認識されていないかもしれない 「print(tf.config.list_physical_devices('GPU'))」の実行結果は下記の通りなので、tensorflowが認識してるgpuは「GPU:0」です > [PhysicalDevice(name='/physical_device:GPU:0', device_type='GPU')] ただし、cudaはインテルのgpuは扱えないので、実行したpythonコードではインテルのgpuは数えられませんから、実行結果では「3050 ti」が一つ目(GPU:0)となるはずです 「print(device_lib.list_local_devices())」の実行結果を見ると、下記のように実際そうなってるので、「3050 ti」が「GPU:0」です > Created device /device:GPU:0 with 1655 MB memory: -> device: 0, name: NVIDIA GeForce RTX 3050 Ti Laptop GPU, pci bus id: 0000:01:00.0, compute capability: 8.6 > physical_device_desc: "device: 0, name: NVIDIA GeForce RTX 3050 Ti Laptop GPU, pci bus id: 0000:01:00.0, compute capability: 8.6" したがって、tensorflowから使われてるのは、インテルのgpuではなくて「3050 ti」のはずです
退会済みユーザー

退会済みユーザー

2022/10/24 11:33

ご回答ありがとうございます。 バッチサイズを変更してもエラーが出るという事はもうデータセット自体を減らすしか方法がないですよね。
jbpb0

2022/10/24 11:48 編集

> Created device /device:GPU:0 with 1655 MB memory: -> device: 0, name: NVIDIA GeForce RTX 3050 Ti Laptop GPU, pci bus id: 0000:01:00.0, compute capability: 8.6 1.6GBのメモリーでAI動かすのは、かなり厳しいと思いますよ エラーが出るコードを実行する時に、タスクマネージャー https://pc-bto.net/wp-content/uploads/2018/10/000003_thumb-2.jpg で、「3050 ti」の「専用GPUメモリ」の余裕を確認してみてください > バッチサイズを変更してもエラーが出るという事はもうデータセット自体を減らすしか方法がないですよね。 入力画像のshapeをうんと小さくするとか、ニューラルネットの畳み込み層のチャネル数(質問のコードでは64と128)を減らすとか、ですね でも、そういうこといろいろやって動くようになったとしても、性能が出ないかも
退会済みユーザー

退会済みユーザー

2022/10/24 14:32

タスクマネージャーの写真を追記しました。 専用GPUには余裕がありそうなのに難しいですね。
jbpb0

2022/10/24 15:52 編集

たしかに、仕様では「3050 ti」はメモリー4GB搭載してますが、 > Created device /device:GPU:0 with 1655 MB memory: -> device: 0, name: NVIDIA GeForce RTX 3050 Ti Laptop GPU, pci bus id: 0000:01:00.0, compute capability: 8.6 を見ると、なぜかtensorflowはその内の1.6GBくらいしか使えない(認識してない?)ようです インストールしてるtensorflowとcudaとcndnnのバージョンの組み合わせは、 https://www.tensorflow.org/install/source_windows?hl=en#gpu の「GPU」の表と合ってますでしょうか? また、 https://www.nvidia.co.jp/Download/index.aspx?lang=jp から、「3050 Ti Laptop GPU」に合うnvidiaの最新のドライバーをダウンロードしてインストールしてますでしょうか?
退会済みユーザー

退会済みユーザー

2022/10/24 19:36

どうやらCUDNNが上手くインストールされていなかったようです。 そこで、 https://qiita.com/TrashBoxx/items/2e884998cd1193f73e2f https://rupic.hatenablog.com/entry/2020/03/24/021455 この2つのサイトを元にCUDNNの再インストールを行い、cuDNN内のcudaフォルダの中身をすべて C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7にコピーし、環境変数も通したのですが、 >where cudnn64_7.dll 情報: 与えられたパターンのファイルが見つかりませんでした。 と出力されてしまいます。
jbpb0

2022/10/25 02:23

> C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7にコピーし、 https://www.tensorflow.org/install/source_windows?hl=en#gpu の「GPU」の表では、現時点で最新のtensorflow 2.10でも、cuda 11.2が指定されてます https://teratail.com/questions/49p34699duai23 のエラーは、「TensorFlow 2.9.1」「CUDA 11.7」「cuDNN 8.4.1」の組み合わせが原因だったようで、 https://www.tensorflow.org/install/source_windows?hl=en#gpu の「GPU」の表のバージョンの組み合わせにしたらエラーが出なくなった、とのことです 詳細は、「質問へのコメント」を見てください そのようなこともあるので、 https://www.tensorflow.org/install/source_windows?hl=en#gpu の「GPU」の表のバージョンの組み合わせを守ってインストールすることをお勧めします
退会済みユーザー

退会済みユーザー

2022/10/25 03:41

ご回答ありがとうございました。 https://webbigdata.jp/study/post-9499 の手順通りにしたのですが、エラーのままでした。 あきらめて、google colabでやることにします。。
jbpb0

2022/10/25 05:38 編集

> エラーのままでした。 11.7よりも古いcudaをインストールすることはできましたか? もし古いのをインストールできなかったらですが、一旦cudaの新しいのを入れて、その後に古いのを入れようとすると、「NVIDIAインストーラーを続行できません(既に新しいのが入ってるので...)」的なエラーが出ることがありますが、それは回避する方法があります https://webbigdata.jp/study/post-9499 の「GeForce Experienceのアンインストール」を見てください そうではなく、これまでにインストールしてたcuda 11.7とかを全部綺麗に削除した上で、 https://www.tensorflow.org/install/source_windows?hl=en#gpu の「GPU」の表のバージョンの組み合わせを(cudaだけじゃなくcudnnも)守ってインストールをしたけど、相変わらず実際のメモリー量4GBよりもはるかに少ない > Created device /device:GPU:0 with 1655 MB memory: -> device: 0, name: NVIDIA GeForce RTX 3050 Ti Laptop GPU, pci bus id: 0000:01:00.0, compute capability: 8.6 みたいになるのなら、そういう経験が無いので分かりません
guest

回答1

0

ベストアンサー

Google Colabを使いました。

投稿2022/10/26 05:00

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問