✔️Tensorflow 12

[Milestone 그 이후] Hosting the Docker container on Heroku for TFserving

we built deep learning model classifies pills images, and then deploy the model using TFserving with Docker. ([Milestone 그 이후] Tensorflow Model Serving) In this post, Our main focus will be on model deployment on Heroku using TFserving with Docker. Why Docker ? Because Docker containers encapsulate everything an application needs to run (and only those things), they allow applications to be shut..

[Milestone 그 이후] Tensorflow Model Serving

1. SavedModel로 내보내기 학습시킨 모델을 tf.saved_model.save()함수로 SavedModel 포맷으로 내보낼 수 있다. 모델과 이름, 버전을 포함한 경로를 전달하면 이 함수는 이 경로에 모델의 계산 그래프와 학습결과 가중치를 저장한다. model_version = "0001" model_name = "medisharp_pill_image_model" model_path = os.path.join(model_name, model_version) tf.saved_model.save(model, model_path) 그러면 - saved_model.pb: 계산 그래프를 정의 - variables: 변수값을 담고있는 폴더로, 많은 개수의 가중치를 담은 모델의 경우 변수값이 여러개의 파일로..

Learning Tensorflow) 1. 텐서플로의 기본 이해하기

텐서플로우의 동작의 구성 1. 만들고 2. 실행하기 1) 그래프 -> 세션 -> 실행 ; 만들고 실행하기 import tensorflow as tf로 tensorflow를 import하면 그 시점에 있는 기본 그래프가 만들어지면 우리가 만드는 노드는 이 기본그래프에 자동으로 연결된다. 그래서 노드를 어떻게 만드는가?! a = tf.constant(5) b = tf.constant(2) 그러면 만들어진 노드로 연산을 진행하는 연산 그래프는 어떻게 만드는가?! 흔히 사용되는 tensorflow 연산이나 축약형 연산자를 이용한다. d = tf.multiply(a, b) #a*b c = tf.add(a, b)#a+b 이렇게 노드와, 연산 그래프를 만드고 나면 연산 그래프를 실행할 준비가 된 것이며, 연산을 실행..

10. Tensorflow2.0 Evaluating & Predicting

이전까지 (Beginner방식으로 보면) Training까지 할 수 있었습니다. #Training num_epochs = 10 batch_size = 64 hist = model.fit(X_train, y_train, batch_size = batch_size, epochs = num_epochs, shuffle = True) his.history 모델을 학습시켰으니 모델에서 evaluating합니다. 1. Evaluating model.evaluate(X_test, y_test, batch_size = batch_size) 2. Predicting 및 결과 확인 1) input으로 들어갈 이미지 데이터 표현(시각화) import matplotlib.pyplot as plt import numpy as ..

8. Tensorflow2.0 Optimization & Training (Expert)

여기에서는 공식 홈페이지에서 expert 버젼으로 소개하고 있는 Optimization, Training방식을 배워보도록 하겠습니다. https://www.tensorflow.org/tutorials/quickstart/advanced?hl=en 텐서플로 2.0 시작하기: 전문가용 | TensorFlow Core Note: 이 문서는 텐서플로 커뮤니티에서 번역했습니다. 커뮤니티 번역 활동의 특성상 정확한 번역과 최신 내용을 반영하기 위해 노력함에도 불구하고 공식 영문 문서의 내용과 일치하지 않을 수 있습니다. 이 번역에 개선할 부분이 있다면 tensorflow/docs 깃헙 저장소로 풀 리퀘스트를 보내주시기 바랍니다. 문서 번역이나 리뷰에 참여하려면 docs-ko@tensorflow.org로 메일을 보내..

7. Tensorflow2.0 Optimization & Training (Keras)

이전 시간에는 keras에서 제공하는 방식으로 optimization과 Training을 beginner 수준으로 쉽게 해 보았습니다. 여기에서는 공식 홈페이지에서 expert 버젼으로 소개하고 있는 Optimization, Training방식을 배워보도록 하겠습니다. 그 전에, keras를 이용하여 ptimization과 Training을 표현하는 다른 방법을 먼저 알아보고 다음 페이지에서 본격적으로 expert 방법을 살펴보도록 하겠습니다. https://www.tensorflow.org/tutorials/quickstart/advanced?hl=en 텐서플로 2.0 시작하기: 전문가용 | TensorFlow Core Note: 이 문서는 텐서플로 커뮤니티에서 번역했습니다. 커뮤니티 번역 활동의 특성..

6. Tensorflow2.0 Optimization & Training (Beginner)

지금까지 데이터를 불러오고-> layer을 쌓고(합치고) -> 그걸 model 에 넣는 작업까지 학습했습니다. 이번에는 model을 학습시키는 것을 배워 보겠습니다. 학습과정은,  데이터가 모델에 들어가서 -> 모델이 예측을 하고 -> 그 예측값과 정답을 비교한 뒤 -> loss function으로 얼마나 틀렸는지를 계산합니다. -> 그를 바탕으로 Optimization을 하고, -> 그걸 model에 업로드 합니다. -> 이렇게 model이 업데이트 되었으면, 다시 데이터가 들어가고를 반복합니다. 1. Optimization 1) 모델을 optimization하기 전 설정해야 할 것들 1. Loss function #1-1. binary classification일 때 tf.keras.losses.b..

5. Tensorflow2.0 Build Model

keras의 layer같은 경우는 쌓는 방법이 여러가지가 있습니다. 이는 공식 홈페이지를 들어가보면 여러가지가 있는데, 그 중 한 가지를 학습하였습니다. (강의마다 이 부분이 너무 달라 저에게 맞는 방식을 찾느라 정말 많이 헤맸습니다. 1. input shape 알기(지정해주기) 먼저 model에 input이미지를 넣기 위해서는 input shape와 전체 class 개수를 지정해주는 것 부터가 시작입니다. from tensorflow.keras import layers #1. input shape와 전체 class 개수를 지정해주는 것 부터가 시작! input_shape = (28, 28, 1) num_classes = 10 2. layer 쌓기 첫 layer에 input을 넣어주고, 그 이후부터 계속..

4. Tensorflow2.0 Layer Explaination

이번에는 Tensorflow modeling을 하기 전에 layer을 각 층마다 보면서 어떻게 작동하는지를 tensorflow를 사용해서 볼 것입니다. 즉, 1. layer에 어떻게 data가 input되고, 2. 결과는 어떻게 output되는지 시각화를 진행해 보고 3. 어떻게 layer을 쌓는지 를 알아보도록 합니다. import numpy as np import tensorflow as tf import matplotlib.pyplot as plt %matplotlib inline ########여기는 이전에 했던 진행했던 코드들 입니다. ######### #데이터 불러오기 from tensorflow.keras import datasets (X_train, y_train), (X_test, y_t..

3. Tensorflow2.0 (y_train) Data Preprocess (using MNIST)

1. y_train 데이터 들여다보기 지금까지 X_train데이터를 들여다 보았으니 y__train데이터를 보고자 합니다. y_train데이터를 본다는 것은 Label하나를 열어서 Image와 비교하여 제대로 들어갔는지, 어떤 식으로 저장 되어있는지를 확인하는 것입니다. #1. label 하나만 뽑아보기 label = y_train[0] #2. label 시각화 #label을 시각화한다는건, 숫자를 시각화할 순 없으니까 train_x[0]의 title로 달아준다는 것을 말합니다. plt.title(y_train[0]) plt.imshow(X_train[0], 'gray') plt.show() 2. OneHot Encoding 컴퓨터가 이해할 수 있는 형태로 변환해서 Label을 주도록 함 예를들어, 개와..