axis=0与axis=1

axis用来为超过一维的数组定义属性。二维数据拥有两个轴:第0轴沿着行的方向垂直向下,第1轴沿着列的方向水平延申。1表示横轴,方向从左到右;0表示纵轴,方向从上到下。当axis=1时,数组的变化是横向的,体现出列的增加或者减少。反之,当axis=0时,数组的变化是纵向的,体现出行的增加或减少。

在这里插入图片描述
在这里补充axis = 2的情况,不讲解基础的概念,直接举例:
例如代码片段中,


```python
self.y_first_order = tf.nn.embedding_lookup(self.weights['feature_bias'], self.feat_index)
self.y_first_order = tf.reduce_sum(tf.multiply(self.y_first_order, feat_value), 2) #删除维度
self.y_first_order = tf.nn.dropout(self.y_first_order, self.dropout_keep_fm[0])

tf.reduce_sum便是在第三个维度上作乘法,其中self.y_first_orde和self.y_first_order的维度均是(batch_size、field_size、1),第三个维度相加是针对最深层的数字相加,由于第三个维度本身的维度就是1,因为不改变数据,同时维度减1,变为[(batch_size, field_size], 达到删除维度的作用

补充:
理解tf.reduce_sum中的reduce的含义,可以译为归纳

axis = 0是针对最浅层,也就是最外层3维数据的元素:二维矩阵的运算
axis = 1是针对中间层的二维矩阵中的一维列表做出的运算,
tf.sun_reduce函数可以引入到其他类似的函数

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值