Как сохранить модель, а затем развернуть ее, используя только блокноты AI Platform или пользовательский интерфейс? - PullRequest
0 голосов
/ 25 февраля 2020

Я не могу получить доступ к Cloud Console или установить / запустить gcloud локально из-за проблем с брандмауэром. Даже при подключении к экземпляру виртуальной машины Compute Engine происходит сбой. Тем не менее, запуск ноутбука с платформы AI и работа над ним в браузере - единственное, что работает в моей среде.

Чтобы протестировать демонстрацию и понять, как сохранить и развернуть модель, я написал очень базовый c код для набора данных Boston Housing. Однако код терпит неудачу в части, где я называю joblib.dump(model, filename). Точно такой же код, однако, работает без исключений локально.

У меня есть общее представление, что мне нужно сохранить / развернуть модель в Google Cloud Storage и каким-то образом получить к ней доступ оттуда. Но инструкции, которые я нахожу, продолжают ссылаться на некую оболочку, к которой я сейчас не могу получить доступ.

Q1.) Есть ли способ сохранить модель в облачном хранилище , не выходя из среды ноутбука ?
Q2.) Кроме того, как мне снова получить доступ к модели для прогнозирования?

Самый важный вопрос.) Будут ли работать два вышеупомянутых вопроса, я получу Развернутая модель ?

Пример кода, который вы можете использовать -

from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score
import joblib

boston_dataset = datasets.load_boston()
X = boston_dataset['data']
Y = boston_dataset['target']
X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size = 0.2, random_state=5)

lin_model = LinearRegression()
lin_model.fit(X_train, Y_train)
y_train_predict = lin_model.predict(X_train)
rmse = (np.sqrt(mean_squared_error(Y_train, y_train_predict)))
r2 = r2_score(Y_train, y_train_predict)
y_test_predict = lin_model.predict(X_test)

# root mean square error of the model
rmse = (np.sqrt(mean_squared_error(Y_test, y_test_predict)))

# r-squared score of the model
r2 = r2_score(Y_test, y_test_predict)

print('RMSE is {}'.format(rmse))
print('R2 score is {}'.format(r2))

filename = 'model.pkl'
joblib.dump(lin_model, filename) # <- this line raises exception
loaded_model = joblib.load(filename)
result = loaded_model.score(X_test, Y_test)
print(result)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...