如何解决tf.data.Dataset迭代器返回Tensor“ IteratorGetNext:1”,shape =None,16,dtype = int32,但无法获取Tensors的值
我试图编写一个自定义模型,在其中编写自定义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,3]),tf.TensorShape([16])))
tds = tds.batch(1)
在自定义DataGenerator中,__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,3),dtype=float32)
和
Tensor("IteratorGetNext:1",16),dtype=int32)
作为输出
如果我运行print(x[0])
,那么我会得到
Tensor("strided_slice:0",shape=(16,),dtype=int32)
我没有获得具有numpy()
属性的张量
哪里出问题了?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。