알파카농장

[모두의 딥러닝] Ubuntu 환경에 GPU, Anaconda 환경 구축 본문

Computer Science

[모두의 딥러닝] Ubuntu 환경에 GPU, Anaconda 환경 구축

갱파카 2022. 1. 10. 17:48

내 노트북에 용량이 10GB도 안 남아서,, 아나콘다 설치도 못하는 현실..

그래서 다른 방안을 찾다가 GPU가 달려있는 연구실 노트북에 가상 환경 구축해서 하자! 라는 결론이 나게 됐다.

 

전에 대회하다가 연구실 동료가 NVIDIA 드라이버, CUDA, CuCNN을 깔아놔서 편하게 진행할 수 있었다.

NVIDIA version 확인
CUDA Version 확인
CuDNN Version 확인

Ubuntu 버전 PyCharm을 깔아놓고 나서 DeepLearning 디렉토리를 만들어 놓고, git clone을 통해 모두의 딥러닝 깃 코드를 가져와서 실행만 해보았다.

 

Deep Learning Tutorial Code

속성(attribute) : 1번째부터 17번째까지 종양의 유형, 폐활량, 호흡 관련 여부, 고통 정도, 기침, 흡연, 천식 여부 등에 대한 정보
클래스(class) : 18번째 정보 => 수술 후 생존 결과

 

Tutorial Code의 목적 => 1번째부터 17번째까지의 항목을 분석해서 18번째 항목: 수술 후 생존 또는 사망 맞히기

 

Keras 라이브러리의 Sequential 함수와 Dense 함수를 불러와서 Layer를 탑 쌓듯이 쌓을 수 있다.

Sequential() 함수를 부르고 나서, model의 Layer를 마음대로 설정할 수 있는데,

 

model.add(Dense(30, input_dim=17, activation='relu'))

여기서 첫 번째 인자는 출력 뉴런의 수, input_dim은 말 그대로 input data의 dimension을 의미한다.

우리가 학습시킬 Attribute는 Class를 제외한 17개이다. input_dim을 맞춰주지 않으면 에러가 발생하므로, 차원은 꼭 맞춰주기!

 

Activation 함수는 딥러닝 네트워크에서 노드에 입력된 값들을 비선형 함수에 통과시킨 후, 다음 레이어로 전달
즉, 입력 데이터를 다음 레이어로 어떻게 출력하는지를 결정하는 역할!

종류는 여러가지가 있는데, 그 중 relu와 sigmoid가 많이 사용된다.

 

그 후, 딥러닝의 구조와 층별 옵션을 정하고 나면 compile() 함수를 이용해 딥러닝을 실행하게 된다.

model.compile(loss='mean_squared_error', optimizer='adam', metrics=['accuracy'])
model.fit(X, Y, epochs=30, batch_size=10)

loss는 신경망이 한 번 실행될 때마다 오차값을 추적하는 함수, optimizer는 오차를 어떻게 줄여 나갈지 결정하는 함수이다.

compile을 완료했으면 fit을 이용하여 epochs, batch_size를 정해서 수술 후 생존 또는 사망을 맞출 수 있는 모델이 생기게 된다.

 

model.evaluate() 함수를 이용해서 앞서 만든 딥러닝의 모델이 어느 정도 예측하게 되는지를 점검할 수 있다.

 

 

accuracy 0.8511.. 학습이 잘 된 것처럼 보이지만 사실 85%면 매우 성능이 나쁜 모델 ^^,,

딥러닝에 대한 전반적인 지식은 사실 알고 있는 것처럼 보이지만 나는 부실 공사이기 때문에 이번 겨울 방학 때
차근차근 쌓아나갈 예정..

 

앞으로도 자주 올리겠습니다 안녕~