Lesson 3 In-Class Discussion ✅

Well, you can train two separate learners for that purpose.

1 Like

Thank you! As always, great class

1 Like

btw, congrats to everyone on still being here live. We have lost a lot of live viewers :wink:
lesson 1 had >1000, lesson 2 still >500, today we were down to a max of 278 youtube watchers if I saw correctly! (edit: others saw 400 watchers in the beginning) I still think it’s worth it getting up early! :+1:

8 Likes

But it might be better to learn the class and the regression number simultaneously.

1 Like

After having converted the dicom images to png files i created the following open_image substitute. The you can use the pretrained model for rgb images as in the course resnet34, resnet50 …

#Function to open 16bit grayscale (fx an xray as png) and convert it to an rgb-tensor without loss of precision
#then you can assing it to the datasets like so: dsTrain.image_opener = dsValid.image_opener = open_image_16bit2rgb
#or use the datablock logic (i have not tried that)

def open_image_16bit2rgb( fn ):
a = np.asarray(PIL.Image.open( fn ))
a = np.expand_dims(a,axis=2)
a = np.repeat(a, 3, axis=2)
return Image( pil2tensor(a, np.float32 ).div(65535) )

3 Likes

https://www.youtube.com/watch?v=VPg2ZlRPiXI

2 Likes

Question: In the notebook it says we need to use “ImageMultiDataset” and it sounds like something to do manually or pay attention to. But I cannot find any reference to that afterwards. Is that change done automatically when using the .label_from_csv()? After running the notebook and looking at predictions (learn.TTA()),it seems like the output goes through a softmax and not sigmoid. This should not be the case for a mulitlabel problem?!

3 Likes

Great question. I’ve been thinking about this for a while (have a wireless comms background and we love FFT) and actually don’t think they are that similar. NNs are composed of linear and nonlinear functions that are cascaded and interconnected (as deep as you like). This allows them to represent very complex ‘signals’. On the other hand a single Fourier series can only represent inputs that are periodic and linear. Perhaps if we cascade them like in a filter bank and add some interconnect and non linearity it might be interesting.

But I’m new to this so still have a lot to learn! Hope to get a better understanding from the experts and figure out the differences/similarities.

1 Like

At In[26] of Amazon dataset train_loss:0.091 and valid_loss:0.085; ie. train_loss > valid_loss. Then why did Jeremy save this model as ‘stage-1-rn50’

Has anyone been able to run the planet notebook? I am getting the following error on src.datasets()

IndexError: too many indices for array

Jeremy answers it in this great podcast (from minute 33:15). BTW, I highly recommend the podcast to everyone interested in fastai and Jeremy’s work.

3 Likes

Does anyone have recommendations for overview/review of top architectures and their applications?

I love the explosion of ideas I get after Jeremey introduces a new class of problem. For example, I had never seen Unet and image segmentation before Lesson 3. So many applications!

I want to get a better sense of the best-solved problems in this space.

Why is data saved into ’ PosixPath(’/home/ubuntu/.fastai/data/planet’)? What does '.'fastai mean here cause I can’t find it in fastai/data?

1 Like

Hm, that’s interesting! Yeah, can’t say for sure, have only a basic understanding of FFT and signals processing, and just a little bit experience in Deep Learning, so probably the analogy is not perfect. Someone with good mathematical background could know better :smile:

At least, from a conceptual point of view, there are some similar points. Probably one day I’ll be able to dig deeper to better understand the intrinsic properties of deep models.

1 Like

@marcmuc, I saw the number of live watchers >400 early during the lesson today. I wouldn’t expect further substantial reductions. Using your numbers from lessons 1 and 2, step decays were 100%->50%->80% So the percentage of persevering night owls is increasing according to last trend! :wink:

1 Like

I’m surprised to know an important word appearing only once in the text that is so heavy-weight. I’m interested to know more. Can you give examples?

Yes totally agree. Feel like there must be some connection there (that we can use!) but it’s not clear to me yet :grinning:

1 Like

I think in 2017 DL2 jeremy combined the validation set and training set together, then did a random 90:10 split to train a Language Model, because for that task maintaining this ‘official split’ wasn’t that useful nor important. But when he did a classification, he did it the way sgugger said.

My guess is he will go deeper into this next week.

2 Likes

You can use OpenCV to parse frame from videos.

1 Like

Yes we can use OpenCV, but can fastai provides any modules in this regard?