Live data from Hacker News

Fast.ai Part 2: Deep Learning from the Foundations

course.fast.ai

11–20 of 33 posts

Re: Fast.ai Part 2: Deep Learning from the Foundations

#11
post #7

Can someone who has completed Fast.ai courses comment on the experience and then how you used the newly gained knowledge?

The content is very well paced and engaging. The use of Jupyter Notebook really is a great way to demo code. I took Part 1 online (free) and then Part 2 in person ($2000) and feel the money was well spent. TBH, I haven't used it yet, but I enjoyed the classes (they were exciting at times) and I do have a project I'm working towards where I'll use this.

Re: Fast.ai Part 2: Deep Learning from the Foundations

#13
post #3

Great, thank you so much, Jeremy. One question, will a new version of the Machine learning course be made?

Not in the short/medium term, at least. The stuff we covered in that Intro to ML course hasn't really changed, so the current course is nearly equally relevant today. (We used the fastai library a little for some basic utility functions, and that bit has changed, but that's not a very important detail.)

Re: Fast.ai Part 2: Deep Learning from the Foundations

#14
I've been meaning to learn ML/DL.

My problem is that I can't think of any use cases for it, either in my personal life or work life.

I understand that the technologies have a lot of potential, and are currently used in many major projects and endeavors. I just keep drawing a blank when trying to answer the question, "what would I do with this?"

If I am someone who is goal-driven (rather than, say, learning something for the sake of learning), how can I motivate myself to pick this up?

Re: Fast.ai Part 2: Deep Learning from the Foundations

#15
post #7

Can someone who has completed Fast.ai courses comment on the experience and then how you used the newly gained knowledge?

I was lucky enough to participate in the lectures earlier this year. I've watched every fastai course before this and I will continue to watch them, even the introductory material.

That being said, this course is completely different than anything done before. This course takes a look at the very most basic functionality of neural network libraries and proceeds to implement the fastai library totally from scratch. So it's really a great deep learning + tooling + api design + programming language + research implementation course all in one.

The last two lectures on Swift were especially fun. Python isn't great for deep learning because you always have to live at arms length from the implementation through a c++ wrapper. Swift can compile straight to the low level system commands. LLVM, MLIR. Still learning this so I'm not the best person to answer questions about this specifically. :)

So Swift has this awesome feature set of being well designed, pretty similar to Python, statically typed, and low level. These lectures are hosted by Jeremy Howard and Chris Lattner. Sometimes the most valuable learning I can do is to just listen to the banter between two exceptionally experienced experts, so this make the course that much more enjoyable.

Five starts would recommend. Get the t-shirt.

Re: Fast.ai Part 2: Deep Learning from the Foundations

#16

I'm excited to see a couple lectures with Swift. All the work to add interoperability with Python and make swift-jupyter is very appreciated and feels like it's Xmas in June.

Why would you need Swift in Jupyter? Just implement your model's architecture in Python. Export it. Invoke it at runtime via Swift and TF.

You can but it's not ideal. What if you want to write your own cuda kernel for your experiment? Python isn't really setup for this easily unless you want to throw odd c++ integrations into your code. Swift is designed to be a direct match to the underlying instructions. This would make deep learning much more expressive and flexible in Swift, with less errors.

This question is addressed extensively in the course. Check out the last two lectures, they do a great job of going over lots of different reasons.

Re: Fast.ai Part 2: Deep Learning from the Foundations

#17

I've been meaning to learn ML/DL. My problem is that I can't think of any use cases for it, either in my personal life or work life. I understand that the technologies have a lot of potential, and are currently used in many major projects and endeavors. I just keep drawing a blank when trying to answer the question, "what would I do with this?" If I am someone who is goal-driven (rather than, say, learning something…

You might come up with use-cases after going through a few of the examples. You know that expression, "when the only tool you have is a hammer, everything looks like a nail"? Well, I think you can use that to your benefit. Once you learn how to swing the hammer of ML/DL, then you'll start seeing nails everywhere.

Re: Fast.ai Part 2: Deep Learning from the Foundations

#18

I've been meaning to learn ML/DL. My problem is that I can't think of any use cases for it, either in my personal life or work life. I understand that the technologies have a lot of potential, and are currently used in many major projects and endeavors. I just keep drawing a blank when trying to answer the question, "what would I do with this?" If I am someone who is goal-driven (rather than, say, learning something…

Sometimes it is useful to make useless things. It will build experience while being fun and making you more able to come up with "useful" things. Tried this with a friend of mine. Our plan was.

1. Take webcam at desk. 2. Build model that detects whether he himself is sitting at his desk. 3. If it is not him, you've detected an intruder, so spray the intruder with a squirt gun or something.

We only got as far as a model that distinguished between him and other people, even deploying it according to this guide. https://course.fast.ai/deployment_render.html

Also the material is just really interesting. If you want to know how a lot of products work, this is one of the most fun ways to learn.

Re: Fast.ai Part 2: Deep Learning from the Foundations

#19

Earlier quoted context omitted.

Why would you need Swift in Jupyter? Just implement your model's architecture in Python. Export it. Invoke it at runtime via Swift and TF.

You can but it's not ideal. What if you want to write your own cuda kernel for your experiment? Python isn't really setup for this easily unless you want to throw odd c++ integrations into your code. Swift is designed to be a direct match to the underlying instructions. This would make deep learning much more expressive and flexible in Swift, with less errors. This question is addressed extensively in the course. Che…

That doesn't really make sense. The code you implement in Swift when in Jupyter needs to also be available at runtime to execute. Meaning you can do the exact same thing in Python, because your model architecture is going to be embedded in the exported model.

For custom kernel code, what you really want to use is a custom TF op. But I doubt that's what you're getting at anyway, because that's for more advanced use cases.

Re: Fast.ai Part 2: Deep Learning from the Foundations

#20

Earlier quoted context omitted.

You can but it's not ideal. What if you want to write your own cuda kernel for your experiment? Python isn't really setup for this easily unless you want to throw odd c++ integrations into your code. Swift is designed to be a direct match to the underlying instructions. This would make deep learning much more expressive and flexible in Swift, with less errors. This question is addressed extensively in the course. Che…

That doesn't really make sense. The code you implement in Swift when in Jupyter needs to also be available at runtime to execute. Meaning you can do the exact same thing in Python, because your model architecture is going to be embedded in the exported model. For custom kernel code, what you really want to use is a custom TF op. But I doubt that's what you're getting at anyway, because that's for more advanced use ca…

The goal is to allow Swift to be used for writing MLIR and XLA kernels. The new LazyTensor under development already allows for fused XLA operations to be created in Swift. There's an awful lot you can do in Swift which is very very hard to do properly in Python. I've got a bit more background on this here: https://www.fast.ai/2019/03/06/fastai-swift/

Edit: HN isn't letting me reply deeper, so I'll reply to "what are the benefits over C++?" here. The first is that MLIR has dialects that support stuff like polyhedral compilation, which result in much more concise and understandable code, which is often faster too. The second is that using the same language from top to bottom means you can profile/debug/etc your code in one place, which is much more efficient. And you don't have to learn two languages. And you don't have to use C++, which (for me at least) is a big win! ;)

Post reply on HN