luc*_*ucy 2 python amazon-s3 pickle amazon-web-services
我已成功从Amazon S3读取csv文件.但我有情绪模型的.pkl文件.我想加载这个.pkl文件来预测情绪.这是我的代码 -
import cPickle
import boto3
import pandas as pd
import boto3.session
session = boto3.session.Session(region_name='eu-central-1')
s3client = session.client('s3', config= boto3.session.Config(signature_version='s3v4'),aws_access_key_id='my-ACCESS-KEY-ID',
aws_secret_access_key='my-ACCESS-KEY')
response = s3client.get_object(Bucket='sentiment-data', Key='positive_model_data.pkl')
nb_detector = cPickle.load(open(response['Body']))
nb_predict = nb_detector.predict('food is very good')[0]
print nb_predict
Run Code Online (Sandbox Code Playgroud)
强制转换为Unicode时出错:需要字符串或缓冲区,找到StreamingBody
如何从S3加载pickel文件???
cPickle.load()方法需要一个文件.您需要使用loads方法而不是load.loads需要字符串数据,如错误消息中所述.但是,response['Body']给你StreamingBody.StreamingBody有一个名为的方法read可以返回字符串内容.
...
body_string = response['Body'].read()
positive_model_data = cPickle.loads(body_string)
print positive_model_data
...
Run Code Online (Sandbox Code Playgroud)
对你起作用吗?
| 归档时间: |
|
| 查看次数: |
5622 次 |
| 最近记录: |