분류 전체보기

    [Docker] WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested

    상황 M1 맥북에서 airflow 도커 이미지를 이용하였을 때 오류가 발생하며 작동 불가 원인 이전에 작성한 M1맥북-GKE 오류가 발생한 원인과는 반대로 amd64 플랫폼에서 빌드된 이미지를 arm64 플랫폼에서 이용하려 했기 때문에 발생한 문제이다. [K8s] standard_init_linux.go:190: exec user process caused "exec format error" 상황 M1 맥북에서 빌드한 이미지를 GKE에서 이용하였을 때 오류가 발생하며 파드가 정상적으로 시작되지 않는 문제 원인 도커 이미지가 빌드된 플랫폼과 컨테이너가 실행될 플랫폼이 달라서 생 tigris-data-science.tistory.com 해결책 이미지를 빌드한 플랫폼이 amd64임을 명시하여 이미지를 사용한다..

    [K8s] standard_init_linux.go:190: exec user process caused "exec format error"

    상황 M1 맥북에서 빌드한 이미지를 GKE에서 이용하였을 때 오류가 발생하며 파드가 정상적으로 시작되지 않는 문제 원인 도커 이미지가 빌드된 플랫폼과 컨테이너가 실행될 플랫폼이 달라서 생기는 문제이다. uname -a 명령어를 이용해 플랫폼을 확인해보면 M1 맥북은 arm64, GKE에서 노드로 사용되는 VM은 amd64(x86_64) 임을 확인할 수 있다. 따라서 이미지를 빌드할 때 이미지가 사용될 플랫폼을 지정해주거나, 컨테이너를 실행할 때 이미지가 빌드된 플랫폼을 알려주는 방식으로 문제를 해결할 수 있다. 추가적으로 Docker 메뉴얼에 애플 실리콘과 관련된 문제에 관련된 내용이 존재한다. Some images do not support the ARM64 architecture. You can ad..

    [Server] Web Server, WAS and CGI

    Summary Web Server는 Client의 요청에 따라 정적인 컨텐츠를 제공하는 서버 Web Server 단독으로는 동적인 컨텐츠를 제공할 수 없기 때문에 Application을 실행할 수 있는 Container와 Web Server를 함께 패키징한 소프트웨어 Web Application Server가 없는 Application들은 CGI 규약을 이용해 만들어진 CGI 서버를 이용해 Web Server와 Application이 커뮤니케이션 가능 Web Server Web Server는 사용자의 HTTP 요청에 따라 HTML, CSS, JS, 이미지 등의 정적인 컨텐츠를 제공하는 서버를 말합니다. 개발자들에게 익숙한 Apache, Nginx 등이 대표적인 웹서버입니다. WAS(Web Applicat..

    Vision Transformer(1): Theory

    Vision Transformer(1): Theory

    차근차근 이해하는 Transformer에 이어 Transformer를 Vision 분야에 적용한 Vision Transformer(ViT)을 이해하고 코드로 구현해보겠습니다. Introduction 자연어 처리 분야에서 Transformer는 표준 모델이 된지 오래이지만, Vision 분야에서는 Attention이 Convolotional Network와 함께 사용되거나, Convolutional Network의 일부가 Attention으로 대체되는 정도에 그쳤습니다. 이런 가운데 Dosovitskiy, Alexey, et al. (2020)은 Vision 문제를 Convolutional Network 대신 Transformer만을 이용하여 해결하는 방법을 제시하였습니다. 그럼 3차원 데이터인 이미지 데..

    [Python] Effective Python, 2nd | Ch2. 리스트와 딕셔너리 - (1) 리스트

    [Python] Effective Python, 2nd | Ch2. 리스트와 딕셔너리 - (1) 리스트

    본 문서는 파이썬 코딩의 기술(원제: Effective Python: 59 Specific Ways to Write Better Python, 브렛 슬라킨 저, 오현석 역, 길벗 2020. 10. 30)을 공부 목적으로 정리한 글입니다. 필요한 부분만 발췌한 개인 정리용 글이기 때문에 보다 상세한 내용을 알고 싶으시다면 책을 직접 읽어보시길 권해드립니다. (네이버 도서 링크) 파이썬 코딩의 기술 아마존 파이썬 프로그래밍 분야 베스트셀러, 〈Effective Python〉 전면 개정 증보판! 파이썬의 매력과 강점을 이용해 강력하고 우수한 성능의 코드를 작성하는 90가지 방법!파이썬다운 방식으로 프 book.naver.com Better Way 11. 시퀀스를 슬라이싱하는 방법을 익혀라 - __getitem..

    [Python] Effective Python, 2nd | Ch1.  파이썬답게 생각하기

    [Python] Effective Python, 2nd | Ch1. 파이썬답게 생각하기

    본 문서는 파이썬 코딩의 기술(원제: Effective Python: 59 Specific Ways to Write Better Python, 브렛 슬라킨 저, 오현석 역, 길벗 2020. 10. 30)을 공부 목적으로 정리한 글입니다. 필요한 부분만 발췌한 개인 정리용 글이기 때문에 보다 상세한 내용을 알고 싶으시다면 책을 직접 읽어보시길 권해드립니다. (네이버 도서 링크) 파이썬 코딩의 기술 아마존 파이썬 프로그래밍 분야 베스트셀러, 〈Effective Python〉 전면 개정 증보판! 파이썬의 매력과 강점을 이용해 강력하고 우수한 성능의 코드를 작성하는 90가지 방법!파이썬다운 방식으로 프 book.naver.com Better Way 1. 사용 중인 파이썬의 버전을 알아두라 Better Way 2..

    [AWS] CLI 환경에서 MFA 인증하기

    MFA가 설정되어 있는 경우 CLI 환경에서 AWS 관련 작업을 진행하기 위해서는 자격 증명이 되어야 합니다. 이번 글에서는 세션 토큰을 이용하여 임시로 보안 자격 증명을 받는 방법을 알아보겠습니다. (Optional) 현재 사용 중인 IAM 사용자/역할 확인하기 $ aws sts get-caller-identity 아래 명령어를 통해 임시 세션 토큰 발급 # 기존 IAM 사용자 $ aws sts get-session-token --serial-number --token-code # 기존 IAM 사용자가 아닌 다른 사용자를 지정해야할 경우 $ aws --profile [별칭] sts get-session-token --serial-number --token-code MAF가 등록된 장치의 ARN과 MFA..

    [Python] Class에서 특정 문자열로 시작하는 Method 찾기

    파이썬에서 Class 내에서 특정 문자열로 시작하는 이름을 가진 Method를 확인하는 방법을 알아보겠습니다. 사용 함수 dir() dir() 함수를 이용하면 입력된 Class 또는 Instance 내 모든 Attribute의 이름이 담긴 리스트가 반환됩니다. callable() Callable 여부에 따라 주어진 Attribute가 Class / Instance Variable와 Method 중 어느 것에 해당하는지 식별할 수 있습니다. Example 다음과 같이 정의된 Class가 존재한다고 가정하겠습니다. class Example: class_variable = 5 def __init__(self): self.instance_varibale = 3 def say_hello(self): return ..

    차근차근 이해하는 Transformer(5): Positional Encoding

    차근차근 이해하는 Transformer(5): Positional Encoding

    지난 글에서 Transformer의 핵심적인 Building Block인 Attention을 정리해봤습니다. 이어서 Vaswani et al. (2017) 논문을 통해 현재 나오는 수많은 모델의 기반이 되고 있는 Transformer를 차근차근 이해할 수 있도록 정리해보았습니다. 이번 글에서는 Transformer에서 다루지 않은 마지막 요소인 Positional Encoding에 대해 알아보겠습니다. Positional Encoding Positional Encoding이란 말 그대로 위치의 Representation을 벡터로 표현한 것을 말합니다. 조금 더 엄밀하게 표현한다면 $A=[a_0, a_1, \cdots, a_n]$가 주어졌을 때 A의 Positional Encoding은 각 원소의 위치와 ..

    차근차근 이해하는 Transformer(4): Masked Multi-Head Attention과 Decoder

    차근차근 이해하는 Transformer(4): Masked Multi-Head Attention과 Decoder

    지난 글에서 Transformer의 핵심적인 Building Block인 Attention을 정리해봤습니다. 이어서 Vaswani et al. (2017) 논문을 통해 현재 나오는 수많은 모델의 기반이 되고 있는 Transformer를 차근차근 이해할 수 있도록 정리해보았습니다. 이번 글에서는 Encoder에 이어서 Transformer를 구성하는 또 다른 Building Block인 Decoder의 구성 요소를 하나씩 살펴보겠습니다. Revisit: Transformer의 전체 구조 지난 번에 보여드린 Transformer의 전체 구조 그림을 보면 Decoder가 대부분 익숙한 이름을 가진 요소들로 이루어져 있음을 알 수 있습니다. 하지만 조금 다른 부분도 존재합니다. 첫 번째 Multi-Head At..