This is a great book, and now free, Machine Learning by Ian Goodfellow, Yoshua Bengio and Aaron Courville: Now Online free by MIT: http://www.deeplearningbook.org/
Exercises here: https://github.com/goodfeli/dlbook_exercises
Lectures here: http://www.deeplearningbook.org/lecture_slides.html
Discussions: https://www.commonlounge.com/community/e...658ef85cb1
Videos (downloadable) for every chapter: https://www.youtube.com/channel/UCF9O8Vj...-Pg/videos
I wrote a quick down-loader for the videos, I did not include the book club videos, so if you want them, add to the dictionary.
Before using, change basepath if you would like the videos to download to another directory.
As written, they will be downloaded to 'videos', which if it doesn't exist will be created.
I have included two functions to save and load the dictionaries to and from a JSON file. You can create a separate script to create the dictionary, and replace with a call to 'load_url_list' once the JSON file exits.
This program requires pytube which can be downloaded (from command line) with:
Here's the (quickly tested code)
Exercises here: https://github.com/goodfeli/dlbook_exercises
Lectures here: http://www.deeplearningbook.org/lecture_slides.html
Discussions: https://www.commonlounge.com/community/e...658ef85cb1
Videos (downloadable) for every chapter: https://www.youtube.com/channel/UCF9O8Vj...-Pg/videos
I wrote a quick down-loader for the videos, I did not include the book club videos, so if you want them, add to the dictionary.
Before using, change basepath if you would like the videos to download to another directory.
As written, they will be downloaded to 'videos', which if it doesn't exist will be created.
I have included two functions to save and load the dictionaries to and from a JSON file. You can create a separate script to create the dictionary, and replace with a call to 'load_url_list' once the JSON file exits.
This program requires pytube which can be downloaded (from command line) with:
1 |
pip install pytube |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
# Author: Larz60+ January 9, 2019 from pytube import YouTube import json import os class GetDeepLearningVideos: def __init__( self ): os.chdir(os.path.abspath(os.path.dirname(__file__))) def downloadYouTube( self , videourl, path): yt = YouTube(videourl) yt = yt.streams. filter (progressive = True , file_extension = 'mp4' ) \ .order_by( 'resolution' ).desc().first() if not os.path.exists(path): os.makedirs(path) yt.download(path) def save_url_list(basepath, url_list): savefile = os.path.abspath( f '{basepath}/url_list.json' ) with open (savefile, 'w' ) as fp: json.dump(url_list, fp) def load_url_list(basepath): loadpath = os.path.abspath( f '{basepath}/url_list.json' ) with open (loadpath) as fp: return json.load(fp) def main(): gyt = GetDeepLearningVideos() basepath = './videos' baseabs = os.path.abspath(basepath) # Videos published by: Alena Kruchkova if not os.path.exists(baseabs): os.makedirs(baseabs) url_list = { 'Chapter1' : { 'title' : 'Introduction' , 'presenter' : 'Ian Goodfellow' , }, 'Chapter2' : { 'title' : 'Linear Algebra' , 'presenter' : 'Gavin Crooks' , }, 'Chapter3' : { 'title' : 'Probability' , 'presenter' : 'Pierre Dueck' , }, 'Chapter3a' : { 'title' : 'Information Theory' , 'presenter' : 'Yaroslav Bulatov' , }, 'Chapter6' : { 'title' : 'Deep Feedforward Networks' , 'presenter' : 'Timothee Cour' , }, 'Chapter10' : { 'title' : 'Sequence Modeling' , 'presenter' : 'Ian Goodfellow' , }, 'Q&A' : { 'title' : 'Q & A' , 'presenter' : 'Yaroslav Bulatov' , }, } for chapter, detail in url_list.items(): savefile = os.path.abspath( f '{basepath}/{chapter}' ) if not os.path.exists(savefile): url = detail[ 'url' ] print ( f "Downloading {detail['title']} by {detail['presenter']}" ) gyt.downloadYouTube(url, savefile) else : print ( f 'Not downloading {chapter} as {savefile} already exists' ) if __name__ = = '__main__' : main() |