> For the complete documentation index, see [llms.txt](https://kmds-1.gitbook.io/k-mds/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kmds-1.gitbook.io/k-mds/undefined/undefined-5/ai/undefined.md).

# 다공성 물질 물성치 예측

## 1.Data Preparation

1\) 데이터 전처리

<figure><img src="/files/o14tg1xqqIsfYzZ4jh2U" alt=""><figcaption><p>데이터 준비 화면</p></figcaption></figure>

① K-MDS 메인 화면의 메뉴에서 분석 > AI 특화 분석 화면으로 이동하여 다공성 소재 물성치 예측 \
&#x20;   (MOFTransformer)에 있는 분석실행 버튼을 클릭하고, Data Preparation 클릭

② 내 PC  데이터 클릭:  내 PC에 있는 데이터를 업로드하여 분석

③ 내 PC에 있는 데이터 폴더 선택\
&#x20;    <mark style="color:red;">- 데이터셋은 반드시 CIF 파일들과 CIF 파일명 및 이들의 특성치로 구성된 JSON 파일이 있어야 함</mark>

④ 마이 드라이브 클릭: 마이  드라이브에 있는 데이터를 업로드하여 분석할때 클릭\
&#x20;   \- 마이 드라이브에 데이터들을 미리 업로드해야 함.

⑤  마이 드라이브에 있는데이터 폴더 선택\
&#x20;     <mark style="color:red;">- 데이터셋은 반드시  CIF 파일들과 CIF 파일명 및 이들의 특성치로 구성된 JSON 파일이 있어야 함</mark>

⑥ 샘플 데이터셋 클릭\
&#x20;    \- 내장된 샘플 데이터셋으로 분석할때 클릭

⑦ 파일 다운로드 클릭: 샘플 데이터셋으로 20개의 CIF 파일과 각 CIF 파일의 Bandgap Energy 값을  가지는 \
&#x20;    1개의 JSON 파일로 구성되어 있으며,  다운로드하고  압축을 풀어서 분석에 사용

⑧ 학습용 데이터셋 클릭 및 분할 비율 선택: 값은 반드시 양수가 되어야 하고 합계는 1이 되어야 함.

⑨ 분할하지 않음 (추론용) 클릭: 추론할 경우에 선택하며, 추론용 데이터는 데이터 전체를 테스트셋으로 사용.

⑩ 실행 버튼클릭: 데이터 분할 결과를 저장할 폴더를 생성하고, 분할을 진행하고 결과 저장.

2\) 내 PC 데이터 선택: 위 1)항의 ③ 클릭하면 나타남

<figure><img src="/files/rmQKrBMY93uHMh9BZM8r" alt=""><figcaption><p>내 PC 데이터 선택</p></figcaption></figure>

① 대용량 업로드 팝업창에서 폴더 추가 클릭:  내 PC의 폴더를 선택할 수 있는 윈도우 생성

② 윈도우에서 데이터가 있는 폴더 선택

③ CIF 및 JSON 파일이 있는 폴더 선택

④ 폴더 선택 클릭

⑤ 파일 업로드 클릭\
&#x20;    \- 선택한 폴더에 있는 CIF 파일들과 JSON 파일이 업로드\
&#x20;    \- 결과는 테이블로 표출되며 데이터 분할 전 상태를 확인할 수 있음.

3\) 마이 드라이브 데이터 선택: 위 1)항의 ⑤ 클릭하면 표출

<figure><img src="/files/gCIMAXgOwNwDJh9kIoSa" alt=""><figcaption><p>마이 드라이브 데이터 선택</p></figcaption></figure>

① CIF 및 JSON 파일이 있는 폴더 선택

② 선택 버튼클릭: 선택한 폴더에 있는 CIF 파일들과 JSON 파일이 업로드 됨\
&#x20;    \- 결과는 테이블로 표출되며 데이터 분할 전 상태를 확인할 수 있음.

4\) 데이터 분할 실행 및 결과 저장: 위 1)항의 ⑧ 실행 버튼을 클릭하면 표출

<figure><img src="/files/0vK5iAvAyKv3DDcXYWnP" alt=""><figcaption><p>데이터 분할 결과를 저장할 폴더 선택 및 분할 실행</p></figcaption></figure>

① 데이터 분할 결과를  저장할  폴더를  선택\
&#x20;    \- 특정 폴더에 저장할 경우: + 버튼을 클릭하여 폴더를 생성하여 이름을 부여하고 그 폴더에 저장

② 선택 버튼 클릭:  데이터 분할이 진행되며, 장시간 소요됨\
&#x20;    \- <mark style="color:red;">CIF 파일 20개 기준으로 3 \~ 5분  소요됨</mark>\
&#x20;    \- 분할 결과는 output > dataset 폴더가 생성되고 그 하위 폴더에 저장   \
&#x20;    \- 분할 결과로 Train, Valid, Test, Total 폴더가 생성되고 각 폴더의 이름을 가진 JSON 파일이 생성\
&#x20;    \- CIF 파일에서 graphdata, grid, griddata16 파일이 생성\
&#x20;    \- 테이블을 통해 데이터 데이터 분할 전후를 확인할 수 있음.

## 2.Train

1\) 학습

<figure><img src="/files/wJoulAYW6UbMw1H0hLCO" alt=""><figcaption><p>학습 조건 설정 화면</p></figcaption></figure>

① Train 클릭: 분할된 데이터를 이용하여 학습 진행

② 하이퍼파라미터 입력

③ 사전 학습 모델 선택: PMTransformer 또는 MOFTransformer 중에서 선택

④ 분할된 dataset 폴더 선택: 위의 1항에서 진행한 분할된 dataset 폴더 선택\
&#x20;    \- <mark style="color:red;">데이터 분할이 끝나면 분할된 json 데이터셋 폴더가 자동으로 선택됨: 학습 버튼을 클릭하면 됨</mark>\
&#x20;    \- 분할된 JSON 파일이  있는 폴더를 직접선택하여 입력할 수도 있음

⑤ 학습 버튼클릭: 학습 결과를 저장할 폴더 생성 및 학습을 진행하고 결과 저장\
&#x20;    \- 데이터 분할이 끝나면 데이터셋 폴더가 자동으로 입력되기 때문에 학습 버튼을 클릭하면 됨

2\) 학습 실행 및 결과 저장: 위 1)항의 ⑤ 실행 버튼을 클릭하면 표출

<figure><img src="/files/OUJalXeYffuRmCVLVCOA" alt=""><figcaption><p>학습 결과를 저장할 폴더 선택 및 학습 실행</p></figcaption></figure>

① 학습 버튼을 클릭하면 그 결과를 저장할 폴더를 선택하는 창이 나타남

② 학습 결과를 저장할  폴더를  선택\
&#x20;    \-  특정 폴더에 저장할 경우: + 버튼을 클릭하여 폴더를 생성하여 이름을 부여하고 그 폴더에 저장

③ 선택 버튼 클릭하면 학습  진행: 장시간 소요되므로  주의\
&#x20;    \-  <mark style="color:red;">CIF 파일 20개 기준으로 3 \~ 5분  소요됨</mark> \
&#x20;    \- 학습  결과는 output > logs > pretrained\_mof\_seed0\_from\_pmtransformer > version\_0 >\
&#x20;       checkpoints 폴더가 생성되고 여기에저장\
&#x20;    \- best.ckpt 및 last.ckpt 파일 생성\
&#x20;    \- 학습 결과는 테이블 형태로 화면에 표출되고, JSON 파일로 저장됨

## 3.Test

1\) 테스트

<figure><img src="/files/qxPXz1t68EpL37a0MG1v" alt=""><figcaption><p>테스트 조건 설정 화면</p></figcaption></figure>

① Test 클릭: 분할된 JSON 파일을 이용하여 학습된 ckekpoint 파일의 성능을 확인

② 학습된 모델 선택: 학습된 결과가 저장된 logs 하위폴더에서 best.ckpt 또는 last.ckpt 파일 선택\
&#x20;    \- <mark style="color:red;">학습이 끝나면 학습  모델로 best.ckpt가 자동으로 선택됨</mark>

③ 분할된 json 데이터셋 폴더: test.json 파일이 있는 dataset 폴더 선택\
&#x20;    \- <mark style="color:red;">학습이 끝나면 분할된 json 데이터셋 폴더가 자동으로 선택됨: 실행 버튼을 클릭하면 됨</mark>     &#x20;

④ 실행 버튼클릭:  테스트 결과를 저장할 폴더 생성 및 테스트를 진행하고 결과 저장

2\) 테스트 실행 및 결과 저장: 위 1)항의 ④ 실행 번튼을 클릭하면 표출

<figure><img src="/files/iKQibOHlq2RywD0cHWD3" alt=""><figcaption><p>테스트 결과를 저장할 폴더 선택 및 테스트 실행</p></figcaption></figure>

① 실행 버튼을 클릭하면 테스트 결과를 저장할 폴더를 선택하는창이 나타남

② 테스트 결과를 저장할  폴더  선택\
&#x20;    \- 특정 폴더에 저장할 경우: + 버튼을 클릭하여 폴더를 생성하여 이름을 부여하고 그 폴더에 저장

③ 선택 버튼 클릭하면 테스트 진행 \
&#x20;    \- 테스트 결과는 테이블 형태로 화면에 표출되고, JSON 파일로 저장됨

## 4.Predict

1\) 예측

<figure><img src="/files/4bYvkbh6S4JmsHc22pOG" alt=""><figcaption><p>예측 조건 설정 화면</p></figcaption></figure>

① Predict 클릭: 학습 모델과 분할된 JSON 파일을 이용하여 다공성 소재 물성치 예측

② 학습된 모델 선택: 학습된 결과가 저장된 logs 폴더에서 best.ckpt 또는 last.ckpt 파일 선택\
&#x20;    \- <mark style="color:red;">학습이 끝나면 학습모델로 best.ckpt가 자동으로 선택됨</mark>

③ 분할된 데이터가 저장된 폴더에서 JSON 파일 선택\
&#x20;    \- Train, Valid, Test json 파일중 1개를 선택해서 예측 가능\
&#x20;       → <mark style="color:red;">학습이 끝나면 test.json 파일이 자동으로 선택됨: 실행 버튼을 클리하면 됨</mark>\
&#x20;       → 1개의 파일을 선택하면, 예측 결과  테이블과 예측 결과 그래프가 출력됨\
&#x20;    \- Train, Valid, Test JSON 파일 모두를 선택해서 예측 가능\
&#x20;      → Train, Valid, Test 각각의예측 결과 그래프가 출력됨

④ 실행 버튼 클릭: 예측 결과를 저장할 폴더 생성 및 예측을 진행하고 결과 저장\
&#x20;    \- Train,  Valid, Test JSON 파일 모두를 선택하면 3개의 그래프가 화면에 표출되고 csv 파일로 저장됨\
&#x20;    \- 1개 파일을 선택하면 테이블과 그래프가 화면에 표출되고, 테이블은 csv 파일로 저장

2\) 예측할 파일 선택

<figure><img src="/files/nMMLAo4WhEHz0fRMg4Xx" alt=""><figcaption><p>예측할 json 파일 선택</p></figcaption></figure>

① 실행 버튼을 클릭하면 예측할 json 파일을 선택하는 창이 나타남

② dataset 폴더를 찾아서 예측할JSON 파일 선택\
&#x20;    \- Train, Valid, Test JSON 모두를 선택하여 예측 진행\
&#x20;    \- 1개의 JSON 파일을 선택하여 예측 진행\
&#x20;       → <mark style="color:red;">학습이 끝나면 test.json 파일이 자동으로 선택: 실행 버튼 클릭하면 됨</mark>\
&#x20;    \- 추론용 데이터를 이용하여 예측을 진행할 경우: 추론용 데이터셋 폴더에서 test JSON 파일 선택

③ 선택 버튼 클릭: 예측이 진행되고 예측결과는 표와 이미지로 나타남<br>

3\) 예측 실행 및 결과 저장: 위 1)항의 ④ 실행을 클릭하면 표출

<figure><img src="/files/WeTBiZ1IQp2Jzl8txK7X" alt=""><figcaption><p>예측 결과를 저장할 폴더 선택 및 예측 실행</p></figcaption></figure>

① 실행을 클릭하면 예측 결과를 저장할 폴더를 선택하는 창이 나타남

② 예측 결과를 저장할 폴더 선택\
&#x20;    \- 특정 폴더에 저장할 경우: + 버튼을 클릭하여 폴더를 생성하여 이름을 부여하고 그 폴더에 저장

③ 선택 버튼 클릭: 예측이 실행되고, 예측결과는 테이블과 이미지로 저장됨\
&#x20;    \- 테이블은 CSV 파일로, 이미지는 png 파일로각각 저장됨

## 5.Feature Importance Analysis

1\) Feature Importance 분석

<figure><img src="/files/153mcMoBzkxW4tioW8S7" alt=""><figcaption><p>Feature Importance 분석 조건 설정 화면</p></figcaption></figure>

① 분할된 테스트 데이터셋 폴더에 있는 CIF 파일과 Finetuned된 모델을 이용해서 다공성 물질의 특성을\
&#x20;   분석하여 이미지로 표출

② 분할된 테스트 데이터셋 폴더에 있는 CIF 파일 선택: 반드시 test json 파일이 있어야 함\
&#x20;    \- <mark style="color:red;">학습이 끝나면 데스트 데이터셋 폴더에 있는 첫번째 CIF 파일이 자동으로 선택됨: 실행 버튼을 클릭하면 됨</mark>\
&#x20;    \- CIF 파일을 변경하려면 아래 2)항의 순서로 진행하여 선택하고 분석

③ Finetuned 모델 선택: 현재는 bandgap, H2 uptake, best\_mtp\_moc\_vfp에 대해서만 분석 가능

2\) CIF 파일 선택

<figure><img src="/files/jV60ujmZRNA8G48mTCHK" alt=""><figcaption><p>CIF 파일 선택</p></figcaption></figure>

① 파일 선택 버튼 클릭: CIF 데이터 파일을 선택할 수 있는 창이 나타남

② 데이터셋에서 test 데이터셋을 클릭하여 분석하고자 하는 CIF 파일을 선택\
&#x20;    \- <mark style="color:red;">학습이 끝나면 test 데이터셋 폴더에 있는 첫번째 CIF 파일이 자동으로 선택됨: 실행 버튼을 클릭하면 됨</mark>

③ 선택 버튼을 클릭\
&#x20;    \- Finetuned된 모델 선택하고 실행 클릭

3\) 분석 실행 및 결과 저장: 위 1)항의 ④ 실행 버튼 클릭시 표출

<figure><img src="/files/kmlCvowZY9TmfM0DN5Un" alt=""><figcaption><p>분석 결과를 저장할 폴더 선택 및 분석 실행</p></figcaption></figure>

① 실행 버튼  클릭: 분석 결과를 저장할 폴더를 선택하는 창이 나타남

② 분석결과를 저장할 폴더 선택\
&#x20;    \- 특정 폴더에 저장할 경우: + 버튼을 클릭하여 폴더를 생성하여 이름을 부여하고 그 폴더에 저장

③ 선택 버튼 클릭하면 분석이 실행되고, 분석결과는이미지로 표출\
&#x20;    \- 결정구조, Atom-based Graph Embeddings, Energy-based Embeddings 이미지가 각각 표출
