2017-09-19 79 views
0

我使用TensorFlow來實現本文所述的卷積遞歸神經網絡:ArxivFailedPreconditionError:sequence_length(0)<= X

我所有的代碼可以在這裏找到:crnn

所以我加載各種長度的訓練樣本的X號。加載訓練集時,我將其大小調整爲32x2000。當把他們送進了神經網絡,TensorFlow引發此錯誤:

tensorflow.python.framework.errors_impl.FailedPreconditionError: sequence_length(0) <= 124 
[[Node: CTCBeamSearchDecoder = CTCBeamSearchDecoder[beam_width=100, merge_repeated=true, top_paths=1, _device="/job:localhost/replica:0/task:0/cpu:0"](transpose/_3, _recv_seq_len_0)]] 
[[Node: CTCLoss/_5 = _Recv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/gpu:0", send_device="/job:localhost/replica:0/task:0/cpu:0", send_device_incarnation=1, tensor_name="edge_758_CTCLoss", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/gpu:0"]()]] 

奇怪的是,我沒有得到很多在谷歌搜索結果的,所以我認爲這是值得詢問。

值得注意的是,我的代碼或數據中沒有124位,所以我很困惑。

回答

0

這表明你的訓練數據中有一些格式錯誤的例子。通過這個,我的意思是你有一些圖像標籤太少的例子。嘗試檢查空標籤或異常短標籤。

124來自卷積部分的max_pool操作,數字代表最終特徵向量的長度。如果在寬度上有四個max_pools跨步2,則圖像寬度將減少因子2**4 = 16 =>對於輸入圖像32 x 2000,最終特徵圖大小爲1 x 125 x F(F是過濾器數)。不知道爲什麼124而不是125,可能是一些錯誤或使用索引,而不是len

相關問題