diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..c5dba24 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,4 @@ +{ + "quarto.render.previewType": "internal", + "quarto.render.renderOnSave": true +} \ No newline at end of file diff --git a/lectures/fa24/.gitignore b/lectures/fa24/.gitignore new file mode 100644 index 0000000..8ebd73e --- /dev/null +++ b/lectures/fa24/.gitignore @@ -0,0 +1,3 @@ +/.quarto/ +_site/ +_revealjs/ diff --git a/lectures/fa24/01_command_shells.qmd b/lectures/fa24/01_command_shells.qmd new file mode 100644 index 0000000..33d5335 --- /dev/null +++ b/lectures/fa24/01_command_shells.qmd @@ -0,0 +1,81 @@ +--- +title: "Command Shells" +--- + +# Introduction + +Although there are a lot of great GUI-based machine learning applications, there +are many cases when it is more productive to use command line interfaces, for +example with `git` or `python`. We'll get you familiar with command shells for +Windows and MacOS here. In the next section we'll cover the Shared Computing Cluster +at BU and its Linux operating system. + +Topics to cover: + +1. why important (the basic control language for machine learning) +2. MacOS (zsh) versus Windows (terminal and linux subsystem) versus linux distributions (e.g. SCC) + +## Getting to a command shell + +The types and how you start command shells varies by operating system. + +::: {.panel-tabset} + +### MacOS + +In MacOS, start the `terminal` app. ![MacoS Terminal](assets/images/macos_terminal_icon.jpeg){width="30px"} + +Starting with MacOS Catalina, the default shell is [`zsh`](https://zsh.org/). If +you've upgraded from an earlier version of Catalina, you might still be using `bash` +shell. If you are still using `bash`, there should be reminder everytime you +open Terminal instructing how you switch to `zsh`. + +The reason it is important to know which cell you are running is that the shell +startup configuration files are particular to the shell. There are some other +subtle differences in shell commands and syntax. + +You can see which shell you are running with the process status command `ps`. +One or more of the processes listed will include `bash` or `zsh`. + +### SCC + +The easiest way to get to a terminal session on the Shared Computing Cluster (SCC) +is to navigate to [SCC On Demand](https://scc-ondemand.bu.edu). + +You can also `ssh` to @scc1.bu.edu or @scc2.bu.edu or + @scc3.bu.edu, the login nodes. + + The first time you `ssh`, you might get the message a like this with `scc1`: + + ``` + The authenticity of host 'scc2.bu.edu (192.12.187.131)' can't be established. +ED25519 key fingerprint is SHA256:OmvL4FQ48QTpcXDpYE63rse1tM6pfKfSUgaVW1+mlIw. +This key is not known by any other names. +Are you sure you want to continue connecting (yes/no/[fingerprint])? +``` + +Just type yes and hit `return`. + + +### Windows + +sdfsd + +#### Windows terminal + +#### Windows GIT terminal + +#### Windows Subsystem for linux (WSL) + +::: + +Commands to cover: + +Directory commands: +```sh +pwd; cd; ls +``` + +File handling commands: +```sh +``` diff --git a/lectures/fa24/02_scc.qmd b/lectures/fa24/02_scc.qmd new file mode 100644 index 0000000..d9e5509 --- /dev/null +++ b/lectures/fa24/02_scc.qmd @@ -0,0 +1,21 @@ +--- +title: "Shared Computing Cluster" +--- + +# Topics to Cover + +Blah blah. + +## Next section + +More blah blah. + +```{python} +x = 5 +x +``` + +```{markdown} +Text $x = 5$. +``` + diff --git a/lectures/fa24/03_git_and_github.qmd b/lectures/fa24/03_git_and_github.qmd new file mode 100644 index 0000000..72214c5 --- /dev/null +++ b/lectures/fa24/03_git_and_github.qmd @@ -0,0 +1,6 @@ +--- +title: Git and Github +--- + +# Introduction + diff --git a/lectures/fa24/04_vscode.qmd b/lectures/fa24/04_vscode.qmd new file mode 100644 index 0000000..3318301 --- /dev/null +++ b/lectures/fa24/04_vscode.qmd @@ -0,0 +1,5 @@ +--- +title: VS Code +--- + +# Introduction diff --git a/lectures/fa24/05_tabular_data.qmd b/lectures/fa24/05_tabular_data.qmd new file mode 100644 index 0000000..1cb09440 --- /dev/null +++ b/lectures/fa24/05_tabular_data.qmd @@ -0,0 +1,6 @@ +--- +title: Tabular Data +--- + +# Introduction + diff --git a/lectures/fa24/06_pytorch.qmd b/lectures/fa24/06_pytorch.qmd new file mode 100644 index 0000000..a1686f9 --- /dev/null +++ b/lectures/fa24/06_pytorch.qmd @@ -0,0 +1,5 @@ +--- +title: Pytorch +--- + +# Intro diff --git a/lectures/fa24/07_tensorflow_keras.qmd b/lectures/fa24/07_tensorflow_keras.qmd new file mode 100644 index 0000000..9c793df --- /dev/null +++ b/lectures/fa24/07_tensorflow_keras.qmd @@ -0,0 +1,5 @@ +--- +title: Tensorflow Keras +--- + +# Intro diff --git a/lectures/fa24/08_huggingface.qmd b/lectures/fa24/08_huggingface.qmd new file mode 100644 index 0000000..4452556 --- /dev/null +++ b/lectures/fa24/08_huggingface.qmd @@ -0,0 +1,5 @@ +--- +title: Hugging Face Transformers and Models +--- + +# Intro diff --git a/lectures/fa24/09_huggingface_spaces.qmd b/lectures/fa24/09_huggingface_spaces.qmd new file mode 100644 index 0000000..54b5f90 --- /dev/null +++ b/lectures/fa24/09_huggingface_spaces.qmd @@ -0,0 +1,5 @@ +--- +title: Hugging Face Spaces +--- + +# Intro diff --git a/lectures/fa24/10_llms.qmd b/lectures/fa24/10_llms.qmd new file mode 100644 index 0000000..9734027 --- /dev/null +++ b/lectures/fa24/10_llms.qmd @@ -0,0 +1,5 @@ +--- +title: LLMs and Tools +--- + +# Intro diff --git a/lectures/fa24/README.md b/lectures/fa24/README.md new file mode 100644 index 0000000..964c85a --- /dev/null +++ b/lectures/fa24/README.md @@ -0,0 +1,25 @@ +# Fall 2024 Lecture Topics + +This folder (`lectures/fa24`) contains draft lectures for various introductory +practical machine tools. + +The topic list is in [index.qmd](./index.qmd). + +It is in [Quarto](https://quarto.org/) website format. + +To edit, preview and render you'll need to setup Quarto. + +1. Install Quarto as directed in Quarto + [Get Started](https://quarto.org/docs/get-started/). +2. We suggest you edit with VS Code and the +[Quarto Extension](https://marketplace.visualstudio.com/items?itemName=quarto.quarto). +3. From VS Code you can preview using + 1. the preview icon on the top right of one of the qmd edit panels, or + 2. run `quarto preview` from the integrated VS Code terminal from the + `lectures/fa24` directory. + +There are placeholder files for each of the major topics. If you add a new +file or change a file name, be sure to update it in [_quarto.yml](./_quarto.yml) +file too. + +**Coming Soon:** Instructions on how to render slides from quarto. diff --git a/lectures/fa24/_quarto.yml b/lectures/fa24/_quarto.yml new file mode 100644 index 0000000..2edc61c --- /dev/null +++ b/lectures/fa24/_quarto.yml @@ -0,0 +1,31 @@ +project: + type: website + +website: + title: "CS/DS 549 Lectures" + back-to-top-navigation: true + sidebar: + style: "docked" + search: true + contents: + - href: index.qmd + text: Home + - 01_command_shells.qmd + - 02_scc.qmd + - 03_git_and_github.qmd + - 04_vscode.qmd + - 05_tabular_data.qmd + - 06_pytorch.qmd + - 07_tensorflow_keras.qmd + - 08_huggingface.qmd + - 09_huggingface_spaces.qmd + - 10_llms.qmd + +format: + html: + theme: cosmo + css: styles.css + toc: true + + + diff --git a/lectures/fa24/assets/images/macos_terminal_icon.jpeg b/lectures/fa24/assets/images/macos_terminal_icon.jpeg new file mode 100644 index 0000000..4a3754f Binary files /dev/null and b/lectures/fa24/assets/images/macos_terminal_icon.jpeg differ diff --git a/lectures/fa24/command.sh b/lectures/fa24/command.sh new file mode 100755 index 0000000..a7254c4 --- /dev/null +++ b/lectures/fa24/command.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +# Render all .qmd files to HTML and Reveal.js +for file in *.qmd; do + if [ -f "$file" ]; then + quarto render "$file" --to revealjs --output-dir _revealjs + fi +done + +# Render all .ipynb files to HTML and Reveal.js +for file in *.ipynb; do + if [ -f "$file" ]; then + quarto render "$file" --to revealjs --output-dir _revealjs + fi +done + +# revealjs slideshow +#quarto render --to revealjs --output-dir _revealjs diff --git a/lectures/fa24/index.qmd b/lectures/fa24/index.qmd new file mode 100644 index 0000000..2f3be3c --- /dev/null +++ b/lectures/fa24/index.qmd @@ -0,0 +1,69 @@ +--- +title: "CS/DS549 ML Practicum -- Fall 2024" +--- + +# Introduction + +Each lecture is ~30 minutes followed by either in class exercise in the early +part of the course or lab time. + +## Topics + +### Command Shells + +1. MacOS command shell +2. Windows command shell options + 1. Windows Command + 2. Git shell + 3. WSL + +Basic shell commands + +### Shared Computing Cluster + +1. SCC Overview +2. SCC group, changing default group +3. shell commands, user/group/world permissions +2. Login nodes vs compute nodes +3. Differences in compute nodes and options, CDS buy-in +3. Interactive sessions + 1. desktop + 2. vs code +4. Batch sessions + +### Git and Github + +1. git basics +2. github and git servers +3. exercise: forking, cloning, topic branch, push, create PR +3. github actions workflows +4. CI/CD + +### VS Code + +1. Python extensions and support +2. Jupyter extensions and support (debugging) +2. Git/Github extensions and support + + +### Tabular data + +1. pandas +2. scikit-learn + +### Pytorch + +### Tensorflow/Keras + +### Huggingface Transformers and Models + +### Huggingface Spaces + +### LLMs + +1. Chainlit/literal.ai +2. langchain +3. llamaindex +4. HF Transformers + + diff --git a/lectures/fa24/styles.css b/lectures/fa24/styles.css new file mode 100644 index 0000000..2ddf50c --- /dev/null +++ b/lectures/fa24/styles.css @@ -0,0 +1 @@ +/* css styles */ diff --git a/lectures/fa24/vscode.qmd b/lectures/fa24/vscode.qmd new file mode 100644 index 0000000..caa2d16 --- /dev/null +++ b/lectures/fa24/vscode.qmd @@ -0,0 +1,12 @@ +--- +title: "Lecture 03" +--- + +# Lecture Title + +Blah blah. + +## Next section + +More blah blah. +