데이터과학 삼학년

TensorFlow 모델 서빙 방법 (feat. ChatGPT) 본문

Machine Learning

TensorFlow 모델 서빙 방법 (feat. ChatGPT)

Dan-k 2023. 3. 14. 23:07
반응형

저장된 TensorFlow 모델을 불러와서 모델 서빙을 하는 코드를 파이썬으로 작성하는 방법은 크게 두 가지가 있습니다.

첫 번째는 TensorFlow Serving을 사용하는 것이고, 두 번째는 직접 Flask나 Django 같은 웹 프레임워크를 사용하여 API를 구현하는 것입니다.

다음은 두 가지 방법 모두에 대한 간단한 예제 코드입니다.

TensorFlow Serving을 사용하는 방법

import tensorflow as tf
from tensorflow_serving.apis import predict_pb2
from tensorflow_serving.apis import prediction_service_pb2_grpc

# 모델을 불러올 서버의 주소와 포트를 지정합니다.
server_address = 'localhost:8500'

# gRPC 클라이언트를 생성합니다.
channel = grpc.insecure_channel(server_address)
stub = prediction_service_pb2_grpc.PredictionServiceStub(channel)

# 모델 예측을 위한 요청 데이터를 생성합니다.
request = predict_pb2.PredictRequest()
request.model_spec.name = 'my_model'
request.model_spec.signature_name = 'serving_default'
request.inputs['input'].CopyFrom(tf.make_tensor_proto(input_data))

# 모델 예측을 요청하고 결과를 받아옵니다.
response = stub.Predict(request, timeout)

# 예측 결과를 처리합니다.
output_data = tf.make_ndarray(response.outputs['output'])


Flask를 사용하는 방법

from flask import Flask, jsonify, request
import tensorflow as tf

app = Flask(__name__)

# 저장된 모델을 불러옵니다.
model = tf.keras.models.load_model('saved_model')

# API 엔드포인트를 정의합니다.
@app.route('/predict', methods=['POST'])
def predict():
    # 요청 데이터를 받아옵니다.
    input_data = request.json['input']

    # 모델 예측을 수행합니다.
    output_data = model.predict(input_data)

    # 예측 결과를 JSON 형태로 반환합니다.
    return jsonify({'output': output_data.tolist()})

# Flask 애플리케이션을 실행합니다.
if __name__ == '__main__':
    app.run()


이 코드들은 각각 TensorFlow Serving과 Flask를 사용하여 모델 서빙을 구현하는 방법의 예시입니다. 실제 서비스에서는 이 코드를 기반으로 구체적인 요구사항에 맞게 수정하거나 다른 방법을 사용할 수 있습니다

728x90
반응형
LIST
Comments