使用Splits API分割数据集时,出现“ AssertionError:无法识别的指令格式”-Tensorflow2.x

问题描述

请阅读给定的问题。

您需要使用原始cats_vs_dogs数据的子集,该数据完全在“火车”分组中。即“火车”包含25000条记录,其中包含1738张损坏的图像,总共有23262张图像。

您将拆分得到

  • 前10%是“新”训练集
  • 最后10%是新的验证和测试集,中间分为几个部分(即,最后10%的前一半是验证(前5%) 后半部分是测试(最后5%))

这3个记录集应分别称为train_examples,validation_examples和test_examples。

注意:请记住使用cats_vs_dogs:4。作为数据集,因为4.0支持新的Splits API。


我为相应的代码编写了如下代码

splits = ['train[:10%]','train[-10% :-5%]','train[-5%:]']

splits,info = tfds.load('cats_vs_dogs:4.*.*',split=splits,data_dir=filePath,with_info=True)

(train_examples,validation_examples,test_examples) = splits
    
train_len = len(list(train_examples))
validation_len = len(list(validation_examples))
test_len = len(list(test_examples))
print(train_len)
print(validation_len)
print(test_len)

我运行了上面的代码,并收到了以下错误消息。

AssertionError: Unrecognized instruction format: train[-10% :-5%]

请帮助我进行适当的拆分。

解决方法

只需删除那里的空间:

'train[-10% :-5%]'
           ^
       remove me

已更正:

'train[-10%:-5%]'