Appendix : What is ALO API
Updated 2024.05.05
Asset 개발자는 ALO가 제공하는 API를 통해 data와 config를 다음 Asset으로 전달하여 ML Pipeline을 구축하거나, 로그를 남기거나, Mellerikat과 호환되도록 모델 등의 artifacts를 어디에 저장할 지 등에 대한 정보를 제공 받을 수 있습니다. 이 중에는 필수적으로 호출해야하는 API들도 존재하므로 하나씩 살펴봅니다.
Asset
alolib 모듈의 Asset 클래스는 Pipeline에서 step 사이에 데이터를 전달하는 API를 제공하며, Train Pipeline에서 Inference Pipeline로 모델을 유기적으로 전달하는 API를 제공합니다.
Example
from alolib.asset import Asset
import pandas as pd
class UserAsset(Asset):
def __init__(self, asset_structure):
super().__init__(asset_structure)
self.args = self.asset.load_args()
self.config = self.asset.load_config()
@Asset.decorator_run
def run(self):
df = pd.DataFrame(np.array([[1, 2, 3], [4, 5, 6]]))
output = {'dataframe':df}
self.asset.save_data(output) # Mandatory
asset.save_config(self.config) # Mandatory