Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/158.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用带有Keras的tf.Dataset API_Keras - Fatal编程技术网

使用带有Keras的tf.Dataset API

使用带有Keras的tf.Dataset API,keras,Keras,我正在尝试将Dataset API与Keras一起使用,并尝试使用上述行动计划中的第三个选项。我还假设,当看到@fchollet的第二条评论时,第三个选项已经完成 但是当我尝试实现它时,我得到了以下错误: 当向模型输入符号张量时,我们希望传感器具有 静态批量大小。获得形状为的张量:(无、32、64、64、3) 我使用了以下策略来适应模型: training_文件名=[…] dataset=tf.data.TFRecordDataset(培训文件名) dataset=dataset.map(_pa

我正在尝试将Dataset API与Keras一起使用,并尝试使用上述行动计划中的第三个选项。我还假设,当看到@fchollet的第二条评论时,第三个选项已经完成

但是当我尝试实现它时,我得到了以下错误:

当向模型输入符号张量时,我们希望传感器具有 静态批量大小。获得形状为的张量:
(无、32、64、64、3)

我使用了以下策略来适应模型:

training_文件名=[…]
dataset=tf.data.TFRecordDataset(培训文件名)
dataset=dataset.map(_parse_function_all)#将记录解析为张量。
dataset=dataset.batch(20)
iterator=dataset.make_initializable_iterator()
视频,标签=iterator.get_next()
模型=创建基础网络(输入形状=(32,64,64 3))
#上述模型的输出维度为(无,10)
sgd=sgd(lr=0.01,衰变=1e-6,动量=0.9,nesterov=True)
compile(loss='classifical\u crossentropy',optimizer=sgd)
model.fit(视频、标签、纪元=10,每纪元步长=1000)
我可以使用fit_Generator解决这个问题。我找到了我应用@Dat Nguyen的解决方案。但是,例如,为了计算AUC度量,我无法在自定义回调中访问验证数据集。所以我需要拟合而不是拟合生成器,但首先需要消除这个错误


有人能告诉我为什么我会犯这个错误吗?拟合模型的第三步现在在Keras中工作还是仍然存在问题?

因此我想出了如何在没有验证数据的情况下使用带有tf.DatasetAPI的Keras。你可以在这里查看我的问题

我想我是从我的情况中发现问题的。问题是我正在使用独立的Keras。不是从tendorflow导入的。因此,将迭代器直接输入model.fit()的新特性只有在使用tf.Keras而不是独立的Keras时才有效