FAQ
Q. API 사용시 "Failed to load library"오류가 발생합니다.
A. 경로 변수를 시스템 환경 변수에서 편집하십시오
윈도우 8, 윈도우 10
1. 검색에서 시스템 (제어판)을 검색한 다음 선택합니다.
2. 고급 시스템 설정을 클릭합니다.
아래 Windows 7 섹션의 3 단계부터 수행하십시오.
윈도우 7
바탕 화면에서 컴퓨터 아이콘을 마우스 오른쪽 버튼으로 클릭합니다.
2. 컨텍스트 메뉴에서 속성을 선택하고 고급 시스템 설정을 클릭합니다.
3. 환경 변수를 클릭합니다.
4. 시스템 변수 섹션에서 경로 환경 변수를 클릭하고 편집을 클릭합니다.
5. 목록에서 "C:\Program Files\Cognex\VisionPro Deep Learning\2.0\bin"을 찾아 위로 이동을 클릭하여 이 경로를 목록의 맨 위로 이동합니다.
6. 확인을 클릭하고 VisionPro Deep Learning Studio를 다시 시작합니다.
Q. C # API 예제를 사용할 때 FileNotFoundException (WibuCmNET, 버전 = 7.0.3933.502) 오류가 발생합니다.
A. dll 참조를 추가합니다.
1. Visual Studio에서 프로젝트> 참조로 이동하고 참조 추가를 마우스 오른쪽 단추로 클릭한 다음 찾아보기를 클릭합니다
2. "C:\Program Files\Cognex\VisionPro Deep Learning\2.0\Cognex Deep Learning Studio\WibuCmNET.dll"을 선택합니다.
Q. C ++ API 예제를 실행할 때 “DLL을 찾을 수 없음” 이라는 오류가 발생합니다.
A C:\Program Files\NVIDIA Corporation\NVSMI에 있는 nvml.dll 파일을 복사하여 C:\Windows\System32에 붙여넣으세요.
Q. Cognex VisionPro Deep Learning Studio를 시작하고 계속 버튼을 눌렀을 때 “functions_of_mkl_rt.txt” 다음과 같은 에러를 발견했습니다.
A. functions_of_mkl_rt.txt를 포함한 에러가 발견되면, 다음과 같은 절차로 해결할 수 있습니다.
- cmd창을 열고 다음과 같은 명령어를 입력합니다.
"where mkl_rt.dll" - Check the path list of mkl_rt.dll.
- 환경 변수의 순위를 다른 mkl 시스템 환경 변수보다 높게 설정합니다.
시스템 환경 변수: 컨트롤 패널 - 시스템- 시스템 환경 변수
Q. Green 분류 도구 High Detail 모드를 프로세싱할 때, "CUDA가 적절하게 초기화되지 않았습니다." 메세지가 뜨면서 프로세싱이 실패합니다. 메세지.
A. 해당 메시지는 CPU로 프로세싱을 시도했을 때 나타납니다. 트레이닝과 프로세싱은 공식적으로 GPU에서만 지원하고 있습니다.
이 메시지가 나타난다면, GPU PC로 다시 프로세싱해주십시오 (GPU를 지원하는 필요).
Q. 런타임 예제 중 Example.Runtime.Remote.Console (C# / .NET Framework 4.7.2)에서 서버와 클라이언트 프로그램이 작동하지 않습니다.
A. 예제 파일이 8080 포트를 사용하도록 되어있어 서비스 실행 시 8080 포트가 할당됩니다.
따라서 "다른 프로세스가 파일을 사용 중이기 때문에 프로세스가 액세스 할 수 없습니다." 와 같은 오류 메시지를 보게 됩니다. 이 것은 예제 파일의 오류가 아니며 tcp port의 중복 문제입니다. 8080 포트가 다른 프로세스에 할당된 경우, 방화벽이 해제된 다른 포트를 사용하기 바랍니다.
방화벽 해제 관련해서는 방화벽 설치 시 Deep Learning Service 항목을 참고 바랍니다.
Q. SampleViewer(assembly: ViDi.NET.UI.dll, Namespace: ViDi2.UI)를 사용할 때 NullReferenceException과 같은 예외가 발생합니다.
A.
WPF 프로젝트
WPF 프로젝트에서 SampleViewer를 사용하는 경우에는 다음과 같이 하시면 됩니다.
1. 예를 들어, MainWindows에서 SampleViewer를 사용하려고 한다면 MainWindows.xaml.cs상의 MainWindows 생성자(Constructor)에서
2. InitializeComponent(); 전에 다음과 같은 코드를 기입합니다.
if(!ViDi2.UI.ViDiSuiteServiceLocator.IsInitialized)
ViDi2.UI.ViDiSuiteServiceLocator.Initialize();
InitializeComponent();
Winform 프로젝트
Winform 프로젝트에서 SampleViewer를 사용하는 경우에는 다음과 같이 하시면 됩니다.
1. 예를 들어, Form1에서 SampleViewer를 사용하려고 한다면 Form1 생성자(Constructor)에서
2. InitializeComponent(); 전에 다음과 같은 코드를 기입합니다.
if(!ViDi2.UI.ViDiSuiteServiceLocator.IsInitialized)
ViDi2.UI.ViDiSuiteServiceLocator.Initialize();
InitializeComponent();
Q. 여러 개의 VisionPro Deep Learning Studio를 띄워놓고 사용해도 되나요?
A. 여러 개의 Studio을 열 수는 있지만 사용하다가 이상 동작이 나타날 수도 있습니다. 하나의 Studio만 열고 사용해주세요.
Q. VisionPro Deep Learning에서 ViDi Suite workspace를 import해 사용할 때 Group을 어떻게 제거하나요?
A. 아래 단계를 따라하시면 import한 workspace에서 Group을 제거하실 수 있습니다.
- Cognex Cognex Deep Learning Studio를 엽니다.
- "그룹"을 포함하는 워크스페이스를 ViDi Suite에서 VisionPro Deep Learning으로 불러온 다음 워크스페이스를 엽니다.
- VisionPro Deep Learning에 워크스페이스가 로드되면, "그룹"을 제거하려는 스트림을 선택합니다(스트림은 상단 좌측의 드롭다운 메뉴에서 선택할 수 있으며 기본값은 "default"입니다).
- Plugins 메뉴에서 Script Editor를 클릭하십시오.

-
Script Editor 창에서 New를 클릭한 후 새로 생성된 에디터 창의 내용을 모두 지우십시오.


-
아래 스크립트를 복사하여 빈 에디터 창에 붙여 넣으십시오.
Copyusing 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);
}
}
}
} -
Run을 클릭하시면 모든 Group이 제거되었음을 확인하실 수 있습니다.