Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/datawhalechina/fun-rec
/ types & classes
Types & classes
127 in github.com/datawhalechina/fun-rec
⨍
Functions
1,084
◇
Types & classes
127
↳
Endpoints
22
↓ 44 callers
Class
DNNs
src/funrec/models/layers.py:29
↓ 13 callers
Class
PredictLayer
预测层 该层负责将模型的最终输出转换为预测结果。 支持二分类和多分类任务,可以选择是否输出logits或概率值。 参数: task: 任务类型,'binary'表示二分类,'multiclass'表示多分类 num_clas
src/funrec/models/layers.py:341
↓ 6 callers
Class
FeatureColumn
特征列配置类,用于定义特征的属性和嵌入参数 Attributes: name: 特征名称,唯一标识符 emb_name: 嵌入名称,可选值为字符串或字符串列表。默认与特征名称相同 emb_dim: 嵌入维度,默认为4 voca
src/funrec/features/feature_column.py:11
↓ 6 callers
Class
RecommendationResult
推荐流水线的结果
web_project/backend/online/pipeline.py:60
↓ 4 callers
Class
MetaUnit
Reference: Leaving No One Behind: A Multi-Scenario Multi-Task Meta Learning Approach for Advertiser Modeling
src/funrec/models/layers.py:1788
↓ 4 callers
Class
PositionEncodingLayer
src/funrec/models/layers.py:689
↓ 3 callers
Class
MovieListItem
电影列表项模式 - 用于列表视图
web_project/backend/app/schemas.py:43
↓ 3 callers
Class
RankingResourceManager
精排模型的单例资源管理器。 加载并缓存: - DeepFM 精排模型 - 特征词表(用于编码) - 特征字典(词表大小) 注意:资源采用懒加载方式,在首次访问时才加载,以避免启动时的 TF 导入问题。
web_project/backend/online/ranking/resource_manager.py:46
↓ 3 callers
Class
RecallResourceManager
召回模型的单例资源管理器。 注意:资源采用懒加载方式,在首次访问时才加载,以避免启动时的 TF 导入问题。
web_project/backend/online/recall/resource_manager.py:42
↓ 3 callers
Class
SampledSoftmaxLayer
src/funrec/models/layers.py:110
↓ 3 callers
Class
SumPooling
对嵌入特征进行求和聚合的层
src/funrec/models/fm_recall.py:17
↓ 3 callers
Class
User
用户模型
web_project/backend/app/models.py:24
↓ 2 callers
Class
BiasOnly
src/funrec/models/layers.py:471
↓ 2 callers
Class
BilinearInteractionLayer
Reference: FiBiNET: Combining Feature Importance and Bilinear feature Interaction for Click-Through Rate Prediction
src/funrec/models/layers.py:1361
↓ 2 callers
Class
CrewMember
主创成员(导演/编剧)
web_project/backend/app/schemas.py:206
↓ 2 callers
Class
DeepFMRankingStrategy
基于 DeepFM 的精排策略。 使用训练好的 DeepFM 模型预测每个用户-物品对的点击率(CTR), 然后按预测 CTR 对候选物品进行排序。
web_project/backend/online/ranking/deepfm.py:19
↓ 2 callers
Class
FM
因子分解机(Factorization Machine)层 这个层实现了FM的二阶交叉部分,用于捕获特征之间的交互关系。 FM算法的核心思想是通过隐向量内积来表示特征之间的相互作用。 计算公式: sum_{i=1}^{n}sum_{j=i+1}^
src/funrec/models/layers.py:488
↓ 2 callers
Class
GateNU
src/funrec/models/layers.py:231
↓ 2 callers
Class
L2NormalizeLayer
L2 归一化层
src/funrec/models/layers.py:80
↓ 2 callers
Class
Movie
电影模型 - 集成 IMDb 数据
web_project/backend/app/models.py:54
↓ 2 callers
Class
MovieCrew
电影主创响应
web_project/backend/app/schemas.py:218
↓ 2 callers
Class
MovieDetail
电影详情模式 - 用于 API 响应
web_project/backend/app/schemas.py:29
↓ 2 callers
Class
NegativeSampleEmbedding
src/funrec/models/layers.py:748
↓ 2 callers
Class
PartitionedNormalization
src/funrec/models/layers.py:775
↓ 2 callers
Class
PipelineConfig
推荐流水线配置
web_project/backend/online/pipeline.py:37
↓ 2 callers
Class
Rating
用户-物品评分模型 (MovieLens 评分数据)
web_project/backend/app/models.py:93
↓ 2 callers
Class
RatingResponse
评分响应模式
web_project/backend/app/api/v1/endpoints/ratings.py:31
↓ 2 callers
Class
RecentRating
用户最近评分模式 - 包含电影信息
web_project/backend/app/schemas.py:102
↓ 2 callers
Class
RecommendationItem
单个推荐结果
web_project/backend/online/pipeline.py:51
↓ 2 callers
Class
SequenceMeanPoolingLayer
src/funrec/models/layers.py:418
↓ 2 callers
Class
SquareLayer
平方操作层
src/funrec/models/fm_recall.py:47
↓ 2 callers
Class
UserAttention
用户注意力层,使用用户基础表示作为查询向量
src/funrec/models/layers.py:1540
↓ 2 callers
Class
UserRatingResponse
用户对特定电影的评分
web_project/backend/app/api/v1/endpoints/ratings.py:39
↓ 1 callers
Class
AGRULayer
基于注意力的 GRU 层。 在 AGRU 中,注意力分数直接替换更新门值。 这是一种简化的方法,但可能会失去一些表示能力。 参数: units (int): 隐藏单元数
src/funrec/models/dien.py:381
↓ 1 callers
Class
APGLayer
注意力个性化门控层 (Attention Personalized Gating Layer) 该层实现了基于场景嵌入的注意力个性化机制,通过共享权重和场景特定权重的组合, 动态调整输入特征的转换过程,支持矩阵分解和不同的权重共享策略。 参数: input
src/funrec/models/layers.py:1632
↓ 1 callers
Class
AUGRULayer
基于注意力的更新 GRU 层。 AUGRU 保持更新门的多维性质,同时通过注意力分数对其进行缩放。 这是 DIEN 中推荐的方法。 参数: units (int): 隐藏单元数
src/funrec/models/dien.py:458
↓ 1 callers
Class
AttentionPoolingLayer
Reference: Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Networks (AFM)
src/funrec/models/layers.py:1062
↓ 1 callers
Class
BiInteractionPooling
src/funrec/models/layers.py:1615
↓ 1 callers
Class
BiasEncoding
DSIN 模型的偏置编码层。 该层为会话嵌入添加三种类型的偏置: 1. 会话偏置:每个会话不同(捕获会话级特征) 2. 位置偏置:会话内每个位置不同(捕获时间模式) 3. Item偏置:每个嵌入维度不同(捕获特征级偏置) 公式:BE(k,t,c)
src/funrec/models/dsin.py:13
↓ 1 callers
Class
CINs
src/funrec/models/layers.py:1122
↓ 1 callers
Class
CapsuleLayer
src/funrec/models/layers.py:149
↓ 1 callers
Class
CastMember
电影演员成员
web_project/backend/app/schemas.py:197
↓ 1 callers
Class
ColdStartDetector
检测用户是否处于"冷启动"状态。 如果用户的交互(评分/点击)次数少于 `threshold`, 则被视为冷启动用户。冷启动用户会被路由到专门的推荐流水线, 该流水线使用显式偏好(preferred_genres)而非行为信号。
web_project/backend/online/cold_start/detector.py:14
↓ 1 callers
Class
ColdStartService
协调冷启动推荐策略的服务 本服务管理多个冷启动策略并合并其结果。 根据可用的用户数据确定策略优先级: 1. UCBGenreStrategy - 基于类型的 UCB 探索/利用 2. PreferredGenreStrategy - 如果
web_project/backend/online/cold_start/service.py:20
↓ 1 callers
Class
Config
web_project/backend/offline/config.py:9
↓ 1 callers
Class
Config
配置类,包含所有配置部分。
src/funrec/config/__init__.py:119
↓ 1 callers
Class
ConsecutiveDispersionStrategy
通用连续打散策略。 确保结果列表中不会有超过 `max_consecutive` 个具有相同属性值的物品连续出现。 算法流程: 1. 按排序顺序遍历候选物品 2. 对于每个候选物品,检查添加它是否会超过 max_consecutive 限
web_project/backend/online/reranking/dispersion.py:19
↓ 1 callers
Class
DCN
Reference: Deep & Cross Network for Ad Click Predictions
src/funrec/models/layers.py:1007
↓ 1 callers
Class
DecadeDispersionStrategy
基于电影上映年代的打散策略。 确保不会有超过 `max_consecutive` 个相同年代的电影连续出现。 年份按年代分桶(1990年代、2000年代等)。 示例: 当 max_consecutive=3 时:
web_project/backend/online/reranking/dispersion.py:220
↓ 1 callers
Class
Dice
src/funrec/models/layers.py:567
↓ 1 callers
Class
DinAttentionLayer
DIN Attention: Reference: Deep Interest Network for Click-Through Rate Prediction Args: ffn_hidden_units: 前馈神经网络隐藏层单元数
src/funrec/models/layers.py:626
↓ 1 callers
Class
EPNet
Embedding Personalized Network(EPNet) Reference: PEPNet: Parameter and Embedding Personalized Network for Infusing with Personalized Prio
src/funrec/models/layers.py:254
↓ 1 callers
Class
ElasticsearchService
Elasticsearch 操作服务
web_project/backend/app/services/elasticsearch_service.py:13
↓ 1 callers
Class
FallbackRankingStrategy
降级精排策略,使用召回分数进行排序。 当 DeepFM 模型不可用时使用。 简单地按召回分数对候选物品进行排序。
web_project/backend/online/ranking/deepfm.py:185
↓ 1 callers
Class
FeedForwardLayer
src/funrec/models/layers.py:587
↓ 1 callers
Class
GatedFusion
门控融合层,用于融合长期和短期兴趣
src/funrec/models/layers.py:1565
↓ 1 callers
Class
Genre
电影类型模型 - 用于电影分类和用户偏好
web_project/backend/app/models.py:13
↓ 1 callers
Class
GenreDispersionStrategy
基于电影类型的打散策略。 确保不会有超过 `max_consecutive` 个相同主要类型的电影连续出现。 如果存在多个类型,则使用第一个类型。 示例: 当 max_consecutive=2 时: [动作, 动
web_project/backend/online/reranking/dispersion.py:200
↓ 1 callers
Class
GenreListResponse
可用电影类型列表
web_project/backend/app/schemas.py:234
↓ 1 callers
Class
HealthCheck
健康检查响应
web_project/backend/app/schemas.py:172
↓ 1 callers
Class
HstuLayer
多头注意力机制的 Keras 实现 参数: num_units: 注意力的维度大小,如果为None则使用输入的最后一维 num_heads: 注意力头的数量 dropout_rate: dropout 比率 attention_type: 注
src/funrec/models/hstu.py:7
↓ 1 callers
Class
InterestEvolutionLayer
DIEN 模型的兴趣演化层。 该层使用双线性注意力结合 GRU 变体来建模用户兴趣随时间的演化。支持三种演化类型: 1. AIGRU: 基于注意力的输入 GRU 2. AGRU: 基于注意力的 GRU 3. AUGRU: 基于注意力的更新 GRU(推荐)
src/funrec/models/dien.py:205
↓ 1 callers
Class
InterestExtractorLayer
DIEN 模型的兴趣提取层。 该层使用带辅助损失的 GRU 从行为序列中提取用户兴趣。 辅助损失通过使用下一个行为来监督当前兴趣状态,帮助 GRU 隐藏状态更好地表示用户兴趣。 参数: hidden_units (int): GRU 中的隐藏单元
src/funrec/models/dien.py:26
↓ 1 callers
Class
Item2Vec
src/funrec/models/item2vec.py:9
↓ 1 callers
Class
ItemCF
优化的基于物品的协同过滤算法,用于CTR预测。 使用基于用户的倒排索引进行更快的计算和直接推荐生成。
src/funrec/models/item_cf.py:12
↓ 1 callers
Class
ItemSpecificAttentionLayer
正确实现EGES论文中描述的加权池化注意力层 A ∈ R^{|V| × (n+1)} - 每个商品有自己的一组特征权重
src/funrec/models/eges.py:92
↓ 1 callers
Class
LabelAwareAttention
src/funrec/models/layers.py:206
↓ 1 callers
Class
MetaAttention
Reference: Leaving No One Behind: A Multi-Scenario Multi-Task Meta Learning Approach for Advertiser Modeling
src/funrec/models/layers.py:1855
↓ 1 callers
Class
MetaTower
Reference: Leaving No One Behind: A Multi-Scenario Multi-Task Meta Learning Approach for Advertiser Modeling
src/funrec/models/layers.py:1888
↓ 1 callers
Class
MovieCast
电影演员阵容响应
web_project/backend/app/schemas.py:211
↓ 1 callers
Class
MovieCreate
创建电影的模式 (仅管理员)
web_project/backend/app/schemas.py:16
↓ 1 callers
Class
MovieList
分页电影列表响应
web_project/backend/app/schemas.py:55
↓ 1 callers
Class
MultiHeadAttentionLayer
Reference: AutoInt: Automatic Feature Interaction Learning via Self-Attentive Neural Networks
src/funrec/models/layers.py:1221
↓ 1 callers
Class
NameBasics
人物详情 (演员、导演等) - 来自 IMDb
web_project/backend/app/models.py:128
↓ 1 callers
Class
OnesLayer
生成全1向量的层
src/funrec/models/fm_recall.py:32
↓ 1 callers
Class
PNN
Reference: Product-based Neural Networks for User Response Prediction
src/funrec/models/layers.py:918
↓ 1 callers
Class
PPNet
Parameter Personalized Network(PPNet) Reference: PEPNet: Parameter and Embedding Personalized Network for Infusing with Personalized Prio
src/funrec/models/layers.py:280
↓ 1 callers
Class
PersonDetail
人物详情模式
web_project/backend/app/schemas.py:191
↓ 1 callers
Class
PopularRecentStrategy
基于热门新片的冷启动策略。 这是针对未设置任何偏好的用户的降级策略。 推荐近几十年高评分、热门的电影, 提供良好的基线体验。
web_project/backend/online/cold_start/popular.py:17
↓ 1 callers
Class
PreferredGenreStrategy
使用用户声明的类型偏好的冷启动策略。 该策略查询 Elasticsearch 获取与用户 preferred_genres 匹配的高评分电影。 这是在收集行为数据之前最具个性化的冷启动策略。
web_project/backend/online/cold_start/preferred_genre.py:17
↓ 1 callers
Class
RankingService
协调精排策略的服务 实现单例模式以共享模型资源。 如果精排模型不可用,回退到召回分数。
web_project/backend/online/ranking/service.py:18
↓ 1 callers
Class
RecallService
召回服务 - 多通道候选检索
web_project/backend/online/recall/service.py:22
↓ 1 callers
Class
RecommendationItemResponse
响应中的单个推荐项
web_project/backend/app/api/v1/endpoints/recommendations.py:35
↓ 1 callers
Class
RecommendationPipeline
端到端推荐流水线 协调冷启动检测、召回、精排和重排序各阶段。 本类包含所有推荐业务逻辑。 对于冷启动用户(交互次数 < 阈值): - 路由到使用 preferred_genres 的 ColdStartService
web_project/backend/online/pipeline.py:91
↓ 1 callers
Class
RecommendationResponse
推荐 API 响应
web_project/backend/app/api/v1/endpoints/recommendations.py:46
↓ 1 callers
Class
RerankingService
协调多个重排序策略的服务 实现单例模式以确保跨请求的一致行为。 策略按顺序应用(链式),支持多维度多样性优化。 示例: 默认配置应用: 1. 类型打散(最多 2 个连续相同类型) 2. 年代打散(最
web_project/backend/online/reranking/service.py:20
↓ 1 callers
Class
SENetLayer
Reference: FiBiNET: Combining Feature Importance and Bilinear feature Interaction for Click-Through Rate Prediction
src/funrec/models/layers.py:1314
↓ 1 callers
Class
ScaleLayer
按常数缩放的层
src/funrec/models/fm_recall.py:75
↓ 1 callers
Class
Settings
应用配置
web_project/backend/app/config.py:7
↓ 1 callers
Class
SimpleWalker
简化的随机游走器实现
src/funrec/models/eges.py:12
↓ 1 callers
Class
SqueezeLayer
squeeze操作
src/funrec/models/layers.py:95
↓ 1 callers
Class
StarTopologyFCN
Reference: One Model to Serve All: Star Topology Adaptive Recommender for Multi-Domain CTR Prediction
src/funrec/models/layers.py:843
↓ 1 callers
Class
SumScalarLayer
将向量求和为标量的层
src/funrec/models/fm_recall.py:61
↓ 1 callers
Class
Swing
基于Swing评分的协同过滤推荐系统,用于CTR预测。 Swing评分通过分析用户-物品二分图子结构并惩罚高活跃用户之间的 共同行为,来捕获更稳健的物品-物品关系。 针对二元标签模式(0/1 CTR数据)进行修改 - 仅使用正向交互(label=1)。
src/funrec/models/swing.py:16
↓ 1 callers
Class
TaskEmbedding
Reference: Leaving No One Behind: A Multi-Scenario Multi-Task Meta Learning Approach for Advertiser Modeling
src/funrec/models/layers.py:1922
↓ 1 callers
Class
TitleAka
电影别名 (不同地区/语言的译名)
web_project/backend/app/models.py:176
↓ 1 callers
Class
TitleCrew
电影主创人员 - 导演和编剧
web_project/backend/app/models.py:143
↓ 1 callers
Class
TitlePrincipal
电影主要演职人员 (主要角色)
web_project/backend/app/models.py:155
↓ 1 callers
Class
TitleRating
IMDb 电影评分 - 每部电影的聚合评分
web_project/backend/app/models.py:116
↓ 1 callers
Class
Token
JWT 令牌响应
web_project/backend/app/schemas.py:91
next →
1–100 of 127, ranked by callers