Compare commits

..

No commits in common. "main" and "refs/deployment/triton" have entirely different histories.

5 changed files with 41 additions and 96 deletions

35
.gitattributes vendored

@ -1,35 +0,0 @@
*.7z filter=lfs diff=lfs merge=lfs -text
*.arrow filter=lfs diff=lfs merge=lfs -text
*.bin filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.ckpt filter=lfs diff=lfs merge=lfs -text
*.ftz filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.h5 filter=lfs diff=lfs merge=lfs -text
*.joblib filter=lfs diff=lfs merge=lfs -text
*.lfs.* filter=lfs diff=lfs merge=lfs -text
*.mlmodel filter=lfs diff=lfs merge=lfs -text
*.model filter=lfs diff=lfs merge=lfs -text
*.msgpack filter=lfs diff=lfs merge=lfs -text
*.npy filter=lfs diff=lfs merge=lfs -text
*.npz filter=lfs diff=lfs merge=lfs -text
*.onnx filter=lfs diff=lfs merge=lfs -text
*.ot filter=lfs diff=lfs merge=lfs -text
*.parquet filter=lfs diff=lfs merge=lfs -text
*.pb filter=lfs diff=lfs merge=lfs -text
*.pickle filter=lfs diff=lfs merge=lfs -text
*.pkl filter=lfs diff=lfs merge=lfs -text
*.pt filter=lfs diff=lfs merge=lfs -text
*.pth filter=lfs diff=lfs merge=lfs -text
*.rar filter=lfs diff=lfs merge=lfs -text
*.safetensors filter=lfs diff=lfs merge=lfs -text
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
*.tar.* filter=lfs diff=lfs merge=lfs -text
*.tar filter=lfs diff=lfs merge=lfs -text
*.tflite filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.wasm filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
*tfevents* filter=lfs diff=lfs merge=lfs -text

38
1/model.py Normal file

@ -0,0 +1,38 @@
import triton_python_backend_utils as pb_utils
import numpy as np
import json
import random
import string
class TritonPythonModel:
def initialize(self, args):
self.logger = pb_utils.Logger
self.logger.log_info(f"'{args["model_name"]}' 모델 초기화 완료")
def execute(self, requests):
responses = []
for request in requests:
input_tensor = pb_utils.get_input_tensor_by_name(request, "INPUT")
input_data = input_tensor.as_numpy()[0].decode("utf-8")
self.logger.log_info(f"INPUT: {input_data}")
random_string = ''.join(
random.choice(string.ascii_letters + string.digits) for _ in range(10)
)
self.logger.log_info(f"OUTPUT: {random_string}")
output_tensor = pb_utils.Tensor(
"OUTPUT",
np.array([random_string.encode("utf-8")], dtype=np.object_)
)
responses.append(pb_utils.InferenceResponse(
output_tensors=[output_tensor]
))
return responses
def finalize(self):
pass

@ -7,7 +7,7 @@ input [
{
name: "INPUT"
data_type: TYPE_STRING
dims: [ 1 ]
dims: [ -1 ]
}
]
@ -15,7 +15,7 @@ output [
{
name: "OUTPUT"
data_type: TYPE_STRING
dims: [ 1 ]
dims: [ -1 ]
}
]
@ -33,4 +33,4 @@ instance_group [
kind: KIND_AUTO
count: 1
}
]
]

@ -1,58 +0,0 @@
import triton_python_backend_utils as pb_utils
import numpy as np
import random
import string
import json
class TritonPythonModel:
"""
Triton Python Model 클래스.
"""
def initialize(self, args):
print("TritonPythonModel: initialize() called.")
self.model_config = json.loads(args['model_config'])
# 출력 설정에서 데이터 타입 정보를 가져옴
output_config = pb_utils.get_output_config_by_name(
self.model_config, "OUTPUT")
# Triton 데이터 타입 문자열을 NumPy 데이터 타입으로 직접 변환
# 'BYTES'는 np.object_ 타입에 해당함
if output_config['data_type'] == 'TYPE_STRING':
self.output_dtype = np.object_
else:
# 다른 데이터 타입에 대한 처리 로직 추가 가능
self.output_dtype = pb_utils.triton_string_to_np_dtype(output_config['data_type'])
def execute(self, requests):
"""
클라이언트의 요청이 들어올 때마다 호출됩니다.
"""
responses = []
for request in requests:
# 입력 데이터 가져오기 (이 예제에서는 입력 데이터를 사용하지 않음)
in_0 = pb_utils.get_input_tensor_by_name(request, "INPUT")
# 무작위 문자열 생성
random_string = ''.join(random.choice(string.ascii_letters + string.digits) for _ in range(16))
# numpy 배열로 변환
output_array = np.array([[random_string.encode('utf-8')]], dtype=self.output_dtype)
# 출력 텐서 생성
out_tensor = pb_utils.Tensor("OUTPUT", output_array)
# 추론 응답 생성
inference_response = pb_utils.InferenceResponse(
output_tensors=[out_tensor])
responses.append(inference_response)
return responses
def finalize(self):
"""
모델이 언로드될 호출됩니다.
"""
print("TritonPythonModel: finalize() called.")