My GitHub (Trash code I wrote during PhD)
10:49

My GitHub (Trash code I wrote during PhD)

Yannic Kilcher 08.06.2021 19 263 просмотров 596 лайков

Machine-readable: Markdown · JSON API · Site index

Поделиться Telegram VK Бот
Транскрипт Скачать .md
Анализ с AI
Описание видео
#phdlife #github #researchcode A brief browse through my public GitHub and musings about my old code. Link: https//github.com/yk Links: TabNine Code Completion (Referral): http://bit.ly/tabnine-yannick YouTube: https://www.youtube.com/c/yannickilcher Twitter: https://twitter.com/ykilcher Discord: https://discord.gg/4H8xxDF BitChute: https://www.bitchute.com/channel/yannic-kilcher Minds: https://www.minds.com/ykilcher Parler: https://parler.com/profile/YannicKilcher LinkedIn: https://www.linkedin.com/in/yannic-kilcher-488534136/ BiliBili: https://space.bilibili.com/1824646584 If you want to support me, the best thing to do is to share out the content :) If you want to support me financially (completely optional and voluntary, but a lot of people have asked for this): SubscribeStar: https://www.subscribestar.com/yannickilcher Patreon: https://www.patreon.com/yannickilcher Bitcoin (BTC): bc1q49lsw3q325tr58ygf8sudx2dqfguclvngvy2cq Ethereum (ETH): 0x7ad3513E3B8f66799f507Aa7874b1B0eBC7F85e2 Litecoin (LTC): LQW2TRyKYetVC8WjFkhpPhtpbDM4Vw7r9m Monero (XMR): 4ACL8AGrEo5hAir8A9CeVrW8pEauWvnp1WnSDZxW7tziCDLhZAGsgzhRQABDnFy8yuM9fWJDviJPHKRjV4FWt19CJZN9D4n

Оглавление (3 сегментов)

Intro

hey ho what's going on so i've recently graduated the phd and during that time i've written a lot of code which is mostly garbage but i thought we go through my github and i'll show you the most exciting and useless things i've ever written so if you're on my github you're gonna find a bunch of things including video related materials such as like the eclip music video you can make your own music video right here you should watch if you haven't uh there's the minecraft neural network i provide you with the minecraft world if you haven't watched that video please do it gpustat which is a tracker for gpu machines and sending it to a server and then displaying it this is what our lab uses for seeing who uses which gpus which is you know fairly useful i think this is the single most popular thing i've written during my phd because that's people actually use it so there is the flatland repository so flatland is something we did some time ago and then i was a total slug and completely failed in supervising the project uh let's not talk about this you'll also find code for our conference submissions of course but then we get into the real stuff s run is a little tool

Srun

that you can use what it does is it simply copies directory to a server via ssh it then runs a script on that server and then it copies back a directory called logs that's pretty easy and i use that all the time it's very good if you have a bunch of code in a folder and the output is a directory called logs you're good to go otherwise you'll have to change this a bit okay at that point i had no clue that you could use temp deer to make temporary directories oh god look at this so it happened too many times that i didn't do this from the directory where i actually had my code but from the home directory so it synced my entire home directory to the server so i just no see this counts as ux no i'm pretty sure it does and this right here this is the crown jewel

Rat

jewel rat it is a system that manages my experiments so in rat there is a bunch of things in here there is a worker and what the worker would do is it would sit on a server and it would listen to a database for new experiments that it should run and if so it will pull the code from a mongodb so that the queue is an is a redis queue and it would pull code from a mongodb and then it would run that code but it would only do so if the gpu is free so to change this rq thing in order to check whether or not the gpu is free you can see right here there's a check of whether or not the gpu is already occupied and if it is occupied it would just not do the task and put it back into the queue however if it is not occupied it would run so the neat thing you can do with this thing is if a lab mate of yours is running on a gpu you just put this worker on the same gpu and then as soon as their job is done it's like boom you got it i'm sorry but for the most part it actually prevents you from interfering with other people you know that's pretty neat and your jobs won't fail just because there's already something on the gpu so the core of this thing is you can run an experiment config which means you can upload different hyper parameters and then jobs would be generated according to those hyper parameters and i even built in a hyper parameter optimizer so you can give ranges and it would search through them either in grid search or in random sampling so here we have a search strategy and i built in so much stuff you can merge experiments i mean look at this is uh this is quite a bit of engineering going into here it even has a tensorboard thing whenever a job is finished running the worker would actually put it back into the database and this command right here will get me all the event files from tensorboard and then it would actually label the directories with the names of the hyper parameters so you actually see directly in the run name which run has which hyper parameters this is so freaking useful because usually tensorboard runs are just like run one run two or the date or some stupid thing confirm really no i built this in to prevent myself from doing stupid stuff but i also built like an override flag you know like there's delete all so as i said this is it probably doesn't work anymore because i know the redis queue dependencies have shifted and so on yeah if you want some inspiration uh feel free feel absolutely free to clone this i don't want it anymore like when i started uh systems like weights and biases and so on they just didn't exist so i had to run my own similarly why plot is my attempt at writing a plotting library that works with tensorboard events and so extracting data from tensorboard events this is all so useless right now except this uh smoothing thing that i got from sci pi which was pretty useful then why pack is you can tell my i'm very innovative with my names i think that's just a set of routines that i implemented for uh working with torch and tensorflow again this is probably all useless ooh there's deep fool look at that most of this is completely useless now because these things are mostly in the libraries themselves confront is what i use oh look at that this is a part of rat actually this is what generates the products of configurations that's why yeah i even wrote a readme i wrote a readme a small utility library to generate cross-products of experiment configurations just look at the unit test and hopefully it should become clear how it works let's i don't think so i mean look at that this is beautiful look you can like spec out something like this you can see like so there is you want sgd optimization and these are the different step sizes and you can sample and this seems like a good a good uh thing i mean there are probably 50 libraries today that do that much better than i ever could fountain oh fountain was my own data set library like c410 it would download it from a server and it would extract it if it's not there yes this all exists now in torch vision and for the ml for nlp in hogging face what a useless thing this thing right here i think so in tensorflow one if new youngsters remember that it was quite a bit harder to save and restore and do anything like this so this would be a library that if your checkpoint doesn't quite fit it would restore whatever is there and i think it would also if the shapes don't fit it would do like a random projection to make the shapes fit and if they don't fit yet this you had to implement like a graph operation just to get the restore to work this is a plugin i wrote for chrome because i was annoyed that i couldn't cite an archive article from the article itself so i wrote a plugin that goes to google scholar and scrapes the uh the google scholar bibtex entry in directly to lot to archive it doesn't work anymore but uh i think there are other plugins now these are actually good this is a continuous compiler as you can see it's not very uh sophisticated and of course i did write my own archive scraper there was still a time when i read all of archive this is not possible anymore but i did read all of archive for at least certain lists so i had many more than these lists new papers every morning and i would just read through the abstracts in the train and those are repositories from my masters and so this is the first public repository ever from the pattern recognition class in my bachelor studies what is here linear kernel polykernel rbf just looks like support vector machines right did i implement this here's an svm classifier implemented yikes and this who does that who does private methods with a dunder no that's reserved whoever did this passed me no non-linear svm without any sort of automatic back propagation no stop yeah but this is a a support vector machine without sgd i think we used to calculate support vector machines with sort of a quadratic programming i think that we got that from somewhere in any case this was my very first public commit to github and it was already a machine learning lecture so i guess i had this coming for a while if you are uh interested in useless repositories check out my github i'd be happy to see what your github is look like so this was more of a nostalgia thing but i hope you still had a bit of fun cheers

Другие видео автора — Yannic Kilcher

Ctrl+V

Экстракт Знаний в Telegram

Экстракты и дистилляты из лучших YouTube-каналов — сразу после публикации.

Подписаться

Дайджест Экстрактов

Лучшие методички за неделю — каждый понедельник