d2l-ai / d2l-en

Interactive deep learning book with multi-framework code, math, and discussions. Adopted at 500 universities from 70 countries including Stanford, MIT, Harvard, and Cambridge.
https://D2L.ai
Other
23.24k stars 4.27k forks source link

Questions about how to track the change #570

Closed HeYDwane3 closed 4 years ago

HeYDwane3 commented 4 years ago

Hi, all d2l developers

Thanks for bringing d2l, a fantastic learning book for machine learning. While reading the book, I found myself a little lost, and I am not very used to Github, so could you guys give me some help?

I started to read the book in October, and the way I use the book is to download the PDF, thus the version I was read then was the version released by Sep 25, 2019. And recently I download the book again, I noticed the release date changed to Nov 08, 2019. Today, I download another version, it changed to Nov 10, 2019.

The major change I noticed is in the installation, it now started to use Conda to create virtual env.

I understand this is how the Open Source project works, it will change at a very fast speed.

My questions are:

  1. How was the PDF generated?Is the PDF released date at the bottom right controlled by a human being or automatically? To be more clear, I am wondering, every time when I click "PDF" from the d2l.ai, to download the whole book. Was I downloading an already existed PDF that was uploaded there, or it is just a "generator", say, what it does is going back to the Github (or somewhere else) to find the latest version of each section, and then generate a PDF by some magic code, and finally add the release date based on the latest "merged" date (or maybe some other mechanism to determine the date)?

  2. As the change is so fast, is there any way I can keep track of the major change? I tried to have a look at all the recent merge, but it makes me even more confused. I noticed that the latest book switched to Numpy. I assume this would be a major change, but as a rookie to Python, I have no idea what would be the consequence of this switch. So, I am wondering would there be any release note telling the readers why you guys made this change, and what would be affected? Like, can we still use the old NDarray (I remember that the NDarray was mentioned multiple times, as there is some difference between the NDarray from MXnet and Numpy)?

astonzhang commented 4 years ago
  1. The PDF release date is updated automatically.
  2. Minor changes are added almost every day, such as typo fix, presentation improvement, etc. We will describe major changes in every release note.
HeYDwane3 commented 4 years ago

@astonzhang

  1. The PDF release date is updated automatically.

So, there would be some sort of auto pdf generator, right? I am also curious about how that works. Would you mind providing me some source to learn that? Or maybe some keywords are also appreciated.

  1. Minor changes are added almost every day, such as typo fix, presentation improvement, etc. We will describe major changes in every release note.

By saying release note, do you mean here --> https://github.com/d2l-ai/d2l-en/releases And if that is the place you referred to, I am wondering what is the schedule for the release note? As the latest release note is for v 0.6, and the book is v 0.7 now. So does that mean, the release note for a particular release will come out after the last update for that version, e.g, the release note for v0.7 will come out after the last update of v 0.7 (probably means the time when the first version of v 0.8 come out)

mli commented 4 years ago

Both PDF and HTML are built by a CI, available at http://ci.d2l.ai/blue/organizations/jenkins/d2l-en/branches/

Every time we make a change, the CI will rerun notebooks and publish both PDF and HTML. So the version here is ahead of the latest release. BTW, v0.7 will be released soon.