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"
|
||||
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
|
||||
}
|
||||
]
|
||||
]
|
||||
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