강의노트: 인공지능 기초 다지기 (1) 파이썬 기초 - 파이썬/AI 개발환경 준비하기

    목차

[부스트캠프 AI Tech 프리코스] 인공지능 기초 다지기 (1)

파이썬 기초

파이썬/AI 개발환경 준비하기

 

 

파이썬 기초

파이썬/AI 개발환경 준비하기

Basic computer class for newbies

1. 컴퓨터 OS

Operationg System, 운영체제: 프로그램 동작하는 구동 환경

예: 윈도우, 맥 OS

어플리케이션/프로그램 설치시 운영체제에 맞게 해야

2. 파일 시스템

File System, 파일 시스템: OS에서 파일을 저장하는 트리구조 저장 체계

디렉토리(Directory, 폴더)

파일(File): 파일명과 확장자로 식별됨

절대 경로: 컴퓨터 파일의 고유한 위치(루트 디렉토리부터 파일까지의 경로)

상대 경로: 현재 있는 디렉토리부터 타깃 파일까지의 경로(.: 현재 경로, ..: 앞 디렉토리)

3. 터미널

마우스가 아닌 키보드로 명령 입력 프로그램 실행

CLI(Command Line Interface) 환경: GUI와 달리 Text로 컴퓨터에 명령 입력하는 인터페이스 체계

윈도우 기준 CMD window, Windows Terminal

Console = Terminal = CMD창

각 터미널에서는 프로그램을 작동하는 shell이 존재(shell마다 다른 명령어)

..\..\ : 2칸 앞 디렉토리로

 


 

 

 

파이썬 개요

1. 배경 등

특징 요약:

1991년 '귀도 반 로섬'이 발표(네덜란드)

플랫폼 독립적

인터프리터 언어

객체 지향

동적 타이핑 언어

처음 C언어로 구현됨

유래 등:

1989년 크리스마스에 심심해서 파이썬 개발

이름 유래: Monty Python's Flying Circus (TV 프로그램)

구글, DropBox, MS 근무

자비로운 종신 독재자(지금은 사임): 파이썬의 개선사항(PEP)에 대한 최종 의사결정자

이름 유래:

python(피톤)은 그리스 신화 속의 괴물 뱀

몬티 파이썬이라는 코메디 그룹 이름에서 유래

 

2. Python의 특징

2.1. 플랫폼 독립적인 인터프리터 언어

플랫폼 = OS

운영체제 상관없이 잘 돌아가는 프로그램

(참고) 컴파일러 vs 인터프리터

요즘은 인터프리터도 느리지 않게 작동하는편

JS 등 최근 언어들은 대개 인터프리터 언어

컴파일러가 작성하는데 시간 소요, 속도는 더 빠른데, 인터프리터는 작성하는데 시간 덜 소요, 더 간단하게 실행 가능

(참고) 프로그램의 동작 과정: 사람이 알 수 있는 고급언어를 기계만 알 수 있는 저급언어로 변환

 

2.2. 객체 지향 동적 타이핑 언어

객체 지향적 언어: 실행 순서가 아닌 모듈(객체) 중심으로 프로그램 작성 (실행순서X, 단위 모듈 각각의 역할을 짜서 조립하여 만듦)

동적 타이핑 언어: 프로그램이 실행하는 시점(동적)에 프로그램이 사용해야할 데이터에 대한 타입을 결정함

 

2.3. Why Python?

쉽고 간단하며 다양하다

이해하기 쉬운 문법(사람의 시간이 기계의 시간보다 중요)

다양한 라이브러리(무엇을 생각하든 그것을 구현할 수 있다)

이미 널리 쓰이는(어디에든 쓸 수 있는 언어)

 


 

 

 

파이썬 코딩환경 (OS 및 코드편집기)

개발 환경 개요

프로그램 작성하고, 실행시키는 환경(코딩 환경)

 

운영 체제 - Operation System

선호하는 운영체제를 선정

Windows: 모듈 설치 어려움은 이제 크게 없지만 터미널 환경이 비교적 안좋고, 파워쉘 배우는 비용이 많이 나감.

Linux: 인공지능 쪽에서는 꼭 배워야 하는 때가 올 수밖에.

 

파이썬 인터프리터

2.7와 3.X버전이 존재: 현재는 3.X 기준으로 모든 시스템이 작동됨(2020년부터 Tensorflow에서 2.X 지원 안함)

레거시: 유산, 즉 오래된, 지금은 훨씬 덜 쓰지만 예전 사람들이 만들었던.

2020년 10월 5일 기준 3.9가 출시됨

 

파이썬 코드 편집기

파이썬 코드도 일종의 문서(워드 등처럼 코드를 입력할 문서 편집기가 필요)

text 타입의 문서를 저장하는 모든 편집기 사용가능

본 수업에서는 코드 편집기의 2개 타입 활용

1) 설치된 어플리케이션: VS Code, Anaconda

2) 웹 기반 인터랙티브 편집기: Jupyter, Colab (문서 편집기보다는 데이터 분석)

 


 

 

 

파이썬 코딩환경 (Windows)

Anaconda + VSCode 설치 (Windows)

이썬 프로그래밍을 실행하기 위해 파이썬 인터프리터(interpreter) 와 코드 편집기를 설치하는 과정에 대해 소개합니다.

미니콘다 공식 웹사이트 다운로드

 

Installing Miniconda - Anaconda

On Windows, macOS, and Linux, it is best to install Miniconda for the local user, which does not require administrator permissions and is the most robust type of installation. However, if you need to, you can install Miniconda system wide, which does requi

www.anaconda.com

& 파이썬 코딩환경 (Mac) & 파이썬 코딩환경 (Jupyter notebook)

 


 

 

 

파이썬 코딩환경 (Jupyter notebook)

파이썬의 기본 실행환경 Python Shell 코드 편집도구

conda activate base 치고 시작해야

코드 길게 썼을 때 한 번에 가져오기 어려운 등의 단점

 

Jupyter: 데이터 분석을 위한 파이썬 IDE

  IPython 커널 기반으로 한 대화형 파이썬 셸

  일반적인 터미널 셸 + 웹 기반 데이터 분석 Notebook 제공

  미디어, 텍스트, 코드, 수식 등을 하나의 문서로 표현 가능

  사실상의 데이터 분석 interactive Shell의 표준

 

아나콘다 열어서 앞에 (base) 있는지 확인 후

conda install jupyter

workspace 이동 후

jupyter notebook

 

크롬이나 엣지에서 열기

셀마다 코드 입력해서 실행(= 메모리 올라감)

 

단축키:

 

구글이 개발한 클라우드 기반의 jupyter notebook

구글 Colab은 동일한 개념인데 구글 드라이브 + GCP(Google Cloud Platform) + jupyter 등 합쳐 손쉽게 접근 (이미 다 설치된, GPU 어느정도 공짜, 노트북 성능 따라 버벅이기도)