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

딥러닝39

[PyTorch] AssertionError: Torch not compiled with CUDA enabled 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를 사.. 2024. 3. 19.
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.
[Windows] NVIDIA GPU 사용을 위한 Window Native에 Tensorflow 설치 NVIDIA Driver  NVIDIA에서 제품에 맞는 드라이버를 설치한다. WSL2 설치  PowerShell에서 WLS2를 설치한다. wls --install PowerShell에서 nvidia-smi 명령으로 GPU 서버를 확인한다. Ubuntu-22.04를 사용한다. nvidia-smi Miniconda 설치 아래의 명령어를 터미널에 입력해 스크립트 파일을 다운로드 후에 실행한다. wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.shsudo bash Miniconda3-latest-Linux-x86_64.sh 경로를 “/home/{사용자 이름}/miniconda3”로 설정한다.  # conda 경로 설정export P.. 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.
Transfer Learning for NLP with Keras Transfer Learning for NLP with Keras 일반적으로 자연어 처리 (NLP)는 전이 학습을 사용한다. 단어 임베딩은 네트워크 레이어가 단어를 벡터에 매핑하는 NLP에서 전이 학습의 일반적인 수단다. 이러한 임베딩을 학습하기 위해 대규모 텍스트 말뭉치에 대해 신경망을 훈련시킨다. 단어 임베딩을 사용하여 감정 분석을 수행한다. 특히, 텍스트 샘플이 긍정적인 어조로 말하고 있는지 부정적인 어조로 말하고 있는지 분류해 본다. 미리 학습된 모델을 TensorFlow에 쉽게 로드할 수 있는 TensorFlow Hub를 사용한다. 다음 명령을 사용하여 TensorHub를 설치한다. !pip install tensorflow_hub 또한, 다음 명령으로 설치할 수 있는 TensorFlow 데이터.. 2024. 2. 13.
728x90
반응형
LIST