tensorflow中有很多在维度上的操作,本例以常用的tf.reduce_sum进行说明。官方给的api
1
2
3
4
5
6
7
|
reduce_sum(
input_tensor,
axis = None ,
keep_dims = False ,
name = None ,
reduction_indices = None
)
|
input_tensor:表示输入
axis:表示在那个维度进行sum操作。
keep_dims:表示是否保留原始数据的维度,False相当于执行完后原始数据就会少一个维度。
reduction_indices:为了跟旧版本的兼容,现在已经不使用了。
官方的例子:
1
2
3
4
5
6
7
|
# 'x' is [[1, 1, 1]
# [1, 1, 1]]
tf.reduce_sum(x) = = > 6
tf.reduce_sum(x, 0 ) = = > [ 2 , 2 , 2 ]
tf.reduce_sum(x, 1 ) = = > [ 3 , 3 ]
tf.reduce_sum(x, 1 , keep_dims = True ) = = > [[ 3 ], [ 3 ]]
tf.reduce_sum(x, [ 0 , 1 ]) = = > 6
|
自己做的例子:
1
2
3
4
5
6
7
8
|
import tensorflow as tf
import numpy as np
x = np.asarray([[[ 1 , 2 , 3 ],[ 4 , 5 , 6 ]],[[ 7 , 8 , 9 ],[ 10 , 11 , 12 ]]])
x_p = tf.placeholder(tf.int32,[ 2 , 2 , 3 ])
y = tf.reduce_sum(x_p, 0 ) #修改这里
with tf.Session() as sess:
y = sess.run(y,feed_dict = {x_p:x})
print y
|
1
2
3
4
5
6
|
axis = 0 :[[ 8 10 12 ] [ 14 16 18 ]]
1 + 7 2 + 8 3 + 7 ……..
axis = 1 : [[ 5 7 9 ] [ 17 19 21 ]]
1 + 4 2 + 5 3 + 6 ….
axis = 2 : [[ 6 15 ] [ 24 33 ]]
1 + 2 + 3 4 + 5 + 6 …..
|
以上这篇对tf.reduce_sum tensorflow维度上的操作详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/lxg0807/article/details/74625861