我正在尝试编写一个自定义模型,其中我正在编写一个自定义train_step
功能
我正在从自定义数据生成器创建“tf.data.Dataset”,例如
tds = tf.data.Dataset.from_generator(tdg.__iter__,args=None,output_types = (tf.float32,tf.int32),output_shapes = (tf.TensorShape([16,64,64,3]),tf.TensorShape([16])))
tds = tds.batch(1)
在自定义数据生成器中__iter__
方法定义为
def __iter__(self):
for item in (self[i] for i in range(len(self))):
yield item
但是,当我尝试检索里面的数据时train_step
功能,
和x,y = data
我正进入(状态
Tensor("IteratorGetNext:0", shape=(None, 16, 64, 64, 3), dtype=float32)
and
Tensor("IteratorGetNext:1", shape=(None, 16), dtype=int32)
作为输出
如果我跑print(x[0])
然后我得到
Tensor("strided_slice:0", shape=(16,), dtype=int32)
我没有得到张量numpy()
属性
这是哪里出了问题??