Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"quarto.render.previewType": "internal",
"quarto.render.renderOnSave": true
}
3 changes: 3 additions & 0 deletions lectures/fa24/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
/.quarto/
_site/
_revealjs/
81 changes: 81 additions & 0 deletions lectures/fa24/01_command_shells.qmd
Original file line number Diff line number Diff line change
@@ -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 <username>@scc1.bu.edu or <username>@scc2.bu.edu or
<username>@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
```
21 changes: 21 additions & 0 deletions lectures/fa24/02_scc.qmd
Original file line number Diff line number Diff line change
@@ -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$.
```

6 changes: 6 additions & 0 deletions lectures/fa24/03_git_and_github.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
title: Git and Github
---

# Introduction

5 changes: 5 additions & 0 deletions lectures/fa24/04_vscode.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: VS Code
---

# Introduction
6 changes: 6 additions & 0 deletions lectures/fa24/05_tabular_data.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
title: Tabular Data
---

# Introduction

5 changes: 5 additions & 0 deletions lectures/fa24/06_pytorch.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: Pytorch
---

# Intro
5 changes: 5 additions & 0 deletions lectures/fa24/07_tensorflow_keras.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: Tensorflow Keras
---

# Intro
5 changes: 5 additions & 0 deletions lectures/fa24/08_huggingface.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: Hugging Face Transformers and Models
---

# Intro
5 changes: 5 additions & 0 deletions lectures/fa24/09_huggingface_spaces.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: Hugging Face Spaces
---

# Intro
5 changes: 5 additions & 0 deletions lectures/fa24/10_llms.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: LLMs and Tools
---

# Intro
25 changes: 25 additions & 0 deletions lectures/fa24/README.md
Original file line number Diff line number Diff line change
@@ -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.
31 changes: 31 additions & 0 deletions lectures/fa24/_quarto.yml
Original file line number Diff line number Diff line change
@@ -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



Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 18 additions & 0 deletions lectures/fa24/command.sh
Original file line number Diff line number Diff line change
@@ -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
69 changes: 69 additions & 0 deletions lectures/fa24/index.qmd
Original file line number Diff line number Diff line change
@@ -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


1 change: 1 addition & 0 deletions lectures/fa24/styles.css
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/* css styles */
12 changes: 12 additions & 0 deletions lectures/fa24/vscode.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
title: "Lecture 03"
---

# Lecture Title

Blah blah.

## Next section

More blah blah.