一维列表,二维列表,元组,字典制作数据集

本文介绍了如何使用Python的一维列表、二维列表、元组和字典来创建数据集。通过`as_numpy_iterator`方法可以查看数据集的内容,而遍历数据集则能显示元素的形状和类型。此外,还展示了元组和字典的输出示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


tensorflow==2.2.0

一维列表

import tensorflow as tf

## for 1D tensor produce **scalar tensor elements**
dataset = tf.data.Dataset.from_tensor_slices([1,2,3])
print(type(dataset))
for element in dataset:
    print(element)

输出

<class 'tensorflow.python.data.ops.dataset_ops.TensorSliceDataset'>
tf.Tensor(1, shape=(), dtype=int32)
tf.Tensor(2, shape=(), dtype=int32)
tf.Tensor(3, shape=(), dtype=int32)

二维列表


# slicing a 2D tensor produces 1D tensor elements
import tensorflow as tf
two = [[1,2],[3,4]]
print(two)
print(type(two))
dataset2 = tf.data.Dataset.from_tensor_slices(two)
print(dataset2.as_numpy_iterator()) # method1
print(list(dataset2.as_numpy_iterator())) # method2
for element in dataset2: # method3
    print(element)

输出

[[1, 2], [3, 4]]
<class 'list'>
<tensorflow.python.data.ops.dataset_ops._NumpyIterator object at 0x00000000117A56C8>
[array([1, 2]), array([3, 4])]
tf.Tensor([1 2], shape=(2,), dtype=int32)
tf.Tensor([3 4], shape=(2,), dtype=int32)

所以,这里可以看到:
**1.使用as_numpy_iterator可以看到你的数据集的内容。即print(dataset2.as_numpy_iterator())
指南中这样写道:
as_numpy_iterator() -----returns an iterator which converts all elements of dataset to numpy.
2.如果想要直接查看元素的shapes 还有types ,就要用
for element in dataset::
print(element) **

元组

# Slicing a tuple of 1D tensor produces tuple elements containing scalar tensors.
three = ([1,2],[3,4],[5,6],[7,8])
print(three)
print(type(three))
dataset3 = tf.data.Dataset.from_tensor_slices(three)
print(list(dataset3.as_numpy_iterator()))# method2
for element in dataset3:
    print(element)

输出

([1, 2], [3, 4], [5, 6], [7, 8])
<class 'tuple'>
[(1, 3, 5, 7), (2, 4, 6, 8)]
(<tf.Tensor: shape=(), dtype=int32, numpy=1>, <tf.Tensor: shape=(), dtype=int32, numpy=3>, <tf.Tensor: shape=(), dtype=int32, numpy=5>, <tf.Tensor: shape=(), dtype=int32, numpy=7>)
(<tf.Tensor: shape=(), dtype=int32, numpy=2>, <tf.Tensor: shape=(), dtype=int32, numpy=4>, <tf.Tensor: shape=(), dtype=int32, numpy=6>, <tf.Tensor: shape=(), dtype=int32, numpy=8>)
看每个元素还是元组

字典

# for dictionary
four = {"a":[1,2],"b":[3,4],"c":[5,6]}
print(four)
print(type(four))
dataset4 = tf.data.Dataset.from_tensor_slices(four)
print(list(dataset4.as_numpy_iterator()))# method2
for element in dataset4:
    print(element)

输出

{'a': [1, 2], 'b': [3, 4], 'c': [5, 6]}
<class 'dict'>
[{'a': 1, 'b': 3, 'c': 5}, {'a': 2, 'b': 4, 'c': 6}]
{'a': <tf.Tensor: shape=(), dtype=int32, numpy=1>, 'b': <tf.Tensor: shape=(), dtype=int32, numpy=3>, 'c': <tf.Tensor: shape=(), dtype=int32, numpy=5>}
{'a': <tf.Tensor: shape=(), dtype=int32, numpy=2>, 'b': <tf.Tensor: shape=(), dtype=int32, numpy=4>, 'c': <tf.Tensor: shape=(), dtype=int32, numpy=6>}
看每个元素还是字典
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值