Tuesday, October 11, 2016

Hugo Larochelle's neural network & deep learning tutorial videos, subtitled & screengrabbed

Like a lot of data scientists (I consider myself more of a data spelunker, but I aspire to data science), I try my best to keep up with the latest discoveries in a very fast-changing field; and probably nothing has been as game-changing as the advent of deep learning.

Deep Learning, explained to a five-year-old (okay, maybe fifteen-year-old): Data science been really good for a while now at data that can be explained in Excel spreadsheets, i.e. columns and rows: one row per observation, one column per variable. This is called structured data. Deep Learning allows us to create rows of column variables that describe a representation of unstructured data, like images or text. It's as if you had an automatic algorithm that could look through all your images, and create one column based on the likelihood the image contains a cat, another the likelihood it contains a shovel -- without having to tell the algorithm what a cat or shovel is, or what they look like, or determine that there are cats and shovels at all before running the algorithm.
Deep Learning is rather math-intensive, and involves neural networks, a family of algorithms that's been around for a long time but has now come into its own. Unlike some skills, you can't learn it as a black box and then slowly come to understand it as you use it. There are foundations you need to acquire; tutorials you need to absorb.

I live in Montreal, which recently hosted its annual Deep Learning Summer School; I couldn`t attend, but I heard great things about the lecture by Université de Sherbrooke's Hugo Larochelle.

There's just one thing; I hate listening to videos. It's why I don't take Coursera classes now that I only have a short commute to work every day. I need to learn at my own pace. And I prefer to read.

So when I realized Larochelle's lecture was based on a series of 92 videos on his YouTube channel, I wrote a Python script to add a black bar beneath them, burn subtitles into it, and take screenshots of every subtitle slide and make a pdf out of it so I can read them. I like to read.

Here's an example screenshot:

I'm sharing the fruits of my labor with you here: Videos with subtitles, pdfs of subtitled screenshots, and Python code I used to make them.

Hugo Larochelle neural network lecture videos
& pdfs with subtitles

These are zip files of subtitled videos and pdfs of screenshots made from Hugo Larochelle's (University of Sherbrooke) YouTube playlist of 92 videos in 10 parts on neural networks.

Videos with subtitles:

  1. Subtitled MP4s for Part 01, Feedforward neural networks [zip, 108.5 MB]
  2. Subtitled MP4s for Part 02, Training neural networks [zip, 238.6 MB]
  3. Subtitled MP4s for Part 03, Conditional random fields [zip, 250.2 MB]
  4. Subtitled MP4s for Part 04, Training CRFs [zip, 106.6 MB]
  5. Subtitled MP4s for Part 05, Restricted Boltzmann Machine [zip, 169.1 MB]
  6. Subtitled MP4s for Part 06, Autoencoder [zip, 136.8 MB]
  7. Subtitled MP4s for Part 07, Deep Learning [zip, 226.8 MB]
  8. Subtitled MP4s for Part 08, Sparse coding [zip, 152.8 MB]
  9. Subtitled MP4s for Part 09, Computer vision [zip, 191.4 MB]
  10. Subtitled MP4s for Part 10, Natural Language Processing [zip, 289.5 MB]

PDFs of screenshots:

  1. PDFs for Part 01, Feedforward neural networks [zip, 120.9 MB]
  2. PDFs for Part 02, Training neural networks [zip, 287.0 MB]
  3. PDFs for Part 03, Conditional random fields [zip, 284.2 MB]
  4. PDFs for Part 04, Training CRFs [zip, 132.7 MB]
  5. PDFs for Part 05, Restricted Boltzmann Machine [zip, 189.8 MB]
  6. PDFs for Part 06, Autoencoder [zip, 161.1 MB]
  7. PDFs for Part 07, Deep Learning [zip, 307.9 MB]
  8. PDFs for Part 08, Sparse coding [zip, 200.9 MB]
  9. PDFs for Part 09, Computer vision [zip, 239.8 MB]
  10. PDFs for Part 10, Natural Language Processing [zip, 371.6 MB]

In a Python script (which you can see here: Part 1, Part 2), I:
  • used requests and BeautifulSoup to parse the YouTube playlist;
  • used youtube-dl to download the videos and WEBVTT subtitles;
  • used pycaption to convert subtitles to SRT format;
  • used ffmpeg (from a subprocess call) to add a black letterbox below each video, burn the subtitles into that box and then save png screenshots wherever there was a new subtitle line;
  • used imagemagick to bundle pngs into pdfs;
  • used zipfile to zip similar files together and deleted the originals.

I'm David Taylor, aka prooffreader. About me

• • •


  1. Wow thank you this is fantastic

    1. I'm a fan of your blog and as always I liked the post. Please keep us updated as we love your blog. noyasystem

  2. Wow thank you this is fantastic

  3. Thanks a lot for this initiative!!

  4. I just see the post i am so happy to the communication science post of information's.So I have really enjoyed and reading
    your blogs for these posts.Any way I’ll be replay for your great thinks and I hope you post again soon...
    SEO Company in Chennai

  5. Thank you for taking the time to provide us with your valuable information. We strive to provide our candidates
    with excellent care and we take your comments to heart.As always, we appreciate your confidence and trust in us
    SEO Company in India
    Digital Marketing Company in India

  6. I just stumbled upon your blog and wanted to say that I have really enjoyed reading your blog posts. Any way I’ll be subscribing to your feed and I hope you post again soon.

    Best Dental Clinic in Chennai | Best Dentists in Chennai | Dental Hospital in chennai

  7. This blog is having the general information. Got a creative work and this is very different one.We have todevelop our creativity mind.This blog helps for this. Thank you for this blog. This is very interesting and useful...
    Best Dental Clinic In Ashoknagar

  8. Excellent and very cool idea and the subject at the top of magnificence and I am happy to this post..Interesting post! Thanks for writing it.What's wrong with this kind of post exactly? It follows your previous guideline for post length as well as clarity..
    Android Training in Chennai

  9. Great and really helpful article! Adding to the conversation, providing more information, or expressing a new point of view...Nice information and updates. Really i like it and everyday am visiting your site..
    Interior Decorators in Chennai
    Home Interior Designers in Chennai
    Home Interiors in Chennai


  10. Wonderful blog.. Thanks for sharing informative Post. Its very useful to me.

    Installment loans
    Payday loans
    Title loans

  11. Wonderful bloggers like yourself who would positively reply encouraged me to be more open and engaging in commenting.So know it's helpful.
    Python Training in Chennai

  12. It's interesting that many of the bloggers to helped clarify a few things for me as well as giving.Most of ideas can be nice content.
    Thanks for sharing information.Well, got a good knowledge. seo training institute


  13. This information is impressive; I am inspired with your post writing style & how continuously you describe this topic.

    Pawn Shop

    Pawn Loans

    Pawn Shops

    Pawn Loan

    Pawn Shop near me

  14. Thank you for taking the time and sharing this information with us. It was indeed very helpful and insightful while being straight forward and to the point.
    mcdonaldsgutscheine | startlr | saludlimpia

  15. I read the post and I have really enjoyed your blogs posts.looking for the next post.
    Digital Marketing Training In Bangalore.

  16. https://edshow.ir/طراحی-و-راه-اندازی-سایت-در-تبریز/

  17. You have undoubtedly done a very great job Content URL which is visible from the results that you provided for us in this article.

  18. Thank You very very nice

    وردپرس فارسی - وردپرس - قالب وردپرس - افزونه وردپرس - پشتیبانی وردپرس

    فروشگاه اینترنتی - فروشگاه اینترنتی - فروشگاه آنلاین

    سایت اپل - سایت آیفون - سایت آیپد

    جستجو گر - جستجوگر - فوچ

    سرویس وبلاگدهی - وبلاگدهی - وبلاگدهی وردپرس

    ردیاب - ردیاب خودرو - ردیاب شخصی

    فروشگاه - فروشگاه آنلاین - ردیاب شخصی زدکا

    مجله اینترنتی - مجله آنلاین - مجله اینترنتی 

  19. Wow, absolutely fantastic blog. I am very glad to have such useful information.


  20. It's a very nice post thank you for sharing this post.
    Best IT Training in Bangalore

  21. Really useful information. we are providing best data science online training from industry experts.

  22. A nice article here with some useful tips for those who are not used-to comment that frequently. Thanks for this helpful information I agree with all points you have given to us. I will follow all of them.
    Fleet Management Software
    Human Resources Management Software
    Logistics Software
    Manufacturing ERP

  23. I believe there are many more pleasurable opportunities ahead for individuals that looked at your site. Also Visit this site for Deep Learning with Python Training

  24. I just see the post i am so happy the post of information's.So I have really enjoyed and reading your blogs for these posts.Any way I’ll be subscribing to your feed and I hope you post again soon.
    Deep Learning Training in Hyderabad

  25. You given so much valuable information Thanks for sharing keep updating
    Blockchain Training in chennai

  26. Thanks for the info on deep learning and neural networks. Really liked it. python training in Chennai

  27. quite informative, thanks for sharing with us

    if you are interested in reading my blogs
    - http://www.learndigital.co

  28. A very useful blog, if you want more information about that please visit our website.
    Deep Learning Training in Hyderabad

  29. Wow... This blog post share complete information on neural networks,It is really a great work and the way in which you are sharing the knowledge is excellent.
    hadoop training institutes in chennai | big data hadoop training and certification