Watson Machine Learning 명령줄 인터페이스

소개



Watson Machine Learning에 어느 시점에 명령줄이 만들어졌습니다.
UI에서는 Training Definition이라든지 지울 수 없기 때문에, 몇번이나 테스트해 쓰레기가 쌓여 오면 매우 편리합니다.
그 이용 메모를 남겨 둡니다.

(2019-07-08) 최신 명령으로 업데이트
(2019-09-03) 이해하기 어려운 부분에 화면 복사 추가

전제



IBM Cloud ibmcloud 명령을 사용할 수 있다고 가정합니다.
아직의 경우는 IBM Cloud CLI 로부터 도입해 주세요.

도입 절차



다음 명령으로 도입합니다.
$ ibmcloud plugin install machine-learning

설정



먼저 IBM Cloud 대시보드에서 Watson ML 관리 화면으로 들어가 자격 증명을 얻습니다.
그런 다음 자격 증명을 명령줄의 환경 변수로 설정합니다.

Windows의 경우



setenv.bat
set ML_ENV=https://us-south.ml.cloud.ibm.com
set ML_USERNAME=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
set ML_PASSWORD=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
set ML_INSTANCE=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Mac의 경우



setenv.sh
export ML_ENV=https://us-south.ml.cloud.ibm.com
export ML_USERNAME=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
export ML_PASSWORD=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
export ML_INSTANCE=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

MAC의 경우 위의 배치 파일을 준비하고 다음 명령을 실행합니다.
$ source ./setenv.sh

GUID 획득/설정



GUID는 IBM Cloud 관리 화면의 Watson Machine Learning 행에서 맨 왼쪽 이름(여기서 링크됨) 이외의 부분을 클릭하면 표시됩니다.



아래 화면과 같이 GUID의 오른쪽에 있는 클립보트 아이콘을 클릭하면 클립보드에 복사됩니다.



얻은 GUID를 사용하여 지금처럼 설정합니다.
$ ibmcloud ml set instance xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

실행



지금까지 준비가 되면 나중에 명령을 실행하기만 하면 됩니다.
$ ibmcmoud ml help

이런 결과가 돌아올 것입니다.
名前:
   ibmcloud ml - Manage machine learning lifecycle on IBM Cloud
使用法:
   ibmcloud ml command [arguments...] [command options]

コマンド:
   cancel              Cancel training a model
   delete              Delete a model/deployment/training-run/training-definitions/experiments/experiment-runs/libraries/runtimes
   deploy              Deploy a model for scoring
   experiments         Run/Update an experiment stored in WML Repository
   generate-manifest   Generate a sample manifest for training-definitions/experiments/training-runs/update-experiments/batch/libraries/runtimes
   libraries           Download content from(to the present working directory)/Update a library stored in WML Repository
   list                List the models/deployments/training-runs/experiments/training-definitions/experiment-runs/libraries/runtimes
   models              Download model from(both metadata and content of the model to the present working directory) WML repository
   monitor             Start fetching status/metric messages of a training-run/experiment
   runtimes            Download content from(to the present working directory)/Update a runtime stored in WML Repository
   score               Score the model. Sample scoring json format -  {"modelId": "sample", "deploymentId": "sample","payload": {"fields": [],"values": []}}
   set                 Set ML instance 
   show                Get detailed information about models/deployments/training-runs/training-definitions/experiments/experiment-runs/libraries/runtimes
   store               Store a model/training-definition/experiment/training-runs/libraries/runtimes to WML repository
   train               Start training a model
   version             show git hash and build time of cli
   help, h             ヘルプを表示します

コマンドについて詳しくは、'ibmcloud ml help [command]' と入力してください。

명령 예



(Training 정의 중, 필요없는 것을 지우기 위한 순서)
$ ibmcloud ml list training-definitions
Fetching the list of training-definitions ...
SI No   Name                        guid                                   framework    version   created-at   
1       Kidney-1                    6c017f34-3cef-4aa1-b5c2-deae7783b9ac   wml          1.1       2018-06-23T05:58:15.874Z   
2       simgle-cnn-on-mnist-v1      d41adc03-85a9-466c-8115-5e9ca3df0e95   tensorflow   1.5       2018-06-23T06:41:13.116Z   
3       simgle-cnn-on-mnist-v2      52a7ac4d-42ae-4d90-871c-5df178dec7e8   tensorflow   1.5       2018-06-23T08:04:18.637Z   
4       simgle-cnn-on-mnist-v3      679db41a-cf94-45a7-99c3-6e4127f94fee   tensorflow   1.5       2018-06-23T08:35:52.351Z   
5       cnn from nnd v4             5a6488d0-096b-4d90-86e9-11597fa9708d   tensorflow   1.5       2018-06-26T00:09:44.957Z   
6       cnn from kaggle epoch=200   734e226a-1338-4319-8ebe-8e1008073ae6   tensorflow   1.5       2018-06-26T00:30:18.238Z   
7       cnn from kaggle w adam      d9d0cac3-297a-4285-b5d7-16c556c1fbc1   tensorflow   1.5       2018-06-26T01:26:57.072Z   
8       aka zip                     306dfd8e-ed09-4e71-afd1-c106badef5d4   tensorflow   1.5       2018-06-26T02:18:01.358Z   
9       cnn-cifar10-kaggle          ec9379f5-5b1b-4530-a2db-4e67e1e4541d   tensorflow   1.5       2018-06-26T03:43:43.863Z   

9 records found.
OK
List all training-definitions successful

$ ibmcloud ml delete training-definitions 306dfd8e-ed09-4e71-afd1-c106badef5d4
Deleting the training-definition '306dfd8e-ed09-4e71-afd1-c106badef5d4' ...
OK
Delete training-definition successful


덤 객체 사이의 관계 다이어그램



Experiments에서 사용하면 Watson Machine Learning 객체 간의 관계는 매우 이해하기 어렵습니다.
자신의 이해를 위해, 이런 그림을 만들어 보았습니다.

좋은 웹페이지 즐겨찾기