-
AttributeError: 'DataFrame' object has no attribute 'append'
pandas v2.0+에서 pandas DataFrames를 append()로 더 이상 연결할 수 없다. 대신 concat을 사용하면 된다. # append 사용 시 에러 발생 for file in os.listdir(train_cabg_path): train_csv = train_csv.append({'path': os.path.join(train_cabg_path, file), 'label': 0}, ignore_index=True) # concat을 사용해야한다. for file in os.listdir(train_cabg_path): train_csv = pd.concat([train_csv, pd.DataFrame([[os.path.join(train_cabg_path, file), 0]], c..
-
failed to initialize nvml: driver/library version mismatch
Error nvidia-smi로 gpu를 확인하고자 하였을 때 다음과 같은 에러가 발생하였다. Failed to initialize NVML: Driver/library version mismatch Cause of the Problem dmesge 리눅스의 unattended-upgrade가 보안 관련 패키지를 자동으로 업데이트하여 버전 간 차이가 발생하는 것이 원인이라고 한다. 해결방법 1. nvidia module 삭제 후 재시작 ⇒ 이걸로 해결이 안되었음... 2. CUDA 삭제 후 재설치 CUDA 삭제 cd /usr/local/cuda/ sudo ./bin/cuda-uninstaller 그 후에 원래 설치했던 CUDA 설치하면 정상작동 sh /home/*******/Downloads/NVIDIA..
-
Prototypcial Networks for Few-shot Learning
Few-shot Learning Few-shot Learning은 매우 적은 양의 dataset으로 이루어진 support set을 기반으로 query를 분류 및 예측하는 것이다. Few-shot Learning은 n-way k-shot learning이라고도 부른다. (n은 Support set의 class의 개수, k는 support set의 각 class 당 갖고 있는 데이터 개수) Support set은 Query를 분류할 때 사용되는 데이터셋으로, 모델이 test 시에 사용되는 데이터셋이다. 위 그림은 3-way-2-shots classification task이다. "3-way"는 3 classes를 의미하고 "2-shots"는 2 example per class를 의미한다. 대부분의 few-..
-
Health system-scale language models are all-purpose prediction engines
네이쳐 article을 읽고 정리 Main 의사들은 환자 병력 정보, 영상 검사 결과 등 다양한 기록들을 보고 궁극적으로 note에 문서화하게 된다. EHR 같은 정형화된 데이터는 데이터 프로세싱이 어렵고 학습을 해도 실제로 사용할만한 결과를 얻기 어렵다. (last mile problem) LLM은 자연어에 대해 독해와 해석에 있어서 영향력있는 결과를 얻을 수 있는 정도까지의 발전이 이루어졌다. ⇒ 본 article을 작성한 저자들은 LLM이 의사가 작성한 note를 읽음을 통해 광범위한 임상 및 운영 업무 전반에 걸쳐 의사 결정을 지원할 수 있을 것이라고 바라보았다. 저자들은 note들과 electronic order이 중심이 되는 clinical 워크 플로우와 실시간으로 통합될 수 있는 LLM 기반..
-
CNN for Biomedical Image
Inductive bias for Image Modality Biomedical 분야에서는 이미지 deep learning 연구가 활발하게 이루어지고 있다. 하나의 이미지는 3차원 (C, H, W)으로 구성되어 있다. 이미지는 0-255의 값으로 구성되어 있다. 보통 255로 나누어 Min-max Normalize 하거나 Normal Distribution 기반으로 normalization한다. CNN은 local 한 feature를 잘 잡는다는 Inductive bias를 갖고 있다. CNN layer의 특징은 weight sharing을 한다는 것인데, 그렇기 때문에 아래에 있는 3이라는 글자를 보면, 3이라는 글씨에는 꺾이는 부분이 있고 이런 꺾임 현상이 여러 곳에서 나타난다. 이렇게 꺾인 곳(반복..
-
Data Modality of Biomedical data
Data Modality Modality가 무엇일까? Multi-Modal 이라는 말을 많이 들어봤을 것이다. Modality란 각각의 데이터 타입의 특징에 맞게 분류하는 것 ⇒ 이에 맞게 모델을 선택한다. = Inductive bias를 고려한다. 따라서 Modality의 특징을 잘 정의하고 모델을 선택하는 과정이 중요하다. 다시 Multi Modal로 돌아와서 살펴보면 아래 그림처럼 모델의 input으로 음성, 텍스트, 비디오 등 다양하게 넣기 때문에 다양한 관점(Multi Modality)에서 볼 수 있다. 또한 중요한 것은 Modality에 맞는 모델을 각각 만들어서 넣어주어야 한다는 점이다. Biomedical data modality One-hot encoding 원-핫 인코딩은 단어 집합의 ..
-
[Vector Similarity Search] FAISS
FAISS = Facebook AI Similarity Search 유사한 벡터를 검색해서 가져오는 Facebook 라이브러리 이다. 벡터화된 데이터를 인덱싱하고 이를 효율적으로 검색할 수 있도록 도와주는 C++ 기반 라이브러리이다. 라이브러리를 사용해보기 위해 해당 링크에서 sentence embedding 파일을 다운받았다. import os import numpy as np import faiss import requests from io import StringIO import pandas as pd # download sentence embedding files os.mkdir("./data") data_url = "https://raw.githubusercontent.com/jamescalam..
-
[Vector Similarity Search] 3 Vector-based Methods for Similarity Search - TF-IDF / BM25 / SBERT
Vector-based Search. 방식에는 대표적으로 TF-IDF, BM25, 그리고 BERT 기반 방식들이 있다. TF-IDF / BM25 → Sparse Vector SBERT → Dense Vector 1. TF-IDF TF-IDF 은 명칭처럼 Term Frequency (TF: 단어의 빈도)와 Inverse Document Frequency (IDF: 역 문서 빈도)라는 두 가지를 이용한다. TF : 특정 문서 D에서 특정 단어 q의 등장 횟수 "바나나"라는 단어에 대한 TF를 위와 같이 "바나나" 단어 등장 횟수 / 전체 단어 수로 나타낼 수 있다. 그러나 TF만으로는 흔한 단어와 흔하지 않은 단어에 차별점을 둘 수 가 없다. 위 예시에서 "the'라는 단어의 TF를 구해도 "바나나"와 같기..