이제 머신러닝에 이어서 딥러닝에 배한 학습을 시작해보자먼저 기본적으로 Deep learning을 위해 Tensorflow 모듈을 불러왔다.딥러닝은 GPU를 통해 연산을 할 때 연산 능력이 월등히 좋아지나, CPU도 뭐 작동이 가능하니까 이걸로 당장은 만족하자딥러닝에서
이번에는 데이터가 아닌 변수를 만드는 방법이다.변수의 겨우 tensorflow.Variable를 통해 만들 수 있다.변수에서 중요한 점은 하나의 데이터가 아닌 말 그대로 미분할 때 등 다양한 상황의 변수로서 사용한다는 것이다.
행렬로 데이터를 계산하는 딥러닝의 경우 Tensorflow에서도 행렬의 계산을 위한 기본적인 함수가 존재한다.a 데이터의 경우 0~5까지 데이터를 가지며, 데이터의 형태는 int다딥러닝에서 정말 중요한 점은 shape와 type을 확인해야한다.그리고 b 변수의 경우 o
딥러닝에서는 GradientTape 함수 기능을 통해서 계산을 할 때 반대방향 계산식을 알아낼 수 있다.위 코도의 경우 변수값은 3이고, $y$에 대한 식은 $x^2$이다.해당 식을 미분해서(보통의 경우 편미분을 많이한다.) y에 대한 x의 미분값을 알아낼 수 있다.위
이제 자동미분을 회귀직선에 사용해보자먼저 기울기 3, 절편 2 그리고 x는 랜덤이며, 분포를 형성하기 위해 noise를 추가해서 하나의 회귀직선을 scatter를 통해 표현했다.그리고 임의의 변수값 w는 5, b는 0으로 주고 학습 과정에서 기울기의 값에 따라 너무 한
tensorflow에서 딥러닝을 통해 학습시키기 위해서는 위 4가지 단계를 통해 진행이 필요하다Data : 분석 및 모델에 사용할 데이터를 불러온다.Preprocessㄱ. 데이터 검증 : 불러온 데이터의 결측값 등의 유무 파악ㄴ. 전처리 : Scale, 단위 등을 조정
이번에는 Training과정을 알아보는데, 그전에 먼저 필요한 데이터 불러오기 class를 불러왔다.그리고 모델 구축 과정을 한 번에 해결할 수 있는 함수를 불러왔다.모델을 compile할 때 조정하는 대표적인 값들로는 optimizer(최적화), loss(비용 함수)
Tensorflow는 학습 과정의 내용을 board형태로 제공해준다.가장 먼저 fit할 때 callback함수를 통해 tensorboard를 확인할 수 있다.log-dir은 보통의 경우 날짜와 시간 그리고 타이틀을 넣어서 어떤 학습에 대한 logic인지 구분할 수 있게
model을 구축하고 해당 model를 저장해서 필요할 때 사용할 수 있다.먼저 save함수를 사용해서 모델 및 weight값을 저장할 수 있다.중요한 점은 끝에 .h5 넣어줌으로써 파일확장값을 지정해야한다.불러올 때는 tensorflow.keras.model.load
이번에는 데이터를 local파일에서 바로 불러오는 방법으로 해봤다.먼저 os 모듈을 통해 파일의 내용을 확인하고, glob모듈을 통해 데이터셋을 리스트 형태로 불러왔다.그리고 하나의 파일을 io모듈로 읽어보니 코드로 묶여있다.묶인 파일을 decode를 통해 풀어주고,
이번에는 ImageDataGenerator를 통해 이미지 데이터를 전처리할 수 있다.위에 각 입력값은 이미지 데이터를 돌리거나, 가중치를 줌으로써 과적합을 방지하기 위해 설정했다.먼저 동물 사진 데이터를 불러오기 위한 class를 만들고만들어둔 ImageDataGene
이제 기본적인 Tensorflow와 pytorch(비슷한 부분이 많기에 벨로그 작성x)를 배웠으니 본격적으로 DeepLearning을 deep하게 공부해봤다.먼저 혈중지방수치와 이에 대한 독립변수로 나이와 체중을 포함한 데이터셋을 불러왔다.해당 데이터를 시각화하기 위해
이번에는 분류문제인데, 단순 회귀직선이 아닌 여러 Layer를 통해 모델을 구축하는 모형을 만들어봤다.앞에 or, and의 경우 하나의 직선을 통해 모델을 구축할 수 있지만, XOR의 경우 두 개의 직선 혹은 비선형 회귀직선이 필요하다.여러 층의 Layer를 사용할 때
이번에는 MNIST데이터를 통해 딥러닝 모델을 구축해봤다.먼저 모듈과 데이터를 불러오고, 픽셀의 최대값은 255이기 때문에 MinMaxScale효과를 내기 위해 255으로 나눠줬다.그리고 모델을 여러 Layer를 통해 구축하고, 모델을 요약해봤다.위 모델은 그림과 똑같
이번에는 이미지 인식 CNN 딥러닝을 알아봤다.원리 자체가 막 어렵지는 않지만, 세부적인 개념을 이해하려고 노력하다보니 머리가 후...똑똑한 사람들 어떻게 하나하나 이걸 다 만들었찌기본적인 원리는 원래의 사진을 부분부분 인식해서 사진의 Feature 즉 특징을 뽑아내는
이번에는 DeepLearnnig의 연산원리를 알아보자기본적으로 각 데이터 x1, x2...xn에 w1, w2, w3...wn을 곱해서 하나의 결과를 출력하게 된다. DeepLearning에서는 이를 forward pass이라고 하는데 쉽게 말해 그냥 순서대로 계산을 하
이번에는 CNN을 통해 마스크 착용 유무를 확인하기 위한 과정을 코드해봤다.먼저 필요한 데이터를 zip을 풀어서 가져오고, 각 module를 불러왔다.불러온 데이터를 프레임 형태로 정리했다.데이터의 분포를 확인하니 편향된 것 없이 잘 분포되어 있다.이제 임의의로 몇개의
이번에는 Pytorch에서 모델을 구축하고 성능을 테스트해봤다.먼저 유방암 데이터를 불러왔다.그리고 불러온 데이터를 프레임 형태로 만들었다.이제 torch불러오고, 프레임 데이터를 numpy만든 후 numpy데이터를 torch의 데이터로 변환해 data변수에 저장했다.
이번에는 GPU사용을 위해 colab에서 작업했는데, 식물의 잎을 통해 식물의 질병 유무를 파악하는 딥러닝 모델을 구축했다. 먼저 데이터를 불러오는데, ImageFolder기능을 구현하기 위해 파일마다 Label를 구분해서 만들었다. 각 식물마다 train, tes
딥러닝 모델을 구축할 때 이전에 오픈된 모델을 불러와서 사용할 수도 있다.먼저 tensorflow_datasets에서 고양이와 강아지 사진을 불러왔다.그리고 as_supervised 입력값에 True를 줌으로써 데이터와 라벨을 하나로 묵었다.하나의 데이터를 뽑아서 출력
auto_encoder는 자기 데이터를 자기한테 교육시켜 잠재변수를 만드는 과정이다.PCA처럼 차원을 축소하고 다시 확장하는 과정에서 중간에 있는 잠재변수를 얻을 수 있다.먼저 가장 친근한 mnist데이터를 불러오고, flatten시킨 및 정규화 시킨 후 shape를
딥러닝을 통해 데이터를 교육시킬 때 정상적인 데이터만 학습할 경우 예측해야하는 이미지가 뒤틀리거나, 흔들리거나 다양한 상황에 제대로 예측을 못한다.그래서 하나의 이미지를 다양한 형태로 증강해서 모든 데이터를 교육시키는 과정을 가진다.먼저 꽃사진 데이터를 불러왔다.일단
RNN은 메모리셀 기반의 딥러닝 모델로서 자연어 처리 및 시계열 데이터 처리에 유용하다RNN의 특징으로 $ y = f(Xt, u1)$ 즉 이전 데이터와 입력값을 모두 받아 출력값을 만든다는 것이다.구체적인 flow로서 이전의 시계열 데이터와 입력값을 통해 학습하고 출력