All streams
Search
Write a publication
Pull to refresh
2
0
Send message

Ок, если приложите данные по которым построен график можем обсудить предметно.

  1. В разделе про CNN ни одной свёртки не использовано, т.е. обычная полносвязная сеть. При чем тут CNN - непонятно.

  2. Датасет выбран странно, хватило бы обычного датасета по свечам.

  3. График не показывает примерно ничего. Если приблизить наверняка станет видно, что предсказание просто повторяет предыдущую цену с задержкой.

Сохраняем в буффер:
import io
from PIL import Image
img = Image.open('capcha.jpg')
area1=(27,0,51,37)
img1 = img.crop(area1)
buffered_img1 = io.BytesIO()
img1.save(buffered_img1)

Передаем в функцию и читаем из буффера:
import cv2
import numpy as np
img1 = cv2.imdecode(np.fromstring(buffered_img1.read(), np.uint8), 1)

Только проще сразу img1 передать))
Ну вот, уже лучше) Еще бы код увидеть. На github было бы намного удобней. И статью обновить не забудьте)
Про file-like я например про BytesIO.
Про transfer learning — мелькнула мысль, что если предварительно обучить на MNIST, а потом заморозить нижние слои, кроме предпоследнего и обучить уже на капчах. Вот, например, тут правда CNN.

А колхоз убрать не долго и тогда смысл в замерах хоть какой-то появится.
def prescript(file):
    cmdCommand = "python predict-captcha.py --image "+ file +" --model simple_nn.model --label-bin simple_nn_lb.pickle --flatten 1"
    process = subprocess.Popen(cmdCommand.split(), stdout=subprocess.PIPE)
    output, error = process.communicate()
    print (str(output)[2])

1. Тут скорее дело в том, что вы для распознавания каждой картинки вызываете скрипт predict-captcha.py и таким образом каждый раз заново загружаете модель, хотя достаточно это сделать один раз.
2. Не понятно зачем вообще вызывать это как скрипт, когда можно оформить как модуль и импортировать.
3. Предыдущий пункт заодно позволит не сохранять картинки на диск, а использовать питоновские file-like объекты.
4. Не понятно почему не использовалась сверточная архитектура, хотя она лучше подходит для распознавания изображений.
5. И даже ваш подход можно попробовать улучшить если использовать transfer learning.

Information

Rating
Does not participate
Registered
Activity