|
| 1 | +--- |
| 2 | +title: Transfer Learning |
| 3 | +type: training |
| 4 | +no-caldate: true |
| 5 | +provider: University of Florida |
| 6 | +hideprovider: true |
| 7 | +description: This workshop provides foundational concepts and practical applications of transfer learning |
| 8 | + |
| 9 | +tags: Artificial-Intelligence Machine-Learning |
| 10 | + |
| 11 | +registration: |
| 12 | + url: https://forms.office.com/g/A9Dc5YXPXD |
| 13 | + |
| 14 | +sessions: |
| 15 | + - session: |
| 16 | + time: 1:00 PM - 5:00 PM ET |
| 17 | + multiday: "Feb 24, 26" |
| 18 | + date: 2026-02-24 19:00:00 |
| 19 | + end_date: 2026-02-26 |
| 20 | + - session: |
| 21 | + time: 1:00 PM - 5:00 PM ET |
| 22 | + multiday: "April 22, 24" |
| 23 | + date: 2025-04-22 19:00:00 |
| 24 | + end_date: 2025-04-24 |
| 25 | + materials: |
| 26 | + - text: Day 1 Recording |
| 27 | + url: https://usdagcc.sharepoint.com/:v:/s/REE-ARS-SCINetOffice/EabbrNojUy1CtAIVOaxNL9YBEvDjSGF_JTb5qsQuyZ6C2Q?e=DRKbeE |
| 28 | + - text: Day 2 Recording |
| 29 | + url: https://usdagcc.sharepoint.com/:v:/s/REE-ARS-SCINetOffice/EXBMpt5cw4xJo-x3rolundQBimPFZvEgOaXgyS6-58uFrQ?e=Pdx23Q |
| 30 | + |
| 31 | +materials: |
| 32 | + - text: Workshop materials |
| 33 | + url: https://github.com/PracticumAI/transfer_learning |
| 34 | + |
| 35 | +materialsdesc: "Workshop materials available at the links below." |
| 36 | + |
| 37 | +subnav: |
| 38 | + - title: Tutorial setup instructions |
| 39 | + - title: Workshop Materials |
| 40 | + |
| 41 | +categories: [Practicum AI] |
| 42 | +layout: event |
| 43 | + |
| 44 | +parent: |
| 45 | + title: Practicum AI |
| 46 | + url: /events/practicum-ai/ |
| 47 | +--- |
| 48 | + |
| 49 | +This workshop provides the foundational concepts and practical applications of transfer learning, a powerful technique in deep learning that allows AI models to leverage pretrained knowledge to improve performance on new tasks. The sessions will cover different types of transfer learning techniques, such as feature extraction and fine-tuning. This includes hands-on experience in applying these techniques to computer vision and language models. <!--excerpt--> |
| 50 | + |
| 51 | +**Prerequisites:** |
| 52 | +* Active SCINet Account |
| 53 | +* Familiarity with accessing Open OnDemand on Atlas and launching a JupyterLab session (we will offer a pre-workshop help session for those who need assistance with this) |
| 54 | +* Basic Python programming skills (how to read Python syntax, call functions, use arguments, etc.). |
| 55 | +* Basic understanding of deep learning principles (understanding the basic structure of a deep neural network, what parameters and hyperparameters are, how to read model evaluation metrics, etc.). |
| 56 | + |
| 57 | +**Objectives – By the end of this workshop, participants will be able to:** |
| 58 | +* Define transfer learning and explain its advantages in deep learning. |
| 59 | +* Differentiate between various transfer learning techniques, including domain adaptation, feature extraction, fine-tuning, and LoRA. |
| 60 | +* Implement transfer learning in computer vision and LLMs using Python and Jupyter Notebooks. |
| 61 | +* Evaluate the effectiveness of transfer learning models compared to other training regimes such as pre-training on a limited dataset. |
| 62 | +* Troubleshoot common challenges in transfer learning, such as catastrophic forgetting and negative transfer. |
| 63 | + |
| 64 | + |
| 65 | +## Tutorial setup instructions |
| 66 | + |
| 67 | +Steps to prepare for the tutorial: |
| 68 | + |
| 69 | +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). |
| 70 | +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. |
| 71 | +1. **Request resources on a compute node** by running the following command: |
| 72 | + |
| 73 | + {:.copy-code} |
| 74 | + ```bash |
| 75 | +srun -A scinet_workshop1 -t 00:30:00 -n 1 --mem 8G --pty bash |
| 76 | +``` |
| 77 | + {% include reservation-alert project="scinet_workshop1" %} |
| 78 | + |
| 79 | +1. **Create 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. |
| 80 | + |
| 81 | + {:.copy-code} |
| 82 | + ```bash |
| 83 | +mkdir -p /90daydata/shared/$USER/transfer_learning |
| 84 | +cd /90daydata/shared/$USER/transfer_learning |
| 85 | +cp -r /project/scinet_workshop1/transfer_learning/*.ipynb . |
| 86 | +cp -r /project/scinet_workshop1/transfer_learning/*.py . |
| 87 | +cp -r /project/scinet_workshop1/transfer_learning/images . |
| 88 | +``` |
| 89 | + |
| 90 | +1. **Setup the kernel for JupyterLab.** You will create a kernel called *tl_env* to access from JupyterLab Server. Run the following commands to activate the workshop's virtual environment and create a new kernelspec from it: |
| 91 | + |
| 92 | + {:.copy-code} |
| 93 | + ```bash |
| 94 | +source /project/scinet_workshop1/transfer_learning/tl_env/bin/activate |
| 95 | +ipython kernel install --name "tl_env" --user |
| 96 | +``` |
| 97 | + |
| 98 | +1. **Stop the interactive job** on the compute node by running the command: |
| 99 | + |
| 100 | + {:.copy-code} |
| 101 | + ```bash |
| 102 | +exit |
| 103 | +``` |
| 104 | + |
| 105 | +1. **Launch a JupyterLab Server session.** Under the *Interactive Apps* menu, select *JupyterLab Server*. |
| 106 | + * Specify the following input values on the page: |
| 107 | + * Account: scinet_workshop1 |
| 108 | + * Partition: gpu-a100-mig7 |
| 109 | + * QOS: normal 14-00:00:00 |
| 110 | + * Number of hours: 4 |
| 111 | + * Number of nodes: 1 |
| 112 | + * Number of tasks: 4 |
| 113 | + * Additional Slurm Parameters: |
| 114 | + |
| 115 | + {: .copy-code } |
| 116 | + ``` |
| 117 | +--reservation=workshop --gres=gpu:1 --mem=32G --ntasks-per-node=4 |
| 118 | +``` |
| 119 | + {% include reservation-alert reservation="workshop" %} |
| 120 | +
|
| 121 | + * Working Directory: |
| 122 | +
|
| 123 | + {: .copy-code } |
| 124 | + ``` |
| 125 | +/90daydata/shared/${USER}/transfer_learning |
| 126 | +``` |
| 127 | + |
| 128 | + * 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*. |
0 commit comments