Juhyun-kim98 / Malware-Detection

2021 KCC 논문
Apache License 2.0
0 stars 0 forks source link

진행 상황 #1

Open Juhyun-kim98 opened 3 years ago

Juhyun-kim98 commented 3 years ago

[kcc 논문 주제]

Juhyun-kim98 commented 3 years ago

0408 done

0409 to do

Juhyun-kim98 commented 3 years ago

build_numpy_arrays_for_lightgbm.py 돌려보기

코드 내부 설명



SQLite + LMDB 데이터베이스에서 lightgbm 모델 교육에 필요한 numpy 파일을 생성합니다.
:param 모드: 다음 중 '열차', '검증' 또는 '테스트' 중 하나를 나타냅니다.
데이터를 파일로 처리합니다. 분할은 구성의 타임스탬프를 기준으로 가져옵니다.파이의
:param output_file: 표시된 분할에 대해 생성할 출력 파일의 이름입니다.
: param worker: 사용할 작업자 프로세스 수(기본값 1)
:param 배치 크기: 샘플 수집에 사용할 배치 크기(기본값 1000)
:param remove_missing_missing: 누락된 기능을 검사 및 제거하는 방법: 참조
권장 사항에 대한 README.md(기본 'scan')
SQLite + LMDB 데이터베이스에서 lightgbm 모델 교육에 필요한 numpy 파일을 생성합니다.

:param 모드: 다음 중 '열차', '검증' 또는 '테스트' 중 하나를 나타냅니다.
데이터를 파일로 처리합니다. 분할은 구성의 타임스탬프를 기준으로 가져옵니다.파이의
:param output_file: 표시된 분할에 대해 생성할 출력 파일의 이름입니다.
: param worker: 사용할 작업자 프로세스 수(기본값 1)
:param 배치 크기: 샘플 수집에 사용할 배치 크기(기본값 1000)
:param remove_missing_missing: 누락된 기능을 검사 및 제거하는 방법: 참조
권장 사항에 대한 README.md(기본 'scan')
Juhyun-kim98 commented 3 years ago

config.py 돌려보기

# Copyright 2020, Sophos. 모든 권한이 예약됨
#
# 'Sophos' 및 'Sophos Anti-Virus'의 등록 상표입니다.
# Sophos Limited and Sophos Group. 기타 모든 제품 및 회사
# 언급된 이름은 해당 상표 또는 등록 상표입니다.
# 각 소유주

# GPU를 사용할 수 있는 경우 'cuda:0'과 같이 원하는 장치로 설정합니다.
장치 = 'cuda:0'
#기기 = 'cpu'

# 참고 - 아래 값을 변경하면 결과가 다음 값과 비교되지 않습니다.
# 이 데이터 세트의 다른 사용자.
# 유효성검사 데이터를 나누는 타임스탬프(융합/과적합 확인에 사용)입니다.
# 테스트 데이터(최종 성능 평가에 사용)
validation_test_test = 1547279640입니다.0
# 검증 데이터에서 교육 데이터를 분할하는 타임스탬프입니다.
train_validation_balidation = 1543542570.0

# meta_db가 포함된 디렉토리를 가리키기 위해 필요한 경우 경로를 수정합니다.
# 및 모델 교육 중 체크포인트를 배치해야 하는 위치 표시
db_path=데이터 세트/SoReL20M'
checkpoint_dir=scheckpoints'

# 필요에 따라 배치 크기를 조절하여 메모리/버스 제약 조건 부여
batch_size=8192
~
Juhyun-kim98 commented 3 years ago

dataset.py 돌려보기 image

Juhyun-kim98 commented 3 years ago

이것 저것 파일들을 돌려보았는데 제대로 작동 되지가 않는다.. conda 환경을 설치하여 여기 나온 대로 해주어야 하나..? image

Juhyun-kim98 commented 3 years ago

이미 가상환경을 만들어서 사용하고 있었지만 뭔가 석연치 않으므로... README.md 대로 anaconda를 설치 후 conda env create -f environment.yml을 실행해봄.

일단 가상 환경 안에 아나콘다 설치했으므로 따로 또 아나콘다 안에 가상환경을 만들어서 사용하진 않았는데... 이렇게 해도 괜찮은지 교수님께 여쭤볼...까.....ㅎ

Juhyun-kim98 commented 3 years ago

image

이래도 저래도 train.py 실행하려면 난관이 .....

Juhyun-kim98 commented 3 years ago

에라 모르겠다 싶어서 바로 신경망모델 실행해보았다

python train.py train_network --remove_missing_features=shas_missing_ember_features.json

image

위에 에러들은 정확히 어떤 것이 문제인지는 모르겠지만 맨 마지막 RuntimeError: CUDA error: out of memory는.. 현재 서버의 memory가 부족하다는 건가?

Juhyun-kim98 commented 3 years ago

File Magic 프로그램을 이용하여 http://sorel-20m.s3.amazonaws.com/09-DEC-2020/baselines/checkpoints/FFNN/seed0/epoch_1.pt을 다운받은 다음

데이터셋 형태 확인 image

맨 처음 열이 데이터원본이고 그 다음 열들은 데이터로 뽑아낸 메타데이터..?같다. 기존 elastic ember 데이터에서 sophos나름의 라벨링을 통해 태그들을 달아둔 데이터가 이 데이터라고 했음 아직 확실히 파악되진 않았다..

Juhyun-kim98 commented 3 years ago

일단,,, 해당 데이터셋의 원본 격인 EMBER dataset에 대해서 알아보기 위해 https://arxiv.org/pdf/1804.04637.pdf 해당 논문 읽어보자...