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