General course chat

First step is to label your images. I’d recomend a labeling strategy of annotating each corner of each rectangle. VOTT is a tool for that I’ve heard good things about.

This is assuming you just want to know how many pieces there are, and their rectangular sizes. If you wanted to know the curve of the wood, or chipped corners, you have to painstakingly draw each line around each board to create Image Segmentation labels.

Your task in an ImagePoints / PointsLabelList task in fastai terminology. See:

  • Head-pose (lesson3) for a walk through on how to perform this type of task on one point. From what i understand it is simply regression on two separate targets: the x-coord and y-coord for the point in the image.

  • I’ve adapted that example to handle multiple points (e.g. four corners) and and my goal is also to find the interior of a [one] rectangle so you may find it useful.

Come to think of it, you’re example is different in that the number of points - the corners of each wood-block - varies between each image, so this may actually be different task like segmentation Maybe you can convert the image-points to a “rough” segmentation mask and train with that as your target.

That’s about all I can say for now. I’m curious what the application for this would be, something for a wood mill?

Will,

Thanks for the suggestions, I’ll check them out.

Yes, in the lumber yard, a big expensive laser scans the stack to tally the count and width of the boards. Otherwise, they resort to a manually tally.

I created a program that looks for ‘spikes’ in the horizontal and vertical directions which correspond to the edges, that is surprisingly good if boards are stacked neatly. Now I’m looking for a more general solution.

I expect this type of problem/solution will be popping up everywhere now that solutions can be developed at a reasonable cost.

@jeremy

Hi, my name is chansung, park.

I am a fan of fast.ai courses since 2018, and I was translating the courses in Korean language.
I got approved by Rachel last year, so I have been maintained my work on github (https://github.com/deep-diver/fastai-course-korean).

While working with it, non profit MOOC organization called “connect foundation”, which was established by one of the biggest Korean IT company NAVER, asked me to host my work in their platform.

I think this is a great opportunity for myself and other Koreans who is so desperately wanting to learn deep learning.

By working with the organization, some expert human translators will help me along the way to boost the speed of translation while maintaining the quality.

What do you think? Please let me know.

Thank you.

I am wondering if I need to learn machine learning basics, like Linear Regression, Support Vector Machines, Supervised Learning, Unsupervised Learning and so on? Or I just go straight to deep learning on this course.

To be able to say work on a dirty model, you can get started directly with deep learning. But that doesn’t necessarily mean you understanding whats going on. From my experience, ML concepts will give you a fundamental understanding into Deep Learning, that would help you grasp concepts intuitively - and when you realize that’s happening, you’d be thankful you spent the time! Here’s a good start: http://course18.fast.ai/ml

Thank you. Really appreciate for your reply. And I think I will take the courses you recommended above.

I really wish I can continue to learn ML at least one hour a day, It’s there a small study group or anyone can study together?

1 Like

I might be interested in this if you are looking to create a group :slight_smile:

I’m interested in this study group, Message me and lets make it happen!

Is training training with rectangular images superior to training with square images?

In lesson 3 we used a UNet on the camvid dataset and the images were subsampled to rectangular images. I am doing segmentation on the Carvana dataset and I wonder whether I should use 128x128, 256x256, 1024x1024 images to train (as Jeremy did in version 2 of the course) or whether I should use rectangular images.

In particular, I wonder because rectangular images could be much larger if keeping the aspect ratio. (1280, 1918) is the original image size for carvana. And I don’t know whether it is worth it.

Hi guys, new here! :slight_smile:
Would like to know is there a way to load a pretrained model on the front end side?,
I would like to save up the 2 sec call request, to the server,
I can expect it wont work on a big network,
But any suggestions on that with fastai?

What data will you predict? From my experience, it helps to train on a small set and then train some more on a larger set , that way you would be able to predict in more accuracy

Hi, yeah I am doing that - I train first on 128x128, then 256x256 and then on 1024x1024 but I wanted to know whether it is advantageous to train on rectangular vs square images. Welcome to the forum btw :slight_smile:

Thank you!! Thats behion my real experiance, so i would follow this post, :slight_smile:
But my feeling says a square will be better if any ,

Hey guys, great to find this community!

I am using fast.AI for sales predictions and wondering if others have met the following questions as I do:

1 the model run usually is pretty good in the first few epochs, but towards the very end, I usually see the metrics exploded at the last epoch. Is there a way to stop the epoch during training and store the model if the metrics during last epoch met some threshold?

2 Across epochs, my train_loss is usually much higher than val_loss (~2X mostly). What are some levers that I could play with to solve the underfitting problem and hopefully reach a better model?

code below. Thanks guys!

learn = tabular_learner(data, layers = [400,200,40], ps= [0.8,0.8,0.8], emb_drop =0.2,
y_range = y_range, metrics = [exp_rmspe, mean_absolute_error])

learn.fit_one_cycle(8,1e-3,wd=0.01)

part 2 has started? I have seen few discussion groups on it.

I am currently using Google Colab. When I am fitting the Resnet34 model as shown by @jeremy in the first lecture it takes me a total time of 8+ mins in Google Colab. (I have enabled GPU in colab). While it only takes something under 2 mins for @jeremy. Can anyone please tell me why does it take so long in Google Colab? I think the code is not using the GPU.

See this thread for more info on why this maybe the case. I think Colab uses the GPU but my personal theory is that its being shared amongst multiple colab notebooks (on top of the VM only having a possible CPU bottleneck as described in the thread linked.)

1 Like

It is the CPU, as now, the transforms are done in CPU, so if the batch size is large, the GPU is waiting for the CPU to send the transformed images. Disable transofrms, and re-test.

2 Likes

If you don’t mind, can you please explain how to disable transforms?

You probably don’t want to do that. It dependes, if you are using the method databunch.from_something, just pass None to ds_tfms arg.
with the datablock API, the transform step is optional.

1 Like