Skip to content

Commit

Permalink
Merge pull request #775 from HeatherSavoy-USDA/computer_vision
Browse files Browse the repository at this point in the history
Computer vision workshop instructions
  • Loading branch information
BrianStucky-USDA authored Nov 21, 2024
2 parents f68eaf2 + 09354a0 commit e7c3628
Show file tree
Hide file tree
Showing 2 changed files with 135 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,71 @@ prerequisites:
In this workshop, participants will learn the key concepts and techniques needed to use modern, deep learning-based computer vision methods for object detection and semantic segmentation. Learners will practice training and evaluating state-of-the-art computer vision models on custom image datasets.

This workshop is intended as a continuation of “Computer vision I: introduction and image classification”, but participants do not need to take the earlier workshop if they already have a basic knowledge of machine learning and computer vision concepts.<!--excerpt-->


## Tutorial setup instruction

Steps to prepare for the tutorial:

1. **Login to Atlas Open OnDemand** at [https://atlas-ood.hpc.msstate.edu/](https://atlas-ood.hpc.msstate.edu/). For more information on login procedures for web-based SCINet access, see the [SCINet access user guide]({{site.baseurl}}/guides/access/web-based-login).

1. **Open a command-line session** by clicking on "Clusters" -> "Atlas Shell Access" on the top menu. This will open a new tab with a command-line session on Atlas's login node.

1. **Request resources on a compute node** by running the following command:

{:.copy-code}
```bash
srun --reservation=forum -A scinet_workshop1 -t 00:30:00 -n 1 --mem 8G --pty bash
```

1. **Create and/or update your workshop working directory** and copy the tutorial materials into it by running the following commands. Note: you do not have to edit the commands with your username as it will be determined by the `$USER` variable.

{:.copy-code}
```bash
mkdir -p /90daydata/shared/$USER/computer_vision2
cd /90daydata/shared/$USER/computer_vision2
cp -r /project/ai_forum/computer_vision2/computer_vision_2.ipynb .
cp -r /project/ai_forum/computer_vision2/*.py .
```

1. **Setup the kernel for JupyterLab.** You will create a kernel called *computer_vision_2_env* to access from JupyterLab Server. Run the following commands to activate the workshop's virtual environment and create a new kernelspec from it:
{:.copy-code}
```bash
source /project/ai_forum/computer_vision2/computer_vision_2_env/bin/activate
ipython kernel install --name "computer_vision_2_env" --user
```
1. **Stop the interactive job** on the compute node by running the command:
{:.copy-code}
```bash
exit
```
1. **Launch a JupyterLab Server session.** Under the *Interactive Apps* menu, select *JupyterLab Server*. Specify the following input values on the page:
* Account: scinet_workshop1
* Partition: gpu-a100-mig7
* QOS: normal 14-00:00:00
* Number of hours: 4
* Number of nodes: 1
* Number of tasks: 2
* Additional Slurm Parameters:
{: .copy-code }
```
--reservation=forum-gpu --gres=gpu:1 --mem=32G --ntasks-per-node=2
```
* Working Directory:
{: .copy-code }
```
/90daydata/shared/${USER}/computer_vision2
```
Click *Launch*. The screen will update to the *Interactive Sessions* page. When your Jupyter session is ready, the top card will update from *Queued* to *Running* and a *Connect to JupyterLab Server* button will appear. Click *Connect to JupyterLab Server*.
1. **Open the `computer_vision_2.ipynb` notebook.**
1. **Select the `computer_vision_2_env` kernel** for the notebook.
67 changes: 67 additions & 0 deletions sn_collections/_workshops/2024-ai-user-forum/21-computer-vision.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,70 @@ prerequisites:
---

This workshop will teach participants the concepts and tools they need to begin applying modern, deep learning-based computer vision methods to their own scientific research. This will be an interactive, hands-on workshop that will offer plenty of opportunities for practice and experiential learning. By the end of the session, participants will have trained and evaluated a state-of-the-art image classification model on a custom image dataset.<!--excerpt-->

## Tutorial setup instruction

Steps to prepare for the tutorial:

1. **Login to Atlas Open OnDemand** at [https://atlas-ood.hpc.msstate.edu/](https://atlas-ood.hpc.msstate.edu/). For more information on login procedures for web-based SCINet access, see the [SCINet access user guide]({{site.baseurl}}/guides/access/web-based-login).

1. **Open a command-line session** by clicking on "Clusters" -> "Atlas Shell Access" on the top menu. This will open a new tab with a command-line session on Atlas's login node.

1. **Request resources on a compute node** by running the following command:

{:.copy-code}
```bash
srun --reservation=forum -A scinet_workshop1 -t 00:30:00 -n 1 --mem 8G --pty bash
```

1. **Create and/or update your workshop working directory** and copy the tutorial materials into it by running the following commands. Note: you do not have to edit the commands with your username as it will be determined by the `$USER` variable.

{:.copy-code}
```bash
mkdir -p /90daydata/shared/$USER/computer_vision1
cd /90daydata/shared/$USER/computer_vision1
cp -r /project/ai_forum/computer_vision1/computer_vision_1.ipynb .
cp -r /project/ai_forum/computer_vision1/*.py .
```

1. **Setup the kernel for JupyterLab.** You will create a kernel called *computer_vision_1_env* to access from JupyterLab Server. Run the following commands to activate the workshop's virtual environment and create a new kernelspec from it:
{:.copy-code}
```bash
source /project/ai_forum/computer_vision1/computer_vision_1_env/bin/activate
ipython kernel install --name "computer_vision_1_env" --user
```
1. **Stop the interactive job** on the compute node by running the command:
{:.copy-code}
```bash
exit
```
1. **Launch a JupyterLab Server session.** Under the *Interactive Apps* menu, select *JupyterLab Server*. Specify the following input values on the page:
* Account: scinet_workshop1
* Partition: gpu-a100-mig7
* QOS: normal 14-00:00:00
* Number of hours: 4
* Number of nodes: 1
* Number of tasks: 2
* Additional Slurm Parameters:
{: .copy-code }
```
--reservation=forum-gpu --gres=gpu:1 --mem=32G --ntasks-per-node=2
```
* Working Directory:
{: .copy-code }
```
/90daydata/shared/${USER}/computer_vision1
```
Click *Launch*. The screen will update to the *Interactive Sessions* page. When your Jupyter session is ready, the top card will update from *Queued* to *Running* and a *Connect to JupyterLab Server* button will appear. Click *Connect to JupyterLab Server*.
1. **Open the `computer_vision_1.ipynb` notebook.**
1. **Select the `computer_vision_1_env` kernel** for the notebook.

0 comments on commit e7c3628

Please sign in to comment.