sidn-handbook

The Structure and Interpretation of Deep Networks Handbook

CC-BY-SA-4.0 License

Stars
10

sidn-handbook

The Structure and Interpretation of Deep Networks Handbook

Make sure to let us know your github userid when you sign up for the class so you can be added to this reppo.

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Instructions on contributing

Use index.html within a directory for your page. For each topic that you are contributing to, you will do your work in a single directory. For example, when I created a handbook page on "history", I did all my work in the subdirectory /src/history, and I wrote my handbook page as /src/history/index.html.

Add supporting images and code in subdirectories under each topic. Your page should be generously illustrated with images and links to demonstration code that readers can run. If you need to add images, make sure they are compressed (please no larger than 300K per image), and include them in the images subdirectory; see the examples in /src/history/images. If you need to add python notebooks, please make them runnable in Google colab and put your ipynb files in a colab subdirectory such as /src/history/colab. If you copy images and programs from elsewhere, from elsewhere, be sure to properly attribute the source - give credit to the source in your text.

Run make to generate /public/ content. The content in /src/ is expanded through simple templates and macros to generate the public content with some built-in navigation links. To see any of your new content on the website, you will need to run the template expansion scripts and then git add public before doing a git push to see the content on the website.

Please don't edit the contents of /public/ directly - edit /src/ and then use make to expand it to the public directory. To enable us to reconfigure templates and layouts in the future, we want to be able to delete all of /public/, then rebuild it from /src/.

Tips on formatting your handbook page

Start with the {header('Your title')} and end with {footer()}. These will be expanded by the templating system when you make the website.

Use HTML tags. In other words, use <h2> and <h3> etc to create section headings, and start paragraphs with <p>. Use the <img> tag to insert images. The website uses CSS based on the Bootstrap 5 stylesheets, so those standard CSS classes are availble if you need them. Take a look at /src/history/index.html for examples.

Use LaTeX-style MathJax for formulas. As you can see inside /src/history/index.html, you can write math formulas using LaTeX syntax inside your HTML by surrounding inline formulas with \( and \), and by surrounding block equations with \[ and \].

Use relative URLs. When you embed images, or if you need to link to other content, avoid using absolute URLs and instead start your URLs without a slash, like images/pic.png. This will make it easier to reorganize the content later.

Use the {colab_link('...')} macro. When you create or adapt an ipython notebook demo, go ahead and push it to your colab subdirectory, and then link it using HTML of the form <a href="{colab_link('colab/example.ipynb')}">my demo</a>. After you make and push your content to the website, this will make your notebook runnable by readers on Google Colab. You can also include a second argument to emit the entire hyperlink including the surrounding <a> tag, as in {colab_link('colab/example.ipynb', 'Try this notebook'}.

Use the {img(url, size)} macro. When you To format images of a certain size, save the image to your images subdirectory, and then embed it in the HTML using {img("images/my_image.png", 50)}. The number in the second argument tells how wide to display the image: e.g., 50 means up to 50% of the column width, and 100 means 100%.