Programing/Python programming 18

Sklearn - PolynomialFeatures

Feature Engineering은 데이터의 전처리를 통해 머신러닝 모델의 성능을 향상시키는 방법입니다. PolynomialFeatures 는 주어진 입력값을 기반으로, 고차항들을 추가하는 방법입니다. scikit-learn의 패키지에서 이 기능을 제공하며, 단순한 선형모델을 활용한다는 가정 하에 보다 복잡한 다항식 모델로 변환시킬 수 있기 때문에, 입력값이 적고 비선형 데이터에 대한 모델링을 수행할 때 효과적입니다. - 기본 사용 방법 from sklearn.preprocessing import PolynomialFeatures poly = PolynomialFeatures(degree=2, include_bias=False) poly.fit_transform(pd.DataFrame([3, 6, 9]..

tf.keras로 Embedding layer 뜯어보기, 구현해보기

Embedding layer가 어떻게 동작하는지 정확하게 알기 위해서, 가장 쉬운 예제를 통해 이해하려고 노력해봤습니다. import tensorflow as tf from tensorflow.keras.utils import plot_model query_input = tf.keras.Input(shape=(5), dtype='int32') token_embedding = tf.keras.layers.Embedding(input_dim=5, output_dim=10) query_embeddings = token_embedding(query_input) Model = tf.keras.models.Model(inputs = query_input, outputs=query_embeddings) Model: ..

tf.keras에서 Transformer의 self attention 및 중요도

1. Transformer에서 self-attention의 의미 Self-attention은 자연어 텍스트와 같은 Sequential data를 처리하기 위한 Transformer layer에 있는 메커니즘입니다. 이를 통해 모델은 시퀀스의 중요한 부분에 집중하여 시퀀스의 각 요소에 대한 표현을 계산할 수 있습니다. Attention score는 위 그림처럼, 2차원의 word vector에 대해 Matrix multiplication이 수행됩니다. Word embedding이 잘 되어있다면, 비슷한 의미를 가지는 단어는 비슷한 Feature pattern을 보일 것입니다. 따라서, 같은 문장의 MatMul을 통해 만들어진 Attention score (Matrix)는 '유사도' 처럼 작동할 것입니다. ..

tf.Keras 기본코드로 이해하는 Transformer

뭔가 Transformer는 참 항상 어렵게 느껴졌었다. 왜이렇게 강의들이나 문헌들이 어렵게 적혀있는지, Key, Query, Value는 도대체 어디서 튀어나오는 것인지 명확하게 이해가 안됐다. 내가 이해할 수 있도록 글을 쓰면, 독자분들도 쉽게 이해할 수 있지 않을까? 라는 마음으로 이 글을 한번 써보도록 한다. 코드는 모델링을 기준으로 상세하게 덧붙여 가며 설명한다. 0. Library & 예제 데이터 준비 - Tensorflow Keras, Library Load import tensorflow as tf from tensorflow import keras from tensorflow.keras import layers from tensorflow.keras.models import Sequent..

Deep Attention-Sampling Models: 큰 이미지의 End-to-end 학습

Processing Megapixel Images with Deep Attention-Sampling Models https://arxiv.org/pdf/1905.03711.pdf 불러오는 중입니다... (참고 자료) https://icml.cc/media/Slides/icml/2019/halla(11-11-00)-11-11-25-4512-processing_mega.pdf Image-net에서 pretrained 되는 대표적인 CNN 모델들 (VGG, ResNet, DenseNet 등.. ) 은 기본적으로 224*224 사이즈를 가진다. 그런데 448*448 로만 늘려도 필요한 메모리가 어마어마해진다. 따라서 매우 큰 이미지를 학습할 때, 사이즈를 down-sampling 하거나, 아니면 patch를 ..

scikit-image 설치 에러 Microsoft visual c++ 14.0 required

Failed building wheel for scikit-image Running setup.py clean for scikit-imageFailed to build scikit-imageInstalling collected packages: scikit-image Running setup.py install for scikit-image ... error ..... compiling C sources error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools ######## Solution ..

python scipy - ImportError: DLL load failed

진짜 scipy 안에 있는 모듈을 import 할 때, DLL이 없다고 에러가 난다. 구글링 해서 Stack-overflow 같은 곳에서는 NumPy+MKL 를 설치하라고 난리다.해당 파일은 http://www.lfd.uci.edu/~gohlke/pythonlibs/ 에서 다운받아서 설치할 수 있지만,본인은 아무리 Numpy, scipy를 지우고 NumPy+MKL을 따로 받아 설치하고 해도scipy는 import 되는데, 안에있는 sub-module에 대해서는 DLL error가 발생했다. >>> import scipy# scipy는 잘 import 됨. >>> import scipy.miscTraceback (most recent call last): File "", line 1, in File "C:..

python DICOM (DCM) 이미지를 png, jpg로 바꾸기

DICOM 이미지를 이용해서 학습을 하려고, jpg나 png format으로 바꾸려고 했는데,예전에 어떤 library를 썼는지 잘 기억이 안나서.. 구글링해보니 mritopng 라는 정말 간단한 패키지가 있어서, 혹시 까먹을까봐 포스팅으로 남겨본다. https://github.com/danishm/mritopng 위 github에서 zip 파일 다운받아서 압축을 풀고,콘솔에서 python setup.py install 하나로 설치 완료. 혹은 pip install mritopng convert_file이란 함수로 파일 이름 하나하나 짚어가면서 바꿀 수 있고,convert_folder 함수로 폴더 안에있는 모든 dicom 파일을 (DCM) png로 바꿀 수 있다. import mritopng # Conv..