【问题标题】:NullReferenceException when trying to load Encog network from EG file尝试从 EG 文件加载 Encog 网络时出现 NullReferenceException
【发布时间】:2017-06-14 23:46:58
【问题描述】:

我正在尝试在 C# 代码中加载 Encog 创建的网络:

private void buttonImportNetwork_Click(object sender, EventArgs e)
{
    NeuralNetworkEffect.Network =
        (BasicNetwork) EncogDirectoryPersistence.LoadObject(new FileInfo(_networkFilePath));
}

我收到 System.NullReferenceException。这是调用堆栈:

"at Encog.Neural.Networks.PersistBasicNetwork.Read(Stream mask0)
at Encog.Persist.EncogDirectoryPersistence.LoadObject(Stream mask0)
at Encog.Persist.EncogDirectoryPersistence.LoadObject(FileInfo file)"

我多次尝试使用各种文件和路径,结果相同。 我做错了什么,有人遇到过这个问题并解决了吗?

【问题讨论】:

    标签: neural-network persistence encog


    【解决方案1】:

    好的,我找到了原因。 Encog Workbench生成的包含网络定义的EG文件包含无效的激活函数类型,可能与Encog包的Java版本兼容,但与.Net版本不兼容。 在 EG 文件中是: "org.encog.engine.network.activation.ActivationTANH" 但应该是: "ActivationTANH"。 删除 Java 命名空间后,网络加载没有问题。

    【讨论】:

      猜你喜欢
      • 2015-10-11
      • 1970-01-01
      • 1970-01-01
      • 2014-07-28
      • 2014-11-19
      • 2012-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多