Skip to content

Latest commit

 

History

History

myapp

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Распознавание рукописных символов EMNIST

1. Описание решения

Опишите в этом разделе задание и ваше решение:

  • В данном проекте решается задача классификации
  • На вход подаёся массив размерностью 28*28, а возвращается label предсказания
  • Модель SVC с стандартными гиперпараметрами показала очень хорошую и стабильную метрику на тренировочной и тестовой выборках
  • Метрика accuracy на тестовых данных = 0.84+ Upd: гитхаб не смог проглотить файл SVC.pkl, потому что хоть модель и простая, но быстро усложняется на больших данных. Файл был объемнее даже, чем 400 МБ. Выбрал MLPClassifier, тоже укладывается в метрику с результатом 0.69

2. Установка и запуск сервиса

Опишите в этом разделе, как запустить ваше решение, где должен запуститься сервис, как им пользоваться. Если вы хотите сообщить пользователям и проверяющим дополнительную информацию, сделайте это здесь. Чтобы получить изображение и вставить его значением для отправки в поле "image", нужен код

import gzip
with gzip.open('gzip/emnist-balanced-test-images-idx3-ubyte.gz', 'rb') as f:
    data = f.read()
magic_number = int.from_bytes(data[0:4], byteorder='big')
num_images = int.from_bytes(data[4:8], byteorder='big')
num_rows = int.from_bytes(data[8:12], byteorder='big')
num_cols = int.from_bytes(data[12:16], byteorder='big')
images = np.frombuffer(data[16:], dtype=np.uint8).reshape(num_images, num_rows, num_cols)
image = images[0]
import re
numbers = re.sub(r'[^\d]', ' ', str(image)).split()
git clone https://github.com/asphalter95/PR4.git
cd ./PR4
docker build -t myapp .
docker run -p 8000:8000 myapp

После запуска сервис будет доступен по адресу http://localhost:8000

В postman нужно прописать localhost:8000/predict, телом raw прописать изображение в виде {"image":numbers} и передать в формате JSON Например {"image":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,76,125,114,45,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,151,215,203,121,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,156,245,253,213,37,0,0,0,0,0,0,0,0,0,0,0,2,4,4,4,0,0,0,0,0,0,0,1,36,177,252,217,37,0,0,0,0,0,0,0,0,0,7,46,82,125,127,113,32,0,0,0,0,0,0,0,5,129,250,217,37,0,0,0,0,0,0,0,18,38,95,207,232,249,250,242,126,8,0,0,0,0,0,0,11,141,250,217,37,0,0,0,0,0,1,23,126,214,234,251,250,250,252,253,202,32,0,0,0,0,0,6,80,220,254,217,37,0,0,0,0,1,35,159,234,253,251,189,145,129,191,250,173,21,0,0,0,8,33,115,189,251,254,203,32,0,0,0,0,7,90,218,251,252,242,132,64,41,146,247,152,13,0,0,4,36,91,203,235,254,250,170,21,0,0,0,0,32,202,253,252,191,116,32,7,10,140,247,159,16,7,46,115,177,221,253,254,251,187,67,2,0,0,0,0,32,190,249,251,148,45,38,37,64,209,250,147,44,95,207,245,252,254,247,222,201,79,4,0,0,0,0,0,5,59,207,251,236,217,217,217,222,249,254,236,218,234,253,254,250,243,164,52,32,7,0,0,0,0,0,0,0,7,78,176,247,254,254,254,254,254,254,254,254,251,233,204,139,115,33,1,0,0,0,0,0,0,0,0,0,0,3,47,195,247,254,255,254,254,247,222,215,170,84,34,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,5,47,163,243,249,245,220,159,52,37,21,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,91,202,215,204,139,77,11,4,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,32,37,32,9,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}