# The following lines are equivalent:
ds = tfds.load('mnist', split='test[:33%]')
ds = tfds.load('mnist', split=tfds.core.ReadInstruction.from_spec(
'test[:33%]'))
ds = tfds.load('mnist', split=tfds.core.ReadInstruction(
'test', to=33, unit='%'))
ds = tfds.load('mnist', split=tfds.core.ReadInstruction(
'test', from_=0, to=33, unit='%'))
# The following lines are equivalent:
ds = tfds.load('mnist', split='test[:33%]+train[1:-1]')
ds = tfds.load('mnist', split=tfds.core.ReadInstruction.from_spec(
'test[:33%]+train[1:-1]'))
ds = tfds.load('mnist', split=(
tfds.core.ReadInstruction('test', to=33, unit='%') +
tfds.core.ReadInstruction('train', from_=1, to=-1, unit='abs')))
# 10-fold validation:
tests = tfds.load(
'mnist',
[tfds.core.ReadInstruction('train', from_=k, to=k+10, unit='%')
for k in range(0, 100, 10)])
trains = tfds.load(
'mnist',
[tfds.core.ReadInstruction('train', to=k, unit='%') +
tfds.core.ReadInstruction('train', from_=k+10, unit='%')
for k in range(0, 100, 10)])
Args
split_name (str): name of the split to read. Eg: 'train'.
rounding (str): The rounding behaviour to use when percent slicing is
used. Ignored when slicing with absolute indices.
Possible values:
'closest' (default): The specified percentages are rounded to the
closest value. Use this if you want specified percents to be as
much exact as possible.
'pct1dropremainder': the specified percentages are treated as
multiple of 1%. Use this option if you want consistency. Eg:
len(5%) == 5 * len(1%).
Using this option, one might not be able to use the full set of
examples, if the number of those is not a multiple of 100.
from (int):
to (int): alternative way of specifying slicing boundaries. If any of
{from_, to, unit} argument is used, slicing cannot be specified as
string.
unit (str): optional, one of:
'%': to set the slicing unit as percents of the split size.
'abs': to set the slicing unit as absolute numbers.
Creates a ReadInstruction instance out of a string spec.
Args
spec (str): split(s) + optional slice(s) to read. A slice can be
specified, using absolute numbers (int) or percentages (int). E.g.
test: test split.
test + validation: test split + validation split.
test[10:]: test split, minus its first 10 records.
test[:10%]: first 10% records of test split.
test[:-5%]+train[40%:60%]: first 95% of test + middle 20% of
train.