我收到以下错误:
TypeError Traceback (most recent call last)
~/.local/share/miniconda3/lib/python3.6/site-packages/matplotlib/colors.py in to_rgba(c, alpha)
154 try:
--> 155 rgba = _colors_full_map.cache[c, alpha]
156 except (KeyError, TypeError): # Not in cache, or unhashable.
TypeError: unhashable type: 'numpy.ndarray'
相关代码来自Coursera下载的.ipynb
。
它在他们的系统上工作正常,但似乎我在本地有一个库版本问题。
代码是:
plt.scatter(X[0, :], X[1, :], c=y, cmap=plt.cm.Spectral)
答案 0 :(得分:11)
变化:
plt.scatter(X[0, :], X[1, :], c=y, cmap=plt.cm.Spectral)
为:
plt.scatter(X[0, :], X[1, :], c=y.ravel().tolist(), cmap=plt.cm.Spectral)
这会将数组y
展平为一维,然后将其转换为列表,to_rgba
很乐意将其消化为可以散列的内容。
Coursera Deep Learning学生:
您可能会在其中一个*util*.py
文件中找到有问题的代码行。在traceback中查找scatter
以获取文件名。
我在论坛上看到了这个问题大约8次。如果它们有用,请同时回答问题和答案。