Трудно воспроизвести ошибки кода C++ для задачи машинного обучения [закрыто]C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Трудно воспроизвести ошибки кода C++ для задачи машинного обучения [закрыто]

Сообщение Anonymous »

Добрый вечер!
у нас есть код C++, который имеет несколько циклов for для решения задачи машинного обучения (в данном случае аналогично регрессии опорных векторов). Проблема: есть некоторые проверки осуществимости, которые подходят при запуске изолированного экземпляра проблемы и не подходят, когда мы запускаем всю фазу перекрестной проверки. При использовании всей программы что-то нарушает возможность использования двойных переменных.
Мы не понимаем причину этого и не думаем, что это зависит от флагов g++.
Valgrind не показал ошибок.Код можно найти в репозитории S GitHub.
Ошибочная программа на C++ — S.cpp (она состоит из более чем 1000 строк кода), и ее можно запустить с помощью:

Код: Выделить всё

./S admission.txt.shuf 1
Проверка осуществимости (мы не можем выразить весь код функции, поскольку он содержит более 100 строк кода):

Код: Выделить всё

if ((a[i] < -tol) || (a[j] < -tol) || (a[i] > C * (i < l ? s[i] :
ss[i-l]) + tol ) || (a[j] > C * (j < l ? s[j] : ss[j-l]) + tol )) {
printf("%lf, %lf, %lf, %lf\n",  a[i], a[j], C * (i < l ? s[i] : ss[i-l]), C * (j < l ? s[j] : ss[j-l]));
printf("nTotIter = %d, CASE :%d, ERRRORRRR CLIP ERROR NEW vars: i = %d, j = %d\n", nTotIter, cases, i, j);
printf("CASE: %d, a[i] = %lf, a[j] = %lf, C * ssss[i] = %lf, C * ssss[j] = %lf\n", cases, a[i], a[j],
C * (i < l ? s[i] : ss[i-l]), C * (j < l ? s[j] : ss[j-l]));
}
Где tol = 1E-7 .
Через некоторое время он выведет некоторые недопустимые переменные.
Вопрос: зачем проверять в порядке в конкретном случае задачи (наборе гиперпараметров), а в целом в задаче (вычислении всех складок) и в одном и том же конкретном случае — нет?

Подробнее здесь: https://stackoverflow.com/questions/783 ... rning-task
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»