![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 19.02.2017
Сообщений: 3
|
![]()
Добрый день! Начинаю потихоньку разбираться с нейросетями...
Раньше на С писал только хардовый софт, по этому имею проблемы с С++))) разбираю в этой статье https://software.intel.com/ru-ru/blo...2/finereader-2 листинг Код:
и никак не догоняю тонкости работы этой строчки*)) вроде понимаю что она должна делать, но пошагово разложить ее не могу... Более менее подробного разбора этих std::xxx что бы стало все понятно, найти не удалось можете пожалуйста подробно объяснить что пошагово происходит в этом месте. Спасибо! |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Как это не нашли? Полно документации и примеров же.
http://en.cppreference.com/w/cpp/algorithm/accumulate Первые 2 параметра (как и в большинстве функций из <algorithm> и т.п.) это итераторы на начало и конец коллекции. 3 параметр — начальное значение "аккумулятора". 4 — функция, которой передают текущее значение аккумулятора и значение элемента коллекции, и она возвращает новое значение аккумулятора. То есть реализация accumulate выглядит примерно так: Код:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 19.02.2017 в 16:56. |
![]() |
![]() |
![]() |
#3 | |
Новичок
Джуниор
Регистрация: 19.02.2017
Сообщений: 3
|
![]() Цитата:
В общих чертах - то что вы объяснили, я понял*) не пинайте плз за идиотские вопросы. ок! спрошу что подробнее в первой функции передается const list &src_images, что это? ссылка на массив? но это ж типа обучающая выборка, т.е. должны быть бинарные картинки. Короче вероятно это ссылка на массив с векторами(вектор = картинка) std::accumulate( begin(src_images), // тогда это начальный элемент массива? его номер? значение? end(src_images), // последний элемент массива? его номер? значение? koef_t(0.0), // коэффициент тут вроде ясно [i, j] (koef_t old_val, const neurons_line &image) -> koef_t{ return old_val + (image[i] * image[j]); //тут я если честно вообще нихрена не понимаю*)) откуда берется начальное old_val(или оно 0 по дефолту)? откуда формируется image? вы говорите коллекция. А что это конкретно? Массив, вектор? image[i] и image[j] это элементы массива/вектора? Последний раз редактировалось Quantum1; 19.02.2017 в 17:22. |
|
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Итератор. Что-то типа указателя. Подробнее читать в каком-нибудь учебнике или документации по STL.
Да, в том числе и это, как и много чего другого. Цитата:
4 параметр это функция (ну, указатель на нее или типа того, я не помню как там оно в С++ называется) Можно объявить обычную функцию Код:
Код:
-> koef_t это просто возвращаемый тип (в каких-то случаях вроде его можно не указывать явно) [i, j] в самом начале говорит о том, что внутри функции будут доступны эти переменные (копии их значений) из основной функции. (по умолчанию в С++ лямбдах недоступно ничего, надо указывать вот так явно, или [=] чтоб все было доступно, http://stackoverflow.com/questions/7...ression-in-c11)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 19.02.2017 в 19:00. |
|
![]() |
![]() |
![]() |
#5 |
Новичок
Джуниор
Регистрация: 19.02.2017
Сообщений: 3
|
![]()
В-о-о-о!! Теперь понятно! Спасибо огромное за оперативный ответ! С аккумулятором ясно!
осталось понять что конкретно имеется ввиду под const neurons_line &image, и const list &src_images |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
А что с ними?
Что такое list надо искать в исходнике, наверно typedef типа std::vector<neurons_line> image соответственно элемент этого списка. const чтобы нельзя было изменять, а & (по ссылке) чтоб не было лишнего копирования при передаче.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Что означает строка в коде: std::ofstream fs(name, std::ios::binary); | egorsavenkov | Помощь студентам | 1 | 07.11.2016 12:45 |
std::cout уменьшает время выполнения программы. std::thread | aako | Visual C++ | 0 | 13.11.2015 16:59 |
Заменить accumulate на count_if | Yoh | Помощь студентам | 3 | 12.12.2013 05:15 |
ошибка: no match for ‘operator<<’ in ‘std::operator<< [with _Traits = std::char_traits<char> | Critter | Общие вопросы C/C++ | 5 | 08.08.2010 23:38 |
вычислить среднее гармоническое значение элементов вектора чисел с плав точкой с пом алгоритма accumulate | -GT- | Общие вопросы C/C++ | 2 | 28.11.2009 17:19 |