我试图获取我在Google Colab tensorflow教程(在Jupyter工作簿中(中找到的代码,并在我自己的计算机上的Eclipse环境中实现它: (https://colab.research.google.com/notebooks/mlcc/first_steps_with_tensor_flow.ipynb?utm_source=mlcc&utm_campaign=colab-external&utm_medium=referral&utm_content=firststeps-colab&hl=en#scrollTo=wgSMeD5UU81N( 此代码在 Colab jupyter 工作簿上执行良好。 但是,Eclipse给了我一个从matlablib导入中获得"未定义的变量"错误。
我的系统:
Mac OS:10.13.6
eclipse:019-03 (4.11.0(
Anaconda 安装包括:python3.7.3,matplotlib 3.1.0。 (在安装 Anaconda 软件包之前,Anaconda 下载的 shasum 检查也是正确的(
我还根据googles网站安装了tensorflow:tensorflow 1.14.0
使用 Eclipse 和 python3.7
此行不会生成任何错误:
from matplotlib import cm" #(<--no error generated here)
但是,当我稍后使用"cm.coolwarm"时,Eclipse 给了我一个与"coolwarm"相关的"导入中未定义的变量"错误:
colors = [cm.coolwarm(x) for x in np.linspace(-1, 1, periods)]
当我查看下载的 Matplotlib 包中的 cm.py 文件时,实际上没有定义"coolwarm"变量/方法/函数。转到 Matplotlib 网站,在 3.1.1 版(最新版本(或较旧的稳定版 3.0.1 中似乎也没有定义任何 coolwarm。
我的结论是,Google Colabaratory jupyter 工作簿必须使用非常旧版本的 matplotlib,并且 cm.coolwarm 已被弃用。但我是一个相对新手,只是想检查一下我是否缺少什么......
感谢您的想法。
coolwarm colormap 在任何较新版本的 matplotlib 中都没有被弃用。据我所知,将来也没有计划这样做。
以下内容适用于任何版本的 matplotlib
from matplotlib import cm
print(cm.coolwarm(0.5))
您在源代码中找不到cm.coolwarm
的原因是这些名称是动态生成的。所有内部颜色图,您可以通过plt.get_cmap("name_of_colormap")
获得,也可以作为对象在cm
模块中提供,cm.name_of_colormap
通过此行
locals().update(cmap_d)
话虽如此,我不知道为什么你会在Eclipse中出现错误。