TensorFlow笔记——tf.split()拆分tensor和tf.squeeze()

tf.split()

参数说明:

split(
    value,
    num_or_size_splits,
    axis=0,
    num=None,
    name='split'
)

value: 输入的tensor
num_or_size_splits: 如果是个整数n,就将输入的tensor分为n个子tensor。如果是个tensor T,就将输入的tensor分为len(T)个子tensor。
axis: 默认为0,计算value.shape[axis], 一定要能被num_or_size_splits整除。
举例

import tensorflow as tf
import numpy as np
a=np.reshape(range(24),(4,2,3))
print(a)
sess=tf.InteractiveSession()
# 将a分为两个tensor,a.shape(1)为2,可以整除,不会报错。
# 输出应该为2个shape为[4,1,3]的tensor
b= tf.split(a,2,1)
print(b)
print(b[0].eval())
print("---------------------------------")
print(b[1].eval())
c= tf.split(a,2,0)
# a.shape(0)为4,被2整除,输出2个[2,2,3]的Tensor
print(c)
print(c[0].eval())
print("---------------------------------")
print(c[1].eval())
d= tf.split(a,3,2)
# 分成三个tensor,a.shape(2)为3,整除,不报错,返回3个[4,2,1]的Tensor
print(d)
print(d[0].eval())
print("---------------------------------")
print(d[1].eval())
print("---------------------------------")
print(d[2].eval())
d= tf.split(a,2,2)
#  a.shape(2)为3,不被2整除,报错。

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

tf.squeeze()

参数说明

tf.squeeze
squeeze(
    input,
    axis=None,
    name=None,
    squeeze_dims=None
)

去掉维数为1的维度。
示例

# 't' is a tensor of shape [1, 2, 1, 3, 1, 1]
tf.shape(tf.squeeze(t))  # [2, 3]

也可以指定去掉哪个维度:

# 't' is a tensor of shape [1, 2, 1, 3, 1, 1]
tf.shape(tf.squeeze(t, [2, 4]))  # [1, 2, 3, 1]

原文链接:【tensorflow 学习】tf.split()和tf.squeeze()

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值