前提・実現したいこと
<環境>
Windows10, Anaconda, JupyterLab, 仮想環境, Pythohn3.5, CUDA9.0, tensorflow-gpu 1.13.1
tensorflowを用いたGPUによるCNNの演算処理が可能な状態にしたいのですが、エラーメッセージが表示されます。
CUDAのバージョンが古いのでしょうか? 対処法がわかりません。
発生している問題・エラーメッセージ
InternalError: cudaGetDevice() failed. Status: CUDA driver version is insufficient for CUDA runtime version
該当のソースコード
# TensorFlowのインポート import tensorflow as tf #kerasのインポート from tensorflow import keras # ヘルパーライブラリのインポート import numpy as np
#画像データのロード from keras.datasets import cifar10 (x_train, y_train), (x_test, y_test) = cifar10.load_data()
#データセットのラベルをone-hot表現に変換 from keras.utils import np_utils y_train = np_utils.to_categorical(y_train) y_test = np_utils.to_categorical(y_test)
#RGB値を0~1で正規化 x_train = x_train / 255.0 x_test = x_test / 255.0
#Alex_Netのレイヤーを構築 def Alex_Net_model(): model = tf.keras.Sequential() #1st convolutional layer model.add(tf.keras.layers.Conv2D(96, 4, strides=(2, 2), padding='valid', data_format='channels_last', activation='relu', bias_initializer='ones', input_shape=(32,32,3))) model.add(tf.keras.layers.BatchNormalization(axis=1)) model.add(tf.keras.layers.MaxPooling2D(pool_size=(2, 2), strides=(1, 1), padding='valid', data_format='channels_last')) #2nd convolutional layer model.add(tf.keras.layers.Conv2D(256, 4, strides=(2, 2), padding='valid', data_format='channels_last', activation='relu', bias_initializer='zeros')) model.add(tf.keras.layers.BatchNormalization(axis=1)) model.add(tf.keras.layers.MaxPooling2D(pool_size=(1, 1), strides=(1, 1), padding='valid', data_format='channels_last')) #3rd~5th convolutional layer model.add(tf.keras.layers.Conv2D(384, 2, strides=(1, 1), padding='valid', data_format='channels_last', activation='relu', bias_initializer='zeros')) model.add(tf.keras.layers.Conv2D(384, 2, strides=(1, 1), padding='valid', data_format='channels_last', activation='relu', bias_initializer='ones')) model.add(tf.keras.layers.Conv2D(384, 2, strides=(1, 1), padding='valid', data_format='channels_last', activation='relu', bias_initializer='ones')) model.add(tf.keras.layers.MaxPooling2D(pool_size=(2, 2), strides=(1, 1), padding='valid', data_format='channels_last')) # 6th flatten and whole junction layer model.add(tf.keras.layers.Flatten()) model.add(tf.keras.layers.Dense(768)) model.add(tf.keras.layers.Activation('relu')) model.add(tf.keras.layers.Dropout(0.5)) model.add(tf.keras.layers.Dense(768)) model.add(tf.keras.layers.Activation('relu')) model.add(tf.keras.layers.Dropout(0.5)) #7th Softmax layer model.add(tf.keras.layers.Dense(10, activation='softmax')) #損失関数とパラメータの更新方法を設定 model.compile(optimizer=tf.keras.optimizers.SGD(lr=0.01), loss='categorical_crossentropy', metrics=['accuracy']) return model
#学習 history = model.fit(x_train, y_train, epochs=3, batch_size=1000, shuffle=True, validation_split=0.25)
エラー
InternalError: cudaGetDevice() failed. Status: CUDA driver version is insufficient for CUDA runtime version
回答1件
あなたの回答
tips
プレビュー