본문 바로가기

분류 전체보기64

[Docker] cannot stop container: permission denied 오류 해결 이번 글에서는 docker stop 시 자주 발생하는 오류에 대한 해결 방법을 살펴보겠습니다. 현재 업무는 AWS EKS 상에서 진행되고 있고, 코드 수정사항이 있을 때 다음과 같은 과정을 거칩니다. 1. Gitlab에서 코드 수정2. Jenkins에서 Docker Image 빌드 테스트 후, AWS ECR로 Image 푸쉬3. ArgoCD에서 해당 Pod 재생성 최근 Gitlab과 Jenkins 서버를 이관한 이후, Jenkins에서 Docker Image 빌드 테스트를 진행할 때 계속해서 다음과 같은 오류가 발생하였습니다. 기존 Image가 있을 경우 해당 Image를 삭제하는 코드가 있는데 해당 코드에서 발생하는 오류였습니다.Error response from daemon: cannot remove.. 2025. 3. 5.
[Docker] error getting credentials ~ 오류 해결 이번 글에서는 docker compose시 발생한 error getting credentials 관련 오류 해결 방법에 대해 간단하게 살펴보고자 합니다. https://mlops-for-mle.github.io/tutorial/의 내용 중 Zookeeper와 Kafka 관련 실습 진행 과정에서 발생한 오류에 대해 작성하였습니다. 저의 docker 실습은 Windows의 wsl을 기반으로 진행되었습니다. 우선 Zookeeper와 Kafka와 관련된 docker compose의 내용은 다음과 같습니다.# naive-docker-compose.yamlversion: "3"services: zookeeper: image: confluentinc/cp-zookeeper:7.3.0 container_n.. 2024. 5. 20.
[Deep Learning] RNN 이번 글에서는 대표적인 딥러닝 기반의 시계열 모델인 RNN(Recurrent Neural Network)에 대해 살펴보고자 합니다. RNN은 시계열 데이터를 비롯하여 문장 형식의 텍스트 데이터에도 활발히 사용되고 있습니다. 해당 글은 '밑바닥부터 시작하는 딥러닝 2권'을 주로 참고하여 작성하였음을 미리 알려드립니다. 1. RNN 구조 Word2Vec을 비롯하여 기본적인 구조를 가지는 신경망들은 텍스트에서도 나타나는 시계열 데이터의 패턴을 충분히 학습하지 못한다는 단점이 존재합니다. 시계열 특성을 고려하기 위해 등장한 신경망 기법이 RNN으로, 데이터가 끊임없이 순환하는 구조로 되어있어 과거의 정보를 기억하는 것과 동시에 최신 데이터로 갱신된다는 특징을 가집니다. 아래의 그림은 RNN의 간단한 구조입니다... 2024. 2. 23.
[Deep Learning] Word2Vec - skip-gram 이전 글에서는 딥러닝 기반의 자연어처리 기법인 Word2Vec의 개요와 Word2Vec의 대표적인 모델 중 하나인 CBOW(Continuous bag-of-words)에 대해 살펴봤습니다. 이번 글에서는 Word2Vec의 다른 대표 모델인 skip-gram과 기존 Word2Vec을 개선하는 과정에 대해 설명하고자 합니다. 해당 글은 '밑바닥부터 시작하는 딥러닝 2권' 책 내용을 바탕으로 작성하였음을 미리 알려드립니다. 1. skip-gram 모델 CBOW 모델이 맥락으로부터 타겟(중앙 단어)를 추측하는 것이라면, skip-gram 모델은 타겟(중앙 단어)로부터 맥락을 추측하는 기법입니다. skip-gram 모델은 아래의 그림과 같이 CBOW 모델을 반대로 구성한 형태로, 입력층은 하나이고 출력층이 맥락의.. 2024. 2. 20.
[Deep Learning] Word2Vec - CBOW 이전 글에서는 자연어처리에 대한 간단한 설명과 딥러닝이 활용되기 전에는 어떤 기법들이 적용되었는지 살펴봤습니다. 이번 글에서는 대표적인 딥러닝 기반의 자연어처리 기법 중 하나인 Word2Vec에 대해 설명하고자 합니다. 해당 글은 '밑바닥부터 시작하는 딥러닝 2권' 책 내용을 바탕으로 작성하였음을 미리 알려드립니다. 1. Word2Vec 개요 이전에 활용되었던 통계 기반 기법의 경우(해당 내용은 이전 글에서 설명), 주어진 말뭉치를 바탕으로 PPMI(양의 상호정보량) 행렬을 만들고, 해당 행렬에 특이값 분해를 적용하여 밀집벡터(단어의 분산 표현)를 도출하였습니다. 행렬을 생성하기 위해 말뭉치 전체를 사용하기 때문에, 신경망 학습의 관점에서 봤을 때 해당 과정을 전체 데이터를 활용하는 배치 학습으로 볼 수.. 2024. 2. 8.
[Deep Learning] 자연어처리(Natural Language Processing, NLP) 기초 이번 글에서는 자연어처리(Natural Language Processing, NLP)의 기초에 대해 설명하고자 합니다. 자연어처리에 대해 간단하게 설명한 이후, '밑바닥부터 시작하는 딥러닝 2권' 내용을 바탕으로 딥러닝을 적용하기 이전에는 자연어를 어떠한 방식으로 처리했는지 살펴볼 것입니다. 1. 자연어처리 자연어처리란 사람들이 평소에 사용하는 자연어를 컴퓨터가 이해하도록 만드는 기술을 의미합니다. 자연어에는 단어부터 시작하여 형태소, 문장, 문단 등 다양한 단위가 존재하며, 똑같은 단어나 문장이라고 하더라도 문맥 속에서 다른 의미를 가질 수 있습니다. 자연어를 컴퓨터가 이해하도록 만드는 것은 상당히 어려운 문제이기 때문에, 과거부터 다양한 방법들이 제안 및 발전되어 왔습니다. 특히 최근 ChatGPT가.. 2024. 2. 7.
[논문리뷰] AFS: An attention-based mechanism for supervised feature selection Gui, N., Ge, D., & Hu, Z. (2019, July). AFS: An attention-based mechanism for supervised feature selection. In Proceedings of the AAAI conference on artificial intelligence (Vol. 33, No. 01, pp. 3705-3713). 이번 글에서는 변수 선택 기법 중 하나인 AFS(Attention-based supervised Feature Selection)에 대해 살펴보려고 합니다. 현재 만들고 있는 모델의 feature 수가 너무 많아 수를 좀 줄이고자 했고, feature의 의미가 차원 축소를 통해 의미가 희석되면 안 되었기 때문에 변수 선택 기법을 적용하고자 .. 2023. 12. 22.
[Docker] Dockerfile 작성 및 실행 이번 글에서는 예제를 통해 Dockerfile을 작성하고 실행하는 방법에 대해 알아보도록 하겠습니다. 예제는 https://mlops-for-mle.github.io/tutorial/을 학습하며 작성하였음을 미리 알려드립니다. 우선 예제의 시나리오는 PostgreSQL container는 이미 존재하는 상황이고, data_generator.py을 실행할 수 있는 container를 생성하여 iris 데이터를 PostgreSQL DB에 입력하는 것입니다. data_generator.py 코드는 다음과 같습니다. 해당 코드는 python을 통해 iris 데이터를 DB에 입력하는 코드입니다. 자세한 설명은 넘어가도록 하겠습니다. # data_generator.py import time from argparse.. 2023. 12. 15.
[Kubernetes] Object 기초 - ConfigMap, Secret 이번 글에서는 kubernetes의 object 중 ConfigMap과 Secret에 대해서 살펴보고자 합니다. 해당 글은 Inflearn의 '대세는 쿠버네티스 [초급~중급]' 강의를 학습하면서 작성한 글임을 미리 알려드립니다. 바로 예시를 들어 설명하겠습니다. 서비스를 운영할 때는 테스트를 진행하기 위한 개발 서버와 실제 운영을 위한 운영 서버가 존재합니다. 개발과 운영 서버에서는 보안 설정, 유저, 키 등 일부 설정들에 차이가 있습니다. 이러한 차이로 인해 개발과 운영 서버의 이미지를 각각 생성하게 된다면, 상당히 비효율적일 수 있습니다. 따라서 하나의 image로도 개발과 운영 환경에 배포할 수 있도록, 환경 변수들을 관리해 주는 object가 바로 ConfigMap과 Secret입니다. 일반적인 .. 2023. 12. 13.
[Docker] PostgreSQL 서버 생성 이번 글에서는 Docker에서 PostgreSQL 서버를 생성하는 방법에 대해 살펴보고, 과정에서 필요한 docker 명령어에 대해서도 설명하고자 합니다. 해당 과정은 https://mlops-for-mle.github.io/tutorial/ 사이트의 실습 과정을 학습하며 작성하였음을 미리 알려드립니다. 우선 PostgreSQL 서버는 docker run 명령어를 통해 생성하는 것이 가능합니다. 명령어 뒤에 여러 옵션들이 붙는데, 하나씩 살펴보겠습니다. -d : container를 detached 모드로 실행하는 옵션으로, 해당 이미지가 백그라운드로 실행 --name : container의 이름 지정 -p : container에서 외부로 노출할 port forwarding을 설정하는 옵션으로, 형식은 h.. 2023. 12. 12.