Compare commits
No commits in common. "main" and "refs/deployment/triton" have entirely different histories.
main
...
refs/deplo
35
.gitattributes
vendored
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
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"
|
name: "INPUT"
|
||||||
data_type: TYPE_STRING
|
data_type: TYPE_STRING
|
||||||
dims: [ 1 ]
|
dims: [ -1 ]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -15,7 +15,7 @@ output [
|
|||||||
{
|
{
|
||||||
name: "OUTPUT"
|
name: "OUTPUT"
|
||||||
data_type: TYPE_STRING
|
data_type: TYPE_STRING
|
||||||
dims: [ 1 ]
|
dims: [ -1 ]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -33,4 +33,4 @@ instance_group [
|
|||||||
kind: KIND_AUTO
|
kind: KIND_AUTO
|
||||||
count: 1
|
count: 1
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
58
my-model.py
58
my-model.py
@ -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.")
|
|
||||||
Loading…
Reference in New Issue
Block a user