부스트캠프 AI Tech 1기 [T1209 최보미]/U stage

Day1 학습정리 - 파이썬/AI 개발환경 준비

B1001101 2021. 1. 18. 21:36

강의 복습

0. Hidden Class (컴퓨터 기초지식)

더보기

1) 컴퓨터 OS

  • Operating System(운영체제)
  • 프로그램이 동작할 수 있는 구동 환경
  • 프로그램은 OS에 의존적

2) 파일 시스템

  • OS에서 파일을 저장하는 트리구조 저장 체계
  • 디렉토리(Directory)/폴더: 파일과 다른 디렉토리를 포함할 수 있음
  • 파일(File) : 컴퓨터에서 정보를 저장하는 논리적인 단위
  • 경로: 컴퓨터 파일의 고유한 위치
    • 절대 경로: 루트 디렉토리부터 파일위치까지의 경로
    • 상대 경로: 현재 있는 디렉토리부터 타깃 파일까지의 경로

3) 터미널

  • CLI(Command Line Interface): GUI(Graphi User Interface)와 달리 텍스트를 사용하여 컴퓨터에 명령을 입력하는 인터페이스 체계
  • Console = Terminal = CMD창: CLI로 입력하는 화면
    • Windows: CMD window, Windows Terminal (cmder도 권장)
    • Mac, Linux: Terminal
  • 기본 명령어
윈도우 CMD Shell 설명
cd cd 현재 디렉터리 이름을 보여주거나 바꿈
cls clear cmd 화면에 표시된 것을 모두 지움 
copy cp 하나 이상의 파일을 다른 위치로 복사
del rm 하나 이상의 파일을 지움
dir ls 디렉터리에 있는 파일과 하위 디렉터리 목록을 보여줌

1. 파이썬 개요

더보기

1) Python의 유래

  • 1991년 귀도 반 로섬이 발표
  • 몬티 파이썬이라는 코메디 그룹의 이름에서 유래

2) Python의 특징

  • 플랫폼 독립적: OS에 상관없이 한번 프로그램을 작성하면 사용 가능
  • 인터프리터 언어: 통역기를 사용하여 소스코드를 바로 실행할 수 있게 지원하는 언어
  • 객체 지향: 단위 모듈(객체) 중심으로 프로그램 작성
  • 동적 타이핑 언어: 프로그램이 실행하는 시점에 프로그램이 사용해야 할 데이터에 대한 타입을 결정
  컴파일러 인터프리터
작동방식 소스코드를 기계어로 먼저 번역 소스코드를 실행시점에 해석
장점/단점 실행속도가 빠름
한번에 많은 기억장소 필요
간단히 작성, 메모리가 적게 필요 
실행속도가 느림
주요 언어 C, 자바, C++, C# 파이썬, 스칼라

3) Why python

  • 쉽고 간단하며 다양하다
  • 이해하기 쉬운 문법
  • 다양한 라이브러리
  • 이미 널리 쓰이는 언어

2. 파이썬 코딩환경

더보기

1) 개발 환경 개요

  • 운영 체제(Operating System): Windows, Linux, MacOS 중 선호하는 운영체제 선정
  • Python Interpreter: 2.7과 3.X 버전 존재, 기존 라이브러리 사용 여부에 따라 버전 선택
  • 코드 편집기(Editor): text 타입의 문서를 저장하는 모든 편집기 사용 가능, 두 가지 타입으로 나뉨
    • 설치된 어플리케이션
    • 웹 기반 인터랙티브 편집기

2) Jupyter & Colab

  • Jupyter 개요
    • IPython 커널을 기반으로 한 대화형 파이썬 셸
    • 일반적인 터미널 셸 + 웹 기반 데이터 분석 Notebook 제공
    • 미디어, 텍스트, 코드, 수식 등을 하나의 문서로 표현 가능
    • 사실상의 데이터 분석 Interactive Shell의 표준
    • Julia + Python + R
  • Jupyter 실행
    • 설치: conda install jupyter
    • 실행: jupyter notebook
    • 셀 단위로 실행, 실행 시점에 해당 코드가 메모리에 올라감
    • 실행 명령어: Ctrl+Enter, Shift+Enter, Alt+Enter
  • Jupyter 주요 단축키
    • 툴팁 표시하기: Shift Tab
    • 들여쓰기/내어쓰기: Ctrl ] 또는 Ctrl [
    • 셀 나누기: Ctrl Shift -
    • 아래 셀이랑 합치기: Shift M
    • 셀 오려두기: X
    • 셀 복사: C
    • 셀 붙여넣기: V
    • 셀 지우기: DD
    • 셀 지우기 취소: Z
    • Markdown 변환: MM
    • Code로 변환: YY
  • Colab 개요
    • 구글이 개발한 클라우드 기반의 Jupyter Notebook
    • 구글 드라이브 + GCP + Jupyter 등이 합쳐져서 사용자가 손쉽게 접근
    • 초반 여러가지 모듈 설치의 장점을 가짐
    • 구글 드라이브의 파일을 업로드하여 사용 가능
    • VSCode 등과 연결해서 사용 가능
    • V100 이상의 GPU를 무료로 쓸 수 있음
  • Colab 주요 단축키
Actions Colab Jupyter
키보드 단축키 보기 Ctrl/Cmd M H H
위에 셀 삽입 Ctrl/Cmd M A A
아래에 셀 삽입 Ctrl/Cmd M B B
셀 지우기 Ctrl/Cmd M D DD
실행 중단 Ctrl/Cmd M I II
코드 셀로 변환 Ctrl/Cmd M Y Y
텍스트(Markdown) 셀로 변환 Ctrl/Cmd M M M
셀 나누기 Ctrl/Cmd M - Ctrl Shift -

 


피어세션

  • 조 이름: CIFAR-18
  • 모더레이터: 매일 변경, 순서는 가나다순
  • 모더레이터 역할
    1. 당일 날 강의에서 모르는 것 취합, 정리, 미션 분배
    2. 각자 다음날 내용 발표 (ppt 로 정리, 형식은 상황따라, 부담 ㄴㄴ)
    3. 주제는 유동적으로 세팅 (다 같이 같은 주제를 하거나, 각자 다른 주제를 하거나)
  • 피어 규칙
    1. 하루에 질문 하나씩 하기
    2. 당연시 되는것에 의문을 가지기

코멘트

 부스트캠프 첫날이라서 설레는 마음으로 강의를 들었다. 워밍업 하는 느낌으로 컴퓨터와 파이썬 기본 지식들을 다시 되짚어봤다. 윈도우 CLI중에 cmder라는 게 있는 건 처음 알았는데 유용할 것 같다. 주피터랑 코랩 단축키가 아직 익숙하지 않은데 손에 익을 때까지 연습해야겠다. 그리고 피어세션 때 커뮤니케이션을 더 잘하려면 열심히 준비해야 할 것 같다.