Programming/python-deep learning 9

[Tensorflow 2.0] 텐서플로우 데이터 구조 파악하기 (tf.data.Dataset + TFRecord)

텐서플로우로 딥러닝 모델을 학습시키기 위한 첫번째 단계로 인풋데이터를 마련해야한다. 우선, 먼저 Tensorflow에서 지원하는 data input pipeline 문서를 보고 파악해보고자 한다. https://www.tensorflow.org/guide/data tf.data: TensorFlow 입력 파이프라인 빌드 | TensorFlow Core tf.data: TensorFlow 입력 파이프라인 빌드 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. tf.data API를 사용하면 간단하고 재사용 가능한 조각으로 복잡한 입력 파 www.tensorflow.org The tf.data API input pipeline은 데이터 소스에서부터 시작해야한다. tf.data.D..

[tensorflow] RaggedTensor란?

tensorflow에서 지원하는 텐서를 담을 수 있는 데이터구조 중에서 RaggedTensor라는 것이 있다. ragged는 irregular와 같은 의미로, RaggedTensor는 각 차원마다 다른 길이(length)를 가질 수 있는 데이터 구조이다. 예시로 tf.RaggedTensor( values=Tensor("StringSplit/StringSplitV2:1", shape=(None,), dtype=string), row_splits=Tensor("StringSplit/RaggedFromValueRowIds/RowPartitionFromValueRowIds/concat:0", shape=(None,), dtype=int64) ) values는 실제로 포함하고있는 데이터로 "StringSplit/..

Tensorflow의 Loss Function과 Metrics의 차이

우리는 Tensorflow에서 학습 모델을 구축하려 한다. model architecture를 구성한 뒤, 모델을 실행시키기 위해서는 model compile 과정을 거치게 된다. compile단계에서는 loss function과 metrics를 정의해줄 수 있는데, 여러 종류의 loss function, metrics 중에서 풀고자하는 문제에 적합한 손실함수와 매트릭스를 선택하게 된다. 예를 들어 이진 분류 문제에서는 loss='binary_crossentropy', metrics='accuracy'를 해줄 수 있고, 회귀 문제라면 loss='mean_squared_error', metrics='mean_absolute_percentage_error'로 선택하여 모델을 컴파일할 수 있다. 얼핏보면 lo..

[Tensorflow] 그림으로 이해하는 CNN 연산과정 (코드포함)

import numpy as np import tensorflow as tf from tensorflow.keras.layers import Conv2D N, n_H, n_W, n_C = 1, 5, 5, 3 n_filter = 5 k_size = 4 images = tf.random.uniform(minval=0, maxval=1, shape=(N,n_H,n_W,n_C)) # Forward Propogation(Tensorflow) conv = Conv2D(filters=n_filter, kernel_size=k_size) Y = conv(images) print(f"Y.shape : {Y.shape}\n") print(f"Y : \n{Y.numpy().squeeze()}\n") # Output Y.sh..

Pytorch로 Tensor Operation 다루는 법! (기본 기능 모음)

지난 글에 이어서 numpy가 아닌 pytorch에서 tensor를 다룰 수 있는 함수들에 대해 정리해보았습니다. tensor에 대한 개념이 익숙하지 않으신 분들은 해당 글을 먼저 읽고 오시는 것을 추천드립니다! https://kyull-it.tistory.com/158 Tensor란 무엇인가? (+ Python Numpy Tensor 구현 및 기본 기능) Tensor란 무엇일까? 우리는 중고등학생때, 스칼라, 벡터, 행렬까지 배웠다. 0차원인 스칼라, 1차원인 벡터, 2차원인 행렬,,, 그럼 3차원부터는?! 그게 바로 텐서라고 하는 것이다. 3차원 이상은 모두 kyull-it.tistory.com tensor 생성하기 import torch torch.FloatTensor( ) # np.array( )..

Tensor란 무엇인가? (+ Python Numpy Tensor 구현 및 기본 기능)

Tensor란 무엇일까? 우리는 중고등학생때, 스칼라, 벡터, 행렬까지 배웠다. 0차원인 스칼라, 1차원인 벡터, 2차원인 행렬,,, 그럼 3차원부터는?! 그게 바로 텐서라고 하는 것이다. 3차원 이상은 모두 텐서의 형태로 표현해주고, 이러한 텐서 형태를 가져와서 스칼라, 벡터, 행렬도 텐서로써 표현해줄 수도 있다. 편의상 모든 값들을 텐서형태로 정의해주는 것으로 보면 되고, 아래의 표가 모든 텐서 종류들을 정리한 내용이다. 텐서의 종류 텐서의 종류 (영어) 형태의 명칭 형태의 명칭 (영어) 0차원 텐서 Zeroth-order Tensor 스칼라 Scalar 1차원 텐서 First-order Tensor 벡터 Vector 2차원 텐서 Second-order Tensor 행렬 Matrix 3차원 텐서 Th..

Pretrained model, checkpoints, Fine-Tuning, Transfer Learning 정리

* 공부용으로 자료 조사한 것들을 토대로 정리한 내용입니다. 틀린 내용이 있다면 댓글 부탁드립니다. 아래의 4가지 사이에는 밀접한 연관이 있다. 해당 개념들은 워낙 범용적으로 쓰이다보니 원래 알던 개념과 조금씩 다른 부분도 있고, 계속해서 헷갈리는 부분이 생기는 것 같아 여러 문서들을 참고하여 번역하고, 정리해보았다. pretrained model과 checkpoints의 개념, fine-tuning과 transfer learning간에 개념을 정확히 알기 위해 목적이나 방법에 대한 내용을 담았다. Pretrained model : 사전 학습된 모델 checkpoints : 모델의 체크포인트 Fine-Tuning : 파인튜닝 Transfer Learning : 전이학습 먼저 pretrained model..

torch.view (파이토치 뷰) 함수 설명

# Manual -> https://pytorch.org/docs/stable/generated/torch.Tensor.view.html torch.Tensor.view — PyTorch 1.12 documentation Shortcuts pytorch.org 파이토치 함수 중 view 함수는 tensor형태의 데이터의 shape을 바꿔주는 함수이다. 원본데이터도 같고, 성분의 수도 같지만 이를 구성하는 shape만 다르게 만들어주는 함수이다. 예시는 아래와 같다. # make the random tensor input = torch.randn(1, 28, 28) - 랜덤한 값으로 tensor를 만들어준다. # reshape the tensor using torch.view n = 1 output1 = ..