簡體   English   中英

使用 python 從 S3 存儲桶下載后加載泡菜文件的問題

[英]Problem with pickle file to load after downloading from S3 bucket using python

我正在嘗試從 S3 存儲桶下載我的 ML model 作為泡菜文件,然后加載它以進行預測。

import boto3
import io
import pickle

REGION = 'us-east-1'
ACCESS_KEY_ID = ******
SECRET_ACCESS_KEY = ******

'BUCKET_NAME = 'aws-logs-914250087788-us-east-1'
KEY = input_name # file path in S3

s3c = boto3.client(
        's3',
        region_name = REGION,
        aws_access_key_id = ACCESS_KEY_ID,
        aws_secret_access_key = SECRET_ACCESS_KEY
    )
rfModel=s3c.download_file(BUCKET_NAME, model1, 'RF_model.pckl')

#load model and predict

lm = open('RF_model.pckl', 'rb')
clf=pickle.loads(lm)
rf_pred=clf.predict(x)
np.savetxt(output_name1, rf_pred, delimiter=',', fmt='%s')

但是當我運行我的代碼時,會出現以下錯誤:

TypeError:需要類似字節的 object,而不是 _io.BufferedReader。

我該如何解決這個錯誤?

我應該替換這部分:

lm = open('RF_model.pckl', 'rb')
clf=pickle.loads(lm)

有了這個:

with open('RF_model.pckl', 'rb') as file:
    clf = pickle.load(file)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM