找不到类型或名称空间“ NModel”

时间:2019-11-15 15:29:45

标签: c# .net unity3d ml-agent barracuda

我正在尝试在C#统一脚本中嵌入我训练过的模型。 通过做这样的事情

using UnityEngine;
using UnityEngine.UI;
using MLAgents;

public class loadImage : MonoBehaviour {

    public NNModel modelSource;

    var model = ModelLoader.Load(modelSource);

这是these barracuda docs在unity的github上规定的。但是,我得到了错误

The type or namespace 'NModel' could not be found. Are you missing a using directive or assembly reference?

我真的不知道如何在C#和Unity编程中添加相当新的东西,因此导致此错误的原因可能很简单。我忘了什么吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以看到例如在BarracudaModelParamLoader中,除了System之外,唯一的命名空间是Barracula,它使用NModel;)

因此NModel似乎是Barracula命名空间的一部分。

只需添加

using Barracuda;

位于脚本顶部。

还请确保导入Baracccula .dll文件,并使用目标平台导入compatible


通常:我强烈建议您使用适当的IDE,例如使用VisualStudio进行编码。通常,它可以自动建议缺少名称空间的必需修补程序。

答案 1 :(得分:1)

尽管我参加晚会很晚,以防万一有人仍在为这个问题而苦苦挣扎,只需添加:

using Unity.Barracuda;

代替

using Barracuda;

解决了我的问题