【问题标题】:Splits and Slicing on Mnist Dataset using Tensorflow Datasets load method使用 Tensorflow 数据集加载方法对 Mnist 数据集进行拆分和切片
【发布时间】:2021-09-07 07:32:59
【问题描述】:

我正在尝试加载 MNIST 数据集,并尝试将其拆分为三个数据集:训练、测试和验证。语法应该是:

(train, test, valid) = tfds.load('mnist', split=['train[:90%]','train[90%:]', 'test'])

但是,在运行代码时,我收到以下错误:

KeyError: "Invalid split train[:90%]. Available splits are: ['test', 'train']"

在文档中,提供了以下示例:

train_10pct_ds = tfds.load('mnist', split='train[:10%]')

抛出同样的错误:

KeyError: "Invalid split train[:10%]. Available splits are: ['test', 'train']"

有什么想法吗?这种方法被弃用了吗?如果是这样,分割和切片这样的对象的任何替代方法?谢谢!

【问题讨论】:

  • 我已经测试了上面的代码,它在 colab 中对我来说工作得很好,你有没有尝试在 colab 中运行它,它在你的 tensorflow 数据集中是什么版本。 colab版本是4.0.1
  • 很奇怪,我用 conda 安装了它,结果发现版本是'1.2.0'。也许 conda tensorflow-datasets 尚未更新。谢谢!

标签: python tensorflow tensorflow-datasets mnist


【解决方案1】:

是的,上述问题是由tensorflow_datasets 1.2.0 引起的。升级到最新版本后,您的问题就可以解决,如下所示

pip install tensorflow_datasets --upgrade

工作代码如下图

import tensorflow_datasets as tfds
print(tfds.__version__)
(train, test, valid) = tfds.load('mnist', split=['train[:90%]','train[90%:]', 'test'])

【讨论】:

    猜你喜欢
    • 2021-04-08
    • 1970-01-01
    • 1970-01-01
    • 2019-06-12
    • 2020-12-05
    • 1970-01-01
    • 2020-06-03
    • 1970-01-01
    • 2023-03-09
    相关资源
    最近更新 更多