1. 程式人生 > >Tensorflow報錯:ValueError: Stride must be > 0, but got 0 for '...' with input shapes: [...], [...]

Tensorflow報錯:ValueError: Stride must be > 0, but got 0 for '...' with input shapes: [...], [...]

完整錯誤報錯為:ValueError: Stride must be > 0, but got 0 for 'gradients/CON/de_conv8/conv2d_transpose_grad/Conv2D' (op: 'Conv2D') with input shapes: [96,16,16,128], [4,4,128,256].

tensorflow檢測到我的strides輸入為0,然而奇怪的是我並沒有設定為0.

我的錯誤情景是:在對strides進行引數設定時設定為了[1, 1/2, 1/2, 1],意圖進行通過反捲積進行upsampling。

後來在tensorflow的官網才查到


  • strides: A list of ints. The stride of the sliding window for each dimension of the input tensor.

    也就是說,strides這個引數內必須是整形資料。不能為小數,若為小數的話就會被raise ValueError報錯為got 0 for stride!

這篇文章雖然內容很少,但因為這個問題卡了我一下午,並且網上搜不到相同的錯誤,所以打算記下來,方便他人的同時提醒自己不要再犯。同時我也重新設定了stride,使用反捲積達到了我想要的效果。