【Tensorflow 2.12 电影推荐项目搭建】

Tensorflow 2.12 电影推荐项目搭建

  • 学习笔记
    • 工具、环境
    • 创建项目
    • 项目配置
    • 安装相关python包
    • 召回模型实现
    • 排序模型实现
    • 实现电影推荐
      • 导入模块
      • 设置要推荐的用户
      • 召回推荐
      • 排序推荐
      • 推荐结果
  • 结尾

学习笔记

Tensorflow 2.12 电影推荐项目搭建记录~

Tensorflow是谷歌开源的机器学习框架,可以帮助我们轻松地构建和部署机器学习模型。这里记录学习使用tensorflow来搭建一个电影项目demo,包含召回模型搭建、排序模型搭建,以及整合两个模型进行完整的推荐。
相关文章:
电影推荐-召回模型
电影推荐-排序模型

工具、环境

开发工具:PyCharm 2023.1.1 (Community Edition)
使用环境:Python 3.10.6
使用框架:tensorflow 2.12.0、tensorflow-datasets 4.9.2、tensorflow-recommenders 0.7.3、numpy 1.23.5、pandas 2.0.3、tensorboard 2.12.3

创建项目

使用PyCharm创建一个新项目:MovieRecommenders,方便后续在项目中实现推荐模型、排序模型相关的代码:
【Tensorflow 2.12 电影推荐项目搭建】_第1张图片
点击Create按钮,完成创建,新建项目截图如下:
【Tensorflow 2.12 电影推荐项目搭建】_第2张图片

项目配置

打开控制台,配置pip国内源,下包的速度会快一点,这里配置阿里源:

pip config set global.index-url https://mirrors.aliyun.com/pypi/simple
pip config set install.trusted-host mirrors.aliyun.com

配置截图如下:
【Tensorflow 2.12 电影推荐项目搭建】_第3张图片

安装相关python包

使用pip安装tensorflow、tensorflow-recommenders、tensorflow-datasets三个包,注意对应版本,tensorflow的依赖包很多,整个过程估计5~10分钟:

pip install tensorflow==2.12.0
pip install tensorflow-recommenders==0.7.3
pip install tensorflow-datasets==4.9.2

安装截图如下:
在这里插入图片描述

召回模型实现

新建movie_recommenders包,在该包下创建Retrieval.py文件,如下:
【Tensorflow 2.12 电影推荐项目搭建】_第4张图片
Retrieval.py主要为构建、训练、导出电影推荐召回模型,包含以下步骤(代码详见上面召回模型的文章):

  1. 导入相关模块
  2. 加载数据
  3. 数据预处理
  4. 生成词汇表
  5. 构建查询塔
  6. 构建候选条目塔
  7. 模型指标
  8. 损失函数
  9. 构建双塔召回模型
  10. 训练和评估
  11. 预测
  12. 导出和加载模型

这里我们改下保存模型的路径,把训练好的模型保存到项目路径下,为后续做推荐准备,其他代码不做变动:

# 保存模型和加载模型
# with tempfile.TemporaryDirectory() as tmp:
#   path = os.path.join(tmp, "model")
path = "C:\data\python\space\MovieRecommenders\models\\retrieval\\"
tf.saved_model.save(index, path)
loaded = tf.saved_model.load(path)
scores, titles = loaded(["42"])
print(f"Recommendations: {
     scores[0][:3]}")
print(f"Recommendations: {
     titles[0][:3]}")

点击运行,控制台训练、评估、推荐结果相关日志输出如下:

C:\data\python\space\MovieRecommenders\venv\Scripts\python.exe C:\data\python\space\MovieRecommenders\movie_recommenders\Retrieval.py 
Epoch 1/3
10/10 

你可能感兴趣的:(深度学习,人工智能,深度学习,tensorflow2,python,推荐算法,机器学习,神经网络)