I have a sklearn model and I want to save the pickle file on my s3 bucket using joblib.dump
I used joblib.dump(model, \'model.pkl\')
to save the model local
Just correcting Sayali Sonawane's answer:
import tempfile
import boto3
s3 = boto3.resource('s3')
# you can dump it in .sav or .pkl format
location = 'folder_name/' # THIS is the change to make the code work
model_filename = 'model.sav' # use any extension you want (.pkl or .sav)
OutputFile = location + model_filename
# WRITE
with tempfile.TemporaryFile() as fp:
joblib.dump(scikit_learn_model, fp)
fp.seek(0)
# use bucket_name and OutputFile - s3 location path in string format.
s3.Bucket('bucket_name').put_object(Key= OutputFile, Body=fp.read())