一个星期以来,我开始使用python+tensorflow来积累机器学习的知识。我的主要目标是让keras提供的教程启动并运行,所以我自己对python的介绍是让这些加载函数正常工作,bc我被困在防火墙后面,pip无法下载。 现在我遇到了一个让我发疯的问题。 目前我正在做一个基本的回归,就像https://www.tensorflow.org/tutorials/keras/basic_text_classification-将整数转换回单词一样
其他的教程都在稍作修改后运行良好,但这一个让我抓狂。在
def get_word_index(path='training\imdb_word_index.json'):
with open('training\imdb_word_index.json') as f:
json1_str = f.read()
json1_data = json.loads(json1_str)
return dict(json1_data)
这段代码打开数据集并将其作为字典返回。 内容如下:
^{pr2}$就这样。 我正试图扭转它,因为bc的内置函数似乎没有按预期工作。 现在我发现的最佳实践是 TypeError: unhashable type: 'list' when using built-in set function 这帮不了什么忙。 我的代码是
reverse_word_ind = {}
reverse_word_ind = dict.fromkeys(word_index.items(), 0)
这会引发错误:
TypeError: unhashable type: 'set'
经过多次实验,把它手动翻过来,然后打字成“dict”,我的耐心都没有了。 请帮忙。。。在
您可以用dict comprehension反转字典:
不是每一本字典都可以颠倒。这是因为虽然对可以作为字典值的对象类型没有限制,但是有restrictions as to what types can be keys。在
您得到的错误意味着字典中至少有一个值是集合,这与您的预期相反。您可以通过在
^{pr2}$try...except
子句中执行字典反转来调试正在发生的事情并找出错误值:运行上面的代码应该会产生与之前相同的
TypeError
,但是现在它将首先打印出一条有用的错误消息,指出字典中的错误值。在相关问题 更多 >
编程相关推荐