我正在研究眼轨迹数据和卷积神经网络。
我被要求用tf.reduce_max(lastconv, axis=2)
代替MaxPooling层,用tf.reduce_sum(lastconv,axis=2) / tf.reduce_sum(tf.cast(tf.greater(lastconv, 0), tf.float32), axis=2)
代替MeanPooling层
我有以下问题,我无法弄清楚。如果你能让我明白那就太好了
tf.reduce_mean
函数来实现MeanPooling,就像tf.reduce_max
是如何用于MaxPooling的李>tf.reduce_sum(lastconv,axis=2) / tf.reduce_sum(tf.cast(tf.greater(lastconv, 0), tf.float32), axis=2)
这是如何作为一个平均池计算方式工作的,它有什么不同tf.reduce_mean
李>我确信你可以看出我不明白reduce_max/min/mean/sum
在输入张量时做了什么,模型从这些函数中带走了什么
关于数据:数据的形状是(24,4,15,287236),其中24个是被试,4个温度变化和15个轨迹,2x87236是连续的眼睛注视(2个是因为x轴和y轴)。我使用的是LeaveOneOut简历,我对22个科目进行了培训,并对每个科目进行了测试和验证
在创建训练集、验证集和测试集之后,模型中的最终输入分别是(22,60[4x15],287236),(1,60,287236)和(1,60,287236)
我希望我已经提供了足够的关于我所处困境的信息,供你帮助我走出困境。提前谢谢
reduce\u max取整个尺寸的最大值,因此,例如,如果dim=1,它将减小
至
另一方面,Max pooling在某些移位窗口中查看最大值,参见https://computersciencewiki.org/index.php/Max-pooling_/_Pooling。这里的主要区别是窗户的形状。其中reduce_max表示窗口是张量的一整片,max pooling表示某个指定的矩形。这也会导致不同的维度(要真正理解这一点,可以看看如果在reduce\u max中使用keepdims=True会发生什么)
替换meanpooling层似乎不采用算术平均值,而是除以正元素数(与一般元素数相反)。这可能就是为什么你不能用减法
相关问题 更多 >
编程相关推荐