如何使用快速传入的新数据更新TensorFlow模型

iyfjxgzm  于 2023-08-06  发布在  其他
关注(0)|答案(1)|浏览(109)

我一直在查看tensorflow示例,以获得Recommending movies: retrieval等建议。
这是生成推荐的过程-

# Build approximate index
scann_index = tfrs.layers.factorized_top_k.ScaNN(model.user_model)
scann_index.index_from_dataset(
  tf.data.Dataset.zip((movies.batch(100), movies.batch(100).map(model.movie_model)))
)

# Get recommendations
_, titles = scann_index(tf.constant(["42"]))
print(f"Recommendations for user 42: {titles[0, :3]}")

字符串
这将从索引中的已知电影列表中推荐电影。如果每秒钟都有新电影(或视频)发布,我如何快速更新此索引?每5分钟传输一次学习新数据?我可以提供新电影/视频的列表沿着查询(推荐的用户)作为输入吗?在一夜之间在批处理过程中创建新模型之前,包含新数据的选项有哪些?

kdfy810k

kdfy810k1#

查看以前关于使用TF进行增量学习的线程可能是值得的。
该线程将给予一些背景知识,但您应该能够在模型更新时保持在线训练,方法是将模型保留在内存中,在新数据进入时更新数据集,并在其上运行.fit进行更新。
要在运行此模型的主机之外使用此模型,您必须使用model.save(https://www.tensorflow.org/tutorials/keras/save_and_load#save_the_entire_model)保存它,并为任何专用于推理的主机再次加载它。当然,你也可以从连续训练的模型中进行推理,但这取决于你期望多久进行一次再训练。

相关问题