Tensorflow tf.data.Dataset 使用 map 函数时出错 |按键错误
Tensorflow tf.data.Dataset error when using map function | KeyError
我正在做我的顶点项目。基本上,我正在尝试为亚马逊美容产品建立一个推荐系统。数据集是 TensorFlow 数据集.
一些工作正常的源代码
data=tfds.load('amazon_us_reviews/Beauty_v1_00', split='train')
type: tensorflow.python.data.ops.dataset_ops.PrefetchDataset
显示有关功能的一些信息:
for sample in data.take(1).as_numpy_iterator():
pprint.pprint(sample)
输出
{'data': {'customer_id': b'18239070',
'helpful_votes': 0,
'marketplace': b'US',
'product_category': b'Beauty',
'product_id': b'B00LJ86MAY',
'product_parent': b'823234087',
'product_title': b'The Original Curly Tee Towel - T-Shirt Hair Dryi'
b'ng Towel Wrap (Extra Long)',
'review_body': b'Great product, quick ship and packaged nicely with a'
b'ttention to detail. Thank you!',
'review_date': b'2014-10-04',
'review_headline': b'Very pleased!',
'review_id': b'R24WHRN0BMM2K7',
'star_rating': 5,
'total_votes': 0,
'verified_purchase': 1,
'vine': 1}}
错误
I try to select only some of the columns using the map function
data = data.map(lambda x: {
"customer_id": x["customer_id"],
"product_id": x["product_id"],
"star_rating": x["star_rating"]
})
KeyError: 在用户代码中:
KeyError: 'customer_id'
教程中的代码工作正常,但当我尝试这样做时却不起作用。我一直在谷歌搜索,找不到答案。
你有什么建议吗?
从现在开始感谢您的宝贵时间。
您在访问字典时缺少“数据”键。
这应该可以解决问题:
data = data.map(lambda x: {
"customer_id": x["data"]["customer_id"],
"product_id": x["data"]["product_id"],
"star_rating": x["data"]["star_rating"]
})
我正在做我的顶点项目。基本上,我正在尝试为亚马逊美容产品建立一个推荐系统。数据集是 TensorFlow 数据集.
一些工作正常的源代码
data=tfds.load('amazon_us_reviews/Beauty_v1_00', split='train')
type: tensorflow.python.data.ops.dataset_ops.PrefetchDataset
显示有关功能的一些信息:
for sample in data.take(1).as_numpy_iterator(): pprint.pprint(sample)
输出
{'data': {'customer_id': b'18239070', 'helpful_votes': 0, 'marketplace': b'US', 'product_category': b'Beauty', 'product_id': b'B00LJ86MAY', 'product_parent': b'823234087', 'product_title': b'The Original Curly Tee Towel - T-Shirt Hair Dryi' b'ng Towel Wrap (Extra Long)', 'review_body': b'Great product, quick ship and packaged nicely with a' b'ttention to detail. Thank you!', 'review_date': b'2014-10-04', 'review_headline': b'Very pleased!', 'review_id': b'R24WHRN0BMM2K7', 'star_rating': 5, 'total_votes': 0, 'verified_purchase': 1, 'vine': 1}}
错误
I try to select only some of the columns using the map function
data = data.map(lambda x: {
"customer_id": x["customer_id"],
"product_id": x["product_id"],
"star_rating": x["star_rating"]
})
KeyError: 在用户代码中:
KeyError: 'customer_id'
教程中的代码工作正常,但当我尝试这样做时却不起作用。我一直在谷歌搜索,找不到答案。
你有什么建议吗? 从现在开始感谢您的宝贵时间。
您在访问字典时缺少“数据”键。
这应该可以解决问题:
data = data.map(lambda x: {
"customer_id": x["data"]["customer_id"],
"product_id": x["data"]["product_id"],
"star_rating": x["data"]["star_rating"]
})