我可以从tensorflow 2.0数据集中获取numpy数组吗?

我可以从tensorflow 2.0数据集中获取numpy数组吗?,tensorflow,Tensorflow,我可以从tensorflow数据集获取numpy数组吗?在下面的示例中,我可以迭代并从每个张量中获得numpy数组。但是我可以直接从数据集获取它吗 >>> X = tf.reshape(tf.range(2*3), (2, 3)) <tf.Tensor: id=33, shape=(2, 3), dtype=int32, numpy= array([[0, 1, 2], [3, 4, 5]], dtype=int32)> >>>

我可以从
tensorflow数据集
获取
numpy
数组吗?在下面的示例中,我可以迭代并从每个
张量中获得
numpy数组。但是我可以直接从
数据集
获取它吗

>>> X = tf.reshape(tf.range(2*3), (2, 3))
<tf.Tensor: id=33, shape=(2, 3), dtype=int32, numpy=
 array([[0, 1, 2],
        [3, 4, 5]], dtype=int32)>

>>> dataset = tf.data.Dataset.from_tensor_slices(X)
<TensorSliceDataset shapes: (3,), types: tf.int32>

>>> t = next(iter(dataset))
<tf.Tensor: id=40, shape=(3,), dtype=int32, numpy=array([0, 1, 2], dtype=int32)> 

>>> t.numpy()
array([0, 1, 2], dtype=int32)
X=tf.重塑(tf.范围(2*3)、(2,3)) >>>dataset=tf.data.dataset.from_张量_切片(X) >>>t=下一个(国际热核实验堆(数据集)) >>>t.numpy() 数组([0,1,2],dtype=int32)
一种可能的解决方案(请参阅):

一种可能的解决方案(见):


您只能迭代
tf.data.Dataset
以获取其值。这是唯一的方法。
next(iter(dataset.batch(2)).numpy()
更简单:
[i.numpy()表示数据集中的i]
您只能迭代
tf.data.dataset
以获取其值。这是唯一的方法。
next(iter(dataset.batch(2)).numpy()
更简单:
[i.numpy()代表数据集中的i]
def dataset_to_numpy_util(dataset, N):
    dataset = dataset.unbatch().batch(N)
    for images, labels in dataset:
        numpy_images = images.numpy()
        numpy_labels = labels.numpy()
        break;  
    return numpy_images, numpy_labels