Python AttributeError:type object';数据集v2';没有属性';从#u张量';

Python AttributeError:type object';数据集v2';没有属性';从#u张量';,python,tensorflow,Python,Tensorflow,我正在学习Tensorflow 2.0,运行以下代码时出现错误: data = np.random.randint(0,10, (3,4)) dataset1 = tf.data.Dataset.from_tensor(data) --------------------------------------------------------------------------- AttributeError Traceback (most

我正在学习Tensorflow 2.0,运行以下代码时出现错误:

data = np.random.randint(0,10, (3,4))
dataset1 = tf.data.Dataset.from_tensor(data)

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-38-9873d7e2b8bc> in <module>()
----> 1 dataset1 = tf.data.Dataset.from_tensor(data)
AttributeError: type object 'DatasetV2' has no attribute 'from_tensor'
但我可以运行代码:

dataset = tf.data.Dataset.range(10)

没有问题。

对于您的案例,tf.数据可以通过两种可能的方式创建,即
tf.Data.Dataset.from\u tensors
tf.Data.Dataset.from\u tensor\u slices

tf.data.Dataset.from_张量
将创建一个包含给定张量的单个元素的
数据集
。下面是以您的示例输入为例的示例

data = np.random.randint(0,10, (3,4))
dataset = tf.data.Dataset.from_tensors(data)
for i in dataset.take(-1):
  print(i)

#Print output  
tf.Tensor(
[[1 4 0 2]
 [6 3 5 6]
 [4 2 9 6]], shape=(3, 4), dtype=int64)
你可以看到它创建了一个给定形状的张量

tf.data.Dataset.from_tensor_slices
顾名思义,它创建了一个张量切片。
给定的张量沿其第一维切片。这次手术 保留输入张量的结构,删除第一维度 并将其用作数据集维度。所有输入张量 在第一个尺寸中必须具有相同的尺寸

dataset2 = tf.data.Dataset.from_tensor_slices(data)
for i in dataset2.take(-1):
  print(i)

#Print Output

tf.Tensor([1 4 0 2], shape=(4,), dtype=int64)
tf.Tensor([6 3 5 6], shape=(4,), dtype=int64)
tf.Tensor([4 2 9 6], shape=(4,), dtype=int64)

您可以看到,它通过沿形状(3,4)数据的第一维切片创建了3个张量

对于您的案例,tf.数据可以通过两种可能的方式创建,即
tf.Data.Dataset.from_tensors
tf.Data.Dataset.from_tensor_slice

tf.data.Dataset.from_张量
将创建一个包含给定张量的单个元素的
数据集
。下面是以您的示例输入为例的示例

data = np.random.randint(0,10, (3,4))
dataset = tf.data.Dataset.from_tensors(data)
for i in dataset.take(-1):
  print(i)

#Print output  
tf.Tensor(
[[1 4 0 2]
 [6 3 5 6]
 [4 2 9 6]], shape=(3, 4), dtype=int64)
你可以看到它创建了一个给定形状的张量

tf.data.Dataset.from_tensor_slices
顾名思义,它创建了一个张量切片。
给定的张量沿其第一维切片。这次手术 保留输入张量的结构,删除第一维度 并将其用作数据集维度。所有输入张量 在第一个尺寸中必须具有相同的尺寸

dataset2 = tf.data.Dataset.from_tensor_slices(data)
for i in dataset2.take(-1):
  print(i)

#Print Output

tf.Tensor([1 4 0 2], shape=(4,), dtype=int64)
tf.Tensor([6 3 5 6], shape=(4,), dtype=int64)
tf.Tensor([4 2 9 6], shape=(4,), dtype=int64)

您可以看到,它通过沿形状(3,4)数据的第一维切片创建了3个张量

这是错的,试试
。从张量切片
我想也有
。从张量切片
谢谢,它与从张量切片一起工作。然而,文档中也包含了来自于张量的方法。为什么它不起作用?正如@IWHKYB所指出的,它不是来自张量的
,而是。请注意,此函数的作用不同于。它是错误的,请尝试
。从张量切片
我想也有
。从张量切片
谢谢,它与从张量切片一起工作。然而,文档中也包含了来自于张量的方法。为什么它不起作用?正如@IWHKYB所指出的,它不是来自张量的
,而是。请注意,此函数的作用不同于。