---
# System prepended metadata

title: DLCV_ex1 教育雲使用教學
tags: [教育雲]

---

---
tags: 教育雲
---
# DLCV_ex1 教育雲使用教學

##  使用指南
* 連結網址 - https://portal.apps.edu-cloud.nchc.org.tw/
在首次使用國研院國網中心人工智慧教學GPU計算資源服務時，只需點選網頁右上角【登入/註冊】按鈕，如下圖所示。
![](https://i.imgur.com/4Ky9ne2.png)



### 1.1 註冊/登入

#### 1.1.1 如何註冊/登入學生身份?
##### Step1. 填寫基本資料
因為使用Google認證機制，故於此註冊時，註冊帳號需與所提供至表單上的Gmail要一致，姓名及密碼可為任意值(不要空值即可)

![](https://i.imgur.com/YO2lyL3.png)

##### Step2. 完成註冊
![](https://i.imgur.com/q6okR7A.png)

##### Step3. 進行登入
![](https://i.imgur.com/4Ky9ne2.png)

若沒有先進行以Gmail註冊，將會出現以下畫面。

![](https://i.imgur.com/WHS3d7E.png)

##### Step4. 透過Google認證進行登入

![](https://i.imgur.com/cSJ0Gy9.png)

##### Step5. 進行登入 - 確認狀態為『學生』，並可以看到公有教室之課程列表
![](https://i.imgur.com/ianrNs7.png)


### 2.1 教室列表
* 將列出學生可以上課之教室
![](https://i.imgur.com/eLYVxKy.png)

#### 2.1.1 如何查看該教室開課資訊?
##### Step1.於課程名稱找到欲查看之課程，直接點選該課程超連結
![](https://i.imgur.com/zqiPFug.png)

##### Step2. 即可以看到該課程詳細資訊
![](https://i.imgur.com/cHxb1Mf.png)

#### 2.1.2 如何選取該教室課程開始上課?
##### Step1. 針對欲上之課程，操作點選『開始』
![](https://i.imgur.com/ZTYTI3Y.png)

##### Step2. 點選『確認』
![](https://i.imgur.com/GohZrYt.png)

##### Step3. 已發出啟動容器訊號
![](https://i.imgur.com/yJBJvHw.png)

### 2.2 工作清單

#### 2.2.1 如何連結容器服務?
##### Step1. 使用容器，點選『jupyter』
![](https://i.imgur.com/Z3adS1w.png)

##### Step2. 自動轉接分頁，使用jupyter進行課程
![](https://i.imgur.com/IbkvmHz.png)

#### 2.2.2 如何刪除容器?
##### Step1. 點選『X』按鈕
![](https://i.imgur.com/SukFgoJ.png)

##### Step2. 點選『確認』刪除按鈕
![](https://i.imgur.com/KVWLgwi.png)

##### Step3. 刪除成功
![](https://i.imgur.com/nKTm1OV.png)

### 3.1 作業使用須知

#### 3.1.1 容器的使用時間及人數上限
由於教育雲資源分配有限，容器的使用時間安排(當天0:00到23:59)與人數上限如下:

**10/17(四) - 11/03(日)** : 星期一五六每天12人
<!--**11/04(一)之後** : 星期日二三每天6人-->
請盡量提早完成作業以免超過使用時間與人數上限!
==訓練過程中若超過時間會中斷請多加注意!==
==其中日期連續可持續使用不會中斷==

#### 3.1.2 容器開啟後的處理
~~首次開啟容器時會如同下圖所示，這些都是路徑下的預設檔案無須理會~~(結果學生端開起來好像是空的)
![image](https://hackmd.io/_uploads/Hk6ufJpJJg.png)
[作業1檔案](https://drive.google.com/drive/folders/1wor6CgDuFEUOZMFydjy49ERb09n7xr2K)
需要先從上面雲端超連結下載一些檔案對環境做設定:
1. fix_nvidia.sh (每次開啟**新**容器都要使用一次)
2. get_dataset.sh (本次作業使用一次就好)

以上檔案請透過圖中Upload直接從本機端丟在root folder上，並透過terminal(右邊New點開)直接在/workspace路徑下執行.sh檔
![image](https://hackmd.io/_uploads/ryQLU1Ty1l.png)
![image](https://hackmd.io/_uploads/SJX8cyTJJe.png)


由於環境丟到課程平台上時容器內的CUDA驅動和與主機不匹配導致軟連結丟失，因此需要手動調整否則抓不到GPU資源。
以下為fix_nvidia.sh腳本使用步驟:
1.`chmod +x fix_nvidia.sh` : 為fix_nvidia.sh加權限
2.`./fix_nvidia.sh` : 執行腳本
![image](https://hackmd.io/_uploads/SJMqsbny1x.png)
未修正時的結果:
![image](https://hackmd.io/_uploads/S1bC9Znkyl.png)
執行腳本後:
成功抓取GPU資源使用情況
![image](https://hackmd.io/_uploads/BJ9w3Zhykg.png)

另外資料集是在容器外所設定，因此需要將容器外的資料集copy一份進來目前的/workspace。
以下為get_dataset.sh腳本的使用步驟:
1.`chmod +x get_dataset.sh`: 為get_dataset.sh加權限
2.`./get_dataset.sh`: 執行腳本

此時在/workspace路徑下就有出現`VOC2007`的資料夾(圖中最下面打勾的部分)，也就是dataset
![image](https://hackmd.io/_uploads/H1qhBJT1kx.png)


#### 3.1.3 註冊資料集處理
<!--由於資料集的設定在容器外，因此資料集的路徑也在目錄外
資料集的路徑為: `/tmp/dataset-cityscapes/Cityscapes_dataset/VOC2007/`-->

資料集已按照Pascal Voc format可直接在detectron2的框架下使用，唯獨資料集內的`VOC2007/JPEGImages`實際為.png的圖片，因此在註冊資料集時所使用的detectron2框架下的`detectron2/detectron2/data/datasets`中的`pascal_voc.py`時將function內部讀取圖片格式的副檔名改為.png
![image](https://hackmd.io/_uploads/Bys1Gz3Jke.png)

#### 3.1.4 環境須知
由於是在detectron2的框架下訓練模型，還請在訓練模型時使用已安裝好的環境==det2==執行訓練
`conda env list` : 會看見除base外所準備的det2環境
![image](https://hackmd.io/_uploads/HkWKd16J1e.png)
`conda activate det2` : 進入det2環境就可以執行訓練
![image](https://hackmd.io/_uploads/Sy64t1aykg.png)

另外容器內並沒有detectron2的資料夾，請自行以以下指令clone下來
==請在det2的環境下執行以下指令==(本次作業使用一次就好)
```
git clone https://github.com/facebookresearch/detectron2.git
python -m pip install -e detectron2
```
==如果python -m pip install -e detectron2有問題，在det2環境下打以下指令==
```
pip install torch==1.10.0+cu113 torchvision==0.11.1+cu113 -f https://download.pytorch.org/whl/torch_stable.html
```
#### 3.1.5 作業建議與小提示
因為root folder(`/workspace`)下東西有點雜亂，建議可以新建資料夾取名為`DLCV_ex1`之類的，將source code放在裡面才不會越弄越亂!
![image](https://hackmd.io/_uploads/SJqOs1akyg.png)

訓練所使用到的code有些已經在detectron2的框架下部分寫好了，但仍須修改!
`detectron2/tools/train_net.py`可用來訓練模型
`detectron2/configs/Base-RCNN-FPN.yaml`與
`detectron2/configs/Cityscapes/mask_rcnn_R_50_FPN.yaml`可作為Resnet50的backbone

#### 3.1.6 助教聯絡資訊
mail: ==qq14525457@alum.ccu.edu.tw==
若有任何使用上的問題或是教學不夠詳細的地方可以透過mail聯繫，我有看見會盡早回覆!