2017-12-28 3 views
0

저는 Python 3.5에서 TFLearn을 사용하여 패턴 인식 문제에 대한 DNN을 작성하고 있습니다. 나의 입력은 [50, 300]으로 형성되므로 대략 훈련 세트는 300 개의 요소로 구성된 50 개의 요소로 구성된 배열 목록입니다.TFLearn : DNN의 정확한 치수를 정의하십시오.

내가 만들고있는 모든 배열은 NumPy 배열입니다. 여기

코드 내가 사용 : 네트워크의

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. 

아마 내가 잘 정의하고 있지 않다 모양 :

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) 

하지만지고있어 오류는 다음과 같습니다. 어떻게 해결할 수 있습니까? 조언에

감사

답변

1

이 네트워크를 정의 아무 문제가 없지만, 문제는 모두의 그들은 목록하지만 그들은 배열이, X 및 Y 당신이 먼저 확인하는 것이 해결한다면, 그것은 더 좋을 것이다 당신이 맞는 배열의 모양.

확인이 하나 :

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

그것은 곧장 앞으로이 문제가 아니었지만 그것이 나에게 입력의 형태에 관련 된 문제를 해결하기 입력을 준 이후 난 당신의 대답을 수락 한 ... 중요한 것은 TensorFlow에 관한 것이 었는지, 아니면 단지 하나의 모양에 관한 것인지를 이해하는 것이 었습니다. 감사 –