1、python2和python3版本不一致发生的问题
Python2.7中dict.values()+dict.values(),在Python3.5中出现TypeError: unsupported operand type(s) for +: ‘dict_values’ and ‘dict_values’
解决办法就是先强制转换到解决办法就是转换成list再加。
例如:
w={
'a':1,
'b':2,
'c':3
}
b={
'aa':4,
'bb':5,
'cc':6
}
r=w.values()+b.values()
print(r)
该代码在python2中没问题,在python3中出现该问题,解决办法是
c=list(w.values())
x=list(b.values())
而在C3D运行中,需要将以下代码进行修改
varlist1 = list( set(weights.values() + biases.values()) - set(varlist2) )
改为
varlist1 = list((set(weights.values()) | set(biases.values())) - set(varlist2))
下面一段话参考stack overflow:
It seems you are trying to run a Python2 librairy with Python3.
varlist1 = list( set(weights.values() + biases.values()) - set(varlist2) )
The above line is correct in Python2 where dict.values() returns a list, but is not in Python3 where it returns a special type dict_values.
If you can fix this code, the following would be valid in both Python2 and Python3
varlist1 = list((set(weights.values()) | set(biases.values())) - set(varlist2))
2、文件路径不一致问题
Tensorflow: ValueError: Cannot feed value of shape (423,) for Tensor ‘Placeholder:0’, which has shape ‘(?, 423)’
修改文件的路径即可。