微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

tf.data.Dataset迭代器返回Tensor“ IteratorGetNext:1”,shape =None,16,dtype = int32,但无法获取Tensors的值

如何解决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 举报,一经查实,本站将立刻删除。