我有點困惑與最大游泳池落後執行在這裏:https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/kernels/maxpooling_op_gpu.cu.cc#L192在Tensorflow中最大游泳池後退發生了什麼?
任何人都可以解釋如何在這裏計算梯度。像max pool的局部梯度一樣是0和1,所以他們只是複製來自grad_in的值?儘管有關於參數top_diff,top_offset,bottom_offset的評論,有人可以解釋那些是什麼(我是初學者)?
嗨@keveman,謝謝你的回覆。現在如果我要做一個最大的unpool操作,需要[x1 x1]和一個argmax矩陣[1 1]隨着貼片大小放大到[0 x1 0],並且跨步提到,我應該怎樣去最大化反向後退?這是否有意義的最大反向後退: 'int image_id =(index/top_offset); CudaAtomicAdd(bottom_diff + index,top_diff [mask [index] + image_id * top_offset]);' –