推荐系统实战2——EasyRec 推荐框架环境配置

news2025/7/18 8:20:19

推荐系统实战2——EasyRec 推荐框架环境配置

  • 学习前言
  • 先验条件
  • EasyRec仓库地址
  • EasyRec环境配置
    • 一、EasyRec的下载
    • 二、EasyRec的初始化
    • 三、EasyRec的安装
    • 四、一些额外的情况

学习前言

EasyRec是阿里巴巴开源的推荐系统框架。生命苦短,从建好的推荐系统框架开始学,可以更高效的学习与入门推荐系统,也有利于对推荐系统有个整体的认知。
在这里插入图片描述

先验条件

学习推荐系统还是建议使用Ubuntu之类的Linux系统,相比Windows系统更容易进行配置与调用,使用Windows并不方便。
首先需要在Ubuntu系统上安装好tensorflow,可以参考该博客配置tensorflow-gpu==2.4的环境。
https://blog.csdn.net/weixin_44791964/article/details/126089511

然后在此环境下进行EasyRec包的配置。

EasyRec仓库地址

https://github.com/alibaba/EasyRec

EasyRec环境配置

此处使用的是SSH来进行配置,终端即可操作,因为不需要使用到环境界面,实际配置时,可视界面上的终端是一样的。

按照步骤执行,会将EasyRec安装到python环境中。

一、EasyRec的下载

这里推荐使用git来进行EasyRec的下载,我们首先创建一个空文件夹,将终端显示的目录调整到这里。
在这里插入图片描述
然后使用git指令下载EasyRec。

git clone https://github.com/alibaba/EasyRec.git

整个文件夹有几十M在,需要我们耐心等候。下载完成后可以看到文件夹。
在这里插入图片描述

二、EasyRec的初始化

首先利用cd指令进入EasyRec文件夹,如图所示:
在这里插入图片描述
由于我们需要在TF的环境里面使用EasyRec,所以我们需要激活对应的TF环境。
在这里插入图片描述
然后建议大家先将EasyRec/requirements/runtime.txt里的tensorflow删掉,否则会有些电脑会自动安装最新版本的tensorflow,但事实上不需要最新的tensorflow,可能会破坏原有的环境。

删除方式如下,通过vim指令打开requirements/runtime.txt:

vim requirements/runtime.txt 

给tensorflow前端加上#后,按Esc,之后利用:wq退出vim。
在这里插入图片描述
之后在终端中输入下列指令进行初始化。

bash scripts/init.sh

初始化需要一定的时间,在这其中需要下载一些文件。
在这里插入图片描述

三、EasyRec的安装

在完成init之后,我们可以通过setup.py进行EasyRec的安装。
具体安装方式如下,根目录依然是在EasyRec的根目录下。
在这里插入图片描述
之后在终端中输入下列指令进行安装。

python setup.py install

在这里插入图片描述
安装完毕后,终端会提示安装成功。
在这里插入图片描述
此时可以进入python环境,正确的导入easy_rec。
在这里插入图片描述

四、一些额外的情况

在EasyRec库中,如果需要使用负采样的话,要用到graph-learn。但graph-learn在requirements里面却没有。
如果想要支持graph-learn,需要安装numpy==1.20以上,此时pip会提示numpy版本和tensorflow不兼容,但其实不影响代码的正常执行。可通过如下方式进行安装。

pip install graph-learn
pip install numpy==1.20

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/8094.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++】STL简介 -- string 的使用及其模拟实现

文章目录一、STL 简介1、什么是 STL2、STL 的版本3、STL 的六大组件4、STL 的重要性5、如何学习 STL二、string 类的使用1、什么是 string2、string 类模板3、构造函数4、Iterators5、Capacity6、Element Access7、Modify8、String Operations9、Non-member function overloads…

Arduino程序设计(二) 按键控制LED灯

按键控制LED灯程序设计前言一、按键控制LED灯——内部上拉(基础)二、按键控制LED灯——外部上拉(基础)三、按键控制LED灯(进阶)总结参考文献前言 本文主要介绍三种按键控制LED灯的实现方式,分别…

PatchCore原理与代码解读

paper:Towards Total Recall in Industrial Anomaly Detection code:GitHub - amazon-science/patchcore-inspection 存在的问题 目前无监督缺陷检测常用的一种方法是直接利用在ImageNet上预训练的模型中的表示,而不专门进行目标分布的迁…

从零开始将图片信息和空间信息绑定,并在前端展示到地图

作者:xiaoyan 关键词:前端查询时展示和空间数据绑定的图片资源 本文适合零基础入门 背景:iServer支持空间查询,可以将空间数据属性表中的属性查询出来,如通过SQL语句查询出某地大楼实际层高,或者查询出某…

RHCE实验--配置nfs服务

1、开放/nfs/shared目录,供所有用户查询资料; 2、开放/nfs/upload目录,供所有用户上传下载资料; 服务器与客户端都写好yum源以及挂载光盘,然后安装服务包 [rootserver ~]# yum install rpcbind -y [rootserver ~]# y…

Vue3基础

Vue 官网 https://cn.vuejs.org/ https://v3.cn.vuejs.org/ https://staging-cn.vuejs.org/api/ 1、环境 1.1、nodejs node node -vnpm #当前版本 npm -v #升级npm版本 npm install -g npm1.2、vue #安装vue npm install -g vue-cli #安装最新版本 npm install -g vu…

LQ0197 锦标赛【程序填空】

题目来源:蓝桥杯2014初赛 C A组E题 题目描述 本题为代码补全填空题,请将题目中给出的源代码补全,并复制到右侧代码框中,选择对应的编译语言(C/Java)后进行提交。若题目中给出的源代码语言不唯一&#xff0…

Python简单实现人脸识别检测, 对照片进行评分

大家好,今天和大家说说如何用Python简单实现人脸识别检测, 对照片进行排名,看看自己有多漂亮。 [开发环境]: Python 3.8 Pycharm 2021.2 [模块使用]: requests >>> pip install requeststqdm >>> pip install tqdm 简单实现进度条效果…

Arduino从零开始(1)——按钮控制LED

0.前言 本文主要介绍Arduino对于开关和条件判断函数的使用。 目录 0.前言 1.介绍 2.按钮控制LED 2.1下拉模式: 2.2上拉模式 3.扩展实验: 1.介绍 前篇介绍了点亮LED,这次案例我们尝试通过一个简单的传感器——按钮,来实现…

Ubuntu20.04离线安装Vmware tools

参考连接:在 Linux 虚拟机中手动安装 VMware Tools 从 Workstation Pro 菜单栏中选择虚拟机 > 安装 VMware Tools。 如果安装了早期版本的Vmware tools,则菜单项是更新Vmware tools如果这个安装Vmware tools 是灰色的,进行如下的处理方式…

HTML基本骨架与编辑器选择

HTML基本骨架与编辑器选择 文章目录HTML基本骨架与编辑器选择1.HTML基本了解1.1 什么是HTML1.2 HTML标签1.3 HTML元素1.4 Web浏览器1.5 HTML网页结构1.6 HTML版本了解2.HTML基本骨架介绍3.HTML编辑器的下载与使用1.HTML基本了解 1.1 什么是HTML HTML 是用来描述网页的一种语言…

双链表的基本操作

目录 一、双链表的设计 二、双链表的实现和基本操作 1.实现双链表节点以及设置first、last指针 2.获取当前链表中元素的数量 3.获取指定位置的节点 4.在尾部添加结点元素 5.在指定位置添加元素 6.删除指定位置的结点 一、双链表的设计 针对于查询操作,我们可…

计算机操作系统:实验3 【虚拟存储器管理】

计算机操作系统:实验3 【虚拟存储器管理】 文章目录计算机操作系统:实验3 【虚拟存储器管理】一、前言二、实验目的三、实验环境四、实验内容五、实验说明1、设计中虚页和实页的表示2、关于缺页次数的统计3、LRU算法中“最近最久未用”页面的确定4、算法…

删除类及其对象的属性:delattr()函数

【小白从小学Python、C、Java】 【Python-计算机等级考试二级】 【Python-数据分析】 删除类及其对象的属性 delattr()函数 [太阳]选择题 请问对以下Python代码说法错误的是? class MyClass1: x 1 y 2 myObject1 MyClass1() print(【访问】myObject1的属…

Revit中“结构框架显示与剪切“的应用和一键剪切功能

一、Revit关于"结构框架显示与剪切"的应用 结构框架:顾名思义其实它表示的就是结构梁而已,但是我们画图的时候往往会显示"实线"和"虚线",以至于在出结构图纸的时候,达不到出图要求 NO.2、应用 Part…

ISCTF

upload upload,一道phar文件上传题目 <?php class upload{public $filename;public $ext;public $size;public $Valid_ext;public function __construct(){$this->filename $_FILES["file"]["name"];$this->ext end(explode(".", …

[山东科技大学OJ]1490 Problem F: 该按哪些键

Time Limit: 1 Sec Memory Limit: 128 MB Submit: 1693 Solved: 433 [Submit][Status] Description Peter在手机上打字时一直用全键键盘来输入&#xff0c;但最近不知道怎么搞的&#xff0c;把全键键盘弄丢了&#xff0c;只剩下了9键键盘。一项喜欢高科技的Peter却不会用9键…

彻底搞懂nodejs事件循环

nodejs是单线程执行的&#xff0c;同时它又是基于事件驱动的非阻塞IO编程模型。这就使得我们不用等待异步操作结果返回&#xff0c;就可以继续往下执行代码。当异步事件触发之后&#xff0c;就会通知主线程&#xff0c;主线程执行相应事件的回调。 以上是众所周知的内容。今天…

ASEMI整流桥D3KB100参数,D3KB100规格,D3KB100封装

编辑-Z ASEMI整流桥D3KB100参数&#xff1a; 型号&#xff1a;D3KB100 最大重复峰值反向电压&#xff08;VRRM&#xff09;&#xff1a;1000V RMS反向电压VR(RMS)&#xff1a;700 平均整流输出电流&#xff08;IO&#xff09;&#xff1a;3A 峰值正向浪涌电流&#xff08…

【论文阅读】时序动作检测系列论文精读(2019年)

文章目录1. BMN: Boundary-Matching Network for Temporal Action Proposal Generation论文目的——拟解决问题贡献——创新实现流程详细方法2. MGG: Multi-granularity Generator for Temporal Action Proposal论文目的——拟解决问题贡献——创新实现流程详细方法3. P-GCN: G…