文章 "神经网络变得轻松(第五部分):OpenCL 中的多线程计算" - 页 5 123456 新评论 Tobias Johannes Zimmer 2021.09.30 18:59 #41 Dmitriy Gizlyk #:您好,您不需要安装 .cl 文件。您只需将其加载到主程序中,就像字符串一样 您好! 谢谢你的快速回复。我想真正的问题是我的系统不支持 OpenCL。这是否意味着我以后不能继续这个系列了? 编辑(已解决):虽然 AMD 似乎已经不再支持 OpenCL,但有一个免费的 Microsoft OpenCL 和 OpenGL 兼容包,现在可以编译了。 Aleksandr Seredin 2022.07.11 12:12 #42 您好,德米特里,非常感谢您的出版物,它们对我提高发展领域的知识水平帮助很大。如果能得到您的建议,我将不胜感激。我目前正在学习关于多线程计算的 文章 (#5)。我试图运行附件中的编译文件,但它无法运行,而且整个终端都崩溃了。我试着从源代码重建,结果还是一样,这让我觉得不是源代码的问题。我试着在测试仪上运行它:当 CNet::backPropOCL 方法在第 1486 行(neuron.calcHiddenGradients(nextLayer.At(0));)被调用时,它就崩溃了,而且在那里已经调用了OpenCL 目录中的预定义函数(CLExecute(kernel_handle,work_dim,work_offset,work_size))。最有趣的是,日志中没有任何错误,但测试仪也崩溃了。能告诉我是什么原因吗?谢谢。 Dmitriy Gizlyk 2022.07.11 12:50 #43 Aleksandr Seredin 多线程计算的 文章 (#5)。我试图运行附件中的编译文件,但它无法运行,而且整个终端都崩溃了。我试着从源代码重建,结果还是一样,这让我觉得不是源代码的问题。我试着在测试仪上运行它:当 CNet::backPropOCL 方法在第 1486 行(neuron.calcHiddenGradients(nextLayer.At(0));)被调用时,它就崩溃了,而且在那里已经调用了OpenCL 目录中的预定义函数(CLExecute(kernel_handle,work_dim,work_offset,work_size))。最有趣的是,日志中没有任何错误,但测试仪也崩溃了。能告诉我是什么原因吗?谢谢。 日安,亚历山大。如果我理解正确,运行 OpenCL 程序时会崩溃。请尝试在调试模式下运行,并查看正在传输的缓冲区的大小。也许错误在于 OpenCL 程序中的数组超限。 jeff warren 2022.07.19 12:16 #44 你好,托比亚斯、 只需复制.cl 文件(从下载)并将其粘贴到 Meta Editor 的 "include "文件夹中。编译器就会找到它。 谢谢 Gexon 2023.11.02 12:10 #45 在文件 "NeuroNet.mqh "的方法 "bool CNeuron::feedForward(CLayer *prevLayer) "中,有这样一行 "outputVal=activationFunction(MathMin(MathMax(sum,-18),18));" 我不明白为什么激活函数的结果是从 -18 到 18,难道不应该是从 -1 到 1 或从 0 到 1 吗? Dmitriy Gizlyk 2023.11.02 12:30 #46 Gexon (MathMin(MathMax(sum,-18),18));" 我不明白为什么激活函数的结果是从 -18 到 18,难道不应该是从 -1 到 1 或从 0 到 1 吗? 这限制的是激活函数的参数,而不是它的值。添加该参数是为了避免激活函数的梯度值接近 0。 Gexon 2023.11.23 08:01 #47 Dmitriy Gizlyk 市场条件 下的网络性能。 请问,recentAverageSmoothingFactor = 10000 是基于 2 年吗? 365 天 * 2 年 * 24 小时 = 17520 小时蜡烛(样本长度)。 我使用的是 1 年的样本,那么我需要减少到 8760 个(365 * 24 = 8760)? 在测试中,我的 dForecast 从 0 跳到 23,误差为 0.32 且保持不变,这是正常现象还是因为 recentAverageSmoothingFactor 有误? Discussion of article "Neural 回溯测试中的伟大EA! 作者的对话。亚历山大-斯米尔诺夫。 Benjamin Doerries 2023.12.22 16:04 #48 你好,迪米特里、 我很喜欢你的文章,我正在着手写。 CBuffer 类在哪里?我找不到。 致以最诚挚的问候、 本杰明 Benjamin Doerries 2023.12.22 16:21 #49 Benjamin Doerries # :你好,迪米特里、我很喜欢你的文章,我正在着手写。CBuffer 类在哪里?我找不到。致以最诚挚的问候、本杰明 没关系,我找到了解决方案,可以按照您在其他文章中的描述,将其更改为 CBufferFloat :) Jia Run Yuan 2024.03.26 17:33 #50 运行时,我还有其他 OpenCl 设备没有运行。我可以使用多个设备进行并行计算吗? 123456 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
您好,您不需要安装 .cl 文件。您只需将其加载到主程序中,就像字符串一样
编辑(已解决):虽然 AMD 似乎已经不再支持 OpenCL,但有一个免费的 Microsoft OpenCL 和 OpenGL 兼容包,现在可以编译了。
您好,德米特里,非常感谢您的出版物,它们对我提高发展领域的知识水平帮助很大。如果能得到您的建议,我将不胜感激。我目前正在学习关于多线程计算的 文章 (#5)。我试图运行附件中的编译文件,但它无法运行,而且整个终端都崩溃了。我试着从源代码重建,结果还是一样,这让我觉得不是源代码的问题。我试着在测试仪上运行它:当 CNet::backPropOCL 方法在第 1486 行(neuron.calcHiddenGradients(nextLayer.At(0));)被调用时,它就崩溃了,而且在那里已经调用了OpenCL 目录中的预定义函数(CLExecute(kernel_handle,work_dim,work_offset,work_size))。最有趣的是,日志中没有任何错误,但测试仪也崩溃了。能告诉我是什么原因吗?谢谢。
如果我理解正确,运行 OpenCL 程序时会崩溃。请尝试在调试模式下运行,并查看正在传输的缓冲区的大小。也许错误在于 OpenCL 程序中的数组超限。
你好,托比亚斯、
只需复制.cl 文件(从下载)并将其粘贴到 Meta Editor 的 "include "文件夹中。编译器就会找到它。
谢谢
在文件 "NeuroNet.mqh "的方法 "bool CNeuron::feedForward(CLayer *prevLayer) "中,有这样一行
"outputVal=activationFunction(MathMin(MathMax(sum,-18),18));"
我不明白为什么激活函数的结果是从 -18 到 18,难道不应该是从 -1 到 1 或从 0 到 1 吗?
我不明白为什么激活函数的结果是从 -18 到 18,难道不应该是从 -1 到 1 或从 0 到 1 吗?
这限制的是激活函数的参数,而不是它的值。添加该参数是为了避免激活函数的梯度值接近 0。
请问,recentAverageSmoothingFactor = 10000 是基于 2 年吗?
365 天 * 2 年 * 24 小时 = 17520 小时蜡烛(样本长度)。
我使用的是 1 年的样本,那么我需要减少到 8760 个(365 * 24 = 8760)?
在测试中,我的 dForecast 从 0 跳到 23,误差为 0.32 且保持不变,这是正常现象还是因为 recentAverageSmoothingFactor 有误?
你好,迪米特里、
我很喜欢你的文章,我正在着手写。
CBuffer 类在哪里?我找不到。
致以最诚挚的问候、
本杰明
你好,迪米特里、
我很喜欢你的文章,我正在着手写。
CBuffer 类在哪里?我找不到。
致以最诚挚的问候、
本杰明
没关系,我找到了解决方案,可以按照您在其他文章中的描述,将其更改为 CBufferFloat :)