전체보기

기타/Huggingface

[datasets] Dataset cache

HuggingFace의 datasets 라이브러리를 사용하여 데이터셋을 저장하고 사용하다보면 이상하게 디렉토리의 저장 용량이 점점 커지는 경우를 보실 수 있습니다. 이러한 이유는 데이터셋에 캐시 파일이 남아있기 때문입니다. 위의 사진처럼 cache-*.arrow 파일로 캐시가 떨어지게 되는데요. 여러가지 처리를 테스트하다보면 너무 많은 캐시가 쌓일 때가 있어서 가끔씩 지워줘야합니다. 직접 손으로 삭제해도 되지만, 코드 상에서도 간단하게 삭제할 수 있습니다. 데이터셋 객체에 대해 .cleanup_cache_files() 메서드를 사용하여 제거하시면 됩니다. dataset.cleanup_cache_files() 캐시를 비활성화하거나, 로드부터 메모리를 다 쓰는 방법 등은 공식 페이지에서 추가로 확인할 수 있..

기타

Tensorflow, Keras to TFJS 컨버팅

Tensorflow 2 TFJS 자바스크립트에서 텐서플로우 모델을 사용하기 위해서는 TensorflowJS 에 맞는 형태로 Tensorflow 모델을 변형해야 합니다. TFJS는 tfjs-react-native등 웹 뿐만 아니라 react-native에서도 사용 가능한 라이브러리라는 장점이 있습니다. 자세한 내용은 위 tensorflow/tfjs-converter 페이지에서 확인할 수 있습니다. 저는 몇 가지 예시를 간략하게 정리해두고자 합니다. Abstract Tensorflow 모델은 보통 .h5로 저장되는 형식과 .pb가 안에 있는 디렉토리 형식으로 저장이 됩니다. .h5 파일의 경우 Keras 모델이라고 이해하시면 됩니다. 즉 model.fit() summary() 등의 메서드가 가능한 케라스 모..

이론/논문 리뷰

[논문리뷰] Attention is all you need, Transformer

자연어 처리 뿐만 아니라 최근 컴퓨터 비전 영역에서도 사용되고 있는 유명한 모델인 Transformer를 알아보도록 하겠습니다. Attention Is All You Need The dominant sequence transduction models are based on complex recurrent or convolutional neural networks in an encoder-decoder configuration. The best performing models also connect the encoder and decoder through an attention mechanism. We propose a new arxiv.org 트랜스포머는 2017년 구글에서 발표한 논문으로, Attent..

기타/Airflow

[Airflow] Airflow Executor 변경을 통한 Task 병렬화

에어플로우에서는 간단하게 파이프라인을 병렬 구조로 구현할 수 있습니다. 예시로 병렬 파이프라인을 하나 만들어 보도록 하겠습니다. t1 >> [t2, t3] t2 >> t4 t3 >> t5 task의 간단한 연결 만으로도 파이프라인 구조를 병렬로 구현하는 것을 확인할 수 있습니다. 다만 구조 자체는 병렬이지만, 어떠한 변경 없이는 이 task들은 하기 이미지처럼 순차적으로 처리가 됩니다. 이미지를 보시면 extract\_1, extract\_2가 병렬로 실행되어야 할 것 같지만, 1이 끝난 후 처리가 시작되는 것을 확인할 수 있습니다. savedb\_1은 extract\_2가 끝나야 실행됩니다. 이 현상이 발생하는 이유는 Executor의 설정 때문입니다. Executor는 작업 방법을 정하는 역할을 하는..

기타/Airflow

[Airflow] Airflow PostgreSQL DB 변경(For LocalExecutor)

Airflow의 메타데이터를 관리하는 DB는 기본적으로 sqlite로 설치가 되어 있습니다. 다만 에어플로우는 테스트 환경에서만 sqlite를 사용하고, 실 운영시에는 다른 DB를 사용하기를 권장하고 있습니다. 또한 에어플로우의 Defalut Executor는 Sequential Executor입니다. 이를 Local Executor 등으로 변경하기 위해서는 sqlite 외의 DB를 사용해야만 하기 때문에, 에어플로우를 사용하고자 한다면 sqlite를 변경하는 것이 좋다고 판단됩니다. 따라서 이번 게시물에서는 에어플로우에서 기존 DB인 sqlite를 postgresql로 변경하는 방법에 대해 알아보고자 합니다. 환경 테스트한 환경은 다음과 같습니다. OS : Ubuntu 18.04 DB : Postgre..

기타/Airflow

[Airflow] Airflow Slack Message 알림

패키지 설치 Airflow 작업 결과를 슬랙으로 받아보도록 하겠습니다. 우선 에어플로우가 설치된 가상환경에서 해당 패키지를 설치합니다. pip install slack_sdk 슬랙에서 APP 생성 https://api.slack.com/ 에 접속하면 앱을 생성할 수 있습니다. 앱 이름은 나중에 변경할 수 있습니다. 사용하고자 하는 워크스페이스를 설정한 후 앱을 생성합니다. 앱을 생성한 후 설정 페이지에서 좌측 중단 Feature - OAuth & Permissions를 클릭합니다. 중단 Scopes에서 chat:write 옵션을 추가합니다. 앱은 해당 옵션을 통해 메세지를 보낼 권한을 얻을 수 있습니다. 이후에는 상단의 OAuth Tokens for Your Workspace에서 Install to Wo..

기타/Airflow

[Airflow] Airflow 기본 사용 방법

데이터 수집 및 적재, 데이터 분석 등을 파이프라인으로 구현해주는 에어플로우 사용 방법에 대해 정리해보도록 하겠습니다. 설치 우선 에어플로우 설치를 진행합니다. M1, M2를 사용하는 맥북의 경우 아래 방식으로 설치를 진행합니다. https://airflow.apache.org/docs/apache-airflow/stable/installation/index.html pip install apache-airflow # MAC # 환경에 맞춰 파라미터 변경 # AIRFLOW_VERSION은 latest 가능 pip install "apache-airflow[celery]==2.4.0" --constraint "" # 예시 pip install "apache-airflow[celery]==2.4.0" --c..

기타/Airflow

[Airflow] Airflow 실행, 생성, Kill 코드

앞으로 에어플로우에 대해서 4가지 정도의 게시물을 게시할 예정입니다. 다 예전에 작성했던 건데, 노션에만 있기는 좀 아까워서 이참에 블로그로 정리하려고 합니다. 이 게시물에서는 에어플로우를 사용할 때 자주 사용했던 명령어를 까먹지 않기위해 정리해두려고 합니다. # create admin role airflow users create --username admin --firstname FIRST_NAME --lastname LAST_NAME --role Admin --email admin@example.org # pkill pkill -f airflow # nohup nohup airflow webserver -p 8080 > /dev/null & nohup airflow scheduler > /dev/n..

세팅/Tistory

[Tistory] 티스토리 프로필에 깃헙 등 아이콘 넣기(HELLO 기준)

티스토리 좌측 프로필에 깃헙 등의 아이콘을 넣는 방법에 대해 알아보도록 하겠습니다. 위의 이미지 처럼 깃헙 링크 하나를 넣는 것이 목표에요. 아이콘 찾기 우선 아이콘을 찾아야 하는데요. 아래 링크에서 적당한 아이콘을 탐색할 수 있습니다. 깃헙을 검색해 두었는데 다른 아이콘도 많습니다. https://fontawesome.com/icons/github?f=brands&s=solid&an=fade GitHub Icon | Font Awesome GitHub icon in the Solid style. Make a bold statement in small sizes.. Available now in Font Awesome 6. fontawesome.com 코드 적용하기 이제 블로그 편집의 HTML에 들어가서..

이론/논문 리뷰

[논문 리뷰] ViT(Vision Transformer) 리뷰 및 구현

이미지 분야에 Transformer 구조를 적용한 아키텍쳐를 제시한 논문인 ViT에 대해 정리하고자 합니다. ViT는 구글에서 발표한 논문으로, 기존에 자연어 처리 분야에서 널리 사용되고 있는 트랜스포머를 비전 분야에 적용함으로써 SOTA의 성능을 보인 논문입니다. 이 모델 자체는 엄청나게 많은 양의 데이터로 Pre-train 해야 한다는 단점은 있지만, 어쨋든 높은 성능을 보인다는 점과, 비전 분야에 트랜스포머를 성공적으로 적용한 논문이라는 의의가 있습니다. Architecture ViT는 다음과 같은 구조로 이루어져 있습니다. 이 아키텍쳐를 기준으로 어떻게 동작하는지를 설명해보도록 하겠습니다. Patch, Embedding ViT는 이미지가 들어왔을 때, 먼저 여러개의 Patch로 자르는 작업을 실행..

새우까앙
'분류 전체보기' 카테고리의 글 목록 (2 Page)