Chapter 5 'pet breeds' dls1.train.get_idxs = lambda: In f.ones syntax error

Hi,

I’m getting error message in chapter 5 ‘pet breeds’ in this code section:

    #id interpolations
    #caption A comparison of fastai's data augmentation strategy (left) and the traditional approach (right).

Error is this:

File "<ipython-input-11-0d191734f37a>", line 8
dls1.train.get_idxs = lambda: In f.ones
_________________________________^
    SyntaxError: invalid syntax

Can anyone comment on what’s going on in this line of code? And how to fix it?

Full code section copy:

#hide_input
#id interpolations
#caption A comparison of fastai's data augmentation strategy (left) and the traditional approach (right).
dblock1 = DataBlock(blocks=(ImageBlock(), CategoryBlock()),
                   get_y=parent_label,
                   item_tfms=Resize(460))
dls1 = dblock1.dataloaders([(Path.cwd()/'images'/'grizzly.jpg')]*100, bs=8)
dls1.train.get_idxs = lambda: In f.ones
x,y = dls1.valid.one_batch()
_,axs = subplots(1, 2)

x1 = TensorImage(x.clone())
x1 = x1.affine_coord(sz=224)
x1 = x1.rotate(draw=30, p=1.)
x1 = x1.zoom(draw=1.2, p=1.)
x1 = x1.warp(draw_x=-0.2, draw_y=0.2, p=1.)

tfms = setup_aug_tfms([Rotate(draw=30, p=1, size=224), Zoom(draw=1.2, p=1., size=224),
                       Warp(draw_x=-0.2, draw_y=0.2, p=1., size=224)])
x = Pipeline(tfms)(x)
#x.affine_coord(coord_tfm=coord_tfm, sz=size, mode=mode, pad_mode=pad_mode)
TensorImage(x[0]).show(ctx=axs[0])
TensorImage(x1[0]).show(ctx=axs[1]);

Hi

Yorick
hope you are having a jolly day!

The error is saying that there is a syntax error (usually an incorrect spelling or command statement)

The code should probably be as below with no space

dls1.train.get_idxs = lambda: Inf.ones

Notice there is no space in Inf.ones

Cheers mrfabulous1 :smiley: :smiley:

1 Like

Thank you, looks like i’ve corrupted the code when ran it first time

1 Like