- 版本、环境信息:
1)PaddlePaddle版本:1.6
2)CPU:cpu
3)系统环境:ubuntu18.04
-预测信息
https://www.paddlepaddle.org.cn/documentation/docs/zh/beginners_guide/basics/recommender_system/index.html#id18
在运行个性化推荐教程时,对测试数据生成部分不理解:
category_id = fluid.create_lod_tensor(np.array([10, 8, 9], dtype='int64'), 3, place) # Animation, Children's, Musical
movie_title = fluid.create_lod_tensor(np.array([1069, 4140, 2923, 710, 988], dtype='int64'), 5,
place) # 'hunchback','of','notre','dame','the'
比如为什么把Animation, Children's, Musical表述为array[10, 8, 9]的呢?
然后'hunchback','of','notre','dame','the'又表示为np.array([1069, 4140, 2923, 710, 988]?
这个是什么转换规则吗?
5条答案
按热度按时间31moq8wy1#
感谢使用PaddlePaddle。
比如为什么把Animation, Children's, Musical表述为array[10, 8, 9]的呢?
这是将类别信息通过离散的类别id进行表示的一种方法。
然后'hunchback','of','notre','dame','the'又表示为np.array([1069, 4140, 2923, 710, 988]?
这是将标题使用其中每个单词在词表中的id进行离散化表示的方法。均为自然语言处理领域的通用做法。
您可以重复阅读一下前文“模型配置”这一小节的内容:https://www.paddlepaddle.org.cn/documentation/docs/zh/beginners_guide/basics/recommender_system/index.html#id10
kd3sttzy2#
通过对数据集的字典数据进行查看,我得到:
paddle.dataset.movielens.movie_categories()['Animation']
12
paddle.dataset.movielens.movie_categories()['Children's']
10
paddle.dataset.movielens.movie_categories()['Musical']
8
但教程中的 Animation, Children's, Musical表述为array[10, 8, 9]
若按照数据集中的字典则表示为[12, 10, 8 ],所以我应该根据哪一个呢?是否可以直接使用paddle.dataset.movielens.movie_categories()查看对应的数据转换呢?
同时paddle.dataset.movielens.get_movie_title_dict()也会对应文章标题,参考哪一个呢?
bejyjqdl3#
我这边运行了一下,输出结果就是[10,8,9],与文档一致。请确认您使用的paddle版本是否为最新版本?
5rgfhyps4#
我用pip install -U paddlepaddle安装的1.6.1,请问您说的最新版本是哪个版本?
o2rvlv0m5#
可能在每台机器上的运行结果不一致,您可以试一下,我安装了paddle0.6.0后又装回0.6.1,发现结果又不一样了,这是什么问题呢?