Jump to content
Compvision.ru
Sign in to follow this  

Recommended Posts

Всем привет,

Возник такой вопрос: а какой метод загрузки данных и формировани батчей сейчас является "best practice" в TensorFlow? И кто какие контейнеры использует для хранения картинок и метаинформации к ним? 

Судя по этой странице из официального гайда, как-то там народ не заморачивается насчет быстрых контейнеров, типа HDF5 или LMDB...и не совсем понятно, как при таком подходе грузить сложную метаинформацию типа боксов для object detection etc.

Share this post


Link to post
Share on other sites

Делал детектор ландмарков глаз, для Keras, выглядело как то так: EyeLandmarksKeras.py, я делал базу данных кофейно-совместимой, поэтому там caffe включен, думается что должно и без него работать. 

 

 

Share this post


Link to post
Share on other sites
2 hours ago, Smorodov said:

 

Делал детектор ландмарков глаз, для Keras, выглядело как то так: EyeLandmarksKeras.py, я делал базу данных кофейно-совместимой, поэтому там caffe включен, думается что должно и без него работать. 

 

Спасибо за семпл) Я правильно понимаю, что у тебя ландмарки лежат тоже в виде картинок(маска с отмечеными точками?)? 

Share this post


Link to post
Share on other sites

Нет, там координаты. На входе картинки, на выходе координаты.

Там просто две LMDB-хи в одной изображения, в дркгой координаты ландмарков, я задал блобы с плавающей точкой, поэтому можно пихать что угодно.

Share this post


Link to post
Share on other sites
12 hours ago, Smorodov said:

Там просто две LMDB-хи в одной изображения, в дркгой координаты ландмарков, я задал блобы с плавающей точкой, поэтому можно пихать что угодно.

А там можно пихать блобы разных размеров, или есть какие-то ограничения на тему того, что мы суем в LMDB?

Share this post


Link to post
Share on other sites

Ну, я так полагаю что все что угодно, лишь бы в 3D массив ложилось.

Там же датумы кладутся в базу, а каждый датум знает свои размеры (W,H,C).

Другое дело как нейронке скармливать данные одного сета с разными размерами.

Еще помнится там какая-то ерунда с выделением памяти была, что надо заранее готовить огромный кусок, (в LMDB есть константа по этому поводу) у меня база около 2GB была все поместилось. Но это уже только формирования LMDB ручками касается.

Share this post


Link to post
Share on other sites

В keras вот такая штука есть https://keras.io/io_utils/

По идее можно написать свой batch_generator поверх lmdb, leveldb, hdf5 который читается последовательно, но содержит shuffled data.

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×