TensorFlowとtflearnを使い、ネットワークを構築しています。
IndexError: too many indices for array とエラーがでました。
Tracebackには、
--------------------------------- Run id: 3OTXAP Log directory: /tmp/tflearn_logs/ Exception in thread Thread-3: Traceback (most recent call last): File "/usr/local/Cellar/python@2/2.7.15/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.py", line 801, in __bootstrap_inner self.run() File "/usr/local/Cellar/python@2/2.7.15/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.py", line 754, in run self.__target(*self.__args, **self.__kwargs) File "/Users/xxx/anaconda/xxx/lib/python2.7/site-packages/tflearn/data_flow.py", line 187, in fill_feed_dict_queue data = self.retrieve_data(batch_ids) File "/Users/xxx/anaconda/xxx/lib/python2.7/site-packages/tflearn/data_flow.py", line 222, in retrieve_data utils.slice_array(self.feed_dict[key], batch_ids) File "/Users/xxx/anaconda/xxx/lib/python2.7/site-packages/tflearn/utils.py", line 187, in slice_array return X[start] IndexError: too many indices for array --------------------------------- Training samples: 3 Validation samples: 1 --
と出ました。
コードには、
import tensorflow as tf import tflearn from tflearn.layers.core import input_data,dropout,fully_connected from tflearn.layers.conv import conv_2d, max_pool_2d from tflearn.layers.normalization import local_response_normalization from tflearn.layers.estimator import regression tf.reset_default_graph() net = input_data(shape=[32, 4, 104, 1]) net = conv_3d(net, 4, 16, activation='relu') net = max_pool_3d(net, 1) net = tflearn.activations.relu(net) net = dropout(net, 0.5) net = tflearn.fully_connected(net, 10, activation='softmax') net = tflearn.regression(net, optimizer='adam', learning_rate=0.5, loss='categorical_crossentropy') model = tflearn.DNN(net) model.fit(trainDataSet, trainLabel, n_epoch=100, batch_size=32, validation_set=0.1, show_metric=True) pred = np.array(model.predict(testDataSet).argmax(axis=1)) label = testLabel.argmax(axis=1) accuracy = np.mean(pred == label, axis=0) print(accuracy)
と書きました。
model = tflearn.DNN(net)
の行まではうまくいっています。
trainDataSet.shape
とすると(4, 104)が、
trainLabel.shape
とすると()が、取れます。trainLabelには0か1の値が入っています。
何が問題なのかさっぱりわかりません。どう修正したらいいでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。