tensorFlow2.1下的tf.data.Dataset.from_tensor_slices()和batch()的用法

1、tf.data.Dataset.from_tensor_slices

它的作用是切分传入Tensor的第一个维度,生成相应的dataset。

将输入的张量的第一个维度看做样本的个数,沿其第一个维度将tensor切片,得到的每个切片是一个样本数据。实现了输入张量的自动切片。

可以是numpy格式,也可以是tensorflow的tensor的格式,函数会自动将numpy格式转为tensorflow的tensor格式

输入可以是一个tensor  一个tensor字典(字典的每个key对应的value是一个tensor,要求各tensor的第一个维度相等)  一个tensor tuple(tuple 的每个元素是一个tensor,要求各tensor的第一个维度相等)。

示例 1:

import tensorflow as tf
t = tf.range(10.)[:, None]
t = tf.data.Dataset.from_tensor_slices(t)
#<TensorSliceDataset shapes: (1,), types: tf.float32>
for i in t:
    print(i.numpy())

# [0.]
# [1.]
# [2.]
# [3.]
# [4.]
# [5.]
# [6.]
# [7.]
# [8.]
# [9.]

示例2:

# from_tensor_slices 为输入张量的每一行创建一个带有单独元素的数据集
ts = tf.constant([[1, 2], [3, 4]])
ds = tf.data.Dataset.from_tensor_slices(ts)   # [1, 2], [3, 4]

2、batch函数

用示例看下batch函数

batch_t = t.batch(3)
for i in batch_t:
    print(i.numpy())

[[0.]
 [1.]
 [2.]]
[[3.]
 [4.]
 [5.]]
[[6.]
 [7.]
 [8.]]
[[9.]]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值