yandexdataschool / Practical_RL

A course in reinforcement learning in the wild

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

teaching in yandex data school tlv

chanansh opened this issue · comments

Hi,
I am going to teach this course in data school TLV.
I want it to be coherent with the coursera version.
However, the presentation folder on yandex drive is a mess and it is not consistent with the coursera course.
Can you please help?

Please don't make it fully consistent with Coursera.

The biggest issue with the Coursera version is that it still uses Tensorflow. We plan to migrate it to PyTorch. Also, Coursera version is significantly less challenging than the on-campus version.

I would suggest using the Coursera version as a guide, but with PyTorch assignments wherever possible. We have a mapping between the on-campus version and Coursera files in #262, which, for any given Coursera assignment, will help you find the corresponding PyTorch assignments in the on-campus version.

You will also probably want to extend the Coursera version with some bonus tasks from the on-campus version, like Pacman in Week 3.

That said, Coursera presentations are here. We also have the coursera-deployed branch in this repository which exactly corresponds to the version deployed on Coursera. The coursera branch may be slightly ahead of it.

Btw, nice to meet you!

Thanks. I have only 6 weeks so I don't think I will be able to do the full on campus version. Maybe you can do RL advance course on Coursera.
Thanks for the note on the Pytorch version

by the way, what is so bad about TF?

@dniku some of the presentations in the link are in PDF. can you please upload editable version (e.g. week 6)

@justheuristic could you look for editable versions of the Coursera presentations?

Regarding TF:

  1. Its output is very noisy. You get half a screen of logs which are useless 99% of the time every time you launch a script, and there is no easy way to disable some of them (deprecation warnings from inside the TF codebase). Thus, debugging is made artificially harder.
  2. It has a lot of interfaces, and every new version launches a new one, incompatible with the others, with some of them deprecated and some removed. It is very unlikely that the code you run for one version of TF will work with another. Thus, we can't easily upgrade between versions.
  3. Lazy interface in 1.x makes debugging ridiculous due to tracebacks being very far from the actual error. Don't know how easy it is to debug 2.x, but as far as I understand the effort for converting from 1.x to 2.x is about the same as the effort for converting to PyTorch.
  4. That said, the lazy interface causes TF to re-implement every single Python language construct (conditionals, loops), so students have to re-learn those instead of focusing on RL.
  5. Bad design decisions such as reserving all GPU memory by default (I know this can be disabled, but you have to look that up).

tl;dr: instead of helping you get your job done, TF makes you fight itself, which is the definition of a bad instrument. By contrast, PyTorch (mostly) just works (until you need to deploy into production, but we don't need that as part of this course).

@chanansh , i sent you the slides via telegram