質問編集履歴
2
エラーの追加
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-
|
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
コードの変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,4 +1,9 @@
|
|
1
|
-
最近、GPU搭載のPCを購入して機械学習をし始めましたが、簡単なRNNでエラーが出てしまい、MNISTでコードを動かしたところ以下のようなエラーが出ます。なおRNNとMNISTでのエラーは同じものです。ネットではメモリ不足などとありますが、自分のGPUはGeforceであり、問題ないと思うのですが。ご回答よろしくお願いします。
|
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
|
-
|
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
|
-
|
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
|
-
|
58
|
+
|
57
59
|
model.compile(optimizer=tf.optimizers.Adam(rate),
|
58
60
|
loss='categorical_crossentropy', metrics=['mae', 'accuracy'])
|
59
61
|
|
60
|
-
|
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
|
-
|
69
|
+
|
68
70
|
pred_test = model.predict_classes(X_test)
|
69
71
|
|
70
72
|
validation = (pred_test == labels_test)
|