티스토리 뷰
2020.12.13 17:22
2020.12.30 (화)
인공지능 학습을 위한 기초 지식 및 터미널과 친해지기
<학습내용 키워드>
1. 우분투는 뭐야?
2. 파이썬이 좋나? 다른 언어는?
3. 텐서플로우는 또 뭐야?
4. 터미널이 좋아? 뭐? IDE를 써보라고?
5. 그래서 터미널은 어떻게 쓰는데? 명령어 좀 알려줘
6. 가상환경 중요한 거 알겠는데 자세히 알려줘
1. 우분투는 뭐야?
*운영체제(Operating System)
1. 하드웨어 자원과 소프트웨어 자원을 효율적으로 관리할 수 있게 해주는 시스템 소프트웨어
2. 사용자에게 편리함을 제공하고 시스템의 생산성을 높인다.
3. 다양한 하드웨어를 구동하기 위해서 공통된 작업(메모리에 데이터를 올리기, 입출력 장치와 주고 받기 등)을 개별의 하드웨어를 대신해 실행
4. 개별의 하드웨어는 각자의 기능만을 하면 되고, 공통된 작업은 운영체제에 요청해서 자원의 효율적 사용이 가능하다. 즉 사용자는 하드웨어를 잘 몰라도 컴퓨터를 쉽게 만들어주는 것이 운영체제이다.
우분투는 운영체제의 종류 중 하나이다. 리눅스 기반이며 Fedora, RedHat 등이 있다.
<우분투란?>
모양: 여러 명이 함께 둘러서 손을 잡고 원을 만들고 있는 형태.
의미: 자유와 협업 정밀도와 신뢰를 뜻한다.
어원: 남아프리카언어로 "네가 있으니 내가 있다"의미이며 서로 배려하고 공존한다라는 의미로 가져온 단어
2. 파이썬이 좋나? 다른 언어는?
세상엔 다양한 국적과 다양한 언어가 존재하듯 프로그램에도 다양한 언어가 존재한다.
유튜브에 다양한 프로그래밍 언어 추천이 있지만 기준은 다음과 같다.
*** 범용성이 높을 것 ***
이유는 초보자들은 다양한 문제를 겪으며 경험을 쌓는 것이 중요하다!!
python, C, Java 등등!!
※ 2019 stackoverflow 설문조사 기준 고연봉 언어 Top5
1. Clojure
2. F#
3. Go
4. Scala
5. Eilxir
>> 범용성이 낮아 다루는 개발자 & 채용하려는 기업 모두 적어 연봉이 높을 뿐이다.
3. 텐서플로우는 또 뭐야?
간단하게! 당신이 머신러닝/딥러닝을 하고 싶다면 99%이상의 확률로 이용할 라이브러리이다.
여기서 잠깐! 라이브러리/프레임워크/아키텍쳐/플랫폼 구별해보기
(아래 링크의 글을 가져와 작성했습니다.)
[blog.gaerae.com/2016/11/what-is-library-and-framework-and-architecture-and-platform.html]
① 라이브러리: 프로그램 제작 시 필요한 기능 (예시: 자동차 바퀴, 에어백 등)
② 프레임워크: 프로그램 기본 뼈대 (예시: 자동차 프레임)
③ 아키텍쳐: 프로그램 주요 설계 (예시: 자동차 설계도)
④ 플랫폼: 프로그램 실행 환경 (예시: 자동차 주행환경; 고속도로, 사막 등)
4. 터미널이 좋아? 뭐? IDE를 써보라고?
*CLI(Command Line Interface): 명령어를 통해 파일 또는 폴더를 관리, 실행하는 장치로 이해하면 된다.
우분투에서는 ctrl + alt + t 를 활용해 터미널을 불러와 다양한 명령어를 통해 파일 또는 폴더를 관리, 실행할 수 있다.
윈도우즈에서는 마우스를 통해 관리할 수 있지만 우분투에서는 명령어를 통해 수행하는 데 익숙해져야 한다.
Q. 그래서 파이썬 사용할 수 있나?
$ python
이제 우리는 파이썬 언어를 사용해 볼 수 있다.
가장 기본적인 print를 실행해보자
$ print('Hello World!')
종료하고 싶다면
$ exit()
를 실행해 종료하면 된다.
### 하지만 이렇게 한 줄 한 줄 입력해서 언제 프로그램 만드냐!!ㅜ.ㅜ ###
*IDE(Integrated Development Environment): 통합 개발 환경을 뜻하며, 간단하게 말하면 코드 작성과 터미널, 편리한 디버깅 기능 등을 할 수 있는 통합 개발 도구라고 보면 된다.
(IDE 설명)[www.softwaretestinghelp.com/python-ide-code-editors/]
IDE Top5
1. Pycharm
2. Spyder
3. PyDev
4. Idle
5. Wing
위 리스트에는 없지만 Visual Studio Code도 좋은 도구라고 할 수 있다.
5. 그래서 터미널은 어떻게 쓰는데? 명령어 좀 알려줘
1) 폴더/파일 관련 명령
① whoami: 현재 컴퓨터 유저의 이름 출력
② pwd: 현재 디렉토리 위치
③ ls: 현재 디렉토리 내의 모든 파일과 폴더 출력
옵션: ls -al, 끝에 -al을 붙여 상세정보를 확인할 수 있다.
④ cd: 디렉토리 위치 이동
※ cd ~: 현재 위치가 어떻든간에 항상 /home/(username)로 이동 가능
⑤ mkdir: 새로운 폴더 만들기
⑥ rm -r 폴더이름: 폴더 삭제(뒤에 -r 옵션은 하위 폴더/파일 모두 삭제하는 기능, 파일의 경우는 생략)
⑦ cp -r 복사할폴더 이동시킬위치: 복사할 폴더를 지정해 이동시킬 위치를 지정
⑧ mv 이동할폴더 이동시킬위치: 이동할 폴더를 지정해 이동시킬 위치를 지정
cd로 project 폴더로 이동.
mkdir로 new_folder 폴더 생성.
cp -r로 new_folder 폴더를 복사해 ..(상위 폴더)에 이동.
cd ..로 상위 폴더로 이동해서 ls를 실행하면 new_folder가 복사되어 생성된 것을 확인.
mv로 new_folder폴더를 workplace폴더로 이동.
cd workplace로 이동해 ls를 실행하면 new_folder가 이동한 것을 확인 가능.
rm -r로 new_folder폴더 삭제.
ls를 통해 삭제된 것을 확인.
2) apt
① install: 패키지 설치
$ sudo apt-get install 패키지명
② list: 패키지 리스트 확인
$ sudo apt list --installed
<추가> '| grep 패키지명'을 입력해 검색하는 단어를 포함하는 패키지만 출력
$ sudo apt list --installed | grep 패키지명
③ update: 패키지 리스트를 새로 다운받아 업데이트, 주기적으로 실행해주는 것이 좋다.
$ sudo apt-get update
④ upgrade: 설치된 모든 패키지를 상위 버전으로 업그레이드, 하지만 최신 버전이 항상 좋은 것이 아니며 충돌 가능성이 있음
$ sudo apt-get upgrade
⑤ remove: 패키지 삭제
$ sudo apt-get remove 패키지명
⑥ purge: 패키지와 관련 데이터 모두 삭제
$ sudo apt-get purge 패키지명
⑦ --reinstall install : 패키지를 재설치. 설치된 패키지에 문제가 있을때 사용하면 유용
$ sudo apt-get --reinstall install 패키지명
6. 가상환경 중요한 거 알겠는데 자세히 알려줘
*가상환경: 프로젝트 별로 다른 패키지 버전을 사용해야할 때가 많은데, 독립된 환경을 만들어 원하는 버전의 패키지를 설치할 수 있도록 하는 것
* 사용하는 이유: 원하는 패키지 버전을 충돌없이 설치하기 위해
1) 아나콘다 홈페이지에서 리눅스용 설치 파일 다운(.sh)
www.anaconda.com/products/individual
2) 설치
$ cd ~/Downloads
$ bash Anaconda3-2019.03-Linux-x86_64.sh(다운받은 파일명)
위 코드는 아나콘다는 설치하는 방법.
'bash 파일명'을 통해 설치 가능
설치 완료 후 아나콘다의 환경변수가 등록된 것을 확인해야 한다.
등록이 되어 있지 않다면 conda 명령어를 터미널에서 사용할 수 없다.
$ source ~/.bashrc
위 코드는 환경변수 적용할 수 있다.
$ gedit ~/.bashrc
위 코드는 환경변수 확인할 수 있다.
* 콘다 위치 확인
$ which conda
위 코드는 콘다 설치 위치를 알 수 있다.
3) 가상환경 생성
$ conda create -n shate python=3.7
기본적으로 conda를 앞에 두고 실행명령어(create -n)을 통해 가상환경을 만드는 것이며, 바로 뒤에 'shate'는 사용자가 원하는 가상환경 이름이다. 그리고 마지막 'python=3.7'은 가상환경에서 사용할 파이썬 버전을 특정한다.
즉, 가상환경 생성: conda create -n 가상환경이름 python=버전숫자
4) 가상환경 활성화
$ conda activate shate
생성한 가상환경을 활성화하는 명령어이다.
5) 가상환경 리스트
$ conda env list
프로젝트를 다양하게 하다보면 많은 수의 가상환경을 생성하게 되는데 전체 가상환경 리스트를 확인할 수 있는 명령어이다.
5) 가상환경 비활성화, 삭제
$ conda deactivate
$ conda env remove -n shate
conda deactivate: 가상환경 비활성화
conda env remove -n 가상환경 이름: 가상환경 삭제
'교육 > AIFFEL(대전)1기' 카테고리의 다른 글
AIFFEL(대전) [Exploration]3장 카메라 스티커앱 만들기 (0) | 2022.02.17 |
---|---|
AIFFEL(대전) [Fundamental] 2장 필수 교양 Part.1 (0) | 2022.02.17 |
AIFFEL(대전) [Fundamental] 0장 환경설정 (0) | 2022.02.16 |
[AIFFEL Hackathon 1st] 3. 제출 및 시상 (0) | 2022.02.16 |
[AIFFEL Hackathon 1st] 2. 전처리 그리고 모델링 (0) | 2022.02.16 |
- Total
- Today
- Yesterday
- AIFFEL교육
- 인공지능 교육
- 자율주행기술
- 아이펠
- 배달로봇
- ros
- 인공지능교육
- Python
- Slam
- 서빙로봇
- 광주AI
- 모두의연구소
- 해커톤
- AIFFEL후기
- 멋쟁이사자처럼
- SLAM공부
- AIFFEL인공지능과정
- AIFFEL
- 멘탈관리
- 자율주행로봇
- 모두의 연구소
- 인공지능
- 대전 인공지능
- 실내자율주행
- 광주
- 도전
- SLAM강의
- 광주인공지능사관학교
- IT
- 양정연SLAM
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |