본문 바로가기
728x90
반응형
SMALL

전체 글1508

[Keras] 모델 플롯 유틸리티 plot_model 함수 keras.utils.plot_model( model, to_file="model.png", show_shapes=False, show_dtype=False, show_layer_names=False, rankdir="TB", expand_nested=False, dpi=200, show_layer_activations=False, show_trainable=False, **kwargs ) model_to_dot 함수 keras.utils.model_to_dot( model, show_shapes=False, show_dtype=False, show_layer_names=True, rankdir="TB", expand_nested=False, dpi=200, subgraph=Fa.. 2024. 4. 2.
[Keras] 멀티모달 함의 분류 (2) 데이터 입력 파이프라인 구축 TensorFlow Hub는 다양한 BERT 계열의 모델을 제공한다. 각 모델에는 해당하는 전처리 계층이 함께 제공된다. 리소스에서 이러한 모델과 해당 전처리 계층에 대해 더 자세히 알 수 있다. 런타임을 짧게 하기 위해 원래 BERT 모델의 더 작은 변형을 사용한다. # Define TF Hub paths to the BERT encoder and its preprocessor bert_model_path = ( "https://tfhub.dev/tensorflow/small_bert/bert_en_uncased_L-2_H-256_A-4/1" ) bert_preprocess_path = "https://tfhub.dev/tensorflow/bert_en_uncased_pre.. 2024. 4. 2.
[Keras] 멀티모달 함의 분류 (1) 멀티모달 함의 분류 멀티모달 함의를 예측하기 위한 모델을 구축하고 훈련한다. Google Research에서 소개한 다중 모드 수반성 데이터 세트 multimodal entailment dataset를 사용한다. 멀티모달 함의란 소셜 미디어 플랫폼에서는 콘텐츠를 감사하고 중간 정도의 콘텐츠를 제공하기 위해 거의 실시간으로 다음 질문에 대한 답을 찾고자 할 수 있다. 주어진 정보는 다른 정보와 모순 (contradict) 되는지? 주어진 정보는 다른 정보를 의미 ( imply)하는지? 자연어 처리에서 이 작업은 텍스트 함의 분석이라고 한다. 이것은 정보가 텍스트 콘텐츠에서 나올 때만 해당된다. 실제로 사용 가능한 정보는 텍스트 콘텐츠뿐만 아니라 텍스트, 이미지, 오디오, 비디오 등의 멀티모달 조합에서 나오.. 2024. 3. 30.
파형 (Waveform) 파형 (Waveform) 음성 신호는 공기를 통해 이동하는 압력 변화 ( pressure variations)로 정의되는 소리 신호다. 압력의 이러한 변화는 파동으로 설명될 수 있고 그에 따라 종종 음파 (sound waves)라고 불린다. 현재, 주로 디지털 시스템에서 그러한 파형의 분석과 처리는 항상 음향 음성 신호가 마이크에 의해 캡처되어 디지털 형태로 변환되었다고 가정할 것이다. 그런 다음 음성 신호는 시간 순간의 상대 기압을 나타내는 일련의 숫자 xn으로 표시다. 이 표현은 종종 PCM으로 약칭되는 펄스 부호 변조 (pulse code modulation)로 알려져 있다. 그런 다음 이 표현의 정확성은 두 가지 요인에 의해 지정된다. 샘플링 주파수 n와 n+1 사이의 시간 단계 xn의 정확성과 .. 2024. 3. 27.
우분투에서 개발 환경 구축 (1) wget wget은 HTTP 또는 FTP 통신을 사용해서 서버에서 파일 또는 콘텐츠를 다운로드해주는 소프트웨어이다. 아래 명령어를 터미널에 입력하여 wget을 설치해 준다. sudo apt install wget 데이터베이스 MySQL 설치 패키지를 다운로드한다. sudo wget https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb ll 명령어로 mysql-apt-config_0.8.29-1_all.deb 파일을 확인할 수 있다. "dpkg status database is locked by another process" 에러 발생시 다음 명령어로 해결한다. # lock 파일 제거 sudo rm /var/lib/apt/lists/lock sudo r.. 2024. 3. 26.
WSL (Windows Subsystem for Linux) WSL (Windows Subsystem for Linux) 리눅스용 윈도우 하위 시스템은 윈도우 10과 윈도우 11에서 네이티브로 리눅스 실행 파일을 실행하기 위한 호환성 계층이다. 명령 프롬프트에서 다음을 실행한다. wsl --install 유저 이름과 비밀번호를 설정한다. 그 다음, 설치 및 버전 확인을 한다. wsl -l -v 우분투 (Ubuntu) 우분투에서 다음 명령어로 버전을 확인한다. lsb_release -a ll # 해당 디렉토리의 파일 목록을 상세히 출력 pwd # 현재 디렉토리 확인 apt (Advanced Package Tool) 어드밴스트 패키징 툴은 코어 라이브러리와 함께 동작하는 자유 사용자 인터페이스로, 데비안 GNU/리눅스 배포판 계열 배포판에서 소프트웨어를 설치하고 제거.. 2024. 3. 26.
Mel-Frequency Cepstral Coefficients (MFCC) Mel-scale 멜-스케일은 톤과 톤 사이의 단계가 사람이 인식하는 단계와 일치하도록 주파수를 매핑하는 척도 (scale)이다. 즉, 예를 들어 X에서 X+1 멜까지의 단계는 Y에서 Y+1 멜까지의 단계만큼 크게 들린다. 삼각형 중심이 멜 음계에서 동일한 거리 단계에 해당하는 주파수에 위치하도록 필터 뱅크 (filter bank)를 형성한다. def freq2mel(f): return 2595*np.log10(1 + (f/700)) def mel2freq(m): return 700*(10**(m/2595) - 1) f = np.linspace(0,8000,1000) plt.plot(f/1000,freq2mel(f)) plt.xlabel('Frequency (kHz)') plt.ylabel('Mel-sc.. 2024. 3. 20.
캡스트럼 (Cepstrum) 스펙트로그램 (Spectrogram) 스펙트로그램은 음성 신호의 많은 관련 특징을 효과적으로 시각화한다는 점에서 음성을 표현하는 데 유용하다. 특히, 시간 경과에 따른 이벤트, 기본 주파수의 변화, 스펙트럼 포락선 (spectral envelope)의 일부 특징을 관찰할 수 있다. 하지만 단점도 있다. 스펙트럼은 원하는 정보의 양에 비해 많은 수의 계수 (coefficients)를 가지고 있기 때문에 계수 수 측면에서 특별히 효율적인 표현이 아니다. 일반적으로 포먼트 (formant)의 위치와 진폭에 대한 정보를 원하는데, 이는 몇 개의 계수로 표현할 수 있다. 마찬가지로 기본 주파수는 하나의 정보에 불과하지만 수많은 주파수 성분에 숨겨져 있다. 캡스트럼 (Cepstrum) 예를 들어, 음성 신호의 많은.. 2024. 3. 20.
[PyTorch] AssertionError: Torch not compiled with CUDA enabled 소제목 입력 torch와 cuda 버전이 맞지 않아 출력되는 에러이다. 따라서, 공식 홈페이지에서 가이드대로 설치를 진행한다. 현재 Windows의 PyTorch는 Python 3.8 ~ 3.11만 지원하고 Python 2.x는 지원되지 않으므로 torch 가상 환경으로 파이썬 버전을 설치한다. conda create --name torch python=3.9 torch 가상 환경을 활성화하고 CUDA 11.8 또는 12.1을 설치한다. pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 그 다음, GPU를 사용하는 확인하기 위해 device를 출력해 본다. import torch devic.. 2024. 3. 19.
오디오 데이터 처리 Python 라이브러리 import import pandas as pd import numpy as np import matplotlib.pylab as plt import seaborn as sns import librosa import librosa.display import IPython.display as ipd from glob import glob from itertools import cycle sns.set_theme(style="white", palette=None) color_pal = plt.rcParams["axes.prop_cycle"].by_key()["color"] color_cycle = cycle(plt.rcParams["axes.prop_cycle"].by_key()["c.. 2024. 3. 6.
728x90
반응형
LIST