개발 환경 구축2021. 6. 26. 21:04
반응형

최근에 버전을 업데이트하고, 학습을 시작하다가 갑자기 멈추는 등, 문제가 많았는데, 어떻게든 초기화하지 않고 해결하려고 했다가 결국 다시 컴퓨터를 초기화 했습니다. 

2021년 6월 26일 설치 완료했고, 다시 학습을 하니까 잘 되네요. 

다음을 위해 다시 기록 남겨둡니다..

[21.06.26] - TensorFlow 2.5.0 / CUDA 11.2 / cuDNN 8.1.0 / PyTorch 1.9.0


 

1. 윈도우 설치 (Pass)

2. 파이썬 (3.7.9) 설치

다른 버전의 파이썬에서 시도해보지는 않았지만, 텐서플로우(현재 최신 2.5.0) 공식 문서에 따르면, 파이썬 3.5 ~ 3.8을 지원한다고 한다. 

중간 버전인 파이썬 3.7.9 버전을 설치해준다.

 

Python Release Python 3.7.9

The official home of the Python Programming Language

www.python.org

Windows x86-64 executable installer 를 설치하면 된다. 

 

3. Visual Studio 2019 Community 다운로드

무료 버전인 Community 버전을 다운받고 실행하면 된다. 

 

Visual Studio 2019 | 무료 다운로드

Visual Studio에서 코드 완성, 디버깅, 테스트, Git 관리, 클라우드 배포를 사용하여 코드를 작성합니다. 지금 무료로 커뮤니티를 다운로드하세요.

visualstudio.microsoft.com

실행한 이후에 설치 창이 뜨면, "C++을 이용한 데스크톱 개발" 하나만 체크하고 설치하면 된다. 

 

4. Nvidia 드라이버 삭제 후 최신으로 재설치

제어판 - 프로그램 추가 / 제거 에서 "NVIDIA" 라고 검색하여 나오는 모든 프로그램들을 삭제한다. 

그리고 GPU에 맞는 최신 그래픽 드라이버를 설치해준다. 

 

NVIDIA 드라이버 다운로드

 

www.nvidia.co.kr

GeForce Experience 는 필요가 없고, NVIDIA STUDIO 드라이버만 설치해주면 된다. 

 

5. CUDA 11.2 설치 (드라이버 빼고)

CUDA를 다운로드하여 설치해준다. 

 

CUDA Toolkit 11.2 Downloads

Select Target Platform Click on the green buttons that describe your target platform. Only supported platforms will be shown. By downloading and using the software, you agree to fully comply with the terms and conditions of the CUDA EULA. Operating System

developer.nvidia.com

exe (network) 는 설치 프로그램 안에서 바로 다운로드 받으며 설치하는 건데, 전에 할때 되지 않은 경험이 있어서 exe (local) 로 받아주었다. 

다운받고, 설치를 진행할 때에 '빠른 설치 (권장)' 같은 메시지가 뜨는데, 이걸 선택하면 드라이버가 더 낮은 버전으로 새로 깔리게 된다.

드라이버를 유지하기 위해 '사용자 정의 설치 (고급)' 을 클릭하고, 'Driver components' 를 제거하고 설치한다. 'GeForce Experience' 역시 필요 없으므로 체크를 해제하고 설치를 진행하였다. 

다 필요 없어!

 

6. cuDNN (8.1.0) 설치

cuDNN은 NVDIA 에 로그인을 해야 다운로드 받을 수 있다. 

https://developer.nvidia.com/rdp/cudnn-download

Archived cuDNN Releases 를 눌러 구 버전의 cuDNN을 찾는다. 

맨 아래에 있는 'Download cuDNN v8.1.0 (어쩌구...) for CUDA 11.0, 11.1, 11.2' 를 다운로드 받는다. 

다운로드를 받으면 압축 파일을 하나 받게 되는데, 압축 파일 내의 'cuda' 폴더를 복사한다. 

아래 사진처럼 C:\ 위치에 'tools' 라는 이름의 폴더를 하나 만들고, 그 안에 복사한 cuda 폴더를 붙여넣는다. 

tools 폴더 만들고
그 안에 cuda 폴더 붙여넣기

 

7. 환경 변수 설정

윈도우 검색창에 '환경 변수' 라고 검색한다. 

아래에 있는 환경 변수 클릭
아래쪽에 있는 시스템 변수 에서 'Path'를 클릭하고 편집 클릭
이 창에서 '새로 만들기' 를 클릭

다음 세 개의 경로를 새로 추가해주면 된다. 

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\extras\CUPTI\libx64

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\include

C:\tools\cuda\bin

맨 위에 있는 비슷하게 생긴 경로는 건드리지 말고 추가만 해주면 된다. 

 

9. CMake, Boost Binaries 설치

Boost binaries :

https://sourceforge.net/projects/boost/files/boost-binaries/1.71.0/boost_1_71_0-msvc-14.2-64.exe/download?use_mirror=jaist&use_mirror=jaist&r 

CMake : 

맨 아래에 있는 cmake-3.21.0-rc1-windows-x86_64.msi 다운로드

LightGBM을 위해 설치를 해준다. 

CMake 역시 다운로드를 하고 실행을 한다. 설치가 끝나면 'Add CMake to PATH' 라고 나오는데, 체크를 해 준다. 

 

10. 컴퓨터 재부팅 (pass)

11. pip 를 통해 패키지 설치 (pass)

 

글로벌 환경이던, 파이썬 가상 환경이던 'pip install 뭐시기' 를 통해서 패키지들을 설치해준다. 

pip3 install sklearn pandas seaborn matplotlib jupyter tensorflow xgboost catboost tqdm numpy==1.19.5 opencv-python optuna torch==1.9.0+cu111 torchvision==0.10.0+cu111 torchaudio===0.9.0 -f https://download.pytorch.org/whl/torch_stable.html 

numpy 최신 버전은 Tensorflow 2.5.0 과 에러가 나는 것을 확인했다. 

pip3 install  lightgbm --install-option=--gpu

lightgbm gpu 버전 설치

텐서플로우 버전은 2.5.0 (현재최신), 파이토치 버전은 (1.9.0) 입니다. 

반응형
Posted by Jamm_
반응형

첫번째 Playground 클리어

기말고사가 끝나고 방학때부터는 새로운 취미?로 iOS를 해보고 싶었다. 

일단 나는 엄청난 앱등이이고, 아이폰, 맥북(M1 최고 진짜...), 아이패드, 애플워치, Beats를 다 쓰고있고, 맥북을 쓰고 있기 때문에 앱개발 하면 당연히 iOS를 하겠다고 생각하고 있었고, 안드로이드를 매우 극혐하며 관심도 별로 없고(열등한 안드로이드ㅡㅡ), 결정적으로 안드로이드를 만들면, 내가 만들고 나는 못쓰는 사단이 나기 때문에 그냥 고민안하고 iOS 맛을 보기로 했다. 

내가 만든 모델을 단지 '대회용' 으로만 쓰는것은 공부하는 의미가 줄어들기도 하고, 신기술이 있으면 그것을 써먹어야만 의미가 있기 때문에 최종 목표는 내가 만든 모델들을 배포하는 하나의 수단으로 사용하고 싶다. 

하지만 대회 프로세스에 필요한 파이썬만 할줄 아는 나는 진짜 '퓨어(?) 개발'에 있어서는 아주 일자무식이었고, 알고리즘도 모르고, 그냥 바로 뚝딱뚝딱 알고리즘을 써낼만큼 머리도 좋지 않은 소시민인 나에게는 아주 험난한 길이 되지 않을까... 생각이 들지만 역시 취미는 돈을 쓰는 만큼 재미있는 법이니, 열심히 돈을 쓰기로 했다... 나중에 어딘가에는 쓸모가 있겠지... 

해보면서 느낀점은 스위프트도 (아직까지는) 매우 쉽다. 자꾸 눈보다 머리보다 손이 먼저 반응해서 파이썬 문법을 치고 당황하기를 몇 번 반복하니, 이제 어느정도 기초 문법의 감은 잡은 것 같다. 

Swift Playground를 통해서 일단 기본 문법 쓰는것부터 익히기로 했다. 그래서 이 글은... 그냥 "나 플레이그라운드 1 다했다!" 가 사실상 내용의 전부라, 그냥 파이썬과 비교하며 문법을 적어만 보고, 기억하는 용도로 글을 작성해야겠다... 몇월 며칠부터 이걸 시작했다는 기록용도...?

옛날에 학교다닐때 스크래치 했던 생각도 나고, 아주 게임스럽게 만들어져 있어서 재미있게 시작할 수 있었다. 매번 이런식이지 여기까지는 쉽다가 좀더 하다보면 벽에 막혀서 허우적거리는...

내 귀여운 물방울 캐릭터로 보석을 먹고, 스위치를 다 누르면 클리어된다. 


 

1. 함수

파이썬에서는

def Hello():
    print('Hello World!')

def 로 함수를 정의하는데, 

func moveForward(){
    go_and_go()
}

스위프트에서는 func으로 할 수 있고, 들여쓰기가 아니라 중괄호를 사용해 함수 내용을 안에다 써주면 된다. 이 중괄호를 쓰는것이 1차 충격이었다. 파이썬의 부작용. 중괄호를 쓰자니 소괄호를 빼먹고, 소괄호를 쓰면 자동으로 손은 콜론( : )에 가 있는...

아직 Playground1 에서는 파라미터를 넘겨주는건 안나왔는데, 저 괄호 ( ) 에다가 파라미터를 넘겨주면 되려나....

 

2. for Loop

다음으로 익힌게 for loop 였는데, 그냥 이게 끝이다. 

for year in 1 ... 5{
    letsLearnSomething()
}

습관적으로 파이썬에서 ' range(5): ' 라고 적듯이 하다가 안돼가지고 당황했었다. 역시 콜론과 중괄호 적는건 자꾸 헷갈리고...

 

3. 조건문

if myNameJamm{
    print("Jamm")
} else if myNameUnknown{
    print("Unknown")
} else {
    print("NoJamm")
}

이렇게 if의 중괄호에다가 내용을 적고, else 에다가도 내용을 적어주면 된다. 파이썬의 elif 는 else 뒤에 if를 바로 붙여서 하나 더 쓰면 된다. 파이썬이랑 달라서 그런가, 조건문을 겹겹이 만들면 내가 보기에도 너무 헷갈려보였다. 파이썬의 들여쓰기에 너무 적응해버린 탓인가... 가장 충격받았던 점은 작은따옴표로 문자열을 쓸 수가 없다는거...? 큰따옴표로 자동으로 고쳐주려고 한다. 나 맨날 작은따옴표만 썼었는데... 이건 정말 적응안된다...

 

4. 논리 연산자

and 는 ' && ' 로 표시하고, or 는 ' || ' 로 쓰면 된다. 

조건을 바로 뒤집을 수 있는데, myNameJamm 이 true라면, !myNameJamm 은 false 가 된다. 파이썬에서는 a is not b 이런식으로 작성했던 것 같은데, 이런 것들을 생각해보니 파이썬은 정말로 그냥 영어였다는 것을 알았다. 이걸 뒤집으면서, 안뒤집으면서 조건문 안에 반복문을 몇 겹으로 넣어 보았는데, 매우 헷갈렸다. 

 

5. while Loop

while myNameJamm{
    studyNewThing()
}

그냥 이런식으로 적으면 된다. 파이썬과 중괄호 말고는 똑같은...

 


 

적고 보니까 정말 보잘것 없다는 생각이 든다. 엊그제 시작해서 배운 내용이니 아직까지는 그럴 수 있지... 파이썬 말고 처음으로 다른 언어를 해본거라서 종종 헷갈리기는 하는데, 이정도면 그래도 엄청 쉬운 언어 같다. 언젠가는 좀 더 도움이 되는 고급 정보를 담은 글을 쓸 수 있기를 바라며... 플레이그라운드2 나 클리어하러 가야겠다. 게임중독자

반응형
Posted by Jamm_