2017-12-28 18 views
0

Python 3.5でTFLearnを使用してパターン認識問題のDNNを構築しています。私の入力は[50,300]のように整形されているので、おおまかに言えば、トレーニングセットはそれぞれが300要素の配列である50要素からなる配列のリストです。TFLearn:DNNの正しい次元を定義する

私が構築しているすべての配列はNumPy配列です。

ここで私が使用しているコード:

training = np.array(training) 

# create train and test lists 
train_x = list(training[:,0]) 
print(train_x[0]) 
train_y = list(training[:,1]) 
# reset underlying graph data 
tf.reset_default_graph() 
mean = int(len(train_x[0])/len(train_y[0])) 
net = tflearn.input_data(shape=[None, 50, 300]) 
net = tflearn.fully_connected(net, mean) 
net = tflearn.fully_connected(net, mean) 
net = tflearn.fully_connected(net, len(train_y[0]), activation='softmax') 
net = tflearn.regression(net) 
# Define model and setup tensorboard 
model = tflearn.DNN(net, tensorboard_dir='tflearn_logs') 
# Start training (apply gradient descent algorithm) 
model.fit(train_x, train_y, show_metric=True) 

をしかし、私は取得していますエラーは以下の通りです:

Traceback (most recent call last): 
    File "/Users/Foo/Bar/test.py", line 82, in <module> 
model.fit(train_x, train_y, show_metric=True) 
    File "/usr/local/lib/python3.5/site-packages/tflearn/models/dnn.py", line 215, in fit 
callbacks=callbacks) 
    File "/usr/local/lib/python3.5/site-packages/tflearn/helpers/trainer.py", line 336, in fit 
show_metric) 
    File "/usr/local/lib/python3.5/site-packages/tflearn/helpers/trainer.py", line 777, in _train 
feed_batch) 
    File "/usr/local/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 778, in run 
run_metadata_ptr) 
    File "/usr/local/lib/python3.5/site-packages/tensorflow/python/client/session.py", line 954, in _run 
np_val = np.asarray(subfeed_val, dtype=subfeed_dtype) 
    File "/usr/local/lib/python3.5/site-packages/numpy/core/numeric.py", line 531, in asarray 
return array(a, dtype, copy=False, order=order) 
ValueError: setting an array element with a sequence. 

は、おそらく私がうまくネットワークの形状を定義していませんよ。どうすれば修正できますか?アドバイスで

おかげ

答えて

1

ありネットワークを定義するには何の問題もありませんが、問題は、まず第一に、彼らは、リストされているが、彼らは、配列である必要があり、XとYであるあなたは、最初の確認することを修正した場合、それが良いでしょうあなたがフィットする配列の形。

チェックこの1:

# create train and test lists 
train_x = training[:,0].reshape([-1,50,300]) 
print(train_x.shape) 
train_y = training[:,1] 
+0

それはまっすぐ前方にこの問題ではありませんでしたが、それは入力の形状に関連した問題を解決するために私に入力を与えたので、私はあなたの答えを受け入れてきました...私にとって重要なことは、問題がTensorFlowに関するものか、それとも単に形状のものかを理解することでした。ありがとう –

関連する問題