---
# System prepended metadata

title: paMAE 操作文件

---

# paMAE 操作文件
## Outline
* 執行環境
* BIOS 虛擬化
* Docker 下載
* 建立 Docker 環境
* paMAE 程式目錄
* 參數定義
* 資料集位置
* 執行程式
## 執行環境

| 作業系統     | Windows 10     | 
| -------- | -------- | 
| CPU     | Intel i7-9700     | 
| GPU     | GeForce RTX 2080 SUPER     | 
| 記憶體     | 16 GB * 2 / DDR4 / 2666 MHz     | 
## BIOS 虛擬化
首先必須確認 BIOS 開啟虛擬化功能，各主機板不同，須上網查詢
在此提供為 Intel 主機板的設定方式
https://www.asus.com/tw/support/FAQ/1043786/

在 Windows作業系統下，BIOS虛擬化功能若有開啟請至工作管理員確定
打開工作管理員->效能-> CPU 模擬會顯示 : 已啟用(如下圖紅框部分)

![](https://i.imgur.com/qStYcJi.png)
## Docker 下載
1. 上列工作確認完成後，於下方連結下載 Docker desktop
https://drive.google.com/file/d/1k611NcwD2mlq-5YB7stdsWy-Nz6KXOmx/view?usp=sharing

2. 安裝皆選取默認選項
![](https://i.imgur.com/XHSvJUl.png)
![](https://i.imgur.com/TCCW2nK.png)

3. 下載完成後，顯示視窗如下，點選 Close
![](https://i.imgur.com/9xJ85iT.png)

4. 並於桌面找到 Docker Desktop 捷徑並點選後開啟
![](https://i.imgur.com/LysJ2Tc.png)

5. 開啟 docker desktop 依以下步驟安裝
![](https://i.imgur.com/53SGaPb.png)


6. 等待 Docker Desktop starting  
![](https://i.imgur.com/kYDiK8u.png)

7. 點選Skip tutorial
![](https://i.imgur.com/4jopHeu.png)

## 建立 Docker環境
1. 在程式目錄中確認有 Dockerfile 檔案
![](https://i.imgur.com/n3ollHx.png)
2. 在程式目錄中打開 Terminal
![](https://i.imgur.com/UNcFcIy.png)


3. 使用下列指令建立 Docker image
```shell=
 $ docker build . -t meadml/cuda10.1-cudnn7-devel-ubuntu18.04-python3.6_pamae
```
顯示FINISHED
![](https://i.imgur.com/boQ0ECZ.png)
4. 使用下列指令建立container
```shell=
$ docker run -t -i --name paMAE --gpus all -v C:\Users\MVCLAB\Desktop\NTUST\jet_project\paMAE_ubuntu\:/paMAE_ubuntu --shm-size  120G meadml/cuda10.1-cudnn7-devel-ubuntu18.04-python3.6_pamae /bin/bash
```
5. 完成後即進入Container
![](https://i.imgur.com/xNcLZkh.png)


6. 輸入以下指令便會看到程式目錄名稱 EdgeFinal
```shell=
$ ls
```
![](https://i.imgur.com/OGxzpAg.png)



7. 輸入以下指令進入程式目錄內
```shell=
$ cd paMAE_ubuntu
```
8. 即可輸入下列指令開始訓練
```shell=
$ python3 main.py
```
## paMAE 程式目錄
![](https://i.imgur.com/0Zcnjj0.png)
樹狀結構
![](https://i.imgur.com/D8qVdh5.png)
## 參數定義 
參數修改於 main.py
| 參數 | 設定數值 | 參數定義 |
| -------- | -------- | -------- |
|   g_lr|0.0001|learning rate(generator)|
| d_lr|0.0004 | learning rate(discriminator)|
|momentum |0.9 |動量，與梯度下降速度相關，與上次更新梯度同向，參數更新梯度越快 |
| batch_size|8 | Batch的數量|
|patience |1,000 |當模型連續訓練n次沒有更好，就進行一次學習率衰降 |
|num_cls| 2|分群數目 |
|percent_defect | 0.1| 瑕疵數量占比|
| dataset|'Jet' | 所使用的dataset|
| image_dim| [256,256,3]| Image size 及 維度|
|num_workers |10 | 並行的thread數|
| counter|'iter' |決定執行的方法Epoch或iteration |
|num_iterations | 10,000,000| Iterations數目|
|num_epochs | 36|Epochs數目 |
|mode |'train' |選擇模式’train’ 或‘test’ |
| use_gpu|True | 是否使用GPU|
|use_tensorboard |True |是否啟用tensorboard |
| data_path|"./dataset/JET_C+R_Classification/" |Data所在資料夾路徑 |
| checkpoint_path|‘./checkpoints' |輸出結果的路徑及路徑名稱 |
|model_save_path |'weights' | 儲存輸出參數的資料夾名稱|
| result_save_path|'results' |儲存輸出圖片的資料夾名稱 |
|log_dir |'logs' | 紀錄tensorboard的曲線圖|

## 資料集位置
"~/paMAE_ubuntu/dataset/
![](https://i.imgur.com/bHCyPRA.png)
## 執行程式
1. 打開Terminal，並執行以下指令
```shell=
$ docker start paMAE
```
2. 使用以下指令查看 CONTAINER ID
![](https://i.imgur.com/sTR42ob.png)
```shell=
$ docker ps -a
```
3. 進入 Container 
```shell=
$ docker exec -it 434fd0682dd0 bash
```
![](https://i.imgur.com/kW6kZYu.png)

4. 輸入以下指令便會看到程式目錄名稱 paMAE_ubuntu
```shell=
$ ls
```
![](https://i.imgur.com/Ja16Hqr.png)


5. 輸入以下指令進入程式目錄內
```shell=
$ cd paMAE_ubuntu
```
6. 即可輸入下列指令開始訓練
開始訓練，Terminal 會顯示如下字樣" Start Training, DeepNeteork! "
```shell=
$ python3 main.py 
```
![](https://i.imgur.com/KghkN3F.png)

7. 輸入下列指令開始測試
```shell=
$ python3 main.py --mode 'test'
```
8. 輸入以下指令 顯示測試結果
```shell=
$ python3 draw_chart.py 
```
