2-1. 들어가며


  • 학습목표
    • 우분투, 파이썬, 텐서 플로우 설명
    • 터미널의 다양한 명령어의 사용
    • 아나콘다를 설치하고, 가상환경을 실행시키는 방법 학습

2-2. 인공지능 개발자가 되기 위한 위대한 첫 걸음


  • Ubuntu 22.04

    • 리눅스 기반으로 만들어진 운영 체제
  • 운영체제란?

    • 정의
      • 컴퓨터의 하드웨어를 관리하는 역할
      • 컴퓨터 하드웨어를 직접 접근하지 않아도 쉽게 프로그램을 만들 수 있는 소프트웨어
    • 종류: 윈도우, 맥, 우분투(리눅스)
    • 목적 : 처리 능력, 응답 시간, 신뢰도, 사용가능도
    • 구성 : 쉘, 장치 관리, 파일 관리, 메모리 관리, 처리기 관리
  • 운영체제의 특징

    • 운영체제 내 부팅 관리 프로그램이 나의 파일을 알아서 준비해줌.

  • Ubuntu(우분투)란?

    • 인공지능 연구개발에 주로 사용되는 운영체제
    • 어떤 남아프리카 부족의 언어로써 "네가 있으니 내가 있다."라는 뜻
    • 로고 : 여러 명이 함께 둘러서 손을 잡고 원을 그리는 듯한 모양(자유와 협업, 정밀도와 신뢰를 뜻함)

  • python 3.9.7
    • 참고 영상 : 연봉 높은 프로그래밍 언어 TOP 5
    • 범용적 언어
    • AI 분야에서 파이썬은 활발히 활용되고 있음.
    • 머신러닝/딥러닝 관련 다양한 라이브러리들이 파이썬으로 개발됨
    • 최근에는 거의 3.x 버전 사용!

  • TensorFlow 2.6.0

    • 머신러닝/딥러닝을 위해 공통적으로 많이 쓰이는 함수 또는 클래스들을 한 곳에 모아놓은 라이브러리
    • 라이브러리 : 특정 기능을 위한 여러 함수 또는 클래스를 담고 있는 보따리
    • PyTorch, Keras 등 여러가지가 있음.
    • 참고 : Effective TensorFlow 2 | TensorFlow Core
    • 텐서 플로우 2의 변화
      • API 통합해 일관성을 키움
      • 복잡한 코드 부분을 제거해 깔끔히 사용 가능
  • 결론

    • 우분투 운영체제 안에서 파이썬 언어로 텐서플로우 프레임워크를 쓴다!

2-3. 까만 화면에 흰 글씨, 해커만 쓰는 거 아니냐고? 나도 쓸 수 있다!


  • 파이썬 사용하기
    • python3

  • 텐서플로우 불러오기 & 버전 출력하기

    import tensorflow as tf
    print(tf.__version__)

    -> 이러한 방식은 1줄씩 입력해야하기 때문에 IDE 사용!



2-4. 터미널을 자유자재로, 내 친구 삼기


  • 내 이름 보기 : whoami

  • 경로 출력 : pwd

  • 모든 파일 목록 출력 : ls, ls -al

  • 각 항목 정리

    • 맨 앞 - : 파일 유형
      • '-'는 일반 파일, 'd'는 디렉터리, 'b'는 블록 디바이스, 'c'는 문자 디바이스, 'l'은 링크
    • 다음 rwxrwxrwx : 파일 허가권
    • '1' : 링크 수
    • root : 해당 파일에 대한 소유권을 가진 소유 사용자 이름
    • 다음 root : 파일 소유 그룹 이름
    • '4096' : 파일 크기
    • Oct 11 07:26 : 파일 최종 수정 일시
    • 마지막 '.' : 해당 파일 이름
    • 즉, 순서대로 "파일 유형, 권한, 링크의 수, 소유 사용자 이름, 소유 그룹 이름, 파일 크기, 최종 수정 일시, 파일명"
  • 원하는 디렉토리로 이동해보자! 더블클릭!

    • cd ~
      • ~ 위치로 이동시키라는 명령어
      • 어떤 폴더에 있었든지 항상 /aiffel 위치로 이동
  • 새 폴더 만들기, 또는 폴더 삭제하기

  • 생성 : mkdir new_folder

  • 삭제 : rm -r new_folder

    • 디렉토리 아닌 일반 파일 삭제 시 rm 명령어만 입력!
  • 파일을 원하는 곳으로 옮기거나, 복사하기

  • 파일 옮기기

    $ cd ~
    $ mkdir new_folder
    $ mv new_folder aiffel

  • 파일 복사하기

    • cp -r new_folder ..

2-5. 터미널, 또 무엇을 할 수 있을까?


  • sudo apt list --installed
    • 설치된 패키지의 목록 출력

이 명령어 뒤에 | grep (패키지명) : 검색하는 단어를 포함하는 패키지만 출력할 수 있다!

  • sudo apt-get update

    • 컴퓨터에 설치된 패키지 인덱스 정보 업데이트
  • sudo apt-get upgrade

    • 업데이트 버전 전부 업그레이드
  • -y 옵션

    • 설치 중간중간 동의문에 yes를 하겠다는 의미
  • remove 명령어

    • 프로그램 삭제!

2-6. 가상환경으로 패키지를 조금 더 유연하게 관리해보자


  • 패키지와 가상 환경

    • 패키지(package)
      • 특정 기능을 위한 여러 함수 또는 클래스를 담고 있는 보따리
      • 라이브러리(library), 모듈(module)과 비슷
    • 가상환경(virtual environment)
      • 컴퓨터 간 패키지 충돌 또는 패키지 버전 이슈를 방지하기 위해 가상으로 나눠 쓰는 환경
  • 아나콘다

  • 가상 환경 생성 및 실행
    • conda create -n my_env_name python=3.9.7
      - my_env_name은 원하는 가상환경 이름을 기입하면 됨!

      ...
  • conda env list
    • 가상 환경 리스트 확인
  • 가상환경은 생성 후 실행을 해줘야 한다!

    • conda activate my_env_name
      • conda init 입력 후 터미널 재실행하면 오류 사라짐

  • 가상 환경 내 라이브러리 살펴보기

    • 텐서 플로우도 설치되었는지 확인 : pip list | grep tensorflow
    • 텐서 플로우 설치 : pip install tensorflow==2.12.0
    • 단, GPU 버전 텐서 플로우는 pip install tensorflow-gpu로 지정
  • 가상 환경 종료 : conda deactivate

  • 가상 환경 삭제 : conda env remove -n my_env_name

그 이외의 아나콘다 명령어는 Conda Cheat Sheet 참고하기


참고 : 요즘 최신 트렌드 Poetry를 사용해 가상환경 만들기


profile
언젠가 내 코드로 세상에 기여할 수 있도록, BE&Data Science 개발 기록 노트☘️

0개의 댓글