8 ms·
Part 1 was great. However, the first lesson took a bit of stamina to go through. Much of it was introducing basic Unix/AWS/shell/Python things I know intimate
by metafunctor 9y ago
Part 1 was great.
However, the first lesson took a bit of stamina to go through. Much of it was introducing basic Unix/AWS/shell/Python things I know intimately and have strong opinions and deeply set ways about. Shell aliases, how to use AWS, what Python distribution to run, running Python from some crazy web tool called notebooks (and not Emacs), etc. felt like I was forced to learn a random selection of randomly flavored tools for no good reason.
Yes, it's a random selection of tools. The good reason to bear them is that you'll learn how to implement state of the art deep learning solutions for a lot of common problems.
So, I ended up viewing the lessons not as "this is how you should do it", but rather as "here's one way to do it". And it does get much easier after internalizing the tools in Lesson 1.
Just something to keep in mind when branding this as "deep learning for coders". Coders have deep opinions about the tools they use :)
- learner101 9y agoI come from the opposite side of the spectrum. I know nothing about UNIX/AWS/Shell and have no intimate or strong opinions on any of the tools. I am confused by basics such as how to make a special request for P2 access, since the set up video is out of date. The git cloning recommendations on the wiki is also confusing to me. I'd rather see a video on how to do the git cloning or step-by-step instructions (with pictures) on how to do this and what to expect if it has been properly done. I felt like some of the material is outdated and I find it not clear how to get around it. I ended up getting frustrated with the set up videos and git cloning instructions, so I skipped it in their entirety. I hope the future iterations of this class spell things out for beginners like me. Otherwise, I can't even begin the class since I don't know how to request access to P2, clone git, etc. I am not uneducated. I come from a pure mathematics background and don't know anything about this set up business. I can code, know theoretical CS, but when it comes to setting up the tools (along with the outdated material) I am utterly lost. At this point I'm just watching the videos. I can't actually do any of the coding stuff since I don't have the tools set up, but I like their top-down approach and am learning a lot despite these obstacles.
- metafunctor 9y agoMost of the time I also ended up just watching the videos, picked up the concepts I didn't yet know about, and experimented on them in my own way. I did perform all the Kaggle submissions, though, to kind of calibrate my level. I wonder how big the crowd between our two extremes is — the people who actually do run the commands exactly as explained in the videos? If the material is outdated, beginners cannot. Experts will do their own thing. How many people will follow the actual instructions?
- jph00 9y agoWe (including the rest of the learning community) would love to help you - could you post on the forums the problems you are having and we'll try to help sort them out? If you've already posted, please at-mention me there so I don't miss it. It's a fine line between helping too much vs too little in lesson 1! For the next time we run part 1, we're thinking we'll have an optional weekend workshop to teach the necessary (non deep learning specific) software pieces - python, numpy, AWS, shell, etc. That would end up being a separate mini-MOOC I suspect. Based on the discussions on the forums it seems most students are between these two extremes, and largely follow the video advice, branching off sometimes where they need to do some additional research, or are already familiar with some alternative approach. Edit: actually thinking more about it - probably your best bet is to simply use http://crestle.com http://crestle.com . All the data, notebooks, and software is pre-installed, so you can start coding right away.
- _raoulcousins 9y agoIf I'm understanding EC2 pricing, this looks a lot cheaper. What's the downside of using crestle instead of AWS for the course?
- anurag 9y ago(I built Crestle.) The downside is you don't get as much control over your environment (you get a terminal in the browser, but no SSH or sudo access, for example). If you have the inclination and ability to manage your own instances, EC2 is more flexible.
- adam12 9y agoI started watching the videos in Part 1 and was disappointed to find out that I was going to have to create an AWS account. I really don't want to deal with accidentally racking up a large bill on AWS.
- metafunctor 9y agoIf you have the hardware, you can do without an AWS account (you might need to be an "expert" to interpret the instructions to run on your own hardware instead of AWS). I used my gaming rig with a 1080 GTX Ti card.
- cakedoggie 9y agoWhy? Why can't I just do it with my crappy hardware, and it take longer?
- statusgraph 9y agoYou can. Tensorflow has a CPU implementation. But, it's not a little longer, it's incredibly longer.
- bitL 9y agoLike 5h on an upper-class GPU vs 50 days on the fastest CPU.
- Cacti 9y agoYou can do it on a poorer graphics card, but that's only if it has enough GPU RAM, and only if its supports a relatively recent compute version. You _can_ run it on a CPU, and that can work fine for very simple models (like the Tensorflow demos with MNIST) but anything much larger and things really start to take forever. Like, you'll be waiting for months.
- ralphc 9y agoI'm giving serious thought to buying or building a rig for these courses. What's "enough GPU RAM"?
- edanm 9y agoYou're partially right. But I would like to mention that in many ways, their way is the "standard" way to do things. Just as an example, the "crazy web tool called notebooks" is pretty much the standard way of working in many different areas of machine learning/deep learning (and others). It doesn't mean you necessarily have to do it yourself, but tons of material out there will be in this format, so it's valuable in and of itself to know it. Also, you really should give notebooks a chance, they're a game-changer for productivity, IMO. (Although I'm a vim user, not emacs, so maybe you shouldn't listen to me ;).
- jph00 9y agoAlso the python distribution in question (anaconda) is becoming standard for data science - pytorch, for instance, (covered in part 2) assumes you're using anaconda for its default install method.
- thearn4 9y agoI agree that the focus on specific tooling was tricky. That said, I really do like the notebook environment. It's mostly the AWS setup that I found a bit fragile.
- rpazyaquian 9y agoCompletely uninformed and unlearned question: what exactly is the role of AWS in deep learning of this nature? Why do we need to use it?
- metafunctor 9y agoPay-as-you-go GPU instances.