|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
09.01.2010, 16:09 | #11 |
Форумчанин
Регистрация: 07.01.2010
Сообщений: 141
|
В общем да. я там не до конца все понял. вроде переварил.
забудьте про голые массивы. используйте контейнеры из stl. не именуйте члены класса так же как большинство из программистов именует локальные переменные (я так понял именно поэтому написано this->kolNeuron). Большинсто все таки пишет int m_kolNeuron. Избавтесь от утечек. Про всякую безопасность при исключениях я вас парить не стану. |
09.01.2010, 16:17 | #12 | ||
Форумчанин
Регистрация: 16.08.2008
Сообщений: 276
|
Цитата:
Цитата:
Ну спасибо и на этом. Будут еще идеи - пишите, я постараюсь быть самокритичным))
Искусственный интеллект - фигня по сравнению с естественной глупостью
|
||
09.01.2010, 16:27 | #13 | |||
Форумчанин
Регистрация: 16.08.2008
Сообщений: 276
|
Цитата:
Цитата:
Цитата:
Искусственный интеллект - фигня по сравнению с естественной глупостью
|
|||
09.01.2010, 16:44 | #14 |
Форумчанин
Регистрация: 07.01.2010
Сообщений: 141
|
Вам так кажется. чтобы говорить что стл тратит кучу времени на всякие проверки, надо профилировать программу. Я допускаю, что в том же векторе есть какие-то проверки при его создании, но их вклад в снижение производительности ничножен. Если правильно заюзать вектор, потери будут минимальны в сравнении с голыми массивами. В общем, оптимизация - последнее дело. Хотите разогнать прогу, подумайте над тем, чтобы вместо массива указателей на CNeuron использовать вектор обьектов CNeuron. Избавитесь от одного выделения памяти. CNeuron в таком случае должны уметь копироваться. Копирование CNeuronLayer тоже станет более тяжелым, но скорее всего оно будет таким же, каким вы его напишите вручную. Зато вы избавитесь от геморроя с управлением памятью. Имхо, в таком случае плюшек будет больше.
|
09.01.2010, 17:10 | #15 | |
Форумчанин
Регистрация: 16.08.2008
Сообщений: 276
|
Цитата:
Но так ли мал будет вклад проверок? Я конечно не большой знаток stl, но меня все же смущает хотя бы проверка на верные границы. Допустим у меня будет довольно большая сеть: 100 нейронов во входном слое, 2 слоя по 100..150 нейронов в промежуточных слоях, 20 выходных нейронов. Нейроны соединены каждый с каждым, а значит: 100(входной слой)+100*100(соединение промежуточных слоев)+20(выходной слой)=20020*2 = 40040 (операций чтение/запись за один проход сети). И это если я буду обращаться к каждому элементу лишь один раз. Вот и получается 40000 лишних if-ов прикрутят к моим массивам лишнее время.
Искусственный интеллект - фигня по сравнению с естественной глупостью
|
|
09.01.2010, 17:19 | #16 | |
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
Цитата:
Для начала сделайте рабочую программу, а уже потом занимайтесь оптимизацией, тем более технической |
|
09.01.2010, 17:20 | #17 |
Форумчанин
Регистрация: 07.01.2010
Сообщений: 141
|
operator [] у вектора не проверяет правильность границ. Если вы зададите неверный индекс, то вектор и полезет по этому неверному индексу без всяких проверок. За правильностью границ должена следить вызывающая сторона. А вот для обращения к элементу с проверкой на правильность границы у вектора есть ф-ия at(), которая кидает исключение, если индекс неверный. Так что ваши опасения на счет таких проверок напрасны.
|
09.01.2010, 17:21 | #18 |
Форумчанин
Регистрация: 16.08.2008
Сообщений: 276
|
Отличное предложение. Так и поступлю)
Искусственный интеллект - фигня по сравнению с естественной глупостью
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Перенос данных из класса в класс | zexak | Общие вопросы по Java, Java SE, Kotlin | 2 | 27.02.2010 20:03 |
Си++. Передача массива в функцию. | Diamond2107 | Помощь студентам | 7 | 03.12.2009 20:15 |
Передача массива в функцию | D[I]K | Общие вопросы C/C++ | 4 | 13.09.2009 21:31 |
передача массива в функцию | JOFRIF | Общие вопросы C/C++ | 8 | 02.08.2009 12:46 |
Передача массива в функцию | Vistar | Общие вопросы C/C++ | 1 | 27.04.2009 08:08 |