質問するログイン新規登録

質問編集履歴

2

エラーの追加

2021/06/08 22:02

投稿

Harumasa
Harumasa

スコア0

title CHANGED
File without changes
body CHANGED
@@ -1,9 +1,12 @@
1
1
  最近、GPU搭載のPCを購入して機械学習をし始めましたが、簡単なRNNでエラーが出てしまい、MNISTでコードを動かしたところ以下のようなエラーが出ます。なおRNNとMNISTでのエラーは同じものです。ネットではメモリ不足などとありますが、自分のGPUはGeforceであり、問題ないと思うのですが。ご回答よろしくお願いします。
2
- 解決方法を教えてください。
2
+ 解決方法を教えてください。コメントアウトしているところはそれぞれ試みましたが解決しませんでした。
3
3
  以下コードです。
4
4
 
5
5
 
6
6
  ```python
7
+ import os
8
+ os.environ['TF_FORCE_GPU_ALLOW_GROWTH'] = 'true'
9
+
7
10
  import numpy as np
8
11
  from sklearn.model_selection import train_test_split
9
12
  import tensorflow as tf
@@ -12,8 +15,25 @@
12
15
  from tensorflow.keras.layers import Dense, Activation
13
16
  from tensorflow.keras.models import Sequential
14
17
  from tensorflow.keras.utils import to_categorical
18
+ # tf.Session(config=tf.ConfigProto(device_count = {'GPU': 1}))
15
19
 
20
+ # config = tf.ConfigProto()
21
+ # config.gpu_options.allow_growth=True
22
+ # sess = tf.Session(config=config)
16
23
 
24
+ # gpus = tf.config.experimental.list_physical_devices('GPU')
25
+ # for gpu in gpus:
26
+ # tf.config.experimental.set_memory_growth(gpu, True)
27
+
28
+ # config = tf.compat.v1.ConfigProto()
29
+ # config.gpu_options.allow_growth = True
30
+ # session = tf.compat.v1.Session(config=config)
31
+
32
+ # gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.9)
33
+
34
+ # tf.Session(config=tf.ConfigProto(gpu_options=gpu_options,allow_soft_placement=True))
35
+
36
+
17
37
  np.random.seed(0)
18
38
  (X_train_base, labels_train_base), (X_test, labels_test) = mnist.load_data()
19
39
 
@@ -79,9 +99,14 @@
79
99
  エラーは以下のようにでます。
80
100
 
81
101
  ```python
102
+ WARNING:tensorflow:From /home/suzukiharumasa/anaconda3/envs/tf/lib/python3.7/site-packages/tensorflow_core/python/ops/resource_variable_ops.py:1630: calling BaseResourceVariable.__init__ (from tensorflow.python.ops.resource_variable_ops) with constraint is deprecated and will be removed in a future version.
103
+ Instructions for updating:
104
+ If using Keras pass *_constraint arguments to layers.
105
+ Train on 48000 samples, validate on 12000 samples
106
+ Epoch 1/300
82
107
  ---------------------------------------------------------------------------
83
108
  InternalError Traceback (most recent call last)
84
- <ipython-input-4-72cd6e032f9b> in <module>
109
+ <ipython-input-3-a31cdad43806> in <module>
85
110
  48 min_delta=0, patience=10,
86
111
  49 verbose=1)],
87
112
  ---> 50 validation_data=(X_validation, y_validation))
@@ -131,4 +156,5 @@
131
156
  [[{{node dense_1/MatMul}}]]
132
157
  0 successful operations.
133
158
  0 derived errors ignored.
159
+
134
160
  ```

1

コードの変更

2021/06/08 22:02

投稿

Harumasa
Harumasa

スコア0

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,9 @@
1
- 最近、GPU搭載のPCを購入して機械学習をし始めましたが、簡単なRNNでエラーが出てしまい、MNISTでコードを動かしたところ以下のようなエラーが出ます。なおRNNとMNISTでのエラーは同じものです。ネットではメモリ不足などとありますが、自分のGPUはGeforceであり、問題ないと思うのですが。ご回答よろしくお願いします。以下コードです。```python
1
+ 最近、GPU搭載のPCを購入して機械学習をし始めましたが、簡単なRNNでエラーが出てしまい、MNISTでコードを動かしたところ以下のようなエラーが出ます。なおRNNとMNISTでのエラーは同じものです。ネットではメモリ不足などとありますが、自分のGPUはGeforceであり、問題ないと思うのですが。ご回答よろしくお願いします。
2
+ 解決方法を教えてください。
3
+ 以下コードです。
4
+
5
+
6
+ ```python
2
7
  import numpy as np
3
8
  from sklearn.model_selection import train_test_split
4
9
  import tensorflow as tf
@@ -9,19 +14,17 @@
9
14
  from tensorflow.keras.utils import to_categorical
10
15
 
11
16
 
12
- # Kerasに付属の手書き数字画像データをダウンロード
13
17
  np.random.seed(0)
14
18
  (X_train_base, labels_train_base), (X_test, labels_test) = mnist.load_data()
15
19
 
16
- # Training set を学習データ(X_train, labels_train)と検証データ(X_validation, labels_validation)に8:2で分割する
17
20
  X_train,X_validation,labels_train,labels_validation = train_test_split(X_train_base,labels_train_base,test_size = 0.2)
18
21
 
19
- # 各画像は行列なので1次元に変換→X_train,X_validation,X_testを上書き
22
+
20
23
  X_train = X_train.reshape(-1,784)
21
24
  X_validation = X_validation.reshape(-1,784)
22
25
  X_test = X_test.reshape(-1,784)
23
26
 
24
- #正規化
27
+
25
28
  X_train = X_train.astype('float32')
26
29
  X_validation = X_validation.astype('float32')
27
30
  X_test = X_test.astype('float32')
@@ -29,42 +32,41 @@
29
32
  X_validation /= 255
30
33
  X_test /= 255
31
34
 
32
- # labels_train, labels_validation, labels_test をダミー変数化して y_train, y_validation, y_test に格納する
33
35
  y_train = to_categorical(labels_train)
34
36
  y_validation = to_categorical(labels_validation)
35
37
  y_test = to_categorical(labels_test)
36
38
 
37
- # パラメータの設定
39
+
38
40
  n_features = 784
39
41
  n_hidden = 100
40
42
  bias_init = 0.1
41
43
 
42
- # 学習率
44
+
43
45
  rate = 0.01
44
46
 
45
- # Sequentialクラスを使ってモデルを準備する
47
+
46
48
  model = Sequential()
47
49
 
48
- # 隠れ層を追加
50
+
49
51
  model.add(Dense(n_hidden,activation='relu',input_shape=(n_features,)))
50
52
  model.add(Dense(n_hidden,activation='relu'))
51
53
  model.add(Dense(n_hidden,activation='relu'))
52
54
 
53
- # 出力層を追加
55
+
54
56
  model.add(Dense(10,activation='softmax'))
55
57
 
56
- # TensorFlowのモデルを構築
58
+
57
59
  model.compile(optimizer=tf.optimizers.Adam(rate),
58
60
  loss='categorical_crossentropy', metrics=['mae', 'accuracy'])
59
61
 
60
- # Early stoppingを適用してフィッティング
62
+
61
63
  log = model.fit(X_train, y_train, epochs=3000, batch_size=100, verbose=True,
62
64
  callbacks=[keras.callbacks.EarlyStopping(monitor='val_loss',
63
65
  min_delta=0, patience=10,
64
66
  verbose=1)],
65
67
  validation_data=(X_validation, y_validation))
66
68
 
67
- # Test dataで予測を実行。
69
+
68
70
  pred_test = model.predict_classes(X_test)
69
71
 
70
72
  validation = (pred_test == labels_test)