Coursera深度学习学生:您可能会在 *util*.py 文件之一中找到有问题的代码行.在回溯中查找 scatter 以获取文件名.我在论坛上看到这个问题被提出了大约 8 次.如果问题和答案有用,请点赞.I'm getting the following error: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'The code in question is from a .ipynb downloaded from Coursera.It works fine on their system, but it seems that I have a library versioning problem locally.The code is:plt.scatter(X[0, :], X[1, :], c=y, cmap=plt.cm.Spectral) 解决方案 Change:plt.scatter(X[0, :], X[1, :], c=y, cmap=plt.cm.Spectral)to:plt.scatter(X[0, :], X[1, :], c=y.ravel().tolist(), cmap=plt.cm.Spectral)This flattens the array y to be one-dimensional, and then turns it into a list, which to_rgba is happy to digest as something it can hash.Coursera Deep Learning students:You'll likely find the offending line(s) of code in one of the *util*.py files. Look for scatter in the traceback to get the filename.I saw this question raised about 8 times on the forum. Please upvote both question and answer if they've been useful. 这篇关于matplotlib分散:TypeError:无法散列的类型:'numpy.ndarray'的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
08-11 14:08