목록딥러닝,인공지능 (24)
minhui study
PyTorch Layer 이해하기 예제 불러오기 * PyTorch는 TensorFlow와 다르게 [Batch Size, Channel, Height, Width] 임을 명시해야한다. 각 Layer별 설명 Network 쌓기 위한 준비 ▶ Convolution in_channels: 받게 될 channel의 갯수 out_channels: 보내고 싶은 channel의 갯수 kernel_size: 만들고 싶은 kernel(weights)의 사이즈 detach() method는 그래프에서 잠깐 빼서 gradient에 영향을 받지 않게 한다. output 시각화 준비를 위해 numpy화 Input으로 들어간 이미지 numpy화 ▶ Pooling input을 먼저 앞에 넣고, 뒤에 kernel 사이즈와 stride..
전체적인 학습 과정 Optimizer 및 Training Build Model Preprocess ( 데이터 전처리 ) tf.data 사용 ( 텐서텐서플로우 공식홈페이지에서 말한 expert한 방법 ) MNIST Dataset 준비 RGB로 channel이 이미 3이었다면 차원을 늘려줄 필요가 없지만 gray scale이기 때문에 늘려줘야 한다. ▶ Generate batch data with tf.data from_tensor_slices(): 일반 이미지나 array를 넣을 때 list형식으로 넣어준다. 이미지 경로들이 담긴 리스트 일 수도 있고, raw 데이터의 리스트 일 수도 있다. shuffle() : 한번 epoch이 돌고 나서 랜덤하게 섞을 것인지 정한다. batch(batch_size) :..
Layer Explaination Input Image input으로 들어갈 DataSet을 들여다보면서 시각화까지 CNN, Convolutional Neural Network 이란 무엇일까? 다음의 그림은 CNN의 과정을 잘 나타내는 그림이다. CNN은 Convolution과 Pooling, Dense(또는 Fully Connected)라는 세가지 종류의 계층을 통해 만들어진다. CNN은 크게 Feature Extraction(특징 추출)과 Classification(분류) 2단계로 나뉜다. ● Feature Extraction(특징 추출) : 입력 데이터(input)의 고유한 특징을 찾아가는 단계 ● Classification(분류): 찾은 특징들을 가지고 class를 고르는 단계 ▶ Convolut..
Data Preprocess (MNIST) TensorFlow에서 제공해주는 데이터셋(MNIST) 예제 불러오기 * train_x와 train_y는 모델 학습에 사용되는 훈련 세트이다. * test_x와 test_y는 모델 테스트에 사용되는 테스트 세트이다. * 이미지는 28x28 크기의 Numpy배열이고 픽셀 값은 0과 255사이이다. label은 0에서 9까지의 정수 배열이다. ( 훈련 세트에는 60000개의 레이블이 있고 각 레이블은 0과 9 사이이 정수이다. ) Image Dataset 들여다보기 ● Data 하나만 뽑기 ● 시각화해서 확인 Channel 관련 [Batch Size, Height, Width, Channel] GrayScale이면 1, RGB이면 3으로 만들어줘야 한다. ● 데이터..
Tensorflow 기초 사용법 Tensor 생성 ● tf.constant() - list → Tensor - tuple → Tensor - Array → Tensor Tensor에 담긴 정보 확인 ● shape, data type 확인 - Data Type에 따라 모델의 무게나 성능 차이에도 영향을 줄 수 있다. * Tensor 생성 시 data type을 정해주지 않기 때문에 data type에 대한 혼동이 올 수 있다. ● data type 정의 및 변환 - Numpy에서 astype()을 주었듯이 TesorFlow에서는 tf.cast를 사용한다. ● Tensor에서 Numpy불러오기 난수 생성 ● tf.random.normal - Tensorflow에서 Normal Distribution * Nu..
Image Visualization 이미지 파일열어 들여다 보기 이미지를 열기 전에 shape 및 min, max를 통해서 이미지의 range 확인 필요 그래프로 시각화 하기 이미지 열기 다음과 같이 이미지 보기 사이즈 조절과 제목도 추가할 수 있다. 두번째 이미지 열어 첫번째 이미지 모양에 맞추기 이미지 합치기
Graph Visualizaion Load Packages import numpy as np import matplotlib.pyplot as plt %matplotlib inline Basic Attributes alpha 투명도 kind 그래프 종류 'iine' logy Y축에 대해 Log scaling use_index 객체의 색인을 눈금 이름으로 사용할지 여부 rot 눈금 이름 돌리기(rating) 0~360 xticks, yticks x, y축으로 사용할 값 xlim, ylim x, y축의 한계 grid 축의 그리드를 표현할지 여부 subplots 각 column에 독립된 subplot 그리기 sharex, sharey subplots=True이면 같은 X,Y축을 공유하고 눈금과 한계를 연결한다..
Scalars, Vectors, Matrices & Tensors → Scalar는 하나의 숫자를 의미한다. → Vector는 숫자(Scalar)의 배열이다. → Matrix는 2차원의 배열이다. → Tensor는 2차원 이상의 배열이다. 0차원 1차원 - 숫자가 하나만 들어간다고 해도 [] 리스트를 한번 씌우게 되면 차원이 생긴다. 2차원 - 대문자를 추가적으로 씌우면 차원이 추가적으로 하나 생긴다. 다 차원 Numpy Basic data type ▶ array의 dtype ▶ astype()으로 datatype을 변환 가능하다. ▶ size확인 ▶ len(arr.shape)과 ndim을 통해서 차원의 갯수를 확인할 수 있다. Reshape ▶ reshape ▶ 다차원으로 늘리기 Ravel ▶ arr의..