Paddle初次上手
前置代码知识
无论是paddle还是pytorch,一套流程都是差不多的,详情可以看我以前写的pytorchpipline导航
-
导包上
import torch import torch.nn as nn from torch.utils.data import Dataset,DataLoader
from paddle import nn import paddle as nn from paddle.io import DataLoader, Dataset
-
定义Dataset时一样
class BaseDataset(Dataset): def __init__(self,df): self.df = df pass def enc_data(self): pass def __getitem__(self, index): pass def __len__(self): return len(self.df)
##模型定义上基本一样 class NCF(paddle.nn.Layer):##不同于paddle pytorch是 nn.Module def __init__(): pass def forward(self,data): pass
##optimizer优化器参数一样 #pytorch: torch.optim #paddle paddle.optimizer
话不多说开始训练(这里以NCF为例)
学习过程中的一些问题
df['user_count'] = df['user_id'].map(df['user_id'].value_counts())
对user历经的项目进行统计(下图)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-COhlACWu-1669203430076)(C:\Users\hh\AppData\Roaming\Typora\typora-user-images\image-20221114193242235.png)]
pos_dict = df.groupby('user_id')['item_id'].apply(list).to_dict()
将项目(使用list的形式)按照用户id来排,最终以这样的形式展现
{1:[1,2,3,4]}
)
将项目(使用list的形式)按照用户id来排,最终以这样的形式展现
```python
{1:[1,2,3,4]}