SlideShare a Scribd company logo
1 of 63
Download to read offline
Jetson TX2 로 진행하는
Python 강의
여러분들은?
• 현재 어떠한 일을 하고 계신가요?
• 왜 참여하시게 되셨나요?
• 무엇을 얻어가고 싶으신가요?
• Jetson TX2 / 파이썬 등의 용어를 들어보신 적이 있으신가요?
준비물
• Jetson TX2
• SD card
• HDMI cable
• Monitor, Mouse, Keyboard (USB)
• Internet
TX2 Reference : https://developer.nvidia.com/blog/jetson-tx2-delivers-twice-intelligence-edge/
Jetson TX2 초기 설정
• 박스 개봉 이후 조립 진행
• 반드시 HDMI가 지원되는 모니터에 Jetson TX2를 연결하고 화면에
표기되는 명령을 실행하여 초기 설정 진행
• Jetson TX2는 Ubontu 16.04 LTS 버전 사용
• 기본 username & password == nvidia
Nvidia JetPack이란?
• JetPack SDK는 NVIDIA에서 제공하는 AI 응용 프로그램을 구축할 때 사용하
는 포괄적인 솔루션입니다.
• JetPack 인스톨러를 사용하여 최신 OS 이미지로 Jetson Developer Kit을 플
래시하고, 호스트 PC와 개발자 키트 용 개발자 도구를 설치하며, 개발 환경
을 빠르게 시작하는 데 필요한 라이브러리와 API, 샘플 및 문서를 설치할 수
있습니다.
Nvidia JetPack이란?
• L4T R28.2가 탑재 된 JetPack 3.2는 NVIDIA Jetson TX2, Jetson TX
2i 및 Jetson TX1의 최신 프로덕션 소프트웨어 릴리스입니다.
• TensorRT, cuDNN, CUDA 툴킷, VisionWorks, GStreamer 및 OpenC
V를 포함한 모든 Jetson 플랫폼 소프트웨어를 번들로 제공하며 LTS Li
nux 커널과 함께 L4T 위에 구축되었습니다.
• 주요 특징으로는 TensorFlow 모델 지원, DL 응용 프로그램의 최대
15 % perf / W 향상, Docker에 대한 즉시 사용 가능한 커널 지원 및
호스트 PC에서의 Ubuntu 16.04 지원이 포함됩니다.
• JetPack의 최신버전은 https://developer.nvidia.com/embedded/jetpack
에서 다운 받으실 수 있습니다.
Ubuntu란 무엇인가?
Ubuntu
•우분투 (Ubuntu)는 Linux 기반으로 만들어진 OS
(Operating System : 운영체제)
OS (Operating System)
• OS ?
Ubuntu
•우분투 (Ubuntu) 로고 모양의 뜻
Ubuntu 22.04.1 의미?
Terminal
•우분투 (Ubuntu)에서 Ctrl + Alt + T 로 터미널 실행
Terminal
•Command Line 실습
https://tutorial.djangogirls.org/ko/intro_to_command_line/
Terminal
• (1) 가장 첫번째 명령, 내 이름을 보여줘!
• $ whoami
• $는 무엇일까요?
• 이는 사용자의 명령을 받아일 준비가 되었음을 나타내는 표시입니다.
• 이는 현재 로그인한 유저 정보를 나타냅니다.
Terminal
• (2) 내 현재 위치는 어디야? 경로를 출력해줘!
• $ pwd
• Pwd는 Print Working Directory의 약자로, 현재 터미널에서
내가 위치해 있는 경로를 알고 싶을 때의 명령어
Terminal
• (3) 현재 디렉토리 내에 있는 모든 파일 목록을 보여줘!
• $ ls
• ls는 list의 줄임말로, 현재 디렉토리 내의 모든 파일 또는
하위 디렉토리의 목록을 모두 출력합니다.
추가 참고 레퍼런스 : https://www.leafcats.com/137
Terminal
• (4) 원하는 디렉토리로 이동해보자!
• $ cd
• cd는 Change Directory, 즉 디렉토리 변경의 줄임말입니다.
cd 명령어 뒤에 이동하기를 원하는 디렉토리 이름을 입력
하면 그 디렉토리로 이동합니다.
Terminal
• 상위 폴더로 이동하고 싶다면?
• $ cd ..
• cd 뒤에 원하는 디렉토리의 이름 대신, .. 을 입력하면 사위
폴더로 나가게 됩니다.
Terminal
• $ cd ~
• cd ~ 라는 명령어는 ~ 위치로 이동시키라는 명령어
• 여러 디렉토리 안으로 깊게 들어갔는데 한 번에 Home 디
렉토리로 돌아오고 싶을 때 유용한 명령어입니다.
Terminal
• (5) 새 폴더 만들기, 또는 폴더 삭제하기
• $ mkdir new_folder
• Mkdir 은 직관적으로 봐도 Make Directory로 보이는 군요.
New_folder 라는 폴더를 생성한 후 ls 명령어로 목록을 다
시 출력하면 new_folder 라는 디렉토리가 새로 생긴 것을
확인 할 수 있습니다.
Terminal
• (5) 새 폴더 만들기, 또는 폴더 삭제하기
• $ rm -r new_folder
• rm -r 명령어 뒤에 삭제하길 원하는 디렉토리 명을 입력하
면 삭제가 됩니다. rm은 Romve의 줄임말입니다. - r 옵션
은 디렉토리를 삭제할 때, 하위 모든 파일을 삭제할 때 사
용. 그외 일반 파일을 삭제할 때에는 rm 명령어만 입력하
면 됩니다.
Terminal
• (5) 파일을 원하는 곳으로 옮기거나, 복사하기
• $ mv new_folder 원하는 폴더
• mv 명령어는 영어 단어 Move를 줄여서 만든 것임을 어렵
지않게 추측할 수 있죠. 파일이나 디렉토리를 옮기고 싶을
때에는 mv 명령어 뒤에 이동하고 싶은 파일 , 이동할 목
적지 디렉토리 를 순서대로 입력해주면 됩니다.
Terminal
• (5) 파일을 원하는 곳으로 옮기거나, 복사하기
• $ cp –r new_folder ..
• 위의 명령어로 new_folder 를 .. 의 위치,즉 상위폴더에
복사했습니다.물론 cp 는Copy의 줄임말입니다.
Terminal 실습
• (1) Home 디렉토리 밑에 my_first_directory 라는 이름의 디렉토리
를 생성하고, 그 밑에 sub_directory 를 또 생성하세요.
• (2) sub_ directory 를 Home 디렉토리로 옮겨보세요.
• (3) sub_directory 를 다시 my_first_directory 밑으로 복사해보세요.
• (4) my_first_directory 와 sub_directory 를 모두 삭제하세요.
우분투 패키지 관리
• 우분투에서 패키지를 관리하기 위해 주로 쓰이는 명령어는 apt-get 입니다.
• 참고 레퍼런스 : https://codechacha.com/ko/linux-apt-commands/
• 위의 참고 레퍼런스를 기반으로 다음 페이지에서 질문을 드리겠습니다.
우분투 패키지 관리
• Q1. apt-get 앞에 붙는 명령어는 무엇인가요?
• Q2. sudo 는 어떤 의미를 가질까요? 직접 한 번 검색해서 찾아보세요!
• Q3. 지금까지 설치된 패키지 리스트를 확인하는 명령어에 대한 설명이 없습니다. 리스트를 확인
하는 명령어를 직접 검색해서 찾아보세요!
우분투 패키지 관리
• 컴퓨터에 설치된 패키지 인덱스 정보를 업데이트
• $ sudo apt-get update
• 모든 패키지에 대해 새롭게 업데이트 된 버전이 있다면, 전부 업데이트
• $ sudo apt-get upgrade
• 예시 코드
• $ sudo apt-get install -y cmatrix
• -y 라는 옵션은 설치 중간중간 나오는 질문들에 대해 모두 yes
• $ cmatrix # Run
Python
Python
• 파이썬(Python)은 네덜란드의 귀도 반 로섬(Guido van Rossum)이 개발한 프로그래밍
언어입니다.
• 귀도는 1989년 크리스마스가 있던 주에 자신이 출근하던 연구실의 문이 닫혀 있어서
취미삼아 파이썬을 만들었다고 합니다. 이후 개발을 거듭하여 1991년에 파이썬을 외부에
공개하게 됩니다.
• 파이썬이라는 이름은 귀도가 즐겨 봤던 코미디 프로그램인 몬티 파이썬의 날아다니는
써커스 <Monty Python's Flying Circus>에서 따왔습니다.
• 참고로 파이썬의 로고 및 아이콘이 뱀 모양인 이유는 python의 원래 뜻이 비단뱀이라서
그렇습니다.
Python 의 특징
• Life is short, You needs Python.
• 1. 쉽고 간결
• C에서 “Hello World” 를 출력하기 위해서 6 ~ 8 문장을 작성해야 하지만, Python에서는 오직 한 줄.
print(“Hello World”) 한 줄만 적으면 됩니다.
• 2. 라이브러리가 많고 활용이 쉬움
• Numpy, Pandas, Scipy, Scikit-learn 등 데이터 수집 및 분석을 위한 라이브러리 등이 많아 편리하고
“!pip install numpy” 와 같이 간단한 명령어로 라이브러리를 설치 할 수 있습니다.
• 3. 대중적인 언어
• 최근 AI를 위한 사용되고 있는 대부분의 라이브러리들은 Python을 기반으로 하고 있으며,
세계적으로 첫 프로그래밍 언어로 Python을 배우는 비율이 매우 높아졌습니다.
Python 의 활용 분야
• 1. 데이터 분석
• Pandas라는 라이브러리를 활용하면 excel이나 csv 등 table 형태로 되어있는 data를 컨트롤하기 쉽고
scipy나 scikit-learn 등의 라이브러리를 활용하면 통계 관련 연산이나 머신러닝 등의 활용을 쉽게 할 수 있습니다.
• 또한, matplotlib 라이브러리 등을 활용한 각종 data의 시각화가 가능하여 시각적으로 data를 분석하는데도 용이합니다.
• 2. 데이터 크롤링
• requests 모듈이나 BeautifulSoup, selenium 등을 활용하여 인터넷에서 data를 수집하고 저장하는 것을 쉽게 할 수 있습니다.
• 3. 데이터베이스 프로그래밍
• 파이썬은 Oracle, MySQL, PostgreSQL, Amazon S3 등의 데이터베이스에 접근하기 위한 도구를 갖고 있어서
이런 데이터베이스와 연계하여 프로그래밍 하는 것이 가능합니다.
Python 설치 및 실행
• Python (https://www.python.org/)
• Anaconda (https://www.anaconda.com/products/distribution)
• Colab (https://colab.research.google.com/?hl=ko)
일반적인 환경에서
Python 설치
Python 설치 및 실행
Window 에서
Python 설치하기
Python 설치 및 실행
다운로드한 python-3.6.0.exe 파일을 실행하면 설치 화면이 표시됩니다.
Add Python 3.6 to PATH에 체크하고 Install Now를 클릭합니다.
여기서 Add Python 3.6 to PATH는 명령 프롬프트 어디서나 파이썬을 실행할 수 있게 해줍니다.
반드시 체크하세요. 사용자 계정 컨트롤 창이 표시되면 예를 클릭합니다.
Python 설치 및 실행
이제 파이썬이 설치됩니다.
Python 설치 및 실행
파이썬 설치가 끝났습니다. 여기서 Disable path length limit를 클릭합니다.
Windows는 파일 이름과 경로의 길이가 260자로 제한되어 있습니다.
260자를 넘더라도 문제가 발생하지 않도록 길이 제한을 해제합니다.
Python 설치 및 실행
사용자 계정 컨트롤 창이 표시되면 예를 클릭합니다. 파이썬 설치가 끝났습니다. Close 버튼을 클릭하여 설치 창을 닫습니다.
Python 설치 및 실행
Mac 에서
Python 설치하기
우분투에서 Python 설치 및 실행
# 1. Python 설치 전 라이브러리 설치하기
Ubuntu 에서 ctrl + art + t 로 터미널을 열어 아래의 코드를 입력합니다.
설치 중간 중간에 [Y/n] 중에 고르라고 나오면 Y를 타이핑하고 엔터를 해주시면 됩니다.
• $ sudo apt-get update
• $ sudo apt-get upgrade
• $ sudo apt-get dist-upgrade
• $ sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus
• $ sudo apt-get install libncursesw5-dev libgdbm-dev libc6-dev
• $ sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev
• $ sudo apt-get install libssl-dev openssl
• $ sudo apt-get install libffi-dev
우분투에서 Python 설치 및 실행
# 2. Python 홈페이지에서 소스 다운로드 받기
홈페이지로 이동해서 최신 Python version 을 클릭하여 접속합니다.
쭉 내려가면 Gzipped source tarball 링크가 있습니다.
그 위에 마우스를 가져다 대면
https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tgz
아래 위와 같은 링크가 하나 보입니다.
이제 wget 명령어를 사용해서 다운로드 받겠습니다.
• $ wget https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tgz
ls 명령어를 통해 파일이 있는지 확인해줍니다.
우분투에서 Python 설치 및 실행
# 3. 설치하기
tgz 파일이 잘 다운받아져 있는 것을 확인했다면, tgz 파일의 압축을 풀어줍니다.
압축 해재하는 코드는 다음과 같습니다.
• $ tar xvfz Python-3.11.0.tgz
압축이 해제하였으면 다시 ls 명령어를 통해 압축이 해제 되었는지 확인해줍니다.
Python-3.11.0 로 압축해제 되어 있는 것이 보이실 겁니다.
• $ cd Python-3.11.0
명령어로 해당 디렉토리에 들어갑니다.
우분투에서 Python 설치 및 실행
다시 ls 명령어를 사용하여 configure가 있는지 확인합니다.
• $ ./configure
• $ make
• $ sudo make install
위의 명령어로 설치해 줍니다.
설치가 끝나면 아래의 명령어로 python의 버전이 어떤 것이 있는지 확인합니다.
여기서 주의해야할 사항으로는 기본적으로 리눅스는 python 2.x 버전이 설치되어 있어
python - V 하면 python2.x 버전이 확인되오니 꼭 python3 -V 로 하기 바랍니다.
• $ python3 -V
설치가 완료되면
• Python 3.11.0
위와 같이 나오게 되면 Python 설치가 된 것입니다.
Python IDE
• Visual Studio Code: 마이크로소프트에서 제공하는 오픈 소스 코
드 에디터입니다. (https://code.visualstudio.com)
• Sublime Text: 파이썬 3 기반의 코드 에디터입니다. 다양한 플러
그인을 제공하며 플러그인 자체도 파이썬으로 작성할 수 있습니
다. (https://www.sublimetext.com)
• PyCharm: 가장 유명한 파이썬 개발 도구 중 하나입니다. 파이썬
개발에 필요한 다양한 기능을 제공합니다. (https://www.jetbrains.
com/pycharm)
• https://code.visualstudio.com/docs/setup/linux
$ wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
$ sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
$ sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg]
https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list’
$ rm -f packages.microsoft.gpg
$ sudo apt install apt-transport-https
$ sudo apt update
$ sudo apt install code
우분투에서 VSCode 설치
참고
• 혹여나, Jetson TX2 에서 다양한 이슈가 발생하는 경우,
• 수강생 분들의 로컬 환경에서 사용 가능한 “Google
Colab" 을 활용해서 강의를 진행하도록 하겠습니다.
• Colab은 구글에서 제공하는 서비스로, 파이썬을 인터넷 환경에서
다룰 수 있고 일정시간동안 GPU를 무료로 사용할 수 있어서 간단한
실험에 많이 사용됨
• https://colab.research.google.com/
Colab 준비
Colab 준비
새로운 노트를
만들 수 있습니다.
Colab 준비
파일 이름 변경
코드를 셀별로
작성
코드를 작성후
Alt + Enter 로
코드를 실행
파일>저장 혹은
Ctrl + S 로 저장
Colab 준비
파이썬 기초 문법의 종류
• 파이썬 시작 – print() 함수
• 변수 – 변수의 개념 & 문풀
• 문자열 – 문자열 인덱싱, 슬라이싱 기능 & 다양한 메서드
• 리스트 – 파이썬 리스트는 순서가 있고 수정 가능한 자료구조
• 튜플 – 파이썬 튜플은 순서가 있지만 수정 불가능한 자료구조
• 딕셔너리 – 파이썬 딕셔너리는 순서는 없지만, key & value 형태
• 분기문 – if 문
• 반복문 – for 문 & while 문
• 함수 – 변수가 어떤 값을 바인딩 하는 것처럼 함수는 어떤 코드를 바인딩
• Class – 위에서 배운 내용을 적용!
파이썬 이론 & 실습
위에서 나온 개념들을 하나씩 실습해 보고,
문제를 풀어보며 개념들과 친숙해지는
시간을 가져보도록 하겠습니다.
Numpy
Numpy 이론 & 실습
목차
• 1. Numpy 활용해서 진행해보기
• Numpy 소개
• Numpy 주요기능
• Numpy로 기본 통계 데이터 계산해보기
• 2. 데이터의 행렬 변환
• 데이터의 행렬 변환
• 이미지의 행렬 변환
Numpy 이론 & 실습
• NumPy는 Numerical Python의 줄임말로, 과학 계산용 고성능 컴퓨팅과 데이터 분석에 필요한 파이썬 패키
지입니다.
• 파이썬 기본 패키지 관리자인 pip안에는 NumPy가 없으므로 새로 설치를 하셔야 해요. conda를 사용하신
다면 기본적으로 포함되어 있기도 하지만 그렇지 않은 경우도 있으니 conda list | grep numpy로 설치 여
부를 먼저 확인해 주세요!
• 설치 명령어는 다음과 같습니다.
• !pip install numpy
• 파이썬 패키지 관리자에 대해 설명하자면, pip은 "package installer for python"의 약자로 파이썬 전용 패
키지 설치 소프트웨어입니다.
• 파이썬을 설치하면 자동으로 설치됩니다.
Numpy 이론 & 실습
• NumPy 공식 사이트에 소개된 NumPy의 장점
• 1. 빠르고 메모리를 효율적으로 사용하여 벡터의 산술 연산과 브로드캐스팅 연산을 지원하는 다차원
배열 ndarray 데이터 타입을 지원한다.
• 2. 반복문을 작성할 필요 없이 전체 데이터 배열에 대해 빠른 연산을 제공하는 다양한 표준 수학 함수
를 제공한다.
• 3. 배열 데이터를 디스크에 쓰거나 읽을 수 있다. (즉 파일로 저장한다는 뜻입니다)
• 4. 선형대수, 난수발생기, 푸리에 변환 가능, C/C++ 포트란으로 쓰여진 코드를 통합한다.
• 실습을 통해 NumPy의 주요 기능들을 하나씩 살펴보겠습니다.
Pandas
목차
• 1. 구조화된 데이터란?
• 2. 구조화된 데이터와 Pandas
• Series
• DataFrame
• 3. Pandas와 함께 EDA 시작하기
Pandas
구조화된 데이터를 효과적으로 표현하기 위해 pandas라는 파이썬 라이브러리는 Series와 DataFrame이라는
자료 구조를 제공합니다. 이 데이터 타입을 활용하면 구조화된 데이터를 더 쉽게 다룰 수 있습니다.
• pandas의 특징을 나열하면 다음과 같습니다.
• NumPy기반에서 개발되어 NumPy를 사용하는 애플리케이션에서 쉽게 사용 가능
• 축의 이름에 따라 데이터를 정렬할 수 있는 자료 구조
• 다양한 방식으로 인덱싱(indexing)하여 데이터를 다룰 수 있는 기능
• 통합된 시계열 기능과 시계열 데이터와 비시계열 데이터를 함께 다룰 수 있는 통합 자료 구조
• 누락된 데이터 처리 기능
• 데이터베이스처럼 데이터를 합치고 관계 연산을 수행하는 기능
• pandas는 NumPy와 동일하게 pip을 이용해서 설치할 수 있어요.
• !pip install pandas
• 상세한 이론은 실습 과정을 통해서 설명 드리도록 하겠습니다.
Pandas
Visualization
목차
• 1. 파이썬으로 그래프 그린다는 건?
• 2. 간단한 그래프 그리기
• 3. 그래프 4대 천왕 : 막대 그래프, 선 그래프, 산점도, 히스토그램
• 4. 시계열 데이터 시각화
• 5. Heatmap
Visualization
• 시각화는 데이터를 파악하는 데 매우 중요한 도구입니다.
• 파이썬은 Pandas, Matplotlib, Seaborn 등 여러 가지 시각화 라이브러리를 제공합니다.
• Matplotlib와 Seaborn 역시 Pandas와 동일하게 pip을 이용해 설치하시면 됩니다.
• !pip list | grep matplotlib
• !pip list | grep seaborn
• 상세한 이론은 실습 과정을 통해서 설명 드리도록 하겠습니다.
Visualization
감사합니다.

More Related Content

Similar to JetsonTX2 Python

[3장] 딥러닝을 위한 환경 구축하기 | 수학 통계를 몰라도 이해할 수 있는 쉬운 딥러닝 | 반병현
[3장] 딥러닝을 위한 환경 구축하기 | 수학 통계를 몰라도 이해할 수 있는 쉬운 딥러닝  | 반병현[3장] 딥러닝을 위한 환경 구축하기 | 수학 통계를 몰라도 이해할 수 있는 쉬운 딥러닝  | 반병현
[3장] 딥러닝을 위한 환경 구축하기 | 수학 통계를 몰라도 이해할 수 있는 쉬운 딥러닝 | 반병현Byunghyun Ban
 
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기Chanwoong Kim
 
파이콘 2017 그만퇴근합시다_이지호
파이콘 2017 그만퇴근합시다_이지호파이콘 2017 그만퇴근합시다_이지호
파이콘 2017 그만퇴근합시다_이지호Jiho Lee
 
Python 생태계의 이해
Python 생태계의 이해Python 생태계의 이해
Python 생태계의 이해용 최
 
코분투메뉴얼 10.04 Cobuntu Manual
코분투메뉴얼 10.04 Cobuntu Manual코분투메뉴얼 10.04 Cobuntu Manual
코분투메뉴얼 10.04 Cobuntu ManualUbuntu Korea Community
 
게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
게임 개발에 도움을 주는 CruiseControl.NET과 Windows TerminalOnGameServer
 
Flask! - python web framework flask 튜토리얼
Flask! - python web framework flask 튜토리얼Flask! - python web framework flask 튜토리얼
Flask! - python web framework flask 튜토리얼mangonamu
 
2장 리눅스의 기초
2장 리눅스의 기초2장 리눅스의 기초
2장 리눅스의 기초Young Jin Suh
 
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발Jeongkyu Shin
 
[Tf2017] day1 jwkang_pub
[Tf2017] day1 jwkang_pub[Tf2017] day1 jwkang_pub
[Tf2017] day1 jwkang_pubJaewook. Kang
 
200720 바이오협회 생물정보학 파이썬 강의
200720 바이오협회 생물정보학 파이썬 강의 200720 바이오협회 생물정보학 파이썬 강의
200720 바이오협회 생물정보학 파이썬 강의 Joohyun Han
 
Envoy 를 이용한 코드 배포 자동화
Envoy 를 이용한 코드 배포 자동화Envoy 를 이용한 코드 배포 자동화
Envoy 를 이용한 코드 배포 자동화Juwon Kim
 
맨땅에서 AI학습플랫폼을 만들기까지
맨땅에서 AI학습플랫폼을 만들기까지맨땅에서 AI학습플랫폼을 만들기까지
맨땅에서 AI학습플랫폼을 만들기까지Sunwoo Park
 
Virtual Development Environment Setting
Virtual Development Environment SettingVirtual Development Environment Setting
Virtual Development Environment SettingKwangyoun Jung
 
파이썬 플라스크로 배우는 웹프로그래밍 #1 (ABCD Foundation)
파이썬 플라스크로 배우는 웹프로그래밍 #1 (ABCD Foundation)파이썬 플라스크로 배우는 웹프로그래밍 #1 (ABCD Foundation)
파이썬 플라스크로 배우는 웹프로그래밍 #1 (ABCD Foundation)성일 한
 
Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)정명훈 Jerry Jeong
 
데이터분석의 길 2: “고수는 최고의 연장을 사용한다” (툴채인)
데이터분석의 길 2:  “고수는 최고의 연장을 사용한다” (툴채인)데이터분석의 길 2:  “고수는 최고의 연장을 사용한다” (툴채인)
데이터분석의 길 2: “고수는 최고의 연장을 사용한다” (툴채인)Jaimie Kwon (권재명)
 
200718 덕성여대 생물정보학 강의 :: 생물정보학 파이썬
200718 덕성여대 생물정보학 강의 :: 생물정보학 파이썬200718 덕성여대 생물정보학 강의 :: 생물정보학 파이썬
200718 덕성여대 생물정보학 강의 :: 생물정보학 파이썬Joohyun Han
 

Similar to JetsonTX2 Python (20)

[3장] 딥러닝을 위한 환경 구축하기 | 수학 통계를 몰라도 이해할 수 있는 쉬운 딥러닝 | 반병현
[3장] 딥러닝을 위한 환경 구축하기 | 수학 통계를 몰라도 이해할 수 있는 쉬운 딥러닝  | 반병현[3장] 딥러닝을 위한 환경 구축하기 | 수학 통계를 몰라도 이해할 수 있는 쉬운 딥러닝  | 반병현
[3장] 딥러닝을 위한 환경 구축하기 | 수학 통계를 몰라도 이해할 수 있는 쉬운 딥러닝 | 반병현
 
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
[NDC18] 만들고 붓고 부수고 - 〈야생의 땅: 듀랑고〉 서버 관리 배포 이야기
 
파이콘 2017 그만퇴근합시다_이지호
파이콘 2017 그만퇴근합시다_이지호파이콘 2017 그만퇴근합시다_이지호
파이콘 2017 그만퇴근합시다_이지호
 
Python 생태계의 이해
Python 생태계의 이해Python 생태계의 이해
Python 생태계의 이해
 
코분투메뉴얼 10.04 Cobuntu Manual
코분투메뉴얼 10.04 Cobuntu Manual코분투메뉴얼 10.04 Cobuntu Manual
코분투메뉴얼 10.04 Cobuntu Manual
 
게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
게임 개발에 도움을 주는 CruiseControl.NET과 Windows Terminal
 
Flask! - python web framework flask 튜토리얼
Flask! - python web framework flask 튜토리얼Flask! - python web framework flask 튜토리얼
Flask! - python web framework flask 튜토리얼
 
2장 리눅스의 기초
2장 리눅스의 기초2장 리눅스의 기초
2장 리눅스의 기초
 
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
 
[Tf2017] day1 jwkang_pub
[Tf2017] day1 jwkang_pub[Tf2017] day1 jwkang_pub
[Tf2017] day1 jwkang_pub
 
200720 바이오협회 생물정보학 파이썬 강의
200720 바이오협회 생물정보학 파이썬 강의 200720 바이오협회 생물정보학 파이썬 강의
200720 바이오협회 생물정보학 파이썬 강의
 
Envoy 를 이용한 코드 배포 자동화
Envoy 를 이용한 코드 배포 자동화Envoy 를 이용한 코드 배포 자동화
Envoy 를 이용한 코드 배포 자동화
 
18 1 파이썬패키지
18 1 파이썬패키지18 1 파이썬패키지
18 1 파이썬패키지
 
맨땅에서 AI학습플랫폼을 만들기까지
맨땅에서 AI학습플랫폼을 만들기까지맨땅에서 AI학습플랫폼을 만들기까지
맨땅에서 AI학습플랫폼을 만들기까지
 
System+os study 1
System+os study 1System+os study 1
System+os study 1
 
Virtual Development Environment Setting
Virtual Development Environment SettingVirtual Development Environment Setting
Virtual Development Environment Setting
 
파이썬 플라스크로 배우는 웹프로그래밍 #1 (ABCD Foundation)
파이썬 플라스크로 배우는 웹프로그래밍 #1 (ABCD Foundation)파이썬 플라스크로 배우는 웹프로그래밍 #1 (ABCD Foundation)
파이썬 플라스크로 배우는 웹프로그래밍 #1 (ABCD Foundation)
 
Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)
 
데이터분석의 길 2: “고수는 최고의 연장을 사용한다” (툴채인)
데이터분석의 길 2:  “고수는 최고의 연장을 사용한다” (툴채인)데이터분석의 길 2:  “고수는 최고의 연장을 사용한다” (툴채인)
데이터분석의 길 2: “고수는 최고의 연장을 사용한다” (툴채인)
 
200718 덕성여대 생물정보학 강의 :: 생물정보학 파이썬
200718 덕성여대 생물정보학 강의 :: 생물정보학 파이썬200718 덕성여대 생물정보학 강의 :: 생물정보학 파이썬
200718 덕성여대 생물정보학 강의 :: 생물정보학 파이썬
 

More from taeseon ryu

OpineSum Entailment-based self-training for abstractive opinion summarization...
OpineSum Entailment-based self-training for abstractive opinion summarization...OpineSum Entailment-based self-training for abstractive opinion summarization...
OpineSum Entailment-based self-training for abstractive opinion summarization...taeseon ryu
 
3D Gaussian Splatting
3D Gaussian Splatting3D Gaussian Splatting
3D Gaussian Splattingtaeseon ryu
 
Hyperbolic Image Embedding.pptx
Hyperbolic  Image Embedding.pptxHyperbolic  Image Embedding.pptx
Hyperbolic Image Embedding.pptxtaeseon ryu
 
MCSE_Multimodal Contrastive Learning of Sentence Embeddings_변현정
MCSE_Multimodal Contrastive Learning of Sentence Embeddings_변현정MCSE_Multimodal Contrastive Learning of Sentence Embeddings_변현정
MCSE_Multimodal Contrastive Learning of Sentence Embeddings_변현정taeseon ryu
 
LLaMA Open and Efficient Foundation Language Models - 230528.pdf
LLaMA Open and Efficient Foundation Language Models - 230528.pdfLLaMA Open and Efficient Foundation Language Models - 230528.pdf
LLaMA Open and Efficient Foundation Language Models - 230528.pdftaeseon ryu
 
Dataset Distillation by Matching Training Trajectories
Dataset Distillation by Matching Training Trajectories Dataset Distillation by Matching Training Trajectories
Dataset Distillation by Matching Training Trajectories taeseon ryu
 
Packed Levitated Marker for Entity and Relation Extraction
Packed Levitated Marker for Entity and Relation ExtractionPacked Levitated Marker for Entity and Relation Extraction
Packed Levitated Marker for Entity and Relation Extractiontaeseon ryu
 
MOReL: Model-Based Offline Reinforcement Learning
MOReL: Model-Based Offline Reinforcement LearningMOReL: Model-Based Offline Reinforcement Learning
MOReL: Model-Based Offline Reinforcement Learningtaeseon ryu
 
Scaling Instruction-Finetuned Language Models
Scaling Instruction-Finetuned Language ModelsScaling Instruction-Finetuned Language Models
Scaling Instruction-Finetuned Language Modelstaeseon ryu
 
Visual prompt tuning
Visual prompt tuningVisual prompt tuning
Visual prompt tuningtaeseon ryu
 
variBAD, A Very Good Method for Bayes-Adaptive Deep RL via Meta-Learning.pdf
variBAD, A Very Good Method for Bayes-Adaptive Deep RL via Meta-Learning.pdfvariBAD, A Very Good Method for Bayes-Adaptive Deep RL via Meta-Learning.pdf
variBAD, A Very Good Method for Bayes-Adaptive Deep RL via Meta-Learning.pdftaeseon ryu
 
Reinforced Genetic Algorithm Learning For Optimizing Computation Graphs.pdf
Reinforced Genetic Algorithm Learning For Optimizing Computation Graphs.pdfReinforced Genetic Algorithm Learning For Optimizing Computation Graphs.pdf
Reinforced Genetic Algorithm Learning For Optimizing Computation Graphs.pdftaeseon ryu
 
The Forward-Forward Algorithm
The Forward-Forward AlgorithmThe Forward-Forward Algorithm
The Forward-Forward Algorithmtaeseon ryu
 
Towards Robust and Reproducible Active Learning using Neural Networks
Towards Robust and Reproducible Active Learning using Neural NetworksTowards Robust and Reproducible Active Learning using Neural Networks
Towards Robust and Reproducible Active Learning using Neural Networkstaeseon ryu
 
BRIO: Bringing Order to Abstractive Summarization
BRIO: Bringing Order to Abstractive SummarizationBRIO: Bringing Order to Abstractive Summarization
BRIO: Bringing Order to Abstractive Summarizationtaeseon ryu
 
ProximalPolicyOptimization
ProximalPolicyOptimizationProximalPolicyOptimization
ProximalPolicyOptimizationtaeseon ryu
 

More from taeseon ryu (20)

VoxelNet
VoxelNetVoxelNet
VoxelNet
 
OpineSum Entailment-based self-training for abstractive opinion summarization...
OpineSum Entailment-based self-training for abstractive opinion summarization...OpineSum Entailment-based self-training for abstractive opinion summarization...
OpineSum Entailment-based self-training for abstractive opinion summarization...
 
3D Gaussian Splatting
3D Gaussian Splatting3D Gaussian Splatting
3D Gaussian Splatting
 
Hyperbolic Image Embedding.pptx
Hyperbolic  Image Embedding.pptxHyperbolic  Image Embedding.pptx
Hyperbolic Image Embedding.pptx
 
MCSE_Multimodal Contrastive Learning of Sentence Embeddings_변현정
MCSE_Multimodal Contrastive Learning of Sentence Embeddings_변현정MCSE_Multimodal Contrastive Learning of Sentence Embeddings_변현정
MCSE_Multimodal Contrastive Learning of Sentence Embeddings_변현정
 
LLaMA Open and Efficient Foundation Language Models - 230528.pdf
LLaMA Open and Efficient Foundation Language Models - 230528.pdfLLaMA Open and Efficient Foundation Language Models - 230528.pdf
LLaMA Open and Efficient Foundation Language Models - 230528.pdf
 
YOLO V6
YOLO V6YOLO V6
YOLO V6
 
Dataset Distillation by Matching Training Trajectories
Dataset Distillation by Matching Training Trajectories Dataset Distillation by Matching Training Trajectories
Dataset Distillation by Matching Training Trajectories
 
RL_UpsideDown
RL_UpsideDownRL_UpsideDown
RL_UpsideDown
 
Packed Levitated Marker for Entity and Relation Extraction
Packed Levitated Marker for Entity and Relation ExtractionPacked Levitated Marker for Entity and Relation Extraction
Packed Levitated Marker for Entity and Relation Extraction
 
MOReL: Model-Based Offline Reinforcement Learning
MOReL: Model-Based Offline Reinforcement LearningMOReL: Model-Based Offline Reinforcement Learning
MOReL: Model-Based Offline Reinforcement Learning
 
Scaling Instruction-Finetuned Language Models
Scaling Instruction-Finetuned Language ModelsScaling Instruction-Finetuned Language Models
Scaling Instruction-Finetuned Language Models
 
Visual prompt tuning
Visual prompt tuningVisual prompt tuning
Visual prompt tuning
 
mPLUG
mPLUGmPLUG
mPLUG
 
variBAD, A Very Good Method for Bayes-Adaptive Deep RL via Meta-Learning.pdf
variBAD, A Very Good Method for Bayes-Adaptive Deep RL via Meta-Learning.pdfvariBAD, A Very Good Method for Bayes-Adaptive Deep RL via Meta-Learning.pdf
variBAD, A Very Good Method for Bayes-Adaptive Deep RL via Meta-Learning.pdf
 
Reinforced Genetic Algorithm Learning For Optimizing Computation Graphs.pdf
Reinforced Genetic Algorithm Learning For Optimizing Computation Graphs.pdfReinforced Genetic Algorithm Learning For Optimizing Computation Graphs.pdf
Reinforced Genetic Algorithm Learning For Optimizing Computation Graphs.pdf
 
The Forward-Forward Algorithm
The Forward-Forward AlgorithmThe Forward-Forward Algorithm
The Forward-Forward Algorithm
 
Towards Robust and Reproducible Active Learning using Neural Networks
Towards Robust and Reproducible Active Learning using Neural NetworksTowards Robust and Reproducible Active Learning using Neural Networks
Towards Robust and Reproducible Active Learning using Neural Networks
 
BRIO: Bringing Order to Abstractive Summarization
BRIO: Bringing Order to Abstractive SummarizationBRIO: Bringing Order to Abstractive Summarization
BRIO: Bringing Order to Abstractive Summarization
 
ProximalPolicyOptimization
ProximalPolicyOptimizationProximalPolicyOptimization
ProximalPolicyOptimization
 

JetsonTX2 Python

  • 1. Jetson TX2 로 진행하는 Python 강의
  • 2. 여러분들은? • 현재 어떠한 일을 하고 계신가요? • 왜 참여하시게 되셨나요? • 무엇을 얻어가고 싶으신가요? • Jetson TX2 / 파이썬 등의 용어를 들어보신 적이 있으신가요?
  • 3. 준비물 • Jetson TX2 • SD card • HDMI cable • Monitor, Mouse, Keyboard (USB) • Internet TX2 Reference : https://developer.nvidia.com/blog/jetson-tx2-delivers-twice-intelligence-edge/
  • 4. Jetson TX2 초기 설정 • 박스 개봉 이후 조립 진행 • 반드시 HDMI가 지원되는 모니터에 Jetson TX2를 연결하고 화면에 표기되는 명령을 실행하여 초기 설정 진행 • Jetson TX2는 Ubontu 16.04 LTS 버전 사용 • 기본 username & password == nvidia
  • 5. Nvidia JetPack이란? • JetPack SDK는 NVIDIA에서 제공하는 AI 응용 프로그램을 구축할 때 사용하 는 포괄적인 솔루션입니다. • JetPack 인스톨러를 사용하여 최신 OS 이미지로 Jetson Developer Kit을 플 래시하고, 호스트 PC와 개발자 키트 용 개발자 도구를 설치하며, 개발 환경 을 빠르게 시작하는 데 필요한 라이브러리와 API, 샘플 및 문서를 설치할 수 있습니다.
  • 6. Nvidia JetPack이란? • L4T R28.2가 탑재 된 JetPack 3.2는 NVIDIA Jetson TX2, Jetson TX 2i 및 Jetson TX1의 최신 프로덕션 소프트웨어 릴리스입니다. • TensorRT, cuDNN, CUDA 툴킷, VisionWorks, GStreamer 및 OpenC V를 포함한 모든 Jetson 플랫폼 소프트웨어를 번들로 제공하며 LTS Li nux 커널과 함께 L4T 위에 구축되었습니다. • 주요 특징으로는 TensorFlow 모델 지원, DL 응용 프로그램의 최대 15 % perf / W 향상, Docker에 대한 즉시 사용 가능한 커널 지원 및 호스트 PC에서의 Ubuntu 16.04 지원이 포함됩니다. • JetPack의 최신버전은 https://developer.nvidia.com/embedded/jetpack 에서 다운 받으실 수 있습니다.
  • 8. Ubuntu •우분투 (Ubuntu)는 Linux 기반으로 만들어진 OS (Operating System : 운영체제)
  • 12. Terminal •우분투 (Ubuntu)에서 Ctrl + Alt + T 로 터미널 실행
  • 14. Terminal • (1) 가장 첫번째 명령, 내 이름을 보여줘! • $ whoami • $는 무엇일까요? • 이는 사용자의 명령을 받아일 준비가 되었음을 나타내는 표시입니다. • 이는 현재 로그인한 유저 정보를 나타냅니다.
  • 15. Terminal • (2) 내 현재 위치는 어디야? 경로를 출력해줘! • $ pwd • Pwd는 Print Working Directory의 약자로, 현재 터미널에서 내가 위치해 있는 경로를 알고 싶을 때의 명령어
  • 16. Terminal • (3) 현재 디렉토리 내에 있는 모든 파일 목록을 보여줘! • $ ls • ls는 list의 줄임말로, 현재 디렉토리 내의 모든 파일 또는 하위 디렉토리의 목록을 모두 출력합니다. 추가 참고 레퍼런스 : https://www.leafcats.com/137
  • 17. Terminal • (4) 원하는 디렉토리로 이동해보자! • $ cd • cd는 Change Directory, 즉 디렉토리 변경의 줄임말입니다. cd 명령어 뒤에 이동하기를 원하는 디렉토리 이름을 입력 하면 그 디렉토리로 이동합니다.
  • 18. Terminal • 상위 폴더로 이동하고 싶다면? • $ cd .. • cd 뒤에 원하는 디렉토리의 이름 대신, .. 을 입력하면 사위 폴더로 나가게 됩니다.
  • 19. Terminal • $ cd ~ • cd ~ 라는 명령어는 ~ 위치로 이동시키라는 명령어 • 여러 디렉토리 안으로 깊게 들어갔는데 한 번에 Home 디 렉토리로 돌아오고 싶을 때 유용한 명령어입니다.
  • 20. Terminal • (5) 새 폴더 만들기, 또는 폴더 삭제하기 • $ mkdir new_folder • Mkdir 은 직관적으로 봐도 Make Directory로 보이는 군요. New_folder 라는 폴더를 생성한 후 ls 명령어로 목록을 다 시 출력하면 new_folder 라는 디렉토리가 새로 생긴 것을 확인 할 수 있습니다.
  • 21. Terminal • (5) 새 폴더 만들기, 또는 폴더 삭제하기 • $ rm -r new_folder • rm -r 명령어 뒤에 삭제하길 원하는 디렉토리 명을 입력하 면 삭제가 됩니다. rm은 Romve의 줄임말입니다. - r 옵션 은 디렉토리를 삭제할 때, 하위 모든 파일을 삭제할 때 사 용. 그외 일반 파일을 삭제할 때에는 rm 명령어만 입력하 면 됩니다.
  • 22. Terminal • (5) 파일을 원하는 곳으로 옮기거나, 복사하기 • $ mv new_folder 원하는 폴더 • mv 명령어는 영어 단어 Move를 줄여서 만든 것임을 어렵 지않게 추측할 수 있죠. 파일이나 디렉토리를 옮기고 싶을 때에는 mv 명령어 뒤에 이동하고 싶은 파일 , 이동할 목 적지 디렉토리 를 순서대로 입력해주면 됩니다.
  • 23. Terminal • (5) 파일을 원하는 곳으로 옮기거나, 복사하기 • $ cp –r new_folder .. • 위의 명령어로 new_folder 를 .. 의 위치,즉 상위폴더에 복사했습니다.물론 cp 는Copy의 줄임말입니다.
  • 24. Terminal 실습 • (1) Home 디렉토리 밑에 my_first_directory 라는 이름의 디렉토리 를 생성하고, 그 밑에 sub_directory 를 또 생성하세요. • (2) sub_ directory 를 Home 디렉토리로 옮겨보세요. • (3) sub_directory 를 다시 my_first_directory 밑으로 복사해보세요. • (4) my_first_directory 와 sub_directory 를 모두 삭제하세요.
  • 25. 우분투 패키지 관리 • 우분투에서 패키지를 관리하기 위해 주로 쓰이는 명령어는 apt-get 입니다. • 참고 레퍼런스 : https://codechacha.com/ko/linux-apt-commands/ • 위의 참고 레퍼런스를 기반으로 다음 페이지에서 질문을 드리겠습니다.
  • 26. 우분투 패키지 관리 • Q1. apt-get 앞에 붙는 명령어는 무엇인가요? • Q2. sudo 는 어떤 의미를 가질까요? 직접 한 번 검색해서 찾아보세요! • Q3. 지금까지 설치된 패키지 리스트를 확인하는 명령어에 대한 설명이 없습니다. 리스트를 확인 하는 명령어를 직접 검색해서 찾아보세요!
  • 27. 우분투 패키지 관리 • 컴퓨터에 설치된 패키지 인덱스 정보를 업데이트 • $ sudo apt-get update • 모든 패키지에 대해 새롭게 업데이트 된 버전이 있다면, 전부 업데이트 • $ sudo apt-get upgrade • 예시 코드 • $ sudo apt-get install -y cmatrix • -y 라는 옵션은 설치 중간중간 나오는 질문들에 대해 모두 yes • $ cmatrix # Run
  • 29. Python • 파이썬(Python)은 네덜란드의 귀도 반 로섬(Guido van Rossum)이 개발한 프로그래밍 언어입니다. • 귀도는 1989년 크리스마스가 있던 주에 자신이 출근하던 연구실의 문이 닫혀 있어서 취미삼아 파이썬을 만들었다고 합니다. 이후 개발을 거듭하여 1991년에 파이썬을 외부에 공개하게 됩니다. • 파이썬이라는 이름은 귀도가 즐겨 봤던 코미디 프로그램인 몬티 파이썬의 날아다니는 써커스 <Monty Python's Flying Circus>에서 따왔습니다. • 참고로 파이썬의 로고 및 아이콘이 뱀 모양인 이유는 python의 원래 뜻이 비단뱀이라서 그렇습니다.
  • 30. Python 의 특징 • Life is short, You needs Python. • 1. 쉽고 간결 • C에서 “Hello World” 를 출력하기 위해서 6 ~ 8 문장을 작성해야 하지만, Python에서는 오직 한 줄. print(“Hello World”) 한 줄만 적으면 됩니다. • 2. 라이브러리가 많고 활용이 쉬움 • Numpy, Pandas, Scipy, Scikit-learn 등 데이터 수집 및 분석을 위한 라이브러리 등이 많아 편리하고 “!pip install numpy” 와 같이 간단한 명령어로 라이브러리를 설치 할 수 있습니다. • 3. 대중적인 언어 • 최근 AI를 위한 사용되고 있는 대부분의 라이브러리들은 Python을 기반으로 하고 있으며, 세계적으로 첫 프로그래밍 언어로 Python을 배우는 비율이 매우 높아졌습니다.
  • 31. Python 의 활용 분야 • 1. 데이터 분석 • Pandas라는 라이브러리를 활용하면 excel이나 csv 등 table 형태로 되어있는 data를 컨트롤하기 쉽고 scipy나 scikit-learn 등의 라이브러리를 활용하면 통계 관련 연산이나 머신러닝 등의 활용을 쉽게 할 수 있습니다. • 또한, matplotlib 라이브러리 등을 활용한 각종 data의 시각화가 가능하여 시각적으로 data를 분석하는데도 용이합니다. • 2. 데이터 크롤링 • requests 모듈이나 BeautifulSoup, selenium 등을 활용하여 인터넷에서 data를 수집하고 저장하는 것을 쉽게 할 수 있습니다. • 3. 데이터베이스 프로그래밍 • 파이썬은 Oracle, MySQL, PostgreSQL, Amazon S3 등의 데이터베이스에 접근하기 위한 도구를 갖고 있어서 이런 데이터베이스와 연계하여 프로그래밍 하는 것이 가능합니다.
  • 32. Python 설치 및 실행 • Python (https://www.python.org/) • Anaconda (https://www.anaconda.com/products/distribution) • Colab (https://colab.research.google.com/?hl=ko)
  • 34. Python 설치 및 실행 Window 에서 Python 설치하기
  • 35. Python 설치 및 실행 다운로드한 python-3.6.0.exe 파일을 실행하면 설치 화면이 표시됩니다. Add Python 3.6 to PATH에 체크하고 Install Now를 클릭합니다. 여기서 Add Python 3.6 to PATH는 명령 프롬프트 어디서나 파이썬을 실행할 수 있게 해줍니다. 반드시 체크하세요. 사용자 계정 컨트롤 창이 표시되면 예를 클릭합니다.
  • 36. Python 설치 및 실행 이제 파이썬이 설치됩니다.
  • 37. Python 설치 및 실행 파이썬 설치가 끝났습니다. 여기서 Disable path length limit를 클릭합니다. Windows는 파일 이름과 경로의 길이가 260자로 제한되어 있습니다. 260자를 넘더라도 문제가 발생하지 않도록 길이 제한을 해제합니다.
  • 38. Python 설치 및 실행 사용자 계정 컨트롤 창이 표시되면 예를 클릭합니다. 파이썬 설치가 끝났습니다. Close 버튼을 클릭하여 설치 창을 닫습니다.
  • 39. Python 설치 및 실행 Mac 에서 Python 설치하기
  • 40. 우분투에서 Python 설치 및 실행 # 1. Python 설치 전 라이브러리 설치하기 Ubuntu 에서 ctrl + art + t 로 터미널을 열어 아래의 코드를 입력합니다. 설치 중간 중간에 [Y/n] 중에 고르라고 나오면 Y를 타이핑하고 엔터를 해주시면 됩니다. • $ sudo apt-get update • $ sudo apt-get upgrade • $ sudo apt-get dist-upgrade • $ sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus • $ sudo apt-get install libncursesw5-dev libgdbm-dev libc6-dev • $ sudo apt-get install zlib1g-dev libsqlite3-dev tk-dev • $ sudo apt-get install libssl-dev openssl • $ sudo apt-get install libffi-dev
  • 41. 우분투에서 Python 설치 및 실행 # 2. Python 홈페이지에서 소스 다운로드 받기 홈페이지로 이동해서 최신 Python version 을 클릭하여 접속합니다. 쭉 내려가면 Gzipped source tarball 링크가 있습니다. 그 위에 마우스를 가져다 대면 https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tgz 아래 위와 같은 링크가 하나 보입니다. 이제 wget 명령어를 사용해서 다운로드 받겠습니다. • $ wget https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tgz ls 명령어를 통해 파일이 있는지 확인해줍니다.
  • 42. 우분투에서 Python 설치 및 실행 # 3. 설치하기 tgz 파일이 잘 다운받아져 있는 것을 확인했다면, tgz 파일의 압축을 풀어줍니다. 압축 해재하는 코드는 다음과 같습니다. • $ tar xvfz Python-3.11.0.tgz 압축이 해제하였으면 다시 ls 명령어를 통해 압축이 해제 되었는지 확인해줍니다. Python-3.11.0 로 압축해제 되어 있는 것이 보이실 겁니다. • $ cd Python-3.11.0 명령어로 해당 디렉토리에 들어갑니다.
  • 43. 우분투에서 Python 설치 및 실행 다시 ls 명령어를 사용하여 configure가 있는지 확인합니다. • $ ./configure • $ make • $ sudo make install 위의 명령어로 설치해 줍니다. 설치가 끝나면 아래의 명령어로 python의 버전이 어떤 것이 있는지 확인합니다. 여기서 주의해야할 사항으로는 기본적으로 리눅스는 python 2.x 버전이 설치되어 있어 python - V 하면 python2.x 버전이 확인되오니 꼭 python3 -V 로 하기 바랍니다. • $ python3 -V 설치가 완료되면 • Python 3.11.0 위와 같이 나오게 되면 Python 설치가 된 것입니다.
  • 44. Python IDE • Visual Studio Code: 마이크로소프트에서 제공하는 오픈 소스 코 드 에디터입니다. (https://code.visualstudio.com) • Sublime Text: 파이썬 3 기반의 코드 에디터입니다. 다양한 플러 그인을 제공하며 플러그인 자체도 파이썬으로 작성할 수 있습니 다. (https://www.sublimetext.com) • PyCharm: 가장 유명한 파이썬 개발 도구 중 하나입니다. 파이썬 개발에 필요한 다양한 기능을 제공합니다. (https://www.jetbrains. com/pycharm)
  • 45. • https://code.visualstudio.com/docs/setup/linux $ wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg $ sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/ $ sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list’ $ rm -f packages.microsoft.gpg $ sudo apt install apt-transport-https $ sudo apt update $ sudo apt install code 우분투에서 VSCode 설치
  • 46. 참고 • 혹여나, Jetson TX2 에서 다양한 이슈가 발생하는 경우, • 수강생 분들의 로컬 환경에서 사용 가능한 “Google Colab" 을 활용해서 강의를 진행하도록 하겠습니다.
  • 47. • Colab은 구글에서 제공하는 서비스로, 파이썬을 인터넷 환경에서 다룰 수 있고 일정시간동안 GPU를 무료로 사용할 수 있어서 간단한 실험에 많이 사용됨 • https://colab.research.google.com/ Colab 준비
  • 49. Colab 준비 파일 이름 변경 코드를 셀별로 작성
  • 50. 코드를 작성후 Alt + Enter 로 코드를 실행 파일>저장 혹은 Ctrl + S 로 저장 Colab 준비
  • 51. 파이썬 기초 문법의 종류 • 파이썬 시작 – print() 함수 • 변수 – 변수의 개념 & 문풀 • 문자열 – 문자열 인덱싱, 슬라이싱 기능 & 다양한 메서드 • 리스트 – 파이썬 리스트는 순서가 있고 수정 가능한 자료구조 • 튜플 – 파이썬 튜플은 순서가 있지만 수정 불가능한 자료구조 • 딕셔너리 – 파이썬 딕셔너리는 순서는 없지만, key & value 형태 • 분기문 – if 문 • 반복문 – for 문 & while 문 • 함수 – 변수가 어떤 값을 바인딩 하는 것처럼 함수는 어떤 코드를 바인딩 • Class – 위에서 배운 내용을 적용!
  • 52. 파이썬 이론 & 실습 위에서 나온 개념들을 하나씩 실습해 보고, 문제를 풀어보며 개념들과 친숙해지는 시간을 가져보도록 하겠습니다.
  • 53. Numpy
  • 54. Numpy 이론 & 실습 목차 • 1. Numpy 활용해서 진행해보기 • Numpy 소개 • Numpy 주요기능 • Numpy로 기본 통계 데이터 계산해보기 • 2. 데이터의 행렬 변환 • 데이터의 행렬 변환 • 이미지의 행렬 변환
  • 55. Numpy 이론 & 실습 • NumPy는 Numerical Python의 줄임말로, 과학 계산용 고성능 컴퓨팅과 데이터 분석에 필요한 파이썬 패키 지입니다. • 파이썬 기본 패키지 관리자인 pip안에는 NumPy가 없으므로 새로 설치를 하셔야 해요. conda를 사용하신 다면 기본적으로 포함되어 있기도 하지만 그렇지 않은 경우도 있으니 conda list | grep numpy로 설치 여 부를 먼저 확인해 주세요! • 설치 명령어는 다음과 같습니다. • !pip install numpy • 파이썬 패키지 관리자에 대해 설명하자면, pip은 "package installer for python"의 약자로 파이썬 전용 패 키지 설치 소프트웨어입니다. • 파이썬을 설치하면 자동으로 설치됩니다.
  • 56. Numpy 이론 & 실습 • NumPy 공식 사이트에 소개된 NumPy의 장점 • 1. 빠르고 메모리를 효율적으로 사용하여 벡터의 산술 연산과 브로드캐스팅 연산을 지원하는 다차원 배열 ndarray 데이터 타입을 지원한다. • 2. 반복문을 작성할 필요 없이 전체 데이터 배열에 대해 빠른 연산을 제공하는 다양한 표준 수학 함수 를 제공한다. • 3. 배열 데이터를 디스크에 쓰거나 읽을 수 있다. (즉 파일로 저장한다는 뜻입니다) • 4. 선형대수, 난수발생기, 푸리에 변환 가능, C/C++ 포트란으로 쓰여진 코드를 통합한다. • 실습을 통해 NumPy의 주요 기능들을 하나씩 살펴보겠습니다.
  • 58. 목차 • 1. 구조화된 데이터란? • 2. 구조화된 데이터와 Pandas • Series • DataFrame • 3. Pandas와 함께 EDA 시작하기 Pandas
  • 59. 구조화된 데이터를 효과적으로 표현하기 위해 pandas라는 파이썬 라이브러리는 Series와 DataFrame이라는 자료 구조를 제공합니다. 이 데이터 타입을 활용하면 구조화된 데이터를 더 쉽게 다룰 수 있습니다. • pandas의 특징을 나열하면 다음과 같습니다. • NumPy기반에서 개발되어 NumPy를 사용하는 애플리케이션에서 쉽게 사용 가능 • 축의 이름에 따라 데이터를 정렬할 수 있는 자료 구조 • 다양한 방식으로 인덱싱(indexing)하여 데이터를 다룰 수 있는 기능 • 통합된 시계열 기능과 시계열 데이터와 비시계열 데이터를 함께 다룰 수 있는 통합 자료 구조 • 누락된 데이터 처리 기능 • 데이터베이스처럼 데이터를 합치고 관계 연산을 수행하는 기능 • pandas는 NumPy와 동일하게 pip을 이용해서 설치할 수 있어요. • !pip install pandas • 상세한 이론은 실습 과정을 통해서 설명 드리도록 하겠습니다. Pandas
  • 61. 목차 • 1. 파이썬으로 그래프 그린다는 건? • 2. 간단한 그래프 그리기 • 3. 그래프 4대 천왕 : 막대 그래프, 선 그래프, 산점도, 히스토그램 • 4. 시계열 데이터 시각화 • 5. Heatmap Visualization
  • 62. • 시각화는 데이터를 파악하는 데 매우 중요한 도구입니다. • 파이썬은 Pandas, Matplotlib, Seaborn 등 여러 가지 시각화 라이브러리를 제공합니다. • Matplotlib와 Seaborn 역시 Pandas와 동일하게 pip을 이용해 설치하시면 됩니다. • !pip list | grep matplotlib • !pip list | grep seaborn • 상세한 이론은 실습 과정을 통해서 설명 드리도록 하겠습니다. Visualization