2017-04-12 3 views
1

AWS의 초보자이며 Scikit-Random을 사용하여 RandomForestClassifier를 교육하고 pLI 형식의 모델을 얻으려면 joblib를 사용했습니다.AWS에서 scikit learn model .pkl을 재사용합니다.

AWS Lambda에서이 RandomForest를 재사용하고 싶습니다. 내 모델을 다시로드하려면 sklearn.externals가 필요하므로 Numpy, Scipy, sklearn, my code 및 pkl 형식의 모델이 포함 된 Zip 디렉토리를 만들었습니다. 람다에서 코드를 실행하기 위해 S3 버킷에이 지퍼를 넣습니다.

나는 model.predict()를 사용하여이 모델을 사용할 수 있는지 알고 싶습니다. 이 특정 문제에 대한 문서를 찾지 못했습니다.

답변

0

실제로 URL을 사용하여 성공합니다. 내 모델 .pkl을 S3 버켓에 넣었고 urllib2를 사용하여 얻을 수 있습니다. 파일이 공개 경우에만 작동

req = urllib2.Request(url=url_model) 
f = urllib2.urlopen(req) 
model = cPickle.load(f) 

: 누구도 같은 문제가 발생하면 다음

, 내 코드입니다. 비공개로 설정해야하는 경우 다음과 같이 boto3을 사용하여 미리 설정된 URL을 생성 할 수 있습니다.

url_model = s3.generate_presigned_url(
    ClientMethod='get_object', 
    ExpiresIn=1, 
    Params={ 
     'Bucket': 'my-bucket', 
     'Key': 'mymodel.pkl' 
    } 
)