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

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

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

CUDAは並列計算プラットフォームであり、Nvidia GPU(Graphics Processing Units)向けのプログラミングモデルです。CUDAは様々なプログラミング言語、ライブラリ、APIを通してNvidiaにインターフェイスを提供します。

Keras

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

深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

Python

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

Q&A

解決済

1回答

4440閲覧

旧Tensorflowを使用したいがGPUが動作しない

ki-ryo-

総合スコア5

CUDA

CUDAは並列計算プラットフォームであり、Nvidia GPU(Graphics Processing Units)向けのプログラミングモデルです。CUDAは様々なプログラミング言語、ライブラリ、APIを通してNvidiaにインターフェイスを提供します。

Keras

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

深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

Python

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

0グッド

0クリップ

投稿2021/12/13 12:45

前提・実現したいこと

tensorflow-gpu=1.15とkeras=2.3.1を用いてプログラムを動かしたいです。しかしGPUがうまく動いていないようで困っています.

動作確認をするためのプログラムを実行したところ,以下のようなエラーが出てしまいプログラムを動かすことができません.
またタスクマネージャーでもGPUの使用率が0%に近くなため,動作していないようで困っています(専用GPUメモリ使用量は上限近くを維持しています)
どなたか解決策など教えていただけないでしょうか.

環境は以下の通りです。
GPU:RTX3090
CUDA Toolkit 10.0
cuDNN v7.6.5
tensorflow-gpu 1.15
Python3.7.11
anaconda3
windows10 64bi

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

エラーメッセージ

InternalError: 2 root error(s) found.
(0) Internal: Blas GEMM launch failed : a.shape=(32, 512), b.shape=(512, 10), m=32, n=10, k=512
[[{{node dense_1/MatMul}}]]
[[loss/mul/_59]]
(1) Internal: Blas GEMM launch failed : a.shape=(32, 512), b.shape=(512, 10), m=32, n=10, k=512
[[{{node dense_1/MatMul}}]]
0 successful operations.
0 derived errors ignored.

該当のソースコード

ソースコード

import tensorflow as tf
mnist = tf.keras.datasets.mnist

(x_train, y_train),(x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
tf.keras.layers.Dense(512, activation=tf.nn.relu),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10, activation=tf.nn.softmax)
])
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['accuracy'])

model.fit(x_train, y_train, epochs=5)
model.evaluate(x_test, y_test)

試したこと

cuDNNのバージョンが7.6.4でインストールしたため,手動で消去し,後にインストールしました.

補足情報(FW/ツールのバージョンなど)

GPUを認識しているか確認するため以下のコードを実行しました
コード
from tensorflow.python.client import device_lib
device_lib.list_local_devices()

結果
[name: "/device:CPU:0"
device_type: "CPU"
memory_limit: 数字が記載
locality {
}
incarnation: 数字が記載,
name: "/device:GPU:0"
device_type: "GPU"
memory_limit: 数字が記載
locality {
bus_id: 1
links {
}
}
incarnation: 数字が記載
physical_device_desc: "device: 0, name: NVIDIA GeForce RTX 3090, pci bus id: 0000:01:00.0, compute capability: 8.6"]

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

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

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

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

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

jbpb0

2021/12/13 13:11 編集

> GPU:RTX3090 CUDA Toolkit 10.0 cuDNN v7.6.5 tensorflow-gpu 1.15 https://www.tensorflow.org/install/source_windows?hl=ja の「テスト済みのビルド構成」の表のtensorflow_gpu-1.15.0のところにcuDNN 7.4と書かれてるので、cuDNN 7.6.5を7.4に入れ替える方がいいかもしれません ただし、RTX 3090は https://www.nvidia.com/ja-jp/geforce/graphics-cards/30-series/rtx-3090/ によるとAmpereアーキテクチャなので、 https://docs.nvidia.com/deeplearning/cudnn/support-matrix/index.html によるとCUDA 10.*は対応してません 正式に対応してない組み合わせなので、どんな不具合が発生してもおかしくありません tensorflow 2.4よりも古いバージョン(TF 1を含む)と組み合わせて使うなら、RTX 30XXではなく、GTX 10XXやRTX 20XXを使う方が無難だと思います
ki-ryo-

2021/12/14 05:21

お返事ありがとうございます.どうやらGPU上で動くコードと動かないコードがあるようですね
jbpb0

2021/12/20 02:04

> GPU上で動くコードと動かないコードがある 正式に対応してない組み合わせなので、どんな不具合が発生してもおかしくありません
guest

回答1

0

ベストアンサー

エラーメッセージ

(0) Internal: Blas GEMM launch failed : a.shape=(32, 512), b.shape=(512, 10), m=32, n=10, k=512
[[{{node dense_1/MatMul}}]]
[[loss/mul/_59]]

が出ているのですから、GPUは動いています。
配列の形状が間違っているので、計算に失敗しています。
ソースコードあるいはデータが間違っているのでしょう。

もっと簡単なコードでテストすることをお勧めします。

投稿2021/12/13 12:53

ppaul

総合スコア24666

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

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

ki-ryo-

2021/12/14 05:04

お返事ありがとうございます.別のコードを実行したところ動かすことができました.ありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問