首页 Paddle框架 帖子详情
转为int64,不然转tensor会出问题
收藏
快速回复
Paddle框架 其他模型训练 1095 1
转为int64,不然转tensor会出问题
收藏
快速回复
Paddle框架 其他模型训练 1095 1

用N-Gram模型在莎士比亚文集中训练word embedding-使用文档-PaddlePaddle深度学习平台
https://www.paddlepaddle.org.cn/documentation/docs/zh/tutorial/nlp_case/n_gram_model/n_gram_model.html

class TrainDataset(paddle.io.Dataset):
    def __init__(self, tuple_data):
        self.tuple_data = tuple_data

    def __getitem__(self, idx):
        data = self.tuple_data[idx][0]
        label = self.tuple_data[idx][1]
        data = np.array(list(map(lambda word: word_to_idx.get(word, 0), data)))
        label = np.array(word_to_idx.get(label, 0))
        return data, label
    
    def __len__(self):
        return len(self.tuple_data)
    

应该为:

class TrainDataset(paddle.io.Dataset):
    def __init__(self, tuple_data):
        self.tuple_data = tuple_data

    def __getitem__(self, idx):
        data = self.tuple_data[idx][0]
        label = self.tuple_data[idx][1]
        data = np.array(list(map(lambda word: word_to_idx.get(word, 0), data))).astype('int64')
        label = np.array(word_to_idx.get(label, 0)).astype('int64')
        return data, label
    
    def __len__(self):
        return len(self.tuple_data)

 

转为int64,不然转tensor会出问题

0
收藏
回复
全部评论(1)
时间顺序
三岁
#2 回复于2021-09

好哒,数据类型没有非常明晰的确定要自己做尝试就很……

0
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户