Driverless AI 독립형 Python Scoring Pipeline¶
실험을 성공적으로 완료한 후에 독립 실행형 스코어링 파이프라인을 사용할 수 있습니다. 이 패키지에는 H2O Driverless AI를 사용하여 구축한 모델의 생산화를 위해 내보낸 모델과 Python 3.8 소스 코드 예시가 포함되어 있습니다.
이 패키지의 파일을 사용해 다음과 같은 몇 가지 방법으로 새 데이터를 변형하고 채점할 수 있습니다.
Python 3.8부터는 스코어링 모듈을 가져오고 이를 사용하여 새로운 데이터를 변환하고 채점할 수 있습니다.
다른 언어 및 플랫폼에서, 이 패키지에 포함된 TCP/HTTP 스코어링 서비스를 사용하여 RPC(원격 프로시저 호출)를 통해 스코어링 파이프라인 모듈을 호출할 수 있습니다.
시작하기 전¶
Python Scoring Pipeline에 대한 중요한 정보는 다음 참고 사항을 참조하십시오.
참고
Python 채점의 virtualenv
또는 pip run
방법을 사용하는 경우 CUDA, OpenCL 및 cuDNN을 수동으로 설치해야 합니다. 자세한 내용은 CUDA, OpenCL, 및 cuDNN 설치 지침 을 참조하십시오.
참고
run_example.sh에 대해 pip-virtualenv 모드를 사용하는 경우 다음을 실행하여 Python 스코어링을 위한 필수 구성 요소를 설치하십시오.
Ubuntu 16.04에서 필요한 필수 구성 요소를 설치하려면 다음 명령을 실행하십시오.
sudo apt-get update
sudo apt-get install software-properties-common # Ubuntu 16.04 only
sudo add-apt-repository ppa:deadsnakes/ppa # Ubuntu 16.04 only
sudo apt-get update
sudo apt-get install python3.8 virtualenv unzip -y
sudo apt-get install libgomp1 libopenblas-base ocl-icd-libopencl1 -y # required at runtime
컴파일할 수 있어야 하는 경우에도 다음 명령을 실행하십시오.
sudo apt install build-essential libssl-dev libffi-dev python3-dev -y
Ubuntu 18.04 이상에서 필요한 필수 구성 요소를 설치하려면 다음 명령을 실행하십시오.
sudo apt-get update
sudo apt-get install python3.8 virtualenv unzip -y
sudo apt-get install libgomp1 libopenblas-base ocl-icd-libopencl1 -y # required at runtime
컴파일할 수 있어야 하는 경우에도 다음 명령을 실행하십시오.
sudo apt install build-essential libssl-dev libffi-dev python3-dev -y
Red Hat Enterprise Linux 7 이상에서 필요한 필수 구성 요소를 설치하려면 다음 명령을 실행하십시오.
sudo yum -y install python3.8 unzip virtualenv openblas libgomp
CentOS 7 이상에서 필요한 필수 구성 요소를 설치하려면 다음 명령을 실행하십시오.
sudo dnf -y install python3.8 unzip virtualenv openblas libgomp procps
참고
Custom Recipes and the Python Scoring Pipeline
기본적으로,사용자 정의 레시피가 Driverless AI에 업로드되었고 그 후에 실험에 사용되지 않은 경우, Python Scoring Pipeline에는 여전히 H2O 레시피 서버가 포함되어 있습니다. 이 파이프라인이 이후 컨테이너에 배포되면, H2O 레시피 서버로 인해 파이프라인의 크기가 훨씬 커집니다. 또한 컨테이너에 Java를 설치해야 하는데, 이로 인해 런타임 스토리지 및 메모리 요구 사항이 더욱 증가합니다. 해결 방법은 Python Scoring Pipeline을 실행하기 전에 다음 환경 변수를 설정하는 것입니다.
export dai_enable_custom_recipes=0
CUDA, OpenCL, 및 cuDNN 설치 지침¶
Python 채점의 virtualenv
또는 pip run
방법을 사용할 때 CUDA, OpenCL 및 cuDNN 설치에 대한 지침은 다음 섹션을 참조하십시오.
NVIDIA 드라이버로 CUDA 설치¶
CUDA 설치 전 wget, gcc, make 및 elfutils-libelf-devel을 미리 설치했는지 확인하십시오.
sudo yum -y install wget
sudo yum -y install gcc
sudo yum -y install make
sudo yum -y install elfutils-libelf-devel
그리고 https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html 을 방문하여 CUDA 설치 지침을 확인하십시오. runfile 설치 방법의 사용을 권장합니다.
설치하려는 도구를 선택하라는 메시지가 나타나면 드라이버를 선택합니다.
OpenCL 설치하기¶
다음을 실행하여 yum 및 x86을 사용하는 Centos7 또는 RH7 기반 시스템에 대한 OpenCL을 설치합니다.
sudo yum -y clean all
sudo yum -y makecache
sudo yum -y update
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/c/clinfo-2.1.17.02.09-1.el7.x86_64.rpm
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/o/ocl-icd-2.2.12-1.el7.x86_64.rpm
sudo rpm -if ocl-icd-2.2.12-1.el7.x86_64.rpm
sudo rpm -if clinfo-2.1.17.02.09-1.el7.x86_64.rpm
clinfo
mkdir -p /etc/OpenCL/vendors && \
echo "libnvidia-opencl.so.1" > /etc/OpenCL/vendors/nvidia.icd
cuDNN 설치하기¶
Linux에 cuDNN을 설치하기 위한 정보는 다음을 참조하십시오. https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html.
참고
cuDNN 8 이상이 필요합니다.
Python Scoring Pipeline 파일¶
scoring-pipeline 폴더에는 다음과 같은 중요한 파일이 포함되어 있습니다.
Example.py
: 새 레코드를 가져와 채점하는 방법을 보여주는 Python 스크립트의 예시.Run_example.sh
: example.py를 실행합니다(전제 조건라이브러리로 virtualenv도 설정). 자세한 내용은 시작하기 전 섹션의 두 번째 노트를 참조하십시오.Tcp_server.py
: 스코어링 서비스를 호스팅하기 위한 독립형 TCP 서버.Http_server.py
: 스코어링 서비스를 호스팅하기 위한 독립형 HTTP 서버.Run_tcp_server.sh
: TCP 스코어링 서비스를 실행합니다(tcp_server.py 실행).Run_http_server.sh
: HTTP 스코어링 서비스를 실행합니다(http_server.py 실행).Example_client.py
: 스코어링 서버와 통신하는 방법을 보여주는 Python 스크립트의 예시.Run_tcp_client.sh
: TCP를 통해 스코어링 서비스와 통신하는 방법을 보여줍니다(example_client.py 실행).Run_http_client.sh
: HTTP를 통해 스코어링 서비스와 통신하는 방법을 보여줍니다(curl 사용).
빠른 시작¶
Python Scoring Pipeline을 시작하는 방법에는 두 가지가 있습니다.
빠른 시작 - 권장 방법¶
Python Scoring Pipeline 실행에 권장하는 방법입니다. 다음의 경우 이 방법을 사용하십시오.
인터넷에 액세스할 수 없는 에어 gap 환경인 경우.
빠른 시작 방법을 선호하는 경우.
전제 조건¶
유효한 Driverless AI 라이선스 키.
완료된 Driverless AI 실험.
다운로드된 Python Scoring Pipeline.
Python Scoring Pipeline 실행하기 - 권장¶
참고: 사용자 정의 레시피를 사용하는 스코어러는 scoring-pipeline
tmp
폴더의 작업 디렉터리에서 실행해야 합니다.
Https://www.h2o.ai/download/ 에서 Driverless AI의 TAR SH 버전을 다운로드합니다.
bash를 사용하여 다운로드를 실행합니다. 새 dai-<dai_version> 폴더가 생성되며, 여기서 <dai_version> 은 Driverless AI의 버전을 나타냅니다(예: 1.7.1-linux-x86_64.)
디렉터리를 새 Driverless AI 폴더로 변경합니다. (아래
<dai_version>
을 2단계에서 생성된 버전으로 교체합니다.)
cd dai-<dai_version>
권한을 변경하려면 다음을 실행합니다.
chmod -R a+w python
다음을 실행하여 완료된 Driverless AI 실험에 대한 Python Scoring Pipeline을 설치합니다.
./dai-env.sh pip install /path/to/your/scoring_experiment.whl
scoring-pipeline
디렉터리에서 다음 명령을 실행합니다.
DRIVERLESS_AI_LICENSE_KEY="pastekeyhere" SCORING_PIPELINE_INSTALL_DEPENDENCIES=0 /path/to/your/dai-env.sh ./run_example.sh
빠른 시작 - 대안 방법¶
이 섹션에서는 Python Scoring Pipeline를 실행하는 대안적인 방법을 설명합니다. 이 버전을 사용하려면 인터넷 액세스가 필요합니다.
전제 조건¶
스코어링 모듈 및 스코어링 서비스는 Python 3.8 및 OpenBLAS가 설치된 Linux에서만 지원됩니다.
스코어링 모듈 및 스코어링 서비스는 설치 시 추가 패키지를 다운로드하므로 인터넷 액세스가 필요합니다. 네트워크 환경에 따라 프록시를 통해 인터넷 액세스를 설정해야 할 수 있습니다.
유효한 Driverless AI 라이선스. Driverless AI에서 Python Scoring Pipeline을 실행하려면 라이선스를 지정해야 합니다.
Apache Thrift(TCP 모드에서 스코어링 서비스를 실행하는 경우)
Linux 환경
Python 3.8
libopenblas-dev(H2O4GPU에 필요함)
OpenCL
이 필수 구성 요소를 설치 방법에 대한 정보는 다음 예시를 참조하십시오.
Ubuntu 16.10 이상에 Python 3.8 및 OpenBLAS on 설치하기:
sudo apt install python3.8 python3.8-dev python3-pip python3-dev \
python-virtualenv python3-virtualenv libopenblas-dev
Ubuntu 16.04에 Python 3.8 및 OpenBLAS 설치하기:
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.8 python3.8-dev python3-pip python3-dev \
python-virtualenv python3-virtualenv libopenblas-dev
Conda 3.6 설치하기:
Anaconda 또는 Miniconda를 사용하여 Conda를 설치할 수 있습니다. 자세한 내용은 아래 링크를 참조하십시오.
Miniconda - https://docs.conda.io/en/latest/miniconda.html
OpenCL 설치하기:
RHEL에 OpenCL 설치하기:
yum -y clean all
yum -y makecache
yum -y update
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/c/clinfo-2.1.17.02.09-1.el7.x86_64.rpm
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/o/ocl-icd-2.2.12-1.el7.x86_64.rpm
rpm -if clinfo-2.1.17.02.09-1.el7.x86_64.rpm
rpm -if ocl-icd-2.2.12-1.el7.x86_64.rpm
clinfo
mkdir -p /etc/OpenCL/vendors && \
echo "libnvidia-opencl.so.1" > /etc/OpenCL/vendors/nvidia.icd
Ubuntu에 OpenCL 설치하기:
sudo apt install ocl-icd-libopencl1
mkdir -p /etc/OpenCL/vendors && \
echo "libnvidia-opencl.so.1" > /etc/OpenCL/vendors/nvidia.icd
License Specification
Driverless AI에서 Python Scoring Pipeline을 실행하려면 라이선스를 지정해야 합니다. 라이선스는 Python의 환경 변수를 통해 지정할 수 있습니다.
# Set DRIVERLESS_AI_LICENSE_FILE, the path to the Driverless AI license file
%env DRIVERLESS_AI_LICENSE_FILE="/home/ubuntu/license/license.sig"
# Set DRIVERLESS_AI_LICENSE_KEY, the Driverless AI license key (Base64 encoded string)
%env DRIVERLESS_AI_LICENSE_KEY="oLqLZXMI0y..."
이어지는 예제에서는 DRIVERLESS_AI_LICENSE_FILE
을 사용합니다. DRIVERLESS_AI_LICENSE_KEY
를 사용하는 것도 유사합니다.
Installing the Thrift Compiler
Thrift는 TCP 모드에서 스코어링 서비스를 실행하기 위해 필요하지만 스코어링 모듈 실행에는 필요 없습니다. 다음 단계는 Thrift 문서 사이트에 있습니다. https://thrift.apache.org/docs/BuildingFromSource.
sudo apt-get install automake bison flex g++ git libevent-dev \
libssl-dev libtool make pkg-config libboost-all-dev ant
wget https://github.com/apache/thrift/archive/0.10.0.tar.gz
tar -xvf 0.10.0.tar.gz
cd thrift-0.10.0
./bootstrap.sh
./configure
make
sudo make install
Thrift를 설치한 후 다음을 실행하여 공유된 런타임을 새로 고칩니다:
sudo ldconfig /usr/local/lib
Python Scoring Pipeline 실행하기 - 대안 방법¶
완료된 Experiment 페이지에서 Download Python Scoring Pipeline 버튼을 클릭하여 이 실험의 scorer.zip 파일을 로컬 컴퓨터에 다운로드합니다.
스코어링 파이프라인을 추출합니다.
파이프라인을 다운로드하고 추출한 후 스코어링 모듈 및 스코어링 서비스를 실행할 수 있습니다.
Score from a Python Program
Python 프로그램에서 채점하려면 스코어링 모듈 예시를 실행합니다(Linux 및 Python 3.8이 필요함).
export DRIVERLESS_AI_LICENSE_FILE="/path/to/license.sig"
bash run_example.sh
Score Using a Web Service
웹 서비스를 사용해 채점하려면 HTTP 스코어링 서버 예시를 실행합니다(Linux x86_64 및 Python 3.8이 필요함).
export DRIVERLESS_AI_LICENSE_FILE="/path/to/license.sig"
bash run_http_server.sh
bash run_http_client.sh
Score Using a Thrift Service
Thrift 서비스를 사용해 채점하려면 TCP 스코어링 서버 예시를 실행합니다(Linux x86_64, Python 3.8, Thrift가 필요함).
export DRIVERLESS_AI_LICENSE_FILE="/path/to/license.sig"
bash run_tcp_server.sh
bash run_tcp_client.sh
Note: 위에 설명한 run_*.sh
스크립트는 기본적으로 virtualenv 및 pip를 사용하여 Python 코드가 실행되는 가상 환경을 만듭니다. 스크립트는 Conda(Anaconda/Mininconda)를 활용하여 Conda 가상 환경을 만들고 필요한 패키지 종속성을 설정할 수도 있습니다. 사용할 패키지 관리자는 스크립트에 대한 인수로 제공됩니다.
# to use conda package manager export DRIVERLESS_AI_LICENSE_FILE="/path/to/license.sig" bash run_example.sh --pm conda # to use pip package manager export DRIVERLESS_AI_LICENSE_FILE="/path/to/license.sig" bash run_example.sh --pm pip
위의 스크립트를 실행하는 동안 오류가 발생하는 경우, 시스템에 Python 3.8이 올바르게 설치 및 구성되어 있는지 확인하십시오. 클린룸 Ubuntu 16.04 가상 머신을 사용하여 스코어링 모듈을 설정하고 테스트하는 방법을 보려면 이어지는 Troubleshooting Python Environment Issues 섹션을 참조하십시오.
Python 스코어링 모듈¶
스코어링 모듈은 독립형 휠 파일(scoring _*.Whl)에 포함된 Python 모듈입니다. 스코어링 모듈을 올바르게 작동하기 위한 모든 전제 조건은 requirements.txt 파일에 설명되어 있습니다. 스코어링 모듈을 사용하려면, Python virtualenv를 만들고 필수 구성 요소를 설치한 후 다음과 같이 스코어링 모듈을 가져와서 사용하면 됩니다.
# See 'example.py' for complete example.
from scoring_487931_20170921174120_b4066 import Scorer
scorer = Scorer() # Create instance.
score = scorer.score([ # Call score()
7.416, # sepal_len
3.562, # sepal_wid
1.049, # petal_len
2.388, # petal_wid
])
스코어러 인스턴스는 다음 메서드 등을 제공합니다.
score(list): 한 행 채점하기(값 목록)
score_batch(df): Pandas dataframe 채점하기
fit_transform_batch(df): Pandas dataframe 변환하기
get_target_labels(): 대상 열 라벨 가져오기(분류 문제의 경우)
스코어링 모듈을 가져와 사용하는 프로세스는 bash 스크립트 run_example.sh
로 설명되며, 이는 다음 단계를 효과적으로 수행합니다.
# See 'run_example.sh' for complete example.
virtualenv -p python3.8 env
source env/bin/activate
pip install --use-deprecated=legacy-resolver -r requirements.txt
export DRIVERLESS_AI_LICENSE_FILE="/path/to/license.sig"
python example.py
스코어링 서비스¶
스코어링 서비스는 스코어링 모듈을 HTTP 또는 TCP 서비스로 호스팅합니다. 이렇게 하면 원격 프로시저 호출(RPC)을 통해 스코어링 모듈의 모든 함수가 표시됩니다. 실제로 이 메커니즘을 사용하면 동일한 컴퓨터에서 Python 외 다른 언어로 또는 공유 네트워크나 인터넷의 다른 컴퓨터에서 스코어링 함수를 호출할 수 있습니다.
스코어링 서비스를 다음 두 가지 방식으로 시작할 수 있습니다.
TCP 모드에서, 스코어링 서비스는 바이너리 유선 프로토콜을 사용하여 Apache Thrift(https://thrift.apache.org/)를 통해 고성능 RPC 호출을 제공합니다.
HTTP 모드에서, 스코어링 서비스는 Tornado(http://www.tornadoweb.org)가 제공하는 JSON-RPC 2.0 호출을 제공합니다.
스코어링 작업은 개별 행(한 행씩)에 대해 수행하거나 일괄 모드(한 번에 여러 행)로 수행할 수 있습니다.
스코어링 서비스 - TCP 모드(Thrift)¶
TCP 모드를 사용하면 C, C++, C#, Cocoa, D, Dart, Delphi, Go, Haxe, Java, Node.js, Lua, perl, PHP, Python, Ruby, Smalltalk를 포함하여 Thrift가 지원하는 모든 언어에서 스코어링 서비스를 사용할 수 있습니다.
TCP 모드에서 스코어링 서비스를 시작하려면, 일단 Thrift 바인딩을 생성한 다음 서버를 실행해야 합니다.
# See 'run_tcp_server.sh' for complete example.
thrift --gen py scoring.thrift
python tcp_server.py --port=9090
Thrift compiler는 빌드 시에만 필요합니다. 이는 런타임 종속성이 아닙니다. 즉 스코어링 서비스를 빌드하여 테스트하고 나면, 스코어링 서비스를 배치할 시스템에 이 설치 프로세스를 반복할 필요가 없습니다.
스코어링 서비스를 호출하려면, 선택한 언어에 대한 Thrift 바인딩을 생성한 다음, 바이너리 프로토콜과 함께 Thrift의 버퍼링된 전송을 사용하여 TCP 소켓을 통해 RPC 호출을 수행합니다.
# See 'run_tcp_client.sh' for complete example.
thrift --gen py scoring.thrift
# See 'example_client.py' for complete example.
socket = TSocket.TSocket('localhost', 9090)
transport = TTransport.TBufferedTransport(socket)
protocol = TBinaryProtocol.TBinaryProtocol(transport)
client = ScoringService.Client(protocol)
transport.open()
row = Row()
row.sepalLen = 7.416 # sepal_len
row.sepalWid = 3.562 # sepal_wid
row.petalLen = 1.049 # petal_len
row.petalWid = 2.388 # petal_wid
scores = client.score(row)
transport.close()
다음의 Java 예시와 같이, 다른 언어에서 똑같은 결과를 재현할 수 있습니다.
thrift --gen java scoring.thrift
// Dependencies:
// commons-codec-1.9.jar
// commons-logging-1.2.jar
// httpclient-4.4.1.jar
// httpcore-4.4.1.jar
// libthrift-0.10.0.jar
// slf4j-api-1.7.12.jar
import ai.h2o.scoring.Row;
import ai.h2o.scoring.ScoringService;
import org.apache.thrift.TException;
import org.apache.thrift.protocol.TBinaryProtocol;
import org.apache.thrift.transport.TSocket;
import org.apache.thrift.transport.TTransport;
import java.util.List;
public class Main {
public static void main(String[] args) {
try {
TTransport transport = new TSocket("localhost", 9090);
transport.open();
ScoringService.Client client = new ScoringService.Client(
new TBinaryProtocol(transport));
Row row = new Row(7.642, 3.436, 6.721, 1.020);
List<Double> scores = client.score(row);
System.out.println(scores);
transport.close();
} catch (TException ex) {
ex.printStackTrace();
}
}
}
스코어링 서비스 - HTTP 모드(JSON-RPC 2.0)¶
HTTP 모드를 사용하면 일반 텍스트 JSON-RPC 호출을 사용하여 스코어링 서비스를 사용할 수 있습니다. 이는 일반적으로 Thrift보다 성능이 낮지만, Thrift에 대한 종속성 없이 선택한 언어로 모든 HTTP 클라이언트 라이브러리에서 사용할 수 있다는 장점이 있습니다.
JSON-RPC 설명서를 보려면 http://www.jsonrpc.org/specification 을 참조하십시오.
HTTP 모드로 스코어링 서비스를 시작하려면 다음을 수행합니다.
# See 'run_http_server.sh' for complete example.
export DRIVERLESS_AI_LICENSE_FILE="/path/to/license.sig"
python http_server.py --port=9090
스코어링 메서드를 호출하려면, JSON-RPC 메시지를 작성하여 다음과 같이 http://host:port/rpc 에 HTTP POST 요청을 수행합니다.
# See 'run_http_client.sh' for complete example.
curl http://localhost:9090/rpc \
--header "Content-Type: application/json" \
--data @- <<EOF
{
"id": 1,
"method": "score",
"params": {
"row": [ 7.486, 3.277, 4.755, 2.354 ]
}
}
EOF
이와 유사하게 어떤 HTTP 클라이언트 라이브러리를 사용해도 위의 결과를 재현할 수 있습니다. 예를 들어 Python에서 다음과 같이 요청 모듈을 사용할 수 있습니다.
import requests
row = [7.486, 3.277, 4.755, 2.354]
req = dict(id=1, method='score', params=dict(row=row))
res = requests.post('http://localhost:9090/rpc', data=req)
print(res.json()['result'])
자주 하는 질문¶
SCORING_PIPELINE_INSTALL_DEPENDENCIES = 0
및 tar을 사용하지 않을 때 Red Hat/CentOS에서 GCC 컴파일 에러가 발생합니다 . 어떻게 해결하나요?
이 문제를 해결하려면 다음 명령을 실행하십시오.
sudo yum -y install gcc
Python Scoring Pipeline 실행 중 왜 《TensorFlow is disabled》 메시지가 나타납니까?
TensorFlow가 활성화된 상태에서 실험을 실행한 다음 Python Scoring Pipeline을 실행하려고 하면 다음과 비슷한 메시지가 나타날 수 있습니다.
TensorFlow is disabled. To enable, export DRIVERLESS_AI_ENABLE_TENSORFLOW=1 or set enable_tensorflow=true in config.toml.Python Scoring Pipeline을 성공적으로 실행하려면,
DRIVERLESS_AI_ENABLE_TENSORFLOW
플래그를 활성화해야 합니다. 예를 들면 다음과 같습니다.export DRIVERLESS_AI_LICENSE_FILE="/path/to/license.sig" DRIVERLESS_AI_ENABLE_TENSORFLOW=1 bash run_example.sh
Python 환경 문제 해결¶
다음은 이 스코어링 파이프라인이 올바르게 작동하는지 테스트하기 위해 클린룸 Ubuntu 16.04 가상 머신을 설정하는 방법을 설명합니다.
Prerequisites
Virtualbox 설치: sudo apt-get install virtualbox
Vagrant 설치: https://www.vagrantup.com/downloads.html
Vagrant에 대한 구성 파일을 만듭니다.
bootstrap.sh: Python 3.8 및 OpenBLAS를 설정하는 명령어가 포함됩니다.
Vagrantfile: Vagrant 및 VirtualBox에 대한 가상 머신 구성 지침이 포함됩니다.
----- bootstrap.sh ----- #!/usr/bin/env bash sudo apt-get -y update sudo apt-get -y install apt-utils build-essential python-software-properties software-properties-common zip libopenblas-dev sudo add-apt-repository -y ppa:deadsnakes/ppa sudo apt-get update -yqq sudo apt-get install -y python3.8 python3.8-dev python3-pip python3-dev python-virtualenv python3-virtualenv # end of bootstrap.sh ----- Vagrantfile ----- # -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure(2) do |config| config.vm.box = "ubuntu/xenial64" config.vm.provision :shell, path: "bootstrap.sh", privileged: false config.vm.hostname = "h2o" config.vm.provider "virtualbox" do |vb| vb.memory = "4096" end end # end of Vagrantfile
VM 및 SSH를 시작합니다. 스코어링 파이프라인 또한 동일한 디렉터리에 두어 이후 VM 내에서 액세스할 수 있도록 합니다.
cp /path/to/scorer.zip . vagrant up vagrant ssh
가상 머신 내에서 스코어링 파이프라인을 테스트합니다.
cp /vagrant/scorer.zip . unzip scorer.zip cd scoring-pipeline/ export DRIVERLESS_AI_LICENSE_FILE="/path/to/license.sig" bash run_example.sh
이 때 터미널에 점수가 출력됩니다. 그렇지 않을 경우 support@h2o.ai 로 문의하시기 바랍니다.