В школе нас этому почему-то не учат

Если вы посещали какие-либо занятия по машинному обучению, вы, вероятно, не знаете, как на самом деле запустить свою модель в производство.

Это может быть сложно, и есть сотни способов сделать это. Вот почему его, вероятно, не преподают на большинстве курсов машинного обучения для начинающих.

Вот 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 =…