agencies

linevul + deepdfa 사전 준비 방법 (최종) 본문

Ⅲ. 정보보안

linevul + deepdfa 사전 준비 방법 (최종)

agencies 2024. 11. 6. 11:06

코랩 환경에서 진행합니다.

run_line.sh
0.00MB

 

위 run_line.sh 파일을 다운받고 실행합니다.

 

 


 

실행은 약 12분정도 걸립니다.

 

* 실행하는 동안 

val.csv

test.csv

train.csv

총 3개의 파일은 구글 드라이브에 올리겠습니다. 약(10gb)

참고로 아래의 파일은 https://figshare.com/ndownloader/files/43991823 

위 링크에서 저장한 후 구글 드라이브로 옮겼습니다.

 

 

 

구글 드라이브 마운트 방법

 

from google.colab import drive

drive.mount('/content/drive')

 

 

 

이제 MSR 데이터(val + test + train 이 섞인) 준비

및 preprocessed data (joern 을 미리 한 전처리 데이터 ABS 포함)을 준비합니다.

* preprocessed 를 하지 않는다면 joern 생성부터 nodes edges => ABS까지 만드는데 몇일이 걸릴 수 있기 때문에

이러한 수고를 줄이고자 미리 데이터를 불러오겠습니다

 

 

MSR 데이터 로드

!curl -Lo MSR_data_cleaned.zip 'https://figshare.com/ndownloader/files/43990908'

!unzip MSR_data_cleaned.zip

!rm MSR_data_cleaned.zip

!mv MSR_data_cleaned.csv DeepDFA/DDFA/storage/external

 

 

preprocessed 로드

!curl -Lo preprocessed_data.zip 'https://figshare.com/ndownloader/files/43991910'

!unzip preprocessed_data.zip

!rm preprocessed_data.zip

!rsync -av DDFA/ DeepDFA/DDFA/

 

 


 

이제 train 즉 학습을 하려면 아래의 명령어 입력

!bash /content/DeepDFA/LineVul/linevul/scripts/msr_train_combined.sh 3 MSR

 

 

참고로 pt 파일을 생성하기 위해서는

torch.save(model.state_dict(), "model.pt") 형식으로 작성을 해야 하며,

저는 linevul_main.py 안 

if args.do_test:
부분 바로 밑에 * if 문에 들어가면 안됩니다.

넣었습니다.

 

 


 

생성된 pt : 1gb