Обсуждение статьи "Нейросети — это просто (Часть 5): Многопоточные вычисления в OpenCL" - страница 5
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте, вам не нужно устанавливать файл .cl. Вы просто загружаете его в основную программу, как строку
Edit(SOLVED): Хотя, похоже, AMD прекратила поддержку OpenCL, есть бесплатный пакет Microsoft OpenCL и OpenGL Compatibility Pack, и теперь он компилируется.
Добрый день, Дмитрий! Большое спасибо за ваши публикации, которые мне очень помогли повысить свои знания в области разработки. Буду очень пизнателен за ваш совет. Сейчас изучаю статью про многопоточные вычисления (№5). Попробовал запустить из вложений уже скомпелированный файл, он не запускается и крашится весь терминал полностью. Попробовал пересобрать из исходников, итог получается тотже, что наталкивает на мысль, что это не из-за исходников. Попробовал погонять на тестере: крашится когда вызывается метод CNet::backPropOCL на строке 1486 (neuron.calcHiddenGradients(nextLayer.At(0));), а там уже на предопределённой функции из каталога OpenCL (CLExecute(kernel_handle,work_dim,work_offset,work_size)). Самое интересное, что в логах нет никакой ошибки просто тестер также крашится. Может подскажите из-за чего это может быть? Спасибо.
Добрый день, Дмитрий! Большое спасибо за ваши публикации, которые мне очень помогли повысить свои знания в области разработки. Буду очень пизнателен за ваш совет. Сейчас изучаю статью про многопоточные вычисления (№5). Попробовал запустить из вложений уже скомпелированный файл, он не запускается и крашится весь терминал полностью. Попробовал пересобрать из исходников, итог получается тотже, что наталкивает на мысль, что это не из-за исходников. Попробовал погонять на тестере: крашится когда вызывается метод CNet::backPropOCL на строке 1486 (neuron.calcHiddenGradients(nextLayer.At(0));), а там уже на предопределённой функции из каталога OpenCL (CLExecute(kernel_handle,work_dim,work_offset,work_size)). Самое интересное, что в логах нет никакой ошибки просто тестер также крашится. Может подскажите из-за чего это может быть? Спасибо.
Если я правильно понимаю, то крашится при выполнении OpenCL программы. Попробуйте запустить в режиме отладки и посмотреть на размеры передаваемых буферов. Возможно ошибка в выходе за пределы массива в OpenCL программе.
Привет, Тобиас,
Просто скопируйте файл .cl (из загрузок) и вставьте его в папку "include" в Meta Editor. Компилятор найдет его.
Будьте здоровы
В методе "bool CNeuron::feedForward(CLayer *prevLayer)", файла "NeuroNet.mqh", есть строка:
"outputVal=activationFunction(MathMin(MathMax(sum,-18),18));"
непонятно почему результат активационной функции от -18 до 18, разве не должно быть от -1 до 1 или от 0 до 1?
В методе "bool CNeuron::feedForward(CLayer *prevLayer)", файла "NeuroNet.mqh", есть строка:
"outputVal=activationFunction(MathMin(MathMax(sum,-18),18));"
непонятно почему результат активационной функции от -18 до 18, разве не должно быть от -1 до 1 или от 0 до 1?
Это ограничивает аргумент функции активации, а не её значение. Добавлено, чтобы не загонять градиент функции активации в значения близкие к 0.
Если выборка меньше, то нужно уменьшить. Увеличивать есть смысл, если Вы хотите видеть ошибку по всей выборке.
Я использую жесткое значение, чтобы оценивать работу сети в разных рыночных условиях.
Скажи пожалуйста, recentAverageSmoothingFactor = 10000 это с расчетом на 2 года?
365 дней * 2 года * 24 часа = 17 520 часовых свечей(длина выборки).
Я использую выборку в 1 год, тогда мне нужно уменьшить до 8 760 (365 * 24 = 8 760)?
В тестах у меня dForecast скачет от 0 до 23, а ошибка как была 0,32 так и остается постоянной, это нормально или это от того что recentAverageSmoothingFactor не тот?😀
Привет, Дмитрий,
Мне нравятся ваши статьи, и я начинаю работать над ними.
Где находится класс CBuffer? Я не могу его найти.
С наилучшими пожеланиями,
Бенджамин
Здравствуйте, Дмитрий,
Мне нравятся ваши статьи, и я начинаю работать над ними.
Где находится класс CBuffer? Я не могу его найти.
С наилучшими пожеланиями,
Бенджамин
Неважно, я нашел решение, чтобы изменить его на CBufferFloat, как описано вами в других статьях :)