---
title: LightGCN_ID2942_for_PyTorch-PyTorch-模型库-ModelZoo-昇腾社区
description: 生态贡献模型
keywords: LightGCN,ID,PyTorch,模型库,ModelZoo,昇腾社区,基本信息,概述
url: https://www.hiascend.com/software/modelzoo/models/detail/1e73beee8ca947598729636c5f60e62a
section: (其他)
---

# LightGCN_ID2942_for_PyTorch-PyTorch-模型库-ModelZoo-昇腾社区

URL: https://www.hiascend.com/software/modelzoo/models/detail/1e73beee8ca947598729636c5f60e62a
描述: 生态贡献模型
关键词: LightGCN,ID,PyTorch,模型库,ModelZoo,昇腾社区,基本信息,概述

ModelZoo主页

主页 [了解详情](https://www.hiascend.com/software/modelzoo)大模型 [了解详情](https://www.hiascend.com/software/modelzoo/big-models)模型库 [了解详情](https://www.hiascend.com/software/modelzoo/models)工具库 [了解详情](https://www.hiascend.com/software/modelzoo/tools)权重库 [了解详情](https://www.hiascend.com/software/modelzoo/datasets)ModelShow [了解详情](https://www.hiascend.com/software/modelzoo/modelshow)DeepSeek专区HOT [了解详情](https://www.hiascend.com/developer/deepseek)文档中心论坛交流

主页 [了解详情](https://www.hiascend.com/software/modelzoo)大模型 [了解详情](https://www.hiascend.com/software/modelzoo/big-models)模型库 [了解详情](https://www.hiascend.com/software/modelzoo/models)工具库 [了解详情](https://www.hiascend.com/software/modelzoo/tools)权重库 [了解详情](https://www.hiascend.com/software/modelzoo/datasets)ModelShow [了解详情](https://www.hiascend.com/software/modelzoo/modelshow)DeepSeek专区HOT [了解详情](https://www.hiascend.com/developer/deepseek)文档中心论坛交流

模型库 [了解详情](https://www.hiascend.com/software/modelzoo/models)

LightGCN_ID2942_for_PyTorch-PyTorch

## LightGCN_ID2942_for_PyTorch-PyTorch

推荐PyTorch训练188次浏览2025/12/29更新

查看模型源码

LightGCN_ID2942_for_PyTorch-PyTorch

查看模型源码

...

- 基本信息 [了解详情](https://www.hiascend.com/#%E5%9F%BA%E6%9C%AC%E4%BF%A1%E6%81%AF.md)
- 概述 [了解详情](https://www.hiascend.com/#%E6%A6%82%E8%BF%B0.md)
- 训练环境准备 [了解详情](https://www.hiascend.com/#%E8%AE%AD%E7%BB%83%E7%8E%AF%E5%A2%83%E5%87%86%E5%A4%87.md)
- 快速上手 [了解详情](https://www.hiascend.com/#%E5%BF%AB%E9%80%9F%E4%B8%8A%E6%89%8B.md)
- 迁移学习指导 [了解详情](https://www.hiascend.com/#%E8%BF%81%E7%A7%BB%E5%AD%A6%E4%B9%A0%E6%8C%87%E5%AF%BC.md)
- 高级参考 [了解详情](https://www.hiascend.com/#%E9%AB%98%E7%BA%A7%E5%8F%82%E8%80%83.md)

## 基本信息

发布者（Publisher）：Huawei

应用领域（Application Domain）： Recommendation system

版本（Version）：1.1

修改时间（Modified） ：2022.11.7

大小（Size）：63.9MB

框架（Framework）：Pytorch 1.5.0

精度（Precision）：Mixed

处理器（Processor）：昇腾910

应用级别（Categories）：Official

描述（Description）：基于Pytorch框架的用于推荐任务的简化并增强的图卷积网络训练代码

## 概述

LightGCN是将图卷积神经网络 [了解详情](https://so.csdn.net/so/search?q=%E5%8D%B7%E7%A7%AF%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C&spm=1001.2101.3001.7020)应用于推荐系统当中，是对神经图协同过滤（NGCF）算法的优化和改进。

- 参考论文：

SIGIR 2020. Xiangnan He, Kuan Deng ,Xiang Wang, Yan Li, Yongdong Zhang, Meng Wang(2020). LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation [了解详情](https://arxiv.org/abs/2002.02126)
- 参考实现
- 适配昇腾 AI 处理器的实现：

https://gitee.com/ascend/pytorch/blob/2.0.4.tr5/docs/zh/PyTorch%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97/PyTorch%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97.md#%E5%AE%89%E8%A3%85PyTorch%E6%A1%86%E6%9E%B6md [了解详情](https://gitee.com/ascend/pytorch/blob/2.0.4.tr5/docs/zh/PyTorch%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97/PyTorch%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97.md#%E5%AE%89%E8%A3%85PyTorch%E6%A1%86%E6%9E%B6md)

## 默认配置

- 训练数据集、测试数据集预处理：

- 运行命令(切换到code目录)：python3 main.py
- 训练超参

- Batch size: 2048
- Learning rate(LR): 0.001
- Optimizer: apex.optimizers.NpuFusedSGD
- Layer:4

## 支持特性

| 特性列表 | 是否支持 |
| --- | ---|
| 分布式训练 | 否 |
| 混合精度 | 是 |
| 并行数据 | 是 |

## 混合精度训练

昇腾910 AI处理器提供自动混合精度功能，可以针对全网中float32数据类型的算子，按照内置的优化策略，自动将部分float32的算子降低精度到float16，从而在精度损失很小的情况下提升系统性能并减少内存使用。

## 开启混合精度

已默认开启混合精度。

## 训练环境准备

- 硬件环境准备请参见各硬件产品文档"驱动和固件安装升级指南 [了解详情](https://gitee.com/ascend/pytorch/blob/2.0.4.tr5/docs/zh/PyTorch%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97/PyTorch%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97.md#%E5%AE%89%E8%A3%85PyTorch%E6%A1%86%E6%9E%B6md)"。需要在硬件设备上安装与CANN版本配套的固件与驱动。

当前模型支持的镜像列表如表1所示。

表 1镜像列表

| 镜像名称 | AscendPytorch版本 | 配套CANN版本 |
| --- | --- | ---|
| ARM架构：ascend-pytorch-armx86架构：ascend-pytorch-x86 | 2.0.2 | 5.0.2 |

## 快速上手

- 数据集准备

提供了三个经过处理的数据集：Gowalla、Yelp2018和Amazon book，以及一个小数据集LastFM（dataloader.py）。数据集存放在项目目录下data文件中。

## 模型训练

- 单击“立即下载”，并选择合适的下载方式下载源码包。
- 启动训练之前，首先要配置程序运行相关环境变量。

环境变量配置信息参见：

Ascend 910训练平台环境变量设置 [了解详情](https://gitee.com/ascend/pytorch/blob/2.0.4.tr5/docs/zh/PyTorch%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97/PyTorch%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97.md#%E5%AE%89%E8%A3%85PyTorch%E6%A1%86%E6%9E%B6md)
- 单卡训练

1. 配置训练参数。

首先准备好超参数：指定具体NPU, 若果是GPU则不需要指定

在文件根目录下code文件夹内修改world.py中的ROOT_PATH
2. 启动训练。

启动单卡GPU训练(切换到code目录)

```
python3 main.py
```

启动单卡NPU训练(切换到code目录)

```
python3 main.py
```

## 高级参考

## 示例代码

```
├── code
│    ├── checkpoints 
│    ├── sources              
│         ├── sampling.cpp
│    ├── dataloader.py                //数据预处理代码
│    ├── main.py                      //主方法
│    ├── model.py                     //模型
│    ├── parse.py                     //参数
│    ├── Procedure.py                 
│    ├── register.py
│    ├── utils.py
│    ├── world.py  
│    ├──__init__.py   
├── data
│    ├── amazon-book 
│         ├── train.txt               //训练集
│         ├── test.txt                //测试集       
│         ├── user_list.txt
│         ├── item_list.txt
│         ├── README.md
│    ├── gowalla   
│    ├── lastfm                     
│    ├── yelp2018                                     
├── imgs
│    ├── tf.jpg                                   
│    ├── torch.png                         
├──.gitignore
├──requirements.txt
├──README.md
```

## 训练过程

- 训练日志中包括如下信息。

```
[TEST]
{'precision': array([0.04360305]), 'recall': array([0.16279419]), 'ndcg': array([0.10995968])}
EPOCH[981/1000] loss0.014-|Sample:19.08|-15.86081600189209-129.12324307625076
EPOCH[982/1000] loss0.014-|Sample:20.66|-15.889200210571289-128.89257941613948
EPOCH[983/1000] loss0.014-|Sample:19.26|-15.9640634059906-128.28813992504422
EPOCH[984/1000] loss0.014-|Sample:21.07|-15.882123708724976-128.9500093035363
EPOCH[985/1000] loss0.014-|Sample:20.87|-15.907534122467041-128.7440268386728
EPOCH[986/1000] loss0.014-|Sample:19.24|-15.966394901275635-128.2694066295689
EPOCH[987/1000] loss0.014-|Sample:19.34|-15.967133283615112-128.26347495336452
EPOCH[988/1000] loss0.014-|Sample:19.55|-16.01818013191223-127.85472401573699
EPOCH[989/1000] loss0.014-|Sample:21.30|-15.967095851898193-128.26377564186356
EPOCH[990/1000] loss0.014-|Sample:21.88|-15.978184938430786-128.17475876588105

```

## 运行结果

- GPU

| EPOCH | loss | Recall | ndcg |
| --- | --- | --- | ---|
| 110 | 0.024 | 0.1257 | 0.0752 |
| 120 | 0.023 | 0.1282 | 0.0771 |
| 130 | 0.022 | 0.1298 | 0.0779 |
- NPU

| EPOCH | loss | Recall | ndcg |
| --- | --- | --- | ---|
| 110 | 0.024 | 0.1085 | 0.0674 |
| 120 | 0.023 | 0.1107 | 0.0690 |
| 130 | 0.022 | 0.1128 | 0.0702 |

| 版本 | 更新时间 | 精度 | 处理器 | CANN版本 | 操作 |
| --- | --- | --- | --- | --- | ---|

暂无数据

使用模型资源和服务前，请您仔细阅读并理解透彻《昇腾深度学习模型许可协议 3.0》 [了解详情](https://www.hiascend.com/legal/modelzoo_models_license)
