tf 维度变化 汇总

能改变维度的函数:

  • reshape
  • reducemean
  • tf.tf.newaxis
  • tf.expand_dims
    a = tf.constant([[[1, 2, 3, 4, 5, 6],
                      [1, 2, 3, 4, 5, 6],
                      [1, 2, 3, 4, 5, 6],
                      [1, 2, 3, 4, 5, 6]],
                     [[1, 2, 3, 4, 5, 6],
                      [2, 3, 4, 5, 6, 6],
                      [6, 7, 6, 9, 1, 6],
                      [1, 2, 3, 4, 5, 6]],
                     [[1, 2, 3, 4, 5, 6],
                      [2, 3, 4, 5, 6, 6],
                      [6, 7, 6, 9, 1, 6],
                      [1, 2, 3, 4, 5, 6]]])

    print(a.shape)
    // reshape 中出现-1,tf会自动推断出相应得维度
    x = tf.reshape(a, (a.shape[0], 4, 2, 3))
    print(x)
tf.reduce_mean(input_tensor, axis=None, keep_dims=False, name=None, reduction_indices=None)
Computes the mean of elements across dimensions of a tensor.
Reduces input_tensor along the dimensions given in axis. Unless keep_dims is true, the rank of the tensor is reduced by 1 for each entry in axis. If keep_dims is true, the reduced dimensions are retained with length 1.If axis has no entries, all dimensions are reduced, and a tensor with a single element is returned.
import numpy as np
import tensorflow as tf
x = np.array([[1.,2.,3.],[4.,5.,6.]])
sess = tf.Session()
mean_none = sess.run(tf.reduce_mean(x))
mean_0 = sess.run(tf.reduce_mean(x, 0))
mean_1 = sess.run(tf.reduce_mean(x, 1))
print (x)
print (mean_none)
print (mean_0)
print (mean_1)
sess.close()

x=
[[ 1.  2.  3.]
 [ 4.  5.  6.]]
mean_none=3.5
mean_0=[ 2.5  3.5  4.5]
mean_1=[ 2.  5.]

tf.reducemean()到底是什么意思?

There is no real difference between the three, but sometimes one or the other may be more convenient:
What’s the difference between using tf.expand_dims and tf.newaxis in Tensorflow?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值