딥러닝과 머신러닝 알고리즘 모두 내가 처음부터 끝까지 생성하고 개발하는것은 아니다.
개발을 하면서 효율적이고 성능좋은 프레임워크와 라이브러리를 골라 쓰는 것처럼 딥러닝에도 다양한 알고리즘이 있고 이를 가져다 쓰기만 하면된다. 해결해야 하는 문제에 알맞은 알고리즘 모델을써야 좋은 성능을 보여줄 수 있다.
딥러닝 프레임워크
대표적인 딥러닝 프레임 워크에는 텐서플로우, 파이토치, 케라스가 있다.
먼저 텐서플로우는 구글에서 개발했으며 다양한 사용 예제를 접할 수 있다.
파이토치는 메타에서 개발했으며 사용예제가 텐서프로우에 비해 적은 편이다.
케라스는 구글에서 개발했으며 텐서플로우를 백엔드로 사용한다.
세 프레임워크에는 각자 다른 특징및 장단점이 있으나 먼저 텐서플로우를 통해 딥러닝을 익혀보자.
딥러닝과 파이썬
딥러닝을 익히기 위해서는 파이썬을 사용하는 것이 좋다. 데이터 과학 분야를 위한 표준 프로그래밍 언어이며 반복작업을 빠르게 처리하고 손쉽게 조작가능하기 때문이다. 또한 데이터 적재, 시각화, 통계, 자연어 처리, 이미지 처리 등에 필요한 라이브러리 등을 가지고 있다.
파이썬의 대표적인 라이브러리
- scikit-learn : 파이썬 오픈소스 머신러닝 라이브러리
- NumPy : 파이썬에서 다차원 배열과 행렬연산을 위한 라이브러리
- Pandas : 파이썬에서 데이터처리와 분석을 위한 라이브러리
설치 환경 구성하기
anaconda 23.3.1
Python 3.10.0
VS Code 1.78.0
anaconda로 가상환경 생성
먼저 아나콘다를 설치하고 설정해보자
아나콘다를 통해 가상환경을 설정할 수 있다.
가상환경 설정을 통해 하나의 컴퓨터에서 라이브러리간의 충돌을 일으키지 않고 독립적으로 존재할 수 있게 해 준다.
이러한 독립적인 작업 환경은 특정 라이브러리 버전간의 호환성 문제를 해결할 수 있다.
먼저 아나콘다를 설치한 후 아나콘다 프롬프트를 실행하자
먼저 tf210 이라는 가상환경을 설정한다. 파이썬 버전은 3.10.0으로 생성한다
conda create --name tf210 python=3.10.0
(base) ~ > 로 경로 설정이 되었는지 확인한 후 명령어를 입력한다. 띄어쓰기도 조심한다
설정 및 설치 과정에서 설치하겠냐고 물으면 y 입력한다.
완료되면 tf210 가상환경에 진입한다.
conda activate tf210
가상환경 진입에 성공하면 쉘의 앞 부분이 (base)에서 (tf210)으로 변경된다.
그 다음 가상환경에 텐서플로우를 설치하자
텐서플로우 설치하기
conda install tensorflow
이어서 라이브러리들을 설치하자
라이브러리 설치하기
conda install scikit-learn matplotlib numpy pandas
아래 명령어들은 확인만 해보자
가상환경 정보 확인하기
conda env list # 가상 환경 확인
python -V # 파이썬 버전 확인
conda list # 라이브러리 설치 확인
conda list tensorflow # tensorflow 설치 확인
가상환경 종료하기
conda deactivate # 가상환경 나오기
conda remove --name tf210 --all # tf210 가상환경 삭제하기
가상환경 설치가 완료되면 VSCode 설치하자
VSCode 환경 설정
VSCode가 설치완료되면 python 파일을 생성해보자
먼저 VSCode에서 폴더를 오픈한 후 해당 폴더에서 파이썬 파일을 저장하고 실행할 수 있도록 지정하자.
파이썬 파일을 실행할 인터프리터가 없다고 뜰 것이다
노란색을 클릭해서 아까 생성한 가상환경의 파이썬 인터프리터를 불러온다
F1 키를 누르고 select interpreter를 입력한 후 설정도 가능하다.
인터프리터 설정이 보이지 않으면 VSCode python extension 이 설치되어있는지 확인한 후 설치한다.
파이썬 잘 작동하는지 확인해보자
hello world!
'TIL' 카테고리의 다른 글
[AI] 파이썬 딥러닝 기초 3주 10일차-4 (1) | 2023.05.09 |
---|---|
[AI] 딥러닝 공부를 위한 기초 파이썬 3주 10일차-3 (1) | 2023.05.08 |
[AI] 딥러닝과 머신러닝, 퍼셉트론 개념 3주 10일차-1 (0) | 2023.05.08 |
[리눅스] DNS 개념 및 네임서버 설정 2주 7일차-1 (2) | 2023.05.02 |
[리눅스] netmask, 내부망 외부망 구분하기 6일차 -2 (0) | 2023.05.01 |