분류 전체보기 (8) 썸네일형 리스트형 type - Class에 대한 이해 1(Python) 1. 들어가기 다들 Python을 공부하면서 한번 쯤은 이런 말을 들어보았을 것이다. Python의 모든 것은 객체이며, class 또한 어떤 class의 instance다. 그렇다면, class instance를 생성할 수 있게 해주는 어떤 class는 무엇일까? Python은 Programing을 할 때, 객체 instance를 생성할 수 있는 class를 작성하기 위해 class 명령어를 사용한다. class ParentClass:... class NewClass(ParentClass): def __init__(self, *args, **kwargs) -> None: ... def method(self, *args, **kwargs) -> None: ... print(NewClass, type(Ne.. Transformer 1. 알아보기 현시점 딥러닝 자연어 처리 분야에서 SOTA(State of the art)를 차지하는 기술의 시초가 되는 Transformer에 대해 알아보자. Transformer는 2017년, Google이 낸 논문 Attention Is All You Need를 통해 세상에 이름을 알렸다. Attention is all you need 논문 https://proceedings.neurips.cc/paper/2017/file/3f5ee243547dee91fbd053c1c4a845aa-Paper.pdf Transformer가 제시된 논문 제목에서 알 수 있듯, Transformer에 대해 알기 위해선 먼저 Attention mechanism이 무엇인지에 대해 알아야 한다. Attention mechan.. AWS EC2 시작하기(feat. VS Code) 준비물 Git-2.33.1-64-bit VSCodeUserSetup-x64-1.62.3 https://aws.amazon.com/ko/ aws 아이디 VS Code extensions Remote Development Remote - SSH 시작하기에 앞서 시작하기에 앞서 아마존 aws 아이디를 생성하기를 바란다. 회원 가입할 때 카드정보를 입력해야 하는데, 1년간 무료로 사용할 수 있지만 이후에 요금을 계산해야 하는 것으로 보인다. 아직 나도 1년 이상 사용하지 않았기 때문에 어떤 식으로 어떻게 요금이 발생하는지 자세히 모른다. 1. 인스턴스 생성 회원가입을 완료했다고 가정하고 진행하겠다. 가장 먼저 콘솔로 로그인을 한 후 아래 페이지에 들어오자. 그 후 아래 사진과 같이 지역을 서울로 바꿔주자. 만약.. Git 시작하기(feat. VS Code) 준비물 Git-2.33.1-64-bit VSCodeUserSetup-x64-1.62.3 python 3.8 버전(버전은 크게 상관 X) VS Code extensions GitHub Pull Requests and Issues Git History 시작하기에 앞서 시작하기에 앞서 깃허브 회원가입을 권장한다. 로컬에서 작업한 깃 레포지토리를 웹이 저장할 수 있고 쉽게 공유도 가능하다. 아래 목차 중 5번은 깃 허브 아이디가 있어야지 진행할 수 있다. git 시작하기 git 작업 현황 확인 스테이징 staging 커밋 commit Push로 원격 저장소에 올리기 git history 시각화 1. git 시작하기 git 개발환경을 구축하는 방법은 두 가지가 있다. 작업 폴더에서 git init 명령어 실행 깃.. Anaconda로 python 가상환경 시작하기 준비물 Window10 Git-2.33.1-64-bit Anaconda3-2021.05-Windows-x86_64 시작하기 윈도우10 사용하는 사람들을 위해 conda 가상환경 설정에 대해 설명한다. 우선 작업하려는 폴더에서 git-bash를 시작한다. 사실 작업폴더에서 하지 않아도 설정하는데 문제는 없으나, 바로 이어서 작업을 진행하기 편하다. 1. conda 가상환경 구축 1. 디폴트 옵션 설정 $ conda config --set auto_activate_base false conda 설치 후, default값이 true로 되어있는 (base)가상환경 자동 구동 옵션을 false로 바꾼다. 기본적으로 (base) 가상환경이 가동중일 때 which python 명령어로 python의 위치를 확인하면,.. 인터페이스 (interface) in python 객체지향 프로그래밍에서 인터페이스가 무엇일까? 우선 인터페이스의 정의를 살펴보자. 인터페이스는 서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면이다. 즉, 사용자가 기기를 쉽게 동작시키는데 도움을 주는 시스템을 의미한다. - 위키백과 인터페이스는 서로 다른 시스템이나 장치 사이의 정보나 신호를 주고받는 경계면을 의미한다고 한다. 이렇게만 보면 정확히 어떤 의미인지 이해하기 어렵다. 객체지향 프로그래밍에서 인터페이스는 클래스가 반드시 가져야하는 메소드를 정해준다. 인터페이스를 상속받은 클래스는 인터페이스에서 선언한 메소드를 반드시 재정의해서 사용해야 한다. 재정의하지 않고 해당 클래스로 객체를 생성하려고 하면 에러를 발생시킨다. 정의를 객체지향 언어에 대입시켜 생각해.. 추상클래스 (Abstract class) in python 객체지향 프로그래밍을 할 때 추상클래스라고 나오는 것이 있다. 아직 활용을 완벽하게 이해하지 못하였지만, 간단하게 정리해 보았다. 추상클래스 1. 하나 이상의 정의되지 않은 메소드, 즉 추상메소드가(abstract method)가 있는 클래스를 의미한다. 2. 이를 상속받아 사용하는 자식클래스에서 추상메소드를 오버라이드(override)해서 사용하게 한다. 3. 추상클래스에 공통적인 부분을 모두 정의하고, 자식클래스에서 필요한 부분을 재정의해서 사용하는 것이 목표. 바로 이해가 되지는 않는다. 간단한 코드를 예시로 들어보자. class 로봇추상클래스: """이 클래스는 로봇의 추상클래스 입니다""" def __init__(self, 이름, 나이): self.이름 = 이름 self.나이 = 나이 def _.. 데코레이터 (Decorator) in python 파이썬 데코레이터를 공부해 보자. 우선 아래와 같이 연습용 함수를 두개 만든다. def 데코레이터 (함수) : def 감싸는함수 () : 결과 = 함수() return 결과 return 감싸는함수 def 제곱 (입력) : 결과 = 입력**2 return 결과 입력 = 3 결과 = 제곱(입력) print(결과) 위 코드 블럭을 실행시키면 "변수: 입력 = 3"이 제곱 함수의 인자로 들어가서 결과로 9 반환, "변수: 결과 = 9"로 저장하고 이를 출력한다. 일반적으로 많이 사용하는 기초적인 함수 구조이다. 데코레이터 함수는 인자(argument)로 함수(function)를 입력받는다. 함수가 인자로 함수를 입력받는다는게 어떤 의미일까? 이를 설명하기 위해서 콜백함수(callback) 함수에 대해서 알아야 .. 이전 1 다음