常问问题

Designer 中,我在创建新的 Designer 项目后找不到设备 > Deep Learning > 运行时 > LocalRuntime。

当您创建新的 Designer 项目并将此项目连接到 VisionPro Deep Learning 插件时会发生这种情况。请按照以下步骤解决此问题。

1.使用项目插件配置器启用 VisionPro Deep Learning 运行时插件。

2.打开 Designer 项目。

3.从项目资源管理器中右键单击运行时

4.编写 LocalRuntime 并单击接受

5.几秒钟后,您可以发现添加了 LocalRuntime。

 

 

在主页的路径处设置 1 层深目录后,无法启动参数搜索

  1. 前往 C:\Users\USER_NAME\AppData\Local\Cognex_Corporation\Cognex_Deep_Learning_Para_StrongName_0okkejojw4fgq4xckfu44hh3ysoghdrn\VERSION_NAME

    VERSION_NAME 是 VisionPro Deep Learning 的版本号和内部版本号。例如,7.0.0.27382 对应于 VisionPro Deep Learning 3.0 的 27382 内部版本号。

  2. 使用记事本打开 user.config 文件。

  3. 编辑 WorkspacePath以指向其他路径。

  4. 保存文件并尝试重新打开参数搜索

 

如何从以前的 VisionPro Deep Learning 版本中导入工作区?

原则上,如果在发布说明中没有另行说明,则可以在较新版本中加载旧版 Deep Learning 中的工作区。因此,以下规则通常适用:

  • 训练或运行时工作区可以分别加载到较新版本的 Cognex Deep Learning Studio 或 Deep Learning Runtime Library 中,工具将提供相同的定量结果;但是,处理时间可能会改变
  • 在较新版本的 Deep Learning 中加载的训练-工作区的工具可以更新,以便从各种改进和优化中获益;然而,在这种情况下,工具需要重新训练,并且可能不会给出相同的定量结果
  • 较旧版本的 Deep Learning 将无法加载在较新版本中更新过的训练-工作区

请注意,虽然较新版本可能不再支持某些旧版本的工作区,但在连续或相同的次要版本之间肯定不会发生这种情况。因此,通过使用中间版本加载和保存这些较旧的工作区,即可将其迁移到较新的版本。但是,主要版本之间不保证这一点。

 

使用 API 时出现“加载库失败”错误。

编辑系统环境变量中的路径变量。

 

(操作系统:Windows 10)

1.在搜索中,搜索并选择:系统(控制面板)

2.单击高级系统设置

3.单击环境变量

4.在系统变量部分单击路径环境变量并单击编辑

5.在列表上找到“C:\Program Files\Cognex\VisionPro Deep Learning\3.2\bin”,然后单击上移将此路径移至列表顶部。

6.单击确定并重启 VisionPro Deep Learning。

 

使用 C# API 示例时发生 FileNotFoundException (WibuCmNET, Version=7.0.3933.502) 错误。

添加 dll 引用。

 

1.在 Visual Studio 上,转到项目 > 引用并右键单击添加引用,然后单击浏览

2.选择“C:\Program Files\Cognex\VisionPro Deep Learning\3.2\Cognex Deep Learning Studio\WibuCmNET.dll”

 

当我启动 Cognex VisionPro Deep LearningStudio 并单击继续按钮时,看到一条包含“functions_of_mkl_rt.txt”的错误消息。

如果发生包含 functions_of_mkl_rt.txt 的错误,可以执行以下过程进行修复。

  1. 打开一个 cmd 窗口,然后键入以下命令。
    “where mkl_rt.dll”
  2. 检查 mkl_rt.dll 的路径列表。
  3. 将 VisionPro Deep Learning 的环境变量优先级设置为高于其他 mkl 系统环境变量。
  4. 系统环境变量:控制面板 - 系统 - 系统环境变量。

 

当我在高细节模式下处理绿色分类工具时,处理失败并显示“未正确初始化 CUDA。”消息。

当您尝试使用 CPU 处理时,会出现此消息。我们仅正式支持 GPU 用于训练和处理。当您看到此消息时,请使用 GPU PC 重新处理。

 

在运行时示例中,服务器和客户端程序不能与 Example.Runtime.Remote.Console (C# / .NET Framework 4.7.2) 一起使用。

由于将示例文件配置为使用 8080 端口,因此在运行服务时分配了 8080 端口。因此您会看到此消息“该进程无法访问文件,因为它正在被另一个进程使用”。这并不是此示例文件的原因,而是因为重复的 tcp 端口。当 8080 端口分配给另一个进程时,请使用防火墙处于关闭状态的另一个端口。关闭防火墙,请参阅 带防火墙的 VisionPro Deep Learning 服务(服务器)

 

使用 SampleViewer(assembly:ViDi.NET.UI.dll, Namespace:ViDi2.UI) 时,发生 NullReferenceException。

如果在 WPF 项目上使用 SampleViewer ,请执行以下步骤。

  1. 例如,如果您尝试在 MainWindows 上使用 SampleViewer,请进入 MainWindows.xaml.cs 的构造函数。

  2. 请在 InitializeComponent(); 之前输入这些代码

    复制
    WPF Project
    if(!ViDi2.UI.ViDiSuiteServiceLocator.IsInitialized)
    ViDi2.UI.ViDiSuiteServiceLocator.Initialize();
    InitializeComponent(); 

 

如果在 Winform 项目上使用 SampleViewer,请执行以下步骤。

  1. 例如,如果您尝试将 SampleViewer 与 Form1 一起使用,请转到 Form1 的构造函数。

  2. 请在 InitializeComponent(); 之前键入这些代码

    复制

    Winform Project

    if(!ViDi2.UI.ViDiSuiteServiceLocator.IsInitialized)
    ViDi2.UI.ViDiSuiteServiceLocator.Initialize();
    InitializeComponent(); 

 

我可以打开并使用多个 VisionPro Deep Learning Studio 吗?

可以打开多个 Studio,但是在使用它们时可能会观察到异常行为。请打开并使用一个 Studio。

 

使用从 ViDi Suite 迁移的工作区时,如何在 VisionPro Deep Learning 中删除组?

可以使用以下步骤从迁移的工作区中删除“组”。

  1. 打开 Cognex Cognex Deep Learning Studio
  2. 将包含“组”的工作区从 ViDi Suite 导入 VisionPro Deep Learning,然后打开该工作区。
  3. VisionPro Deep Learning 中加载导入的工作区之后,选择要删除“组”的流(可以使用左上角的下拉列表选择流,其默认值为“默认”。)

  4. 转至“插件”菜单,然后选择“脚本编辑器”。


  5. 在“脚本编辑器”窗口中单击“新建”,然后删除当前编辑器的内容。


  6. 将以下脚本复制并粘贴到空白编辑器中。

    复制
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Threading;
    using ViDi2.Training.UI;
    using ViDi2.Training;
    using ViDi2;

    public class Script
    {
        public static void Main(ViDi2.Training.ITool tool)
        {
            if (tool == null)
            {
                Console.WriteLine("No Tool selected");
            }
            var toolList = tool.Stream.Tools;
            foreach(var parentTool in toolList)
            {
                parentTool.Database.SetViewGroup("", "");
                CleanGroup(parentTool);   
            }
        }
        
        public static void CleanGroup(ViDi2.Training.ITool tool)
        {
            if(tool.Children != null && tool.Children.Count > 0)
            {
                foreach(var childTool in tool.Children)
                {            
                    childTool.Database.SetViewGroup("", "");
                    CleanGroup(childTool);
                }
            }
        }
    }
  7. 单击“运行”,您会发现所有组均被删除。