Programming/Tensorflow

Programming/Tensorflow

[tensorflow] multi-output model 데이터 입력 : flow_from_dataframe

다중출력모델을 만들고 학습시킬 때, input 하나 당 y 값을 복수개를 지정해주어야 한다. DataGenerator를 커스텀해서 이용할 수도 있지만 가장 간단한 방법으로 Tensorflow에 이미 만들어져있는 기능을 사용했다. inputs = keras.Input(shape=(320, 320, 3), name="strawberry") x = layers.Conv2D(16, 3, activation="relu")(inputs) x = layers.Conv2D(32, 3, activation="relu")(x) x = layers.MaxPooling2D(3)(x) x = layers.Flatten()(x) x = layers.Dropout(0.5)(x) x = layers.De..

Programming/Tensorflow

[Tensorflow 1.15] 이미지 Convolution, Pooling의 결과 확인하기

convolution 연산은 이미지의 feature를 추출해준다. filter의 종류에 따라 다른 feature가 추출된다. 진짜로 그런지 실제 이미지를 가지고 convoultion 연산을 하고 그 결과 이미지가 어떻게 나오는지 Tensorflow 1.15 버전으로 확인해보았다. 사용한 이미지 코드 사용한 이미지는 3차원이미지이지만 실습을 위해서 channel을 1개만 이용했다. import numpy as np import tensorflow as tf import matplotlib.pyplot as plt import matplotlib.image as img ori_img = img.imread('/content/drive/MyDrive/img/girl-teddy.jpg') print('원본이미지..

Programming/Tensorflow

[Tensorflow 1.15 ] Convolution 연산 - Sample Case

tf.nn.conv2d input 입력 데이터의 형태 (이미지 개수, 이미지 height, 이미지 width, channel) filter 필터의 형태 (필터 height, 필터 width, channel, 필터의 개수) stride 길이가 1, 2 또는 4인 정수 리스트 padding 'SAME' : convolution 결과가 원본 이미지 크기와 같음 'VAILD' : zero padding 다른 옵션들 tf.nn.conv2d | TensorFlow Core v1.15.0 tf.nn.conv2d Computes a 2-D convolution given 4-D input and filter tensors. View aliases Compat aliases for migration See Migrati..

Programming/Tensorflow

[Tensorflow] MNIST DNN으로 구현해보기

In [1]: import numpy as np import pandas as pd import tensorflow as tf from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Flatten, Dense, Dropout from tensorflow.keras.optimizers import SGD from tensorflow.keras.callbacks import EarlyStopping, ModelCheckpoint import matplotlib.pyplot as plt from sklearn.preprocessing import MinMaxScaler from sklearn.model_selectio..

Programming/Tensorflow

[Tensorflow] 학습한 모델 저장하기

학습한 모델은 메모리에 저장이 되어있어 프로그램을 종료하면 학습의 결과가 날아가게 된다. 데이터의 용량이 큰 학습의 경우 학습에 며칠씩 걸리는 경우가 있는데, 학습 중간에 프로그램이 꺼졌거나 껐다가 다시 켜야하거나... 하는 상황이라면 눈물이 난다. 당연히 이런 슬픔을 방지할 수 있게 해두었다 학습한 모델은 따로 저장을 할 수가 있다. 모델 저장 방법은 두 가지가 있다. 모델 구조와 weight, bias 모두 저장 이 방법은 다음에 사용할 때 그냥 불러와서 사용하면 되기 때문에 매우 편리하다는 장점을 가지고 있지만, 저장해야 하는 내용이 많아 파일의 용량이 크다는 단점을 가진다. weight와 bias만 저장 위의 방법과 정확히 반대의 특징을 가진다. 저장해야 하는 파일의 용량은 작지만 다시 사용하려면..

Programming/Tensorflow

[Tensorflow] Tensorflow 2.xx with Keras

Tensorflow 1.xx버전은 머신러닝을 공부하기에는 좋지만, 실무에서 사용하기에는 코드가 너무 naive했다. 이를 보완하기 위해 Tensorflow 2.xx버전이 2019.06에 등장했다. Eager Execution 1.xx 버전에서는 노드를 다 만들고 나서 세션을 만들고, 세션을 실행해야 코드가 실행되는 Lazy Execution을 지원했는데, 2.xx 버전에서는 작성과 실행이 바로 이어질 수 있게 즉시 실행을 지원하기 시작했다. 당연히 Session과 placeholder가 없어졌다. Keras 프랑소와 숄레가 창시한 keras를 탑재하게 되었다. CPU ver. GPU ver.이 따로 존재하지 않는다. 1.xx 버전에서는 따로 존재했었다. Eager Execution 확인하기 W = tf...

Programming/Tensorflow

[tensorflow] Tensorflow 1.15 ver - 기초, Linear Regression

Tensorflow 구글에서 만든 데이터 사이언스를 위한 오픈소스 라이브러리로 data flow graph를 이용하고 수치 계산에 용이하다. 현재 최신버전은 2.0대인데, 파이썬 2.xx 버전이랑 3.xx 버전이 완전 다른 것처럼 텐서플로 2.xx 버전이랑 1.xx버전이 완전히 다르다. 2.xx 대 버전으로 바뀌면서 keras가 추가되어 완전히 바뀌었다고 한다. Data Flow Graph node와 edge로 구성된 방향성 있는 graph Node : 수치 계산과 데이터 입출력의 역할을 한다 Edge : 데이터가 흐르는 통로로 Node, Tensor를 연결시킨다. import import numpy as np import pandas as pd import matplotlib.pyplot as plt ..

Heaea
'Programming/Tensorflow' 카테고리의 글 목록