训练中如何使用TF模型进行推理

2024-10-02 02:31:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在为我的项目调整Tensorflow tutorial for sequence to sequence modeling。具体来说,我的代码基于翻译.py. 在

本教程每隔n个训练步骤计算一次dev集合上的困惑。我想在dev集合上计算BLEU分数。在

我面临的问题是,在创建模型时,需要指定它是否只向前。纵观代码,似乎是这样的(在训练时发生),在每一步网络都不会计算输入序列的最终输出,而是会计算梯度。当它不只是向前(如本教程后面的解码函数中所述),它将应用循环函数,该函数将输出反馈到RNN的输入中,从而生成输出序列。但是,它不计算梯度。据我所知,你可以为训练(即梯度)或测试(即对其进行完全推理)构建一个模型。在

因为我想计算BLEU分数,所以我需要一些由模型生成的序列,它对应于dev集合中的输入序列。由于模型是如何构造的,我需要两种类型的模型(只向前和不向前)。但是,尝试这样做(即使使用新的会话和新的变量范围),我似乎无法加载用于推理的模型,同时还要创建一个用于培训的模型。如果没有新的session/variable作用域,我会得到关于重复变量的错误。如果有一种方法可以将模型从“不只是向前”切换到“只向前”。在

在这种情况下,是否有任何方法来执行推理(运行完整的RNN),而我也在培训它的范围内?在


Tags: 项目方法函数代码dev模型tensorflow教程

热门问题