无法使用Julia中的MLDatasets包导入MNIST数据集



我正试图通过.jl文件中的以下命令使用MLDatasets包在Julia中获取MNIST数据集:

using MLDatasets
dataset_train = MNIST(:train)
dataset_test = MNIST(:test)

这是MLDatasets文档中指出的内容。然而,我得到了以下错误:

ERROR: MethodError: objects of type Module are not callable
Stacktrace:
[1] top-level scope
@ c:myjuliafile...

出于某种原因,Julia将MNIST解释为一个模块。值得注意的是,这个完全相同的代码在朋友的计算机上运行时没有问题,朋友的计算机具有相同的操作系统和相同的Julia版本(操作系统:Windows,x86_64-w64-mingw32;Julia版本:1.8.2(。

MLDatasets软件包已安装,并使用using命令正确导入。可能是什么问题?

最可能的原因是您的计算机上安装了旧版本的MLDataset。当前版本是0.7.5,而您可能安装了0.5.x版本。如果存在阻止安装最新版本的MLDataset的包冲突,则可能发生这种情况。

如果您使用默认的v1.8环境来安装所有软件包,则更可能发生这样的冲突。建议为您的项目创建一个单独的环境,并在该环境中只安装该特定项目所需的包。

MLDataset的旧版本将MNIST作为子模块,而不是类型,这就是出现此特定错误消息的原因。

您可以将环境的状态(] status(与朋友设置中的状态进行比较。] status --outdated还可以帮助您查看是哪个特定的包导致了此处的问题。但我建议将您的基本Julia环境(v1.8(保持在最低限度,卸载软件包,除非您需要在任何地方都可用(例如IJulia(。另见";创建自己的项目"包装文件的章节。

最新更新