Advertisement
Step8rother

Классификация изображений, задача 3

Jul 9th, 2023 (edited)
968
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.97 KB | Source Code | 0 0
  1. '''Постройте и обучите нейронную сеть. Начните с простого — создайте модель логистической регрессии с десятью классами в Keras.
  2. Вам понадобится:
  3. Функция активации 'softmax';
  4. Функция потерь 'sparse_categorical_crossentropy' (англ. «разрежённая категориальная кросс-энтропия»).
  5. Слово sparse говорит о способе кодирования ответов. В задаче требуется просто номер класса, поэтому выбор пал на эту функцию потерь.
  6. Когда ответы кодируются One-Hot-Encoding и классу 9 соответствует целый вектор [0, 0, 0, 0, 0, 0, 0, 0, 1], применяют categorical_crossentropy().
  7. Обучите сеть на одной эпохе. Напечатайте прогресс обучения и значения точности на обучающей и тестовой выборках.
  8. '''
  9.  
  10. from tensorflow import keras
  11. import matplotlib.pyplot as plt
  12. import numpy as np
  13.  
  14.  
  15. features_train = np.load('/datasets/fashion_mnist/train_features.npy')
  16. target_train = np.load('/datasets/fashion_mnist/train_target.npy')
  17. features_test = np.load('/datasets/fashion_mnist/test_features.npy')
  18. target_test = np.load('/datasets/fashion_mnist/test_target.npy')
  19.  
  20. features_train = features_train.reshape(features_train.shape[0], 28 * 28)
  21. features_test = features_test.reshape(features_test.shape[0], 28 * 28)
  22.  
  23. model = keras.models.Sequential()
  24. model.add(keras.layers.Dense(10, activation='softmax', input_dim=features_train.shape[1]))
  25.  
  26. model.compile(loss='sparse_categorical_crossentropy',
  27.               optimizer='sgd',
  28.               metrics=['acc'])
  29.  
  30. model.fit(features_train, target_train, epochs=1, verbose=2,
  31.           validation_data=(features_test, target_test))
  32.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement