TypeError:+:' dict_values'不支持的操作数类型和' dict_values'

时间:2018-03-16 02:30:40

标签: python tensorflow typeerror

当我运行C3D-tensorflow时 来自Github的train_c3d_ucf101.py,第165行显示错误

unsupported operand type(s) for +: 'dict_values' and 'dict_values'

第165行的代码是

varlist1 = list( set(weights.values() + biases.values()) - set(varlist2) )

所以你能告诉我怎样才能解决这个问题,我使用的python版本是3.5,有tensorflow1.4和anaconda3.4.2。

1 个答案:

答案 0 :(得分:3)

您似乎正在尝试使用Python3运行Python2库。

varlist1 = list( set(weights.values() + biases.values()) - set(varlist2) )

以上行在Python2中是正确的,其中dict.values()返回list,但不在Python3中,它返回特殊类型dict_values

如果您可以修复此代码,则以下内容在Python2和Python3中均有效

varlist1 = list((set(weights.values()) | set(biases.values())) - set(varlist2))

否则,您不能将此库与Python3一起使用。