BeS 53 Report post Posted March 24, 2016 Всем привет, А кто-то пользовался Slice-слоями в кафе? Не совсем понятен механизм того, как он нарезает картинку... Опытным путем было установлено, что при исопльзовании его вот так: Quote layer { name: "slice" type: "Slice" bottom: "data" top: "data_1" top: "data_2" slice_param { axis: -2 slice_point: 20 } } Можно порезать блоб MxNxC на два размерами Mx[0:20]xC и Mx[20:N]xC соответственно. Т.е. вертикальными линиями. При этом логично было-бы предположить, что axis: -3 должно позволять резать картинку по вертикали, но что-то как-то оно с ошибками падает, типа такой: Quote F0324 17:40:14.596192 2754 blob.cpp:32] Check failed: shape >= 0 (-37 vs. 0) Share this post Link to post Share on other sites
BeS 53 Report post Posted March 24, 2016 Вобщем оказалось, что я на вход сети подавал не корректный блоб: caffe не проверяет размерность блоба, который к нему пришел, а я вместо 4-х мерного, отдавал 3-х мерный, в итоге срезы непонятно как ходили по памяти. Добавил к блобу еще одну ось и все побежало как надо. Share this post Link to post Share on other sites
Smorodov 578 Report post Posted March 25, 2016 А для чего это можно применять, что на выходе? Чтобы кучу иконок анализировать за раз ? Share this post Link to post Share on other sites
BeS 53 Report post Posted March 25, 2016 35 minutes ago, Smorodov said: А для чего это можно применять, что на выходе? Чтобы кучу иконок анализировать за раз ? Еще один трюк для снижения внутриклассовой вариативности. Типа ущербной версии DPM'а :-) Например, если мы распознаем машины и у нас есть фильтры находящие колеса и при этом мы знаем, что машина в кадре стоит на земле, то нам не надо применять эти фильтры там, где должна быть крыша автомобиля. 1 Share this post Link to post Share on other sites