svoyak

Пользователи
  • Количество публикаций

    62
  • Зарегистрирован

  • Посещение

Репутация

0 Новичек

О svoyak

  • Звание
    Эксперт
  1. Добрый день всем! Прогнал я все что предлагает openface и столкнулся наверно с непониманием своим.. Плз проясните где я неправ.. Опишу ситуацию. Я пользовался https://cmusatyalab.github.io/openface/demo-3-classifier/ вот этой инструкцией от производителя так сказать. Скачал LFW набор и решил провести на нем тесты. Цель - проверить предлагаемый производителем классификатор. Я выбрал всех у кого есть 5 и более фото(иначе там варнинги на какомто из этапов), это все равно несколько тысяч человек. Обрезал и отцентрировал их фотки согласно инструкции, скормил их извлекателю фич, получил два файла(как в инструкции) и потом скормил их тренировщику классификатора. Он тренировался минут 15-20 и закончил(сформировал файл). Далее я начал проверять сам классфикатор(он там в виде файла *.pkl) Я давал ему картинки из того же набора, на котором он и тренировался..для облегчения его работы. Результаты он выдавал очень грустные, то ошибки то правильное совпадение с confidense около 0,1 - это в лучшем случае. Тогда я начал последовательно уменьшать набор и результаты стали шикарными, когда в наборе осталось 3-4 разных класса, я так понимаю чтото здесь не так или я чего-то не сделал.. Я хотел использовать классификатор для быстрого поиска наиболее похожего и вроде бы по инструкции он там так и используется.. но у меня чтото не работает. Проясните плз куда смотреть.Спасибо. Я понимаю, что саму сеть ведь мне не нужно перетренировывать?? Она уже обучена и должна работать? только классификатор для моего набора, на фичах извлеченных готовой сетью?
  2. Я так понял OpenFace - это натренированная сеть и совсем чуток помогательных скриптов вокруг нее..А openBR - судя по их сайту, это целый фреймворк для работы..
  3. Спасибо, я думаю руками в любом случае лучше сделать, как запасной/проверочный и самый понятный вариант..ок .. Подскажите плз, еще а где можно качнуть какойнить датасет с лицами? нашел вот такой CASIA-webface - но его и оригинальный не дают скачать, а еще говорят он весьма грязный.. ну в смысле там много мусора.. вроде бы его разраб OpenFAce почистил и выложил кудато но все сцылки дохлые.. Может еще есть чегото?? Спасибо
  4. я не проверял еще... тогда сделать предвыборку по длине не получится.. Я как-то упустил этот момент.. т.е. что, там все длинны векторов равны 1?? kNN сейчас тоже курю...:-)) вот интересно есть некие алгоритмы, встроенные сразу в несколько СУБД( MSSQL, postgres), вроде MSSQL Analysis Services(както так) и вроде бы эти алгоритмы как раз так и называются: Поиск ближайшего соседа(ей). Я бегло гуглил примеру работы с ними - они все для геоданных, у которых размерность маленькая.. и чесно говоря непонятно, можно ли натянуть их на задачу поиска среди 128ммерных данных.. Может кто слышал об этом что-нить?? Хорошо наверно было бы запользовать готовый велосипед.. Спасибо.
  5. Ок..спасибо за поддержку..как всегда понятно, что ничего не понятно..:-)) Вы имеете ввиду перебирать все наличиствующие вектора?? наверно это будет очень долго..или я неправильно понял?? а по поводу SVM, если его научить классификации на некотором наборе, а со временем этот набор будет меняться(расти), то точность классификации будет ухудшаться??? Я вот кстати еще подумал..можно ведь хранить базу частями на нескольких серверах и запускать поиск сразу на всех.. хоть это и топорно но даст ускорение прямо пропорционально количеству серверов. после поиска на всех - сделать поиск по результирующей выборке.. Хотелось бы только узнать как максимально быстро с точки зрения математики сравнивать вектора..
  6. Добрый день! Есть вот такая ситуация: собрал и заработал OpenFace, с ним все хорошо..128 точек мне выдается.. Теперь возник вопрос как имея 100000 таких записей осуществлять по ним поиск для выявления наиболее похожего? вот в этой статье https://habrahabr.ru/post/306568/ автор разделил весь процесс на 4 шага и последний шаг - это как раз то что мне нужно, но я немного не понял предложения использовать SVM(может потому что я не знаю что это:-) Я считал, что получив координаты искомого, мы сможем довольно легко найти наиболее похожего путем наложения каких-нить фильтров, или вычисления длины векторов в пространстве..Не могли бы вы немного прояснить где я не прав, похоже я не вижу проблемы там, где она есть. И если можно чуть прояснить как использовать метод опорных векторов, может на каком нить примере, почитал в википедии про него, но там как всегда сферический конь в ваккуме:-)) Я чесно говоря думал, что мне нужен какой-то алгоритм поиска ближайшего соседа в N-пространстве, или не так? Спасибо.
  7. да, может не самый простой..но вроде бы работает.. прикручивается в виде с++ dll, которая работает с libcudann..описать подробней??
  8. Снимаю свой вопрос как дурацкий, в Libcudann есть своя функция для работы с сетью(в смысле уже классификации) Кстати на gpu считается ну просто очень быстро..
  9. Добрый день/вечер! Натолкнулся я на такие вот грабли. Есть проект на дотнет использует сетку , построенную FANN(есть враппер), вроде бы все неплохо..сетка считается, сходится, все это интегрировано в код. Родной гуй для FANN построенную враппером сетку тоже понимает и работает с ней. Проблема в том, что сетка считается отшень долго, ну скажем так часы.. понимаю что может это и недолго, но есть два GPU и захотелось научиться считать на них, все пишут что очень быстро считает.. ДЛя этой цели был найден libcudann и вкручен в проект по работе с Gpu(CUDA). После долгих исправлений, ибо libcudann изначально был под linux он таки заработал GPU посчитали иии... Формат файла, в котором сохраняется сеть совсем не похож на формат FANN, очевидно я из непонимания или еще каких-то тараканов посчитал, что они должны быть совместимы.. Я ошибся и это прискорбно..Теперь вот прошу совета, можно ли как то сконвертить их. В атаче приложу примеры файлов. Я к сожалению непонимаю смыслы того что в них написано, поэтому не могу это сделать, может кому-то их формат понятен будет..Спасибо. Собссно вот почему я посчитал что они должны быть совместимы http://corpocrat.com/2014/11/09/running-a-neural-network-in-gpu/ FANN.rar gpu.rar
  10. mrgloom - еще раз большое спасибо, правильно ли я понимаю, мне нужно установить DIGITS на винде, - это будет как я понял чтото типа надстройки над Caffe. Caffe - это собственнно фреймворк для работы с нейросетями. В нем есть несколько, что ли типов сетей, один из которых Lenet(специально созданный для работы с символами, скажем так)? И мне нужно будет сделать и обучить сеть такого типа, используя DIGITS(Caffe). MNIST - это стандартный набор данных для проверки результатов?. Я так понял в нем только цифирь находится. Про файнтюнинг пока не буду спрашивать, хочу пока научиться получать такие же результаты как у вас на картинке:-) - очень они отличаются от моих на FANN. Поправьте если что неверно. Спасибо :-)
  11. mrgloom - большое спасибо, не могли бы вы уточнить - вы конвертили картинки, или так 80x100 из архива и давали в сеть?? и параметры сети если можно, может я их неправильно выбираю..Обучение долго шло? И если не тяжело, можно кратко написать что есть Lenet, Digits и зафайнтюнится на MNIST.. а то буду читать и что нить не так себе представлю.. Похоже мне надо уйти с FANN :-)) ил правильные параметры сетки подбирать, что звучит довольно грустно..
  12. С тренировкой разобрался..:-)) как ни стыдно сказать, но ошибся опять я..:-)) теперь уже когда подсовывал данные для готовой сети.. Тупой копипаст с примера, селяви.. в примере из-за специфичности работало, а у меня 50/50.. или еще хуже.. Однако все равно результаты не радуют, хотя гораздо лучше чем было. Я бы хотел попробовать сделать входные данные более похожими, так сказать..чтоб сеть не сходила с ума при обучении.. Для этого я бы хотел для начала научиться заливать изображения как на рисунке. Контуры я их получаю и могу закрасить, вопрос в том, как из закрашенного вычесть фон, чтоб как в примере получилась дырка вверху цифры 9.. Насколько я понимаю о чем-то похожем писал но я непонял как это сделать, если можно подробней. Мне кажется нужно научится выделять контуры с фоновым цветом, тогда они были бы маской? Что нибудь типа волшебной палочки фотошопа, но в отношении всей картинки для какого-нить определенного цвета +- Tolerance. Можно такое сделать?? или я сильно увлекся теорией..:-))Спасибо. После препроцессинга изображений у меня получаются картинки 80x100, если я их смасштабирую 20x25 с количеством нейронов в скрытом слое 150 то за пару часов сеть как-то обучается. Я подумал, что если увеличить размерность входных данных и не масштабировать, то наверно это будет лучше, однако уже на 40x50 и 600 нейронов во входном - сеть не обучилась в течение несокльких суток.. Что я неправильно понимаю здесь? Спасибо.
  13. Подскажите плз такой момент, варианты враппера делятся по типу(вот не пойму чего, точности чтоли), ну т.е. есть одинаковые либы для float, double и fixed. Я вот никак не могу вписать это в свое понимание, не могли бы вы прояснить плз. Как тип влияет и как его надо выбирать? Спасибо.
  14. Здравствуйте, подскажите, что делает этот кусок, если можно то сигнатуру конструктора, никак не могу найти подходящий в с# врапере // Архитектура сети. Создадим трехслойную сеть. Mat layer_sizes1( 1, 3, CV_32SC1 ); // По размеру входного вектора layer_sizes1.at<int>(0) = image_area; // Ну, так мне захотелось layer_sizes1.at<int>(1) = image_area/10.0; // По количеству классов layer_sizes1.at<int>(2) = DirNames.size(); последний параметр в к-ре задает точность как я понял, что присваивается понятно, неясно чему присваивается. Спасибо у меня есть вот такой конструктор, но тут еще количество каналов нужно, не знаю чего туда написать public Mat( int rows, int cols, DepthType type, int channels ) здесь вроде бы DepthType - это ваш последний параметр
  15. Я не большой спец по с++, я так понял мне нужен один файл из архива, main.cpp - точней нужно заставить его скомпилироваться и заработать. Это верно?? Я решение открыл там три проекта..вообщем чегото недопонял:-) Ушел читать про установку opencv на винду и ее пользование.. я до этого враппер пользовал..:-))