栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何正确组合TensorFlow的数据集API和Keras?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何正确组合TensorFlow的数据集API和Keras?

确实有一种更有效的使用方法,Dataset而不必将张量转换为numpy数组。但是,官方文档上还没有(尚未?)。在发行说明中,它是Keras 2.0.7中引入的功能。您可能需要安装keras> = 2.0.7才能使用它。

x = np.arange(4).reshape(-1, 1).astype('float32')ds_x = Dataset.from_tensor_slices(x).repeat().batch(4)it_x = ds_x.make_one_shot_iterator()y = np.arange(5, 9).reshape(-1, 1).astype('float32')ds_y = Dataset.from_tensor_slices(y).repeat().batch(4)it_y = ds_y.make_one_shot_iterator()input_vals = Input(tensor=it_x.get_next())output = Dense(1, activation='relu')(input_vals)model = Model(inputs=input_vals, outputs=output)model.compile('rmsprop', 'mse', target_tensors=[it_y.get_next()])model.fit(steps_per_epoch=1, epochs=5, verbose=2)

几个区别:

  1. tensor
    参数提供给该Input层。Keras将从该张量读取值,并将其用作拟合模型的输入。
  2. target_tensors
    论据提供给
    Model.compile()
  3. 请记住将x和y都转换为float32。在正常使用情况下,Keras将为您完成此转换。但是现在您必须自己做。
  4. 批处理大小是在构建时指定的Dataset。使用
    steps_per_epoch
    和epochs控制何时停止模型拟合。
    总之,使用
    Input(tensor=...)
    model.compile(target_tensors=...)
    并且
    model.fit(x=None, y=None, ...)
    如果你的数据是从张量读取。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/611174.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号