2019년 10월 10일 목요일

H2O DriverlessAI 에서의 custom recipe 등록하는 방법



H2O DriverlessAI (이하 H2O DAI) 버전 1.7 이상에서는 custom recipe를 등록해서 사용할 수 있는 기능, 즉 BYOR(Bring Your Own Recipe) 기능을 사용하실 수 있습니다.  이 recipe라는 것은 결국 python code인데, 자신만의 recipe를 어떤 format으로 어떻게 coding해야 하는지에 대해서는 다음의 github에 예제가 있으므로 참조하시기 바랍니다.

https://github.com/h2oai/driverlessai-recipes/


그렇게 recipe code를 작성하고 난 뒤에 어떻게 H2O DAI에 등록을 하느냐에 대해서 아래에 그림과 함께 정리했습니다.

우선은 custom recipe code를 새로 등록하기 전에, 기존의 recipe들에는 무엇이 있었는지 확인하겠습니다.

먼저 dataset을 선택해서 평소처럼 'Predict' 메뉴에 들어갑니다.  거기서 평소와는 달리 'EXPERT SETTINGS' 부분을 click 합니다.



그렇게 들어간 메뉴 오른쪽 상단에 'RECIPE' tab이 보입니다.  그걸 click 하십시요.



아래 그림과 같이 'Include specific models' 부분의 'SELECT VALUES' button을 click 하십시요.



그 결과를 보면 다음과 같습니다.  기본적으로 9개의 recipe가 이미 등록되어 있는 것을 보실 수 있습니다.  나중에 custom recipe를 등록한 뒤에 이 화면과 비교해보시면 됩니다.



이제 custome recipe code를 등록하겠습니다.  여기서는 여러분의 PC에 custom recipe를 위한 python code가 저장되어 있다고 가정하겠습니다.  'EXPERT SETTINGS' 메뉴의 맨 왼쪽 상단에 있는 '+ UPLOAD CUSTOM RECIPE' button을 click 하십시요.



그러면 upload할 code를 선택하기 위한 box가 나타납니다.  여기서 제가 upload할 code는 아래 github에서 가져온 것입니다.

https://github.com/h2oai/driverlessai-recipes/blob/master/models/algorithms/h2o-3-models.py

그 code를 선택하여 click 하시면 문법 등의 검증 과정을 거쳐 H2O DAI가 available한 recipe로 등록합니다.



이제 사실상 끝난 것입니다.   확인을 위해 아까 위에서 했던 것처럼 아래 그림과 같이 'Include specific models' 부분의 'SELECT VALUES' button을 click 하십시요.



이제 새로 upload된 python code 안의 custom model들이 새로 등록된 것을 보실 수 있습니다.



Default로는 모든 custom recipe도 enable되어 있습니다.  올리신 custom recipe들을 적용하고 싶지 않을 때는 오른쪽 상단의 'Disable/Enable Custom' toggle button을 클릭하시면 됩니다.

올리신 custom recipe를 제거하고 싶으시면 H2O DAI의 설치 direcoty 밑의 ./tmp/contrib/ 밑의 아래 내용들을 지우시면 됩니다.   그러신 뒤에 H2O DAI를 restart 하셔야 합니다.

$ pwd
/home/user612/dai-1.7.1-linux-ppc64le/tmp/contrib

$ rm -rf models_global_packages/* transformers_global_packages/* models/*



댓글 없음:

댓글 쓰기