В настоящее время я работаю в модели 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())
Любое предложение ??