你好,迪米特里、
我非常欣赏这一系列文章!谢谢您!但请帮助我解决这个问题:
如果我按照本文所述加载 EURUSD_PERIOD_H1_rnn_vae.nn,我得到的信息是 "加载模型错误 "和 "文件已损坏":
如果我进行跟踪,发现加载失败发生在 NeuroNet.mqh 中的这一行:
如果加载第 23 部分中名为 "EURUSD_i_PERIOD_H1_test_rnn.nnw "的模型,似乎可以正常工作,但该模型只有两层。这是不正确的。我错过了什么吗?
如果我按本文所述加载 "EURUSD_PERIOD_H1_rnn_vae.nn "文件,会收到 "加载模型出错 "和 "文件已损坏 "的信息:
如果我从第 23 部分加载名为 "EURUSD_i_PERIOD_H1_test_rnn.nnw "的模型,它似乎可以工作,但只有两层。这是不正确的。我错过了什么吗?
您好,
要加载 "EURUSD_PERIOD_H1_rnn_vae.nnw "文件,您需要用新的 NeuroNet.mqh 库重新编译 NetCreator。在最后一个模型中,我们将 CBufferDouble 替换为 CBufferFloat。并添加了一些层类型。
您可以下载最新版本的听证 文件。
在最新版本的 NeuroNet.mqh 中,第 2501 页有一个重要警告:
第 2501 页 if(inputs.AssingnArray(input Vals) || ...... )
已过时的行为,隐藏方法调用q 将在未来的 MQL 编译器版本中禁用。
在最新版本的 NetCreatorPanel.mqh 中,有 21 条重要警告。从第 940 页开始
第 935 页 字符串 temp;
第 936 页 ArrayFree(result);
第 937 页 switch(layr.type);
第 938 页 {
第 939 页 case defNeuronBaseOCL :
p 940 temp = StringFormat ("Dense (outputs %d, \ activation %s, \ optimisation %s)", ..... )
警告- 'a' 字符转义序列无法识别
o "未识别的字符转义序列
由于所有这些警告,"_rnn.nnw "文件将无法加载!
在旧版本(第 24 部分)中,在出现错误的萨满教之后,同样的文件"_rnn.nnw "被加载到 NetCreatorPanel.mqh 中,并且可以创建一个新网络。
但无法进行测试。在 check_net 文件中有两个重要警告!
函数 Train 第 222 页和第 307 页
第 219 页 for(int res = 0; (res <3 && sum >0); res++)
p 220 TempData.Update(res, TempData, At(res) /sum);
第 222 页 switch(TempData.Maximum(0,3))
警告 - 过时行为,在未来的 MQL 编译器版本中将禁用隐藏方法调用。
日志显示失败,代码为 32767(参数不正确)
我的 MetaTrader 版本是 5120。
建议有可能用警告来解决问题吗?在我看来,对于像我这样的傻瓜来说,这是一个
是关键一课,不掌握它,唯一能做的就是停止。
新文章 神经网络变得轻松(第二十五部分):实践迁移学习已发布:
在最晚的两篇文章中,我们开发了一个创建和编辑神经网络模型的工具。 现在是时候通过实践示例来评估迁移学习技术的潜在用途了。
测试结果如下图所示。 如您所见,预训练模型开始时误差较小。 但很快第二个模型就贴近了,且它们的数值非常接近。 这证实了之前的结论,即编码器架构对整个模型的性能有重大影响。
注意学习率。 预训练模型验算一个世代所需的时间减少了六倍。 当然,这只是纯粹的时间,不考虑自动编码器训练时间。
作者:Dmitriy Gizlyk