Как сохранить маринованный файл в S3 - PullRequest
0 голосов
/ 14 июня 2019

В настоящее время я работаю в модели xgboost. После этого я хочу сохранить свою модель (в формате маринада) в S3 для дальнейшего использования. Файл pickle должным образом сохранен в моем локальном концентраторе jupyter, но не в S3.

Мой код указан ниже -

train, test = np.split(df.sample(frac=1), [int(.8*len(df))])

X_train, y_train = train[features], train[label]
X_test, y_test = test[features], test[label]

xg_reg = xgb.XGBRegressor(objective ='reg:linear', colsample_bytree = 0.3, learning_rate = 0.1,
                max_depth = 5, alpha = 10, n_estimators = 10)

xg_reg.fit(X_train,y_train)

# save model in local jupyter hub
#pkl.dump(xg_reg, open("xgb_model_DS_regression.pkl", "wb"))

session = boto3.Session(
   aws_access_key_id='XXXXX',
   aws_secret_access_key='VVVV'
)

import io
pickle_buffer = io.BytesIO()
s3_resource = boto3.resource('s3')

new_df.to_pickle(xg_reg)
s3_resource.Object('mn-ml_model', 'data/ML_Models/my_model/').put(Body=pickle_buffer.getvalue())

Любое предложение ??

...