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

전체 글1508

소리 및 파형 소리 (Sound) 소리는 물체의 진동 (vibration)에 의해 발생한다. 진동은 공기 분자를 진동시킨다 (oscillate). 기압의 변화가 파동을 일으킨다. 기계적 파동 (Mechanical wave) 공간을 이동하는 진동이다. 한 지점에서 다른 지점으로 이동하는 에너지이며 매체가 변형된다. 파형 (Waveform) 파형은 다인자 (multifactorial) 정보를 전달한다. 주파수 (Frequency) 강도 (Intensity) 음색 (Timbre) 주기적 (periodic) 및 비주기적 (aperiodic) 소리의 파형은 다음과 같다. 주파수 및 진폭 (Frequency and amplitude) 주파수가 높을수록 더 높은 소리가 되며, 진폭이 클수록 크게 들린다. Pitch 로그적으로 인식.. 2024. 3. 6.
Multiclass Classification Error Metrics Multiclass Classification Error Metrics 둘 이상의 결과를 예측하려면 둘 이상의 출력 뉴런이 필요하다. 하나의 뉴런이 두 가지 결과를 예측할 수 있기 때문에 출력 뉴런이 두 개인 신경망은 다소 드물다. 결과가 세 개 이상이면 출력 뉴런이 세 개 이상 필요하다. import pandas as pd from scipy.stats import zscore # Read the dataset df = pd.read_csv("https://data.heatonresearch.com/data/t81-558/jh-simple-dataset.csv", na_values=['NA', '?']) # Generate dummies for job df = pd.concat([df, pd.get_d.. 2024. 3. 6.
Keras에서 노이즈 제거 오토인코더 사용 Keras에서 노이즈 제거 오토인코더 사용 컴퓨터가 등장하고 머신러닝이라는 개념조차 생기기 훨씬 전부터 과학자들은 자연 관찰에 맞는 방정식을 만들어냈다. 과학자들은 관찰 사이의 상관 관계를 입증하기 위해 방정식을 찾는다. 예를 들어 질량, 가속도, 힘과 관련된 다양한 방정식이 있습니다. 복잡한 데이터를 살펴보고 방정식을 도출하는 데는 약간의 기술적 전문 지식이 필요하다. 함수 근사화의 목표는 이 과정에서 직관을 배제하고 대신 알고리즘에 의존하여 데이터를 설명하는 방정식을 자동으로 생성하는 것이다. 회귀 신경망이 이 작업을 수행한다. 회귀 함수를 차트화하는 데 사용할 함수를 만드는 것으로 시작한다. def chart_regression(pred, y, sort=True): t = pd.DataFrame({.. 2024. 3. 5.
MySQL 설치 MySQL 설치 MySQL 홈페이지에서 OS 환에 맞게 설치를 한다. Setup은 Custom으로 진행하고 Connector/NET를 추가 설치한다. MySQL Connetion MySQL instance를 새로 만들거나 처음 설치했을 때 example 생성한 비밀번호를 통해 연결한다. Server에서 데이터 import와 export가 가능하다. 2024. 2. 27.
[Windows] NVIDIA GPU 사용을 위한 WSL2에 Tensorflow 및 Keras 설치 NVIDIA Driver NVIDIA에서 제품에 맞는 드라이버를 설치한다. WSL2 설치 PowerShell에서 WLS2를 설치한다. wls --install PowerShell에서 nvidia-smi 명령으로 GPU 서버를 확인한다. nvidia-smi Miniconda 설치 Miniconda Windows 프로그램을 설치한다. 콘다 환경 만들기 다음 명령을 사용하여 tf 라는 새 conda 환경을 만든다. conda create --name tf python=3.9 가상 환경 활성화에서 에러가 발생한다면 PowerShell 실행 정책을 변경해야 한다. CommandNotFoundError: Your shell has not been properly configured to use 'conda acti.. 2024. 2. 15.
스타일, 콘텐츠 및 변형 손실 계산하기 스타일, 콘텐츠 및 변형 손실 계산하기 행렬에 전치를 곱하여 그램 행렬을 계산한다. 손실 함수의 두 부분을 계산하기 위해 VGG 네트워크의 여러 컨볼루션 레이어에서 출력된 그램 행렬을 가져온다. 스타일과 원본 이미지와의 유사성을 모두 결정하기 위해 이미지 픽셀을 직접 비교하는 대신 VGG의 컨볼루션 레이어 출력을 비교한다. 손실 함수의 세 번째 부분에서는 서로 가까운 픽셀을 직접 비교한다. VGG 네트워크의 여러 다른 레벨에서 컨볼루션 출력을 가져오기 때문에 그램 행렬은 이러한 레이어를 결합하는 수단을 제공한다. VGG 컨볼루션 레이어의 그램 행렬은 이미지의 스타일을 나타낸다. 알고리즘이 생성할 때 원본 이미지, 스타일 참조 이미지, 최종 출력 이미지에 대해 이 스타일을 계산한다. def gram_mat.. 2024. 2. 14.
Transfer Learning for Keras Style Transfer Transfer Learning for Keras Style Transfer 스타일 전송 기술은 두 개의 이미지를 입력으로 받아 세 번째 이미지를 생성한다. 첫 번째 이미지는 변형하고자 하는 기본 이미지이다. 두 번째 이미지는 소스 이미지에 적용하려는 스타일을 나타낸다. 마지막으로 알고리즘은 스타일 이미지가 특징인 스타일을 에뮬레이트하는 세 번째 이미지를 렌더링다. 이 기술을 스타일 전송이라고 한다. 제시된 코드는 François Chollet이 만든 Keras 문서의 스타일 전송 예제를 기반으로 했다. base_image_path : 스타일을 적용할 이미지 style_reference_image_path : 스타일을 복사할 이미지 먼저, 스타일을 적용할 기본 이미지를 업로드다. import os fro.. 2024. 2. 14.
StyleGAN을 위한 이미지 전처리 StyleGAN을 위한 이미지 전처리 dlib를 사용하여 눈 위치를 기준으로 소스 이미지와 대상 이미지를 중앙에 배치하고 자른다. 이 작업을 수행하기 위해 두 개의 함수를 만든다. 첫 번째는 dlib를 호출하여 인물의 눈 위치를 찾는다. 두 번째 함수는 눈 위치를 사용해 이미지의 중심을 눈 주위로 맞춘다. 정확히 중앙에 맞추지 않고 원래 StyleGAN 훈련 세트와 비슷하게 중앙에서 약간 오프셋을 둔다. 이 오프셋은 생성된 StyleGAN 얼굴의 눈을 감지하여 결정다. 눈 사이의 거리를 통해 얼굴이 얼마나 큰지 알 수 있으며, 이를 통해 이미지의 크기를 일관되게 조정할 수 있다. def find_eyes(img): gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) rects.. 2024. 2. 14.
Transfer Learning for Facial Points and GANs Transfer Learning for Facial Points and GANs 신경망을 사용하여 얼굴 특징, 특히 개인의 눈 위치를 감지하는 방법이 있다. 눈의 위치를 파악하면 인물 사진을 일관성 있게 자를 수 있다. GAN은 무작위 벡터를 사실적인 인물 사진으로 변환할 수 있다. 그 반대로 실제 사진을 숫자 벡터로 변환할 수도 있다. 두 이미지를 이러한 벡터로 변환하면 두 이미지 사이를 변환하는 비디오를 제작할 수 있다. NVIDIA는 눈이 항상 같은 위치에 있도록 일관되게 잘린 인물 사진을 대상으로 StyleGAN을 훈련했다. 이미지를 벡터로 성공적으로 변환하려면 NVIDIA가 크롭을 사용한 방식과 유사하게 이미지를 크롭해야 한다. 여기에 제시된 코드를 사용하면 시작 이미지와 끝 이미지를 선택하고 .. 2024. 2. 14.
조기 중지의 이점 Benefits of Early Stopping 손실은 신경망이 오답에 대해 어느 정도 확신을 가졌는지를 측정한다. 정확도는 신경망의 신뢰도와 관계없이 올바른 분류의 비율이다. import matplotlib.pyplot as plt history_dict = history.history acc = history_dict['accuracy'] val_acc = history_dict['val_accuracy'] loss = history_dict['loss'] val_loss = history_dict['val_loss'] epochs = range(1, len(acc) + 1) plt.plot(epochs, loss, 'bo', label='Training loss') plt.plot(epochs, v.. 2024. 2. 13.
728x90
반응형
LIST