В школе нас этому почему-то не учат
Если вы посещали какие-либо занятия по машинному обучению, вы, вероятно, не знаете, как на самом деле запустить свою модель в производство.
Это может быть сложно, и есть сотни способов сделать это. Вот почему его, вероятно, не преподают на большинстве курсов машинного обучения для начинающих.
Вот 3 совета по внедрению вашей модели в производство.
1. Сохранение вашей модели
Перво-наперво. Вы должны сохранить свою модель.
Я рекомендую травить вашу модель. Маринование вашей модели в основном означает просто сохранение весов вашей модели в файле рассола (который является просто форматом файла).
После того, как вы сохраните свою модель в рассоле, вы можете загрузить модель, а затем использовать ее с новыми данными для прогнозирования.
Ниже приведен пример.
import pickle import numpy as np from sklearn.linear_model import LinearRegression # Step 1: Train the model X_train = np.array([[1], [2], [3], [4], [5]]) y_train = np.array([2, 4, 6, 8, 10]) model = LinearRegression() model.fit(X_train, y_train) # Step 2: Pickle the model model_filename = 'linear_regression_model.pkl' with open(model_filename, 'wb') as file: pickle.dump(model, file) # Step 3: Load the pickled model with open(model_filename, 'rb') as file: loaded_model = pickle.load(file) # Step 4: Use the loaded model for predictions X_test = np.array([[6], [7], [8]]) predictions = loaded_model.predict(X_test) print(predictions) # Output: [12. 14. 16.]
Если вы используете Tensorflow, вы можете не захотеть его рассолить. Вот как я бы рекомендовал сохранить модель Tensorflow
import tensorflow as tf # Create a simple TensorFlow model (example: Dense Neural Network) model = tf.keras.Sequential([ tf.keras.layers.Dense(64, activation='relu', input_shape=(784,)), tf.keras.layers.Dense(10, activation='softmax') ]) # Compile the model (add optimizer, loss function, etc.) model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy']) # Train the model (example: using random data for demonstration) X_train = tf.random.normal(shape=(1000, 784)) y_train =…