andreped commited on
Commit
a9b79de
·
1 Parent(s): 1e99e66

Added more steps to the workshop instructions

Browse files
Files changed (1) hide show
  1. README.md +46 -21
README.md CHANGED
@@ -4,7 +4,7 @@ colorFrom: indigo
4
  colorTo: indigo
5
  sdk: gradio
6
  app_port: 7860
7
- emoji: 🫁
8
  pinned: false
9
  license: mit
10
  app_file: app.py
@@ -18,22 +18,24 @@ code INF-1600 at UiT: The Arctic University of Norway.
18
 
19
  The workshop was a collaboration with UiT and Sopra Steria.
20
 
21
- In this workshop, you will get a prior on:
22
- * Cloning and pushing code from/to GitHub
23
- * Load and run a pretrained image classification model from [Transformers]().
24
- * Develop a simple web application to enable users to test the model using [Gradio]().
25
- * Making a web app accessible on the local network
26
- * Making a public web app anyone can access using [Hugging Face Spaces]().
 
 
27
 
28
  ## Getting Started
29
 
30
- 1. Make your first GitHub account by going [here](https://github.com/) and signing up.
31
 
32
- 2. After logging in to GitHub, go to the code repository [here](https://github.com/andreped/INF1600-ai-workshop).
33
 
34
- 3. Make a fork of the repository and make your own copy of the code by making a fork.
35
 
36
- 4. Now you are ready to clone your own fork to your own laptop by opening a terminal and running (remember to replace `<username>` with your own GitHub user name):
37
  ```
38
  git clone git+https://github.com/<username>/INF1600-ai-workshop.git
39
  ```
@@ -44,27 +46,29 @@ virtualenv -ppython3 venv --clear
44
  source venv/bin/activate
45
  ```
46
 
47
- 6. **TASK:** Analyse the `app.py` script which python packages are required, and
48
- add the missing dependencies to the `requirements.txt` file.
49
 
50
- 7. Install dependencies to the virtual environment by:
51
  ```
52
  pip install -r requirements.txt
53
  ```
54
 
55
- 8. To test if everything is working, try to run the `app.py` script to launch the web server.
 
 
 
56
 
57
- 9. You can then access the web app by going to [http://127.0.0.1:7860](http://127.0.0.1:7860) in your favourite web browser.
58
 
59
- 10. From the prompted website, try clicking one of the image examples and clicking the orange `Submit` button. The model results should show on the right after a few seconds.
60
 
61
  10. Try accessing this address from your mobile phone.
62
 
63
  11. This should not work, to access the app from a different device, you need to serve it.
64
  Try setting `share=True` in the `interface.launch()` call in the `app.py` script.
65
- When running `app.py` now, you should be given a different web address. Try using that one instead.
66
 
67
- But of course, hosting the app yourself from your laptop is not ideal. What if there was some alternative way to do this **completely for free**...
68
 
69
  12. Click [here](https://huggingface.co/join) to go to the Hugging Face sign up page and make an account.
70
 
@@ -72,9 +76,30 @@ But of course, hosting the app yourself from your laptop is not ideal. What if t
72
 
73
  14. In the `Create a new Space` tab, choose a `Space name` for the app, choose a License (preferably `MIT`), among the `Space SDKs` choose `Gradio`, and finally, click `Create Space`.
74
 
75
- 15. At the bottom of the page, click the `Create` hyperlink at the `(Hunt: Create the app.py file (...))`
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
76
 
77
- 16. Name the file `app.py`, copy-paste the `app.py` code
78
 
79
  ## Workshop Organizers
80
 
 
4
  colorTo: indigo
5
  sdk: gradio
6
  app_port: 7860
7
+ emoji: 🔥
8
  pinned: false
9
  license: mit
10
  app_file: app.py
 
18
 
19
  The workshop was a collaboration with UiT and Sopra Steria.
20
 
21
+ In this workshop, you will get hands on experience with:
22
+ * Cloning and pushing code from/to [GitHub](https://github.com).
23
+ * Loading and running a pretrained image classification model from [Transformers](https://pypi.org/project/transformers/).
24
+ * Developing a simple web application to enable users to test a pretrained model using [Gradio](https://pypi.org/project/gradio/).
25
+ * Making a public web app anyone can access using [Hugging Face Spaces](https://huggingface.co/spaces).
26
+ * Automizing tasks using [GitHub Actions](https://github.com/features/actions).
27
+
28
+ And of course, all of this completely **_FOR FREE_**!
29
 
30
  ## Getting Started
31
 
32
+ 1. Make your first GitHub account by going [here](https://github.com/) and signing up (see top right of website).
33
 
34
+ 2. After logging in to your account on GitHub, go to the code repository [here](https://github.com/andreped/INF1600-ai-workshop).
35
 
36
+ 3. Make a copy of the repository by making a fork (click the `fork` button, choose your user as `owner` and click `create fork`).
37
 
38
+ 4. Now you are ready to clone your own fork to a laptop by opening a terminal and running (remember to replace `<username>` with your own GitHub user name):
39
  ```
40
  git clone git+https://github.com/<username>/INF1600-ai-workshop.git
41
  ```
 
46
  source venv/bin/activate
47
  ```
48
 
49
+ On Windows, to activate the virtual environment, run `./venv/Scripts/activate` instead of the `source` command.
 
50
 
51
+ 6. Install dependencies to the virtual environment by:
52
  ```
53
  pip install -r requirements.txt
54
  ```
55
 
56
+ 7. To test if everything is working, try to run the following command to launch the web server:
57
+ ```
58
+ python3 app.py
59
+ ```
60
 
61
+ 8. You can then access the web app by going to [http://127.0.0.1:7860](http://127.0.0.1:7860) in your favourite web browser.
62
 
63
+ 9. From the prompted website, try clicking one of the image examples and clicking the orange `Submit` button. The model results should show on the right after a few seconds.
64
 
65
  10. Try accessing this address from your mobile phone.
66
 
67
  11. This should not work, to access the app from a different device, you need to serve it.
68
  Try setting `share=True` in the `interface.launch()` call in the `app.py` script.
69
+ When running `app.py` now, you should be given a different web address. Try using that one instead on your mobile device.
70
 
71
+ But of course, hosting the app yourself from your laptop is not ideal. What if there was some alternative way to do this without using your own device **completely for free**...
72
 
73
  12. Click [here](https://huggingface.co/join) to go to the Hugging Face sign up page and make an account.
74
 
 
76
 
77
  14. In the `Create a new Space` tab, choose a `Space name` for the app, choose a License (preferably `MIT`), among the `Space SDKs` choose `Gradio`, and finally, click `Create Space`.
78
 
79
+ We are now given the option to manually add the relevant files, but that is boring... Let's instead try to setup a robot that does that for us!
80
+
81
+ 15. From the Hugging Face website [here](https://huggingface.co), click on your user badge (top right), and from the dropdown clik `Settings`.
82
+ On the left hand side of `Settings` site, click `Access Tokens`, and then click `New Token`.
83
+ Set the name `HF_TOKEN`, set permissions to `write`, and click `Generate a token`.
84
+
85
+ 16. On your laptop, open the file located at `.github/workflows/deploy.yml`, and at the last line, replace the phrase `andreped/ViT-ImageClassifier` with your own
86
+ Hugging Face user and space name.
87
+
88
+ 17. Setup communication with GitHub and Hugging Face by running the follow in the terminal (replace `andreped/ViT-ImageClassifier` like in step 16):
89
+ ```
90
+ git remote add space https://huggingface.co/spaces/andreped/ViT-ImageClassifier
91
+ ```
92
+
93
+ 18. Then push the code to GitHub by running:
94
+ ```
95
+ git push --force space main
96
+ ```
97
+
98
+ 19. Now go to your GitHub fork (e.g., `https://github.com/<username>/INF1600-ai-workshop/`) and verify that the code is there.
99
+
100
+ 20. Then click the `Actions` tab to see running workflows. Verify that the workflow ran successfully by clicking the current run and checking workflow status.
101
 
102
+ 21. Finally, we can then head over to our Hugging Face space and check if everything is working. My own app is hosted at [https://huggingface.co/spaces/andreped/ViT-ImageClassifier](https://huggingface.co/spaces/andreped/ViT-ImageClassifier)
103
 
104
  ## Workshop Organizers
105