0
我試圖進入機器學習,並決定使用tflearn for一個開始。 我使用tflearn的快速入門指南獲取基礎知識,並嘗試使用該神經網絡完成我自己設定的任務: 從其維度預測鮑魚的年齡。爲此,我從UCI存儲庫中下載了相應的數據集作爲.csv
。該表的格式如下:形狀爲'(?,1)'的Tensor'TargetsData/Y:0'無法提供形狀的值(1600,)'
SEX |長度|直徑|高度|整機重量|去殼WEIGHT |內臟器官的重量|殼重| RINGS
由於年齡相同的振鈴次數,我進口在.csv
這樣的:
data, labels = load_csv("abalone.csv", categorical_labels=False, has_header=False)
任務是預測基於數據環的數量,所以我成立了這樣我的輸入層:
net = tflearn.input_data(shape=[None, 8])
添加四個隱藏層與默認線性激活函數:
net = tflearn.fully_connected(net, 320)
net = tflearn.fully_connected(net, 200)
net = tflearn.fully_connected(net, 200)
net = tflearn.fully_connected(net, 320)
並且與一個節點的輸出層,因爲僅存在一個結果(沒有。環):
net = tflearn.fully_connected(net, 1, activation="sigmoid")
net = tflearn.regression(net)
現在我初始化模式,但在訓練過程中出現上述錯誤發生:
model = tflearn.DNN(net)
model.fit(data, labels, n_epoch=1000, show_metric=True, batch_size=1600)
整個例外:
Traceback (most recent call last):
File "D:\OneDrive\tensornet.py", line 34, in <module>
model.fit(data, labels, n_epoch=1000, show_metric=True, batch_size=1600)
File "C:\Python3\lib\site-packages\tflearn\models\dnn.py", line 215, in fit
callbacks=callbacks)
File "C:\Python3\lib\site-packages\tflearn\helpers\trainer.py", line 333, in fit
show_metric)
File "C:\Python3\lib\site-packages\tflearn\helpers\trainer.py", line 774, in _train
feed_batch)
File "C:\Python3\lib\site-packages\tensorflow\python\client\session.py", line 767, in run
run_metadata_ptr)
File "C:\Python3\lib\site-packages\tensorflow\python\client\session.py", line 944, in _run
% (np_val.shape, subfeed_t.name, str(subfeed_t.get_shape())))
ValueError: Cannot feed value of shape (1600,) for Tensor 'TargetsData/Y:0', which has shape '(?, 1)'
據我瞭解,發生異常當試圖用我的輸出圖層來貼合我的標籤(1600x1張量)時。但我不知道如何解決這個問題。
感謝您的回答。但是,當我嘗試這樣做時,會出現另一個異常:TypeError:列表索引必須是整數或切片,而不是元組 –
您需要將列表更改爲numpy數組,如下所示: labels = np.asarray(labels)[: ,np.newaxis] – mangate
啊,謝謝你,那工作。 –