问题描述
我试图编写一个自定义模型,在其中编写自定义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 (将#修改为@)